@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.
- package/client/bootstrap.ts +1 -1
- package/client/component/filter/filter-form-meta-code-select.ts +99 -0
- package/client/component/filter/filter-form-meta-object-select.ts +104 -0
- package/client/component/filter/filter-grist-meta-code-select.ts +97 -0
- package/client/component/filter/filter-grist-meta-object-select.ts +102 -0
- package/client/component/popup/{meta-object-selector-popup.js → meta-object-selector-popup.ts} +72 -45
- package/client/component/popup/{record-based-code-editor-popup.js → record-based-code-editor-popup.ts} +19 -18
- package/client/utils/meta-api.js +13 -1
- package/client/utils/meta-ui-util.js +1 -1
- package/client/utils/service-util.js +39 -3
- package/client/utils/{terms-util.js → terms-util.ts} +13 -13
- package/dist-client/bootstrap.js +1 -1
- package/dist-client/bootstrap.js.map +1 -1
- package/dist-client/component/filter/filter-form-meta-code-select.d.ts +4 -1
- package/dist-client/component/filter/filter-form-meta-code-select.js +22 -19
- package/dist-client/component/filter/filter-form-meta-code-select.js.map +1 -1
- package/dist-client/component/filter/filter-form-meta-object-select.d.ts +4 -1
- package/dist-client/component/filter/filter-form-meta-object-select.js +28 -20
- package/dist-client/component/filter/filter-form-meta-object-select.js.map +1 -1
- package/dist-client/component/filter/filter-grist-meta-code-select.d.ts +3 -1
- package/dist-client/component/filter/filter-grist-meta-code-select.js +20 -19
- package/dist-client/component/filter/filter-grist-meta-code-select.js.map +1 -1
- package/dist-client/component/filter/filter-grist-meta-object-select.d.ts +3 -1
- package/dist-client/component/filter/filter-grist-meta-object-select.js +26 -20
- package/dist-client/component/filter/filter-grist-meta-object-select.js.map +1 -1
- package/dist-client/component/popup/meta-object-selector-popup.d.ts +27 -22
- package/dist-client/component/popup/meta-object-selector-popup.js +75 -46
- package/dist-client/component/popup/meta-object-selector-popup.js.map +1 -1
- package/dist-client/component/popup/record-based-code-editor-popup.d.ts +10 -11
- package/dist-client/component/popup/record-based-code-editor-popup.js +59 -17
- package/dist-client/component/popup/record-based-code-editor-popup.js.map +1 -1
- package/dist-client/pages/history/history-copy-list-popup.d.ts +1 -1
- package/dist-client/pages/history/history-json-list-popup.d.ts +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-client/utils/meta-api.d.ts +11 -2
- package/dist-client/utils/meta-api.js +12 -1
- package/dist-client/utils/meta-api.js.map +1 -1
- package/dist-client/utils/meta-ui-util.js +1 -1
- package/dist-client/utils/meta-ui-util.js.map +1 -1
- package/dist-client/utils/service-util.d.ts +11 -1
- package/dist-client/utils/service-util.js +37 -3
- package/dist-client/utils/service-util.js.map +1 -1
- package/dist-client/utils/terms-util.d.ts +7 -7
- package/dist-client/utils/terms-util.js +4 -4
- package/dist-client/utils/terms-util.js.map +1 -1
- package/package.json +9 -8
- package/client/component/filter/filter-form-meta-code-select.js +0 -94
- package/client/component/filter/filter-form-meta-object-select.js +0 -94
- package/client/component/filter/filter-grist-meta-code-select.js +0 -95
- 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,
|
|
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)
|
package/client/utils/meta-api.js
CHANGED
|
@@ -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 {
|
|
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
|
-
//
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
package/dist-client/bootstrap.js
CHANGED
|
@@ -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
|
|
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":"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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'\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
|
-
|
|
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 =
|
|
15
|
+
const options = filter.options || {};
|
|
16
|
+
const codes = options.codes && options.codes.length > 0 ? options.codes : undefined;
|
|
22
17
|
const { operator = 'eq' } = filter;
|
|
23
|
-
|
|
24
|
-
|
|
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=${
|
|
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=${
|
|
34
|
+
@click=${e => {
|
|
40
35
|
e.stopPropagation();
|
|
41
36
|
const input = e.target;
|
|
42
|
-
const confirmCallback =
|
|
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
|
|
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
|
|
55
|
-
|
|
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.
|
|
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
|
-
|
|
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 '
|
|
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
|
-
|
|
23
|
-
|
|
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
|
|
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=${
|
|
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=${
|
|
39
|
+
@click=${e => {
|
|
40
40
|
e.stopPropagation();
|
|
41
41
|
const input = e.target;
|
|
42
|
-
const confirmCallback =
|
|
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
|
|
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
|
|
55
|
-
|
|
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.
|
|
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
|
-
|
|
1
|
+
import '../popup/meta-object-selector-popup';
|
|
2
|
+
import { FilterSelectRenderer } from '@operato/data-grist';
|
|
3
|
+
export declare const FilterGristMetaCodeSelect: FilterSelectRenderer;
|