@acorex/components 7.4.4 → 7.4.6
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/alert/lib/alert.component.d.ts +1 -3
- package/avatar/lib/avatar-group.component.d.ts +1 -4
- package/avatar/lib/avatar.component.d.ts +6 -7
- package/badge/lib/badge.component.d.ts +1 -3
- package/calendar/lib/calendar.class.d.ts +1 -3
- package/chips/lib/chips.component.d.ts +2 -4
- package/common/index.d.ts +2 -0
- package/common/lib/classes/styles.class.d.ts +1 -0
- package/common/lib/components/appearance-component.class.d.ts +12 -0
- package/common/lib/components/base-component.class.d.ts +1 -4
- package/common/lib/components/color-component.class.d.ts +0 -1
- package/common/lib/components/colorlook-component.class.d.ts +0 -1
- package/common/lib/components/interactive-component.class.d.ts +0 -1
- package/common/lib/components/look-component.class.d.ts +0 -1
- package/common/lib/components/selection-base.component.class.d.ts +45 -0
- package/common/lib/components/value-component.class.d.ts +0 -1
- package/data-pager/lib/data-pager-base.component.d.ts +3 -3
- package/data-pager/lib/data-pager.component.d.ts +2 -2
- package/datetime-box/lib/datetime-box.component.d.ts +9 -9
- package/datetime-input/lib/datetime-input.component.d.ts +1 -1
- package/datetime-picker/index.d.ts +1 -0
- package/datetime-picker/lib/datetime-picker.component.d.ts +5 -4
- package/datetime-picker/lib/datetime-picker.config.d.ts +8 -0
- package/dropdown/lib/dropdown-box.component.d.ts +6 -4
- package/esm2022/action-sheet/lib/action-sheet.component.mjs +4 -3
- package/esm2022/alert/lib/alert.component.mjs +3 -3
- package/esm2022/avatar/lib/avatar-group.component.mjs +2 -4
- package/esm2022/avatar/lib/avatar.component.mjs +21 -15
- package/esm2022/avatar/lib/avatar.module.mjs +3 -3
- package/esm2022/badge/lib/badge.component.mjs +2 -3
- package/esm2022/calendar/lib/calendar.class.mjs +2 -3
- package/esm2022/calendar/lib/calendar.component.mjs +2 -1
- package/esm2022/chips/lib/chips.component.mjs +3 -4
- package/esm2022/color-box/lib/color-box.component.mjs +1 -1
- package/esm2022/color-palette/lib/color-palette-input.component.mjs +1 -1
- package/esm2022/color-palette/lib/color-palette-swatches.component.mjs +2 -1
- package/esm2022/common/index.mjs +3 -1
- package/esm2022/common/lib/classes/styles.class.mjs +1 -1
- package/esm2022/common/lib/components/appearance-component.class.mjs +25 -0
- package/esm2022/common/lib/components/base-component.class.mjs +15 -16
- package/esm2022/common/lib/components/color-component.class.mjs +2 -2
- package/esm2022/common/lib/components/colorlook-component.class.mjs +1 -4
- package/esm2022/common/lib/components/interactive-component.class.mjs +24 -24
- package/esm2022/common/lib/components/look-component.class.mjs +2 -2
- package/esm2022/common/lib/components/selection-base.component.class.mjs +176 -0
- package/esm2022/common/lib/components/value-component.class.mjs +8 -7
- package/esm2022/data-pager/lib/data-pager-base.component.mjs +4 -10
- package/esm2022/data-pager/lib/data-pager-input-selector.component.mjs +3 -3
- package/esm2022/data-pager/lib/data-pager-numeric-selector.component.mjs +59 -16
- package/esm2022/data-pager/lib/data-pager.component.mjs +8 -8
- package/esm2022/datetime-box/lib/datetime-box.component.mjs +15 -12
- package/esm2022/datetime-input/lib/datetime-input.component.mjs +4 -4
- package/esm2022/datetime-picker/index.mjs +2 -1
- package/esm2022/datetime-picker/lib/datetime-picker.component.mjs +23 -11
- package/esm2022/datetime-picker/lib/datetime-picker.config.mjs +22 -0
- package/esm2022/decorators/lib/components/generic-content.component.mjs +26 -3
- package/esm2022/dialog/lib/dialog.component.mjs +2 -1
- package/esm2022/dropdown/lib/dropdown-box.component.mjs +11 -9
- package/esm2022/dropdown/lib/dropdown-panel.component.mjs +3 -2
- package/esm2022/form/lib/form-field.component.mjs +2 -2
- package/esm2022/form/lib/form.component.mjs +7 -6
- package/esm2022/form/lib/validation-rule.widget.mjs +2 -1
- package/esm2022/image/lib/image.component.mjs +2 -1
- package/esm2022/loading/lib/loading.component.mjs +2 -1
- package/esm2022/notification/lib/notification.component.mjs +2 -1
- package/esm2022/picker/lib/picker.component.mjs +16 -20
- package/esm2022/popover/lib/popover.component.mjs +11 -4
- package/esm2022/popup/lib/popup.component.mjs +2 -1
- package/esm2022/scheduler/lib/scheduler-month-view.component.mjs +2 -1
- package/esm2022/scheduler/lib/scheduler.component.mjs +2 -2
- package/esm2022/select-box/lib/select-box.component.mjs +15 -12
- package/esm2022/selection-list/lib/selection-list.component.mjs +52 -26
- package/esm2022/switch/lib/switch-content.component.mjs +9 -7
- package/esm2022/text-box/lib/text-box.component.mjs +28 -12
- package/esm2022/toast/lib/toast.component.mjs +2 -1
- package/esm2022/tooltip/lib/tooltip.directive.mjs +30 -2
- package/fesm2022/acorex-components-action-sheet.mjs +3 -2
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-alert.mjs +2 -2
- package/fesm2022/acorex-components-alert.mjs.map +1 -1
- package/fesm2022/acorex-components-avatar.mjs +22 -18
- package/fesm2022/acorex-components-avatar.mjs.map +1 -1
- package/fesm2022/acorex-components-badge.mjs +1 -2
- package/fesm2022/acorex-components-badge.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +2 -1
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-chips.mjs +2 -3
- package/fesm2022/acorex-components-chips.mjs.map +1 -1
- package/fesm2022/acorex-components-color-box.mjs +1 -1
- package/fesm2022/acorex-components-color-box.mjs.map +1 -1
- package/fesm2022/acorex-components-color-palette.mjs +2 -1
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-common.mjs +241 -49
- package/fesm2022/acorex-components-common.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +69 -32
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-box.mjs +16 -13
- package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-input.mjs +3 -3
- package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-picker.mjs +45 -13
- package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-decorators.mjs +24 -1
- package/fesm2022/acorex-components-decorators.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +1 -0
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +11 -8
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +8 -6
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-image.mjs +1 -0
- package/fesm2022/acorex-components-image.mjs.map +1 -1
- package/fesm2022/acorex-components-loading.mjs +1 -0
- package/fesm2022/acorex-components-loading.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +1 -0
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-picker.mjs +13 -17
- package/fesm2022/acorex-components-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-popover.mjs +10 -3
- package/fesm2022/acorex-components-popover.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +1 -0
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler.mjs +2 -1
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +14 -11
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list.mjs +51 -26
- package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
- package/fesm2022/acorex-components-switch.mjs +8 -7
- package/fesm2022/acorex-components-switch.mjs.map +1 -1
- package/fesm2022/acorex-components-text-box.mjs +26 -10
- package/fesm2022/acorex-components-text-box.mjs.map +1 -1
- package/fesm2022/acorex-components-toast.mjs +1 -0
- package/fesm2022/acorex-components-toast.mjs.map +1 -1
- package/fesm2022/acorex-components-tooltip.mjs +29 -1
- package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
- package/form/lib/form.component.d.ts +2 -2
- package/mixin/lib/base-components.class.d.ts +2 -2
- package/mixin/lib/base-menu-mixin.class.d.ts +5 -5
- package/mixin/lib/button-mixin.class.d.ts +2 -2
- package/mixin/lib/clickable-mixin.class.d.ts +2 -2
- package/mixin/lib/color-look-mixing.class.d.ts +2 -2
- package/mixin/lib/datalist-component.class.d.ts +10 -10
- package/mixin/lib/dropdown-mixin.class.d.ts +2 -2
- package/mixin/lib/interactive-mixin.class.d.ts +4 -4
- package/mixin/lib/mixin.class.d.ts +61 -61
- package/mixin/lib/page-component.class.d.ts +2 -2
- package/mixin/lib/selection-component.class.d.ts +2 -2
- package/mixin/lib/sizable-mixin.class.d.ts +2 -2
- package/mixin/lib/textbox-mixin.class.d.ts +2 -2
- package/mixin/lib/value-mixin.class.d.ts +8 -8
- package/package.json +1 -1
- package/picker/lib/picker.component.d.ts +2 -2
- package/popover/lib/popover.component.d.ts +3 -1
- package/select-box/lib/select-box.component.d.ts +2 -1
- package/selection-list/lib/selection-list.component.d.ts +10 -15
- package/switch/lib/switch-content.component.d.ts +2 -2
- package/text-box/lib/text-box.component.d.ts +11 -3
- package/tooltip/lib/tooltip.directive.d.ts +7 -1
@@ -701,6 +701,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImpor
|
|
701
701
|
}] });
|
702
702
|
|
703
703
|
class MXBaseComponent {
|
704
|
+
constructor() {
|
705
|
+
this._cdr = inject(ChangeDetectorRef);
|
706
|
+
this._elementRef = inject(ElementRef);
|
707
|
+
this._viewRef = inject(ViewContainerRef);
|
708
|
+
this._domService = inject(AXDomService);
|
709
|
+
this._id = this._domService.generateElementId();
|
710
|
+
this.onOptionChanged = new EventEmitter();
|
711
|
+
}
|
704
712
|
get id() {
|
705
713
|
return this._id;
|
706
714
|
}
|
@@ -719,18 +727,8 @@ class MXBaseComponent {
|
|
719
727
|
internalOptionChanging(option) {
|
720
728
|
return option?.value;
|
721
729
|
}
|
722
|
-
internalOptionChanged(option) {
|
723
|
-
|
724
|
-
/**
|
725
|
-
* @ignore
|
726
|
-
*/
|
727
|
-
constructor() {
|
728
|
-
this._cdr = inject(ChangeDetectorRef);
|
729
|
-
this._elementRef = inject(ElementRef);
|
730
|
-
this._viewRef = inject(ViewContainerRef);
|
731
|
-
this._domService = inject(AXDomService);
|
732
|
-
this._id = this._domService.generateElementId();
|
733
|
-
this.onOptionChanged = new EventEmitter();
|
730
|
+
internalOptionChanged(option) { }
|
731
|
+
ngOnInit() {
|
734
732
|
this.getHostElement().__axContext__ = this;
|
735
733
|
}
|
736
734
|
setOption(option) {
|
@@ -759,8 +757,9 @@ class MXBaseComponent {
|
|
759
757
|
option.afterCallback(oldValue, newValue);
|
760
758
|
}
|
761
759
|
_detectLayout() {
|
762
|
-
this.rtl =
|
763
|
-
|
760
|
+
this.rtl =
|
761
|
+
this.getHostElement().classList.contains('ax-rtl') ||
|
762
|
+
window.getComputedStyle(this.getHostElement(), null).getPropertyValue('direction') === 'rtl';
|
764
763
|
}
|
765
764
|
get rtl() {
|
766
765
|
return this._rtl;
|
@@ -773,11 +772,34 @@ class MXBaseComponent {
|
|
773
772
|
}
|
774
773
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: MXBaseComponent, decorators: [{
|
775
774
|
type: Injectable
|
776
|
-
}]
|
775
|
+
}] });
|
776
|
+
|
777
|
+
class MXAppearanceComponent extends MXBaseComponent {
|
778
|
+
constructor() {
|
779
|
+
super(...arguments);
|
780
|
+
this.appearanceChange = new EventEmitter();
|
781
|
+
this._appearance = 'solid';
|
782
|
+
}
|
783
|
+
/**
|
784
|
+
* Predefined color schemes
|
785
|
+
*/
|
786
|
+
get appearance() {
|
787
|
+
return this._appearance;
|
788
|
+
}
|
789
|
+
set appearance(value) {
|
790
|
+
this.setOption({
|
791
|
+
name: 'appearance',
|
792
|
+
value,
|
793
|
+
afterCallback: () => {
|
794
|
+
this.cdr.markForCheck();
|
795
|
+
},
|
796
|
+
});
|
797
|
+
}
|
798
|
+
}
|
777
799
|
|
778
800
|
class MXColorComponent extends MXBaseComponent {
|
779
801
|
constructor() {
|
780
|
-
super();
|
802
|
+
super(...arguments);
|
781
803
|
this.colorChange = new EventEmitter();
|
782
804
|
this._color = 'default';
|
783
805
|
}
|
@@ -800,7 +822,7 @@ class MXColorComponent extends MXBaseComponent {
|
|
800
822
|
|
801
823
|
class MXLookComponent extends MXBaseComponent {
|
802
824
|
constructor() {
|
803
|
-
super();
|
825
|
+
super(...arguments);
|
804
826
|
this.lookChange = new EventEmitter();
|
805
827
|
this._look = 'default';
|
806
828
|
}
|
@@ -822,12 +844,32 @@ class MXLookComponent extends MXBaseComponent {
|
|
822
844
|
}
|
823
845
|
|
824
846
|
class MXColorLookComponent extends classes(MXColorComponent, MXLookComponent) {
|
825
|
-
constructor() {
|
826
|
-
super();
|
827
|
-
}
|
828
847
|
}
|
829
848
|
|
830
849
|
class MXInteractiveComponent extends MXBaseComponent {
|
850
|
+
constructor() {
|
851
|
+
super(...arguments);
|
852
|
+
this.onTouchedCallback = noop;
|
853
|
+
this._touched = false;
|
854
|
+
this.disabledChange = new EventEmitter();
|
855
|
+
// TODO: we should remove it or rename it
|
856
|
+
this._tabIndex = 0;
|
857
|
+
/**
|
858
|
+
* Fires each time the component gets focused.
|
859
|
+
* @event
|
860
|
+
*/
|
861
|
+
this.onFocus = new EventEmitter();
|
862
|
+
/**
|
863
|
+
* Fires each time the component gets blurred.
|
864
|
+
* @event
|
865
|
+
*/
|
866
|
+
this.onBlur = new EventEmitter();
|
867
|
+
/**
|
868
|
+
* Fires each time the user clicks the button.
|
869
|
+
* @event
|
870
|
+
*/
|
871
|
+
this.onClick = new EventEmitter();
|
872
|
+
}
|
831
873
|
registerOnTouched(fn) {
|
832
874
|
this.onTouchedCallback = fn;
|
833
875
|
}
|
@@ -890,29 +932,6 @@ class MXInteractiveComponent extends MXBaseComponent {
|
|
890
932
|
nativeEvent: e,
|
891
933
|
});
|
892
934
|
}
|
893
|
-
constructor() {
|
894
|
-
super();
|
895
|
-
this.onTouchedCallback = noop;
|
896
|
-
this._touched = false;
|
897
|
-
this.disabledChange = new EventEmitter();
|
898
|
-
// TODO: we should remove it or rename it
|
899
|
-
this._tabIndex = 0;
|
900
|
-
/**
|
901
|
-
* Fires each time the component gets focused.
|
902
|
-
* @event
|
903
|
-
*/
|
904
|
-
this.onFocus = new EventEmitter();
|
905
|
-
/**
|
906
|
-
* Fires each time the component gets blurred.
|
907
|
-
* @event
|
908
|
-
*/
|
909
|
-
this.onBlur = new EventEmitter();
|
910
|
-
/**
|
911
|
-
* Fires each time the user clicks the button.
|
912
|
-
* @event
|
913
|
-
*/
|
914
|
-
this.onClick = new EventEmitter();
|
915
|
-
}
|
916
935
|
focus() {
|
917
936
|
AXHtmlUtil.focusElement(this.getHostElement());
|
918
937
|
}
|
@@ -1084,10 +1103,12 @@ class MXValueComponent extends MXInteractiveComponent {
|
|
1084
1103
|
return value;
|
1085
1104
|
}
|
1086
1105
|
internalValueChanged(value) { }
|
1087
|
-
ngOnInit() {
|
1088
|
-
this.getHostElement().setAttribute('ax-form-input', 'true');
|
1089
|
-
}
|
1090
1106
|
ngAfterViewInit() {
|
1107
|
+
const a = this.getHostElement().querySelectorAll('[ax-form-input="true"]');
|
1108
|
+
a.forEach((c) => {
|
1109
|
+
c.removeAttribute('ax-form-input');
|
1110
|
+
});
|
1111
|
+
this.getHostElement().setAttribute('ax-form-input', 'true');
|
1091
1112
|
this._checkRequired();
|
1092
1113
|
}
|
1093
1114
|
ngOnDestroy() {
|
@@ -1095,7 +1116,7 @@ class MXValueComponent extends MXInteractiveComponent {
|
|
1095
1116
|
this.onOptionChanged?.unsubscribe();
|
1096
1117
|
}
|
1097
1118
|
_checkRequired() {
|
1098
|
-
const isRequired = Array.from(this.getHostElement().querySelectorAll('ax-validation-rule')).some((c) => c.__axContext__
|
1119
|
+
const isRequired = Array.from(this.getHostElement().querySelectorAll('ax-validation-rule')).some((c) => c.__axContext__?.enabled && c.__axContext__?.rule == 'required');
|
1099
1120
|
//
|
1100
1121
|
if (isRequired) {
|
1101
1122
|
const container = this.getHostElement().classList.contains('ax-editor-container')
|
@@ -1206,7 +1227,6 @@ class MXValueComponent extends MXInteractiveComponent {
|
|
1206
1227
|
}
|
1207
1228
|
clear(e) {
|
1208
1229
|
this.commitValue(null, e);
|
1209
|
-
this.setState('clear');
|
1210
1230
|
}
|
1211
1231
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: MXValueComponent, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
1212
1232
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: MXValueComponent }); }
|
@@ -1259,6 +1279,178 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImpor
|
|
1259
1279
|
type: Injectable
|
1260
1280
|
}] });
|
1261
1281
|
|
1282
|
+
class MXSelectionValueComponent extends MXValueComponent {
|
1283
|
+
constructor() {
|
1284
|
+
super(...arguments);
|
1285
|
+
this.selectionMode = 'value';
|
1286
|
+
this._valueField = 'id';
|
1287
|
+
this._textField = 'text';
|
1288
|
+
this._hintField = 'hint';
|
1289
|
+
this._disabledField = 'disabled';
|
1290
|
+
this._readonlyField = 'readonly';
|
1291
|
+
this._multiple = false;
|
1292
|
+
this._items = [];
|
1293
|
+
this.displayItems = [];
|
1294
|
+
this._selectedItems = [];
|
1295
|
+
}
|
1296
|
+
get valueField() {
|
1297
|
+
return this._valueField;
|
1298
|
+
}
|
1299
|
+
set valueField(v) {
|
1300
|
+
this.setOption({
|
1301
|
+
name: 'valueField',
|
1302
|
+
value: v,
|
1303
|
+
});
|
1304
|
+
}
|
1305
|
+
get textField() {
|
1306
|
+
return this._textField;
|
1307
|
+
}
|
1308
|
+
set textField(v) {
|
1309
|
+
this.setOption({
|
1310
|
+
name: 'textField',
|
1311
|
+
value: v,
|
1312
|
+
});
|
1313
|
+
}
|
1314
|
+
get hintField() {
|
1315
|
+
return this._hintField;
|
1316
|
+
}
|
1317
|
+
set hintField(v) {
|
1318
|
+
this.setOption({
|
1319
|
+
name: 'hintField',
|
1320
|
+
value: v,
|
1321
|
+
});
|
1322
|
+
}
|
1323
|
+
get disabledField() {
|
1324
|
+
return this._disabledField;
|
1325
|
+
}
|
1326
|
+
set disabledField(v) {
|
1327
|
+
this.setOption({
|
1328
|
+
name: 'disabledField',
|
1329
|
+
value: v,
|
1330
|
+
});
|
1331
|
+
}
|
1332
|
+
get readonlyField() {
|
1333
|
+
return this._readonlyField;
|
1334
|
+
}
|
1335
|
+
set readonlyField(v) {
|
1336
|
+
this.setOption({
|
1337
|
+
name: 'readonlyField',
|
1338
|
+
value: v,
|
1339
|
+
});
|
1340
|
+
}
|
1341
|
+
get multiple() {
|
1342
|
+
return this._multiple;
|
1343
|
+
}
|
1344
|
+
set multiple(v) {
|
1345
|
+
this.setOption({
|
1346
|
+
name: 'multiple',
|
1347
|
+
value: v,
|
1348
|
+
});
|
1349
|
+
}
|
1350
|
+
get items() {
|
1351
|
+
return this._items;
|
1352
|
+
}
|
1353
|
+
set items(v) {
|
1354
|
+
this.setOption({
|
1355
|
+
name: 'items',
|
1356
|
+
value: v,
|
1357
|
+
afterCallback: (oldValue, newValue) => {
|
1358
|
+
this.displayItems = this.normalizeItemsList(newValue);
|
1359
|
+
},
|
1360
|
+
});
|
1361
|
+
}
|
1362
|
+
get selectedItems() {
|
1363
|
+
return this._selectedItems || [];
|
1364
|
+
}
|
1365
|
+
internalSetValue(value) {
|
1366
|
+
let normalizedItems = Array.isArray(value)
|
1367
|
+
? this.normalizeItemsList(value)
|
1368
|
+
: this.normalizeItemsList([value]);
|
1369
|
+
normalizedItems = normalizedItems.filter((c) => this.displayItems.some((d) => d[this.valueField] == c[this.valueField]));
|
1370
|
+
return this.multiple ? normalizedItems : normalizedItems[0];
|
1371
|
+
}
|
1372
|
+
emitOnValueChangedEvent(oldValue, newValue) {
|
1373
|
+
this._normalizeSelectedItems();
|
1374
|
+
super.emitOnValueChangedEvent(oldValue, newValue);
|
1375
|
+
}
|
1376
|
+
normalizeItemsList(items) {
|
1377
|
+
if (items == null)
|
1378
|
+
return [];
|
1379
|
+
return items.filter((c) => c != null).map((i) => this.normalizeItem(i));
|
1380
|
+
}
|
1381
|
+
normalizeItem(item) {
|
1382
|
+
const obj = {};
|
1383
|
+
if (typeof item == 'object') {
|
1384
|
+
Object.assign(obj, item);
|
1385
|
+
}
|
1386
|
+
else if (typeof item != 'function') {
|
1387
|
+
const existsItem = this.displayItems.find((c) => c[this.valueField] == item);
|
1388
|
+
if (existsItem)
|
1389
|
+
Object.assign(obj, existsItem);
|
1390
|
+
else {
|
1391
|
+
obj[this.valueField] = item;
|
1392
|
+
obj[this.textField] = item.toString();
|
1393
|
+
}
|
1394
|
+
}
|
1395
|
+
return obj;
|
1396
|
+
}
|
1397
|
+
_normalizeSelectedItems() {
|
1398
|
+
const values = Array.isArray(this.value) ? this.value : [this.value];
|
1399
|
+
this._selectedItems = this.displayItems.filter((c) => values.some((v) => v[this.valueField] == c[this.valueField]));
|
1400
|
+
}
|
1401
|
+
unselectItems(...items) {
|
1402
|
+
if (!items || items.length === 0) {
|
1403
|
+
this.commitValue([], true);
|
1404
|
+
return;
|
1405
|
+
}
|
1406
|
+
const normalizeItems = Array.isArray(items)
|
1407
|
+
? this.normalizeItemsList(items)
|
1408
|
+
: [this.normalizeItem(items)];
|
1409
|
+
const newSelectedItems = this.selectedItems.filter((i) => !normalizeItems.some((n) => n[this.valueField] == i[this.valueField]));
|
1410
|
+
this.commitValue(newSelectedItems, true);
|
1411
|
+
}
|
1412
|
+
selectItems(...items) {
|
1413
|
+
if (items && items.length) {
|
1414
|
+
let newSelectedItems = Array.isArray(this.value) ? this.value : [this.value];
|
1415
|
+
const normalizeItems = Array.isArray(items)
|
1416
|
+
? this.normalizeItemsList(items)
|
1417
|
+
: [this.normalizeItem(items)];
|
1418
|
+
if (this.multiple) {
|
1419
|
+
newSelectedItems = [...newSelectedItems, ...normalizeItems];
|
1420
|
+
}
|
1421
|
+
else {
|
1422
|
+
newSelectedItems = normalizeItems;
|
1423
|
+
}
|
1424
|
+
this.commitValue(newSelectedItems, true);
|
1425
|
+
}
|
1426
|
+
else {
|
1427
|
+
this.commitValue(this.displayItems, true);
|
1428
|
+
}
|
1429
|
+
}
|
1430
|
+
toggleSelect(...items) {
|
1431
|
+
items?.forEach((item) => {
|
1432
|
+
if (this.multiple) {
|
1433
|
+
this.isItemSelected(item) ? this.unselectItems(item) : this.selectItems(item);
|
1434
|
+
}
|
1435
|
+
else {
|
1436
|
+
this.selectItems(item);
|
1437
|
+
}
|
1438
|
+
});
|
1439
|
+
}
|
1440
|
+
isItemSelected(item) {
|
1441
|
+
return this.selectedItems.some((c) => c[this.valueField] === item[this.valueField]);
|
1442
|
+
}
|
1443
|
+
isItemDisabled(item) {
|
1444
|
+
return (coerceBooleanProperty(item[this.disabledField]) === true ||
|
1445
|
+
(this.disabledCallback ? this.disabledCallback({ item, index: -1 }) : false));
|
1446
|
+
}
|
1447
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: MXSelectionValueComponent, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
1448
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: MXSelectionValueComponent }); }
|
1449
|
+
}
|
1450
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: MXSelectionValueComponent, decorators: [{
|
1451
|
+
type: Injectable
|
1452
|
+
}] });
|
1453
|
+
|
1262
1454
|
class AXNgModelDelayedValueChangedDirective {
|
1263
1455
|
get delayTime() {
|
1264
1456
|
return this._delayTime;
|
@@ -1307,5 +1499,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImpor
|
|
1307
1499
|
* Generated bundle index. Do not edit.
|
1308
1500
|
*/
|
1309
1501
|
|
1310
|
-
export { AXAutoFocusDirective, AXButtonClickEvent, AXClearableComponent, AXClickEvent, AXClosbaleComponent, AXCommonModule, AXComponent, AXComponentCloseEvent, AXComponentClosedPromise, AXComponentClosing, AXComponentResult, AXDomService, AXEvent, AXFocusEvent, AXFocusableComponent, AXHotkeyDirective, AXHotkeysService, AXHtmlEvent, AXInfiniteScrollerDirective, AXItemClickEvent, AXNgModelDelayedValueChangedDirective, AXOptionChangedEvent, AXPagedComponent, AXRangeChangedEvent, AXResponsiveDirective, AXRippleDirective, AXSearchableComponent, AXSelectionValueChangedEvent, AXValuableComponent, AXValueChangedEvent, AX_LOCATIONS, AX_PLACEMENT_BOTTOM, AX_PLACEMENT_BOTTOM_END, AX_PLACEMENT_BOTTOM_START, AX_PLACEMENT_END, AX_PLACEMENT_END_BOTTOM, AX_PLACEMENT_END_TOP, AX_PLACEMENT_MAP, AX_PLACEMENT_START, AX_PLACEMENT_START_BOTTOM, AX_PLACEMENT_START_TOP, AX_PLACEMENT_TOP, AX_PLACEMENT_TOP_END, AX_PLACEMENT_TOP_START, AX_STYLE_COLOR_TYPES, MXBaseComponent, MXButtonBaseComponent, MXColorComponent, MXColorLookComponent, MXInputBaseValueComponent, MXInteractiveComponent, MXLookComponent, MXValueComponent, TAB_META_KEY, convertToPlacement };
|
1502
|
+
export { AXAutoFocusDirective, AXButtonClickEvent, AXClearableComponent, AXClickEvent, AXClosbaleComponent, AXCommonModule, AXComponent, AXComponentCloseEvent, AXComponentClosedPromise, AXComponentClosing, AXComponentResult, AXDomService, AXEvent, AXFocusEvent, AXFocusableComponent, AXHotkeyDirective, AXHotkeysService, AXHtmlEvent, AXInfiniteScrollerDirective, AXItemClickEvent, AXNgModelDelayedValueChangedDirective, AXOptionChangedEvent, AXPagedComponent, AXRangeChangedEvent, AXResponsiveDirective, AXRippleDirective, AXSearchableComponent, AXSelectionValueChangedEvent, AXValuableComponent, AXValueChangedEvent, AX_LOCATIONS, AX_PLACEMENT_BOTTOM, AX_PLACEMENT_BOTTOM_END, AX_PLACEMENT_BOTTOM_START, AX_PLACEMENT_END, AX_PLACEMENT_END_BOTTOM, AX_PLACEMENT_END_TOP, AX_PLACEMENT_MAP, AX_PLACEMENT_START, AX_PLACEMENT_START_BOTTOM, AX_PLACEMENT_START_TOP, AX_PLACEMENT_TOP, AX_PLACEMENT_TOP_END, AX_PLACEMENT_TOP_START, AX_STYLE_COLOR_TYPES, MXAppearanceComponent, MXBaseComponent, MXButtonBaseComponent, MXColorComponent, MXColorLookComponent, MXInputBaseValueComponent, MXInteractiveComponent, MXLookComponent, MXSelectionValueComponent, MXValueComponent, TAB_META_KEY, convertToPlacement };
|
1311
1503
|
//# sourceMappingURL=acorex-components-common.mjs.map
|