From 30a2120cdbcba2741848306cf71a714888ec4b4b Mon Sep 17 00:00:00 2001 From: Mahmut Gundogdu Date: Tue, 16 Aug 2022 14:48:08 +0300 Subject: [PATCH] Implement update profile with Extensible-form --- .../account/src/lib/account.module.ts | 3 -- .../half-row/half-row.component.ts | 5 ++-- .../name-surname/name-surname.component.ts | 30 ------------------- .../personal-settings.component.html | 1 - .../default-personal-settings-form-props.ts | 12 ++++---- .../extensible-form-prop.component.html | 1 - .../extensible-form-prop.component.ts | 2 +- .../extensible-form.component.html | 4 +-- .../extensible-form.component.ts | 5 +++- .../extensions/src/lib/models/form-props.ts | 4 ++- .../extensions/src/lib/models/props.ts | 3 +- 11 files changed, 21 insertions(+), 49 deletions(-) delete mode 100644 npm/ng-packs/packages/account/src/lib/components/personal-settings/name-surname/name-surname.component.ts diff --git a/npm/ng-packs/packages/account/src/lib/account.module.ts b/npm/ng-packs/packages/account/src/lib/account.module.ts index d8c88055d9..3929963665 100644 --- a/npm/ng-packs/packages/account/src/lib/account.module.ts +++ b/npm/ng-packs/packages/account/src/lib/account.module.ts @@ -19,8 +19,6 @@ import { UiExtensionsModule } from '@abp/ng.theme.shared/extensions'; import { ACCOUNT_EDIT_FORM_PROP_CONTRIBUTORS } from './tokens/extensions.token'; import { AccountExtensionsGuard } from './guards/extensions.guard'; import { HalfRowComponent } from './components/personal-settings/half-row/half-row.component'; -import { NameSurnameComponent } from './components/personal-settings/name-surname/name-surname.component'; - const declarations = [ LoginComponent, RegisterComponent, @@ -30,7 +28,6 @@ const declarations = [ ForgotPasswordComponent, ResetPasswordComponent, HalfRowComponent, - NameSurnameComponent ]; @NgModule({ diff --git a/npm/ng-packs/packages/account/src/lib/components/personal-settings/half-row/half-row.component.ts b/npm/ng-packs/packages/account/src/lib/components/personal-settings/half-row/half-row.component.ts index 76c741459b..a0f0ead029 100644 --- a/npm/ng-packs/packages/account/src/lib/components/personal-settings/half-row/half-row.component.ts +++ b/npm/ng-packs/packages/account/src/lib/components/personal-settings/half-row/half-row.component.ts @@ -5,12 +5,11 @@ import {ControlContainer, FormGroup, FormGroupDirective} from "@angular/forms"; @Component({ selector: 'abp-half-row', template: ` -
+
-
diff --git a/npm/ng-packs/packages/account/src/lib/components/personal-settings/name-surname/name-surname.component.ts b/npm/ng-packs/packages/account/src/lib/components/personal-settings/name-surname/name-surname.component.ts deleted file mode 100644 index 7701f4567f..0000000000 --- a/npm/ng-packs/packages/account/src/lib/components/personal-settings/name-surname/name-surname.component.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { Component } from '@angular/core'; -import {ControlContainer, FormGroupDirective} from "@angular/forms"; - -@Component({ - selector: 'abp-name-surname', - template: `
-
-
- -
-
-
-
- -
-
-
`, - styles: [], - viewProviders: [{ provide: ControlContainer, useExisting: FormGroupDirective }] - -}) -export class NameSurnameComponent { - constructor() {} -} diff --git a/npm/ng-packs/packages/account/src/lib/components/personal-settings/personal-settings.component.html b/npm/ng-packs/packages/account/src/lib/components/personal-settings/personal-settings.component.html index 42a323e5ca..86dd3272b3 100644 --- a/npm/ng-packs/packages/account/src/lib/components/personal-settings/personal-settings.component.html +++ b/npm/ng-packs/packages/account/src/lib/components/personal-settings/personal-settings.component.html @@ -1,4 +1,3 @@ -

Thor

diff --git a/npm/ng-packs/packages/account/src/lib/defaults/default-personal-settings-form-props.ts b/npm/ng-packs/packages/account/src/lib/defaults/default-personal-settings-form-props.ts index 6a1038e64a..d99401ecf2 100644 --- a/npm/ng-packs/packages/account/src/lib/defaults/default-personal-settings-form-props.ts +++ b/npm/ng-packs/packages/account/src/lib/defaults/default-personal-settings-form-props.ts @@ -1,7 +1,7 @@ import {ePropType, FormProp} from "@abp/ng.theme.shared/extensions"; import {UpdateProfileDto} from "@abp/ng.account.core/proxy"; import {Validators} from "@angular/forms"; - import {NameSurnameComponent} from "../components/personal-settings/name-surname/name-surname.component"; + import {HalfRowComponent} from "../components/personal-settings/half-row/half-row.component"; const { maxLength, required, email } = Validators; export const DEFAULT_PERSONAL_SETTINGS_UPDATE_FORM_PROPS = FormProp.createMany([ @@ -17,16 +17,18 @@ export const DEFAULT_PERSONAL_SETTINGS_UPDATE_FORM_PROPS = FormProp.createMany [maxLength(64),required], - template:NameSurnameComponent + validators: () => [maxLength(64)], + template:HalfRowComponent, + className:"d-inline-block w-50" }, { type: ePropType.String, name: 'surname', displayName: 'AbpIdentity::DisplayName:Surname', id: 'surname', - validators: () => [maxLength(64),required], - visible:() => false + validators: () => [maxLength(64)], + className:"d-inline-block w-50 ps-4", + template:HalfRowComponent }, { type: ePropType.String, diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form-prop.component.html b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form-prop.component.html index 239882a498..dd125f5afc 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form-prop.component.html +++ b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form-prop.component.html @@ -3,7 +3,6 @@ diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form-prop.component.ts b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form-prop.component.ts index efa894cf55..a7a7d22708 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form-prop.component.ts +++ b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form-prop.component.ts @@ -191,7 +191,7 @@ export class ExtensibleFormPropComponent implements OnChanges, AfterViewInit { provide: FORM_PROP_DATA_STREAM, useValue: currentProp }, - + { provide: ControlContainer, useExisting: FormGroupDirective } ], parent: this.injector, }); diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form.component.html b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form.component.html index 259538820b..69ad86da5c 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form.component.html +++ b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form.component.html @@ -6,11 +6,11 @@ [formGroupName]="extraPropertiesKey" *ngIf="extraProperties.controls[prop.name]; else tempDefault" > - + - { @Inject(EXTENSIONS_IDENTIFIER) private identifier: string, ) {} } + + +export const ExtensibleFormViewProvider = { provide: ControlContainer, useExisting: FormGroupDirective } diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/models/form-props.ts b/npm/ng-packs/packages/theme-shared/extensions/src/lib/models/form-props.ts index b607e4cb6e..4e71c70e0f 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/models/form-props.ts +++ b/npm/ng-packs/packages/theme-shared/extensions/src/lib/models/form-props.ts @@ -39,6 +39,7 @@ export class FormProp extends Prop { readonly options: PropCallback[]>> | undefined; readonly id: string | undefined; readonly template? : Type + readonly className?:string; constructor(options: FormPropOptions) { super( @@ -48,7 +49,8 @@ export class FormProp extends Prop { options.permission, options.visible, options.isExtra, - options.template + options.template, + options.className ); this.asyncValidators = options.asyncValidators || (_ => []); diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/models/props.ts b/npm/ng-packs/packages/theme-shared/extensions/src/lib/models/props.ts index 0b26512dbc..e8bb158cc9 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/models/props.ts +++ b/npm/ng-packs/packages/theme-shared/extensions/src/lib/models/props.ts @@ -33,7 +33,8 @@ export abstract class Prop { public readonly permission: string, public readonly visible: PropPredicate = _ => true, public readonly isExtra = false, - public readonly template? : Type + public readonly template? : Type, + public readonly className?:string ) { this.displayName = this.displayName || this.name; }