@things-factory/meta-ui 8.0.39 → 9.0.0-9.0.0-beta.59.0

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 (119) hide show
  1. package/dist-client/bootstrap.d.ts +5 -5
  2. package/dist-client/bootstrap.js +20 -20
  3. package/dist-client/bootstrap.js.map +1 -1
  4. package/dist-client/tsconfig.tsbuildinfo +1 -1
  5. package/dist-client/utils/service-util.d.ts +2 -2
  6. package/dist-client/utils/service-util.js +4 -4
  7. package/dist-client/utils/service-util.js.map +1 -1
  8. package/dist-server/service/index.d.ts +2 -2
  9. package/dist-server/tsconfig.tsbuildinfo +1 -1
  10. package/package.json +24 -24
  11. package/client/bootstrap.ts +0 -170
  12. package/client/component/filter/filter-form-meta-code-select.ts +0 -102
  13. package/client/component/filter/filter-form-meta-object-select.ts +0 -107
  14. package/client/component/filter/filter-grist-meta-code-select.ts +0 -97
  15. package/client/component/filter/filter-grist-meta-object-select.ts +0 -102
  16. package/client/component/grist/editor/grist-editor-code-input.js +0 -96
  17. package/client/component/grist/editor/grist-editor-meta-code-selector.js +0 -157
  18. package/client/component/grist/editor/grist-editor-meta-object-selector.js +0 -122
  19. package/client/component/grist/renderer/grist-renderer-code-input.js +0 -20
  20. package/client/component/grist/renderer/grist-renderer-meta-code-selector.js +0 -28
  21. package/client/component/grist/renderer/grist-renderer-meta-object-selector.js +0 -25
  22. package/client/component/popup/code-input-editor-popup.js +0 -111
  23. package/client/component/popup/file-upload-popup.js +0 -129
  24. package/client/component/popup/meta-object-selector-popup.ts +0 -356
  25. package/client/component/popup/record-based-code-editor-popup.ts +0 -141
  26. package/client/dynamic-menus.ts +0 -38
  27. package/client/index.ts +0 -18
  28. package/client/load-components.ts +0 -17
  29. package/client/mixin/meta-base-mixin.js +0 -323
  30. package/client/mixin/meta-basic-grist-mixin.js +0 -283
  31. package/client/mixin/meta-button-mixin.js +0 -116
  32. package/client/mixin/meta-form-mixin.js +0 -435
  33. package/client/mixin/meta-grist-tab-mixin.js +0 -335
  34. package/client/mixin/meta-main-tab-mixin.js +0 -267
  35. package/client/mixin/meta-master-detail-mixin.js +0 -395
  36. package/client/mixin/meta-service-mixin.js +0 -306
  37. package/client/mixin/meta-tab-detail-mixin.js +0 -283
  38. package/client/mixin/meta-tab-mixin.js +0 -190
  39. package/client/pages/activity/meta-activity-define-page.js +0 -422
  40. package/client/pages/activity/meta-activity-list-page.js +0 -262
  41. package/client/pages/activity/meta-activity-viewer-element.js +0 -35
  42. package/client/pages/activity/meta-activity-writer-element.js +0 -48
  43. package/client/pages/activity/meta-activiy-mixin.js +0 -79
  44. package/client/pages/button-role/button-role-detail.js +0 -50
  45. package/client/pages/button-role/button-role-page.js +0 -25
  46. package/client/pages/doc-number/doc-number-page.js +0 -24
  47. package/client/pages/doc-number/next-doc-number-popup.js +0 -25
  48. package/client/pages/entity/config-entity.js +0 -955
  49. package/client/pages/entity/main-menu-selector.js +0 -245
  50. package/client/pages/history/history-copy-list-popup.js +0 -145
  51. package/client/pages/history/history-json-list-popup.js +0 -159
  52. package/client/pages/menu/dynamic-menu-template.js +0 -92
  53. package/client/pages/menu/dynamic-menu.ts +0 -744
  54. package/client/pages/menu/export-menu-popup.js +0 -468
  55. package/client/pages/meta-form-element.js +0 -9
  56. package/client/pages/meta-grist-element.js +0 -12
  57. package/client/pages/meta-grist-page.js +0 -16
  58. package/client/pages/meta-grist-tab-element.js +0 -16
  59. package/client/pages/meta-grist-tab-page.js +0 -16
  60. package/client/pages/meta-main-tab-element.js +0 -12
  61. package/client/pages/meta-main-tab-page.js +0 -16
  62. package/client/pages/meta-master-detail-element.js +0 -12
  63. package/client/pages/meta-master-detail-page.js +0 -16
  64. package/client/pages/meta-tab-detail-element.js +0 -12
  65. package/client/pages/meta-tab-detail-page.js +0 -16
  66. package/client/pages/meta-tab-element.js +0 -15
  67. package/client/pages/printer-device/printer-device-page.js +0 -24
  68. package/client/pages/template/doc-template-page.js +0 -24
  69. package/client/pages/template/template-file-page.js +0 -24
  70. package/client/pages/terms/config-terminology.js +0 -214
  71. package/client/pages/work-code/work-code-detail-popup.js +0 -16
  72. package/client/pages/work-code/work-code-page.js +0 -23
  73. package/client/route.ts +0 -36
  74. package/client/tsconfig.json +0 -13
  75. package/client/utils/grist-default-value.js +0 -36
  76. package/client/utils/meta-api.js +0 -811
  77. package/client/utils/meta-crypto.js +0 -52
  78. package/client/utils/meta-ui-util.js +0 -3304
  79. package/client/utils/rest-service-util.js +0 -328
  80. package/client/utils/service-util.js +0 -1327
  81. package/client/utils/terms-util.ts +0 -119
  82. package/client/utils/ui-util.js +0 -338
  83. package/client/utils/value-util.js +0 -234
  84. package/server/activity/CommonActivity.ts +0 -68
  85. package/server/index.ts +0 -3
  86. package/server/routes.ts +0 -61
  87. package/server/service/button-role/button-role-mutation.ts +0 -105
  88. package/server/service/button-role/button-role-query.ts +0 -53
  89. package/server/service/button-role/button-role-type.ts +0 -39
  90. package/server/service/button-role/button-role.ts +0 -61
  91. package/server/service/button-role/index.ts +0 -7
  92. package/server/service/dynamic-menu/dynamic-menu-query.ts +0 -270
  93. package/server/service/dynamic-menu/dynamic-menu-type.ts +0 -74
  94. package/server/service/dynamic-menu/index.ts +0 -3
  95. package/server/service/entity-event-subscriber/entity-event-subscriber.ts +0 -80
  96. package/server/service/entity-event-subscriber/index.ts +0 -3
  97. package/server/service/index.ts +0 -41
  98. package/server/service/menu-button-auth/index.ts +0 -7
  99. package/server/service/menu-button-auth/menu-button-auth-mutation.ts +0 -133
  100. package/server/service/menu-button-auth/menu-button-auth-query.ts +0 -138
  101. package/server/service/menu-button-auth/menu-button-auth-type.ts +0 -63
  102. package/server/service/menu-button-auth/menu-button-auth.ts +0 -92
  103. package/server/service/meta-activity/index.ts +0 -5
  104. package/server/service/meta-activity/meta-activity-mutation.ts +0 -191
  105. package/server/service/meta-activity/meta-activity-query.ts +0 -43
  106. package/server/service/meta-activity/meta-activity-type.ts +0 -56
  107. package/server/service/set-translations/index.ts +0 -3
  108. package/server/service/set-translations/set-translation-resolver.ts +0 -63
  109. package/server/service/work-code/index.ts +0 -6
  110. package/server/service/work-code/work-code-mutation.ts +0 -147
  111. package/server/service/work-code/work-code-query.ts +0 -67
  112. package/server/service/work-code/work-code-type.ts +0 -60
  113. package/server/service/work-code/work-code.ts +0 -83
  114. package/server/service/work-code-detail/index.ts +0 -6
  115. package/server/service/work-code-detail/work-code-detail-mutation.ts +0 -149
  116. package/server/service/work-code-detail/work-code-detail-query.ts +0 -59
  117. package/server/service/work-code-detail/work-code-detail-type.ts +0 -50
  118. package/server/service/work-code-detail/work-code-detail.ts +0 -82
  119. package/server/tsconfig.json +0 -9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/meta-ui",
3
- "version": "8.0.39",
3
+ "version": "9.0.0-9.0.0-beta.59.0",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "dist-client/index.js",
6
6
  "things-factory": true,
@@ -27,29 +27,29 @@
27
27
  },
28
28
  "dependencies": {
29
29
  "@material/web": "^2.0.0",
30
- "@operato/barcode": "^8.0.0",
31
- "@operato/data-grist": "^8.0.0",
32
- "@operato/form": "^8.0.0",
33
- "@operato/i18n": "^8.0.0",
34
- "@operato/input": "^8.0.0",
35
- "@operato/layout": "^8.0.0",
36
- "@operato/menu": "^8.0.0",
37
- "@operato/moment-timezone-es": "^8.0.0",
38
- "@operato/p13n": "^8.0.0",
39
- "@operato/popup": "^8.0.0",
40
- "@operato/shell": "^8.0.0",
41
- "@operato/styles": "^8.0.0",
42
- "@operato/time-calculator": "^8.0.0",
43
- "@operato/utils": "^8.0.0",
44
- "@things-factory/auth-base": "^8.0.38",
45
- "@things-factory/env": "^8.0.37",
46
- "@things-factory/id-rule-base": "^8.0.38",
47
- "@things-factory/menu-base": "^8.0.38",
48
- "@things-factory/personalization": "^8.0.38",
49
- "@things-factory/resource-base": "^8.0.38",
50
- "@things-factory/shell": "^8.0.38",
51
- "@things-factory/worklist": "^8.0.39",
30
+ "@operato/barcode": "^9.0.0-beta",
31
+ "@operato/data-grist": "^9.0.0-beta",
32
+ "@operato/form": "^9.0.0-beta",
33
+ "@operato/i18n": "^9.0.0-beta",
34
+ "@operato/input": "^9.0.0-beta",
35
+ "@operato/layout": "^9.0.0-beta",
36
+ "@operato/menu": "^9.0.0-beta",
37
+ "@operato/moment-timezone-es": "^9.0.0-beta",
38
+ "@operato/p13n": "^9.0.0-beta",
39
+ "@operato/popup": "^9.0.0-beta",
40
+ "@operato/shell": "^9.0.0-beta",
41
+ "@operato/styles": "^9.0.0-beta",
42
+ "@operato/time-calculator": "^9.0.0-beta",
43
+ "@operato/utils": "^9.0.0-beta",
44
+ "@things-factory/auth-base": "^9.0.0-9.0.0-beta.59.0",
45
+ "@things-factory/env": "^9.0.0-9.0.0-beta.59.0",
46
+ "@things-factory/id-rule-base": "^9.0.0-9.0.0-beta.59.0",
47
+ "@things-factory/menu-base": "^9.0.0-9.0.0-beta.59.0",
48
+ "@things-factory/personalization": "^9.0.0-9.0.0-beta.59.0",
49
+ "@things-factory/resource-base": "^9.0.0-9.0.0-beta.59.0",
50
+ "@things-factory/shell": "^9.0.0-9.0.0-beta.59.0",
51
+ "@things-factory/worklist": "^9.0.0-9.0.0-beta.59.0",
52
52
  "moment-timezone": "^0.5.45"
53
53
  },
54
- "gitHead": "f5e1a4c04bceec2d731a46f1ef88976839d04dac"
54
+ "gitHead": "cf6ee84b991f469a4e71198b0e6314b45e9e10b8"
55
55
  }
@@ -1,170 +0,0 @@
1
- import '@material/web/icon/icon.js'
2
- import './load-components'
3
-
4
- import { html } from 'lit-html'
5
-
6
- import { navigate, store } from '@operato/shell'
7
- import { i18next } from '@operato/i18n'
8
- import {
9
- registerEditor as gristColumnRegisterEditor,
10
- registerRenderer as gristColumnRegisterRenderer,
11
- registerFilterRenderer as gristRegisterFilterRenderer
12
- } from '@operato/data-grist'
13
- import { registerFilterRenderer as formRegisterFilterRenderer } from '@operato/form'
14
-
15
- import { auth } from '@things-factory/auth-base/dist-client'
16
- import { ADD_MORENDA } from '@things-factory/more-base/client'
17
-
18
- import { updateMenuTemplate } from '@things-factory/lite-menu/dist-client'
19
- import { GristDefaultValue } from './utils/grist-default-value'
20
- import { getDynamicMenus } from './dynamic-menus'
21
-
22
- /** GRIST Renderer Compoment */
23
- import { GristRendererMetaCodeSelector } from './component/grist/renderer/grist-renderer-meta-code-selector'
24
- import { GristRendererMetaObjectSelector } from './component/grist/renderer/grist-renderer-meta-object-selector'
25
- import { GristRendererCodeInput } from './component/grist/renderer/grist-renderer-code-input'
26
-
27
- /** GRIST Editor Component */
28
- import { GristEditorMetaCodeSelector } from './component/grist/editor/grist-editor-meta-code-selector'
29
- import { GristEditorMetaObjectSelector } from './component/grist/editor/grist-editor-meta-object-selector'
30
- import { GristEditorCodeInput } from './component/grist/editor/grist-editor-code-input'
31
-
32
- /** Grist Filter Compoment */
33
- import { FilterGristMetaCodeSelect } from './component/filter/filter-grist-meta-code-select'
34
- import { FilterGristMetaObjectSelect } from './component/filter/filter-grist-meta-object-select'
35
-
36
- /** Filter Form Component */
37
- import { FilterFormMetaCodeSelect } from './component/filter/filter-form-meta-code-select'
38
- import { FilterFormMetaObjectSelect } from './component/filter/filter-form-meta-object-select'
39
-
40
- import './pages/history/history-copy-list-popup'
41
- import './pages/history/history-json-list-popup'
42
-
43
- import './pages/activity/meta-activity-writer-element'
44
- import './pages/activity/meta-activity-viewer-element'
45
-
46
- export default async function bootstrap(module) {
47
- // GRIST Renderer
48
- gristColumnRegisterRenderer('meta-code-selector', GristRendererMetaCodeSelector)
49
- gristColumnRegisterRenderer('meta-object-selector', GristRendererMetaObjectSelector)
50
- gristColumnRegisterRenderer('code-input', GristRendererCodeInput)
51
-
52
- // GRIST Editor
53
- gristColumnRegisterEditor('meta-code-selector', GristEditorMetaCodeSelector)
54
- gristColumnRegisterEditor('meta-object-selector', GristEditorMetaObjectSelector)
55
- gristColumnRegisterEditor('code-input', GristEditorCodeInput)
56
-
57
- // Grist Filter Renderer
58
- gristRegisterFilterRenderer('meta-code-selector', [FilterGristMetaCodeSelect])
59
- gristRegisterFilterRenderer('meta-object-selector', [FilterGristMetaObjectSelect])
60
-
61
- // Filter Form Renderer
62
- formRegisterFilterRenderer('meta-code-selector', [FilterFormMetaCodeSelect])
63
- formRegisterFilterRenderer('meta-object-selector', [FilterFormMetaObjectSelect])
64
-
65
- // Grist Default Registry
66
- GristDefaultValue.registry()
67
-
68
- auth.on('profile', async ({ credential, domains, domain }) => {
69
- // 2. 메뉴 정보를 서버로 부터 받아서 적용
70
- const menuRoutes = await getDynamicMenus()
71
- updateMenuTemplate(menuRoutes.menus)
72
-
73
- i18next.on('languageChanged', async () => {
74
- updateMenuTemplate((await getDynamicMenus(true)).menus)
75
- })
76
-
77
- // 3. 동적 메뉴 관리 화면 추가
78
- store.dispatch({
79
- type: ADD_MORENDA,
80
- morenda: {
81
- icon: html`<md-icon>auto_fix_high</md-icon>`,
82
- name: html`<ox-i18n msgid="title.dynamic_menu"></ox-i18n>`,
83
- action: () => {
84
- navigate('dynamic-menu')
85
- }
86
- }
87
- })
88
-
89
- // 4. 엔티티 관리 화면 추가
90
- store.dispatch({
91
- type: ADD_MORENDA,
92
- morenda: {
93
- icon: html`<md-icon>filter_tilt_shift</md-icon>`,
94
- name: html`<ox-i18n msgid="title.entity"></ox-i18n>`,
95
- action: () => {
96
- navigate('config-entity')
97
- }
98
- }
99
- })
100
-
101
- // 5. 용어 관리 화면 추가
102
- store.dispatch({
103
- type: ADD_MORENDA,
104
- morenda: {
105
- icon: html`<md-icon>speaker_notes</md-icon>`,
106
- name: html`<ox-i18n msgid="title.terminology"></ox-i18n>`,
107
- action: () => {
108
- navigate('config-terminology')
109
- }
110
- }
111
- })
112
-
113
- // 6. 공통 코드 화면 추가
114
- store.dispatch({
115
- type: ADD_MORENDA,
116
- morenda: {
117
- icon: html`<md-icon>code</md-icon>`,
118
- name: html`<ox-i18n msgid="title.code-management"></ox-i18n>`,
119
- action: () => {
120
- navigate('codes')
121
- }
122
- }
123
- })
124
-
125
- // 7. 업무정의 리스트 추가
126
- store.dispatch({
127
- type: ADD_MORENDA,
128
- morenda: {
129
- icon: html`<md-icon>business_center</md-icon>`,
130
- name: html`<ox-i18n msgid="title.meta_activity_list"></ox-i18n>`,
131
- action: () => {
132
- navigate('meta-activity-list')
133
- }
134
- }
135
- })
136
-
137
- store.dispatch({
138
- type: ADD_MORENDA,
139
- morenda: {
140
- icon: html`<md-icon>margin</md-icon>`,
141
- name: html`<ox-i18n msgid="title.meta_activity_define"></ox-i18n>`,
142
- action: () => {
143
- navigate('meta-activity-define')
144
- }
145
- }
146
- })
147
-
148
- store.dispatch({
149
- type: ADD_MORENDA,
150
- morenda: {
151
- icon: html`<md-icon>work</md-icon>`,
152
- name: html`<ox-i18n msgid="title.activity_list"></ox-i18n>`,
153
- action: () => {
154
- navigate('activity-list')
155
- }
156
- }
157
- })
158
-
159
- store.dispatch({
160
- type: ADD_MORENDA,
161
- morenda: {
162
- icon: html` <md-icon>dataset</md-icon> `,
163
- name: html` <ox-i18n msgid="text.attribute management"></ox-i18n> `,
164
- action: () => {
165
- navigate('attributes')
166
- }
167
- }
168
- })
169
- })
170
- }
@@ -1,102 +0,0 @@
1
- import '@material/web/icon/icon.js'
2
- import '../popup/meta-object-selector-popup'
3
-
4
- import { html } from 'lit-html'
5
-
6
- import { openPopup } from '@operato/layout'
7
- import { FilterSelectRenderer } from '@operato/form'
8
- import { TermsUtil } from './../../utils/terms-util'
9
-
10
- function openMetaCodeSelector(filter, value, confirmCallback) {
11
- var template = html`
12
- <meta-object-selector-popup .value=${value} .options=${filter.options} .confirmCallback=${confirmCallback}>
13
- </meta-object-selector-popup>
14
- `
15
-
16
- openPopup(template, {
17
- backdrop: true,
18
- size: 'large',
19
- title: filter.options.selectorName ? TermsUtil.tMenu(filter.options.selectorName) : TermsUtil.tTitle('select_item')
20
- })
21
- }
22
-
23
- export const FilterFormMetaCodeSelect: FilterSelectRenderer = (filter, value, owner) => {
24
- const options: any = filter.options || {}
25
- const codes = options.codes && options.codes.length > 0 ? options.codes : undefined
26
- const { operator = 'eq' } = filter
27
- const hiddenText = value ? value : ''
28
-
29
- var text = value ? value : ''
30
-
31
- if (options.dispField && value && codes) {
32
- let dispCode = codes.filter(x => x.value == value)
33
-
34
- if (dispCode && dispCode.length > 0) {
35
- text = dispCode[0].display
36
- }
37
- }
38
-
39
- return operator === 'eq'
40
- ? html`
41
- <input name='${filter.name}' .value=${hiddenText} type="text" hidden></input>
42
- <input
43
- type="text"
44
- readonly
45
- name='${filter.name}_disp'
46
- .value=${text}
47
- @click=${e => {
48
- e.stopPropagation()
49
-
50
- const input = e.target
51
-
52
- const confirmCallback = selected => {
53
- let code = selected ? selected[options.codeField] : ''
54
- let disp = code
55
-
56
- if (selected && options.dispField) {
57
- let fields = options.dispField.split(',')
58
- disp = selected[fields[0]]
59
-
60
- if (fields.length > 1) {
61
- disp += `(${fields
62
- .splice(1)
63
- .map(field => {
64
- return selected[field]
65
- })
66
- .join(',')})`
67
- }
68
- }
69
-
70
- input.value = disp
71
-
72
- let codeInput =
73
- owner.tagName.toLowerCase() == 'ox-grid-header'
74
- ? //@ts-ignore owner element를 전제하지 않는 방법이 필요할 것이다.
75
- owner.renderRoot.querySelector(`[name="${filter.name}"]`)
76
- : //@ts-ignore owner element를 전제하지 않는 방법이 필요할 것이다.
77
- owner.renderRoot.querySelector(`form [name="${filter.name}"]`)
78
-
79
- codeInput.value = code
80
-
81
- input.dispatchEvent(new Event('change', { bubbles: true }))
82
-
83
- input.dispatchEvent(
84
- new CustomEvent('filter-change', {
85
- bubbles: true,
86
- composed: true,
87
- detail: {
88
- name: filter.name,
89
- operator,
90
- value: code
91
- }
92
- })
93
- )
94
- }
95
-
96
- openMetaCodeSelector(filter, value, confirmCallback)
97
- }}
98
- />
99
- <md-icon style="--md-icon-size: 18px;margin-left: -24px;">manage_search</md-icon>
100
- `
101
- : html``
102
- }
@@ -1,107 +0,0 @@
1
- import '@material/web/icon/icon.js'
2
- import '../popup/meta-object-selector-popup'
3
-
4
- import { html } from 'lit-html'
5
-
6
- import { openPopup } from '@operato/layout'
7
- import { FilterSelectRenderer } from '@operato/form'
8
- import { TermsUtil } from '../../utils/terms-util'
9
- import { SelectOption, SelectOptionObject } from '@operato/data-grist'
10
-
11
- function openMetaObjectSelector(filter, value, confirmCallback) {
12
- var template = html` <meta-object-selector-popup .value=${value} .options=${filter.options} .confirmCallback=${confirmCallback}></meta-object-selector-popup> `
13
-
14
- openPopup(template, {
15
- backdrop: true,
16
- size: 'large',
17
- title: filter.options.selectorName ? TermsUtil.tMenu(filter.options.selectorName) : TermsUtil.tTitle('select_item')
18
- })
19
- }
20
-
21
- export const FilterFormMetaObjectSelect: FilterSelectRenderer = (filter, value, owner) => {
22
- const options = filter.options as {
23
- [key: string]: any
24
- }
25
- const { operator = 'eq' } = filter
26
- const hiddenText = value ? value.id : ''
27
-
28
- var text = ''
29
-
30
- if (value) {
31
- let fields = options!.nameField.split(',')
32
- text = value[fields[0]]
33
-
34
- if (fields.length > 1) {
35
- text += `(${fields
36
- .splice(1)
37
- .map(field => {
38
- return value[field]
39
- })
40
- .join(',')})`
41
- }
42
- }
43
-
44
- return operator === 'eq'
45
- ? html`
46
- <input name='${filter.name}' .value=${hiddenText} type="text" hidden></input>
47
- <input
48
- type="text"
49
- readonly
50
- name='${filter.name}_disp'
51
- .value=${text}
52
- @click=${e => {
53
- e.stopPropagation()
54
-
55
- const input = e.target
56
-
57
- const confirmCallback = selected => {
58
- let code = selected ? selected.id : ''
59
- let disp = ''
60
-
61
- if (selected) {
62
- let fields = options!.nameField.split(',')
63
- disp = selected[fields[0]]
64
-
65
- if (fields.length > 1) {
66
- disp += `(${fields
67
- .splice(1)
68
- .map(field => {
69
- return selected[field]
70
- })
71
- .join(',')})`
72
- }
73
- }
74
-
75
- input.value = disp
76
-
77
- let codeInput =
78
- owner.tagName.toLowerCase() == 'ox-grid-header'
79
- ? //@ts-ignore owner element를 전제하지 않는 방법이 필요할 것이다.
80
- owner.renderRoot.querySelector(`[name="${filter.name}"]`)
81
- : //@ts-ignore owner element를 전제하지 않는 방법이 필요할 것이다.
82
- owner.renderRoot.querySelector(`form [name="${filter.name}"]`)
83
-
84
- codeInput.value = code
85
-
86
- input.dispatchEvent(new Event('change', { bubbles: true }))
87
-
88
- input.dispatchEvent(
89
- new CustomEvent('filter-change', {
90
- bubbles: true,
91
- composed: true,
92
- detail: {
93
- name: filter.name,
94
- operator,
95
- value: code
96
- }
97
- })
98
- )
99
- }
100
-
101
- openMetaObjectSelector(filter, value, confirmCallback)
102
- }}
103
- />
104
- <md-icon style="--md-icon-size: 18px;margin-left: -24px;">manage_search</md-icon>
105
- `
106
- : html``
107
- }
@@ -1,97 +0,0 @@
1
- import '../popup/meta-object-selector-popup'
2
-
3
- import { html } from 'lit-html'
4
-
5
- import { openPopup } from '@operato/layout'
6
- import { FilterConfigObject, FilterSelectRenderer } from '@operato/data-grist'
7
- import { TermsUtil } from '../../utils/terms-util'
8
-
9
- function openMetaCodeSelector(column, value, confirmCallback) {
10
- var template = html` <meta-object-selector-popup .value=${value} .options=${column.record.options} .confirmCallback=${confirmCallback}></meta-object-selector-popup> `
11
-
12
- openPopup(template, {
13
- backdrop: true,
14
- size: 'large',
15
- title: column.record.options.selectorName ? TermsUtil.tMenu(column.record.options.selectorName) : TermsUtil.tTitle('select_item')
16
- })
17
- }
18
-
19
- export const FilterGristMetaCodeSelect: FilterSelectRenderer = (column, value, owner) => {
20
- const filter = column.filter
21
- const options = column.record.options
22
- const codes = options.codes && options.codes.length > 0 ? options.codes : undefined
23
- const { operator = 'eq' } = filter as FilterConfigObject
24
- const hiddenText = value ? value : ''
25
-
26
- var text = value ? value : ''
27
-
28
- if (options.dispField && value && codes) {
29
- let dispCode = codes.filter(x => x.value == value)
30
-
31
- if (dispCode && dispCode.length > 0) {
32
- text = dispCode[0].display
33
- }
34
- }
35
-
36
- return operator === 'eq'
37
- ? html`
38
- <input name='${column.name}' .value=${hiddenText} type="text" hidden></input>
39
- <input
40
- type="text"
41
- readonly
42
- name='${column.name}_disp'
43
- .value=${text}
44
- @click=${e => {
45
- e.stopPropagation()
46
-
47
- const input = e.target
48
-
49
- const confirmCallback = selected => {
50
- let code = selected ? selected[options.codeField] : ''
51
- let disp = code
52
-
53
- if (selected && options.dispField) {
54
- let fields = options.dispField.split(',')
55
- disp = selected[fields[0]]
56
-
57
- if (fields.length > 1) {
58
- disp += `(${fields
59
- .splice(1)
60
- .map(field => {
61
- return selected[field]
62
- })
63
- .join(',')})`
64
- }
65
- }
66
-
67
- input.value = disp
68
-
69
- let codeInput =
70
- owner.tagName.toLowerCase() == 'ox-grid-header'
71
- ? //@ts-ignore owner element를 전제하지 않는 방법이 필요할 것이다.
72
- owner.renderRoot.querySelector(`[name="${filter.name}"]`)
73
- : //@ts-ignore owner element를 전제하지 않는 방법이 필요할 것이다.
74
- owner.renderRoot.querySelector(`form [name="${filter.name}"]`)
75
- codeInput.value = code
76
-
77
- input.dispatchEvent(new Event('change', { bubbles: true }))
78
-
79
- input.dispatchEvent(
80
- new CustomEvent('filter-change', {
81
- bubbles: true,
82
- composed: true,
83
- detail: {
84
- name: column.name,
85
- operator,
86
- value: code
87
- }
88
- })
89
- )
90
- }
91
-
92
- openMetaCodeSelector(column, value, confirmCallback)
93
- }}
94
- />
95
- `
96
- : html``
97
- }
@@ -1,102 +0,0 @@
1
- import '../popup/meta-object-selector-popup'
2
-
3
- import { html } from 'lit-html'
4
-
5
- import { openPopup } from '@operato/layout'
6
- import { FilterConfigObject, FilterSelectRenderer } from '@operato/data-grist'
7
- import { TermsUtil } from '../../utils/terms-util'
8
-
9
- function openMetaObjectSelector(column, value, confirmCallback) {
10
- var template = html` <meta-object-selector-popup .value=${value} .options=${column.record.options} .confirmCallback=${confirmCallback}></meta-object-selector-popup> `
11
-
12
- openPopup(template, {
13
- backdrop: true,
14
- size: 'large',
15
- title: column.record.options.selectorName ? TermsUtil.tMenu(column.record.options.selectorName) : TermsUtil.tTitle('select_item')
16
- })
17
- }
18
-
19
- export const FilterGristMetaObjectSelect: FilterSelectRenderer = (column, value, owner) => {
20
- const filter = column.filter
21
- const { operator = 'eq' } = filter as FilterConfigObject
22
- const options = column.record.options
23
- const hiddenText = value ? value.id : ''
24
-
25
- var text = ''
26
-
27
- if (value) {
28
- let fields = options.nameField.split(',')
29
- text = value[fields[0]]
30
-
31
- if (fields.length > 1) {
32
- text += `(${fields
33
- .splice(1)
34
- .map(field => {
35
- return value[field]
36
- })
37
- .join(',')})`
38
- }
39
- }
40
-
41
- return operator === 'eq'
42
- ? html`
43
- <input name='${column.name}' .value=${hiddenText} type="text" hidden></input>
44
- <input
45
- type="text"
46
- readonly
47
- name='${column.name}_disp'
48
- .value=${text}
49
- @click=${e => {
50
- e.stopPropagation()
51
-
52
- const input = e.target
53
-
54
- const confirmCallback = selected => {
55
- let code = selected ? selected.id : ''
56
- let disp = ''
57
-
58
- if (selected) {
59
- let fields = options.nameField.split(',')
60
- disp = selected[fields[0]]
61
-
62
- if (fields.length > 1) {
63
- disp += `(${fields
64
- .splice(1)
65
- .map(field => {
66
- return selected[field]
67
- })
68
- .join(',')})`
69
- }
70
- }
71
-
72
- input.value = disp
73
-
74
- let codeInput =
75
- owner.tagName.toLowerCase() == 'ox-grid-header'
76
- ? //@ts-ignore owner element를 전제하지 않는 방법이 필요할 것이다.
77
- owner.renderRoot.querySelector(`[name="${filter.name}"]`)
78
- : //@ts-ignore owner element를 전제하지 않는 방법이 필요할 것이다.
79
- owner.renderRoot.querySelector(`form [name="${filter.name}"]`)
80
- codeInput.value = code
81
-
82
- input.dispatchEvent(new Event('change', { bubbles: true }))
83
-
84
- input.dispatchEvent(
85
- new CustomEvent('filter-change', {
86
- bubbles: true,
87
- composed: true,
88
- detail: {
89
- name: column.name,
90
- operator,
91
- value: code
92
- }
93
- })
94
- )
95
- }
96
-
97
- openMetaObjectSelector(column, value, confirmCallback)
98
- }}
99
- />
100
- `
101
- : html``
102
- }