@dataloop-ai/components 0.18.140 → 0.18.141
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
|
@@ -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) {
|
|
@@ -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
|
|