@acorex/components 19.15.0-next.7 → 19.15.0-next.9

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.
@@ -70,8 +70,6 @@ class AXTimeDurationComponent extends classes((MXInputBaseValueComponent), MXLoo
70
70
  this.onInputFire = false;
71
71
  }
72
72
  async internalValueChanged(value) {
73
- if (!value)
74
- return;
75
73
  if (this.onInputFire)
76
74
  return;
77
75
  this.onInternalValueChangedFire = true;
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-time-duration.mjs","sources":["../../../../packages/components/time-duration/src/lib/time-duration.component.ts","../../../../packages/components/time-duration/src/lib/time-duration.component.html","../../../../packages/components/time-duration/src/lib/time-duration.module.ts","../../../../packages/components/time-duration/src/acorex-components-time-duration.ts"],"sourcesContent":["import {\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/cdk/common';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXMaskOptions, AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXTimeDurationFormatter } from '@acorex/core/date-time';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n effect,\n forwardRef,\n inject,\n input,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { IMask } from 'angular-imask';\nimport { classes } from 'polytype';\nimport { AXTimeDurationUnit } from './time-duration.type';\n\n@Component({\n selector: 'ax-time-duration',\n templateUrl: './time-duration.component.html',\n styleUrls: ['./time-duration.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [AXTextBoxModule, FormsModule, AXSelectBoxModule],\n inputs: ['disabled', 'tabIndex', 'readonly', 'look'],\n outputs: ['onValueChanged'],\n providers: [\n { provide: AXComponent, useExisting: AXTimeDurationComponent },\n { provide: AXFocusableComponent, useExisting: AXTimeDurationComponent },\n { provide: AXValuableComponent, useExisting: AXTimeDurationComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXTimeDurationComponent),\n multi: true,\n },\n ],\n})\nexport class AXTimeDurationComponent extends classes(MXInputBaseValueComponent<number>, MXLookComponent) {\n protected inputValue: string;\n readonly valueStart = input<AXTimeDurationUnit>('YEAR');\n readonly valueEnd = input<AXTimeDurationUnit>('MILLISECOND');\n protected maskOptions = signal<AXMaskOptions>({\n mask: 'HH:MM:SS',\n blocks: {\n HH: { mask: IMask.MaskedRange, from: 0, to: 23 },\n MM: { mask: IMask.MaskedRange, from: 0, to: 59 },\n SS: { mask: IMask.MaskedRange, from: 0, to: 59 },\n },\n });\n\n private translationService: AXTranslationService = inject(AXTranslationService);\n private timeDurationFormatter: AXTimeDurationFormatter = inject(AXTimeDurationFormatter);\n\n private onInputFire = false;\n private onInternalValueChangedFire = false;\n\n private YEAR = signal(null);\n private MONTH = signal(null);\n private WEEK = signal(null);\n private DAY = signal(null);\n private HOUR = signal(null);\n private MINUTE = signal(null);\n private SECOND = signal(null);\n private MILLISECOND = signal(null);\n private isTranslationInit = signal(false);\n\n #init = afterNextRender(async () => {\n await this.initTranslation();\n });\n\n #effect = effect(() => {\n if (this.valueStart() && this.valueEnd() && this.isTranslationInit()) {\n this.updateMask();\n }\n });\n\n async initTranslation() {\n this.YEAR.set((await this.translationService.translateAsync('dateTime.year')).toLocaleUpperCase());\n this.MONTH.set((await this.translationService.translateAsync('dateTime.month')).toLocaleUpperCase());\n this.WEEK.set((await this.translationService.translateAsync('dateTime.week')).toLocaleUpperCase());\n this.DAY.set((await this.translationService.translateAsync('dateTime.day')).toLocaleUpperCase());\n this.HOUR.set((await this.translationService.translateAsync('dateTime.hour')).toLocaleUpperCase());\n this.MINUTE.set((await this.translationService.translateAsync('dateTime.minute')).toLocaleUpperCase());\n this.SECOND.set((await this.translationService.translateAsync('dateTime.second')).toLocaleUpperCase());\n this.MILLISECOND.set((await this.translationService.translateAsync('dateTime.millisecond')).toLocaleUpperCase());\n this.isTranslationInit.set(true);\n }\n\n protected onInput(event: any) {\n if (this.onInternalValueChangedFire) return;\n this.onInputFire = true;\n const milliseconds = this.maskToMilliseconds(event);\n if (!milliseconds) return;\n this.commitValue(milliseconds, true);\n this.onInputFire = false;\n }\n\n protected override async internalValueChanged(value: number): Promise<void> {\n if (!value) return;\n if (this.onInputFire) return;\n this.onInternalValueChangedFire = true;\n const normalizedMask = await this.timeDurationFormatter.millisecondsToMask(\n value,\n this.valueStart(),\n this.valueEnd(),\n );\n this.inputValue = normalizedMask;\n this.onInternalValueChangedFire = false;\n }\n\n private replacePersianLabels(input: string) {\n const replacements = {\n [this.YEAR()]: 'YEAR',\n [this.MONTH()]: 'MONTH',\n [this.WEEK()]: 'WEEK',\n [this.DAY()]: 'DAY',\n [this.HOUR()]: 'HOUR',\n [this.MINUTE()]: 'MINUTE',\n [this.SECOND()]: 'SECOND',\n [this.MILLISECOND()]: 'MILLISECOND',\n };\n\n return Object.entries(replacements).reduce((str, [fa, en]) => {\n return str.replace(`(${fa})`, `(${en})`);\n }, input);\n }\n\n private maskToMilliseconds(maskValue: string): number {\n const transformedMaskValue = this.replacePersianLabels(maskValue);\n\n const timeUnits = {\n YEAR: 365 * 24 * 60 * 60 * 1000,\n MONTH: 30 * 24 * 60 * 60 * 1000,\n WEEK: 7 * 24 * 60 * 60 * 1000,\n DAY: 24 * 60 * 60 * 1000,\n HOUR: 60 * 60 * 1000,\n MINUTE: 60 * 1000,\n SECOND: 1000,\n MILLISECOND: 1,\n };\n\n const regex = /(\\d+)\\s*\\((YEAR|MONTH|WEEK|DAY|HOUR|MINUTE|SECOND|MILLISECOND)\\)/g;\n let match;\n let totalMs = 0;\n\n while ((match = regex.exec(transformedMaskValue)) !== null) {\n const value = parseInt(match[1], 10);\n const unit = match[2];\n if (timeUnits[unit] !== undefined) {\n totalMs += value * timeUnits[unit];\n }\n }\n\n return totalMs;\n }\n\n private updateMask() {\n const allUnits = ['YEAR', 'MONTH', 'WEEK', 'DAY', 'HOUR', 'MINUTE', 'SECOND', 'MILLISECOND'];\n const startIndex = allUnits.indexOf(this.valueStart());\n const endIndex = allUnits.indexOf(this.valueEnd());\n\n if (startIndex === -1 || endIndex === -1 || endIndex < startIndex) {\n this.maskOptions.set({ mask: '', eager: true });\n return null;\n }\n\n const selectedUnits = allUnits.slice(startIndex, endIndex + 1);\n\n const unitPatterns: Record<string, string> = {\n YEAR: `00 (${this.YEAR()})`,\n MONTH: `00 (${this.MONTH()})`,\n WEEK: `00 (${this.WEEK()})`,\n DAY: `00 (${this.DAY()})`,\n HOUR: `00 (${this.HOUR()})`,\n MINUTE: `00 (${this.MINUTE()})`,\n SECOND: `00 (${this.SECOND()})`,\n MILLISECOND: `000 (${this.MILLISECOND()})`,\n };\n\n const maskParts = selectedUnits.map((unit) => {\n return unitPatterns[unit];\n });\n\n const result = maskParts.join(' : ');\n\n this.maskOptions.set({ mask: result, eager: true });\n }\n}\n","<div class=\"ax-editor-container\">\n <ax-text-box\n [look]=\"look\"\n [placeholder]=\"maskOptions().mask\"\n [mask-options]=\"maskOptions()\"\n [(ngModel)]=\"inputValue\"\n (ngModelChange)=\"onInput($event)\"\n class=\"ax-time-duration-text\"\n [disabled]=\"disabled\"\n [tabIndex]=\"tabIndex\"\n [readonly]=\"readonly\"\n >\n </ax-text-box>\n <ng-content select=\"ax-validation-rule\"> </ng-content>\n</div>\n<div class=\"ax-error-container\"></div>\n","import { NgModule } from '@angular/core';\nimport { AXTimeDurationComponent } from './time-duration.component';\n\nconst COMPONENT = [AXTimeDurationComponent];\n\nconst MODULES = [];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXTimeDurationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-time-duration.mjs","sources":["../../../../packages/components/time-duration/src/lib/time-duration.component.ts","../../../../packages/components/time-duration/src/lib/time-duration.component.html","../../../../packages/components/time-duration/src/lib/time-duration.module.ts","../../../../packages/components/time-duration/src/acorex-components-time-duration.ts"],"sourcesContent":["import {\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/cdk/common';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXMaskOptions, AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXTimeDurationFormatter } from '@acorex/core/date-time';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n effect,\n forwardRef,\n inject,\n input,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { IMask } from 'angular-imask';\nimport { classes } from 'polytype';\nimport { AXTimeDurationUnit } from './time-duration.type';\n\n@Component({\n selector: 'ax-time-duration',\n templateUrl: './time-duration.component.html',\n styleUrls: ['./time-duration.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [AXTextBoxModule, FormsModule, AXSelectBoxModule],\n inputs: ['disabled', 'tabIndex', 'readonly', 'look'],\n outputs: ['onValueChanged'],\n providers: [\n { provide: AXComponent, useExisting: AXTimeDurationComponent },\n { provide: AXFocusableComponent, useExisting: AXTimeDurationComponent },\n { provide: AXValuableComponent, useExisting: AXTimeDurationComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXTimeDurationComponent),\n multi: true,\n },\n ],\n})\nexport class AXTimeDurationComponent extends classes(MXInputBaseValueComponent<number>, MXLookComponent) {\n protected inputValue: string;\n readonly valueStart = input<AXTimeDurationUnit>('YEAR');\n readonly valueEnd = input<AXTimeDurationUnit>('MILLISECOND');\n protected maskOptions = signal<AXMaskOptions>({\n mask: 'HH:MM:SS',\n blocks: {\n HH: { mask: IMask.MaskedRange, from: 0, to: 23 },\n MM: { mask: IMask.MaskedRange, from: 0, to: 59 },\n SS: { mask: IMask.MaskedRange, from: 0, to: 59 },\n },\n });\n\n private translationService: AXTranslationService = inject(AXTranslationService);\n private timeDurationFormatter: AXTimeDurationFormatter = inject(AXTimeDurationFormatter);\n\n private onInputFire = false;\n private onInternalValueChangedFire = false;\n\n private YEAR = signal(null);\n private MONTH = signal(null);\n private WEEK = signal(null);\n private DAY = signal(null);\n private HOUR = signal(null);\n private MINUTE = signal(null);\n private SECOND = signal(null);\n private MILLISECOND = signal(null);\n private isTranslationInit = signal(false);\n\n #init = afterNextRender(async () => {\n await this.initTranslation();\n });\n\n #effect = effect(() => {\n if (this.valueStart() && this.valueEnd() && this.isTranslationInit()) {\n this.updateMask();\n }\n });\n\n async initTranslation() {\n this.YEAR.set((await this.translationService.translateAsync('dateTime.year')).toLocaleUpperCase());\n this.MONTH.set((await this.translationService.translateAsync('dateTime.month')).toLocaleUpperCase());\n this.WEEK.set((await this.translationService.translateAsync('dateTime.week')).toLocaleUpperCase());\n this.DAY.set((await this.translationService.translateAsync('dateTime.day')).toLocaleUpperCase());\n this.HOUR.set((await this.translationService.translateAsync('dateTime.hour')).toLocaleUpperCase());\n this.MINUTE.set((await this.translationService.translateAsync('dateTime.minute')).toLocaleUpperCase());\n this.SECOND.set((await this.translationService.translateAsync('dateTime.second')).toLocaleUpperCase());\n this.MILLISECOND.set((await this.translationService.translateAsync('dateTime.millisecond')).toLocaleUpperCase());\n this.isTranslationInit.set(true);\n }\n\n protected onInput(event: any) {\n if (this.onInternalValueChangedFire) return;\n this.onInputFire = true;\n const milliseconds = this.maskToMilliseconds(event);\n if (!milliseconds) return;\n this.commitValue(milliseconds, true);\n this.onInputFire = false;\n }\n\n protected override async internalValueChanged(value: number): Promise<void> {\n if (this.onInputFire) return;\n this.onInternalValueChangedFire = true;\n const normalizedMask = await this.timeDurationFormatter.millisecondsToMask(\n value,\n this.valueStart(),\n this.valueEnd(),\n );\n this.inputValue = normalizedMask;\n this.onInternalValueChangedFire = false;\n }\n\n private replacePersianLabels(input: string) {\n const replacements = {\n [this.YEAR()]: 'YEAR',\n [this.MONTH()]: 'MONTH',\n [this.WEEK()]: 'WEEK',\n [this.DAY()]: 'DAY',\n [this.HOUR()]: 'HOUR',\n [this.MINUTE()]: 'MINUTE',\n [this.SECOND()]: 'SECOND',\n [this.MILLISECOND()]: 'MILLISECOND',\n };\n\n return Object.entries(replacements).reduce((str, [fa, en]) => {\n return str.replace(`(${fa})`, `(${en})`);\n }, input);\n }\n\n private maskToMilliseconds(maskValue: string): number {\n const transformedMaskValue = this.replacePersianLabels(maskValue);\n\n const timeUnits = {\n YEAR: 365 * 24 * 60 * 60 * 1000,\n MONTH: 30 * 24 * 60 * 60 * 1000,\n WEEK: 7 * 24 * 60 * 60 * 1000,\n DAY: 24 * 60 * 60 * 1000,\n HOUR: 60 * 60 * 1000,\n MINUTE: 60 * 1000,\n SECOND: 1000,\n MILLISECOND: 1,\n };\n\n const regex = /(\\d+)\\s*\\((YEAR|MONTH|WEEK|DAY|HOUR|MINUTE|SECOND|MILLISECOND)\\)/g;\n let match;\n let totalMs = 0;\n\n while ((match = regex.exec(transformedMaskValue)) !== null) {\n const value = parseInt(match[1], 10);\n const unit = match[2];\n if (timeUnits[unit] !== undefined) {\n totalMs += value * timeUnits[unit];\n }\n }\n\n return totalMs;\n }\n\n private updateMask() {\n const allUnits = ['YEAR', 'MONTH', 'WEEK', 'DAY', 'HOUR', 'MINUTE', 'SECOND', 'MILLISECOND'];\n const startIndex = allUnits.indexOf(this.valueStart());\n const endIndex = allUnits.indexOf(this.valueEnd());\n\n if (startIndex === -1 || endIndex === -1 || endIndex < startIndex) {\n this.maskOptions.set({ mask: '', eager: true });\n return null;\n }\n\n const selectedUnits = allUnits.slice(startIndex, endIndex + 1);\n\n const unitPatterns: Record<string, string> = {\n YEAR: `00 (${this.YEAR()})`,\n MONTH: `00 (${this.MONTH()})`,\n WEEK: `00 (${this.WEEK()})`,\n DAY: `00 (${this.DAY()})`,\n HOUR: `00 (${this.HOUR()})`,\n MINUTE: `00 (${this.MINUTE()})`,\n SECOND: `00 (${this.SECOND()})`,\n MILLISECOND: `000 (${this.MILLISECOND()})`,\n };\n\n const maskParts = selectedUnits.map((unit) => {\n return unitPatterns[unit];\n });\n\n const result = maskParts.join(' : ');\n\n this.maskOptions.set({ mask: result, eager: true });\n }\n}\n","<div class=\"ax-editor-container\">\n <ax-text-box\n [look]=\"look\"\n [placeholder]=\"maskOptions().mask\"\n [mask-options]=\"maskOptions()\"\n [(ngModel)]=\"inputValue\"\n (ngModelChange)=\"onInput($event)\"\n class=\"ax-time-duration-text\"\n [disabled]=\"disabled\"\n [tabIndex]=\"tabIndex\"\n [readonly]=\"readonly\"\n >\n </ax-text-box>\n <ng-content select=\"ax-validation-rule\"> </ng-content>\n</div>\n<div class=\"ax-error-container\"></div>\n","import { NgModule } from '@angular/core';\nimport { AXTimeDurationComponent } from './time-duration.component';\n\nconst COMPONENT = [AXTimeDurationComponent];\n\nconst MODULES = [];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXTimeDurationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -32,6 +32,25 @@ class AXTooltipDirective {
32
32
  this.popupRef.placement = v;
33
33
  }
34
34
  }
35
+ get offsetX() {
36
+ return this._offsetX;
37
+ }
38
+ set offsetX(v) {
39
+ this._offsetX = v;
40
+ if (this.popupRef) {
41
+ this.popupRef.offsetX = v;
42
+ }
43
+ }
44
+ get offsetY() {
45
+ return this._offsetY;
46
+ }
47
+ set offsetY(v) {
48
+ this._offsetY = v;
49
+ ``;
50
+ if (this.popupRef) {
51
+ this.popupRef.offsetY = v;
52
+ }
53
+ }
35
54
  get openAfter() {
36
55
  return this._openAfter;
37
56
  }
@@ -55,6 +74,8 @@ class AXTooltipDirective {
55
74
  this.vc = vc;
56
75
  this.ngzone = inject(NgZone);
57
76
  this._placement = convertToPlacement('top');
77
+ this._offsetX = 0;
78
+ this._offsetY = 0;
58
79
  this._openAfter = 100;
59
80
  this._closeAfter = 100;
60
81
  this.popupRef = this.vc.createComponent(AXPopoverComponent).instance;
@@ -79,7 +100,7 @@ class AXTooltipDirective {
79
100
  });
80
101
  }
81
102
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXTooltipDirective, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
82
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.11", type: AXTooltipDirective, isStandalone: true, selector: "[axTooltip]", inputs: { content: ["axTooltip", "content"], placement: ["axTooltipPlacement", "placement"], openAfter: ["axTooltipOpenAfter", "openAfter"], closeAfter: ["axTooltipCloseAfter", "closeAfter"] }, ngImport: i0 }); }
103
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.11", type: AXTooltipDirective, isStandalone: true, selector: "[axTooltip]", inputs: { content: ["axTooltip", "content"], placement: ["axTooltipPlacement", "placement"], offsetX: ["axTooltipOffsetX", "offsetX"], offsetY: ["axTooltipOffsetY", "offsetY"], openAfter: ["axTooltipOpenAfter", "openAfter"], closeAfter: ["axTooltipCloseAfter", "closeAfter"] }, ngImport: i0 }); }
83
104
  }
84
105
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXTooltipDirective, decorators: [{
85
106
  type: Directive,
@@ -90,6 +111,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImpo
90
111
  }], placement: [{
91
112
  type: Input,
92
113
  args: ['axTooltipPlacement']
114
+ }], offsetX: [{
115
+ type: Input,
116
+ args: ['axTooltipOffsetX']
117
+ }], offsetY: [{
118
+ type: Input,
119
+ args: ['axTooltipOffsetY']
93
120
  }], openAfter: [{
94
121
  type: Input,
95
122
  args: ['axTooltipOpenAfter']
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-tooltip.mjs","sources":["../../../../packages/components/tooltip/src/lib/tooltip.component.ts","../../../../packages/components/tooltip/src/lib/tooltip.component.html","../../../../packages/components/tooltip/src/lib/tooltip.directive.ts","../../../../packages/components/tooltip/src/lib/tooltip.module.ts","../../../../packages/components/tooltip/src/acorex-components-tooltip.ts"],"sourcesContent":["import { AXComponent, AXPlacement, MXBaseComponent } from '@acorex/cdk/common';\nimport { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\n\n/**\n * A component for displaying tooltips with additional information or context when hovering over elements.\n * @category Components\n */\n@Component({\n selector: 'ax-tooltip',\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXComponent, useExisting: AXTooltipComponent }],\n})\nexport class AXTooltipComponent extends MXBaseComponent {\n /**\n * The text content displayed in the tooltip.\n * @defaultValue 'string'\n */\n @Input()\n text: string;\n\n /**\n * Specifies the position of the tooltip relative to the target element.\n *\n * @type {AXPlacement}\n */\n @Input()\n position: AXPlacement;\n}\n","<div class=\"ax-tooltip-container\">\n <div class=\"ax-tooltip\">\n {{ text }}\n </div>\n <!-- <div class=\"ax-tooltip-tringle ax-tooltip-tringle-{{ position }}\"></div> -->\n</div>","import { AXPlacementType, convertToPlacement } from '@acorex/cdk/common';\nimport { AXPopoverComponent } from '@acorex/components/popover';\nimport { Directive, ElementRef, inject, Input, NgZone, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { AXTooltipComponent } from './tooltip.component';\n\n@Directive({ selector: '[axTooltip]' })\nexport class AXTooltipDirective implements OnInit {\n @Input('axTooltip')\n public content: string | TemplateRef<unknown>;\n ngzone = inject(NgZone);\n\n private _placement: AXPlacementType = convertToPlacement('top');\n @Input('axTooltipPlacement')\n public get placement(): AXPlacementType {\n return this._placement;\n }\n public set placement(v: AXPlacementType) {\n this._placement = v;\n if (this.popupRef) {\n this.popupRef.placement = v;\n }\n }\n\n private _openAfter = 100;\n @Input('axTooltipOpenAfter')\n public get openAfter(): number {\n return this._openAfter;\n }\n public set openAfter(v: number) {\n this._openAfter = v;\n if (this.popupRef) {\n this.popupRef.openAfter = v;\n }\n }\n\n private _closeAfter = 100;\n @Input('axTooltipCloseAfter')\n public get closeAfter(): number {\n return this._closeAfter;\n }\n public set closeAfter(v: number) {\n this._closeAfter = v;\n if (this.popupRef) {\n this.popupRef.closeAfter = v;\n }\n }\n\n private popupRef: AXPopoverComponent;\n\n constructor(\n private elementRef: ElementRef,\n private vc: ViewContainerRef,\n ) {\n this.popupRef = this.vc.createComponent(AXPopoverComponent).instance;\n this.popupRef.target = this.elementRef.nativeElement;\n }\n\n ngOnInit(): void {\n this.ngzone.runOutsideAngular(() => {\n this.popupRef.target = this.elementRef.nativeElement;\n this.popupRef.openOn = 'hover';\n this.popupRef.closeOn = 'leave';\n this.popupRef.placement = this.placement;\n this.popupRef.openAfter = this.openAfter;\n this.popupRef.closeAfter = this.closeAfter;\n if (typeof this.content === 'string' && this.content) {\n this.popupRef.content = AXTooltipComponent;\n this.popupRef.context = { text: this.content };\n } else if (this.content instanceof TemplateRef) {\n this.popupRef.content = this.content;\n //this.popupRef.context = { text: this.content };\n }\n });\n }\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXTooltipComponent } from './tooltip.component';\nimport { AXTooltipDirective } from './tooltip.directive';\n\nconst COMPONENT = [AXTooltipComponent, AXTooltipDirective];\nconst MODULES = [CommonModule, OverlayModule];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n})\nexport class AXTooltipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-tooltip.mjs","sources":["../../../../packages/components/tooltip/src/lib/tooltip.component.ts","../../../../packages/components/tooltip/src/lib/tooltip.component.html","../../../../packages/components/tooltip/src/lib/tooltip.directive.ts","../../../../packages/components/tooltip/src/lib/tooltip.module.ts","../../../../packages/components/tooltip/src/acorex-components-tooltip.ts"],"sourcesContent":["import { AXComponent, AXPlacement, MXBaseComponent } from '@acorex/cdk/common';\nimport { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\n\n/**\n * A component for displaying tooltips with additional information or context when hovering over elements.\n * @category Components\n */\n@Component({\n selector: 'ax-tooltip',\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXComponent, useExisting: AXTooltipComponent }],\n})\nexport class AXTooltipComponent extends MXBaseComponent {\n /**\n * The text content displayed in the tooltip.\n * @defaultValue 'string'\n */\n @Input()\n text: string;\n\n /**\n * Specifies the position of the tooltip relative to the target element.\n *\n * @type {AXPlacement}\n */\n @Input()\n position: AXPlacement;\n}\n","<div class=\"ax-tooltip-container\">\n <div class=\"ax-tooltip\">\n {{ text }}\n </div>\n <!-- <div class=\"ax-tooltip-tringle ax-tooltip-tringle-{{ position }}\"></div> -->\n</div>","import { AXPlacementType, convertToPlacement } from '@acorex/cdk/common';\nimport { AXPopoverComponent } from '@acorex/components/popover';\nimport { Directive, ElementRef, inject, Input, NgZone, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { AXTooltipComponent } from './tooltip.component';\n\n@Directive({ selector: '[axTooltip]' })\nexport class AXTooltipDirective implements OnInit {\n @Input('axTooltip')\n public content: string | TemplateRef<unknown>;\n ngzone = inject(NgZone);\n\n private _placement: AXPlacementType = convertToPlacement('top');\n @Input('axTooltipPlacement')\n public get placement(): AXPlacementType {\n return this._placement;\n }\n public set placement(v: AXPlacementType) {\n this._placement = v;\n if (this.popupRef) {\n this.popupRef.placement = v;\n }\n }\n\n private _offsetX = 0;\n @Input('axTooltipOffsetX')\n public get offsetX(): number {\n return this._offsetX;\n }\n public set offsetX(v: number) {\n this._offsetX = v;\n if (this.popupRef) {\n this.popupRef.offsetX = v;\n }\n }\n\n private _offsetY = 0;\n @Input('axTooltipOffsetY')\n public get offsetY(): number {\n return this._offsetY;\n }\n public set offsetY(v: number) {\n this._offsetY = v;\n ``;\n if (this.popupRef) {\n this.popupRef.offsetY = v;\n }\n }\n\n private _openAfter = 100;\n @Input('axTooltipOpenAfter')\n public get openAfter(): number {\n return this._openAfter;\n }\n public set openAfter(v: number) {\n this._openAfter = v;\n if (this.popupRef) {\n this.popupRef.openAfter = v;\n }\n }\n\n private _closeAfter = 100;\n @Input('axTooltipCloseAfter')\n public get closeAfter(): number {\n return this._closeAfter;\n }\n public set closeAfter(v: number) {\n this._closeAfter = v;\n if (this.popupRef) {\n this.popupRef.closeAfter = v;\n }\n }\n\n private popupRef: AXPopoverComponent;\n\n constructor(\n private elementRef: ElementRef,\n private vc: ViewContainerRef,\n ) {\n this.popupRef = this.vc.createComponent(AXPopoverComponent).instance;\n this.popupRef.target = this.elementRef.nativeElement;\n }\n\n ngOnInit(): void {\n this.ngzone.runOutsideAngular(() => {\n this.popupRef.target = this.elementRef.nativeElement;\n this.popupRef.openOn = 'hover';\n this.popupRef.closeOn = 'leave';\n this.popupRef.placement = this.placement;\n this.popupRef.openAfter = this.openAfter;\n this.popupRef.closeAfter = this.closeAfter;\n if (typeof this.content === 'string' && this.content) {\n this.popupRef.content = AXTooltipComponent;\n this.popupRef.context = { text: this.content };\n } else if (this.content instanceof TemplateRef) {\n this.popupRef.content = this.content;\n //this.popupRef.context = { text: this.content };\n }\n });\n }\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXTooltipComponent } from './tooltip.component';\nimport { AXTooltipDirective } from './tooltip.directive';\n\nconst COMPONENT = [AXTooltipComponent, AXTooltipDirective];\nconst MODULES = [CommonModule, OverlayModule];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n})\nexport class AXTooltipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -78,7 +78,7 @@ class AXTreeViewItemComponent extends NXComponent {
78
78
  this.treeView.onNodedbClick.emit({ component: this, data: item, nativeElement: this.nativeElement });
79
79
  }
80
80
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXTreeViewItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
81
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.11", type: AXTreeViewItemComponent, isStandalone: true, selector: "ax-tree-view-item", inputs: { item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null }, isExpanded: { classPropertyName: "isExpanded", publicName: "isExpanded", isSignal: true, isRequired: false, transformFunction: null }, isActive: { classPropertyName: "isActive", publicName: "isActive", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, executorChanges: { classPropertyName: "executorChanges", publicName: "executorChanges", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isExpanded: "isExpandedChange", isActive: "isActiveChange" }, providers: [{ provide: AXComponent, useExisting: AXTreeViewItemComponent }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-tree-view-container\">\n @if (\n (item()[this.treeView.childrenField()]?.length && !isLoading()) ||\n (item()[treeView.hasChildField()] && !isLoading())\n ) {\n <div class=\"ax-tree-view-icon-container\" (click)=\"handleArrowNodeClick()\">\n <i [class.ax-state-disabled]=\"item()[treeView.disableField()]\" class=\"{{ arrowIcon() }}\"></i>\n </div>\n } @else if (isLoading()) {\n <ax-loading></ax-loading>\n } @else {\n <div class=\"ax-tree-view-icon-container placeholder-icon\"></div>\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()[treeView.disableField()]\"\n [axTooltip]=\"item()[treeView.tooltipField()]\"\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()[treeView.activeField()]\"\n >\n @if (treeView.itemTemplate) {\n <ng-container *ngTemplateOutlet=\"treeView.itemTemplate; context: { $implicit: item() }\"></ng-container>\n } @else {\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 }\n </div>\n </div>\n</div>\n\n<div class=\"ax-tree-view-child\" [@collapseExpand]=\"isExpanded() ? 'expanded' : 'collapsed'\">\n <ng-content></ng-content>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "directive", type: AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltip", "axTooltipPlacement", "axTooltipOpenAfter", "axTooltipCloseAfter"] }], animations: [
81
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.11", type: AXTreeViewItemComponent, isStandalone: true, selector: "ax-tree-view-item", inputs: { item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null }, isExpanded: { classPropertyName: "isExpanded", publicName: "isExpanded", isSignal: true, isRequired: false, transformFunction: null }, isActive: { classPropertyName: "isActive", publicName: "isActive", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, executorChanges: { classPropertyName: "executorChanges", publicName: "executorChanges", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isExpanded: "isExpandedChange", isActive: "isActiveChange" }, providers: [{ provide: AXComponent, useExisting: AXTreeViewItemComponent }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-tree-view-container\">\n @if (\n (item()[this.treeView.childrenField()]?.length && !isLoading()) ||\n (item()[treeView.hasChildField()] && !isLoading())\n ) {\n <div class=\"ax-tree-view-icon-container\" (click)=\"handleArrowNodeClick()\">\n <i [class.ax-state-disabled]=\"item()[treeView.disableField()]\" class=\"{{ arrowIcon() }}\"></i>\n </div>\n } @else if (isLoading()) {\n <ax-loading></ax-loading>\n } @else {\n <div class=\"ax-tree-view-icon-container placeholder-icon\"></div>\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()[treeView.disableField()]\"\n [axTooltip]=\"item()[treeView.tooltipField()]\"\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()[treeView.activeField()]\"\n >\n @if (treeView.itemTemplate) {\n <ng-container *ngTemplateOutlet=\"treeView.itemTemplate; context: { $implicit: item() }\"></ng-container>\n } @else {\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 }\n </div>\n </div>\n</div>\n\n<div class=\"ax-tree-view-child\" [@collapseExpand]=\"isExpanded() ? 'expanded' : 'collapsed'\">\n <ng-content></ng-content>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "directive", type: AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltip", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }], animations: [
82
82
  trigger('collapseExpand', [
83
83
  state('collapsed', style({
84
84
  height: '0',
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-tree-view.mjs","sources":["../../../../packages/components/tree-view/src/lib/tree-view.class.ts","../../../../packages/components/tree-view/src/lib/tree-view-item.component.ts","../../../../packages/components/tree-view/src/lib/tree-view-item.component.html","../../../../packages/components/tree-view/src/lib/tree-view.component.ts","../../../../packages/components/tree-view/src/lib/tree-view.component.html","../../../../packages/components/tree-view/src/lib/tree-view.component.module.ts","../../../../packages/components/tree-view/src/acorex-components-tree-view.ts"],"sourcesContent":["import { AXClickEvent } from '@acorex/cdk/common';\nimport { EventEmitter } from '@angular/core';\n\nexport class AXTreeItemClickBaseEvent extends AXClickEvent {\n nativeElement: any;\n}\n\nexport type AXTreeViewSelectionBehavior = 'autoExpand' | 'cascade' | 'indeterminate';\n\nexport type AXTreeViewExpandBehavior = 'click' | 'dbClick' | 'defult';\n\nexport type AXTreeViewOperationMethod = 'expand' | 'active' | 'visible' | 'disabled';\n\nexport type AXTreeViewLook = 'with-line' | 'defult';\n\nexport type AXTreeViewSelectionScope = 'all' | 'parent' | 'children';\n\nexport abstract class AXTreeViewBase {\n abstract getChildren(item: unknown): unknown[];\n\n abstract hasChildren(item: unknown): boolean;\n\n abstract itemTemplate: any;\n\n // Field accessors\n abstract disableField(): string;\n abstract childrenField(): string;\n abstract valueField(): string;\n abstract activeField(): string;\n abstract hasChildField(): string;\n abstract tooltipField(): string;\n\n // Behavior methods\n abstract expandOn(): AXTreeViewExpandBehavior;\n abstract focusNodeEnabled(): boolean;\n abstract toggleIcons(): { expanded: string; collapsed: string } | null;\n\n // Data management\n abstract itemsPromise: boolean;\n abstract itemsSignal(): unknown[];\n abstract fetchData(item: unknown): void;\n abstract setNodeLoading(value: unknown, loading: boolean): void;\n abstract handleUnActiveNode(items: unknown[]): void;\n\n // Event emitters\n abstract onCollapsedChanged: EventEmitter<{ component: any; data: unknown; nativeElement: any }>;\n abstract onNodeClick: EventEmitter<{ component: any; data: unknown; nativeElement: any }>;\n abstract onNodedbClick: EventEmitter<{ component: any; data: unknown; nativeElement: any }>;\n}\n","import { AXComponent, NXComponent } from '@acorex/cdk/common';\nimport { AXLoadingComponent } from '@acorex/components/loading';\nimport { AXTooltipDirective } from '@acorex/components/tooltip';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject, input, model, ViewEncapsulation } from '@angular/core';\nimport { AXTreeViewBase, AXTreeViewOperationMethod } 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 imports: [CommonModule, AXLoadingComponent, AXTooltipDirective],\n providers: [{ provide: AXComponent, useExisting: AXTreeViewItemComponent }],\n})\nexport class AXTreeViewItemComponent extends NXComponent {\n constructor() {\n super();\n }\n\n treeView = inject(AXTreeViewBase);\n\n item = input<unknown>();\n\n isExpanded = model<boolean>(false);\n\n isActive = model<boolean>(false);\n\n isLoading = input<boolean>(false);\n\n executorChanges = input<AXTreeViewOperationMethod>();\n\n protected platformService = inject(AXPlatform);\n\n protected arrowIcon = computed(() => {\n const baseClasses = 'ax-tree-view-arrow ax-icon ax-icon-solid';\n const toggleIcons = this.treeView.toggleIcons();\n\n if (toggleIcons) {\n return this.isExpanded() ? `${baseClasses} ${toggleIcons.expanded}` : `${baseClasses} ${toggleIcons.collapsed}`;\n }\n\n if (this.isExpanded()) {\n return `${baseClasses} ax-icon-chevron-down`;\n }\n\n return this.platformService.isRtl()\n ? `${baseClasses} ax-icon-chevron-left`\n : `${baseClasses} ax-icon-chevron-right`;\n });\n\n protected handleArrowNodeClick() {\n if (this.item()[this.treeView.disableField()] || this.isLoading() || this.treeView.expandOn() === 'dbClick') {\n return;\n }\n\n this.isExpanded.set(!this.isExpanded());\n\n if (this.treeView.itemsPromise && this.isExpanded() && !this.item()[this.treeView.childrenField()]?.length) {\n this.treeView.fetchData(this.item());\n this.treeView.setNodeLoading(this.item()[this.treeView.valueField()], true);\n }\n\n this.treeView.onCollapsedChanged.emit({ component: this, data: this.item(), nativeElement: this.nativeElement });\n }\n\n protected handleTextClick(item: unknown) {\n if (this.item()[this.treeView.disableField()]) {\n return;\n }\n if (this.treeView.focusNodeEnabled()) {\n this.treeView.handleUnActiveNode(this.treeView.itemsSignal());\n this.item()[this.treeView.activeField()] = true;\n }\n this.treeView.onNodeClick.emit({ component: this, data: item, nativeElement: this.nativeElement });\n }\n\n protected handleTextDbClick(item: unknown) {\n if (item[this.treeView.disableField()] || this.treeView.expandOn() === 'click') {\n return;\n }\n if (item?.[this.treeView.childrenField()] || item[this.treeView.hasChildField()]) {\n this.isExpanded.set(!this.isExpanded());\n\n if (this.treeView.itemsPromise && this.isExpanded()) {\n this.treeView.fetchData(this.item());\n this.treeView.setNodeLoading(this.item()[this.treeView.valueField()], true);\n }\n }\n this.treeView.onNodedbClick.emit({ component: this, data: item, nativeElement: this.nativeElement });\n }\n}\n","<div class=\"ax-tree-view-container\">\n @if (\n (item()[this.treeView.childrenField()]?.length && !isLoading()) ||\n (item()[treeView.hasChildField()] && !isLoading())\n ) {\n <div class=\"ax-tree-view-icon-container\" (click)=\"handleArrowNodeClick()\">\n <i [class.ax-state-disabled]=\"item()[treeView.disableField()]\" class=\"{{ arrowIcon() }}\"></i>\n </div>\n } @else if (isLoading()) {\n <ax-loading></ax-loading>\n } @else {\n <div class=\"ax-tree-view-icon-container placeholder-icon\"></div>\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()[treeView.disableField()]\"\n [axTooltip]=\"item()[treeView.tooltipField()]\"\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()[treeView.activeField()]\"\n >\n @if (treeView.itemTemplate) {\n <ng-container *ngTemplateOutlet=\"treeView.itemTemplate; context: { $implicit: item() }\"></ng-container>\n } @else {\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 }\n </div>\n </div>\n</div>\n\n<div class=\"ax-tree-view-child\" [@collapseExpand]=\"isExpanded() ? 'expanded' : 'collapsed'\">\n <ng-content></ng-content>\n</div>\n","import { AXComponent, AXExpandToggleIcons, AXValueChangedEvent, NXComponent } from '@acorex/cdk/common';\nimport { AXCheckBoxComponent } from '@acorex/components/check-box';\nimport { AXDecoratorGenericComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n effect,\n HostBinding,\n inject,\n Input,\n input,\n output,\n signal,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXTreeViewItemComponent } from './tree-view-item.component';\nimport {\n AXTreeItemClickBaseEvent,\n AXTreeViewBase,\n AXTreeViewExpandBehavior,\n AXTreeViewLook,\n AXTreeViewOperationMethod,\n AXTreeViewSelectionBehavior,\n AXTreeViewSelectionScope,\n} 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 imports: [\n NgTemplateOutlet,\n AXTreeViewItemComponent,\n AXCheckBoxComponent,\n FormsModule,\n AXDecoratorGenericComponent,\n AXDecoratorIconComponent,\n AXTranslatorPipe,\n AsyncPipe,\n ],\n providers: [\n { provide: AXComponent, useExisting: AXTreeViewComponent },\n { provide: AXTreeViewBase, useExisting: AXTreeViewComponent },\n ],\n})\nexport class AXTreeViewComponent extends NXComponent {\n /** @ignore */\n @HostBinding('class')\n private get __hostClass(): string[] {\n return [`ax-look-${this.look()}`];\n }\n\n itemsSignal = signal<unknown[]>([]);\n\n itemsPromise: any;\n\n items = input<unknown[] | ((selectedItemId?: string | number) => unknown[] | Promise<unknown[]>)>();\n\n protected get resolvedItems() {\n return this.itemsSignal();\n }\n\n showCheckbox = input<boolean>(true);\n\n selectionMode = input<'single' | 'multiple'>('single');\n\n selectionBehavior = input<AXTreeViewSelectionBehavior>();\n\n selectionScope = input<AXTreeViewSelectionScope>('all');\n\n focusNodeEnabled = input<boolean>(true);\n\n valueField = input('id');\n\n textField = input('text');\n\n visibleField = input('visible');\n\n disableField = input('disabled');\n\n hasChildField = input('hasChild');\n\n selectedField = input('selected');\n\n expandedField = input('expanded');\n\n tooltipField = input('tooltip');\n\n childrenField = input('children');\n\n activeField = input('active');\n\n indeterminateField = input('indeterminate');\n\n parentField = input('parentId');\n\n iconField = input<string>('icon');\n\n toggleIcons = input<AXExpandToggleIcons>();\n\n onSelectionChanged = output<AXTreeItemClickBaseEvent>();\n\n onItemSelectedChanged = output<AXTreeItemClickBaseEvent>();\n\n onNodeClick = output<AXTreeItemClickBaseEvent>();\n\n onCollapsedChanged = output<AXTreeItemClickBaseEvent>();\n\n onNodedbClick = output<AXTreeItemClickBaseEvent>();\n\n executorChanges = signal<AXTreeViewOperationMethod>(null);\n\n look = input<AXTreeViewLook>('defult');\n\n @Input() itemTemplate?: TemplateRef<unknown>;\n\n @Input() emptyTemplate?: TemplateRef<unknown>;\n\n protected platformService = inject(AXPlatform);\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 expandOn = input<AXTreeViewExpandBehavior>('defult');\n\n protected handleNodeSelectionClick(event: AXValueChangedEvent, item: unknown) {\n if (item[this.disableField()] || this.isNodeLoading(item[this.valueField()])) {\n return;\n }\n\n if (this.selectionMode() === 'single' && event.isUserInteraction) {\n this.handleUnSelectNode(this.itemsSignal());\n }\n\n if (event.isUserInteraction) {\n item[this.selectedField()] = 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?.[this.childrenField()]?.length) {\n this.fetchData(item);\n this.setNodeLoading(item[this.valueField()], true);\n }\n this.toggleExpand(item);\n }\n break;\n case 'cascade':\n this.expandAndToggleSelection(item, event.value);\n break;\n case 'indeterminate':\n if (item?.[this.childrenField()]?.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 this.onItemSelectedChanged.emit({\n component: this,\n data: item,\n nativeElement: this.nativeElement,\n });\n\n const result: unknown[] = this.findSelectedNodes(this.itemsSignal());\n\n this.onSelectionChanged.emit({\n component: this,\n data: result,\n nativeElement: this.nativeElement,\n });\n }\n }\n\n /**\n *\n * auto expand\n *\n */\n private toggleExpand(item: unknown) {\n if (!item[this.expandedField()]) {\n item[this.expandedField()] = true;\n }\n }\n\n /**\n *\n * expand and change value parent change\n *\n */\n\n private async expandAndToggleSelection(item: unknown, selected: boolean) {\n if (this.itemsPromise && item[this.hasChildField()] && !item?.[this.childrenField()]?.length) {\n await this.fetchData(item);\n await this.setNodeLoading(item[this.valueField()], true);\n }\n this.toggleExpand(item);\n\n if (item[this.childrenField()]?.length) {\n this.applySelectionToChildren(item, selected, item[this.valueField()]);\n }\n }\n\n private applySelectionToChildren(item: unknown, isSelected: boolean, parentId?: number | string) {\n item[this.childrenField()].forEach(async (child) => {\n if (\n this.itemsPromise &&\n child[this.hasChildField()] &&\n !child?.[this.childrenField()]?.length &&\n this.selectionBehavior() === 'cascade'\n ) {\n await this.fetchData(child);\n await this.setNodeLoading(child[this.valueField()], true);\n this.toggleExpand(child);\n }\n child[this.parentField()] = parentId;\n child[this.selectedField()] = isSelected;\n if (child[this.childrenField()]?.length) {\n this.applySelectionToChildren(child, isSelected, child[this.valueField()]);\n }\n });\n }\n\n /**\n *\n * indeterminate logic\n *\n */\n\n private updateParentSelection(item: unknown, selected: boolean) {\n item[this.selectedField()] = selected;\n\n let parent = this.findParent(item, this.itemsSignal());\n\n while ((parent && parent[this.selectedField()] != false) || (parent && item[this.selectedField()])) {\n const allSelected = parent?.[this.childrenField()]?.every((child) => child[this.selectedField()]);\n\n const someSelected = parent?.[this.childrenField()]?.some(\n (child) => child[this.selectedField()] || child[this.indeterminateField()],\n );\n\n if (!allSelected && !someSelected) {\n parent[this.selectedField()] = false;\n parent[this.indeterminateField()] = null;\n } else if (!allSelected) {\n parent[this.indeterminateField()] = true;\n parent[this.selectedField()] = null;\n } else if (allSelected) {\n parent[this.selectedField()] = true;\n parent[this.indeterminateField()] = false;\n } else {\n parent[this.indeterminateField()] = false;\n parent[this.selectedField()] = true;\n }\n\n parent = this.findParent(parent, this.itemsSignal());\n }\n }\n\n private findParent(item: unknown, nodes: unknown[]) {\n for (const node of nodes) {\n if (node[this.childrenField()]?.includes(item)) {\n return node;\n } else if (node[this.childrenField()]) {\n const parent = this.findParent(item, node[this.childrenField()]);\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: unknown[]): unknown[] {\n let selectedNodes: unknown[] = [];\n\n nodes.forEach((node) => {\n if (node[this.selectedField()]) {\n selectedNodes.push(node);\n }\n\n if (node[this.childrenField()]) {\n selectedNodes = selectedNodes.concat(this.findSelectedNodes(node[this.childrenField()]));\n }\n });\n\n return selectedNodes;\n }\n\n /**\n *\n * find for emit Selections single mode\n *\n */\n\n private handleUnSelectNode(items: unknown[]) {\n items.forEach((child) => {\n child[this.selectedField()] = false;\n if (child?.[this.childrenField()]?.length) {\n this.handleUnSelectNode(child[this.childrenField()]);\n }\n });\n }\n\n /**\n *\n * lazy load logic\n *\n */\n\n fetchData(selectedNode?: unknown) {\n this.itemsPromise(selectedNode?.[this.valueField()])\n .then((data: unknown[]) => {\n if (Array.isArray(data)) {\n if (selectedNode?.[this.valueField()]) {\n this.findNode(selectedNode[this.valueField()], data, this.itemsSignal());\n } else {\n this.itemsSignal.set(data);\n }\n }\n })\n .finally(() => {\n this.setNodeLoading(selectedNode?.[this.valueField()], false);\n });\n }\n\n private findNode(parentId: number | string, _children: unknown[], source: unknown[]) {\n if (source.length) {\n source.forEach((element) => {\n if (element[this.valueField()] == parentId) {\n if (this.selectionBehavior() === 'indeterminate' && element[this.selectedField()]) {\n _children.forEach((child) => (child[this.selectedField()] = true));\n }\n element[this.childrenField()] = _children;\n } else {\n if (element?.[this.childrenField()]) this.findNode(parentId, _children, element[this.childrenField()]);\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[this.expandedField()] && !node?.data[this.childrenField()]?.length) {\n this.fetchData(selectedNode);\n this.setNodeLoading(selectedNode[this.valueField()], true);\n }\n this.onCollapsedChanged.emit({ component: this, data: node.data, nativeElement: this.nativeElement });\n }\n\n handleUnActiveNode(unActiveSource: unknown[]) {\n unActiveSource.forEach((child) => {\n child[this.activeField()] = false;\n if (child?.[this.childrenField()]?.length) {\n this.handleUnActiveNode(child[this.childrenField()]);\n }\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 setNodeLoading(nodeId: string | number, isLoading: boolean): void {\n this.loadingState.update((state) => ({\n ...state,\n [nodeId]: isLoading,\n }));\n }\n\n public executeOnTreeNode(node: unknown, operation: AXTreeViewOperationMethod, value: boolean) {\n switch (operation) {\n case 'active':\n node[this.activeField()] = value;\n break;\n case 'expand':\n node[this.expandedField()] = true;\n if (this.itemsPromise && node[this.hasChildField()] && !node[this.childrenField()]?.length) {\n this.handleNodeExpandClick({ data: node, nativeElement: this.nativeElement, component: this });\n }\n\n break;\n case 'visible':\n node[this.visibleField()] = value;\n\n break;\n case 'disabled':\n node[this.disableField()] = value;\n break;\n default:\n break;\n }\n /**\n *\n * for detect changes treeviewitem\n *\n */\n\n this.executorChanges.set(operation);\n }\n\n refresh() {\n if (this.itemsPromise) {\n this.fetchData();\n }\n }\n}\n","@if (resolvedItems?.length) {\n @for (node of resolvedItems; track $index) {\n <ng-container [ngTemplateOutlet]=\"recursion\" [ngTemplateOutletContext]=\"{ $implicit: node }\"></ng-container>\n }\n} @else {\n <ng-container *ngTemplateOutlet=\"emptyTemplate || empty\"></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[expandedField()]\"\n [(isActive)]=\"item[activeField()]\"\n [isLoading]=\"isNodeLoading(item[valueField()])\"\n [executorChanges]=\"executorChanges()\"\n >\n @if (\n (this.showCheckbox() && selectionScope() === 'all') ||\n (this.showCheckbox() && selectionScope() === 'parent' && item[childrenField()]?.length) ||\n (this.showCheckbox() && selectionScope() === 'children' && !item[childrenField()]?.length)\n ) {\n <ax-check-box\n [disabled]=\"item[disableField()]\"\n [indeterminate]=\"item[indeterminateField()]\"\n [(ngModel)]=\"item[selectedField()]\"\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?.[childrenField()]; track $index) {\n <ng-container [ngTemplateOutlet]=\"recursion\" [ngTemplateOutletContext]=\"{ $implicit: child }\"></ng-container>\n }\n </ax-tree-view-item>\n }\n</ng-template>\n\n<ng-template #empty>\n {{ 'no-result-found' | translate | async }}\n</ng-template>\n","import { AXCommonModule } from '@acorex/cdk/common';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\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\nconst COMPONENT = [AXTreeViewComponent, AXTreeViewItemComponent];\nconst MODULES = [\n CommonModule,\n AXCommonModule,\n AXDecoratorModule,\n AXCheckBoxModule,\n AXFormModule,\n FormsModule,\n AXTooltipModule,\n AXLoadingModule,\n];\n@NgModule({\n imports: [...COMPONENT, ...MODULES],\n exports: [...COMPONENT],\n})\nexport class AXTreeViewModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-tree-view.mjs","sources":["../../../../packages/components/tree-view/src/lib/tree-view.class.ts","../../../../packages/components/tree-view/src/lib/tree-view-item.component.ts","../../../../packages/components/tree-view/src/lib/tree-view-item.component.html","../../../../packages/components/tree-view/src/lib/tree-view.component.ts","../../../../packages/components/tree-view/src/lib/tree-view.component.html","../../../../packages/components/tree-view/src/lib/tree-view.component.module.ts","../../../../packages/components/tree-view/src/acorex-components-tree-view.ts"],"sourcesContent":["import { AXClickEvent } from '@acorex/cdk/common';\nimport { EventEmitter } from '@angular/core';\n\nexport class AXTreeItemClickBaseEvent extends AXClickEvent {\n nativeElement: any;\n}\n\nexport type AXTreeViewSelectionBehavior = 'autoExpand' | 'cascade' | 'indeterminate';\n\nexport type AXTreeViewExpandBehavior = 'click' | 'dbClick' | 'defult';\n\nexport type AXTreeViewOperationMethod = 'expand' | 'active' | 'visible' | 'disabled';\n\nexport type AXTreeViewLook = 'with-line' | 'defult';\n\nexport type AXTreeViewSelectionScope = 'all' | 'parent' | 'children';\n\nexport abstract class AXTreeViewBase {\n abstract getChildren(item: unknown): unknown[];\n\n abstract hasChildren(item: unknown): boolean;\n\n abstract itemTemplate: any;\n\n // Field accessors\n abstract disableField(): string;\n abstract childrenField(): string;\n abstract valueField(): string;\n abstract activeField(): string;\n abstract hasChildField(): string;\n abstract tooltipField(): string;\n\n // Behavior methods\n abstract expandOn(): AXTreeViewExpandBehavior;\n abstract focusNodeEnabled(): boolean;\n abstract toggleIcons(): { expanded: string; collapsed: string } | null;\n\n // Data management\n abstract itemsPromise: boolean;\n abstract itemsSignal(): unknown[];\n abstract fetchData(item: unknown): void;\n abstract setNodeLoading(value: unknown, loading: boolean): void;\n abstract handleUnActiveNode(items: unknown[]): void;\n\n // Event emitters\n abstract onCollapsedChanged: EventEmitter<{ component: any; data: unknown; nativeElement: any }>;\n abstract onNodeClick: EventEmitter<{ component: any; data: unknown; nativeElement: any }>;\n abstract onNodedbClick: EventEmitter<{ component: any; data: unknown; nativeElement: any }>;\n}\n","import { AXComponent, NXComponent } from '@acorex/cdk/common';\nimport { AXLoadingComponent } from '@acorex/components/loading';\nimport { AXTooltipDirective } from '@acorex/components/tooltip';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject, input, model, ViewEncapsulation } from '@angular/core';\nimport { AXTreeViewBase, AXTreeViewOperationMethod } 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 imports: [CommonModule, AXLoadingComponent, AXTooltipDirective],\n providers: [{ provide: AXComponent, useExisting: AXTreeViewItemComponent }],\n})\nexport class AXTreeViewItemComponent extends NXComponent {\n constructor() {\n super();\n }\n\n treeView = inject(AXTreeViewBase);\n\n item = input<unknown>();\n\n isExpanded = model<boolean>(false);\n\n isActive = model<boolean>(false);\n\n isLoading = input<boolean>(false);\n\n executorChanges = input<AXTreeViewOperationMethod>();\n\n protected platformService = inject(AXPlatform);\n\n protected arrowIcon = computed(() => {\n const baseClasses = 'ax-tree-view-arrow ax-icon ax-icon-solid';\n const toggleIcons = this.treeView.toggleIcons();\n\n if (toggleIcons) {\n return this.isExpanded() ? `${baseClasses} ${toggleIcons.expanded}` : `${baseClasses} ${toggleIcons.collapsed}`;\n }\n\n if (this.isExpanded()) {\n return `${baseClasses} ax-icon-chevron-down`;\n }\n\n return this.platformService.isRtl()\n ? `${baseClasses} ax-icon-chevron-left`\n : `${baseClasses} ax-icon-chevron-right`;\n });\n\n protected handleArrowNodeClick() {\n if (this.item()[this.treeView.disableField()] || this.isLoading() || this.treeView.expandOn() === 'dbClick') {\n return;\n }\n\n this.isExpanded.set(!this.isExpanded());\n\n if (this.treeView.itemsPromise && this.isExpanded() && !this.item()[this.treeView.childrenField()]?.length) {\n this.treeView.fetchData(this.item());\n this.treeView.setNodeLoading(this.item()[this.treeView.valueField()], true);\n }\n\n this.treeView.onCollapsedChanged.emit({ component: this, data: this.item(), nativeElement: this.nativeElement });\n }\n\n protected handleTextClick(item: unknown) {\n if (this.item()[this.treeView.disableField()]) {\n return;\n }\n if (this.treeView.focusNodeEnabled()) {\n this.treeView.handleUnActiveNode(this.treeView.itemsSignal());\n this.item()[this.treeView.activeField()] = true;\n }\n this.treeView.onNodeClick.emit({ component: this, data: item, nativeElement: this.nativeElement });\n }\n\n protected handleTextDbClick(item: unknown) {\n if (item[this.treeView.disableField()] || this.treeView.expandOn() === 'click') {\n return;\n }\n if (item?.[this.treeView.childrenField()] || item[this.treeView.hasChildField()]) {\n this.isExpanded.set(!this.isExpanded());\n\n if (this.treeView.itemsPromise && this.isExpanded()) {\n this.treeView.fetchData(this.item());\n this.treeView.setNodeLoading(this.item()[this.treeView.valueField()], true);\n }\n }\n this.treeView.onNodedbClick.emit({ component: this, data: item, nativeElement: this.nativeElement });\n }\n}\n","<div class=\"ax-tree-view-container\">\n @if (\n (item()[this.treeView.childrenField()]?.length && !isLoading()) ||\n (item()[treeView.hasChildField()] && !isLoading())\n ) {\n <div class=\"ax-tree-view-icon-container\" (click)=\"handleArrowNodeClick()\">\n <i [class.ax-state-disabled]=\"item()[treeView.disableField()]\" class=\"{{ arrowIcon() }}\"></i>\n </div>\n } @else if (isLoading()) {\n <ax-loading></ax-loading>\n } @else {\n <div class=\"ax-tree-view-icon-container placeholder-icon\"></div>\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()[treeView.disableField()]\"\n [axTooltip]=\"item()[treeView.tooltipField()]\"\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()[treeView.activeField()]\"\n >\n @if (treeView.itemTemplate) {\n <ng-container *ngTemplateOutlet=\"treeView.itemTemplate; context: { $implicit: item() }\"></ng-container>\n } @else {\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 }\n </div>\n </div>\n</div>\n\n<div class=\"ax-tree-view-child\" [@collapseExpand]=\"isExpanded() ? 'expanded' : 'collapsed'\">\n <ng-content></ng-content>\n</div>\n","import { AXComponent, AXExpandToggleIcons, AXValueChangedEvent, NXComponent } from '@acorex/cdk/common';\nimport { AXCheckBoxComponent } from '@acorex/components/check-box';\nimport { AXDecoratorGenericComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n effect,\n HostBinding,\n inject,\n Input,\n input,\n output,\n signal,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXTreeViewItemComponent } from './tree-view-item.component';\nimport {\n AXTreeItemClickBaseEvent,\n AXTreeViewBase,\n AXTreeViewExpandBehavior,\n AXTreeViewLook,\n AXTreeViewOperationMethod,\n AXTreeViewSelectionBehavior,\n AXTreeViewSelectionScope,\n} 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 imports: [\n NgTemplateOutlet,\n AXTreeViewItemComponent,\n AXCheckBoxComponent,\n FormsModule,\n AXDecoratorGenericComponent,\n AXDecoratorIconComponent,\n AXTranslatorPipe,\n AsyncPipe,\n ],\n providers: [\n { provide: AXComponent, useExisting: AXTreeViewComponent },\n { provide: AXTreeViewBase, useExisting: AXTreeViewComponent },\n ],\n})\nexport class AXTreeViewComponent extends NXComponent {\n /** @ignore */\n @HostBinding('class')\n private get __hostClass(): string[] {\n return [`ax-look-${this.look()}`];\n }\n\n itemsSignal = signal<unknown[]>([]);\n\n itemsPromise: any;\n\n items = input<unknown[] | ((selectedItemId?: string | number) => unknown[] | Promise<unknown[]>)>();\n\n protected get resolvedItems() {\n return this.itemsSignal();\n }\n\n showCheckbox = input<boolean>(true);\n\n selectionMode = input<'single' | 'multiple'>('single');\n\n selectionBehavior = input<AXTreeViewSelectionBehavior>();\n\n selectionScope = input<AXTreeViewSelectionScope>('all');\n\n focusNodeEnabled = input<boolean>(true);\n\n valueField = input('id');\n\n textField = input('text');\n\n visibleField = input('visible');\n\n disableField = input('disabled');\n\n hasChildField = input('hasChild');\n\n selectedField = input('selected');\n\n expandedField = input('expanded');\n\n tooltipField = input('tooltip');\n\n childrenField = input('children');\n\n activeField = input('active');\n\n indeterminateField = input('indeterminate');\n\n parentField = input('parentId');\n\n iconField = input<string>('icon');\n\n toggleIcons = input<AXExpandToggleIcons>();\n\n onSelectionChanged = output<AXTreeItemClickBaseEvent>();\n\n onItemSelectedChanged = output<AXTreeItemClickBaseEvent>();\n\n onNodeClick = output<AXTreeItemClickBaseEvent>();\n\n onCollapsedChanged = output<AXTreeItemClickBaseEvent>();\n\n onNodedbClick = output<AXTreeItemClickBaseEvent>();\n\n executorChanges = signal<AXTreeViewOperationMethod>(null);\n\n look = input<AXTreeViewLook>('defult');\n\n @Input() itemTemplate?: TemplateRef<unknown>;\n\n @Input() emptyTemplate?: TemplateRef<unknown>;\n\n protected platformService = inject(AXPlatform);\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 expandOn = input<AXTreeViewExpandBehavior>('defult');\n\n protected handleNodeSelectionClick(event: AXValueChangedEvent, item: unknown) {\n if (item[this.disableField()] || this.isNodeLoading(item[this.valueField()])) {\n return;\n }\n\n if (this.selectionMode() === 'single' && event.isUserInteraction) {\n this.handleUnSelectNode(this.itemsSignal());\n }\n\n if (event.isUserInteraction) {\n item[this.selectedField()] = 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?.[this.childrenField()]?.length) {\n this.fetchData(item);\n this.setNodeLoading(item[this.valueField()], true);\n }\n this.toggleExpand(item);\n }\n break;\n case 'cascade':\n this.expandAndToggleSelection(item, event.value);\n break;\n case 'indeterminate':\n if (item?.[this.childrenField()]?.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 this.onItemSelectedChanged.emit({\n component: this,\n data: item,\n nativeElement: this.nativeElement,\n });\n\n const result: unknown[] = this.findSelectedNodes(this.itemsSignal());\n\n this.onSelectionChanged.emit({\n component: this,\n data: result,\n nativeElement: this.nativeElement,\n });\n }\n }\n\n /**\n *\n * auto expand\n *\n */\n private toggleExpand(item: unknown) {\n if (!item[this.expandedField()]) {\n item[this.expandedField()] = true;\n }\n }\n\n /**\n *\n * expand and change value parent change\n *\n */\n\n private async expandAndToggleSelection(item: unknown, selected: boolean) {\n if (this.itemsPromise && item[this.hasChildField()] && !item?.[this.childrenField()]?.length) {\n await this.fetchData(item);\n await this.setNodeLoading(item[this.valueField()], true);\n }\n this.toggleExpand(item);\n\n if (item[this.childrenField()]?.length) {\n this.applySelectionToChildren(item, selected, item[this.valueField()]);\n }\n }\n\n private applySelectionToChildren(item: unknown, isSelected: boolean, parentId?: number | string) {\n item[this.childrenField()].forEach(async (child) => {\n if (\n this.itemsPromise &&\n child[this.hasChildField()] &&\n !child?.[this.childrenField()]?.length &&\n this.selectionBehavior() === 'cascade'\n ) {\n await this.fetchData(child);\n await this.setNodeLoading(child[this.valueField()], true);\n this.toggleExpand(child);\n }\n child[this.parentField()] = parentId;\n child[this.selectedField()] = isSelected;\n if (child[this.childrenField()]?.length) {\n this.applySelectionToChildren(child, isSelected, child[this.valueField()]);\n }\n });\n }\n\n /**\n *\n * indeterminate logic\n *\n */\n\n private updateParentSelection(item: unknown, selected: boolean) {\n item[this.selectedField()] = selected;\n\n let parent = this.findParent(item, this.itemsSignal());\n\n while ((parent && parent[this.selectedField()] != false) || (parent && item[this.selectedField()])) {\n const allSelected = parent?.[this.childrenField()]?.every((child) => child[this.selectedField()]);\n\n const someSelected = parent?.[this.childrenField()]?.some(\n (child) => child[this.selectedField()] || child[this.indeterminateField()],\n );\n\n if (!allSelected && !someSelected) {\n parent[this.selectedField()] = false;\n parent[this.indeterminateField()] = null;\n } else if (!allSelected) {\n parent[this.indeterminateField()] = true;\n parent[this.selectedField()] = null;\n } else if (allSelected) {\n parent[this.selectedField()] = true;\n parent[this.indeterminateField()] = false;\n } else {\n parent[this.indeterminateField()] = false;\n parent[this.selectedField()] = true;\n }\n\n parent = this.findParent(parent, this.itemsSignal());\n }\n }\n\n private findParent(item: unknown, nodes: unknown[]) {\n for (const node of nodes) {\n if (node[this.childrenField()]?.includes(item)) {\n return node;\n } else if (node[this.childrenField()]) {\n const parent = this.findParent(item, node[this.childrenField()]);\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: unknown[]): unknown[] {\n let selectedNodes: unknown[] = [];\n\n nodes.forEach((node) => {\n if (node[this.selectedField()]) {\n selectedNodes.push(node);\n }\n\n if (node[this.childrenField()]) {\n selectedNodes = selectedNodes.concat(this.findSelectedNodes(node[this.childrenField()]));\n }\n });\n\n return selectedNodes;\n }\n\n /**\n *\n * find for emit Selections single mode\n *\n */\n\n private handleUnSelectNode(items: unknown[]) {\n items.forEach((child) => {\n child[this.selectedField()] = false;\n if (child?.[this.childrenField()]?.length) {\n this.handleUnSelectNode(child[this.childrenField()]);\n }\n });\n }\n\n /**\n *\n * lazy load logic\n *\n */\n\n fetchData(selectedNode?: unknown) {\n this.itemsPromise(selectedNode?.[this.valueField()])\n .then((data: unknown[]) => {\n if (Array.isArray(data)) {\n if (selectedNode?.[this.valueField()]) {\n this.findNode(selectedNode[this.valueField()], data, this.itemsSignal());\n } else {\n this.itemsSignal.set(data);\n }\n }\n })\n .finally(() => {\n this.setNodeLoading(selectedNode?.[this.valueField()], false);\n });\n }\n\n private findNode(parentId: number | string, _children: unknown[], source: unknown[]) {\n if (source.length) {\n source.forEach((element) => {\n if (element[this.valueField()] == parentId) {\n if (this.selectionBehavior() === 'indeterminate' && element[this.selectedField()]) {\n _children.forEach((child) => (child[this.selectedField()] = true));\n }\n element[this.childrenField()] = _children;\n } else {\n if (element?.[this.childrenField()]) this.findNode(parentId, _children, element[this.childrenField()]);\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[this.expandedField()] && !node?.data[this.childrenField()]?.length) {\n this.fetchData(selectedNode);\n this.setNodeLoading(selectedNode[this.valueField()], true);\n }\n this.onCollapsedChanged.emit({ component: this, data: node.data, nativeElement: this.nativeElement });\n }\n\n handleUnActiveNode(unActiveSource: unknown[]) {\n unActiveSource.forEach((child) => {\n child[this.activeField()] = false;\n if (child?.[this.childrenField()]?.length) {\n this.handleUnActiveNode(child[this.childrenField()]);\n }\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 setNodeLoading(nodeId: string | number, isLoading: boolean): void {\n this.loadingState.update((state) => ({\n ...state,\n [nodeId]: isLoading,\n }));\n }\n\n public executeOnTreeNode(node: unknown, operation: AXTreeViewOperationMethod, value: boolean) {\n switch (operation) {\n case 'active':\n node[this.activeField()] = value;\n break;\n case 'expand':\n node[this.expandedField()] = true;\n if (this.itemsPromise && node[this.hasChildField()] && !node[this.childrenField()]?.length) {\n this.handleNodeExpandClick({ data: node, nativeElement: this.nativeElement, component: this });\n }\n\n break;\n case 'visible':\n node[this.visibleField()] = value;\n\n break;\n case 'disabled':\n node[this.disableField()] = value;\n break;\n default:\n break;\n }\n /**\n *\n * for detect changes treeviewitem\n *\n */\n\n this.executorChanges.set(operation);\n }\n\n refresh() {\n if (this.itemsPromise) {\n this.fetchData();\n }\n }\n}\n","@if (resolvedItems?.length) {\n @for (node of resolvedItems; track $index) {\n <ng-container [ngTemplateOutlet]=\"recursion\" [ngTemplateOutletContext]=\"{ $implicit: node }\"></ng-container>\n }\n} @else {\n <ng-container *ngTemplateOutlet=\"emptyTemplate || empty\"></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[expandedField()]\"\n [(isActive)]=\"item[activeField()]\"\n [isLoading]=\"isNodeLoading(item[valueField()])\"\n [executorChanges]=\"executorChanges()\"\n >\n @if (\n (this.showCheckbox() && selectionScope() === 'all') ||\n (this.showCheckbox() && selectionScope() === 'parent' && item[childrenField()]?.length) ||\n (this.showCheckbox() && selectionScope() === 'children' && !item[childrenField()]?.length)\n ) {\n <ax-check-box\n [disabled]=\"item[disableField()]\"\n [indeterminate]=\"item[indeterminateField()]\"\n [(ngModel)]=\"item[selectedField()]\"\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?.[childrenField()]; track $index) {\n <ng-container [ngTemplateOutlet]=\"recursion\" [ngTemplateOutletContext]=\"{ $implicit: child }\"></ng-container>\n }\n </ax-tree-view-item>\n }\n</ng-template>\n\n<ng-template #empty>\n {{ 'no-result-found' | translate | async }}\n</ng-template>\n","import { AXCommonModule } from '@acorex/cdk/common';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\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\nconst COMPONENT = [AXTreeViewComponent, AXTreeViewItemComponent];\nconst MODULES = [\n CommonModule,\n AXCommonModule,\n AXDecoratorModule,\n AXCheckBoxModule,\n AXFormModule,\n FormsModule,\n AXTooltipModule,\n AXLoadingModule,\n];\n@NgModule({\n imports: [...COMPONENT, ...MODULES],\n exports: [...COMPONENT],\n})\nexport class AXTreeViewModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { AXEvent, AXStyleLookType, MXBaseComponent } from '@acorex/cdk/common';
2
2
  import { AXValidationSummary } from '@acorex/core/validation';
3
- import { AfterContentInit, AfterViewInit, EventEmitter, InputSignal, OnDestroy } from '@angular/core';
3
+ import { AfterViewInit, EventEmitter, InputSignal, OnDestroy } from '@angular/core';
4
4
  import { AXFormFieldComponent } from './form-field.component';
5
5
  import * as i0 from "@angular/core";
6
6
  /**
@@ -22,7 +22,7 @@ export type AXLabelMode = 'static' | 'floating' | 'over';
22
22
  *
23
23
  * @category Components
24
24
  */
25
- export declare class AXFormComponent extends MXBaseComponent implements OnDestroy, AfterViewInit, AfterContentInit {
25
+ export declare class AXFormComponent extends MXBaseComponent implements OnDestroy, AfterViewInit {
26
26
  #private;
27
27
  /**
28
28
  * Specifies the mode of the label in the form field.
@@ -31,7 +31,6 @@ export declare class AXFormComponent extends MXBaseComponent implements OnDestro
31
31
  labelMode: InputSignal<AXLabelMode>;
32
32
  look: InputSignal<AXStyleLookType>;
33
33
  content: import("@angular/core").Signal<readonly AXFormFieldComponent[]>;
34
- ngAfterContentInit(): void;
35
34
  /**
36
35
  * Determines the style of the message in the form field.
37
36
  * @defaultValue 'bottom'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acorex/components",
3
- "version": "19.15.0-next.7",
3
+ "version": "19.15.0-next.9",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=19.0.0",
6
6
  "@angular/core": ">=19.0.0",
@@ -29,6 +29,10 @@
29
29
  "types": "./action-sheet/index.d.ts",
30
30
  "default": "./fesm2022/acorex-components-action-sheet.mjs"
31
31
  },
32
+ "./audio-wave": {
33
+ "types": "./audio-wave/index.d.ts",
34
+ "default": "./fesm2022/acorex-components-audio-wave.mjs"
35
+ },
32
36
  "./alert": {
33
37
  "types": "./alert/index.d.ts",
34
38
  "default": "./fesm2022/acorex-components-alert.mjs"
@@ -37,10 +41,6 @@
37
41
  "types": "./autocomplete/index.d.ts",
38
42
  "default": "./fesm2022/acorex-components-autocomplete.mjs"
39
43
  },
40
- "./audio-wave": {
41
- "types": "./audio-wave/index.d.ts",
42
- "default": "./fesm2022/acorex-components-audio-wave.mjs"
43
- },
44
44
  "./avatar": {
45
45
  "types": "./avatar/index.d.ts",
46
46
  "default": "./fesm2022/acorex-components-avatar.mjs"
@@ -121,6 +121,10 @@
121
121
  "types": "./datetime-input/index.d.ts",
122
122
  "default": "./fesm2022/acorex-components-datetime-input.mjs"
123
123
  },
124
+ "./datetime-picker": {
125
+ "types": "./datetime-picker/index.d.ts",
126
+ "default": "./fesm2022/acorex-components-datetime-picker.mjs"
127
+ },
124
128
  "./decorators": {
125
129
  "types": "./decorators/index.d.ts",
126
130
  "default": "./fesm2022/acorex-components-decorators.mjs"
@@ -133,18 +137,14 @@
133
137
  "types": "./drawer/index.d.ts",
134
138
  "default": "./fesm2022/acorex-components-drawer.mjs"
135
139
  },
136
- "./datetime-picker": {
137
- "types": "./datetime-picker/index.d.ts",
138
- "default": "./fesm2022/acorex-components-datetime-picker.mjs"
140
+ "./dropdown-button": {
141
+ "types": "./dropdown-button/index.d.ts",
142
+ "default": "./fesm2022/acorex-components-dropdown-button.mjs"
139
143
  },
140
144
  "./dropdown": {
141
145
  "types": "./dropdown/index.d.ts",
142
146
  "default": "./fesm2022/acorex-components-dropdown.mjs"
143
147
  },
144
- "./dropdown-button": {
145
- "types": "./dropdown-button/index.d.ts",
146
- "default": "./fesm2022/acorex-components-dropdown-button.mjs"
147
- },
148
148
  "./file-explorer": {
149
149
  "types": "./file-explorer/index.d.ts",
150
150
  "default": "./fesm2022/acorex-components-file-explorer.mjs"
@@ -8,6 +8,7 @@ export type AXSchedulerBlockIdentifier = {
8
8
  };
9
9
  export type AXSchedulerAppointment = {
10
10
  id: any;
11
+ data?: any;
11
12
  endDate: Date;
12
13
  title?: string;
13
14
  startDate: Date;
@@ -22,6 +23,7 @@ export type AXSchedulerAppointment = {
22
23
  */
23
24
  export type AXSchedulerInternalAppointment = {
24
25
  id: any;
26
+ data: any;
25
27
  title: string;
26
28
  allDay: boolean;
27
29
  readonly: boolean;
@@ -68,7 +70,7 @@ export type AXSchedulerMultiDayViewAppointment = {
68
70
  };
69
71
  export type AXSchedulerDateRange = AXRange<Date>;
70
72
  export type AXSchedulerAppointmentDataSourceFilter = {
71
- range: AXSchedulerDateRange;
73
+ range?: AXSchedulerDateRange;
72
74
  };
73
75
  export type AXSchedulerAppointmentLoader = (filter?: AXSchedulerAppointmentDataSourceFilter) => AXSchedulerAppointment[];
74
76
  export type AXSchedulerAppointmentLoaderAsync = (filter?: AXSchedulerAppointmentDataSourceFilter) => Promise<AXSchedulerAppointment[]>;
@@ -37,7 +37,7 @@ export declare class AXSchedulerComponent extends NXComponent implements OnInit
37
37
  calendar: import("@angular/core").InputSignal<string>;
38
38
  protected calendarType: import("@angular/core").WritableSignal<string>;
39
39
  startingDate: import("@angular/core").InputSignal<Date>;
40
- protected currentDate: import("@angular/core").WritableSignal<AXDateTime>;
40
+ currentDate: import("@angular/core").WritableSignal<AXDateTime>;
41
41
  private _appointments;
42
42
  appointments: import("@angular/core").Signal<AXSchedulerAppointment[]>;
43
43
  protected rtl: import("@angular/core").WritableSignal<boolean>;
@@ -78,7 +78,7 @@ export declare class AXSchedulerComponent extends NXComponent implements OnInit
78
78
  private getGridDateRange;
79
79
  currentDateText: import("@angular/core").Signal<string>;
80
80
  calendarDepth: import("@angular/core").Signal<"day" | "month">;
81
- mappedAppointments: import("@angular/core").Signal<AXSchedulerInternalAppointment[]>;
81
+ private mappedAppointments;
82
82
  range: import("@angular/core").Signal<AXSchedulerDateRange>;
83
83
  viewAppointments: import("@angular/core").Signal<AXSchedulerInternalAppointment[]>;
84
84
  viewChanged(e: AXValueChangedEvent<AXSchedulerView>): void;