diff --git a/packages/design-system/src/components/N8nFormInputs/FormInputs.vue b/packages/design-system/src/components/N8nFormInputs/FormInputs.vue index 878b8b19c0..620778cd2c 100644 --- a/packages/design-system/src/components/N8nFormInputs/FormInputs.vue +++ b/packages/design-system/src/components/N8nFormInputs/FormInputs.vue @@ -64,6 +64,12 @@ function onValidate(name: string, isValid: boolean) { }; } +function getValues() { + return { ...values }; +} + +defineExpose({ getValues }); + function onSubmit() { showValidationWarnings.value = true; diff --git a/packages/editor-ui/src/views/SettingsLdapView.vue b/packages/editor-ui/src/views/SettingsLdapView.vue index 0fd348ab03..775967bb72 100644 --- a/packages/editor-ui/src/views/SettingsLdapView.vue +++ b/packages/editor-ui/src/views/SettingsLdapView.vue @@ -84,28 +84,23 @@ - + /> - + /> - + /> - + /> - + /> @@ -197,12 +192,10 @@ type LDAPConfigForm = { }; type CellClassStyleMethodParams = { - data: { - row: T; - rowIndex: number; - column: TableColumnCtx; - columnIndex: number; - }; + row: T; + rowIndex: number; + column: TableColumnCtx; + columnIndex: number; }; export default defineComponent({ @@ -253,8 +246,7 @@ export default defineComponent({ goToUpgrade() { void this.uiStore.goToUpgrade('ldap', 'upgrade-ldap'); }, - cellClassStyle({ data }: CellClassStyleMethodParams): CSSProperties { - const { row, column } = data; + cellClassStyle({ row, column }: CellClassStyleMethodParams): CSSProperties { if (column.property === 'status') { if (row.status === 'Success') { return { color: 'green' }; @@ -302,34 +294,33 @@ export default defineComponent({ async onSubmit(): Promise { // We want to save all form values (incl. the hidden onces), so we are using // `values` data prop of the `FormInputs` child component since they are all preserved there - const formInputsRef = this.$refs.ldapConfigForm as { values: LDAPConfigForm }; + const formInputsRef = this.$refs.ldapConfigForm as { getValues: () => LDAPConfigForm }; + const formValues = formInputsRef.getValues(); if (!this.hasAnyChanges || !formInputsRef) { return; } const newConfiguration: ILdapConfig = { - loginEnabled: formInputsRef.values.loginEnabled, - loginLabel: formInputsRef.values.loginLabel, - connectionUrl: formInputsRef.values.serverAddress, - allowUnauthorizedCerts: formInputsRef.values.allowUnauthorizedCerts, - connectionPort: +formInputsRef.values.port, - connectionSecurity: formInputsRef.values.connectionSecurity, - baseDn: formInputsRef.values.baseDn, - bindingAdminDn: - formInputsRef.values.bindingType === 'admin' ? formInputsRef.values.adminDn : '', - bindingAdminPassword: - formInputsRef.values.bindingType === 'admin' ? formInputsRef.values.adminPassword : '', - emailAttribute: formInputsRef.values.email, - firstNameAttribute: formInputsRef.values.firstName, - lastNameAttribute: formInputsRef.values.lastName, - loginIdAttribute: formInputsRef.values.loginId, - ldapIdAttribute: formInputsRef.values.ldapId, - userFilter: formInputsRef.values.userFilter, - synchronizationEnabled: formInputsRef.values.synchronizationEnabled, - synchronizationInterval: +formInputsRef.values.synchronizationInterval, - searchPageSize: +formInputsRef.values.pageSize, - searchTimeout: +formInputsRef.values.searchTimeout, + loginEnabled: formValues.loginEnabled, + loginLabel: formValues.loginLabel, + connectionUrl: formValues.serverAddress, + allowUnauthorizedCerts: formValues.allowUnauthorizedCerts, + connectionPort: +formValues.port, + connectionSecurity: formValues.connectionSecurity, + baseDn: formValues.baseDn, + bindingAdminDn: formValues.bindingType === 'admin' ? formValues.adminDn : '', + bindingAdminPassword: formValues.bindingType === 'admin' ? formValues.adminPassword : '', + emailAttribute: formValues.email, + firstNameAttribute: formValues.firstName, + lastNameAttribute: formValues.lastName, + loginIdAttribute: formValues.loginId, + ldapIdAttribute: formValues.ldapId, + userFilter: formValues.userFilter, + synchronizationEnabled: formValues.synchronizationEnabled, + synchronizationInterval: +formValues.synchronizationInterval, + searchPageSize: +formValues.pageSize, + searchTimeout: +formValues.searchTimeout, }; let saveForm = true;