@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.
@@ -5,23 +5,6 @@
5
5
  * @description 용어 처리 유틸리티
6
6
  */
7
7
  export class TermsUtil {
8
- /**
9
- * 용어 : 용어 키 - 용어 표현 값
10
- */
11
- static META_TERMS: null;
12
- /**
13
- * @description 서버에 현재 로케일에 맞는 용어를 모두 조회
14
- ***********************************************
15
- * @param {String} locale
16
- */
17
- static downloadTerminologies(locale: string): Promise<void>;
18
- /**
19
- * @description locale 정보로 용어 모두 조회
20
- *********************************************
21
- * @param {String} locale
22
- * @returns {Array} 용어 리스트
23
- */
24
- static fetchTerminologies(locale: string): any[];
25
8
  /**
26
9
  * @description 라벨 (필드) labelName을 다국어 변환하여 리턴
27
10
  ***********************************************
@@ -29,7 +12,7 @@ export class TermsUtil {
29
12
  * @param {Object} params
30
13
  * @returns 번역된 라벨 (필드) 명
31
14
  */
32
- static tLabel(labelName: string, params: any): string;
15
+ static tLabel(labelName: string, params: any): import("i18next").TFunctionDetailedResult<object>;
33
16
  /**
34
17
  * @description 필드 fieldName을 다국어 변환하여 리턴
35
18
  ***********************************************
@@ -37,14 +20,14 @@ export class TermsUtil {
37
20
  * @param {Object} params
38
21
  * @returns 번역된 필드 명
39
22
  */
40
- static tField(fieldName: string, params: any): string;
23
+ static tField(fieldName: string, params: any): import("i18next").TFunctionDetailedResult<object>;
41
24
  /**
42
25
  * @description 버튼 buttonName을 다국어 변환하여 리턴
43
26
  ***********************************************
44
27
  * @param {String} buttonName
45
28
  * @returns 번역된 버튼 명
46
29
  */
47
- static tButton(buttonName: string): string;
30
+ static tButton(buttonName: string): import("i18next").TFunctionDetailedResult<object>;
48
31
  /**
49
32
  * @description 타이틀 titleName을 다국어 변환하여 리턴
50
33
  ***********************************************
@@ -52,14 +35,14 @@ export class TermsUtil {
52
35
  * @param {Object} params
53
36
  * @returns 번역된 타이틀 명
54
37
  */
55
- static tTitle(titleName: string, params: any): string;
38
+ static tTitle(titleName: string, params: any): import("i18next").TFunctionDetailedResult<object>;
56
39
  /**
57
40
  * @description 메뉴 menuName을 다국어 변환하여 리턴
58
41
  ***********************************************
59
42
  * @param {String} menuName
60
43
  * @returns 번역된 메뉴 명
61
44
  */
62
- static tMenu(menuName: string): string;
45
+ static tMenu(menuName: string): import("i18next").TFunctionDetailedResult<object>;
63
46
  /**
64
47
  * @description 텍스트 textName을 다국어 변환하여 리턴
65
48
  ***********************************************
@@ -67,7 +50,7 @@ export class TermsUtil {
67
50
  * @param {Object} params
68
51
  * @returns 번역된 텍스트 값
69
52
  */
70
- static tText(textName: string, params: any): string;
53
+ static tText(textName: string, params: any): import("i18next").TFunctionDetailedResult<object>;
71
54
  /**
72
55
  * @description 에러 errorName을 다국어 변환하여 리턴
73
56
  ***********************************************
@@ -75,7 +58,7 @@ export class TermsUtil {
75
58
  * @param {Object} params
76
59
  * @returns 번역된 에러 메시지
77
60
  */
78
- static tError(errorName: string, params: any): string;
61
+ static tError(errorName: string, params: any): import("i18next").TFunctionDetailedResult<object>;
79
62
  /**
80
63
  * @description termKey로 다국어 변환하여 parameters로 파라미터 처리하여 리턴, 변환값이 없다면 defaultValue 리턴, defaultValue가 없다면 null 리턴
81
64
  ***********************************************
@@ -85,14 +68,5 @@ export class TermsUtil {
85
68
  * @param {String} defaultValue
86
69
  * @returns termKey 다국어 변환 값
87
70
  */
88
- static translate(termCategory: string, termName: string, parameters: any, defaultValue: string): string;
89
- /**
90
- * @description termKey로 다국어 변환하여 parameters로 파라미터 처리하여 리턴, 변환값이 없다면 defaultValue 리턴, defaultValue가 없다면 null 리턴
91
- ***********************************************
92
- * @param {String} termKey 용어 키 : {용어 카테고리}'.'{용어 이름}
93
- * @param {Object} parameters 용어 이름에 파라미터가 있는 경우 파라미터 치환 처리할 오브젝트 데이터 {key1 : value1, key2 : value2} 형식 ...
94
- * @param {String} defaultValue
95
- * @returns termKey 다국어 변환 값
96
- */
97
- static t(termKey: string, parameters: any, defaultValue: string): string;
71
+ static translate(termCategory: string, termName: string, parameters: any, defaultValue: string): import("i18next").TFunctionDetailedResult<object>;
98
72
  }
@@ -1,5 +1,3 @@
1
- import gql from 'graphql-tag';
2
- import { client } from '@operato/graphql';
3
1
  import { i18next } from '@operato/i18n';
4
2
  /**
5
3
  * @license
@@ -8,57 +6,6 @@ import { i18next } from '@operato/i18n';
8
6
  * @description 용어 처리 유틸리티
9
7
  */
10
8
  export class TermsUtil {
11
- /**
12
- * @description 서버에 현재 로케일에 맞는 용어를 모두 조회
13
- ***********************************************
14
- * @param {String} locale
15
- */
16
- static async downloadTerminologies(locale) {
17
- let res = await TermsUtil.fetchTerminologies(locale);
18
- let records = res.records;
19
- if (records && records.length > 0) {
20
- TermsUtil.META_TERMS = {};
21
- records.forEach(r => {
22
- let name = `${r.category}.${r.name}`;
23
- TermsUtil.META_TERMS[name] = r.display;
24
- });
25
- }
26
- }
27
- /**
28
- * @description locale 정보로 용어 모두 조회
29
- *********************************************
30
- * @param {String} locale
31
- * @returns {Array} 용어 리스트
32
- */
33
- static async fetchTerminologies(locale) {
34
- let filters = [{ name: 'locale', operator: 'eq', value: locale }];
35
- let sortings = [{ name: 'category' }, { name: 'name' }];
36
- let page = 0;
37
- let limit = 0;
38
- const response = await client.query({
39
- query: gql `
40
- query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {
41
- terminologies(filters: $filters, pagination: $pagination, sortings: $sortings) {
42
- items {
43
- name
44
- locale
45
- category
46
- display
47
- }
48
-
49
- total
50
- }
51
- }
52
- `,
53
- variables: { filters, sortings, pagination: { page, limit } }
54
- });
55
- if (!response.errors) {
56
- return {
57
- records: response.data.terminologies.items || [],
58
- total: response.data.terminologies.total || 0
59
- };
60
- }
61
- }
62
9
  /**
63
10
  * @description 라벨 (필드) labelName을 다국어 변환하여 리턴
64
11
  ***********************************************
@@ -141,37 +88,7 @@ export class TermsUtil {
141
88
  * @returns termKey 다국어 변환 값
142
89
  */
143
90
  static translate(termCategory, termName, parameters, defaultValue) {
144
- let termKey = termCategory + '.' + termName;
145
- return TermsUtil.t(termKey, parameters, defaultValue);
146
- }
147
- /**
148
- * @description termKey로 다국어 변환하여 parameters로 파라미터 처리하여 리턴, 변환값이 없다면 defaultValue 리턴, defaultValue가 없다면 null 리턴
149
- ***********************************************
150
- * @param {String} termKey 용어 키 : {용어 카테고리}'.'{용어 이름}
151
- * @param {Object} parameters 용어 이름에 파라미터가 있는 경우 파라미터 치환 처리할 오브젝트 데이터 {key1 : value1, key2 : value2} 형식 ...
152
- * @param {String} defaultValue
153
- * @returns termKey 다국어 변환 값
154
- */
155
- static t(termKey, parameters, defaultValue) {
156
- let translated = TermsUtil.META_TERMS ? TermsUtil.META_TERMS[termKey] : null;
157
- translated = translated ? translated : i18next.t(termKey);
158
- if (translated && termKey != translated) {
159
- if (parameters) {
160
- Object.keys(parameters).forEach(function (param) {
161
- var bracedData = '\\' + '{' + param.replace(/\$/, '\\$') + '\\' + '}';
162
- var regEx = new RegExp(bracedData, 'gi');
163
- translated = translated.replace(regEx, parameters[param]);
164
- });
165
- }
166
- return translated;
167
- }
168
- else {
169
- return defaultValue;
170
- }
91
+ return i18next.t(`${termCategory}.${termName}`, Object.assign(Object.assign({}, parameters), { defaultValue: defaultValue || termName }));
171
92
  }
172
93
  }
173
- /**
174
- * 용어 : 용어 키 - 용어 표현 값
175
- */
176
- TermsUtil.META_TERMS = null;
177
94
  //# sourceMappingURL=terms-util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"terms-util.js","sourceRoot":"","sources":["../../client/utils/terms-util.js"],"names":[],"mappings":"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","sourcesContent":["import gql from 'graphql-tag'\nimport { client } from '@operato/graphql'\n\nimport { i18next } from '@operato/i18n'\n\n/**\n * @license\n * Copyright © HatioLab Inc. All rights reserved.\n * @author Shortstop <shortstop@hatiolab.com>\n * @description 용어 처리 유틸리티\n */\nexport class TermsUtil {\n /**\n * 용어 : 용어 키 - 용어 표현 값\n */\n static META_TERMS = null\n\n /**\n * @description 서버에 현재 로케일에 맞는 용어를 모두 조회\n ***********************************************\n * @param {String} locale\n */\n static async downloadTerminologies(locale) {\n let res = await TermsUtil.fetchTerminologies(locale)\n let records = res.records\n\n if (records && records.length > 0) {\n TermsUtil.META_TERMS = {}\n records.forEach(r => {\n let name = `${r.category}.${r.name}`\n TermsUtil.META_TERMS[name] = r.display\n })\n }\n }\n\n /**\n * @description locale 정보로 용어 모두 조회\n *********************************************\n * @param {String} locale\n * @returns {Array} 용어 리스트\n */\n static async fetchTerminologies(locale) {\n let filters = [{ name: 'locale', operator: 'eq', value: locale }]\n let sortings = [{ name: 'category' }, { name: 'name' }]\n let page = 0\n let limit = 0\n\n const response = await client.query({\n query: gql`\n query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {\n terminologies(filters: $filters, pagination: $pagination, sortings: $sortings) {\n items {\n name\n locale\n category\n display\n }\n\n total\n }\n }\n `,\n variables: { filters, sortings, pagination: { page, limit } }\n })\n\n if (!response.errors) {\n return {\n records: response.data.terminologies.items || [],\n total: response.data.terminologies.total || 0\n }\n }\n }\n\n /**\n * @description 라벨 (필드) labelName을 다국어 변환하여 리턴\n ***********************************************\n * @param {String} labelName\n * @param {Object} params\n * @returns 번역된 라벨 (필드) 명\n */\n static tLabel(labelName, params) {\n let labelValue = TermsUtil.translate('label', labelName, params, null)\n return labelValue ? labelValue : TermsUtil.translate('field', labelName, params, labelName)\n }\n\n /**\n * @description 필드 fieldName을 다국어 변환하여 리턴\n ***********************************************\n * @param {String} fieldName\n * @param {Object} params\n * @returns 번역된 필드 명\n */\n static tField(fieldName, params) {\n let fieldValue = TermsUtil.translate('field', fieldName, params, null)\n return fieldValue ? fieldValue : TermsUtil.translate('field', fieldName, params, fieldName)\n }\n\n /**\n * @description 버튼 buttonName을 다국어 변환하여 리턴\n ***********************************************\n * @param {String} buttonName\n * @returns 번역된 버튼 명\n */\n static tButton(buttonName) {\n return TermsUtil.translate('button', buttonName, null, buttonName)\n }\n\n /**\n * @description 타이틀 titleName을 다국어 변환하여 리턴\n ***********************************************\n * @param {String} titleName\n * @param {Object} params\n * @returns 번역된 타이틀 명\n */\n static tTitle(titleName, params) {\n let titleValue = TermsUtil.translate('title', titleName, params, null)\n return titleValue ? titleValue : TermsUtil.translate('menu', titleName, params, titleName)\n }\n\n /**\n * @description 메뉴 menuName을 다국어 변환하여 리턴\n ***********************************************\n * @param {String} menuName\n * @returns 번역된 메뉴 명\n */\n static tMenu(menuName) {\n let menuValue = TermsUtil.translate('menu', menuName, null, null)\n return menuValue ? menuValue : TermsUtil.translate('title', menuName, null, menuName)\n }\n\n /**\n * @description 텍스트 textName을 다국어 변환하여 리턴\n ***********************************************\n * @param {String} textName\n * @param {Object} params\n * @returns 번역된 텍스트 값\n */\n static tText(textName, params) {\n return TermsUtil.translate('text', textName, params, textName)\n }\n\n /**\n * @description 에러 errorName을 다국어 변환하여 리턴\n ***********************************************\n * @param {String} errorName\n * @param {Object} params\n * @returns 번역된 에러 메시지\n */\n static tError(errorName, params) {\n return TermsUtil.translate('error', errorName, params, errorName)\n }\n\n /**\n * @description termKey로 다국어 변환하여 parameters로 파라미터 처리하여 리턴, 변환값이 없다면 defaultValue 리턴, defaultValue가 없다면 null 리턴\n ***********************************************\n * @param {String} termCategory 용어 카테고리 (label, field, title, menu, button, text, error, ...)\n * @param {String} termName 용어 이름\n * @param {Object} parameters 용어 이름에 파라미터가 있는 경우 파라미터 치환 처리할 오브젝트 데이터 {key1 : value1, key2 : value2} 형식 ...\n * @param {String} defaultValue\n * @returns termKey 다국어 변환 값\n */\n static translate(termCategory, termName, parameters, defaultValue) {\n let termKey = termCategory + '.' + termName\n return TermsUtil.t(termKey, parameters, defaultValue)\n }\n\n /**\n * @description termKey로 다국어 변환하여 parameters로 파라미터 처리하여 리턴, 변환값이 없다면 defaultValue 리턴, defaultValue가 없다면 null 리턴\n ***********************************************\n * @param {String} termKey 용어 키 : {용어 카테고리}'.'{용어 이름}\n * @param {Object} parameters 용어 이름에 파라미터가 있는 경우 파라미터 치환 처리할 오브젝트 데이터 {key1 : value1, key2 : value2} 형식 ...\n * @param {String} defaultValue\n * @returns termKey 다국어 변환 값\n */\n static t(termKey, parameters, defaultValue) {\n let translated = TermsUtil.META_TERMS ? TermsUtil.META_TERMS[termKey] : null\n translated = translated ? translated : i18next.t(termKey)\n\n if (translated && termKey != translated) {\n if (parameters) {\n Object.keys(parameters).forEach(function (param) {\n var bracedData = '\\\\' + '{' + param.replace(/\\$/, '\\\\$') + '\\\\' + '}'\n var regEx = new RegExp(bracedData, 'gi')\n translated = translated.replace(regEx, parameters[param])\n })\n }\n return translated\n } else {\n return defaultValue\n }\n }\n}\n"]}
1
+ {"version":3,"file":"terms-util.js","sourceRoot":"","sources":["../../client/utils/terms-util.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEvC;;;;;GAKG;AACH,MAAM,OAAO,SAAS;IACpB;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM;QAC7B,IAAI,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;QACtE,OAAO,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;IAC7F,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM;QAC7B,IAAI,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;QACtE,OAAO,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;IAC7F,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,OAAO,CAAC,UAAU;QACvB,OAAO,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,CAAA;IACpE,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM;QAC7B,IAAI,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;QACtE,OAAO,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;IAC5F,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,QAAQ;QACnB,IAAI,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QACjE,OAAO,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;IACvF,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM;QAC3B,OAAO,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IAChE,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM;QAC7B,OAAO,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;IACnE,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY;QAC/D,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,YAAY,IAAI,QAAQ,EAAE,kCACzC,UAAU,KACb,YAAY,EAAE,YAAY,IAAI,QAAQ,IACtC,CAAA;IACJ,CAAC;CACF","sourcesContent":["import { i18next } from '@operato/i18n'\n\n/**\n * @license\n * Copyright © HatioLab Inc. All rights reserved.\n * @author Shortstop <shortstop@hatiolab.com>\n * @description 용어 처리 유틸리티\n */\nexport class TermsUtil {\n /**\n * @description 라벨 (필드) labelName을 다국어 변환하여 리턴\n ***********************************************\n * @param {String} labelName\n * @param {Object} params\n * @returns 번역된 라벨 (필드) 명\n */\n static tLabel(labelName, params) {\n let labelValue = TermsUtil.translate('label', labelName, params, null)\n return labelValue ? labelValue : TermsUtil.translate('field', labelName, params, labelName)\n }\n\n /**\n * @description 필드 fieldName을 다국어 변환하여 리턴\n ***********************************************\n * @param {String} fieldName\n * @param {Object} params\n * @returns 번역된 필드 명\n */\n static tField(fieldName, params) {\n let fieldValue = TermsUtil.translate('field', fieldName, params, null)\n return fieldValue ? fieldValue : TermsUtil.translate('field', fieldName, params, fieldName)\n }\n\n /**\n * @description 버튼 buttonName을 다국어 변환하여 리턴\n ***********************************************\n * @param {String} buttonName\n * @returns 번역된 버튼 명\n */\n static tButton(buttonName) {\n return TermsUtil.translate('button', buttonName, null, buttonName)\n }\n\n /**\n * @description 타이틀 titleName을 다국어 변환하여 리턴\n ***********************************************\n * @param {String} titleName\n * @param {Object} params\n * @returns 번역된 타이틀 명\n */\n static tTitle(titleName, params) {\n let titleValue = TermsUtil.translate('title', titleName, params, null)\n return titleValue ? titleValue : TermsUtil.translate('menu', titleName, params, titleName)\n }\n\n /**\n * @description 메뉴 menuName을 다국어 변환하여 리턴\n ***********************************************\n * @param {String} menuName\n * @returns 번역된 메뉴 명\n */\n static tMenu(menuName) {\n let menuValue = TermsUtil.translate('menu', menuName, null, null)\n return menuValue ? menuValue : TermsUtil.translate('title', menuName, null, menuName)\n }\n\n /**\n * @description 텍스트 textName을 다국어 변환하여 리턴\n ***********************************************\n * @param {String} textName\n * @param {Object} params\n * @returns 번역된 텍스트 값\n */\n static tText(textName, params) {\n return TermsUtil.translate('text', textName, params, textName)\n }\n\n /**\n * @description 에러 errorName을 다국어 변환하여 리턴\n ***********************************************\n * @param {String} errorName\n * @param {Object} params\n * @returns 번역된 에러 메시지\n */\n static tError(errorName, params) {\n return TermsUtil.translate('error', errorName, params, errorName)\n }\n\n /**\n * @description termKey로 다국어 변환하여 parameters로 파라미터 처리하여 리턴, 변환값이 없다면 defaultValue 리턴, defaultValue가 없다면 null 리턴\n ***********************************************\n * @param {String} termCategory 용어 카테고리 (label, field, title, menu, button, text, error, ...)\n * @param {String} termName 용어 이름\n * @param {Object} parameters 용어 이름에 파라미터가 있는 경우 파라미터 치환 처리할 오브젝트 데이터 {key1 : value1, key2 : value2} 형식 ...\n * @param {String} defaultValue\n * @returns termKey 다국어 변환 값\n */\n static translate(termCategory, termName, parameters, defaultValue) {\n return i18next.t(`${termCategory}.${termName}`, {\n ...parameters,\n defaultValue: defaultValue || termName\n })\n }\n}\n"]}