@box/metadata-filter 1.52.3 → 1.53.0
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/chunks/index.js +58 -59
- package/dist/chunks/metadata-float-field.module.js +4 -6
- package/dist/chunks/types.js +2 -2
- package/dist/chunks/types2.js +2 -2
- package/dist/chunks/use-float-validation.js +13 -13
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-date-field/date-conversion-utils.js +34 -35
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-date-field/metadata-date-field-advanced.js +52 -52
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-date-field/metadata-date-field-relative.js +92 -92
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-date-field/use-date-validation.js +22 -22
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-date-field/use-integer-validation.js +2 -2
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-enum-field/metadata-enum-field.js +19 -19
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-float-field/handlers.js +12 -12
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-float-field/utils.js +30 -33
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-multi-select-field/metadata-multi-select-field-advanced.js +54 -54
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-multi-select-field/metadata-multi-select-field.js +36 -39
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-multi-select-field/utils.js +11 -11
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-string-field/metadata-string-field.js +55 -55
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-string-field/utils.js +12 -12
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-taxonomy-field/metadata-taxonomy-field.js +52 -52
- package/dist/esm/lib/components/metadata-filter-fields/field-processing-utils.js +10 -10
- package/dist/esm/lib/components/metadata-filter-fields/is-modified-utils.js +9 -13
- package/dist/esm/lib/components/metadata-filter-fields/metadata-filter-fields-accordion.js +67 -67
- package/dist/esm/lib/components/metadata-filter-fields/metadata-filter-fields.js +53 -53
- package/dist/i18n/en-x-pseudo.js +54 -54
- package/dist/i18n/en-x-pseudo.properties +54 -54
- package/dist/styles/metadata-date-field.css +1 -1
- package/dist/styles/metadata-float-field.css +1 -1
- package/package.json +7 -7
|
@@ -1,80 +1,80 @@
|
|
|
1
|
-
import { TooltipProvider as
|
|
2
|
-
import { useFormikContext as
|
|
3
|
-
import { useState as
|
|
4
|
-
import { useIntl as
|
|
5
|
-
import
|
|
6
|
-
import { fieldDefaultProps as
|
|
7
|
-
import { getInitialAdvancedFilterValue as
|
|
8
|
-
import { jsx as a, jsxs as
|
|
9
|
-
import { A as
|
|
10
|
-
const
|
|
1
|
+
import { TooltipProvider as D, Combobox as P } from "@box/blueprint-web";
|
|
2
|
+
import { useFormikContext as U, getIn as q, Field as z } from "formik";
|
|
3
|
+
import { useState as p, useCallback as f } from "react";
|
|
4
|
+
import { useIntl as A } from "react-intl";
|
|
5
|
+
import G from "../../../../messages.js";
|
|
6
|
+
import { fieldDefaultProps as H } from "../constants.js";
|
|
7
|
+
import { getInitialAdvancedFilterValue as J, createFieldValue as b, getInputValue as K } from "./utils.js";
|
|
8
|
+
import { jsx as a, jsxs as N, Fragment as Q } from "react/jsx-runtime";
|
|
9
|
+
import { A as R } from "../../../../../../chunks/index.js";
|
|
10
|
+
const k = (t) => t === "isBlank" || t === "isNotBlank", ne = ({
|
|
11
11
|
label: t,
|
|
12
|
-
fieldNamePrefix:
|
|
12
|
+
fieldNamePrefix: i,
|
|
13
13
|
disableForm: h,
|
|
14
|
-
isAdvancedFilterEnabled:
|
|
15
|
-
onAdvancedFilterOptionChange:
|
|
16
|
-
fieldAdvancedFilterOptions:
|
|
17
|
-
filterOptionsMap:
|
|
14
|
+
isAdvancedFilterEnabled: r,
|
|
15
|
+
onAdvancedFilterOptionChange: u,
|
|
16
|
+
fieldAdvancedFilterOptions: d,
|
|
17
|
+
filterOptionsMap: g,
|
|
18
18
|
portalElement: C,
|
|
19
|
-
hasAccordion:
|
|
20
|
-
isModified:
|
|
19
|
+
hasAccordion: x,
|
|
20
|
+
isModified: F
|
|
21
21
|
}) => {
|
|
22
22
|
const {
|
|
23
|
-
setFieldValue:
|
|
24
|
-
values:
|
|
25
|
-
} =
|
|
26
|
-
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
}, [
|
|
30
|
-
|
|
31
|
-
}, []),
|
|
32
|
-
|
|
23
|
+
setFieldValue: I,
|
|
24
|
+
values: S
|
|
25
|
+
} = U(), w = A(), s = `${i}.value.enum`, v = q(S, `${i}.options`, []).map((e) => e?.key).filter((e) => typeof e == "string"), [c, L] = p(J(d, g)), [y, V] = p(!1), [B, O] = p(!1), $ = (e, o) => typeof o != "string" ? !1 : o.toLowerCase().includes(e.toLowerCase()), j = f((e, o, n) => {
|
|
26
|
+
L(e), u?.(s, e);
|
|
27
|
+
const l = k(e) ? [] : o, m = b(l, e, r);
|
|
28
|
+
n.setFieldValue(s, m);
|
|
29
|
+
}, [s, r, u]), M = f((e) => {
|
|
30
|
+
V(e), e && O(!1);
|
|
31
|
+
}, []), T = f((e) => {
|
|
32
|
+
O(e), e && V(!1);
|
|
33
33
|
}, []);
|
|
34
34
|
return /* @__PURE__ */ a("div", {
|
|
35
35
|
"data-testid": `${t}-field`,
|
|
36
36
|
children: /* @__PURE__ */ a(z, {
|
|
37
|
-
name:
|
|
37
|
+
name: s,
|
|
38
38
|
children: ({
|
|
39
39
|
field: e,
|
|
40
|
-
form:
|
|
40
|
+
form: o
|
|
41
41
|
}) => {
|
|
42
|
-
const
|
|
43
|
-
return /* @__PURE__ */ Q
|
|
44
|
-
children: [/* @__PURE__ */ a(
|
|
42
|
+
const n = K(e.value, r);
|
|
43
|
+
return /* @__PURE__ */ N(Q, {
|
|
44
|
+
children: [/* @__PURE__ */ a(R, {
|
|
45
45
|
disableForm: h,
|
|
46
|
-
fieldAdvancedFilterOptions:
|
|
47
|
-
fieldNamePrefix:
|
|
48
|
-
filterOptionsMap:
|
|
49
|
-
isModified:
|
|
46
|
+
fieldAdvancedFilterOptions: d,
|
|
47
|
+
fieldNamePrefix: i,
|
|
48
|
+
filterOptionsMap: g,
|
|
49
|
+
isModified: F,
|
|
50
50
|
label: t,
|
|
51
|
-
onAdvancedFilterOptionChange:
|
|
52
|
-
onOpenChange:
|
|
53
|
-
onValueChange: (
|
|
54
|
-
open:
|
|
51
|
+
onAdvancedFilterOptionChange: u,
|
|
52
|
+
onOpenChange: T,
|
|
53
|
+
onValueChange: (l) => j(l, n, o),
|
|
54
|
+
open: B,
|
|
55
55
|
portalElement: C,
|
|
56
|
-
showLabel: !
|
|
56
|
+
showLabel: !x,
|
|
57
57
|
value: c
|
|
58
|
-
}), !
|
|
59
|
-
children: /* @__PURE__ */ a(
|
|
60
|
-
...
|
|
58
|
+
}), !k(c) && /* @__PURE__ */ a(D, {
|
|
59
|
+
children: /* @__PURE__ */ a(P, {
|
|
60
|
+
...H,
|
|
61
61
|
as: "input",
|
|
62
62
|
disabled: h,
|
|
63
|
-
filterFn:
|
|
63
|
+
filterFn: $,
|
|
64
64
|
hideLabel: !0,
|
|
65
65
|
label: t,
|
|
66
66
|
multiselect: !0,
|
|
67
67
|
name: e.name,
|
|
68
|
-
onOpenChange:
|
|
69
|
-
onValueChange: (
|
|
70
|
-
const
|
|
71
|
-
|
|
68
|
+
onOpenChange: M,
|
|
69
|
+
onValueChange: (l) => {
|
|
70
|
+
const m = b(l, c, r);
|
|
71
|
+
I(s, m);
|
|
72
72
|
},
|
|
73
|
-
open:
|
|
74
|
-
options:
|
|
75
|
-
placeholder: !
|
|
73
|
+
open: y,
|
|
74
|
+
options: v,
|
|
75
|
+
placeholder: !n || n.length === 0 ? w.formatMessage(G.multiselectPlaceholder) : "",
|
|
76
76
|
portalElement: C,
|
|
77
|
-
value:
|
|
77
|
+
value: n
|
|
78
78
|
})
|
|
79
79
|
})]
|
|
80
80
|
});
|
|
@@ -83,5 +83,5 @@ const x = (t) => t === "isBlank" || t === "isNotBlank", oe = ({
|
|
|
83
83
|
});
|
|
84
84
|
};
|
|
85
85
|
export {
|
|
86
|
-
|
|
86
|
+
ne as MetadataMultiSelectFieldAdvanced
|
|
87
87
|
};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { TooltipProvider as
|
|
2
|
-
import { useFormikContext as
|
|
3
|
-
import { useIntl as
|
|
4
|
-
import
|
|
5
|
-
import { fieldDefaultProps as
|
|
6
|
-
import { jsx as
|
|
7
|
-
const
|
|
1
|
+
import { TooltipProvider as h, Combobox as f } from "@box/blueprint-web";
|
|
2
|
+
import { useFormikContext as v, getIn as g, Field as C } from "formik";
|
|
3
|
+
import { useIntl as F } from "react-intl";
|
|
4
|
+
import b from "../../../../messages.js";
|
|
5
|
+
import { fieldDefaultProps as $ } from "../constants.js";
|
|
6
|
+
import { jsx as t } from "react/jsx-runtime";
|
|
7
|
+
const j = ({
|
|
8
8
|
disableForm: n,
|
|
9
|
-
fieldNamePrefix:
|
|
9
|
+
fieldNamePrefix: o,
|
|
10
10
|
label: l,
|
|
11
11
|
portalElement: s,
|
|
12
12
|
hasAccordion: i
|
|
@@ -14,44 +14,41 @@ const k = ({
|
|
|
14
14
|
const {
|
|
15
15
|
setFieldValue: m,
|
|
16
16
|
values: u
|
|
17
|
-
} =
|
|
17
|
+
} = v(), d = F(), r = `${o}.value.enum`, c = g(u, `${o}.options`, []).map(({
|
|
18
18
|
key: e
|
|
19
|
-
}) => e), p = (e,
|
|
20
|
-
return /* @__PURE__ */
|
|
19
|
+
}) => e), p = (e, a) => a.toLowerCase().includes(e.toLowerCase());
|
|
20
|
+
return /* @__PURE__ */ t("div", {
|
|
21
21
|
"data-testid": `${l}-field`,
|
|
22
|
-
children: /* @__PURE__ */
|
|
22
|
+
children: /* @__PURE__ */ t(C, {
|
|
23
23
|
name: r,
|
|
24
24
|
children: ({
|
|
25
25
|
field: e
|
|
26
|
-
}) => {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
placeholder
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
})
|
|
49
|
-
});
|
|
50
|
-
}
|
|
26
|
+
}) => /* @__PURE__ */ t(h, {
|
|
27
|
+
children: /* @__PURE__ */ t(f, {
|
|
28
|
+
...$,
|
|
29
|
+
as: "input",
|
|
30
|
+
"data-target-id": `Combobox-${o}`,
|
|
31
|
+
disabled: n,
|
|
32
|
+
filterFn: p,
|
|
33
|
+
hideLabel: i,
|
|
34
|
+
label: l,
|
|
35
|
+
multiselect: !0,
|
|
36
|
+
name: e.name,
|
|
37
|
+
onValueChange: (a) => m(r, a),
|
|
38
|
+
options: c,
|
|
39
|
+
placeholder: (
|
|
40
|
+
// Empty array must be substituded if there is no value found
|
|
41
|
+
// Otherwise an no placeholder appears despite no selection
|
|
42
|
+
(e.value || [])?.length === 0 ? d.formatMessage(b.multiselectPlaceholder) : ""
|
|
43
|
+
),
|
|
44
|
+
portalElement: s,
|
|
45
|
+
value: e.value
|
|
46
|
+
})
|
|
47
|
+
})
|
|
51
48
|
})
|
|
52
49
|
});
|
|
53
50
|
};
|
|
54
51
|
export {
|
|
55
|
-
|
|
56
|
-
|
|
52
|
+
j as MetadataMultiSelectField,
|
|
53
|
+
j as default
|
|
57
54
|
};
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
let
|
|
1
|
+
let A = /* @__PURE__ */ (function(r) {
|
|
2
2
|
return r.MATCH_ANY = "matchAny", r.MATCH_ALL = "matchAll", r.IS_BLANK = "isBlank", r.IS_NOT_BLANK = "isNotBlank", r;
|
|
3
|
-
}({});
|
|
4
|
-
const _ = (r,
|
|
3
|
+
})({});
|
|
4
|
+
const _ = (r, t) => r && t?.some(([s]) => s === r) ? r : A.MATCH_ANY, o = (r, t) => {
|
|
5
5
|
if (Array.isArray(r))
|
|
6
6
|
return r.filter((s) => s !== "");
|
|
7
|
-
if (
|
|
7
|
+
if (t && typeof r == "object" && r !== null)
|
|
8
8
|
return (r.value || []).filter((u) => u !== "");
|
|
9
9
|
const n = r || [];
|
|
10
10
|
return Array.isArray(n) ? n.filter((s) => s !== "") : [];
|
|
11
|
-
},
|
|
12
|
-
value: N(
|
|
13
|
-
advancedFilterOption:
|
|
14
|
-
} : r, N = (r) => r ===
|
|
11
|
+
}, I = (r, t, n) => n ? {
|
|
12
|
+
value: N(t) ? [] : r,
|
|
13
|
+
advancedFilterOption: t
|
|
14
|
+
} : r, N = (r) => r === A.IS_BLANK || r === A.IS_NOT_BLANK;
|
|
15
15
|
export {
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
A as MultiSelectAdvancedFilterOption,
|
|
17
|
+
I as createFieldValue,
|
|
18
18
|
_ as getInitialAdvancedFilterValue,
|
|
19
|
-
|
|
19
|
+
o as getInputValue
|
|
20
20
|
};
|
|
@@ -1,76 +1,76 @@
|
|
|
1
|
-
import { TextInput as
|
|
2
|
-
import { Field as
|
|
3
|
-
import { useState as
|
|
4
|
-
import { useIntl as
|
|
5
|
-
import
|
|
6
|
-
import { fieldDefaultProps as
|
|
7
|
-
import { getInitialAdvancedFilterValue as
|
|
8
|
-
import { jsx as
|
|
9
|
-
import { A as
|
|
10
|
-
const
|
|
11
|
-
label:
|
|
12
|
-
fieldNamePrefix:
|
|
13
|
-
disableForm:
|
|
1
|
+
import { TextInput as M } from "@box/blueprint-web";
|
|
2
|
+
import { Field as $ } from "formik";
|
|
3
|
+
import { useState as j, useCallback as I } from "react";
|
|
4
|
+
import { useIntl as k } from "react-intl";
|
|
5
|
+
import x from "../../../../messages.js";
|
|
6
|
+
import { fieldDefaultProps as y } from "../constants.js";
|
|
7
|
+
import { getInitialAdvancedFilterValue as D, createFieldValue as d, getInputValue as H, shouldHideTextInput as q } from "./utils.js";
|
|
8
|
+
import { jsx as m, jsxs as z, Fragment as B } from "react/jsx-runtime";
|
|
9
|
+
import { A as F } from "../../../../../../chunks/index.js";
|
|
10
|
+
const G = ({
|
|
11
|
+
label: l,
|
|
12
|
+
fieldNamePrefix: n,
|
|
13
|
+
disableForm: i,
|
|
14
14
|
isAdvancedFilterEnabled: t,
|
|
15
|
-
onAdvancedFilterOptionChange:
|
|
16
|
-
fieldAdvancedFilterOptions:
|
|
15
|
+
onAdvancedFilterOptionChange: p,
|
|
16
|
+
fieldAdvancedFilterOptions: V,
|
|
17
17
|
filterOptionsMap: h,
|
|
18
18
|
hasAccordion: c,
|
|
19
|
-
isModified:
|
|
20
|
-
placeholder:
|
|
19
|
+
isModified: w,
|
|
20
|
+
placeholder: S
|
|
21
21
|
}) => {
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
}, [a, t,
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
}, [
|
|
30
|
-
return /* @__PURE__ */
|
|
31
|
-
"data-testid": `${
|
|
32
|
-
children: /* @__PURE__ */
|
|
22
|
+
const f = k(), a = `${n}.value.enum[0]`, [s, T] = j(D(V, h)), C = I((e, u, r) => {
|
|
23
|
+
T(e), p?.(a, e);
|
|
24
|
+
const o = d(u, e, t);
|
|
25
|
+
r.setFieldValue(a, o);
|
|
26
|
+
}, [a, t, p]), L = I((e, u) => {
|
|
27
|
+
const r = e.target.value, o = d(r, s, t);
|
|
28
|
+
u.setFieldValue(a, o);
|
|
29
|
+
}, [s, t, a]);
|
|
30
|
+
return /* @__PURE__ */ m("div", {
|
|
31
|
+
"data-testid": `${l}-field`,
|
|
32
|
+
children: /* @__PURE__ */ m($, {
|
|
33
33
|
name: a,
|
|
34
34
|
children: ({
|
|
35
35
|
field: e,
|
|
36
|
-
meta:
|
|
37
|
-
form:
|
|
36
|
+
meta: u,
|
|
37
|
+
form: r
|
|
38
38
|
}) => {
|
|
39
|
-
const
|
|
40
|
-
return /* @__PURE__ */
|
|
41
|
-
children: [t && /* @__PURE__ */
|
|
42
|
-
disableForm:
|
|
43
|
-
fieldAdvancedFilterOptions:
|
|
44
|
-
fieldNamePrefix:
|
|
39
|
+
const o = H(e.value, t);
|
|
40
|
+
return /* @__PURE__ */ z(B, {
|
|
41
|
+
children: [t && /* @__PURE__ */ m(F, {
|
|
42
|
+
disableForm: i,
|
|
43
|
+
fieldAdvancedFilterOptions: V,
|
|
44
|
+
fieldNamePrefix: n,
|
|
45
45
|
filterOptionsMap: h,
|
|
46
|
-
isModified:
|
|
47
|
-
label:
|
|
48
|
-
onAdvancedFilterOptionChange:
|
|
49
|
-
onValueChange: (
|
|
46
|
+
isModified: w,
|
|
47
|
+
label: l,
|
|
48
|
+
onAdvancedFilterOptionChange: p,
|
|
49
|
+
onValueChange: (g) => C(g, o, r),
|
|
50
50
|
showLabel: t && !c,
|
|
51
|
-
value:
|
|
52
|
-
}), !
|
|
53
|
-
...
|
|
51
|
+
value: s
|
|
52
|
+
}), !q(t, s) && /* @__PURE__ */ m(M, {
|
|
53
|
+
...y,
|
|
54
54
|
...e,
|
|
55
|
-
"aria-label":
|
|
56
|
-
label:
|
|
55
|
+
"aria-label": f.formatMessage(x.enterValueAriaLabel, {
|
|
56
|
+
label: l
|
|
57
57
|
}),
|
|
58
|
-
"data-target-id": `TextInput-${
|
|
59
|
-
disabled:
|
|
60
|
-
error:
|
|
58
|
+
"data-target-id": `TextInput-${n}`,
|
|
59
|
+
disabled: i,
|
|
60
|
+
error: u.error,
|
|
61
61
|
hideLabel: t || c,
|
|
62
|
-
label:
|
|
63
|
-
onChange: (
|
|
64
|
-
placeholder:
|
|
65
|
-
value:
|
|
62
|
+
label: l,
|
|
63
|
+
onChange: (g) => L(g, r),
|
|
64
|
+
placeholder: S || f.formatMessage(x.setValuePlaceholder),
|
|
65
|
+
value: o
|
|
66
66
|
})]
|
|
67
67
|
});
|
|
68
68
|
}
|
|
69
69
|
})
|
|
70
70
|
});
|
|
71
71
|
};
|
|
72
|
-
|
|
72
|
+
G.displayName = "MetadataStringField";
|
|
73
73
|
export {
|
|
74
|
-
|
|
75
|
-
|
|
74
|
+
G as MetadataStringField,
|
|
75
|
+
G as default
|
|
76
76
|
};
|
package/dist/esm/lib/components/metadata-filter-fields/components/metadata-string-field/utils.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
let
|
|
1
|
+
let u = /* @__PURE__ */ (function(t) {
|
|
2
2
|
return t.MATCH_EXACTLY = "matchExactly", t.STARTS_WITH = "startsWith", t.CONTAINS = "contains", t.IS_NOT = "isNot", t.IS_BLANK = "isBlank", t.IS_NOT_BLANK = "isNotBlank", t;
|
|
3
|
-
}({});
|
|
4
|
-
const
|
|
5
|
-
value:
|
|
6
|
-
advancedFilterOption:
|
|
7
|
-
} : t,
|
|
3
|
+
})({});
|
|
4
|
+
const I = (t, s) => t && s?.some(([n]) => n === t) ? t : u.MATCH_EXACTLY, T = (t) => t === u.IS_BLANK || t === u.IS_NOT_BLANK, N = (t, s) => s && typeof t == "object" && t !== null ? t.value || "" : t || "", _ = (t, s, r) => r ? {
|
|
5
|
+
value: T(s) ? "" : t,
|
|
6
|
+
advancedFilterOption: s
|
|
7
|
+
} : t, e = (t, s) => t && T(s);
|
|
8
8
|
export {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
u as AdvancedFilterOption,
|
|
10
|
+
_ as createFieldValue,
|
|
11
|
+
I as getInitialAdvancedFilterValue,
|
|
12
|
+
N as getInputValue,
|
|
13
|
+
T as isBlankOption,
|
|
14
|
+
e as shouldHideTextInput
|
|
15
15
|
};
|
|
@@ -1,69 +1,69 @@
|
|
|
1
|
-
import { ComboboxWithApiTreeView as
|
|
2
|
-
import { useFormikContext as
|
|
3
|
-
import { useCallback as
|
|
4
|
-
import { useIntl as
|
|
5
|
-
import
|
|
6
|
-
import { jsx as
|
|
7
|
-
const
|
|
8
|
-
className:
|
|
9
|
-
disableForm:
|
|
1
|
+
import { ComboboxWithApiTreeView as M, ComboboxWithApiPagination as T } from "@box/combobox-with-api";
|
|
2
|
+
import { useFormikContext as I, getIn as L, Field as P } from "formik";
|
|
3
|
+
import { useCallback as W } from "react";
|
|
4
|
+
import { useIntl as $ } from "react-intl";
|
|
5
|
+
import j from "../../../../messages.js";
|
|
6
|
+
import { jsx as o } from "react/jsx-runtime";
|
|
7
|
+
const z = ({
|
|
8
|
+
className: n,
|
|
9
|
+
disableForm: r,
|
|
10
10
|
fieldNamePrefix: u,
|
|
11
|
-
label:
|
|
12
|
-
portalElement:
|
|
13
|
-
taxonomyOptionsFetcher:
|
|
14
|
-
isMultilevelTaxonomyFieldEnabled:
|
|
15
|
-
hasAccordion:
|
|
11
|
+
label: l,
|
|
12
|
+
portalElement: m,
|
|
13
|
+
taxonomyOptionsFetcher: d,
|
|
14
|
+
isMultilevelTaxonomyFieldEnabled: C,
|
|
15
|
+
hasAccordion: c
|
|
16
16
|
}) => {
|
|
17
17
|
const {
|
|
18
|
-
setFieldValue:
|
|
19
|
-
values:
|
|
20
|
-
} =
|
|
18
|
+
setFieldValue: v,
|
|
19
|
+
values: p
|
|
20
|
+
} = I(), {
|
|
21
21
|
metadata: {
|
|
22
|
-
templateKey:
|
|
22
|
+
templateKey: h,
|
|
23
23
|
scope: g
|
|
24
24
|
}
|
|
25
|
-
} =
|
|
26
|
-
key:
|
|
25
|
+
} = p, k = $(), a = `${u}.value`, y = L(p, u), {
|
|
26
|
+
key: b,
|
|
27
27
|
optionsRules: {
|
|
28
|
-
multiSelect:
|
|
28
|
+
multiSelect: s,
|
|
29
29
|
selectableLevels: t
|
|
30
30
|
},
|
|
31
|
-
levels:
|
|
32
|
-
} =
|
|
33
|
-
return /* @__PURE__ */
|
|
34
|
-
"data-testid": `${
|
|
35
|
-
children: /* @__PURE__ */
|
|
36
|
-
name:
|
|
31
|
+
levels: F
|
|
32
|
+
} = y, V = C && t?.some((e) => e > 1), f = W((e) => d(g, h, b, t?.[0], e), [b, g, t, d, h]), x = (e) => s || !e?.length ? k.formatMessage(j.taxonomyPlaceholder) : void 0;
|
|
33
|
+
return /* @__PURE__ */ o("div", {
|
|
34
|
+
"data-testid": `${l}-field`,
|
|
35
|
+
children: /* @__PURE__ */ o(P, {
|
|
36
|
+
name: a,
|
|
37
37
|
children: ({
|
|
38
|
-
field:
|
|
39
|
-
}) =>
|
|
40
|
-
className:
|
|
41
|
-
defaultFetcher:
|
|
42
|
-
disabled:
|
|
43
|
-
hideLabel:
|
|
44
|
-
label:
|
|
45
|
-
levels:
|
|
46
|
-
multiselect:
|
|
47
|
-
onValueChange: (
|
|
48
|
-
placeholder:
|
|
49
|
-
portalElement:
|
|
38
|
+
field: e
|
|
39
|
+
}) => V ? /* @__PURE__ */ o(M, {
|
|
40
|
+
className: n,
|
|
41
|
+
defaultFetcher: f,
|
|
42
|
+
disabled: r,
|
|
43
|
+
hideLabel: c,
|
|
44
|
+
label: l,
|
|
45
|
+
levels: F,
|
|
46
|
+
multiselect: s,
|
|
47
|
+
onValueChange: (i) => v(a, i),
|
|
48
|
+
placeholder: x(e.value),
|
|
49
|
+
portalElement: m,
|
|
50
50
|
selectableLevels: t,
|
|
51
|
-
value:
|
|
52
|
-
}) : /* @__PURE__ */
|
|
53
|
-
className:
|
|
54
|
-
defaultFetcher:
|
|
55
|
-
disabled:
|
|
56
|
-
label:
|
|
57
|
-
multiselect:
|
|
58
|
-
onValueChange: (
|
|
59
|
-
placeholder:
|
|
60
|
-
portalElement:
|
|
61
|
-
value:
|
|
51
|
+
value: e.value
|
|
52
|
+
}) : /* @__PURE__ */ o(T, {
|
|
53
|
+
className: n,
|
|
54
|
+
defaultFetcher: f,
|
|
55
|
+
disabled: r,
|
|
56
|
+
label: c ? void 0 : l,
|
|
57
|
+
multiselect: s,
|
|
58
|
+
onValueChange: (i) => v(a, i),
|
|
59
|
+
placeholder: x(e.value),
|
|
60
|
+
portalElement: m,
|
|
61
|
+
value: e.value
|
|
62
62
|
})
|
|
63
63
|
})
|
|
64
64
|
});
|
|
65
65
|
};
|
|
66
66
|
export {
|
|
67
|
-
|
|
68
|
-
|
|
67
|
+
z as MetadataTaxonomyField,
|
|
68
|
+
z as default
|
|
69
69
|
};
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import t from "../../messages.js";
|
|
2
|
-
import {
|
|
3
|
-
const
|
|
2
|
+
import { advancedFilterFieldTypes as l, filterFieldTypes as i } from "./filter-field-types.js";
|
|
3
|
+
const y = ({
|
|
4
4
|
field: a,
|
|
5
|
-
isAdvancedFilterEnabled:
|
|
5
|
+
isAdvancedFilterEnabled: r,
|
|
6
6
|
intl: e,
|
|
7
|
-
filterOptionsMap:
|
|
7
|
+
filterOptionsMap: d
|
|
8
8
|
}) => {
|
|
9
|
-
const
|
|
9
|
+
const s = r ? l : i, o = s[a.type] || i[a.type], F = o && !a.hidden;
|
|
10
10
|
return {
|
|
11
|
-
fieldTypesMap:
|
|
12
|
-
MetadataFilterField:
|
|
13
|
-
showField:
|
|
14
|
-
getFilterOptionsForField: () => a.key === "modified_at" &&
|
|
11
|
+
fieldTypesMap: s,
|
|
12
|
+
MetadataFilterField: o,
|
|
13
|
+
showField: F,
|
|
14
|
+
getFilterOptionsForField: () => a.key === "modified_at" && r ? [["selectFilterType", e.formatMessage(t.selectAdvancedFilterType)], ["isNotBlank", e.formatMessage(t.modifiedAtFilterAnyTime)], ["today", e.formatMessage(t.relativeDateFilterToday)], ["past", e.formatMessage(t.relativeDateFilterPast)], ["olderThan", e.formatMessage(t.relativeDateFilterOlderThan)], ["customRange", e.formatMessage(t.modifiedAtFilterCustomRange)]] : d?.[a.type] || []
|
|
15
15
|
};
|
|
16
16
|
};
|
|
17
17
|
export {
|
|
18
|
-
|
|
18
|
+
y as processMetadataField
|
|
19
19
|
};
|
|
@@ -17,8 +17,7 @@ const f = (t) => typeof t == "object" && t !== null && "range" in t, O = (t) =>
|
|
|
17
17
|
if (t && typeof t == "object")
|
|
18
18
|
return o(t.advancedFilterOption);
|
|
19
19
|
}, h = (t) => {
|
|
20
|
-
|
|
21
|
-
const n = (e = t.enum) == null ? void 0 : e[0];
|
|
20
|
+
const n = t.enum?.[0];
|
|
22
21
|
return a(n);
|
|
23
22
|
}, F = (t) => {
|
|
24
23
|
const n = t.enum;
|
|
@@ -27,8 +26,7 @@ const f = (t) => typeof t == "object" && t !== null && "range" in t, O = (t) =>
|
|
|
27
26
|
const e = Array.isArray(n) ? n[0] : void 0;
|
|
28
27
|
return a(e);
|
|
29
28
|
}, j = (t) => {
|
|
30
|
-
|
|
31
|
-
const n = (e = t.enum) == null ? void 0 : e[0];
|
|
29
|
+
const n = t.enum?.[0];
|
|
32
30
|
return a(n);
|
|
33
31
|
}, x = (t) => o(t.advancedFilterOption), S = {
|
|
34
32
|
string: h,
|
|
@@ -42,10 +40,9 @@ const f = (t) => typeof t == "object" && t !== null && "range" in t, O = (t) =>
|
|
|
42
40
|
const r = S[t];
|
|
43
41
|
return r ? r(n) : void 0;
|
|
44
42
|
}, E = (t, n) => {
|
|
45
|
-
var r;
|
|
46
43
|
if (!n)
|
|
47
44
|
return !1;
|
|
48
|
-
const e =
|
|
45
|
+
const e = t.enum?.[0];
|
|
49
46
|
return e && typeof e == "object" && O(e) ? l(e.value) : typeof e == "string" && e !== "";
|
|
50
47
|
}, p = (t, n) => {
|
|
51
48
|
if (!n)
|
|
@@ -53,14 +50,13 @@ const f = (t) => typeof t == "object" && t !== null && "range" in t, O = (t) =>
|
|
|
53
50
|
const e = t.enum;
|
|
54
51
|
return Array.isArray(e) ? m(e) : e && typeof e == "object" ? m(e.value) : !1;
|
|
55
52
|
}, C = (t, n) => {
|
|
56
|
-
var e;
|
|
57
53
|
if (n) {
|
|
58
|
-
const
|
|
59
|
-
if (
|
|
60
|
-
if ("value" in
|
|
61
|
-
return u(
|
|
62
|
-
if (f(
|
|
63
|
-
return u(
|
|
54
|
+
const e = t.enum?.[0];
|
|
55
|
+
if (e && typeof e == "object") {
|
|
56
|
+
if ("value" in e && f(e.value))
|
|
57
|
+
return u(e.value.range);
|
|
58
|
+
if (f(e))
|
|
59
|
+
return u(e.range);
|
|
64
60
|
}
|
|
65
61
|
}
|
|
66
62
|
return u(t.range);
|