diff --git a/frontend/.eslint/legacy-files.json b/frontend/.eslint/legacy-files.json index cefafafb56..14aeb411f4 100644 --- a/frontend/.eslint/legacy-files.json +++ b/frontend/.eslint/legacy-files.json @@ -96,12 +96,8 @@ "src/shared/banner/banner.vue", "src/shared/empty-state/empty-state-cta.vue", "src/shared/empty-state/empty-state.vue", - "src/shared/form/array-input.vue", "src/shared/form/autocomplete-many-input.vue", "src/shared/form/autocomplete-one-input.vue", - "src/shared/form/form-errors.vue", - "src/shared/form/form-item.vue", - "src/shared/form/inline-select-input.vue", "src/shared/form/keywords-input.vue", "src/shared/image/image.vue", "src/shared/layout/page-wrapper.vue", @@ -448,10 +444,6 @@ "src/shared/avatar/avatar-new-badge.vue", "src/shared/components/globals.vue", "src/shared/dialog/delete-confirm-dialog.vue", - "src/shared/form/array-input.vue", - "src/shared/form/form-errors.vue", - "src/shared/form/form-item.vue", - "src/shared/form/inline-select-input.vue", "src/shared/image/image.vue", "src/shared/loading/page-loader.vue", "src/shared/message/toaster-container.vue", diff --git a/frontend/src/shared/form/array-input.vue b/frontend/src/shared/form/array-input.vue index 5f7af0df81..9778532ae5 100644 --- a/frontend/src/shared/form/array-input.vue +++ b/frontend/src/shared/form/array-input.vue @@ -25,36 +25,33 @@ - - - diff --git a/frontend/src/shared/form/element-change.js b/frontend/src/shared/form/element-change.ts similarity index 51% rename from frontend/src/shared/form/element-change.js rename to frontend/src/shared/form/element-change.ts index 01e857d5db..789db7e5ee 100644 --- a/frontend/src/shared/form/element-change.js +++ b/frontend/src/shared/form/element-change.ts @@ -1,9 +1,15 @@ -import { ref, computed } from 'vue'; +import { + ref, computed, type Ref, type ComputedRef, +} from 'vue'; -export default function elementChangeDetector(element) { +export default function elementChangeDetector(element: Ref): { + temporaryElement: Ref; + elementSnapshot: () => void; + hasElementChanged: ComputedRef; +} { const temporaryElement = ref(''); - function elementSnapshot() { + function elementSnapshot(): void { temporaryElement.value = JSON.stringify(element.value); } diff --git a/frontend/src/shared/form/form-change.js b/frontend/src/shared/form/form-change.js deleted file mode 100644 index 54b7942b01..0000000000 --- a/frontend/src/shared/form/form-change.js +++ /dev/null @@ -1,17 +0,0 @@ -import { ref, computed } from 'vue'; - -export default function formChangeDetector(form) { - const temporaryForm = ref(''); - - function formSnapshot() { - temporaryForm.value = JSON.stringify(form); - } - - const hasFormChanged = computed(() => temporaryForm.value !== JSON.stringify(form), { deep: true }); - - return { - temporaryForm, - formSnapshot, - hasFormChanged, - }; -} diff --git a/frontend/src/shared/form/form-change.ts b/frontend/src/shared/form/form-change.ts new file mode 100644 index 0000000000..8f99abf68f --- /dev/null +++ b/frontend/src/shared/form/form-change.ts @@ -0,0 +1,23 @@ +import { + ref, computed, type Ref, type ComputedRef, +} from 'vue'; + +export default function formChangeDetector(form: object): { + temporaryForm: Ref; + formSnapshot: () => void; + hasFormChanged: ComputedRef; +} { + const temporaryForm = ref(''); + + function formSnapshot(): void { + temporaryForm.value = JSON.stringify(form); + } + + const hasFormChanged = computed(() => temporaryForm.value !== JSON.stringify(form)); + + return { + temporaryForm, + formSnapshot, + hasFormChanged, + }; +} diff --git a/frontend/src/shared/form/form-errors.vue b/frontend/src/shared/form/form-errors.vue index dbcdae91cd..eed6c01fc5 100644 --- a/frontend/src/shared/form/form-errors.vue +++ b/frontend/src/shared/form/form-errors.vue @@ -10,40 +10,29 @@ - - - diff --git a/frontend/src/shared/form/form-item.vue b/frontend/src/shared/form/form-item.vue index abd4ea84ef..a62b3e57bc 100644 --- a/frontend/src/shared/form/form-item.vue +++ b/frontend/src/shared/form/form-item.vue @@ -33,79 +33,54 @@ - - - diff --git a/frontend/src/shared/form/inline-select-input.vue b/frontend/src/shared/form/inline-select-input.vue index d00f1dd8d6..a31f92ddae 100644 --- a/frontend/src/shared/form/inline-select-input.vue +++ b/frontend/src/shared/form/inline-select-input.vue @@ -50,39 +50,38 @@ - - -