@box/metadata-template-browser 1.19.5 → 1.20.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/browser-row.js +8 -8
- package/dist/chunks/metadata-template-browser-container.js +36 -25
- package/dist/chunks/metadata-template-browser-controller.js +6 -6
- package/dist/esm/lib/components/browse-list/browse-list.js +51 -46
- package/dist/esm/lib/components/browse-list/messages.js +4 -0
- package/dist/esm/lib/components/messages.js +4 -0
- package/dist/esm/lib/contexts/contexts.js +10 -5
- package/dist/esm/lib/contexts/provider.js +35 -33
- package/dist/esm/lib/contexts/reducer.js +3 -0
- package/dist/esm/lib/contexts/use-template-browser-actions.js +7 -3
- package/dist/esm/lib/metadata-template-browser.js +2 -1
- package/dist/i18n/bn-IN.js +2 -0
- package/dist/i18n/da-DK.js +2 -0
- package/dist/i18n/de-DE.js +2 -0
- package/dist/i18n/en-AU.js +2 -0
- package/dist/i18n/en-CA.js +2 -0
- package/dist/i18n/en-GB.js +2 -0
- package/dist/i18n/en-US.js +2 -0
- package/dist/i18n/en-US.properties +4 -0
- package/dist/i18n/en-x-pseudo.js +26 -24
- package/dist/i18n/en-x-pseudo.properties +24 -24
- package/dist/i18n/es-419.js +2 -0
- package/dist/i18n/es-ES.js +2 -0
- package/dist/i18n/fi-FI.js +2 -0
- package/dist/i18n/fr-CA.js +2 -0
- package/dist/i18n/fr-FR.js +2 -0
- package/dist/i18n/hi-IN.js +2 -0
- package/dist/i18n/it-IT.js +2 -0
- package/dist/i18n/ja-JP.js +2 -0
- package/dist/i18n/json/src/lib/components/browse-list/messages.json +1 -1
- package/dist/i18n/json/src/lib/components/messages.json +1 -1
- package/dist/i18n/ko-KR.js +2 -0
- package/dist/i18n/nb-NO.js +2 -0
- package/dist/i18n/nl-NL.js +2 -0
- package/dist/i18n/pl-PL.js +2 -0
- package/dist/i18n/pt-BR.js +2 -0
- package/dist/i18n/ru-RU.js +2 -0
- package/dist/i18n/sv-SE.js +2 -0
- package/dist/i18n/tr-TR.js +2 -0
- package/dist/i18n/zh-CN.js +2 -0
- package/dist/i18n/zh-TW.js +2 -0
- package/dist/styles/browser-row.css +1 -1
- package/dist/styles/metadata-template-browser-container.css +1 -1
- package/dist/types/lib/components/browse-list/messages.d.ts +5 -0
- package/dist/types/lib/components/messages.d.ts +5 -0
- package/dist/types/lib/components/metadata-template-browser-container.d.ts +6 -1
- package/dist/types/lib/contexts/contexts.d.ts +1 -1
- package/dist/types/lib/contexts/provider.d.ts +7 -1
- package/dist/types/lib/contexts/reducer.d.ts +1 -0
- package/dist/types/lib/metadata-template-browser.d.ts +8 -1
- package/dist/types/lib/stories/shared/generate-namespaces.d.ts +1 -0
- package/dist/types/lib/types.d.ts +10 -0
- package/package.json +1 -1
|
@@ -4,14 +4,14 @@ import n from "clsx";
|
|
|
4
4
|
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
5
5
|
import { GridListItem as a } from "react-aria-components";
|
|
6
6
|
import '../styles/browser-row.css';var o = {
|
|
7
|
-
row: "
|
|
8
|
-
trailingSlotHoverOnly: "
|
|
9
|
-
item: "
|
|
10
|
-
disabled: "
|
|
11
|
-
leadingIcon: "
|
|
12
|
-
content: "
|
|
13
|
-
trailingSlot: "
|
|
14
|
-
subtitle: "
|
|
7
|
+
row: "_row_x9hxe_2",
|
|
8
|
+
trailingSlotHoverOnly: "_trailingSlotHoverOnly_x9hxe_15",
|
|
9
|
+
item: "_item_x9hxe_19",
|
|
10
|
+
disabled: "_disabled_x9hxe_40",
|
|
11
|
+
leadingIcon: "_leadingIcon_x9hxe_59",
|
|
12
|
+
content: "_content_x9hxe_66",
|
|
13
|
+
trailingSlot: "_trailingSlot_x9hxe_15",
|
|
14
|
+
subtitle: "_subtitle_x9hxe_77"
|
|
15
15
|
};
|
|
16
16
|
function s({ id: s, leadingIcon: c, title: l, subtitle: u, trailingSlot: d, isTrailingSlotHoverOnly: f }) {
|
|
17
17
|
let { isDisabled: p } = e(), m = n(o.trailingSlot, { [o.trailingSlotHoverOnly]: f });
|
|
@@ -1,31 +1,42 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as
|
|
3
|
-
import { messages as
|
|
4
|
-
import { useIsInitialBrowseLoading as
|
|
5
|
-
import { t as
|
|
6
|
-
import { SearchInput as
|
|
7
|
-
import { useIntl as
|
|
8
|
-
import { jsx as
|
|
9
|
-
import
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
import { useBrowseState as e, useBrowserActions as t, useConsumerState as n, useNavigationState as r, useSearchState as i } from "../esm/lib/contexts/hooks.js";
|
|
2
|
+
import { t as a } from "./breadcrumb-navigation.js";
|
|
3
|
+
import { messages as o } from "../esm/lib/components/messages.js";
|
|
4
|
+
import { useIsInitialBrowseLoading as s } from "../esm/lib/hooks/use-is-initial-browse-loading.js";
|
|
5
|
+
import { t as c } from "./metadata-template-browser-list-box.js";
|
|
6
|
+
import { Button as l, SearchInput as u } from "@box/blueprint-web";
|
|
7
|
+
import { useIntl as d } from "react-intl";
|
|
8
|
+
import { jsx as f, jsxs as p } from "react/jsx-runtime";
|
|
9
|
+
import { Plus as m } from "@box/blueprint-web-assets/icons/Fill";
|
|
10
|
+
import '../styles/metadata-template-browser-container.css';var h = {
|
|
11
|
+
container: "_container_1dqk1_1",
|
|
12
|
+
searchInput: "_searchInput_1dqk1_9",
|
|
13
|
+
createTemplateButton: "_createTemplateButton_1dqk1_13"
|
|
12
14
|
};
|
|
13
|
-
function
|
|
14
|
-
let { formatMessage:
|
|
15
|
-
return /* @__PURE__ */
|
|
16
|
-
className:
|
|
15
|
+
function g() {
|
|
16
|
+
let { formatMessage: g } = d(), { isDisabled: _ } = n(), { setSearchValue: v, createTemplate: y } = t(), { namespaceFQN: b, canCreateInCurrentNamespace: x } = r(), { searchValue: S } = i(), { isFetching: C, namespaces: w, templates: T, isNamespacesExhausted: E } = e(), D = s(), O = !C && E && w.length === 0 && T.length === 0, k = x && !D && !C && !O && S.length === 0;
|
|
17
|
+
return /* @__PURE__ */ p("div", {
|
|
18
|
+
className: h.container,
|
|
17
19
|
children: [
|
|
18
|
-
/* @__PURE__ */
|
|
19
|
-
className:
|
|
20
|
-
disabled:
|
|
21
|
-
onChange:
|
|
22
|
-
placeholder:
|
|
23
|
-
searchInputAriaLabel:
|
|
24
|
-
searchInputClearAriaLabel:
|
|
20
|
+
/* @__PURE__ */ f(u, {
|
|
21
|
+
className: h.searchInput,
|
|
22
|
+
disabled: _ || D,
|
|
23
|
+
onChange: v,
|
|
24
|
+
placeholder: g(o.searchInputPlaceholder),
|
|
25
|
+
searchInputAriaLabel: g(o.searchInputAriaLabel),
|
|
26
|
+
searchInputClearAriaLabel: g(o.searchInputClearAriaLabel)
|
|
25
27
|
}),
|
|
26
|
-
!
|
|
27
|
-
/* @__PURE__ */
|
|
28
|
+
!D && /* @__PURE__ */ f(a, {}),
|
|
29
|
+
k && /* @__PURE__ */ f(l, {
|
|
30
|
+
className: h.createTemplateButton,
|
|
31
|
+
disabled: _,
|
|
32
|
+
startIcon: m,
|
|
33
|
+
onClick: () => y(b),
|
|
34
|
+
variant: "tertiary",
|
|
35
|
+
size: "large",
|
|
36
|
+
children: g(o.createTemplateButtonLabel)
|
|
37
|
+
}),
|
|
38
|
+
/* @__PURE__ */ f(c, {})
|
|
28
39
|
]
|
|
29
40
|
});
|
|
30
41
|
}
|
|
31
|
-
export {
|
|
42
|
+
export { g as t };
|
|
@@ -9,19 +9,19 @@ import { jsx as f, jsxs as p } from "react/jsx-runtime";
|
|
|
9
9
|
import { NoTemplates as m } from "@box/blueprint-web-assets/illustrations/Medium";
|
|
10
10
|
import '../styles/metadata-template-browser-controller.css';var h = { container: "_container_14phx_1" };
|
|
11
11
|
function g() {
|
|
12
|
-
let { isLoading: g } = n(), { formatMessage: _ } = l(), { initialLoad: v, retry: y } = t(), { path: b } = r(), { isFetching:
|
|
12
|
+
let { isLoading: g } = n(), { formatMessage: _ } = l(), { initialLoad: v, retry: y } = t(), { path: b, canCreateInCurrentNamespace: x } = r(), { isFetching: S, initialLoadError: C, namespaces: w, templates: T } = e(), E = d(!1);
|
|
13
13
|
u(() => {
|
|
14
|
-
!g && !
|
|
14
|
+
!g && !E.current && (E.current = !0, v());
|
|
15
15
|
}, [g, v]);
|
|
16
|
-
let
|
|
16
|
+
let D = w.length > 0 || T.length > 0, O = C !== null, k = b.length === 0, A = !S && !g && !D && !O && k && !x, j = !O && !A;
|
|
17
17
|
return /* @__PURE__ */ p("div", {
|
|
18
18
|
className: h.container,
|
|
19
19
|
children: [
|
|
20
|
-
|
|
20
|
+
O && /* @__PURE__ */ f(i, {
|
|
21
21
|
body: _(a.initialLoadErrorBody),
|
|
22
22
|
onRetry: y
|
|
23
23
|
}),
|
|
24
|
-
|
|
24
|
+
A && /* @__PURE__ */ f(s, {
|
|
25
25
|
body: /* @__PURE__ */ f(c, {
|
|
26
26
|
as: "p",
|
|
27
27
|
children: _(a.initialEmptyStateBody)
|
|
@@ -29,7 +29,7 @@ function g() {
|
|
|
29
29
|
illustration: m,
|
|
30
30
|
size: "small"
|
|
31
31
|
}),
|
|
32
|
-
|
|
32
|
+
j && /* @__PURE__ */ f(o, {})
|
|
33
33
|
]
|
|
34
34
|
});
|
|
35
35
|
}
|
|
@@ -1,58 +1,63 @@
|
|
|
1
|
-
import { useBrowseState as e, useBrowserActions as t } from "../../contexts/hooks.js";
|
|
2
|
-
import { t as
|
|
3
|
-
import { ErrorState as
|
|
4
|
-
import { t as
|
|
5
|
-
import { NamespaceRow as
|
|
6
|
-
import { TemplateRow as
|
|
7
|
-
import { t as
|
|
8
|
-
import { messages as
|
|
9
|
-
import { EmptyState as
|
|
10
|
-
import { useIntl as
|
|
11
|
-
import { useCallback as
|
|
12
|
-
import { jsx as
|
|
13
|
-
import { NoTemplates as
|
|
14
|
-
var
|
|
1
|
+
import { useBrowseState as e, useBrowserActions as t, useConsumerState as n, useNavigationState as r } from "../../contexts/hooks.js";
|
|
2
|
+
import { t as i } from "../../../../chunks/types.js";
|
|
3
|
+
import { ErrorState as a } from "../error-state/error-state.js";
|
|
4
|
+
import { t as o } from "../../../../chunks/loader-skeleton.js";
|
|
5
|
+
import { NamespaceRow as s } from "../namespace-row/namespace-row.js";
|
|
6
|
+
import { TemplateRow as c } from "../template-row/template-row.js";
|
|
7
|
+
import { t as l } from "../../../../chunks/virtualized-grid-list.js";
|
|
8
|
+
import { messages as u } from "./messages.js";
|
|
9
|
+
import { EmptyState as d, Text as f } from "@box/blueprint-web";
|
|
10
|
+
import { useIntl as p } from "react-intl";
|
|
11
|
+
import { useCallback as m } from "react";
|
|
12
|
+
import { jsx as h } from "react/jsx-runtime";
|
|
13
|
+
import { NoTemplates as g } from "@box/blueprint-web-assets/illustrations/Medium";
|
|
14
|
+
var _ = /* @__PURE__ */ function(e) {
|
|
15
15
|
return e.Namespace = "namespace", e.Template = "template", e;
|
|
16
|
-
}(
|
|
17
|
-
function
|
|
18
|
-
let { formatMessage:
|
|
19
|
-
onEdit:
|
|
16
|
+
}(_ || {});
|
|
17
|
+
function v({ onAction: v, selectedKeys: y }) {
|
|
18
|
+
let { formatMessage: b } = p(), { namespaces: x, templates: S, isNamespacesExhausted: C, namespaceNextMarker: w, templateNextMarker: T, isFetching: E, isFetchingMore: D, browseError: O, loadMoreError: k } = e(), { loadMore: A, retry: j, editTemplate: M, createTemplate: N } = t(), { namespaceFQN: P, canCreateInCurrentNamespace: F } = r(), { isDisabled: I } = n(), L = w !== void 0 || C && T !== void 0, R = m((e) => e.kind === _.Namespace ? /* @__PURE__ */ h(s, { namespace: e.namespace }) : /* @__PURE__ */ h(c, {
|
|
19
|
+
onEdit: M,
|
|
20
20
|
template: e.template,
|
|
21
|
-
variant:
|
|
22
|
-
}), [
|
|
23
|
-
if (
|
|
24
|
-
if (
|
|
25
|
-
body:
|
|
26
|
-
onRetry:
|
|
21
|
+
variant: i.Browse
|
|
22
|
+
}), [M]);
|
|
23
|
+
if (E) return /* @__PURE__ */ h(o, {});
|
|
24
|
+
if (O !== null) return /* @__PURE__ */ h(a, {
|
|
25
|
+
body: b(u.browseErrorBody),
|
|
26
|
+
onRetry: j
|
|
27
27
|
});
|
|
28
|
-
let
|
|
28
|
+
let z = C ? S : [], B = [...x.map((e) => ({
|
|
29
29
|
id: e.id,
|
|
30
|
-
kind:
|
|
30
|
+
kind: _.Namespace,
|
|
31
31
|
namespace: e
|
|
32
|
-
})), ...
|
|
32
|
+
})), ...z.map((e) => ({
|
|
33
33
|
id: e.id,
|
|
34
|
-
kind:
|
|
34
|
+
kind: _.Template,
|
|
35
35
|
template: e
|
|
36
36
|
}))];
|
|
37
|
-
return
|
|
38
|
-
body: /* @__PURE__ */
|
|
37
|
+
return B.length === 0 ? /* @__PURE__ */ h(d, {
|
|
38
|
+
body: /* @__PURE__ */ h(f, {
|
|
39
39
|
as: "p",
|
|
40
|
-
children:
|
|
40
|
+
children: b(u.emptyStateBody)
|
|
41
41
|
}),
|
|
42
|
-
illustration:
|
|
43
|
-
size: "small"
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
42
|
+
illustration: g,
|
|
43
|
+
size: "small",
|
|
44
|
+
children: F && /* @__PURE__ */ h(d.PrimaryAction, {
|
|
45
|
+
disabled: I,
|
|
46
|
+
onClick: () => N(P),
|
|
47
|
+
children: b(u.createFirstTemplateButtonLabel)
|
|
48
|
+
})
|
|
49
|
+
}) : /* @__PURE__ */ h(l, {
|
|
50
|
+
ariaLabel: b(u.listAriaLabel),
|
|
51
|
+
isFetchingMore: D,
|
|
52
|
+
items: B,
|
|
53
|
+
listType: i.Browse,
|
|
54
|
+
loadMoreError: k,
|
|
55
|
+
onAction: v,
|
|
56
|
+
hasMoreItems: L,
|
|
57
|
+
onLoadMore: A,
|
|
58
|
+
onRetry: A,
|
|
59
|
+
selectedKeys: y,
|
|
60
|
+
children: R
|
|
56
61
|
});
|
|
57
62
|
}
|
|
58
|
-
export {
|
|
63
|
+
export { v as BrowseList };
|
|
@@ -11,6 +11,10 @@ var t = e({
|
|
|
11
11
|
emptyStateBody: {
|
|
12
12
|
id: "groupSharedFeatures.metadataTemplateBrowser.browseList.emptyStateBody",
|
|
13
13
|
defaultMessage: "There are no templates or namespaces in this folder."
|
|
14
|
+
},
|
|
15
|
+
createFirstTemplateButtonLabel: {
|
|
16
|
+
id: "groupSharedFeatures.metadataTemplateBrowser.browseList.createFirstTemplateButtonLabel",
|
|
17
|
+
defaultMessage: "Create first template"
|
|
14
18
|
}
|
|
15
19
|
});
|
|
16
20
|
export { t as messages };
|
|
@@ -23,6 +23,10 @@ var t = e({
|
|
|
23
23
|
initialLoadErrorBody: {
|
|
24
24
|
id: "groupSharedFeatures.metadataTemplateBrowser.container.initialLoadErrorBody",
|
|
25
25
|
defaultMessage: "Something went wrong while loading templates."
|
|
26
|
+
},
|
|
27
|
+
createTemplateButtonLabel: {
|
|
28
|
+
id: "groupSharedFeatures.metadataTemplateBrowser.container.createTemplateButtonLabel",
|
|
29
|
+
defaultMessage: "New Template"
|
|
26
30
|
}
|
|
27
31
|
});
|
|
28
32
|
export { t as messages };
|
|
@@ -2,13 +2,18 @@ import { useTemplateBrowserActions as e } from "./use-template-browser-actions.j
|
|
|
2
2
|
import { createContext as t, useMemo as n } from "react";
|
|
3
3
|
import { jsx as r } from "react/jsx-runtime";
|
|
4
4
|
var i = /* @__PURE__ */ t(null);
|
|
5
|
-
function a({ children: e, namespaceFQN: t, path: a }) {
|
|
6
|
-
let
|
|
5
|
+
function a({ children: e, namespaceFQN: t, path: a, canCreateInCurrentNamespace: o }) {
|
|
6
|
+
let s = n(() => ({
|
|
7
7
|
namespaceFQN: t,
|
|
8
|
-
path: a
|
|
9
|
-
|
|
8
|
+
path: a,
|
|
9
|
+
canCreateInCurrentNamespace: o
|
|
10
|
+
}), [
|
|
11
|
+
t,
|
|
12
|
+
a,
|
|
13
|
+
o
|
|
14
|
+
]);
|
|
10
15
|
return /* @__PURE__ */ r(i.Provider, {
|
|
11
|
-
value:
|
|
16
|
+
value: s,
|
|
12
17
|
children: e
|
|
13
18
|
});
|
|
14
19
|
}
|
|
@@ -2,45 +2,47 @@ import { browserReducer as e, initialState as t } from "./reducer.js";
|
|
|
2
2
|
import { BrowseStateContextProvider as n, BrowserActionsContextProvider as r, NavigationStateContextProvider as i, SearchStateContextProvider as a, SelectionStateContextProvider as o } from "./contexts.js";
|
|
3
3
|
import { useReducer as s, useRef as c } from "react";
|
|
4
4
|
import { jsx as l } from "react/jsx-runtime";
|
|
5
|
-
function u({ children: u, namespaceFQN: d, itemsService: f, eventService: p, initialSelectedTemplateId: m }) {
|
|
6
|
-
let [
|
|
5
|
+
function u({ children: u, namespaceFQN: d, itemsService: f, eventService: p, initialSelectedTemplateId: m, canCreateAtRoot: h = !1 }) {
|
|
6
|
+
let [g, _] = s(e, {
|
|
7
7
|
...t,
|
|
8
8
|
namespaceFQN: d,
|
|
9
|
-
selectedTemplateId: m ?? null
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
y
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
9
|
+
selectedTemplateId: m ?? null,
|
|
10
|
+
canCreateInCurrentNamespace: h
|
|
11
|
+
}), v = c(g);
|
|
12
|
+
v.current = g;
|
|
13
|
+
let y = c(/* @__PURE__ */ new Map()), b = c(f);
|
|
14
|
+
b.current = f;
|
|
15
|
+
let x = c(p);
|
|
16
|
+
return x.current = p, /* @__PURE__ */ l(i, {
|
|
17
|
+
namespaceFQN: g.namespaceFQN,
|
|
18
|
+
path: g.path,
|
|
19
|
+
canCreateInCurrentNamespace: g.canCreateInCurrentNamespace,
|
|
18
20
|
children: /* @__PURE__ */ l(n, {
|
|
19
|
-
namespaces:
|
|
20
|
-
templates:
|
|
21
|
-
isNamespacesExhausted:
|
|
22
|
-
namespaceNextMarker:
|
|
23
|
-
templateNextMarker:
|
|
24
|
-
isFetching:
|
|
25
|
-
isFetchingMore:
|
|
26
|
-
initialLoadError:
|
|
27
|
-
browseError:
|
|
28
|
-
loadMoreError:
|
|
21
|
+
namespaces: g.namespaces,
|
|
22
|
+
templates: g.templates,
|
|
23
|
+
isNamespacesExhausted: g.isNamespacesExhausted,
|
|
24
|
+
namespaceNextMarker: g.namespaceNextMarker,
|
|
25
|
+
templateNextMarker: g.templateNextMarker,
|
|
26
|
+
isFetching: g.isFetching,
|
|
27
|
+
isFetchingMore: g.isFetchingMore,
|
|
28
|
+
initialLoadError: g.initialLoadError,
|
|
29
|
+
browseError: g.browseError,
|
|
30
|
+
loadMoreError: g.loadMoreError,
|
|
29
31
|
children: /* @__PURE__ */ l(a, {
|
|
30
|
-
searchValue:
|
|
31
|
-
searchQuery:
|
|
32
|
-
searchResults:
|
|
33
|
-
searchNextMarker:
|
|
34
|
-
isFetchingSearch:
|
|
35
|
-
searchError:
|
|
32
|
+
searchValue: g.searchValue,
|
|
33
|
+
searchQuery: g.searchQuery,
|
|
34
|
+
searchResults: g.searchResults,
|
|
35
|
+
searchNextMarker: g.searchNextMarker,
|
|
36
|
+
isFetchingSearch: g.isFetchingSearch,
|
|
37
|
+
searchError: g.searchError,
|
|
36
38
|
children: /* @__PURE__ */ l(o, {
|
|
37
|
-
selectedTemplateId:
|
|
39
|
+
selectedTemplateId: g.selectedTemplateId,
|
|
38
40
|
children: /* @__PURE__ */ l(r, {
|
|
39
|
-
itemsServiceRef:
|
|
40
|
-
eventServiceRef:
|
|
41
|
-
stateRef:
|
|
42
|
-
dispatch:
|
|
43
|
-
levelCache:
|
|
41
|
+
itemsServiceRef: b,
|
|
42
|
+
eventServiceRef: x,
|
|
43
|
+
stateRef: v,
|
|
44
|
+
dispatch: _,
|
|
45
|
+
levelCache: y,
|
|
44
46
|
children: u
|
|
45
47
|
})
|
|
46
48
|
})
|
|
@@ -3,6 +3,7 @@ var e = /* @__PURE__ */ function(e) {
|
|
|
3
3
|
}({}), t = {
|
|
4
4
|
namespaceFQN: "",
|
|
5
5
|
path: [],
|
|
6
|
+
canCreateInCurrentNamespace: !1,
|
|
6
7
|
namespaces: [],
|
|
7
8
|
templates: [],
|
|
8
9
|
isNamespacesExhausted: !1,
|
|
@@ -30,6 +31,7 @@ function n(t, n) {
|
|
|
30
31
|
fqn: n.namespace.id,
|
|
31
32
|
displayName: n.namespace.displayName
|
|
32
33
|
}],
|
|
34
|
+
canCreateInCurrentNamespace: n.namespace.canCreate ?? !1,
|
|
33
35
|
namespaces: [],
|
|
34
36
|
templates: [],
|
|
35
37
|
namespaceNextMarker: void 0,
|
|
@@ -43,6 +45,7 @@ function n(t, n) {
|
|
|
43
45
|
...t,
|
|
44
46
|
namespaceFQN: n.fqn,
|
|
45
47
|
path: t.path.filter((e) => n.fqn === e.fqn || n.fqn.startsWith(`${e.fqn}.`)),
|
|
48
|
+
canCreateInCurrentNamespace: n.cached.canCreate,
|
|
46
49
|
namespaces: n.cached.namespaces,
|
|
47
50
|
templates: n.cached.templates,
|
|
48
51
|
namespaceNextMarker: n.cached.namespaceNextMarker,
|
|
@@ -97,7 +97,8 @@ function d(d, f, p, m, h) {
|
|
|
97
97
|
templates: r.templates,
|
|
98
98
|
namespaceNextMarker: r.namespaceNextMarker,
|
|
99
99
|
templateNextMarker: r.templateNextMarker,
|
|
100
|
-
isNamespacesExhausted: r.isNamespacesExhausted
|
|
100
|
+
isNamespacesExhausted: r.isNamespacesExhausted,
|
|
101
|
+
canCreate: r.canCreateInCurrentNamespace
|
|
101
102
|
}), m({
|
|
102
103
|
type: e.NavigateTo,
|
|
103
104
|
namespace: t
|
|
@@ -188,7 +189,9 @@ function d(d, f, p, m, h) {
|
|
|
188
189
|
}), s(() => f.current.onTemplateSelect?.(t)));
|
|
189
190
|
}, P = (e) => {
|
|
190
191
|
s(() => f.current.onTemplateEdit?.(e));
|
|
191
|
-
}, F =
|
|
192
|
+
}, F = (e) => {
|
|
193
|
+
s(() => f.current.onCreateTemplate?.(e));
|
|
194
|
+
}, I = async () => {
|
|
192
195
|
let { searchError: t, searchQuery: n, loadMoreError: r, initialLoadError: i, browseError: a, namespaceFQN: o } = p.current;
|
|
193
196
|
if (t) {
|
|
194
197
|
let t = x();
|
|
@@ -222,7 +225,8 @@ function d(d, f, p, m, h) {
|
|
|
222
225
|
loadMore: M,
|
|
223
226
|
selectTemplate: N,
|
|
224
227
|
editTemplate: P,
|
|
225
|
-
|
|
228
|
+
createTemplate: F,
|
|
229
|
+
retry: I
|
|
226
230
|
}), []);
|
|
227
231
|
}
|
|
228
232
|
export { d as useTemplateBrowserActions };
|
|
@@ -2,7 +2,7 @@ import { ConsumerStateContextProvider as e } from "./contexts/contexts.js";
|
|
|
2
2
|
import { MetadataTemplateBrowserProvider as t } from "./contexts/provider.js";
|
|
3
3
|
import { t as n } from "../../chunks/metadata-template-browser-controller.js";
|
|
4
4
|
import { jsx as r } from "react/jsx-runtime";
|
|
5
|
-
function i({ enterpriseId: i, itemsService: a, eventService: o, isLoading: s, isDisabled: c, initialSelectedTemplateId: l }) {
|
|
5
|
+
function i({ enterpriseId: i, itemsService: a, eventService: o, isLoading: s, isDisabled: c, initialSelectedTemplateId: l, canCreateAtRoot: u }) {
|
|
6
6
|
return /* @__PURE__ */ r(e, {
|
|
7
7
|
isDisabled: c,
|
|
8
8
|
isLoading: s,
|
|
@@ -11,6 +11,7 @@ function i({ enterpriseId: i, itemsService: a, eventService: o, isLoading: s, is
|
|
|
11
11
|
itemsService: a,
|
|
12
12
|
eventService: o,
|
|
13
13
|
initialSelectedTemplateId: l,
|
|
14
|
+
canCreateAtRoot: u,
|
|
14
15
|
children: /* @__PURE__ */ r(n, {})
|
|
15
16
|
})
|
|
16
17
|
});
|
package/dist/i18n/bn-IN.js
CHANGED
|
@@ -3,8 +3,10 @@ export default {
|
|
|
3
3
|
"groupSharedFeatures.metadataTemplateBrowser.breadcrumbNavigation.enterpriseCrumbLabel": "Enterprise",
|
|
4
4
|
"groupSharedFeatures.metadataTemplateBrowser.breadcrumbNavigation.truncatedLinksIconAriaLabel": "আরও দেখান",
|
|
5
5
|
"groupSharedFeatures.metadataTemplateBrowser.browseList.browseErrorBody": "এই নেমস্পেস লোড করার সময় কোনো সমস্যা হয়েছে।",
|
|
6
|
+
"groupSharedFeatures.metadataTemplateBrowser.browseList.createFirstTemplateButtonLabel": "Create first template",
|
|
6
7
|
"groupSharedFeatures.metadataTemplateBrowser.browseList.emptyStateBody": "এই ফোল্ডারে কোনো টেমপ্লেট বা নেমস্পেস নেই।",
|
|
7
8
|
"groupSharedFeatures.metadataTemplateBrowser.browseList.listAriaLabel": "মেটাডেটা টেম্পলেট",
|
|
9
|
+
"groupSharedFeatures.metadataTemplateBrowser.container.createTemplateButtonLabel": "New Template",
|
|
8
10
|
"groupSharedFeatures.metadataTemplateBrowser.container.initialEmptyStateBody": "এই মুহূর্তে, ব্যবহারের জন্য কোনও মেটাডেটা টেমপ্লেট প্রস্তুত নেই। আপনি আপনার অ্যাডমিনের কাছে পৌঁছিয়ে প্রথমটি তৈরি করতে পারেন।",
|
|
9
11
|
"groupSharedFeatures.metadataTemplateBrowser.container.initialLoadErrorBody": "টেমপ্লেট লোড করার সময় কোনো সমস্যা হয়েছে।",
|
|
10
12
|
"groupSharedFeatures.metadataTemplateBrowser.container.loadingAriaLabel": "টেমপ্লেটগুলি লোড করা হচ্ছে",
|
package/dist/i18n/da-DK.js
CHANGED
|
@@ -3,8 +3,10 @@ export default {
|
|
|
3
3
|
"groupSharedFeatures.metadataTemplateBrowser.breadcrumbNavigation.enterpriseCrumbLabel": "Virksomhed",
|
|
4
4
|
"groupSharedFeatures.metadataTemplateBrowser.breadcrumbNavigation.truncatedLinksIconAriaLabel": "Vis flere",
|
|
5
5
|
"groupSharedFeatures.metadataTemplateBrowser.browseList.browseErrorBody": "Noget gik galt under indlæsningen af dette navneområde.",
|
|
6
|
+
"groupSharedFeatures.metadataTemplateBrowser.browseList.createFirstTemplateButtonLabel": "Create first template",
|
|
6
7
|
"groupSharedFeatures.metadataTemplateBrowser.browseList.emptyStateBody": "Der er ingen skabeloner eller navneområder i denne mappe.",
|
|
7
8
|
"groupSharedFeatures.metadataTemplateBrowser.browseList.listAriaLabel": "Metadataskabeloner",
|
|
9
|
+
"groupSharedFeatures.metadataTemplateBrowser.container.createTemplateButtonLabel": "New Template",
|
|
8
10
|
"groupSharedFeatures.metadataTemplateBrowser.container.initialEmptyStateBody": "I øjeblikket er der ingen metadataskabeloner klar til brug. Du kan oprette den første ved at kontakte din administrator.",
|
|
9
11
|
"groupSharedFeatures.metadataTemplateBrowser.container.initialLoadErrorBody": "Noget gik galt under indlæsningen af skabeloner.",
|
|
10
12
|
"groupSharedFeatures.metadataTemplateBrowser.container.loadingAriaLabel": "Indlæser skabeloner",
|
package/dist/i18n/de-DE.js
CHANGED
|
@@ -3,8 +3,10 @@ export default {
|
|
|
3
3
|
"groupSharedFeatures.metadataTemplateBrowser.breadcrumbNavigation.enterpriseCrumbLabel": "Unternehmen",
|
|
4
4
|
"groupSharedFeatures.metadataTemplateBrowser.breadcrumbNavigation.truncatedLinksIconAriaLabel": "Weitere anzeigen",
|
|
5
5
|
"groupSharedFeatures.metadataTemplateBrowser.browseList.browseErrorBody": "Beim Laden dieses Namensraums ist ein Fehler aufgetreten.",
|
|
6
|
+
"groupSharedFeatures.metadataTemplateBrowser.browseList.createFirstTemplateButtonLabel": "Create first template",
|
|
6
7
|
"groupSharedFeatures.metadataTemplateBrowser.browseList.emptyStateBody": "In diesem Ordner sind keine Vorlagen oder Namensräume enthalten.",
|
|
7
8
|
"groupSharedFeatures.metadataTemplateBrowser.browseList.listAriaLabel": "Metadatenvorlagen",
|
|
9
|
+
"groupSharedFeatures.metadataTemplateBrowser.container.createTemplateButtonLabel": "New Template",
|
|
8
10
|
"groupSharedFeatures.metadataTemplateBrowser.container.initialEmptyStateBody": "Derzeit sind keine Metadatenvorlagen zur Verwendung verfügbar. Sie können die erste Vorlage erstellen, indem Sie sich an Ihren Administrator wenden.",
|
|
9
11
|
"groupSharedFeatures.metadataTemplateBrowser.container.initialLoadErrorBody": "Beim Laden der Vorlagen ist ein Fehler aufgetreten.",
|
|
10
12
|
"groupSharedFeatures.metadataTemplateBrowser.container.loadingAriaLabel": "Vorlagen werden geladen",
|
package/dist/i18n/en-AU.js
CHANGED
|
@@ -3,8 +3,10 @@ export default {
|
|
|
3
3
|
"groupSharedFeatures.metadataTemplateBrowser.breadcrumbNavigation.enterpriseCrumbLabel": "Enterprise",
|
|
4
4
|
"groupSharedFeatures.metadataTemplateBrowser.breadcrumbNavigation.truncatedLinksIconAriaLabel": "Show more",
|
|
5
5
|
"groupSharedFeatures.metadataTemplateBrowser.browseList.browseErrorBody": "Something went wrong while loading this namespace.",
|
|
6
|
+
"groupSharedFeatures.metadataTemplateBrowser.browseList.createFirstTemplateButtonLabel": "Create first template",
|
|
6
7
|
"groupSharedFeatures.metadataTemplateBrowser.browseList.emptyStateBody": "There are no templates or namespaces in this folder.",
|
|
7
8
|
"groupSharedFeatures.metadataTemplateBrowser.browseList.listAriaLabel": "Metadata templates",
|
|
9
|
+
"groupSharedFeatures.metadataTemplateBrowser.container.createTemplateButtonLabel": "New Template",
|
|
8
10
|
"groupSharedFeatures.metadataTemplateBrowser.container.initialEmptyStateBody": "At the moment, there are no metadata templates ready for use. You can create the first one by reaching out to your Admin.",
|
|
9
11
|
"groupSharedFeatures.metadataTemplateBrowser.container.initialLoadErrorBody": "Something went wrong while loading templates.",
|
|
10
12
|
"groupSharedFeatures.metadataTemplateBrowser.container.loadingAriaLabel": "Loading templates",
|
package/dist/i18n/en-CA.js
CHANGED
|
@@ -3,8 +3,10 @@ export default {
|
|
|
3
3
|
"groupSharedFeatures.metadataTemplateBrowser.breadcrumbNavigation.enterpriseCrumbLabel": "Enterprise",
|
|
4
4
|
"groupSharedFeatures.metadataTemplateBrowser.breadcrumbNavigation.truncatedLinksIconAriaLabel": "Show more",
|
|
5
5
|
"groupSharedFeatures.metadataTemplateBrowser.browseList.browseErrorBody": "Something went wrong while loading this namespace.",
|
|
6
|
+
"groupSharedFeatures.metadataTemplateBrowser.browseList.createFirstTemplateButtonLabel": "Create first template",
|
|
6
7
|
"groupSharedFeatures.metadataTemplateBrowser.browseList.emptyStateBody": "There are no templates or namespaces in this folder.",
|
|
7
8
|
"groupSharedFeatures.metadataTemplateBrowser.browseList.listAriaLabel": "Metadata templates",
|
|
9
|
+
"groupSharedFeatures.metadataTemplateBrowser.container.createTemplateButtonLabel": "New Template",
|
|
8
10
|
"groupSharedFeatures.metadataTemplateBrowser.container.initialEmptyStateBody": "At the moment, there are no metadata templates ready for use. You can create the first one by reaching out to your Admin.",
|
|
9
11
|
"groupSharedFeatures.metadataTemplateBrowser.container.initialLoadErrorBody": "Something went wrong while loading templates.",
|
|
10
12
|
"groupSharedFeatures.metadataTemplateBrowser.container.loadingAriaLabel": "Loading templates",
|
package/dist/i18n/en-GB.js
CHANGED
|
@@ -3,8 +3,10 @@ export default {
|
|
|
3
3
|
"groupSharedFeatures.metadataTemplateBrowser.breadcrumbNavigation.enterpriseCrumbLabel": "Enterprise",
|
|
4
4
|
"groupSharedFeatures.metadataTemplateBrowser.breadcrumbNavigation.truncatedLinksIconAriaLabel": "Show more",
|
|
5
5
|
"groupSharedFeatures.metadataTemplateBrowser.browseList.browseErrorBody": "Something went wrong while loading this namespace.",
|
|
6
|
+
"groupSharedFeatures.metadataTemplateBrowser.browseList.createFirstTemplateButtonLabel": "Create first template",
|
|
6
7
|
"groupSharedFeatures.metadataTemplateBrowser.browseList.emptyStateBody": "There are no templates or namespaces in this folder.",
|
|
7
8
|
"groupSharedFeatures.metadataTemplateBrowser.browseList.listAriaLabel": "Metadata templates",
|
|
9
|
+
"groupSharedFeatures.metadataTemplateBrowser.container.createTemplateButtonLabel": "New Template",
|
|
8
10
|
"groupSharedFeatures.metadataTemplateBrowser.container.initialEmptyStateBody": "At the moment, there are no metadata templates ready for use. You can create the first one by reaching out to your Admin.",
|
|
9
11
|
"groupSharedFeatures.metadataTemplateBrowser.container.initialLoadErrorBody": "Something went wrong while loading templates.",
|
|
10
12
|
"groupSharedFeatures.metadataTemplateBrowser.container.loadingAriaLabel": "Loading templates",
|
package/dist/i18n/en-US.js
CHANGED
|
@@ -3,8 +3,10 @@ export default {
|
|
|
3
3
|
"groupSharedFeatures.metadataTemplateBrowser.breadcrumbNavigation.enterpriseCrumbLabel": "Enterprise",
|
|
4
4
|
"groupSharedFeatures.metadataTemplateBrowser.breadcrumbNavigation.truncatedLinksIconAriaLabel": "Show more",
|
|
5
5
|
"groupSharedFeatures.metadataTemplateBrowser.browseList.browseErrorBody": "Something went wrong while loading this namespace.",
|
|
6
|
+
"groupSharedFeatures.metadataTemplateBrowser.browseList.createFirstTemplateButtonLabel": "Create first template",
|
|
6
7
|
"groupSharedFeatures.metadataTemplateBrowser.browseList.emptyStateBody": "There are no templates or namespaces in this folder.",
|
|
7
8
|
"groupSharedFeatures.metadataTemplateBrowser.browseList.listAriaLabel": "Metadata templates",
|
|
9
|
+
"groupSharedFeatures.metadataTemplateBrowser.container.createTemplateButtonLabel": "New Template",
|
|
8
10
|
"groupSharedFeatures.metadataTemplateBrowser.container.initialEmptyStateBody": "At the moment, there are no metadata templates ready for use. You can create the first one by reaching out to your Admin.",
|
|
9
11
|
"groupSharedFeatures.metadataTemplateBrowser.container.initialLoadErrorBody": "Something went wrong while loading templates.",
|
|
10
12
|
"groupSharedFeatures.metadataTemplateBrowser.container.loadingAriaLabel": "Loading templates",
|
|
@@ -6,10 +6,14 @@ groupSharedFeatures.metadataTemplateBrowser.breadcrumbNavigation.enterpriseCrumb
|
|
|
6
6
|
groupSharedFeatures.metadataTemplateBrowser.breadcrumbNavigation.truncatedLinksIconAriaLabel = Show more
|
|
7
7
|
# Error body when navigating into a namespace fails to load
|
|
8
8
|
groupSharedFeatures.metadataTemplateBrowser.browseList.browseErrorBody = Something went wrong while loading this namespace.
|
|
9
|
+
# Button label shown in the empty namespace state when the user is allowed to create a template
|
|
10
|
+
groupSharedFeatures.metadataTemplateBrowser.browseList.createFirstTemplateButtonLabel = Create first template
|
|
9
11
|
# Body text shown when the current namespace has no child namespaces or templates
|
|
10
12
|
groupSharedFeatures.metadataTemplateBrowser.browseList.emptyStateBody = There are no templates or namespaces in this folder.
|
|
11
13
|
# Accessible label for the browse list
|
|
12
14
|
groupSharedFeatures.metadataTemplateBrowser.browseList.listAriaLabel = Metadata templates
|
|
15
|
+
# Label for the button that opens the template editor to create a new template in the current namespace
|
|
16
|
+
groupSharedFeatures.metadataTemplateBrowser.container.createTemplateButtonLabel = New Template
|
|
13
17
|
# Body text shown when the initial load returns no templates at all
|
|
14
18
|
groupSharedFeatures.metadataTemplateBrowser.container.initialEmptyStateBody = At the moment, there are no metadata templates ready for use. You can create the first one by reaching out to your Admin.
|
|
15
19
|
# Error body when the initial template list fails to load
|