Skip to content
Snippets Groups Projects
Commit ca25fe37 authored by Mike Feranda's avatar Mike Feranda
Browse files

Issue #3476570 by mferanda: Temporary disable button on click and change icon to loader

parent 10c686f4
No related branches found
No related tags found
No related merge requests found
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" style="color:#1C2033" class="h-full w-full">
<rect width="20" height="20" x="0" y="0" rx="0" fill="transparent" stroke="transparent" stroke-width="0" stroke-opacity="0%" paint-order="stroke" /><svg xmlns="http://www.w3.org/2000/svg" width="20px" height="20px" viewBox="0 0 20 20" fill="#1C2033" x="0" y="0" role="img" style="display:inline-block;vertical-align:middle">
<g fill="#1C2033">
<rect width="6" height="14" x="1" y="4" fill="currentColor">
<animate id="svgSpinnersBarsScaleFade0" fill="freeze" attributeName="y" begin="0;svgSpinnersBarsScaleFade1.end-0.25s" dur="0.75s" values="1;5" />
<animate fill="freeze" attributeName="height" begin="0;svgSpinnersBarsScaleFade1.end-0.25s" dur="0.75s" values="22;14" />
<animate fill="freeze" attributeName="opacity" begin="0;svgSpinnersBarsScaleFade1.end-0.25s" dur="0.75s" values="1;.2" />
</rect>
<rect width="6" height="14" x="9" y="4" fill="currentColor" opacity=".4">
<animate fill="freeze" attributeName="y" begin="svgSpinnersBarsScaleFade0.begin+0.15s" dur="0.75s" values="1;5" />
<animate fill="freeze" attributeName="height" begin="svgSpinnersBarsScaleFade0.begin+0.15s" dur="0.75s" values="22;14" />
<animate fill="freeze" attributeName="opacity" begin="svgSpinnersBarsScaleFade0.begin+0.15s" dur="0.75s" values="1;.2" />
</rect>
<rect width="6" height="14" x="17" y="4" fill="currentColor" opacity=".3">
<animate id="svgSpinnersBarsScaleFade1" fill="freeze" attributeName="y" begin="svgSpinnersBarsScaleFade0.begin+0.3s" dur="0.75s" values="1;5" />
<animate fill="freeze" attributeName="height" begin="svgSpinnersBarsScaleFade0.begin+0.3s" dur="0.75s" values="22;14" />
<animate fill="freeze" attributeName="opacity" begin="svgSpinnersBarsScaleFade0.begin+0.3s" dur="0.75s" values="1;.2" />
</rect>
</g>
</svg>
</svg>
\ No newline at end of file
This diff is collapsed.
......@@ -12,6 +12,7 @@ import {
} from 'ckeditor5/src/ui';
import iconAidmi from '../../../../icons/aidmi.svg';
import iconAidmiLoading from '../../../../icons/aidmi_loading.svg';
export default class AIDmiUI extends Plugin {
init() {
......@@ -34,6 +35,13 @@ export default class AIDmiUI extends Plugin {
this.listenTo(button, 'execute', async () => {
try {
// Show loading state
button.label = 'Processing...';
button.isEnabled = false; // Disable the button
// Change to loading icon.
button.icon = iconAidmiLoading;
let output = null;
let parsedOutput = null;
let imagesJSON = this._aidmiJSONImages(editor.getData());
......@@ -44,9 +52,18 @@ export default class AIDmiUI extends Plugin {
parsedOutput = JSON.parse(output);
this._openDialog(editor, parsedOutput, imagesJSON);
}
} catch (error) {
}
catch (error) {
console.log("Error:", error);
}
finally {
// Restore button state after processing is done
button.label = 'AI, describe my image!';
button.icon = iconAidmi; // Restore the original icon
button.isEnabled = true; // Re-enable the button
}
});
// Add a listener to enable or disable the button based on content changes.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment