diff --git a/package-lock.json b/package-lock.json index 0f0f4a5..dfd1593 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,9 +8,11 @@ "name": "magicopagebuilder", "version": "0.1.0", "dependencies": { + "@tinymce/tinymce-vue": "^3.2.8", "boostrap": "^2.0.0", "bootstrap": "^5.1.3", "core-js": "^3.6.5", + "tinymce": "^6.0.3", "vue": "^2.6.11", "vuedraggable": "^2.24.3" }, @@ -1933,6 +1935,14 @@ "integrity": "sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==", "dev": true }, + "node_modules/@tinymce/tinymce-vue": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/@tinymce/tinymce-vue/-/tinymce-vue-3.2.8.tgz", + "integrity": "sha512-jEz+NZ0g+FZFz273OEUWz9QkwPMyjc5AJYyxOgu51O1Y5UaJ/6IUddXTX6A20mwCleEv5ebwNYdalviafx4fnA==", + "peerDependencies": { + "vue": "^2.4.3" + } + }, "node_modules/@types/body-parser": { "version": "1.19.2", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", @@ -13630,6 +13640,11 @@ "integrity": "sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==", "dev": true }, + "node_modules/tinymce": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/tinymce/-/tinymce-6.0.3.tgz", + "integrity": "sha512-4cu80kWF7nRGhviE10poZtjTkl3jNL+lycilCMfdm3KU5V7FtiQQrKbEo6GInXT05RY78Ha/NFP0gOBELcSpfg==" + }, "node_modules/tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -17018,6 +17033,12 @@ "integrity": "sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==", "dev": true }, + "@tinymce/tinymce-vue": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/@tinymce/tinymce-vue/-/tinymce-vue-3.2.8.tgz", + "integrity": "sha512-jEz+NZ0g+FZFz273OEUWz9QkwPMyjc5AJYyxOgu51O1Y5UaJ/6IUddXTX6A20mwCleEv5ebwNYdalviafx4fnA==", + "requires": {} + }, "@types/body-parser": { "version": "1.19.2", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", @@ -26469,6 +26490,11 @@ "integrity": "sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==", "dev": true }, + "tinymce": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/tinymce/-/tinymce-6.0.3.tgz", + "integrity": "sha512-4cu80kWF7nRGhviE10poZtjTkl3jNL+lycilCMfdm3KU5V7FtiQQrKbEo6GInXT05RY78Ha/NFP0gOBELcSpfg==" + }, "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", diff --git a/package.json b/package.json index 7a70f29..e50843e 100644 --- a/package.json +++ b/package.json @@ -8,9 +8,11 @@ "lint": "vue-cli-service lint" }, "dependencies": { + "@tinymce/tinymce-vue": "^3.2.8", "boostrap": "^2.0.0", "bootstrap": "^5.1.3", "core-js": "^3.6.5", + "tinymce": "^6.0.3", "vue": "^2.6.11", "vuedraggable": "^2.24.3" }, diff --git a/public/index.html b/public/index.html index cdb8a99..3a6dcde 100644 --- a/public/index.html +++ b/public/index.html @@ -6,6 +6,7 @@ + <%= htmlWebpackPlugin.options.title %> diff --git a/src/App.vue b/src/App.vue index 4e7e3a2..5ae6f6e 100644 --- a/src/App.vue +++ b/src/App.vue @@ -9,12 +9,11 @@ + \ No newline at end of file diff --git a/src/components/MagicoModal.vue b/src/components/MagicoModal.vue index 70b0677..5ab04e8 100644 --- a/src/components/MagicoModal.vue +++ b/src/components/MagicoModal.vue @@ -7,9 +7,8 @@
- -
+ @@ -18,7 +17,7 @@ import { Modal } from 'bootstrap'; export default { props: ['value', 'title', 'class_other'], - data: function() { + data: function () { return { id: 'modal' + Math.round(Math.random() * 100000), modal: null, @@ -27,27 +26,29 @@ export default { mounted() { this.modal = new Modal(document.getElementById(this.id)) let vm = this; - document.getElementById(this.id).addEventListener('hidden.bs.modal', function() { + document.getElementById(this.id).addEventListener('hidden.bs.modal', function () { vm.triggerModal(false); }) this.triggerModal(this.value); }, methods: { - triggerModal: function(value) { + triggerModal: function (value) { if (value == true) { this.modal.show(); } else { - console.log('vaaaa'); this.modal.hide() this.$emit('hide'); } - this.$emit('input',value); + this.$emit('input', value); } }, watch: { - value: function() { + value: function () { this.triggerModal(this.value); } + }, + destroy() { + this.modal.dispose() } } \ No newline at end of file diff --git a/src/components/MagicoPagebuilder.vue b/src/components/MagicoPagebuilder.vue index 357e1ac..54120c4 100644 --- a/src/components/MagicoPagebuilder.vue +++ b/src/components/MagicoPagebuilder.vue @@ -13,8 +13,8 @@
- + +
@@ -46,21 +46,23 @@ @click.prevent="changeBody">Skopiuj układ i treść - +
- +
- +
- - +
+ +
diff --git a/src/components/MagicoPagebuilderPlugin.js b/src/components/MagicoPagebuilderPlugin.js new file mode 100644 index 0000000..b74c652 --- /dev/null +++ b/src/components/MagicoPagebuilderPlugin.js @@ -0,0 +1,28 @@ +import MagicoPagebuilder from './MagicoPagebuilder.vue' + +export default { + install: (app) => { + app.component('MagicoPagebuilder', MagicoPagebuilder); + + console.log(app); + app.prototype.$pagebuilder = { + items: { + 'core_section_text': { + label: 'Pole nagłowek', + svg: '' + }, + 'core_section_textarea': { + label: 'Pole tekstowe', + svg: '' + }, + 'core_section_html': { + label: 'Pole HTML', + svg: '' + } + }, + registerPlugin(name, item) { + this.items[name] = item; + } + } + } +} diff --git a/src/components/PagebuilderContent.vue b/src/components/PagebuilderContent.vue index c16fa09..394a645 100644 --- a/src/components/PagebuilderContent.vue +++ b/src/components/PagebuilderContent.vue @@ -1,11 +1,11 @@