From 134b73af293a0bb43d091e9b004eac5af7737820 Mon Sep 17 00:00:00 2001 From: szymon Date: Thu, 6 Apr 2023 11:05:28 +0200 Subject: [PATCH] pagebuilder fullscreen mode --- src/components/MagicoModal.vue | 27 +++-- src/components/MagicoPagebuilder.vue | 141 +++++++++++++++----------- src/components/PagebuilderContent.vue | 36 +++++-- src/components/PagebuilderSection.vue | 12 +-- src/components/grid.js | 24 ++--- src/components/plugin/SectionHtml.vue | 4 +- src/components/tinymce/config.js | 2 +- 7 files changed, 153 insertions(+), 93 deletions(-) diff --git a/src/components/MagicoModal.vue b/src/components/MagicoModal.vue index 5ab04e8..39625c4 100644 --- a/src/components/MagicoModal.vue +++ b/src/components/MagicoModal.vue @@ -24,20 +24,23 @@ export default { } }, mounted() { + document.body.append(document.getElementById(this.id)); this.modal = new Modal(document.getElementById(this.id)) let vm = this; document.getElementById(this.id).addEventListener('hidden.bs.modal', function () { vm.triggerModal(false); }) - this.triggerModal(this.value); + this.triggerModal(this.value, false); }, methods: { - triggerModal: function (value) { + triggerModal: function (value, emit = true) { if (value == true) { this.modal.show(); } else { this.modal.hide() - this.$emit('hide'); + if (emit) { + this.$emit('hide'); + } } this.$emit('input', value); } @@ -47,8 +50,20 @@ export default { this.triggerModal(this.value); } }, - destroy() { - this.modal.dispose() + onDestroy: function () { + document.getElementById(this.id).remove(); } } - \ No newline at end of file + + \ No newline at end of file diff --git a/src/components/MagicoPagebuilder.vue b/src/components/MagicoPagebuilder.vue index 50c1ef0..9862946 100644 --- a/src/components/MagicoPagebuilder.vue +++ b/src/components/MagicoPagebuilder.vue @@ -1,67 +1,75 @@ @@ -87,6 +95,7 @@ export default { }, data: function () { return { + fullscreen: false, grid: grid, namex: 'body', //podmieniane przez name drag: false, @@ -212,4 +221,22 @@ a { #pagebuilder { background-color: #f5f5f5; } + +.pagebuilder-fullscreen { + position: fixed; + top: 10px; + width: 80%; + left: 10%; + right: 10%; + min-height: 100vh; + z-index: 100; + overflow-y: auto; +} + +.pagebuilder-fullscreen .pagebuilder-body { + overflow-x: hidden; + overflow-y: auto; + max-height: 95vh; + padding-right: 20px; +} diff --git a/src/components/PagebuilderContent.vue b/src/components/PagebuilderContent.vue index f6766f2..68ff484 100644 --- a/src/components/PagebuilderContent.vue +++ b/src/components/PagebuilderContent.vue @@ -1,5 +1,5 @@