@acorex/components 19.8.0-next.9 → 19.10.0-next.0
Sign up to get free protection for your applications and to get access to all the features.
- package/avatar/lib/avatar.component.d.ts +3 -2
- package/button-group/lib/button-group-item.component.d.ts +1 -1
- package/button-group/lib/button-group.component.d.ts +1 -0
- package/conversation/lib/conversation-container/conversation-container.component.d.ts +3 -2
- package/conversation/lib/conversation-input/conversation-input.component.d.ts +2 -1
- package/decorators/index.d.ts +1 -0
- package/decorators/lib/components/generic-content.component.d.ts +1 -1
- package/decorators/lib/components/heading/heading.component.d.ts +11 -0
- package/decorators/lib/decorators.module.d.ts +4 -3
- package/fesm2022/acorex-components-action-sheet.mjs +3 -3
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-alert.mjs +1 -1
- package/fesm2022/acorex-components-audio-wave.mjs +3 -3
- package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
- package/fesm2022/acorex-components-avatar.mjs +6 -5
- package/fesm2022/acorex-components-avatar.mjs.map +1 -1
- package/fesm2022/acorex-components-badge.mjs +3 -3
- package/fesm2022/acorex-components-badge.mjs.map +1 -1
- package/fesm2022/acorex-components-bottom-navigation.mjs +3 -3
- package/fesm2022/acorex-components-breadcrumbs.mjs +1 -1
- package/fesm2022/acorex-components-button-group.mjs +27 -15
- package/fesm2022/acorex-components-button-group.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +6 -6
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +5 -5
- package/fesm2022/acorex-components-check-box.mjs +3 -3
- package/fesm2022/acorex-components-check-box.mjs.map +1 -1
- package/fesm2022/acorex-components-chips.mjs +1 -1
- package/fesm2022/acorex-components-circular-progress.mjs +3 -3
- package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-collapse.mjs +4 -4
- package/fesm2022/acorex-components-collapse.mjs.map +1 -1
- package/fesm2022/acorex-components-color-box.mjs +3 -3
- package/fesm2022/acorex-components-color-palette.mjs +7 -5
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-comment.mjs +6 -6
- package/fesm2022/acorex-components-comment.mjs.map +1 -1
- package/fesm2022/acorex-components-common.mjs +1 -1
- package/fesm2022/acorex-components-conversation.mjs +44 -23
- package/fesm2022/acorex-components-conversation.mjs.map +1 -1
- package/fesm2022/acorex-components-cron-job.mjs +2 -2
- package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +27 -29
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +5 -5
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-box.mjs +1 -1
- package/fesm2022/acorex-components-datetime-input.mjs +1 -1
- package/fesm2022/acorex-components-datetime-picker.mjs +2 -2
- package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-decorators.mjs +25 -8
- package/fesm2022/acorex-components-decorators.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +3 -3
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer.mjs +4 -4
- package/fesm2022/acorex-components-drawer.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown-button.mjs +3 -3
- package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +3 -3
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-file-explorer.mjs +231 -0
- package/fesm2022/acorex-components-file-explorer.mjs.map +1 -0
- package/fesm2022/acorex-components-form.mjs +2 -2
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-grid-layout-builder.mjs +198 -20
- package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-components-image-editor.mjs +3 -3
- package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-image.mjs +1 -1
- package/fesm2022/acorex-components-json-viewer.mjs +1 -1
- package/fesm2022/acorex-components-kbd.mjs +56 -0
- package/fesm2022/acorex-components-kbd.mjs.map +1 -0
- package/fesm2022/acorex-components-label.mjs +1 -1
- package/fesm2022/acorex-components-list.mjs +3 -3
- package/fesm2022/acorex-components-list.mjs.map +1 -1
- package/fesm2022/acorex-components-loading-dialog.mjs +3 -3
- package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-loading.mjs +3 -3
- package/fesm2022/acorex-components-loading.mjs.map +1 -1
- package/fesm2022/acorex-components-map.mjs +1 -1
- package/fesm2022/acorex-components-media-viewer.mjs +6 -6
- package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-menu.mjs +7 -7
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-navbar.mjs +3 -3
- package/fesm2022/acorex-components-navbar.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +3 -3
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box.mjs +3 -3
- package/fesm2022/acorex-components-number-box.mjs.map +1 -1
- package/fesm2022/acorex-components-otp.mjs +3 -3
- package/fesm2022/acorex-components-otp.mjs.map +1 -1
- package/fesm2022/acorex-components-page.mjs +1 -1
- package/fesm2022/acorex-components-paint.mjs +3 -3
- package/fesm2022/acorex-components-paint.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +3 -3
- package/fesm2022/acorex-components-password-box.mjs.map +1 -1
- package/fesm2022/acorex-components-pdf-reader.mjs +1 -1
- package/fesm2022/acorex-components-phone-box.mjs +2 -2
- package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
- package/fesm2022/acorex-components-picker.mjs +1 -1
- package/fesm2022/acorex-components-popover.mjs +1 -1
- package/fesm2022/acorex-components-popup.mjs +3 -3
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-progress-bar.mjs +1 -1
- package/fesm2022/acorex-components-qrcode.mjs +1 -1
- package/fesm2022/acorex-components-radio.mjs +1 -1
- package/fesm2022/acorex-components-rail-navigation.mjs +1 -1
- package/fesm2022/acorex-components-range-slider.mjs +1 -1
- package/fesm2022/acorex-components-rate-picker.mjs +3 -3
- package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-result.mjs +1 -1
- package/fesm2022/acorex-components-routing-progress.mjs +1 -1
- package/fesm2022/acorex-components-scheduler.mjs +2 -2
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-search-box.mjs +3 -3
- package/fesm2022/acorex-components-search-box.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +3 -3
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list.mjs +142 -28
- package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
- package/fesm2022/acorex-components-side-menu.mjs +4 -4
- package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-skeleton.mjs +1 -1
- package/fesm2022/acorex-components-slider.mjs +3 -3
- package/fesm2022/acorex-components-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-sliding-item.mjs +153 -0
- package/fesm2022/acorex-components-sliding-item.mjs.map +1 -0
- package/fesm2022/acorex-components-step-wizard.mjs +3 -3
- package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
- package/fesm2022/acorex-components-switch.mjs +3 -3
- package/fesm2022/acorex-components-switch.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +1 -1
- package/fesm2022/acorex-components-tag.mjs +1 -1
- package/fesm2022/acorex-components-text-area.mjs +3 -3
- package/fesm2022/acorex-components-text-area.mjs.map +1 -1
- package/fesm2022/acorex-components-text-box.mjs +3 -3
- package/fesm2022/acorex-components-text-box.mjs.map +1 -1
- package/fesm2022/acorex-components-time-line.mjs +2 -2
- package/fesm2022/acorex-components-toast.mjs +1 -1
- package/fesm2022/acorex-components-toolbar.mjs +3 -3
- package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
- package/fesm2022/acorex-components-tooltip.mjs +1 -1
- package/fesm2022/acorex-components-tree-view.mjs +37 -68
- package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
- package/fesm2022/acorex-components-uploader.mjs +6 -6
- package/fesm2022/acorex-components-uploader.mjs.map +1 -1
- package/fesm2022/acorex-components-video-player.mjs +1 -1
- package/fesm2022/acorex-components-wysiwyg.mjs +7 -7
- package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
- package/file-explorer/README.md +3 -0
- package/file-explorer/index.d.ts +6 -0
- package/file-explorer/lib/file-explorer-container/file-explorer-container.component.d.ts +10 -0
- package/file-explorer/lib/file-explorer-item/file-explorer-item.component.d.ts +11 -0
- package/file-explorer/lib/file-explorer-types.d.ts +11 -0
- package/file-explorer/lib/file-explorer-view/file-explorer-view.component.d.ts +27 -0
- package/file-explorer/lib/file-explorer.module.d.ts +16 -0
- package/file-explorer/lib/file-explorer.service.d.ts +6 -0
- package/grid-layout-builder/index.d.ts +1 -0
- package/grid-layout-builder/lib/grid-layout-builder.module.d.ts +3 -2
- package/grid-layout-builder/lib/grid-layout-container.component.d.ts +14 -10
- package/grid-layout-builder/lib/grid-layout-widget.directive.d.ts +106 -0
- package/grid-layout-builder/lib/types.d.ts +2 -1
- package/kbd/README.md +3 -0
- package/kbd/index.d.ts +3 -0
- package/kbd/lib/kbd-item/kbd-item.component.d.ts +7 -0
- package/kbd/lib/kbd.component.d.ts +7 -0
- package/kbd/lib/kbd.module.d.ts +9 -0
- package/package.json +13 -1
- package/selection-list/README.md +2 -2
- package/selection-list/lib/selection-list.component.d.ts +70 -18
- package/selection-list/lib/selection-list.module.d.ts +7 -3
- package/sliding-item/README.md +3 -0
- package/sliding-item/index.d.ts +4 -0
- package/sliding-item/lib/sliding-item/sliding-item.component.d.ts +13 -0
- package/sliding-item/lib/sliding-item-prefix/sliding-item-prefix.component.d.ts +11 -0
- package/sliding-item/lib/sliding-item-suffix/sliding-item-suffix.component.d.ts +11 -0
- package/sliding-item/lib/sliding-item.module.d.ts +11 -0
- package/tree-view/lib/tree-view.class.d.ts +1 -0
- package/tree-view/lib/tree-view.component.d.ts +1 -7
@@ -2,7 +2,7 @@ import { AXButtonComponent } from '@acorex/components/button';
|
|
2
2
|
import * as i1 from '@acorex/components/decorators';
|
3
3
|
import { AXDecoratorGenericComponent, AXDecoratorModule } from '@acorex/components/decorators';
|
4
4
|
import * as i0 from '@angular/core';
|
5
|
-
import { contentChildren, signal, afterNextRender,
|
5
|
+
import { contentChildren, signal, afterNextRender, HostBinding, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
|
6
6
|
|
7
7
|
class AXToolBarComponent {
|
8
8
|
constructor() {
|
@@ -36,11 +36,11 @@ class AXToolBarComponent {
|
|
36
36
|
return `ax-sm`;
|
37
37
|
}
|
38
38
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXToolBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
39
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXToolBarComponent, isStandalone: false, selector: "ax-toolbar", host: { properties: { "class": "this.__hostClass" } }, queries: [{ propertyName: "buttons", predicate: AXButtonComponent, descendants: true, isSignal: true }, { propertyName: "decorators", predicate: AXDecoratorGenericComponent, isSignal: true }], ngImport: i0, template: "<ng-content select=\"ax-prefix\"> </ng-content>\n@if (prefixState() && (contentState() || suffixState())) {\n <ax-divider></ax-divider>\n}\n\n<ng-content select=\"ax-content\"></ng-content>\n\n@if (contentState() && suffixState()) {\n <ax-divider></ax-divider>\n}\n\n<ng-content select=\"ax-suffix\"></ng-content>\n", styles: ["ax-toolbar{display:flex;align-items:center;
|
39
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXToolBarComponent, isStandalone: false, selector: "ax-toolbar", host: { properties: { "class": "this.__hostClass" } }, queries: [{ propertyName: "buttons", predicate: AXButtonComponent, descendants: true, isSignal: true }, { propertyName: "decorators", predicate: AXDecoratorGenericComponent, isSignal: true }], ngImport: i0, template: "<ng-content select=\"ax-prefix\"> </ng-content>\n@if (prefixState() && (contentState() || suffixState())) {\n <ax-divider></ax-divider>\n}\n\n<ng-content select=\"ax-content\"></ng-content>\n\n@if (contentState() && suffixState()) {\n <ax-divider></ax-divider>\n}\n\n<ng-content select=\"ax-suffix\"></ng-content>\n", styles: ["ax-toolbar{display:flex;align-items:center;flex-wrap:wrap;padding:.25rem;width:100%;background-color:rgb(var(--ax-comp-toolbar-bg-color, var(--ax-sys-color-surface-low)))}ax-toolbar ax-divider{display:block;margin-inline:.5rem;width:1px;min-height:25px;background-color:rgba(var(--ax-sys-border-color))}ax-toolbar ax-suffix,ax-toolbar ax-prefix,ax-toolbar ax-content{display:flex;justify-content:space-between;align-items:center;min-height:100%;flex-wrap:wrap}ax-toolbar ax-button,ax-toolbar ax-select-box,ax-toolbar ax-text-box,ax-toolbar ax-number-box{margin-inline:.15rem}\n"], dependencies: [{ kind: "component", type: i1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
40
40
|
}
|
41
41
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXToolBarComponent, decorators: [{
|
42
42
|
type: Component,
|
43
|
-
args: [{ selector: 'ax-toolbar', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: false, template: "<ng-content select=\"ax-prefix\"> </ng-content>\n@if (prefixState() && (contentState() || suffixState())) {\n <ax-divider></ax-divider>\n}\n\n<ng-content select=\"ax-content\"></ng-content>\n\n@if (contentState() && suffixState()) {\n <ax-divider></ax-divider>\n}\n\n<ng-content select=\"ax-suffix\"></ng-content>\n", styles: ["ax-toolbar{display:flex;align-items:center;
|
43
|
+
args: [{ selector: 'ax-toolbar', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: false, template: "<ng-content select=\"ax-prefix\"> </ng-content>\n@if (prefixState() && (contentState() || suffixState())) {\n <ax-divider></ax-divider>\n}\n\n<ng-content select=\"ax-content\"></ng-content>\n\n@if (contentState() && suffixState()) {\n <ax-divider></ax-divider>\n}\n\n<ng-content select=\"ax-suffix\"></ng-content>\n", styles: ["ax-toolbar{display:flex;align-items:center;flex-wrap:wrap;padding:.25rem;width:100%;background-color:rgb(var(--ax-comp-toolbar-bg-color, var(--ax-sys-color-surface-low)))}ax-toolbar ax-divider{display:block;margin-inline:.5rem;width:1px;min-height:25px;background-color:rgba(var(--ax-sys-border-color))}ax-toolbar ax-suffix,ax-toolbar ax-prefix,ax-toolbar ax-content{display:flex;justify-content:space-between;align-items:center;min-height:100%;flex-wrap:wrap}ax-toolbar ax-button,ax-toolbar ax-select-box,ax-toolbar ax-text-box,ax-toolbar ax-number-box{margin-inline:.15rem}\n"] }]
|
44
44
|
}], propDecorators: { __hostClass: [{
|
45
45
|
type: HostBinding,
|
46
46
|
args: ['class']
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-toolbar.mjs","sources":["../../../../libs/components/toolbar/src/lib/toolbar.component.ts","../../../../libs/components/toolbar/src/lib/toolbar.component.html","../../../../libs/components/toolbar/src/lib/toolbar.module.ts","../../../../libs/components/toolbar/src/acorex-components-toolbar.ts"],"sourcesContent":["import { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n contentChildren,\n HostBinding,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n selector: 'ax-toolbar',\n templateUrl: './toolbar.component.html',\n styleUrls: ['./toolbar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class AXToolBarComponent {\n private buttons = contentChildren(AXButtonComponent, { descendants: true });\n\n private decorators = contentChildren<AXDecoratorGenericComponent>(AXDecoratorGenericComponent);\n\n protected prefixState = signal(false);\n protected suffixState = signal(false);\n protected contentState = signal(false);\n\n #init = afterNextRender(() => {\n this.decorators().forEach((item) => {\n switch (item.getHostElement().tagName) {\n case 'AX-PREFIX':\n this.prefixState.set(true);\n break;\n case 'AX-SUFFIX':\n this.suffixState.set(true);\n break;\n case 'AX-CONTENT':\n this.contentState.set(true);\n }\n });\n\n if (this.buttons().length > 0) {\n this.buttons().forEach((item) => {\n item.look = 'blank';\n });\n }\n });\n\n @HostBinding('class')\n get __hostClass(): string {\n return `ax-sm`;\n }\n}\n","<ng-content select=\"ax-prefix\"> </ng-content>\n@if (prefixState() && (contentState() || suffixState())) {\n <ax-divider></ax-divider>\n}\n\n<ng-content select=\"ax-content\"></ng-content>\n\n@if (contentState() && suffixState()) {\n <ax-divider></ax-divider>\n}\n\n<ng-content select=\"ax-suffix\"></ng-content>\n","import { AXDecoratorModule } from '@acorex/components/decorators';\nimport { NgModule } from '@angular/core';\nimport { AXToolBarComponent } from './toolbar.component';\n\nconst COMPONENT = [AXToolBarComponent];\n\nconst MODULES = [AXDecoratorModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXToolBarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAoBa,kBAAkB,CAAA;AAR/B,IAAA,WAAA,GAAA;QASU,IAAO,CAAA,OAAA,GAAG,eAAe,CAAC,iBAAiB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AAEnE,QAAA,IAAA,CAAA,UAAU,GAAG,eAAe,CAA8B,2BAA2B,CAAC;AAEpF,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;AAC3B,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;AAC3B,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC;AAEtC,QAAA,IAAA,CAAA,KAAK,GAAG,eAAe,CAAC,MAAK;YAC3B,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AACjC,gBAAA,QAAQ,IAAI,CAAC,cAAc,EAAE,CAAC,OAAO;AACnC,oBAAA,KAAK,WAAW;AACd,wBAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;wBAC1B;AACF,oBAAA,KAAK,WAAW;AACd,wBAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;wBAC1B;AACF,oBAAA,KAAK,YAAY;AACf,wBAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;;AAEjC,aAAC,CAAC;YAEF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC7B,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AAC9B,oBAAA,IAAI,CAAC,IAAI,GAAG,OAAO;AACrB,iBAAC,CAAC;;AAEN,SAAC,CAAC;AAMH;AAzBC,IAAA,KAAK;AAqBL,IAAA,IACI,WAAW,GAAA;AACb,QAAA,OAAO,OAAO;;8GAhCL,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,EACK,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,YAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,SAAA,EAAA,iBAAiB,EAEe,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,YAAA,EAAA,SAAA,EAAA,2BAA2B,6CCvB/F,+TAYA,EAAA,MAAA,EAAA,CAAA,
|
1
|
+
{"version":3,"file":"acorex-components-toolbar.mjs","sources":["../../../../libs/components/toolbar/src/lib/toolbar.component.ts","../../../../libs/components/toolbar/src/lib/toolbar.component.html","../../../../libs/components/toolbar/src/lib/toolbar.module.ts","../../../../libs/components/toolbar/src/acorex-components-toolbar.ts"],"sourcesContent":["import { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n contentChildren,\n HostBinding,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n selector: 'ax-toolbar',\n templateUrl: './toolbar.component.html',\n styleUrls: ['./toolbar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class AXToolBarComponent {\n private buttons = contentChildren(AXButtonComponent, { descendants: true });\n\n private decorators = contentChildren<AXDecoratorGenericComponent>(AXDecoratorGenericComponent);\n\n protected prefixState = signal(false);\n protected suffixState = signal(false);\n protected contentState = signal(false);\n\n #init = afterNextRender(() => {\n this.decorators().forEach((item) => {\n switch (item.getHostElement().tagName) {\n case 'AX-PREFIX':\n this.prefixState.set(true);\n break;\n case 'AX-SUFFIX':\n this.suffixState.set(true);\n break;\n case 'AX-CONTENT':\n this.contentState.set(true);\n }\n });\n\n if (this.buttons().length > 0) {\n this.buttons().forEach((item) => {\n item.look = 'blank';\n });\n }\n });\n\n @HostBinding('class')\n get __hostClass(): string {\n return `ax-sm`;\n }\n}\n","<ng-content select=\"ax-prefix\"> </ng-content>\n@if (prefixState() && (contentState() || suffixState())) {\n <ax-divider></ax-divider>\n}\n\n<ng-content select=\"ax-content\"></ng-content>\n\n@if (contentState() && suffixState()) {\n <ax-divider></ax-divider>\n}\n\n<ng-content select=\"ax-suffix\"></ng-content>\n","import { AXDecoratorModule } from '@acorex/components/decorators';\nimport { NgModule } from '@angular/core';\nimport { AXToolBarComponent } from './toolbar.component';\n\nconst COMPONENT = [AXToolBarComponent];\n\nconst MODULES = [AXDecoratorModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXToolBarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { MXBaseComponent, convertToPlacement } from '@acorex/components/common';
|
2
2
|
import * as i0 from '@angular/core';
|
3
|
-
import {
|
3
|
+
import { Input, ViewEncapsulation, Component, TemplateRef, Directive, NgModule } from '@angular/core';
|
4
4
|
import { AXPopoverComponent } from '@acorex/components/popover';
|
5
5
|
import { OverlayModule } from '@angular/cdk/overlay';
|
6
6
|
import { CommonModule } from '@angular/common';
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { NXComponent, AXClickEvent, AXCommonModule } from '@acorex/components/common';
|
2
2
|
import { AXPlatform } from '@acorex/core/platform';
|
3
|
-
import { trigger, state,
|
3
|
+
import { trigger, state, transition, style, animate } from '@angular/animations';
|
4
4
|
import * as i0 from '@angular/core';
|
5
|
-
import { input, output, model, inject, computed,
|
5
|
+
import { input, output, model, inject, computed, ChangeDetectionStrategy, ViewEncapsulation, Component, signal, effect, NgModule } from '@angular/core';
|
6
6
|
import * as i1 from '@acorex/components/tooltip';
|
7
7
|
import { AXTooltipModule } from '@acorex/components/tooltip';
|
8
8
|
import * as i2 from '@acorex/components/loading';
|
@@ -113,9 +113,23 @@ class AXTreeItemClickBaseEvent extends AXClickEvent {
|
|
113
113
|
|
114
114
|
class AXTreeViewComponent extends NXComponent {
|
115
115
|
constructor() {
|
116
|
-
super();
|
116
|
+
super(...arguments);
|
117
117
|
this.itemsSignal = signal([]);
|
118
|
-
this.
|
118
|
+
this.items = input();
|
119
|
+
this.selectable = input(true);
|
120
|
+
this.selectionMode = input('single');
|
121
|
+
this.selectionBehavior = input(null);
|
122
|
+
this.showActiveNode = input(true);
|
123
|
+
this.valueField = input('id');
|
124
|
+
this.textField = input('text');
|
125
|
+
this.visibleField = input('visible');
|
126
|
+
this.disableField = input('disabled');
|
127
|
+
this.hasChildField = input('hasChild');
|
128
|
+
this.iconField = input('icon');
|
129
|
+
this.onSelectionChange = output();
|
130
|
+
this.onItemClick = output();
|
131
|
+
this.onNodeClick = output();
|
132
|
+
this.onNodeExpandClick = output();
|
119
133
|
this.#effect = effect(() => {
|
120
134
|
const itemsInput = this.items();
|
121
135
|
if (typeof itemsInput === 'function') {
|
@@ -134,28 +148,13 @@ class AXTreeViewComponent extends NXComponent {
|
|
134
148
|
this.itemsPromise = null;
|
135
149
|
}
|
136
150
|
});
|
137
|
-
this.items = input();
|
138
|
-
this.selectable = input(true);
|
139
|
-
this.selectionMode = input('single');
|
140
|
-
this.selectionBehavior = input(null);
|
141
|
-
this.showActiveNode = input(true);
|
142
|
-
this.valueField = input('id');
|
143
|
-
this.textField = input('text');
|
144
|
-
this.visibleField = input('visible');
|
145
|
-
this.disableField = input('disabled');
|
146
|
-
this.hasChildField = input('hasChild');
|
147
|
-
this.iconField = input('icon');
|
148
|
-
this.onSelectionChange = output();
|
149
|
-
this.onItemClick = output();
|
150
|
-
this.onNodeClick = output();
|
151
|
-
this.onNodeExpandClick = output();
|
152
151
|
this.expandBehavior = input('both');
|
153
152
|
this.loadingState = signal({});
|
154
153
|
}
|
155
|
-
#effect;
|
156
154
|
get resolvedItems() {
|
157
155
|
return this.itemsSignal();
|
158
156
|
}
|
157
|
+
#effect;
|
159
158
|
handleNodeSelectionClick(event, item) {
|
160
159
|
if (item[this.disableField()] || this.isNodeLoading(item.id)) {
|
161
160
|
return;
|
@@ -164,12 +163,12 @@ class AXTreeViewComponent extends NXComponent {
|
|
164
163
|
this.handleUnSelectNode(this.itemsSignal());
|
165
164
|
}
|
166
165
|
item.selected = event.value;
|
167
|
-
if (event.value
|
166
|
+
if (event.value !== null) {
|
168
167
|
switch (this.selectionBehavior()) {
|
169
168
|
case 'autoExpand':
|
170
169
|
if (event.value) {
|
171
170
|
if (this.itemsPromise && item[this.hasChildField()] && !item?.childrens?.length) {
|
172
|
-
this.fetchData(item
|
171
|
+
this.fetchData(item);
|
173
172
|
this.setNodeLoading(item.id, true);
|
174
173
|
}
|
175
174
|
this.toggleExpand(item);
|
@@ -267,7 +266,7 @@ class AXTreeViewComponent extends NXComponent {
|
|
267
266
|
}
|
268
267
|
}
|
269
268
|
findParent(item, nodes) {
|
270
|
-
for (
|
269
|
+
for (const node of nodes) {
|
271
270
|
if (node.childrens?.includes(item)) {
|
272
271
|
return node;
|
273
272
|
}
|
@@ -314,12 +313,12 @@ class AXTreeViewComponent extends NXComponent {
|
|
314
313
|
* lazy load logic
|
315
314
|
*
|
316
315
|
*/
|
317
|
-
fetchData(
|
318
|
-
this.itemsPromise(
|
316
|
+
fetchData(selectedNode) {
|
317
|
+
this.itemsPromise(selectedNode?.id)
|
319
318
|
.then((data) => {
|
320
319
|
if (Array.isArray(data)) {
|
321
|
-
if (
|
322
|
-
this.findNode(
|
320
|
+
if (selectedNode?.id) {
|
321
|
+
this.findNode(selectedNode.id, data, this.itemsSignal());
|
323
322
|
}
|
324
323
|
else {
|
325
324
|
this.itemsSignal.set(data);
|
@@ -327,7 +326,7 @@ class AXTreeViewComponent extends NXComponent {
|
|
327
326
|
}
|
328
327
|
})
|
329
328
|
.finally(() => {
|
330
|
-
this.setNodeLoading(
|
329
|
+
this.setNodeLoading(selectedNode?.id, false);
|
331
330
|
});
|
332
331
|
}
|
333
332
|
findNode(parentId, _children, source) {
|
@@ -352,10 +351,10 @@ class AXTreeViewComponent extends NXComponent {
|
|
352
351
|
*
|
353
352
|
*/
|
354
353
|
handleNodeExpandClick(node) {
|
355
|
-
const
|
354
|
+
const selectedNode = node.data;
|
356
355
|
if (this.itemsPromise && node.data.isExpanded && !node?.data.childrens?.length) {
|
357
|
-
this.fetchData(
|
358
|
-
this.setNodeLoading(
|
356
|
+
this.fetchData(selectedNode);
|
357
|
+
this.setNodeLoading(selectedNode.id, true);
|
359
358
|
}
|
360
359
|
this.onNodeExpandClick.emit({ component: this, data: node.data, nativeElement: this.nativeElement });
|
361
360
|
}
|
@@ -390,9 +389,9 @@ class AXTreeViewComponent extends NXComponent {
|
|
390
389
|
}
|
391
390
|
handleNodeDbClick(node) {
|
392
391
|
if (this.itemsPromise) {
|
393
|
-
const
|
394
|
-
this.fetchData(
|
395
|
-
this.setNodeLoading(
|
392
|
+
const selectedNode = node.data;
|
393
|
+
this.fetchData(selectedNode);
|
394
|
+
this.setNodeLoading(selectedNode.id, true);
|
396
395
|
}
|
397
396
|
}
|
398
397
|
isNodeLoading(nodeId) {
|
@@ -404,43 +403,13 @@ class AXTreeViewComponent extends NXComponent {
|
|
404
403
|
[nodeId]: isLoading,
|
405
404
|
}));
|
406
405
|
}
|
407
|
-
|
408
|
-
|
409
|
-
this.itemsSignal().forEach((node) => {
|
410
|
-
if (node[this.valueField()] === valueField) {
|
411
|
-
node.active = value;
|
412
|
-
this.cdr.detectChanges();
|
413
|
-
}
|
414
|
-
else {
|
415
|
-
if (node?.childrens?.length) {
|
416
|
-
this.setActiveNodeByValueField(node[this.valueField()], value);
|
417
|
-
}
|
418
|
-
}
|
419
|
-
});
|
420
|
-
}
|
421
|
-
setExpandNodeByValueField(valueField, value) {
|
422
|
-
this.itemsSignal().forEach((node) => {
|
423
|
-
if (node[this.valueField()] === valueField) {
|
424
|
-
node.isExpanded = value;
|
425
|
-
if (this.itemsPromise && value && node[this.hasChildField()] && !node?.childrens?.length) {
|
426
|
-
this.fetchData(node[this.valueField()]);
|
427
|
-
}
|
428
|
-
this.cdr.detectChanges();
|
429
|
-
}
|
430
|
-
else {
|
431
|
-
if (node?.childrens?.length) {
|
432
|
-
this.setExpandNodeByValueField(node[this.valueField()], value);
|
433
|
-
}
|
434
|
-
}
|
435
|
-
});
|
436
|
-
}
|
437
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXTreeViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
438
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXTreeViewComponent, isStandalone: false, selector: "ax-tree-view", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, selectable: { classPropertyName: "selectable", publicName: "selectable", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, selectionBehavior: { classPropertyName: "selectionBehavior", publicName: "selectionBehavior", isSignal: true, isRequired: false, transformFunction: null }, showActiveNode: { classPropertyName: "showActiveNode", publicName: "showActiveNode", isSignal: true, isRequired: false, transformFunction: null }, valueField: { classPropertyName: "valueField", publicName: "valueField", isSignal: true, isRequired: false, transformFunction: null }, textField: { classPropertyName: "textField", publicName: "textField", isSignal: true, isRequired: false, transformFunction: null }, visibleField: { classPropertyName: "visibleField", publicName: "visibleField", isSignal: true, isRequired: false, transformFunction: null }, disableField: { classPropertyName: "disableField", publicName: "disableField", isSignal: true, isRequired: false, transformFunction: null }, hasChildField: { classPropertyName: "hasChildField", publicName: "hasChildField", isSignal: true, isRequired: false, transformFunction: null }, iconField: { classPropertyName: "iconField", publicName: "iconField", isSignal: true, isRequired: false, transformFunction: null }, expandBehavior: { classPropertyName: "expandBehavior", publicName: "expandBehavior", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSelectionChange: "onSelectionChange", onItemClick: "onItemClick", onNodeClick: "onNodeClick", onNodeExpandClick: "onNodeExpandClick" }, usesInheritance: true, ngImport: i0, template: "@for (node of resolvedItems; track $index) {\n <ng-container [ngTemplateOutlet]=\"Recursion\" [ngTemplateOutletContext]=\"{ $implicit: node }\"></ng-container>\n}\n\n<ng-template #Recursion let-item>\n @if (item[visibleField()] !== false) {\n <ax-tree-view-item\n [item]=\"item\"\n [(isExpanded)]=\"item.isExpanded\"\n [(isActive)]=\"item.active\"\n [isLoading]=\"isNodeLoading(item.id)\"\n [disableField]=\"disableField()\"\n [hasChildField]=\"hasChildField()\"\n [expandBehavior]=\"expandBehavior()\"\n (onNodeExpand)=\"handleNodeExpandClick($event)\"\n (onNodeClick)=\"handleNodeClick($event)\"\n (onNodeDbClick)=\"handleNodeDbClick($event)\"\n >\n @if (this.selectable()) {\n <ax-check-box\n [disabled]=\"item[disableField()]\"\n [indeterminate]=\"item.indeterminate\"\n [(ngModel)]=\"item.selected\"\n (onValueChanged)=\"handleNodeSelectionClick($event, item)\"\n ></ax-check-box>\n }\n <ax-prefix>\n @if (item[iconField()]) {\n <ax-icon [icon]=\"item[iconField()]\"></ax-icon>\n } @else {\n <i></i>\n }\n </ax-prefix>\n @if (item[textField()]) {\n <ax-text>{{ item[textField()] }}</ax-text>\n }\n\n <ax-suffix></ax-suffix>\n @for (child of item?.childrens; track $index) {\n <ng-container\n [ngTemplateOutlet]=\"Recursion\"\n [ngTemplateOutletContext]=\"{ $implicit: child }\"\n ></ng-container>\n }\n </ax-tree-view-item>\n }\n</ng-template>\n", styles: ["ax-tree-view{--ax-comp-tree-view-arrow-size: .875rem;--ax-comp-tree-view-text-size: .875rem}ax-tree-view{background-color:rgb(var(--ax-comp-tree-view-bg-color))}ax-tree-view ax-tree-view-item .ax-tree-view-container{display:flex;align-items:center;margin-bottom:.125rem;cursor:pointer}ax-tree-view ax-tree-view-item .ax-tree-view-container ax-text{font-size:var(--ax-comp-tree-view-text-size)}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-checkbox-end-side{display:none!important}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-arrow{font-size:var(--ax-comp-tree-view-arrow-size)!important}ax-tree-view ax-tree-view-item .ax-tree-view-container ax-suffix:empty{display:none}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items{display:flex;align-items:center;gap:.5rem}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items .ax-tree-view-items-prefix{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:.25rem;overflow-x:auto}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items .ax-tree-view-items-prefix.noselect-tree-view{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items .ax-tree-view-items-prefix.ax-state-tree-view-active{background-color:var(--ax-sys-color-primary-500);color:var(--ax-sys-color-on-primary)}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items .ax-tree-view-items-prefix.ax-state-tree-view-active:hover{background-color:var(--ax-sys-color-primary-500);color:var(--ax-sys-color-on-primary)}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items .ax-tree-view-items-prefix:hover{background-color:rgba(var(--ax-sys-surface-high-bg-color))}ax-tree-view ax-tree-view-item .ax-state-tree-view-rtl{padding-inline-end:1rem}ax-tree-view ax-tree-view-item .ax-state-tree-view-ltr{padding-inline-start:1rem}ax-tree-view ax-tree-view-item .ax-state-disabled{cursor:not-allowed!important;opacity:.5!important}ax-tree-view ax-tree-view-item .arrow-container{position:relative;display:flex;align-items:center}ax-tree-view ax-tree-view-item .vertical-line{width:.125rem;height:100%;background-color:#ccc;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}\n"], dependencies: [{ kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i2$1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "component", type: i3.AXCheckBoxComponent, selector: "ax-check-box", inputs: ["disabled", "tabIndex", "readonly", "color", "value", "name", "id", "checked", "indeterminate"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AXTreeViewItemComponent, selector: "ax-tree-view-item", inputs: ["item", "isExpanded", "hasChildField", "isActive", "isLoading", "disableField", "expandIconField", "expandBehavior"], outputs: ["onNodeExpand", "onNodeClick", "isExpandedChange", "isActiveChange", "onNodeDbClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
406
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXTreeViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
407
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXTreeViewComponent, isStandalone: false, selector: "ax-tree-view", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, selectable: { classPropertyName: "selectable", publicName: "selectable", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, selectionBehavior: { classPropertyName: "selectionBehavior", publicName: "selectionBehavior", isSignal: true, isRequired: false, transformFunction: null }, showActiveNode: { classPropertyName: "showActiveNode", publicName: "showActiveNode", isSignal: true, isRequired: false, transformFunction: null }, valueField: { classPropertyName: "valueField", publicName: "valueField", isSignal: true, isRequired: false, transformFunction: null }, textField: { classPropertyName: "textField", publicName: "textField", isSignal: true, isRequired: false, transformFunction: null }, visibleField: { classPropertyName: "visibleField", publicName: "visibleField", isSignal: true, isRequired: false, transformFunction: null }, disableField: { classPropertyName: "disableField", publicName: "disableField", isSignal: true, isRequired: false, transformFunction: null }, hasChildField: { classPropertyName: "hasChildField", publicName: "hasChildField", isSignal: true, isRequired: false, transformFunction: null }, iconField: { classPropertyName: "iconField", publicName: "iconField", isSignal: true, isRequired: false, transformFunction: null }, expandBehavior: { classPropertyName: "expandBehavior", publicName: "expandBehavior", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSelectionChange: "onSelectionChange", onItemClick: "onItemClick", onNodeClick: "onNodeClick", onNodeExpandClick: "onNodeExpandClick" }, usesInheritance: true, ngImport: i0, template: "@for (node of resolvedItems; track $index) {\n <ng-container [ngTemplateOutlet]=\"Recursion\" [ngTemplateOutletContext]=\"{ $implicit: node }\"></ng-container>\n}\n\n<ng-template #Recursion let-item>\n @if (item[visibleField()] !== false) {\n <ax-tree-view-item\n [item]=\"item\"\n [(isExpanded)]=\"item.isExpanded\"\n [(isActive)]=\"item.active\"\n [isLoading]=\"isNodeLoading(item.id)\"\n [disableField]=\"disableField()\"\n [hasChildField]=\"hasChildField()\"\n [expandBehavior]=\"expandBehavior()\"\n (onNodeExpand)=\"handleNodeExpandClick($event)\"\n (onNodeClick)=\"handleNodeClick($event)\"\n (onNodeDbClick)=\"handleNodeDbClick($event)\"\n >\n @if (this.selectable()) {\n <ax-check-box\n [disabled]=\"item[disableField()]\"\n [indeterminate]=\"item.indeterminate\"\n [(ngModel)]=\"item.selected\"\n (onValueChanged)=\"handleNodeSelectionClick($event, item)\"\n ></ax-check-box>\n }\n <ax-prefix>\n @if (item[iconField()]) {\n <ax-icon [icon]=\"item[iconField()]\"></ax-icon>\n } @else {\n <i></i>\n }\n </ax-prefix>\n @if (item[textField()]) {\n <ax-text>{{ item[textField()] }}</ax-text>\n }\n\n <ax-suffix></ax-suffix>\n @for (child of item?.childrens; track $index) {\n <ng-container\n [ngTemplateOutlet]=\"Recursion\"\n [ngTemplateOutletContext]=\"{ $implicit: child }\"\n ></ng-container>\n }\n </ax-tree-view-item>\n }\n</ng-template>\n", styles: ["ax-tree-view{--ax-comp-tree-view-arrow-size: .875rem;--ax-comp-tree-view-text-size: .875rem}ax-tree-view{background-color:rgb(var(--ax-comp-tree-view-bg-color))}ax-tree-view ax-tree-view-item .ax-tree-view-container{display:flex;align-items:center;margin-bottom:.125rem;cursor:pointer}ax-tree-view ax-tree-view-item .ax-tree-view-container ax-text{font-size:var(--ax-comp-tree-view-text-size)}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-checkbox-end-side{display:none!important}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-arrow{font-size:var(--ax-comp-tree-view-arrow-size)!important}ax-tree-view ax-tree-view-item .ax-tree-view-container ax-suffix:empty{display:none}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items{display:flex;align-items:center}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items .ax-tree-view-items-prefix{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:.25rem;overflow-x:auto}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items .ax-tree-view-items-prefix.noselect-tree-view{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items .ax-tree-view-items-prefix.ax-state-tree-view-active{background-color:var(--ax-sys-color-primary-500);color:var(--ax-sys-color-on-primary)}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items .ax-tree-view-items-prefix.ax-state-tree-view-active:hover{background-color:var(--ax-sys-color-primary-500);color:var(--ax-sys-color-on-primary)}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items .ax-tree-view-items-prefix:hover{background-color:rgba(var(--ax-sys-color-surface-high))}ax-tree-view ax-tree-view-item .ax-state-tree-view-rtl{padding-inline-end:1rem}ax-tree-view ax-tree-view-item .ax-state-tree-view-ltr{padding-inline-start:1rem}ax-tree-view ax-tree-view-item .ax-state-disabled{cursor:not-allowed!important;opacity:.5!important}ax-tree-view ax-tree-view-item .arrow-container{position:relative;display:flex;align-items:center}ax-tree-view ax-tree-view-item .vertical-line{width:.125rem;height:100%;background-color:#ccc;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}\n"], dependencies: [{ kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i2$1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: i3.AXCheckBoxComponent, selector: "ax-check-box", inputs: ["disabled", "tabIndex", "readonly", "color", "value", "name", "id", "checked", "indeterminate"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AXTreeViewItemComponent, selector: "ax-tree-view-item", inputs: ["item", "isExpanded", "hasChildField", "isActive", "isLoading", "disableField", "expandIconField", "expandBehavior"], outputs: ["onNodeExpand", "onNodeClick", "isExpandedChange", "isActiveChange", "onNodeDbClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
439
408
|
}
|
440
409
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXTreeViewComponent, decorators: [{
|
441
410
|
type: Component,
|
442
|
-
args: [{ selector: 'ax-tree-view', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@for (node of resolvedItems; track $index) {\n <ng-container [ngTemplateOutlet]=\"Recursion\" [ngTemplateOutletContext]=\"{ $implicit: node }\"></ng-container>\n}\n\n<ng-template #Recursion let-item>\n @if (item[visibleField()] !== false) {\n <ax-tree-view-item\n [item]=\"item\"\n [(isExpanded)]=\"item.isExpanded\"\n [(isActive)]=\"item.active\"\n [isLoading]=\"isNodeLoading(item.id)\"\n [disableField]=\"disableField()\"\n [hasChildField]=\"hasChildField()\"\n [expandBehavior]=\"expandBehavior()\"\n (onNodeExpand)=\"handleNodeExpandClick($event)\"\n (onNodeClick)=\"handleNodeClick($event)\"\n (onNodeDbClick)=\"handleNodeDbClick($event)\"\n >\n @if (this.selectable()) {\n <ax-check-box\n [disabled]=\"item[disableField()]\"\n [indeterminate]=\"item.indeterminate\"\n [(ngModel)]=\"item.selected\"\n (onValueChanged)=\"handleNodeSelectionClick($event, item)\"\n ></ax-check-box>\n }\n <ax-prefix>\n @if (item[iconField()]) {\n <ax-icon [icon]=\"item[iconField()]\"></ax-icon>\n } @else {\n <i></i>\n }\n </ax-prefix>\n @if (item[textField()]) {\n <ax-text>{{ item[textField()] }}</ax-text>\n }\n\n <ax-suffix></ax-suffix>\n @for (child of item?.childrens; track $index) {\n <ng-container\n [ngTemplateOutlet]=\"Recursion\"\n [ngTemplateOutletContext]=\"{ $implicit: child }\"\n ></ng-container>\n }\n </ax-tree-view-item>\n }\n</ng-template>\n", styles: ["ax-tree-view{--ax-comp-tree-view-arrow-size: .875rem;--ax-comp-tree-view-text-size: .875rem}ax-tree-view{background-color:rgb(var(--ax-comp-tree-view-bg-color))}ax-tree-view ax-tree-view-item .ax-tree-view-container{display:flex;align-items:center;margin-bottom:.125rem;cursor:pointer}ax-tree-view ax-tree-view-item .ax-tree-view-container ax-text{font-size:var(--ax-comp-tree-view-text-size)}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-checkbox-end-side{display:none!important}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-arrow{font-size:var(--ax-comp-tree-view-arrow-size)!important}ax-tree-view ax-tree-view-item .ax-tree-view-container ax-suffix:empty{display:none}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items{display:flex;align-items:center
|
443
|
-
}]
|
411
|
+
args: [{ selector: 'ax-tree-view', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@for (node of resolvedItems; track $index) {\n <ng-container [ngTemplateOutlet]=\"Recursion\" [ngTemplateOutletContext]=\"{ $implicit: node }\"></ng-container>\n}\n\n<ng-template #Recursion let-item>\n @if (item[visibleField()] !== false) {\n <ax-tree-view-item\n [item]=\"item\"\n [(isExpanded)]=\"item.isExpanded\"\n [(isActive)]=\"item.active\"\n [isLoading]=\"isNodeLoading(item.id)\"\n [disableField]=\"disableField()\"\n [hasChildField]=\"hasChildField()\"\n [expandBehavior]=\"expandBehavior()\"\n (onNodeExpand)=\"handleNodeExpandClick($event)\"\n (onNodeClick)=\"handleNodeClick($event)\"\n (onNodeDbClick)=\"handleNodeDbClick($event)\"\n >\n @if (this.selectable()) {\n <ax-check-box\n [disabled]=\"item[disableField()]\"\n [indeterminate]=\"item.indeterminate\"\n [(ngModel)]=\"item.selected\"\n (onValueChanged)=\"handleNodeSelectionClick($event, item)\"\n ></ax-check-box>\n }\n <ax-prefix>\n @if (item[iconField()]) {\n <ax-icon [icon]=\"item[iconField()]\"></ax-icon>\n } @else {\n <i></i>\n }\n </ax-prefix>\n @if (item[textField()]) {\n <ax-text>{{ item[textField()] }}</ax-text>\n }\n\n <ax-suffix></ax-suffix>\n @for (child of item?.childrens; track $index) {\n <ng-container\n [ngTemplateOutlet]=\"Recursion\"\n [ngTemplateOutletContext]=\"{ $implicit: child }\"\n ></ng-container>\n }\n </ax-tree-view-item>\n }\n</ng-template>\n", styles: ["ax-tree-view{--ax-comp-tree-view-arrow-size: .875rem;--ax-comp-tree-view-text-size: .875rem}ax-tree-view{background-color:rgb(var(--ax-comp-tree-view-bg-color))}ax-tree-view ax-tree-view-item .ax-tree-view-container{display:flex;align-items:center;margin-bottom:.125rem;cursor:pointer}ax-tree-view ax-tree-view-item .ax-tree-view-container ax-text{font-size:var(--ax-comp-tree-view-text-size)}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-checkbox-end-side{display:none!important}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-arrow{font-size:var(--ax-comp-tree-view-arrow-size)!important}ax-tree-view ax-tree-view-item .ax-tree-view-container ax-suffix:empty{display:none}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items{display:flex;align-items:center}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items .ax-tree-view-items-prefix{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:.25rem;overflow-x:auto}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items .ax-tree-view-items-prefix.noselect-tree-view{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items .ax-tree-view-items-prefix.ax-state-tree-view-active{background-color:var(--ax-sys-color-primary-500);color:var(--ax-sys-color-on-primary)}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items .ax-tree-view-items-prefix.ax-state-tree-view-active:hover{background-color:var(--ax-sys-color-primary-500);color:var(--ax-sys-color-on-primary)}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items .ax-tree-view-items-prefix:hover{background-color:rgba(var(--ax-sys-color-surface-high))}ax-tree-view ax-tree-view-item .ax-state-tree-view-rtl{padding-inline-end:1rem}ax-tree-view ax-tree-view-item .ax-state-tree-view-ltr{padding-inline-start:1rem}ax-tree-view ax-tree-view-item .ax-state-disabled{cursor:not-allowed!important;opacity:.5!important}ax-tree-view ax-tree-view-item .arrow-container{position:relative;display:flex;align-items:center}ax-tree-view ax-tree-view-item .vertical-line{width:.125rem;height:100%;background-color:#ccc;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}\n"] }]
|
412
|
+
}] });
|
444
413
|
|
445
414
|
class AXTreeViewModule {
|
446
415
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXTreeViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-tree-view.mjs","sources":["../../../../libs/components/tree-view/src/lib/tree-view-item.component.ts","../../../../libs/components/tree-view/src/lib/tree-view-item.component.html","../../../../libs/components/tree-view/src/lib/tree-view.class.ts","../../../../libs/components/tree-view/src/lib/tree-view.component.ts","../../../../libs/components/tree-view/src/lib/tree-view.component.html","../../../../libs/components/tree-view/src/lib/tree-view.component.module.ts","../../../../libs/components/tree-view/src/acorex-components-tree-view.ts"],"sourcesContent":["import { NXComponent } from '@acorex/components/common';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n input,\n model,\n output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXTreeItemClickBaseEvent, AXTreeViewSchema } from './tree-view.class';\n\n@Component({\n selector: 'ax-tree-view-item',\n templateUrl: 'tree-view-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('collapseExpand', [\n state(\n 'collapsed',\n style({\n height: '0',\n overflow: 'hidden',\n opacity: 0,\n }),\n ),\n state(\n 'expanded',\n style({\n height: '*',\n overflow: 'hidden',\n opacity: 1,\n }),\n ),\n transition('collapsed <=> expanded', [animate('300ms ease-in-out')]),\n ]),\n ],\n standalone: false,\n})\nexport class AXTreeViewItemComponent extends NXComponent {\n constructor() {\n super();\n }\n\n item = input<AXTreeViewSchema>();\n\n onNodeExpand = output<AXTreeItemClickBaseEvent>();\n\n onNodeClick = output<AXTreeItemClickBaseEvent>();\n\n isExpanded = model<boolean>(false);\n\n hasChildField = input<string>();\n\n isActive = model<boolean>(false);\n\n onNodeDbClick = output<AXTreeItemClickBaseEvent>();\n\n isLoading = input<boolean>(false);\n\n disableField = input<string>();\n\n expandIconField = input<{ expand: string; unExpand: string } | null>(null);\n\n protected platformService = inject(AXPlatform);\n\n expandBehavior = input<'click' | 'dbClick' | 'both'>('both');\n\n protected arrowIcon = computed(() => {\n if (this.expandIconField()) {\n if (this.isExpanded()) {\n return `ax-tree-view-arrow ax-icon ax-icon-solid ${this.expandIconField().expand}`;\n } else {\n return `ax-tree-view-arrow ax-icon ax-icon-solid ${this.expandIconField().unExpand}`;\n }\n } else {\n if (this.isExpanded()) {\n return `ax-tree-view-arrow ax-icon ax-icon-solid ax-icon-chevron-down`;\n } else {\n return this.platformService.isRtl()\n ? 'ax-tree-view-arrow ax-icon ax-icon-solid ax-icon-chevron-left'\n : 'ax-tree-view-arrow ax-icon ax-icon-solid ax-icon-chevron-right';\n }\n }\n });\n\n protected handleArrowNodeClick() {\n if (this.item()[this.disableField()] || this.isLoading() || this.expandBehavior() === 'dbClick') {\n return;\n }\n\n this.isExpanded.set(!this.isExpanded());\n\n this.onNodeExpand.emit({ component: this, data: this.item(), nativeElement: this.nativeElement });\n }\n\n protected handleTextClick(item: AXTreeViewSchema) {\n this.onNodeClick.emit({ component: this, data: item, nativeElement: this.nativeElement });\n }\n\n protected handleTextDbClick(item: AXTreeViewSchema) {\n if (item[this.disableField()] || this.expandBehavior() === 'click') {\n return;\n }\n if (item?.childrens?.length || item[this.hasChildField()]) {\n this.isExpanded.set(!this.isExpanded());\n this.onNodeDbClick.emit({ component: this, data: item, nativeElement: this.nativeElement });\n }\n }\n}\n","<div class=\"ax-tree-view-container\">\n @if ((item().childrens && !isLoading()) || (item()[hasChildField()] && !isLoading())) {\n <i\n [class.ax-state-disabled]=\"item()[disableField()]\"\n (click)=\"handleArrowNodeClick()\"\n class=\"{{ arrowIcon() }}\"\n ></i>\n } @else if (isLoading()) {\n <ax-loading></ax-loading>\n } @else {\n <i class=\"ax-icon\"></i>\n }\n\n <div class=\"ax-tree-view-items\">\n <ng-content select=\"ax-check-box\"></ng-content>\n <div\n [class.ax-state-disabled]=\"item()[disableField()]\"\n [axTooltip]=\"item().tooltip\"\n axTooltipPlacement=\"end-bottom\"\n (click)=\"handleTextClick(item())\"\n (dblclick)=\"handleTextDbClick(item())\"\n class=\"ax-tree-view-items-prefix noselect-tree-view\"\n [class.ax-state-tree-view-active]=\"item().active\"\n >\n <ng-content select=\"ax-prefix\"></ng-content>\n <ng-content select=\"ax-text\"></ng-content>\n <ng-content select=\"ax-suffix\"></ng-content>\n </div>\n </div>\n</div>\n\n<div\n class=\"{{ platformService.isRtl() ? 'ax-state-tree-view-rtl' : 'ax-state-tree-view-ltr' }}\"\n [@collapseExpand]=\"isExpanded() ? 'expanded' : 'collapsed'\"\n>\n <ng-content></ng-content>\n</div>\n","import { AXClickEvent } from '@acorex/components/common';\n\nexport interface AXTreeViewSchema {\n id: number | string;\n\n parentId?: number | string;\n\n text: string;\n\n childrens?: AXTreeViewSchema[];\n\n icon?: string;\n\n selected?: boolean;\n\n disabled?: boolean;\n\n isExpanded?: boolean;\n\n indeterminate?: boolean;\n\n active?: boolean;\n\n hasChild?: boolean;\n\n visible?: boolean;\n\n tooltip?: string;\n\n exteraData?: any;\n}\n\nexport class AXTreeItemClickBaseEvent extends AXClickEvent {\n nativeElement: any;\n}\n\nexport type SelectionBehaviorType = 'autoExpand' | 'cascade' | 'indeterminate' | null;\n","import { AXValueChangedEvent, NXComponent } from '@acorex/components/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n effect,\n inject,\n input,\n output,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXTreeItemClickBaseEvent, AXTreeViewSchema, SelectionBehaviorType } from './tree-view.class';\n\n@Component({\n selector: 'ax-tree-view',\n templateUrl: 'tree-view.component.html',\n styleUrls: ['tree-view.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class AXTreeViewComponent extends NXComponent {\n constructor() {\n super();\n }\n\n private itemsSignal = signal<AXTreeViewSchema[]>([]);\n\n private itemsPromise: any;\n\n private cdr = inject(ChangeDetectorRef);\n\n #effect = effect(() => {\n const itemsInput = this.items();\n\n if (typeof itemsInput === 'function') {\n const result = itemsInput();\n if (result instanceof Promise) {\n this.itemsPromise = (options) => itemsInput(options);\n this.fetchData();\n } else {\n this.itemsSignal.set(result);\n this.itemsPromise = null;\n }\n } else {\n this.itemsSignal.set(itemsInput);\n this.itemsPromise = null;\n }\n });\n\n items = input<\n | AXTreeViewSchema[]\n | ((options?: { parentId: string | number }) => AXTreeViewSchema[] | Promise<AXTreeViewSchema[]>)\n >();\n\n protected get resolvedItems() {\n return this.itemsSignal();\n }\n\n selectable = input<boolean>(true);\n\n selectionMode = input<'single' | 'multiple'>('single');\n\n selectionBehavior = input<SelectionBehaviorType>(null);\n\n showActiveNode = input<boolean>(true);\n\n valueField = input<string>('id');\n\n textField = input<string>('text');\n\n visibleField = input<string>('visible');\n\n disableField = input<string>('disabled');\n\n hasChildField = input<string>('hasChild');\n\n iconField = input<string>('icon');\n\n onSelectionChange = output<AXTreeItemClickBaseEvent>();\n\n onItemClick = output<AXTreeItemClickBaseEvent>();\n\n onNodeClick = output<AXTreeItemClickBaseEvent>();\n\n onNodeExpandClick = output<AXTreeItemClickBaseEvent>();\n\n expandBehavior = input<'click' | 'dbClick' | 'both'>('both');\n\n protected handleNodeSelectionClick(event: AXValueChangedEvent, item: AXTreeViewSchema) {\n if (item[this.disableField()] || this.isNodeLoading(item.id)) {\n return;\n }\n\n if (this.selectionMode() === 'single' && event.isUserInteraction) {\n this.handleUnSelectNode(this.itemsSignal());\n }\n item.selected = event.value;\n\n if (event.value != null) {\n switch (this.selectionBehavior()) {\n case 'autoExpand':\n if (event.value) {\n if (this.itemsPromise && item[this.hasChildField()] && !item?.childrens?.length) {\n this.fetchData(item.id);\n this.setNodeLoading(item.id, true);\n }\n\n this.toggleExpand(item);\n }\n break;\n case 'cascade':\n if (this.itemsPromise) {\n console.error('This mode only available client Side');\n return;\n }\n if (this.selectionMode() === 'single') {\n console.error('This mode only available selectionMode multiple');\n return;\n }\n this.expandAndToggleSelection(item, event.value);\n break;\n case 'indeterminate':\n if (item?.childrens?.length) {\n this.applySelectionToChildren(item, event.value, item[this.valueField()]);\n }\n this.updateParentSelection(item, event.value);\n break;\n default:\n break;\n }\n }\n\n if (event.isUserInteraction) {\n const result: AXTreeViewSchema[] = this.findSelectedNodes(this.itemsSignal());\n\n this.onSelectionChange.emit({\n component: this,\n data: result,\n nativeElement: this.nativeElement,\n });\n\n this.onItemClick.emit({ component: this, data: item, nativeElement: this.nativeElement });\n }\n }\n\n /**\n *\n * auto expand\n *\n */\n private toggleExpand(item: AXTreeViewSchema) {\n if (!item.isExpanded) {\n item.isExpanded = true;\n }\n }\n\n /**\n *\n * expand and change value parent change\n *\n */\n\n private expandAndToggleSelection(item: AXTreeViewSchema, selected: boolean) {\n this.toggleExpand(item);\n\n if (item.childrens?.length) {\n this.applySelectionToChildren(item, selected, item[this.valueField()]);\n }\n }\n\n private applySelectionToChildren(item: AXTreeViewSchema, isSelected: boolean, parentId?: number | string) {\n item.childrens.forEach((child) => {\n child.parentId = parentId;\n child.selected = isSelected;\n if (child.childrens?.length) {\n this.applySelectionToChildren(child, isSelected, child.id);\n }\n });\n }\n\n /**\n *\n * indeterminate logic\n *\n */\n\n private updateParentSelection(item: AXTreeViewSchema, selected: boolean) {\n item.selected = selected;\n\n let parent = this.findParent(item, this.itemsSignal());\n\n while ((parent && parent.selected != false) || (parent && item.selected)) {\n const allSelected = parent?.childrens?.every((child) => child.selected);\n\n const someSelected = parent?.childrens?.some((child) => child.selected || child.indeterminate);\n\n if (!allSelected && !someSelected) {\n parent.selected = false;\n parent.indeterminate = null;\n } else if (!allSelected) {\n parent.indeterminate = true;\n parent.selected = null;\n } else if (allSelected) {\n parent.selected = true;\n parent.indeterminate = false;\n } else {\n parent.indeterminate = false;\n parent.selected = true;\n }\n\n parent = this.findParent(parent, this.itemsSignal());\n }\n }\n\n private findParent(item: AXTreeViewSchema, nodes: AXTreeViewSchema[]): AXTreeViewSchema | null {\n for (let node of nodes) {\n if (node.childrens?.includes(item)) {\n return node;\n } else if (node.childrens) {\n const parent = this.findParent(item, node.childrens);\n if (parent) return parent;\n }\n }\n return null;\n }\n\n /**\n *\n * find node selected true for emit Selections\n *\n */\n\n private findSelectedNodes(nodes: AXTreeViewSchema[]): AXTreeViewSchema[] {\n let selectedNodes: AXTreeViewSchema[] = [];\n\n nodes.forEach((node) => {\n if (node.selected) {\n selectedNodes.push(node);\n }\n\n if (node.childrens) {\n selectedNodes = selectedNodes.concat(this.findSelectedNodes(node.childrens));\n }\n });\n\n return selectedNodes;\n }\n\n /**\n *\n * find for emit Selections single mode\n *\n */\n\n private handleUnSelectNode(items: AXTreeViewSchema[]) {\n items.forEach((child) => {\n child.selected = false;\n if (child?.childrens?.length) {\n this.handleUnSelectNode(child.childrens);\n }\n });\n }\n\n /**\n *\n * lazy load logic\n *\n */\n\n private fetchData(parentId?: number | string) {\n this.itemsPromise({ parentId })\n .then((data: AXTreeViewSchema[]) => {\n if (Array.isArray(data)) {\n if (parentId) {\n this.findNode(parentId, data, this.itemsSignal());\n } else {\n this.itemsSignal.set(data);\n }\n }\n })\n .finally(() => {\n this.setNodeLoading(parentId, false);\n });\n }\n\n private findNode(parentId: number | string, _children: AXTreeViewSchema[], source: AXTreeViewSchema[]) {\n if (source.length) {\n source.forEach((element) => {\n if (element[this.valueField()] == parentId) {\n if (this.selectionBehavior() === 'indeterminate' && element.selected) {\n _children.forEach((child) => (child.selected = true));\n }\n element.childrens = _children;\n } else {\n if (element?.childrens) this.findNode(parentId, _children, element.childrens);\n }\n });\n }\n }\n\n /**\n *\n * emit when arrow click\n *\n */\n\n protected handleNodeExpandClick(node: AXTreeItemClickBaseEvent) {\n const parentId = node.data.id;\n if (this.itemsPromise && node.data.isExpanded && !node?.data.childrens?.length) {\n this.fetchData(parentId);\n this.setNodeLoading(node.data.id, true);\n }\n this.onNodeExpandClick.emit({ component: this, data: node.data, nativeElement: this.nativeElement });\n }\n\n protected handleNodeClick(node: AXTreeItemClickBaseEvent) {\n if (node.data[this.disableField()]) {\n return;\n }\n if (this.showActiveNode()) {\n this.handleUnActiveNode(this.itemsSignal());\n node.data.active = true;\n }\n ///to do\n // switch (this.selectionBehavior()) {\n // case 'activeAndSelect':\n // if (this.selectionMode() === 'single') {\n // this.handleUnselectNode(this.itemsSignal());\n // }\n // node.selected = true;\n\n // break;\n\n // default:\n // break;\n // }\n this.onNodeClick.emit({ component: this, data: node.data, nativeElement: this.nativeElement });\n }\n\n private handleUnActiveNode(unActiveSource: AXTreeViewSchema[]) {\n unActiveSource.forEach((child) => {\n child.active = false;\n if (child?.childrens?.length) {\n this.handleUnActiveNode(child.childrens);\n }\n });\n }\n\n protected handleNodeDbClick(node: AXTreeItemClickBaseEvent) {\n if (this.itemsPromise) {\n const nodeParentId = node.data.id;\n this.fetchData(nodeParentId);\n this.setNodeLoading(node.data.id, true);\n }\n }\n\n private loadingState = signal<Record<string | number, boolean>>({});\n\n protected isNodeLoading(nodeId: string | number): boolean {\n return this.loadingState()[nodeId] || false;\n }\n\n private setNodeLoading(nodeId: string | number, isLoading: boolean): void {\n this.loadingState.update((state) => ({\n ...state,\n [nodeId]: isLoading,\n }));\n }\n\n public setActiveNodeByValueField(valueField: number | string, value: boolean) {\n this.itemsSignal().forEach((node) => (node.active = false));\n this.itemsSignal().forEach((node) => {\n if (node[this.valueField()] === valueField) {\n node.active = value;\n this.cdr.detectChanges();\n } else {\n if (node?.childrens?.length) {\n this.setActiveNodeByValueField(node[this.valueField()], value);\n }\n }\n });\n }\n\n public setExpandNodeByValueField(valueField: number | string, value: boolean) {\n this.itemsSignal().forEach((node) => {\n if (node[this.valueField()] === valueField) {\n node.isExpanded = value;\n if (this.itemsPromise && value && node[this.hasChildField()] && !node?.childrens?.length) {\n this.fetchData(node[this.valueField()]);\n }\n this.cdr.detectChanges();\n } else {\n if (node?.childrens?.length) {\n this.setExpandNodeByValueField(node[this.valueField()], value);\n }\n }\n });\n }\n}\n","@for (node of resolvedItems; track $index) {\n <ng-container [ngTemplateOutlet]=\"Recursion\" [ngTemplateOutletContext]=\"{ $implicit: node }\"></ng-container>\n}\n\n<ng-template #Recursion let-item>\n @if (item[visibleField()] !== false) {\n <ax-tree-view-item\n [item]=\"item\"\n [(isExpanded)]=\"item.isExpanded\"\n [(isActive)]=\"item.active\"\n [isLoading]=\"isNodeLoading(item.id)\"\n [disableField]=\"disableField()\"\n [hasChildField]=\"hasChildField()\"\n [expandBehavior]=\"expandBehavior()\"\n (onNodeExpand)=\"handleNodeExpandClick($event)\"\n (onNodeClick)=\"handleNodeClick($event)\"\n (onNodeDbClick)=\"handleNodeDbClick($event)\"\n >\n @if (this.selectable()) {\n <ax-check-box\n [disabled]=\"item[disableField()]\"\n [indeterminate]=\"item.indeterminate\"\n [(ngModel)]=\"item.selected\"\n (onValueChanged)=\"handleNodeSelectionClick($event, item)\"\n ></ax-check-box>\n }\n <ax-prefix>\n @if (item[iconField()]) {\n <ax-icon [icon]=\"item[iconField()]\"></ax-icon>\n } @else {\n <i></i>\n }\n </ax-prefix>\n @if (item[textField()]) {\n <ax-text>{{ item[textField()] }}</ax-text>\n }\n\n <ax-suffix></ax-suffix>\n @for (child of item?.childrens; track $index) {\n <ng-container\n [ngTemplateOutlet]=\"Recursion\"\n [ngTemplateOutletContext]=\"{ $implicit: child }\"\n ></ng-container>\n }\n </ax-tree-view-item>\n }\n</ng-template>\n","import { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXCommonModule } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXTooltipModule } from '@acorex/components/tooltip';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXTreeViewItemComponent } from './tree-view-item.component';\nimport { AXTreeViewComponent } from './tree-view.component';\n@NgModule({\n imports: [\n CommonModule,\n AXCommonModule,\n AXDecoratorModule,\n AXCheckBoxModule,\n AXFormModule,\n FormsModule,\n AXTooltipModule,\n AXLoadingModule,\n ],\n exports: [AXTreeViewComponent, AXTreeViewItemComponent],\n declarations: [AXTreeViewComponent, AXTreeViewItemComponent],\n providers: [],\n})\nexport class AXTreeViewModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i5.AXTreeViewItemComponent"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"acorex-components-tree-view.mjs","sources":["../../../../libs/components/tree-view/src/lib/tree-view-item.component.ts","../../../../libs/components/tree-view/src/lib/tree-view-item.component.html","../../../../libs/components/tree-view/src/lib/tree-view.class.ts","../../../../libs/components/tree-view/src/lib/tree-view.component.ts","../../../../libs/components/tree-view/src/lib/tree-view.component.html","../../../../libs/components/tree-view/src/lib/tree-view.component.module.ts","../../../../libs/components/tree-view/src/acorex-components-tree-view.ts"],"sourcesContent":["import { NXComponent } from '@acorex/components/common';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n input,\n model,\n output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXTreeItemClickBaseEvent, AXTreeViewSchema } from './tree-view.class';\n\n@Component({\n selector: 'ax-tree-view-item',\n templateUrl: 'tree-view-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('collapseExpand', [\n state(\n 'collapsed',\n style({\n height: '0',\n overflow: 'hidden',\n opacity: 0,\n }),\n ),\n state(\n 'expanded',\n style({\n height: '*',\n overflow: 'hidden',\n opacity: 1,\n }),\n ),\n transition('collapsed <=> expanded', [animate('300ms ease-in-out')]),\n ]),\n ],\n standalone: false,\n})\nexport class AXTreeViewItemComponent extends NXComponent {\n constructor() {\n super();\n }\n\n item = input<AXTreeViewSchema>();\n\n onNodeExpand = output<AXTreeItemClickBaseEvent>();\n\n onNodeClick = output<AXTreeItemClickBaseEvent>();\n\n isExpanded = model<boolean>(false);\n\n hasChildField = input<string>();\n\n isActive = model<boolean>(false);\n\n onNodeDbClick = output<AXTreeItemClickBaseEvent>();\n\n isLoading = input<boolean>(false);\n\n disableField = input<string>();\n\n expandIconField = input<{ expand: string; unExpand: string } | null>(null);\n\n protected platformService = inject(AXPlatform);\n\n expandBehavior = input<'click' | 'dbClick' | 'both'>('both');\n\n protected arrowIcon = computed(() => {\n if (this.expandIconField()) {\n if (this.isExpanded()) {\n return `ax-tree-view-arrow ax-icon ax-icon-solid ${this.expandIconField().expand}`;\n } else {\n return `ax-tree-view-arrow ax-icon ax-icon-solid ${this.expandIconField().unExpand}`;\n }\n } else {\n if (this.isExpanded()) {\n return `ax-tree-view-arrow ax-icon ax-icon-solid ax-icon-chevron-down`;\n } else {\n return this.platformService.isRtl()\n ? 'ax-tree-view-arrow ax-icon ax-icon-solid ax-icon-chevron-left'\n : 'ax-tree-view-arrow ax-icon ax-icon-solid ax-icon-chevron-right';\n }\n }\n });\n\n protected handleArrowNodeClick() {\n if (this.item()[this.disableField()] || this.isLoading() || this.expandBehavior() === 'dbClick') {\n return;\n }\n\n this.isExpanded.set(!this.isExpanded());\n\n this.onNodeExpand.emit({ component: this, data: this.item(), nativeElement: this.nativeElement });\n }\n\n protected handleTextClick(item: AXTreeViewSchema) {\n this.onNodeClick.emit({ component: this, data: item, nativeElement: this.nativeElement });\n }\n\n protected handleTextDbClick(item: AXTreeViewSchema) {\n if (item[this.disableField()] || this.expandBehavior() === 'click') {\n return;\n }\n if (item?.childrens?.length || item[this.hasChildField()]) {\n this.isExpanded.set(!this.isExpanded());\n this.onNodeDbClick.emit({ component: this, data: item, nativeElement: this.nativeElement });\n }\n }\n}\n","<div class=\"ax-tree-view-container\">\n @if ((item().childrens && !isLoading()) || (item()[hasChildField()] && !isLoading())) {\n <i\n [class.ax-state-disabled]=\"item()[disableField()]\"\n (click)=\"handleArrowNodeClick()\"\n class=\"{{ arrowIcon() }}\"\n ></i>\n } @else if (isLoading()) {\n <ax-loading></ax-loading>\n } @else {\n <i class=\"ax-icon\"></i>\n }\n\n <div class=\"ax-tree-view-items\">\n <ng-content select=\"ax-check-box\"></ng-content>\n <div\n [class.ax-state-disabled]=\"item()[disableField()]\"\n [axTooltip]=\"item().tooltip\"\n axTooltipPlacement=\"end-bottom\"\n (click)=\"handleTextClick(item())\"\n (dblclick)=\"handleTextDbClick(item())\"\n class=\"ax-tree-view-items-prefix noselect-tree-view\"\n [class.ax-state-tree-view-active]=\"item().active\"\n >\n <ng-content select=\"ax-prefix\"></ng-content>\n <ng-content select=\"ax-text\"></ng-content>\n <ng-content select=\"ax-suffix\"></ng-content>\n </div>\n </div>\n</div>\n\n<div\n class=\"{{ platformService.isRtl() ? 'ax-state-tree-view-rtl' : 'ax-state-tree-view-ltr' }}\"\n [@collapseExpand]=\"isExpanded() ? 'expanded' : 'collapsed'\"\n>\n <ng-content></ng-content>\n</div>\n","import { AXClickEvent } from '@acorex/components/common';\n\nexport interface AXTreeViewSchema {\n id: number | string;\n\n parentId?: number | string;\n\n text: string;\n\n childrens?: AXTreeViewSchema[];\n\n icon?: string;\n\n selected?: boolean;\n\n disabled?: boolean;\n\n isExpanded?: boolean;\n\n indeterminate?: boolean;\n\n active?: boolean;\n\n hasChild?: boolean;\n\n visible?: boolean;\n\n tooltip?: string;\n\n exteraData?: any;\n\n extension?: string;\n}\n\nexport class AXTreeItemClickBaseEvent extends AXClickEvent {\n nativeElement: any;\n}\n\nexport type SelectionBehaviorType = 'autoExpand' | 'cascade' | 'indeterminate' | null;\n","import { AXValueChangedEvent, NXComponent } from '@acorex/components/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n effect,\n input,\n output,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXTreeItemClickBaseEvent, AXTreeViewSchema, SelectionBehaviorType } from './tree-view.class';\n\n@Component({\n selector: 'ax-tree-view',\n templateUrl: 'tree-view.component.html',\n styleUrls: ['tree-view.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class AXTreeViewComponent extends NXComponent {\n private itemsSignal = signal<AXTreeViewSchema[]>([]);\n\n private itemsPromise: any;\n\n items = input<\n | AXTreeViewSchema[]\n | ((selectedItemId?: string | number) => AXTreeViewSchema[] | Promise<AXTreeViewSchema[]>)\n >();\n\n protected get resolvedItems() {\n return this.itemsSignal();\n }\n\n selectable = input<boolean>(true);\n\n selectionMode = input<'single' | 'multiple'>('single');\n\n selectionBehavior = input<SelectionBehaviorType>(null);\n\n showActiveNode = input<boolean>(true);\n\n valueField = input<string>('id');\n\n textField = input<string>('text');\n\n visibleField = input<string>('visible');\n\n disableField = input<string>('disabled');\n\n hasChildField = input<string>('hasChild');\n\n iconField = input<string>('icon');\n\n onSelectionChange = output<AXTreeItemClickBaseEvent>();\n\n onItemClick = output<AXTreeItemClickBaseEvent>();\n\n onNodeClick = output<AXTreeItemClickBaseEvent>();\n\n onNodeExpandClick = output<AXTreeItemClickBaseEvent>();\n\n #effect = effect(() => {\n const itemsInput = this.items();\n\n if (typeof itemsInput === 'function') {\n const result = itemsInput();\n if (result instanceof Promise) {\n this.itemsPromise = (options) => itemsInput(options);\n this.fetchData();\n } else {\n this.itemsSignal.set(result);\n this.itemsPromise = null;\n }\n } else {\n this.itemsSignal.set(itemsInput);\n this.itemsPromise = null;\n }\n });\n\n expandBehavior = input<'click' | 'dbClick' | 'both'>('both');\n\n protected handleNodeSelectionClick(event: AXValueChangedEvent, item: AXTreeViewSchema) {\n if (item[this.disableField()] || this.isNodeLoading(item.id)) {\n return;\n }\n\n if (this.selectionMode() === 'single' && event.isUserInteraction) {\n this.handleUnSelectNode(this.itemsSignal());\n }\n item.selected = event.value;\n\n if (event.value !== null) {\n switch (this.selectionBehavior()) {\n case 'autoExpand':\n if (event.value) {\n if (this.itemsPromise && item[this.hasChildField()] && !item?.childrens?.length) {\n this.fetchData(item);\n this.setNodeLoading(item.id, true);\n }\n this.toggleExpand(item);\n }\n break;\n case 'cascade':\n if (this.itemsPromise) {\n console.error('This mode only available client Side');\n return;\n }\n if (this.selectionMode() === 'single') {\n console.error('This mode only available selectionMode multiple');\n return;\n }\n this.expandAndToggleSelection(item, event.value);\n break;\n case 'indeterminate':\n if (item?.childrens?.length) {\n this.applySelectionToChildren(item, event.value, item[this.valueField()]);\n }\n this.updateParentSelection(item, event.value);\n break;\n default:\n break;\n }\n }\n\n if (event.isUserInteraction) {\n const result: AXTreeViewSchema[] = this.findSelectedNodes(this.itemsSignal());\n\n this.onSelectionChange.emit({\n component: this,\n data: result,\n nativeElement: this.nativeElement,\n });\n\n this.onItemClick.emit({ component: this, data: item, nativeElement: this.nativeElement });\n }\n }\n\n /**\n *\n * auto expand\n *\n */\n private toggleExpand(item: AXTreeViewSchema) {\n if (!item.isExpanded) {\n item.isExpanded = true;\n }\n }\n\n /**\n *\n * expand and change value parent change\n *\n */\n\n private expandAndToggleSelection(item: AXTreeViewSchema, selected: boolean) {\n this.toggleExpand(item);\n\n if (item.childrens?.length) {\n this.applySelectionToChildren(item, selected, item[this.valueField()]);\n }\n }\n\n private applySelectionToChildren(item: AXTreeViewSchema, isSelected: boolean, parentId?: number | string) {\n item.childrens.forEach((child) => {\n child.parentId = parentId;\n child.selected = isSelected;\n if (child.childrens?.length) {\n this.applySelectionToChildren(child, isSelected, child.id);\n }\n });\n }\n\n /**\n *\n * indeterminate logic\n *\n */\n\n private updateParentSelection(item: AXTreeViewSchema, selected: boolean) {\n item.selected = selected;\n\n let parent = this.findParent(item, this.itemsSignal());\n\n while ((parent && parent.selected != false) || (parent && item.selected)) {\n const allSelected = parent?.childrens?.every((child) => child.selected);\n\n const someSelected = parent?.childrens?.some((child) => child.selected || child.indeterminate);\n\n if (!allSelected && !someSelected) {\n parent.selected = false;\n parent.indeterminate = null;\n } else if (!allSelected) {\n parent.indeterminate = true;\n parent.selected = null;\n } else if (allSelected) {\n parent.selected = true;\n parent.indeterminate = false;\n } else {\n parent.indeterminate = false;\n parent.selected = true;\n }\n\n parent = this.findParent(parent, this.itemsSignal());\n }\n }\n\n private findParent(item: AXTreeViewSchema, nodes: AXTreeViewSchema[]): AXTreeViewSchema | null {\n for (const node of nodes) {\n if (node.childrens?.includes(item)) {\n return node;\n } else if (node.childrens) {\n const parent = this.findParent(item, node.childrens);\n if (parent) return parent;\n }\n }\n return null;\n }\n\n /**\n *\n * find node selected true for emit Selections\n *\n */\n\n private findSelectedNodes(nodes: AXTreeViewSchema[]): AXTreeViewSchema[] {\n let selectedNodes: AXTreeViewSchema[] = [];\n\n nodes.forEach((node) => {\n if (node.selected) {\n selectedNodes.push(node);\n }\n\n if (node.childrens) {\n selectedNodes = selectedNodes.concat(this.findSelectedNodes(node.childrens));\n }\n });\n\n return selectedNodes;\n }\n\n /**\n *\n * find for emit Selections single mode\n *\n */\n\n private handleUnSelectNode(items: AXTreeViewSchema[]) {\n items.forEach((child) => {\n child.selected = false;\n if (child?.childrens?.length) {\n this.handleUnSelectNode(child.childrens);\n }\n });\n }\n\n /**\n *\n * lazy load logic\n *\n */\n\n private fetchData(selectedNode?: AXTreeViewSchema) {\n this.itemsPromise(selectedNode?.id)\n .then((data: AXTreeViewSchema[]) => {\n if (Array.isArray(data)) {\n if (selectedNode?.id) {\n this.findNode(selectedNode.id, data, this.itemsSignal());\n } else {\n this.itemsSignal.set(data);\n }\n }\n })\n .finally(() => {\n this.setNodeLoading(selectedNode?.id, false);\n });\n }\n\n private findNode(parentId: number | string, _children: AXTreeViewSchema[], source: AXTreeViewSchema[]) {\n if (source.length) {\n source.forEach((element) => {\n if (element[this.valueField()] == parentId) {\n if (this.selectionBehavior() === 'indeterminate' && element.selected) {\n _children.forEach((child) => (child.selected = true));\n }\n element.childrens = _children;\n } else {\n if (element?.childrens) this.findNode(parentId, _children, element.childrens);\n }\n });\n }\n }\n\n /**\n *\n * emit when arrow click\n *\n */\n\n protected handleNodeExpandClick(node: AXTreeItemClickBaseEvent) {\n const selectedNode = node.data;\n if (this.itemsPromise && node.data.isExpanded && !node?.data.childrens?.length) {\n this.fetchData(selectedNode);\n this.setNodeLoading(selectedNode.id, true);\n }\n this.onNodeExpandClick.emit({ component: this, data: node.data, nativeElement: this.nativeElement });\n }\n\n protected handleNodeClick(node: AXTreeItemClickBaseEvent) {\n if (node.data[this.disableField()]) {\n return;\n }\n if (this.showActiveNode()) {\n this.handleUnActiveNode(this.itemsSignal());\n node.data.active = true;\n }\n ///to do\n // switch (this.selectionBehavior()) {\n // case 'activeAndSelect':\n // if (this.selectionMode() === 'single') {\n // this.handleUnselectNode(this.itemsSignal());\n // }\n // node.selected = true;\n\n // break;\n\n // default:\n // break;\n // }\n this.onNodeClick.emit({ component: this, data: node.data, nativeElement: this.nativeElement });\n }\n\n private handleUnActiveNode(unActiveSource: AXTreeViewSchema[]) {\n unActiveSource.forEach((child) => {\n child.active = false;\n if (child?.childrens?.length) {\n this.handleUnActiveNode(child.childrens);\n }\n });\n }\n\n protected handleNodeDbClick(node: AXTreeItemClickBaseEvent) {\n if (this.itemsPromise) {\n const selectedNode = node.data;\n this.fetchData(selectedNode);\n this.setNodeLoading(selectedNode.id, true);\n }\n }\n\n private loadingState = signal<Record<string | number, boolean>>({});\n\n protected isNodeLoading(nodeId: string | number): boolean {\n return this.loadingState()[nodeId] || false;\n }\n\n private setNodeLoading(nodeId: string | number, isLoading: boolean): void {\n this.loadingState.update((state) => ({\n ...state,\n [nodeId]: isLoading,\n }));\n }\n}\n","@for (node of resolvedItems; track $index) {\n <ng-container [ngTemplateOutlet]=\"Recursion\" [ngTemplateOutletContext]=\"{ $implicit: node }\"></ng-container>\n}\n\n<ng-template #Recursion let-item>\n @if (item[visibleField()] !== false) {\n <ax-tree-view-item\n [item]=\"item\"\n [(isExpanded)]=\"item.isExpanded\"\n [(isActive)]=\"item.active\"\n [isLoading]=\"isNodeLoading(item.id)\"\n [disableField]=\"disableField()\"\n [hasChildField]=\"hasChildField()\"\n [expandBehavior]=\"expandBehavior()\"\n (onNodeExpand)=\"handleNodeExpandClick($event)\"\n (onNodeClick)=\"handleNodeClick($event)\"\n (onNodeDbClick)=\"handleNodeDbClick($event)\"\n >\n @if (this.selectable()) {\n <ax-check-box\n [disabled]=\"item[disableField()]\"\n [indeterminate]=\"item.indeterminate\"\n [(ngModel)]=\"item.selected\"\n (onValueChanged)=\"handleNodeSelectionClick($event, item)\"\n ></ax-check-box>\n }\n <ax-prefix>\n @if (item[iconField()]) {\n <ax-icon [icon]=\"item[iconField()]\"></ax-icon>\n } @else {\n <i></i>\n }\n </ax-prefix>\n @if (item[textField()]) {\n <ax-text>{{ item[textField()] }}</ax-text>\n }\n\n <ax-suffix></ax-suffix>\n @for (child of item?.childrens; track $index) {\n <ng-container\n [ngTemplateOutlet]=\"Recursion\"\n [ngTemplateOutletContext]=\"{ $implicit: child }\"\n ></ng-container>\n }\n </ax-tree-view-item>\n }\n</ng-template>\n","import { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXCommonModule } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXTooltipModule } from '@acorex/components/tooltip';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXTreeViewItemComponent } from './tree-view-item.component';\nimport { AXTreeViewComponent } from './tree-view.component';\n@NgModule({\n imports: [\n CommonModule,\n AXCommonModule,\n AXDecoratorModule,\n AXCheckBoxModule,\n AXFormModule,\n FormsModule,\n AXTooltipModule,\n AXLoadingModule,\n ],\n exports: [AXTreeViewComponent, AXTreeViewItemComponent],\n declarations: [AXTreeViewComponent, AXTreeViewItemComponent],\n providers: [],\n})\nexport class AXTreeViewModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i5.AXTreeViewItemComponent"],"mappings":"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"}
|