@dataloop-ai/components 0.19.165 → 0.19.167

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,6 @@
1
1
  {
2
2
  "name": "@dataloop-ai/components",
3
- "version": "0.19.165",
3
+ "version": "0.19.167",
4
4
  "exports": {
5
5
  ".": "./index.ts",
6
6
  "./models": "./models.ts",
@@ -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 = (force: boolean = false) => {
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
- if (!force) {
503
- updateJSONQuery()
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 && !force) {
520
+ if (!focused.value) {
525
521
  return
526
522
  }
527
523
 
528
- processBlur(force)
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
- : props.placeholder
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
- {{ removeQuotes(item) }}
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 { computed, defineComponent, PropType, ref } from 'vue-demi'
36
- import { DlMenu, DlList } from '../../../../essential'
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,
@@ -150,7 +150,11 @@ export function replaceJSDatesWithStringifiedDates(
150
150
  if (dateKeys.includes(keyToCheck)) {
151
151
  if (typeof value === 'object') {
152
152
  const testKey = Object.keys(toReturn[key])[0]
153
- if (['$gt', '$gte', '$lt', '$lte'].includes(testKey)) {
153
+ if (
154
+ ['$gt', '$gte', '$lt', '$lte', '$eq', '$neq'].includes(
155
+ testKey
156
+ )
157
+ ) {
154
158
  toReturn[key][testKey] = formatToStringDate(
155
159
  toReturn[key][testKey]
156
160
  )
@@ -1,16 +1,8 @@
1
1
  <template>
2
2
  <div style="width: 900px">
3
3
  <div style="margin: 40px 0">
4
- <dl-checkbox
5
- v-model="switchState"
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',