@things-factory/meta-ui 7.0.1-alpha.12 → 7.0.1-alpha.13

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.
@@ -6,7 +6,6 @@ import { navigate, store } from '@operato/shell'
6
6
 
7
7
  import { updateMenuTemplate } from './actions/main'
8
8
  import metaUI from './reducers/main'
9
- import { TermsUtil } from './utils/terms-util'
10
9
  import { GristDefaultValue } from './utils/grist-default-value'
11
10
  import { MENUS } from './dynamic-menus'
12
11
 
@@ -41,7 +40,6 @@ import './pages/history/history-json-list-popup'
41
40
 
42
41
  import './pages/activity/meta-activity-writer-element'
43
42
  import './pages/activity/meta-activity-viewer-element'
44
- import { i18next } from '@operato/i18n'
45
43
 
46
44
  export default async function bootstrap(module) {
47
45
  // GRIST Renderer
@@ -69,16 +67,6 @@ export default async function bootstrap(module) {
69
67
  metaUI
70
68
  })
71
69
 
72
- // 1. 용어 다운로드
73
- i18next.on('initialized', function downloadTerminologies() {
74
- var locale = i18next.language
75
- if (locale == 'ko') {
76
- locale = 'ko-KR'
77
- }
78
- TermsUtil.downloadTerminologies(locale)
79
- i18next.off('initialized', downloadTerminologies)
80
- })
81
-
82
70
  auth.on('profile', async ({ credential, domains, domain }) => {
83
71
  // 2. 메뉴 정보를 서버로 부터 받아서 적용
84
72
  const menuRoutes = await MENUS
@@ -1,6 +1,3 @@
1
- import gql from 'graphql-tag'
2
- import { client } from '@operato/graphql'
3
-
4
1
  import { i18next } from '@operato/i18n'
5
2
 
6
3
  /**
@@ -10,67 +7,6 @@ import { i18next } from '@operato/i18n'
10
7
  * @description 용어 처리 유틸리티
11
8
  */
12
9
  export class TermsUtil {
13
- /**
14
- * 용어 : 용어 키 - 용어 표현 값
15
- */
16
- static META_TERMS = null
17
-
18
- /**
19
- * @description 서버에 현재 로케일에 맞는 용어를 모두 조회
20
- ***********************************************
21
- * @param {String} locale
22
- */
23
- static async downloadTerminologies(locale) {
24
- let res = await TermsUtil.fetchTerminologies(locale)
25
- let records = res.records
26
-
27
- if (records && records.length > 0) {
28
- TermsUtil.META_TERMS = {}
29
- records.forEach(r => {
30
- let name = `${r.category}.${r.name}`
31
- TermsUtil.META_TERMS[name] = r.display
32
- })
33
- }
34
- }
35
-
36
- /**
37
- * @description locale 정보로 용어 모두 조회
38
- *********************************************
39
- * @param {String} locale
40
- * @returns {Array} 용어 리스트
41
- */
42
- static async fetchTerminologies(locale) {
43
- let filters = [{ name: 'locale', operator: 'eq', value: locale }]
44
- let sortings = [{ name: 'category' }, { name: 'name' }]
45
- let page = 0
46
- let limit = 0
47
-
48
- const response = await client.query({
49
- query: gql`
50
- query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {
51
- terminologies(filters: $filters, pagination: $pagination, sortings: $sortings) {
52
- items {
53
- name
54
- locale
55
- category
56
- display
57
- }
58
-
59
- total
60
- }
61
- }
62
- `,
63
- variables: { filters, sortings, pagination: { page, limit } }
64
- })
65
-
66
- if (!response.errors) {
67
- return {
68
- records: response.data.terminologies.items || [],
69
- total: response.data.terminologies.total || 0
70
- }
71
- }
72
- }
73
-
74
10
  /**
75
11
  * @description 라벨 (필드) labelName을 다국어 변환하여 리턴
76
12
  ***********************************************
@@ -160,33 +96,9 @@ export class TermsUtil {
160
96
  * @returns termKey 다국어 변환 값
161
97
  */
162
98
  static translate(termCategory, termName, parameters, defaultValue) {
163
- let termKey = termCategory + '.' + termName
164
- return TermsUtil.t(termKey, parameters, defaultValue)
165
- }
166
-
167
- /**
168
- * @description termKey로 다국어 변환하여 parameters로 파라미터 처리하여 리턴, 변환값이 없다면 defaultValue 리턴, defaultValue가 없다면 null 리턴
169
- ***********************************************
170
- * @param {String} termKey 용어 키 : {용어 카테고리}'.'{용어 이름}
171
- * @param {Object} parameters 용어 이름에 파라미터가 있는 경우 파라미터 치환 처리할 오브젝트 데이터 {key1 : value1, key2 : value2} 형식 ...
172
- * @param {String} defaultValue
173
- * @returns termKey 다국어 변환 값
174
- */
175
- static t(termKey, parameters, defaultValue) {
176
- let translated = TermsUtil.META_TERMS ? TermsUtil.META_TERMS[termKey] : null
177
- translated = translated ? translated : i18next.t(termKey)
178
-
179
- if (translated && termKey != translated) {
180
- if (parameters) {
181
- Object.keys(parameters).forEach(function (param) {
182
- var bracedData = '\\' + '{' + param.replace(/\$/, '\\$') + '\\' + '}'
183
- var regEx = new RegExp(bracedData, 'gi')
184
- translated = translated.replace(regEx, parameters[param])
185
- })
186
- }
187
- return translated
188
- } else {
189
- return defaultValue
190
- }
99
+ return i18next.t(`${termCategory}.${termName}`, {
100
+ ...parameters,
101
+ defaultValue: defaultValue || termName
102
+ })
191
103
  }
192
104
  }
@@ -4,7 +4,6 @@ import { ADD_MORENDA } from '@things-factory/more-base';
4
4
  import { navigate, store } from '@operato/shell';
5
5
  import { updateMenuTemplate } from './actions/main';
6
6
  import metaUI from './reducers/main';
7
- import { TermsUtil } from './utils/terms-util';
8
7
  import { GristDefaultValue } from './utils/grist-default-value';
9
8
  import { MENUS } from './dynamic-menus';
10
9
  import { registerEditor as gristColumnRegisterEditor, registerRenderer as gristColumnRegisterRenderer, registerFilterRenderer as gristRegisterFilterRenderer } from '@operato/data-grist';
@@ -28,7 +27,6 @@ import './pages/history/history-copy-list-popup';
28
27
  import './pages/history/history-json-list-popup';
29
28
  import './pages/activity/meta-activity-writer-element';
30
29
  import './pages/activity/meta-activity-viewer-element';
31
- import { i18next } from '@operato/i18n';
32
30
  export default async function bootstrap(module) {
33
31
  // GRIST Renderer
34
32
  gristColumnRegisterRenderer('meta-code-selector', GristRendererMetaCodeSelector);
@@ -49,15 +47,6 @@ export default async function bootstrap(module) {
49
47
  store.addReducers({
50
48
  metaUI
51
49
  });
52
- // 1. 용어 다운로드
53
- i18next.on('initialized', function downloadTerminologies() {
54
- var locale = i18next.language;
55
- if (locale == 'ko') {
56
- locale = 'ko-KR';
57
- }
58
- TermsUtil.downloadTerminologies(locale);
59
- i18next.off('initialized', downloadTerminologies);
60
- });
61
50
  auth.on('profile', async ({ credential, domains, domain }) => {
62
51
  // 2. 메뉴 정보를 서버로 부터 받아서 적용
63
52
  const menuRoutes = await MENUS;
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../client/bootstrap.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit-html'\n\nimport { auth } from '@things-factory/auth-base/dist-client/auth.js'\nimport { ADD_MORENDA } from '@things-factory/more-base'\nimport { navigate, store } from '@operato/shell'\n\nimport { updateMenuTemplate } from './actions/main'\nimport metaUI from './reducers/main'\nimport { TermsUtil } from './utils/terms-util'\nimport { GristDefaultValue } from './utils/grist-default-value'\nimport { MENUS } from './dynamic-menus'\n\nimport {\n registerEditor as gristColumnRegisterEditor,\n registerRenderer as gristColumnRegisterRenderer,\n registerFilterRenderer as gristRegisterFilterRenderer\n} from '@operato/data-grist'\nimport { registerFilterRenderer as formRegisterFilterRenderer } from '@operato/form'\n\n/** GRIST Renderer Compoment */\nimport { GristRendererMetaCodeSelector } from './component/grist/renderer/grist-renderer-meta-code-selector'\nimport { GristRendererMetaObjectSelector } from './component/grist/renderer/grist-renderer-meta-object-selector'\nimport { GristRendererCodeInput } from './component/grist/renderer/grist-renderer-code-input'\n\n/** GRIST Editor Component */\nimport { GristEditorMetaCodeSelector } from './component/grist/editor/grist-editor-meta-code-selector'\nimport { GristEditorMetaObjectSelector } from './component/grist/editor/grist-editor-meta-object-selector'\nimport { GristEditorCodeInput } from './component/grist/editor/grist-editor-code-input'\n\n/** Grist Filter Compoment */\nimport { FilterGristMetaCodeSelect } from './component/filter/filter-grist-meta-code-select'\nimport { FilterGristMetaObjectSelect } from './component/filter/filter-grist-meta-object-select'\n\n/** Filter Form Component */\nimport { FilterFormMetaCodeSelect } from './component/filter/filter-form-meta-code-select'\nimport { FilterFormMetaObjectSelect } from './component/filter/filter-form-meta-object-select'\n\nimport './pages/personalize/personal-column-selector'\nimport './pages/history/history-copy-list-popup'\nimport './pages/history/history-json-list-popup'\n\nimport './pages/activity/meta-activity-writer-element'\nimport './pages/activity/meta-activity-viewer-element'\nimport { i18next } from '@operato/i18n'\n\nexport default async function bootstrap(module) {\n // GRIST Renderer\n gristColumnRegisterRenderer('meta-code-selector', GristRendererMetaCodeSelector)\n gristColumnRegisterRenderer('meta-object-selector', GristRendererMetaObjectSelector)\n gristColumnRegisterRenderer('code-input', GristRendererCodeInput)\n\n // GRIST Editor\n gristColumnRegisterEditor('meta-code-selector', GristEditorMetaCodeSelector)\n gristColumnRegisterEditor('meta-object-selector', GristEditorMetaObjectSelector)\n gristColumnRegisterEditor('code-input', GristEditorCodeInput)\n\n // Grist Filter Renderer\n gristRegisterFilterRenderer('meta-code-selector', [FilterGristMetaCodeSelect])\n gristRegisterFilterRenderer('meta-object-selector', [FilterGristMetaObjectSelect])\n\n // Filter Form Renderer\n formRegisterFilterRenderer('meta-code-selector', [FilterFormMetaCodeSelect])\n formRegisterFilterRenderer('meta-object-selector', [FilterFormMetaObjectSelect])\n\n // Grist Default Registry\n GristDefaultValue.registry()\n\n store.addReducers({\n metaUI\n })\n\n // 1. 용어 다운로드\n i18next.on('initialized', function downloadTerminologies() {\n var locale = i18next.language\n if (locale == 'ko') {\n locale = 'ko-KR'\n }\n TermsUtil.downloadTerminologies(locale)\n i18next.off('initialized', downloadTerminologies)\n })\n\n auth.on('profile', async ({ credential, domains, domain }) => {\n // 2. 메뉴 정보를 서버로 부터 받아서 적용\n const menuRoutes = await MENUS\n updateMenuTemplate(menuRoutes.menus)\n\n // 3. 동적 메뉴 관리 화면 추가\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html`<mwc-icon>auto_fix_high</mwc-icon>`,\n name: html`<ox-i18n msgid=\"title.dynamic_menu\"></ox-i18n>`,\n action: () => {\n navigate('dynamic-menu')\n }\n }\n })\n\n // 4. 엔티티 관리 화면 추가\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html`<mwc-icon>filter_tilt_shift</mwc-icon>`,\n name: html`<ox-i18n msgid=\"title.entity\"></ox-i18n>`,\n action: () => {\n navigate('config-entity')\n }\n }\n })\n\n // 5. 용어 관리 화면 추가\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html`<mwc-icon>speaker_notes</mwc-icon>`,\n name: html`<ox-i18n msgid=\"title.terminology\"></ox-i18n>`,\n action: () => {\n navigate('config-terminology')\n }\n }\n })\n\n // 6. 공통 코드 화면 추가\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html`<mwc-icon>code</mwc-icon>`,\n name: html`<ox-i18n msgid=\"title.code_management\"></ox-i18n>`,\n action: () => {\n navigate('codes')\n }\n }\n })\n\n // 7. 업무정의 리스트 추가\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html`<mwc-icon>business_center</mwc-icon>`,\n name: html`<ox-i18n msgid=\"title.meta_activity_list\"></ox-i18n>`,\n action: () => {\n navigate('meta-activity-list')\n }\n }\n })\n\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html`<mwc-icon>margin</mwc-icon>`,\n name: html`<ox-i18n msgid=\"title.meta_activity_define\"></ox-i18n>`,\n action: () => {\n navigate('meta-activity-define')\n }\n }\n })\n\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html`<mwc-icon>work</mwc-icon>`,\n name: html`<ox-i18n msgid=\"title.activity_list\"></ox-i18n>`,\n action: () => {\n navigate('activity-list')\n }\n }\n })\n\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html` <mwc-icon>dataset</mwc-icon> `,\n name: html` <ox-i18n msgid=\"text.attribute management\"></ox-i18n> `,\n action: () => {\n navigate('attributes')\n }\n }\n })\n })\n}\n"]}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../client/bootstrap.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit-html'\n\nimport { auth } from '@things-factory/auth-base/dist-client/auth.js'\nimport { ADD_MORENDA } from '@things-factory/more-base'\nimport { navigate, store } from '@operato/shell'\n\nimport { updateMenuTemplate } from './actions/main'\nimport metaUI from './reducers/main'\nimport { GristDefaultValue } from './utils/grist-default-value'\nimport { MENUS } from './dynamic-menus'\n\nimport {\n registerEditor as gristColumnRegisterEditor,\n registerRenderer as gristColumnRegisterRenderer,\n registerFilterRenderer as gristRegisterFilterRenderer\n} from '@operato/data-grist'\nimport { registerFilterRenderer as formRegisterFilterRenderer } from '@operato/form'\n\n/** GRIST Renderer Compoment */\nimport { GristRendererMetaCodeSelector } from './component/grist/renderer/grist-renderer-meta-code-selector'\nimport { GristRendererMetaObjectSelector } from './component/grist/renderer/grist-renderer-meta-object-selector'\nimport { GristRendererCodeInput } from './component/grist/renderer/grist-renderer-code-input'\n\n/** GRIST Editor Component */\nimport { GristEditorMetaCodeSelector } from './component/grist/editor/grist-editor-meta-code-selector'\nimport { GristEditorMetaObjectSelector } from './component/grist/editor/grist-editor-meta-object-selector'\nimport { GristEditorCodeInput } from './component/grist/editor/grist-editor-code-input'\n\n/** Grist Filter Compoment */\nimport { FilterGristMetaCodeSelect } from './component/filter/filter-grist-meta-code-select'\nimport { FilterGristMetaObjectSelect } from './component/filter/filter-grist-meta-object-select'\n\n/** Filter Form Component */\nimport { FilterFormMetaCodeSelect } from './component/filter/filter-form-meta-code-select'\nimport { FilterFormMetaObjectSelect } from './component/filter/filter-form-meta-object-select'\n\nimport './pages/personalize/personal-column-selector'\nimport './pages/history/history-copy-list-popup'\nimport './pages/history/history-json-list-popup'\n\nimport './pages/activity/meta-activity-writer-element'\nimport './pages/activity/meta-activity-viewer-element'\n\nexport default async function bootstrap(module) {\n // GRIST Renderer\n gristColumnRegisterRenderer('meta-code-selector', GristRendererMetaCodeSelector)\n gristColumnRegisterRenderer('meta-object-selector', GristRendererMetaObjectSelector)\n gristColumnRegisterRenderer('code-input', GristRendererCodeInput)\n\n // GRIST Editor\n gristColumnRegisterEditor('meta-code-selector', GristEditorMetaCodeSelector)\n gristColumnRegisterEditor('meta-object-selector', GristEditorMetaObjectSelector)\n gristColumnRegisterEditor('code-input', GristEditorCodeInput)\n\n // Grist Filter Renderer\n gristRegisterFilterRenderer('meta-code-selector', [FilterGristMetaCodeSelect])\n gristRegisterFilterRenderer('meta-object-selector', [FilterGristMetaObjectSelect])\n\n // Filter Form Renderer\n formRegisterFilterRenderer('meta-code-selector', [FilterFormMetaCodeSelect])\n formRegisterFilterRenderer('meta-object-selector', [FilterFormMetaObjectSelect])\n\n // Grist Default Registry\n GristDefaultValue.registry()\n\n store.addReducers({\n metaUI\n })\n\n auth.on('profile', async ({ credential, domains, domain }) => {\n // 2. 메뉴 정보를 서버로 부터 받아서 적용\n const menuRoutes = await MENUS\n updateMenuTemplate(menuRoutes.menus)\n\n // 3. 동적 메뉴 관리 화면 추가\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html`<mwc-icon>auto_fix_high</mwc-icon>`,\n name: html`<ox-i18n msgid=\"title.dynamic_menu\"></ox-i18n>`,\n action: () => {\n navigate('dynamic-menu')\n }\n }\n })\n\n // 4. 엔티티 관리 화면 추가\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html`<mwc-icon>filter_tilt_shift</mwc-icon>`,\n name: html`<ox-i18n msgid=\"title.entity\"></ox-i18n>`,\n action: () => {\n navigate('config-entity')\n }\n }\n })\n\n // 5. 용어 관리 화면 추가\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html`<mwc-icon>speaker_notes</mwc-icon>`,\n name: html`<ox-i18n msgid=\"title.terminology\"></ox-i18n>`,\n action: () => {\n navigate('config-terminology')\n }\n }\n })\n\n // 6. 공통 코드 화면 추가\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html`<mwc-icon>code</mwc-icon>`,\n name: html`<ox-i18n msgid=\"title.code_management\"></ox-i18n>`,\n action: () => {\n navigate('codes')\n }\n }\n })\n\n // 7. 업무정의 리스트 추가\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html`<mwc-icon>business_center</mwc-icon>`,\n name: html`<ox-i18n msgid=\"title.meta_activity_list\"></ox-i18n>`,\n action: () => {\n navigate('meta-activity-list')\n }\n }\n })\n\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html`<mwc-icon>margin</mwc-icon>`,\n name: html`<ox-i18n msgid=\"title.meta_activity_define\"></ox-i18n>`,\n action: () => {\n navigate('meta-activity-define')\n }\n }\n })\n\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html`<mwc-icon>work</mwc-icon>`,\n name: html`<ox-i18n msgid=\"title.activity_list\"></ox-i18n>`,\n action: () => {\n navigate('activity-list')\n }\n }\n })\n\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html` <mwc-icon>dataset</mwc-icon> `,\n name: html` <ox-i18n msgid=\"text.attribute management\"></ox-i18n> `,\n action: () => {\n navigate('attributes')\n }\n }\n })\n })\n}\n"]}