@tekkare/auriga 0.1.16 → 0.1.17
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/dist/module.json +1 -1
- package/dist/runtime/components/argBtn.vue +4 -5
- package/dist/runtime/components/argFilterCard.vue +13 -4
- package/dist/runtime/components/argFilterCard.vue.d.ts +14 -3
- package/dist/runtime/components/argInfoBar.vue +1 -1
- package/dist/runtime/components/argInfoBar.vue.d.ts +2 -3
- package/dist/runtime/components/argInfoSection.vue +1 -1
- package/dist/runtime/components/argInfoSection.vue.d.ts +2 -3
- package/dist/runtime/components/argMenuItem.vue +2 -2
- package/dist/runtime/components/argMenuLink.vue +2 -1
- package/dist/runtime/components/argMultipleSelect.vue +83 -34
- package/dist/runtime/components/argMultipleSelect.vue.d.ts +67 -12
- package/dist/runtime/components/argScopeModal.vue +303 -0
- package/dist/runtime/components/argScopeModal.vue.d.ts +34 -0
- package/dist/runtime/components/argSidebar.vue.d.ts +2 -2
- package/dist/runtime/components/argSimpleInput.vue +2 -2
- package/dist/runtime/components/argStyle.vue +9 -0
- package/dist/runtime/components/argSubMenu.vue +3 -3
- package/package.json +1 -1
package/dist/module.json
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<client-only><arg-style /></client-only>
|
|
3
2
|
<div>
|
|
4
|
-
<
|
|
3
|
+
<span
|
|
5
4
|
v-if="onlyIcon === false"
|
|
6
5
|
:class="
|
|
7
6
|
`oip_${btnStyle}_button oip_btn ` +
|
|
@@ -26,8 +25,8 @@
|
|
|
26
25
|
<div></div>
|
|
27
26
|
</div>
|
|
28
27
|
</span>
|
|
29
|
-
</
|
|
30
|
-
<
|
|
28
|
+
</span>
|
|
29
|
+
<span
|
|
31
30
|
v-if="becomeSmall === true || onlyIcon === true"
|
|
32
31
|
:class="
|
|
33
32
|
`oip_${btnStyle}_icon_button oip_btn ` +
|
|
@@ -48,7 +47,7 @@
|
|
|
48
47
|
size="20px"
|
|
49
48
|
:class="{ oip_button_is_loading: loading }"
|
|
50
49
|
/>
|
|
51
|
-
</
|
|
50
|
+
</span>
|
|
52
51
|
</div>
|
|
53
52
|
</template>
|
|
54
53
|
|
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
>
|
|
7
7
|
<div class="oip_row v-center space-between full-width">
|
|
8
8
|
<div class="oip_row v-center gap-8">
|
|
9
|
-
<p class="filters_title">Filters</p>
|
|
9
|
+
<p class="filters_title">{{ lang === "fr" ? "Filtres" : "Filters" }}</p>
|
|
10
10
|
<div class="filters_amount">{{ filters_amount }}</div>
|
|
11
11
|
<p
|
|
12
|
-
v-if="
|
|
12
|
+
v-if="haveSaveScope && filtersOpen"
|
|
13
13
|
class="filters_save"
|
|
14
14
|
@click.stop="save()"
|
|
15
15
|
>
|
|
@@ -42,13 +42,22 @@ import {
|
|
|
42
42
|
ref,
|
|
43
43
|
defineComponent
|
|
44
44
|
} from "vue";
|
|
45
|
+
import argIcon from "./argIcon.vue";
|
|
45
46
|
export default defineComponent({
|
|
46
47
|
name: "argFilterCard",
|
|
48
|
+
components: { argIcon },
|
|
47
49
|
props: {
|
|
48
50
|
filters_amount: { type: Number, default: 0 },
|
|
49
|
-
|
|
51
|
+
haveSaveScope: { type: Boolean, default: false },
|
|
50
52
|
clearMsg: { type: String, default: "Clear all" },
|
|
51
|
-
saveScopeMsg: { type: String, default: "Save scope" }
|
|
53
|
+
saveScopeMsg: { type: String, default: "Save scope" },
|
|
54
|
+
lang: {
|
|
55
|
+
type: String,
|
|
56
|
+
default: "en",
|
|
57
|
+
validator: (value) => {
|
|
58
|
+
return ["en", "fr"].includes(value);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
52
61
|
},
|
|
53
62
|
emits: ["clearFilters", "saveScope"],
|
|
54
63
|
setup(props, { emit }) {
|
|
@@ -3,7 +3,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
3
3
|
type: NumberConstructor;
|
|
4
4
|
default: number;
|
|
5
5
|
};
|
|
6
|
-
|
|
6
|
+
haveSaveScope: {
|
|
7
7
|
type: BooleanConstructor;
|
|
8
8
|
default: boolean;
|
|
9
9
|
};
|
|
@@ -15,6 +15,11 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
15
15
|
type: StringConstructor;
|
|
16
16
|
default: string;
|
|
17
17
|
};
|
|
18
|
+
lang: {
|
|
19
|
+
type: StringConstructor;
|
|
20
|
+
default: string;
|
|
21
|
+
validator: (value: string) => boolean;
|
|
22
|
+
};
|
|
18
23
|
}, {
|
|
19
24
|
filtersOpen: import("vue").Ref<boolean>;
|
|
20
25
|
clear: () => void;
|
|
@@ -24,7 +29,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
24
29
|
type: NumberConstructor;
|
|
25
30
|
default: number;
|
|
26
31
|
};
|
|
27
|
-
|
|
32
|
+
haveSaveScope: {
|
|
28
33
|
type: BooleanConstructor;
|
|
29
34
|
default: boolean;
|
|
30
35
|
};
|
|
@@ -36,12 +41,18 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
36
41
|
type: StringConstructor;
|
|
37
42
|
default: string;
|
|
38
43
|
};
|
|
44
|
+
lang: {
|
|
45
|
+
type: StringConstructor;
|
|
46
|
+
default: string;
|
|
47
|
+
validator: (value: string) => boolean;
|
|
48
|
+
};
|
|
39
49
|
}>> & {
|
|
40
50
|
onClearFilters?: ((...args: any[]) => any) | undefined;
|
|
41
51
|
onSaveScope?: ((...args: any[]) => any) | undefined;
|
|
42
52
|
}, {
|
|
43
|
-
|
|
53
|
+
lang: string;
|
|
44
54
|
filters_amount: number;
|
|
55
|
+
haveSaveScope: boolean;
|
|
45
56
|
clearMsg: string;
|
|
46
57
|
saveScopeMsg: string;
|
|
47
58
|
}, {}>;
|
|
@@ -8,7 +8,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
8
8
|
};
|
|
9
9
|
sourceAmount: {
|
|
10
10
|
type: NumberConstructor;
|
|
11
|
-
|
|
11
|
+
required: true;
|
|
12
12
|
};
|
|
13
13
|
}, {
|
|
14
14
|
infoOpen: import("vue").Ref<boolean>;
|
|
@@ -24,12 +24,11 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
24
24
|
};
|
|
25
25
|
sourceAmount: {
|
|
26
26
|
type: NumberConstructor;
|
|
27
|
-
|
|
27
|
+
required: true;
|
|
28
28
|
};
|
|
29
29
|
}>> & {
|
|
30
30
|
onOpenInfo?: ((...args: any[]) => any) | undefined;
|
|
31
31
|
}, {
|
|
32
32
|
infoArray: unknown[];
|
|
33
|
-
sourceAmount: number;
|
|
34
33
|
}, {}>;
|
|
35
34
|
export default _default;
|
|
@@ -16,7 +16,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
16
16
|
};
|
|
17
17
|
sourceAmount: {
|
|
18
18
|
type: NumberConstructor;
|
|
19
|
-
|
|
19
|
+
required: true;
|
|
20
20
|
};
|
|
21
21
|
}, {
|
|
22
22
|
infoOpen: import("vue").Ref<boolean>;
|
|
@@ -41,7 +41,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
41
41
|
};
|
|
42
42
|
sourceAmount: {
|
|
43
43
|
type: NumberConstructor;
|
|
44
|
-
|
|
44
|
+
required: true;
|
|
45
45
|
};
|
|
46
46
|
}>> & {
|
|
47
47
|
"onUpdate:Menu"?: ((...args: any[]) => any) | undefined;
|
|
@@ -49,7 +49,6 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
49
49
|
}, {
|
|
50
50
|
openInfo: boolean;
|
|
51
51
|
infoArray: unknown[];
|
|
52
|
-
sourceAmount: number;
|
|
53
52
|
activeMenu: string;
|
|
54
53
|
}, {}>;
|
|
55
54
|
export default _default;
|
|
@@ -14,14 +14,14 @@
|
|
|
14
14
|
</template>
|
|
15
15
|
<script>
|
|
16
16
|
import argIcon from "./argIcon.vue";
|
|
17
|
-
import argStyle from "./argStyle.vue";
|
|
18
17
|
import argFlag from "./argFlag.vue";
|
|
18
|
+
import argTooltip from "./argTooltip.vue";
|
|
19
19
|
import {
|
|
20
20
|
defineComponent
|
|
21
21
|
} from "vue";
|
|
22
22
|
export default defineComponent({
|
|
23
23
|
name: "argMenuItem",
|
|
24
|
-
components: { argIcon,
|
|
24
|
+
components: { argIcon, argFlag, argTooltip },
|
|
25
25
|
props: {
|
|
26
26
|
to: { type: String, required: true },
|
|
27
27
|
//Require eiter an icon or a country flag
|
|
@@ -35,9 +35,10 @@ import {
|
|
|
35
35
|
defineComponent
|
|
36
36
|
} from "vue";
|
|
37
37
|
import argIcon from "./argIcon.vue";
|
|
38
|
+
import argTooltip from "./argTooltip.vue";
|
|
38
39
|
export default defineComponent({
|
|
39
40
|
name: "argMenuLink",
|
|
40
|
-
components: { argIcon },
|
|
41
|
+
components: { argIcon, argTooltip },
|
|
41
42
|
props: {
|
|
42
43
|
icon: { type: String, required: true },
|
|
43
44
|
label: { type: String, required: true },
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div>
|
|
3
|
-
<arg-style />
|
|
4
3
|
<!-- Simple select -->
|
|
5
4
|
<div class="oip_select_display">
|
|
6
5
|
<p class="oip_filter_label">{{ multiple_label }}</p>
|
|
@@ -69,7 +68,7 @@
|
|
|
69
68
|
? 'CheckSquareFill'
|
|
70
69
|
: 'Square'
|
|
71
70
|
"
|
|
72
|
-
|
|
71
|
+
/>
|
|
73
72
|
<div
|
|
74
73
|
:class="[
|
|
75
74
|
'oip_select_complex_selection_loop_name',
|
|
@@ -85,9 +84,9 @@
|
|
|
85
84
|
<div v-if="multiple_columns" class="oip_row v-start gap-16">
|
|
86
85
|
<div v-for="(table, tabIndex) of filterName" :key="tabIndex">
|
|
87
86
|
<div
|
|
88
|
-
class="oip_select_complex_selection_loop multiple"
|
|
89
87
|
v-for="(element, index) of table"
|
|
90
88
|
:key="index"
|
|
89
|
+
class="oip_select_complex_selection_loop multiple"
|
|
91
90
|
:class="
|
|
92
91
|
options_disable.includes(index + tabIndex * 7)
|
|
93
92
|
? 'disabled'
|
|
@@ -120,7 +119,7 @@
|
|
|
120
119
|
? 'CheckSquareFill'
|
|
121
120
|
: 'Square'
|
|
122
121
|
"
|
|
123
|
-
|
|
122
|
+
/>
|
|
124
123
|
<div
|
|
125
124
|
:class="[
|
|
126
125
|
'oip_select_complex_selection_loop_name',
|
|
@@ -134,9 +133,9 @@
|
|
|
134
133
|
</div>
|
|
135
134
|
<div v-else>
|
|
136
135
|
<div
|
|
137
|
-
class="oip_select_complex_selection_loop multiple"
|
|
138
136
|
v-for="(element, index) of filterName"
|
|
139
137
|
:key="index"
|
|
138
|
+
class="oip_select_complex_selection_loop multiple"
|
|
140
139
|
:class="options_disable.includes(index) ? 'disabled' : ''"
|
|
141
140
|
@click="
|
|
142
141
|
selected_items.includes(element)
|
|
@@ -161,7 +160,7 @@
|
|
|
161
160
|
? 'CheckSquareFill'
|
|
162
161
|
: 'Square'
|
|
163
162
|
"
|
|
164
|
-
|
|
163
|
+
/>
|
|
165
164
|
<div
|
|
166
165
|
:class="[
|
|
167
166
|
'oip_select_complex_selection_loop_name',
|
|
@@ -200,7 +199,7 @@
|
|
|
200
199
|
? 'CheckSquareFill'
|
|
201
200
|
: 'Square'
|
|
202
201
|
"
|
|
203
|
-
|
|
202
|
+
/>
|
|
204
203
|
<div
|
|
205
204
|
:class="[
|
|
206
205
|
'oip_select_complex_selection_loop_name',
|
|
@@ -242,7 +241,7 @@
|
|
|
242
241
|
:name="
|
|
243
242
|
selectedCats.includes(index) ? 'CheckSquareFill' : 'Square'
|
|
244
243
|
"
|
|
245
|
-
|
|
244
|
+
/>
|
|
246
245
|
<div
|
|
247
246
|
:class="[
|
|
248
247
|
'oip_select_complex_selection_loop_name',
|
|
@@ -258,9 +257,9 @@
|
|
|
258
257
|
</div>
|
|
259
258
|
<div class="left_margin">
|
|
260
259
|
<div
|
|
261
|
-
class="oip_select_complex_selection_loop multiple"
|
|
262
260
|
v-for="(option, optIndex) of element.values"
|
|
263
261
|
:key="optIndex"
|
|
262
|
+
class="oip_select_complex_selection_loop multiple"
|
|
264
263
|
@click="
|
|
265
264
|
nestedIncludes(option, index)
|
|
266
265
|
? del_nested_element(index, option)
|
|
@@ -274,7 +273,7 @@
|
|
|
274
273
|
:name="
|
|
275
274
|
nestedIncludes(option, index) ? 'CheckSquareFill' : 'Square'
|
|
276
275
|
"
|
|
277
|
-
|
|
276
|
+
/>
|
|
278
277
|
<div
|
|
279
278
|
:class="[
|
|
280
279
|
'oip_select_complex_selection_loop_name',
|
|
@@ -311,7 +310,7 @@ export default defineComponent({
|
|
|
311
310
|
search: { type: Boolean, default: true },
|
|
312
311
|
filter_placeholder: { type: String, required: false },
|
|
313
312
|
show_all: { type: Boolean, default: false },
|
|
314
|
-
default_select: { type: Array, required: false },
|
|
313
|
+
default_select: { type: Array, required: false, default: () => [] },
|
|
315
314
|
preselection_all: { type: Boolean, default: false },
|
|
316
315
|
disabled: { type: Boolean, default: false },
|
|
317
316
|
multiple_columns: { type: Boolean, default: false },
|
|
@@ -325,7 +324,7 @@ export default defineComponent({
|
|
|
325
324
|
const selected_items = ref([]);
|
|
326
325
|
const selected_nested = ref([]);
|
|
327
326
|
const isDisplay = ref(false);
|
|
328
|
-
const searchName = ref(
|
|
327
|
+
const searchName = ref("");
|
|
329
328
|
const selected_all = ref(false);
|
|
330
329
|
const selectedCats = ref([]);
|
|
331
330
|
const valueFrom = ref([]);
|
|
@@ -343,6 +342,16 @@ export default defineComponent({
|
|
|
343
342
|
}
|
|
344
343
|
}
|
|
345
344
|
);
|
|
345
|
+
watch(
|
|
346
|
+
() => props.default_select,
|
|
347
|
+
(new_selected) => {
|
|
348
|
+
if (new_selected && new_selected.length > 0) {
|
|
349
|
+
selected_items.value = new_selected.map(
|
|
350
|
+
(index) => element_table_copy.value[index]
|
|
351
|
+
);
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
);
|
|
346
355
|
onBeforeMount(() => {
|
|
347
356
|
element_table_copy.value = props.element_table;
|
|
348
357
|
if (props.preselection_all) {
|
|
@@ -352,8 +361,6 @@ export default defineComponent({
|
|
|
352
361
|
(index) => element_table_copy.value[index]
|
|
353
362
|
);
|
|
354
363
|
}
|
|
355
|
-
emit("changeElement", selected_items.value);
|
|
356
|
-
emit("update:Selection", selected_items.value);
|
|
357
364
|
});
|
|
358
365
|
const getAllSelect = computed(() => {
|
|
359
366
|
const fullSelect = props.nested ? selected_nested.value : selected_items.value;
|
|
@@ -403,7 +410,7 @@ export default defineComponent({
|
|
|
403
410
|
return props.element_table;
|
|
404
411
|
} else {
|
|
405
412
|
let selectTable = [];
|
|
406
|
-
|
|
413
|
+
const finalTable = [];
|
|
407
414
|
if (searchName.value !== null) {
|
|
408
415
|
selectTable = [
|
|
409
416
|
...new Set(
|
|
@@ -429,7 +436,7 @@ export default defineComponent({
|
|
|
429
436
|
}
|
|
430
437
|
});
|
|
431
438
|
const filterNested = computed(() => {
|
|
432
|
-
if (searchName.value !== null || searchName.value && searchName.value
|
|
439
|
+
if (searchName.value !== null || searchName.value && searchName.value !== "") {
|
|
433
440
|
return element_table_copy.value.filter(
|
|
434
441
|
(element) => element.values.includes(
|
|
435
442
|
searchName.value || searchName.value.toLowerCase()
|
|
@@ -439,7 +446,7 @@ export default defineComponent({
|
|
|
439
446
|
return props.element_table;
|
|
440
447
|
});
|
|
441
448
|
const optionsWithoutDisabled = computed(() => {
|
|
442
|
-
|
|
449
|
+
const optionsArray = [Number];
|
|
443
450
|
for (let i = 0; i < element_table_copy.value.length; i++) {
|
|
444
451
|
if (!props.options_disable.includes(i)) {
|
|
445
452
|
optionsArray.push(element_table_copy.value[i]);
|
|
@@ -509,16 +516,28 @@ export default defineComponent({
|
|
|
509
516
|
function add_element(element, index) {
|
|
510
517
|
if (!props.options_disable.includes(index)) {
|
|
511
518
|
selected_items.value.push(element);
|
|
512
|
-
emit(
|
|
513
|
-
|
|
519
|
+
emit(
|
|
520
|
+
"changeElement",
|
|
521
|
+
selected_items.value.map((a) => a)
|
|
522
|
+
);
|
|
523
|
+
emit(
|
|
524
|
+
"update:Selection",
|
|
525
|
+
selected_items.value.map((a) => a)
|
|
526
|
+
);
|
|
514
527
|
}
|
|
515
528
|
}
|
|
516
529
|
function del_element(element, index) {
|
|
517
530
|
selected_all.value = false;
|
|
518
531
|
if (!props.options_disable.includes(index)) {
|
|
519
532
|
selected_items.value.splice(selected_items.value.indexOf(element), 1);
|
|
520
|
-
emit(
|
|
521
|
-
|
|
533
|
+
emit(
|
|
534
|
+
"changeElement",
|
|
535
|
+
selected_items.value.map((a) => a)
|
|
536
|
+
);
|
|
537
|
+
emit(
|
|
538
|
+
"update:Selection",
|
|
539
|
+
selected_items.value.map((a) => a)
|
|
540
|
+
);
|
|
522
541
|
}
|
|
523
542
|
}
|
|
524
543
|
function add_nested_element(index, elem) {
|
|
@@ -539,8 +558,14 @@ export default defineComponent({
|
|
|
539
558
|
title: element_table_copy.value[index].title,
|
|
540
559
|
elements: [elem]
|
|
541
560
|
});
|
|
542
|
-
emit(
|
|
543
|
-
|
|
561
|
+
emit(
|
|
562
|
+
"changeElement",
|
|
563
|
+
selected_nested.value.map((a) => a)
|
|
564
|
+
);
|
|
565
|
+
emit(
|
|
566
|
+
"update:Selection",
|
|
567
|
+
selected_nested.value.map((a) => a)
|
|
568
|
+
);
|
|
544
569
|
}
|
|
545
570
|
function del_nested_elements(index, elem) {
|
|
546
571
|
selected_all.value = false;
|
|
@@ -570,8 +595,14 @@ export default defineComponent({
|
|
|
570
595
|
);
|
|
571
596
|
}
|
|
572
597
|
}
|
|
573
|
-
emit(
|
|
574
|
-
|
|
598
|
+
emit(
|
|
599
|
+
"changeElement",
|
|
600
|
+
selected_nested.value.map((a) => a)
|
|
601
|
+
);
|
|
602
|
+
emit(
|
|
603
|
+
"update:Selection",
|
|
604
|
+
selected_nested.value.map((a) => a)
|
|
605
|
+
);
|
|
575
606
|
}
|
|
576
607
|
function add_all() {
|
|
577
608
|
selected_all.value = true;
|
|
@@ -600,11 +631,11 @@ export default defineComponent({
|
|
|
600
631
|
}
|
|
601
632
|
emit(
|
|
602
633
|
"changeElement",
|
|
603
|
-
props.nested ? selected_nested.value : selected_items.value
|
|
634
|
+
props.nested ? selected_nested.value.map((a) => a) : selected_items.value.map((a) => a)
|
|
604
635
|
);
|
|
605
636
|
emit(
|
|
606
637
|
"update:Selection",
|
|
607
|
-
props.nested ? selected_nested.value : selected_items.value
|
|
638
|
+
props.nested ? selected_nested.value.map((a) => a) : selected_items.value.map((a) => a)
|
|
608
639
|
);
|
|
609
640
|
}
|
|
610
641
|
function add_all_cat(index) {
|
|
@@ -612,15 +643,21 @@ export default defineComponent({
|
|
|
612
643
|
if (selected_nested.value.filter((f) => f.cat === index).length === 0) {
|
|
613
644
|
selected_nested.value.push({
|
|
614
645
|
cat: index,
|
|
615
|
-
title:
|
|
646
|
+
title: element_table_copy.value[index].title,
|
|
616
647
|
elements: element_table_copy.value[index].values
|
|
617
648
|
});
|
|
618
649
|
} else
|
|
619
650
|
selected_nested.value[selected_nested.value.findIndex(
|
|
620
651
|
(f) => f.cat === index
|
|
621
652
|
)].elements = element_table_copy.value[index].values;
|
|
622
|
-
emit(
|
|
623
|
-
|
|
653
|
+
emit(
|
|
654
|
+
"changeElement",
|
|
655
|
+
selected_nested.value.map((a) => a)
|
|
656
|
+
);
|
|
657
|
+
emit(
|
|
658
|
+
"update:Selection",
|
|
659
|
+
selected_nested.value.map((a) => a)
|
|
660
|
+
);
|
|
624
661
|
}
|
|
625
662
|
function del_all_cat(index) {
|
|
626
663
|
selected_all.value = false;
|
|
@@ -635,16 +672,28 @@ export default defineComponent({
|
|
|
635
672
|
1
|
|
636
673
|
);
|
|
637
674
|
}
|
|
638
|
-
emit(
|
|
639
|
-
|
|
675
|
+
emit(
|
|
676
|
+
"changeElement",
|
|
677
|
+
selected_nested.value.map((a) => a)
|
|
678
|
+
);
|
|
679
|
+
emit(
|
|
680
|
+
"update:Selection",
|
|
681
|
+
selected_nested.value.map((a) => a)
|
|
682
|
+
);
|
|
640
683
|
}
|
|
641
684
|
function del_all() {
|
|
642
685
|
selected_all.value = false;
|
|
643
686
|
selected_items.value = [];
|
|
644
687
|
selected_nested.value = [];
|
|
645
688
|
selectedCats.value = [];
|
|
646
|
-
emit(
|
|
647
|
-
|
|
689
|
+
emit(
|
|
690
|
+
"changeElement",
|
|
691
|
+
selected_items.value.map((a) => a)
|
|
692
|
+
);
|
|
693
|
+
emit(
|
|
694
|
+
"update:Selection",
|
|
695
|
+
selected_items.value.map((a) => a)
|
|
696
|
+
);
|
|
648
697
|
}
|
|
649
698
|
onUnmounted(() => {
|
|
650
699
|
document.removeEventListener("click", close);
|
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
declare const _default: import("vue").DefineComponent<{
|
|
2
2
|
element_table: {
|
|
3
|
-
type:
|
|
3
|
+
type: {
|
|
4
|
+
(arrayLength: number): any[];
|
|
5
|
+
(...items: any[]): any[];
|
|
6
|
+
new (arrayLength: number): any[];
|
|
7
|
+
new (...items: any[]): any[];
|
|
8
|
+
isArray(arg: any): arg is any[];
|
|
9
|
+
readonly prototype: any[];
|
|
10
|
+
from<T>(arrayLike: ArrayLike<T>): T[];
|
|
11
|
+
from<T_1, U>(arrayLike: ArrayLike<T_1>, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[];
|
|
12
|
+
from<T_2>(iterable: Iterable<T_2> | ArrayLike<T_2>): T_2[];
|
|
13
|
+
from<T_3, U_1>(iterable: Iterable<T_3> | ArrayLike<T_3>, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[];
|
|
14
|
+
of<T_4>(...items: T_4[]): T_4[];
|
|
15
|
+
readonly [Symbol.species]: ArrayConstructor;
|
|
16
|
+
};
|
|
4
17
|
required: true;
|
|
5
18
|
};
|
|
6
19
|
nested: {
|
|
@@ -20,8 +33,22 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
20
33
|
default: boolean;
|
|
21
34
|
};
|
|
22
35
|
default_select: {
|
|
23
|
-
type:
|
|
36
|
+
type: {
|
|
37
|
+
(arrayLength: number): any[];
|
|
38
|
+
(...items: any[]): any[];
|
|
39
|
+
new (arrayLength: number): any[];
|
|
40
|
+
new (...items: any[]): any[];
|
|
41
|
+
isArray(arg: any): arg is any[];
|
|
42
|
+
readonly prototype: any[];
|
|
43
|
+
from<T>(arrayLike: ArrayLike<T>): T[];
|
|
44
|
+
from<T_1, U>(arrayLike: ArrayLike<T_1>, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[];
|
|
45
|
+
from<T_2>(iterable: Iterable<T_2> | ArrayLike<T_2>): T_2[];
|
|
46
|
+
from<T_3, U_1>(iterable: Iterable<T_3> | ArrayLike<T_3>, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[];
|
|
47
|
+
of<T_4>(...items: T_4[]): T_4[];
|
|
48
|
+
readonly [Symbol.species]: ArrayConstructor;
|
|
49
|
+
};
|
|
24
50
|
required: false;
|
|
51
|
+
default: () => never[];
|
|
25
52
|
};
|
|
26
53
|
preselection_all: {
|
|
27
54
|
type: BooleanConstructor;
|
|
@@ -57,7 +84,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
57
84
|
add_all_cat: (index: number) => void;
|
|
58
85
|
add_all: () => void;
|
|
59
86
|
del_nested_elements: (index: number, elem: string) => void;
|
|
60
|
-
add_nested_element: (index: number, elem:
|
|
87
|
+
add_nested_element: (index: number, elem: any) => void;
|
|
61
88
|
del_element: (element: string, index: number) => void;
|
|
62
89
|
add_element: (element: string, index: number) => void;
|
|
63
90
|
close: () => void;
|
|
@@ -68,20 +95,33 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
68
95
|
changeInput: () => void;
|
|
69
96
|
nestedSelectedLength: import("vue").ComputedRef<number>;
|
|
70
97
|
optionsWithoutDisabled: import("vue").ComputedRef<NumberConstructor[]>;
|
|
71
|
-
filterNested: import("vue").ComputedRef<
|
|
72
|
-
filterName: import("vue").ComputedRef<
|
|
73
|
-
getOptions: import("vue").ComputedRef<
|
|
98
|
+
filterNested: import("vue").ComputedRef<any[]>;
|
|
99
|
+
filterName: import("vue").ComputedRef<any[]>;
|
|
100
|
+
getOptions: import("vue").ComputedRef<any[]>;
|
|
74
101
|
getAllSelect: import("vue").ComputedRef<string>;
|
|
75
102
|
isDisplay: import("vue").Ref<boolean>;
|
|
76
|
-
searchName: import("vue").Ref<
|
|
77
|
-
selected_items: import("vue").Ref<
|
|
78
|
-
selected_nested: import("vue").Ref<
|
|
103
|
+
searchName: import("vue").Ref<string>;
|
|
104
|
+
selected_items: import("vue").Ref<any[]>;
|
|
105
|
+
selected_nested: import("vue").Ref<any[]>;
|
|
79
106
|
selected_all: import("vue").Ref<boolean>;
|
|
80
|
-
selectedCats: import("vue").Ref<
|
|
107
|
+
selectedCats: import("vue").Ref<number[]>;
|
|
81
108
|
valueFrom: import("vue").Ref<never[]>;
|
|
82
109
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("onClose" | "changeElement" | "update:Selection" | "changeInputValue")[], "onClose" | "changeElement" | "update:Selection" | "changeInputValue", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
83
110
|
element_table: {
|
|
84
|
-
type:
|
|
111
|
+
type: {
|
|
112
|
+
(arrayLength: number): any[];
|
|
113
|
+
(...items: any[]): any[];
|
|
114
|
+
new (arrayLength: number): any[];
|
|
115
|
+
new (...items: any[]): any[];
|
|
116
|
+
isArray(arg: any): arg is any[];
|
|
117
|
+
readonly prototype: any[];
|
|
118
|
+
from<T>(arrayLike: ArrayLike<T>): T[];
|
|
119
|
+
from<T_1, U>(arrayLike: ArrayLike<T_1>, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[];
|
|
120
|
+
from<T_2>(iterable: Iterable<T_2> | ArrayLike<T_2>): T_2[];
|
|
121
|
+
from<T_3, U_1>(iterable: Iterable<T_3> | ArrayLike<T_3>, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[];
|
|
122
|
+
of<T_4>(...items: T_4[]): T_4[];
|
|
123
|
+
readonly [Symbol.species]: ArrayConstructor;
|
|
124
|
+
};
|
|
85
125
|
required: true;
|
|
86
126
|
};
|
|
87
127
|
nested: {
|
|
@@ -101,8 +141,22 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
101
141
|
default: boolean;
|
|
102
142
|
};
|
|
103
143
|
default_select: {
|
|
104
|
-
type:
|
|
144
|
+
type: {
|
|
145
|
+
(arrayLength: number): any[];
|
|
146
|
+
(...items: any[]): any[];
|
|
147
|
+
new (arrayLength: number): any[];
|
|
148
|
+
new (...items: any[]): any[];
|
|
149
|
+
isArray(arg: any): arg is any[];
|
|
150
|
+
readonly prototype: any[];
|
|
151
|
+
from<T>(arrayLike: ArrayLike<T>): T[];
|
|
152
|
+
from<T_1, U>(arrayLike: ArrayLike<T_1>, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[];
|
|
153
|
+
from<T_2>(iterable: Iterable<T_2> | ArrayLike<T_2>): T_2[];
|
|
154
|
+
from<T_3, U_1>(iterable: Iterable<T_3> | ArrayLike<T_3>, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[];
|
|
155
|
+
of<T_4>(...items: T_4[]): T_4[];
|
|
156
|
+
readonly [Symbol.species]: ArrayConstructor;
|
|
157
|
+
};
|
|
105
158
|
required: false;
|
|
159
|
+
default: () => never[];
|
|
106
160
|
};
|
|
107
161
|
preselection_all: {
|
|
108
162
|
type: BooleanConstructor;
|
|
@@ -141,6 +195,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
141
195
|
disabled: boolean;
|
|
142
196
|
show_amount: boolean;
|
|
143
197
|
search: boolean;
|
|
198
|
+
default_select: any[];
|
|
144
199
|
nested: boolean;
|
|
145
200
|
show_all: boolean;
|
|
146
201
|
preselection_all: boolean;
|
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div>
|
|
3
|
+
<div :class="'arg_scope_save arg_scope_save_open'">
|
|
4
|
+
<div class="arg_save_modal">
|
|
5
|
+
<div class="arg_save_header">
|
|
6
|
+
<h1>
|
|
7
|
+
{{ lang === "fr" ? "Enregistrer mon scope" : "Save my scope" }}
|
|
8
|
+
</h1>
|
|
9
|
+
<div class="cursor-pointer" @click="closeSaveScope()">
|
|
10
|
+
<arg-icon name="X" size="16" color="var(--cool-grey)" />
|
|
11
|
+
</div>
|
|
12
|
+
</div>
|
|
13
|
+
<div class="arg_save_body">
|
|
14
|
+
<div class="oip_filter_display scope_name_input">
|
|
15
|
+
<p class="oip_filter_label">
|
|
16
|
+
{{ lang === "fr" ? "Nom scope" : "Scope name" }}*
|
|
17
|
+
</p>
|
|
18
|
+
<input
|
|
19
|
+
v-model="scopeName"
|
|
20
|
+
class="oip_simple_input"
|
|
21
|
+
:class="saveFail ? 'oip_required_input' : ''"
|
|
22
|
+
:placeholder="
|
|
23
|
+
lang === 'fr'
|
|
24
|
+
? 'Nom de votre scope e.g Benchmark 2023'
|
|
25
|
+
: 'Name of your scope e.g. Benchmark 2023'
|
|
26
|
+
"
|
|
27
|
+
type="text"
|
|
28
|
+
:required="true"
|
|
29
|
+
/>
|
|
30
|
+
<p v-if="saveFail" class="oip_body oip_error">
|
|
31
|
+
{{
|
|
32
|
+
lang === "fr"
|
|
33
|
+
? "Un nom est requis pour enregistrer votre scope!"
|
|
34
|
+
: "Name is required to save your scope!"
|
|
35
|
+
}}
|
|
36
|
+
</p>
|
|
37
|
+
</div>
|
|
38
|
+
<div class="oip_filter_display full_width">
|
|
39
|
+
<p class="oip_filter_label">
|
|
40
|
+
{{
|
|
41
|
+
lang === "fr"
|
|
42
|
+
? "Décrivez votre scope (optionnel)"
|
|
43
|
+
: "Describe your scope (optional)"
|
|
44
|
+
}}
|
|
45
|
+
</p>
|
|
46
|
+
<textarea
|
|
47
|
+
name="ScopeDescr"
|
|
48
|
+
cols="40"
|
|
49
|
+
rows="5"
|
|
50
|
+
:placeholder="
|
|
51
|
+
lang === 'fr'
|
|
52
|
+
? 'Votre description ici'
|
|
53
|
+
: 'Your description here'
|
|
54
|
+
"
|
|
55
|
+
/>
|
|
56
|
+
</div>
|
|
57
|
+
<div class="oip_filter_display full_width">
|
|
58
|
+
<p class="oip_filter_label">
|
|
59
|
+
{{ lang === "fr" ? "Critères" : "Criteria" }}
|
|
60
|
+
</p>
|
|
61
|
+
<div class="scope_criteria">
|
|
62
|
+
<arg-tags
|
|
63
|
+
v-for="(criteria, index) in scopeCriteria"
|
|
64
|
+
:key="index"
|
|
65
|
+
set-style="light_grey"
|
|
66
|
+
>{{ criteria }}</arg-tags
|
|
67
|
+
>
|
|
68
|
+
</div>
|
|
69
|
+
</div>
|
|
70
|
+
</div>
|
|
71
|
+
<div class="arg_save_footer">
|
|
72
|
+
<div class="footer_action">
|
|
73
|
+
<arg-btn
|
|
74
|
+
class="footer_btn"
|
|
75
|
+
:become-small="false"
|
|
76
|
+
btn-style="skeleton"
|
|
77
|
+
@onClick="closeSaveScope"
|
|
78
|
+
>{{ lang === "fr" ? "Annuler" : "Cancel" }}</arg-btn
|
|
79
|
+
>
|
|
80
|
+
</div>
|
|
81
|
+
<div class="footer_action">
|
|
82
|
+
<arg-btn
|
|
83
|
+
class="footer_btn"
|
|
84
|
+
:become-small="false"
|
|
85
|
+
btn-style="primary"
|
|
86
|
+
@onClick="saveScope"
|
|
87
|
+
>{{
|
|
88
|
+
lang === "fr"
|
|
89
|
+
? "Enregistrer le scope et continuer"
|
|
90
|
+
: "Save scope and continue"
|
|
91
|
+
}}</arg-btn
|
|
92
|
+
>
|
|
93
|
+
</div>
|
|
94
|
+
</div>
|
|
95
|
+
</div>
|
|
96
|
+
</div>
|
|
97
|
+
</div>
|
|
98
|
+
</template>
|
|
99
|
+
|
|
100
|
+
<script>
|
|
101
|
+
import { ref, defineComponent, watch } from "vue";
|
|
102
|
+
export default defineComponent({
|
|
103
|
+
name: "argScopeModal",
|
|
104
|
+
props: {
|
|
105
|
+
scopeCriteria: {
|
|
106
|
+
type: Array,
|
|
107
|
+
required: true
|
|
108
|
+
},
|
|
109
|
+
lang: {
|
|
110
|
+
type: String,
|
|
111
|
+
default: "en",
|
|
112
|
+
validator: (value) => {
|
|
113
|
+
return ["en", "fr"].includes(value);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
emits: ["onClose", "onSave"],
|
|
118
|
+
setup(props, { emit }) {
|
|
119
|
+
const scopeName = ref("");
|
|
120
|
+
const scopeDescr = ref("");
|
|
121
|
+
const nameFilled = ref(false);
|
|
122
|
+
const saveFail = ref(false);
|
|
123
|
+
watch(
|
|
124
|
+
() => scopeName.value,
|
|
125
|
+
(new_scope_name) => {
|
|
126
|
+
if (new_scope_name.length > 0) {
|
|
127
|
+
saveFail.value = false;
|
|
128
|
+
nameFilled.value = true;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
);
|
|
132
|
+
function closeSaveScope() {
|
|
133
|
+
emit("onClose");
|
|
134
|
+
}
|
|
135
|
+
function saveScope() {
|
|
136
|
+
if (nameFilled.value === true) {
|
|
137
|
+
saveFail.value = false;
|
|
138
|
+
emit("onSave", { name: scopeName.value, descr: scopeDescr.value });
|
|
139
|
+
closeSaveScope();
|
|
140
|
+
} else {
|
|
141
|
+
saveFail.value = true;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
return {
|
|
145
|
+
closeSaveScope,
|
|
146
|
+
saveScope,
|
|
147
|
+
scopeName,
|
|
148
|
+
scopeDescr,
|
|
149
|
+
nameFilled,
|
|
150
|
+
saveFail
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
</script>
|
|
155
|
+
|
|
156
|
+
<style scoped>
|
|
157
|
+
.arg_scope_save {
|
|
158
|
+
background-color: transparent;
|
|
159
|
+
transition: all ease 0.5s;
|
|
160
|
+
position: fixed;
|
|
161
|
+
left: 0;
|
|
162
|
+
bottom: 0;
|
|
163
|
+
height: 0px;
|
|
164
|
+
width: 0px;
|
|
165
|
+
display: flex;
|
|
166
|
+
align-items: center;
|
|
167
|
+
justify-content: center;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
.arg_scope_save_open {
|
|
171
|
+
z-index: 99;
|
|
172
|
+
background-color: rgba(0, 0, 0, 0.4);
|
|
173
|
+
width: 100%;
|
|
174
|
+
height: 100%;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
.arg_save_modal {
|
|
178
|
+
display: flex;
|
|
179
|
+
width: calc(100% - 164px);
|
|
180
|
+
max-width: 640px;
|
|
181
|
+
max-height: 850px;
|
|
182
|
+
flex-direction: column;
|
|
183
|
+
align-items: flex-start;
|
|
184
|
+
flex-shrink: 0;
|
|
185
|
+
border-radius: var(--m, 8px);
|
|
186
|
+
background: var(--pure-white);
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
.arg_save_header {
|
|
190
|
+
display: flex;
|
|
191
|
+
padding: 24px;
|
|
192
|
+
justify-content: space-between;
|
|
193
|
+
align-items: center;
|
|
194
|
+
align-self: stretch;
|
|
195
|
+
border-bottom: 1px solid #e5e7eb;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
.arg_save_footer {
|
|
199
|
+
display: flex;
|
|
200
|
+
padding: 24px;
|
|
201
|
+
gap: 32px;
|
|
202
|
+
align-items: center;
|
|
203
|
+
align-self: stretch;
|
|
204
|
+
border-top: 1px solid #e5e7eb;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
.footer_action {
|
|
208
|
+
width: 50%;
|
|
209
|
+
flex: 1 1 0;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
.arg_save_header > h1 {
|
|
213
|
+
font-size: 20px;
|
|
214
|
+
font-style: normal;
|
|
215
|
+
font-weight: 900;
|
|
216
|
+
line-height: normal;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
.arg_save_body {
|
|
220
|
+
display: flex;
|
|
221
|
+
padding: 24px;
|
|
222
|
+
flex-direction: column;
|
|
223
|
+
align-items: flex-start;
|
|
224
|
+
gap: 24px;
|
|
225
|
+
align-self: stretch;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
textarea,
|
|
229
|
+
.scope_criteria {
|
|
230
|
+
border-radius: 8px;
|
|
231
|
+
border: 1.5px solid var(--dividers);
|
|
232
|
+
padding: 12px;
|
|
233
|
+
margin: 5px 0px;
|
|
234
|
+
outline: none !important;
|
|
235
|
+
width: calc(100% - 25.5px);
|
|
236
|
+
font-family: "Figtree", sans-serif !important;
|
|
237
|
+
height: 110px;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
.scope_criteria {
|
|
241
|
+
display: flex;
|
|
242
|
+
flex-direction: row;
|
|
243
|
+
align-items: flex-start;
|
|
244
|
+
gap: 8px;
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
textarea::placeholder {
|
|
248
|
+
font-family: "Figtree", sans-serif !important;
|
|
249
|
+
color: var(--wild-blue-yonder);
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
.scope_name_input {
|
|
253
|
+
width: 300px;
|
|
254
|
+
max-width: 100%;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
.full_width {
|
|
258
|
+
width: 100%;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
.footer_action .footer_btn {
|
|
262
|
+
width: calc(100% - 24px);
|
|
263
|
+
justify-content: center;
|
|
264
|
+
white-space: wrap;
|
|
265
|
+
text-align: center;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
.cursor-pointer {
|
|
269
|
+
cursor: pointer !important;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
.oip_simple_input {
|
|
273
|
+
border-radius: 8px;
|
|
274
|
+
border: 1.5px solid var(--dividers);
|
|
275
|
+
padding: 12px;
|
|
276
|
+
margin: 5px 0px;
|
|
277
|
+
width: calc(100% - 24px);
|
|
278
|
+
}
|
|
279
|
+
.oip_simple_input::placeholder {
|
|
280
|
+
color: var(--wild-blue-yonder);
|
|
281
|
+
}
|
|
282
|
+
.oip_simple_input,
|
|
283
|
+
.oip_simple_input:focus-visible {
|
|
284
|
+
outline: none !important;
|
|
285
|
+
}
|
|
286
|
+
.oip_simple_input:hover,
|
|
287
|
+
textarea:hover {
|
|
288
|
+
border: 1.5px solid rgba(33, 118, 255, 0.2) !important;
|
|
289
|
+
}
|
|
290
|
+
.oip_simple_input:focus-within,
|
|
291
|
+
textarea:focus-within {
|
|
292
|
+
border: 1.5px solid var(--primary) !important;
|
|
293
|
+
box-shadow: 0 0 0 4px rgba(33, 118, 255, 0.1) !important;
|
|
294
|
+
}
|
|
295
|
+
.oip_required_input,
|
|
296
|
+
.oip_required_input:hover {
|
|
297
|
+
border-color: var(--system-alert) !important;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
.oip_error {
|
|
301
|
+
color: var(--system-alert);
|
|
302
|
+
}
|
|
303
|
+
</style>
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
declare const _default: import("vue").DefineComponent<{
|
|
2
|
+
scopeCriteria: {
|
|
3
|
+
type: ArrayConstructor;
|
|
4
|
+
required: true;
|
|
5
|
+
};
|
|
6
|
+
lang: {
|
|
7
|
+
type: StringConstructor;
|
|
8
|
+
default: string;
|
|
9
|
+
validator: (value: string) => boolean;
|
|
10
|
+
};
|
|
11
|
+
}, {
|
|
12
|
+
closeSaveScope: () => void;
|
|
13
|
+
saveScope: () => void;
|
|
14
|
+
scopeName: import("vue").Ref<string>;
|
|
15
|
+
scopeDescr: import("vue").Ref<string>;
|
|
16
|
+
nameFilled: import("vue").Ref<boolean>;
|
|
17
|
+
saveFail: import("vue").Ref<boolean>;
|
|
18
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("onClose" | "onSave")[], "onClose" | "onSave", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
19
|
+
scopeCriteria: {
|
|
20
|
+
type: ArrayConstructor;
|
|
21
|
+
required: true;
|
|
22
|
+
};
|
|
23
|
+
lang: {
|
|
24
|
+
type: StringConstructor;
|
|
25
|
+
default: string;
|
|
26
|
+
validator: (value: string) => boolean;
|
|
27
|
+
};
|
|
28
|
+
}>> & {
|
|
29
|
+
onOnClose?: ((...args: any[]) => any) | undefined;
|
|
30
|
+
onOnSave?: ((...args: any[]) => any) | undefined;
|
|
31
|
+
}, {
|
|
32
|
+
lang: string;
|
|
33
|
+
}, {}>;
|
|
34
|
+
export default _default;
|
|
@@ -10,7 +10,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
10
10
|
lang: {
|
|
11
11
|
type: StringConstructor;
|
|
12
12
|
default: string;
|
|
13
|
-
validator: (value:
|
|
13
|
+
validator: (value: string) => boolean;
|
|
14
14
|
};
|
|
15
15
|
homeLink: {
|
|
16
16
|
type: StringConstructor;
|
|
@@ -31,7 +31,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
31
31
|
lang: {
|
|
32
32
|
type: StringConstructor;
|
|
33
33
|
default: string;
|
|
34
|
-
validator: (value:
|
|
34
|
+
validator: (value: string) => boolean;
|
|
35
35
|
};
|
|
36
36
|
homeLink: {
|
|
37
37
|
type: StringConstructor;
|
|
@@ -82,10 +82,10 @@ export default defineComponent({
|
|
|
82
82
|
.oip_simple_input:focus-visible {
|
|
83
83
|
outline: none !important;
|
|
84
84
|
}
|
|
85
|
-
.oip_simple_input
|
|
85
|
+
.oip_simple_input:hover {
|
|
86
86
|
border: 1.5px solid rgba(33, 118, 255, 0.2) !important;
|
|
87
87
|
}
|
|
88
|
-
.oip_simple_input
|
|
88
|
+
.oip_simple_input:focus-within {
|
|
89
89
|
border: 1.5px solid var(--primary) !important;
|
|
90
90
|
box-shadow: 0 0 0 4px rgba(33, 118, 255, 0.1) !important;
|
|
91
91
|
}
|
|
@@ -297,6 +297,8 @@ button {
|
|
|
297
297
|
max-height: 16px;
|
|
298
298
|
white-space: nowrap;
|
|
299
299
|
display: flex;
|
|
300
|
+
justify-content: center;
|
|
301
|
+
text-align: center;
|
|
300
302
|
align-items: center;
|
|
301
303
|
gap: 10px;
|
|
302
304
|
position: relative;
|
|
@@ -1031,4 +1033,11 @@ button {
|
|
|
1031
1033
|
gap: 24px;
|
|
1032
1034
|
height: 100%;
|
|
1033
1035
|
}
|
|
1036
|
+
|
|
1037
|
+
.oip_select_display {
|
|
1038
|
+
display: flex;
|
|
1039
|
+
flex-direction: column;
|
|
1040
|
+
align-items: flex-start;
|
|
1041
|
+
gap: 4px;
|
|
1042
|
+
}
|
|
1034
1043
|
</style>
|
|
@@ -32,10 +32,10 @@ import {
|
|
|
32
32
|
defineComponent
|
|
33
33
|
} from "vue";
|
|
34
34
|
import argIcon from "./argIcon.vue";
|
|
35
|
-
import
|
|
35
|
+
import argTooltip from "./argTooltip.vue";
|
|
36
36
|
export default defineComponent({
|
|
37
37
|
name: "argSubMenu",
|
|
38
|
-
components: { argIcon,
|
|
38
|
+
components: { argIcon, argTooltip },
|
|
39
39
|
props: {
|
|
40
40
|
label: { type: String, required: true },
|
|
41
41
|
icon: { type: String },
|
|
@@ -43,7 +43,7 @@ export default defineComponent({
|
|
|
43
43
|
sidebarOpen: { type: Boolean, default: true }
|
|
44
44
|
},
|
|
45
45
|
setup(props) {
|
|
46
|
-
|
|
46
|
+
const openMenu = ref(props.defaultCollapseState);
|
|
47
47
|
return {
|
|
48
48
|
openMenu
|
|
49
49
|
};
|