@acorex/components 7.4.7 → 7.5.0

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.
Files changed (135) hide show
  1. package/button/lib/button.module.d.ts +2 -1
  2. package/common/lib/classes/datalist.class.d.ts +3 -3
  3. package/common/lib/components/selection-base.component.class.d.ts +3 -9
  4. package/datetime-box/lib/datetime-box.component.d.ts +2 -1
  5. package/dialog/lib/dialog.class.d.ts +4 -2
  6. package/dialog/lib/dialog.service.d.ts +3 -2
  7. package/dropdown/lib/dropdown-box.component.d.ts +1 -0
  8. package/esm2022/action-sheet/lib/action-sheet.component.mjs +2 -2
  9. package/esm2022/alert/lib/alert.component.mjs +12 -12
  10. package/esm2022/avatar/lib/avatar.component.mjs +2 -2
  11. package/esm2022/button/lib/button.component.mjs +2 -2
  12. package/esm2022/button/lib/button.module.mjs +4 -3
  13. package/esm2022/common/lib/classes/datalist.class.mjs +52 -1
  14. package/esm2022/common/lib/components/selection-base.component.class.mjs +13 -36
  15. package/esm2022/common/lib/components/value-component.class.mjs +3 -3
  16. package/esm2022/datetime-box/lib/datetime-box.component.mjs +8 -6
  17. package/esm2022/decorators/lib/components/generic-content.component.mjs +21 -21
  18. package/esm2022/decorators/lib/components/icon.component.mjs +3 -3
  19. package/esm2022/dialog/lib/dialog.class.mjs +1 -1
  20. package/esm2022/dialog/lib/dialog.component.mjs +3 -17
  21. package/esm2022/dialog/lib/dialog.service.mjs +47 -24
  22. package/esm2022/dropdown/lib/dropdown-box.component.mjs +8 -5
  23. package/esm2022/dropdown/lib/dropdown-panel.component.mjs +3 -3
  24. package/esm2022/form/lib/form-field.component.mjs +2 -2
  25. package/esm2022/label/lib/label.component.mjs +2 -2
  26. package/esm2022/list/acorex-components-list.mjs +5 -0
  27. package/esm2022/list/index.mjs +3 -0
  28. package/esm2022/list/lib/list.component.mjs +221 -0
  29. package/esm2022/list/lib/list.module.mjs +22 -0
  30. package/esm2022/loading/lib/loading.module.mjs +22 -8
  31. package/esm2022/loading/lib/loading.service.mjs +9 -13
  32. package/esm2022/menu/index.mjs +4 -1
  33. package/esm2022/menu/lib/class/root-menu.class.mjs +3 -0
  34. package/esm2022/menu/lib/menu-item/menu-item.component.mjs +96 -0
  35. package/esm2022/menu/lib/menu.component.mjs +4 -4
  36. package/esm2022/menu/lib/menu.module.mjs +11 -16
  37. package/esm2022/menu/lib/menu2.component.mjs +45 -0
  38. package/esm2022/mixin/lib/datalist.class.mjs +46 -2
  39. package/esm2022/notification/lib/notification.component.mjs +7 -7
  40. package/esm2022/popover/lib/popover.component.mjs +8 -5
  41. package/esm2022/popup/lib/popup.component.mjs +1 -2
  42. package/esm2022/popup/lib/popup.service.mjs +1 -2
  43. package/esm2022/progress-bar/lib/progress-bar.component.mjs +2 -2
  44. package/esm2022/result/lib/result.component.mjs +2 -2
  45. package/esm2022/select-box/index.mjs +2 -1
  46. package/esm2022/select-box/lib/select-box.component.mjs +3 -3
  47. package/esm2022/select-box/lib/select-box.module.mjs +15 -6
  48. package/esm2022/select-box/lib/select-box2.component.mjs +97 -0
  49. package/esm2022/selection-list/lib/selection-list.component.mjs +22 -7
  50. package/esm2022/tabs/lib/tabs.component.mjs +2 -2
  51. package/esm2022/text-area/lib/text-area.component.mjs +14 -6
  52. package/esm2022/toast/lib/toast.component.mjs +5 -5
  53. package/fesm2022/acorex-components-action-sheet.mjs +2 -2
  54. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  55. package/fesm2022/acorex-components-alert.mjs +11 -11
  56. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  57. package/fesm2022/acorex-components-avatar.mjs +2 -2
  58. package/fesm2022/acorex-components-button.mjs +5 -4
  59. package/fesm2022/acorex-components-button.mjs.map +1 -1
  60. package/fesm2022/acorex-components-common.mjs +65 -37
  61. package/fesm2022/acorex-components-common.mjs.map +1 -1
  62. package/fesm2022/acorex-components-datetime-box.mjs +7 -5
  63. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  64. package/fesm2022/acorex-components-decorators.mjs +22 -22
  65. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  66. package/fesm2022/acorex-components-dialog.mjs +47 -38
  67. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  68. package/fesm2022/acorex-components-dropdown.mjs +9 -7
  69. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  70. package/fesm2022/acorex-components-form.mjs +2 -2
  71. package/fesm2022/acorex-components-form.mjs.map +1 -1
  72. package/fesm2022/acorex-components-label.mjs +2 -2
  73. package/fesm2022/acorex-components-label.mjs.map +1 -1
  74. package/fesm2022/acorex-components-list.mjs +246 -0
  75. package/fesm2022/acorex-components-list.mjs.map +1 -0
  76. package/fesm2022/acorex-components-loading.mjs +23 -15
  77. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  78. package/fesm2022/acorex-components-menu.mjs +148 -21
  79. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  80. package/fesm2022/acorex-components-mixin.mjs +46 -1
  81. package/fesm2022/acorex-components-mixin.mjs.map +1 -1
  82. package/fesm2022/acorex-components-notification.mjs +7 -7
  83. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  84. package/fesm2022/acorex-components-popover.mjs +7 -4
  85. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  86. package/fesm2022/acorex-components-popup.mjs +0 -2
  87. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  88. package/fesm2022/acorex-components-progress-bar.mjs +2 -2
  89. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  90. package/fesm2022/acorex-components-result.mjs +2 -2
  91. package/fesm2022/acorex-components-select-box.mjs +116 -18
  92. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  93. package/fesm2022/acorex-components-selection-list.mjs +21 -6
  94. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  95. package/fesm2022/acorex-components-tabs.mjs +2 -2
  96. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  97. package/fesm2022/acorex-components-text-area.mjs +13 -5
  98. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  99. package/fesm2022/acorex-components-toast.mjs +3 -3
  100. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  101. package/list/README.md +3 -0
  102. package/list/index.d.ts +2 -0
  103. package/list/lib/list.component.d.ts +59 -0
  104. package/list/lib/list.module.d.ts +9 -0
  105. package/loading/lib/loading.module.d.ts +3 -2
  106. package/menu/index.d.ts +3 -0
  107. package/menu/lib/class/root-menu.class.d.ts +4 -0
  108. package/menu/lib/menu-item/menu-item.component.d.ts +22 -0
  109. package/menu/lib/menu.component.d.ts +3 -3
  110. package/menu/lib/menu.module.d.ts +10 -7
  111. package/menu/lib/menu2.component.d.ts +12 -0
  112. package/mixin/lib/base-components.class.d.ts +2 -2
  113. package/mixin/lib/base-menu-mixin.class.d.ts +5 -5
  114. package/mixin/lib/button-mixin.class.d.ts +2 -2
  115. package/mixin/lib/clickable-mixin.class.d.ts +2 -2
  116. package/mixin/lib/color-look-mixing.class.d.ts +2 -2
  117. package/mixin/lib/datalist-component.class.d.ts +10 -10
  118. package/mixin/lib/datalist.class.d.ts +38 -0
  119. package/mixin/lib/dropdown-mixin.class.d.ts +2 -2
  120. package/mixin/lib/interactive-mixin.class.d.ts +4 -4
  121. package/mixin/lib/mixin.class.d.ts +61 -61
  122. package/mixin/lib/page-component.class.d.ts +2 -2
  123. package/mixin/lib/selection-component.class.d.ts +2 -2
  124. package/mixin/lib/sizable-mixin.class.d.ts +2 -2
  125. package/mixin/lib/textbox-mixin.class.d.ts +2 -2
  126. package/mixin/lib/value-mixin.class.d.ts +8 -8
  127. package/notification/lib/notification.component.d.ts +3 -3
  128. package/package.json +7 -1
  129. package/popover/lib/popover.component.d.ts +2 -1
  130. package/select-box/index.d.ts +1 -0
  131. package/select-box/lib/select-box.module.d.ts +15 -12
  132. package/select-box/lib/select-box2.component.d.ts +25 -0
  133. package/selection-list/lib/selection-list.component.d.ts +5 -1
  134. package/text-area/lib/text-area.component.d.ts +10 -3
  135. package/toast/lib/toast.component.d.ts +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-button.mjs","sources":["../../../../libs/components/button/src/lib/button-item.component.ts","../../../../libs/components/button/src/lib/button.component.ts","../../../../libs/components/button/src/lib/button.component.html","../../../../libs/components/button/src/lib/button.module.ts","../../../../libs/components/button/src/acorex-components-button.ts"],"sourcesContent":["import { MXColorComponent, MXInteractiveComponent } from '@acorex/components/common';\n\nimport {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n HostListener,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { classes } from 'polytype';\n\n@Component({\n selector: 'ax-button-item',\n template: `\n <ng-content select=\"ax-prefix\"> </ng-content>\n <ng-content select=\"ax-loading\"> </ng-content>\n <ng-content select=\"ax-icon\"> </ng-content>\n <span class=\"ax-button-item-text\" *ngIf=\"text\">{{ text }}</span>\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-content select=\"ax-dropdown-panel\"> </ng-content>\n `,\n host: { tabindex: '0' },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['color', 'disabled'],\n outputs: ['onClick', 'onFocus', 'onBlur', 'disabledChange'],\n})\nexport class AXButtonItemComponent extends classes(MXInteractiveComponent, MXColorComponent) {\n @Input()\n text: string;\n\n\n private _selected: boolean;\n @Input()\n public get selected(): boolean {\n return this._selected;\n }\n public set selected(v: boolean) {\n this._selected = v;\n this.cdr.markForCheck();\n }\n\n\n @Input()\n divided = false;\n\n @Input()\n data: unknown;\n\n @Input()\n name: string;\n\n @HostListener('click', ['$event'])\n private __hostClick(e: MouseEvent) {\n this.emitOnClickEvent(e);\n }\n\n @HostListener('focus', ['$event'])\n private __hostFocus(e: FocusEvent) {\n this.emitOnFocusEvent(e);\n }\n\n @HostListener('blur', ['$event'])\n private __hostBlur(e: FocusEvent) {\n this.emitOnBlurEvent(e);\n }\n\n @HostBinding('class')\n private get __hostClass(): string {\n const cssClasses = {\n 'ax-button-icon': !this.text,\n 'ax-state-disabled': this.disabled,\n 'ax-state-selected': this.selected,\n 'ax-divided': this.divided,\n };\n cssClasses[`ax-${this.color || 'primary'}-default`] = true;\n return Object.entries(cssClasses)\n .filter((c) => c[1])\n .map((c) => c[0])\n .join(' ');\n }\n}\n","import {\n AXClickEvent,\n AXComponent,\n AXFocusableComponent,\n MXButtonBaseComponent,\n} from '@acorex/components/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXButtonType } from './button-item.class';\nimport { AXButtonItemComponent } from './button-item.component';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n inputs: ['disabled', 'size', 'tabIndex', 'color', 'look', 'text', 'toggleable', 'selected'],\n outputs: [\n 'onBlur',\n 'onFocus',\n 'onClick',\n 'selectedChange',\n 'toggleableChange',\n 'lookChange',\n 'colorChange',\n 'disabledChange',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: AXComponent, useExisting: AXButtonComponent },\n { provide: AXButtonItemComponent, useExisting: AXButtonComponent },\n { provide: AXFocusableComponent, useExisting: AXButtonComponent },\n ],\n})\nexport class AXButtonComponent extends MXButtonBaseComponent implements AfterViewInit {\n /**\n * Fires each time the user clicks the button.\n * @event\n */\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n @Input()\n type: AXButtonType = 'button';\n\n ngAfterViewInit(): void {\n this.getHostElement().removeAttribute('tabindex');\n }\n\n private getButton(): HTMLButtonElement {\n return this.getHostElement().firstElementChild as HTMLButtonElement;\n }\n\n _handleClick(e: MouseEvent) {\n if (this.disabled) {\n e.preventDefault();\n return;\n }\n if (this.toggleable) {\n this.selected = !this.selected;\n }\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n\n // TODO: check keyboard event\n setTimeout(() => {\n this.blur();\n });\n }\n\n click() {\n this.getButton()?.click();\n }\n\n @HostBinding('class')\n private get __hostClass(): string[] {\n return Object.entries(this.cssClasses)\n .filter((c) => c[1])\n .map((c) => c[0]);\n }\n\n override focus() {\n this.getButton()?.focus();\n this.getButton().classList.add('ax-state-focus');\n }\n override blur() {\n this.getButton().classList.remove('ax-state-focus');\n }\n}\n","<button\n axRipple\n [disabled]=\"disabled\"\n [attr.tabindex]=\"tabIndex\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n (click)=\"_handleClick($event)\"\n [attr.type]=\"type\"\n>\n <ng-content select=\"ax-prefix, ax-loading, ax-icon\"> </ng-content>\n <ng-content select=\"ax-content\"> </ng-content>\n <span class=\"ax-button-text\" *ngIf=\"text\">{{ text }}</span>\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-content select=\"ax-dropdown-panel\"> </ng-content>\n</button>\n","import { AXCommonModule } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXButtonItemComponent } from './button-item.component';\nimport { AXButtonComponent } from './button.component';\n\nconst COMPONENT = [AXButtonComponent, AXButtonItemComponent];\nconst MODULES = [CommonModule, AXCommonModule, AXDecoratorModule];\n\n@NgModule({\n imports: [MODULES],\n exports: [...COMPONENT],\n declarations: [...COMPONENT],\n providers: [],\n})\nexport class AXButtonModule {}\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-button.mjs","sources":["../../../../libs/components/button/src/lib/button-item.component.ts","../../../../libs/components/button/src/lib/button.component.ts","../../../../libs/components/button/src/lib/button.component.html","../../../../libs/components/button/src/lib/button.module.ts","../../../../libs/components/button/src/acorex-components-button.ts"],"sourcesContent":["import { MXColorComponent, MXInteractiveComponent } from '@acorex/components/common';\n\nimport {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n HostListener,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { classes } from 'polytype';\n\n@Component({\n selector: 'ax-button-item',\n template: `\n <ng-content select=\"ax-prefix\"> </ng-content>\n <ng-content select=\"ax-loading\"> </ng-content>\n <ng-content select=\"ax-icon\"> </ng-content>\n <span class=\"ax-button-item-text\" *ngIf=\"text\">{{ text }}</span>\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-content select=\"ax-dropdown-panel\"> </ng-content>\n `,\n host: { tabindex: '0' },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['color', 'disabled'],\n outputs: ['onClick', 'onFocus', 'onBlur', 'disabledChange'],\n})\nexport class AXButtonItemComponent extends classes(MXInteractiveComponent, MXColorComponent) {\n @Input()\n text: string;\n\n\n private _selected: boolean;\n @Input()\n public get selected(): boolean {\n return this._selected;\n }\n public set selected(v: boolean) {\n this._selected = v;\n this.cdr.markForCheck();\n }\n\n\n @Input()\n divided = false;\n\n @Input()\n data: unknown;\n\n @Input()\n name: string;\n\n @HostListener('click', ['$event'])\n private __hostClick(e: MouseEvent) {\n this.emitOnClickEvent(e);\n }\n\n @HostListener('focus', ['$event'])\n private __hostFocus(e: FocusEvent) {\n this.emitOnFocusEvent(e);\n }\n\n @HostListener('blur', ['$event'])\n private __hostBlur(e: FocusEvent) {\n this.emitOnBlurEvent(e);\n }\n\n @HostBinding('class')\n private get __hostClass(): string {\n const cssClasses = {\n 'ax-button-icon': !this.text,\n 'ax-state-disabled': this.disabled,\n 'ax-state-selected': this.selected,\n 'ax-divided': this.divided,\n };\n cssClasses[`ax-${this.color || 'primary'}-default`] = true;\n return Object.entries(cssClasses)\n .filter((c) => c[1])\n .map((c) => c[0])\n .join(' ');\n }\n}\n","import {\n AXClickEvent,\n AXComponent,\n AXFocusableComponent,\n MXButtonBaseComponent,\n} from '@acorex/components/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXButtonType } from './button-item.class';\nimport { AXButtonItemComponent } from './button-item.component';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n inputs: ['disabled', 'size', 'tabIndex', 'color', 'look', 'text', 'toggleable', 'selected'],\n outputs: [\n 'onBlur',\n 'onFocus',\n 'onClick',\n 'selectedChange',\n 'toggleableChange',\n 'lookChange',\n 'colorChange',\n 'disabledChange',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: AXComponent, useExisting: AXButtonComponent },\n { provide: AXButtonItemComponent, useExisting: AXButtonComponent },\n { provide: AXFocusableComponent, useExisting: AXButtonComponent },\n ],\n})\nexport class AXButtonComponent extends MXButtonBaseComponent implements AfterViewInit {\n /**\n * Fires each time the user clicks the button.\n * @event\n */\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n @Input()\n type: AXButtonType = 'button';\n\n ngAfterViewInit(): void {\n this.getHostElement().removeAttribute('tabindex');\n }\n\n private getButton(): HTMLButtonElement {\n return this.getHostElement().firstElementChild as HTMLButtonElement;\n }\n\n _handleClick(e: MouseEvent) {\n if (this.disabled) {\n e.preventDefault();\n return;\n }\n if (this.toggleable) {\n this.selected = !this.selected;\n }\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n\n // TODO: check keyboard event\n setTimeout(() => {\n this.blur();\n });\n }\n\n click() {\n this.getButton()?.click();\n }\n\n @HostBinding('class')\n private get __hostClass(): string[] {\n return Object.entries(this.cssClasses)\n .filter((c) => c[1])\n .map((c) => c[0]);\n }\n\n override focus() {\n this.getButton()?.focus();\n this.getButton().classList.add('ax-state-focus');\n }\n override blur() {\n this.getButton().classList.remove('ax-state-focus');\n }\n}\n","<button\n axRipple\n [disabled]=\"disabled\"\n [attr.tabindex]=\"tabIndex\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n (click)=\"_handleClick($event)\"\n [attr.type]=\"type\"\n>\n <ng-content select=\"ax-prefix, ax-loading, ax-icon\"> </ng-content>\n <ng-content select=\"ax-content\"> </ng-content>\n <span class=\"ax-button-text\" *ngIf=\"text\">{{ text }}</span>\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-content select=\"ax-dropdown-panel\"> </ng-content>\n</button>\n","import { AXCommonModule } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXButtonItemComponent } from './button-item.component';\nimport { AXButtonComponent } from './button.component';\n\nconst COMPONENT = [AXButtonComponent, AXButtonItemComponent];\nconst MODULES = [CommonModule, AXCommonModule, AXDecoratorModule, AXLoadingModule];\n\n@NgModule({\n imports: [MODULES],\n exports: [...COMPONENT],\n declarations: [...COMPONENT],\n providers: [],\n})\nexport class AXButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ import { map, pairwise, filter, startWith, exhaustMap } from 'rxjs/operators';
9
9
  import { classes } from 'polytype';
10
10
  import { AXHtmlUtil } from '@acorex/core/utils';
11
11
  import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
12
+ import isEqual from 'lodash-es/isEqual';
12
13
  import * as i1$1 from '@angular/forms';
13
14
 
14
15
  const defaultOffset = 3;
@@ -327,6 +328,57 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImpor
327
328
  }] });
328
329
 
329
330
  ;
331
+ // export interface AXDataSourceQuery {
332
+ // take?: number;
333
+ // skip?: number;
334
+ // searchQuery?: string;
335
+ // }
336
+ // export interface AXDataSourceCallbackResult<T> {
337
+ // items: Array<T>;
338
+ // total: number;
339
+ // };
340
+ // export type AXDataSourceLoadCallback<T> = (e: AXDataSourceQuery) => Promise<AXDataSourceCallbackResult<T>>;
341
+ // export type AXDataSourceByKeyCallback<T> = (key: T) => Promise<T>;
342
+ // export interface AXDateSourceRecord<T = unknown> {
343
+ // id: T;
344
+ // text: string;
345
+ // disabled: boolean,
346
+ // selected: boolean,
347
+ // [key: string]: unknown;
348
+ // }
349
+ // export interface AXDateSourceConfig<T> {
350
+ // load: AXDataSourceLoadCallback<T>;
351
+ // byKey: AXDataSourceByKeyCallback<T>
352
+ // }
353
+ // export class AXDateSource {
354
+ // constructor(public config: AXDateSourceConfig<unknown>) {
355
+ // }
356
+ // private _displayItems: AXDateSourceRecord[];
357
+ // public get displayItems(): AXDateSourceRecord[] {
358
+ // return this._displayItems;
359
+ // }
360
+ // public set displayItems(v: AXDateSourceRecord[]) {
361
+ // this._displayItems = this.normalizeItemsList(v);
362
+ // }
363
+ // private normalizeItem(item: unknown): AXDateSourceRecord {
364
+ // const obj: Partial<AXDateSourceRecord> = {};
365
+ // if (typeof item == 'object') {
366
+ // Object.assign(obj, item);
367
+ // } else if (typeof item != 'function') {
368
+ // const existsItem = this.displayItems.find((c) => c.id == item);
369
+ // if (existsItem) Object.assign(obj, existsItem);
370
+ // else {
371
+ // obj.id = item;
372
+ // obj.text = item?.toString();
373
+ // }
374
+ // }
375
+ // return obj as AXDateSourceRecord;
376
+ // }
377
+ // private normalizeItemsList(items: unknown[]): AXDateSourceRecord[] {
378
+ // if (items == null) return [];
379
+ // return items.filter((c) => c != null).map((i) => this.normalizeItem(i));
380
+ // }
381
+ // }
330
382
 
331
383
  const AX_STYLE_COLOR_TYPES = [
332
384
  'primary',
@@ -1066,8 +1118,7 @@ class MXValueComponent extends MXInteractiveComponent {
1066
1118
  set value(v) {
1067
1119
  v = this.internalSetValue(v);
1068
1120
  const old = clone(this.value);
1069
- // TODO: check real equality
1070
- if (v != old) {
1121
+ if (!isEqual(old, v)) {
1071
1122
  this._value = v;
1072
1123
  this.emitOnValueChangedEvent(old, this.value);
1073
1124
  if (v == null || v == undefined || v == '' || (Array.isArray(v) && v.length == 0)) {
@@ -1282,15 +1333,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImpor
1282
1333
  class MXSelectionValueComponent extends MXValueComponent {
1283
1334
  constructor() {
1284
1335
  super(...arguments);
1285
- this.selectionMode = 'value';
1286
1336
  this._valueField = 'id';
1287
1337
  this._textField = 'text';
1288
1338
  this._hintField = 'hint';
1289
1339
  this._disabledField = 'disabled';
1290
- this._readonlyField = 'readonly';
1291
1340
  this._multiple = false;
1292
- this._items = [];
1293
- this.displayItems = [];
1294
1341
  this._selectedItems = [];
1295
1342
  }
1296
1343
  get valueField() {
@@ -1329,15 +1376,6 @@ class MXSelectionValueComponent extends MXValueComponent {
1329
1376
  value: v,
1330
1377
  });
1331
1378
  }
1332
- get readonlyField() {
1333
- return this._readonlyField;
1334
- }
1335
- set readonlyField(v) {
1336
- this.setOption({
1337
- name: 'readonlyField',
1338
- value: v,
1339
- });
1340
- }
1341
1379
  get multiple() {
1342
1380
  return this._multiple;
1343
1381
  }
@@ -1347,26 +1385,14 @@ class MXSelectionValueComponent extends MXValueComponent {
1347
1385
  value: v,
1348
1386
  });
1349
1387
  }
1350
- get items() {
1351
- return this._items;
1352
- }
1353
- set items(v) {
1354
- this.setOption({
1355
- name: 'items',
1356
- value: v,
1357
- afterCallback: (oldValue, newValue) => {
1358
- this.displayItems = this.normalizeItemsList(newValue);
1359
- },
1360
- });
1361
- }
1362
1388
  get selectedItems() {
1363
1389
  return this._selectedItems || [];
1364
1390
  }
1365
1391
  internalSetValue(value) {
1366
- let normalizedItems = Array.isArray(value)
1392
+ debugger;
1393
+ const normalizedItems = Array.isArray(value)
1367
1394
  ? this.normalizeItemsList(value)
1368
1395
  : this.normalizeItemsList([value]);
1369
- normalizedItems = normalizedItems.filter((c) => this.displayItems.some((d) => d[this.valueField] == c[this.valueField]));
1370
1396
  return this.multiple ? normalizedItems : normalizedItems[0];
1371
1397
  }
1372
1398
  emitOnValueChangedEvent(oldValue, newValue) {
@@ -1384,7 +1410,7 @@ class MXSelectionValueComponent extends MXValueComponent {
1384
1410
  Object.assign(obj, item);
1385
1411
  }
1386
1412
  else if (typeof item != 'function') {
1387
- const existsItem = this.displayItems.find((c) => c[this.valueField] == item);
1413
+ const existsItem = this.getItemByKey(item);
1388
1414
  if (existsItem)
1389
1415
  Object.assign(obj, existsItem);
1390
1416
  else {
@@ -1395,8 +1421,8 @@ class MXSelectionValueComponent extends MXValueComponent {
1395
1421
  return obj;
1396
1422
  }
1397
1423
  _normalizeSelectedItems() {
1398
- const values = Array.isArray(this.value) ? this.value : [this.value];
1399
- this._selectedItems = this.displayItems.filter((c) => values.some((v) => v[this.valueField] == c[this.valueField]));
1424
+ const values = Array.isArray(this.value) ? this.value : (this.value ? [this.value] : []);
1425
+ this._selectedItems = values.map(v => this.normalizeItem(v));
1400
1426
  }
1401
1427
  unselectItems(...items) {
1402
1428
  if (!items || items.length === 0) {
@@ -1423,9 +1449,6 @@ class MXSelectionValueComponent extends MXValueComponent {
1423
1449
  }
1424
1450
  this.commitValue(newSelectedItems, true);
1425
1451
  }
1426
- else {
1427
- this.commitValue(this.displayItems, true);
1428
- }
1429
1452
  }
1430
1453
  toggleSelect(...items) {
1431
1454
  items?.forEach((item) => {
@@ -1438,12 +1461,17 @@ class MXSelectionValueComponent extends MXValueComponent {
1438
1461
  });
1439
1462
  }
1440
1463
  isItemSelected(item) {
1441
- return this.selectedItems.some((c) => c[this.valueField] === item[this.valueField]);
1464
+ return this.selectedItems.some((c) => c[this.valueField] === this.normalizeItem(item)[this.valueField]);
1442
1465
  }
1443
1466
  isItemDisabled(item) {
1444
- return (coerceBooleanProperty(item[this.disabledField]) === true ||
1467
+ return (this.disabled ||
1468
+ coerceBooleanProperty(item[this.disabledField]) === true ||
1445
1469
  (this.disabledCallback ? this.disabledCallback({ item, index: -1 }) : false));
1446
1470
  }
1471
+ getDisplayText(item) {
1472
+ const normalizeItem = this.normalizeItem(item);
1473
+ return normalizeItem[this.textField];
1474
+ }
1447
1475
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: MXSelectionValueComponent, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
1448
1476
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: MXSelectionValueComponent }); }
1449
1477
  }