@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
|
-
|
|
7882
|
-
|
|
7883
|
-
|
|
7884
|
-
|
|
7885
|
-
|
|
7886
|
-
|
|
7887
|
-
|
|
7888
|
-
|
|
7889
|
-
|
|
7890
|
-
|
|
7891
|
-
|
|
7892
|
-
|
|
7893
|
-
|
|
7894
|
-
|
|
7895
|
-
|
|
7896
|
-
|
|
7897
|
-
|
|
7898
|
-
|
|
7899
|
-
|
|
7900
|
-
|
|
7901
|
-
|
|
7902
|
-
|
|
7903
|
-
|
|
7904
|
-
|
|
7905
|
-
|
|
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
|
-
|
|
7907
|
+
{{ node.displayValue }}
|
|
7909
7908
|
</span>
|
|
7910
|
-
|
|
7911
|
-
|
|
7912
|
-
|
|
7913
|
-
|
|
7914
|
-
|
|
7915
|
-
|
|
7916
|
-
|
|
7917
|
-
|
|
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
|
-
|
|
7929
|
-
|
|
7930
|
-
|
|
7931
|
-
|
|
7932
|
-
|
|
7933
|
-
|
|
7934
|
-
|
|
7935
|
-
|
|
7936
|
-
|
|
7937
|
-
|
|
7938
|
-
|
|
7939
|
-
|
|
7940
|
-
|
|
7941
|
-
|
|
7942
|
-
|
|
7943
|
-
|
|
7944
|
-
|
|
7945
|
-
|
|
7946
|
-
|
|
7947
|
-
|
|
7948
|
-
|
|
7949
|
-
|
|
7950
|
-
|
|
7951
|
-
|
|
7952
|
-
|
|
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
|
-
|
|
7953
|
+
{{ node.displayValue }}
|
|
7956
7954
|
</span>
|
|
7957
|
-
|
|
7958
|
-
|
|
7959
|
-
|
|
7960
|
-
|
|
7961
|
-
|
|
7962
|
-
|
|
7963
|
-
|
|
7964
|
-
|
|
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: [{
|