@things-factory/operato-dataset 6.2.102 → 6.2.103

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.
@@ -0,0 +1,8 @@
1
+ import '@operato/i18n/ox-i18n.js';
2
+ import '@things-factory/notification';
3
+ import '@things-factory/auth-ui/dist-client';
4
+ import '@operato/dataset/usecase/ccp';
5
+ import '@operato/dataset/usecase/qc';
6
+ import '@operato/dataset/ox-property-editor-ccp-limits.js';
7
+ import '@operato/dataset/ox-property-editor-qc-limits.js';
8
+ export default function bootstrap(): Promise<void>;
@@ -0,0 +1,268 @@
1
+ import '@operato/i18n/ox-i18n.js';
2
+ import '@things-factory/notification';
3
+ import '@things-factory/auth-ui/dist-client'; /* for domain-switch */
4
+ import '@operato/dataset/usecase/ccp';
5
+ import '@operato/dataset/usecase/qc';
6
+ import '@operato/dataset/ox-property-editor-ccp-limits.js';
7
+ import '@operato/dataset/ox-property-editor-qc-limits.js';
8
+ import { html } from 'lit-html';
9
+ import { registerDefaultGroups } from '@operato/board';
10
+ import { navigate, store } from '@operato/shell';
11
+ import { OxPropertyEditor } from '@operato/property-editor';
12
+ import { appendViewpart, toggleOverlay, TOOL_POSITION, VIEWPART_POSITION } from '@operato/layout';
13
+ import { APPEND_APP_TOOL } from '@things-factory/apptool-base';
14
+ import { auth, hasPrivilege } from '@things-factory/auth-base/dist-client';
15
+ import { setAuthManagementMenus } from '@things-factory/auth-ui';
16
+ import { setupMenuPart, updateMenuTemplate } from '@things-factory/lite-menu';
17
+ import { setupAppToolPart } from '@things-factory/apptool-ui';
18
+ import { setupContextUIPart } from '@things-factory/context-ui';
19
+ import { ADD_MORENDA } from '@things-factory/more-base';
20
+ import { ADD_SETTING } from '@things-factory/setting-base';
21
+ import { getMenuTemplate } from './menu';
22
+ import { queryDataSets } from './query-data-sets';
23
+ console.log(`%c
24
+ ▄▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄▄ ▄▄▄ ▄▄ ▄ ▄ ▄▄ ▄▄▄ ▄▄▄ ▄▄▄
25
+ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓
26
+ ▓ ▓ ▓▀▀ ▓▀▀ ▓▀▀▄ ▓▀▀▓ ▓ ▓ ▓ ▀▀ ▓▀▀▓ ▓▀▀▓ ▓ ▓ ▓▀▀
27
+ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓
28
+ ▀▀ ▀ ▀▀▀ ▀ ▀ ▀ ▀ ▀ ▀▀ ▀ ▀ ▀ ▀ ▀▀▀ ▀▀▀ ▀
29
+ `, 'background: #222; color: #bada55');
30
+ export default async function bootstrap() {
31
+ /* set board-modeller group and default templates */
32
+ registerDefaultGroups();
33
+ await setupAppToolPart({
34
+ toolbar: true,
35
+ busybar: true,
36
+ mdibar: true
37
+ });
38
+ await setupContextUIPart({
39
+ titlebar: 'header',
40
+ contextToolbar: 'page-footer'
41
+ });
42
+ await setupMenuPart({
43
+ slotTemplate: html ` <domain-switch slot="tail"></domain-switch> `,
44
+ hovering: true
45
+ });
46
+ OxPropertyEditor.register({
47
+ 'ccp-limits': 'ox-property-editor-ccp-limits',
48
+ 'qc-limits': 'ox-property-editor-qc-limits'
49
+ });
50
+ /* add setting morenda */
51
+ store.dispatch({
52
+ type: ADD_MORENDA,
53
+ morenda: {
54
+ icon: html ` <mwc-icon>settings</mwc-icon> `,
55
+ name: html ` <ox-i18n msgid="label.setting"></ox-i18n> `,
56
+ action: () => {
57
+ navigate('setting');
58
+ }
59
+ }
60
+ });
61
+ /* add addon-menu management page morenda */
62
+ if (await hasPrivilege({ privilege: 'mutation', category: 'menu', domainOwnerGranted: true, superUserGranted: true })) {
63
+ store.dispatch({
64
+ type: ADD_MORENDA,
65
+ morenda: {
66
+ icon: html ` <mwc-icon>view_list</mwc-icon> `,
67
+ name: html ` <ox-i18n msgid="text.addon-menu management"></ox-i18n> `,
68
+ action: () => {
69
+ navigate('addon-menu-setting');
70
+ }
71
+ }
72
+ });
73
+ }
74
+ /* set auth management menus into more-panel */
75
+ setAuthManagementMenus();
76
+ if (await hasPrivilege({ privilege: 'mutation', category: 'user', domainOwnerGranted: true, superUserGranted: true })) {
77
+ store.dispatch({
78
+ type: ADD_MORENDA,
79
+ morenda: {
80
+ icon: html ` <mwc-icon>vpn_key</mwc-icon> `,
81
+ name: html ` <ox-i18n msgid="text.oauth2-clients"></ox-i18n> `,
82
+ action: () => {
83
+ navigate('oauth2-clients');
84
+ }
85
+ }
86
+ });
87
+ }
88
+ if (await hasPrivilege({ privilege: 'mutation', category: 'board', domainOwnerGranted: true })) {
89
+ store.dispatch({
90
+ type: ADD_MORENDA,
91
+ morenda: {
92
+ icon: html ` <mwc-icon>font_download</mwc-icon> `,
93
+ name: html ` <ox-i18n msgid="menu.fonts"></ox-i18n> `,
94
+ action: () => {
95
+ navigate('font-list');
96
+ }
97
+ }
98
+ });
99
+ store.dispatch({
100
+ type: ADD_MORENDA,
101
+ morenda: {
102
+ icon: html ` <mwc-icon>dvr</mwc-icon> `,
103
+ name: html ` <ox-i18n msgid="menu.board-list"></ox-i18n> `,
104
+ action: () => {
105
+ navigate('board-list');
106
+ }
107
+ }
108
+ });
109
+ store.dispatch({
110
+ type: ADD_MORENDA,
111
+ morenda: {
112
+ icon: html ` <mwc-icon>airplay</mwc-icon> `,
113
+ name: html ` <ox-i18n msgid="menu.play-groups"></ox-i18n> `,
114
+ action: () => {
115
+ navigate('play-list');
116
+ }
117
+ }
118
+ });
119
+ }
120
+ if (await hasPrivilege({ privilege: 'query', category: 'attachment', domainOwnerGranted: true })) {
121
+ store.dispatch({
122
+ type: ADD_MORENDA,
123
+ morenda: {
124
+ icon: html ` <mwc-icon>attachment</mwc-icon> `,
125
+ name: html ` <ox-i18n msgid="menu.attachments"></ox-i18n> `,
126
+ action: () => {
127
+ navigate('attachment-list');
128
+ }
129
+ }
130
+ });
131
+ }
132
+ if (await hasPrivilege({
133
+ privilege: 'mutation',
134
+ category: 'scenario',
135
+ domainOwnerGranted: true,
136
+ superUserGranted: true
137
+ })) {
138
+ store.dispatch({
139
+ type: ADD_MORENDA,
140
+ morenda: {
141
+ icon: html ` <mwc-icon>device_hub</mwc-icon> `,
142
+ name: html ` <ox-i18n msgid="text.connection"></ox-i18n> `,
143
+ action: () => {
144
+ navigate('connection');
145
+ }
146
+ }
147
+ });
148
+ store.dispatch({
149
+ type: ADD_MORENDA,
150
+ morenda: {
151
+ icon: html ` <mwc-icon>format_list_numbered</mwc-icon> `,
152
+ name: html ` <ox-i18n msgid="text.scenario"></ox-i18n> `,
153
+ action: () => {
154
+ navigate('scenario');
155
+ }
156
+ }
157
+ });
158
+ store.dispatch({
159
+ type: ADD_MORENDA,
160
+ morenda: {
161
+ icon: html ` <mwc-icon>hub</mwc-icon> `,
162
+ name: html ` <ox-i18n msgid="text.integration analysis"></ox-i18n>&nbsp;(beta)`,
163
+ action: () => {
164
+ navigate('integration-analysis');
165
+ }
166
+ }
167
+ });
168
+ }
169
+ if (await hasPrivilege({ privilege: 'mutation', category: 'state-register', domainOwnerGranted: true })) {
170
+ store.dispatch({
171
+ type: ADD_MORENDA,
172
+ morenda: {
173
+ icon: html ` <mwc-icon>app_registration</mwc-icon> `,
174
+ name: html ` <ox-i18n msgid="title.state-register"></ox-i18n> `,
175
+ action: () => {
176
+ navigate('state-register-page');
177
+ }
178
+ }
179
+ });
180
+ }
181
+ auth.on('profile', async ({ credential }) => {
182
+ updateMenuTemplate(getMenuTemplate(credential.owner, await queryDataSets()));
183
+ if (credential.owner) {
184
+ store.dispatch({
185
+ type: ADD_MORENDA,
186
+ morenda: {
187
+ icon: html ` <mwc-icon>pending_actions</mwc-icon> `,
188
+ name: html ` <i18n-msg msgid="title.work-shift"></i18n-msg> `,
189
+ action: () => {
190
+ navigate('work-shift');
191
+ }
192
+ }
193
+ });
194
+ store.dispatch({
195
+ type: ADD_MORENDA,
196
+ morenda: {
197
+ icon: html ` <mwc-icon>device_hub</mwc-icon> `,
198
+ name: html ` <ox-i18n msgid="text.installable-activities"></ox-i18n> `,
199
+ action: () => {
200
+ navigate('installable-activity-list');
201
+ }
202
+ }
203
+ });
204
+ }
205
+ store.dispatch({
206
+ type: ADD_MORENDA,
207
+ morenda: {
208
+ icon: html ` <mwc-icon>extension</mwc-icon> `,
209
+ name: html ` <ox-i18n msgid="text.api-sandbox"></ox-i18n> `,
210
+ action: () => {
211
+ navigate('api-swagger');
212
+ }
213
+ }
214
+ });
215
+ // store.dispatch({
216
+ // type: ADD_MORENDA,
217
+ // morenda: {
218
+ // icon: html` <mwc-icon>help</mwc-icon> `,
219
+ // name: html` <ox-i18n msgid="text.help"></ox-i18n> `,
220
+ // action: () => {
221
+ // navigate('help')
222
+ // }
223
+ // }
224
+ // })
225
+ /* setting app-tools */
226
+ store.dispatch({
227
+ type: APPEND_APP_TOOL,
228
+ tool: {
229
+ name: 'notification-badge',
230
+ template: html `
231
+ <notification-badge
232
+ @click=${e => {
233
+ toggleOverlay('notification', {
234
+ backdrop: true
235
+ });
236
+ }}
237
+ >
238
+ </notification-badge>
239
+ `,
240
+ position: TOOL_POSITION.REAR
241
+ }
242
+ });
243
+ appendViewpart({
244
+ name: 'notification',
245
+ viewpart: {
246
+ show: false,
247
+ hovering: 'edge',
248
+ template: html ` <notification-list style="min-width: 300px;"></notification-list> `
249
+ },
250
+ position: VIEWPART_POSITION.ASIDEBAR
251
+ });
252
+ store.dispatch({
253
+ type: ADD_SETTING,
254
+ setting: {
255
+ seq: 20,
256
+ template: html ` <notification-setting-let></notification-setting-let> `
257
+ }
258
+ });
259
+ store.dispatch({
260
+ type: ADD_SETTING,
261
+ setting: {
262
+ seq: 21,
263
+ template: html ` <lite-menu-setting-let></lite-menu-setting-let> `
264
+ }
265
+ });
266
+ });
267
+ }
268
+ //# sourceMappingURL=bootstrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../client/bootstrap.ts"],"names":[],"mappings":"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","sourcesContent":["import '@operato/i18n/ox-i18n.js'\nimport '@things-factory/notification'\nimport '@things-factory/auth-ui/dist-client' /* for domain-switch */\n\nimport '@operato/dataset/usecase/ccp'\nimport '@operato/dataset/usecase/qc'\nimport '@operato/dataset/ox-property-editor-ccp-limits.js'\nimport '@operato/dataset/ox-property-editor-qc-limits.js'\n\nimport { html } from 'lit-html'\n\nimport { registerDefaultGroups } from '@operato/board'\nimport { navigate, store } from '@operato/shell'\nimport { OxPropertyEditor } from '@operato/property-editor'\n\nimport { appendViewpart, toggleOverlay, TOOL_POSITION, VIEWPART_POSITION } from '@operato/layout'\n\nimport { APPEND_APP_TOOL } from '@things-factory/apptool-base'\nimport { auth, hasPrivilege } from '@things-factory/auth-base/dist-client'\nimport { setAuthManagementMenus } from '@things-factory/auth-ui'\nimport { setupMenuPart, updateMenuTemplate } from '@things-factory/lite-menu'\nimport { setupAppToolPart } from '@things-factory/apptool-ui'\nimport { setupContextUIPart } from '@things-factory/context-ui'\nimport { ADD_MORENDA } from '@things-factory/more-base'\nimport { ADD_SETTING } from '@things-factory/setting-base'\n\nimport { getMenuTemplate } from './menu'\nimport { queryDataSets, queryDataKeySets } from './query-data-sets'\n\nconsole.log(\n `%c\n ▄▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄▄ ▄▄▄ ▄▄ ▄ ▄ ▄▄ ▄▄▄ ▄▄▄ ▄▄▄ \n ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓\n ▓ ▓ ▓▀▀ ▓▀▀ ▓▀▀▄ ▓▀▀▓ ▓ ▓ ▓ ▀▀ ▓▀▀▓ ▓▀▀▓ ▓ ▓ ▓▀▀ \n ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ \n ▀▀ ▀ ▀▀▀ ▀ ▀ ▀ ▀ ▀ ▀▀ ▀ ▀ ▀ ▀ ▀▀▀ ▀▀▀ ▀ \n`,\n 'background: #222; color: #bada55'\n)\n\nexport default async function bootstrap() {\n /* set board-modeller group and default templates */\n registerDefaultGroups()\n\n await setupAppToolPart({\n toolbar: true,\n busybar: true,\n mdibar: true\n })\n\n await setupContextUIPart({\n titlebar: 'header',\n contextToolbar: 'page-footer'\n })\n\n await setupMenuPart({\n slotTemplate: html` <domain-switch slot=\"tail\"></domain-switch> `,\n hovering: true\n })\n\n OxPropertyEditor.register({\n 'ccp-limits': 'ox-property-editor-ccp-limits',\n 'qc-limits': 'ox-property-editor-qc-limits'\n })\n\n /* add setting morenda */\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html` <mwc-icon>settings</mwc-icon> `,\n name: html` <ox-i18n msgid=\"label.setting\"></ox-i18n> `,\n action: () => {\n navigate('setting')\n }\n }\n })\n\n /* add addon-menu management page morenda */\n if (\n await hasPrivilege({ privilege: 'mutation', category: 'menu', domainOwnerGranted: true, superUserGranted: true })\n ) {\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html` <mwc-icon>view_list</mwc-icon> `,\n name: html` <ox-i18n msgid=\"text.addon-menu management\"></ox-i18n> `,\n action: () => {\n navigate('addon-menu-setting')\n }\n }\n })\n }\n\n /* set auth management menus into more-panel */\n setAuthManagementMenus()\n\n if (\n await hasPrivilege({ privilege: 'mutation', category: 'user', domainOwnerGranted: true, superUserGranted: true })\n ) {\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html` <mwc-icon>vpn_key</mwc-icon> `,\n name: html` <ox-i18n msgid=\"text.oauth2-clients\"></ox-i18n> `,\n action: () => {\n navigate('oauth2-clients')\n }\n }\n })\n }\n\n if (await hasPrivilege({ privilege: 'mutation', category: 'board', domainOwnerGranted: true })) {\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html` <mwc-icon>font_download</mwc-icon> `,\n name: html` <ox-i18n msgid=\"menu.fonts\"></ox-i18n> `,\n action: () => {\n navigate('font-list')\n }\n }\n })\n\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html` <mwc-icon>dvr</mwc-icon> `,\n name: html` <ox-i18n msgid=\"menu.board-list\"></ox-i18n> `,\n action: () => {\n navigate('board-list')\n }\n }\n })\n\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html` <mwc-icon>airplay</mwc-icon> `,\n name: html` <ox-i18n msgid=\"menu.play-groups\"></ox-i18n> `,\n action: () => {\n navigate('play-list')\n }\n }\n })\n }\n\n if (await hasPrivilege({ privilege: 'query', category: 'attachment', domainOwnerGranted: true })) {\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html` <mwc-icon>attachment</mwc-icon> `,\n name: html` <ox-i18n msgid=\"menu.attachments\"></ox-i18n> `,\n action: () => {\n navigate('attachment-list')\n }\n }\n })\n }\n\n if (\n await hasPrivilege({\n privilege: 'mutation',\n category: 'scenario',\n domainOwnerGranted: true,\n superUserGranted: true\n })\n ) {\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html` <mwc-icon>device_hub</mwc-icon> `,\n name: html` <ox-i18n msgid=\"text.connection\"></ox-i18n> `,\n action: () => {\n navigate('connection')\n }\n }\n })\n\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html` <mwc-icon>format_list_numbered</mwc-icon> `,\n name: html` <ox-i18n msgid=\"text.scenario\"></ox-i18n> `,\n action: () => {\n navigate('scenario')\n }\n }\n })\n\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html` <mwc-icon>hub</mwc-icon> `,\n name: html` <ox-i18n msgid=\"text.integration analysis\"></ox-i18n>&nbsp;(beta)`,\n action: () => {\n navigate('integration-analysis')\n }\n }\n })\n }\n\n if (await hasPrivilege({ privilege: 'mutation', category: 'state-register', domainOwnerGranted: true })) {\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html` <mwc-icon>app_registration</mwc-icon> `,\n name: html` <ox-i18n msgid=\"title.state-register\"></ox-i18n> `,\n action: () => {\n navigate('state-register-page')\n }\n }\n })\n }\n\n auth.on('profile', async ({ credential }) => {\n updateMenuTemplate(getMenuTemplate(credential.owner, await queryDataSets()))\n\n if (credential.owner) {\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html` <mwc-icon>pending_actions</mwc-icon> `,\n name: html` <i18n-msg msgid=\"title.work-shift\"></i18n-msg> `,\n action: () => {\n navigate('work-shift')\n }\n }\n })\n\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html` <mwc-icon>device_hub</mwc-icon> `,\n name: html` <ox-i18n msgid=\"text.installable-activities\"></ox-i18n> `,\n action: () => {\n navigate('installable-activity-list')\n }\n }\n })\n }\n\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html` <mwc-icon>extension</mwc-icon> `,\n name: html` <ox-i18n msgid=\"text.api-sandbox\"></ox-i18n> `,\n action: () => {\n navigate('api-swagger')\n }\n }\n })\n\n // store.dispatch({\n // type: ADD_MORENDA,\n // morenda: {\n // icon: html` <mwc-icon>help</mwc-icon> `,\n // name: html` <ox-i18n msgid=\"text.help\"></ox-i18n> `,\n // action: () => {\n // navigate('help')\n // }\n // }\n // })\n\n /* setting app-tools */\n store.dispatch({\n type: APPEND_APP_TOOL,\n tool: {\n name: 'notification-badge',\n template: html`\n <notification-badge\n @click=${e => {\n toggleOverlay('notification', {\n backdrop: true\n })\n }}\n >\n </notification-badge>\n `,\n position: TOOL_POSITION.REAR\n }\n })\n\n appendViewpart({\n name: 'notification',\n viewpart: {\n show: false,\n hovering: 'edge',\n template: html` <notification-list style=\"min-width: 300px;\"></notification-list> `\n },\n position: VIEWPART_POSITION.ASIDEBAR\n })\n\n store.dispatch({\n type: ADD_SETTING,\n setting: {\n seq: 20,\n template: html` <notification-setting-let></notification-setting-let> `\n }\n })\n\n store.dispatch({\n type: ADD_SETTING,\n setting: {\n seq: 21,\n template: html` <lite-menu-setting-let></lite-menu-setting-let> `\n }\n })\n })\n}\n"]}
File without changes
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../client/index.ts"],"names":[],"mappings":"","sourcesContent":[""]}
@@ -0,0 +1,68 @@
1
+ export declare function getMenuTemplate(owner: boolean | undefined, dataSets: any[]): (false | {
2
+ name: string;
3
+ type: string;
4
+ icon?: undefined;
5
+ path?: undefined;
6
+ badge?: undefined;
7
+ active?: undefined;
8
+ description?: undefined;
9
+ menus?: undefined;
10
+ } | {
11
+ name: string;
12
+ icon: string;
13
+ path: string;
14
+ badge: () => import("lit-html/directive").DirectiveResult<typeof import("lit-html/directives/async-replace").AsyncReplaceDirective>;
15
+ active: ({ path }: {
16
+ path: any;
17
+ }) => boolean;
18
+ type?: undefined;
19
+ description?: undefined;
20
+ menus?: undefined;
21
+ } | {
22
+ name: string;
23
+ icon: string;
24
+ path: string;
25
+ description: string;
26
+ menus: {
27
+ name: string;
28
+ icon: string;
29
+ path: string;
30
+ }[];
31
+ type?: undefined;
32
+ badge?: undefined;
33
+ active?: undefined;
34
+ } | {
35
+ name: string;
36
+ icon: string;
37
+ path: string;
38
+ type?: undefined;
39
+ badge?: undefined;
40
+ active?: undefined;
41
+ description?: undefined;
42
+ menus?: undefined;
43
+ } | {
44
+ name: string;
45
+ icon: string;
46
+ path: string;
47
+ menus: {
48
+ name: any;
49
+ icon: string;
50
+ path: string;
51
+ }[];
52
+ type?: undefined;
53
+ badge?: undefined;
54
+ active?: undefined;
55
+ description?: undefined;
56
+ } | {
57
+ name: string;
58
+ icon: string;
59
+ description: string;
60
+ menus: {
61
+ name: string;
62
+ path: string;
63
+ }[];
64
+ type?: undefined;
65
+ path?: undefined;
66
+ badge?: undefined;
67
+ active?: undefined;
68
+ })[];
@@ -0,0 +1,155 @@
1
+ import { asyncReplace } from 'lit/directives/async-replace.js';
2
+ import i18next from 'i18next';
3
+ import { generateActivitySummary, startSubscribeActivitySummary } from '@things-factory/worklist';
4
+ startSubscribeActivitySummary();
5
+ export function getMenuTemplate(owner = false, dataSets) {
6
+ return [
7
+ {
8
+ name: i18next.t('title.my workspace'),
9
+ type: 'group'
10
+ },
11
+ {
12
+ name: i18next.t('title.todo list'),
13
+ icon: 'format_list_bulleted',
14
+ path: 'todo-list',
15
+ badge: () => asyncReplace(generateActivitySummary('numberOfToDos')),
16
+ active: ({ path }) => /^activity\//.test(path)
17
+ },
18
+ {
19
+ name: i18next.t('title.approval pending list'),
20
+ icon: 'approval',
21
+ path: 'approval-pending-list',
22
+ badge: () => asyncReplace(generateActivitySummary('numberOfApprovalPendings')),
23
+ active: ({ path }) => /^approval\//.test(path)
24
+ },
25
+ // {
26
+ // name: i18next.t('title.draft list'),
27
+ // icon: 'drive_file_rename_outline',
28
+ // path: 'draft-list',
29
+ // badge: () => asyncReplace(generateActivitySummary('numberOfDrafts'))
30
+ // },
31
+ {
32
+ name: i18next.t('title.done list calendar'),
33
+ icon: 'calendar_month',
34
+ path: 'done-list-calendar',
35
+ description: '업무와 관련된 수행 또는 결재 이력을 캘린더에서 조회할 수 있습니다.',
36
+ menus: [
37
+ {
38
+ name: i18next.t('title.done list'),
39
+ icon: 'history',
40
+ path: 'done-list'
41
+ },
42
+ {
43
+ name: i18next.t('title.approval done list'),
44
+ icon: 'history',
45
+ path: 'approval-done-list'
46
+ }
47
+ ]
48
+ },
49
+ owner && {
50
+ name: 'DATASET',
51
+ type: 'group'
52
+ },
53
+ owner && {
54
+ name: i18next.t('title.data-set list'),
55
+ icon: 'display_settings',
56
+ path: 'data-set-list'
57
+ },
58
+ owner && {
59
+ name: i18next.t('title.data-key-set list'),
60
+ icon: 'display_settings',
61
+ path: 'data-key-set-list'
62
+ },
63
+ owner && {
64
+ name: i18next.t('title.data-sensor list'),
65
+ icon: 'sensors',
66
+ path: 'data-sensor-list'
67
+ },
68
+ {
69
+ name: 'DATA ENTRY',
70
+ type: 'group'
71
+ },
72
+ {
73
+ icon: 'post_add',
74
+ name: i18next.t('title.data-entry list'),
75
+ path: 'data-entry-list'
76
+ },
77
+ {
78
+ name: 'DATA REPORT',
79
+ type: 'group'
80
+ },
81
+ owner && {
82
+ name: i18next.t('title.data-sample list'),
83
+ icon: 'checklist',
84
+ path: 'data-sample-list',
85
+ menus: dataSets.map(item => {
86
+ return {
87
+ name: item.name,
88
+ icon: 'checklist',
89
+ path: `data-sample-search/${item.id}`
90
+ };
91
+ }) || []
92
+ },
93
+ owner && {
94
+ name: i18next.t('title.data-ooc list'),
95
+ icon: 'playlist_remove',
96
+ path: 'data-ooc-list'
97
+ },
98
+ owner && {
99
+ name: i18next.t('title.data-summary list'),
100
+ icon: 'functions',
101
+ path: 'data-summary-list',
102
+ menus: dataSets
103
+ .filter(item => item.active && item.summaryPeriod)
104
+ .map(item => {
105
+ return {
106
+ name: item.name,
107
+ icon: 'checklist',
108
+ path: `data-summary-period/${item.id}`
109
+ };
110
+ }) || []
111
+ },
112
+ {
113
+ icon: 'newspaper',
114
+ name: i18next.t('title.data-report-view'),
115
+ path: 'data-report-list'
116
+ },
117
+ owner && {
118
+ icon: 'archive',
119
+ name: i18next.t('title.data-archive list'),
120
+ path: 'data-archive-list'
121
+ },
122
+ owner && {
123
+ name: i18next.t('title.organization'),
124
+ type: 'group'
125
+ },
126
+ owner && {
127
+ name: i18next.t('title.organization'),
128
+ icon: 'account_tree',
129
+ description: '조직 구성과 결재선 관리를 위한 메뉴 구성입니다.',
130
+ menus: [
131
+ {
132
+ name: i18next.t('title.contact list'),
133
+ path: 'contact-list'
134
+ },
135
+ {
136
+ name: i18next.t('title.employee list'),
137
+ path: 'employee-list'
138
+ },
139
+ {
140
+ name: i18next.t('title.department list'),
141
+ path: 'department-list'
142
+ },
143
+ {
144
+ name: i18next.t('title.my-approval-line template list'),
145
+ path: 'my-approval-line-templates-page'
146
+ },
147
+ {
148
+ name: i18next.t('title.common-approval-line template list'),
149
+ path: 'common-approval-line-templates-page'
150
+ }
151
+ ]
152
+ }
153
+ ].filter(Boolean);
154
+ }
155
+ //# sourceMappingURL=menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu.js","sourceRoot":"","sources":["../client/menu.ts"],"names":[],"mappings":"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","sourcesContent":["import { asyncReplace } from 'lit/directives/async-replace.js'\nimport i18next from 'i18next'\nimport { generateActivitySummary, startSubscribeActivitySummary } from '@things-factory/worklist'\n\nstartSubscribeActivitySummary()\n\nexport function getMenuTemplate(owner: boolean = false, dataSets: any[]) {\n return [\n {\n name: i18next.t('title.my workspace'),\n type: 'group'\n },\n {\n name: i18next.t('title.todo list'),\n icon: 'format_list_bulleted',\n path: 'todo-list',\n badge: () => asyncReplace(generateActivitySummary('numberOfToDos')),\n active: ({ path }) => /^activity\\//.test(path)\n },\n {\n name: i18next.t('title.approval pending list'),\n icon: 'approval',\n path: 'approval-pending-list',\n badge: () => asyncReplace(generateActivitySummary('numberOfApprovalPendings')),\n active: ({ path }) => /^approval\\//.test(path)\n },\n // {\n // name: i18next.t('title.draft list'),\n // icon: 'drive_file_rename_outline',\n // path: 'draft-list',\n // badge: () => asyncReplace(generateActivitySummary('numberOfDrafts'))\n // },\n {\n name: i18next.t('title.done list calendar'),\n icon: 'calendar_month',\n path: 'done-list-calendar',\n description: '업무와 관련된 수행 또는 결재 이력을 캘린더에서 조회할 수 있습니다.',\n menus: [\n {\n name: i18next.t('title.done list'),\n icon: 'history',\n path: 'done-list'\n },\n {\n name: i18next.t('title.approval done list'),\n icon: 'history',\n path: 'approval-done-list'\n }\n ]\n },\n owner && {\n name: 'DATASET',\n type: 'group'\n },\n owner && {\n name: i18next.t('title.data-set list'),\n icon: 'display_settings',\n path: 'data-set-list'\n },\n owner && {\n name: i18next.t('title.data-key-set list'),\n icon: 'display_settings',\n path: 'data-key-set-list'\n },\n owner && {\n name: i18next.t('title.data-sensor list'),\n icon: 'sensors',\n path: 'data-sensor-list'\n },\n {\n name: 'DATA ENTRY',\n type: 'group'\n },\n {\n icon: 'post_add',\n name: i18next.t('title.data-entry list'),\n path: 'data-entry-list'\n },\n {\n name: 'DATA REPORT',\n type: 'group'\n },\n owner && {\n name: i18next.t('title.data-sample list'),\n icon: 'checklist',\n path: 'data-sample-list',\n menus:\n dataSets.map(item => {\n return {\n name: item.name,\n icon: 'checklist',\n path: `data-sample-search/${item.id}`\n }\n }) || []\n },\n owner && {\n name: i18next.t('title.data-ooc list'),\n icon: 'playlist_remove',\n path: 'data-ooc-list'\n },\n owner && {\n name: i18next.t('title.data-summary list'),\n icon: 'functions',\n path: 'data-summary-list',\n menus:\n dataSets\n .filter(item => item.active && item.summaryPeriod)\n .map(item => {\n return {\n name: item.name,\n icon: 'checklist',\n path: `data-summary-period/${item.id}`\n }\n }) || []\n },\n {\n icon: 'newspaper',\n name: i18next.t('title.data-report-view'),\n path: 'data-report-list'\n },\n owner && {\n icon: 'archive',\n name: i18next.t('title.data-archive list'),\n path: 'data-archive-list'\n },\n owner && {\n name: i18next.t('title.organization'),\n type: 'group'\n },\n owner && {\n name: i18next.t('title.organization'),\n icon: 'account_tree',\n description: '조직 구성과 결재선 관리를 위한 메뉴 구성입니다.',\n menus: [\n {\n name: i18next.t('title.contact list'),\n path: 'contact-list'\n },\n {\n name: i18next.t('title.employee list'),\n path: 'employee-list'\n },\n {\n name: i18next.t('title.department list'),\n path: 'department-list'\n },\n {\n name: i18next.t('title.my-approval-line template list'),\n path: 'my-approval-line-templates-page'\n },\n {\n name: i18next.t('title.common-approval-line template list'),\n path: 'common-approval-line-templates-page'\n }\n ]\n }\n ].filter(Boolean)\n}\n"]}
@@ -0,0 +1,12 @@
1
+ export declare function queryDataSets(): Promise<{
2
+ id: string;
3
+ name: string;
4
+ description: string;
5
+ active: boolean;
6
+ }[]>;
7
+ export declare function queryDataKeySets(): Promise<{
8
+ id: string;
9
+ name: string;
10
+ description: string;
11
+ active: boolean;
12
+ }[]>;
@@ -0,0 +1,62 @@
1
+ import gql from 'graphql-tag';
2
+ import { client } from '@operato/graphql';
3
+ export async function queryDataSets() {
4
+ const response = await client.query({
5
+ query: gql `
6
+ query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {
7
+ responses: dataSets(filters: $filters, pagination: $pagination, sortings: $sortings) {
8
+ items {
9
+ id
10
+ name
11
+ description
12
+ active
13
+ summaryPeriod
14
+ }
15
+ total
16
+ }
17
+ }
18
+ `,
19
+ variables: {
20
+ filters: [
21
+ {
22
+ name: 'active',
23
+ operator: 'eq',
24
+ value: true
25
+ }
26
+ ],
27
+ pagination: {},
28
+ sortings: []
29
+ }
30
+ });
31
+ return response.data.responses.items;
32
+ }
33
+ export async function queryDataKeySets() {
34
+ const response = await client.query({
35
+ query: gql `
36
+ query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {
37
+ responses: dataKeySets(filters: $filters, pagination: $pagination, sortings: $sortings) {
38
+ items {
39
+ id
40
+ name
41
+ description
42
+ active
43
+ }
44
+ total
45
+ }
46
+ }
47
+ `,
48
+ variables: {
49
+ filters: [
50
+ {
51
+ name: 'active',
52
+ operator: 'eq',
53
+ value: true
54
+ }
55
+ ],
56
+ pagination: {},
57
+ sortings: []
58
+ }
59
+ });
60
+ return response.data.responses.items;
61
+ }
62
+ //# sourceMappingURL=query-data-sets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-data-sets.js","sourceRoot":"","sources":["../client/query-data-sets.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,aAAa,CAAA;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAEzC,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;QAClC,KAAK,EAAE,GAAG,CAAA;;;;;;;;;;;;;KAaT;QACD,SAAS,EAAE;YACT,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,IAAI;iBACZ;aACF;YACD,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,EAAE;SACb;KACF,CAAC,CAAA;IAEF,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAA;AACtC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IAGpC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;QAClC,KAAK,EAAE,GAAG,CAAA;;;;;;;;;;;;KAYT;QACD,SAAS,EAAE;YACT,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,IAAI;iBACZ;aACF;YACD,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,EAAE;SACb;KACF,CAAC,CAAA;IAEF,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAA;AACtC,CAAC","sourcesContent":["import gql from 'graphql-tag'\nimport { client } from '@operato/graphql'\n\nexport async function queryDataSets(): Promise<{ id: string; name: string; description: string; active: boolean }[]> {\n const response = await client.query({\n query: gql`\n query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {\n responses: dataSets(filters: $filters, pagination: $pagination, sortings: $sortings) {\n items {\n id\n name\n description\n active\n summaryPeriod\n }\n total\n }\n }\n `,\n variables: {\n filters: [\n {\n name: 'active',\n operator: 'eq',\n value: true\n }\n ],\n pagination: {},\n sortings: []\n }\n })\n\n return response.data.responses.items\n}\n\nexport async function queryDataKeySets(): Promise<\n { id: string; name: string; description: string; active: boolean }[]\n> {\n const response = await client.query({\n query: gql`\n query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {\n responses: dataKeySets(filters: $filters, pagination: $pagination, sortings: $sortings) {\n items {\n id\n name\n description\n active\n }\n total\n }\n }\n `,\n variables: {\n filters: [\n {\n name: 'active',\n operator: 'eq',\n value: true\n }\n ],\n pagination: {},\n sortings: []\n }\n })\n\n return response.data.responses.items\n}\n"]}
@@ -0,0 +1 @@
1
+ export default function route(page: string): "/todo-list" | undefined;
@@ -0,0 +1,7 @@
1
+ export default function route(page) {
2
+ switch (page) {
3
+ case '':
4
+ return '/todo-list';
5
+ }
6
+ }
7
+ //# sourceMappingURL=route.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route.js","sourceRoot":"","sources":["../client/route.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,IAAY;IACxC,QAAQ,IAAI,EAAE;QACZ,KAAK,EAAE;YACL,OAAO,YAAY,CAAA;KACtB;AACH,CAAC","sourcesContent":["export default function route(page: string) {\n switch (page) {\n case '':\n return '/todo-list'\n }\n}\n"]}