From 9508f80af5f0363b3e9623690c0eeeee97319bd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fatih=20KILI=C3=87?= Date: Mon, 12 Dec 2022 17:24:21 +0300 Subject: [PATCH 01/18] password component create --- .../password/password.component.html | 20 +++++++++++++++++++ .../components/password/password.component.ts | 18 +++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 npm/ng-packs/packages/theme-shared/extensions/src/lib/components/password/password.component.html create mode 100644 npm/ng-packs/packages/theme-shared/extensions/src/lib/components/password/password.component.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/password/password.component.html b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/password/password.component.html new file mode 100644 index 0000000000..8f4247155c --- /dev/null +++ b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/password/password.component.html @@ -0,0 +1,20 @@ +
+
+ +
+ + + +
diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/password/password.component.ts b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/password/password.component.ts new file mode 100644 index 0000000000..ca93a1d121 --- /dev/null +++ b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/password/password.component.ts @@ -0,0 +1,18 @@ +import { Component, Input } from '@angular/core'; +import { EXTENSIBLE_FORM_VIEW_PROVIDER } from '../../tokens/extensible-form-view-provider.token'; +import { FormProp } from '../../models/form-props'; + +@Component({ + selector: 'abp-password', + templateUrl: `password.component.html`, + viewProviders: [EXTENSIBLE_FORM_VIEW_PROVIDER], +}) +export class PasswordComponent { + @Input() prop!: FormProp; + + fieldTextType: boolean; + + toggleFieldTextType() { + this.fieldTextType = !this.fieldTextType; + } +} From 3ee04fd52810889f56d0b4a25620832f7b8bc565 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fatih=20KILI=C3=87?= Date: Mon, 12 Dec 2022 17:25:23 +0300 Subject: [PATCH 02/18] add to module and use password component --- .../extensible-form/extensible-form-prop.component.html | 5 +++++ .../extensible-form/extensible-form-prop.component.ts | 2 ++ .../theme-shared/extensions/src/lib/ui-extensions.module.ts | 3 +++ 3 files changed, 10 insertions(+) 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 e06e4f0bfe..bdbd54bc52 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 @@ -138,6 +138,11 @@ class="form-control" > + + + + + 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 5732cdcc6f..6a8f2b7f00 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 @@ -161,6 +161,8 @@ export class ExtensibleFormPropComponent implements OnChanges, AfterViewInit { return 'time'; case ePropType.Typeahead: return 'typeahead'; + case ePropType.Password: + return 'password'; default: return prop.options ? 'select' : 'input'; } diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/ui-extensions.module.ts b/npm/ng-packs/packages/theme-shared/extensions/src/lib/ui-extensions.module.ts index aebaa16036..9917157182 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/ui-extensions.module.ts +++ b/npm/ng-packs/packages/theme-shared/extensions/src/lib/ui-extensions.module.ts @@ -17,6 +17,7 @@ import { PageToolbarComponent } from './components/page-toolbar/page-toolbar.com import { DisabledDirective } from './directives/disabled.directive'; import { PropDataDirective } from './directives/prop-data.directive'; import { CreateInjectorPipe } from './pipes/create-injector.pipe'; +import { PasswordComponent } from './components/password/password.component'; @NgModule({ exports: [ @@ -25,6 +26,7 @@ import { CreateInjectorPipe } from './pipes/create-injector.pipe'; GridActionsComponent, ExtensibleFormComponent, ExtensibleTableComponent, + PasswordComponent, PropDataDirective, DisabledDirective, CreateInjectorPipe, @@ -36,6 +38,7 @@ import { CreateInjectorPipe } from './pipes/create-injector.pipe'; ExtensibleFormPropComponent, ExtensibleFormComponent, ExtensibleTableComponent, + PasswordComponent, PropDataDirective, DisabledDirective, CreateInjectorPipe, From 11f34e26419d17dc58ef1cb8df8db215b63c85e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fatih=20KILI=C3=87?= Date: Tue, 13 Dec 2022 10:39:39 +0300 Subject: [PATCH 03/18] mobile and web design fix --- .../password/password.component.html | 38 ++++++++++--------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/password/password.component.html b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/password/password.component.html index 8f4247155c..195b46c96d 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/password/password.component.html +++ b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/password/password.component.html @@ -1,20 +1,24 @@
-
- +
+
+ +
+
+ +
- - -
From 1ccbe155c740f5228f73f5d3ba347ec781637f03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fatih=20KILI=C3=87?= Date: Tue, 13 Dec 2022 13:57:57 +0300 Subject: [PATCH 04/18] fix design error --- .../password/password.component.html | 41 ++++++++----------- 1 file changed, 18 insertions(+), 23 deletions(-) diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/password/password.component.html b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/password/password.component.html index 195b46c96d..685e6eca66 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/password/password.component.html +++ b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/password/password.component.html @@ -1,24 +1,19 @@ -
-
-
- -
-
- -
-
+
+ + +
From 296b501c50bbc1d636c7afca44537775b25809da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fatih=20KILI=C3=87?= Date: Tue, 13 Dec 2022 16:53:39 +0300 Subject: [PATCH 05/18] password component is made replaceable component --- .../extensible-form-prop.component.html | 10 +++++++++- .../extensible-form/extensible-form-prop.component.ts | 2 ++ 2 files changed, 11 insertions(+), 1 deletion(-) 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 bdbd54bc52..e0b663d52c 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 @@ -141,7 +141,15 @@ - +
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 6a8f2b7f00..26a8f29b11 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 @@ -70,6 +70,8 @@ export class ExtensibleFormPropComponent implements OnChanges, AfterViewInit { typeaheadModel: any; + passwordKey = 'ThemeShared.PasswordComponent'; + private readonly form: UntypedFormGroup; disabledFn = (data: PropData) => false; From c805e056d23d40fb0c8d34e5628f9fd39a1da986 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fatih=20KILI=C3=87?= Date: Wed, 14 Dec 2022 11:16:33 +0300 Subject: [PATCH 06/18] added enum and prop type. Used in extensible table --- .../extensible-form/extensible-form-prop.component.html | 4 ++-- .../extensible-form/extensible-form-prop.component.ts | 9 ++++++--- .../theme-shared/extensions/src/lib/enums/components.ts | 3 +++ .../theme-shared/extensions/src/lib/enums/props.enum.ts | 1 + .../packages/theme-shared/extensions/src/public-api.ts | 1 + 5 files changed, 13 insertions(+), 5 deletions(-) create mode 100644 npm/ng-packs/packages/theme-shared/extensions/src/lib/enums/components.ts 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 e0b663d52c..2f98d0c871 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 @@ -139,13 +139,13 @@ > - + Date: Tue, 20 Dec 2022 13:03:29 +0300 Subject: [PATCH 07/18] move password form extension to src --- .../components/password/password.component.ts | 18 --------------- .../src/lib/ui-extensions.module.ts | 3 --- .../theme-shared/src/lib/components/index.ts | 1 + .../password/password.component.html | 4 ++-- .../components/password/password.component.ts | 22 +++++++++++++++++++ .../src/lib/theme-shared.module.ts | 2 ++ 6 files changed, 27 insertions(+), 23 deletions(-) delete mode 100644 npm/ng-packs/packages/theme-shared/extensions/src/lib/components/password/password.component.ts rename npm/ng-packs/packages/theme-shared/{extensions => }/src/lib/components/password/password.component.html (87%) create mode 100644 npm/ng-packs/packages/theme-shared/src/lib/components/password/password.component.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/password/password.component.ts b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/password/password.component.ts deleted file mode 100644 index ca93a1d121..0000000000 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/password/password.component.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { Component, Input } from '@angular/core'; -import { EXTENSIBLE_FORM_VIEW_PROVIDER } from '../../tokens/extensible-form-view-provider.token'; -import { FormProp } from '../../models/form-props'; - -@Component({ - selector: 'abp-password', - templateUrl: `password.component.html`, - viewProviders: [EXTENSIBLE_FORM_VIEW_PROVIDER], -}) -export class PasswordComponent { - @Input() prop!: FormProp; - - fieldTextType: boolean; - - toggleFieldTextType() { - this.fieldTextType = !this.fieldTextType; - } -} diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/ui-extensions.module.ts b/npm/ng-packs/packages/theme-shared/extensions/src/lib/ui-extensions.module.ts index 9917157182..aebaa16036 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/ui-extensions.module.ts +++ b/npm/ng-packs/packages/theme-shared/extensions/src/lib/ui-extensions.module.ts @@ -17,7 +17,6 @@ import { PageToolbarComponent } from './components/page-toolbar/page-toolbar.com import { DisabledDirective } from './directives/disabled.directive'; import { PropDataDirective } from './directives/prop-data.directive'; import { CreateInjectorPipe } from './pipes/create-injector.pipe'; -import { PasswordComponent } from './components/password/password.component'; @NgModule({ exports: [ @@ -26,7 +25,6 @@ import { PasswordComponent } from './components/password/password.component'; GridActionsComponent, ExtensibleFormComponent, ExtensibleTableComponent, - PasswordComponent, PropDataDirective, DisabledDirective, CreateInjectorPipe, @@ -38,7 +36,6 @@ import { PasswordComponent } from './components/password/password.component'; ExtensibleFormPropComponent, ExtensibleFormComponent, ExtensibleTableComponent, - PasswordComponent, PropDataDirective, DisabledDirective, CreateInjectorPipe, diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/index.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/index.ts index 3f8e3c5e0f..810d5a991a 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/index.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/index.ts @@ -10,3 +10,4 @@ export * from './modal/modal-ref.service'; export * from './modal/modal.component'; export * from './toast-container/toast-container.component'; export * from './toast/toast.component'; +export * from './password/password.component'; diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/password/password.component.html b/npm/ng-packs/packages/theme-shared/src/lib/components/password/password.component.html similarity index 87% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/components/password/password.component.html rename to npm/ng-packs/packages/theme-shared/src/lib/components/password/password.component.html index 685e6eca66..3272e2bec9 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/password/password.component.html +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/password/password.component.html @@ -2,8 +2,8 @@
diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/password/password.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/password/password.component.ts index 0c253ba848..64c6f67a92 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/password/password.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/password/password.component.ts @@ -1,13 +1,21 @@ -import {Component, Injector, Input} from '@angular/core'; +import {Component, forwardRef, Injector, Input} from '@angular/core'; import {AbstractNgModelComponent} from "@abp/ng.core"; +import {NG_VALUE_ACCESSOR} from "@angular/forms"; @Component({ selector: 'abp-password', templateUrl: `password.component.html`, + providers: [ + { + provide: NG_VALUE_ACCESSOR, + useExisting: forwardRef(() => PasswordComponent), + multi: true, + }, + ] }) -export class PasswordComponent extends AbstractNgModelComponent{ +export class PasswordComponent extends AbstractNgModelComponent { @Input() inputId!: string; - + @Input() formControlName!: string; fieldTextType: boolean; constructor( From 0f60c9e9b2334a088a5a6a2f2b1f7d3cd7d47e44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fatih=20KILI=C3=87?= Date: Fri, 23 Dec 2022 15:35:25 +0300 Subject: [PATCH 09/18] export NgxValidateCoreModule form theme-shared.module.ts --- .../packages/theme-shared/src/lib/theme-shared.module.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts b/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts index d5689e76ce..da64ea5561 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts @@ -63,7 +63,7 @@ const declarationsWithExports = [ EllipsisModule, ], declarations: [...declarationsWithExports, HttpErrorWrapperComponent], - exports: [NgxDatatableModule, EllipsisModule, ...declarationsWithExports], + exports: [NgxDatatableModule, EllipsisModule , NgxValidateCoreModule, ...declarationsWithExports], providers: [DatePipe], }) export class BaseThemeSharedModule {} From 282626a09db2f1d5703a967b3ebdbe096324e23c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fatih=20KILI=C3=87?= Date: Fri, 23 Dec 2022 15:48:44 +0300 Subject: [PATCH 10/18] reformat code --- .../src/lib/theme-shared.module.ts | 60 +++++++++---------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts b/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts index da64ea5561..0dc047fb76 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts @@ -1,7 +1,7 @@ -import { CoreModule, noop } from '@abp/ng.core'; -import { DatePipe } from '@angular/common'; -import { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core'; -import { NgbDateParserFormatter, NgbPaginationModule } from '@ng-bootstrap/ng-bootstrap'; +import {CoreModule, noop} from '@abp/ng.core'; +import {DatePipe} from '@angular/common'; +import {APP_INITIALIZER, ModuleWithProviders, NgModule} from '@angular/core'; +import {NgbDateParserFormatter, NgbPaginationModule} from '@ng-bootstrap/ng-bootstrap'; import { defaultMapErrorsFn, NgxValidateCoreModule, @@ -9,32 +9,32 @@ import { VALIDATION_MAP_ERRORS_FN, VALIDATION_VALIDATE_ON_SUBMIT, } from '@ngx-validate/core'; -import { NgxDatatableModule } from '@swimlane/ngx-datatable'; -import { BreadcrumbItemsComponent } from './components/breadcrumb-items/breadcrumb-items.component'; -import { BreadcrumbComponent } from './components/breadcrumb/breadcrumb.component'; -import { ButtonComponent } from './components/button/button.component'; -import { ConfirmationComponent } from './components/confirmation/confirmation.component'; -import { HttpErrorWrapperComponent } from './components/http-error-wrapper/http-error-wrapper.component'; -import { LoaderBarComponent } from './components/loader-bar/loader-bar.component'; -import { LoadingComponent } from './components/loading/loading.component'; -import { ModalCloseDirective } from './components/modal/modal-close.directive'; -import { ModalComponent } from './components/modal/modal.component'; -import { ToastContainerComponent } from './components/toast-container/toast-container.component'; -import { ToastComponent } from './components/toast/toast.component'; -import { DEFAULT_VALIDATION_BLUEPRINTS } from './constants/validation'; -import { EllipsisModule } from './directives/ellipsis.directive'; -import { LoadingDirective } from './directives/loading.directive'; -import { NgxDatatableDefaultDirective } from './directives/ngx-datatable-default.directive'; -import { NgxDatatableListDirective } from './directives/ngx-datatable-list.directive'; -import { DocumentDirHandlerService } from './handlers/document-dir.handler'; -import { ErrorHandler } from './handlers/error.handler'; -import { RootParams } from './models/common'; -import { NG_BOOTSTRAP_CONFIG_PROVIDERS } from './providers'; -import { THEME_SHARED_ROUTE_PROVIDERS } from './providers/route.provider'; -import { THEME_SHARED_APPEND_CONTENT } from './tokens/append-content.token'; -import { httpErrorConfigFactory, HTTP_ERROR_CONFIG } from './tokens/http-error.token'; -import { DateParserFormatter } from './utils/date-parser-formatter'; -import { CONFIRMATION_ICONS, DEFAULT_CONFIRMATION_ICONS } from './tokens/confirmation-icons.token'; +import {NgxDatatableModule} from '@swimlane/ngx-datatable'; +import {BreadcrumbItemsComponent} from './components/breadcrumb-items/breadcrumb-items.component'; +import {BreadcrumbComponent} from './components/breadcrumb/breadcrumb.component'; +import {ButtonComponent} from './components/button/button.component'; +import {ConfirmationComponent} from './components/confirmation/confirmation.component'; +import {HttpErrorWrapperComponent} from './components/http-error-wrapper/http-error-wrapper.component'; +import {LoaderBarComponent} from './components/loader-bar/loader-bar.component'; +import {LoadingComponent} from './components/loading/loading.component'; +import {ModalCloseDirective} from './components/modal/modal-close.directive'; +import {ModalComponent} from './components/modal/modal.component'; +import {ToastContainerComponent} from './components/toast-container/toast-container.component'; +import {ToastComponent} from './components/toast/toast.component'; +import {DEFAULT_VALIDATION_BLUEPRINTS} from './constants/validation'; +import {EllipsisModule} from './directives/ellipsis.directive'; +import {LoadingDirective} from './directives/loading.directive'; +import {NgxDatatableDefaultDirective} from './directives/ngx-datatable-default.directive'; +import {NgxDatatableListDirective} from './directives/ngx-datatable-list.directive'; +import {DocumentDirHandlerService} from './handlers/document-dir.handler'; +import {ErrorHandler} from './handlers/error.handler'; +import {RootParams} from './models/common'; +import {NG_BOOTSTRAP_CONFIG_PROVIDERS} from './providers'; +import {THEME_SHARED_ROUTE_PROVIDERS} from './providers/route.provider'; +import {THEME_SHARED_APPEND_CONTENT} from './tokens/append-content.token'; +import {HTTP_ERROR_CONFIG, httpErrorConfigFactory} from './tokens/http-error.token'; +import {DateParserFormatter} from './utils/date-parser-formatter'; +import {CONFIRMATION_ICONS, DEFAULT_CONFIRMATION_ICONS} from './tokens/confirmation-icons.token'; import {PasswordComponent} from "./components"; const declarationsWithExports = [ From 6c74679b524fb5473f588532c7ce4bcba594592c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fatih=20KILI=C3=87?= Date: Fri, 23 Dec 2022 16:20:47 +0300 Subject: [PATCH 11/18] import relative --- .../src/lib/theme-shared.module.ts | 64 +++++++++---------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts b/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts index 0dc047fb76..fd9a0cd236 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts @@ -1,7 +1,7 @@ -import {CoreModule, noop} from '@abp/ng.core'; -import {DatePipe} from '@angular/common'; -import {APP_INITIALIZER, ModuleWithProviders, NgModule} from '@angular/core'; -import {NgbDateParserFormatter, NgbPaginationModule} from '@ng-bootstrap/ng-bootstrap'; +import { CoreModule, noop } from '@abp/ng.core'; +import { DatePipe } from '@angular/common'; +import { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core'; +import { NgbDateParserFormatter, NgbPaginationModule } from '@ng-bootstrap/ng-bootstrap'; import { defaultMapErrorsFn, NgxValidateCoreModule, @@ -9,33 +9,33 @@ import { VALIDATION_MAP_ERRORS_FN, VALIDATION_VALIDATE_ON_SUBMIT, } from '@ngx-validate/core'; -import {NgxDatatableModule} from '@swimlane/ngx-datatable'; -import {BreadcrumbItemsComponent} from './components/breadcrumb-items/breadcrumb-items.component'; -import {BreadcrumbComponent} from './components/breadcrumb/breadcrumb.component'; -import {ButtonComponent} from './components/button/button.component'; -import {ConfirmationComponent} from './components/confirmation/confirmation.component'; -import {HttpErrorWrapperComponent} from './components/http-error-wrapper/http-error-wrapper.component'; -import {LoaderBarComponent} from './components/loader-bar/loader-bar.component'; -import {LoadingComponent} from './components/loading/loading.component'; -import {ModalCloseDirective} from './components/modal/modal-close.directive'; -import {ModalComponent} from './components/modal/modal.component'; -import {ToastContainerComponent} from './components/toast-container/toast-container.component'; -import {ToastComponent} from './components/toast/toast.component'; -import {DEFAULT_VALIDATION_BLUEPRINTS} from './constants/validation'; -import {EllipsisModule} from './directives/ellipsis.directive'; -import {LoadingDirective} from './directives/loading.directive'; -import {NgxDatatableDefaultDirective} from './directives/ngx-datatable-default.directive'; -import {NgxDatatableListDirective} from './directives/ngx-datatable-list.directive'; -import {DocumentDirHandlerService} from './handlers/document-dir.handler'; -import {ErrorHandler} from './handlers/error.handler'; -import {RootParams} from './models/common'; -import {NG_BOOTSTRAP_CONFIG_PROVIDERS} from './providers'; -import {THEME_SHARED_ROUTE_PROVIDERS} from './providers/route.provider'; -import {THEME_SHARED_APPEND_CONTENT} from './tokens/append-content.token'; -import {HTTP_ERROR_CONFIG, httpErrorConfigFactory} from './tokens/http-error.token'; -import {DateParserFormatter} from './utils/date-parser-formatter'; -import {CONFIRMATION_ICONS, DEFAULT_CONFIRMATION_ICONS} from './tokens/confirmation-icons.token'; -import {PasswordComponent} from "./components"; +import { NgxDatatableModule } from '@swimlane/ngx-datatable'; +import { BreadcrumbItemsComponent } from './components/breadcrumb-items/breadcrumb-items.component'; +import { BreadcrumbComponent } from './components/breadcrumb/breadcrumb.component'; +import { ButtonComponent } from './components/button/button.component'; +import { ConfirmationComponent } from './components/confirmation/confirmation.component'; +import { HttpErrorWrapperComponent } from './components/http-error-wrapper/http-error-wrapper.component'; +import { LoaderBarComponent } from './components/loader-bar/loader-bar.component'; +import { LoadingComponent } from './components/loading/loading.component'; +import { ModalCloseDirective } from './components/modal/modal-close.directive'; +import { ModalComponent } from './components/modal/modal.component'; +import { ToastContainerComponent } from './components/toast-container/toast-container.component'; +import { ToastComponent } from './components/toast/toast.component'; +import { DEFAULT_VALIDATION_BLUEPRINTS } from './constants/validation'; +import { EllipsisModule } from './directives/ellipsis.directive'; +import { LoadingDirective } from './directives/loading.directive'; +import { NgxDatatableDefaultDirective } from './directives/ngx-datatable-default.directive'; +import { NgxDatatableListDirective } from './directives/ngx-datatable-list.directive'; +import { DocumentDirHandlerService } from './handlers/document-dir.handler'; +import { ErrorHandler } from './handlers/error.handler'; +import { RootParams } from './models/common'; +import { NG_BOOTSTRAP_CONFIG_PROVIDERS } from './providers'; +import { THEME_SHARED_ROUTE_PROVIDERS } from './providers/route.provider'; +import { THEME_SHARED_APPEND_CONTENT } from './tokens/append-content.token'; +import { HTTP_ERROR_CONFIG, httpErrorConfigFactory } from './tokens/http-error.token'; +import { DateParserFormatter } from './utils/date-parser-formatter'; +import { CONFIRMATION_ICONS, DEFAULT_CONFIRMATION_ICONS } from './tokens/confirmation-icons.token'; +import { PasswordComponent } from './components/password/password.component'; const declarationsWithExports = [ BreadcrumbComponent, @@ -63,7 +63,7 @@ const declarationsWithExports = [ EllipsisModule, ], declarations: [...declarationsWithExports, HttpErrorWrapperComponent], - exports: [NgxDatatableModule, EllipsisModule , NgxValidateCoreModule, ...declarationsWithExports], + exports: [NgxDatatableModule, EllipsisModule, NgxValidateCoreModule, ...declarationsWithExports], providers: [DatePipe], }) export class BaseThemeSharedModule {} From 9645626f761a8c6ec88fe3171ec6ef55956be4ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fatih=20KILI=C3=87?= Date: Fri, 23 Dec 2022 16:22:18 +0300 Subject: [PATCH 12/18] reformat code --- .../lib/components/password/password.component.ts | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/password/password.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/password/password.component.ts index 64c6f67a92..74020240a1 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/password/password.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/password/password.component.ts @@ -1,6 +1,6 @@ -import {Component, forwardRef, Injector, Input} from '@angular/core'; -import {AbstractNgModelComponent} from "@abp/ng.core"; -import {NG_VALUE_ACCESSOR} from "@angular/forms"; +import { Component, forwardRef, Injector, Input } from '@angular/core'; +import { AbstractNgModelComponent } from '@abp/ng.core'; +import { NG_VALUE_ACCESSOR } from '@angular/forms'; @Component({ selector: 'abp-password', @@ -11,16 +11,14 @@ import {NG_VALUE_ACCESSOR} from "@angular/forms"; useExisting: forwardRef(() => PasswordComponent), multi: true, }, - ] + ], }) export class PasswordComponent extends AbstractNgModelComponent { @Input() inputId!: string; @Input() formControlName!: string; fieldTextType: boolean; - constructor( - injector: Injector, - ) { + constructor(injector: Injector) { super(injector); } From d9576e2fd2b08ca30644249ac6f256f9ef6bc000 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Fri, 23 Dec 2022 18:02:21 +0300 Subject: [PATCH 13/18] Setting management should be only available to tenants --- .../SettingManagementFeatureDefinitionProvider.cs | 3 ++- .../Settings/EmailingPageContributor.cs | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/SettingManagementFeatureDefinitionProvider.cs b/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/SettingManagementFeatureDefinitionProvider.cs index 6b763a1472..6800ce4e2b 100644 --- a/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/SettingManagementFeatureDefinitionProvider.cs +++ b/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/SettingManagementFeatureDefinitionProvider.cs @@ -17,7 +17,8 @@ public class SettingManagementFeatureDefinitionProvider : FeatureDefinitionProvi "true", L("Feature:SettingManagementEnable"), L("Feature:SettingManagementEnableDescription"), - new ToggleStringValueType()); + new ToggleStringValueType(), + isAvailableToHost: false); settingEnableFeature.CreateChild( SettingManagementFeatures.AllowChangingEmailSettings, diff --git a/modules/setting-management/src/Volo.Abp.SettingManagement.Web/Settings/EmailingPageContributor.cs b/modules/setting-management/src/Volo.Abp.SettingManagement.Web/Settings/EmailingPageContributor.cs index c166ad873e..bedb993480 100644 --- a/modules/setting-management/src/Volo.Abp.SettingManagement.Web/Settings/EmailingPageContributor.cs +++ b/modules/setting-management/src/Volo.Abp.SettingManagement.Web/Settings/EmailingPageContributor.cs @@ -11,7 +11,7 @@ public class EmailingPageContributor : SettingPageContributorBase { public EmailingPageContributor() { - RequiredFeatures(SettingManagementFeatures.Enable); + RequiredTenantSideFeatures(SettingManagementFeatures.Enable); RequiredTenantSideFeatures(SettingManagementFeatures.AllowChangingEmailSettings); RequiredPermissions(SettingManagementPermissions.Emailing); } From 5d183940acdca9c30d9988a4bb99b3959626014a Mon Sep 17 00:00:00 2001 From: malik masis Date: Mon, 26 Dec 2022 13:59:30 +0300 Subject: [PATCH 14/18] Hide the footer buttons when group is empty --- .../Components/FeatureManagementModal.razor | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/modules/feature-management/src/Volo.Abp.FeatureManagement.Blazor/Components/FeatureManagementModal.razor b/modules/feature-management/src/Volo.Abp.FeatureManagement.Blazor/Components/FeatureManagementModal.razor index 70bff838c7..aa682906df 100644 --- a/modules/feature-management/src/Volo.Abp.FeatureManagement.Blazor/Components/FeatureManagementModal.razor +++ b/modules/feature-management/src/Volo.Abp.FeatureManagement.Blazor/Components/FeatureManagementModal.razor @@ -6,15 +6,15 @@ @L["Features"] - + - - @if (Groups == null || !Groups.Any()) - { - @L["NoFeatureFoundMessage"] - } - else - { + @if (Groups == null || !Groups.Any()) + { + @L["NoFeatureFoundMessage"] + } + else + { + @foreach (var group in Groups) @@ -30,7 +30,7 @@ var index = i;

@Groups[index].DisplayName

-
+
@foreach (var feature in Groups[index].Features) {
@@ -42,8 +42,8 @@ @feature.DisplayName + Text="@feature.Value" + TextChanged="@(async (v) => await OnFeatureValueChangedAsync(v, feature))" /> @if (feature.Description != null) {
@feature.Description
@@ -53,12 +53,12 @@ if (feature.ValueType is SelectionStringValueType) { - var items = ((SelectionStringValueType) feature.ValueType).ItemSource.Items; + var items = ((SelectionStringValueType)feature.ValueType).ItemSource.Items; @feature.DisplayName