aloha-vue 2.64.0 → 2.65.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/dist/aloha-vue.es.js +13282 -13083
- package/dist/aloha-vue.umd.js +63 -63
- package/package.json +1 -1
- package/src/plugins/ASelectPlugin.js +4 -3
- package/src/ui/ASelect/ASelect.js +300 -131
- package/src/ui/ASelect/__tests__/SelectedFirstAPI.test.js +101 -0
- package/src/ui/ASelect/__tests__/SelectedVisibleAPI.test.js +98 -0
- package/src/ui/ASelect/compositionAPI/SelectedFirstAPI.js +78 -0
- package/src/ui/ASelect/compositionAPI/SelectedVisibleAPI.js +76 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aloha-vue",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.65.0",
|
|
4
4
|
"description": "Aloha-vue is a JavaScript library that provides a wide range of accessible components and directives for Vue.js. Accessibility is of paramount importance to us, and we have designed all our components to meet accessibility compliance criteria. This library is a valuable tool for frontend developers and has already been used in three projects, including two large-scale ones",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"accessibility compliance criteria",
|
|
@@ -32,9 +32,10 @@ export const ASelectPluginOptions = {
|
|
|
32
32
|
searchApi: false,
|
|
33
33
|
searchApiKey: undefined,
|
|
34
34
|
searchOutside: false,
|
|
35
|
-
searchTextInHtml: false,
|
|
36
|
-
searchTimeout: 0,
|
|
37
|
-
showNotFound: true,
|
|
35
|
+
searchTextInHtml: false,
|
|
36
|
+
searchTimeout: 0,
|
|
37
|
+
showNotFound: true,
|
|
38
|
+
showSelectedFirst: false,
|
|
38
39
|
slotName: undefined,
|
|
39
40
|
sortOrder: undefined,
|
|
40
41
|
sortOrderGroup: undefined,
|
|
@@ -1,66 +1,68 @@
|
|
|
1
|
-
import {
|
|
2
|
-
computed,
|
|
3
|
-
h,
|
|
4
|
-
onBeforeUnmount,
|
|
5
|
-
onMounted,
|
|
6
|
-
ref,
|
|
7
|
-
Teleport,
|
|
8
|
-
toRef,
|
|
9
|
-
watch,
|
|
10
|
-
} from "vue";
|
|
11
|
-
import {
|
|
12
|
-
ACheckboxRadioGroups,
|
|
13
|
-
ACloak,
|
|
14
|
-
AElement,
|
|
15
|
-
AErrorsText,
|
|
16
|
-
AFormHelpText,
|
|
17
|
-
AFormLabelDescription,
|
|
18
|
-
AFormReadonly,
|
|
19
|
-
AIcon,
|
|
20
|
-
AInput,
|
|
21
|
-
AKeyId,
|
|
22
|
-
ALabel,
|
|
23
|
-
APlacements,
|
|
24
|
-
APopupAPI,
|
|
25
|
-
ATranslation,
|
|
26
|
-
UiAPI,
|
|
27
|
-
UiDataFromServerAPI,
|
|
28
|
-
UIDataGroupAPI,
|
|
29
|
-
UiDataSortAPI,
|
|
30
|
-
UiDataWatchEmitAPI,
|
|
31
|
-
UiDataWithKeyIdAndLabelAPI,
|
|
32
|
-
UIExcludeRenderAttributesAPI,
|
|
33
|
-
UiLabelClickEventBusAPI,
|
|
34
|
-
UiLoadingAPI,
|
|
35
|
-
UiSearchAPI,
|
|
36
|
-
UiStyleHideAPI,
|
|
37
|
-
} from "../../index";
|
|
38
|
-
|
|
39
|
-
import ASelectElement from "./ASelectElement/ASelectElement";
|
|
40
|
-
import ASelectLabelElement from "./ASelectLabelElement/ASelectLabelElement";
|
|
41
|
-
import ASelectValueCloseable from "./ASelectValueCloseable/ASelectValueCloseable";
|
|
42
|
-
|
|
43
|
-
import AttributesAPI from "./compositionAPI/AttributesAPI";
|
|
44
|
-
import DisabledAPI from "./compositionAPI/DisabledAPI";
|
|
45
|
-
import DividerAPI from "./compositionAPI/DividerAPI";
|
|
46
|
-
import ExclusiveOptionsAPI from "./compositionAPI/ExclusiveOptionsAPI";
|
|
47
|
-
import ModeAPI from "./compositionAPI/ModeAPI";
|
|
48
|
-
import ModelAPI from "./compositionAPI/ModelAPI";
|
|
49
|
-
import ModelChangeAPI from "./compositionAPI/ModelChangeAPI";
|
|
50
|
-
import PopperContainerAPI from "../../ATooltip/compositionAPI/PopperContainerAPI";
|
|
51
|
-
import
|
|
52
|
-
import
|
|
53
|
-
|
|
54
|
-
import
|
|
55
|
-
|
|
56
|
-
import
|
|
57
|
-
import
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
1
|
+
import {
|
|
2
|
+
computed,
|
|
3
|
+
h,
|
|
4
|
+
onBeforeUnmount,
|
|
5
|
+
onMounted,
|
|
6
|
+
ref,
|
|
7
|
+
Teleport,
|
|
8
|
+
toRef,
|
|
9
|
+
watch,
|
|
10
|
+
} from "vue";
|
|
11
|
+
import {
|
|
12
|
+
ACheckboxRadioGroups,
|
|
13
|
+
ACloak,
|
|
14
|
+
AElement,
|
|
15
|
+
AErrorsText,
|
|
16
|
+
AFormHelpText,
|
|
17
|
+
AFormLabelDescription,
|
|
18
|
+
AFormReadonly,
|
|
19
|
+
AIcon,
|
|
20
|
+
AInput,
|
|
21
|
+
AKeyId,
|
|
22
|
+
ALabel,
|
|
23
|
+
APlacements,
|
|
24
|
+
APopupAPI,
|
|
25
|
+
ATranslation,
|
|
26
|
+
UiAPI,
|
|
27
|
+
UiDataFromServerAPI,
|
|
28
|
+
UIDataGroupAPI,
|
|
29
|
+
UiDataSortAPI,
|
|
30
|
+
UiDataWatchEmitAPI,
|
|
31
|
+
UiDataWithKeyIdAndLabelAPI,
|
|
32
|
+
UIExcludeRenderAttributesAPI,
|
|
33
|
+
UiLabelClickEventBusAPI,
|
|
34
|
+
UiLoadingAPI,
|
|
35
|
+
UiSearchAPI,
|
|
36
|
+
UiStyleHideAPI,
|
|
37
|
+
} from "../../index";
|
|
38
|
+
|
|
39
|
+
import ASelectElement from "./ASelectElement/ASelectElement";
|
|
40
|
+
import ASelectLabelElement from "./ASelectLabelElement/ASelectLabelElement";
|
|
41
|
+
import ASelectValueCloseable from "./ASelectValueCloseable/ASelectValueCloseable";
|
|
42
|
+
|
|
43
|
+
import AttributesAPI from "./compositionAPI/AttributesAPI";
|
|
44
|
+
import DisabledAPI from "./compositionAPI/DisabledAPI";
|
|
45
|
+
import DividerAPI from "./compositionAPI/DividerAPI";
|
|
46
|
+
import ExclusiveOptionsAPI from "./compositionAPI/ExclusiveOptionsAPI";
|
|
47
|
+
import ModeAPI from "./compositionAPI/ModeAPI";
|
|
48
|
+
import ModelAPI from "./compositionAPI/ModelAPI";
|
|
49
|
+
import ModelChangeAPI from "./compositionAPI/ModelChangeAPI";
|
|
50
|
+
import PopperContainerAPI from "../../ATooltip/compositionAPI/PopperContainerAPI";
|
|
51
|
+
import SelectedFirstAPI from "./compositionAPI/SelectedFirstAPI";
|
|
52
|
+
import SelectedTitleAPI from "./compositionAPI/SelectedTitleAPI";
|
|
53
|
+
import SelectedVisibleAPI from "./compositionAPI/SelectedVisibleAPI";
|
|
54
|
+
import ToggleAPI from "./compositionAPI/ToggleAPI";
|
|
55
|
+
|
|
56
|
+
import CheckLg from "aloha-svg/dist/js/bootstrap/CheckLg";
|
|
57
|
+
import Search from "aloha-svg/dist/js/bootstrap/Search";
|
|
58
|
+
import XLg from "aloha-svg/dist/js/bootstrap/XLg";
|
|
59
|
+
import {
|
|
60
|
+
ASelectPluginOptions,
|
|
61
|
+
} from "../../plugins/ASelectPlugin";
|
|
62
|
+
import {
|
|
63
|
+
take,
|
|
64
|
+
uniqueId,
|
|
65
|
+
} from "lodash-es";
|
|
64
66
|
|
|
65
67
|
export default {
|
|
66
68
|
name: "ASelect",
|
|
@@ -445,11 +447,16 @@ export default {
|
|
|
445
447
|
required: false,
|
|
446
448
|
default: undefined,
|
|
447
449
|
},
|
|
448
|
-
showNotFound: {
|
|
449
|
-
type: Boolean,
|
|
450
|
-
required: false,
|
|
451
|
-
default: () => ASelectPluginOptions.propsDefault.showNotFound,
|
|
452
|
-
},
|
|
450
|
+
showNotFound: {
|
|
451
|
+
type: Boolean,
|
|
452
|
+
required: false,
|
|
453
|
+
default: () => ASelectPluginOptions.propsDefault.showNotFound,
|
|
454
|
+
},
|
|
455
|
+
showSelectedFirst: {
|
|
456
|
+
type: Boolean,
|
|
457
|
+
required: false,
|
|
458
|
+
default: () => ASelectPluginOptions.propsDefault.showSelectedFirst,
|
|
459
|
+
},
|
|
453
460
|
slotName: {
|
|
454
461
|
type: String,
|
|
455
462
|
required: false,
|
|
@@ -633,24 +640,47 @@ export default {
|
|
|
633
640
|
htmlIdLocal,
|
|
634
641
|
});
|
|
635
642
|
|
|
636
|
-
const {
|
|
637
|
-
dataSort,
|
|
638
|
-
} = UiDataSortAPI(props, {
|
|
639
|
-
data: dataLocal,
|
|
640
|
-
});
|
|
641
|
-
|
|
643
|
+
const {
|
|
644
|
+
dataSort,
|
|
645
|
+
} = UiDataSortAPI(props, {
|
|
646
|
+
data: dataLocal,
|
|
647
|
+
});
|
|
648
|
+
|
|
649
|
+
const {
|
|
650
|
+
dataExtraWithoutSelected,
|
|
651
|
+
dataSelected,
|
|
652
|
+
dataWithoutSelected,
|
|
653
|
+
exclusiveOptionWithoutSelected,
|
|
654
|
+
} = SelectedFirstAPI(props, {
|
|
655
|
+
data: dataSort,
|
|
656
|
+
dataExtra: dataExtraLocal,
|
|
657
|
+
exclusiveOption,
|
|
658
|
+
});
|
|
659
|
+
|
|
642
660
|
const {
|
|
643
661
|
dataGrouped,
|
|
644
662
|
groupsForLever,
|
|
645
|
-
hasKeyGroup,
|
|
646
|
-
keyGroupArray,
|
|
647
|
-
} = UIDataGroupAPI(props, {
|
|
648
|
-
data:
|
|
663
|
+
hasKeyGroup,
|
|
664
|
+
keyGroupArray,
|
|
665
|
+
} = UIDataGroupAPI(props, {
|
|
666
|
+
data: dataWithoutSelected,
|
|
649
667
|
});
|
|
650
668
|
|
|
651
669
|
const {
|
|
652
670
|
dataGrouped: dataExtraGrouped,
|
|
653
671
|
groupsForLever: groupsForLeverExtra,
|
|
672
|
+
} = UIDataGroupAPI(props, {
|
|
673
|
+
data: dataExtraWithoutSelected,
|
|
674
|
+
});
|
|
675
|
+
|
|
676
|
+
const {
|
|
677
|
+
groupsForLever: groupsForLeverSearch,
|
|
678
|
+
} = UIDataGroupAPI(props, {
|
|
679
|
+
data: dataSort,
|
|
680
|
+
});
|
|
681
|
+
|
|
682
|
+
const {
|
|
683
|
+
groupsForLever: groupsForLeverExtraSearch,
|
|
654
684
|
} = UIDataGroupAPI(props, {
|
|
655
685
|
data: dataExtraLocal,
|
|
656
686
|
});
|
|
@@ -661,13 +691,13 @@ export default {
|
|
|
661
691
|
data: dataAll,
|
|
662
692
|
});
|
|
663
693
|
|
|
664
|
-
const validDataSort = computed(() => {
|
|
665
|
-
return
|
|
666
|
-
});
|
|
667
|
-
|
|
668
|
-
const invalidDataSort = computed(() => {
|
|
669
|
-
return
|
|
670
|
-
});
|
|
694
|
+
const validDataSort = computed(() => {
|
|
695
|
+
return dataWithoutSelected.value.filter(item => !item.__invalidEntry__);
|
|
696
|
+
});
|
|
697
|
+
|
|
698
|
+
const invalidDataSort = computed(() => {
|
|
699
|
+
return dataWithoutSelected.value.filter(item => item.__invalidEntry__);
|
|
700
|
+
});
|
|
671
701
|
|
|
672
702
|
const {
|
|
673
703
|
dataGrouped: dataGroupedValid,
|
|
@@ -689,24 +719,98 @@ export default {
|
|
|
689
719
|
searchingElements,
|
|
690
720
|
searchingElementsExclusive,
|
|
691
721
|
searchingElementsExtra,
|
|
692
|
-
|
|
693
|
-
searchingGroupsWithSearchInGroup,
|
|
722
|
+
searchingGroupsWithSearchInGroup,
|
|
694
723
|
searchOutsideOrApi,
|
|
695
724
|
searchOutsideRef,
|
|
696
725
|
updateModelSearch,
|
|
697
726
|
updateModelSearchOutside,
|
|
698
|
-
} = UiSearchAPI(props, context, {
|
|
699
|
-
data: dataSort,
|
|
727
|
+
} = UiSearchAPI(props, context, {
|
|
728
|
+
data: dataSort,
|
|
700
729
|
dataExtra: dataExtraLocal,
|
|
701
730
|
exclusiveOption,
|
|
702
|
-
groupsForLever,
|
|
703
|
-
groupsForLeverExtra,
|
|
731
|
+
groupsForLever: groupsForLeverSearch,
|
|
732
|
+
groupsForLeverExtra: groupsForLeverExtraSearch,
|
|
704
733
|
hasKeyGroup,
|
|
705
734
|
htmlIdLocal,
|
|
706
735
|
keyGroupArray,
|
|
707
736
|
onSearchInApi,
|
|
708
|
-
searchApiLocal,
|
|
709
|
-
});
|
|
737
|
+
searchApiLocal,
|
|
738
|
+
});
|
|
739
|
+
|
|
740
|
+
const {
|
|
741
|
+
dataSelectedVisible,
|
|
742
|
+
searchingElementsSelected,
|
|
743
|
+
searchingGroupsVisible: searchingGroupsSelected,
|
|
744
|
+
} = SelectedVisibleAPI({
|
|
745
|
+
dataSelected,
|
|
746
|
+
keyGroupArray,
|
|
747
|
+
searching,
|
|
748
|
+
searchingElements,
|
|
749
|
+
searchingElementsExclusive,
|
|
750
|
+
searchingElementsExtra,
|
|
751
|
+
searchingGroupsWithSearchInGroup,
|
|
752
|
+
});
|
|
753
|
+
|
|
754
|
+
const dataOptionsWithoutSelected = computed(() => [
|
|
755
|
+
...dataExtraWithoutSelected.value,
|
|
756
|
+
...dataWithoutSelected.value,
|
|
757
|
+
exclusiveOptionWithoutSelected.value,
|
|
758
|
+
].filter(Boolean));
|
|
759
|
+
|
|
760
|
+
const {
|
|
761
|
+
dataSelectedVisible: dataOptionsWithoutSelectedVisible,
|
|
762
|
+
} = SelectedVisibleAPI({
|
|
763
|
+
dataSelected: dataOptionsWithoutSelected,
|
|
764
|
+
keyGroupArray,
|
|
765
|
+
searching,
|
|
766
|
+
searchingElements,
|
|
767
|
+
searchingElementsExclusive,
|
|
768
|
+
searchingElementsExtra,
|
|
769
|
+
searchingGroupsWithSearchInGroup,
|
|
770
|
+
});
|
|
771
|
+
|
|
772
|
+
const {
|
|
773
|
+
dataSelectedVisible: dataWithoutSelectedVisible,
|
|
774
|
+
} = SelectedVisibleAPI({
|
|
775
|
+
dataSelected: dataWithoutSelected,
|
|
776
|
+
keyGroupArray,
|
|
777
|
+
searching,
|
|
778
|
+
searchingElements,
|
|
779
|
+
searchingElementsExclusive,
|
|
780
|
+
searchingElementsExtra,
|
|
781
|
+
searchingGroupsWithSearchInGroup,
|
|
782
|
+
});
|
|
783
|
+
|
|
784
|
+
const {
|
|
785
|
+
searchingGroupsVisible: searchingGroupsExtraWithoutSelected,
|
|
786
|
+
} = SelectedVisibleAPI({
|
|
787
|
+
dataSelected: dataExtraWithoutSelected,
|
|
788
|
+
keyGroupArray,
|
|
789
|
+
searching,
|
|
790
|
+
searchingElements,
|
|
791
|
+
searchingElementsExclusive,
|
|
792
|
+
searchingElementsExtra,
|
|
793
|
+
searchingGroupsWithSearchInGroup,
|
|
794
|
+
});
|
|
795
|
+
|
|
796
|
+
const {
|
|
797
|
+
searchingGroupsVisible: searchingGroupsValidWithoutSelected,
|
|
798
|
+
} = SelectedVisibleAPI({
|
|
799
|
+
dataSelected: validDataSort,
|
|
800
|
+
keyGroupArray,
|
|
801
|
+
searching,
|
|
802
|
+
searchingElements,
|
|
803
|
+
searchingElementsExclusive,
|
|
804
|
+
searchingElementsExtra,
|
|
805
|
+
searchingGroupsWithSearchInGroup,
|
|
806
|
+
});
|
|
807
|
+
|
|
808
|
+
const {
|
|
809
|
+
dataGrouped: dataSelectedGrouped,
|
|
810
|
+
groupsForLever: groupsForLeverSelected,
|
|
811
|
+
} = UIDataGroupAPI(props, {
|
|
812
|
+
data: dataSelectedVisible,
|
|
813
|
+
});
|
|
710
814
|
|
|
711
815
|
const {
|
|
712
816
|
buttonRef,
|
|
@@ -797,8 +901,14 @@ export default {
|
|
|
797
901
|
containerId,
|
|
798
902
|
dataExtraLocal,
|
|
799
903
|
dataExtraGrouped,
|
|
800
|
-
dataGrouped,
|
|
801
|
-
|
|
904
|
+
dataGrouped,
|
|
905
|
+
dataSelected,
|
|
906
|
+
dataSelectedGrouped,
|
|
907
|
+
dataSelectedVisible,
|
|
908
|
+
dataWithoutSelected,
|
|
909
|
+
dataWithoutSelectedVisible,
|
|
910
|
+
dataOptionsWithoutSelectedVisible,
|
|
911
|
+
dataGroupedValid,
|
|
802
912
|
dataKeyByKeyIdLocal,
|
|
803
913
|
dataLocal,
|
|
804
914
|
dataSort,
|
|
@@ -808,13 +918,16 @@ export default {
|
|
|
808
918
|
disabledLocalAttribut,
|
|
809
919
|
errorsId,
|
|
810
920
|
hasErrorIcon,
|
|
811
|
-
exclusiveDataKeyByKeyIdLocal,
|
|
812
|
-
exclusiveOption,
|
|
921
|
+
exclusiveDataKeyByKeyIdLocal,
|
|
922
|
+
exclusiveOption,
|
|
923
|
+
exclusiveOptionWithoutSelected,
|
|
813
924
|
groupsForLever,
|
|
814
925
|
groupsForLeverExtra,
|
|
926
|
+
groupsForLeverSelected,
|
|
815
927
|
groupsForLeverValid,
|
|
816
928
|
handleKeydown,
|
|
817
|
-
hasDataExtra,
|
|
929
|
+
hasDataExtra,
|
|
930
|
+
dataExtraWithoutSelected,
|
|
818
931
|
hasKeyGroup,
|
|
819
932
|
invalidDataSort,
|
|
820
933
|
hasNotElementsExclusiveWithSearch,
|
|
@@ -857,9 +970,12 @@ export default {
|
|
|
857
970
|
searching,
|
|
858
971
|
searchingElements,
|
|
859
972
|
searchingElementsExclusive,
|
|
860
|
-
searchingElementsExtra,
|
|
861
|
-
|
|
862
|
-
|
|
973
|
+
searchingElementsExtra,
|
|
974
|
+
searchingElementsSelected,
|
|
975
|
+
searchingGroupsExtraWithoutSelected,
|
|
976
|
+
searchingGroupsSelected,
|
|
977
|
+
searchingGroupsValidWithoutSelected,
|
|
978
|
+
searchingGroupsWithSearchInGroup,
|
|
863
979
|
searchOutsideOrApi,
|
|
864
980
|
searchOutsideRef,
|
|
865
981
|
selectedTitle,
|
|
@@ -922,14 +1038,11 @@ export default {
|
|
|
922
1038
|
"");
|
|
923
1039
|
}
|
|
924
1040
|
|
|
925
|
-
const hasInvalidEntries = this.invalidDataSort.length > 0;
|
|
926
|
-
const
|
|
927
|
-
this.validDataSort.length ||
|
|
928
|
-
this.
|
|
929
|
-
|
|
930
|
-
(this.isMultiselect && this.isSelectAll) ||
|
|
931
|
-
(this.isMultiselect && this.isDeselectAll)
|
|
932
|
-
);
|
|
1041
|
+
const hasInvalidEntries = this.invalidDataSort.length > 0;
|
|
1042
|
+
const isDividerBeforeInvalidVisible = !!(
|
|
1043
|
+
this.validDataSort.length ||
|
|
1044
|
+
(this.exclusiveOptionWithoutSelected && !this.dataExtraWithoutSelected.length)
|
|
1045
|
+
);
|
|
933
1046
|
const renderInvalidEntries = () => {
|
|
934
1047
|
if (!hasInvalidEntries) {
|
|
935
1048
|
return null;
|
|
@@ -938,7 +1051,7 @@ export default {
|
|
|
938
1051
|
return h("div", {
|
|
939
1052
|
class: "a_select__invalid_entries",
|
|
940
1053
|
}, [
|
|
941
|
-
|
|
1054
|
+
isDividerBeforeInvalidVisible && h("div", {
|
|
942
1055
|
class: "a_select__divider",
|
|
943
1056
|
ariaHidden: true,
|
|
944
1057
|
}),
|
|
@@ -1249,32 +1362,82 @@ export default {
|
|
|
1249
1362
|
tag: "span",
|
|
1250
1363
|
}),
|
|
1251
1364
|
]),
|
|
1252
|
-
(this.isDividerSelectDeselectVisible) && h("div", {
|
|
1253
|
-
class: "a_select__divider",
|
|
1254
|
-
ariaHidden: true,
|
|
1255
|
-
}),
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1365
|
+
(this.isDividerSelectDeselectVisible) && h("div", {
|
|
1366
|
+
class: "a_select__divider",
|
|
1367
|
+
ariaHidden: true,
|
|
1368
|
+
}),
|
|
1369
|
+
!!this.dataSelectedVisible.length && h("div", {
|
|
1370
|
+
class: "a_select__selected_first",
|
|
1371
|
+
}, [
|
|
1372
|
+
...(this.hasKeyGroup ?
|
|
1373
|
+
[h(ACheckboxRadioGroups, {
|
|
1374
|
+
id: `${ this.htmlIdLocal }_selected_lev_0`,
|
|
1375
|
+
alwaysTranslate: this.alwaysTranslate,
|
|
1376
|
+
dataGrouped: this.dataSelectedGrouped,
|
|
1377
|
+
disabled: this.disabled,
|
|
1378
|
+
groupsForLever: this.groupsForLeverSelected,
|
|
1379
|
+
isErrors: this.isErrors,
|
|
1380
|
+
keyDisabled: this.keyDisabled,
|
|
1381
|
+
keyDisabledCallback: this.keyDisabledCallback,
|
|
1382
|
+
levelIndex: 0,
|
|
1383
|
+
modelSearch: this.modelSearchLowerCase,
|
|
1384
|
+
modelValue: this.modelValue,
|
|
1385
|
+
searching: this.searching,
|
|
1386
|
+
searchingElements: this.searchingElementsSelected,
|
|
1387
|
+
searchingGroups: this.searchingGroupsSelected,
|
|
1388
|
+
searchingGroupsWithSearchInGroup: this.searchingGroupsWithSearchInGroup,
|
|
1389
|
+
searchTextInHtml: this.searchTextInHtml,
|
|
1390
|
+
slotName: this.slotName,
|
|
1391
|
+
type: this.type,
|
|
1392
|
+
onChangeModelValue: this.onChangeModelValue,
|
|
1393
|
+
}, this.$slots)] :
|
|
1394
|
+
this.dataSelectedVisible.map((item, itemIndex) => {
|
|
1395
|
+
return h(ASelectElement, {
|
|
1396
|
+
key: item[AKeyId],
|
|
1397
|
+
id: this.htmlIdLocal,
|
|
1398
|
+
alwaysTranslate: this.alwaysTranslate,
|
|
1399
|
+
dataItem: item,
|
|
1400
|
+
disabled: this.disabled,
|
|
1401
|
+
itemIndex,
|
|
1402
|
+
keyDisabled: this.keyDisabled,
|
|
1403
|
+
keyDisabledCallback: this.keyDisabledCallback,
|
|
1404
|
+
modelSearch: this.modelSearchLowerCase,
|
|
1405
|
+
modelValue: this.modelValue,
|
|
1406
|
+
searching: this.searching,
|
|
1407
|
+
searchingElements: this.searchingElementsSelected,
|
|
1408
|
+
searchTextInHtml: this.searchTextInHtml,
|
|
1409
|
+
slotName: this.slotName,
|
|
1410
|
+
type: this.type,
|
|
1411
|
+
onChangeModelValue: this.onChangeModelValue,
|
|
1412
|
+
}, this.$slots);
|
|
1413
|
+
})),
|
|
1414
|
+
]),
|
|
1415
|
+
(!!this.dataSelectedVisible.length &&
|
|
1416
|
+
!!this.dataOptionsWithoutSelectedVisible.length) && h("div", {
|
|
1417
|
+
class: "a_select__divider",
|
|
1418
|
+
ariaHidden: true,
|
|
1419
|
+
}),
|
|
1420
|
+
(this.loadingLocal || this.loadingSearchApi) ?
|
|
1421
|
+
h(ACloak) :
|
|
1422
|
+
"",
|
|
1423
|
+
(this.isMultiselect && this.exclusiveOptionWithoutSelected) && h("div", {}, [
|
|
1424
|
+
h(ASelectElement, {
|
|
1425
|
+
key: this.exclusiveOptionValue,
|
|
1426
|
+
id: this.htmlIdLocal,
|
|
1427
|
+
alwaysTranslate: true,
|
|
1428
|
+
dataItem: this.exclusiveOptionWithoutSelected,
|
|
1265
1429
|
disabled: false,
|
|
1266
1430
|
itemIndex: 0,
|
|
1267
1431
|
modelSearch: this.modelSearchLowerCase,
|
|
1268
1432
|
modelValue: this.modelValue,
|
|
1269
1433
|
searching: this.searching,
|
|
1270
1434
|
searchingElements: this.searchingElementsExclusive,
|
|
1271
|
-
|
|
1272
|
-
searchTextInHtml: this.searchTextInHtml,
|
|
1435
|
+
searchTextInHtml: this.searchTextInHtml,
|
|
1273
1436
|
type: this.type,
|
|
1274
1437
|
onChangeModelValue: this.onChangeModelValue,
|
|
1275
1438
|
}, this.$slots),
|
|
1276
1439
|
]),
|
|
1277
|
-
this.
|
|
1440
|
+
!!this.dataExtraWithoutSelected.length && h("div", {}, [
|
|
1278
1441
|
...(this.hasKeyGroup ?
|
|
1279
1442
|
[h(ACheckboxRadioGroups, {
|
|
1280
1443
|
id: `${ this.htmlIdLocal }_extra_lev_0`,
|
|
@@ -1290,14 +1453,14 @@ export default {
|
|
|
1290
1453
|
modelValue: this.modelValue,
|
|
1291
1454
|
searching: this.searching,
|
|
1292
1455
|
searchingElements: this.searchingElementsExtra,
|
|
1293
|
-
searchingGroups: this.
|
|
1456
|
+
searchingGroups: this.searchingGroupsExtraWithoutSelected,
|
|
1294
1457
|
searchingGroupsWithSearchInGroup: this.searchingGroupsWithSearchInGroup,
|
|
1295
1458
|
searchTextInHtml: this.searchTextInHtml,
|
|
1296
1459
|
slotName: this.slotName,
|
|
1297
1460
|
type: this.type,
|
|
1298
1461
|
onChangeModelValue: this.onChangeModelValue,
|
|
1299
1462
|
}, this.$slots)] :
|
|
1300
|
-
this.
|
|
1463
|
+
this.dataExtraWithoutSelected.map((item, itemIndex) => {
|
|
1301
1464
|
return h(ASelectElement, {
|
|
1302
1465
|
key: item[AKeyId],
|
|
1303
1466
|
id: this.htmlIdLocal,
|
|
@@ -1317,7 +1480,9 @@ export default {
|
|
|
1317
1480
|
onChangeModelValue: this.onChangeModelValue,
|
|
1318
1481
|
}, this.$slots);
|
|
1319
1482
|
})),
|
|
1320
|
-
|
|
1483
|
+
!!this.dataWithoutSelectedVisible.length &&
|
|
1484
|
+
!this.hasNotElementsExtraWithSearch &&
|
|
1485
|
+
!this.hasNotElementsExclusiveWithSearch && h("div", {
|
|
1321
1486
|
class: "a_select__divider",
|
|
1322
1487
|
ariaHidden: true,
|
|
1323
1488
|
}),
|
|
@@ -1338,7 +1503,7 @@ export default {
|
|
|
1338
1503
|
modelValue: this.modelValue,
|
|
1339
1504
|
searching: this.searching,
|
|
1340
1505
|
searchingElements: this.searchingElements,
|
|
1341
|
-
searchingGroups: this.
|
|
1506
|
+
searchingGroups: this.searchingGroupsValidWithoutSelected,
|
|
1342
1507
|
searchingGroupsWithSearchInGroup: this.searchingGroupsWithSearchInGroup,
|
|
1343
1508
|
searchTextInHtml: this.searchTextInHtml,
|
|
1344
1509
|
slotName: this.slotName,
|
|
@@ -1371,7 +1536,11 @@ export default {
|
|
|
1371
1536
|
]),
|
|
1372
1537
|
]),
|
|
1373
1538
|
renderInvalidEntries(),
|
|
1374
|
-
((!this.
|
|
1539
|
+
((!this.dataWithoutSelected.length &&
|
|
1540
|
+
!this.dataExtraWithoutSelected.length &&
|
|
1541
|
+
!this.exclusiveOptionWithoutSelected &&
|
|
1542
|
+
!this.dataSelected.length
|
|
1543
|
+
) || this.hasNotElementsWithSearch) ?
|
|
1375
1544
|
h(ATranslation, {
|
|
1376
1545
|
alwaysTranslate: this.alwaysTranslate,
|
|
1377
1546
|
class: "a_form__not_elements",
|