@dataloop-ai/components 0.19.165 → 0.19.166
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/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
3
|
:id="`DlSmartSearchInput${uuid}`"
|
|
4
|
+
ref="container"
|
|
4
5
|
:style="cssVars"
|
|
5
6
|
class="dl-smart-search-input"
|
|
6
7
|
>
|
|
@@ -235,6 +236,7 @@ export default defineComponent({
|
|
|
235
236
|
],
|
|
236
237
|
setup(props, { emit }) {
|
|
237
238
|
//#region refs
|
|
239
|
+
const container = ref<HTMLDivElement>(null)
|
|
238
240
|
const input = ref<HTMLInputElement>(null)
|
|
239
241
|
const label = ref<HTMLLabelElement>(null)
|
|
240
242
|
const searchBar = ref<HTMLDivElement>(null)
|
|
@@ -253,7 +255,8 @@ export default defineComponent({
|
|
|
253
255
|
height,
|
|
254
256
|
width,
|
|
255
257
|
forbiddenKeys,
|
|
256
|
-
inputDebounce
|
|
258
|
+
inputDebounce,
|
|
259
|
+
placeholder
|
|
257
260
|
} = toRefs(props)
|
|
258
261
|
//#endregion
|
|
259
262
|
|
|
@@ -494,23 +497,16 @@ export default defineComponent({
|
|
|
494
497
|
emit('focus')
|
|
495
498
|
}
|
|
496
499
|
|
|
497
|
-
const processBlur = (
|
|
500
|
+
const processBlur = () => {
|
|
498
501
|
input.value.scrollLeft = 0
|
|
499
502
|
input.value.scrollTop = 0
|
|
500
503
|
focused.value = false
|
|
501
504
|
expanded.value = true
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
emit('blur')
|
|
505
|
-
}
|
|
505
|
+
updateJSONQuery()
|
|
506
|
+
emit('blur')
|
|
506
507
|
}
|
|
507
508
|
|
|
508
|
-
const blur = (
|
|
509
|
-
e: Event | null = null,
|
|
510
|
-
options: { force?: boolean } = {}
|
|
511
|
-
) => {
|
|
512
|
-
const { force } = options
|
|
513
|
-
|
|
509
|
+
const blur = (e: Event) => {
|
|
514
510
|
if (showDatePicker.value) {
|
|
515
511
|
return
|
|
516
512
|
}
|
|
@@ -521,11 +517,11 @@ export default defineComponent({
|
|
|
521
517
|
return
|
|
522
518
|
}
|
|
523
519
|
|
|
524
|
-
if (!focused.value
|
|
520
|
+
if (!focused.value) {
|
|
525
521
|
return
|
|
526
522
|
}
|
|
527
523
|
|
|
528
|
-
processBlur(
|
|
524
|
+
processBlur()
|
|
529
525
|
} else {
|
|
530
526
|
focus()
|
|
531
527
|
cancelBlur.value = cancelBlur.value - 1
|
|
@@ -848,10 +844,10 @@ export default defineComponent({
|
|
|
848
844
|
}
|
|
849
845
|
})
|
|
850
846
|
|
|
851
|
-
const inputPlaceholder = computed(() => {
|
|
847
|
+
const inputPlaceholder = computed<string>(() => {
|
|
852
848
|
return focused.value || searchQuery.value.length
|
|
853
849
|
? ''
|
|
854
|
-
:
|
|
850
|
+
: placeholder.value
|
|
855
851
|
})
|
|
856
852
|
|
|
857
853
|
const isValid = computed(() => {
|
|
@@ -878,7 +874,11 @@ export default defineComponent({
|
|
|
878
874
|
})
|
|
879
875
|
})
|
|
880
876
|
|
|
881
|
-
watch(focused, (value) => {
|
|
877
|
+
watch(focused, (value, old) => {
|
|
878
|
+
if (old === value) {
|
|
879
|
+
return
|
|
880
|
+
}
|
|
881
|
+
|
|
882
882
|
if (!value) {
|
|
883
883
|
input.value.parentElement.style.width = '1px'
|
|
884
884
|
} else {
|
|
@@ -887,7 +887,11 @@ export default defineComponent({
|
|
|
887
887
|
}
|
|
888
888
|
})
|
|
889
889
|
|
|
890
|
-
watch(showDatePicker, (value) => {
|
|
890
|
+
watch(showDatePicker, (value, old) => {
|
|
891
|
+
if (old === value) {
|
|
892
|
+
return
|
|
893
|
+
}
|
|
894
|
+
|
|
891
895
|
if (!value) {
|
|
892
896
|
datePickerSelection.value = null
|
|
893
897
|
|
|
@@ -931,7 +935,6 @@ export default defineComponent({
|
|
|
931
935
|
}
|
|
932
936
|
window.addEventListener('mousemove', watchMouseMove)
|
|
933
937
|
window.addEventListener('keyup', watchKeyUp)
|
|
934
|
-
blur(null, { force: true })
|
|
935
938
|
})
|
|
936
939
|
onBeforeUnmount(() => {
|
|
937
940
|
window.removeEventListener('mousemove', watchMouseMove)
|
|
@@ -941,6 +944,7 @@ export default defineComponent({
|
|
|
941
944
|
return {
|
|
942
945
|
uuid: v4(),
|
|
943
946
|
suggestionsDropdown,
|
|
947
|
+
container,
|
|
944
948
|
input,
|
|
945
949
|
label,
|
|
946
950
|
searchBar,
|
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
:target="defaultTarget"
|
|
5
5
|
:offset="offset"
|
|
6
6
|
:disabled="disabled"
|
|
7
|
-
fit-container
|
|
8
7
|
:model-value="modelValue"
|
|
9
8
|
:arrow-nav-items="suggestions"
|
|
10
9
|
:trigger-percentage="triggerPercentage"
|
|
11
10
|
:auto-close="false"
|
|
12
11
|
:toggle-key="null"
|
|
12
|
+
max-width="250px"
|
|
13
13
|
@update:model-value="emitModelValue($event)"
|
|
14
14
|
@show="onShow"
|
|
15
15
|
@hide="onHide"
|
|
@@ -25,22 +25,30 @@
|
|
|
25
25
|
:highlighted="suggestionIndex === highlightedIndex"
|
|
26
26
|
@click="handleOption(item)"
|
|
27
27
|
>
|
|
28
|
-
|
|
28
|
+
<dl-ellipsis :text="removeQuotes(item)" />
|
|
29
29
|
</dl-list-item>
|
|
30
30
|
</dl-list>
|
|
31
31
|
</dl-menu>
|
|
32
32
|
</div>
|
|
33
33
|
</template>
|
|
34
34
|
<script lang="ts">
|
|
35
|
-
import {
|
|
36
|
-
|
|
35
|
+
import {
|
|
36
|
+
computed,
|
|
37
|
+
defineComponent,
|
|
38
|
+
PropType,
|
|
39
|
+
ref,
|
|
40
|
+
toRefs,
|
|
41
|
+
watch
|
|
42
|
+
} from 'vue-demi'
|
|
43
|
+
import { DlMenu, DlList, DlEllipsis } from '../../../../essential'
|
|
37
44
|
import { DlListItem } from '../../../../basic'
|
|
38
45
|
|
|
39
46
|
export default defineComponent({
|
|
40
47
|
components: {
|
|
41
48
|
DlMenu,
|
|
42
49
|
DlList,
|
|
43
|
-
DlListItem
|
|
50
|
+
DlListItem,
|
|
51
|
+
DlEllipsis
|
|
44
52
|
},
|
|
45
53
|
model: {
|
|
46
54
|
prop: 'modelValue',
|
|
@@ -71,6 +79,10 @@ export default defineComponent({
|
|
|
71
79
|
type: Array as PropType<number[]>,
|
|
72
80
|
default: () => [0, 0]
|
|
73
81
|
},
|
|
82
|
+
maxWidth: {
|
|
83
|
+
type: String,
|
|
84
|
+
default: null
|
|
85
|
+
},
|
|
74
86
|
/**
|
|
75
87
|
* the % of the parent element that triggers the tooltips visibility
|
|
76
88
|
*/
|
|
@@ -81,6 +93,8 @@ export default defineComponent({
|
|
|
81
93
|
},
|
|
82
94
|
emits: ['set-input-value', 'update:model-value', 'escapekey', 'enterkey'],
|
|
83
95
|
setup(props, { emit }) {
|
|
96
|
+
const { suggestions } = toRefs(props)
|
|
97
|
+
|
|
84
98
|
const isMenuOpen = ref(false)
|
|
85
99
|
const highlightedIndex = ref(-1)
|
|
86
100
|
const onShow = (value: any) => {
|
|
@@ -123,6 +137,10 @@ export default defineComponent({
|
|
|
123
137
|
return match ? match[1] : str
|
|
124
138
|
}
|
|
125
139
|
|
|
140
|
+
watch(suggestions, () => {
|
|
141
|
+
highlightedIndex.value = -1
|
|
142
|
+
})
|
|
143
|
+
|
|
126
144
|
return {
|
|
127
145
|
defaultTarget,
|
|
128
146
|
setHighlightedIndex,
|
|
@@ -1,16 +1,8 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div style="width: 900px">
|
|
3
3
|
<div style="margin: 40px 0">
|
|
4
|
-
<dl-checkbox
|
|
5
|
-
|
|
6
|
-
dense
|
|
7
|
-
label="Disabled"
|
|
8
|
-
/>
|
|
9
|
-
<dl-checkbox
|
|
10
|
-
v-model="strictState"
|
|
11
|
-
dense
|
|
12
|
-
label="Strict"
|
|
13
|
-
/>
|
|
4
|
+
<dl-checkbox v-model="switchState" dense label="Disabled" />
|
|
5
|
+
<dl-checkbox v-model="strictState" dense label="Strict" />
|
|
14
6
|
</div>
|
|
15
7
|
<dl-input
|
|
16
8
|
v-model="textQuery"
|
|
@@ -18,16 +10,13 @@
|
|
|
18
10
|
placeholder="Select option"
|
|
19
11
|
size="m"
|
|
20
12
|
/>
|
|
21
|
-
<div
|
|
22
|
-
style="width: 100px"
|
|
23
|
-
class="props"
|
|
24
|
-
/>
|
|
13
|
+
<div style="width: 100px" class="props" />
|
|
25
14
|
<div>
|
|
26
|
-
Template searches<br
|
|
15
|
+
Template searches<br />
|
|
27
16
|
|
|
28
|
-
dir IN 'test', 'test2'<br
|
|
29
|
-
type = 'dir'<br
|
|
30
|
-
{ "metadata.system.width": 5 }<br
|
|
17
|
+
dir IN 'test', 'test2'<br />
|
|
18
|
+
type = 'dir'<br />
|
|
19
|
+
{ "metadata.system.width": 5 }<br />
|
|
31
20
|
</div>
|
|
32
21
|
<dl-smart-search
|
|
33
22
|
v-model="queryObject"
|
|
@@ -45,10 +34,10 @@
|
|
|
45
34
|
/>
|
|
46
35
|
{{ queryObject }}
|
|
47
36
|
|
|
48
|
-
<br
|
|
49
|
-
<br
|
|
50
|
-
<br
|
|
51
|
-
<br
|
|
37
|
+
<br />
|
|
38
|
+
<br />
|
|
39
|
+
<br />
|
|
40
|
+
<br />
|
|
52
41
|
Only the search
|
|
53
42
|
|
|
54
43
|
<dl-smart-search-input
|
|
@@ -77,8 +66,8 @@
|
|
|
77
66
|
{{ queryObject }}
|
|
78
67
|
{{ queryObject2 }}
|
|
79
68
|
|
|
80
|
-
<br
|
|
81
|
-
<br
|
|
69
|
+
<br />
|
|
70
|
+
<br />
|
|
82
71
|
With placeholder and [OR, true] suggestions omitted
|
|
83
72
|
<dl-smart-search-input
|
|
84
73
|
v-model="queryObject"
|
|
@@ -114,6 +103,11 @@ export default defineComponent({
|
|
|
114
103
|
},
|
|
115
104
|
data() {
|
|
116
105
|
const schema: any = {
|
|
106
|
+
'very very very very very very long key': 'string',
|
|
107
|
+
'very very very very very very long key very very very very very very long key very very very very very very long key very very very very very very long key very very very very very very long key':
|
|
108
|
+
'string',
|
|
109
|
+
'very very very very very very long key very very very very very very long key very very very very very very long key very very very very very very long key very very very very very very long keyvery very very very very very long key very very very very very very long key very very very very very very long key very very very very very very long keyvery very very very very very long key very very very very very very long key very very very very very very long key very very very very very very long keyvery very very very very very long key very very very very very very long key very very very very very very long key very very very very very very long keyvery very very very very very long key very very very very very very long key very very very very very very long key very very very very very very long keyvery very very very very very long key very very very very very very long key very very very very very very long key very very very very very very long key very very very very very very long key very very very very very very long key very very very very very very long key very very very very very very long key':
|
|
110
|
+
'string',
|
|
117
111
|
id: ['string', 'number'],
|
|
118
112
|
filename: 'string',
|
|
119
113
|
name: 'string',
|