@acorex/components 6.0.7 → 6.0.8
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.
- package/data-table/src/data-table.component.d.ts +3 -1
- package/esm2020/color-palette/src/color-palette-picker.component.mjs +1 -1
- package/esm2020/data-table/src/data-table.component.mjs +11 -4
- package/esm2020/form/src/form.component.mjs +8 -3
- package/esm2020/mixin/src/datalist-component.class.mjs +1 -1
- package/esm2020/range-slider/src/range-slider.component.mjs +5 -8
- package/fesm2015/acorex-components-color-palette.mjs +1 -1
- package/fesm2015/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2015/acorex-components-data-table.mjs +10 -3
- package/fesm2015/acorex-components-data-table.mjs.map +1 -1
- package/fesm2015/acorex-components-form.mjs +7 -2
- package/fesm2015/acorex-components-form.mjs.map +1 -1
- package/fesm2015/acorex-components-mixin.mjs.map +1 -1
- package/fesm2015/acorex-components-range-slider.mjs +2 -5
- package/fesm2015/acorex-components-range-slider.mjs.map +1 -1
- package/fesm2020/acorex-components-color-palette.mjs +1 -1
- package/fesm2020/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2020/acorex-components-data-table.mjs +10 -3
- package/fesm2020/acorex-components-data-table.mjs.map +1 -1
- package/fesm2020/acorex-components-form.mjs +7 -2
- package/fesm2020/acorex-components-form.mjs.map +1 -1
- package/fesm2020/acorex-components-mixin.mjs.map +1 -1
- package/fesm2020/acorex-components-range-slider.mjs +2 -5
- package/fesm2020/acorex-components-range-slider.mjs.map +1 -1
- package/form/src/form.component.d.ts +2 -1
- package/package.json +1 -1
- package/range-slider/src/range-slider.component.d.ts +1 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-components-form.mjs","sources":["../../../../projects/acorex/components/form/src/form-field.component.ts","../../../../projects/acorex/components/form/src/form-hint.component.ts","../../../../projects/acorex/components/form/src/form.component.ts","../../../../projects/acorex/components/form/src/validation-rule.widget.ts","../../../../projects/acorex/components/form/src/validation-summary.component.ts","../../../../projects/acorex/components/form/src/form.module.ts","../../../../projects/acorex/components/form/acorex-components-form.ts"],"sourcesContent":["import { AXBaseComponentMixin } from '@acorex/components/mixin';\r\nimport {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ax-form-field',\r\n template: '<ng-content></ng-content>',\r\n host: { class: 'ax-form-field' },\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class AXFormFieldComponent extends AXBaseComponentMixin {\r\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\r\n super(elementRef, cdr);\r\n }\r\n}\r\n","import { AXBaseComponentMixin } from '@acorex/components/mixin';\r\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ax-form-hint',\r\n template: ' <p class=\"ax-text-light-400 ax-text-xs ax-py-1 dark:ax-text-light-300\"><ng-content></ng-content></p>',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class AXFormHintComponent extends AXBaseComponentMixin {\r\n\r\n constructor(\r\n elementRef: ElementRef,\r\n cdr: ChangeDetectorRef\r\n ) {\r\n super(elementRef, cdr);\r\n }\r\n}","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\r\nimport { AXEvent } from '@acorex/components/common';\r\nimport { AXFormValidationResult } from './validation.class';\r\nimport { AXBaseComponentMixin } from '@acorex/components/mixin';\r\nimport { Subscription } from 'rxjs';\r\n\r\n/**\r\n* Contains native event\r\n* @category Events\r\n*/\r\nexport class AXFormValidationEvent extends AXEvent {\r\n result: AXFormValidationResult;\r\n}\r\n\r\n/**\r\n* Contains native event\r\n* @category Events\r\n*/\r\nexport type AXFormUpdateOn = 'change' | 'blur' | 'manual';\r\n\r\n\r\n/**\r\n * The Button is a component which detects user interaction and triggers a corresponding event\r\n *\r\n * @category Components\r\n */\r\n@Component({\r\n selector: 'ax-form',\r\n template: '<form ><ng-content></ng-content></form>',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class AXFormComponent extends AXBaseComponentMixin {\r\n\r\n\r\n @Output()\r\n onValidate: EventEmitter<AXFormValidationEvent> = new EventEmitter<AXFormValidationEvent>();\r\n\r\n\r\n @Output()\r\n updateOnChange: EventEmitter<AXFormUpdateOn> = new EventEmitter<AXFormUpdateOn>();\r\n\r\n private _updateOn: AXFormUpdateOn = 'blur';\r\n @Input()\r\n public get updateOn(): AXFormUpdateOn {\r\n return this._updateOn;\r\n }\r\n public set updateOn(v: AXFormUpdateOn) {\r\n this._setOption({\r\n name: 'updateOn',\r\n value: v,\r\n afterCallback: (oldValue?, newValue?) => {\r\n this._bindEvents();\r\n },\r\n })\r\n }\r\n\r\n\r\n\r\n private _observer: MutationObserver;\r\n private _subs: Subscription[] = [];\r\n\r\n\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(\r\n elementRef: ElementRef,\r\n private cdr: ChangeDetectorRef\r\n ) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n private _getComponenets() {\r\n return Array.from(\r\n this._getHostElement().querySelectorAll('[ax-form-input=\"true\"]')\r\n ).map((c) => (c as any).__axContext__);\r\n }\r\n\r\n onViewInit(): void {\r\n this._validateInitValues();\r\n this._bindEvents();\r\n\r\n const config = { attributes: false, childList: true, subtree: true };\r\n const callback = (mutationList, observer) => {\r\n this._bindEvents();\r\n };\r\n\r\n // Create an observer instance linked to the callback function\r\n this._observer = new MutationObserver(callback);\r\n this._observer.observe(this._getHostElement(), config);\r\n }\r\n\r\n private _bindEvents() {\r\n this._clearSubs();\r\n const widgets = this._getComponenets()\r\n //\r\n widgets.forEach(w => {\r\n if (this.updateOn == 'change') {\r\n this._subs.push(w.onValueChanged?.subscribe(v => {\r\n w.validate();\r\n }));\r\n }\r\n else if (this.updateOn == 'blur') {\r\n this._subs.push(w.onBlur?.subscribe(v => {\r\n w.validate();\r\n }));\r\n }\r\n })\r\n }\r\n\r\n private _clearSubs() {\r\n this._subs.forEach(c => c.unsubscribe())\r\n this._subs = [];\r\n }\r\n\r\n private _validateInitValues() {\r\n this._getComponenets()\r\n .filter(c => c['value'])\r\n .forEach(c => c.validate());\r\n }\r\n\r\n\r\n\r\n validate(...args: string[]): Promise<AXFormValidationResult> {\r\n const widgets = this._getComponenets();\r\n if (widgets.length === 0) {\r\n this._emitOnValidateEvent({ result: true });\r\n return Promise.resolve({ result: true });\r\n }\r\n //\r\n return new Promise<AXFormValidationResult>((resolve, reject) => {\r\n Promise.all(widgets\r\n .filter(c => (args == null || args.length == 0) || args.includes(c.name))\r\n .map((c) => c.validate()))\r\n .then((rules: any) => {\r\n const failed = rules.filter((c: any) => !c.result);\r\n if (failed.length) {\r\n this._emitOnValidateEvent({\r\n result: false,\r\n items: failed\r\n });\r\n resolve({\r\n result: false,\r\n items: failed\r\n });\r\n }\r\n else {\r\n this._emitOnValidateEvent({ result: true });\r\n resolve({ result: true });\r\n }\r\n });\r\n });\r\n }\r\n\r\n private _emitOnValidateEvent(e: AXFormValidationResult) {\r\n this.onValidate.emit({\r\n component: this,\r\n result: e,\r\n htmlElement: this._getHostElement(),\r\n })\r\n }\r\n\r\n clear() {\r\n const widgets = this._getComponenets();\r\n widgets.forEach(w => {\r\n w.clear();\r\n });\r\n }\r\n\r\n onDestroy(): void {\r\n this._observer.disconnect();\r\n this._observer = null;\r\n this._clearSubs();\r\n }\r\n}","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n Input,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport {\r\n AXValidationRuleResult,\r\n AXValidationRule,\r\n AXValidationRuleTypes,\r\n} from './validation.class';\r\nimport { AXConfig } from '@acorex/core/config';\r\nimport { AXTranslator } from '@acorex/core/translation';\r\nimport { AXBaseComponentMixin } from '@acorex/components/mixin';\r\n\r\n@Component({\r\n selector: 'ax-validation-rule',\r\n template: '',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class AXValidationRuleComponent\r\n extends AXBaseComponentMixin\r\n implements AXValidationRule\r\n{\r\n @Input()\r\n rule: AXValidationRuleTypes = 'required';\r\n\r\n @Input()\r\n message: string;\r\n\r\n @Input()\r\n showMessage: boolean = true;\r\n\r\n @Input()\r\n value: any;\r\n\r\n @Input()\r\n enabled: boolean = true;\r\n\r\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n onInit() {\r\n (this._getHostElement() as any).validate = this.validate.bind(this);\r\n }\r\n\r\n validate(value: any): Promise<AXValidationRuleResult> {\r\n if (this.enabled === false) {\r\n return Promise.resolve({ result: true });\r\n }\r\n if (this.rule == 'custom') {\r\n const regRule = AXConfig.get(`form.validation.rules.${this.value}`);\r\n if (regRule) {\r\n return this._internalValidate(\r\n regRule.rule,\r\n value,\r\n this.message || regRule.message,\r\n regRule.value\r\n );\r\n }\r\n }\r\n return this._internalValidate(this.rule, value, this.message, this.value);\r\n }\r\n\r\n private _internalValidate(\r\n type: string,\r\n value?: any,\r\n message?: string,\r\n ruleValue?: any\r\n ): Promise<AXValidationRuleResult> {\r\n return new Promise<AXValidationRuleResult>((resolve) => {\r\n switch (type) {\r\n case 'required':\r\n resolve({\r\n message: this.showMessage\r\n ? message || AXTranslator.get('validation.messages.required')\r\n : '',\r\n result:\r\n value != null &&\r\n value != '' &&\r\n (!Array.isArray(value) ||\r\n (Array.isArray(value) && value.length > 0)),\r\n });\r\n break;\r\n case 'regex':\r\n const ex = new RegExp(ruleValue);\r\n resolve({\r\n message: this.showMessage\r\n ? message || AXTranslator.get('validation.messages.regex')\r\n : '',\r\n result: ex.test(value),\r\n });\r\n break;\r\n case 'callback':\r\n if (typeof ruleValue === 'function') {\r\n const res: any = {};\r\n res.message = this.showMessage ? message : null;\r\n const val = ruleValue({ value, message });\r\n if (val instanceof Promise) {\r\n val\r\n .then((c) => {\r\n res.result = c;\r\n })\r\n .catch((c) => {\r\n res.result = false;\r\n })\r\n .finally(() => {\r\n resolve(res);\r\n });\r\n } else {\r\n res.result = val;\r\n resolve(res);\r\n }\r\n } else {\r\n resolve({\r\n message: AXTranslator.get('validation.messages.invalid-rull-fn'),\r\n result: false,\r\n });\r\n }\r\n break;\r\n default:\r\n resolve({\r\n message: AXTranslator.get('validation.messages.invalid-rull-name'),\r\n result: false,\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","import { AXTranslator } from \"@acorex/core/translation\";\r\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Inject, Input, Optional, ViewEncapsulation } from \"@angular/core\";\r\nimport { AXEvent } from \"@acorex/components/common\";\r\nimport { AXToastService } from \"@acorex/components/toast\";\r\nimport { AXFormComponent } from \"./form.component\";\r\nimport { AXBaseComponentMixin } from \"@acorex/components/mixin\";\r\n\r\n\r\nexport type AXValidationSummaryDisplayMode = 'toast' | 'alert'\r\n\r\n@Component({\r\n selector: 'ax-validation-summary',\r\n template: `\r\n <ax-alert color=\"danger\" look=\"twotone\" *ngIf=\"displayMode=='alert' && _content\" [timeOut]=\"_timeOut\" #a (onDismissed)=\"_handleOnDismissed($event)\">\r\n <ax-header>\r\n <ax-icon></ax-icon>\r\n <ax-title>{{_title}}</ax-title>\r\n </ax-header>\r\n <ax-content>\r\n <div [innerHTML]=\"_content\">\r\n </div>\r\n </ax-content>\r\n <ax-suffix>\r\n <ax-button text=\"Dismiss\" (onClick)=\"a.dismiss()\"></ax-button>\r\n </ax-suffix>\r\n </ax-alert>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AXValidationSummaryComponent extends AXBaseComponentMixin {\r\n\r\n _content?: string = '';\r\n _title: string = AXTranslator.get('validation.messages.title');\r\n\r\n @Input()\r\n displayMode: AXValidationSummaryDisplayMode = 'toast';\r\n\r\n @Input()\r\n timeOut?: number;\r\n\r\n @Input()\r\n autoHide: boolean = false;\r\n\r\n _timeOut: number;\r\n\r\n constructor(\r\n _elementRef: ElementRef,\r\n _cdr: ChangeDetectorRef,\r\n private _tosatService: AXToastService,\r\n @Optional()\r\n @Inject(AXFormComponent)\r\n private _parent: AXFormComponent\r\n ) {\r\n super(_elementRef, _cdr);\r\n //\r\n _parent.onValidate.subscribe((c:any) => {\r\n if (!c.result.result) {\r\n this._content = `<ul>${c.result.items.map(c => `<li>${c.message}</li>`).join('')}</ul>`;\r\n this._timeOut = this.autoHide ? (this.timeOut ?? Math.max(c.result.items.length * 1500, 2000)) : 0;\r\n //\r\n if (this.displayMode == 'toast') {\r\n this._tosatService.show({\r\n color: 'danger',\r\n closeable: true,\r\n timeOut: this._timeOut,\r\n content: this._content,\r\n title: AXTranslator.get('validation.messages.title')\r\n });\r\n }\r\n }\r\n else {\r\n this._content = '';\r\n }\r\n _cdr.markForCheck();\r\n });\r\n }\r\n\r\n _handleOnDismissed(e: AXEvent) {\r\n this._content = '';\r\n }\r\n}","import { AXAlertModule } from '@acorex/components/alert';\r\nimport { AXButtonModule } from '@acorex/components/button';\r\nimport { AXDecoratorModule } from '@acorex/components/decorators';\r\nimport { AXConfig } from '@acorex/core/config';\r\nimport { AXTranslator } from '@acorex/core/translation';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { AXFormFieldComponent } from './form-field.component';\r\nimport { AXFormHintComponent } from './form-hint.component';\r\nimport { AXFormComponent } from './form.component';\r\nimport { AXValidationRuleComponent } from './validation-rule.widget';\r\nimport { AXValidationSummaryComponent } from './validation-summary.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n AXFormFieldComponent,\r\n AXFormComponent,\r\n AXFormHintComponent,\r\n AXValidationRuleComponent,\r\n AXValidationSummaryComponent,\r\n ],\r\n imports: [CommonModule, AXDecoratorModule, AXAlertModule, AXButtonModule],\r\n exports: [\r\n AXFormFieldComponent,\r\n AXFormComponent,\r\n AXFormHintComponent,\r\n AXValidationRuleComponent,\r\n AXValidationSummaryComponent,\r\n ],\r\n providers: [],\r\n})\r\nexport class AXFormModule {\r\n constructor() {\r\n AXConfig.set({\r\n form: {\r\n validation: {\r\n rules: {\r\n email: {\r\n rule: 'regex',\r\n value:\r\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\r\n message: AXTranslator.get('validation.messages.email'),\r\n },\r\n phone: {\r\n rule: 'regex',\r\n value: /^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$/,\r\n message: AXTranslator.get('validation.messages.phone'),\r\n },\r\n },\r\n },\r\n },\r\n });\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-components-form.mjs","sources":["../../../../projects/acorex/components/form/src/form-field.component.ts","../../../../projects/acorex/components/form/src/form-hint.component.ts","../../../../projects/acorex/components/form/src/form.component.ts","../../../../projects/acorex/components/form/src/validation-rule.widget.ts","../../../../projects/acorex/components/form/src/validation-summary.component.ts","../../../../projects/acorex/components/form/src/form.module.ts","../../../../projects/acorex/components/form/acorex-components-form.ts"],"sourcesContent":["import { AXBaseComponentMixin } from '@acorex/components/mixin';\r\nimport {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ax-form-field',\r\n template: '<ng-content></ng-content>',\r\n host: { class: 'ax-form-field' },\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class AXFormFieldComponent extends AXBaseComponentMixin {\r\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\r\n super(elementRef, cdr);\r\n }\r\n}\r\n","import { AXBaseComponentMixin } from '@acorex/components/mixin';\r\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ax-form-hint',\r\n template: ' <p class=\"ax-text-light-400 ax-text-xs ax-py-1 dark:ax-text-light-300\"><ng-content></ng-content></p>',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class AXFormHintComponent extends AXBaseComponentMixin {\r\n\r\n constructor(\r\n elementRef: ElementRef,\r\n cdr: ChangeDetectorRef\r\n ) {\r\n super(elementRef, cdr);\r\n }\r\n}","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\r\nimport { AXEvent } from '@acorex/components/common';\r\nimport { AXFormValidationResult } from './validation.class';\r\nimport { AXBaseComponentMixin } from '@acorex/components/mixin';\r\nimport { Subscription } from 'rxjs';\r\n\r\n/**\r\n* Contains native event\r\n* @category Events\r\n*/\r\nexport class AXFormValidationEvent extends AXEvent {\r\n result: AXFormValidationResult;\r\n}\r\n\r\n/**\r\n* Contains native event\r\n* @category Events\r\n*/\r\nexport type AXFormUpdateOn = 'change' | 'blur' | 'manual';\r\n\r\n\r\n/**\r\n * The Button is a component which detects user interaction and triggers a corresponding event\r\n *\r\n * @category Components\r\n */\r\n@Component({\r\n selector: 'ax-form',\r\n template: '<form ><ng-content></ng-content></form>',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class AXFormComponent extends AXBaseComponentMixin {\r\n\r\n\r\n @Output()\r\n onValidate: EventEmitter<AXFormValidationEvent> = new EventEmitter<AXFormValidationEvent>();\r\n\r\n\r\n @Output()\r\n updateOnChange: EventEmitter<AXFormUpdateOn> = new EventEmitter<AXFormUpdateOn>();\r\n\r\n private _updateOn: AXFormUpdateOn = 'blur';\r\n @Input()\r\n public get updateOn(): AXFormUpdateOn {\r\n return this._updateOn;\r\n }\r\n public set updateOn(v: AXFormUpdateOn) {\r\n this._setOption({\r\n name: 'updateOn',\r\n value: v,\r\n afterCallback: (oldValue?, newValue?) => {\r\n this._bindEvents();\r\n },\r\n })\r\n }\r\n\r\n @Input()\r\n validateInitValues: boolean = false;\r\n\r\n\r\n private _observer: MutationObserver;\r\n private _subs: Subscription[] = [];\r\n\r\n\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(\r\n elementRef: ElementRef,\r\n private cdr: ChangeDetectorRef\r\n ) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n private _getComponenets() {\r\n return Array.from(\r\n this._getHostElement().querySelectorAll('[ax-form-input=\"true\"]')\r\n ).map((c) => (c as any).__axContext__);\r\n }\r\n\r\n onViewInit(): void {\r\n if (this.validateInitValues) {\r\n this._validateInitValues();\r\n }\r\n this._bindEvents();\r\n\r\n const config = { attributes: false, childList: true, subtree: true };\r\n const callback = (mutationList, observer) => {\r\n this._bindEvents();\r\n };\r\n\r\n // Create an observer instance linked to the callback function\r\n this._observer = new MutationObserver(callback);\r\n this._observer.observe(this._getHostElement(), config);\r\n }\r\n\r\n private _bindEvents() {\r\n this._clearSubs();\r\n const widgets = this._getComponenets()\r\n //\r\n widgets.forEach(w => {\r\n if (this.updateOn == 'change') {\r\n this._subs.push(w.onValueChanged?.subscribe(v => {\r\n w.validate();\r\n }));\r\n }\r\n else if (this.updateOn == 'blur') {\r\n this._subs.push(w.onBlur?.subscribe(v => {\r\n w.validate();\r\n }));\r\n }\r\n })\r\n }\r\n\r\n private _clearSubs() {\r\n this._subs.forEach(c => c.unsubscribe())\r\n this._subs = [];\r\n }\r\n\r\n private _validateInitValues() {\r\n this._getComponenets()\r\n .filter(c => c['value'])\r\n .forEach(c => c.validate());\r\n }\r\n\r\n\r\n\r\n validate(...args: string[]): Promise<AXFormValidationResult> {\r\n const widgets = this._getComponenets();\r\n if (widgets.length === 0) {\r\n this._emitOnValidateEvent({ result: true });\r\n return Promise.resolve({ result: true });\r\n }\r\n //\r\n return new Promise<AXFormValidationResult>((resolve, reject) => {\r\n Promise.all(widgets\r\n .filter(c => (args == null || args.length == 0) || args.includes(c.name))\r\n .map((c) => c.validate()))\r\n .then((rules: any) => {\r\n const failed = rules.filter((c: any) => !c.result);\r\n if (failed.length) {\r\n this._emitOnValidateEvent({\r\n result: false,\r\n items: failed\r\n });\r\n resolve({\r\n result: false,\r\n items: failed\r\n });\r\n }\r\n else {\r\n this._emitOnValidateEvent({ result: true });\r\n resolve({ result: true });\r\n }\r\n });\r\n });\r\n }\r\n\r\n private _emitOnValidateEvent(e: AXFormValidationResult) {\r\n this.onValidate.emit({\r\n component: this,\r\n result: e,\r\n htmlElement: this._getHostElement(),\r\n })\r\n }\r\n\r\n clear() {\r\n const widgets = this._getComponenets();\r\n widgets.forEach(w => {\r\n w.clear();\r\n });\r\n }\r\n\r\n onDestroy(): void {\r\n this._observer.disconnect();\r\n this._observer = null;\r\n this._clearSubs();\r\n }\r\n}","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n Input,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport {\r\n AXValidationRuleResult,\r\n AXValidationRule,\r\n AXValidationRuleTypes,\r\n} from './validation.class';\r\nimport { AXConfig } from '@acorex/core/config';\r\nimport { AXTranslator } from '@acorex/core/translation';\r\nimport { AXBaseComponentMixin } from '@acorex/components/mixin';\r\n\r\n@Component({\r\n selector: 'ax-validation-rule',\r\n template: '',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class AXValidationRuleComponent\r\n extends AXBaseComponentMixin\r\n implements AXValidationRule\r\n{\r\n @Input()\r\n rule: AXValidationRuleTypes = 'required';\r\n\r\n @Input()\r\n message: string;\r\n\r\n @Input()\r\n showMessage: boolean = true;\r\n\r\n @Input()\r\n value: any;\r\n\r\n @Input()\r\n enabled: boolean = true;\r\n\r\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n onInit() {\r\n (this._getHostElement() as any).validate = this.validate.bind(this);\r\n }\r\n\r\n validate(value: any): Promise<AXValidationRuleResult> {\r\n if (this.enabled === false) {\r\n return Promise.resolve({ result: true });\r\n }\r\n if (this.rule == 'custom') {\r\n const regRule = AXConfig.get(`form.validation.rules.${this.value}`);\r\n if (regRule) {\r\n return this._internalValidate(\r\n regRule.rule,\r\n value,\r\n this.message || regRule.message,\r\n regRule.value\r\n );\r\n }\r\n }\r\n return this._internalValidate(this.rule, value, this.message, this.value);\r\n }\r\n\r\n private _internalValidate(\r\n type: string,\r\n value?: any,\r\n message?: string,\r\n ruleValue?: any\r\n ): Promise<AXValidationRuleResult> {\r\n return new Promise<AXValidationRuleResult>((resolve) => {\r\n switch (type) {\r\n case 'required':\r\n resolve({\r\n message: this.showMessage\r\n ? message || AXTranslator.get('validation.messages.required')\r\n : '',\r\n result:\r\n value != null &&\r\n value != '' &&\r\n (!Array.isArray(value) ||\r\n (Array.isArray(value) && value.length > 0)),\r\n });\r\n break;\r\n case 'regex':\r\n const ex = new RegExp(ruleValue);\r\n resolve({\r\n message: this.showMessage\r\n ? message || AXTranslator.get('validation.messages.regex')\r\n : '',\r\n result: ex.test(value),\r\n });\r\n break;\r\n case 'callback':\r\n if (typeof ruleValue === 'function') {\r\n const res: any = {};\r\n res.message = this.showMessage ? message : null;\r\n const val = ruleValue({ value, message });\r\n if (val instanceof Promise) {\r\n val\r\n .then((c) => {\r\n res.result = c;\r\n })\r\n .catch((c) => {\r\n res.result = false;\r\n })\r\n .finally(() => {\r\n resolve(res);\r\n });\r\n } else {\r\n res.result = val;\r\n resolve(res);\r\n }\r\n } else {\r\n resolve({\r\n message: AXTranslator.get('validation.messages.invalid-rull-fn'),\r\n result: false,\r\n });\r\n }\r\n break;\r\n default:\r\n resolve({\r\n message: AXTranslator.get('validation.messages.invalid-rull-name'),\r\n result: false,\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","import { AXTranslator } from \"@acorex/core/translation\";\r\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Inject, Input, Optional, ViewEncapsulation } from \"@angular/core\";\r\nimport { AXEvent } from \"@acorex/components/common\";\r\nimport { AXToastService } from \"@acorex/components/toast\";\r\nimport { AXFormComponent } from \"./form.component\";\r\nimport { AXBaseComponentMixin } from \"@acorex/components/mixin\";\r\n\r\n\r\nexport type AXValidationSummaryDisplayMode = 'toast' | 'alert'\r\n\r\n@Component({\r\n selector: 'ax-validation-summary',\r\n template: `\r\n <ax-alert color=\"danger\" look=\"twotone\" *ngIf=\"displayMode=='alert' && _content\" [timeOut]=\"_timeOut\" #a (onDismissed)=\"_handleOnDismissed($event)\">\r\n <ax-header>\r\n <ax-icon></ax-icon>\r\n <ax-title>{{_title}}</ax-title>\r\n </ax-header>\r\n <ax-content>\r\n <div [innerHTML]=\"_content\">\r\n </div>\r\n </ax-content>\r\n <ax-suffix>\r\n <ax-button text=\"Dismiss\" (onClick)=\"a.dismiss()\"></ax-button>\r\n </ax-suffix>\r\n </ax-alert>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AXValidationSummaryComponent extends AXBaseComponentMixin {\r\n\r\n _content?: string = '';\r\n _title: string = AXTranslator.get('validation.messages.title');\r\n\r\n @Input()\r\n displayMode: AXValidationSummaryDisplayMode = 'toast';\r\n\r\n @Input()\r\n timeOut?: number;\r\n\r\n @Input()\r\n autoHide: boolean = false;\r\n\r\n _timeOut: number;\r\n\r\n constructor(\r\n _elementRef: ElementRef,\r\n _cdr: ChangeDetectorRef,\r\n private _tosatService: AXToastService,\r\n @Optional()\r\n @Inject(AXFormComponent)\r\n private _parent: AXFormComponent\r\n ) {\r\n super(_elementRef, _cdr);\r\n //\r\n _parent.onValidate.subscribe((c:any) => {\r\n if (!c.result.result) {\r\n this._content = `<ul>${c.result.items.map(c => `<li>${c.message}</li>`).join('')}</ul>`;\r\n this._timeOut = this.autoHide ? (this.timeOut ?? Math.max(c.result.items.length * 1500, 2000)) : 0;\r\n //\r\n if (this.displayMode == 'toast') {\r\n this._tosatService.show({\r\n color: 'danger',\r\n closeable: true,\r\n timeOut: this._timeOut,\r\n content: this._content,\r\n title: AXTranslator.get('validation.messages.title')\r\n });\r\n }\r\n }\r\n else {\r\n this._content = '';\r\n }\r\n _cdr.markForCheck();\r\n });\r\n }\r\n\r\n _handleOnDismissed(e: AXEvent) {\r\n this._content = '';\r\n }\r\n}","import { AXAlertModule } from '@acorex/components/alert';\r\nimport { AXButtonModule } from '@acorex/components/button';\r\nimport { AXDecoratorModule } from '@acorex/components/decorators';\r\nimport { AXConfig } from '@acorex/core/config';\r\nimport { AXTranslator } from '@acorex/core/translation';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { AXFormFieldComponent } from './form-field.component';\r\nimport { AXFormHintComponent } from './form-hint.component';\r\nimport { AXFormComponent } from './form.component';\r\nimport { AXValidationRuleComponent } from './validation-rule.widget';\r\nimport { AXValidationSummaryComponent } from './validation-summary.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n AXFormFieldComponent,\r\n AXFormComponent,\r\n AXFormHintComponent,\r\n AXValidationRuleComponent,\r\n AXValidationSummaryComponent,\r\n ],\r\n imports: [CommonModule, AXDecoratorModule, AXAlertModule, AXButtonModule],\r\n exports: [\r\n AXFormFieldComponent,\r\n AXFormComponent,\r\n AXFormHintComponent,\r\n AXValidationRuleComponent,\r\n AXValidationSummaryComponent,\r\n ],\r\n providers: [],\r\n})\r\nexport class AXFormModule {\r\n constructor() {\r\n AXConfig.set({\r\n form: {\r\n validation: {\r\n rules: {\r\n email: {\r\n rule: 'regex',\r\n value:\r\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\r\n message: AXTranslator.get('validation.messages.email'),\r\n },\r\n phone: {\r\n rule: 'regex',\r\n value: /^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$/,\r\n message: AXTranslator.get('validation.messages.phone'),\r\n },\r\n },\r\n },\r\n },\r\n });\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-components-mixin.mjs","sources":["../../../../projects/acorex/components/mixin/src/base-components.class.ts","../../../../projects/acorex/components/mixin/src/base-menu-mixin.class.ts","../../../../projects/acorex/components/mixin/src/button-mixin.class.ts","../../../../projects/acorex/components/mixin/src/clickable-mixin.class.ts","../../../../projects/acorex/components/mixin/src/color-look-mixing.class.ts","../../../../projects/acorex/components/mixin/src/datalist-component.class.ts","../../../../projects/acorex/components/mixin/src/datalist.class.ts","../../../../projects/acorex/components/mixin/src/dropdown-mixin.class.ts","../../../../projects/acorex/components/mixin/src/interactive-mixin.class.ts","../../../../projects/acorex/components/mixin/src/loading-mixin.class.ts","../../../../projects/acorex/components/mixin/src/selection-component.class.ts","../../../../projects/acorex/components/mixin/src/sizable-mixin.class.ts","../../../../projects/acorex/components/mixin/src/textbox-mixin.class.ts","../../../../projects/acorex/components/mixin/src/value-mixin.class.ts","../../../../projects/acorex/components/mixin/src/mixin.class.ts","../../../../projects/acorex/components/mixin/src/page-component.class.ts","../../../../projects/acorex/components/mixin/acorex-components-mixin.ts"],"sourcesContent":["import {\r\n ChangeDetectorRef,\r\n EventEmitter,\r\n Inject,\r\n Injectable,\r\n ElementRef\r\n} from '@angular/core';\r\nimport { Constructor } from './constratctor';\r\n\r\n/**\r\n * A token that specifies the size of component.\r\n */\r\nexport type AXElementSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\r\n\r\nexport type AXComponentOptionChanging = { name: string; value?: any };\r\nexport type AXComponentOptionChanged = {\r\n name: string;\r\n newValue?: any;\r\n oldValue?: any;\r\n};\r\nexport type AXComponentSetOption = {\r\n name: string;\r\n value?: any;\r\n afterCallback?: (oldValue?: any, newValue?: any) => void;\r\n beforeCallback?: (oldValue?: any, newValue?: any) => void;\r\n};\r\n\r\n@Injectable()\r\nexport class AXBaseComponent {\r\n id: string = `AX${Math.round(Math.random() * Math.pow(10, 10))}`;\r\n\r\n /**\r\n * A token that specifies the layout direction of component.\r\n */\r\n rtl: boolean;\r\n\r\n #elementRef: ElementRef;\r\n _cdr: ChangeDetectorRef;\r\n\r\n _isInited: boolean;\r\n _isRendered: boolean;\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(@Inject(Array) ...args: any[]) {\r\n this.#elementRef = args[0];\r\n this._cdr = args[1];\r\n }\r\n\r\n ngOnInit() {\r\n this._isInited = true;\r\n this._onInternalInit();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this._isRendered = true;\r\n this._onInternalViewInit();\r\n }\r\n\r\n ngOnDestroy() {\r\n this._onInternalDestroy();\r\n }\r\n\r\n _getHostElement<T = HTMLElement>(): T {\r\n return this.#elementRef.nativeElement as T;\r\n }\r\n\r\n _getInnerElement<T = HTMLElement>(): T {\r\n return this._getHostElement().firstElementChild as unknown as T;\r\n }\r\n\r\n _onInternalInit() {\r\n (this._getHostElement() as any).__axContext__ = this;\r\n\r\n if (this.rtl == null) {\r\n this.rtl =\r\n window\r\n .getComputedStyle(this._getHostElement(), null)\r\n .getPropertyValue('direction') === 'rtl';\r\n }\r\n //TODO: Apply\r\n // this._getHostElement().classList.add(this.rtl ? 'ax-rtl' : 'ax-ltr');\r\n // this._getInnerElement()?.classList.add(this.rtl ? 'ax-rtl' : 'ax-ltr');\r\n // this._getHostElement().setAttribute('data-id', this.id);\r\n this.onInit();\r\n }\r\n\r\n _onInternalViewInit() {\r\n this.onViewInit();\r\n }\r\n\r\n _onInternalDestroy() {\r\n this.onDestroy();\r\n }\r\n\r\n onInit() {}\r\n\r\n\r\n onViewInit() {}\r\n\r\n onDestroy() {}\r\n\r\n _onOptionChanging(option: AXComponentOptionChanging) {\r\n return option?.value;\r\n }\r\n _onOptionChanged(option: AXComponentOptionChanged): void {}\r\n\r\n _setOption(option: AXComponentSetOption) {\r\n const oldValue = this[option.name];\r\n const newValue = this._onOptionChanging({\r\n name: option.name,\r\n value: option.value,\r\n });\r\n //TODO : check real changes\r\n if (option.beforeCallback) option.beforeCallback(oldValue, newValue);\r\n if (oldValue != newValue) {\r\n this[`_${option.name}`] = option.value;\r\n this._onOptionChanged({ name: option.name, newValue, oldValue });\r\n const emitter = this[`${option.name}Change`] as EventEmitter<any>;\r\n if (emitter) emitter.emit(newValue);\r\n }\r\n if (option.afterCallback) option.afterCallback(oldValue, newValue);\r\n }\r\n}\r\n\r\nexport function _BaseComponenetMixin<\r\n TBase extends Constructor<AXBaseComponent>\r\n>(Base: TBase) {\r\n return class extends Base {\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n };\r\n}\r\n\r\nexport const BASE_INPUTS = ['rtl'];\r\nexport const BASE_OUTPUT = [];\r\n","import { AXItemClickEvent } from '@acorex/components/common';\r\nimport { EventEmitter } from '@angular/core';\r\nimport _ from 'lodash';\r\nimport { AXBaseComponent } from './base-components.class';\r\nimport { Constructor } from './constratctor';\r\n\r\nexport function _BaseMenuComponentMixin<\r\n TBase extends Constructor<AXBaseComponent>\r\n>(Base: TBase) {\r\n return class extends Base {\r\n textField: string = 'text';\r\n\r\n valueField: string = 'id';\r\n\r\n #isLoading: boolean = false;\r\n\r\n #loadedItems: any = [];\r\n\r\n visibleField: string;\r\n\r\n disableField: string = 'disabled';\r\n\r\n hasChildField: string;\r\n\r\n iconField: string = 'icon';\r\n\r\n openMode: 'click' | 'hover' = 'click';\r\n\r\n orientation: 'horizontal' | 'vertical' | 'sidemenu' = 'sidemenu';\r\n\r\n dividerField: string = 'divider';\r\n\r\n onMenuItemClick: EventEmitter<AXItemClickEvent<any>> = new EventEmitter<\r\n AXItemClickEvent<any>\r\n >();\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n\r\n #items: any = [];\r\n get items(): any {\r\n return this.#items;\r\n }\r\n set items(v: any) {\r\n if (Array.isArray(v)) {\r\n this.#items = this._formatData(v);\r\n } else if (typeof v === 'function') {\r\n this.#items = v;\r\n } else {\r\n this.#items = [];\r\n }\r\n }\r\n\r\n get displayItems() {\r\n if (Array.isArray(this.items)) {\r\n return this.#items || [];\r\n } else if (typeof this.#items == 'function') {\r\n return this.#loadedItems || [];\r\n }\r\n return [];\r\n }\r\n\r\n get isLoading() {\r\n return this.#isLoading;\r\n }\r\n\r\n _formatData(v: any[]) {\r\n return _.unionBy(\r\n v.map((o, i) => {\r\n if (typeof o == 'object') return o;\r\n else {\r\n const no: any = {};\r\n no[this.valueField] = o;\r\n no[\r\n Array.isArray(this.textField) ? this.textField[0] : this.textField\r\n ] = o;\r\n return no;\r\n }\r\n }),\r\n this.valueField\r\n );\r\n }\r\n\r\n _findNode(parentId: number, _children: any, source: any) {\r\n if (source.length > 0) {\r\n source.forEach((element) => {\r\n if (element[this.valueField] == parentId) {\r\n element.children = _children;\r\n } else {\r\n if (element?.children)\r\n this._findNode(parentId, _children, element.children);\r\n }\r\n });\r\n }\r\n }\r\n\r\n _fetchData(parentId?: number, searchText?: string) {\r\n return new Promise((resolve) => {\r\n if (this.#isLoading) {\r\n return;\r\n }\r\n if (this.#items) {\r\n this.#isLoading = true;\r\n this.#items({\r\n parentId: parentId,\r\n searchQuery: searchText,\r\n })\r\n .then((c) => {\r\n if (Array.isArray(c)) {\r\n if (parentId) {\r\n resolve(this._findNode(parentId, c, this.displayItems));\r\n } else {\r\n resolve((this.#loadedItems = c));\r\n }\r\n }\r\n this._cdr.markForCheck();\r\n })\r\n .finally(() => {\r\n this.#isLoading = false;\r\n });\r\n }\r\n });\r\n }\r\n\r\n _onInternalInit() {\r\n if (typeof this.#items == 'function') {\r\n this._fetchData();\r\n }\r\n super._onInternalInit();\r\n }\r\n\r\n _getItemDisplayTextTemplte(item) {\r\n if (item)\r\n return Array.isArray(this.textField)\r\n ? this.textField.map((c) => item[c]).join(',')\r\n : item[this.textField];\r\n else return 'Loading...';\r\n }\r\n\r\n public refresh() {\r\n this._fetchData();\r\n }\r\n };\r\n}\r\n\r\nexport const BASEMENU_INPUTS = [\r\n 'textField',\r\n 'valueField',\r\n 'items',\r\n 'parentId',\r\n 'iconField',\r\n 'tooltip',\r\n 'isOpen',\r\n 'isActive',\r\n 'visibleField',\r\n 'disableField',\r\n 'hasChildField',\r\n 'openMode',\r\n 'orientation',\r\n 'dividerField',\r\n];\r\nexport const BASEMENU_OUTPUT = ['onMenuItemClick'];\r\n","import { EventEmitter } from '@angular/core';\r\nimport { AXBaseComponent } from './base-components.class';\r\nimport { Constructor } from './constratctor';\r\n\r\nexport function _ButtonComponentMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n return class extends Base {\r\n \r\n\r\n _text: string;\r\n /**\r\n * Defines the primary text to show inside the button.\r\n */\r\n get text(): string {\r\n return this._text;\r\n }\r\n set text(v: string) {\r\n this._setOption({\r\n name: 'text',\r\n value: v,\r\n afterCallback: () => {\r\n this._cdr.markForCheck();\r\n }\r\n })\r\n }\r\n\r\n\r\n\r\n toggleableChange: EventEmitter<boolean> = new EventEmitter();\r\n _toggleable?: boolean = false;\r\n /**\r\n * Provides visual styling that indicates if the Button is active\r\n */\r\n get toggleable(): boolean {\r\n return this._toggleable!;\r\n }\r\n set toggleable(value: boolean) {\r\n this._setOption({\r\n name: 'toggleable',\r\n value\r\n });\r\n }\r\n\r\n\r\n selectedChange: EventEmitter<boolean> = new EventEmitter();\r\n _selected?: boolean = false;\r\n /**\r\n * Indicates if the Button is selected or not\r\n */\r\n get selected(): boolean {\r\n return this._selected!;\r\n }\r\n set selected(value: boolean) {\r\n this._setOption({\r\n name: 'selected',\r\n value,\r\n afterCallback: () => {\r\n this._cdr.markForCheck();\r\n }\r\n });\r\n }\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n\r\n\r\n get _classes() {\r\n const cssClasses = {\r\n 'ax-button-icon': !this.text,\r\n 'ax-state-disabled': this[\"disabled\"],\r\n 'ax-state-selected': this.selected\r\n };\r\n cssClasses[`ax-${this['color'] || 'default'}${this['look'] ? '-' + this['look'] : '-default'}`] = true;\r\n return cssClasses;\r\n }\r\n };\r\n}\r\n\r\nexport const BUTTON_INPUTS = [\r\n 'text',\r\n 'toggleable',\r\n 'selected',\r\n];\r\nexport const BUTTON_OUTPUT = ['onBlur', 'onFocus', 'onClick', 'selectedChange', 'toggleableChange'];\r\n","import { EventEmitter } from \"@angular/core\";\r\nimport { AXBaseComponent } from \"./base-components.class\";\r\nimport { Constructor } from \"./constratctor\";\r\nimport { AXClickEvent } from \"@acorex/components/common\";\r\n\r\n\r\nexport function _ClickableComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase){\r\n return class extends Base {\r\n\r\n /**\r\n * Fires each time the user clicks the button.\r\n * @event\r\n */\r\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\r\n\r\n _emitOnClickEvent(e: MouseEvent): void {\r\n this.onClick.emit({\r\n component: this,\r\n htmlElement: this._getHostElement(),\r\n nativeEvent: e\r\n });\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n }\r\n}\r\n\r\n","import { EventEmitter } from \"@angular/core\";\r\nimport { AXStyleColorType, AXStyleLookType } from \"@acorex/components/common\";\r\nimport { AXBaseComponent } from \"./base-components.class\";\r\nimport { Constructor } from \"./constratctor\";\r\n\r\nexport function _ColorLookComponentMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n return class extends Base {\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n\r\n colorChange: EventEmitter<AXStyleColorType> = new EventEmitter();\r\n _color: AXStyleColorType = 'primary';\r\n /**\r\n * Predefined color schemes\r\n */\r\n get color(): AXStyleColorType {\r\n return this._color;\r\n }\r\n set color(value: AXStyleColorType) {\r\n this._setOption({\r\n name: 'color',\r\n value,\r\n afterCallback: () => {\r\n this._cdr.markForCheck();\r\n }\r\n });\r\n }\r\n\r\n lookChange: EventEmitter<AXStyleLookType> = new EventEmitter();\r\n _look?: AXStyleLookType = 'default';\r\n /**\r\n * Predefined look schemes\r\n */\r\n get look(): AXStyleLookType {\r\n return this._look!;\r\n }\r\n set look(value: AXStyleLookType) {\r\n this._setOption({\r\n name: 'look',\r\n value,\r\n afterCallback: () => {\r\n this._cdr.markForCheck();\r\n }\r\n });\r\n }\r\n }\r\n}\r\n\r\n\r\nexport const COLOR_LOOK_INPUTS = [\r\n 'color',\r\n 'look',\r\n ];\r\nexport const COLOR_LOOK_OUTPUT = ['lookChange','colorChange'];","import { unionBy, flatMapDeep } from 'lodash-es';\r\nimport { AXBaseComponent } from './base-components.class';\r\nimport { Constructor } from './constratctor';\r\nimport { AXDataListFetchDataCallback, AXDataListItems } from './datalist.class';\r\n\r\nexport function _DatalistComponenetMixin<\r\n TBase extends Constructor<AXBaseComponent>\r\n>(Base: TBase) {\r\n return class extends Base {\r\n valueField: string = 'id';\r\n textField: string = 'text';\r\n childrenField: string;\r\n pageSize: number = 10;\r\n\r\n #currentPage: number = 0;\r\n #isLoading: boolean = false;\r\n #loadedItems: any[] = [];\r\n #flatItems: any[] = [];\r\n #totalItems: number = 0;\r\n\r\n #isLazy: boolean = false;\r\n\r\n get totalCount(): number {\r\n return this.#totalItems;\r\n }\r\n\r\n get isLazy(): boolean {\r\n return this.#isLazy;\r\n }\r\n\r\n get loadedCount(): number {\r\n return this.#loadedItems?.length || 0;\r\n }\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n\r\n #items: AXDataListItems = [];\r\n get items(): AXDataListItems {\r\n return this.#items;\r\n }\r\n set items(v: AXDataListItems) {\r\n if (Array.isArray(v)) {\r\n this.#items = this._formatData(v);\r\n this._onDataLoaded();\r\n this.#generateFlatItems();\r\n } else if (typeof v === 'function') {\r\n this.#isLazy = true;\r\n this.#items = v;\r\n } else {\r\n this.#items = [];\r\n this._onDataLoaded();\r\n this.#generateFlatItems();\r\n }\r\n }\r\n\r\n get displayItems(): any[] {\r\n if (Array.isArray(this.items)) {\r\n return (this.#items || []) as any[];\r\n } else if (typeof this.#items == 'function') {\r\n return this.#loadedItems || [];\r\n }\r\n return [];\r\n }\r\n\r\n get flatItems(): any[] {\r\n return this.#flatItems || [];\r\n }\r\n\r\n get isLoading(): boolean {\r\n return this.#isLoading;\r\n }\r\n\r\n _formatData(v: any[]) {\r\n return unionBy(\r\n v.map((o, i) => {\r\n if (typeof o == 'object') return o;\r\n else {\r\n const no: any = {};\r\n no[this.valueField] = o;\r\n no[\r\n Array.isArray(this.textField) ? this.textField[0] : this.textField\r\n ] = o;\r\n return no;\r\n }\r\n }),\r\n this.valueField\r\n );\r\n // return v.map((o, i) => {\r\n // if (typeof o == 'object')\r\n // return o\r\n // else {\r\n // const no: any = {};\r\n // no[this.valueField] = o;\r\n // no[Array.isArray(this.textField) ? this.textField[0] : this.textField] = o;\r\n // return no;\r\n // }\r\n // });\r\n }\r\n\r\n _fetchData(opts?: { searchQuery?: string }) {\r\n const skip = this.#currentPage * this.pageSize,\r\n take = this.pageSize;\r\n if (\r\n (this.loadedCount >= this.totalCount && this.totalCount != 0) ||\r\n this.#isLoading ||\r\n !this.#isLazy ||\r\n skip > this.totalCount\r\n ) {\r\n return;\r\n }\r\n if (this.#items) {\r\n this.#isLoading = true;\r\n const fetchFn = this.#items as AXDataListFetchDataCallback;\r\n fetchFn({ skip, take, searchQuery: opts?.searchQuery })\r\n .then((c) => {\r\n if (Array.isArray(c)) {\r\n this.#loadedItems = this._formatData(c);\r\n this.#totalItems = c.length;\r\n } else {\r\n this.#totalItems = c.total || c.items?.length || 0;\r\n this.#loadedItems = [\r\n ...new Set(this.#loadedItems.concat(this._formatData(c.items))),\r\n ];\r\n this.#currentPage++;\r\n }\r\n this._cdr.markForCheck();\r\n })\r\n .finally(() => {\r\n this.#isLoading = false;\r\n this._onDataLoaded();\r\n this.#generateFlatItems();\r\n });\r\n }\r\n }\r\n\r\n _onDataLoaded() {}\r\n\r\n #generateFlatItems(): void {\r\n const flattenFn = (item) => {\r\n return [item, flatMapDeep(item.children, flattenFn)];\r\n };\r\n this.#flatItems = flatMapDeep(this.displayItems, flattenFn);\r\n }\r\n\r\n _getItemDisplayTextTemplte(item) {\r\n if (item)\r\n return Array.isArray(this.textField)\r\n ? this.textField.map((c) => item[c]).join(',')\r\n : item[this.textField];\r\n else return 'Loading...';\r\n }\r\n\r\n _trackByFunction(item) {\r\n if (!item) return null;\r\n return item[this.valueField];\r\n }\r\n\r\n refresh() {\r\n this.empty();\r\n this._fetchData();\r\n }\r\n\r\n empty() {\r\n this.#isLoading = false;\r\n this.#currentPage = 0;\r\n if (this.#loadedItems) {\r\n this.#loadedItems.length = 0;\r\n }\r\n }\r\n };\r\n}\r\n\r\nexport const DATALIST_INPUTS = ['pageSize', 'valueField', 'textField', 'items'];\r\nexport const DATALIST_OUTPUT = [];\r\n","\r\nexport interface AXDataListQuery {\r\n take?: number;\r\n skip?: number;\r\n searchQuery?: string;\r\n}\r\nexport interface AXDataListFetchCallbackResult {\r\n items: any[];\r\n total: number;\r\n};\r\n\r\nexport type AXDataListFetchDataCallback = (e: AXDataListQuery) => Promise<any[] | AXDataListFetchCallbackResult>;\r\n\r\nexport type AXDataListItems = any[] | AXDataListFetchDataCallback;","import { EventEmitter } from \"@angular/core\";\r\nimport { AXBaseComponent } from \"./base-components.class\";\r\nimport { Constructor } from \"./constratctor\";\r\nimport { AXEvent,AXConnectedPosition } from \"@acorex/components/common\";\r\n\r\n\r\n\r\nexport interface DropdownComponentInterface {\r\n open(): void;\r\n close(): void;\r\n toggle(): void;\r\n isOpen: boolean;\r\n}\r\n\r\n\r\nexport function _DropdownComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n\r\n abstract class Mixin extends Base {\r\n\r\n readonly: boolean = false;\r\n\r\n\r\n onOpened: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\r\n onClosed: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\r\n\r\n //TODO: Circular dependency on AXPopverComponent\r\n abstract popover: any;\r\n\r\n position: AXConnectedPosition[] = [];\r\n\r\n _emitOnOpenedEvent() {\r\n\r\n this.onOpened.emit({\r\n component: this,\r\n htmlElement: this._getHostElement()\r\n });\r\n }\r\n\r\n _emitOnClosedEvent() {\r\n this.onClosed.emit({\r\n component: this,\r\n htmlElement: this._getHostElement()\r\n });\r\n }\r\n\r\n\r\n onInit(): void {\r\n super.onInit();\r\n this.popover.onOpened.subscribe(this.onOpened);\r\n this.popover.onClosed.subscribe(this.onClosed);\r\n }\r\n\r\n onViewInit() {\r\n // wait for documentElement\r\n setTimeout(() => {\r\n if (this.position.length == 0) {\r\n const offset = Number(getComputedStyle(document.documentElement).getPropertyValue('--ax-base-size').replace('px', ''));\r\n const list: AXConnectedPosition[] = [\r\n {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n offsetY: offset\r\n },\r\n {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n offsetY: -offset\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'bottom',\r\n overlayX: 'end',\r\n overlayY: 'top',\r\n offsetY: offset\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'bottom',\r\n offsetY: -offset\r\n },\r\n ];\r\n this.position.push(...list);\r\n }\r\n }, 500);\r\n }\r\n\r\n toggle() {\r\n if (this['disabled'] !== true) {\r\n this.popover.toggle();\r\n }\r\n }\r\n\r\n close() {\r\n if (!this.isOpen || this['disabled']) {\r\n return;\r\n }\r\n this.popover.close();\r\n (this as any)?.focus();\r\n }\r\n\r\n open() {\r\n if (this.isOpen || this['disabled']) {\r\n return;\r\n }\r\n this.popover.open();\r\n this.popover.focus();\r\n }\r\n\r\n get isOpen(): boolean {\r\n return this.popover?.isOpen;\r\n }\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n\r\n }\r\n\r\n return Mixin;\r\n}\r\n\r\n\r\nexport const DROPDOWN_INPUTS = [\r\n 'isOpen',\r\n 'fitParent',\r\n 'dropdownWidth',\r\n 'position'\r\n];\r\nexport const DROPDOWN_OUTPUT = ['onOpened', 'onClosed'];","import { coerceBooleanProperty, coerceNumberProperty } from \"@angular/cdk/coercion\";\r\nimport { EventEmitter } from \"@angular/core\";\r\nimport { AXBaseComponent } from \"./base-components.class\";\r\nimport { Constructor } from \"./constratctor\";\r\nimport { AXFocusEvent } from \"@acorex/components/common\";\r\n\r\n\r\nexport function _InteractiveComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n abstract class Mixin extends Base {\r\n\r\n #disabled: boolean = false;\r\n /**\r\n * If set to true, it disables the component.\r\n */\r\n get disabled(): boolean { return this.#disabled; }\r\n set disabled(value: boolean) {\r\n value = this._onOptionChanging({ name: 'disabled', value: value });\r\n if (value != this.disabled) {\r\n const oldValue = this.disabled;\r\n this.#disabled = coerceBooleanProperty(value);\r\n this._onOptionChanged({ name: 'disabled', oldValue, newValue: value });\r\n this._cdr.markForCheck();\r\n }\r\n }\r\n\r\n\r\n\r\n #tabIndex: number = 0;\r\n /**\r\n * Specifies the tabindex of the component.\r\n */\r\n get tabIndex(): number { return this.disabled ? -1 : this.#tabIndex; }\r\n set tabIndex(value: number) {\r\n this.#tabIndex = value != null ? coerceNumberProperty(value) : 0;\r\n }\r\n\r\n /**\r\n * Fires each time the component gets focused.\r\n * @event\r\n */\r\n onFocus: EventEmitter<AXFocusEvent> = new EventEmitter<AXFocusEvent>();\r\n\r\n _emitOnFocusEvent(e: FocusEvent): void {\r\n this.onFocus.emit({\r\n component: this,\r\n htmlElement: this._getHostElement(),\r\n nativeEvent: e\r\n });\r\n }\r\n\r\n /**\r\n * Fires each time the component gets blurred.\r\n * @event\r\n */\r\n onBlur: EventEmitter<AXFocusEvent> = new EventEmitter<AXFocusEvent>();\r\n\r\n _emitOnBlurEvent(e: FocusEvent): void {\r\n this.onBlur.emit({\r\n component: this,\r\n htmlElement: this._getHostElement(),\r\n nativeEvent: e\r\n });\r\n }\r\n\r\n /**\r\n * Focuses the component.\r\n */\r\n focus(): void {\r\n const list = ['button', 'input', '[href]', 'select', 'textarea', '[tabindex]'].map(c => c + ':not([tabindex=\"-1\"])');\r\n const focusable = this._getHostElement().querySelector<HTMLElement>(list.join(', '));\r\n if (focusable) {\r\n focusable.focus();\r\n }\r\n }\r\n\r\n /**\r\n * Check component is focused or has any focused element.\r\n */\r\n hasFocus(): boolean {\r\n return this._getHostElement().matches(':focus-within') || this._getHostElement().matches(':focus');\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n }\r\n return Mixin;\r\n}\r\n\r\nexport const INTERACTIVE_INPUTS = [\r\n 'disabled',\r\n 'tabIndex',\r\n];\r\nexport const INTERACTIVE_OUTPUT = ['onBlur', 'onFocus'];","import { AXBaseComponent } from './base-components.class';\r\nimport { Constructor } from './constratctor';\r\n\r\nexport function _LoadingComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n return class extends Base {\r\n /**\r\n * Defines a CSS class—or multiple classes separated by spaces— which are applied to a span element inside the Button. Allows the usage of custom icons.\r\n */\r\n loading: boolean = false;\r\n /**\r\n * Defines a CSS class—or multiple classes separated by spaces— which are applied to a span element inside the Button. Allows the usage of custom icons.\r\n */\r\n loadingIconClass: string;\r\n /**\r\n * Defines a CSS class—or multiple classes separated by spaces— which are applied to a span element inside the Button. Allows the usage of custom icons.\r\n */\r\n loadingText: string;\r\n\r\n\r\n constructor(...args: any[]) {\r\n super(...args.slice(0, 2))\r\n }\r\n\r\n _onInternalInit() {\r\n // if (!this.size) {\r\n // this.size = AXConfig.get('layout.size', 'sm');\r\n // }\r\n super._onInternalInit();\r\n }\r\n }\r\n}","import { AXObjectUtil } from '@acorex/core/utils';\r\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { EventEmitter } from '@angular/core';\r\nimport { AXSelectionValueChangedEvent } from '@acorex/components/common';\r\nimport { AXBaseComponent } from './base-components.class';\r\nimport { Constructor } from './constratctor';\r\n\r\nexport function _SelectionComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n return class extends Base {\r\n\r\n valueField: string = 'id';\r\n textField: string = 'text';\r\n disabledField: string = 'disabled';\r\n disabledCallback: (e: { item: any, index: number }) => boolean;\r\n multiple: boolean = false;\r\n selectionMode: 'value' | 'item' = 'value';\r\n\r\n\r\n\r\n /**\r\n * Defines the primary text to show inside the button.\r\n */\r\n get items(): any[] {\r\n return [];\r\n }\r\n\r\n get displayItems(): any[] {\r\n return [];\r\n }\r\n\r\n get flatItems(): any[] {\r\n return [];\r\n }\r\n\r\n\r\n public valueChange: EventEmitter<any> = new EventEmitter<any>();\r\n public onValueChanged: EventEmitter<AXSelectionValueChangedEvent> = new EventEmitter<AXSelectionValueChangedEvent>();\r\n\r\n\r\n constructor(...args: any[]) {\r\n super(...args)\r\n }\r\n\r\n _onInternalInit() {\r\n super._onInternalInit();\r\n }\r\n\r\n\r\n _value: any | any[];\r\n get value(): any | any[] {\r\n return this._value;\r\n }\r\n set value(v: any | any[]) {\r\n v = (this as any)._internalSetValue(v);\r\n if (v !== this._value) {\r\n const oldValue = AXObjectUtil.deepJSONClone(this._value);\r\n if (this.multiple) {\r\n this._value = Array.isArray(v) ? v : (v ? [v] : []);\r\n } else {\r\n this._value = Array.isArray(v) ? v[0] : v;\r\n }\r\n this.valueChange.emit(this._value);\r\n this.onValueChanged.emit({\r\n component: this,\r\n htmlElement: this._getHostElement(),\r\n isUserInteraction: false,\r\n oldValue,\r\n value: this._value,\r\n selectedKeys: this.selectedItems.map(c => c[this.valueField]),\r\n selectedItems: this.selectedItems.slice()\r\n });\r\n if (v == null || v == undefined || v == \"\") {\r\n (this as any)._setState('clear');\r\n }\r\n else {\r\n if (this._isInited) {\r\n (this as any).validate();\r\n }\r\n }\r\n this._renderSelection();\r\n }\r\n }\r\n\r\n _selectedItems: any[];\r\n get selectedItems(): any[] {\r\n return this._selectedItems || [];\r\n }\r\n\r\n _renderSelection() {\r\n const func = () => {\r\n if (this.value == null || this.value == undefined) {\r\n return [];\r\n }\r\n const items = this.flatItems;\r\n if (items.length > 0) {\r\n return items.filter(i => {\r\n if (Array.isArray(this.value)) {\r\n return this.value.some(ii => {\r\n if (typeof ii === 'object') {\r\n return i[this.valueField] === ii[this.valueField];\r\n }\r\n else {\r\n return i[this.valueField] === ii;\r\n }\r\n });\r\n }\r\n else {\r\n if (typeof this.value === 'object') {\r\n return i[this.valueField] === this.value[this.valueField];\r\n }\r\n else {\r\n return i[this.valueField] === this.value;\r\n }\r\n }\r\n });\r\n }\r\n if (Array.isArray(this.value)) {\r\n return this.value.map(ii => {\r\n if (typeof ii === 'object') {\r\n return ii;\r\n }\r\n else {\r\n const fake: any = {};\r\n fake[this.valueField] = this.value;\r\n fake[this.textField] = this.value;\r\n return fake;\r\n }\r\n });\r\n }\r\n else {\r\n if (typeof this.value === 'object') {\r\n return [this.value];\r\n }\r\n else {\r\n const fake: any = {};\r\n fake[this.valueField] = this.value;\r\n fake[this.textField] = this.value;\r\n return [fake];\r\n }\r\n }\r\n };\r\n this._selectedItems = func();\r\n }\r\n\r\n _getItemByDataMode(item: any) {\r\n return this.selectionMode === 'item' ? item : item[this.valueField];\r\n }\r\n\r\n _getItemValue(item: any) {\r\n return typeof item === 'object' ? item[this.valueField] : item;\r\n }\r\n\r\n unselectItems(...items: any[]) {\r\n if (!items || items.length === 0) {\r\n this.value = null;\r\n }\r\n else if (Array.isArray(this.value)) {\r\n this.value = this.value.filter(c => !items.some(d =>\r\n this._getItemValue(c) === this._getItemValue(d))\r\n );\r\n }\r\n else {\r\n this.value = null;\r\n }\r\n }\r\n\r\n selectItems(...items: any[]) {\r\n if (items && items.length) {\r\n if (this.multiple) {\r\n this.value = (this.value || []).concat(items.map(c => this._getItemByDataMode(c)));\r\n }\r\n else {\r\n this.value = this._getItemByDataMode(items[0]);\r\n }\r\n }\r\n }\r\n\r\n toggleSelect(...items: any[]) {\r\n if (items && items.length) {\r\n items.forEach(item => {\r\n if (this.multiple) {\r\n this.isItemSelected(item) ? this.unselectItems(item) : this.selectItems(item);\r\n }\r\n else {\r\n this.selectItems(item)\r\n }\r\n });\r\n }\r\n }\r\n\r\n isItemSelected(item: any): boolean {\r\n return this.selectedItems.some(c => c[this.valueField] === item[this.valueField]);\r\n }\r\n\r\n isItemDisabled(item: any): boolean {\r\n return coerceBooleanProperty(item[this.disabledField]) === true || (this.disabledCallback ? this.disabledCallback({ item, index: -1 }) : false);\r\n }\r\n }\r\n}\r\n\r\n\r\nexport const SELECTION_INPUTS = [\r\n 'valueField',\r\n 'textField',\r\n 'disabledField',\r\n 'disabledCallback',\r\n 'multiple',\r\n 'selectionMode'\r\n];\r\nexport const SELECTION_OUTPUT = ['onValueChanged', 'valueChanged'];","import { AXBaseComponent, AXElementSize } from './base-components.class';\r\nimport { Constructor } from './constratctor';\r\n\r\nexport function _SizableComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n return class extends Base {\r\n\r\n /**\r\n * A token that specifies the size of component.\r\n */\r\n size: AXElementSize;\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(...args: any[]) {\r\n super(...args.slice(0, 2))\r\n }\r\n\r\n _onInternalInit() {\r\n super._onInternalInit();\r\n }\r\n }\r\n}\r\n\r\n\r\nexport const SIZABLE_INPUTS = [\r\n 'size',\r\n];\r\nexport const SIZABLE_OUTPUT = [];","import { EventEmitter } from '@angular/core';\r\nimport { Subject, Subscription } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\r\nimport { AXHtmlEvent } from '@acorex/components/common';\r\nimport { AXBaseComponent } from './base-components.class';\r\nimport { Constructor } from './constratctor';\r\n\r\nexport function _TextboxComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n return class extends Base {\r\n\r\n /**\r\n * A string value that specifies the type of text box.\r\n */\r\n type = 'text'\r\n\r\n /**\r\n * A string value that specifies the placeholder of text box.\r\n */\r\n placeholder: string = '';\r\n\r\n /**\r\n * A number value that specifies the maximum characters of text box.\r\n */\r\n maxLength: number;\r\n\r\n /**\r\n * Specifies that autocomplete is on or off.\r\n */\r\n autoComplete: string;\r\n\r\n debounceTime: number = 0;\r\n\r\n #valueSubscription = new Subscription();\r\n #valueSubject = new Subject();\r\n\r\n\r\n /**\r\n * Fires each time the user press a key.\r\n * @event\r\n */\r\n onKeyDown: EventEmitter<AXHtmlEvent<KeyboardEvent>> = new EventEmitter<AXHtmlEvent<KeyboardEvent>>();\r\n\r\n /**\r\n * Fires each time the user press a key.\r\n * @event\r\n */\r\n onKeyUp: EventEmitter<AXHtmlEvent<KeyboardEvent>> = new EventEmitter<AXHtmlEvent<KeyboardEvent>>();\r\n\r\n /**\r\n * Fires each time the user press a key.\r\n * @event\r\n */\r\n onKeyPress: EventEmitter<AXHtmlEvent<KeyboardEvent>> = new EventEmitter<AXHtmlEvent<KeyboardEvent>>();\r\n\r\n\r\n _emitOnKeydownEvent(e: KeyboardEvent) {\r\n this.onKeyDown.emit({\r\n component: this,\r\n nativeEvent: e\r\n });\r\n (this as any)._setUserInteraction();\r\n }\r\n\r\n _emitOnKeyupEvent(e: KeyboardEvent) {\r\n this.onKeyUp.emit({\r\n component: this,\r\n nativeEvent: e\r\n });\r\n (this as any)._setUserInteraction();\r\n }\r\n \r\n _emitOnKeypressEvent(e: KeyboardEvent) {\r\n this.onKeyPress.emit({\r\n component: this,\r\n nativeEvent: e\r\n });\r\n (this as any)._setUserInteraction();\r\n }\r\n\r\n _handleModleChange(value) {\r\n if (!this.debounceTime)\r\n this._settleValue(value);\r\n else {\r\n this.#valueSubject.next(value);\r\n }\r\n }\r\n\r\n _settleValue(value: any) {\r\n (this as any).value = value;\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(...args: any[]) {\r\n super(...args.slice(0, 2))\r\n }\r\n\r\n onInit(): void {\r\n this.#valueSubscription = this.#valueSubject\r\n .pipe(debounceTime(this.debounceTime))\r\n .pipe(distinctUntilChanged())\r\n .subscribe((v) => {\r\n this._settleValue(v);\r\n });\r\n }\r\n\r\n onDestroy(): void {\r\n this.#valueSubscription.unsubscribe();\r\n }\r\n }\r\n}\r\n\r\nexport const TEXTBOX_INPUTS = ['placeholder', 'maxLength', 'allowNull', 'debounceTime', 'type', 'autoComplete', 'readonly','allowNull','value','name', 'checked']\r\nexport const TEXTBOX_OUTPUT = ['valueChange', 'onValueChanged']","import {\r\n coerceBooleanProperty,\r\n} from '@angular/cdk/coercion';\r\nimport { EventEmitter } from '@angular/core';\r\nimport { AXBaseComponent } from './base-components.class';\r\nimport { Constructor } from './constratctor';\r\nimport { AXValueChangedEvent } from '@acorex/components/common';\r\n\r\nexport function _ValueComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n\r\n return class extends Base {\r\n\r\n /**\r\n * Fires each time the user press a key.\r\n * @event\r\n */\r\n onValueChanged: EventEmitter<AXValueChangedEvent<any>> = new EventEmitter<AXValueChangedEvent<any>>();\r\n\r\n valueChange: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n\r\n #readonly: boolean = false;\r\n\r\n /**\r\n * If set to true, user cannot change the value of component.\r\n */\r\n get readonly() {\r\n return this.#readonly;\r\n }\r\n set readonly(value: boolean) {\r\n this.#readonly = coerceBooleanProperty(value);\r\n }\r\n\r\n #allowNull: boolean = true;\r\n get allowNull() {\r\n return this.#allowNull;\r\n }\r\n set allowNull(value: boolean) {\r\n this.#allowNull = coerceBooleanProperty(value);\r\n }\r\n\r\n\r\n #name: string;\r\n get name() {\r\n return this.#name;\r\n }\r\n set name(value: string) {\r\n this.#name = value;\r\n }\r\n\r\n\r\n #isUserInteraction: boolean = false;\r\n\r\n get isUserInteraction(): boolean {\r\n return this.#isUserInteraction;\r\n }\r\n\r\n #value: any;\r\n get value(): any {\r\n return this._internalGetValue();\r\n }\r\n set value(v: any) {\r\n v = this._internalSetValue(v);\r\n //if (!this._isInited ) {\r\n const old = this.#value;\r\n // TODO: check real equality\r\n if (v != old) {\r\n this.#value = v;\r\n this._emitOnValueChangedEvent(old, this.#value);\r\n this._cdr.markForCheck();\r\n if (v == null || v == undefined || v == '' || (Array.isArray(v) && v.length == 0)) {\r\n this._setState('clear');\r\n } \r\n // else {\r\n // if (this._isInited) {\r\n // this.validate();\r\n // }\r\n // }\r\n }\r\n this.#isUserInteraction = false;\r\n //} \r\n }\r\n\r\n #state: 'clear' | 'success' | 'error' = 'clear';\r\n\r\n get state() {\r\n return this.#state;\r\n }\r\n\r\n _emitOnValueChangedEvent(oldValue?: any, newValue?: any) {\r\n this.valueChange.emit(newValue);\r\n this.onValueChanged.emit({\r\n component: this,\r\n value: newValue,\r\n oldValue: oldValue,\r\n name: this.name,\r\n isUserInteraction: this.isUserInteraction\r\n });\r\n this._onValueChanged(oldValue, this.#value);\r\n }\r\n\r\n _internalSetValue(value: any) {\r\n return this._setValue(value);\r\n }\r\n\r\n _internalGetValue() {\r\n return this._getValue(this.#value);\r\n }\r\n\r\n _setValue(value: any) {\r\n return value;\r\n }\r\n\r\n _getValue(value: any) {\r\n return value;\r\n }\r\n\r\n _setUserInteraction() {\r\n this.#isUserInteraction = true;\r\n }\r\n\r\n _onValueChanged(oldValue: any, newValue: any): void { }\r\n\r\n _onInternalInit() {\r\n this._getHostElement().setAttribute('ax-form-input', 'true');\r\n super._onInternalInit();\r\n }\r\n\r\n _onInternalDestroy() {\r\n super.onDestroy();\r\n }\r\n\r\n\r\n\r\n clear() {\r\n this.value = null;\r\n }\r\n\r\n validate(): Promise<any> {\r\n const rules = Array.from(\r\n this._getHostElement().querySelectorAll('ax-validation-rule')\r\n ).filter((c) => (c as any).__axContext__.enabled);\r\n //\r\n if (!rules || rules.length === 0) {\r\n this._setState('clear');\r\n return Promise.resolve({ result: true, value: this.value, name: this.name, id: this.id });\r\n }\r\n\r\n return new Promise<any>((resolve) => {\r\n Promise.all(\r\n rules\r\n .filter((c) => typeof (c as any)?.validate === 'function')\r\n .map((c) => {\r\n return (c as any).validate(this.value);\r\n })\r\n ).then((d) => {\r\n const error = d.find((c) => c.result === false);\r\n if (error) {\r\n this._setState('error', error.message);\r\n resolve({ result: false, value: this.value, message: error.message, name: this.name, id: this.id });\r\n } else {\r\n this._setState('success');\r\n resolve({ result: true, value: this.value, name: this.name, id: this.id });\r\n }\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n\r\n _setState(state: 'clear' | 'success' | 'error', ...args) {\r\n const container = this._getHostElement().classList.contains('ax-editor-container') ?\r\n this._getHostElement() :\r\n this._getHostElement().querySelector('.ax-editor-container');\r\n const formField = container?.closest('.ax-form-field');\r\n const label = formField?.querySelector('ax-label') || formField?.querySelector('label');\r\n let target = container || this._getInnerElement();\r\n if (target?.querySelector('.ax-error-container')) {\r\n target = target.querySelector('.ax-error-container');\r\n }\r\n const parent = target?.parentElement;\r\n if (!target || !parent)\r\n return;\r\n\r\n switch (state) {\r\n case 'clear':\r\n this.#state = 'clear';\r\n if (parent.querySelector('span.ax-error-msg')) {\r\n parent.removeChild(parent.querySelector('span.ax-error-msg')!);\r\n }\r\n label?.classList.remove('ax-state-error');\r\n target.classList.remove('ax-state-error', 'ax-state-success');\r\n break;\r\n case 'success':\r\n this._setState('clear');\r\n target.classList.add('ax-state-success');\r\n this.#state = 'success';\r\n break;\r\n case 'error':\r\n this._setState('clear');\r\n if (args[0]) {\r\n const span = document.createElement('span');\r\n span.innerText = args[0];\r\n span.classList.add('ax-error-msg');\r\n parent.appendChild(span);\r\n }\r\n label?.classList.add('ax-state-error');\r\n target.classList.add('ax-state-error');\r\n\r\n this.#state = 'error';\r\n break;\r\n }\r\n this._cdr.markForCheck();\r\n }\r\n }\r\n}\r\n\r\n\r\nexport const VALUE_INPUTS = [\r\n 'readonly',\r\n 'allowNull',\r\n 'value',\r\n 'name',\r\n 'checked'\r\n];\r\nexport const VALUE_OUTPUT = ['valueChange', 'onValueChanged'];","import { _BaseComponenetMixin, AXBaseComponent } from \"./base-components.class\";\r\nimport { _BaseMenuComponentMixin } from \"./base-menu-mixin.class\";\r\nimport { _ButtonComponentMixin } from \"./button-mixin.class\";\r\nimport { _ClickableComponenetMixin } from \"./clickable-mixin.class\";\r\nimport { _ColorLookComponentMixin } from \"./color-look-mixing.class\";\r\nimport { _DatalistComponenetMixin } from \"./datalist-component.class\";\r\nimport { _DropdownComponenetMixin } from \"./dropdown-mixin.class\";\r\nimport { _InteractiveComponenetMixin } from \"./interactive-mixin.class\";\r\nimport { _SelectionComponenetMixin } from \"./selection-component.class\";\r\nimport { _SizableComponenetMixin } from \"./sizable-mixin.class\";\r\nimport { _TextboxComponenetMixin } from \"./textbox-mixin.class\";\r\nimport { _ValueComponenetMixin } from \"./value-mixin.class\";\r\n\r\n\r\nexport const AXBaseComponentMixin = _BaseComponenetMixin(AXBaseComponent);\r\n\r\nexport const AXSizableComponentMixin = _SizableComponenetMixin(\r\n _BaseComponenetMixin(AXBaseComponent)\r\n);\r\n\r\nexport const AXInteractiveComponenetMixin = _SizableComponenetMixin(\r\n _InteractiveComponenetMixin(AXBaseComponent)\r\n);\r\n\r\nexport const AXBaseClickableMixin = _InteractiveComponenetMixin(\r\n _ClickableComponenetMixin(AXBaseComponent)\r\n);\r\n\r\nexport const AXBaseButtonMixin = _SizableComponenetMixin(\r\n _InteractiveComponenetMixin(\r\n _ClickableComponenetMixin(\r\n _ColorLookComponentMixin(_ButtonComponentMixin(AXBaseComponent))\r\n )\r\n )\r\n);\r\n\r\nexport const AXBaseValueComponentMixin = _InteractiveComponenetMixin(_ValueComponenetMixin<any>(AXBaseComponent))\r\n\r\n\r\nexport const AXBaseTextBoxMixin = _SizableComponenetMixin(\r\n _InteractiveComponenetMixin(\r\n _ValueComponenetMixin(_TextboxComponenetMixin(AXBaseComponent))\r\n )\r\n);\r\n\r\nexport const AXBaseSelectionValueMixin = _SizableComponenetMixin(\r\n _InteractiveComponenetMixin(\r\n _DatalistComponenetMixin(\r\n _SelectionComponenetMixin(_ValueComponenetMixin<any>(AXBaseComponent))\r\n )\r\n )\r\n);\r\n\r\nexport const AXBaseValueDropdownMixin = _InteractiveComponenetMixin(\r\n _DropdownComponenetMixin(\r\n _DatalistComponenetMixin(_ValueComponenetMixin<any>(AXBaseComponent))\r\n )\r\n);\r\n\r\nexport const AXBaseSelectionDropdownMixin = _DropdownComponenetMixin(\r\n AXBaseSelectionValueMixin\r\n);\r\n\r\nexport const AXBaseDropdownMixin = _SizableComponenetMixin(\r\n _InteractiveComponenetMixin(_DropdownComponenetMixin(AXBaseComponent))\r\n);\r\n\r\nexport const AXBaseMenuMixin = _BaseMenuComponentMixin(AXBaseComponent);\r\nexport const AXAvatarMixin = _ColorLookComponentMixin(AXBaseComponent);\r\n","import { AXBaseComponent } from \"./base-components.class\";\r\nimport { Constructor } from \"./constratctor\";\r\n\r\nexport function _PageComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n return class extends Base {\r\n\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(...args: any[]) {\r\n super(...args.slice(0, 2))\r\n }\r\n }\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-components-mixin.mjs","sources":["../../../../projects/acorex/components/mixin/src/base-components.class.ts","../../../../projects/acorex/components/mixin/src/base-menu-mixin.class.ts","../../../../projects/acorex/components/mixin/src/button-mixin.class.ts","../../../../projects/acorex/components/mixin/src/clickable-mixin.class.ts","../../../../projects/acorex/components/mixin/src/color-look-mixing.class.ts","../../../../projects/acorex/components/mixin/src/datalist-component.class.ts","../../../../projects/acorex/components/mixin/src/datalist.class.ts","../../../../projects/acorex/components/mixin/src/dropdown-mixin.class.ts","../../../../projects/acorex/components/mixin/src/interactive-mixin.class.ts","../../../../projects/acorex/components/mixin/src/loading-mixin.class.ts","../../../../projects/acorex/components/mixin/src/selection-component.class.ts","../../../../projects/acorex/components/mixin/src/sizable-mixin.class.ts","../../../../projects/acorex/components/mixin/src/textbox-mixin.class.ts","../../../../projects/acorex/components/mixin/src/value-mixin.class.ts","../../../../projects/acorex/components/mixin/src/mixin.class.ts","../../../../projects/acorex/components/mixin/src/page-component.class.ts","../../../../projects/acorex/components/mixin/acorex-components-mixin.ts"],"sourcesContent":["import {\r\n ChangeDetectorRef,\r\n EventEmitter,\r\n Inject,\r\n Injectable,\r\n ElementRef\r\n} from '@angular/core';\r\nimport { Constructor } from './constratctor';\r\n\r\n/**\r\n * A token that specifies the size of component.\r\n */\r\nexport type AXElementSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\r\n\r\nexport type AXComponentOptionChanging = { name: string; value?: any };\r\nexport type AXComponentOptionChanged = {\r\n name: string;\r\n newValue?: any;\r\n oldValue?: any;\r\n};\r\nexport type AXComponentSetOption = {\r\n name: string;\r\n value?: any;\r\n afterCallback?: (oldValue?: any, newValue?: any) => void;\r\n beforeCallback?: (oldValue?: any, newValue?: any) => void;\r\n};\r\n\r\n@Injectable()\r\nexport class AXBaseComponent {\r\n id: string = `AX${Math.round(Math.random() * Math.pow(10, 10))}`;\r\n\r\n /**\r\n * A token that specifies the layout direction of component.\r\n */\r\n rtl: boolean;\r\n\r\n #elementRef: ElementRef;\r\n _cdr: ChangeDetectorRef;\r\n\r\n _isInited: boolean;\r\n _isRendered: boolean;\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(@Inject(Array) ...args: any[]) {\r\n this.#elementRef = args[0];\r\n this._cdr = args[1];\r\n }\r\n\r\n ngOnInit() {\r\n this._isInited = true;\r\n this._onInternalInit();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this._isRendered = true;\r\n this._onInternalViewInit();\r\n }\r\n\r\n ngOnDestroy() {\r\n this._onInternalDestroy();\r\n }\r\n\r\n _getHostElement<T = HTMLElement>(): T {\r\n return this.#elementRef.nativeElement as T;\r\n }\r\n\r\n _getInnerElement<T = HTMLElement>(): T {\r\n return this._getHostElement().firstElementChild as unknown as T;\r\n }\r\n\r\n _onInternalInit() {\r\n (this._getHostElement() as any).__axContext__ = this;\r\n\r\n if (this.rtl == null) {\r\n this.rtl =\r\n window\r\n .getComputedStyle(this._getHostElement(), null)\r\n .getPropertyValue('direction') === 'rtl';\r\n }\r\n //TODO: Apply\r\n // this._getHostElement().classList.add(this.rtl ? 'ax-rtl' : 'ax-ltr');\r\n // this._getInnerElement()?.classList.add(this.rtl ? 'ax-rtl' : 'ax-ltr');\r\n // this._getHostElement().setAttribute('data-id', this.id);\r\n this.onInit();\r\n }\r\n\r\n _onInternalViewInit() {\r\n this.onViewInit();\r\n }\r\n\r\n _onInternalDestroy() {\r\n this.onDestroy();\r\n }\r\n\r\n onInit() {}\r\n\r\n\r\n onViewInit() {}\r\n\r\n onDestroy() {}\r\n\r\n _onOptionChanging(option: AXComponentOptionChanging) {\r\n return option?.value;\r\n }\r\n _onOptionChanged(option: AXComponentOptionChanged): void {}\r\n\r\n _setOption(option: AXComponentSetOption) {\r\n const oldValue = this[option.name];\r\n const newValue = this._onOptionChanging({\r\n name: option.name,\r\n value: option.value,\r\n });\r\n //TODO : check real changes\r\n if (option.beforeCallback) option.beforeCallback(oldValue, newValue);\r\n if (oldValue != newValue) {\r\n this[`_${option.name}`] = option.value;\r\n this._onOptionChanged({ name: option.name, newValue, oldValue });\r\n const emitter = this[`${option.name}Change`] as EventEmitter<any>;\r\n if (emitter) emitter.emit(newValue);\r\n }\r\n if (option.afterCallback) option.afterCallback(oldValue, newValue);\r\n }\r\n}\r\n\r\nexport function _BaseComponenetMixin<\r\n TBase extends Constructor<AXBaseComponent>\r\n>(Base: TBase) {\r\n return class extends Base {\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n };\r\n}\r\n\r\nexport const BASE_INPUTS = ['rtl'];\r\nexport const BASE_OUTPUT = [];\r\n","import { AXItemClickEvent } from '@acorex/components/common';\r\nimport { EventEmitter } from '@angular/core';\r\nimport _ from 'lodash';\r\nimport { AXBaseComponent } from './base-components.class';\r\nimport { Constructor } from './constratctor';\r\n\r\nexport function _BaseMenuComponentMixin<\r\n TBase extends Constructor<AXBaseComponent>\r\n>(Base: TBase) {\r\n return class extends Base {\r\n textField: string = 'text';\r\n\r\n valueField: string = 'id';\r\n\r\n #isLoading: boolean = false;\r\n\r\n #loadedItems: any = [];\r\n\r\n visibleField: string;\r\n\r\n disableField: string = 'disabled';\r\n\r\n hasChildField: string;\r\n\r\n iconField: string = 'icon';\r\n\r\n openMode: 'click' | 'hover' = 'click';\r\n\r\n orientation: 'horizontal' | 'vertical' | 'sidemenu' = 'sidemenu';\r\n\r\n dividerField: string = 'divider';\r\n\r\n onMenuItemClick: EventEmitter<AXItemClickEvent<any>> = new EventEmitter<\r\n AXItemClickEvent<any>\r\n >();\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n\r\n #items: any = [];\r\n get items(): any {\r\n return this.#items;\r\n }\r\n set items(v: any) {\r\n if (Array.isArray(v)) {\r\n this.#items = this._formatData(v);\r\n } else if (typeof v === 'function') {\r\n this.#items = v;\r\n } else {\r\n this.#items = [];\r\n }\r\n }\r\n\r\n get displayItems() {\r\n if (Array.isArray(this.items)) {\r\n return this.#items || [];\r\n } else if (typeof this.#items == 'function') {\r\n return this.#loadedItems || [];\r\n }\r\n return [];\r\n }\r\n\r\n get isLoading() {\r\n return this.#isLoading;\r\n }\r\n\r\n _formatData(v: any[]) {\r\n return _.unionBy(\r\n v.map((o, i) => {\r\n if (typeof o == 'object') return o;\r\n else {\r\n const no: any = {};\r\n no[this.valueField] = o;\r\n no[\r\n Array.isArray(this.textField) ? this.textField[0] : this.textField\r\n ] = o;\r\n return no;\r\n }\r\n }),\r\n this.valueField\r\n );\r\n }\r\n\r\n _findNode(parentId: number, _children: any, source: any) {\r\n if (source.length > 0) {\r\n source.forEach((element) => {\r\n if (element[this.valueField] == parentId) {\r\n element.children = _children;\r\n } else {\r\n if (element?.children)\r\n this._findNode(parentId, _children, element.children);\r\n }\r\n });\r\n }\r\n }\r\n\r\n _fetchData(parentId?: number, searchText?: string) {\r\n return new Promise((resolve) => {\r\n if (this.#isLoading) {\r\n return;\r\n }\r\n if (this.#items) {\r\n this.#isLoading = true;\r\n this.#items({\r\n parentId: parentId,\r\n searchQuery: searchText,\r\n })\r\n .then((c) => {\r\n if (Array.isArray(c)) {\r\n if (parentId) {\r\n resolve(this._findNode(parentId, c, this.displayItems));\r\n } else {\r\n resolve((this.#loadedItems = c));\r\n }\r\n }\r\n this._cdr.markForCheck();\r\n })\r\n .finally(() => {\r\n this.#isLoading = false;\r\n });\r\n }\r\n });\r\n }\r\n\r\n _onInternalInit() {\r\n if (typeof this.#items == 'function') {\r\n this._fetchData();\r\n }\r\n super._onInternalInit();\r\n }\r\n\r\n _getItemDisplayTextTemplte(item) {\r\n if (item)\r\n return Array.isArray(this.textField)\r\n ? this.textField.map((c) => item[c]).join(',')\r\n : item[this.textField];\r\n else return 'Loading...';\r\n }\r\n\r\n public refresh() {\r\n this._fetchData();\r\n }\r\n };\r\n}\r\n\r\nexport const BASEMENU_INPUTS = [\r\n 'textField',\r\n 'valueField',\r\n 'items',\r\n 'parentId',\r\n 'iconField',\r\n 'tooltip',\r\n 'isOpen',\r\n 'isActive',\r\n 'visibleField',\r\n 'disableField',\r\n 'hasChildField',\r\n 'openMode',\r\n 'orientation',\r\n 'dividerField',\r\n];\r\nexport const BASEMENU_OUTPUT = ['onMenuItemClick'];\r\n","import { EventEmitter } from '@angular/core';\r\nimport { AXBaseComponent } from './base-components.class';\r\nimport { Constructor } from './constratctor';\r\n\r\nexport function _ButtonComponentMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n return class extends Base {\r\n \r\n\r\n _text: string;\r\n /**\r\n * Defines the primary text to show inside the button.\r\n */\r\n get text(): string {\r\n return this._text;\r\n }\r\n set text(v: string) {\r\n this._setOption({\r\n name: 'text',\r\n value: v,\r\n afterCallback: () => {\r\n this._cdr.markForCheck();\r\n }\r\n })\r\n }\r\n\r\n\r\n\r\n toggleableChange: EventEmitter<boolean> = new EventEmitter();\r\n _toggleable?: boolean = false;\r\n /**\r\n * Provides visual styling that indicates if the Button is active\r\n */\r\n get toggleable(): boolean {\r\n return this._toggleable!;\r\n }\r\n set toggleable(value: boolean) {\r\n this._setOption({\r\n name: 'toggleable',\r\n value\r\n });\r\n }\r\n\r\n\r\n selectedChange: EventEmitter<boolean> = new EventEmitter();\r\n _selected?: boolean = false;\r\n /**\r\n * Indicates if the Button is selected or not\r\n */\r\n get selected(): boolean {\r\n return this._selected!;\r\n }\r\n set selected(value: boolean) {\r\n this._setOption({\r\n name: 'selected',\r\n value,\r\n afterCallback: () => {\r\n this._cdr.markForCheck();\r\n }\r\n });\r\n }\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n\r\n\r\n get _classes() {\r\n const cssClasses = {\r\n 'ax-button-icon': !this.text,\r\n 'ax-state-disabled': this[\"disabled\"],\r\n 'ax-state-selected': this.selected\r\n };\r\n cssClasses[`ax-${this['color'] || 'default'}${this['look'] ? '-' + this['look'] : '-default'}`] = true;\r\n return cssClasses;\r\n }\r\n };\r\n}\r\n\r\nexport const BUTTON_INPUTS = [\r\n 'text',\r\n 'toggleable',\r\n 'selected',\r\n];\r\nexport const BUTTON_OUTPUT = ['onBlur', 'onFocus', 'onClick', 'selectedChange', 'toggleableChange'];\r\n","import { EventEmitter } from \"@angular/core\";\r\nimport { AXBaseComponent } from \"./base-components.class\";\r\nimport { Constructor } from \"./constratctor\";\r\nimport { AXClickEvent } from \"@acorex/components/common\";\r\n\r\n\r\nexport function _ClickableComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase){\r\n return class extends Base {\r\n\r\n /**\r\n * Fires each time the user clicks the button.\r\n * @event\r\n */\r\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\r\n\r\n _emitOnClickEvent(e: MouseEvent): void {\r\n this.onClick.emit({\r\n component: this,\r\n htmlElement: this._getHostElement(),\r\n nativeEvent: e\r\n });\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n }\r\n}\r\n\r\n","import { EventEmitter } from \"@angular/core\";\r\nimport { AXStyleColorType, AXStyleLookType } from \"@acorex/components/common\";\r\nimport { AXBaseComponent } from \"./base-components.class\";\r\nimport { Constructor } from \"./constratctor\";\r\n\r\nexport function _ColorLookComponentMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n return class extends Base {\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n\r\n colorChange: EventEmitter<AXStyleColorType> = new EventEmitter();\r\n _color: AXStyleColorType = 'primary';\r\n /**\r\n * Predefined color schemes\r\n */\r\n get color(): AXStyleColorType {\r\n return this._color;\r\n }\r\n set color(value: AXStyleColorType) {\r\n this._setOption({\r\n name: 'color',\r\n value,\r\n afterCallback: () => {\r\n this._cdr.markForCheck();\r\n }\r\n });\r\n }\r\n\r\n lookChange: EventEmitter<AXStyleLookType> = new EventEmitter();\r\n _look?: AXStyleLookType = 'default';\r\n /**\r\n * Predefined look schemes\r\n */\r\n get look(): AXStyleLookType {\r\n return this._look!;\r\n }\r\n set look(value: AXStyleLookType) {\r\n this._setOption({\r\n name: 'look',\r\n value,\r\n afterCallback: () => {\r\n this._cdr.markForCheck();\r\n }\r\n });\r\n }\r\n }\r\n}\r\n\r\n\r\nexport const COLOR_LOOK_INPUTS = [\r\n 'color',\r\n 'look',\r\n ];\r\nexport const COLOR_LOOK_OUTPUT = ['lookChange','colorChange'];","import { unionBy, flatMapDeep } from 'lodash-es';\r\nimport { AXBaseComponent } from './base-components.class';\r\nimport { Constructor } from './constratctor';\r\nimport { AXDataListFetchDataCallback, AXDataListItems } from './datalist.class';\r\n\r\nexport function _DatalistComponenetMixin<\r\n TBase extends Constructor<AXBaseComponent>\r\n>(Base: TBase) {\r\n return class extends Base {\r\n valueField: string = 'id';\r\n textField: string = 'text';\r\n childrenField: string;\r\n pageSize: number = 10;\r\n\r\n #currentPage: number = 0;\r\n #isLoading: boolean = false;\r\n #loadedItems: any[] = [];\r\n #flatItems: any[] = [];\r\n #totalItems: number = 0;\r\n\r\n #isLazy: boolean = false;\r\n\r\n get totalCount(): number {\r\n return this.#totalItems;\r\n }\r\n\r\n get isLazy(): boolean {\r\n return this.#isLazy;\r\n }\r\n\r\n get loadedCount(): number {\r\n return this.#loadedItems?.length || 0;\r\n }\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n\r\n #items: AXDataListItems = [];\r\n get items(): AXDataListItems {\r\n return this.#items;\r\n }\r\n set items(v: AXDataListItems) {\r\n if (Array.isArray(v)) {\r\n this.#items = this._formatData(v);\r\n this._onDataLoaded();\r\n this.#generateFlatItems();\r\n } else if (typeof v === 'function') {\r\n this.#isLazy = true;\r\n this.#items = v;\r\n } else {\r\n this.#items = [];\r\n this._onDataLoaded();\r\n this.#generateFlatItems();\r\n }\r\n }\r\n\r\n get displayItems(): any[] {\r\n if (Array.isArray(this.items)) {\r\n return (this.#items || []) as any[];\r\n } else if (typeof this.#items == 'function') {\r\n return this.#loadedItems || [];\r\n }\r\n return [];\r\n }\r\n\r\n get flatItems(): any[] {\r\n return this.#flatItems || [];\r\n }\r\n\r\n get isLoading(): boolean {\r\n return this.#isLoading;\r\n }\r\n\r\n _formatData(v: any[]) {\r\n return unionBy(\r\n v.map((o, i) => {\r\n if (typeof o == 'object') return o;\r\n else {\r\n const no: any = {};\r\n no[this.valueField] = o;\r\n no[\r\n Array.isArray(this.textField) ? this.textField[0] : this.textField\r\n ] = o;\r\n return no;\r\n }\r\n }),\r\n this.valueField\r\n );\r\n // return v.map((o, i) => {\r\n // if (typeof o == 'object')\r\n // return o\r\n // else {\r\n // const no: any = {};\r\n // no[this.valueField] = o;\r\n // no[Array.isArray(this.textField) ? this.textField[0] : this.textField] = o;\r\n // return no;\r\n // }\r\n // });\r\n }\r\n\r\n _fetchData(opts?: { searchQuery?: string }) {\r\n const skip = this.#currentPage * this.pageSize, take = this.pageSize;\r\n if (\r\n (this.loadedCount >= this.totalCount && this.totalCount != 0) ||\r\n this.#isLoading ||\r\n !this.#isLazy ||\r\n skip > this.totalCount\r\n ) {\r\n return;\r\n }\r\n if (this.#items) {\r\n this.#isLoading = true;\r\n const fetchFn = this.#items as AXDataListFetchDataCallback;\r\n fetchFn({ skip, take, searchQuery: opts?.searchQuery })\r\n .then((c) => {\r\n if (Array.isArray(c)) {\r\n this.#loadedItems = this._formatData(c);\r\n this.#totalItems = c.length;\r\n } else {\r\n this.#totalItems = c.total || c.items?.length || 0;\r\n this.#loadedItems = [\r\n ...new Set(this.#loadedItems.concat(this._formatData(c.items))),\r\n ];\r\n this.#currentPage++;\r\n }\r\n this._cdr.markForCheck();\r\n })\r\n .finally(() => {\r\n this.#isLoading = false;\r\n this._onDataLoaded();\r\n this.#generateFlatItems();\r\n });\r\n }\r\n }\r\n\r\n _onDataLoaded() { }\r\n\r\n #generateFlatItems(): void {\r\n const flattenFn = (item) => {\r\n return [item, flatMapDeep(item.children, flattenFn)];\r\n };\r\n this.#flatItems = flatMapDeep(this.displayItems, flattenFn);\r\n }\r\n\r\n _getItemDisplayTextTemplte(item) {\r\n if (item)\r\n return Array.isArray(this.textField)\r\n ? this.textField.map((c) => item[c]).join(',')\r\n : item[this.textField];\r\n else return 'Loading...';\r\n }\r\n\r\n _trackByFunction(item) {\r\n if (!item) return null;\r\n return item[this.valueField];\r\n }\r\n\r\n refresh() {\r\n this.empty();\r\n this._fetchData();\r\n }\r\n\r\n empty() {\r\n this.#isLoading = false;\r\n this.#currentPage = 0;\r\n if (this.#loadedItems) {\r\n this.#loadedItems.length = 0;\r\n }\r\n }\r\n };\r\n}\r\n\r\nexport const DATALIST_INPUTS = ['pageSize', 'valueField', 'textField', 'items'];\r\nexport const DATALIST_OUTPUT = [];\r\n","\r\nexport interface AXDataListQuery {\r\n take?: number;\r\n skip?: number;\r\n searchQuery?: string;\r\n}\r\nexport interface AXDataListFetchCallbackResult {\r\n items: any[];\r\n total: number;\r\n};\r\n\r\nexport type AXDataListFetchDataCallback = (e: AXDataListQuery) => Promise<any[] | AXDataListFetchCallbackResult>;\r\n\r\nexport type AXDataListItems = any[] | AXDataListFetchDataCallback;","import { EventEmitter } from \"@angular/core\";\r\nimport { AXBaseComponent } from \"./base-components.class\";\r\nimport { Constructor } from \"./constratctor\";\r\nimport { AXEvent,AXConnectedPosition } from \"@acorex/components/common\";\r\n\r\n\r\n\r\nexport interface DropdownComponentInterface {\r\n open(): void;\r\n close(): void;\r\n toggle(): void;\r\n isOpen: boolean;\r\n}\r\n\r\n\r\nexport function _DropdownComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n\r\n abstract class Mixin extends Base {\r\n\r\n readonly: boolean = false;\r\n\r\n\r\n onOpened: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\r\n onClosed: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\r\n\r\n //TODO: Circular dependency on AXPopverComponent\r\n abstract popover: any;\r\n\r\n position: AXConnectedPosition[] = [];\r\n\r\n _emitOnOpenedEvent() {\r\n\r\n this.onOpened.emit({\r\n component: this,\r\n htmlElement: this._getHostElement()\r\n });\r\n }\r\n\r\n _emitOnClosedEvent() {\r\n this.onClosed.emit({\r\n component: this,\r\n htmlElement: this._getHostElement()\r\n });\r\n }\r\n\r\n\r\n onInit(): void {\r\n super.onInit();\r\n this.popover.onOpened.subscribe(this.onOpened);\r\n this.popover.onClosed.subscribe(this.onClosed);\r\n }\r\n\r\n onViewInit() {\r\n // wait for documentElement\r\n setTimeout(() => {\r\n if (this.position.length == 0) {\r\n const offset = Number(getComputedStyle(document.documentElement).getPropertyValue('--ax-base-size').replace('px', ''));\r\n const list: AXConnectedPosition[] = [\r\n {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n offsetY: offset\r\n },\r\n {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n offsetY: -offset\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'bottom',\r\n overlayX: 'end',\r\n overlayY: 'top',\r\n offsetY: offset\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'bottom',\r\n offsetY: -offset\r\n },\r\n ];\r\n this.position.push(...list);\r\n }\r\n }, 500);\r\n }\r\n\r\n toggle() {\r\n if (this['disabled'] !== true) {\r\n this.popover.toggle();\r\n }\r\n }\r\n\r\n close() {\r\n if (!this.isOpen || this['disabled']) {\r\n return;\r\n }\r\n this.popover.close();\r\n (this as any)?.focus();\r\n }\r\n\r\n open() {\r\n if (this.isOpen || this['disabled']) {\r\n return;\r\n }\r\n this.popover.open();\r\n this.popover.focus();\r\n }\r\n\r\n get isOpen(): boolean {\r\n return this.popover?.isOpen;\r\n }\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n\r\n }\r\n\r\n return Mixin;\r\n}\r\n\r\n\r\nexport const DROPDOWN_INPUTS = [\r\n 'isOpen',\r\n 'fitParent',\r\n 'dropdownWidth',\r\n 'position'\r\n];\r\nexport const DROPDOWN_OUTPUT = ['onOpened', 'onClosed'];","import { coerceBooleanProperty, coerceNumberProperty } from \"@angular/cdk/coercion\";\r\nimport { EventEmitter } from \"@angular/core\";\r\nimport { AXBaseComponent } from \"./base-components.class\";\r\nimport { Constructor } from \"./constratctor\";\r\nimport { AXFocusEvent } from \"@acorex/components/common\";\r\n\r\n\r\nexport function _InteractiveComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n abstract class Mixin extends Base {\r\n\r\n #disabled: boolean = false;\r\n /**\r\n * If set to true, it disables the component.\r\n */\r\n get disabled(): boolean { return this.#disabled; }\r\n set disabled(value: boolean) {\r\n value = this._onOptionChanging({ name: 'disabled', value: value });\r\n if (value != this.disabled) {\r\n const oldValue = this.disabled;\r\n this.#disabled = coerceBooleanProperty(value);\r\n this._onOptionChanged({ name: 'disabled', oldValue, newValue: value });\r\n this._cdr.markForCheck();\r\n }\r\n }\r\n\r\n\r\n\r\n #tabIndex: number = 0;\r\n /**\r\n * Specifies the tabindex of the component.\r\n */\r\n get tabIndex(): number { return this.disabled ? -1 : this.#tabIndex; }\r\n set tabIndex(value: number) {\r\n this.#tabIndex = value != null ? coerceNumberProperty(value) : 0;\r\n }\r\n\r\n /**\r\n * Fires each time the component gets focused.\r\n * @event\r\n */\r\n onFocus: EventEmitter<AXFocusEvent> = new EventEmitter<AXFocusEvent>();\r\n\r\n _emitOnFocusEvent(e: FocusEvent): void {\r\n this.onFocus.emit({\r\n component: this,\r\n htmlElement: this._getHostElement(),\r\n nativeEvent: e\r\n });\r\n }\r\n\r\n /**\r\n * Fires each time the component gets blurred.\r\n * @event\r\n */\r\n onBlur: EventEmitter<AXFocusEvent> = new EventEmitter<AXFocusEvent>();\r\n\r\n _emitOnBlurEvent(e: FocusEvent): void {\r\n this.onBlur.emit({\r\n component: this,\r\n htmlElement: this._getHostElement(),\r\n nativeEvent: e\r\n });\r\n }\r\n\r\n /**\r\n * Focuses the component.\r\n */\r\n focus(): void {\r\n const list = ['button', 'input', '[href]', 'select', 'textarea', '[tabindex]'].map(c => c + ':not([tabindex=\"-1\"])');\r\n const focusable = this._getHostElement().querySelector<HTMLElement>(list.join(', '));\r\n if (focusable) {\r\n focusable.focus();\r\n }\r\n }\r\n\r\n /**\r\n * Check component is focused or has any focused element.\r\n */\r\n hasFocus(): boolean {\r\n return this._getHostElement().matches(':focus-within') || this._getHostElement().matches(':focus');\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n }\r\n return Mixin;\r\n}\r\n\r\nexport const INTERACTIVE_INPUTS = [\r\n 'disabled',\r\n 'tabIndex',\r\n];\r\nexport const INTERACTIVE_OUTPUT = ['onBlur', 'onFocus'];","import { AXBaseComponent } from './base-components.class';\r\nimport { Constructor } from './constratctor';\r\n\r\nexport function _LoadingComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n return class extends Base {\r\n /**\r\n * Defines a CSS class—or multiple classes separated by spaces— which are applied to a span element inside the Button. Allows the usage of custom icons.\r\n */\r\n loading: boolean = false;\r\n /**\r\n * Defines a CSS class—or multiple classes separated by spaces— which are applied to a span element inside the Button. Allows the usage of custom icons.\r\n */\r\n loadingIconClass: string;\r\n /**\r\n * Defines a CSS class—or multiple classes separated by spaces— which are applied to a span element inside the Button. Allows the usage of custom icons.\r\n */\r\n loadingText: string;\r\n\r\n\r\n constructor(...args: any[]) {\r\n super(...args.slice(0, 2))\r\n }\r\n\r\n _onInternalInit() {\r\n // if (!this.size) {\r\n // this.size = AXConfig.get('layout.size', 'sm');\r\n // }\r\n super._onInternalInit();\r\n }\r\n }\r\n}","import { AXObjectUtil } from '@acorex/core/utils';\r\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { EventEmitter } from '@angular/core';\r\nimport { AXSelectionValueChangedEvent } from '@acorex/components/common';\r\nimport { AXBaseComponent } from './base-components.class';\r\nimport { Constructor } from './constratctor';\r\n\r\nexport function _SelectionComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n return class extends Base {\r\n\r\n valueField: string = 'id';\r\n textField: string = 'text';\r\n disabledField: string = 'disabled';\r\n disabledCallback: (e: { item: any, index: number }) => boolean;\r\n multiple: boolean = false;\r\n selectionMode: 'value' | 'item' = 'value';\r\n\r\n\r\n\r\n /**\r\n * Defines the primary text to show inside the button.\r\n */\r\n get items(): any[] {\r\n return [];\r\n }\r\n\r\n get displayItems(): any[] {\r\n return [];\r\n }\r\n\r\n get flatItems(): any[] {\r\n return [];\r\n }\r\n\r\n\r\n public valueChange: EventEmitter<any> = new EventEmitter<any>();\r\n public onValueChanged: EventEmitter<AXSelectionValueChangedEvent> = new EventEmitter<AXSelectionValueChangedEvent>();\r\n\r\n\r\n constructor(...args: any[]) {\r\n super(...args)\r\n }\r\n\r\n _onInternalInit() {\r\n super._onInternalInit();\r\n }\r\n\r\n\r\n _value: any | any[];\r\n get value(): any | any[] {\r\n return this._value;\r\n }\r\n set value(v: any | any[]) {\r\n v = (this as any)._internalSetValue(v);\r\n if (v !== this._value) {\r\n const oldValue = AXObjectUtil.deepJSONClone(this._value);\r\n if (this.multiple) {\r\n this._value = Array.isArray(v) ? v : (v ? [v] : []);\r\n } else {\r\n this._value = Array.isArray(v) ? v[0] : v;\r\n }\r\n this.valueChange.emit(this._value);\r\n this.onValueChanged.emit({\r\n component: this,\r\n htmlElement: this._getHostElement(),\r\n isUserInteraction: false,\r\n oldValue,\r\n value: this._value,\r\n selectedKeys: this.selectedItems.map(c => c[this.valueField]),\r\n selectedItems: this.selectedItems.slice()\r\n });\r\n if (v == null || v == undefined || v == \"\") {\r\n (this as any)._setState('clear');\r\n }\r\n else {\r\n if (this._isInited) {\r\n (this as any).validate();\r\n }\r\n }\r\n this._renderSelection();\r\n }\r\n }\r\n\r\n _selectedItems: any[];\r\n get selectedItems(): any[] {\r\n return this._selectedItems || [];\r\n }\r\n\r\n _renderSelection() {\r\n const func = () => {\r\n if (this.value == null || this.value == undefined) {\r\n return [];\r\n }\r\n const items = this.flatItems;\r\n if (items.length > 0) {\r\n return items.filter(i => {\r\n if (Array.isArray(this.value)) {\r\n return this.value.some(ii => {\r\n if (typeof ii === 'object') {\r\n return i[this.valueField] === ii[this.valueField];\r\n }\r\n else {\r\n return i[this.valueField] === ii;\r\n }\r\n });\r\n }\r\n else {\r\n if (typeof this.value === 'object') {\r\n return i[this.valueField] === this.value[this.valueField];\r\n }\r\n else {\r\n return i[this.valueField] === this.value;\r\n }\r\n }\r\n });\r\n }\r\n if (Array.isArray(this.value)) {\r\n return this.value.map(ii => {\r\n if (typeof ii === 'object') {\r\n return ii;\r\n }\r\n else {\r\n const fake: any = {};\r\n fake[this.valueField] = this.value;\r\n fake[this.textField] = this.value;\r\n return fake;\r\n }\r\n });\r\n }\r\n else {\r\n if (typeof this.value === 'object') {\r\n return [this.value];\r\n }\r\n else {\r\n const fake: any = {};\r\n fake[this.valueField] = this.value;\r\n fake[this.textField] = this.value;\r\n return [fake];\r\n }\r\n }\r\n };\r\n this._selectedItems = func();\r\n }\r\n\r\n _getItemByDataMode(item: any) {\r\n return this.selectionMode === 'item' ? item : item[this.valueField];\r\n }\r\n\r\n _getItemValue(item: any) {\r\n return typeof item === 'object' ? item[this.valueField] : item;\r\n }\r\n\r\n unselectItems(...items: any[]) {\r\n if (!items || items.length === 0) {\r\n this.value = null;\r\n }\r\n else if (Array.isArray(this.value)) {\r\n this.value = this.value.filter(c => !items.some(d =>\r\n this._getItemValue(c) === this._getItemValue(d))\r\n );\r\n }\r\n else {\r\n this.value = null;\r\n }\r\n }\r\n\r\n selectItems(...items: any[]) {\r\n if (items && items.length) {\r\n if (this.multiple) {\r\n this.value = (this.value || []).concat(items.map(c => this._getItemByDataMode(c)));\r\n }\r\n else {\r\n this.value = this._getItemByDataMode(items[0]);\r\n }\r\n }\r\n }\r\n\r\n toggleSelect(...items: any[]) {\r\n if (items && items.length) {\r\n items.forEach(item => {\r\n if (this.multiple) {\r\n this.isItemSelected(item) ? this.unselectItems(item) : this.selectItems(item);\r\n }\r\n else {\r\n this.selectItems(item)\r\n }\r\n });\r\n }\r\n }\r\n\r\n isItemSelected(item: any): boolean {\r\n return this.selectedItems.some(c => c[this.valueField] === item[this.valueField]);\r\n }\r\n\r\n isItemDisabled(item: any): boolean {\r\n return coerceBooleanProperty(item[this.disabledField]) === true || (this.disabledCallback ? this.disabledCallback({ item, index: -1 }) : false);\r\n }\r\n }\r\n}\r\n\r\n\r\nexport const SELECTION_INPUTS = [\r\n 'valueField',\r\n 'textField',\r\n 'disabledField',\r\n 'disabledCallback',\r\n 'multiple',\r\n 'selectionMode'\r\n];\r\nexport const SELECTION_OUTPUT = ['onValueChanged', 'valueChanged'];","import { AXBaseComponent, AXElementSize } from './base-components.class';\r\nimport { Constructor } from './constratctor';\r\n\r\nexport function _SizableComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n return class extends Base {\r\n\r\n /**\r\n * A token that specifies the size of component.\r\n */\r\n size: AXElementSize;\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(...args: any[]) {\r\n super(...args.slice(0, 2))\r\n }\r\n\r\n _onInternalInit() {\r\n super._onInternalInit();\r\n }\r\n }\r\n}\r\n\r\n\r\nexport const SIZABLE_INPUTS = [\r\n 'size',\r\n];\r\nexport const SIZABLE_OUTPUT = [];","import { EventEmitter } from '@angular/core';\r\nimport { Subject, Subscription } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\r\nimport { AXHtmlEvent } from '@acorex/components/common';\r\nimport { AXBaseComponent } from './base-components.class';\r\nimport { Constructor } from './constratctor';\r\n\r\nexport function _TextboxComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n return class extends Base {\r\n\r\n /**\r\n * A string value that specifies the type of text box.\r\n */\r\n type = 'text'\r\n\r\n /**\r\n * A string value that specifies the placeholder of text box.\r\n */\r\n placeholder: string = '';\r\n\r\n /**\r\n * A number value that specifies the maximum characters of text box.\r\n */\r\n maxLength: number;\r\n\r\n /**\r\n * Specifies that autocomplete is on or off.\r\n */\r\n autoComplete: string;\r\n\r\n debounceTime: number = 0;\r\n\r\n #valueSubscription = new Subscription();\r\n #valueSubject = new Subject();\r\n\r\n\r\n /**\r\n * Fires each time the user press a key.\r\n * @event\r\n */\r\n onKeyDown: EventEmitter<AXHtmlEvent<KeyboardEvent>> = new EventEmitter<AXHtmlEvent<KeyboardEvent>>();\r\n\r\n /**\r\n * Fires each time the user press a key.\r\n * @event\r\n */\r\n onKeyUp: EventEmitter<AXHtmlEvent<KeyboardEvent>> = new EventEmitter<AXHtmlEvent<KeyboardEvent>>();\r\n\r\n /**\r\n * Fires each time the user press a key.\r\n * @event\r\n */\r\n onKeyPress: EventEmitter<AXHtmlEvent<KeyboardEvent>> = new EventEmitter<AXHtmlEvent<KeyboardEvent>>();\r\n\r\n\r\n _emitOnKeydownEvent(e: KeyboardEvent) {\r\n this.onKeyDown.emit({\r\n component: this,\r\n nativeEvent: e\r\n });\r\n (this as any)._setUserInteraction();\r\n }\r\n\r\n _emitOnKeyupEvent(e: KeyboardEvent) {\r\n this.onKeyUp.emit({\r\n component: this,\r\n nativeEvent: e\r\n });\r\n (this as any)._setUserInteraction();\r\n }\r\n \r\n _emitOnKeypressEvent(e: KeyboardEvent) {\r\n this.onKeyPress.emit({\r\n component: this,\r\n nativeEvent: e\r\n });\r\n (this as any)._setUserInteraction();\r\n }\r\n\r\n _handleModleChange(value) {\r\n if (!this.debounceTime)\r\n this._settleValue(value);\r\n else {\r\n this.#valueSubject.next(value);\r\n }\r\n }\r\n\r\n _settleValue(value: any) {\r\n (this as any).value = value;\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(...args: any[]) {\r\n super(...args.slice(0, 2))\r\n }\r\n\r\n onInit(): void {\r\n this.#valueSubscription = this.#valueSubject\r\n .pipe(debounceTime(this.debounceTime))\r\n .pipe(distinctUntilChanged())\r\n .subscribe((v) => {\r\n this._settleValue(v);\r\n });\r\n }\r\n\r\n onDestroy(): void {\r\n this.#valueSubscription.unsubscribe();\r\n }\r\n }\r\n}\r\n\r\nexport const TEXTBOX_INPUTS = ['placeholder', 'maxLength', 'allowNull', 'debounceTime', 'type', 'autoComplete', 'readonly','allowNull','value','name', 'checked']\r\nexport const TEXTBOX_OUTPUT = ['valueChange', 'onValueChanged']","import {\r\n coerceBooleanProperty,\r\n} from '@angular/cdk/coercion';\r\nimport { EventEmitter } from '@angular/core';\r\nimport { AXBaseComponent } from './base-components.class';\r\nimport { Constructor } from './constratctor';\r\nimport { AXValueChangedEvent } from '@acorex/components/common';\r\n\r\nexport function _ValueComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n\r\n return class extends Base {\r\n\r\n /**\r\n * Fires each time the user press a key.\r\n * @event\r\n */\r\n onValueChanged: EventEmitter<AXValueChangedEvent<any>> = new EventEmitter<AXValueChangedEvent<any>>();\r\n\r\n valueChange: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n\r\n #readonly: boolean = false;\r\n\r\n /**\r\n * If set to true, user cannot change the value of component.\r\n */\r\n get readonly() {\r\n return this.#readonly;\r\n }\r\n set readonly(value: boolean) {\r\n this.#readonly = coerceBooleanProperty(value);\r\n }\r\n\r\n #allowNull: boolean = true;\r\n get allowNull() {\r\n return this.#allowNull;\r\n }\r\n set allowNull(value: boolean) {\r\n this.#allowNull = coerceBooleanProperty(value);\r\n }\r\n\r\n\r\n #name: string;\r\n get name() {\r\n return this.#name;\r\n }\r\n set name(value: string) {\r\n this.#name = value;\r\n }\r\n\r\n\r\n #isUserInteraction: boolean = false;\r\n\r\n get isUserInteraction(): boolean {\r\n return this.#isUserInteraction;\r\n }\r\n\r\n #value: any;\r\n get value(): any {\r\n return this._internalGetValue();\r\n }\r\n set value(v: any) {\r\n v = this._internalSetValue(v);\r\n //if (!this._isInited ) {\r\n const old = this.#value;\r\n // TODO: check real equality\r\n if (v != old) {\r\n this.#value = v;\r\n this._emitOnValueChangedEvent(old, this.#value);\r\n this._cdr.markForCheck();\r\n if (v == null || v == undefined || v == '' || (Array.isArray(v) && v.length == 0)) {\r\n this._setState('clear');\r\n } \r\n // else {\r\n // if (this._isInited) {\r\n // this.validate();\r\n // }\r\n // }\r\n }\r\n this.#isUserInteraction = false;\r\n //} \r\n }\r\n\r\n #state: 'clear' | 'success' | 'error' = 'clear';\r\n\r\n get state() {\r\n return this.#state;\r\n }\r\n\r\n _emitOnValueChangedEvent(oldValue?: any, newValue?: any) {\r\n this.valueChange.emit(newValue);\r\n this.onValueChanged.emit({\r\n component: this,\r\n value: newValue,\r\n oldValue: oldValue,\r\n name: this.name,\r\n isUserInteraction: this.isUserInteraction\r\n });\r\n this._onValueChanged(oldValue, this.#value);\r\n }\r\n\r\n _internalSetValue(value: any) {\r\n return this._setValue(value);\r\n }\r\n\r\n _internalGetValue() {\r\n return this._getValue(this.#value);\r\n }\r\n\r\n _setValue(value: any) {\r\n return value;\r\n }\r\n\r\n _getValue(value: any) {\r\n return value;\r\n }\r\n\r\n _setUserInteraction() {\r\n this.#isUserInteraction = true;\r\n }\r\n\r\n _onValueChanged(oldValue: any, newValue: any): void { }\r\n\r\n _onInternalInit() {\r\n this._getHostElement().setAttribute('ax-form-input', 'true');\r\n super._onInternalInit();\r\n }\r\n\r\n _onInternalDestroy() {\r\n super.onDestroy();\r\n }\r\n\r\n\r\n\r\n clear() {\r\n this.value = null;\r\n }\r\n\r\n validate(): Promise<any> {\r\n const rules = Array.from(\r\n this._getHostElement().querySelectorAll('ax-validation-rule')\r\n ).filter((c) => (c as any).__axContext__.enabled);\r\n //\r\n if (!rules || rules.length === 0) {\r\n this._setState('clear');\r\n return Promise.resolve({ result: true, value: this.value, name: this.name, id: this.id });\r\n }\r\n\r\n return new Promise<any>((resolve) => {\r\n Promise.all(\r\n rules\r\n .filter((c) => typeof (c as any)?.validate === 'function')\r\n .map((c) => {\r\n return (c as any).validate(this.value);\r\n })\r\n ).then((d) => {\r\n const error = d.find((c) => c.result === false);\r\n if (error) {\r\n this._setState('error', error.message);\r\n resolve({ result: false, value: this.value, message: error.message, name: this.name, id: this.id });\r\n } else {\r\n this._setState('success');\r\n resolve({ result: true, value: this.value, name: this.name, id: this.id });\r\n }\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n\r\n _setState(state: 'clear' | 'success' | 'error', ...args) {\r\n const container = this._getHostElement().classList.contains('ax-editor-container') ?\r\n this._getHostElement() :\r\n this._getHostElement().querySelector('.ax-editor-container');\r\n const formField = container?.closest('.ax-form-field');\r\n const label = formField?.querySelector('ax-label') || formField?.querySelector('label');\r\n let target = container || this._getInnerElement();\r\n if (target?.querySelector('.ax-error-container')) {\r\n target = target.querySelector('.ax-error-container');\r\n }\r\n const parent = target?.parentElement;\r\n if (!target || !parent)\r\n return;\r\n\r\n switch (state) {\r\n case 'clear':\r\n this.#state = 'clear';\r\n if (parent.querySelector('span.ax-error-msg')) {\r\n parent.removeChild(parent.querySelector('span.ax-error-msg')!);\r\n }\r\n label?.classList.remove('ax-state-error');\r\n target.classList.remove('ax-state-error', 'ax-state-success');\r\n break;\r\n case 'success':\r\n this._setState('clear');\r\n target.classList.add('ax-state-success');\r\n this.#state = 'success';\r\n break;\r\n case 'error':\r\n this._setState('clear');\r\n if (args[0]) {\r\n const span = document.createElement('span');\r\n span.innerText = args[0];\r\n span.classList.add('ax-error-msg');\r\n parent.appendChild(span);\r\n }\r\n label?.classList.add('ax-state-error');\r\n target.classList.add('ax-state-error');\r\n\r\n this.#state = 'error';\r\n break;\r\n }\r\n this._cdr.markForCheck();\r\n }\r\n }\r\n}\r\n\r\n\r\nexport const VALUE_INPUTS = [\r\n 'readonly',\r\n 'allowNull',\r\n 'value',\r\n 'name',\r\n 'checked'\r\n];\r\nexport const VALUE_OUTPUT = ['valueChange', 'onValueChanged'];","import { _BaseComponenetMixin, AXBaseComponent } from \"./base-components.class\";\r\nimport { _BaseMenuComponentMixin } from \"./base-menu-mixin.class\";\r\nimport { _ButtonComponentMixin } from \"./button-mixin.class\";\r\nimport { _ClickableComponenetMixin } from \"./clickable-mixin.class\";\r\nimport { _ColorLookComponentMixin } from \"./color-look-mixing.class\";\r\nimport { _DatalistComponenetMixin } from \"./datalist-component.class\";\r\nimport { _DropdownComponenetMixin } from \"./dropdown-mixin.class\";\r\nimport { _InteractiveComponenetMixin } from \"./interactive-mixin.class\";\r\nimport { _SelectionComponenetMixin } from \"./selection-component.class\";\r\nimport { _SizableComponenetMixin } from \"./sizable-mixin.class\";\r\nimport { _TextboxComponenetMixin } from \"./textbox-mixin.class\";\r\nimport { _ValueComponenetMixin } from \"./value-mixin.class\";\r\n\r\n\r\nexport const AXBaseComponentMixin = _BaseComponenetMixin(AXBaseComponent);\r\n\r\nexport const AXSizableComponentMixin = _SizableComponenetMixin(\r\n _BaseComponenetMixin(AXBaseComponent)\r\n);\r\n\r\nexport const AXInteractiveComponenetMixin = _SizableComponenetMixin(\r\n _InteractiveComponenetMixin(AXBaseComponent)\r\n);\r\n\r\nexport const AXBaseClickableMixin = _InteractiveComponenetMixin(\r\n _ClickableComponenetMixin(AXBaseComponent)\r\n);\r\n\r\nexport const AXBaseButtonMixin = _SizableComponenetMixin(\r\n _InteractiveComponenetMixin(\r\n _ClickableComponenetMixin(\r\n _ColorLookComponentMixin(_ButtonComponentMixin(AXBaseComponent))\r\n )\r\n )\r\n);\r\n\r\nexport const AXBaseValueComponentMixin = _InteractiveComponenetMixin(_ValueComponenetMixin<any>(AXBaseComponent))\r\n\r\n\r\nexport const AXBaseTextBoxMixin = _SizableComponenetMixin(\r\n _InteractiveComponenetMixin(\r\n _ValueComponenetMixin(_TextboxComponenetMixin(AXBaseComponent))\r\n )\r\n);\r\n\r\nexport const AXBaseSelectionValueMixin = _SizableComponenetMixin(\r\n _InteractiveComponenetMixin(\r\n _DatalistComponenetMixin(\r\n _SelectionComponenetMixin(_ValueComponenetMixin<any>(AXBaseComponent))\r\n )\r\n )\r\n);\r\n\r\nexport const AXBaseValueDropdownMixin = _InteractiveComponenetMixin(\r\n _DropdownComponenetMixin(\r\n _DatalistComponenetMixin(_ValueComponenetMixin<any>(AXBaseComponent))\r\n )\r\n);\r\n\r\nexport const AXBaseSelectionDropdownMixin = _DropdownComponenetMixin(\r\n AXBaseSelectionValueMixin\r\n);\r\n\r\nexport const AXBaseDropdownMixin = _SizableComponenetMixin(\r\n _InteractiveComponenetMixin(_DropdownComponenetMixin(AXBaseComponent))\r\n);\r\n\r\nexport const AXBaseMenuMixin = _BaseMenuComponentMixin(AXBaseComponent);\r\nexport const AXAvatarMixin = _ColorLookComponentMixin(AXBaseComponent);\r\n","import { AXBaseComponent } from \"./base-components.class\";\r\nimport { Constructor } from \"./constratctor\";\r\n\r\nexport function _PageComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n return class extends Base {\r\n\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(...args: any[]) {\r\n super(...args.slice(0, 2))\r\n }\r\n }\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|