@things-factory/meta-ui 7.0.1-alpha.33 → 7.0.1-alpha.34

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.
Files changed (50) hide show
  1. package/client/bootstrap.ts +1 -1
  2. package/client/component/filter/filter-form-meta-code-select.ts +99 -0
  3. package/client/component/filter/filter-form-meta-object-select.ts +104 -0
  4. package/client/component/filter/filter-grist-meta-code-select.ts +97 -0
  5. package/client/component/filter/filter-grist-meta-object-select.ts +102 -0
  6. package/client/component/popup/{meta-object-selector-popup.js → meta-object-selector-popup.ts} +72 -45
  7. package/client/component/popup/{record-based-code-editor-popup.js → record-based-code-editor-popup.ts} +19 -18
  8. package/client/utils/meta-api.js +13 -1
  9. package/client/utils/meta-ui-util.js +1 -1
  10. package/client/utils/service-util.js +39 -3
  11. package/client/utils/{terms-util.js → terms-util.ts} +13 -13
  12. package/dist-client/bootstrap.js +1 -1
  13. package/dist-client/bootstrap.js.map +1 -1
  14. package/dist-client/component/filter/filter-form-meta-code-select.d.ts +4 -1
  15. package/dist-client/component/filter/filter-form-meta-code-select.js +22 -19
  16. package/dist-client/component/filter/filter-form-meta-code-select.js.map +1 -1
  17. package/dist-client/component/filter/filter-form-meta-object-select.d.ts +4 -1
  18. package/dist-client/component/filter/filter-form-meta-object-select.js +28 -20
  19. package/dist-client/component/filter/filter-form-meta-object-select.js.map +1 -1
  20. package/dist-client/component/filter/filter-grist-meta-code-select.d.ts +3 -1
  21. package/dist-client/component/filter/filter-grist-meta-code-select.js +20 -19
  22. package/dist-client/component/filter/filter-grist-meta-code-select.js.map +1 -1
  23. package/dist-client/component/filter/filter-grist-meta-object-select.d.ts +3 -1
  24. package/dist-client/component/filter/filter-grist-meta-object-select.js +26 -20
  25. package/dist-client/component/filter/filter-grist-meta-object-select.js.map +1 -1
  26. package/dist-client/component/popup/meta-object-selector-popup.d.ts +27 -22
  27. package/dist-client/component/popup/meta-object-selector-popup.js +75 -46
  28. package/dist-client/component/popup/meta-object-selector-popup.js.map +1 -1
  29. package/dist-client/component/popup/record-based-code-editor-popup.d.ts +10 -11
  30. package/dist-client/component/popup/record-based-code-editor-popup.js +59 -17
  31. package/dist-client/component/popup/record-based-code-editor-popup.js.map +1 -1
  32. package/dist-client/pages/history/history-copy-list-popup.d.ts +1 -1
  33. package/dist-client/pages/history/history-json-list-popup.d.ts +1 -1
  34. package/dist-client/tsconfig.tsbuildinfo +1 -1
  35. package/dist-client/utils/meta-api.d.ts +11 -2
  36. package/dist-client/utils/meta-api.js +12 -1
  37. package/dist-client/utils/meta-api.js.map +1 -1
  38. package/dist-client/utils/meta-ui-util.js +1 -1
  39. package/dist-client/utils/meta-ui-util.js.map +1 -1
  40. package/dist-client/utils/service-util.d.ts +11 -1
  41. package/dist-client/utils/service-util.js +37 -3
  42. package/dist-client/utils/service-util.js.map +1 -1
  43. package/dist-client/utils/terms-util.d.ts +7 -7
  44. package/dist-client/utils/terms-util.js +4 -4
  45. package/dist-client/utils/terms-util.js.map +1 -1
  46. package/package.json +9 -8
  47. package/client/component/filter/filter-form-meta-code-select.js +0 -94
  48. package/client/component/filter/filter-form-meta-object-select.js +0 -94
  49. package/client/component/filter/filter-grist-meta-code-select.js +0 -95
  50. package/client/component/filter/filter-grist-meta-object-select.js +0 -95
@@ -1,16 +1,21 @@
1
1
  import '@material/web/icon/icon.js'
2
+ import '@operato/input/ox-input-code.js'
2
3
 
3
- import { css, html, LitElement } from 'lit'
4
+ import { css, html, LitElement, PropertyValues } from 'lit'
5
+ import { customElement, query, state } from 'lit/decorators.js'
6
+ import { OxInputCode } from '@operato/input'
7
+ import { closePopup } from '@operato/popup'
4
8
  import { CommonGristStyles, ButtonContainerStyles } from '@operato/styles'
9
+
5
10
  import { TermsUtil } from '../../utils/terms-util'
6
11
  import { MetaApi } from '../../utils/meta-api'
7
12
  import { ServiceUtil } from '../../utils/service-util'
8
- import '@operato/input/ox-input-code.js'
9
- import { closePopup } from '@operato/popup'
10
13
 
11
14
  /**
12
15
  * 레코드 기반 코드 편집기 팝업
13
16
  */
17
+
18
+ @customElement('record-based-code-editor-popup')
14
19
  export class RecordBasedCodeEditorPopup extends LitElement {
15
20
  static styles = [
16
21
  CommonGristStyles,
@@ -34,6 +39,13 @@ export class RecordBasedCodeEditorPopup extends LitElement {
34
39
  `
35
40
  ]
36
41
 
42
+ @state() private config?: any
43
+ @state() private record?: any
44
+ @state() private value?: any
45
+ @state() private codeValue?: any
46
+
47
+ @query('ox-input-code') private codeEditor!: OxInputCode
48
+
37
49
  /**
38
50
  * 그리드 버튼 (grid-custom) 선택시 코드 편집기 팝업을 띄우는 버튼 로직
39
51
  {
@@ -61,7 +73,7 @@ export class RecordBasedCodeEditorPopup extends LitElement {
61
73
  this.value = this.record[this.config.value_field] ? this.record[this.config.value_field] : ''
62
74
 
63
75
  if (typeof this.value === 'object') {
64
- this.codeValue = JSON.stringify(this.value, 0, 2)
76
+ this.codeValue = JSON.stringify(this.value, null, 2)
65
77
  } else {
66
78
  this.codeValue = this.value
67
79
  }
@@ -69,8 +81,8 @@ export class RecordBasedCodeEditorPopup extends LitElement {
69
81
  await super.connectedCallback()
70
82
  }
71
83
 
72
- async firstUpdated() {
73
- await super.firstUpdated()
84
+ async firstUpdated(changes: PropertyValues<this>) {
85
+ await super.firstUpdated(changes)
74
86
  }
75
87
 
76
88
  render() {
@@ -95,15 +107,6 @@ export class RecordBasedCodeEditorPopup extends LitElement {
95
107
  }
96
108
  }
97
109
 
98
- /**
99
- * @description 코드편집기 엘리먼트
100
- ***************************
101
- * @returns
102
- */
103
- get codeEditor() {
104
- return this.shadowRoot.querySelector('ox-input-code')
105
- }
106
-
107
110
  /**
108
111
  * @description 저장
109
112
  ***************************
@@ -111,7 +114,7 @@ export class RecordBasedCodeEditorPopup extends LitElement {
111
114
  */
112
115
  async clickSave(e) {
113
116
  if (this.codeValue === this.codeEditor.value) {
114
- MetaApi.showToast('info', TermsUtil.tText('NOTHING_CHANGED'))
117
+ MetaApi.showToast('info', String(TermsUtil.tText('NOTHING_CHANGED')))
115
118
  } else {
116
119
  let saveAction = this.config.save_action
117
120
  let saveFuncName = saveAction.func_name
@@ -133,5 +136,3 @@ export class RecordBasedCodeEditorPopup extends LitElement {
133
136
  closePopup(this)
134
137
  }
135
138
  }
136
-
137
- customElements.define('record-based-code-editor-popup', RecordBasedCodeEditorPopup)
@@ -252,6 +252,18 @@ export class MetaApi {
252
252
  return await ServiceUtil.exportableData(isElement, exportTitle, grist)
253
253
  }
254
254
 
255
+ /**
256
+ * @description 서버 사이드를 통해 그리드 데이터 내보내기
257
+ ************************************************
258
+ * @param {String} exportFileName 내보내기 파일명
259
+ * @param {String} exportQueryName 서버 사이드 GraphQL 쿼리명
260
+ * @param {Grist} grist 그리드 오브젝트
261
+ * @returns {Object} { header: headerSetting, data: data } or Not
262
+ */
263
+ static async exportableDataByServer(exportFileName, exportQueryName, grist) {
264
+ return await ServiceUtil.exportableDataByServer(exportFileName, exportQueryName, grist)
265
+ }
266
+
255
267
  /**
256
268
  * @description 데이터 리스트 페이지네이션 조회
257
269
  ******************************************
@@ -261,7 +273,7 @@ export class MetaApi {
261
273
  * @param {Number} page 현재 페이지
262
274
  * @param {Number} limit 페이지 당 표시할 레코드 건수
263
275
  * @param {String} selectFields 조회할 필드 리스트
264
- * @returns {Array} 조회 결과 { records : [{,...}], total : 100 }
276
+ * @returns {FetchResult} 조회 결과 { records : [{,...}], total : 100 }
265
277
  */
266
278
  static async searchByPagination(queryFunc, filters, sortings, page, limit, selectFields) {
267
279
  return await ServiceUtil.searchByPagination(queryFunc, filters, sortings, page, limit, selectFields)
@@ -1574,7 +1574,7 @@ export class MetaUiUtil {
1574
1574
  */
1575
1575
  static async commonButtonCallService(pageView, action, filterParam, records) {
1576
1576
  // Graphql 서비스 호출
1577
- let response = await ServiceUtil.callService(action, filterParam, records)
1577
+ let response = await ServiceUtil.callService(pageView, action, filterParam, records)
1578
1578
 
1579
1579
  // 후 처리 액션 처리
1580
1580
  if (!response.errors && action.after && ValueUtil.isNotEmpty(action.after)) {
@@ -497,6 +497,40 @@ export class ServiceUtil {
497
497
  }
498
498
  }
499
499
 
500
+ /**
501
+ * @description 서버 사이드를 거쳐 그리드 데이터 내보내기
502
+ ************************************************
503
+ * @param {String} exportFileName 그리드 내보내기 용 타이틀 (파일명)
504
+ * @param {String} exportQueryName 서버 사이드 GraphQL 쿼리명
505
+ * @param {Grist} grist 그리드 오브젝트
506
+ * @returns {Object} { header: headerSetting, data: data } or Not
507
+ */
508
+ static async exportableDataByServer(exportFileName, exportQueryName, grist) {
509
+ // 1. 내보내기 graphQL 요청
510
+ const response = await client.query({
511
+ query: gql`
512
+ query Query($filters: [Filter!]!) {
513
+ responses: ${exportQueryName}(filters: $filters)
514
+ }
515
+ `,
516
+ variables: {
517
+ filters: grist.filters
518
+ }
519
+ })
520
+
521
+ // 2. 응답 처리
522
+ const data = response.data.responses
523
+ const bufferData = Buffer.from(data, 'base64')
524
+ const blob = new Blob([bufferData], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' })
525
+
526
+ const a = document.createElement('a')
527
+ a.href = window.URL.createObjectURL(blob)
528
+ a.download = `${exportFileName}.xlsx`
529
+ document.body.appendChild(a)
530
+ a.click()
531
+ a.remove()
532
+ }
533
+
500
534
  /**
501
535
  * @description 데이터 리스트 페이지네이션 조회
502
536
  ****************************************
@@ -865,14 +899,17 @@ export class ServiceUtil {
865
899
  /**
866
900
  * @description Graphql 서비스 호출
867
901
  ***********************************
902
+ * @param {Object} pageView 호출 페이지 뷰
868
903
  * @param {Object} action 서비스 설정 정보
869
904
  * @param {Object} filterParam 필터용 파라미터
870
905
  * @param {Object} dataParams 파라미터
871
906
  * @returns {Object} 서비스 호출 결과
872
907
  */
873
- static async callService(action, filterParam, dataParams) {
908
+ static async callService(pageView, action, filterParam, dataParams) {
874
909
  if (action.graphql_type == 'query') {
875
910
  return await ServiceUtil.callQueryService(action, filterParam, dataParams)
911
+ } else if(action.graphql_type == 'export') {
912
+ return await ServiceUtil.exportableDataByServer(action.export_file_name, action.query_name, pageView.grist)
876
913
  } else {
877
914
  return await ServiceUtil.callMutationService(action, filterParam, dataParams)
878
915
  }
@@ -977,9 +1014,8 @@ export class ServiceUtil {
977
1014
  throw new Error('mutation type not found!')
978
1015
  }
979
1016
 
980
- // 1. GraphQL 설정 추출
1017
+ // 2. GraphQL 설정 추출
981
1018
  let data = action.data
982
- // 2. 서비스 호출 파라미터
983
1019
  let mutationParams = Array.isArray(dataParams) ? [] : {}
984
1020
 
985
1021
  if (data) {
@@ -14,8 +14,8 @@ export class TermsUtil {
14
14
  * @param {Object} params
15
15
  * @returns 번역된 라벨 (필드) 명
16
16
  */
17
- static tLabel(labelName, params) {
18
- let labelValue = TermsUtil.translate('label', labelName, params, null)
17
+ static tLabel(labelName: string, params?: any) {
18
+ let labelValue = TermsUtil.translate('label', labelName, params)
19
19
  return labelValue ? labelValue : TermsUtil.translate('field', labelName, params, labelName)
20
20
  }
21
21
 
@@ -26,8 +26,8 @@ export class TermsUtil {
26
26
  * @param {Object} params
27
27
  * @returns 번역된 필드 명
28
28
  */
29
- static tField(fieldName, params) {
30
- let fieldValue = TermsUtil.translate('field', fieldName, params, null)
29
+ static tField(fieldName: string, params?: any) {
30
+ let fieldValue = TermsUtil.translate('field', fieldName, params)
31
31
  return fieldValue ? fieldValue : TermsUtil.translate('field', fieldName, params, fieldName)
32
32
  }
33
33
 
@@ -37,7 +37,7 @@ export class TermsUtil {
37
37
  * @param {String} buttonName
38
38
  * @returns 번역된 버튼 명
39
39
  */
40
- static tButton(buttonName) {
40
+ static tButton(buttonName: string) {
41
41
  return TermsUtil.translate('button', buttonName, null, buttonName)
42
42
  }
43
43
 
@@ -48,8 +48,8 @@ export class TermsUtil {
48
48
  * @param {Object} params
49
49
  * @returns 번역된 타이틀 명
50
50
  */
51
- static tTitle(titleName, params) {
52
- let titleValue = TermsUtil.translate('title', titleName, params, null)
51
+ static tTitle(titleName: string, params?: any) {
52
+ let titleValue = TermsUtil.translate('title', titleName, params)
53
53
  return titleValue ? titleValue : TermsUtil.translate('menu', titleName, params, titleName)
54
54
  }
55
55
 
@@ -59,8 +59,8 @@ export class TermsUtil {
59
59
  * @param {String} menuName
60
60
  * @returns 번역된 메뉴 명
61
61
  */
62
- static tMenu(menuName) {
63
- let menuValue = TermsUtil.translate('menu', menuName, null, null)
62
+ static tMenu(menuName: string) {
63
+ let menuValue = TermsUtil.translate('menu', menuName, null)
64
64
  return menuValue ? menuValue : TermsUtil.translate('title', menuName, null, menuName)
65
65
  }
66
66
 
@@ -71,7 +71,7 @@ export class TermsUtil {
71
71
  * @param {Object} params
72
72
  * @returns 번역된 텍스트 값
73
73
  */
74
- static tText(textName, params) {
74
+ static tText(textName: string, params?: any) {
75
75
  return TermsUtil.translate('text', textName, params, textName)
76
76
  }
77
77
 
@@ -82,7 +82,7 @@ export class TermsUtil {
82
82
  * @param {Object} params
83
83
  * @returns 번역된 에러 메시지
84
84
  */
85
- static tError(errorName, params) {
85
+ static tError(errorName: string, params?: any) {
86
86
  return TermsUtil.translate('error', errorName, params, errorName)
87
87
  }
88
88
 
@@ -95,7 +95,7 @@ export class TermsUtil {
95
95
  * @param {String} defaultValue
96
96
  * @returns termKey 다국어 변환 값
97
97
  */
98
- static translate(termCategory, termName, parameters, defaultValue) {
98
+ static translate(termCategory: string, termName: string, parameters?: any, defaultValue?: string) {
99
99
  return i18next.t(`${termCategory}.${termName}`, {
100
100
  ...parameters,
101
101
  defaultValue: defaultValue || termName
@@ -110,7 +110,7 @@ export class TermsUtil {
110
110
  * @param {String} defaultValue
111
111
  * @returns termKey 다국어 변환 값
112
112
  */
113
- static t(termKey, parameters, defaultValue) {
113
+ static t(termKey: string, parameters: any, defaultValue: string) {
114
114
  return i18next.t(termKey, {
115
115
  ...parameters,
116
116
  defaultValue: defaultValue || termKey
@@ -4,7 +4,7 @@ import { navigate, store } from '@operato/shell';
4
4
  import { i18next } from '@operato/i18n';
5
5
  import { registerEditor as gristColumnRegisterEditor, registerRenderer as gristColumnRegisterRenderer, registerFilterRenderer as gristRegisterFilterRenderer } from '@operato/data-grist';
6
6
  import { registerFilterRenderer as formRegisterFilterRenderer } from '@operato/form';
7
- import { auth } from '@things-factory/auth-base/dist-client/auth.js';
7
+ import { auth } from '@things-factory/auth-base/dist-client';
8
8
  import { ADD_MORENDA } from '@things-factory/more-base/client';
9
9
  import { updateMenuTemplate } from './actions/main';
10
10
  import metaUI from './reducers/main';
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../client/bootstrap.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\n\nimport { html } from 'lit-html'\n\nimport { navigate, store } from '@operato/shell'\nimport { i18next } from '@operato/i18n'\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\nimport { auth } from '@things-factory/auth-base/dist-client/auth.js'\nimport { ADD_MORENDA } from '@things-factory/more-base/client'\n\nimport { updateMenuTemplate } from './actions/main'\nimport metaUI from './reducers/main'\nimport { GristDefaultValue } from './utils/grist-default-value'\nimport { MENUS } from './dynamic-menus'\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 i18next.on('languageChanged', async () => {\n updateMenuTemplate(menuRoutes.menus)\n })\n\n // 3. 동적 메뉴 관리 화면 추가\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html`<md-icon>auto_fix_high</md-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`<md-icon>filter_tilt_shift</md-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`<md-icon>speaker_notes</md-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`<md-icon>code</md-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`<md-icon>business_center</md-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`<md-icon>margin</md-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`<md-icon>work</md-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` <md-icon>dataset</md-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":"AAAA,OAAO,4BAA4B,CAAA;AAEnC,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAE/B,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EACL,cAAc,IAAI,yBAAyB,EAC3C,gBAAgB,IAAI,2BAA2B,EAC/C,sBAAsB,IAAI,2BAA2B,EACtD,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,sBAAsB,IAAI,0BAA0B,EAAE,MAAM,eAAe,CAAA;AAEpF,OAAO,EAAE,IAAI,EAAE,MAAM,uCAAuC,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AAE9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,MAAM,MAAM,iBAAiB,CAAA;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAEvC,gCAAgC;AAChC,OAAO,EAAE,6BAA6B,EAAE,MAAM,8DAA8D,CAAA;AAC5G,OAAO,EAAE,+BAA+B,EAAE,MAAM,gEAAgE,CAAA;AAChH,OAAO,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAA;AAE7F,6BAA6B;AAC7B,OAAO,EAAE,2BAA2B,EAAE,MAAM,0DAA0D,CAAA;AACtG,OAAO,EAAE,6BAA6B,EAAE,MAAM,4DAA4D,CAAA;AAC1G,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAA;AAEvF,8BAA8B;AAC9B,OAAO,EAAE,yBAAyB,EAAE,MAAM,kDAAkD,CAAA;AAC5F,OAAO,EAAE,2BAA2B,EAAE,MAAM,oDAAoD,CAAA;AAEhG,6BAA6B;AAC7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAA;AAC1F,OAAO,EAAE,0BAA0B,EAAE,MAAM,mDAAmD,CAAA;AAE9F,OAAO,8CAA8C,CAAA;AACrD,OAAO,yCAAyC,CAAA;AAChD,OAAO,yCAAyC,CAAA;AAEhD,OAAO,+CAA+C,CAAA;AACtD,OAAO,+CAA+C,CAAA;AAEtD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,SAAS,CAAC,MAAM;IAC5C,iBAAiB;IACjB,2BAA2B,CAAC,oBAAoB,EAAE,6BAA6B,CAAC,CAAA;IAChF,2BAA2B,CAAC,sBAAsB,EAAE,+BAA+B,CAAC,CAAA;IACpF,2BAA2B,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAA;IAEjE,eAAe;IACf,yBAAyB,CAAC,oBAAoB,EAAE,2BAA2B,CAAC,CAAA;IAC5E,yBAAyB,CAAC,sBAAsB,EAAE,6BAA6B,CAAC,CAAA;IAChF,yBAAyB,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAA;IAE7D,wBAAwB;IACxB,2BAA2B,CAAC,oBAAoB,EAAE,CAAC,yBAAyB,CAAC,CAAC,CAAA;IAC9E,2BAA2B,CAAC,sBAAsB,EAAE,CAAC,2BAA2B,CAAC,CAAC,CAAA;IAElF,uBAAuB;IACvB,0BAA0B,CAAC,oBAAoB,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAA;IAC5E,0BAA0B,CAAC,sBAAsB,EAAE,CAAC,0BAA0B,CAAC,CAAC,CAAA;IAEhF,yBAAyB;IACzB,iBAAiB,CAAC,QAAQ,EAAE,CAAA;IAE5B,KAAK,CAAC,WAAW,CAAC;QAChB,MAAM;KACP,CAAC,CAAA;IAEF,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;QAC3D,0BAA0B;QAC1B,MAAM,UAAU,GAAG,MAAM,KAAK,CAAA;QAC9B,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;QAEpC,OAAO,CAAC,EAAE,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;YACvC,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;QACtC,CAAC,CAAC,CAAA;QAEF,oBAAoB;QACpB,KAAK,CAAC,QAAQ,CAAC;YACb,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE;gBACP,IAAI,EAAE,IAAI,CAAA,kCAAkC;gBAC5C,IAAI,EAAE,IAAI,CAAA,gDAAgD;gBAC1D,MAAM,EAAE,GAAG,EAAE;oBACX,QAAQ,CAAC,cAAc,CAAC,CAAA;gBAC1B,CAAC;aACF;SACF,CAAC,CAAA;QAEF,kBAAkB;QAClB,KAAK,CAAC,QAAQ,CAAC;YACb,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE;gBACP,IAAI,EAAE,IAAI,CAAA,sCAAsC;gBAChD,IAAI,EAAE,IAAI,CAAA,0CAA0C;gBACpD,MAAM,EAAE,GAAG,EAAE;oBACX,QAAQ,CAAC,eAAe,CAAC,CAAA;gBAC3B,CAAC;aACF;SACF,CAAC,CAAA;QAEF,iBAAiB;QACjB,KAAK,CAAC,QAAQ,CAAC;YACb,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE;gBACP,IAAI,EAAE,IAAI,CAAA,kCAAkC;gBAC5C,IAAI,EAAE,IAAI,CAAA,+CAA+C;gBACzD,MAAM,EAAE,GAAG,EAAE;oBACX,QAAQ,CAAC,oBAAoB,CAAC,CAAA;gBAChC,CAAC;aACF;SACF,CAAC,CAAA;QAEF,iBAAiB;QACjB,KAAK,CAAC,QAAQ,CAAC;YACb,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE;gBACP,IAAI,EAAE,IAAI,CAAA,yBAAyB;gBACnC,IAAI,EAAE,IAAI,CAAA,mDAAmD;gBAC7D,MAAM,EAAE,GAAG,EAAE;oBACX,QAAQ,CAAC,OAAO,CAAC,CAAA;gBACnB,CAAC;aACF;SACF,CAAC,CAAA;QAEF,iBAAiB;QACjB,KAAK,CAAC,QAAQ,CAAC;YACb,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE;gBACP,IAAI,EAAE,IAAI,CAAA,oCAAoC;gBAC9C,IAAI,EAAE,IAAI,CAAA,sDAAsD;gBAChE,MAAM,EAAE,GAAG,EAAE;oBACX,QAAQ,CAAC,oBAAoB,CAAC,CAAA;gBAChC,CAAC;aACF;SACF,CAAC,CAAA;QAEF,KAAK,CAAC,QAAQ,CAAC;YACb,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE;gBACP,IAAI,EAAE,IAAI,CAAA,2BAA2B;gBACrC,IAAI,EAAE,IAAI,CAAA,wDAAwD;gBAClE,MAAM,EAAE,GAAG,EAAE;oBACX,QAAQ,CAAC,sBAAsB,CAAC,CAAA;gBAClC,CAAC;aACF;SACF,CAAC,CAAA;QAEF,KAAK,CAAC,QAAQ,CAAC;YACb,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE;gBACP,IAAI,EAAE,IAAI,CAAA,yBAAyB;gBACnC,IAAI,EAAE,IAAI,CAAA,iDAAiD;gBAC3D,MAAM,EAAE,GAAG,EAAE;oBACX,QAAQ,CAAC,eAAe,CAAC,CAAA;gBAC3B,CAAC;aACF;SACF,CAAC,CAAA;QAEF,KAAK,CAAC,QAAQ,CAAC;YACb,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE;gBACP,IAAI,EAAE,IAAI,CAAA,8BAA8B;gBACxC,IAAI,EAAE,IAAI,CAAA,yDAAyD;gBACnE,MAAM,EAAE,GAAG,EAAE;oBACX,QAAQ,CAAC,YAAY,CAAC,CAAA;gBACxB,CAAC;aACF;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC","sourcesContent":["import '@material/web/icon/icon.js'\n\nimport { html } from 'lit-html'\n\nimport { navigate, store } from '@operato/shell'\nimport { i18next } from '@operato/i18n'\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\nimport { auth } from '@things-factory/auth-base/dist-client'\nimport { ADD_MORENDA } from '@things-factory/more-base/client'\n\nimport { updateMenuTemplate } from './actions/main'\nimport metaUI from './reducers/main'\nimport { GristDefaultValue } from './utils/grist-default-value'\nimport { MENUS } from './dynamic-menus'\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 i18next.on('languageChanged', async () => {\n updateMenuTemplate(menuRoutes.menus)\n })\n\n // 3. 동적 메뉴 관리 화면 추가\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html`<md-icon>auto_fix_high</md-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`<md-icon>filter_tilt_shift</md-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`<md-icon>speaker_notes</md-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`<md-icon>code</md-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`<md-icon>business_center</md-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`<md-icon>margin</md-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`<md-icon>work</md-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` <md-icon>dataset</md-icon> `,\n name: html` <ox-i18n msgid=\"text.attribute management\"></ox-i18n> `,\n action: () => {\n navigate('attributes')\n }\n }\n })\n })\n}\n"]}
@@ -1 +1,4 @@
1
- export function FilterFormMetaCodeSelect(filter: any, value: any, owner: any): import("lit-html").TemplateResult<1>;
1
+ import '@material/web/icon/icon.js';
2
+ import '../popup/meta-object-selector-popup';
3
+ import { FilterSelectRenderer } from '@operato/form';
4
+ export declare const FilterFormMetaCodeSelect: FilterSelectRenderer;
@@ -1,27 +1,22 @@
1
+ import '@material/web/icon/icon.js';
1
2
  import '../popup/meta-object-selector-popup';
2
3
  import { html } from 'lit-html';
3
4
  import { openPopup } from '@operato/layout';
4
5
  import { TermsUtil } from './../../utils/terms-util';
5
6
  function openMetaCodeSelector(filter, value, confirmCallback) {
6
- var template = html `
7
- <meta-object-selector-popup
8
- .value=${value}
9
- .options=${filter.options}
10
- .confirmCallback=${confirmCallback}
11
- ></meta-object-selector-popup>
12
- `;
7
+ var template = html ` <meta-object-selector-popup .value=${value} .options=${filter.options} .confirmCallback=${confirmCallback}> </meta-object-selector-popup> `;
13
8
  openPopup(template, {
14
9
  backdrop: true,
15
10
  size: 'large',
16
- title: filter.options.selectorName ? TermsUtil.tMenu(filter.options.selectorName) : TermsUtil.tTitle('select_item')
11
+ title: filter.options.selectorName ? String(TermsUtil.tMenu(filter.options.selectorName)) : String(TermsUtil.tTitle('select_item'))
17
12
  });
18
13
  }
19
14
  export const FilterFormMetaCodeSelect = (filter, value, owner) => {
20
- const options = filter.options;
21
- const codes = (options.codes && options.codes.length > 0) ? options.codes : undefined;
15
+ const options = filter.options || {};
16
+ const codes = options.codes && options.codes.length > 0 ? options.codes : undefined;
22
17
  const { operator = 'eq' } = filter;
23
- let hideText = value ? value : '';
24
- let text = value ? value : '';
18
+ const hiddenText = value ? value : '';
19
+ var text = value ? value : '';
25
20
  if (options.dispField && value && codes) {
26
21
  let dispCode = codes.filter(x => x.value == value);
27
22
  if (dispCode && dispCode.length > 0) {
@@ -30,29 +25,36 @@ export const FilterFormMetaCodeSelect = (filter, value, owner) => {
30
25
  }
31
26
  return operator === 'eq'
32
27
  ? html `
33
- <input name='${filter.name}' .value=${hideText} type="text" hidden></input>
28
+ <input name='${filter.name}' .value=${hiddenText} type="text" hidden></input>
34
29
  <input
35
30
  type="text"
36
31
  readonly
37
32
  name='${filter.name}_disp'
38
33
  .value=${text}
39
- @click=${(e) => {
34
+ @click=${e => {
40
35
  e.stopPropagation();
41
36
  const input = e.target;
42
- const confirmCallback = (selected) => {
37
+ const confirmCallback = selected => {
43
38
  let code = selected ? selected[options.codeField] : '';
44
39
  let disp = code;
45
40
  if (selected && options.dispField) {
46
- let fields = options.dispField.split(",");
41
+ let fields = options.dispField.split(',');
47
42
  disp = selected[fields[0]];
48
43
  if (fields.length > 1) {
49
- disp += `(${fields.splice(1).map(field => { return selected[field]; }).join(",")})`;
44
+ disp += `(${fields
45
+ .splice(1)
46
+ .map(field => {
47
+ return selected[field];
48
+ })
49
+ .join(',')})`;
50
50
  }
51
51
  }
52
52
  input.value = disp;
53
53
  let codeInput = owner.tagName.toLowerCase() == 'ox-grid-header'
54
- ? owner.renderRoot.querySelector(`[name="${filter.name}"]`)
55
- : owner.renderRoot.querySelector(`form [name="${filter.name}"]`);
54
+ ? //@ts-ignore owner element를 전제하지 않는 방법이 필요할 것이다.
55
+ owner.renderRoot.querySelector(`[name="${filter.name}"]`)
56
+ : //@ts-ignore owner element를 전제하지 않는 방법이 필요할 것이다.
57
+ owner.renderRoot.querySelector(`form [name="${filter.name}"]`);
56
58
  codeInput.value = code;
57
59
  input.dispatchEvent(new Event('change', { bubbles: true }));
58
60
  input.dispatchEvent(new CustomEvent('filter-change', {
@@ -68,6 +70,7 @@ export const FilterFormMetaCodeSelect = (filter, value, owner) => {
68
70
  openMetaCodeSelector(filter, value, confirmCallback);
69
71
  }}
70
72
  />
73
+ <md-icon style="--md-icon-size: 18px;margin-left: -24px;">manage_search</md-icon>
71
74
  `
72
75
  : html ``;
73
76
  };
@@ -1 +1 @@
1
- {"version":3,"file":"filter-form-meta-code-select.js","sourceRoot":"","sources":["../../../client/component/filter/filter-form-meta-code-select.js"],"names":[],"mappings":"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","sourcesContent":["import '../popup/meta-object-selector-popup'\n\nimport { html } from 'lit-html'\nimport { openPopup } from '@operato/layout'\nimport { TermsUtil } from './../../utils/terms-util'\n\nfunction openMetaCodeSelector(filter, value, confirmCallback) {\n\n var template = html`\n <meta-object-selector-popup\n .value=${value}\n .options=${filter.options}\n .confirmCallback=${confirmCallback}\n ></meta-object-selector-popup>\n `\n\n openPopup(template, {\n backdrop: true,\n size: 'large',\n title: filter.options.selectorName ? TermsUtil.tMenu(filter.options.selectorName) : TermsUtil.tTitle('select_item')\n })\n}\n\n\nexport const FilterFormMetaCodeSelect = (filter, value, owner) =>{\n const options = filter.options;\n const codes = (options.codes && options.codes.length > 0) ? options.codes : undefined;\n const { operator = 'eq' } = filter;\n let hideText = value? value : '';\n let text = value? value : '';\n\n if(options.dispField && value && codes){\n let dispCode = codes.filter(x=> x.value == value);\n\n if(dispCode && dispCode.length > 0){\n text = dispCode[0].display;\n }\n }\n\n return operator === 'eq'\n ? html`\n <input name='${filter.name}' .value=${hideText} type=\"text\" hidden></input>\n <input\n type=\"text\"\n readonly\n name='${filter.name}_disp'\n .value=${text}\n @click=${(e) => {\n e.stopPropagation();\n\n const input = e.target;\n\n const confirmCallback = (selected) => {\n let code = selected ? selected[options.codeField] : '';\n let disp = code;\n\n if(selected && options.dispField){\n let fields = options.dispField.split(\",\");\n disp = selected[fields[0]];\n \n if(fields.length > 1){\n disp+= `(${fields.splice(1).map(field => { return selected[field]}).join(\",\")})` \n }\n }\n\n input.value = disp;\n\n let codeInput = owner.tagName.toLowerCase() == 'ox-grid-header' \n ? owner.renderRoot.querySelector(`[name=\"${filter.name}\"]`)\n : owner.renderRoot.querySelector(`form [name=\"${filter.name}\"]`);\n \n codeInput.value = code;\n\n input.dispatchEvent(new Event('change', { bubbles: true })) \n\n input.dispatchEvent(\n new CustomEvent('filter-change', {\n bubbles: true,\n composed: true,\n detail: {\n name: filter.name,\n operator,\n value: code\n }\n })\n )\n }\n\n openMetaCodeSelector(filter, value, confirmCallback)\n }}\n />\n `\n : html``\n}\n"]}
1
+ {"version":3,"file":"filter-form-meta-code-select.js","sourceRoot":"","sources":["../../../client/component/filter/filter-form-meta-code-select.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '../popup/meta-object-selector-popup'\n\nimport { html } from 'lit-html'\n\nimport { openPopup } from '@operato/layout'\nimport { FilterSelectRenderer } from '@operato/form'\nimport { TermsUtil } from './../../utils/terms-util'\n\nfunction openMetaCodeSelector(filter, value, confirmCallback) {\n var template = html` <meta-object-selector-popup .value=${value} .options=${filter.options} .confirmCallback=${confirmCallback}> </meta-object-selector-popup> `\n\n openPopup(template, {\n backdrop: true,\n size: 'large',\n title: filter.options.selectorName ? String(TermsUtil.tMenu(filter.options.selectorName)) : String(TermsUtil.tTitle('select_item'))\n })\n}\n\nexport const FilterFormMetaCodeSelect: FilterSelectRenderer = (filter, value, owner) => {\n const options = filter.options || {}\n const codes = options.codes && options.codes.length > 0 ? options.codes : undefined\n const { operator = 'eq' } = filter\n const hiddenText = value ? value : ''\n\n var text = value ? value : ''\n\n if (options.dispField && value && codes) {\n let dispCode = codes.filter(x => x.value == value)\n\n if (dispCode && dispCode.length > 0) {\n text = dispCode[0].display\n }\n }\n\n return operator === 'eq'\n ? html`\n <input name='${filter.name}' .value=${hiddenText} type=\"text\" hidden></input>\n <input\n type=\"text\"\n readonly\n name='${filter.name}_disp'\n .value=${text}\n @click=${e => {\n e.stopPropagation()\n\n const input = e.target\n\n const confirmCallback = selected => {\n let code = selected ? selected[options.codeField] : ''\n let disp = code\n\n if (selected && options.dispField) {\n let fields = options.dispField.split(',')\n disp = selected[fields[0]]\n\n if (fields.length > 1) {\n disp += `(${fields\n .splice(1)\n .map(field => {\n return selected[field]\n })\n .join(',')})`\n }\n }\n\n input.value = disp\n\n let codeInput =\n owner.tagName.toLowerCase() == 'ox-grid-header'\n ? //@ts-ignore owner element를 전제하지 않는 방법이 필요할 것이다.\n owner.renderRoot.querySelector(`[name=\"${filter.name}\"]`)\n : //@ts-ignore owner element를 전제하지 않는 방법이 필요할 것이다.\n owner.renderRoot.querySelector(`form [name=\"${filter.name}\"]`)\n\n codeInput.value = code\n\n input.dispatchEvent(new Event('change', { bubbles: true }))\n\n input.dispatchEvent(\n new CustomEvent('filter-change', {\n bubbles: true,\n composed: true,\n detail: {\n name: filter.name,\n operator,\n value: code\n }\n })\n )\n }\n\n openMetaCodeSelector(filter, value, confirmCallback)\n }}\n />\n <md-icon style=\"--md-icon-size: 18px;margin-left: -24px;\">manage_search</md-icon>\n `\n : html``\n}\n"]}
@@ -1 +1,4 @@
1
- export function FilterFormMetaObjectSelect(filter: any, value: any, owner: any): import("lit-html").TemplateResult<1>;
1
+ import '@material/web/icon/icon.js';
2
+ import '../popup/meta-object-selector-popup';
3
+ import { FilterSelectRenderer } from '@operato/form';
4
+ export declare const FilterFormMetaObjectSelect: FilterSelectRenderer;
@@ -1,58 +1,65 @@
1
+ import '@material/web/icon/icon.js';
1
2
  import '../popup/meta-object-selector-popup';
2
3
  import { html } from 'lit-html';
3
4
  import { openPopup } from '@operato/layout';
4
- import { TermsUtil } from './../../utils/terms-util';
5
+ import { TermsUtil } from '../../utils/terms-util';
5
6
  function openMetaObjectSelector(filter, value, confirmCallback) {
6
- var template = html `
7
- <meta-object-selector-popup
8
- .value=${value}
9
- .options=${filter.options}
10
- .confirmCallback=${confirmCallback}
11
- ></meta-object-selector-popup>
12
- `;
7
+ var template = html ` <meta-object-selector-popup .value=${value} .options=${filter.options} .confirmCallback=${confirmCallback}></meta-object-selector-popup> `;
13
8
  openPopup(template, {
14
9
  backdrop: true,
15
10
  size: 'large',
16
- title: filter.options.selectorName ? TermsUtil.tMenu(filter.options.selectorName) : TermsUtil.tTitle('select_item')
11
+ title: filter.options.selectorName ? String(TermsUtil.tMenu(filter.options.selectorName)) : String(TermsUtil.tTitle('select_item'))
17
12
  });
18
13
  }
19
14
  export const FilterFormMetaObjectSelect = (filter, value, owner) => {
20
15
  const options = filter.options;
21
16
  const { operator = 'eq' } = filter;
22
- let hideText = value ? value.id : '';
23
- let text = '';
17
+ const hiddenText = value ? value.id : '';
18
+ var text = '';
24
19
  if (value) {
25
- let fields = options.nameField.split(",");
20
+ let fields = options.nameField.split(',');
26
21
  text = value[fields[0]];
27
22
  if (fields.length > 1) {
28
- text += `(${fields.splice(1).map(field => { return value[field]; }).join(",")})`;
23
+ text += `(${fields
24
+ .splice(1)
25
+ .map(field => {
26
+ return value[field];
27
+ })
28
+ .join(',')})`;
29
29
  }
30
30
  }
31
31
  return operator === 'eq'
32
32
  ? html `
33
- <input name='${filter.name}' .value=${hideText} type="text" hidden></input>
33
+ <input name='${filter.name}' .value=${hiddenText} type="text" hidden></input>
34
34
  <input
35
35
  type="text"
36
36
  readonly
37
37
  name='${filter.name}_disp'
38
38
  .value=${text}
39
- @click=${(e) => {
39
+ @click=${e => {
40
40
  e.stopPropagation();
41
41
  const input = e.target;
42
- const confirmCallback = (selected) => {
42
+ const confirmCallback = selected => {
43
43
  let code = selected ? selected.id : '';
44
44
  let disp = '';
45
45
  if (selected) {
46
- let fields = options.nameField.split(",");
46
+ let fields = options.nameField.split(',');
47
47
  disp = selected[fields[0]];
48
48
  if (fields.length > 1) {
49
- disp += `(${fields.splice(1).map(field => { return selected[field]; }).join(",")})`;
49
+ disp += `(${fields
50
+ .splice(1)
51
+ .map(field => {
52
+ return selected[field];
53
+ })
54
+ .join(',')})`;
50
55
  }
51
56
  }
52
57
  input.value = disp;
53
58
  let codeInput = owner.tagName.toLowerCase() == 'ox-grid-header'
54
- ? owner.renderRoot.querySelector(`[name="${filter.name}"]`)
55
- : owner.renderRoot.querySelector(`form [name="${filter.name}"]`);
59
+ ? //@ts-ignore owner element를 전제하지 않는 방법이 필요할 것이다.
60
+ owner.renderRoot.querySelector(`[name="${filter.name}"]`)
61
+ : //@ts-ignore owner element를 전제하지 않는 방법이 필요할 것이다.
62
+ owner.renderRoot.querySelector(`form [name="${filter.name}"]`);
56
63
  codeInput.value = code;
57
64
  input.dispatchEvent(new Event('change', { bubbles: true }));
58
65
  input.dispatchEvent(new CustomEvent('filter-change', {
@@ -68,6 +75,7 @@ export const FilterFormMetaObjectSelect = (filter, value, owner) => {
68
75
  openMetaObjectSelector(filter, value, confirmCallback);
69
76
  }}
70
77
  />
78
+ <md-icon style="--md-icon-size: 18px;margin-left: -24px;">manage_search</md-icon>
71
79
  `
72
80
  : html ``;
73
81
  };
@@ -1 +1 @@
1
- {"version":3,"file":"filter-form-meta-object-select.js","sourceRoot":"","sources":["../../../client/component/filter/filter-form-meta-object-select.js"],"names":[],"mappings":"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","sourcesContent":["import '../popup/meta-object-selector-popup'\n\nimport { html } from 'lit-html'\nimport { openPopup } from '@operato/layout'\nimport { TermsUtil } from './../../utils/terms-util'\n\nfunction openMetaObjectSelector(filter, value, confirmCallback) {\n\n var template = html`\n <meta-object-selector-popup\n .value=${value}\n .options=${filter.options}\n .confirmCallback=${confirmCallback}\n ></meta-object-selector-popup>\n `\n\n openPopup(template, {\n backdrop: true,\n size: 'large',\n title: filter.options.selectorName ? TermsUtil.tMenu(filter.options.selectorName) : TermsUtil.tTitle('select_item')\n })\n}\n\n\nexport const FilterFormMetaObjectSelect = (filter, value, owner) =>{\n const options = filter.options;\n const { operator = 'eq' } = filter;\n let hideText = value ? value.id : '';\n let text = '';\n\n if(value){\n let fields = options.nameField.split(\",\");\n text = value[fields[0]];\n\n if(fields.length > 1){\n text+= `(${fields.splice(1).map(field => { return value[field]}).join(\",\")})` \n }\n }\n\n return operator === 'eq'\n ? html`\n <input name='${filter.name}' .value=${hideText} type=\"text\" hidden></input>\n <input\n type=\"text\"\n readonly\n name='${filter.name}_disp'\n .value=${text}\n @click=${(e) => {\n e.stopPropagation();\n\n const input = e.target;\n\n const confirmCallback = (selected) => {\n let code = selected ? selected.id : '';\n let disp = '';\n\n if(selected){\n let fields = options.nameField.split(\",\");\n disp = selected[fields[0]];\n \n if(fields.length > 1){\n disp+= `(${fields.splice(1).map(field => { return selected[field]}).join(\",\")})` \n }\n }\n\n input.value = disp;\n\n let codeInput = owner.tagName.toLowerCase() == 'ox-grid-header' \n ? owner.renderRoot.querySelector(`[name=\"${filter.name}\"]`)\n : owner.renderRoot.querySelector(`form [name=\"${filter.name}\"]`);\n \n codeInput.value = code;\n\n input.dispatchEvent(new Event('change', { bubbles: true })) \n\n input.dispatchEvent(\n new CustomEvent('filter-change', {\n bubbles: true,\n composed: true,\n detail: {\n name: filter.name,\n operator,\n value: code\n }\n })\n )\n }\n\n openMetaObjectSelector(filter, value, confirmCallback)\n }}\n />\n `\n : html``\n}\n"]}
1
+ {"version":3,"file":"filter-form-meta-object-select.js","sourceRoot":"","sources":["../../../client/component/filter/filter-form-meta-object-select.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '../popup/meta-object-selector-popup'\n\nimport { html } from 'lit-html'\n\nimport { openPopup } from '@operato/layout'\nimport { FilterSelectRenderer } from '@operato/form'\nimport { TermsUtil } from '../../utils/terms-util'\n\nfunction openMetaObjectSelector(filter, value, confirmCallback) {\n var template = html` <meta-object-selector-popup .value=${value} .options=${filter.options} .confirmCallback=${confirmCallback}></meta-object-selector-popup> `\n\n openPopup(template, {\n backdrop: true,\n size: 'large',\n title: filter.options.selectorName ? String(TermsUtil.tMenu(filter.options.selectorName)) : String(TermsUtil.tTitle('select_item'))\n })\n}\n\nexport const FilterFormMetaObjectSelect: FilterSelectRenderer = (filter, value, owner) => {\n const options = filter.options\n const { operator = 'eq' } = filter\n const hiddenText = value ? value.id : ''\n\n var text = ''\n\n if (value) {\n let fields = options!.nameField.split(',')\n text = value[fields[0]]\n\n if (fields.length > 1) {\n text += `(${fields\n .splice(1)\n .map(field => {\n return value[field]\n })\n .join(',')})`\n }\n }\n\n return operator === 'eq'\n ? html`\n <input name='${filter.name}' .value=${hiddenText} type=\"text\" hidden></input>\n <input\n type=\"text\"\n readonly\n name='${filter.name}_disp'\n .value=${text}\n @click=${e => {\n e.stopPropagation()\n\n const input = e.target\n\n const confirmCallback = selected => {\n let code = selected ? selected.id : ''\n let disp = ''\n\n if (selected) {\n let fields = options!.nameField.split(',')\n disp = selected[fields[0]]\n\n if (fields.length > 1) {\n disp += `(${fields\n .splice(1)\n .map(field => {\n return selected[field]\n })\n .join(',')})`\n }\n }\n\n input.value = disp\n\n let codeInput =\n owner.tagName.toLowerCase() == 'ox-grid-header'\n ? //@ts-ignore owner element를 전제하지 않는 방법이 필요할 것이다.\n owner.renderRoot.querySelector(`[name=\"${filter.name}\"]`)\n : //@ts-ignore owner element를 전제하지 않는 방법이 필요할 것이다.\n owner.renderRoot.querySelector(`form [name=\"${filter.name}\"]`)\n\n codeInput.value = code\n\n input.dispatchEvent(new Event('change', { bubbles: true }))\n\n input.dispatchEvent(\n new CustomEvent('filter-change', {\n bubbles: true,\n composed: true,\n detail: {\n name: filter.name,\n operator,\n value: code\n }\n })\n )\n }\n\n openMetaObjectSelector(filter, value, confirmCallback)\n }}\n />\n <md-icon style=\"--md-icon-size: 18px;margin-left: -24px;\">manage_search</md-icon>\n `\n : html``\n}\n"]}
@@ -1 +1,3 @@
1
- export function FilterGristMetaCodeSelect(column: any, value: any, owner: any): import("lit-html").TemplateResult<1>;
1
+ import '../popup/meta-object-selector-popup';
2
+ import { FilterSelectRenderer } from '@operato/data-grist';
3
+ export declare const FilterGristMetaCodeSelect: FilterSelectRenderer;