diff --git a/app/assets/javascripts/activeadmin/quill.imageUploader.min.js b/app/assets/javascripts/activeadmin/quill.imageUploader.min.js new file mode 100644 index 0000000..64fe6e6 --- /dev/null +++ b/app/assets/javascripts/activeadmin/quill.imageUploader.min.js @@ -0,0 +1 @@ +!function(e){var t={};function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{}};return e[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(i,r,function(t){return e[t]}.bind(null,r));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=1)}([function(e,t){e.exports=Quill},function(e,t,n){"use strict";n.r(t);var i=n(0),r=n.n(i),o=function(){function e(e,t){for(var n=0;n { + return new Promise((resolve, reject) => { + const formData = new FormData(); + formData.append(field_name || 'file_upload', file); + + fetch(server_url, { + body: formData, + headers: { + 'X-CSRF-Token': document.querySelector('meta[name="csrf-token"]').getAttribute('content') + }, + method: 'POST' + }).then(response => response.json()) + .then(result => { + resolve(result.url); + }) + .catch(error => { + reject('Upload failed'); + console.error('Error: ', error); + }); + }); + } + } +} + +// --- events ------------------------------------------------------------------ $(document).ready( function() { initQuillEditors(); }); diff --git a/app/assets/stylesheets/activeadmin/quill.imageUploader.min.css b/app/assets/stylesheets/activeadmin/quill.imageUploader.min.css new file mode 100644 index 0000000..56a1d94 --- /dev/null +++ b/app/assets/stylesheets/activeadmin/quill.imageUploader.min.css @@ -0,0 +1,33 @@ +.image-uploading { + position: relative; + display: inline-block; +} + +.image-uploading img { + max-width: 98% !important; + filter: blur(5px); + opacity: 0.3; +} + +.image-uploading::before { + content: ""; + box-sizing: border-box; + position: absolute; + top: 50%; + left: 50%; + width: 30px; + height: 30px; + margin-top: -15px; + margin-left: -15px; + border-radius: 50%; + border: 3px solid #ccc; + border-top-color: #1e986c; + z-index: 1; + animation: spinner 0.6s linear infinite; +} + +@keyframes spinner { + to { + transform: rotate(360deg); + } +}