From 437644584ab30383a6a2db3ec023860fb0df8930 Mon Sep 17 00:00:00 2001 From: Julien Nahum Date: Tue, 24 Oct 2023 11:00:54 +0200 Subject: [PATCH] WIP --- resources/js/app.js | 8 +- resources/js/components/Modal.vue | 25 +-- resources/js/components/common/Collapse.vue | 35 ++- resources/js/components/common/index.js | 19 +- resources/js/components/forms/ImageInput.vue | 2 +- .../js/components/forms/SignatureInput.vue | 6 +- resources/js/components/forms/TextInput.vue | 57 +++-- .../js/components/forms/ToggleSwitchInput.vue | 78 ++++--- .../components/forms/components/InputHelp.vue | 4 +- .../forms/components/InputLabel.vue | 7 +- .../forms/components/InputWrapper.vue | 47 ++++ .../components/forms/components/VSwitch.vue | 52 ++--- resources/js/components/forms/index.js | 61 +++--- resources/js/components/forms/useFormInput.js | 10 +- resources/js/components/index.js | 33 +-- .../components/AdvancedFormUrlSettings.vue | 16 +- .../forms/components/FormFieldsEditor.vue | 20 +- .../open/forms/components/FormSubmissions.vue | 105 +++++---- .../form-components/AddFormBlockSidebar.vue | 131 ++++++----- .../form-components/FormAboutSubmission.vue | 53 ++--- .../form-components/FormCustomization.vue | 26 +-- ...ormNotificationsSubmissionConfirmation.vue | 10 +- .../FormBlockLogicEditor.vue | 68 +++--- .../forms/fields/FormBlockOptionsModal.vue | 39 ++-- .../forms/fields/FormFieldEditSidebar.vue | 82 ++++--- .../forms/fields/FormFieldOptionsModal.vue | 205 +++++++++--------- .../forms/fields/components/BlockOptions.vue | 12 +- .../forms/fields/components/FieldOptions.vue | 93 ++++---- .../js/components/open/tables/OpenTable.vue | 2 +- .../forms/show/EmbedFormAsPopupModal.vue | 28 +-- .../pages/pricing/MonthlyYearlySelector.vue | 36 ++- .../components/pages/pricing/PricingTable.vue | 47 ++-- .../pages/welcome/TemplatesSlider.vue | 33 ++- resources/js/mixins/forms/input.js | 2 +- 34 files changed, 784 insertions(+), 668 deletions(-) create mode 100644 resources/js/components/forms/components/InputWrapper.vue diff --git a/resources/js/app.js b/resources/js/app.js index ab197d7..f982e62 100644 --- a/resources/js/app.js +++ b/resources/js/app.js @@ -4,6 +4,7 @@ import router from '~/router' import App from '~/components/App.vue' import Base from './base.js' import registerPlugin from './plugins' +import { registerComponents } from './components' import '~/plugins' import '~/components' @@ -16,10 +17,15 @@ const app = createApp(App) .mixin(Base) registerPlugin(app) +registerComponents(app) configureCompat({ // default everything to Vue 2 behavior - MODE: 2 + MODE: 2, + GLOBAL_MOUNT: false, + COMPONENT_V_MODEL: false, + INSTANCE_SET: false, + INSTANCE_DELETE: false }) router.app = app diff --git a/resources/js/components/Modal.vue b/resources/js/components/Modal.vue index 2f34a1b..0d37af5 100644 --- a/resources/js/components/Modal.vue +++ b/resources/js/components/Modal.vue @@ -37,7 +37,7 @@
-
+
@@ -45,7 +45,7 @@
-

@@ -58,7 +58,7 @@

-
+
@@ -120,17 +120,11 @@ export default { }, created () { - const closeOnEscape = (e) => { - if (e.key === 'Escape' && this.show) { - this.close() - } - } + document.addEventListener('keydown', this.closeOnEscape) + }, - document.addEventListener('keydown', closeOnEscape) - - this.$once('hook:unmounted', () => { - document.removeEventListener('keydown', closeOnEscape) - }) + beforeUnmount () { + document.removeEventListener('keydown', this.closeOnEscape) }, methods: { @@ -143,6 +137,11 @@ export default { if (this.afterLeave) { this.afterLeave() } + }, + closeOnEscape (e) { + if (e.key === 'Escape' && this.show) { + this.close() + } } } } diff --git a/resources/js/components/common/Collapse.vue b/resources/js/components/common/Collapse.vue index 969c914..0f13a8a 100644 --- a/resources/js/components/common/Collapse.vue +++ b/resources/js/components/common/Collapse.vue @@ -15,34 +15,27 @@
- +
-
+ - diff --git a/resources/js/components/common/index.js b/resources/js/components/common/index.js index 9eea30a..f9b6028 100644 --- a/resources/js/components/common/index.js +++ b/resources/js/components/common/index.js @@ -1,13 +1,12 @@ -import Vue from 'vue' - import Dropdown from './Dropdown.vue' import Card from './Card.vue' import Button from './Button.vue' -// Components that are registered globaly. -[ - Card, - Button, - Dropdown -].forEach(Component => { - Vue.component(Component.name, Component) -}) +export function registerComponents (app) { + [ + Card, + Button, + Dropdown + ].forEach(Component => { + app.component(Component.name, Component) + }) +} diff --git a/resources/js/components/forms/ImageInput.vue b/resources/js/components/forms/ImageInput.vue index 11de7c4..d2c9c09 100644 --- a/resources/js/components/forms/ImageInput.vue +++ b/resources/js/components/forms/ImageInput.vue @@ -132,7 +132,7 @@ export default { methods: { clearUrl () { - this.$set(this.form, this.name, null) + this.form[this.name] = null }, onUploadDragoverEvent (e) { this.uploadDragoverEvent = true diff --git a/resources/js/components/forms/SignatureInput.vue b/resources/js/components/forms/SignatureInput.vue index a6e8699..9a5d640 100644 --- a/resources/js/components/forms/SignatureInput.vue +++ b/resources/js/components/forms/SignatureInput.vue @@ -50,11 +50,11 @@ export default { this.onEnd() }, onEnd () { - if(this.disabled){ + if (this.disabled) { this.$refs.signaturePad.clearSignature() - }else{ + } else { const { isEmpty, data } = this.$refs.signaturePad.saveSignature() - this.$set(this.form, this.name, (!isEmpty && data) ? data : null) + this.form[this.name] = (!isEmpty && data) ? data : null } } } diff --git a/resources/js/components/forms/TextInput.vue b/resources/js/components/forms/TextInput.vue index f10b8a8..c0801f6 100644 --- a/resources/js/components/forms/TextInput.vue +++ b/resources/js/components/forms/TextInput.vue @@ -1,19 +1,14 @@ diff --git a/resources/js/components/forms/ToggleSwitchInput.vue b/resources/js/components/forms/ToggleSwitchInput.vue index 073e591..1642bde 100644 --- a/resources/js/components/forms/ToggleSwitchInput.vue +++ b/resources/js/components/forms/ToggleSwitchInput.vue @@ -1,36 +1,50 @@ - - - \ No newline at end of file +} + diff --git a/resources/js/components/forms/components/InputHelp.vue b/resources/js/components/forms/components/InputHelp.vue index 6a359c3..747cacb 100644 --- a/resources/js/components/forms/components/InputHelp.vue +++ b/resources/js/components/forms/components/InputHelp.vue @@ -1,5 +1,5 @@