@c10t/nice-component-library 0.0.36 → 0.0.38

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.
@@ -28,6 +28,7 @@ export declare class CvaFlatTreeComponent implements ControlValueAccessor, OnIni
28
28
  /** height of node view */
29
29
  itemSize: number;
30
30
  paddingLeft: number;
31
+ ignoreCountValue: any[];
31
32
  percentOfLabelOutside: number;
32
33
  treeConfig?: FlatTreeConfigModel;
33
34
  isSearchOutSide: boolean;
@@ -94,5 +95,5 @@ export declare class CvaFlatTreeComponent implements ControlValueAccessor, OnIni
94
95
  private _isExpandable;
95
96
  private _getChildren;
96
97
  static ɵfac: i0.ɵɵFactoryDeclaration<CvaFlatTreeComponent, [null, null, null, { optional: true; self: true; }]>;
97
- static ɵcmp: i0.ɵɵComponentDeclaration<CvaFlatTreeComponent, "cva-flat-tree", never, { "label": { "alias": "label"; "required": false; }; "required": { "alias": "required"; "required": false; }; "value": { "alias": "value"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "isView": { "alias": "isView"; "required": false; }; "isDisplayChooseTreeOnly": { "alias": "isDisplayChooseTreeOnly"; "required": false; }; "isHideCheckbox": { "alias": "isHideCheckbox"; "required": false; }; "isCollapseSelected": { "alias": "isCollapseSelected"; "required": false; }; "selectedLabelTitle": { "alias": "selectedLabelTitle"; "required": false; }; "viewHeight": { "alias": "viewHeight"; "required": false; }; "itemSize": { "alias": "itemSize"; "required": false; }; "percentOfLabelOutside": { "alias": "percentOfLabelOutside"; "required": false; }; "treeConfig": { "alias": "treeConfig"; "required": false; }; "isSearchOutSide": { "alias": "isSearchOutSide"; "required": false; }; "searchTextOutSide": { "alias": "searchTextOutSide"; "required": false; }; "errorMessages": { "alias": "errorMessages"; "required": false; }; "fullDatasource": { "alias": "fullDatasource"; "required": false; }; "nodeClicked": { "alias": "nodeClicked"; "required": false; }; "isFormControl": { "alias": "isFormControl"; "required": false; }; }, { "selectionChange": "selectionChange"; "onNodeClick": "onNodeClick"; }, never, never, false, never>;
98
+ static ɵcmp: i0.ɵɵComponentDeclaration<CvaFlatTreeComponent, "cva-flat-tree", never, { "label": { "alias": "label"; "required": false; }; "required": { "alias": "required"; "required": false; }; "value": { "alias": "value"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "isView": { "alias": "isView"; "required": false; }; "isDisplayChooseTreeOnly": { "alias": "isDisplayChooseTreeOnly"; "required": false; }; "isHideCheckbox": { "alias": "isHideCheckbox"; "required": false; }; "isCollapseSelected": { "alias": "isCollapseSelected"; "required": false; }; "selectedLabelTitle": { "alias": "selectedLabelTitle"; "required": false; }; "viewHeight": { "alias": "viewHeight"; "required": false; }; "itemSize": { "alias": "itemSize"; "required": false; }; "ignoreCountValue": { "alias": "ignoreCountValue"; "required": false; }; "percentOfLabelOutside": { "alias": "percentOfLabelOutside"; "required": false; }; "treeConfig": { "alias": "treeConfig"; "required": false; }; "isSearchOutSide": { "alias": "isSearchOutSide"; "required": false; }; "searchTextOutSide": { "alias": "searchTextOutSide"; "required": false; }; "errorMessages": { "alias": "errorMessages"; "required": false; }; "fullDatasource": { "alias": "fullDatasource"; "required": false; }; "nodeClicked": { "alias": "nodeClicked"; "required": false; }; "isFormControl": { "alias": "isFormControl"; "required": false; }; }, { "selectionChange": "selectionChange"; "onNodeClick": "onNodeClick"; }, never, never, false, never>;
98
99
  }
@@ -7878,45 +7878,44 @@ class CvaFlatTreeNodeLeftComponent {
7878
7878
  }
7879
7879
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: CvaFlatTreeNodeLeftComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7880
7880
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: CvaFlatTreeNodeLeftComponent, isStandalone: false, selector: "cva-flat-tree-node-left", inputs: { treeControl: "treeControl", isHideCheckbox: "isHideCheckbox", node: "node", nodeClicked: "nodeClicked" }, outputs: { toggle: "toggle", onParentNodeClick: "onParentNodeClick", onLeafNodeClick: "onLeafNodeClick", ngModelParentChange: "ngModelParentChange", ngModelLeafChange: "ngModelLeafChange" }, ngImport: i0, template: `
7881
- <ng-container [ngSwitch]="hasChild(node)">
7882
- <ng-container *ngSwitchCase="false">
7883
- <div
7884
- class="label-area {{isHideCheckbox ? 'isClickDiv' : ''}} {{isHideCheckbox && nodeClicked?.value === node.value ? 'nodeSelected': ''}}"
7885
- (click)="onLeafNodeClick.emit()"
7886
- fxLayoutAlign="space-between center">
7887
- <button *ngIf="node.level > 0" type="button" mat-icon-button disabled></button>
7888
- <i *ngIf="node.iconClass" class="{{ node.iconClass }} icon-left"></i>
7889
- {{ node.displayValue }}
7890
- </div>
7891
- <mat-checkbox [(ngModel)]="node.checked"
7892
- [checked]="node.checked"
7893
- (ngModelChange)="ngModelLeafChange.emit($event)"
7894
- [disabled]="checkDisabledNode(node)"
7895
- *ngIf="!isHideCheckbox">
7896
- </mat-checkbox>
7897
- </ng-container>
7898
- <ng-container *ngSwitchCase="true">
7899
- <div
7900
- class="label-area {{isHideCheckbox ? 'isClickDiv' : ''}} {{isHideCheckbox && nodeClicked?.value === node.value ? 'nodeSelected': ''}}"
7901
- fxLayoutAlign="space-between center">
7902
- <button type="button" mat-icon-button (click)="toggle.emit()"
7903
- [attr.aria-label]="'toggle ' + node.displayValue">
7904
- <i class="fas {{(treeControl && treeControl.isExpanded(node)) ? 'fa-chevron-up' : 'fa-chevron-down'}}"></i>
7905
- </button>
7906
- <span (click)="onParentNodeClick.emit()">
7881
+ <ng-container [ngSwitch]="hasChild(node)">
7882
+ <ng-container *ngSwitchCase="false">
7883
+ <div title="{{node.displayValue}}"
7884
+ class="label-area {{isHideCheckbox ? 'isClickDiv' : ''}} {{isHideCheckbox && nodeClicked?.value === node.value ? 'nodeSelected': ''}}"
7885
+ (click)="onLeafNodeClick.emit()"
7886
+ fxLayoutAlign="space-between center">
7887
+ <button *ngIf="node.level > 0" type="button" mat-icon-button disabled></button>
7888
+ <i *ngIf="node.iconClass" class="{{ node.iconClass }} icon-left"></i>
7889
+ {{ node.displayValue }}
7890
+ </div>
7891
+ <mat-checkbox [(ngModel)]="node.checked"
7892
+ [checked]="node.checked"
7893
+ (ngModelChange)="ngModelLeafChange.emit($event)"
7894
+ [disabled]="checkDisabledNode(node)"
7895
+ *ngIf="!isHideCheckbox">
7896
+ </mat-checkbox>
7897
+ </ng-container>
7898
+ <ng-container *ngSwitchCase="true">
7899
+ <div class="label-area {{isHideCheckbox ? 'isClickDiv' : ''}} {{isHideCheckbox && nodeClicked?.value === node.value ? 'nodeSelected': ''}}"
7900
+ fxLayoutAlign="space-between center">
7901
+ <button type="button" mat-icon-button (click)="toggle.emit()"
7902
+ [attr.aria-label]="'toggle ' + node.displayValue">
7903
+ <i class="fas {{(treeControl && treeControl.isExpanded(node)) ? 'fa-chevron-up' : 'fa-chevron-down'}}"></i>
7904
+ </button>
7905
+ <span (click)="onParentNodeClick.emit()" title="{{node.displayValue}}">
7907
7906
  <i *ngIf="node.iconClass" class="{{ node.iconClass }} icon-left"></i>
7908
- {{ node.displayValue }}
7907
+ {{ node.displayValue }}
7909
7908
  </span>
7910
- </div>
7911
- <mat-checkbox [(ngModel)]="node.checked"
7912
- *ngIf="!isHideCheckbox"
7913
- [checked]="descendantsAllSelected(node)"
7914
- [disabled]="onDisabledParent(node) || getDisabledInputFunc(node)"
7915
- [indeterminate]="descendantsPartiallySelected(node)"
7916
- (ngModelChange)="ngModelParentChange.emit($event)">
7917
- </mat-checkbox>
7918
- </ng-container>
7909
+ </div>
7910
+ <mat-checkbox [(ngModel)]="node.checked"
7911
+ *ngIf="!isHideCheckbox"
7912
+ [checked]="descendantsAllSelected(node)"
7913
+ [disabled]="onDisabledParent(node) || getDisabledInputFunc(node)"
7914
+ [indeterminate]="descendantsPartiallySelected(node)"
7915
+ (ngModelChange)="ngModelParentChange.emit($event)">
7916
+ </mat-checkbox>
7919
7917
  </ng-container>
7918
+ </ng-container>
7920
7919
  `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i4.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i8$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }] });
7921
7920
  }
7922
7921
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: CvaFlatTreeNodeLeftComponent, decorators: [{
@@ -7925,45 +7924,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
7925
7924
  selector: 'cva-flat-tree-node-left',
7926
7925
  standalone: false,
7927
7926
  template: `
7928
- <ng-container [ngSwitch]="hasChild(node)">
7929
- <ng-container *ngSwitchCase="false">
7930
- <div
7931
- class="label-area {{isHideCheckbox ? 'isClickDiv' : ''}} {{isHideCheckbox && nodeClicked?.value === node.value ? 'nodeSelected': ''}}"
7932
- (click)="onLeafNodeClick.emit()"
7933
- fxLayoutAlign="space-between center">
7934
- <button *ngIf="node.level > 0" type="button" mat-icon-button disabled></button>
7935
- <i *ngIf="node.iconClass" class="{{ node.iconClass }} icon-left"></i>
7936
- {{ node.displayValue }}
7937
- </div>
7938
- <mat-checkbox [(ngModel)]="node.checked"
7939
- [checked]="node.checked"
7940
- (ngModelChange)="ngModelLeafChange.emit($event)"
7941
- [disabled]="checkDisabledNode(node)"
7942
- *ngIf="!isHideCheckbox">
7943
- </mat-checkbox>
7944
- </ng-container>
7945
- <ng-container *ngSwitchCase="true">
7946
- <div
7947
- class="label-area {{isHideCheckbox ? 'isClickDiv' : ''}} {{isHideCheckbox && nodeClicked?.value === node.value ? 'nodeSelected': ''}}"
7948
- fxLayoutAlign="space-between center">
7949
- <button type="button" mat-icon-button (click)="toggle.emit()"
7950
- [attr.aria-label]="'toggle ' + node.displayValue">
7951
- <i class="fas {{(treeControl && treeControl.isExpanded(node)) ? 'fa-chevron-up' : 'fa-chevron-down'}}"></i>
7952
- </button>
7953
- <span (click)="onParentNodeClick.emit()">
7927
+ <ng-container [ngSwitch]="hasChild(node)">
7928
+ <ng-container *ngSwitchCase="false">
7929
+ <div title="{{node.displayValue}}"
7930
+ class="label-area {{isHideCheckbox ? 'isClickDiv' : ''}} {{isHideCheckbox && nodeClicked?.value === node.value ? 'nodeSelected': ''}}"
7931
+ (click)="onLeafNodeClick.emit()"
7932
+ fxLayoutAlign="space-between center">
7933
+ <button *ngIf="node.level > 0" type="button" mat-icon-button disabled></button>
7934
+ <i *ngIf="node.iconClass" class="{{ node.iconClass }} icon-left"></i>
7935
+ {{ node.displayValue }}
7936
+ </div>
7937
+ <mat-checkbox [(ngModel)]="node.checked"
7938
+ [checked]="node.checked"
7939
+ (ngModelChange)="ngModelLeafChange.emit($event)"
7940
+ [disabled]="checkDisabledNode(node)"
7941
+ *ngIf="!isHideCheckbox">
7942
+ </mat-checkbox>
7943
+ </ng-container>
7944
+ <ng-container *ngSwitchCase="true">
7945
+ <div class="label-area {{isHideCheckbox ? 'isClickDiv' : ''}} {{isHideCheckbox && nodeClicked?.value === node.value ? 'nodeSelected': ''}}"
7946
+ fxLayoutAlign="space-between center">
7947
+ <button type="button" mat-icon-button (click)="toggle.emit()"
7948
+ [attr.aria-label]="'toggle ' + node.displayValue">
7949
+ <i class="fas {{(treeControl && treeControl.isExpanded(node)) ? 'fa-chevron-up' : 'fa-chevron-down'}}"></i>
7950
+ </button>
7951
+ <span (click)="onParentNodeClick.emit()" title="{{node.displayValue}}">
7954
7952
  <i *ngIf="node.iconClass" class="{{ node.iconClass }} icon-left"></i>
7955
- {{ node.displayValue }}
7953
+ {{ node.displayValue }}
7956
7954
  </span>
7957
- </div>
7958
- <mat-checkbox [(ngModel)]="node.checked"
7959
- *ngIf="!isHideCheckbox"
7960
- [checked]="descendantsAllSelected(node)"
7961
- [disabled]="onDisabledParent(node) || getDisabledInputFunc(node)"
7962
- [indeterminate]="descendantsPartiallySelected(node)"
7963
- (ngModelChange)="ngModelParentChange.emit($event)">
7964
- </mat-checkbox>
7965
- </ng-container>
7955
+ </div>
7956
+ <mat-checkbox [(ngModel)]="node.checked"
7957
+ *ngIf="!isHideCheckbox"
7958
+ [checked]="descendantsAllSelected(node)"
7959
+ [disabled]="onDisabledParent(node) || getDisabledInputFunc(node)"
7960
+ [indeterminate]="descendantsPartiallySelected(node)"
7961
+ (ngModelChange)="ngModelParentChange.emit($event)">
7962
+ </mat-checkbox>
7966
7963
  </ng-container>
7964
+ </ng-container>
7967
7965
  `,
7968
7966
  }]
7969
7967
  }], propDecorators: { treeControl: [{
@@ -8127,6 +8125,7 @@ class CvaFlatTreeComponent {
8127
8125
  /** height of node view */
8128
8126
  itemSize = 48; // px
8129
8127
  paddingLeft = 20; //px
8128
+ ignoreCountValue = [];
8130
8129
  /* percent label outside css */
8131
8130
  percentOfLabelOutside = 25;
8132
8131
  treeConfig;
@@ -8551,7 +8550,6 @@ class CvaFlatTreeComponent {
8551
8550
  if (node.display) {
8552
8551
  copiedData.push(copiedNode);
8553
8552
  }
8554
- console.log(this.value.includes(node.value), 'node', node, 'copiedNode', copiedNode);
8555
8553
  }
8556
8554
  else {
8557
8555
  node.display = node.displayValue.toLowerCase().includes(this.searchText.toLowerCase().trim())
@@ -8664,15 +8662,16 @@ class CvaFlatTreeComponent {
8664
8662
  let count = 0;
8665
8663
  for (const node of nodes) {
8666
8664
  const isLeaf = !FlatTreeService.hasChild(node);
8665
+ const isCountValue = !this.ignoreCountValue.includes(node.value);
8667
8666
  if (isLeaf) {
8668
- if (this.value.includes(node.value)) {
8667
+ if (this.value.includes(node.value) && isCountValue) {
8669
8668
  count += 1;
8670
8669
  }
8671
8670
  }
8672
8671
  else if (node.children && node.children.length > 0) {
8673
8672
  const childChecked = this.getTotalSelected(node.children);
8674
8673
  // Nếu tất cả các con được checked đồng nghĩa cha được checked thì mới cộng
8675
- if (childChecked === node.children.length) {
8674
+ if (childChecked === node.children.length && isCountValue) {
8676
8675
  count += 1;
8677
8676
  }
8678
8677
  count += childChecked;
@@ -8684,7 +8683,7 @@ class CvaFlatTreeComponent {
8684
8683
  _isExpandable = (node) => FlatTreeService.hasChild(node);
8685
8684
  _getChildren = (node) => of(node.children ? node.children : []);
8686
8685
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: CvaFlatTreeComponent, deps: [{ token: i1.TranslateService }, { token: i0.Injector }, { token: i0.ChangeDetectorRef }, { token: i1$2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
8687
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: CvaFlatTreeComponent, isStandalone: false, selector: "cva-flat-tree", inputs: { label: "label", required: "required", value: "value", multiple: "multiple", disabled: "disabled", isView: "isView", isDisplayChooseTreeOnly: "isDisplayChooseTreeOnly", isHideCheckbox: "isHideCheckbox", isCollapseSelected: "isCollapseSelected", selectedLabelTitle: "selectedLabelTitle", viewHeight: "viewHeight", itemSize: "itemSize", percentOfLabelOutside: "percentOfLabelOutside", treeConfig: "treeConfig", isSearchOutSide: "isSearchOutSide", searchTextOutSide: "searchTextOutSide", errorMessages: "errorMessages", fullDatasource: "fullDatasource", nodeClicked: "nodeClicked", isFormControl: "isFormControl" }, outputs: { selectionChange: "selectionChange", onNodeClick: "onNodeClick" }, viewQueries: [{ propertyName: "chooseVirtualScroll", first: true, predicate: ["chooseAreaScrollViewport"], descendants: true }, { propertyName: "selectedVirtualScroll", first: true, predicate: ["selectedScrollViewport"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
8686
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: CvaFlatTreeComponent, isStandalone: false, selector: "cva-flat-tree", inputs: { label: "label", required: "required", value: "value", multiple: "multiple", disabled: "disabled", isView: "isView", isDisplayChooseTreeOnly: "isDisplayChooseTreeOnly", isHideCheckbox: "isHideCheckbox", isCollapseSelected: "isCollapseSelected", selectedLabelTitle: "selectedLabelTitle", viewHeight: "viewHeight", itemSize: "itemSize", ignoreCountValue: "ignoreCountValue", percentOfLabelOutside: "percentOfLabelOutside", treeConfig: "treeConfig", isSearchOutSide: "isSearchOutSide", searchTextOutSide: "searchTextOutSide", errorMessages: "errorMessages", fullDatasource: "fullDatasource", nodeClicked: "nodeClicked", isFormControl: "isFormControl" }, outputs: { selectionChange: "selectionChange", onNodeClick: "onNodeClick" }, viewQueries: [{ propertyName: "chooseVirtualScroll", first: true, predicate: ["chooseAreaScrollViewport"], descendants: true }, { propertyName: "selectedVirtualScroll", first: true, predicate: ["selectedScrollViewport"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
8688
8687
  <div class="cva-flat-tree labelOutside"
8689
8688
  fxLayout="row" fxLayout.lt-sm="row wrap">
8690
8689
  <mat-label *ngIf="label && !isSearchOutSide" class="label_width"
@@ -8901,6 +8900,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
8901
8900
  type: Input
8902
8901
  }], itemSize: [{
8903
8902
  type: Input
8903
+ }], ignoreCountValue: [{
8904
+ type: Input
8904
8905
  }], percentOfLabelOutside: [{
8905
8906
  type: Input
8906
8907
  }], treeConfig: [{