@comet/admin 9.0.0-beta.3 → 9.0.0-beta.4
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/lib/common/__stories__/Tooltip.stories.js +404 -0
- package/lib/common/buttons/__stories__/Button.stories.js +445 -0
- package/lib/common/buttons/delete/__stories__/DeleteButton.stories.js +1 -1
- package/lib/error/errorHandler/ErrorHandlerProvider.d.ts +8 -0
- package/lib/error/errorHandler/ErrorHandlerProvider.d.ts.map +1 -0
- package/lib/error/errorHandler/ErrorHandlerProvider.js +16 -0
- package/lib/error/errorboundary/ErrorBoundary.d.ts.map +1 -1
- package/lib/error/errorboundary/ErrorBoundary.js +26 -18
- package/lib/form/FinalFormInput.d.ts.map +1 -1
- package/lib/form/FinalFormInput.js +3 -2
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/section/__stories__/SectionHeadline.stories.js +71 -0
- package/lib/stack/Stack.d.ts.map +1 -1
- package/lib/stack/Stack.js +3 -0
- package/lib/stack/__stories__/RouterTabsNestedStack.stories.js +51 -0
- package/lib/stack/__stories__/Stack.stories.js +14 -0
- package/lib/stack/__stories__/StackBackButton.stories.js +50 -0
- package/lib/stack/__stories__/StackBreadcrumbs.stories.js +139 -0
- package/lib/stack/__stories__/StackBreadcrumbsTabs.stories.js +47 -0
- package/lib/stack/__stories__/StackCustomSeparator.stories.js +47 -0
- package/lib/stack/__stories__/StackLink.stories.js +41 -0
- package/lib/stack/__stories__/StackNested.stories.js +58 -0
- package/lib/stack/__stories__/StackNestedOnInitialPage.stories.js +78 -0
- package/lib/stack/__stories__/StackNestedOneStack.stories.js +90 -0
- package/lib/stack/__stories__/StackPageTitle.stories.js +121 -0
- package/lib/stack/__stories__/StackReactNodeTitle.stories.js +54 -0
- package/lib/stack/__stories__/StackRefApi.stories.js +56 -0
- package/lib/stack/__stories__/StackTableFormQueryAtStack.stories.js +155 -0
- package/lib/stack/__stories__/StackTableFormQueryInTable.stories.js +160 -0
- package/lib/stack/__stories__/StackUrl.stories.js +66 -0
- package/lib/translator/ContentTranslationServiceContext.d.ts +1 -0
- package/lib/translator/ContentTranslationServiceContext.d.ts.map +1 -1
- package/lib/translator/ContentTranslationServiceProvider.d.ts +1 -1
- package/lib/translator/ContentTranslationServiceProvider.d.ts.map +1 -1
- package/lib/translator/ContentTranslationServiceProvider.js +4 -2
- package/lib/translator/PlainTextTranslationDialog.d.ts +1 -0
- package/lib/translator/PlainTextTranslationDialog.d.ts.map +1 -1
- package/lib/translator/PlainTextTranslationDialog.js +8 -3
- package/lib/translator/__stories__/ContentTranslation.stories.js +104 -0
- package/package.json +21 -22
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
var _templateObject, _templateObject2;
|
|
3
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
5
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
6
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
7
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
8
|
+
function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
|
|
9
|
+
import { gql, useQuery } from "@apollo/client";
|
|
10
|
+
import { Field, FinalForm, FinalFormInput, Loading, MainContent, Stack, StackPage, StackSwitch, StackSwitchApiContext, Table, TableFilterFinalForm, TableQuery, Toolbar, ToolbarBackButton, ToolbarItem, usePersistedStateId, useTableQuery, useTableQueryFilter } from "@comet/admin";
|
|
11
|
+
import { Edit } from "@comet/admin-icons";
|
|
12
|
+
import { Card, CardContent, Grid, IconButton, Typography } from "@mui/material";
|
|
13
|
+
import { useContext } from "react";
|
|
14
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
15
|
+
var query = gql(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n query users($query: String) {\n users(query: $query) {\n id\n name\n username\n email\n }\n }\n"])));
|
|
16
|
+
function ExampleTable(props) {
|
|
17
|
+
var filterApi = useTableQueryFilter({
|
|
18
|
+
query: ""
|
|
19
|
+
}, {
|
|
20
|
+
persistedStateId: props.persistedStateId
|
|
21
|
+
});
|
|
22
|
+
var _useTableQuery = useTableQuery()(query, {
|
|
23
|
+
variables: _objectSpread({}, filterApi.current),
|
|
24
|
+
resolveTableData: function resolveTableData(data) {
|
|
25
|
+
return {
|
|
26
|
+
data: data.users,
|
|
27
|
+
totalCount: data.users.length
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
}),
|
|
31
|
+
tableData = _useTableQuery.tableData,
|
|
32
|
+
api = _useTableQuery.api,
|
|
33
|
+
loading = _useTableQuery.loading,
|
|
34
|
+
error = _useTableQuery.error;
|
|
35
|
+
var stackApi = useContext(StackSwitchApiContext);
|
|
36
|
+
return /*#__PURE__*/_jsxs(TableQuery, {
|
|
37
|
+
api: api,
|
|
38
|
+
loading: loading,
|
|
39
|
+
error: error,
|
|
40
|
+
children: [/*#__PURE__*/_jsxs(Toolbar, {
|
|
41
|
+
children: [/*#__PURE__*/_jsx(ToolbarItem, {
|
|
42
|
+
children: /*#__PURE__*/_jsx(Typography, {
|
|
43
|
+
variant: "h3",
|
|
44
|
+
children: "Stack Table Form Query In Table"
|
|
45
|
+
})
|
|
46
|
+
}), /*#__PURE__*/_jsx(ToolbarItem, {
|
|
47
|
+
children: /*#__PURE__*/_jsx(TableFilterFinalForm, {
|
|
48
|
+
filterApi: filterApi,
|
|
49
|
+
children: /*#__PURE__*/_jsx(Field, {
|
|
50
|
+
name: "query",
|
|
51
|
+
type: "text",
|
|
52
|
+
component: FinalFormInput,
|
|
53
|
+
fullWidth: true
|
|
54
|
+
})
|
|
55
|
+
})
|
|
56
|
+
})]
|
|
57
|
+
}), tableData && /*#__PURE__*/_jsx(MainContent, {
|
|
58
|
+
children: /*#__PURE__*/_jsx(Table, _objectSpread(_objectSpread({}, tableData), {}, {
|
|
59
|
+
columns: [{
|
|
60
|
+
name: "name",
|
|
61
|
+
header: "Name"
|
|
62
|
+
}, {
|
|
63
|
+
name: "edit",
|
|
64
|
+
header: "",
|
|
65
|
+
cellProps: {
|
|
66
|
+
padding: "none"
|
|
67
|
+
},
|
|
68
|
+
render: function render(row) {
|
|
69
|
+
return /*#__PURE__*/_jsx(Grid, {
|
|
70
|
+
children: /*#__PURE__*/_jsx(IconButton, {
|
|
71
|
+
onClick: function onClick() {
|
|
72
|
+
stackApi.activatePage("form", String(row.id));
|
|
73
|
+
},
|
|
74
|
+
size: "large",
|
|
75
|
+
children: /*#__PURE__*/_jsx(Edit, {})
|
|
76
|
+
})
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}]
|
|
80
|
+
}))
|
|
81
|
+
})]
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
function ExampleForm(props) {
|
|
85
|
+
var detailQuery = gql(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n query user($id: Int) {\n user(id: $id) {\n id\n name\n }\n }\n "])));
|
|
86
|
+
var _useQuery = useQuery(detailQuery, {
|
|
87
|
+
variables: {
|
|
88
|
+
id: props.id
|
|
89
|
+
}
|
|
90
|
+
}),
|
|
91
|
+
loading = _useQuery.loading,
|
|
92
|
+
data = _useQuery.data,
|
|
93
|
+
error = _useQuery.error;
|
|
94
|
+
if (error) {
|
|
95
|
+
return /*#__PURE__*/_jsxs("p", {
|
|
96
|
+
children: ["Error :( ", error.toString()]
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
100
|
+
children: [/*#__PURE__*/_jsxs(Toolbar, {
|
|
101
|
+
children: [/*#__PURE__*/_jsx(ToolbarBackButton, {}), /*#__PURE__*/_jsx(ToolbarItem, {
|
|
102
|
+
children: /*#__PURE__*/_jsx(Typography, {
|
|
103
|
+
variant: "h3",
|
|
104
|
+
children: "Stack Table Form Query In Table - Detail"
|
|
105
|
+
})
|
|
106
|
+
})]
|
|
107
|
+
}), /*#__PURE__*/_jsx(MainContent, {
|
|
108
|
+
fullHeight: true,
|
|
109
|
+
children: loading || !data ? /*#__PURE__*/_jsx(Loading, {
|
|
110
|
+
behavior: "fillParent"
|
|
111
|
+
}) : /*#__PURE__*/_jsx(Card, {
|
|
112
|
+
variant: "outlined",
|
|
113
|
+
children: /*#__PURE__*/_jsx(CardContent, {
|
|
114
|
+
children: /*#__PURE__*/_jsx(FinalForm, {
|
|
115
|
+
mode: "edit",
|
|
116
|
+
onSubmit: function onSubmit(values) {
|
|
117
|
+
// submit here
|
|
118
|
+
},
|
|
119
|
+
initialValues: data.user,
|
|
120
|
+
children: /*#__PURE__*/_jsx(Field, {
|
|
121
|
+
label: "Name",
|
|
122
|
+
name: "name",
|
|
123
|
+
defaultOptions: true,
|
|
124
|
+
required: true,
|
|
125
|
+
component: FinalFormInput
|
|
126
|
+
})
|
|
127
|
+
})
|
|
128
|
+
})
|
|
129
|
+
})
|
|
130
|
+
})]
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
export default {
|
|
134
|
+
title: "components/stack/StackTableFormQueryInTable"
|
|
135
|
+
};
|
|
136
|
+
export var StackTableFormQueryInTable = {
|
|
137
|
+
render: function render() {
|
|
138
|
+
var persistedStateId = usePersistedStateId();
|
|
139
|
+
return /*#__PURE__*/_jsx(Stack, {
|
|
140
|
+
topLevelTitle: "Stack",
|
|
141
|
+
children: /*#__PURE__*/_jsxs(StackSwitch, {
|
|
142
|
+
children: [/*#__PURE__*/_jsx(StackPage, {
|
|
143
|
+
name: "table",
|
|
144
|
+
children: /*#__PURE__*/_jsx(ExampleTable, {
|
|
145
|
+
persistedStateId: persistedStateId
|
|
146
|
+
})
|
|
147
|
+
}), /*#__PURE__*/_jsx(StackPage, {
|
|
148
|
+
name: "form",
|
|
149
|
+
title: "bearbeiten",
|
|
150
|
+
children: function children(selectedId) {
|
|
151
|
+
return /*#__PURE__*/_jsx(ExampleForm, {
|
|
152
|
+
id: +selectedId
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
})]
|
|
156
|
+
})
|
|
157
|
+
});
|
|
158
|
+
},
|
|
159
|
+
name: "Stack Table Form Query in Table"
|
|
160
|
+
};
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Stack, StackBreadcrumbs, StackLink, StackPage, StackSwitch } from "@comet/admin";
|
|
2
|
+
import { useLocation } from "react-router";
|
|
3
|
+
import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
4
|
+
export default {
|
|
5
|
+
title: "components/stack/StackUrl"
|
|
6
|
+
};
|
|
7
|
+
export var StackUrl = {
|
|
8
|
+
render: function render() {
|
|
9
|
+
var location = useLocation();
|
|
10
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
11
|
+
children: [/*#__PURE__*/_jsxs("p", {
|
|
12
|
+
children: ["Pathname: ", location.pathname]
|
|
13
|
+
}), /*#__PURE__*/_jsxs(Stack, {
|
|
14
|
+
topLevelTitle: "Stack Url",
|
|
15
|
+
children: [/*#__PURE__*/_jsx(StackBreadcrumbs, {}), /*#__PURE__*/_jsxs(StackSwitch, {
|
|
16
|
+
children: [/*#__PURE__*/_jsxs(StackPage, {
|
|
17
|
+
name: "page1",
|
|
18
|
+
children: [/*#__PURE__*/_jsx("h3", {
|
|
19
|
+
children: "Page 1"
|
|
20
|
+
}), /*#__PURE__*/_jsx(StackLink, {
|
|
21
|
+
pageName: "page2",
|
|
22
|
+
payload: "test",
|
|
23
|
+
children: "go to page 2"
|
|
24
|
+
})]
|
|
25
|
+
}), /*#__PURE__*/_jsxs(StackPage, {
|
|
26
|
+
name: "page2",
|
|
27
|
+
children: [/*#__PURE__*/_jsx("h3", {
|
|
28
|
+
children: "Page 2"
|
|
29
|
+
}), /*#__PURE__*/_jsx("p", {
|
|
30
|
+
children: /*#__PURE__*/_jsx(StackLink, {
|
|
31
|
+
pageName: "page1",
|
|
32
|
+
payload: "test",
|
|
33
|
+
children: "go to page 1"
|
|
34
|
+
})
|
|
35
|
+
}), /*#__PURE__*/_jsxs(StackSwitch, {
|
|
36
|
+
children: [/*#__PURE__*/_jsxs(StackPage, {
|
|
37
|
+
name: "page2-1",
|
|
38
|
+
children: [/*#__PURE__*/_jsx("h3", {
|
|
39
|
+
children: "Page 2-1"
|
|
40
|
+
}), /*#__PURE__*/_jsx("p", {
|
|
41
|
+
children: /*#__PURE__*/_jsx(StackLink, {
|
|
42
|
+
pageName: "page2-2",
|
|
43
|
+
payload: "test",
|
|
44
|
+
children: "go to page 2-2"
|
|
45
|
+
})
|
|
46
|
+
})]
|
|
47
|
+
}), /*#__PURE__*/_jsxs(StackPage, {
|
|
48
|
+
name: "page2-2",
|
|
49
|
+
children: [/*#__PURE__*/_jsx("h3", {
|
|
50
|
+
children: "Page 2-2"
|
|
51
|
+
}), /*#__PURE__*/_jsx("p", {
|
|
52
|
+
children: /*#__PURE__*/_jsx(StackLink, {
|
|
53
|
+
pageName: "page2-1",
|
|
54
|
+
payload: "test",
|
|
55
|
+
children: "go to page 2-1"
|
|
56
|
+
})
|
|
57
|
+
})]
|
|
58
|
+
})]
|
|
59
|
+
})]
|
|
60
|
+
})]
|
|
61
|
+
})]
|
|
62
|
+
})]
|
|
63
|
+
});
|
|
64
|
+
},
|
|
65
|
+
name: "StackUrl"
|
|
66
|
+
};
|
|
@@ -2,6 +2,7 @@ export interface ContentTranslationServiceContext {
|
|
|
2
2
|
enabled: boolean;
|
|
3
3
|
showApplyTranslationDialog?: boolean;
|
|
4
4
|
translate: (text: string) => Promise<string>;
|
|
5
|
+
batchTranslate?: (texts: string[]) => Promise<string[]>;
|
|
5
6
|
}
|
|
6
7
|
export declare const ContentTranslationServiceContext: import("react").Context<ContentTranslationServiceContext>;
|
|
7
8
|
//# sourceMappingURL=ContentTranslationServiceContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentTranslationServiceContext.d.ts","sourceRoot":"","sources":["../../src/translator/ContentTranslationServiceContext.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,gCAAgC;IAC7C,OAAO,EAAE,OAAO,CAAC;IACjB,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ContentTranslationServiceContext.d.ts","sourceRoot":"","sources":["../../src/translator/ContentTranslationServiceContext.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,gCAAgC;IAC7C,OAAO,EAAE,OAAO,CAAC;IACjB,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAC3D;AAED,eAAO,MAAM,gCAAgC,2DAK3C,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { PropsWithChildren } from "react";
|
|
2
2
|
import { ContentTranslationServiceContext } from "./ContentTranslationServiceContext";
|
|
3
|
-
export declare const ContentTranslationServiceProvider: ({ children, enabled, showApplyTranslationDialog, translate, }: PropsWithChildren<ContentTranslationServiceContext>) => import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export declare const ContentTranslationServiceProvider: ({ children, enabled, showApplyTranslationDialog, translate, batchTranslate, }: PropsWithChildren<ContentTranslationServiceContext>) => import("react/jsx-runtime").JSX.Element;
|
|
4
4
|
//# sourceMappingURL=ContentTranslationServiceProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentTranslationServiceProvider.d.ts","sourceRoot":"","sources":["../../src/translator/ContentTranslationServiceProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE/C,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AAEtF,eAAO,MAAM,iCAAiC,GAAI,+
|
|
1
|
+
{"version":3,"file":"ContentTranslationServiceProvider.d.ts","sourceRoot":"","sources":["../../src/translator/ContentTranslationServiceProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE/C,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AAEtF,eAAO,MAAM,iCAAiC,GAAI,+EAM/C,iBAAiB,CAAC,gCAAgC,CAAC,4CAMrD,CAAC"}
|
|
@@ -4,12 +4,14 @@ export var ContentTranslationServiceProvider = function ContentTranslationServic
|
|
|
4
4
|
var children = _ref.children,
|
|
5
5
|
enabled = _ref.enabled,
|
|
6
6
|
showApplyTranslationDialog = _ref.showApplyTranslationDialog,
|
|
7
|
-
translate = _ref.translate
|
|
7
|
+
translate = _ref.translate,
|
|
8
|
+
batchTranslate = _ref.batchTranslate;
|
|
8
9
|
return /*#__PURE__*/_jsx(ContentTranslationServiceContext.Provider, {
|
|
9
10
|
value: {
|
|
10
11
|
enabled: enabled,
|
|
11
12
|
showApplyTranslationDialog: showApplyTranslationDialog,
|
|
12
|
-
translate: translate
|
|
13
|
+
translate: translate,
|
|
14
|
+
batchTranslate: batchTranslate
|
|
13
15
|
},
|
|
14
16
|
children: children
|
|
15
17
|
});
|
|
@@ -4,6 +4,7 @@ interface PlainTextTranslationDialogProps {
|
|
|
4
4
|
originalText: string;
|
|
5
5
|
translatedText: string;
|
|
6
6
|
onApplyTranslation: (value: string) => void;
|
|
7
|
+
multiline?: boolean;
|
|
7
8
|
}
|
|
8
9
|
export declare const PlainTextTranslationDialog: (props: PlainTextTranslationDialogProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
10
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlainTextTranslationDialog.d.ts","sourceRoot":"","sources":["../../src/translator/PlainTextTranslationDialog.tsx"],"names":[],"mappings":"AAIA,UAAU,+BAA+B;IACrC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"PlainTextTranslationDialog.d.ts","sourceRoot":"","sources":["../../src/translator/PlainTextTranslationDialog.tsx"],"names":[],"mappings":"AAIA,UAAU,+BAA+B;IACrC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,0BAA0B,GAAI,OAAO,+BAA+B,4CAsBhF,CAAC"}
|
|
@@ -6,7 +6,8 @@ export var PlainTextTranslationDialog = function PlainTextTranslationDialog(prop
|
|
|
6
6
|
onClose = props.onClose,
|
|
7
7
|
originalText = props.originalText,
|
|
8
8
|
translatedText = props.translatedText,
|
|
9
|
-
onApplyTranslation = props.onApplyTranslation
|
|
9
|
+
onApplyTranslation = props.onApplyTranslation,
|
|
10
|
+
multiline = props.multiline;
|
|
10
11
|
return /*#__PURE__*/_jsx(BaseTranslationDialog, {
|
|
11
12
|
open: open,
|
|
12
13
|
onClose: onClose,
|
|
@@ -17,7 +18,9 @@ export var PlainTextTranslationDialog = function PlainTextTranslationDialog(prop
|
|
|
17
18
|
return /*#__PURE__*/_jsx(TextField, {
|
|
18
19
|
value: text,
|
|
19
20
|
disabled: true,
|
|
20
|
-
fullWidth: true
|
|
21
|
+
fullWidth: true,
|
|
22
|
+
multiline: multiline,
|
|
23
|
+
rows: multiline ? 3 : undefined
|
|
21
24
|
});
|
|
22
25
|
},
|
|
23
26
|
renderTranslatedText: function renderTranslatedText(text, _onChange) {
|
|
@@ -26,7 +29,9 @@ export var PlainTextTranslationDialog = function PlainTextTranslationDialog(prop
|
|
|
26
29
|
onChange: function onChange(event) {
|
|
27
30
|
return _onChange(event.target.value);
|
|
28
31
|
},
|
|
29
|
-
fullWidth: true
|
|
32
|
+
fullWidth: true,
|
|
33
|
+
multiline: multiline,
|
|
34
|
+
rows: multiline ? 3 : undefined
|
|
30
35
|
});
|
|
31
36
|
}
|
|
32
37
|
});
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
2
|
+
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
3
|
+
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
|
|
4
|
+
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
|
|
5
|
+
import { FinalForm } from "../../FinalForm";
|
|
6
|
+
import { TextAreaField } from "../../form/fields/TextAreaField";
|
|
7
|
+
import { TextField } from "../../form/fields/TextField";
|
|
8
|
+
import { FinalFormDebug } from "../../form/FinalFormDebug";
|
|
9
|
+
import { ContentTranslationServiceProvider } from "../ContentTranslationServiceProvider";
|
|
10
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
+
var reverseTranslate = /*#__PURE__*/function () {
|
|
12
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(text) {
|
|
13
|
+
return _regenerator().w(function (_context) {
|
|
14
|
+
while (1) switch (_context.n) {
|
|
15
|
+
case 0:
|
|
16
|
+
return _context.a(2, text.split("").reverse().join(""));
|
|
17
|
+
}
|
|
18
|
+
}, _callee);
|
|
19
|
+
}));
|
|
20
|
+
return function reverseTranslate(_x) {
|
|
21
|
+
return _ref.apply(this, arguments);
|
|
22
|
+
};
|
|
23
|
+
}();
|
|
24
|
+
var initialValues = {
|
|
25
|
+
title: "Hello World",
|
|
26
|
+
description: "The quick brown fox jumps over the lazy dog."
|
|
27
|
+
};
|
|
28
|
+
var TranslationProvider = function TranslationProvider(_ref2) {
|
|
29
|
+
var children = _ref2.children,
|
|
30
|
+
showApplyTranslationDialog = _ref2.showApplyTranslationDialog;
|
|
31
|
+
return /*#__PURE__*/_jsx(ContentTranslationServiceProvider, {
|
|
32
|
+
enabled: true,
|
|
33
|
+
translate: reverseTranslate,
|
|
34
|
+
showApplyTranslationDialog: showApplyTranslationDialog,
|
|
35
|
+
children: children
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
var config = {
|
|
39
|
+
component: ContentTranslationServiceProvider,
|
|
40
|
+
title: "components/translator/ContentTranslation"
|
|
41
|
+
};
|
|
42
|
+
export default config;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Translation is applied immediately when clicking the translate button on a `TextField` or `TextAreaField`.
|
|
46
|
+
*
|
|
47
|
+
* The fake `translate` function used here reverses the input text.
|
|
48
|
+
*/
|
|
49
|
+
export var Default = {
|
|
50
|
+
render: function render() {
|
|
51
|
+
return /*#__PURE__*/_jsx(TranslationProvider, {
|
|
52
|
+
children: /*#__PURE__*/_jsxs(FinalForm, {
|
|
53
|
+
mode: "edit",
|
|
54
|
+
onSubmit: function onSubmit() {
|
|
55
|
+
// not handled
|
|
56
|
+
},
|
|
57
|
+
initialValues: initialValues,
|
|
58
|
+
subscription: {
|
|
59
|
+
values: true
|
|
60
|
+
},
|
|
61
|
+
children: [/*#__PURE__*/_jsx(TextField, {
|
|
62
|
+
name: "title",
|
|
63
|
+
label: "Title",
|
|
64
|
+
fullWidth: true
|
|
65
|
+
}), /*#__PURE__*/_jsx(TextAreaField, {
|
|
66
|
+
name: "description",
|
|
67
|
+
label: "Description",
|
|
68
|
+
fullWidth: true
|
|
69
|
+
}), /*#__PURE__*/_jsx(FinalFormDebug, {})]
|
|
70
|
+
})
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* With `showApplyTranslationDialog` enabled, the translation is shown in a dialog where the user can review
|
|
77
|
+
* and edit it before applying. For `TextAreaField`, the dialog renders the input as a multiline textarea.
|
|
78
|
+
*/
|
|
79
|
+
export var WithApplyTranslationDialog = {
|
|
80
|
+
render: function render() {
|
|
81
|
+
return /*#__PURE__*/_jsx(TranslationProvider, {
|
|
82
|
+
showApplyTranslationDialog: true,
|
|
83
|
+
children: /*#__PURE__*/_jsxs(FinalForm, {
|
|
84
|
+
mode: "edit",
|
|
85
|
+
onSubmit: function onSubmit() {
|
|
86
|
+
// not handled
|
|
87
|
+
},
|
|
88
|
+
initialValues: initialValues,
|
|
89
|
+
subscription: {
|
|
90
|
+
values: true
|
|
91
|
+
},
|
|
92
|
+
children: [/*#__PURE__*/_jsx(TextField, {
|
|
93
|
+
name: "title",
|
|
94
|
+
label: "Title",
|
|
95
|
+
fullWidth: true
|
|
96
|
+
}), /*#__PURE__*/_jsx(TextAreaField, {
|
|
97
|
+
name: "description",
|
|
98
|
+
label: "Description",
|
|
99
|
+
fullWidth: true
|
|
100
|
+
}), /*#__PURE__*/_jsx(FinalFormDebug, {})]
|
|
101
|
+
})
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@comet/admin",
|
|
3
|
-
"version": "9.0.0-beta.
|
|
3
|
+
"version": "9.0.0-beta.4",
|
|
4
4
|
"description": "Comet Admin package",
|
|
5
5
|
"repository": {
|
|
6
6
|
"directory": "packages/admin/admin",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"lib"
|
|
21
21
|
],
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@mui/utils": "^7.3.
|
|
23
|
+
"@mui/utils": "^7.3.11",
|
|
24
24
|
"date-fns": "^4.1.0",
|
|
25
25
|
"exceljs": "^4.4.0",
|
|
26
26
|
"final-form-set-field-data": "^1.0.2",
|
|
@@ -31,25 +31,24 @@
|
|
|
31
31
|
"query-string": "^7.1.3",
|
|
32
32
|
"react-dropzone": "^14.3.8",
|
|
33
33
|
"use-constant": "^2.0.0",
|
|
34
|
-
"uuid": "^11.1.
|
|
35
|
-
"@comet/admin-icons": "9.0.0-beta.
|
|
34
|
+
"uuid": "^11.1.1",
|
|
35
|
+
"@comet/admin-icons": "9.0.0-beta.4"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@apollo/client": "^3.14.1",
|
|
39
39
|
"@babel/cli": "^7.28.6",
|
|
40
|
-
"@babel/core": "^7.
|
|
40
|
+
"@babel/core": "^7.29.0",
|
|
41
41
|
"@emotion/react": "^11.14.0",
|
|
42
42
|
"@emotion/styled": "^11.14.1",
|
|
43
|
-
"@mui/material": "^7.3.
|
|
44
|
-
"@mui/system": "^7.3.
|
|
45
|
-
"@mui/x-data-grid": "^8.28.
|
|
46
|
-
"@mui/x-data-grid-premium": "^8.28.
|
|
47
|
-
"@mui/x-data-grid-pro": "^8.28.
|
|
48
|
-
"@mui/x-date-pickers": "^8.28.
|
|
49
|
-
"@mui/x-date-pickers-pro": "^8.28.
|
|
43
|
+
"@mui/material": "^7.3.11",
|
|
44
|
+
"@mui/system": "^7.3.11",
|
|
45
|
+
"@mui/x-data-grid": "^8.28.6",
|
|
46
|
+
"@mui/x-data-grid-premium": "^8.28.6",
|
|
47
|
+
"@mui/x-data-grid-pro": "^8.28.6",
|
|
48
|
+
"@mui/x-date-pickers": "^8.28.5",
|
|
49
|
+
"@mui/x-date-pickers-pro": "^8.28.5",
|
|
50
50
|
"@storybook/addon-docs": "^10.3.5",
|
|
51
|
-
"@storybook/
|
|
52
|
-
"@storybook/react-webpack5": "^10.3.5",
|
|
51
|
+
"@storybook/react-vite": "^10.3.5",
|
|
53
52
|
"@testing-library/dom": "^10.4.1",
|
|
54
53
|
"@testing-library/jest-dom": "^6.9.1",
|
|
55
54
|
"@testing-library/react": "^16.3.2",
|
|
@@ -58,12 +57,12 @@
|
|
|
58
57
|
"@types/history": "^4.7.11",
|
|
59
58
|
"@types/lodash.debounce": "^4.0.9",
|
|
60
59
|
"@types/lodash.isequal": "^4.5.8",
|
|
61
|
-
"@types/node": "^24.12.
|
|
62
|
-
"@types/react": "^19.2.
|
|
60
|
+
"@types/node": "^24.12.4",
|
|
61
|
+
"@types/react": "^19.2.14",
|
|
63
62
|
"@types/react-dom": "^19.2.3",
|
|
64
63
|
"@types/react-router": "^5.1.20",
|
|
65
64
|
"@types/react-router-dom": "^5.3.3",
|
|
66
|
-
"eslint": "^9.39.
|
|
65
|
+
"eslint": "^9.39.4",
|
|
67
66
|
"eslint-plugin-storybook": "^10.3.5",
|
|
68
67
|
"final-form": "^4.20.10",
|
|
69
68
|
"graphql": "^16.13.2",
|
|
@@ -72,9 +71,9 @@
|
|
|
72
71
|
"msw": "^2.10.4",
|
|
73
72
|
"npm-run-all2": "^8.0.4",
|
|
74
73
|
"prettier": "^3.6.2",
|
|
75
|
-
"react": "^19.2.
|
|
74
|
+
"react": "^19.2.6",
|
|
76
75
|
"react-dnd": "^16.0.1",
|
|
77
|
-
"react-dom": "^19.2.
|
|
76
|
+
"react-dom": "^19.2.6",
|
|
78
77
|
"react-final-form": "^6.5.9",
|
|
79
78
|
"react-intl": "^7.1.11",
|
|
80
79
|
"react-router": "^5.3.4",
|
|
@@ -85,9 +84,9 @@
|
|
|
85
84
|
"typescript": "^5.9.3",
|
|
86
85
|
"vite-tsconfig-paths": "^6.0.4",
|
|
87
86
|
"vitest": "^4.0.16",
|
|
88
|
-
"@comet/admin-babel-preset": "9.0.0-beta.
|
|
89
|
-
"@comet/eslint-config": "9.0.0-beta.
|
|
90
|
-
"@comet/eslint-plugin": "9.0.0-beta.
|
|
87
|
+
"@comet/admin-babel-preset": "9.0.0-beta.4",
|
|
88
|
+
"@comet/eslint-config": "9.0.0-beta.4",
|
|
89
|
+
"@comet/eslint-plugin": "9.0.0-beta.4"
|
|
91
90
|
},
|
|
92
91
|
"peerDependencies": {
|
|
93
92
|
"@apollo/client": "^3.7.0",
|