@acorex/components 7.0.21 → 7.0.23
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/color-picker/src/color-picker.component.d.ts +1 -5
- package/esm2020/button/src/button.component.mjs +2 -2
- package/esm2020/calendar/src/calendar.component.mjs +2 -2
- package/esm2020/chips/src/chips.component.mjs +2 -2
- package/esm2020/form/src/form-field.component.mjs +2 -2
- package/esm2020/form/src/form.component.mjs +18 -16
- package/esm2020/mixin/src/value-mixin.class.mjs +46 -26
- package/esm2020/number-box/src/number-box.component.mjs +3 -3
- package/esm2020/switch/src/switch.component.mjs +2 -2
- package/fesm2015/acorex-components-button.mjs +2 -2
- package/fesm2015/acorex-components-button.mjs.map +1 -1
- package/fesm2015/acorex-components-calendar.mjs +2 -3
- package/fesm2015/acorex-components-calendar.mjs.map +1 -1
- package/fesm2015/acorex-components-chips.mjs +2 -2
- package/fesm2015/acorex-components-chips.mjs.map +1 -1
- package/fesm2015/acorex-components-form.mjs +19 -17
- package/fesm2015/acorex-components-form.mjs.map +1 -1
- package/fesm2015/acorex-components-mixin.mjs +44 -24
- package/fesm2015/acorex-components-mixin.mjs.map +1 -1
- package/fesm2015/acorex-components-number-box.mjs +2 -2
- package/fesm2015/acorex-components-number-box.mjs.map +1 -1
- package/fesm2015/acorex-components-switch.mjs +2 -2
- package/fesm2015/acorex-components-switch.mjs.map +1 -1
- package/fesm2020/acorex-components-button.mjs +2 -2
- package/fesm2020/acorex-components-button.mjs.map +1 -1
- package/fesm2020/acorex-components-calendar.mjs +2 -3
- package/fesm2020/acorex-components-calendar.mjs.map +1 -1
- package/fesm2020/acorex-components-chips.mjs +2 -2
- package/fesm2020/acorex-components-chips.mjs.map +1 -1
- package/fesm2020/acorex-components-form.mjs +19 -17
- package/fesm2020/acorex-components-form.mjs.map +1 -1
- package/fesm2020/acorex-components-mixin.mjs +44 -24
- package/fesm2020/acorex-components-mixin.mjs.map +1 -1
- package/fesm2020/acorex-components-number-box.mjs +2 -2
- package/fesm2020/acorex-components-number-box.mjs.map +1 -1
- package/fesm2020/acorex-components-switch.mjs +2 -2
- package/fesm2020/acorex-components-switch.mjs.map +1 -1
- package/form/src/form.component.d.ts +10 -9
- package/mixin/src/value-mixin.class.d.ts +5 -5
- package/package.json +1 -1
@@ -1009,14 +1009,14 @@ function _ValueComponenetMixin(Base) {
|
|
1009
1009
|
var _readonly, _allowNull, _name, _isUserInteraction, _value, _state, _a;
|
1010
1010
|
return _a = class extends Base {
|
1011
1011
|
/**
|
1012
|
-
|
1013
|
-
|
1012
|
+
* @ignore
|
1013
|
+
*/
|
1014
1014
|
constructor(...args) {
|
1015
1015
|
super(...args);
|
1016
1016
|
/**
|
1017
|
-
|
1018
|
-
|
1019
|
-
|
1017
|
+
* Fires each time the user press a key.
|
1018
|
+
* @event
|
1019
|
+
*/
|
1020
1020
|
this.onValueChanged = new EventEmitter();
|
1021
1021
|
this.valueChange = new EventEmitter();
|
1022
1022
|
_readonly.set(this, false);
|
@@ -1027,8 +1027,8 @@ function _ValueComponenetMixin(Base) {
|
|
1027
1027
|
_state.set(this, 'clear');
|
1028
1028
|
}
|
1029
1029
|
/**
|
1030
|
-
|
1031
|
-
|
1030
|
+
* If set to true, user cannot change the value of component.
|
1031
|
+
*/
|
1032
1032
|
get readonly() {
|
1033
1033
|
return __classPrivateFieldGet(this, _readonly, "f");
|
1034
1034
|
}
|
@@ -1062,7 +1062,10 @@ function _ValueComponenetMixin(Base) {
|
|
1062
1062
|
__classPrivateFieldSet(this, _value, v, "f");
|
1063
1063
|
this._emitOnValueChangedEvent(old, __classPrivateFieldGet(this, _value, "f"));
|
1064
1064
|
this._cdr.markForCheck();
|
1065
|
-
if (v == null ||
|
1065
|
+
if (v == null ||
|
1066
|
+
v == undefined ||
|
1067
|
+
v == '' ||
|
1068
|
+
(Array.isArray(v) && v.length == 0)) {
|
1066
1069
|
this._setState('clear');
|
1067
1070
|
}
|
1068
1071
|
// else {
|
@@ -1072,7 +1075,7 @@ function _ValueComponenetMixin(Base) {
|
|
1072
1075
|
// }
|
1073
1076
|
}
|
1074
1077
|
__classPrivateFieldSet(this, _isUserInteraction, false, "f");
|
1075
|
-
//}
|
1078
|
+
//}
|
1076
1079
|
}
|
1077
1080
|
get state() {
|
1078
1081
|
return __classPrivateFieldGet(this, _state, "f");
|
@@ -1084,7 +1087,7 @@ function _ValueComponenetMixin(Base) {
|
|
1084
1087
|
value: newValue,
|
1085
1088
|
oldValue: oldValue,
|
1086
1089
|
name: this.name,
|
1087
|
-
isUserInteraction: this.isUserInteraction
|
1090
|
+
isUserInteraction: this.isUserInteraction,
|
1088
1091
|
});
|
1089
1092
|
this._onValueChanged(oldValue, __classPrivateFieldGet(this, _value, "f"));
|
1090
1093
|
}
|
@@ -1115,36 +1118,53 @@ function _ValueComponenetMixin(Base) {
|
|
1115
1118
|
this.value = null;
|
1116
1119
|
}
|
1117
1120
|
validate() {
|
1118
|
-
const rules = Array.from(this._getHostElement().querySelectorAll('ax-validation-rule')).filter(
|
1121
|
+
const rules = Array.from(this._getHostElement().querySelectorAll('ax-validation-rule')).filter(c => c.__axContext__.enabled);
|
1119
1122
|
//
|
1120
1123
|
if (!rules || rules.length === 0) {
|
1121
1124
|
this._setState('clear');
|
1122
|
-
return Promise.resolve({
|
1125
|
+
return Promise.resolve({
|
1126
|
+
result: true,
|
1127
|
+
value: this.value,
|
1128
|
+
name: this.name,
|
1129
|
+
id: this.id,
|
1130
|
+
});
|
1123
1131
|
}
|
1124
|
-
return new Promise(
|
1132
|
+
return new Promise(resolve => {
|
1125
1133
|
Promise.all(rules
|
1126
|
-
.filter(
|
1127
|
-
.map(
|
1134
|
+
.filter(c => typeof (c === null || c === void 0 ? void 0 : c.validate) === 'function')
|
1135
|
+
.map(c => {
|
1128
1136
|
return c.validate(this.value);
|
1129
|
-
})).then(
|
1130
|
-
const error = d.find(
|
1137
|
+
})).then(d => {
|
1138
|
+
const error = d.find(c => c.result === false);
|
1131
1139
|
if (error) {
|
1132
1140
|
this._setState('error', error.message);
|
1133
|
-
resolve({
|
1141
|
+
resolve({
|
1142
|
+
result: false,
|
1143
|
+
value: this.value,
|
1144
|
+
message: error.message,
|
1145
|
+
name: this.name,
|
1146
|
+
id: this.id,
|
1147
|
+
});
|
1134
1148
|
}
|
1135
1149
|
else {
|
1136
1150
|
this._setState('success');
|
1137
|
-
resolve({
|
1151
|
+
resolve({
|
1152
|
+
result: true,
|
1153
|
+
value: this.value,
|
1154
|
+
name: this.name,
|
1155
|
+
id: this.id,
|
1156
|
+
});
|
1138
1157
|
}
|
1139
1158
|
});
|
1140
1159
|
});
|
1141
1160
|
}
|
1142
1161
|
_setState(state, ...args) {
|
1143
|
-
const container = this._getHostElement().classList.contains('ax-editor-container')
|
1144
|
-
this._getHostElement()
|
1145
|
-
this._getHostElement().querySelector('.ax-editor-container');
|
1162
|
+
const container = this._getHostElement().classList.contains('ax-editor-container')
|
1163
|
+
? this._getHostElement()
|
1164
|
+
: this._getHostElement().querySelector('.ax-editor-container');
|
1146
1165
|
const formField = container === null || container === void 0 ? void 0 : container.closest('.ax-form-field');
|
1147
|
-
const label = (formField === null || formField === void 0 ? void 0 : formField.querySelector('ax-label')) ||
|
1166
|
+
const label = (formField === null || formField === void 0 ? void 0 : formField.querySelector('ax-label')) ||
|
1167
|
+
(formField === null || formField === void 0 ? void 0 : formField.querySelector('label'));
|
1148
1168
|
let target = container || this._getInnerElement();
|
1149
1169
|
if (target === null || target === void 0 ? void 0 : target.querySelector('.ax-error-container')) {
|
1150
1170
|
target = target.querySelector('.ax-error-container');
|
@@ -1195,7 +1215,7 @@ const VALUE_INPUTS = [
|
|
1195
1215
|
'allowNull',
|
1196
1216
|
'value',
|
1197
1217
|
'name',
|
1198
|
-
'checked'
|
1218
|
+
'checked',
|
1199
1219
|
];
|
1200
1220
|
const VALUE_OUTPUT = ['valueChange', 'onValueChanged'];
|
1201
1221
|
|
@@ -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\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 #rtl: boolean;\r\n\r\n\r\n get rtl(): boolean {\r\n if (this.#rtl)\r\n return this.#rtl;\r\n else\r\n return this._getHostElement().classList.contains('ax-rtl') ||\r\n window\r\n .getComputedStyle(this._getHostElement(), null)\r\n .getPropertyValue('direction') === 'rtl';\r\n }\r\n\r\n set rtl(value: boolean) {\r\n this.#rtl = value;\r\n }\r\n\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 this._applyRtl();\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 _applyRtl() {\r\n if (this.rtl) {\r\n this._getHostElement().classList.add('ax-rtl');\r\n }\r\n }\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 displayMode: '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 = 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 'displayMode',\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 { 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 /**\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 /**\r\n * @ignore\r\n */\r\n constructor(...args: any[]) {\r\n super(...args.slice(0, 2))\r\n }\r\n }\r\n}\r\n\r\nexport const TEXTBOX_INPUTS = ['placeholder', 'maxLength', 'allowNull', 'type', 'autoComplete', 'readonly','value','name']\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-message')) {\r\n parent.removeChild(parent.querySelector('span.ax-error-message')!);\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-message');\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\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 #rtl: boolean;\r\n\r\n\r\n get rtl(): boolean {\r\n if (this.#rtl)\r\n return this.#rtl;\r\n else\r\n return this._getHostElement().classList.contains('ax-rtl') ||\r\n window\r\n .getComputedStyle(this._getHostElement(), null)\r\n .getPropertyValue('direction') === 'rtl';\r\n }\r\n\r\n set rtl(value: boolean) {\r\n this.#rtl = value;\r\n }\r\n\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 this._applyRtl();\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 _applyRtl() {\r\n if (this.rtl) {\r\n this._getHostElement().classList.add('ax-rtl');\r\n }\r\n }\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 displayMode: '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 = 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 'displayMode',\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 { 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 /**\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 /**\r\n * @ignore\r\n */\r\n constructor(...args: any[]) {\r\n super(...args.slice(0, 2))\r\n }\r\n }\r\n}\r\n\r\nexport const TEXTBOX_INPUTS = ['placeholder', 'maxLength', 'allowNull', 'type', 'autoComplete', 'readonly','value','name']\r\nexport const TEXTBOX_OUTPUT = ['valueChange', 'onValueChanged']","import { coerceBooleanProperty } 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<\r\n TBase extends Constructor<AXBaseComponent>\r\n>(Base: TBase) {\r\n return class extends Base {\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<\r\n AXValueChangedEvent<any>\r\n >();\r\n\r\n valueChange: EventEmitter<any> = new EventEmitter<any>();\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 #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 #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 (\r\n v == null ||\r\n v == undefined ||\r\n v == '' ||\r\n (Array.isArray(v) && v.length == 0)\r\n ) {\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 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({\r\n result: true,\r\n value: this.value,\r\n name: this.name,\r\n id: this.id,\r\n });\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({\r\n result: false,\r\n value: this.value,\r\n message: error.message,\r\n name: this.name,\r\n id: this.id,\r\n });\r\n } else {\r\n this._setState('success');\r\n resolve({\r\n result: true,\r\n value: this.value,\r\n name: this.name,\r\n id: this.id,\r\n });\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(\r\n 'ax-editor-container'\r\n )\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 =\r\n formField?.querySelector('ax-label') ||\r\n 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) return;\r\n\r\n switch (state) {\r\n case 'clear':\r\n this.#state = 'clear';\r\n if (parent.querySelector('span.ax-error-message')) {\r\n parent.removeChild(parent.querySelector('span.ax-error-message')!);\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-message');\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\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'];\r\n","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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"}
|