@brggroup/share-lib 0.1.56 → 0.1.57

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -620,7 +620,7 @@ class TokenStorage {
620
620
  }
621
621
  }
622
622
 
623
- const URLs$8 = {
623
+ const URLs$9 = {
624
624
  login: '/api/Auth/Login',
625
625
  register: '/api/Auth/Register',
626
626
  pingAuth: '/api/Auth/PingAuth',
@@ -689,7 +689,7 @@ class AuthService extends HTTPService {
689
689
  }
690
690
  }
691
691
  async sendSignIn(body) {
692
- return firstValueFrom(this.httpClient.post(AppGlobals.apiEndpoint + URLs$8.login, body, {
692
+ return firstValueFrom(this.httpClient.post(AppGlobals.apiEndpoint + URLs$9.login, body, {
693
693
  headers: new HttpHeaders().set('Content-Type', 'application/json').set('No-Loading-Mark', '1'),
694
694
  }));
695
695
  }
@@ -709,7 +709,7 @@ class AuthService extends HTTPService {
709
709
  ---------------------------------------- */
710
710
  async pingAuth() {
711
711
  try {
712
- const res = await this.get(AppGlobals.apiEndpoint + URLs$8.pingAuth, true);
712
+ const res = await this.get(AppGlobals.apiEndpoint + URLs$9.pingAuth, true);
713
713
  return res?.IsSuccess;
714
714
  }
715
715
  catch {
@@ -732,6 +732,7 @@ class AuthService extends HTTPService {
732
732
  SPN: `App_User_checkUserMenu`,
733
733
  Params: [url],
734
734
  });
735
+ // const ret = await this.post(AppGlobals.apiEndpoint + '/api/Auth/checkUserMenu');
735
736
  return ret.IsSuccess && ret.Data == '1';
736
737
  }
737
738
  catch (error) {
@@ -743,10 +744,10 @@ class AuthService extends HTTPService {
743
744
  PASSWORD
744
745
  ---------------------------------------- */
745
746
  changePassword(data) {
746
- return this.postData(AppGlobals.apiEndpoint + URLs$8.changePassword, data);
747
+ return this.postData(AppGlobals.apiEndpoint + URLs$9.changePassword, data);
747
748
  }
748
749
  setPass(data) {
749
- return this.postData(AppGlobals.apiEndpoint + URLs$8.setPass, data);
750
+ return this.postData(AppGlobals.apiEndpoint + URLs$9.setPass, data);
750
751
  }
751
752
  /* ----------------------------------------
752
753
  REGISTER
@@ -767,7 +768,7 @@ class AuthService extends HTTPService {
767
768
  }
768
769
  }
769
770
  async sendSignUp(d) {
770
- return this.postData(AppGlobals.apiEndpoint + URLs$8.register, d);
771
+ return this.postData(AppGlobals.apiEndpoint + URLs$9.register, d);
771
772
  }
772
773
  /* ----------------------------------------
773
774
  CHANGE ORG
@@ -789,7 +790,7 @@ class AuthService extends HTTPService {
789
790
  }
790
791
  async sendChangeOrg(App_Org_Id) {
791
792
  let params = new HttpParams().append('App_Org_Id', App_Org_Id);
792
- return this.postParams(AppGlobals.apiEndpoint + URLs$8.changeOrgLogin, params);
793
+ return this.postParams(AppGlobals.apiEndpoint + URLs$9.changeOrgLogin, params);
793
794
  }
794
795
  static pingInterVal;
795
796
  startPingAuth(intervalTime) {
@@ -3448,7 +3449,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImpor
3448
3449
  }]
3449
3450
  }] });
3450
3451
 
3451
- const URLs$7 = {
3452
+ const URLs$8 = {
3452
3453
  getById: '/api/App_Dic_Domain/GetById',
3453
3454
  getAll: '/api/App_Dic_Domain/GetAll',
3454
3455
  getList: '/api/App_Dic_Domain/GetList',
@@ -3460,21 +3461,21 @@ const URLs$7 = {
3460
3461
  class DicDomainService extends HTTPService {
3461
3462
  getById(id) {
3462
3463
  let pr = new HttpParams().append('id', id);
3463
- return this.postParams(AppGlobals.apiEndpoint + URLs$7.getById, pr);
3464
+ return this.postParams(AppGlobals.apiEndpoint + URLs$8.getById, pr);
3464
3465
  }
3465
3466
  getPaging(filter) {
3466
- return this.postData(AppGlobals.apiEndpoint + URLs$7.getPaging, filter);
3467
+ return this.postData(AppGlobals.apiEndpoint + URLs$8.getPaging, filter);
3467
3468
  }
3468
3469
  addOrEdit(obj) {
3469
- return this.postData(AppGlobals.apiEndpoint + URLs$7.addOrEdit, obj);
3470
+ return this.postData(AppGlobals.apiEndpoint + URLs$8.addOrEdit, obj);
3470
3471
  }
3471
3472
  delete(id) {
3472
3473
  const params = new HttpParams().append('id', id);
3473
- return this.postParams(AppGlobals.apiEndpoint + URLs$7.delete, params);
3474
+ return this.postParams(AppGlobals.apiEndpoint + URLs$8.delete, params);
3474
3475
  }
3475
3476
  async getByDomain(DomainCode) {
3476
3477
  var pr = new HttpParams().append('DomainCode', DomainCode);
3477
- const ret = await this.postParams(AppGlobals.apiEndpoint + URLs$7.getByDomain, pr);
3478
+ const ret = await this.postParams(AppGlobals.apiEndpoint + URLs$8.getByDomain, pr);
3478
3479
  return ret.Data;
3479
3480
  }
3480
3481
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: DicDomainService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
@@ -6680,7 +6681,7 @@ class DicDomainListComponent extends BaseComponent {
6680
6681
  this.getData();
6681
6682
  }
6682
6683
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: DicDomainListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
6683
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.7", type: DicDomainListComponent, isStandalone: true, selector: "app-dic-domain-list", usesInheritance: true, ngImport: i0, template: "<div nz-row [nzGutter]=\"[0, 8]\">\r\n <div nz-col nzSpan=\"24\">\r\n <nz-table [nzData]=\"data?.LstItem || []\" [nzBordered]=\"true\" [nzSize]=\"'small'\" [nzFrontPagination]=\"false\">\r\n <thead>\r\n <tr>\r\n <th nzWidth=\"50px\">#</th>\r\n <th>#</th>\r\n <th>Domain Code</th>\r\n <th>Item Code</th>\r\n <th>Item Value</th>\r\n <th>Order Value</th>\r\n <th>Child Domain Code</th>\r\n <th>Parent Item Code</th>\r\n <th>Active</th>\r\n </tr>\r\n <tr (keyup.enter)=\"search()\" class=\"tr-search\">\r\n <th class=\"center\">\r\n <icon-add (click)=\"add()\"></icon-add>\r\n </th>\r\n <th></th>\r\n <th>\r\n <extend-input\r\n [size]=\"'small'\"\r\n [showClear]=\"true\"\r\n [(_ngModel)]=\"filter.DomainCode\"\r\n (onclickClearIcon)=\"search()\"\r\n ></extend-input>\r\n </th>\r\n <th>\r\n <extend-input\r\n [size]=\"'small'\"\r\n [showClear]=\"true\"\r\n [(_ngModel)]=\"filter.ItemCode\"\r\n (onclickClearIcon)=\"search()\"\r\n ></extend-input>\r\n </th>\r\n <th>\r\n <extend-input\r\n [size]=\"'small'\"\r\n [showClear]=\"true\"\r\n [(_ngModel)]=\"filter.ItemValue\"\r\n (onclickClearIcon)=\"search()\"\r\n ></extend-input>\r\n </th>\r\n <th></th>\r\n <th></th>\r\n <th></th>\r\n <th></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @for (row of data?.LstItem; track $index; let i = $index) {\r\n @if (selectedRow != row) {\r\n <tr (click)=\"selectedRow = row\">\r\n <td class=\"text-center\"></td>\r\n <td>{{ i + 1 + filter.PageIndex * filter.PageSize }}</td>\r\n <td>{{ row.DomainCode }}</td>\r\n <td>{{ row.ItemCode }}</td>\r\n <td>{{ row.ItemValue }}</td>\r\n <td>{{ row.OrderValue }}</td>\r\n <td>{{ row.ChildDomainCode }}</td>\r\n <td>{{ row.ParentItemCode }}</td>\r\n <td class=\"text-center\">\r\n @if (row.IsActive) {\r\n <icon-check></icon-check>\r\n }\r\n </td>\r\n </tr>\r\n } @else {\r\n <tr (keyup.enter)=\"save()\" class=\"selected\">\r\n <td class=\"text-center\">\r\n <icon-save (click)=\"save()\"></icon-save>\r\n <box [width]=\"4\"></box>\r\n <icon-delete (click)=\"delete(row)\"></icon-delete>\r\n </td>\r\n <td>{{ i + 1 + filter.PageIndex * filter.PageSize }}</td>\r\n <td>\r\n <extend-input [size]=\"'small'\" [(_ngModel)]=\"selectedRow.DomainCode\"></extend-input>\r\n </td>\r\n <td>\r\n <extend-input [size]=\"'small'\" [(_ngModel)]=\"selectedRow.ItemCode\"></extend-input>\r\n </td>\r\n <td>\r\n <extend-input [size]=\"'small'\" [(_ngModel)]=\"selectedRow.ItemValue\"></extend-input>\r\n </td>\r\n <td>\r\n <extend-input-number [size]=\"'small'\" [(_ngModel)]=\"selectedRow.OrderValue\"></extend-input-number>\r\n </td>\r\n <td>\r\n <extend-input [size]=\"'small'\" [(_ngModel)]=\"selectedRow.ChildDomainCode\"></extend-input>\r\n </td>\r\n <td>\r\n <extend-input [size]=\"'small'\" [(_ngModel)]=\"selectedRow.ParentItemCode\"></extend-input>\r\n </td>\r\n <td class=\"text-center\">\r\n <extend-checkbox [(_ngModel)]=\"selectedRow.IsActive\"></extend-checkbox>\r\n </td>\r\n </tr>\r\n }\r\n }\r\n </tbody>\r\n </nz-table>\r\n </div>\r\n</div>\r\n<div nz-flex nzJustify=\"end\">\r\n <nz-pagination\r\n [nzSize]=\"'small'\"\r\n [nzPageIndex]=\"filter.PageIndex + 1\"\r\n [nzPageSize]=\"filter.PageSize\"\r\n [nzTotal]=\"data?.TotalCount || 0\"\r\n [nzShowSizeChanger]=\"true\"\r\n [nzShowTotal]=\"showTotalTpl\"\r\n [nzPageSizeOptions]=\"AppGlobals.pageSizeOptions\"\r\n (nzPageIndexChange)=\"onQueryParamsChange($event - 1, filter.PageSize)\"\r\n (nzPageSizeChange)=\"onQueryParamsChange(filter.PageIndex, $event)\"\r\n >\r\n </nz-pagination>\r\n\r\n <ng-template #showTotalTpl let-total let-range=\"range\">\r\n {{ range[0] | number }} - {{ range[1] | number }} / {{ total | number }}\r\n </ng-template>\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$3.DecimalPipe, name: "number" }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: NzTagModule }, { kind: "ngmodule", type: NzGridModule }, { kind: "directive", type: i2.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { kind: "directive", type: i2.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "ngmodule", type: NzFlexModule }, { kind: "directive", type: i3$4.NzFlexDirective, selector: "[nz-flex],nz-flex", inputs: ["nzVertical", "nzJustify", "nzAlign", "nzGap", "nzWrap", "nzFlex"], exportAs: ["nzFlex"] }, { kind: "ngmodule", type: NzTableModule }, { kind: "component", type: i14.NzTableComponent, selector: "nz-table", inputs: ["nzTableLayout", "nzShowTotal", "nzItemRender", "nzTitle", "nzFooter", "nzNoResult", "nzPageSizeOptions", "nzVirtualItemSize", "nzVirtualMaxBufferPx", "nzVirtualMinBufferPx", "nzVirtualForTrackBy", "nzLoadingDelay", "nzPageIndex", "nzPageSize", "nzTotal", "nzWidthConfig", "nzData", "nzCustomColumn", "nzPaginationPosition", "nzScroll", "noDataVirtualHeight", "nzPaginationType", "nzFrontPagination", "nzTemplateMode", "nzShowPagination", "nzLoading", "nzOuterBordered", "nzLoadingIndicator", "nzBordered", "nzSize", "nzShowSizeChanger", "nzHideOnSinglePage", "nzShowQuickJumper", "nzSimple"], outputs: ["nzPageSizeChange", "nzPageIndexChange", "nzQueryParams", "nzCurrentPageDataChange", "nzCustomColumnChange"], exportAs: ["nzTable"] }, { kind: "directive", type: i14.NzTableCellDirective, selector: "th:not(.nz-disable-th):not([mat-cell]), td:not(.nz-disable-td):not([mat-cell])" }, { kind: "directive", type: i14.NzThMeasureDirective, selector: "th", inputs: ["nzWidth", "colspan", "colSpan", "rowspan", "rowSpan"] }, { kind: "component", type: i14.NzTheadComponent, selector: "thead:not(.ant-table-thead)", outputs: ["nzSortOrderChange"] }, { kind: "component", type: i14.NzTbodyComponent, selector: "tbody" }, { kind: "directive", type: i14.NzTrDirective, selector: "tr:not([mat-row]):not([mat-header-row]):not([nz-table-measure-row]):not([nzExpand]):not([nz-table-fixed-row])" }, { kind: "ngmodule", type: NzPaginationModule }, { kind: "component", type: i5$3.NzPaginationComponent, selector: "nz-pagination", inputs: ["nzShowTotal", "nzItemRender", "nzSize", "nzPageSizeOptions", "nzShowSizeChanger", "nzShowQuickJumper", "nzSimple", "nzDisabled", "nzResponsive", "nzHideOnSinglePage", "nzTotal", "nzPageIndex", "nzPageSize"], outputs: ["nzPageSizeChange", "nzPageIndexChange"], exportAs: ["nzPagination"] }, { kind: "component", type: IconAdd, selector: "icon-add", inputs: ["size"], outputs: ["click"] }, { kind: "component", type: IconDelete, selector: "icon-delete", inputs: ["size"], outputs: ["click"] }, { kind: "component", type: IconCheck, selector: "icon-check", inputs: ["size"], outputs: ["click"] }, { kind: "component", type: IconSave, selector: "icon-save", inputs: ["size"], outputs: ["click"] }, { kind: "component", type: ExtendInput, selector: "extend-input", inputs: ["label", "floatingLabel", "placeHolder", "labelAlign", "inputClass", "labelSpan", "labelFlex", "inputFlex", "showClear", "disabled", "readOnly", "required", "noBottom", "selectModeType", "autocomplete", "autofocus", "inputWidth", "inputHeight", "borderBottomOnly", "displayInline", "size", "lstItem", "displayField", "valueField", "formData", "controlName", "_ngModel", "isSubmited"], outputs: ["_ngModelChange", "onclickClearIcon", "onenter"] }, { kind: "component", type: ExtendInputNumber, selector: "extend-input-number", inputs: ["label", "placeHolder", "labelAlign", "floatingLabel", "hiddenUpDown", "labelSpan", "labelFlex", "inputFlex", "disabled", "required", "noBottom", "size", "min", "max", "precision", "inputWidth", "inputHeight", "borderBottomOnly", "displayInline", "isSubmited", "separatorType", "formData", "controlName", "_ngModel"], outputs: ["_ngModelChange"] }, { kind: "component", type: ExtendCheckbox, selector: "extend-checkbox", inputs: ["label", "labelSpan", "labelFlex", "paddingTop", "disabled", "formData", "controlName", "valueType", "_ngModel"], outputs: ["_ngModelChange"] }, { kind: "ngmodule", type: NzDropDownModule }, { kind: "ngmodule", type: NzButtonModule }, { kind: "component", type: Box, selector: "box", inputs: ["display", "width", "height"] }] });
6684
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.7", type: DicDomainListComponent, isStandalone: true, selector: "app-dic-domain-list", usesInheritance: true, ngImport: i0, template: "<div nz-row [nzGutter]=\"[0, 8]\">\r\n <div nz-col nzSpan=\"24\">\r\n <nz-table [nzData]=\"data?.LstItem || []\" [nzBordered]=\"true\" [nzSize]=\"'small'\" [nzFrontPagination]=\"false\">\r\n <thead>\r\n <tr>\r\n <th nzWidth=\"50px\">#</th>\r\n <th>Domain Code</th>\r\n <th>Item Code</th>\r\n <th>Item Value</th>\r\n <th>Order Value</th>\r\n <th>Child Domain Code</th>\r\n <th>Parent Item Code</th>\r\n <th>Active</th>\r\n <th>Action</th>\r\n </tr>\r\n <tr (keyup.enter)=\"search()\" class=\"tr-search\">\r\n <th></th>\r\n <th>\r\n <extend-input\r\n [size]=\"'small'\"\r\n [showClear]=\"true\"\r\n [(_ngModel)]=\"filter.DomainCode\"\r\n (onclickClearIcon)=\"search()\"\r\n ></extend-input>\r\n </th>\r\n <th>\r\n <extend-input\r\n [size]=\"'small'\"\r\n [showClear]=\"true\"\r\n [(_ngModel)]=\"filter.ItemCode\"\r\n (onclickClearIcon)=\"search()\"\r\n ></extend-input>\r\n </th>\r\n <th>\r\n <extend-input\r\n [size]=\"'small'\"\r\n [showClear]=\"true\"\r\n [(_ngModel)]=\"filter.ItemValue\"\r\n (onclickClearIcon)=\"search()\"\r\n ></extend-input>\r\n </th>\r\n <th></th>\r\n <th></th>\r\n <th></th>\r\n <th></th>\r\n <th class=\"center\">\r\n <icon-add (click)=\"add()\"></icon-add>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @for (row of data?.LstItem; track $index; let i = $index) {\r\n @if (selectedRow != row) {\r\n <tr (click)=\"selectedRow = row\">\r\n <td>{{ i + 1 + filter.PageIndex * filter.PageSize }}</td>\r\n <td>{{ row.DomainCode }}</td>\r\n <td>{{ row.ItemCode }}</td>\r\n <td>{{ row.ItemValue }}</td>\r\n <td>{{ row.OrderValue }}</td>\r\n <td>{{ row.ChildDomainCode }}</td>\r\n <td>{{ row.ParentItemCode }}</td>\r\n <td class=\"center\">\r\n @if (row.IsActive) {\r\n <icon-check></icon-check>\r\n }\r\n </td>\r\n <td class=\"center\">\r\n <icon-delete (click)=\"delete(row)\"></icon-delete>\r\n </td>\r\n </tr>\r\n } @else {\r\n <tr (keyup.enter)=\"save()\" class=\"selected\">\r\n <td>{{ i + 1 + filter.PageIndex * filter.PageSize }}</td>\r\n <td>\r\n <extend-input [size]=\"'small'\" [(_ngModel)]=\"selectedRow.DomainCode\"></extend-input>\r\n </td>\r\n <td>\r\n <extend-input [size]=\"'small'\" [(_ngModel)]=\"selectedRow.ItemCode\"></extend-input>\r\n </td>\r\n <td>\r\n <extend-input [size]=\"'small'\" [(_ngModel)]=\"selectedRow.ItemValue\"></extend-input>\r\n </td>\r\n <td>\r\n <extend-input-number [size]=\"'small'\" [(_ngModel)]=\"selectedRow.OrderValue\"></extend-input-number>\r\n </td>\r\n <td>\r\n <extend-input [size]=\"'small'\" [(_ngModel)]=\"selectedRow.ChildDomainCode\"></extend-input>\r\n </td>\r\n <td>\r\n <extend-input [size]=\"'small'\" [(_ngModel)]=\"selectedRow.ParentItemCode\"></extend-input>\r\n </td>\r\n <td class=\"center\">\r\n <extend-checkbox [(_ngModel)]=\"selectedRow.IsActive\"></extend-checkbox>\r\n </td>\r\n <td class=\"center\">\r\n <icon-save (click)=\"save()\"></icon-save>\r\n <box [width]=\"4\"></box>\r\n <icon-delete (click)=\"delete(row)\"></icon-delete>\r\n </td>\r\n </tr>\r\n }\r\n }\r\n </tbody>\r\n </nz-table>\r\n </div>\r\n <div nz-col nzSpan=\"24\">\r\n <div nz-flex nzJustify=\"end\">\r\n <nz-pagination\r\n [nzSize]=\"'small'\"\r\n [nzPageIndex]=\"filter.PageIndex + 1\"\r\n [nzPageSize]=\"filter.PageSize\"\r\n [nzTotal]=\"data?.TotalCount || 0\"\r\n [nzShowSizeChanger]=\"true\"\r\n [nzShowTotal]=\"showTotalTpl\"\r\n [nzPageSizeOptions]=\"AppGlobals.pageSizeOptions\"\r\n (nzPageIndexChange)=\"onQueryParamsChange($event - 1, filter.PageSize)\"\r\n (nzPageSizeChange)=\"onQueryParamsChange(filter.PageIndex, $event)\"\r\n >\r\n </nz-pagination>\r\n\r\n <ng-template #showTotalTpl let-total let-range=\"range\">\r\n {{ range[0] | number }} - {{ range[1] | number }} / {{ total | number }}\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$3.DecimalPipe, name: "number" }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: NzTagModule }, { kind: "ngmodule", type: NzGridModule }, { kind: "directive", type: i2.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { kind: "directive", type: i2.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "ngmodule", type: NzFlexModule }, { kind: "directive", type: i3$4.NzFlexDirective, selector: "[nz-flex],nz-flex", inputs: ["nzVertical", "nzJustify", "nzAlign", "nzGap", "nzWrap", "nzFlex"], exportAs: ["nzFlex"] }, { kind: "ngmodule", type: NzTableModule }, { kind: "component", type: i14.NzTableComponent, selector: "nz-table", inputs: ["nzTableLayout", "nzShowTotal", "nzItemRender", "nzTitle", "nzFooter", "nzNoResult", "nzPageSizeOptions", "nzVirtualItemSize", "nzVirtualMaxBufferPx", "nzVirtualMinBufferPx", "nzVirtualForTrackBy", "nzLoadingDelay", "nzPageIndex", "nzPageSize", "nzTotal", "nzWidthConfig", "nzData", "nzCustomColumn", "nzPaginationPosition", "nzScroll", "noDataVirtualHeight", "nzPaginationType", "nzFrontPagination", "nzTemplateMode", "nzShowPagination", "nzLoading", "nzOuterBordered", "nzLoadingIndicator", "nzBordered", "nzSize", "nzShowSizeChanger", "nzHideOnSinglePage", "nzShowQuickJumper", "nzSimple"], outputs: ["nzPageSizeChange", "nzPageIndexChange", "nzQueryParams", "nzCurrentPageDataChange", "nzCustomColumnChange"], exportAs: ["nzTable"] }, { kind: "directive", type: i14.NzTableCellDirective, selector: "th:not(.nz-disable-th):not([mat-cell]), td:not(.nz-disable-td):not([mat-cell])" }, { kind: "directive", type: i14.NzThMeasureDirective, selector: "th", inputs: ["nzWidth", "colspan", "colSpan", "rowspan", "rowSpan"] }, { kind: "component", type: i14.NzTheadComponent, selector: "thead:not(.ant-table-thead)", outputs: ["nzSortOrderChange"] }, { kind: "component", type: i14.NzTbodyComponent, selector: "tbody" }, { kind: "directive", type: i14.NzTrDirective, selector: "tr:not([mat-row]):not([mat-header-row]):not([nz-table-measure-row]):not([nzExpand]):not([nz-table-fixed-row])" }, { kind: "ngmodule", type: NzPaginationModule }, { kind: "component", type: i5$3.NzPaginationComponent, selector: "nz-pagination", inputs: ["nzShowTotal", "nzItemRender", "nzSize", "nzPageSizeOptions", "nzShowSizeChanger", "nzShowQuickJumper", "nzSimple", "nzDisabled", "nzResponsive", "nzHideOnSinglePage", "nzTotal", "nzPageIndex", "nzPageSize"], outputs: ["nzPageSizeChange", "nzPageIndexChange"], exportAs: ["nzPagination"] }, { kind: "component", type: IconAdd, selector: "icon-add", inputs: ["size"], outputs: ["click"] }, { kind: "component", type: IconDelete, selector: "icon-delete", inputs: ["size"], outputs: ["click"] }, { kind: "component", type: IconCheck, selector: "icon-check", inputs: ["size"], outputs: ["click"] }, { kind: "component", type: IconSave, selector: "icon-save", inputs: ["size"], outputs: ["click"] }, { kind: "component", type: ExtendInput, selector: "extend-input", inputs: ["label", "floatingLabel", "placeHolder", "labelAlign", "inputClass", "labelSpan", "labelFlex", "inputFlex", "showClear", "disabled", "readOnly", "required", "noBottom", "selectModeType", "autocomplete", "autofocus", "inputWidth", "inputHeight", "borderBottomOnly", "displayInline", "size", "lstItem", "displayField", "valueField", "formData", "controlName", "_ngModel", "isSubmited"], outputs: ["_ngModelChange", "onclickClearIcon", "onenter"] }, { kind: "component", type: ExtendInputNumber, selector: "extend-input-number", inputs: ["label", "placeHolder", "labelAlign", "floatingLabel", "hiddenUpDown", "labelSpan", "labelFlex", "inputFlex", "disabled", "required", "noBottom", "size", "min", "max", "precision", "inputWidth", "inputHeight", "borderBottomOnly", "displayInline", "isSubmited", "separatorType", "formData", "controlName", "_ngModel"], outputs: ["_ngModelChange"] }, { kind: "component", type: ExtendCheckbox, selector: "extend-checkbox", inputs: ["label", "labelSpan", "labelFlex", "paddingTop", "disabled", "formData", "controlName", "valueType", "_ngModel"], outputs: ["_ngModelChange"] }, { kind: "ngmodule", type: NzDropDownModule }, { kind: "ngmodule", type: NzButtonModule }, { kind: "component", type: Box, selector: "box", inputs: ["display", "width", "height"] }] });
6684
6685
  }
6685
6686
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: DicDomainListComponent, decorators: [{
6686
6687
  type: Component,
@@ -6703,7 +6704,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImpor
6703
6704
  NzDropDownModule,
6704
6705
  NzButtonModule,
6705
6706
  Box,
6706
- ], template: "<div nz-row [nzGutter]=\"[0, 8]\">\r\n <div nz-col nzSpan=\"24\">\r\n <nz-table [nzData]=\"data?.LstItem || []\" [nzBordered]=\"true\" [nzSize]=\"'small'\" [nzFrontPagination]=\"false\">\r\n <thead>\r\n <tr>\r\n <th nzWidth=\"50px\">#</th>\r\n <th>#</th>\r\n <th>Domain Code</th>\r\n <th>Item Code</th>\r\n <th>Item Value</th>\r\n <th>Order Value</th>\r\n <th>Child Domain Code</th>\r\n <th>Parent Item Code</th>\r\n <th>Active</th>\r\n </tr>\r\n <tr (keyup.enter)=\"search()\" class=\"tr-search\">\r\n <th class=\"center\">\r\n <icon-add (click)=\"add()\"></icon-add>\r\n </th>\r\n <th></th>\r\n <th>\r\n <extend-input\r\n [size]=\"'small'\"\r\n [showClear]=\"true\"\r\n [(_ngModel)]=\"filter.DomainCode\"\r\n (onclickClearIcon)=\"search()\"\r\n ></extend-input>\r\n </th>\r\n <th>\r\n <extend-input\r\n [size]=\"'small'\"\r\n [showClear]=\"true\"\r\n [(_ngModel)]=\"filter.ItemCode\"\r\n (onclickClearIcon)=\"search()\"\r\n ></extend-input>\r\n </th>\r\n <th>\r\n <extend-input\r\n [size]=\"'small'\"\r\n [showClear]=\"true\"\r\n [(_ngModel)]=\"filter.ItemValue\"\r\n (onclickClearIcon)=\"search()\"\r\n ></extend-input>\r\n </th>\r\n <th></th>\r\n <th></th>\r\n <th></th>\r\n <th></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @for (row of data?.LstItem; track $index; let i = $index) {\r\n @if (selectedRow != row) {\r\n <tr (click)=\"selectedRow = row\">\r\n <td class=\"text-center\"></td>\r\n <td>{{ i + 1 + filter.PageIndex * filter.PageSize }}</td>\r\n <td>{{ row.DomainCode }}</td>\r\n <td>{{ row.ItemCode }}</td>\r\n <td>{{ row.ItemValue }}</td>\r\n <td>{{ row.OrderValue }}</td>\r\n <td>{{ row.ChildDomainCode }}</td>\r\n <td>{{ row.ParentItemCode }}</td>\r\n <td class=\"text-center\">\r\n @if (row.IsActive) {\r\n <icon-check></icon-check>\r\n }\r\n </td>\r\n </tr>\r\n } @else {\r\n <tr (keyup.enter)=\"save()\" class=\"selected\">\r\n <td class=\"text-center\">\r\n <icon-save (click)=\"save()\"></icon-save>\r\n <box [width]=\"4\"></box>\r\n <icon-delete (click)=\"delete(row)\"></icon-delete>\r\n </td>\r\n <td>{{ i + 1 + filter.PageIndex * filter.PageSize }}</td>\r\n <td>\r\n <extend-input [size]=\"'small'\" [(_ngModel)]=\"selectedRow.DomainCode\"></extend-input>\r\n </td>\r\n <td>\r\n <extend-input [size]=\"'small'\" [(_ngModel)]=\"selectedRow.ItemCode\"></extend-input>\r\n </td>\r\n <td>\r\n <extend-input [size]=\"'small'\" [(_ngModel)]=\"selectedRow.ItemValue\"></extend-input>\r\n </td>\r\n <td>\r\n <extend-input-number [size]=\"'small'\" [(_ngModel)]=\"selectedRow.OrderValue\"></extend-input-number>\r\n </td>\r\n <td>\r\n <extend-input [size]=\"'small'\" [(_ngModel)]=\"selectedRow.ChildDomainCode\"></extend-input>\r\n </td>\r\n <td>\r\n <extend-input [size]=\"'small'\" [(_ngModel)]=\"selectedRow.ParentItemCode\"></extend-input>\r\n </td>\r\n <td class=\"text-center\">\r\n <extend-checkbox [(_ngModel)]=\"selectedRow.IsActive\"></extend-checkbox>\r\n </td>\r\n </tr>\r\n }\r\n }\r\n </tbody>\r\n </nz-table>\r\n </div>\r\n</div>\r\n<div nz-flex nzJustify=\"end\">\r\n <nz-pagination\r\n [nzSize]=\"'small'\"\r\n [nzPageIndex]=\"filter.PageIndex + 1\"\r\n [nzPageSize]=\"filter.PageSize\"\r\n [nzTotal]=\"data?.TotalCount || 0\"\r\n [nzShowSizeChanger]=\"true\"\r\n [nzShowTotal]=\"showTotalTpl\"\r\n [nzPageSizeOptions]=\"AppGlobals.pageSizeOptions\"\r\n (nzPageIndexChange)=\"onQueryParamsChange($event - 1, filter.PageSize)\"\r\n (nzPageSizeChange)=\"onQueryParamsChange(filter.PageIndex, $event)\"\r\n >\r\n </nz-pagination>\r\n\r\n <ng-template #showTotalTpl let-total let-range=\"range\">\r\n {{ range[0] | number }} - {{ range[1] | number }} / {{ total | number }}\r\n </ng-template>\r\n</div>\r\n" }]
6707
+ ], template: "<div nz-row [nzGutter]=\"[0, 8]\">\r\n <div nz-col nzSpan=\"24\">\r\n <nz-table [nzData]=\"data?.LstItem || []\" [nzBordered]=\"true\" [nzSize]=\"'small'\" [nzFrontPagination]=\"false\">\r\n <thead>\r\n <tr>\r\n <th nzWidth=\"50px\">#</th>\r\n <th>Domain Code</th>\r\n <th>Item Code</th>\r\n <th>Item Value</th>\r\n <th>Order Value</th>\r\n <th>Child Domain Code</th>\r\n <th>Parent Item Code</th>\r\n <th>Active</th>\r\n <th>Action</th>\r\n </tr>\r\n <tr (keyup.enter)=\"search()\" class=\"tr-search\">\r\n <th></th>\r\n <th>\r\n <extend-input\r\n [size]=\"'small'\"\r\n [showClear]=\"true\"\r\n [(_ngModel)]=\"filter.DomainCode\"\r\n (onclickClearIcon)=\"search()\"\r\n ></extend-input>\r\n </th>\r\n <th>\r\n <extend-input\r\n [size]=\"'small'\"\r\n [showClear]=\"true\"\r\n [(_ngModel)]=\"filter.ItemCode\"\r\n (onclickClearIcon)=\"search()\"\r\n ></extend-input>\r\n </th>\r\n <th>\r\n <extend-input\r\n [size]=\"'small'\"\r\n [showClear]=\"true\"\r\n [(_ngModel)]=\"filter.ItemValue\"\r\n (onclickClearIcon)=\"search()\"\r\n ></extend-input>\r\n </th>\r\n <th></th>\r\n <th></th>\r\n <th></th>\r\n <th></th>\r\n <th class=\"center\">\r\n <icon-add (click)=\"add()\"></icon-add>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @for (row of data?.LstItem; track $index; let i = $index) {\r\n @if (selectedRow != row) {\r\n <tr (click)=\"selectedRow = row\">\r\n <td>{{ i + 1 + filter.PageIndex * filter.PageSize }}</td>\r\n <td>{{ row.DomainCode }}</td>\r\n <td>{{ row.ItemCode }}</td>\r\n <td>{{ row.ItemValue }}</td>\r\n <td>{{ row.OrderValue }}</td>\r\n <td>{{ row.ChildDomainCode }}</td>\r\n <td>{{ row.ParentItemCode }}</td>\r\n <td class=\"center\">\r\n @if (row.IsActive) {\r\n <icon-check></icon-check>\r\n }\r\n </td>\r\n <td class=\"center\">\r\n <icon-delete (click)=\"delete(row)\"></icon-delete>\r\n </td>\r\n </tr>\r\n } @else {\r\n <tr (keyup.enter)=\"save()\" class=\"selected\">\r\n <td>{{ i + 1 + filter.PageIndex * filter.PageSize }}</td>\r\n <td>\r\n <extend-input [size]=\"'small'\" [(_ngModel)]=\"selectedRow.DomainCode\"></extend-input>\r\n </td>\r\n <td>\r\n <extend-input [size]=\"'small'\" [(_ngModel)]=\"selectedRow.ItemCode\"></extend-input>\r\n </td>\r\n <td>\r\n <extend-input [size]=\"'small'\" [(_ngModel)]=\"selectedRow.ItemValue\"></extend-input>\r\n </td>\r\n <td>\r\n <extend-input-number [size]=\"'small'\" [(_ngModel)]=\"selectedRow.OrderValue\"></extend-input-number>\r\n </td>\r\n <td>\r\n <extend-input [size]=\"'small'\" [(_ngModel)]=\"selectedRow.ChildDomainCode\"></extend-input>\r\n </td>\r\n <td>\r\n <extend-input [size]=\"'small'\" [(_ngModel)]=\"selectedRow.ParentItemCode\"></extend-input>\r\n </td>\r\n <td class=\"center\">\r\n <extend-checkbox [(_ngModel)]=\"selectedRow.IsActive\"></extend-checkbox>\r\n </td>\r\n <td class=\"center\">\r\n <icon-save (click)=\"save()\"></icon-save>\r\n <box [width]=\"4\"></box>\r\n <icon-delete (click)=\"delete(row)\"></icon-delete>\r\n </td>\r\n </tr>\r\n }\r\n }\r\n </tbody>\r\n </nz-table>\r\n </div>\r\n <div nz-col nzSpan=\"24\">\r\n <div nz-flex nzJustify=\"end\">\r\n <nz-pagination\r\n [nzSize]=\"'small'\"\r\n [nzPageIndex]=\"filter.PageIndex + 1\"\r\n [nzPageSize]=\"filter.PageSize\"\r\n [nzTotal]=\"data?.TotalCount || 0\"\r\n [nzShowSizeChanger]=\"true\"\r\n [nzShowTotal]=\"showTotalTpl\"\r\n [nzPageSizeOptions]=\"AppGlobals.pageSizeOptions\"\r\n (nzPageIndexChange)=\"onQueryParamsChange($event - 1, filter.PageSize)\"\r\n (nzPageSizeChange)=\"onQueryParamsChange(filter.PageIndex, $event)\"\r\n >\r\n </nz-pagination>\r\n\r\n <ng-template #showTotalTpl let-total let-range=\"range\">\r\n {{ range[0] | number }} - {{ range[1] | number }} / {{ total | number }}\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
6707
6708
  }] });
6708
6709
 
6709
6710
  class DicDomainSelectComponent {
@@ -6821,7 +6822,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImpor
6821
6822
  type: Input
6822
6823
  }] } });
6823
6824
 
6824
- const URLs$6 = {
6825
+ const URLs$7 = {
6825
6826
  getById: '/api/file/GetById',
6826
6827
  getAll: '/api/file/GetAll',
6827
6828
  getList: '/api/file/GetList',
@@ -6835,13 +6836,13 @@ class FileService extends HTTPService {
6835
6836
  commonService = inject(CommonService);
6836
6837
  getById(id) {
6837
6838
  const params = new HttpParams().append('id', id);
6838
- return this.postParams(AppGlobals.apiEndpoint + URLs$6.getById, params);
6839
+ return this.postParams(AppGlobals.apiEndpoint + URLs$7.getById, params);
6839
6840
  }
6840
6841
  getAll() {
6841
- return this.post(AppGlobals.apiEndpoint + URLs$6.getAll);
6842
+ return this.post(AppGlobals.apiEndpoint + URLs$7.getAll);
6842
6843
  }
6843
6844
  getList(filter) {
6844
- return this.postData(AppGlobals.apiEndpoint + URLs$6.getList, filter);
6845
+ return this.postData(AppGlobals.apiEndpoint + URLs$7.getList, filter);
6845
6846
  }
6846
6847
  getPaging(filter) {
6847
6848
  return this.commonService.ESP({
@@ -6850,11 +6851,11 @@ class FileService extends HTTPService {
6850
6851
  });
6851
6852
  }
6852
6853
  addOrEdit(obj) {
6853
- return this.postData(AppGlobals.apiEndpoint + URLs$6.addOrEdit, obj);
6854
+ return this.postData(AppGlobals.apiEndpoint + URLs$7.addOrEdit, obj);
6854
6855
  }
6855
6856
  delete(id) {
6856
6857
  const params = new HttpParams().append('id', id);
6857
- return this.postParams(AppGlobals.apiEndpoint + URLs$6.delete, params);
6858
+ return this.postParams(AppGlobals.apiEndpoint + URLs$7.delete, params);
6858
6859
  }
6859
6860
  downloadFile(id) {
6860
6861
  const params = new HttpParams().append('id', id);
@@ -6896,7 +6897,7 @@ class FileService extends HTTPService {
6896
6897
  });
6897
6898
  }
6898
6899
  addFileWithRef(obj) {
6899
- return this.postData(AppGlobals.apiEndpoint + URLs$6.addFileWithRef, obj);
6900
+ return this.postData(AppGlobals.apiEndpoint + URLs$7.addFileWithRef, obj);
6900
6901
  }
6901
6902
  getAnhWithRef(Ref_Table, Ref_Id) {
6902
6903
  return this.commonService.ESP({
@@ -6905,7 +6906,7 @@ class FileService extends HTTPService {
6905
6906
  });
6906
6907
  }
6907
6908
  moveFileToDisk(obj) {
6908
- return this.postData(AppGlobals.apiEndpoint + URLs$6.moveFileToDisk, obj);
6909
+ return this.postData(AppGlobals.apiEndpoint + URLs$7.moveFileToDisk, obj);
6909
6910
  }
6910
6911
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: FileService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
6911
6912
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: FileService, providedIn: 'root' });
@@ -7358,7 +7359,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImpor
7358
7359
  }]
7359
7360
  }] });
7360
7361
 
7361
- const URLs$5 = {
7362
+ const URLs$6 = {
7362
7363
  getById: '/api/App_Menu/GetById',
7363
7364
  getAll: '/api/App_Menu/GetAll',
7364
7365
  getList: '/api/App_Menu/GetList',
@@ -7371,29 +7372,29 @@ const URLs$5 = {
7371
7372
  class MenuService extends HTTPService {
7372
7373
  getById(id) {
7373
7374
  let pr = new HttpParams().append('id', id);
7374
- return this.postParams(AppGlobals.apiEndpoint + URLs$5.getById, pr);
7375
+ return this.postParams(AppGlobals.apiEndpoint + URLs$6.getById, pr);
7375
7376
  }
7376
7377
  getAll() {
7377
- return this.post(AppGlobals.apiEndpoint + URLs$5.getAll);
7378
+ return this.post(AppGlobals.apiEndpoint + URLs$6.getAll);
7378
7379
  }
7379
7380
  getList(filter) {
7380
- return this.postData(AppGlobals.apiEndpoint + URLs$5.getList, filter);
7381
+ return this.postData(AppGlobals.apiEndpoint + URLs$6.getList, filter);
7381
7382
  }
7382
7383
  getPaging(filter) {
7383
- return this.postData(AppGlobals.apiEndpoint + URLs$5.getPaging, filter);
7384
+ return this.postData(AppGlobals.apiEndpoint + URLs$6.getPaging, filter);
7384
7385
  }
7385
7386
  addOrEdit(obj) {
7386
- return this.postData(AppGlobals.apiEndpoint + URLs$5.addOrEdit, obj);
7387
+ return this.postData(AppGlobals.apiEndpoint + URLs$6.addOrEdit, obj);
7387
7388
  }
7388
7389
  addOrEditInListComponent(obj) {
7389
- return this.postData(AppGlobals.apiEndpoint + URLs$5.addOrEditInListComponent, obj);
7390
+ return this.postData(AppGlobals.apiEndpoint + URLs$6.addOrEditInListComponent, obj);
7390
7391
  }
7391
7392
  delete(id) {
7392
7393
  const params = new HttpParams().append('id', id);
7393
- return this.postParams(AppGlobals.apiEndpoint + URLs$5.delete, params);
7394
+ return this.postParams(AppGlobals.apiEndpoint + URLs$6.delete, params);
7394
7395
  }
7395
7396
  getTree() {
7396
- return this.post(AppGlobals.apiEndpoint + URLs$5.getTree);
7397
+ return this.post(AppGlobals.apiEndpoint + URLs$6.getTree);
7397
7398
  }
7398
7399
  getRoleMenuRefByMenuId(menuId) {
7399
7400
  let pr = new HttpParams().append('menuId', menuId);
@@ -7523,7 +7524,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImpor
7523
7524
  ], template: "<div nz-row [nzGutter]=\"[0, 8]\">\r\n <div nz-col nzSpan=\"24\">\r\n <div nz-flex nzJustify=\"end\">\r\n <div nz-flex nzGap=\"small\">\r\n <button-add (click)=\"edit(null)\"></button-add>\r\n <button-search (click)=\"search()\"></button-search>\r\n </div>\r\n </div>\r\n </div>\r\n <div nz-col nzSpan=\"24\">\r\n <nz-table\r\n #table\r\n [nzData]=\"this.data?.LstItem || []\"\r\n [nzBordered]=\"true\"\r\n [nzSize]=\"'small'\"\r\n [nzFrontPagination]=\"false\"\r\n >\r\n <ng-template #showTotalTpl let-total let-range=\"range\">\r\n {{ range[0] | number }} - {{ range[1] | number }} / {{ total | number }}\r\n </ng-template>\r\n <thead>\r\n <tr>\r\n <th nzWidth=\"75px\">#</th>\r\n <th nzWidth=\"50px\">#</th>\r\n <th nzCustomFilter>T\u00EAn</th>\r\n <th>URL</th>\r\n <th>Icon</th>\r\n <th nzWidth=\"90px\">Order</th>\r\n <th>Menu cha</th>\r\n <th nzWidth=\"110px\">Header menu</th>\r\n <th nzWidth=\"80px\">Hi\u1EC7u l\u1EF1c</th>\r\n </tr>\r\n <tr class=\"tr-search\" (keyup.enter)=\"search()\">\r\n <th class=\"center\">\r\n <icon-add (click)=\"add()\"></icon-add>\r\n </th>\r\n <th></th>\r\n <th>\r\n <extend-input\r\n [size]=\"'small'\"\r\n [showClear]=\"true\"\r\n [(_ngModel)]=\"filter.Name\"\r\n (onclickClearIcon)=\"search()\"\r\n ></extend-input>\r\n </th>\r\n <th></th>\r\n <th></th>\r\n <th></th>\r\n <th>\r\n <extend-input\r\n [size]=\"'small'\"\r\n [showClear]=\"true\"\r\n [(_ngModel)]=\"filter.ParentName\"\r\n (onclickClearIcon)=\"search()\"\r\n ></extend-input>\r\n </th>\r\n <th></th>\r\n <th></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @for (row of table.data; track $index; let i = $index) {\r\n @if (selectedMenu != row) {\r\n <tr (click)=\"selectedMenu = row\">\r\n <td class=\"text-center\">\r\n <icon-edit (click)=\"edit(row)\"></icon-edit>\r\n <box [width]=\"4\"></box>\r\n <icon-delete (click)=\"delete(row)\"></icon-delete>\r\n </td>\r\n <td>{{ i + 1 + filter.PageIndex * filter.PageSize }}</td>\r\n <td>{{ row.TreeNodeName }}</td>\r\n <td>{{ row.Url }}</td>\r\n <td>{{ row.Icon }}</td>\r\n <td>{{ row.OrderValue }}</td>\r\n <td>{{ row.ParentName }}</td>\r\n <td class=\"text-center\">\r\n @if (row.IsHeaderMenu) {\r\n <icon-check></icon-check>\r\n }\r\n </td>\r\n <td class=\"text-center\">\r\n @if (row.IsActive) {\r\n <icon-check></icon-check>\r\n }\r\n </td>\r\n </tr>\r\n } @else {\r\n <tr (keyup.enter)=\"save()\" class=\"selected\">\r\n <td class=\"text-center\">\r\n <icon-save (click)=\"save()\"></icon-save>\r\n <box [width]=\"4\"></box>\r\n <icon-delete (click)=\"delete(row)\"></icon-delete>\r\n </td>\r\n <td>{{ i + 1 + filter.PageIndex * filter.PageSize }}</td>\r\n <td>\r\n <extend-input [size]=\"'small'\" [(_ngModel)]=\"selectedMenu.Name\"></extend-input>\r\n </td>\r\n <td>\r\n <extend-input [size]=\"'small'\" [(_ngModel)]=\"selectedMenu.Url\"></extend-input>\r\n </td>\r\n <td>\r\n <extend-input [size]=\"'small'\" [(_ngModel)]=\"selectedMenu.Icon\"></extend-input>\r\n </td>\r\n <td>\r\n <extend-input-number [size]=\"'small'\" [(_ngModel)]=\"selectedMenu.OrderValue\"></extend-input-number>\r\n </td>\r\n <td>\r\n <nz-tree-select\r\n class=\"full-width\"\r\n [nzNodes]=\"treeMenu\"\r\n nzShowSearch\r\n nzPlaceHolder=\" \"\r\n [nzSize]=\"'small'\"\r\n [nzDropdownMatchSelectWidth]=\"false\"\r\n [(ngModel)]=\"selectedMenu.ParentId\"\r\n ></nz-tree-select>\r\n </td>\r\n <td class=\"text-center\">\r\n <extend-checkbox [(_ngModel)]=\"selectedMenu.IsHeaderMenu\"></extend-checkbox>\r\n </td>\r\n <td class=\"text-center\">\r\n <extend-checkbox [(_ngModel)]=\"selectedMenu.IsActive\"></extend-checkbox>\r\n </td>\r\n </tr>\r\n }\r\n }\r\n </tbody>\r\n </nz-table>\r\n </div>\r\n <div nz-col nzSpan=\"24\">\r\n <div nz-flex nzJustify=\"end\">\r\n <nz-pagination\r\n [nzSize]=\"'small'\"\r\n [nzPageIndex]=\"filter.PageIndex + 1\"\r\n [nzPageSize]=\"filter.PageSize\"\r\n [nzTotal]=\"data?.TotalCount || 0\"\r\n [nzShowSizeChanger]=\"true\"\r\n [nzShowTotal]=\"showTotalTpl\"\r\n [nzPageSizeOptions]=\"AppGlobals.pageSizeOptions\"\r\n (nzPageIndexChange)=\"onQueryParamsChange($event - 1, filter.PageSize)\"\r\n (nzPageSizeChange)=\"onQueryParamsChange(filter.PageIndex, $event)\"\r\n >\r\n </nz-pagination>\r\n\r\n <ng-template #showTotalTpl let-total let-range=\"range\">\r\n {{ range[0] | number }} - {{ range[1] | number }} / {{ total | number }}\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
7524
7525
  }] });
7525
7526
 
7526
- const URLs$4 = {
7527
+ const URLs$5 = {
7527
7528
  getById: '/api/App_Role/GetById',
7528
7529
  getAll: '/api/App_Role/GetAll',
7529
7530
  getList: '/api/App_Role/GetList',
@@ -7535,23 +7536,23 @@ class RoleService extends HTTPService {
7535
7536
  commonService = inject(CommonService);
7536
7537
  getById(id) {
7537
7538
  let pr = new HttpParams().append('id', id);
7538
- return this.postParams(AppGlobals.apiEndpoint + URLs$4.getById, pr);
7539
+ return this.postParams(AppGlobals.apiEndpoint + URLs$5.getById, pr);
7539
7540
  }
7540
7541
  getAll() {
7541
- return this.post(AppGlobals.apiEndpoint + URLs$4.getAll);
7542
+ return this.post(AppGlobals.apiEndpoint + URLs$5.getAll);
7542
7543
  }
7543
7544
  getList(filter) {
7544
- return this.postData(AppGlobals.apiEndpoint + URLs$4.getList, filter);
7545
+ return this.postData(AppGlobals.apiEndpoint + URLs$5.getList, filter);
7545
7546
  }
7546
7547
  getPaging(filter) {
7547
- return this.postData(AppGlobals.apiEndpoint + URLs$4.getPaging, filter);
7548
+ return this.postData(AppGlobals.apiEndpoint + URLs$5.getPaging, filter);
7548
7549
  }
7549
7550
  addOrEdit(obj) {
7550
- return this.postData(AppGlobals.apiEndpoint + URLs$4.addOrEdit, obj);
7551
+ return this.postData(AppGlobals.apiEndpoint + URLs$5.addOrEdit, obj);
7551
7552
  }
7552
7553
  delete(id) {
7553
7554
  const params = new HttpParams().append('id', id);
7554
- return this.postParams(AppGlobals.apiEndpoint + URLs$4.delete, params);
7555
+ return this.postParams(AppGlobals.apiEndpoint + URLs$5.delete, params);
7555
7556
  }
7556
7557
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: RoleService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
7557
7558
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: RoleService, providedIn: 'root' });
@@ -7818,7 +7819,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImpor
7818
7819
  ], template: "<form nz-form [formGroup]=\"formData\">\r\n <!-- BUTTONS -->\r\n <div nz-col [nzSpan]=\"24\">\r\n <div nz-flex nzGap=\"small\" nzJustify=\"end\">\r\n <button-save (click)=\"save()\"></button-save>\r\n <button-delete *ngIf=\"formData.controls.App_Menu_Id.value\" (click)=\"delete()\"></button-delete>\r\n <button-back (click)=\"goto('/admin/menu')\"></button-back>\r\n </div>\r\n </div>\r\n\r\n <nz-divider></nz-divider>\r\n\r\n <div nz-row [nzGutter]=\"['0', '16']\">\r\n <div nz-col [nzMd]=\"12\" [nzSm]=\"24\">\r\n <nz-form-item>\r\n <nz-form-label [nzSpan]=\"8\" nzLabelAlign=\"left\" nzNoColon=\"true\"> Menu cha </nz-form-label>\r\n <nz-form-control [nzSpan]=\"16\">\r\n <!-- <nz-select #parentSelect nzShowSearch nzAllowClear formControlName=\"ParentId\">\r\n @for (item of allMenu; track $index) {\r\n <nz-option [nzLabel]=\"item.TreeNodeName\" [nzValue]=\"item.App_Menu_Id\"></nz-option>\r\n }\r\n </nz-select> -->\r\n <nz-tree-select\r\n class=\"full-width\"\r\n [nzNodes]=\"treeMenu\"\r\n nzShowSearch\r\n nzPlaceHolder=\" \"\r\n formControlName=\"ParentId\"\r\n ></nz-tree-select>\r\n </nz-form-control>\r\n </nz-form-item>\r\n <nz-form-item>\r\n <nz-form-label [nzSpan]=\"8\" nzFor=\"Name\" nzLabelAlign=\"left\" nzNoColon=\"true\" nzRequired> T\u00EAn </nz-form-label>\r\n <nz-form-control [nzSpan]=\"16\" [nzErrorTip]=\"'REQUIRED_FIELD' | translate\">\r\n <input nz-input formControlName=\"Name\" id=\"Name\" />\r\n </nz-form-control>\r\n </nz-form-item>\r\n <nz-form-item>\r\n <nz-form-label [nzSpan]=\"8\" nzFor=\"Url\" nzLabelAlign=\"left\" nzNoColon=\"true\"> URL </nz-form-label>\r\n <nz-form-control [nzSpan]=\"16\" [nzErrorTip]=\"'REQUIRED_FIELD' | translate\">\r\n <input nz-input formControlName=\"Url\" id=\"Url\" />\r\n </nz-form-control>\r\n </nz-form-item>\r\n <nz-form-item>\r\n <nz-form-label [nzSpan]=\"8\" nzFor=\"Icon\" nzLabelAlign=\"left\" nzNoColon=\"true\"> Icon </nz-form-label>\r\n <nz-form-control [nzSpan]=\"16\" [nzErrorTip]=\"'REQUIRED_FIELD' | translate\">\r\n <input nz-input formControlName=\"Icon\" id=\"Icon\" />\r\n </nz-form-control>\r\n </nz-form-item>\r\n <nz-form-item>\r\n <nz-form-label [nzSpan]=\"8\" nzFor=\"OrderValue\" nzLabelAlign=\"left\" nzNoColon=\"true\">Order value</nz-form-label>\r\n <nz-form-control [nzSpan]=\"16\">\r\n <nz-input-number formControlName=\"OrderValue\" />\r\n </nz-form-control>\r\n </nz-form-item>\r\n <div nz-row>\r\n <div nz-col [nzSpan]=\"8\"></div>\r\n <div nz-col [nzSpan]=\"16\">\r\n <label nz-checkbox formControlName=\"IsActive\">Active</label>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- C\u1ED8T PH\u1EA2I: QU\u1EA2N L\u00DD ROLE -->\r\n <div nz-col [nzMd]=\"12\" [nzSm]=\"24\">\r\n <div style=\"border: 1px solid #d9d9d9; border-radius: 4px; padding: 16px; height: 100%; margin-left: 10px\">\r\n <h4 style=\"margin-top: 0; margin-bottom: 16px\">\r\n <span nz-icon nzType=\"team\" style=\"margin-right: 8px\"></span>\r\n Qu\u1EA3n l\u00FD Role\r\n </h4>\r\n\r\n <!-- Hi\u1EC3n th\u1ECB khi \u0110ANG T\u1EA0O M\u1EDAI (ch\u01B0a c\u00F3 App_Menu_Id) -->\r\n <nz-alert\r\n *ngIf=\"!formData.controls.App_Menu_Id.value\"\r\n nzType=\"info\"\r\n nzMessage=\"Vui l\u00F2ng l\u01B0u Menu tr\u01B0\u1EDBc\"\r\n nzDescription=\"B\u1EA1n c\u1EA7n l\u01B0u Menu tr\u01B0\u1EDBc, sau \u0111\u00F3 m\u1EDBi c\u00F3 th\u1EC3 th\u00EAm Role.\"\r\n nzShowIcon\r\n ></nz-alert>\r\n\r\n <!-- Hi\u1EC3n th\u1ECB khi \u0110ANG C\u1EACP NH\u1EACT (\u0111\u00E3 c\u00F3 App_Menu_Id) -->\r\n <div *ngIf=\"formData.controls.App_Menu_Id.value\">\r\n <div nz-flex [nzJustify]=\"'space-between'\" [nzAlign]=\"'center'\" style=\"margin-bottom: 12px\">\r\n <span style=\"font-weight: 500\">Roles ({{ lstRoleMenu.length }})</span>\r\n <button nz-button nzType=\"primary\" nzSize=\"small\" (click)=\"openAddRoleModal()\">\r\n <span nz-icon nzType=\"plus\"></span>\r\n Th\u00EAm\r\n </button>\r\n </div>\r\n\r\n <div style=\"max-height: 400px; overflow-y: auto\">\r\n <nz-table\r\n #roleTable\r\n [nzData]=\"lstRoleMenu\"\r\n [nzSize]=\"'small'\"\r\n [nzShowPagination]=\"false\"\r\n [nzLoading]=\"isLoadingRoles\"\r\n >\r\n <thead>\r\n <tr>\r\n <th nzWidth=\"40px\">STT</th>\r\n <th>Role</th>\r\n <th nzWidth=\"50px\" nzAlign=\"center\" nz-tooltip nzTooltipTitle=\"Xem\">\r\n <span nz-icon nzType=\"eye\" nzTheme=\"outline\"></span>\r\n </th>\r\n <th nzWidth=\"50px\" nzAlign=\"center\" nz-tooltip nzTooltipTitle=\"S\u1EEDa\">\r\n <span nz-icon nzType=\"edit\" nzTheme=\"outline\"></span>\r\n </th>\r\n <th nzWidth=\"50px\" nzAlign=\"center\"></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let item of roleTable.data; let i = index\">\r\n <td>{{ i + 1 }}</td>\r\n <td>\r\n <div style=\"font-weight: 500\">{{ item.RoleName }}</div>\r\n <div style=\"font-size: 12px; color: #888\">{{ item.RoleCode }}</div>\r\n </td>\r\n <td nzAlign=\"center\">\r\n <label nz-checkbox [(ngModel)]=\"item.HasViewPermission\" [ngModelOptions]=\"{ standalone: true }\">\r\n </label>\r\n </td>\r\n <td nzAlign=\"center\">\r\n <label nz-checkbox [(ngModel)]=\"item.HasEditPermission\" [ngModelOptions]=\"{ standalone: true }\">\r\n </label>\r\n </td>\r\n <td nzAlign=\"center\">\r\n <icon-delete (click)=\"deleteRoleFromMenu(item)\"></icon-delete>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </nz-table>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</form>\r\n\r\n<!-- Modal ch\u1ECDn Role -->\r\n<nz-modal\r\n [(nzVisible)]=\"isAddRoleModalVisible\"\r\n nzTitle=\"Th\u00EAm Role v\u00E0o Menu\"\r\n [nzWidth]=\"700\"\r\n (nzOnCancel)=\"closeAddRoleModal()\"\r\n (nzOnOk)=\"addRolesToMenu()\"\r\n nzOkText=\"Th\u00EAm\"\r\n nzCancelText=\"H\u1EE7y\"\r\n>\r\n <ng-container *nzModalContent>\r\n <!-- Search box -->\r\n <nz-input-group [nzPrefix]=\"prefixIconSearch\" style=\"margin-bottom: 16px\">\r\n <input\r\n type=\"text\"\r\n nz-input\r\n placeholder=\"T\u00ECm ki\u1EBFm Role...\"\r\n [(ngModel)]=\"searchRoleText\"\r\n (ngModelChange)=\"filterAvailableRoles()\"\r\n />\r\n </nz-input-group>\r\n <ng-template #prefixIconSearch>\r\n <span nz-icon nzType=\"search\"></span>\r\n </ng-template>\r\n\r\n <nz-table\r\n #addRoleTable\r\n [nzData]=\"lstFilteredRole\"\r\n [nzSize]=\"'small'\"\r\n [nzShowPagination]=\"true\"\r\n [nzPageSize]=\"10\"\r\n [nzLoading]=\"isLoadingAvailableRoles\"\r\n >\r\n <thead>\r\n <tr>\r\n <th\r\n nzWidth=\"60px\"\r\n nzShowCheckbox\r\n [(nzChecked)]=\"isAllRoleChecked\"\r\n (nzCheckedChange)=\"onAllRoleChecked($event)\"\r\n [nzIndeterminate]=\"isRoleIndeterminate\"\r\n ></th>\r\n <th nzWidth=\"150px\">M\u00E3 Role</th>\r\n <th>T\u00EAn Role</th>\r\n <th>M\u00F4 t\u1EA3</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let item of addRoleTable.data\">\r\n <td nz-flex nzJustify=\"center\">\r\n <label nz-checkbox [(ngModel)]=\"item.checked\" (ngModelChange)=\"onRoleChecked(item, $event)\"></label>\r\n </td>\r\n <td>{{ item.Code }}</td>\r\n <td>{{ item.Name }}</td>\r\n <td>{{ item.Description }}</td>\r\n </tr>\r\n </tbody>\r\n </nz-table>\r\n </ng-container>\r\n</nz-modal>\r\n" }]
7819
7820
  }] });
7820
7821
 
7821
- const URLs$3 = {
7822
+ const URLs$4 = {
7822
7823
  getById: '/api/App_Org/GetById',
7823
7824
  getAll: '/api/App_Org/GetAll',
7824
7825
  getList: '/api/App_Org/GetList',
@@ -7830,23 +7831,23 @@ class OrgService extends HTTPService {
7830
7831
  cms = inject(CommonService);
7831
7832
  getById(id) {
7832
7833
  let pr = new HttpParams().append('id', id);
7833
- return this.postParams(AppGlobals.apiEndpoint + URLs$3.getById, pr);
7834
+ return this.postParams(AppGlobals.apiEndpoint + URLs$4.getById, pr);
7834
7835
  }
7835
7836
  getAll() {
7836
- return this.post(AppGlobals.apiEndpoint + URLs$3.getAll);
7837
+ return this.post(AppGlobals.apiEndpoint + URLs$4.getAll);
7837
7838
  }
7838
7839
  getList(filter) {
7839
- return this.postData(AppGlobals.apiEndpoint + URLs$3.getList, filter);
7840
+ return this.postData(AppGlobals.apiEndpoint + URLs$4.getList, filter);
7840
7841
  }
7841
7842
  getPaging(filter) {
7842
- return this.postData(AppGlobals.apiEndpoint + URLs$3.getPaging, filter);
7843
+ return this.postData(AppGlobals.apiEndpoint + URLs$4.getPaging, filter);
7843
7844
  }
7844
7845
  addOrEdit(obj) {
7845
- return this.postData(AppGlobals.apiEndpoint + URLs$3.addOrEdit, obj);
7846
+ return this.postData(AppGlobals.apiEndpoint + URLs$4.addOrEdit, obj);
7846
7847
  }
7847
7848
  delete(id) {
7848
7849
  const params = new HttpParams().append('id', id);
7849
- return this.postParams(AppGlobals.apiEndpoint + URLs$3.delete, params);
7850
+ return this.postParams(AppGlobals.apiEndpoint + URLs$4.delete, params);
7850
7851
  }
7851
7852
  getAllForLogin(UserName) {
7852
7853
  const params = new HttpParams().append('UserName', UserName);
@@ -7974,7 +7975,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImpor
7974
7975
  ], template: "<div nz-row [nzGutter]=\"[0, 8]\">\r\n <div nz-col nzSpan=\"24\">\r\n <div nz-flex nzGap=\"small\" nzJustify=\"end\">\r\n <button-add (click)=\"edit(null)\"></button-add>\r\n <button-search (click)=\"search()\"></button-search>\r\n </div>\r\n </div>\r\n <div nz-col nzSpan=\"24\">\r\n <nz-table\r\n #table\r\n [nzData]=\"this.data.LstItem || []\"\r\n [nzBordered]=\"true\"\r\n [nzSize]=\"'small'\"\r\n [nzFrontPagination]=\"false\"\r\n >\r\n <ng-template #showTotalTpl let-total let-range=\"range\">\r\n {{ range[0] | number }} - {{ range[1] | number }} / {{ total | number }}\r\n </ng-template>\r\n <thead>\r\n <tr>\r\n <th nzWidth=\"70px\">#</th>\r\n <th nzWidth=\"50px\">#</th>\r\n <th>M\u00E3</th>\r\n <th>T\u00EAn</th>\r\n <th>T\u00EAn \u0111\u01A1n v\u1ECB cha</th>\r\n <th>Th\u1EE9 t\u1EF1</th>\r\n <th>Hi\u1EC7u l\u1EF1c</th>\r\n </tr>\r\n <tr class=\"tr-search\" (keyup.enter)=\"search()\">\r\n <th></th>\r\n <th></th>\r\n <th>\r\n <extend-input [size]=\"'small'\" [(_ngModel)]=\"filter.Code\" (onclickClearIcon)=\"search()\"></extend-input>\r\n </th>\r\n <th>\r\n <extend-input [size]=\"'small'\" [(_ngModel)]=\"filter.Name\" (onclickClearIcon)=\"search()\"></extend-input>\r\n </th>\r\n <th>\r\n <extend-input\r\n [size]=\"'small'\"\r\n [(_ngModel)]=\"filter.ParentName\"\r\n (onclickClearIcon)=\"search()\"\r\n ></extend-input>\r\n </th>\r\n <th></th>\r\n <th></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @for (row of table.data; track $index; let i = $index) {\r\n <tr>\r\n <td nz-flex nzGap=\"small\" nzJustify=\"center\">\r\n <icon-edit (click)=\"edit(row)\"></icon-edit>\r\n <icon-delete (click)=\"delete(row)\"></icon-delete>\r\n </td>\r\n <td>{{ i + 1 + filter.PageIndex * filter.PageSize }}</td>\r\n <td>{{ row.Code }}</td>\r\n <td>{{ row.Name }}</td>\r\n <td>{{ row.ParentName }}</td>\r\n <td>{{ row.OrderValue }}</td>\r\n <td>\r\n @if (row.IsActive) {\r\n <icon-check></icon-check>\r\n }\r\n </td>\r\n </tr>\r\n }\r\n </tbody>\r\n </nz-table>\r\n </div>\r\n\r\n <div nz-col [nzSpan]=\"24\">\r\n <div nz-flex nzJustify=\"end\">\r\n <nz-pagination\r\n [nzSize]=\"'small'\"\r\n [nzPageIndex]=\"filter.PageIndex + 1\"\r\n [nzPageSize]=\"filter.PageSize\"\r\n [nzTotal]=\"data.TotalCount || 0\"\r\n [nzShowSizeChanger]=\"true\"\r\n [nzShowTotal]=\"showTotalTpl\"\r\n [nzPageSizeOptions]=\"AppGlobals.pageSizeOptions\"\r\n (nzPageIndexChange)=\"onQueryParamsChange($event - 1, filter.PageSize)\"\r\n (nzPageSizeChange)=\"onQueryParamsChange(filter.PageIndex, $event)\"\r\n >\r\n </nz-pagination>\r\n\r\n <ng-template #showTotalTpl let-total let-range=\"range\">\r\n {{ range[0] | number }} - {{ range[1] | number }} / {{ total | number }}\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
7975
7976
  }] });
7976
7977
 
7977
- const URLs$2 = {
7978
+ const URLs$3 = {
7978
7979
  getById: '/api/App_User/GetById',
7979
7980
  getByIdEx: '/api/App_User/GetByIdEx',
7980
7981
  getAll: '/api/App_User/GetAll',
@@ -7987,27 +7988,27 @@ class UserService extends HTTPService {
7987
7988
  cms = inject(CommonService);
7988
7989
  getById(id) {
7989
7990
  const params = new HttpParams().append('id', id);
7990
- return this.postParams(AppGlobals.apiEndpoint + URLs$2.getById, params);
7991
+ return this.postParams(AppGlobals.apiEndpoint + URLs$3.getById, params);
7991
7992
  }
7992
7993
  getByIdEx(id) {
7993
7994
  const params = new HttpParams().append('id', id);
7994
- return this.postParams(AppGlobals.apiEndpoint + URLs$2.getByIdEx, params);
7995
+ return this.postParams(AppGlobals.apiEndpoint + URLs$3.getByIdEx, params);
7995
7996
  }
7996
7997
  getAll() {
7997
- return this.post(AppGlobals.apiEndpoint + URLs$2.getAll);
7998
+ return this.post(AppGlobals.apiEndpoint + URLs$3.getAll);
7998
7999
  }
7999
8000
  getList(filter) {
8000
- return this.postData(AppGlobals.apiEndpoint + URLs$2.getList, filter);
8001
+ return this.postData(AppGlobals.apiEndpoint + URLs$3.getList, filter);
8001
8002
  }
8002
8003
  getPaging(filter) {
8003
- return this.postData(AppGlobals.apiEndpoint + URLs$2.getPaging, filter);
8004
+ return this.postData(AppGlobals.apiEndpoint + URLs$3.getPaging, filter);
8004
8005
  }
8005
8006
  addOrEdit(obj) {
8006
- return this.postData(AppGlobals.apiEndpoint + URLs$2.addOrEdit, obj);
8007
+ return this.postData(AppGlobals.apiEndpoint + URLs$3.addOrEdit, obj);
8007
8008
  }
8008
8009
  delete(id) {
8009
8010
  const params = new HttpParams().append('id', id);
8010
- return this.postParams(AppGlobals.apiEndpoint + URLs$2.delete, params);
8011
+ return this.postParams(AppGlobals.apiEndpoint + URLs$3.delete, params);
8011
8012
  }
8012
8013
  importUser(data) {
8013
8014
  return this.postData(`${AppGlobals.apiEndpoint}/api/App_User/ImportUser`, data);
@@ -9293,7 +9294,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImpor
9293
9294
  args: ['parentSelect', { static: false }]
9294
9295
  }] } });
9295
9296
 
9296
- const URLs$1 = {
9297
+ const URLs$2 = {
9297
9298
  getById: '/api/App_Setting/GetById',
9298
9299
  getAll: '/api/App_Setting/GetAll',
9299
9300
  getList: '/api/App_Setting/GetList',
@@ -9309,34 +9310,34 @@ let SettingService$1 = class SettingService extends HTTPService {
9309
9310
  commonService = inject(CommonService);
9310
9311
  getById(id) {
9311
9312
  const params = new HttpParams().append('id', id);
9312
- return this.postParams(AppGlobals.apiEndpoint + URLs$1.getById, params);
9313
+ return this.postParams(AppGlobals.apiEndpoint + URLs$2.getById, params);
9313
9314
  }
9314
9315
  getPaging(filter) {
9315
- return this.postData(AppGlobals.apiEndpoint + URLs$1.getPaging, filter);
9316
+ return this.postData(AppGlobals.apiEndpoint + URLs$2.getPaging, filter);
9316
9317
  }
9317
9318
  addOrEdit(obj) {
9318
- return this.postData(AppGlobals.apiEndpoint + URLs$1.addOrEdit, obj);
9319
+ return this.postData(AppGlobals.apiEndpoint + URLs$2.addOrEdit, obj);
9319
9320
  }
9320
9321
  delete(id) {
9321
9322
  const params = new HttpParams().append('id', id);
9322
- return this.postParams(AppGlobals.apiEndpoint + URLs$1.delete, params);
9323
+ return this.postParams(AppGlobals.apiEndpoint + URLs$2.delete, params);
9323
9324
  }
9324
9325
  getByCodeAnonymous(code) {
9325
9326
  const params = new HttpParams().append('Code', code);
9326
- return this.getParams(AppGlobals.apiEndpoint + URLs$1.getByCodeAnonymous, params);
9327
+ return this.getParams(AppGlobals.apiEndpoint + URLs$2.getByCodeAnonymous, params);
9327
9328
  }
9328
9329
  // getGroupByCodeAnonymous(code: string) {
9329
9330
  // const params = new HttpParams().append('Code', code);
9330
9331
  // return this.getParams(AppGlobals.apiEndpoint + URLs.getByCodeAnonymous, params);
9331
9332
  // }
9332
9333
  getAllConfig() {
9333
- return this.post(AppGlobals.apiEndpoint + URLs$1.GetAllConfig);
9334
+ return this.post(AppGlobals.apiEndpoint + URLs$2.GetAllConfig);
9334
9335
  }
9335
9336
  applyConfig(config) {
9336
- return this.postData(AppGlobals.apiEndpoint + URLs$1.ApplyConfig, config);
9337
+ return this.postData(AppGlobals.apiEndpoint + URLs$2.ApplyConfig, config);
9337
9338
  }
9338
9339
  getDbInfo() {
9339
- return this.post(AppGlobals.apiEndpoint + URLs$1.GetDbInfo);
9340
+ return this.post(AppGlobals.apiEndpoint + URLs$2.GetDbInfo);
9340
9341
  }
9341
9342
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: SettingService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
9342
9343
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: SettingService, providedIn: 'root' });
@@ -9456,7 +9457,7 @@ class SettingListComponent extends BaseComponent {
9456
9457
  this.getData();
9457
9458
  }
9458
9459
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: SettingListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
9459
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.7", type: SettingListComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div nz-row [nzGutter]=\"[0, 8]\">\r\n <div nz-col nzSpan=\"24\">\r\n <div nz-flex nzJustify=\"end\">\r\n <div nz-flex nzGap=\"small\">\r\n <button-search (click)=\"search()\"></button-search>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div nz-col nzSpan=\"24\">\r\n <nz-table\r\n #table\r\n [nzData]=\"this.data?.LstItem || []\"\r\n [nzBordered]=\"true\"\r\n [nzSize]=\"'small'\"\r\n [nzShowSizeChanger]=\"true\"\r\n [nzFrontPagination]=\"false\"\r\n >\r\n <thead>\r\n <tr>\r\n <th nzWidth=\"70px\">#</th>\r\n <th>#</th>\r\n <th>Code</th>\r\n <th>Value</th>\r\n <th>Description</th>\r\n <th>Active</th>\r\n </tr>\r\n <tr class=\"tr-search\" (keyup.enter)=\"search()\">\r\n <th class=\"center\">\r\n <nz-icon\r\n nzType=\"plus\"\r\n nzTheme=\"outline\"\r\n class=\"color-primary cursor-pointer icon-size-16\"\r\n (click)=\"$event.stopPropagation(); add()\"\r\n ></nz-icon>\r\n </th>\r\n <th></th>\r\n <th>\r\n <extend-input size=\"small\" [(_ngModel)]=\"filter.Code\" (onclickClearIcon)=\"search()\"></extend-input>\r\n </th>\r\n <th>\r\n <extend-input size=\"small\" [(_ngModel)]=\"filter.Value\" (onclickClearIcon)=\"search()\"></extend-input>\r\n </th>\r\n <th>\r\n <extend-input size=\"small\" [(_ngModel)]=\"filter.Description\" (onclickClearIcon)=\"search()\"></extend-input>\r\n </th>\r\n <th class=\"center\">\r\n <extend-checkbox [(_ngModel)]=\"filter.IsActive\"></extend-checkbox>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @for (row of data?.LstItem; track $index; let i = $index) {\r\n @if (selectedRow != row) {\r\n <tr (click)=\"selectedRow = row\">\r\n <td class=\"text-center\">\r\n <a\r\n nz-popconfirm\r\n nzOkDanger\r\n nzPopconfirmPlacement=\"top\"\r\n [nzPopconfirmTitle]=\"TranslateKey.CONFIRM_DELETE | translate\"\r\n (click)=\"$event.stopPropagation()\"\r\n (nzOnConfirm)=\"delete(row)\"\r\n >\r\n <i nz-icon nzType=\"delete\" nzTheme=\"outline\" class=\"color-warn cursor-pointer icon-size-16\"></i>\r\n </a>\r\n </td>\r\n <td>{{ i + 1 + filter.PageIndex * filter.PageSize }}</td>\r\n <td>{{ row.Code }}</td>\r\n <td>{{ row.Value }}</td>\r\n <td>{{ row.Description }}</td>\r\n <td class=\"text-center\">\r\n @if (row.IsActive) {\r\n <nz-icon nzType=\"check-circle\" nzTheme=\"outline\" class=\"color-primary\" />\r\n } @else {\r\n <nz-icon nzType=\"close\" nzTheme=\"outline\" class=\"color-warn\" />\r\n }\r\n </td>\r\n </tr>\r\n } @else {\r\n <tr (keyup.enter)=\"save()\">\r\n <td class=\"text-center\">\r\n <nz-icon\r\n nzType=\"save\"\r\n nzTheme=\"outline\"\r\n class=\"color-primary cursor-pointer icon-size-16\"\r\n (click)=\"$event.stopPropagation(); save()\"\r\n ></nz-icon>\r\n </td>\r\n <td>{{ i + 1 + filter.PageIndex * filter.PageSize }}</td>\r\n <td>\r\n <extend-input [required]=\"true\" [(_ngModel)]=\"selectedRow.Code\"></extend-input>\r\n </td>\r\n <td>\r\n <extend-input [(_ngModel)]=\"selectedRow.Value\"></extend-input>\r\n </td>\r\n <td class=\"form-item-no-bottom\">\r\n <extend-textarea [minRows]=\"1\" [(_ngModel)]=\"selectedRow.Description\"></extend-textarea>\r\n </td>\r\n <td class=\"text-center\">\r\n <extend-checkbox [(_ngModel)]=\"selectedRow.IsActive\"></extend-checkbox>\r\n </td>\r\n </tr>\r\n }\r\n }\r\n </tbody>\r\n </nz-table>\r\n </div>\r\n <div nz-col nzSpan=\"24\">\r\n <div nz-row nzJustify=\"end\">\r\n <nz-pagination\r\n [nzSize]=\"'small'\"\r\n [nzPageIndex]=\"filter.PageIndex + 1\"\r\n [nzPageSize]=\"filter.PageSize\"\r\n [nzTotal]=\"data?.TotalCount || 0\"\r\n [nzShowSizeChanger]=\"true\"\r\n [nzShowTotal]=\"showTotalTpl\"\r\n [nzPageSizeOptions]=\"AppGlobals.pageSizeOptions\"\r\n (nzPageIndexChange)=\"onQueryParamsChange($event - 1, filter.PageSize)\"\r\n (nzPageSizeChange)=\"onQueryParamsChange(filter.PageIndex, $event)\"\r\n >\r\n </nz-pagination>\r\n\r\n <ng-template #showTotalTpl let-total let-range=\"range\">\r\n {{ range[0] | number }} - {{ range[1] | number }} / {{ total | number }}\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$3.DecimalPipe, name: "number" }, { kind: "component", type: ButtonSearch, selector: "button-search" }, { kind: "ngmodule", type: NzGridModule }, { kind: "directive", type: i2.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { kind: "directive", type: i2.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "ngmodule", type: NzTableModule }, { kind: "component", type: i14.NzTableComponent, selector: "nz-table", inputs: ["nzTableLayout", "nzShowTotal", "nzItemRender", "nzTitle", "nzFooter", "nzNoResult", "nzPageSizeOptions", "nzVirtualItemSize", "nzVirtualMaxBufferPx", "nzVirtualMinBufferPx", "nzVirtualForTrackBy", "nzLoadingDelay", "nzPageIndex", "nzPageSize", "nzTotal", "nzWidthConfig", "nzData", "nzCustomColumn", "nzPaginationPosition", "nzScroll", "noDataVirtualHeight", "nzPaginationType", "nzFrontPagination", "nzTemplateMode", "nzShowPagination", "nzLoading", "nzOuterBordered", "nzLoadingIndicator", "nzBordered", "nzSize", "nzShowSizeChanger", "nzHideOnSinglePage", "nzShowQuickJumper", "nzSimple"], outputs: ["nzPageSizeChange", "nzPageIndexChange", "nzQueryParams", "nzCurrentPageDataChange", "nzCustomColumnChange"], exportAs: ["nzTable"] }, { kind: "directive", type: i14.NzTableCellDirective, selector: "th:not(.nz-disable-th):not([mat-cell]), td:not(.nz-disable-td):not([mat-cell])" }, { kind: "directive", type: i14.NzThMeasureDirective, selector: "th", inputs: ["nzWidth", "colspan", "colSpan", "rowspan", "rowSpan"] }, { kind: "component", type: i14.NzTheadComponent, selector: "thead:not(.ant-table-thead)", outputs: ["nzSortOrderChange"] }, { kind: "component", type: i14.NzTbodyComponent, selector: "tbody" }, { kind: "directive", type: i14.NzTrDirective, selector: "tr:not([mat-row]):not([mat-header-row]):not([nz-table-measure-row]):not([nzExpand]):not([nz-table-fixed-row])" }, { kind: "ngmodule", type: NzIconModule }, { kind: "directive", type: i1$2.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "component", type: ExtendInput, selector: "extend-input", inputs: ["label", "floatingLabel", "placeHolder", "labelAlign", "inputClass", "labelSpan", "labelFlex", "inputFlex", "showClear", "disabled", "readOnly", "required", "noBottom", "selectModeType", "autocomplete", "autofocus", "inputWidth", "inputHeight", "borderBottomOnly", "displayInline", "size", "lstItem", "displayField", "valueField", "formData", "controlName", "_ngModel", "isSubmited"], outputs: ["_ngModelChange", "onclickClearIcon", "onenter"] }, { kind: "component", type: ExtendCheckbox, selector: "extend-checkbox", inputs: ["label", "labelSpan", "labelFlex", "paddingTop", "disabled", "formData", "controlName", "valueType", "_ngModel"], outputs: ["_ngModelChange"] }, { kind: "ngmodule", type: NzPopconfirmModule }, { kind: "directive", type: i9.NzPopconfirmDirective, selector: "[nz-popconfirm]", inputs: ["nzPopconfirmArrowPointAtCenter", "nzPopconfirmTitle", "nzPopconfirmTitleContext", "nz-popconfirm", "nzPopconfirmTrigger", "nzPopconfirmPlacement", "nzPopconfirmOrigin", "nzPopconfirmMouseEnterDelay", "nzPopconfirmMouseLeaveDelay", "nzPopconfirmOverlayClassName", "nzPopconfirmOverlayStyle", "nzPopconfirmVisible", "nzOkText", "nzOkType", "nzOkDisabled", "nzOkDanger", "nzCancelText", "nzBeforeConfirm", "nzIcon", "nzCondition", "nzPopconfirmShowArrow", "nzPopconfirmBackdrop", "nzAutofocus"], outputs: ["nzPopconfirmVisibleChange", "nzOnCancel", "nzOnConfirm"], exportAs: ["nzPopconfirm"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }, { kind: "component", type: ExtendTextArea, selector: "extend-textarea", inputs: ["label", "placeHolder", "labelAlign", "floatingLabel", "displayInline", "labelSpan", "labelFlex", "inputFlex", "disabled", "required", "noBottom", "selectModeType", "inputClass", "size", "isSubmited", "minRows", "maxRows", "lstItem", "displayField", "valueField", "formData", "controlName", "_ngModel", "isTouched", "inputErrorMessage", "errorMessages"], outputs: ["_ngModelChange"] }, { kind: "ngmodule", type: NzPaginationModule }, { kind: "component", type: i5$3.NzPaginationComponent, selector: "nz-pagination", inputs: ["nzShowTotal", "nzItemRender", "nzSize", "nzPageSizeOptions", "nzShowSizeChanger", "nzShowQuickJumper", "nzSimple", "nzDisabled", "nzResponsive", "nzHideOnSinglePage", "nzTotal", "nzPageIndex", "nzPageSize"], outputs: ["nzPageSizeChange", "nzPageIndexChange"], exportAs: ["nzPagination"] }] });
9460
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.7", type: SettingListComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div nz-row [nzGutter]=\"[0, 8]\">\r\n <div nz-col nzSpan=\"24\">\r\n <div nz-flex nzJustify=\"end\">\r\n <div nz-flex nzGap=\"small\">\r\n <button-search (click)=\"search()\"></button-search>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div nz-col nzSpan=\"24\">\r\n <nz-table\r\n #table\r\n [nzData]=\"this.data?.LstItem || []\"\r\n [nzBordered]=\"true\"\r\n [nzSize]=\"'small'\"\r\n [nzShowSizeChanger]=\"true\"\r\n [nzFrontPagination]=\"false\"\r\n >\r\n <thead>\r\n <tr>\r\n <th nzWidth=\"70px\">#</th>\r\n <th>#</th>\r\n <th>Code</th>\r\n <th>Value</th>\r\n <th>Description</th>\r\n <th>Active</th>\r\n </tr>\r\n <tr class=\"tr-search\" (keyup.enter)=\"search()\">\r\n <th class=\"center\">\r\n <nz-icon\r\n nzType=\"plus\"\r\n nzTheme=\"outline\"\r\n class=\"color-primary cursor-pointer icon-size-16\"\r\n (click)=\"$event.stopPropagation(); add()\"\r\n ></nz-icon>\r\n </th>\r\n <th></th>\r\n <th>\r\n <extend-input size=\"small\" [(_ngModel)]=\"filter.Code\" (onclickClearIcon)=\"search()\"></extend-input>\r\n </th>\r\n <th>\r\n <extend-input size=\"small\" [(_ngModel)]=\"filter.Value\" (onclickClearIcon)=\"search()\"></extend-input>\r\n </th>\r\n <th>\r\n <extend-input size=\"small\" [(_ngModel)]=\"filter.Description\" (onclickClearIcon)=\"search()\"></extend-input>\r\n </th>\r\n <th class=\"center\">\r\n <extend-checkbox [(_ngModel)]=\"filter.IsActive\"></extend-checkbox>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @for (row of data?.LstItem; track $index; let i = $index) {\r\n @if (selectedRow != row) {\r\n <tr (click)=\"selectedRow = row\">\r\n <td class=\"text-center\">\r\n <a\r\n nz-popconfirm\r\n nzOkDanger\r\n nzPopconfirmPlacement=\"top\"\r\n [nzPopconfirmTitle]=\"TranslateKey.CONFIRM_DELETE | translate\"\r\n (click)=\"$event.stopPropagation()\"\r\n (nzOnConfirm)=\"delete(row)\"\r\n >\r\n <i nz-icon nzType=\"delete\" nzTheme=\"outline\" class=\"color-warn cursor-pointer icon-size-16\"></i>\r\n </a>\r\n </td>\r\n <td>{{ i + 1 + filter.PageIndex * filter.PageSize }}</td>\r\n <td>{{ row.Code }}</td>\r\n <td>{{ row.Value }}</td>\r\n <td>{{ row.Description }}</td>\r\n <td class=\"text-center\">\r\n @if (row.IsActive) {\r\n <nz-icon nzType=\"check-circle\" nzTheme=\"outline\" class=\"color-primary\" />\r\n } @else {\r\n <nz-icon nzType=\"close\" nzTheme=\"outline\" class=\"color-warn\" />\r\n }\r\n </td>\r\n </tr>\r\n } @else {\r\n <tr (keyup.enter)=\"save()\">\r\n <td class=\"text-center\">\r\n <nz-icon\r\n nzType=\"save\"\r\n nzTheme=\"outline\"\r\n class=\"color-primary cursor-pointer icon-size-16\"\r\n (click)=\"$event.stopPropagation(); save()\"\r\n ></nz-icon>\r\n </td>\r\n <td>{{ i + 1 + filter.PageIndex * filter.PageSize }}</td>\r\n <td>\r\n <extend-input [required]=\"true\" [(_ngModel)]=\"selectedRow.Code\"></extend-input>\r\n </td>\r\n <td>\r\n <extend-input [(_ngModel)]=\"selectedRow.Value\"></extend-input>\r\n </td>\r\n <td class=\"form-item-no-bottom\">\r\n <extend-textarea [minRows]=\"1\" [(_ngModel)]=\"selectedRow.Description\"></extend-textarea>\r\n </td>\r\n <td class=\"text-center\">\r\n <extend-checkbox [(_ngModel)]=\"selectedRow.IsActive\"></extend-checkbox>\r\n </td>\r\n </tr>\r\n }\r\n }\r\n </tbody>\r\n </nz-table>\r\n </div>\r\n <div nz-col nzSpan=\"24\">\r\n <div nz-row nzJustify=\"end\">\r\n <nz-pagination\r\n [nzSize]=\"'small'\"\r\n [nzPageIndex]=\"filter.PageIndex + 1\"\r\n [nzPageSize]=\"filter.PageSize\"\r\n [nzTotal]=\"data?.TotalCount || 0\"\r\n [nzShowSizeChanger]=\"true\"\r\n [nzShowTotal]=\"showTotalTpl\"\r\n [nzPageSizeOptions]=\"AppGlobals.pageSizeOptions\"\r\n (nzPageIndexChange)=\"onQueryParamsChange($event - 1, filter.PageSize)\"\r\n (nzPageSizeChange)=\"onQueryParamsChange(filter.PageIndex, $event)\"\r\n >\r\n </nz-pagination>\r\n\r\n <ng-template #showTotalTpl let-total let-range=\"range\">\r\n {{ range[0] | number }} - {{ range[1] | number }} / {{ total | number }}\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$3.DecimalPipe, name: "number" }, { kind: "component", type: ButtonSearch, selector: "button-search" }, { kind: "ngmodule", type: NzGridModule }, { kind: "directive", type: i2.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { kind: "directive", type: i2.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "ngmodule", type: NzTableModule }, { kind: "component", type: i14.NzTableComponent, selector: "nz-table", inputs: ["nzTableLayout", "nzShowTotal", "nzItemRender", "nzTitle", "nzFooter", "nzNoResult", "nzPageSizeOptions", "nzVirtualItemSize", "nzVirtualMaxBufferPx", "nzVirtualMinBufferPx", "nzVirtualForTrackBy", "nzLoadingDelay", "nzPageIndex", "nzPageSize", "nzTotal", "nzWidthConfig", "nzData", "nzCustomColumn", "nzPaginationPosition", "nzScroll", "noDataVirtualHeight", "nzPaginationType", "nzFrontPagination", "nzTemplateMode", "nzShowPagination", "nzLoading", "nzOuterBordered", "nzLoadingIndicator", "nzBordered", "nzSize", "nzShowSizeChanger", "nzHideOnSinglePage", "nzShowQuickJumper", "nzSimple"], outputs: ["nzPageSizeChange", "nzPageIndexChange", "nzQueryParams", "nzCurrentPageDataChange", "nzCustomColumnChange"], exportAs: ["nzTable"] }, { kind: "directive", type: i14.NzTableCellDirective, selector: "th:not(.nz-disable-th):not([mat-cell]), td:not(.nz-disable-td):not([mat-cell])" }, { kind: "directive", type: i14.NzThMeasureDirective, selector: "th", inputs: ["nzWidth", "colspan", "colSpan", "rowspan", "rowSpan"] }, { kind: "component", type: i14.NzTheadComponent, selector: "thead:not(.ant-table-thead)", outputs: ["nzSortOrderChange"] }, { kind: "component", type: i14.NzTbodyComponent, selector: "tbody" }, { kind: "directive", type: i14.NzTrDirective, selector: "tr:not([mat-row]):not([mat-header-row]):not([nz-table-measure-row]):not([nzExpand]):not([nz-table-fixed-row])" }, { kind: "ngmodule", type: NzIconModule }, { kind: "directive", type: i1$2.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "component", type: ExtendInput, selector: "extend-input", inputs: ["label", "floatingLabel", "placeHolder", "labelAlign", "inputClass", "labelSpan", "labelFlex", "inputFlex", "showClear", "disabled", "readOnly", "required", "noBottom", "selectModeType", "autocomplete", "autofocus", "inputWidth", "inputHeight", "borderBottomOnly", "displayInline", "size", "lstItem", "displayField", "valueField", "formData", "controlName", "_ngModel", "isSubmited"], outputs: ["_ngModelChange", "onclickClearIcon", "onenter"] }, { kind: "component", type: ExtendCheckbox, selector: "extend-checkbox", inputs: ["label", "labelSpan", "labelFlex", "paddingTop", "disabled", "formData", "controlName", "valueType", "_ngModel"], outputs: ["_ngModelChange"] }, { kind: "ngmodule", type: NzPopconfirmModule }, { kind: "directive", type: i9.NzPopconfirmDirective, selector: "[nz-popconfirm]", inputs: ["nzPopconfirmArrowPointAtCenter", "nzPopconfirmTitle", "nzPopconfirmTitleContext", "nz-popconfirm", "nzPopconfirmTrigger", "nzPopconfirmPlacement", "nzPopconfirmOrigin", "nzPopconfirmMouseEnterDelay", "nzPopconfirmMouseLeaveDelay", "nzPopconfirmOverlayClassName", "nzPopconfirmOverlayStyle", "nzPopconfirmVisible", "nzOkText", "nzOkType", "nzOkDisabled", "nzOkDanger", "nzCancelText", "nzBeforeConfirm", "nzIcon", "nzCondition", "nzPopconfirmShowArrow", "nzPopconfirmBackdrop", "nzAutofocus"], outputs: ["nzPopconfirmVisibleChange", "nzOnCancel", "nzOnConfirm"], exportAs: ["nzPopconfirm"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }, { kind: "component", type: ExtendTextArea, selector: "extend-textarea", inputs: ["label", "placeHolder", "labelAlign", "floatingLabel", "displayInline", "labelSpan", "labelFlex", "inputFlex", "disabled", "required", "noBottom", "selectModeType", "inputClass", "size", "isSubmited", "minRows", "maxRows", "lstItem", "displayField", "valueField", "formData", "controlName", "_ngModel", "isTouched", "inputErrorMessage", "errorMessages"], outputs: ["_ngModelChange"] }, { kind: "ngmodule", type: NzPaginationModule }, { kind: "component", type: i5$3.NzPaginationComponent, selector: "nz-pagination", inputs: ["nzShowTotal", "nzItemRender", "nzSize", "nzPageSizeOptions", "nzShowSizeChanger", "nzShowQuickJumper", "nzSimple", "nzDisabled", "nzResponsive", "nzHideOnSinglePage", "nzTotal", "nzPageIndex", "nzPageSize"], outputs: ["nzPageSizeChange", "nzPageIndexChange"], exportAs: ["nzPagination"] }, { kind: "ngmodule", type: NzFlexModule }, { kind: "directive", type: i3$4.NzFlexDirective, selector: "[nz-flex],nz-flex", inputs: ["nzVertical", "nzJustify", "nzAlign", "nzGap", "nzWrap", "nzFlex"], exportAs: ["nzFlex"] }] });
9460
9461
  }
9461
9462
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: SettingListComponent, decorators: [{
9462
9463
  type: Component,
@@ -9472,6 +9473,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImpor
9472
9473
  TranslateModule,
9473
9474
  ExtendTextArea,
9474
9475
  NzPaginationModule,
9476
+ NzGridModule,
9477
+ NzFlexModule,
9475
9478
  ], template: "<div nz-row [nzGutter]=\"[0, 8]\">\r\n <div nz-col nzSpan=\"24\">\r\n <div nz-flex nzJustify=\"end\">\r\n <div nz-flex nzGap=\"small\">\r\n <button-search (click)=\"search()\"></button-search>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div nz-col nzSpan=\"24\">\r\n <nz-table\r\n #table\r\n [nzData]=\"this.data?.LstItem || []\"\r\n [nzBordered]=\"true\"\r\n [nzSize]=\"'small'\"\r\n [nzShowSizeChanger]=\"true\"\r\n [nzFrontPagination]=\"false\"\r\n >\r\n <thead>\r\n <tr>\r\n <th nzWidth=\"70px\">#</th>\r\n <th>#</th>\r\n <th>Code</th>\r\n <th>Value</th>\r\n <th>Description</th>\r\n <th>Active</th>\r\n </tr>\r\n <tr class=\"tr-search\" (keyup.enter)=\"search()\">\r\n <th class=\"center\">\r\n <nz-icon\r\n nzType=\"plus\"\r\n nzTheme=\"outline\"\r\n class=\"color-primary cursor-pointer icon-size-16\"\r\n (click)=\"$event.stopPropagation(); add()\"\r\n ></nz-icon>\r\n </th>\r\n <th></th>\r\n <th>\r\n <extend-input size=\"small\" [(_ngModel)]=\"filter.Code\" (onclickClearIcon)=\"search()\"></extend-input>\r\n </th>\r\n <th>\r\n <extend-input size=\"small\" [(_ngModel)]=\"filter.Value\" (onclickClearIcon)=\"search()\"></extend-input>\r\n </th>\r\n <th>\r\n <extend-input size=\"small\" [(_ngModel)]=\"filter.Description\" (onclickClearIcon)=\"search()\"></extend-input>\r\n </th>\r\n <th class=\"center\">\r\n <extend-checkbox [(_ngModel)]=\"filter.IsActive\"></extend-checkbox>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @for (row of data?.LstItem; track $index; let i = $index) {\r\n @if (selectedRow != row) {\r\n <tr (click)=\"selectedRow = row\">\r\n <td class=\"text-center\">\r\n <a\r\n nz-popconfirm\r\n nzOkDanger\r\n nzPopconfirmPlacement=\"top\"\r\n [nzPopconfirmTitle]=\"TranslateKey.CONFIRM_DELETE | translate\"\r\n (click)=\"$event.stopPropagation()\"\r\n (nzOnConfirm)=\"delete(row)\"\r\n >\r\n <i nz-icon nzType=\"delete\" nzTheme=\"outline\" class=\"color-warn cursor-pointer icon-size-16\"></i>\r\n </a>\r\n </td>\r\n <td>{{ i + 1 + filter.PageIndex * filter.PageSize }}</td>\r\n <td>{{ row.Code }}</td>\r\n <td>{{ row.Value }}</td>\r\n <td>{{ row.Description }}</td>\r\n <td class=\"text-center\">\r\n @if (row.IsActive) {\r\n <nz-icon nzType=\"check-circle\" nzTheme=\"outline\" class=\"color-primary\" />\r\n } @else {\r\n <nz-icon nzType=\"close\" nzTheme=\"outline\" class=\"color-warn\" />\r\n }\r\n </td>\r\n </tr>\r\n } @else {\r\n <tr (keyup.enter)=\"save()\">\r\n <td class=\"text-center\">\r\n <nz-icon\r\n nzType=\"save\"\r\n nzTheme=\"outline\"\r\n class=\"color-primary cursor-pointer icon-size-16\"\r\n (click)=\"$event.stopPropagation(); save()\"\r\n ></nz-icon>\r\n </td>\r\n <td>{{ i + 1 + filter.PageIndex * filter.PageSize }}</td>\r\n <td>\r\n <extend-input [required]=\"true\" [(_ngModel)]=\"selectedRow.Code\"></extend-input>\r\n </td>\r\n <td>\r\n <extend-input [(_ngModel)]=\"selectedRow.Value\"></extend-input>\r\n </td>\r\n <td class=\"form-item-no-bottom\">\r\n <extend-textarea [minRows]=\"1\" [(_ngModel)]=\"selectedRow.Description\"></extend-textarea>\r\n </td>\r\n <td class=\"text-center\">\r\n <extend-checkbox [(_ngModel)]=\"selectedRow.IsActive\"></extend-checkbox>\r\n </td>\r\n </tr>\r\n }\r\n }\r\n </tbody>\r\n </nz-table>\r\n </div>\r\n <div nz-col nzSpan=\"24\">\r\n <div nz-row nzJustify=\"end\">\r\n <nz-pagination\r\n [nzSize]=\"'small'\"\r\n [nzPageIndex]=\"filter.PageIndex + 1\"\r\n [nzPageSize]=\"filter.PageSize\"\r\n [nzTotal]=\"data?.TotalCount || 0\"\r\n [nzShowSizeChanger]=\"true\"\r\n [nzShowTotal]=\"showTotalTpl\"\r\n [nzPageSizeOptions]=\"AppGlobals.pageSizeOptions\"\r\n (nzPageIndexChange)=\"onQueryParamsChange($event - 1, filter.PageSize)\"\r\n (nzPageSizeChange)=\"onQueryParamsChange(filter.PageIndex, $event)\"\r\n >\r\n </nz-pagination>\r\n\r\n <ng-template #showTotalTpl let-total let-range=\"range\">\r\n {{ range[0] | number }} - {{ range[1] | number }} / {{ total | number }}\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
9476
9479
  }] });
9477
9480
 
@@ -9733,7 +9736,7 @@ class UserListComponent extends BaseComponent {
9733
9736
  }
9734
9737
  }
9735
9738
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: UserListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
9736
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.7", type: UserListComponent, isStandalone: true, selector: "app-user-list", usesInheritance: true, ngImport: i0, template: "<div nz-row [nzGutter]=\"[0, 8]\">\r\n <div nz-col nzSpan=\"24\">\r\n <div nz-flex nzGap=\"small\" nzJustify=\"end\">\r\n <button-add (click)=\"edit(null)\"></button-add>\r\n <button-search (click)=\"search()\"></button-search>\r\n <button nz-button nz-dropdown [nzDropdownMenu]=\"menuAction\" nzTrigger=\"click\">\r\n <nz-icon nzType=\"more\" nzTheme=\"outline\" />\r\n <!-- {{ TranslateKey.ACTION | translate }} -->\r\n </button>\r\n <nz-dropdown-menu #menuAction=\"nzDropdownMenu\">\r\n <ul nz-menu>\r\n <li nz-menu-item (click)=\"import()\">Import</li>\r\n </ul>\r\n </nz-dropdown-menu>\r\n </div>\r\n </div>\r\n <div nz-col nzSpan=\"24\">\r\n <nz-table\r\n #table\r\n [nzData]=\"this.data.LstItem || []\"\r\n [nzBordered]=\"true\"\r\n [nzSize]=\"'small'\"\r\n [nzFrontPagination]=\"false\"\r\n >\r\n <thead>\r\n <tr>\r\n <th nzWidth=\"50px\">#</th>\r\n <th>T\u00EAn \u0111\u0103ng nh\u1EADp</th>\r\n <th>T\u00EAn ng\u01B0\u1EDDi d\u00F9ng</th>\r\n <th>\u0110\u01A1n v\u1ECB</th>\r\n <th nzWidth=\"75px\">Hi\u1EC7u l\u1EF1c</th>\r\n <th nzWidth=\"100px\">\u0110ang online</th>\r\n <th nzWidth=\"75px\">#</th>\r\n </tr>\r\n <tr class=\"tr-search\" (keyup.enter)=\"search()\">\r\n <th></th>\r\n <th><extend-input [size]=\"'small'\" [(_ngModel)]=\"filter.UserName\"></extend-input></th>\r\n <th><extend-input [size]=\"'small'\" [(_ngModel)]=\"filter.FullName\"></extend-input></th>\r\n <th><extend-input [size]=\"'small'\" [(_ngModel)]=\"filter.OrgName\"></extend-input></th>\r\n <th></th>\r\n <th class=\"center\"><extend-checkbox [(_ngModel)]=\"showOnlineOnly\"></extend-checkbox></th>\r\n <th></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @for (row of getLstUser(); track $index; let i = $index) {\r\n <tr>\r\n <td>{{ i + 1 + filter.PageIndex * filter.PageSize }}</td>\r\n <td>{{ row.UserName }}</td>\r\n <td>{{ row.FullName }}</td>\r\n <td>\r\n {{ row.OrgName }}\r\n <div *ngIf=\"row.LstOrgName\" [innerHtml]=\"row.LstOrgName\"></div>\r\n </td>\r\n <td class=\"center\">\r\n @if (row.IsActive) {\r\n <icon-check></icon-check>\r\n }\r\n </td>\r\n <td class=\"text-center\">\r\n @if (SignalRService.connection?.state == HubConnectionState.Connected && row.LoginStatus) {\r\n <icon-check></icon-check>\r\n }\r\n </td>\r\n <td class=\"center\">\r\n <icon-edit (click)=\"edit(row)\"></icon-edit>\r\n <box [width]=\"4\"></box><icon-delete (click)=\"delete(row)\"></icon-delete>\r\n </td>\r\n </tr>\r\n }\r\n </tbody>\r\n </nz-table>\r\n </div>\r\n <div nz-col [nzSpan]=\"24\">\r\n <div nz-flex nzJustify=\"end\" nzJustify=\"end\">\r\n <nz-pagination\r\n [nzSize]=\"'small'\"\r\n [nzPageIndex]=\"filter.PageIndex + 1\"\r\n [nzPageSize]=\"filter.PageSize\"\r\n [nzTotal]=\"data.TotalCount || 0\"\r\n [nzShowSizeChanger]=\"true\"\r\n [nzShowTotal]=\"showTotalTpl\"\r\n [nzPageSizeOptions]=\"AppGlobals.pageSizeOptions\"\r\n (nzPageIndexChange)=\"onQueryParamsChange($event - 1, filter.PageSize)\"\r\n (nzPageSizeChange)=\"onQueryParamsChange(filter.PageIndex, $event)\"\r\n >\r\n </nz-pagination>\r\n\r\n <ng-template #showTotalTpl let-total let-range=\"range\">\r\n {{ range[0] | number }} - {{ range[1] | number }} / {{ total | number }}\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n <div class=\"ant-table-filter-dropdown\">\r\n <div class=\"search-box\">\r\n <input\r\n type=\"text\"\r\n nz-input\r\n [(ngModel)]=\"filter.UserName\"\r\n [appAutoFocus]=\"filter.isUserNameSearch\"\r\n (keyup.enter)=\"search()\"\r\n />\r\n <button nz-button nzSize=\"small\" nzType=\"primary\" (click)=\"search()\" class=\"search-button\">\r\n {{ \"SEARCH\" | translate }}\r\n </button>\r\n <button nz-button nzSize=\"small\" (click)=\"filter.UserName = ''; search()\">{{ \"RESET\" | translate }}</button>\r\n </div>\r\n </div>\r\n</nz-dropdown-menu>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$3.DecimalPipe, name: "number" }, { kind: "component", type: ButtonAdd, selector: "button-add" }, { kind: "component", type: ButtonSearch, selector: "button-search" }, { kind: "component", type: IconCheck, selector: "icon-check", inputs: ["size"], outputs: ["click"] }, { kind: "ngmodule", type: NzGridModule }, { kind: "directive", type: i2.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { kind: "directive", type: i2.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "ngmodule", type: NzIconModule }, { kind: "directive", type: i1$2.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "ngmodule", type: NzPopconfirmModule }, { kind: "ngmodule", type: NzDropDownModule }, { kind: "directive", type: i4$2.NzMenuDirective, selector: "[nz-menu]", inputs: ["nzInlineIndent", "nzTheme", "nzMode", "nzInlineCollapsed", "nzSelectable"], outputs: ["nzClick"], exportAs: ["nzMenu"] }, { kind: "component", type: i4$2.NzMenuItemComponent, selector: "[nz-menu-item]", inputs: ["nzPaddingLeft", "nzDisabled", "nzSelected", "nzDanger", "nzMatchRouterExact", "nzMatchRouter"], exportAs: ["nzMenuItem"] }, { kind: "directive", type: i5$5.NzDropDownDirective, selector: "[nz-dropdown]", inputs: ["nzDropdownMenu", "nzTrigger", "nzMatchWidthElement", "nzBackdrop", "nzClickHide", "nzDisabled", "nzVisible", "nzOverlayClassName", "nzOverlayStyle", "nzPlacement"], outputs: ["nzVisibleChange"], exportAs: ["nzDropdown"] }, { kind: "component", type: i5$5.NzDropdownMenuComponent, selector: "nz-dropdown-menu", exportAs: ["nzDropdownMenu"] }, { kind: "directive", type: i5$5.NzDropdownButtonDirective, selector: "[nz-button][nz-dropdown]" }, { kind: "ngmodule", type: NzTableModule }, { kind: "component", type: i14.NzTableComponent, selector: "nz-table", inputs: ["nzTableLayout", "nzShowTotal", "nzItemRender", "nzTitle", "nzFooter", "nzNoResult", "nzPageSizeOptions", "nzVirtualItemSize", "nzVirtualMaxBufferPx", "nzVirtualMinBufferPx", "nzVirtualForTrackBy", "nzLoadingDelay", "nzPageIndex", "nzPageSize", "nzTotal", "nzWidthConfig", "nzData", "nzCustomColumn", "nzPaginationPosition", "nzScroll", "noDataVirtualHeight", "nzPaginationType", "nzFrontPagination", "nzTemplateMode", "nzShowPagination", "nzLoading", "nzOuterBordered", "nzLoadingIndicator", "nzBordered", "nzSize", "nzShowSizeChanger", "nzHideOnSinglePage", "nzShowQuickJumper", "nzSimple"], outputs: ["nzPageSizeChange", "nzPageIndexChange", "nzQueryParams", "nzCurrentPageDataChange", "nzCustomColumnChange"], exportAs: ["nzTable"] }, { kind: "directive", type: i14.NzTableCellDirective, selector: "th:not(.nz-disable-th):not([mat-cell]), td:not(.nz-disable-td):not([mat-cell])" }, { kind: "directive", type: i14.NzThMeasureDirective, selector: "th", inputs: ["nzWidth", "colspan", "colSpan", "rowspan", "rowSpan"] }, { kind: "component", type: i14.NzTheadComponent, selector: "thead:not(.ant-table-thead)", outputs: ["nzSortOrderChange"] }, { kind: "component", type: i14.NzTbodyComponent, selector: "tbody" }, { kind: "directive", type: i14.NzTrDirective, selector: "tr:not([mat-row]):not([mat-header-row]):not([nz-table-measure-row]):not([nzExpand]):not([nz-table-fixed-row])" }, { kind: "component", type: ExtendInput, selector: "extend-input", inputs: ["label", "floatingLabel", "placeHolder", "labelAlign", "inputClass", "labelSpan", "labelFlex", "inputFlex", "showClear", "disabled", "readOnly", "required", "noBottom", "selectModeType", "autocomplete", "autofocus", "inputWidth", "inputHeight", "borderBottomOnly", "displayInline", "size", "lstItem", "displayField", "valueField", "formData", "controlName", "_ngModel", "isSubmited"], outputs: ["_ngModelChange", "onclickClearIcon", "onenter"] }, { kind: "component", type: ExtendCheckbox, selector: "extend-checkbox", inputs: ["label", "labelSpan", "labelFlex", "paddingTop", "disabled", "formData", "controlName", "valueType", "_ngModel"], outputs: ["_ngModelChange"] }, { kind: "component", type: IconDelete, selector: "icon-delete", inputs: ["size"], outputs: ["click"] }, { kind: "component", type: IconEdit, selector: "icon-edit", inputs: ["size"], outputs: ["click"] }, { kind: "component", type: Box, selector: "box", inputs: ["display", "width", "height"] }, { kind: "ngmodule", type: NzPaginationModule }, { kind: "component", type: i5$3.NzPaginationComponent, selector: "nz-pagination", inputs: ["nzShowTotal", "nzItemRender", "nzSize", "nzPageSizeOptions", "nzShowSizeChanger", "nzShowQuickJumper", "nzSimple", "nzDisabled", "nzResponsive", "nzHideOnSinglePage", "nzTotal", "nzPageIndex", "nzPageSize"], outputs: ["nzPageSizeChange", "nzPageIndexChange"], exportAs: ["nzPagination"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: AutoFocusDirective, selector: "[appAutoFocus]", inputs: ["appAutoFocus"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }] });
9739
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.7", type: UserListComponent, isStandalone: true, selector: "app-user-list", usesInheritance: true, ngImport: i0, template: "<div nz-row [nzGutter]=\"[0, 8]\">\r\n <div nz-col nzSpan=\"24\">\r\n <div nz-flex nzGap=\"small\" nzJustify=\"end\">\r\n <button-add (click)=\"edit(null)\"></button-add>\r\n <button-search (click)=\"search()\"></button-search>\r\n <button nz-button nz-dropdown [nzDropdownMenu]=\"menuAction\" nzTrigger=\"click\">\r\n <nz-icon nzType=\"more\" nzTheme=\"outline\" />\r\n <!-- {{ TranslateKey.ACTION | translate }} -->\r\n </button>\r\n <nz-dropdown-menu #menuAction=\"nzDropdownMenu\">\r\n <ul nz-menu>\r\n <li nz-menu-item (click)=\"import()\">Import</li>\r\n </ul>\r\n </nz-dropdown-menu>\r\n </div>\r\n </div>\r\n <div nz-col nzSpan=\"24\">\r\n <nz-table\r\n #table\r\n [nzData]=\"this.data.LstItem || []\"\r\n [nzBordered]=\"true\"\r\n [nzSize]=\"'small'\"\r\n [nzFrontPagination]=\"false\"\r\n >\r\n <thead>\r\n <tr>\r\n <th nzWidth=\"50px\">#</th>\r\n <th>T\u00EAn \u0111\u0103ng nh\u1EADp</th>\r\n <th>T\u00EAn ng\u01B0\u1EDDi d\u00F9ng</th>\r\n <th>\u0110\u01A1n v\u1ECB</th>\r\n <th nzWidth=\"75px\">Hi\u1EC7u l\u1EF1c</th>\r\n <th nzWidth=\"100px\">\u0110ang online</th>\r\n <th nzWidth=\"75px\">#</th>\r\n </tr>\r\n <tr class=\"tr-search\" (keyup.enter)=\"search()\">\r\n <th></th>\r\n <th><extend-input [size]=\"'small'\" [(_ngModel)]=\"filter.UserName\"></extend-input></th>\r\n <th><extend-input [size]=\"'small'\" [(_ngModel)]=\"filter.FullName\"></extend-input></th>\r\n <th><extend-input [size]=\"'small'\" [(_ngModel)]=\"filter.OrgName\"></extend-input></th>\r\n <th></th>\r\n <th class=\"center\"><extend-checkbox [(_ngModel)]=\"showOnlineOnly\"></extend-checkbox></th>\r\n <th></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @for (row of getLstUser(); track $index; let i = $index) {\r\n <tr>\r\n <td>{{ i + 1 + filter.PageIndex * filter.PageSize }}</td>\r\n <td>{{ row.UserName }}</td>\r\n <td>{{ row.FullName }}</td>\r\n <td>\r\n {{ row.OrgName }}\r\n <div *ngIf=\"row.LstOrgName\" [innerHtml]=\"row.LstOrgName\"></div>\r\n </td>\r\n <td class=\"center\">\r\n @if (row.IsActive) {\r\n <icon-check></icon-check>\r\n }\r\n </td>\r\n <td class=\"text-center\">\r\n @if (SignalRService.connection?.state == HubConnectionState.Connected && row.LoginStatus) {\r\n <icon-check></icon-check>\r\n }\r\n </td>\r\n <td class=\"center\">\r\n <icon-edit (click)=\"edit(row)\"></icon-edit>\r\n <box [width]=\"4\"></box><icon-delete (click)=\"delete(row)\"></icon-delete>\r\n </td>\r\n </tr>\r\n }\r\n </tbody>\r\n </nz-table>\r\n </div>\r\n <div nz-col [nzSpan]=\"24\">\r\n <div nz-flex nzJustify=\"end\" nzJustify=\"end\">\r\n <nz-pagination\r\n [nzSize]=\"'small'\"\r\n [nzPageIndex]=\"filter.PageIndex + 1\"\r\n [nzPageSize]=\"filter.PageSize\"\r\n [nzTotal]=\"data.TotalCount || 0\"\r\n [nzShowSizeChanger]=\"true\"\r\n [nzShowTotal]=\"showTotalTpl\"\r\n [nzPageSizeOptions]=\"AppGlobals.pageSizeOptions\"\r\n (nzPageIndexChange)=\"onQueryParamsChange($event - 1, filter.PageSize)\"\r\n (nzPageSizeChange)=\"onQueryParamsChange(filter.PageIndex, $event)\"\r\n >\r\n </nz-pagination>\r\n\r\n <ng-template #showTotalTpl let-total let-range=\"range\">\r\n {{ range[0] | number }} - {{ range[1] | number }} / {{ total | number }}\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n <div class=\"ant-table-filter-dropdown\">\r\n <div class=\"search-box\">\r\n <input\r\n type=\"text\"\r\n nz-input\r\n [(ngModel)]=\"filter.UserName\"\r\n [appAutoFocus]=\"filter.isUserNameSearch\"\r\n (keyup.enter)=\"search()\"\r\n />\r\n <button nz-button nzSize=\"small\" nzType=\"primary\" (click)=\"search()\" class=\"search-button\">\r\n {{ \"SEARCH\" | translate }}\r\n </button>\r\n <button nz-button nzSize=\"small\" (click)=\"filter.UserName = ''; search()\">{{ \"RESET\" | translate }}</button>\r\n </div>\r\n </div>\r\n</nz-dropdown-menu>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$3.DecimalPipe, name: "number" }, { kind: "component", type: ButtonAdd, selector: "button-add" }, { kind: "component", type: ButtonSearch, selector: "button-search" }, { kind: "component", type: IconCheck, selector: "icon-check", inputs: ["size"], outputs: ["click"] }, { kind: "ngmodule", type: NzGridModule }, { kind: "directive", type: i2.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { kind: "directive", type: i2.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "ngmodule", type: NzIconModule }, { kind: "directive", type: i1$2.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "ngmodule", type: NzPopconfirmModule }, { kind: "ngmodule", type: NzDropDownModule }, { kind: "directive", type: i4$2.NzMenuDirective, selector: "[nz-menu]", inputs: ["nzInlineIndent", "nzTheme", "nzMode", "nzInlineCollapsed", "nzSelectable"], outputs: ["nzClick"], exportAs: ["nzMenu"] }, { kind: "component", type: i4$2.NzMenuItemComponent, selector: "[nz-menu-item]", inputs: ["nzPaddingLeft", "nzDisabled", "nzSelected", "nzDanger", "nzMatchRouterExact", "nzMatchRouter"], exportAs: ["nzMenuItem"] }, { kind: "directive", type: i5$5.NzDropDownDirective, selector: "[nz-dropdown]", inputs: ["nzDropdownMenu", "nzTrigger", "nzMatchWidthElement", "nzBackdrop", "nzClickHide", "nzDisabled", "nzVisible", "nzOverlayClassName", "nzOverlayStyle", "nzPlacement"], outputs: ["nzVisibleChange"], exportAs: ["nzDropdown"] }, { kind: "component", type: i5$5.NzDropdownMenuComponent, selector: "nz-dropdown-menu", exportAs: ["nzDropdownMenu"] }, { kind: "directive", type: i5$5.NzDropdownButtonDirective, selector: "[nz-button][nz-dropdown]" }, { kind: "ngmodule", type: NzTableModule }, { kind: "component", type: i14.NzTableComponent, selector: "nz-table", inputs: ["nzTableLayout", "nzShowTotal", "nzItemRender", "nzTitle", "nzFooter", "nzNoResult", "nzPageSizeOptions", "nzVirtualItemSize", "nzVirtualMaxBufferPx", "nzVirtualMinBufferPx", "nzVirtualForTrackBy", "nzLoadingDelay", "nzPageIndex", "nzPageSize", "nzTotal", "nzWidthConfig", "nzData", "nzCustomColumn", "nzPaginationPosition", "nzScroll", "noDataVirtualHeight", "nzPaginationType", "nzFrontPagination", "nzTemplateMode", "nzShowPagination", "nzLoading", "nzOuterBordered", "nzLoadingIndicator", "nzBordered", "nzSize", "nzShowSizeChanger", "nzHideOnSinglePage", "nzShowQuickJumper", "nzSimple"], outputs: ["nzPageSizeChange", "nzPageIndexChange", "nzQueryParams", "nzCurrentPageDataChange", "nzCustomColumnChange"], exportAs: ["nzTable"] }, { kind: "directive", type: i14.NzTableCellDirective, selector: "th:not(.nz-disable-th):not([mat-cell]), td:not(.nz-disable-td):not([mat-cell])" }, { kind: "directive", type: i14.NzThMeasureDirective, selector: "th", inputs: ["nzWidth", "colspan", "colSpan", "rowspan", "rowSpan"] }, { kind: "component", type: i14.NzTheadComponent, selector: "thead:not(.ant-table-thead)", outputs: ["nzSortOrderChange"] }, { kind: "component", type: i14.NzTbodyComponent, selector: "tbody" }, { kind: "directive", type: i14.NzTrDirective, selector: "tr:not([mat-row]):not([mat-header-row]):not([nz-table-measure-row]):not([nzExpand]):not([nz-table-fixed-row])" }, { kind: "component", type: ExtendInput, selector: "extend-input", inputs: ["label", "floatingLabel", "placeHolder", "labelAlign", "inputClass", "labelSpan", "labelFlex", "inputFlex", "showClear", "disabled", "readOnly", "required", "noBottom", "selectModeType", "autocomplete", "autofocus", "inputWidth", "inputHeight", "borderBottomOnly", "displayInline", "size", "lstItem", "displayField", "valueField", "formData", "controlName", "_ngModel", "isSubmited"], outputs: ["_ngModelChange", "onclickClearIcon", "onenter"] }, { kind: "component", type: ExtendCheckbox, selector: "extend-checkbox", inputs: ["label", "labelSpan", "labelFlex", "paddingTop", "disabled", "formData", "controlName", "valueType", "_ngModel"], outputs: ["_ngModelChange"] }, { kind: "component", type: IconDelete, selector: "icon-delete", inputs: ["size"], outputs: ["click"] }, { kind: "component", type: IconEdit, selector: "icon-edit", inputs: ["size"], outputs: ["click"] }, { kind: "component", type: Box, selector: "box", inputs: ["display", "width", "height"] }, { kind: "ngmodule", type: NzPaginationModule }, { kind: "component", type: i5$3.NzPaginationComponent, selector: "nz-pagination", inputs: ["nzShowTotal", "nzItemRender", "nzSize", "nzPageSizeOptions", "nzShowSizeChanger", "nzShowQuickJumper", "nzSimple", "nzDisabled", "nzResponsive", "nzHideOnSinglePage", "nzTotal", "nzPageIndex", "nzPageSize"], outputs: ["nzPageSizeChange", "nzPageIndexChange"], exportAs: ["nzPagination"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: AutoFocusDirective, selector: "[appAutoFocus]", inputs: ["appAutoFocus"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: NzFlexModule }, { kind: "directive", type: i3$4.NzFlexDirective, selector: "[nz-flex],nz-flex", inputs: ["nzVertical", "nzJustify", "nzAlign", "nzGap", "nzWrap", "nzFlex"], exportAs: ["nzFlex"] }, { kind: "ngmodule", type: NzButtonModule }, { kind: "component", type: i2$3.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i3$2.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], nz-icon, [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i4$1.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }] });
9737
9740
  }
9738
9741
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: UserListComponent, decorators: [{
9739
9742
  type: Component,
@@ -9756,6 +9759,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImpor
9756
9759
  FormsModule,
9757
9760
  AutoFocusDirective,
9758
9761
  TranslateModule,
9762
+ NzGridModule,
9763
+ NzFlexModule,
9764
+ NzButtonModule,
9759
9765
  ], template: "<div nz-row [nzGutter]=\"[0, 8]\">\r\n <div nz-col nzSpan=\"24\">\r\n <div nz-flex nzGap=\"small\" nzJustify=\"end\">\r\n <button-add (click)=\"edit(null)\"></button-add>\r\n <button-search (click)=\"search()\"></button-search>\r\n <button nz-button nz-dropdown [nzDropdownMenu]=\"menuAction\" nzTrigger=\"click\">\r\n <nz-icon nzType=\"more\" nzTheme=\"outline\" />\r\n <!-- {{ TranslateKey.ACTION | translate }} -->\r\n </button>\r\n <nz-dropdown-menu #menuAction=\"nzDropdownMenu\">\r\n <ul nz-menu>\r\n <li nz-menu-item (click)=\"import()\">Import</li>\r\n </ul>\r\n </nz-dropdown-menu>\r\n </div>\r\n </div>\r\n <div nz-col nzSpan=\"24\">\r\n <nz-table\r\n #table\r\n [nzData]=\"this.data.LstItem || []\"\r\n [nzBordered]=\"true\"\r\n [nzSize]=\"'small'\"\r\n [nzFrontPagination]=\"false\"\r\n >\r\n <thead>\r\n <tr>\r\n <th nzWidth=\"50px\">#</th>\r\n <th>T\u00EAn \u0111\u0103ng nh\u1EADp</th>\r\n <th>T\u00EAn ng\u01B0\u1EDDi d\u00F9ng</th>\r\n <th>\u0110\u01A1n v\u1ECB</th>\r\n <th nzWidth=\"75px\">Hi\u1EC7u l\u1EF1c</th>\r\n <th nzWidth=\"100px\">\u0110ang online</th>\r\n <th nzWidth=\"75px\">#</th>\r\n </tr>\r\n <tr class=\"tr-search\" (keyup.enter)=\"search()\">\r\n <th></th>\r\n <th><extend-input [size]=\"'small'\" [(_ngModel)]=\"filter.UserName\"></extend-input></th>\r\n <th><extend-input [size]=\"'small'\" [(_ngModel)]=\"filter.FullName\"></extend-input></th>\r\n <th><extend-input [size]=\"'small'\" [(_ngModel)]=\"filter.OrgName\"></extend-input></th>\r\n <th></th>\r\n <th class=\"center\"><extend-checkbox [(_ngModel)]=\"showOnlineOnly\"></extend-checkbox></th>\r\n <th></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @for (row of getLstUser(); track $index; let i = $index) {\r\n <tr>\r\n <td>{{ i + 1 + filter.PageIndex * filter.PageSize }}</td>\r\n <td>{{ row.UserName }}</td>\r\n <td>{{ row.FullName }}</td>\r\n <td>\r\n {{ row.OrgName }}\r\n <div *ngIf=\"row.LstOrgName\" [innerHtml]=\"row.LstOrgName\"></div>\r\n </td>\r\n <td class=\"center\">\r\n @if (row.IsActive) {\r\n <icon-check></icon-check>\r\n }\r\n </td>\r\n <td class=\"text-center\">\r\n @if (SignalRService.connection?.state == HubConnectionState.Connected && row.LoginStatus) {\r\n <icon-check></icon-check>\r\n }\r\n </td>\r\n <td class=\"center\">\r\n <icon-edit (click)=\"edit(row)\"></icon-edit>\r\n <box [width]=\"4\"></box><icon-delete (click)=\"delete(row)\"></icon-delete>\r\n </td>\r\n </tr>\r\n }\r\n </tbody>\r\n </nz-table>\r\n </div>\r\n <div nz-col [nzSpan]=\"24\">\r\n <div nz-flex nzJustify=\"end\" nzJustify=\"end\">\r\n <nz-pagination\r\n [nzSize]=\"'small'\"\r\n [nzPageIndex]=\"filter.PageIndex + 1\"\r\n [nzPageSize]=\"filter.PageSize\"\r\n [nzTotal]=\"data.TotalCount || 0\"\r\n [nzShowSizeChanger]=\"true\"\r\n [nzShowTotal]=\"showTotalTpl\"\r\n [nzPageSizeOptions]=\"AppGlobals.pageSizeOptions\"\r\n (nzPageIndexChange)=\"onQueryParamsChange($event - 1, filter.PageSize)\"\r\n (nzPageSizeChange)=\"onQueryParamsChange(filter.PageIndex, $event)\"\r\n >\r\n </nz-pagination>\r\n\r\n <ng-template #showTotalTpl let-total let-range=\"range\">\r\n {{ range[0] | number }} - {{ range[1] | number }} / {{ total | number }}\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n <div class=\"ant-table-filter-dropdown\">\r\n <div class=\"search-box\">\r\n <input\r\n type=\"text\"\r\n nz-input\r\n [(ngModel)]=\"filter.UserName\"\r\n [appAutoFocus]=\"filter.isUserNameSearch\"\r\n (keyup.enter)=\"search()\"\r\n />\r\n <button nz-button nzSize=\"small\" nzType=\"primary\" (click)=\"search()\" class=\"search-button\">\r\n {{ \"SEARCH\" | translate }}\r\n </button>\r\n <button nz-button nzSize=\"small\" (click)=\"filter.UserName = ''; search()\">{{ \"RESET\" | translate }}</button>\r\n </div>\r\n </div>\r\n</nz-dropdown-menu>\r\n" }]
9760
9766
  }] });
9761
9767
 
@@ -9820,7 +9826,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImpor
9820
9826
  ], template: "<form nz-form [formGroup]=\"formData\">\r\n <div nz-row>\r\n <div nz-col nzSpan=\"24\">\r\n <nz-form-item>\r\n <nz-form-label [nzSpan]=\"8\" nzFor=\"UserName\" nzLabelAlign=\"left\" nzNoColon=\"true\">\r\n T\u00EAn \u0111\u0103ng nh\u1EADp\r\n </nz-form-label>\r\n <nz-form-control [nzSpan]=\"16\">\r\n <input nz-input formControlName=\"UserName\" autocomplete=\"off\" nzDisabled />\r\n </nz-form-control>\r\n </nz-form-item>\r\n <nz-form-item>\r\n <nz-form-label [nzSpan]=\"8\" nzFor=\"Password\" nzLabelAlign=\"left\" nzNoColon=\"true\" nzRequired>\r\n M\u1EADt kh\u1EA9u\r\n </nz-form-label>\r\n <nz-form-control nzErrorTip=\"{{ 'REQUIRED' | translate }}\">\r\n <nz-input-group [nzSuffix]=\"visiblePass ? suffixTemplateHiddenPassword : suffixTemplateShowPassword\">\r\n <input type=\"{{ passwordType }}\" nz-input formControlName=\"Password\" autocomplete=\"new-password\" />\r\n </nz-input-group>\r\n </nz-form-control>\r\n <ng-template #suffixTemplateShowPassword>\r\n <nz-icon\r\n nzType=\"eye\"\r\n nzTheme=\"outline\"\r\n nz-tooltip\r\n nzTooltipTitle=\"{{ 'SHOW' | translate }}\"\r\n nzTooltipPlacement=\"right\"\r\n (click)=\"visiblePass = !visiblePass; passwordType = 'text'\"\r\n />\r\n </ng-template>\r\n <ng-template #suffixTemplateHiddenPassword>\r\n <nz-icon\r\n nzType=\"eye-invisible\"\r\n nzTheme=\"outline\"\r\n nz-tooltip\r\n nzTooltipTitle=\"{{ 'HIDDEN' | translate }}\"\r\n nzTooltipPlacement=\"right\"\r\n (click)=\"visiblePass = !visiblePass; passwordType = 'password'\"\r\n />\r\n </ng-template>\r\n </nz-form-item>\r\n <nz-form-item>\r\n <nz-form-label [nzSpan]=\"8\" nzFor=\"RetypePassword\" nzLabelAlign=\"left\" nzNoColon=\"true\" nzRequired>\r\n Nh\u1EADp l\u1EA1i M\u1EADt kh\u1EA9u\r\n </nz-form-label>\r\n <nz-form-control nzErrorTip=\"M\u1EADt kh\u1EA9u kh\u00F4ng kh\u1EDBp\">\r\n <nz-input-group [nzSuffix]=\"visibleRePass ? suffixTemplateHiddenRePassword : suffixTemplateShowRePassword\">\r\n <input type=\"{{ rePasswordType }}\" nz-input formControlName=\"RetypePassword\" autocomplete=\"new-password\" />\r\n </nz-input-group>\r\n </nz-form-control>\r\n <ng-template #suffixTemplateShowRePassword>\r\n <nz-icon\r\n nzType=\"eye\"\r\n nzTheme=\"outline\"\r\n nz-tooltip\r\n nzTooltipTitle=\"{{ 'SHOW' | translate }}\"\r\n nzTooltipPlacement=\"right\"\r\n (click)=\"visibleRePass = !visibleRePass; rePasswordType = 'text'\"\r\n />\r\n </ng-template>\r\n <ng-template #suffixTemplateHiddenRePassword>\r\n <nz-icon\r\n nzType=\"eye-invisible\"\r\n nzTheme=\"outline\"\r\n nz-tooltip\r\n nzTooltipTitle=\"{{ 'HIDDEN' | translate }}\"\r\n nzTooltipPlacement=\"right\"\r\n (click)=\"visibleRePass = !visibleRePass; rePasswordType = 'password'\"\r\n />\r\n </ng-template>\r\n </nz-form-item>\r\n </div>\r\n <div nz-col nzSpan=\"24\">\r\n <div nz-flex nzJustify=\"end\" nzGap=\"small\">\r\n <button nz-button nzType=\"default\" (click)=\"close()\">{{ TranslateKey.CLOSE | translate }}</button>\r\n <button nz-button nzType=\"primary\" (click)=\"submit()\" nzDanger>{{ TranslateKey.OK | translate }}</button>\r\n </div>\r\n </div>\r\n </div>\r\n</form>\r\n" }]
9821
9827
  }] });
9822
9828
 
9823
- const URLs = {
9829
+ const URLs$1 = {
9824
9830
  getById: '/api/App_Setting/GetById',
9825
9831
  getAll: '/api/App_Setting/GetAll',
9826
9832
  getList: '/api/App_Setting/GetList',
@@ -9841,10 +9847,10 @@ class SettingService extends HTTPService {
9841
9847
  });
9842
9848
  }
9843
9849
  getAll() {
9844
- return this.post(AppGlobals.apiEndpoint + URLs.getAll);
9850
+ return this.post(AppGlobals.apiEndpoint + URLs$1.getAll);
9845
9851
  }
9846
9852
  getList(filter) {
9847
- return this.postData(AppGlobals.apiEndpoint + URLs.getList, filter);
9853
+ return this.postData(AppGlobals.apiEndpoint + URLs$1.getList, filter);
9848
9854
  }
9849
9855
  getPaging(filter) {
9850
9856
  return this.cms.ESP({
@@ -9860,24 +9866,24 @@ class SettingService extends HTTPService {
9860
9866
  }
9861
9867
  delete(id) {
9862
9868
  const params = new HttpParams().append('id', id);
9863
- return this.postParams(AppGlobals.apiEndpoint + URLs.delete, params);
9869
+ return this.postParams(AppGlobals.apiEndpoint + URLs$1.delete, params);
9864
9870
  }
9865
9871
  getByCodeAnonymous(code) {
9866
9872
  const params = new HttpParams().append('Code', code);
9867
- return this.getParams(AppGlobals.apiEndpoint + URLs.getByCodeAnonymous, params);
9873
+ return this.getParams(AppGlobals.apiEndpoint + URLs$1.getByCodeAnonymous, params);
9868
9874
  }
9869
9875
  // getGroupByCodeAnonymous(code: string) {
9870
9876
  // const params = new HttpParams().append('Code', code);
9871
9877
  // return this.getParams(AppGlobals.apiEndpoint + URLs.getByCodeAnonymous, params);
9872
9878
  // }
9873
9879
  getAllConfig() {
9874
- return this.post(AppGlobals.apiEndpoint + URLs.GetAllConfig);
9880
+ return this.post(AppGlobals.apiEndpoint + URLs$1.GetAllConfig);
9875
9881
  }
9876
9882
  applyConfig(config) {
9877
- return this.postData(AppGlobals.apiEndpoint + URLs.ApplyConfig, config);
9883
+ return this.postData(AppGlobals.apiEndpoint + URLs$1.ApplyConfig, config);
9878
9884
  }
9879
9885
  getDbInfo() {
9880
- return this.post(AppGlobals.apiEndpoint + URLs.GetDbInfo);
9886
+ return this.post(AppGlobals.apiEndpoint + URLs$1.GetDbInfo);
9881
9887
  }
9882
9888
  loadConfigTheme() {
9883
9889
  return this.cms.ESP({
@@ -9982,6 +9988,10 @@ class UserDetailComponent extends BaseComponent {
9982
9988
  this.lstRoleInUser = this.item?.lstRole || [];
9983
9989
  this.updateBreadcrumb();
9984
9990
  }, (err) => this.handleError(err));
9991
+ this.formData.controls.Password.setValidators([]);
9992
+ this.formData.controls.Password.updateValueAndValidity();
9993
+ this.formData.controls.RetypePassword.setValidators([]);
9994
+ this.formData.controls.RetypePassword.updateValueAndValidity();
9985
9995
  }
9986
9996
  else {
9987
9997
  this.formData.controls.Password.setValidators([Validators.required]);
@@ -10459,6 +10469,165 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImpor
10459
10469
  ], template: "<!-- <h3>User Profile</h3> -->\r\n<nz-tabset [nzSize]=\"'small'\" [nzType]=\"'card'\" (nzSelectedIndexChange)=\"nzSelectedIndexChange($event)\">\r\n <nz-tab [nzTitle]=\"'\u0110\u1ED5i m\u1EADt kh\u1EA9u'\">\r\n <form [formGroup]=\"formData\" (ngSubmit)=\"onSubmit()\" nz-form>\r\n <div nz-row>\r\n <div nz-col [nzSpan]=\"8\">\r\n <nz-form-item>\r\n <nz-form-label [nzSpan]=\"10\" [nzFor]=\"'CurrentPassword'\" nzNoColon nzLabelWrap nzRequired>\r\n M\u1EADt kh\u1EA9u hi\u1EC7n t\u1EA1i\r\n </nz-form-label>\r\n <nz-form-control [nzErrorTip]=\"'REQUIRED_FIELD' | translate\">\r\n <nz-input-group\r\n [nzSuffix]=\"\r\n !CurrentPasswordVisible ? suffixTemplateShowCurrentPassword : suffixTemplateHiddenCurrentPassword\r\n \"\r\n >\r\n <input\r\n nz-input\r\n type=\"{{ CurrentPasswordType }}\"\r\n formControlName=\"CurrentPassword\"\r\n id=\"CurrentPassword\"\r\n />\r\n </nz-input-group>\r\n <ng-template #suffixTemplateShowCurrentPassword>\r\n <nz-icon\r\n nzType=\"eye\"\r\n nzTheme=\"outline\"\r\n nz-tooltip\r\n nzTooltipTitle=\"{{ 'SHOW' | translate }}\"\r\n nzTooltipPlacement=\"right\"\r\n (click)=\"CurrentPasswordVisible = !CurrentPasswordVisible; CurrentPasswordType = 'text'\"\r\n />\r\n </ng-template>\r\n <ng-template #suffixTemplateHiddenCurrentPassword>\r\n <nz-icon\r\n nzType=\"eye-invisible\"\r\n nzTheme=\"outline\"\r\n nz-tooltip\r\n nzTooltipTitle=\"{{ 'HIDDEN' | translate }}\"\r\n nzTooltipPlacement=\"right\"\r\n (click)=\"CurrentPasswordVisible = !CurrentPasswordVisible; CurrentPasswordType = 'password'\"\r\n />\r\n </ng-template>\r\n </nz-form-control>\r\n </nz-form-item>\r\n\r\n <nz-form-item>\r\n <nz-form-label [nzSpan]=\"10\" [nzFor]=\"'NewPassword'\" nzNoColon nzLabelWrap nzRequired>\r\n M\u1EADt kh\u1EA9u m\u1EDBi\r\n </nz-form-label>\r\n <nz-form-control [nzErrorTip]=\"NewPasswordErrorTpl\">\r\n <nz-input-group\r\n [nzSuffix]=\"!NewPasswordVisible ? suffixTemplateShowNewPassword : suffixTemplateHiddenNewPassword\"\r\n >\r\n <input nz-input type=\"{{ NewPasswordType }}\" formControlName=\"NewPassword\" id=\"NewPassword\" />\r\n </nz-input-group>\r\n <ng-template #suffixTemplateShowNewPassword>\r\n <nz-icon\r\n nzType=\"eye\"\r\n nzTheme=\"outline\"\r\n nz-tooltip\r\n nzTooltipTitle=\"{{ 'SHOW' | translate }}\"\r\n nzTooltipPlacement=\"right\"\r\n (click)=\"NewPasswordVisible = !NewPasswordVisible; NewPasswordType = 'text'\"\r\n />\r\n </ng-template>\r\n <ng-template #suffixTemplateHiddenNewPassword>\r\n <nz-icon\r\n nzType=\"eye-invisible\"\r\n nzTheme=\"outline\"\r\n nz-tooltip\r\n nzTooltipTitle=\"{{ 'HIDDEN' | translate }}\"\r\n nzTooltipPlacement=\"right\"\r\n (click)=\"NewPasswordVisible = !NewPasswordVisible; NewPasswordType = 'password'\"\r\n />\r\n </ng-template>\r\n <ng-template #NewPasswordErrorTpl let-control>\r\n @if (control.errors?.[\"required\"]) {\r\n {{ \"REQUIRED_FIELD\" | translate }}\r\n }\r\n @if (control.errors?.[\"minlength\"]) {\r\n M\u1EADt kh\u1EA9u d\u00E0i t\u1ED1i thi\u1EC3u 6 k\u00FD t\u1EF1\r\n }\r\n </ng-template>\r\n </nz-form-control>\r\n </nz-form-item>\r\n\r\n <nz-form-item>\r\n <nz-form-label [nzSpan]=\"10\" [nzFor]=\"'ConfirmPassword'\" nzNoColon nzLabelWrap nzRequired>\r\n X\u00E1c nh\u1EADn m\u1EADt kh\u1EA9u m\u1EDBi\r\n </nz-form-label>\r\n <nz-form-control [nzErrorTip]=\"ConfirmPasswordErrorTpl\">\r\n <nz-input-group\r\n [nzSuffix]=\"\r\n !ConfirmPasswordVisible ? suffixTemplateShowConfirmPassword : suffixTemplateHiddenConfirmPassword\r\n \"\r\n >\r\n <input\r\n nz-input\r\n type=\"{{ ConfirmPasswordType }}\"\r\n formControlName=\"ConfirmPassword\"\r\n id=\"ConfirmPassword\"\r\n />\r\n </nz-input-group>\r\n <ng-template #suffixTemplateShowConfirmPassword>\r\n <nz-icon\r\n nzType=\"eye\"\r\n nzTheme=\"outline\"\r\n nz-tooltip\r\n nzTooltipTitle=\"{{ 'SHOW' | translate }}\"\r\n nzTooltipPlacement=\"right\"\r\n (click)=\"ConfirmPasswordVisible = !ConfirmPasswordVisible; ConfirmPasswordType = 'text'\"\r\n />\r\n </ng-template>\r\n <ng-template #suffixTemplateHiddenConfirmPassword>\r\n <nz-icon\r\n nzType=\"eye-invisible\"\r\n nzTheme=\"outline\"\r\n nz-tooltip\r\n nzTooltipTitle=\"{{ 'HIDDEN' | translate }}\"\r\n nzTooltipPlacement=\"right\"\r\n (click)=\"ConfirmPasswordVisible = !ConfirmPasswordVisible; ConfirmPasswordType = 'password'\"\r\n />\r\n </ng-template>\r\n <ng-template #ConfirmPasswordErrorTpl let-control>\r\n @if (control.errors?.[\"required\"]) {\r\n {{ \"REQUIRED_FIELD\" | translate }}\r\n }\r\n @if (control.errors?.[\"passwordMismatch\"]) {\r\n M\u1EADt kh\u1EA9u kh\u00F4ng kh\u1EDBp\r\n }\r\n </ng-template>\r\n </nz-form-control>\r\n </nz-form-item>\r\n </div>\r\n </div>\r\n\r\n <button nz-button nzType=\"primary\">\u0110\u1ED5i m\u1EADt kh\u1EA9u</button>\r\n </form>\r\n </nz-tab>\r\n\r\n <nz-tab [nzTitle]=\"'Giao di\u1EC7n'\">\r\n <div nz-row>\r\n <extend-checkbox\r\n nz-col\r\n [nzSpan]=\"6\"\r\n [label]=\"'High contrast'\"\r\n [labelSpan]=\"0\"\r\n [(_ngModel)]=\"isHighContrast\"\r\n (_ngModelChange)=\"onChangeHighContrast()\"\r\n ></extend-checkbox>\r\n\r\n <extend-input\r\n nz-col\r\n [nzSpan]=\"6\"\r\n [label]=\"'Side width'\"\r\n [(_ngModel)]=\"sideWidth\"\r\n (_ngModelChange)=\"onChangeSideWidth()\"\r\n ></extend-input>\r\n </div>\r\n\r\n <div nz-row [nzGutter]=\"16\">\r\n <div nz-col>\r\n Theme color:\r\n <nz-color-picker\r\n nzShowText\r\n [ngModel]=\"\r\n profileService.userProfile[profileService.KEY_THEME_COLOR] ||\r\n profileService.themecf[profileService.KEY_THEME_COLOR] ||\r\n profileService.DEFAULT_THEME_COLOR\r\n \"\r\n (ngModelChange)=\"\r\n profileService.updateUserProfile(profileService.KEY_THEME_COLOR, $event); profileService.loadTheme()\r\n \"\r\n ></nz-color-picker>\r\n </div>\r\n </div>\r\n\r\n <div nz-row [nzGutter]=\"16\">\r\n <div nz-col>\r\n Theme menu color:\r\n <nz-color-picker\r\n nzShowText\r\n [ngModel]=\"\r\n profileService.userProfile[profileService.KEY_THEME_MENU_COLOR] ||\r\n profileService.themecf[profileService.KEY_THEME_MENU_COLOR] ||\r\n profileService.DEFAULT_THEME_MENU_COLOR\r\n \"\r\n (ngModelChange)=\"\r\n profileService.updateUserProfile(profileService.KEY_THEME_MENU_COLOR, $event); profileService.loadTheme()\r\n \"\r\n ></nz-color-picker>\r\n </div>\r\n </div>\r\n\r\n <div nz-row [nzGutter]=\"16\">\r\n <div nz-col>\r\n <button type=\"button\" nz-button nzType=\"primary\" nzDanger (click)=\"profileService.resetTheme()\">\r\n Reset Theme\r\n </button>\r\n </div>\r\n </div>\r\n </nz-tab>\r\n <!-- <nz-tab [nzTitle]=\"'Tab3'\"> Tab3 </nz-tab> -->\r\n</nz-tabset>\r\n" }]
10460
10470
  }] });
10461
10471
 
10472
+ const URLs = {
10473
+ getById: '/api/App_Sequence/GetById',
10474
+ getAll: '/api/App_Sequence/GetAll',
10475
+ getList: '/api/App_Sequence/GetList',
10476
+ getPaging: '/api/App_Sequence/GetPaging',
10477
+ addOrEdit: '/api/App_Sequence/AddOrEdit',
10478
+ delete: '/api/App_Sequence/Delete',
10479
+ };
10480
+ class SequenceService extends HTTPService {
10481
+ commonService = inject(CommonService);
10482
+ getById(id) {
10483
+ const params = new HttpParams().append('id', id);
10484
+ return this.postParams(AppGlobals.apiEndpoint + URLs.getById, params);
10485
+ }
10486
+ getAll() {
10487
+ return this.post(AppGlobals.apiEndpoint + URLs.getAll);
10488
+ }
10489
+ getList(filter) {
10490
+ return this.postData(AppGlobals.apiEndpoint + URLs.getList, filter);
10491
+ }
10492
+ getPaging(filter) {
10493
+ return this.commonService.ESP({
10494
+ SPN: 'App_Sequence_getPaging',
10495
+ Params: [filter],
10496
+ });
10497
+ }
10498
+ addOrEdit(obj) {
10499
+ return this.commonService.ESP({
10500
+ SPN: 'App_Sequence_addOrEdit',
10501
+ Params: [obj],
10502
+ });
10503
+ }
10504
+ delete(id) {
10505
+ const params = new HttpParams().append('id', id);
10506
+ return this.postParams(AppGlobals.apiEndpoint + URLs.delete, params);
10507
+ }
10508
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: SequenceService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
10509
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: SequenceService, providedIn: 'root' });
10510
+ }
10511
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: SequenceService, decorators: [{
10512
+ type: Injectable,
10513
+ args: [{
10514
+ providedIn: 'root',
10515
+ }]
10516
+ }] });
10517
+
10518
+ class App_Sequence {
10519
+ // #region properties
10520
+ App_Sequence_Id;
10521
+ App_Org_Id;
10522
+ IsActive;
10523
+ CreatedDate;
10524
+ CreatedUser;
10525
+ UpdatedDate;
10526
+ UpdatedUser;
10527
+ Code;
10528
+ Type;
10529
+ Prefix;
10530
+ Suffix;
10531
+ Length;
10532
+ SeqStartAt;
10533
+ Description;
10534
+ // #endregion properties
10535
+ constructor(obj) {
10536
+ obj = obj || {};
10537
+ this.App_Sequence_Id = obj.App_Sequence_Id || '';
10538
+ this.App_Org_Id = obj.App_Org_Id || '';
10539
+ this.IsActive = obj.IsActive || false;
10540
+ this.CreatedDate = obj.CreatedDate || null;
10541
+ this.CreatedUser = obj.CreatedUser || '';
10542
+ this.UpdatedDate = obj.UpdatedDate || null;
10543
+ this.UpdatedUser = obj.UpdatedUser || '';
10544
+ this.Code = obj.Code || '';
10545
+ this.Type = obj.Type || '';
10546
+ this.Prefix = obj.Prefix || '';
10547
+ this.Suffix = obj.Suffix || '';
10548
+ this.Length = obj.Length || null;
10549
+ this.SeqStartAt = obj.SeqStartAt || 0;
10550
+ this.Description = obj.Description || '';
10551
+ }
10552
+ }
10553
+ class App_SequenceFilter extends GridFilter {
10554
+ Code;
10555
+ }
10556
+
10557
+ class SequenceListComponent extends BaseComponent {
10558
+ service = inject(SequenceService);
10559
+ data = new PagingData();
10560
+ filter = new App_SequenceFilter();
10561
+ ngOnInit() {
10562
+ this.filter = this.AppGlobals.getFilter(App_SequenceFilter.name) || new App_SequenceFilter();
10563
+ this.getData();
10564
+ Breadcrumb.lstBreadcrumb = [
10565
+ {
10566
+ Name: 'Sequence',
10567
+ Click: () => this.getData(),
10568
+ },
10569
+ {
10570
+ Name: 'Danh sách',
10571
+ Click: () => this.getData(),
10572
+ },
10573
+ ];
10574
+ }
10575
+ ngOnDestroy() {
10576
+ this.AppGlobals.setFilter(App_SequenceFilter.name, this.filter);
10577
+ Breadcrumb.lstBreadcrumb = [];
10578
+ }
10579
+ search() {
10580
+ this.filter.PageIndex = 0;
10581
+ this.getData();
10582
+ }
10583
+ getData() {
10584
+ this.service.getPaging(this.filter).then((res) => {
10585
+ this.data = new PagingData(res.Data);
10586
+ }, (err) => this.handleError(err));
10587
+ }
10588
+ edit(item) {
10589
+ if (item) {
10590
+ this.goto(`/admin/sequence/${item.App_Sequence_Id}`);
10591
+ }
10592
+ else {
10593
+ this.goto(`/admin/sequence/new`);
10594
+ }
10595
+ }
10596
+ delete(item) {
10597
+ this.service.delete(item.App_Sequence_Id).then((res) => {
10598
+ this.notiService.success(this.translate.instant(this.TranslateKey.DELETE_SUCCESS));
10599
+ this.getData();
10600
+ }, (err) => this.handleError(err));
10601
+ }
10602
+ onQueryParamsChange(pageIndex, pageSize) {
10603
+ this.filter.PageIndex = pageIndex;
10604
+ this.filter.PageSize = pageSize;
10605
+ this.getData();
10606
+ }
10607
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: SequenceListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
10608
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.7", type: SequenceListComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div nz-row [nzGutter]=\"[0, 8]\">\r\n <div nz-col nzSpan=\"24\">\r\n <div nz-flex nzJustify=\"end\">\r\n <div nz-flex nzGap=\"small\">\r\n <button-add (click)=\"edit(null)\"></button-add>\r\n <button-search (click)=\"search()\"></button-search>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div nz-col nzSpan=\"24\">\r\n <nz-table\r\n #table\r\n [nzData]=\"data.LstItem || []\"\r\n [nzBordered]=\"true\"\r\n [nzSize]=\"'small'\"\r\n [nzShowSizeChanger]=\"true\"\r\n [nzFrontPagination]=\"false\"\r\n >\r\n <thead>\r\n <tr>\r\n <th>#</th>\r\n <th>Code</th>\r\n <th>Type</th>\r\n <th>Prefix</th>\r\n <th>Suffix</th>\r\n <th>Length</th>\r\n <th>Start at</th>\r\n <th>Description</th>\r\n <th>Active</th>\r\n <th>Action</th>\r\n </tr>\r\n <tr class=\"tr-search\" (keyup.enter)=\"search()\">\r\n <th></th>\r\n <th>\r\n <extend-input size=\"small\" [(_ngModel)]=\"filter.Code\"></extend-input>\r\n </th>\r\n <th></th>\r\n <th></th>\r\n <th></th>\r\n <th></th>\r\n <th></th>\r\n <th></th>\r\n <th></th>\r\n <th></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @for (row of table.data; track $index; let i = $index) {\r\n <tr>\r\n <td>{{ i + 1 + filter.PageIndex * filter.PageSize }}</td>\r\n <td>{{ row.Code }}</td>\r\n <td>{{ row.Type }}</td>\r\n <td>{{ row.Prefix }}</td>\r\n <td>{{ row.Suffix }}</td>\r\n <td>{{ row.Length }}</td>\r\n <td>{{ row.SeqStartAt }}</td>\r\n <td>{{ row.Description }}</td>\r\n <td class=\"center\">\r\n @if (row.IsActive) {\r\n <nz-icon nzType=\"check-circle\" nzTheme=\"outline\" class=\"color-primary\" />\r\n }\r\n </td>\r\n <td class=\"center\">\r\n <icon-edit></icon-edit>\r\n <box [width]=\"4\"></box>\r\n <icon-delete></icon-delete>\r\n </td>\r\n </tr>\r\n }\r\n </tbody>\r\n </nz-table>\r\n </div>\r\n <div nz-col nzSpan=\"24\">\r\n <div nz-row nzJustify=\"end\">\r\n <nz-pagination\r\n [nzSize]=\"'small'\"\r\n [nzPageIndex]=\"filter.PageIndex + 1\"\r\n [nzPageSize]=\"filter.PageSize\"\r\n [nzTotal]=\"data.TotalCount || 0\"\r\n [nzShowSizeChanger]=\"true\"\r\n [nzShowTotal]=\"showTotalTpl\"\r\n [nzPageSizeOptions]=\"AppGlobals.pageSizeOptions\"\r\n (nzPageIndexChange)=\"onQueryParamsChange($event - 1, filter.PageSize)\"\r\n (nzPageSizeChange)=\"onQueryParamsChange(filter.PageIndex, $event)\"\r\n >\r\n </nz-pagination>\r\n\r\n <ng-template #showTotalTpl let-total let-range=\"range\">\r\n {{ range[0] | number }} - {{ range[1] | number }} / {{ total | number }}\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "component", type: ButtonSearch, selector: "button-search" }, { kind: "component", type: ButtonAdd, selector: "button-add" }, { kind: "ngmodule", type: NzGridModule }, { kind: "directive", type: i2.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { kind: "directive", type: i2.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "ngmodule", type: NzFlexModule }, { kind: "directive", type: i3$4.NzFlexDirective, selector: "[nz-flex],nz-flex", inputs: ["nzVertical", "nzJustify", "nzAlign", "nzGap", "nzWrap", "nzFlex"], exportAs: ["nzFlex"] }, { kind: "ngmodule", type: NzTableModule }, { kind: "component", type: i14.NzTableComponent, selector: "nz-table", inputs: ["nzTableLayout", "nzShowTotal", "nzItemRender", "nzTitle", "nzFooter", "nzNoResult", "nzPageSizeOptions", "nzVirtualItemSize", "nzVirtualMaxBufferPx", "nzVirtualMinBufferPx", "nzVirtualForTrackBy", "nzLoadingDelay", "nzPageIndex", "nzPageSize", "nzTotal", "nzWidthConfig", "nzData", "nzCustomColumn", "nzPaginationPosition", "nzScroll", "noDataVirtualHeight", "nzPaginationType", "nzFrontPagination", "nzTemplateMode", "nzShowPagination", "nzLoading", "nzOuterBordered", "nzLoadingIndicator", "nzBordered", "nzSize", "nzShowSizeChanger", "nzHideOnSinglePage", "nzShowQuickJumper", "nzSimple"], outputs: ["nzPageSizeChange", "nzPageIndexChange", "nzQueryParams", "nzCurrentPageDataChange", "nzCustomColumnChange"], exportAs: ["nzTable"] }, { kind: "directive", type: i14.NzTableCellDirective, selector: "th:not(.nz-disable-th):not([mat-cell]), td:not(.nz-disable-td):not([mat-cell])" }, { kind: "directive", type: i14.NzThMeasureDirective, selector: "th", inputs: ["nzWidth", "colspan", "colSpan", "rowspan", "rowSpan"] }, { kind: "component", type: i14.NzTheadComponent, selector: "thead:not(.ant-table-thead)", outputs: ["nzSortOrderChange"] }, { kind: "component", type: i14.NzTbodyComponent, selector: "tbody" }, { kind: "directive", type: i14.NzTrDirective, selector: "tr:not([mat-row]):not([mat-header-row]):not([nz-table-measure-row]):not([nzExpand]):not([nz-table-fixed-row])" }, { kind: "component", type: ExtendInput, selector: "extend-input", inputs: ["label", "floatingLabel", "placeHolder", "labelAlign", "inputClass", "labelSpan", "labelFlex", "inputFlex", "showClear", "disabled", "readOnly", "required", "noBottom", "selectModeType", "autocomplete", "autofocus", "inputWidth", "inputHeight", "borderBottomOnly", "displayInline", "size", "lstItem", "displayField", "valueField", "formData", "controlName", "_ngModel", "isSubmited"], outputs: ["_ngModelChange", "onclickClearIcon", "onenter"] }, { kind: "ngmodule", type: NzIconModule }, { kind: "directive", type: i1$2.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "component", type: IconEdit, selector: "icon-edit", inputs: ["size"], outputs: ["click"] }, { kind: "component", type: Box, selector: "box", inputs: ["display", "width", "height"] }, { kind: "component", type: IconDelete, selector: "icon-delete", inputs: ["size"], outputs: ["click"] }, { kind: "ngmodule", type: NzPaginationModule }, { kind: "component", type: i5$3.NzPaginationComponent, selector: "nz-pagination", inputs: ["nzShowTotal", "nzItemRender", "nzSize", "nzPageSizeOptions", "nzShowSizeChanger", "nzShowQuickJumper", "nzSimple", "nzDisabled", "nzResponsive", "nzHideOnSinglePage", "nzTotal", "nzPageIndex", "nzPageSize"], outputs: ["nzPageSizeChange", "nzPageIndexChange"], exportAs: ["nzPagination"] }, { kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$3.DecimalPipe, name: "number" }] });
10609
+ }
10610
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: SequenceListComponent, decorators: [{
10611
+ type: Component,
10612
+ args: [{ imports: [
10613
+ ButtonSearch,
10614
+ ButtonAdd,
10615
+ NzGridModule,
10616
+ NzFlexModule,
10617
+ NzTableModule,
10618
+ ExtendInput,
10619
+ NzIconModule,
10620
+ IconEdit,
10621
+ Box,
10622
+ IconDelete,
10623
+ NzPaginationModule,
10624
+ CommonModule,
10625
+ ], template: "<div nz-row [nzGutter]=\"[0, 8]\">\r\n <div nz-col nzSpan=\"24\">\r\n <div nz-flex nzJustify=\"end\">\r\n <div nz-flex nzGap=\"small\">\r\n <button-add (click)=\"edit(null)\"></button-add>\r\n <button-search (click)=\"search()\"></button-search>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div nz-col nzSpan=\"24\">\r\n <nz-table\r\n #table\r\n [nzData]=\"data.LstItem || []\"\r\n [nzBordered]=\"true\"\r\n [nzSize]=\"'small'\"\r\n [nzShowSizeChanger]=\"true\"\r\n [nzFrontPagination]=\"false\"\r\n >\r\n <thead>\r\n <tr>\r\n <th>#</th>\r\n <th>Code</th>\r\n <th>Type</th>\r\n <th>Prefix</th>\r\n <th>Suffix</th>\r\n <th>Length</th>\r\n <th>Start at</th>\r\n <th>Description</th>\r\n <th>Active</th>\r\n <th>Action</th>\r\n </tr>\r\n <tr class=\"tr-search\" (keyup.enter)=\"search()\">\r\n <th></th>\r\n <th>\r\n <extend-input size=\"small\" [(_ngModel)]=\"filter.Code\"></extend-input>\r\n </th>\r\n <th></th>\r\n <th></th>\r\n <th></th>\r\n <th></th>\r\n <th></th>\r\n <th></th>\r\n <th></th>\r\n <th></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @for (row of table.data; track $index; let i = $index) {\r\n <tr>\r\n <td>{{ i + 1 + filter.PageIndex * filter.PageSize }}</td>\r\n <td>{{ row.Code }}</td>\r\n <td>{{ row.Type }}</td>\r\n <td>{{ row.Prefix }}</td>\r\n <td>{{ row.Suffix }}</td>\r\n <td>{{ row.Length }}</td>\r\n <td>{{ row.SeqStartAt }}</td>\r\n <td>{{ row.Description }}</td>\r\n <td class=\"center\">\r\n @if (row.IsActive) {\r\n <nz-icon nzType=\"check-circle\" nzTheme=\"outline\" class=\"color-primary\" />\r\n }\r\n </td>\r\n <td class=\"center\">\r\n <icon-edit></icon-edit>\r\n <box [width]=\"4\"></box>\r\n <icon-delete></icon-delete>\r\n </td>\r\n </tr>\r\n }\r\n </tbody>\r\n </nz-table>\r\n </div>\r\n <div nz-col nzSpan=\"24\">\r\n <div nz-row nzJustify=\"end\">\r\n <nz-pagination\r\n [nzSize]=\"'small'\"\r\n [nzPageIndex]=\"filter.PageIndex + 1\"\r\n [nzPageSize]=\"filter.PageSize\"\r\n [nzTotal]=\"data.TotalCount || 0\"\r\n [nzShowSizeChanger]=\"true\"\r\n [nzShowTotal]=\"showTotalTpl\"\r\n [nzPageSizeOptions]=\"AppGlobals.pageSizeOptions\"\r\n (nzPageIndexChange)=\"onQueryParamsChange($event - 1, filter.PageSize)\"\r\n (nzPageSizeChange)=\"onQueryParamsChange(filter.PageIndex, $event)\"\r\n >\r\n </nz-pagination>\r\n\r\n <ng-template #showTotalTpl let-total let-range=\"range\">\r\n {{ range[0] | number }} - {{ range[1] | number }} / {{ total | number }}\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
10626
+ }] });
10627
+
10628
+ // export { SequenceDetailComponent } from './sequence/detail/sequence-detail';
10629
+ // export { CacheListComponent } from './cache/list/cache-list.component';
10630
+
10462
10631
  class HasPermissionPipe {
10463
10632
  permissionService;
10464
10633
  static debug = false;
@@ -10852,6 +11021,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImpor
10852
11021
  args: ['blur']
10853
11022
  }] } });
10854
11023
 
11024
+ class LimitLettersPipe {
11025
+ transform(value, limit = 3) {
11026
+ if (!value)
11027
+ return '';
11028
+ // Nếu độ dài chuỗi thực tế nhỏ hơn hoặc bằng limit thì giữ nguyên
11029
+ if (value.length <= limit) {
11030
+ return value;
11031
+ }
11032
+ // Cắt chuỗi từ index 0 đến vị trí limit và thêm '...'
11033
+ return value.slice(0, limit) + '...';
11034
+ }
11035
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: LimitLettersPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
11036
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.1.7", ngImport: i0, type: LimitLettersPipe, isStandalone: true, name: "limitLetters" });
11037
+ }
11038
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: LimitLettersPipe, decorators: [{
11039
+ type: Pipe,
11040
+ args: [{
11041
+ name: 'limitLetters',
11042
+ }]
11043
+ }] });
11044
+
10855
11045
  class LimitWordsPipe {
10856
11046
  transform(value, limit = 3) {
10857
11047
  if (!value)
@@ -10869,6 +11059,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImpor
10869
11059
  }]
10870
11060
  }] });
10871
11061
 
11062
+ class DurationFormatPipe {
11063
+ transform(minutes) {
11064
+ if (minutes === null || minutes === undefined)
11065
+ return '';
11066
+ // Xử lý case không hết hạn (TTL = -1)
11067
+ if (minutes < 0)
11068
+ return 'Vĩnh viễn';
11069
+ if (minutes < 60) {
11070
+ return `${minutes} phút`;
11071
+ }
11072
+ const MINS_IN_DAY = 60 * 24;
11073
+ const days = Math.floor(minutes / MINS_IN_DAY);
11074
+ const hours = Math.floor((minutes % MINS_IN_DAY) / 60);
11075
+ const remainingMins = minutes % 60;
11076
+ const parts = [];
11077
+ if (days > 0) {
11078
+ parts.push(`${days} ngày`);
11079
+ }
11080
+ if (hours > 0) {
11081
+ parts.push(`${hours} giờ`);
11082
+ }
11083
+ // Nếu đã hiển thị số ngày (VD: 365 ngày) thì ẩn số phút lẻ đi cho bảng đỡ rối rắm
11084
+ if (remainingMins > 0 && days === 0) {
11085
+ parts.push(`${remainingMins} phút`);
11086
+ }
11087
+ // Trả về chuỗi ghép lại hoặc "0 phút" nếu tất cả bằng 0
11088
+ return parts.length > 0 ? parts.join(' ') : '0 phút';
11089
+ }
11090
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: DurationFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
11091
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.1.7", ngImport: i0, type: DurationFormatPipe, isStandalone: true, name: "durationFormat" });
11092
+ }
11093
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: DurationFormatPipe, decorators: [{
11094
+ type: Pipe,
11095
+ args: [{
11096
+ name: 'durationFormat',
11097
+ }]
11098
+ }] });
11099
+
10872
11100
  class XLSXHelper {
10873
11101
  static readExcelFileToObjects(file, columnCount, readAllSheets) {
10874
11102
  return new Promise((resolve, reject) => {
@@ -11809,5 +12037,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImpor
11809
12037
  * Generated bundle index. Do not edit.
11810
12038
  */
11811
12039
 
11812
- export { ABAC_RULES_TOKEN, ActionRule, ActionRuleLine, AnimatedDigitComponent, AppGlobals, AppStorage, App_Dic_Domain, App_Dic_DomainFilter, App_File, App_Menu$1 as App_Menu, App_Org, App_Role, App_Role_Menu_Ref, App_Setting, App_SettingFilter, App_User, AuthGuard, AuthService, AutoFocusDirective, BarGraphComponent, BaseComponent, BaseGuardChangeComponent, BaseOverlayComponent, Box, Breadcrumb, CheckModel, CommonService, CustomNotiComponent, CustomNotiService, DashcardComponent, DateInputParserDirective, DateTimeHelper, DicDomainListComponent, DicDomainPipe, DicDomainSelectComponent, DicDomainService, DoughnutGraphComponent, DownloadHelper, ENUM_ResponseType, ExpandableSearchComponent, ExtendCheckbox, ExtendDatePicker, ExtendDateRangePicker, ExtendInput, ExtendInputNumber, ExtendPaginationComponent, ExtendSelectComponent, ExtendTableComponent, ExtendTextArea, FileFilter, FileListComponent, FileService, GlobalSpinnerComponent, GridFilter, H3Icon, HTTPService, HasPermissionDirective, HasPermissionPipe, Height, HideIfErrorDirective, HighlightPipe, IconAdd, IconCheck, IconClose, IconDelete, IconEdit, IconSave, IconSearch, IconView, LayoutComponent, LimitWordsPipe, LineGraphComponent, LoadingService, LoginComponent, MenuDetailComponent, MenuFilter, MenuListComponent, MenuService, NoPermission, NotiService, NullIfEmptyDirective, NumberOnlyDirective, OrderOption, OrgDetailComponent, OrgFilter, OrgListComponent, OrgService, PagingData, PagingModel, PdfViewerComponent, PermissionComponent, PermissionService$1 as PermissionService, ReadMoreProComponent, RoleDetailComponent, RoleFilter, RoleListComponent, RoleService, RouteMonitorService, SessionManagerService, SettingListComponent, SettingService$1 as SettingService, TableHeader, ThemeService, TokenStorage, TranslateKey, URLs$8 as URLs, UnsavedChangesGuard, UpperCaseFirsLetterEachWordDirective, UppercaseDirective, UppercaseFirstLetterDirective, UserDetailComponent, UserFilter, UserListComponent, UserProfileComponent, UserProfileService, UserService, VscService, WF_TemplateActionRef, WF_TransitionRule, WF_TransitionRuleLine, Width, Workflow, WorkflowAction, WorkflowActionEditorOption, WorkflowActionRef, WorkflowEditorComponent, WorkflowEditorOption, WorkflowStage, WorkflowStageEditorOption, XLSXHelper, authInterceptor };
12040
+ export { ABAC_RULES_TOKEN, ActionRule, ActionRuleLine, AnimatedDigitComponent, AppGlobals, AppStorage, App_Dic_Domain, App_Dic_DomainFilter, App_File, App_Menu$1 as App_Menu, App_Org, App_Role, App_Role_Menu_Ref, App_Setting, App_SettingFilter, App_User, AuthGuard, AuthService, AutoFocusDirective, BarGraphComponent, BaseComponent, BaseGuardChangeComponent, BaseOverlayComponent, Box, Breadcrumb, CheckModel, CommonService, CustomNotiComponent, CustomNotiService, DashcardComponent, DateInputParserDirective, DateTimeHelper, DicDomainListComponent, DicDomainPipe, DicDomainSelectComponent, DicDomainService, DoughnutGraphComponent, DownloadHelper, DurationFormatPipe, ENUM_ResponseType, ExpandableSearchComponent, ExtendCheckbox, ExtendDatePicker, ExtendDateRangePicker, ExtendInput, ExtendInputNumber, ExtendPaginationComponent, ExtendSelectComponent, ExtendTableComponent, ExtendTextArea, FileFilter, FileListComponent, FileService, GlobalSpinnerComponent, GridFilter, H3Icon, HTTPService, HasPermissionDirective, HasPermissionPipe, Height, HideIfErrorDirective, HighlightPipe, IconAdd, IconCheck, IconClose, IconDelete, IconEdit, IconSave, IconSearch, IconView, LayoutComponent, LimitLettersPipe, LimitWordsPipe, LineGraphComponent, LoadingService, LoginComponent, MenuDetailComponent, MenuFilter, MenuListComponent, MenuService, NoPermission, NotiService, NullIfEmptyDirective, NumberOnlyDirective, OrderOption, OrgDetailComponent, OrgFilter, OrgListComponent, OrgService, PagingData, PagingModel, PdfViewerComponent, PermissionComponent, PermissionService$1 as PermissionService, ReadMoreProComponent, RoleDetailComponent, RoleFilter, RoleListComponent, RoleService, RouteMonitorService, SequenceListComponent, SessionManagerService, SettingListComponent, SettingService$1 as SettingService, TableHeader, ThemeService, TokenStorage, TranslateKey, URLs$9 as URLs, UnsavedChangesGuard, UpperCaseFirsLetterEachWordDirective, UppercaseDirective, UppercaseFirstLetterDirective, UserDetailComponent, UserFilter, UserListComponent, UserProfileComponent, UserProfileService, UserService, VscService, WF_TemplateActionRef, WF_TransitionRule, WF_TransitionRuleLine, Width, Workflow, WorkflowAction, WorkflowActionEditorOption, WorkflowActionRef, WorkflowEditorComponent, WorkflowEditorOption, WorkflowStage, WorkflowStageEditorOption, XLSXHelper, authInterceptor };
11813
12041
  //# sourceMappingURL=brggroup-share-lib.mjs.map