@box/metadata-view 0.40.0 → 0.41.1

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.
Files changed (38) hide show
  1. package/dist/esm/lib/components/metadata-table/messages.js +6 -2
  2. package/dist/esm/lib/components/metadata-table/table-body/inline-editing-cell/inline-editing-cell.js +46 -33
  3. package/dist/esm/lib/components/metadata-table/table-body/table-body-with-data.js +83 -99
  4. package/dist/esm/lib/components/metadata-table/table-renderer.js +6 -6
  5. package/dist/i18n/bn-IN.js +1 -0
  6. package/dist/i18n/da-DK.js +1 -0
  7. package/dist/i18n/de-DE.js +1 -0
  8. package/dist/i18n/en-AU.js +1 -0
  9. package/dist/i18n/en-CA.js +1 -0
  10. package/dist/i18n/en-GB.js +1 -0
  11. package/dist/i18n/en-US.js +1 -0
  12. package/dist/i18n/en-US.properties +2 -0
  13. package/dist/i18n/en-x-pseudo.js +1 -0
  14. package/dist/i18n/es-419.js +1 -0
  15. package/dist/i18n/es-ES.js +1 -0
  16. package/dist/i18n/fi-FI.js +1 -0
  17. package/dist/i18n/fr-CA.js +1 -0
  18. package/dist/i18n/fr-FR.js +1 -0
  19. package/dist/i18n/hi-IN.js +1 -0
  20. package/dist/i18n/it-IT.js +1 -0
  21. package/dist/i18n/ja-JP.js +1 -0
  22. package/dist/i18n/json/src/lib/components/metadata-table/messages.json +1 -1
  23. package/dist/i18n/ko-KR.js +1 -0
  24. package/dist/i18n/nb-NO.js +1 -0
  25. package/dist/i18n/nl-NL.js +1 -0
  26. package/dist/i18n/pl-PL.js +1 -0
  27. package/dist/i18n/pt-BR.js +1 -0
  28. package/dist/i18n/ru-RU.js +1 -0
  29. package/dist/i18n/sv-SE.js +1 -0
  30. package/dist/i18n/tr-TR.js +1 -0
  31. package/dist/i18n/zh-CN.js +1 -0
  32. package/dist/i18n/zh-TW.js +1 -0
  33. package/dist/types/lib/components/metadata-table/messages.d.ts +5 -0
  34. package/dist/types/lib/components/metadata-table/metadata-table.d.ts +2 -3
  35. package/dist/types/lib/components/metadata-table/table-body/inline-editing-cell/inline-editing-cell.d.ts +3 -4
  36. package/dist/types/lib/components/metadata-table/table-body/table-body-with-data.d.ts +3 -5
  37. package/dist/types/lib/components/metadata-table/table-renderer.d.ts +2 -3
  38. package/package.json +4 -4
@@ -1,5 +1,5 @@
1
1
  import { defineMessages as e } from "react-intl";
2
- const s = e({
2
+ const a = e({
3
3
  listView: {
4
4
  id: "groupSharedFeatures.metadataView.itemList.listView",
5
5
  defaultMessage: "List view"
@@ -7,8 +7,12 @@ const s = e({
7
7
  selectAll: {
8
8
  id: "groupSharedFeatures.metadataView.itemList.selectAll",
9
9
  defaultMessage: "Select all"
10
+ },
11
+ unselectedOptionLabel: {
12
+ id: "groupSharedFeatures.metadataView.inlineEditingCell.unselectedOptionLabel",
13
+ defaultMessage: "--"
10
14
  }
11
15
  });
12
16
  export {
13
- s as default
17
+ a as default
14
18
  };
@@ -1,42 +1,55 @@
1
- import { Cell as f, DropdownMenu as r, Button as h } from "@box/blueprint-web";
2
- import { CaretDown as C } from "@box/blueprint-web-assets/icons/Fill";
3
- import m from "lodash/get";
4
- import { jsx as t, jsxs as p } from "react/jsx-runtime";
5
- import '../../../../../../styles/inline-editing-cell.css';const E = "_inlineEditingCell_1iieg_1", w = {
6
- inlineEditingCell: E
7
- }, y = ({
8
- column: n,
9
- item: l,
10
- onInlineEditChange: s,
11
- type: c
1
+ import { Cell as b, DropdownMenu as i, Button as v } from "@box/blueprint-web";
2
+ import { CaretDown as E } from "@box/blueprint-web-assets/icons/Fill";
3
+ import S from "lodash/get";
4
+ import w from "lodash/isEqual";
5
+ import { useIntl as x } from "react-intl";
6
+ import y from "../../messages.js";
7
+ import { jsx as t, jsxs as O } from "react/jsx-runtime";
8
+ import '../../../../../../styles/inline-editing-cell.css';const j = "_inlineEditingCell_1iieg_1", D = {
9
+ inlineEditingCell: j
10
+ }, R = ({
11
+ column: m,
12
+ item: s,
13
+ onInlineEditChange: c
12
14
  }) => {
13
- const o = `${n.id}-${l.id}`, d = m(l, n.id) || "--", e = typeof d == "string" ? [d] : d, a = (i) => {
14
- if (c === "multiSelect") {
15
- const g = [...e, i];
16
- s(l, g, n.id);
17
- }
18
- c === "enum" && s(l, i, n.id);
19
- };
20
- return /* @__PURE__ */ t(f, {
21
- children: /* @__PURE__ */ p(r.Root, {
22
- children: [/* @__PURE__ */ t(r.Trigger, {
23
- children: /* @__PURE__ */ t(h, {
24
- className: w.inlineEditingCell,
25
- icon: C,
15
+ const {
16
+ formatMessage: d
17
+ } = x(), {
18
+ type: a,
19
+ inlineEditingOptions: f,
20
+ id: u
21
+ } = m, r = S(s, u), n = typeof r == "string" ? [r] : r || [], o = d(y.unselectedOptionLabel), g = [{
22
+ value: null,
23
+ label: o
24
+ }, ...(f ?? []).map((e) => ({
25
+ value: e,
26
+ label: e
27
+ }))], h = (e) => {
28
+ if (!c)
29
+ return;
30
+ let l;
31
+ a === "multiSelect" ? e === null ? l = [] : l = n.includes(e) ? n.filter((C) => C !== e) : [...n, e] : l = e, (a === "multiSelect" ? !w(l, n) : l !== n[0]) && c(s, l, u);
32
+ }, p = (e) => e === null ? n.length === 0 : n.includes(e);
33
+ return /* @__PURE__ */ t(b, {
34
+ children: /* @__PURE__ */ O(i.Root, {
35
+ children: [/* @__PURE__ */ t(i.Trigger, {
36
+ children: /* @__PURE__ */ t(v, {
37
+ className: D.inlineEditingCell,
38
+ icon: E,
26
39
  variant: "secondary",
27
- children: e.join(", ")
40
+ children: n.length > 0 ? n.join(", ") : o
28
41
  })
29
- }), /* @__PURE__ */ t(r.Content, {
42
+ }), /* @__PURE__ */ t(i.Content, {
30
43
  align: "start",
31
- children: n.inlineEditingOptions.map((i) => /* @__PURE__ */ t(r.CheckboxItem, {
32
- checked: e === i || (e == null ? void 0 : e.includes(i)),
33
- onSelect: () => a(i),
34
- children: i
35
- }, i))
44
+ children: g.map((e) => /* @__PURE__ */ t(i.CheckboxItem, {
45
+ checked: p(e.value),
46
+ onSelect: () => h(e.value),
47
+ children: e.label
48
+ }, e.value ?? o))
36
49
  })]
37
50
  })
38
- }, o);
51
+ });
39
52
  };
40
53
  export {
41
- y as default
54
+ R as default
42
55
  };
@@ -1,62 +1,62 @@
1
- import { TableBody as C, Row as S, Cell as I, ActionCell as b, Text as N } from "@box/blueprint-web";
2
- import { ItemTypeIcon as L } from "@box/item-icon";
3
- import x from "clsx";
1
+ import { TableBody as y, Row as L, Cell as I, ActionCell as S, Text as N } from "@box/blueprint-web";
2
+ import { ItemTypeIcon as $ } from "@box/item-icon";
3
+ import b from "clsx";
4
4
  import T from "lodash/get";
5
- import d from "react";
5
+ import i from "react";
6
6
  import { I as h } from "../../../../../chunks/types.js";
7
- import { THUMBNAIL_LIST_VIEW_HEIGHTS as R } from "../../constants.js";
8
- import w from "./ghost-row/ghost-row.js";
9
- import { s as m, T as g } from "../../../../../chunks/table-row.js";
7
+ import { THUMBNAIL_LIST_VIEW_HEIGHTS as x } from "../../constants.js";
8
+ import R from "./ghost-row/ghost-row.js";
9
+ import { s as f, T as g } from "../../../../../chunks/table-row.js";
10
10
  import { jsx as r, jsxs as u } from "react/jsx-runtime";
11
- import $ from "./inline-editing-cell/inline-editing-cell.js";
11
+ import w from "./inline-editing-cell/inline-editing-cell.js";
12
12
  import { ItemActionMenu as B } from "../../item-action-menu/item-action-menu.js";
13
- const _ = /* @__PURE__ */ d.memo(({
13
+ const _ = /* @__PURE__ */ i.memo(({
14
14
  item: t,
15
15
  column: e,
16
16
  iconColumnVariant: l
17
17
  }) => {
18
18
  const {
19
- id: o,
20
- subtitle: a
21
- } = e, c = `${e.textValue}-${t.id}`;
19
+ id: n,
20
+ subtitle: d
21
+ } = e, a = `${e.textValue}-${t.id}`;
22
22
  return /* @__PURE__ */ r(I, {
23
23
  children: /* @__PURE__ */ u("div", {
24
- className: m.tableNameCell,
25
- children: [/* @__PURE__ */ r(L, {
24
+ className: f.tableNameCell,
25
+ children: [/* @__PURE__ */ r($, {
26
26
  item: t
27
27
  }), /* @__PURE__ */ u("div", {
28
- className: x({
29
- [m.tableNameCellSubtitle]: l === h.INLINE_SUBTITLE
28
+ className: b({
29
+ [f.tableNameCellSubtitle]: l === h.INLINE_SUBTITLE
30
30
  }),
31
31
  children: [/* @__PURE__ */ r(N, {
32
32
  as: "span",
33
- children: T(t, o)
33
+ children: T(t, n)
34
34
  }), l === h.INLINE_SUBTITLE && /* @__PURE__ */ r(N, {
35
35
  as: "span",
36
36
  color: "textOnLightSecondary",
37
- children: a
37
+ children: d
38
38
  })]
39
39
  })]
40
40
  })
41
- }, c);
42
- }), k = /* @__PURE__ */ d.memo(({
41
+ }, a);
42
+ }), k = /* @__PURE__ */ i.memo(({
43
43
  item: t,
44
44
  column: e
45
45
  }) => {
46
- var o;
46
+ var n;
47
47
  const l = `${e.textValue}-${t.id}`;
48
48
  return /* @__PURE__ */ r(I, {
49
- children: (o = e.cellRenderer) == null ? void 0 : o.call(e, t, e)
49
+ children: (n = e.cellRenderer) == null ? void 0 : n.call(e, t, e)
50
50
  }, l);
51
- }), U = /* @__PURE__ */ d.memo(({
51
+ }), U = /* @__PURE__ */ i.memo(({
52
52
  item: t,
53
53
  column: e
54
54
  }) => {
55
- const l = `${e.textValue}-${t.id}`, o = T(t, e.id);
56
- return o ? /* @__PURE__ */ r(I, {
57
- children: o.join(" ")
55
+ const l = `${e.textValue}-${t.id}`, n = T(t, e.id);
56
+ return n ? /* @__PURE__ */ r(I, {
57
+ children: n.join(" ")
58
58
  }, l) : /* @__PURE__ */ r(I, {}, l);
59
- }), W = /* @__PURE__ */ d.memo(({
59
+ }), W = /* @__PURE__ */ i.memo(({
60
60
  item: t,
61
61
  column: e
62
62
  }) => {
@@ -67,67 +67,51 @@ const _ = /* @__PURE__ */ d.memo(({
67
67
  children: T(t, e.id)
68
68
  })
69
69
  }, l);
70
- }), j = /* @__PURE__ */ d.memo(({
70
+ }), j = /* @__PURE__ */ i.memo(({
71
71
  item: t,
72
72
  column: e,
73
73
  iconColumnVariant: l,
74
- onInlineEditChange: o
74
+ onInlineEditChange: n
75
75
  }) => {
76
76
  const {
77
- cellRenderer: a,
78
- id: c,
77
+ cellRenderer: d,
78
+ id: a,
79
79
  isInlineEditingEnabled: p,
80
- type: s
80
+ type: c
81
81
  } = e;
82
- if (c === "name" && (l === h.INLINE || l === h.INLINE_SUBTITLE))
83
- return /* @__PURE__ */ r(_, {
84
- column: e,
85
- iconColumnVariant: l,
86
- item: t
87
- });
88
- if (a)
89
- return /* @__PURE__ */ r(k, {
90
- column: e,
91
- item: t
92
- });
93
- if (p) {
94
- if (s === "multiSelect")
95
- return /* @__PURE__ */ r($, {
96
- column: e,
97
- item: t,
98
- onInlineEditChange: o,
99
- type: s
100
- });
101
- if (s === "enum")
102
- return /* @__PURE__ */ r($, {
103
- column: e,
104
- item: t,
105
- onInlineEditChange: o,
106
- type: s
107
- });
108
- }
109
- return s === "multiSelect" ? /* @__PURE__ */ r(U, {
82
+ return a === "name" && (l === h.INLINE || l === h.INLINE_SUBTITLE) ? /* @__PURE__ */ r(_, {
83
+ column: e,
84
+ iconColumnVariant: l,
85
+ item: t
86
+ }) : d ? /* @__PURE__ */ r(k, {
87
+ column: e,
88
+ item: t
89
+ }) : p && (c === "multiSelect" || c === "enum") ? /* @__PURE__ */ r(w, {
90
+ column: e,
91
+ item: t,
92
+ onInlineEditChange: n
93
+ }, `${e.id}-${t.id}`) : c === "multiSelect" ? /* @__PURE__ */ r(U, {
110
94
  column: e,
111
95
  item: t
112
96
  }) : /* @__PURE__ */ r(W, {
113
97
  column: e,
114
98
  item: t
115
99
  });
116
- }), D = /* @__PURE__ */ d.memo(({
100
+ }), D = /* @__PURE__ */ i.memo(({
117
101
  item: t,
118
102
  zoomLevel: e
119
103
  }) => /* @__PURE__ */ r(I, {
120
104
  style: {
121
- height: R[e]
105
+ height: x[e]
122
106
  },
123
- children: /* @__PURE__ */ r(L, {
124
- className: m.iconCell,
107
+ children: /* @__PURE__ */ r($, {
108
+ className: f.iconCell,
125
109
  item: t
126
110
  })
127
- }, `item-type-icon-${t.id}`)), G = /* @__PURE__ */ d.memo(({
111
+ }, `item-type-icon-${t.id}`)), G = /* @__PURE__ */ i.memo(({
128
112
  item: t,
129
113
  itemActionMenuProps: e
130
- }) => /* @__PURE__ */ r(b, {
114
+ }) => /* @__PURE__ */ r(S, {
131
115
  children: (l) => e ? /* @__PURE__ */ r(B, {
132
116
  ...e,
133
117
  item: t,
@@ -137,54 +121,54 @@ const _ = /* @__PURE__ */ d.memo(({
137
121
  columns: t,
138
122
  iconColumnVariant: e,
139
123
  isSelectAllEnabled: l,
140
- items: o,
141
- itemActionMenuProps: a,
142
- virtualItems: c,
124
+ items: n,
125
+ itemActionMenuProps: d,
126
+ virtualItems: a,
143
127
  columnCount: p,
144
- zoomLevel: s,
145
- onInlineEditChange: y
128
+ zoomLevel: c,
129
+ onInlineEditChange: C
146
130
  }) => {
147
131
  const E = e === h.COLUMN;
148
- if (c) {
149
- const n = (i) => /* @__PURE__ */ r(w, {
132
+ if (a) {
133
+ const o = (s) => /* @__PURE__ */ r(R, {
150
134
  columnLength: p || 0,
151
- rowKey: `ghost-${i}`
152
- }), f = (i) => /* @__PURE__ */ r(g, {
135
+ rowKey: `ghost-${s}`
136
+ }), m = (s) => /* @__PURE__ */ r(g, {
153
137
  columns: t,
154
138
  iconColumnVariant: e,
155
139
  isSelectAllEnabled: l,
156
- item: i,
157
- itemActionMenuProps: a,
158
- zoomLevel: s
140
+ item: s,
141
+ itemActionMenuProps: d,
142
+ zoomLevel: c
159
143
  });
160
- return /* @__PURE__ */ r(C, {
161
- items: c,
144
+ return /* @__PURE__ */ r(y, {
145
+ items: a,
162
146
  children: ({
163
- index: i
164
- }) => i >= o.length ? n(i) : f(o[i])
147
+ index: s
148
+ }) => s >= n.length ? o(s) : m(n[s])
165
149
  });
166
150
  }
167
- return /* @__PURE__ */ r(C, {
168
- items: o.map((n) => ({
169
- key: n.id,
170
- ...n
151
+ return /* @__PURE__ */ r(y, {
152
+ items: n.map((o) => ({
153
+ key: o.id,
154
+ ...o
171
155
  })),
172
- children: (n) => /* @__PURE__ */ u(S, {
173
- className: m.tableRow,
174
- id: n.id,
156
+ children: (o) => /* @__PURE__ */ u(L, {
157
+ className: f.tableRow,
158
+ id: o.id,
175
159
  children: [E && /* @__PURE__ */ r(D, {
176
- item: n,
177
- zoomLevel: s
178
- }), t.map((f) => /* @__PURE__ */ r(j, {
179
- column: f,
160
+ item: o,
161
+ zoomLevel: c
162
+ }), t.map((m) => /* @__PURE__ */ r(j, {
163
+ column: m,
180
164
  iconColumnVariant: e,
181
- item: n,
182
- onInlineEditChange: y
183
- }, `${f.textValue}-${n.id}`)), l && /* @__PURE__ */ r(G, {
184
- item: n,
185
- itemActionMenuProps: a
165
+ item: o,
166
+ onInlineEditChange: C
167
+ }, `${m.textValue}-${o.id}`)), l && /* @__PURE__ */ r(G, {
168
+ item: o,
169
+ itemActionMenuProps: d
186
170
  })]
187
- }, n.id)
171
+ }, o.id)
188
172
  });
189
173
  };
190
174
  export {
@@ -1,7 +1,7 @@
1
1
  import { Table as T } from "@box/blueprint-web";
2
- import d from "./table-body/ghost-table-body.js";
3
- import x from "./table-body/table-body-with-data.js";
4
- import { I as B } from "../../../../chunks/types.js";
2
+ import { I as d } from "../../../../chunks/types.js";
3
+ import x from "./table-body/ghost-table-body.js";
4
+ import B from "./table-body/table-body-with-data.js";
5
5
  import j from "./messages.js";
6
6
  import { jsxs as y, jsx as i } from "react/jsx-runtime";
7
7
  const O = ({
@@ -22,7 +22,7 @@ const O = ({
22
22
  }) => {
23
23
  const m = p || (() => {
24
24
  let e = t.length;
25
- return n === B.COLUMN && (e += 1), r && (e += 1), e;
25
+ return n === d.COLUMN && (e += 1), r && (e += 1), e;
26
26
  })(), b = l && !(o != null && o.length);
27
27
  return /* @__PURE__ */ y(T, {
28
28
  "aria-label": u(j.listView),
@@ -30,9 +30,9 @@ const O = ({
30
30
  selectionMode: "multiple",
31
31
  style: h,
32
32
  ...a,
33
- children: [s, b ? /* @__PURE__ */ i(d, {
33
+ children: [s, b ? /* @__PURE__ */ i(x, {
34
34
  columnLength: m
35
- }) : /* @__PURE__ */ i(x, {
35
+ }) : /* @__PURE__ */ i(B, {
36
36
  columnCount: m,
37
37
  columns: t,
38
38
  iconColumnVariant: n,
@@ -19,6 +19,7 @@ export default {
19
19
  "groupSharedFeatures.metadataView.filterSidepanel.filtersHeader": "ফিল্টারগুলি",
20
20
  "groupSharedFeatures.metadataView.filterSidepanel.showResultsButton": "অনুসন্ধান করুন",
21
21
  "groupSharedFeatures.metadataView.gridList.gridView": "গ্রিড ভিউ",
22
+ "groupSharedFeatures.metadataView.inlineEditingCell.unselectedOptionLabel": "--",
22
23
  "groupSharedFeatures.metadataView.itemActionMenu.actionMenu": "অ্যাকশন মেনু",
23
24
  "groupSharedFeatures.metadataView.itemList.errorMessage": "কোনো সমস্যা হয়েছে। অনুগ্রহ করে এই পৃষ্ঠাটি রিফ্রেশ করুন।",
24
25
  "groupSharedFeatures.metadataView.itemList.listView": "তালিকা ভিউ",
@@ -19,6 +19,7 @@ export default {
19
19
  "groupSharedFeatures.metadataView.filterSidepanel.filtersHeader": "Filtre",
20
20
  "groupSharedFeatures.metadataView.filterSidepanel.showResultsButton": "Søg",
21
21
  "groupSharedFeatures.metadataView.gridList.gridView": "Gittervisning",
22
+ "groupSharedFeatures.metadataView.inlineEditingCell.unselectedOptionLabel": "--",
22
23
  "groupSharedFeatures.metadataView.itemActionMenu.actionMenu": "Handlingsmenu",
23
24
  "groupSharedFeatures.metadataView.itemList.errorMessage": "Noget gik galt. Opdater denne side.",
24
25
  "groupSharedFeatures.metadataView.itemList.listView": "Listevisning",
@@ -19,6 +19,7 @@ export default {
19
19
  "groupSharedFeatures.metadataView.filterSidepanel.filtersHeader": "Filter",
20
20
  "groupSharedFeatures.metadataView.filterSidepanel.showResultsButton": "Suchen",
21
21
  "groupSharedFeatures.metadataView.gridList.gridView": "Rasteransicht",
22
+ "groupSharedFeatures.metadataView.inlineEditingCell.unselectedOptionLabel": "--",
22
23
  "groupSharedFeatures.metadataView.itemActionMenu.actionMenu": "Aktionen-Auswahl",
23
24
  "groupSharedFeatures.metadataView.itemList.errorMessage": "Es ist ein Fehler aufgetreten. Bitte aktualisieren Sie diese Seite.",
24
25
  "groupSharedFeatures.metadataView.itemList.listView": "Listenansicht",
@@ -19,6 +19,7 @@ export default {
19
19
  "groupSharedFeatures.metadataView.filterSidepanel.filtersHeader": "Filters",
20
20
  "groupSharedFeatures.metadataView.filterSidepanel.showResultsButton": "Search",
21
21
  "groupSharedFeatures.metadataView.gridList.gridView": "Grid View",
22
+ "groupSharedFeatures.metadataView.inlineEditingCell.unselectedOptionLabel": "--",
22
23
  "groupSharedFeatures.metadataView.itemActionMenu.actionMenu": "Action menu",
23
24
  "groupSharedFeatures.metadataView.itemList.errorMessage": "Something went wrong. Please refresh this page.",
24
25
  "groupSharedFeatures.metadataView.itemList.listView": "List view",
@@ -19,6 +19,7 @@ export default {
19
19
  "groupSharedFeatures.metadataView.filterSidepanel.filtersHeader": "Filters",
20
20
  "groupSharedFeatures.metadataView.filterSidepanel.showResultsButton": "Search",
21
21
  "groupSharedFeatures.metadataView.gridList.gridView": "Grid View",
22
+ "groupSharedFeatures.metadataView.inlineEditingCell.unselectedOptionLabel": "--",
22
23
  "groupSharedFeatures.metadataView.itemActionMenu.actionMenu": "Action menu",
23
24
  "groupSharedFeatures.metadataView.itemList.errorMessage": "Something went wrong. Please refresh this page.",
24
25
  "groupSharedFeatures.metadataView.itemList.listView": "List view",
@@ -19,6 +19,7 @@ export default {
19
19
  "groupSharedFeatures.metadataView.filterSidepanel.filtersHeader": "Filters",
20
20
  "groupSharedFeatures.metadataView.filterSidepanel.showResultsButton": "Search",
21
21
  "groupSharedFeatures.metadataView.gridList.gridView": "Grid View",
22
+ "groupSharedFeatures.metadataView.inlineEditingCell.unselectedOptionLabel": "--",
22
23
  "groupSharedFeatures.metadataView.itemActionMenu.actionMenu": "Action menu",
23
24
  "groupSharedFeatures.metadataView.itemList.errorMessage": "Something went wrong. Please refresh this page.",
24
25
  "groupSharedFeatures.metadataView.itemList.listView": "List view",
@@ -19,6 +19,7 @@ export default {
19
19
  "groupSharedFeatures.metadataView.filterSidepanel.filtersHeader": "Filters",
20
20
  "groupSharedFeatures.metadataView.filterSidepanel.showResultsButton": "Search",
21
21
  "groupSharedFeatures.metadataView.gridList.gridView": "Grid View",
22
+ "groupSharedFeatures.metadataView.inlineEditingCell.unselectedOptionLabel": "--",
22
23
  "groupSharedFeatures.metadataView.itemActionMenu.actionMenu": "Action menu",
23
24
  "groupSharedFeatures.metadataView.itemList.errorMessage": "Something went wrong. Please refresh this page.",
24
25
  "groupSharedFeatures.metadataView.itemList.listView": "List view",
@@ -38,6 +38,8 @@ groupSharedFeatures.metadataView.filterSidepanel.filtersHeader = Filters
38
38
  groupSharedFeatures.metadataView.filterSidepanel.showResultsButton = Search
39
39
  # Label for the grid view of files and folders
40
40
  groupSharedFeatures.metadataView.gridList.gridView = Grid View
41
+ # Label for the default unselected option in inline editing dropdowns
42
+ groupSharedFeatures.metadataView.inlineEditingCell.unselectedOptionLabel = --
41
43
  # Label for the action menu for an item in the metadata view list
42
44
  groupSharedFeatures.metadataView.itemActionMenu.actionMenu = Action menu
43
45
  # Error message displayed when metadata fails to load
@@ -19,6 +19,7 @@ export default {
19
19
  "groupSharedFeatures.metadataView.filterSidepanel.filtersHeader": "⟦萬萬 ₣íľťêяś 國國⟧",
20
20
  "groupSharedFeatures.metadataView.filterSidepanel.showResultsButton": "⟦萬 Śєαŕċĥ 國⟧",
21
21
  "groupSharedFeatures.metadataView.gridList.gridView": "⟦萬萬 Ġяіď Vίεω 國國⟧",
22
+ "groupSharedFeatures.metadataView.inlineEditingCell.unselectedOptionLabel": "--",
22
23
  "groupSharedFeatures.metadataView.itemActionMenu.actionMenu": "⟦萬萬萬 Ǻċťĭση mêηũ 國國國⟧",
23
24
  "groupSharedFeatures.metadataView.itemList.errorMessage": "⟦萬萬萬萬萬萬萬萬萬萬萬萬萬萬 Şőmετĥïńğ щеňτ ŵřôňğ. Pľèäѕē řéƒŗëŝн ţħïś Ρâğє. 國國國國國國國國國國國國國國⟧",
24
25
  "groupSharedFeatures.metadataView.itemList.listView": "⟦萬萬 Ŀīѕτ νīёẃ 國國⟧",
@@ -19,6 +19,7 @@ export default {
19
19
  "groupSharedFeatures.metadataView.filterSidepanel.filtersHeader": "Filtros",
20
20
  "groupSharedFeatures.metadataView.filterSidepanel.showResultsButton": "Buscar",
21
21
  "groupSharedFeatures.metadataView.gridList.gridView": "Vista de cuadrícula",
22
+ "groupSharedFeatures.metadataView.inlineEditingCell.unselectedOptionLabel": "--",
22
23
  "groupSharedFeatures.metadataView.itemActionMenu.actionMenu": "Menú de acción",
23
24
  "groupSharedFeatures.metadataView.itemList.errorMessage": "Se ha producido un error. Actualice esta página.",
24
25
  "groupSharedFeatures.metadataView.itemList.listView": "Vista de lista",
@@ -19,6 +19,7 @@ export default {
19
19
  "groupSharedFeatures.metadataView.filterSidepanel.filtersHeader": "Filtros",
20
20
  "groupSharedFeatures.metadataView.filterSidepanel.showResultsButton": "Buscar",
21
21
  "groupSharedFeatures.metadataView.gridList.gridView": "Vista de cuadrícula",
22
+ "groupSharedFeatures.metadataView.inlineEditingCell.unselectedOptionLabel": "--",
22
23
  "groupSharedFeatures.metadataView.itemActionMenu.actionMenu": "Menú de acción",
23
24
  "groupSharedFeatures.metadataView.itemList.errorMessage": "Se ha producido un error. Actualice esta página.",
24
25
  "groupSharedFeatures.metadataView.itemList.listView": "Vista de lista",
@@ -19,6 +19,7 @@ export default {
19
19
  "groupSharedFeatures.metadataView.filterSidepanel.filtersHeader": "Suodattimet",
20
20
  "groupSharedFeatures.metadataView.filterSidepanel.showResultsButton": "Hae",
21
21
  "groupSharedFeatures.metadataView.gridList.gridView": "Ruudukkonäkymä",
22
+ "groupSharedFeatures.metadataView.inlineEditingCell.unselectedOptionLabel": "--",
22
23
  "groupSharedFeatures.metadataView.itemActionMenu.actionMenu": "Toimintovalikko",
23
24
  "groupSharedFeatures.metadataView.itemList.errorMessage": "Jokin meni vikaan. Päivitä tämä sivu.",
24
25
  "groupSharedFeatures.metadataView.itemList.listView": "Luettelonäkymä",
@@ -19,6 +19,7 @@ export default {
19
19
  "groupSharedFeatures.metadataView.filterSidepanel.filtersHeader": "Filtres",
20
20
  "groupSharedFeatures.metadataView.filterSidepanel.showResultsButton": "Rechercher",
21
21
  "groupSharedFeatures.metadataView.gridList.gridView": "Affichage Grille",
22
+ "groupSharedFeatures.metadataView.inlineEditingCell.unselectedOptionLabel": "--",
22
23
  "groupSharedFeatures.metadataView.itemActionMenu.actionMenu": "Menu des actions",
23
24
  "groupSharedFeatures.metadataView.itemList.errorMessage": "Une erreur s'est produite. Veuillez actualiser cette page.",
24
25
  "groupSharedFeatures.metadataView.itemList.listView": "Affichage liste",
@@ -19,6 +19,7 @@ export default {
19
19
  "groupSharedFeatures.metadataView.filterSidepanel.filtersHeader": "Filtres",
20
20
  "groupSharedFeatures.metadataView.filterSidepanel.showResultsButton": "Rechercher",
21
21
  "groupSharedFeatures.metadataView.gridList.gridView": "Affichage Grille",
22
+ "groupSharedFeatures.metadataView.inlineEditingCell.unselectedOptionLabel": "--",
22
23
  "groupSharedFeatures.metadataView.itemActionMenu.actionMenu": "Menu des actions",
23
24
  "groupSharedFeatures.metadataView.itemList.errorMessage": "Une erreur s'est produite. Veuillez actualiser cette page.",
24
25
  "groupSharedFeatures.metadataView.itemList.listView": "Affichage liste",
@@ -19,6 +19,7 @@ export default {
19
19
  "groupSharedFeatures.metadataView.filterSidepanel.filtersHeader": "फ़िल्टर्स",
20
20
  "groupSharedFeatures.metadataView.filterSidepanel.showResultsButton": "खोजें",
21
21
  "groupSharedFeatures.metadataView.gridList.gridView": "ग्रिड दृश्य",
22
+ "groupSharedFeatures.metadataView.inlineEditingCell.unselectedOptionLabel": "--",
22
23
  "groupSharedFeatures.metadataView.itemActionMenu.actionMenu": "कार्र्यवाही मेनू",
23
24
  "groupSharedFeatures.metadataView.itemList.errorMessage": "कुछ गड़बड़ हो गयी। कृपया इस पेज को रिफ्रेश करें।",
24
25
  "groupSharedFeatures.metadataView.itemList.listView": "सूची दृश्य",
@@ -19,6 +19,7 @@ export default {
19
19
  "groupSharedFeatures.metadataView.filterSidepanel.filtersHeader": "Filtri",
20
20
  "groupSharedFeatures.metadataView.filterSidepanel.showResultsButton": "Cerca",
21
21
  "groupSharedFeatures.metadataView.gridList.gridView": "Vista griglia",
22
+ "groupSharedFeatures.metadataView.inlineEditingCell.unselectedOptionLabel": "--",
22
23
  "groupSharedFeatures.metadataView.itemActionMenu.actionMenu": "Menu azioni",
23
24
  "groupSharedFeatures.metadataView.itemList.errorMessage": "Si è verificato un errore. Per favore, aggiorna questa pagina.",
24
25
  "groupSharedFeatures.metadataView.itemList.listView": "Visualizzazione elenco",
@@ -19,6 +19,7 @@ export default {
19
19
  "groupSharedFeatures.metadataView.filterSidepanel.filtersHeader": "フィルタ",
20
20
  "groupSharedFeatures.metadataView.filterSidepanel.showResultsButton": "検索",
21
21
  "groupSharedFeatures.metadataView.gridList.gridView": "グリッドビュー",
22
+ "groupSharedFeatures.metadataView.inlineEditingCell.unselectedOptionLabel": "--",
22
23
  "groupSharedFeatures.metadataView.itemActionMenu.actionMenu": "アクションメニュー",
23
24
  "groupSharedFeatures.metadataView.itemList.errorMessage": "問題が発生しました。このページを更新してください。",
24
25
  "groupSharedFeatures.metadataView.itemList.listView": "リストビュー",
@@ -1 +1 @@
1
- [{"id":"groupSharedFeatures.metadataView.itemList.listView","description":"Label for the list of files and folders displayed in a list view","defaultMessage":"List view"},{"id":"groupSharedFeatures.metadataView.itemList.selectAll","description":"Label for the select all checkbox in the metadata table","defaultMessage":"Select all"}]
1
+ [{"id":"groupSharedFeatures.metadataView.itemList.listView","description":"Label for the list of files and folders displayed in a list view","defaultMessage":"List view"},{"id":"groupSharedFeatures.metadataView.itemList.selectAll","description":"Label for the select all checkbox in the metadata table","defaultMessage":"Select all"},{"id":"groupSharedFeatures.metadataView.inlineEditingCell.unselectedOptionLabel","description":"Label for the default unselected option in inline editing dropdowns","defaultMessage":"--"}]
@@ -19,6 +19,7 @@ export default {
19
19
  "groupSharedFeatures.metadataView.filterSidepanel.filtersHeader": "필터",
20
20
  "groupSharedFeatures.metadataView.filterSidepanel.showResultsButton": "검색",
21
21
  "groupSharedFeatures.metadataView.gridList.gridView": "격자 보기",
22
+ "groupSharedFeatures.metadataView.inlineEditingCell.unselectedOptionLabel": "--",
22
23
  "groupSharedFeatures.metadataView.itemActionMenu.actionMenu": "작업 메뉴",
23
24
  "groupSharedFeatures.metadataView.itemList.errorMessage": "문제가 발생했습니다. 이 페이지를 새로 고침해 주세요.",
24
25
  "groupSharedFeatures.metadataView.itemList.listView": "목록 보기",
@@ -19,6 +19,7 @@ export default {
19
19
  "groupSharedFeatures.metadataView.filterSidepanel.filtersHeader": "Filtre",
20
20
  "groupSharedFeatures.metadataView.filterSidepanel.showResultsButton": "Søk",
21
21
  "groupSharedFeatures.metadataView.gridList.gridView": "Rutenettvisning",
22
+ "groupSharedFeatures.metadataView.inlineEditingCell.unselectedOptionLabel": "--",
22
23
  "groupSharedFeatures.metadataView.itemActionMenu.actionMenu": "Handlingsvalg",
23
24
  "groupSharedFeatures.metadataView.itemList.errorMessage": "Noe gikk galt. Oppdater denne siden.",
24
25
  "groupSharedFeatures.metadataView.itemList.listView": "Listevisning",
@@ -19,6 +19,7 @@ export default {
19
19
  "groupSharedFeatures.metadataView.filterSidepanel.filtersHeader": "Filters",
20
20
  "groupSharedFeatures.metadataView.filterSidepanel.showResultsButton": "Zoeken",
21
21
  "groupSharedFeatures.metadataView.gridList.gridView": "Rasterweergave",
22
+ "groupSharedFeatures.metadataView.inlineEditingCell.unselectedOptionLabel": "--",
22
23
  "groupSharedFeatures.metadataView.itemActionMenu.actionMenu": "Actiemenu",
23
24
  "groupSharedFeatures.metadataView.itemList.errorMessage": "Er is iets misgegaan. Gelieve deze pagina te vernieuwen.",
24
25
  "groupSharedFeatures.metadataView.itemList.listView": "Lijstweergave",
@@ -19,6 +19,7 @@ export default {
19
19
  "groupSharedFeatures.metadataView.filterSidepanel.filtersHeader": "Filtry",
20
20
  "groupSharedFeatures.metadataView.filterSidepanel.showResultsButton": "Wyszukaj",
21
21
  "groupSharedFeatures.metadataView.gridList.gridView": "Widok siatki",
22
+ "groupSharedFeatures.metadataView.inlineEditingCell.unselectedOptionLabel": "--",
22
23
  "groupSharedFeatures.metadataView.itemActionMenu.actionMenu": "Menu operacji",
23
24
  "groupSharedFeatures.metadataView.itemList.errorMessage": "Wystąpił błąd. Odśwież tę stronę.",
24
25
  "groupSharedFeatures.metadataView.itemList.listView": "Widok listy",
@@ -19,6 +19,7 @@ export default {
19
19
  "groupSharedFeatures.metadataView.filterSidepanel.filtersHeader": "Filtros",
20
20
  "groupSharedFeatures.metadataView.filterSidepanel.showResultsButton": "Pesquisar",
21
21
  "groupSharedFeatures.metadataView.gridList.gridView": "Visualização em grade",
22
+ "groupSharedFeatures.metadataView.inlineEditingCell.unselectedOptionLabel": "--",
22
23
  "groupSharedFeatures.metadataView.itemActionMenu.actionMenu": "Menu de ação",
23
24
  "groupSharedFeatures.metadataView.itemList.errorMessage": "Algo saiu errado. Recarregue esta página.",
24
25
  "groupSharedFeatures.metadataView.itemList.listView": "Exibição em lista",
@@ -19,6 +19,7 @@ export default {
19
19
  "groupSharedFeatures.metadataView.filterSidepanel.filtersHeader": "Фильтры",
20
20
  "groupSharedFeatures.metadataView.filterSidepanel.showResultsButton": "Поиск",
21
21
  "groupSharedFeatures.metadataView.gridList.gridView": "Сетка",
22
+ "groupSharedFeatures.metadataView.inlineEditingCell.unselectedOptionLabel": "--",
22
23
  "groupSharedFeatures.metadataView.itemActionMenu.actionMenu": "Меню действий",
23
24
  "groupSharedFeatures.metadataView.itemList.errorMessage": "Что-то пошло не так. Обновите эту страницу.",
24
25
  "groupSharedFeatures.metadataView.itemList.listView": "Список",
@@ -19,6 +19,7 @@ export default {
19
19
  "groupSharedFeatures.metadataView.filterSidepanel.filtersHeader": "Filter",
20
20
  "groupSharedFeatures.metadataView.filterSidepanel.showResultsButton": "Sök",
21
21
  "groupSharedFeatures.metadataView.gridList.gridView": "Rutnätsvy",
22
+ "groupSharedFeatures.metadataView.inlineEditingCell.unselectedOptionLabel": "--",
22
23
  "groupSharedFeatures.metadataView.itemActionMenu.actionMenu": "Åtgärdsmeny",
23
24
  "groupSharedFeatures.metadataView.itemList.errorMessage": "Något gick fel. Uppdatera den här sidan.",
24
25
  "groupSharedFeatures.metadataView.itemList.listView": "Listvy",
@@ -19,6 +19,7 @@ export default {
19
19
  "groupSharedFeatures.metadataView.filterSidepanel.filtersHeader": "Filtreler",
20
20
  "groupSharedFeatures.metadataView.filterSidepanel.showResultsButton": "Ara",
21
21
  "groupSharedFeatures.metadataView.gridList.gridView": "Kılavuz Görünümü",
22
+ "groupSharedFeatures.metadataView.inlineEditingCell.unselectedOptionLabel": "--",
22
23
  "groupSharedFeatures.metadataView.itemActionMenu.actionMenu": "İşlem menüsü",
23
24
  "groupSharedFeatures.metadataView.itemList.errorMessage": "Bir hata oluştu. Lütfen bu sayfayı yenileyin.",
24
25
  "groupSharedFeatures.metadataView.itemList.listView": "Liste görünümü",
@@ -19,6 +19,7 @@ export default {
19
19
  "groupSharedFeatures.metadataView.filterSidepanel.filtersHeader": "筛选",
20
20
  "groupSharedFeatures.metadataView.filterSidepanel.showResultsButton": "搜索",
21
21
  "groupSharedFeatures.metadataView.gridList.gridView": "网格视图",
22
+ "groupSharedFeatures.metadataView.inlineEditingCell.unselectedOptionLabel": "--",
22
23
  "groupSharedFeatures.metadataView.itemActionMenu.actionMenu": "操作菜单",
23
24
  "groupSharedFeatures.metadataView.itemList.errorMessage": "发生错误。请刷新此页面。",
24
25
  "groupSharedFeatures.metadataView.itemList.listView": "列表视图",
@@ -19,6 +19,7 @@ export default {
19
19
  "groupSharedFeatures.metadataView.filterSidepanel.filtersHeader": "篩選",
20
20
  "groupSharedFeatures.metadataView.filterSidepanel.showResultsButton": "搜尋",
21
21
  "groupSharedFeatures.metadataView.gridList.gridView": "方格檢視",
22
+ "groupSharedFeatures.metadataView.inlineEditingCell.unselectedOptionLabel": "--",
22
23
  "groupSharedFeatures.metadataView.itemActionMenu.actionMenu": "動作選單",
23
24
  "groupSharedFeatures.metadataView.itemList.errorMessage": "出了點問題。請重新整理此頁面。",
24
25
  "groupSharedFeatures.metadataView.itemList.listView": "清單檢視",
@@ -9,5 +9,10 @@ declare const messages: {
9
9
  defaultMessage: string;
10
10
  id: string;
11
11
  };
12
+ unselectedOptionLabel: {
13
+ description: string;
14
+ defaultMessage: string;
15
+ id: string;
16
+ };
12
17
  };
13
18
  export default messages;
@@ -1,14 +1,13 @@
1
1
  import { TableProps } from '@box/blueprint-web';
2
- import { Item } from '@box/types';
3
2
  import { IconColumnVariant, Column, MetadataProps } from '../../types';
4
- export interface MetadataTableProps extends TableProps, MetadataProps {
3
+ import { InlineEditingCellProps } from './table-body/inline-editing-cell/inline-editing-cell';
4
+ export interface MetadataTableProps extends TableProps, MetadataProps, Pick<InlineEditingCellProps, 'onInlineEditChange'> {
5
5
  columns: Column[];
6
6
  iconColumnVariant?: IconColumnVariant;
7
7
  isSelectAllEnabled?: boolean;
8
8
  isInfiniteScrollEnabled?: boolean;
9
9
  hasNextPage?: boolean;
10
10
  onGetNextPage?: () => void;
11
- onInlineEditChange?: (item: Item, value: string, columnId: string) => void;
12
11
  placeholderRowsCount?: number;
13
12
  zoomLevel?: number;
14
13
  }
@@ -1,10 +1,9 @@
1
1
  import { Item } from '@box/types';
2
2
  import { Column } from '../../../../types';
3
- interface InlineEditingCellProps {
3
+ export interface InlineEditingCellProps {
4
4
  column: Column;
5
5
  item: Item;
6
- onInlineEditChange: (item: Item, selection: string | string[], columnId: string) => void;
7
- type: 'multiSelect' | 'enum';
6
+ onInlineEditChange?: (item: Item, value: string | string[] | null, columnId: string) => void;
8
7
  }
9
- declare const InlineEditingCell: ({ column, item, onInlineEditChange, type }: InlineEditingCellProps) => import("react/jsx-runtime").JSX.Element;
8
+ declare const InlineEditingCell: ({ column, item, onInlineEditChange }: InlineEditingCellProps) => import("react/jsx-runtime").JSX.Element;
10
9
  export default InlineEditingCell;
@@ -3,18 +3,16 @@ import { Item } from '@box/types';
3
3
  import { VirtualItem } from '@tanstack/react-virtual';
4
4
  import { IconColumnVariant, Column } from '../../../types';
5
5
  import { MetadataTableProps } from '../metadata-table';
6
- interface TableBodyWithDataProps extends Omit<MetadataTableProps, keyof TableProps> {
6
+ import { InlineEditingCellProps } from './inline-editing-cell/inline-editing-cell';
7
+ interface TableBodyWithDataProps extends Omit<MetadataTableProps, keyof TableProps>, Pick<InlineEditingCellProps, 'onInlineEditChange'> {
7
8
  virtualItems?: VirtualItem[];
8
9
  columnCount?: number;
9
- onInlineEditChange?: (item: Item, value: string, columnId: string) => void;
10
10
  }
11
11
  type CellProps = {
12
12
  item: Item;
13
13
  column: Column;
14
14
  iconColumnVariant: IconColumnVariant;
15
15
  };
16
- export interface DataCellProps extends CellProps {
17
- onInlineEditChange?: (item: Item, value: string, columnId: string) => void;
18
- }
16
+ export type DataCellProps = CellProps & Pick<InlineEditingCellProps, 'onInlineEditChange'>;
19
17
  declare const TableBodyWithData: ({ columns, iconColumnVariant, isSelectAllEnabled, items, itemActionMenuProps, virtualItems, columnCount, zoomLevel, onInlineEditChange, }: TableBodyWithDataProps) => import("react/jsx-runtime").JSX.Element;
20
18
  export default TableBodyWithData;
@@ -1,9 +1,9 @@
1
1
  import { VirtualItem } from '@tanstack/react-virtual';
2
2
  import { useIntl } from 'react-intl';
3
3
  import { TableProps } from '@box/blueprint-web';
4
- import { Item } from '@box/types';
5
4
  import { IconColumnVariant, Column, MetadataProps } from '../../types';
6
- export interface TableRendererProps {
5
+ import { InlineEditingCellProps } from './table-body/inline-editing-cell/inline-editing-cell';
6
+ export interface TableRendererProps extends Pick<InlineEditingCellProps, 'onInlineEditChange'> {
7
7
  tableHeader: React.ReactNode;
8
8
  columns: Column[];
9
9
  iconColumnVariant?: IconColumnVariant;
@@ -17,7 +17,6 @@ export interface TableRendererProps {
17
17
  style?: React.CSSProperties;
18
18
  columnCount?: number;
19
19
  zoomLevel?: number;
20
- onInlineEditChange?: (item: Item, value: string, columnId: string) => void;
21
20
  }
22
21
  declare const TableRenderer: ({ tableHeader, columns, iconColumnVariant, isSelectAllEnabled, itemActionMenuProps, items, isLoading, formatMessage, tableProps, virtualItems, style, columnCount: passedColumnCount, zoomLevel, onInlineEditChange, }: TableRendererProps) => import("react/jsx-runtime").JSX.Element;
23
22
  export default TableRenderer;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@box/metadata-view",
3
- "version": "0.40.0",
3
+ "version": "0.41.1",
4
4
  "license": "SEE LICENSE IN LICENSE",
5
5
  "peerDependencies": {
6
6
  "@box/blueprint-web": "^11.12.0",
@@ -20,10 +20,10 @@
20
20
  "devDependencies": {
21
21
  "@box/blueprint-web": "^11.12.0",
22
22
  "@box/blueprint-web-assets": "^4.63.0",
23
- "@box/box-item-type-selector": "^0.63.10",
23
+ "@box/box-item-type-selector": "^0.63.11",
24
24
  "@box/eslint-plugin-blueprint": "*",
25
- "@box/item-icon": "^0.17.13",
26
- "@box/metadata-filter": "^1.19.0",
25
+ "@box/item-icon": "^0.17.14",
26
+ "@box/metadata-filter": "^1.19.1",
27
27
  "@box/storybook-utils": "0.13.18",
28
28
  "@box/types": "0.2.1",
29
29
  "@tanstack/react-virtual": "^3.10.8",