@dataloop-ai/components 0.18.140 → 0.18.142
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
|
@@ -57,7 +57,7 @@ export default defineComponent({
|
|
|
57
57
|
default: Mode.text
|
|
58
58
|
}
|
|
59
59
|
},
|
|
60
|
-
emits: ['update:model-value', 'align-text', 'change'],
|
|
60
|
+
emits: ['update:model-value', 'align-text', 'change', 'focus', 'blur'],
|
|
61
61
|
setup(props, { emit }) {
|
|
62
62
|
const { modelValue, indentation, readonly, mode } = toRefs(props)
|
|
63
63
|
|
|
@@ -128,7 +128,13 @@ export default defineComponent({
|
|
|
128
128
|
readOnly: readonly.value || mode.value === Mode.tree,
|
|
129
129
|
mainMenuBar: false,
|
|
130
130
|
navigationBar: false,
|
|
131
|
-
statusBar: false
|
|
131
|
+
statusBar: false,
|
|
132
|
+
onFocus: () => {
|
|
133
|
+
emit('focus')
|
|
134
|
+
},
|
|
135
|
+
onBlur: () => {
|
|
136
|
+
emit('blur')
|
|
137
|
+
}
|
|
132
138
|
}
|
|
133
139
|
|
|
134
140
|
// There is type instantiation issue with JSONEditor,
|
|
@@ -38,7 +38,11 @@ export const isEndingWithDateIntervalPattern = (str: string) => {
|
|
|
38
38
|
|
|
39
39
|
export const replaceDateInterval = (str: string, date: DateInterval) => {
|
|
40
40
|
const newStr = `${formatDate(date.from)}`
|
|
41
|
-
const replaced =
|
|
41
|
+
const replaced = replaceFirstOrLastOccurrence(
|
|
42
|
+
str,
|
|
43
|
+
newStr,
|
|
44
|
+
datePatternNoBrackets
|
|
45
|
+
)
|
|
42
46
|
return replaced
|
|
43
47
|
}
|
|
44
48
|
|
|
@@ -46,16 +50,39 @@ const formatDate = (date: Date | string | number): string => {
|
|
|
46
50
|
return moment.utc(date).format('DD/MM/YYYY')
|
|
47
51
|
}
|
|
48
52
|
|
|
49
|
-
const
|
|
53
|
+
const replaceFirstOrLastOccurrence = (
|
|
50
54
|
string: string,
|
|
51
55
|
replaceValue: string,
|
|
52
56
|
pattern: RegExp
|
|
53
57
|
) => {
|
|
54
|
-
const
|
|
58
|
+
const regex = RegExp(pattern, 'g')
|
|
55
59
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
60
|
+
let firstMatch
|
|
61
|
+
let lastMatch
|
|
62
|
+
let match
|
|
63
|
+
|
|
64
|
+
while ((match = regex.exec(string))) {
|
|
65
|
+
if (match[0] === 'dd/mm/yyyy' && !firstMatch) {
|
|
66
|
+
firstMatch = match
|
|
67
|
+
}
|
|
68
|
+
lastMatch = match
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
if (firstMatch) {
|
|
72
|
+
const modifiedString =
|
|
73
|
+
string.slice(0, firstMatch.index) +
|
|
74
|
+
string.slice(firstMatch.index).replace(firstMatch[0], replaceValue)
|
|
75
|
+
|
|
76
|
+
return modifiedString
|
|
77
|
+
} else if (lastMatch) {
|
|
78
|
+
const modifiedString =
|
|
79
|
+
string.slice(0, lastMatch.index) +
|
|
80
|
+
string.slice(lastMatch.index).replace(lastMatch[0], replaceValue)
|
|
81
|
+
|
|
82
|
+
return modifiedString
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
return string
|
|
59
86
|
}
|
|
60
87
|
|
|
61
88
|
export function getTabItems(filters: Filters) {
|
|
@@ -27,9 +27,20 @@
|
|
|
27
27
|
v-model="jsonModel"
|
|
28
28
|
:readonly="readonly"
|
|
29
29
|
:mode="mode"
|
|
30
|
+
@change="onChange"
|
|
31
|
+
@focus="onFocus"
|
|
32
|
+
@blur="onBlur"
|
|
30
33
|
/>
|
|
31
34
|
</div>
|
|
32
35
|
<span>JSON: {{ jsonModel }}</span>
|
|
36
|
+
<div>
|
|
37
|
+
<div>changes</div>
|
|
38
|
+
{{ changes }}
|
|
39
|
+
</div>
|
|
40
|
+
<div>
|
|
41
|
+
<div>events</div>
|
|
42
|
+
{{ events }}
|
|
43
|
+
</div>
|
|
33
44
|
|
|
34
45
|
<dl-button @click="dialogState = !dialogState">
|
|
35
46
|
JsonEditor
|
|
@@ -82,6 +93,19 @@ export default defineComponent({
|
|
|
82
93
|
const jsonEditorEl = ref(null)
|
|
83
94
|
const readonly = ref(false)
|
|
84
95
|
const mode = ref(DlJsonEditorModes.text)
|
|
96
|
+
const changes = ref<any[]>([])
|
|
97
|
+
const events = ref<string[]>([])
|
|
98
|
+
|
|
99
|
+
const onChange = (change: any) => {
|
|
100
|
+
changes.value.push(change)
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
const onFocus = () => {
|
|
104
|
+
events.value.push('focus')
|
|
105
|
+
}
|
|
106
|
+
const onBlur = () => {
|
|
107
|
+
events.value.push('blur')
|
|
108
|
+
}
|
|
85
109
|
|
|
86
110
|
return {
|
|
87
111
|
jsonModel,
|
|
@@ -89,7 +113,12 @@ export default defineComponent({
|
|
|
89
113
|
dialogJsonModel,
|
|
90
114
|
jsonEditorEl,
|
|
91
115
|
readonly,
|
|
92
|
-
mode
|
|
116
|
+
mode,
|
|
117
|
+
changes,
|
|
118
|
+
events,
|
|
119
|
+
onChange,
|
|
120
|
+
onFocus,
|
|
121
|
+
onBlur
|
|
93
122
|
}
|
|
94
123
|
}
|
|
95
124
|
})
|
|
@@ -447,11 +447,16 @@ const getOperatorByDataType = (dataType: string) => {
|
|
|
447
447
|
return []
|
|
448
448
|
}
|
|
449
449
|
|
|
450
|
-
|
|
450
|
+
let operators = Object.keys(operatorToDataTypeMap).filter((key) => {
|
|
451
451
|
const value = operatorToDataTypeMap[key]
|
|
452
452
|
return value.length === 0 || value.includes(dataType)
|
|
453
453
|
})
|
|
454
454
|
|
|
455
|
+
if (dataType === 'date' || dataType === 'datetime') {
|
|
456
|
+
const toExclude = ['$in', '$nin']
|
|
457
|
+
operators = operators.filter((s) => !toExclude.includes(s))
|
|
458
|
+
}
|
|
459
|
+
|
|
455
460
|
return operators
|
|
456
461
|
}
|
|
457
462
|
|