@things-factory/meta-ui 7.0.1-alpha.61 → 7.0.1-alpha.63

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 (40) hide show
  1. package/client/bootstrap.ts +0 -1
  2. package/client/pages/personalize/{personal-column-selector.js → personal-column-selector.ts} +111 -114
  3. package/client/utils/meta-api.js +12 -4
  4. package/client/utils/meta-ui-util.js +172 -42
  5. package/client/utils/service-util.js +93 -21
  6. package/dist-client/bootstrap.d.ts +0 -1
  7. package/dist-client/bootstrap.js +0 -1
  8. package/dist-client/bootstrap.js.map +1 -1
  9. package/dist-client/pages/personalize/personal-column-selector.d.ts +18 -26
  10. package/dist-client/pages/personalize/personal-column-selector.js +127 -124
  11. package/dist-client/pages/personalize/personal-column-selector.js.map +1 -1
  12. package/dist-client/tsconfig.tsbuildinfo +1 -1
  13. package/dist-client/utils/meta-api.d.ts +3 -3
  14. package/dist-client/utils/meta-api.js +3 -3
  15. package/dist-client/utils/meta-api.js.map +1 -1
  16. package/dist-client/utils/meta-ui-util.js +120 -30
  17. package/dist-client/utils/meta-ui-util.js.map +1 -1
  18. package/dist-client/utils/service-util.d.ts +1 -1
  19. package/dist-client/utils/service-util.js +58 -15
  20. package/dist-client/utils/service-util.js.map +1 -1
  21. package/dist-server/service/button-role/button-role-query.js +1 -1
  22. package/dist-server/service/button-role/button-role-query.js.map +1 -1
  23. package/dist-server/service/grid-personalize/grid-personalize-mutation.js +25 -1
  24. package/dist-server/service/grid-personalize/grid-personalize-mutation.js.map +1 -1
  25. package/dist-server/service/grid-personalize/grid-personalize-query.js +13 -12
  26. package/dist-server/service/grid-personalize/grid-personalize-query.js.map +1 -1
  27. package/dist-server/service/grid-personalize/grid-personalize-type.js +4 -4
  28. package/dist-server/service/grid-personalize/grid-personalize-type.js.map +1 -1
  29. package/dist-server/service/grid-personalize/grid-personalize.js +3 -3
  30. package/dist-server/service/grid-personalize/grid-personalize.js.map +1 -1
  31. package/dist-server/service/menu-button-auth/menu-button-auth-query.js +3 -3
  32. package/dist-server/service/menu-button-auth/menu-button-auth-query.js.map +1 -1
  33. package/dist-server/tsconfig.tsbuildinfo +1 -1
  34. package/package.json +3 -2
  35. package/server/service/button-role/button-role-query.ts +9 -4
  36. package/server/service/grid-personalize/grid-personalize-mutation.ts +37 -8
  37. package/server/service/grid-personalize/grid-personalize-query.ts +11 -12
  38. package/server/service/grid-personalize/grid-personalize-type.ts +5 -7
  39. package/server/service/grid-personalize/grid-personalize.ts +10 -7
  40. package/server/service/menu-button-auth/menu-button-auth-query.ts +31 -29
@@ -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'\nimport './load-components'\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 '@things-factory/lite-menu/dist-client'\nimport { GristDefaultValue } from './utils/grist-default-value'\nimport { getDynamicMenus } 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 auth.on('profile', async ({ credential, domains, domain }) => {\n // 2. 메뉴 정보를 서버로 부터 받아서 적용\n const menuRoutes = await getDynamicMenus()\n updateMenuTemplate(menuRoutes.menus)\n\n i18next.on('languageChanged', async () => {\n updateMenuTemplate((await getDynamicMenus(true)).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'\nimport './load-components'\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 '@things-factory/lite-menu/dist-client'\nimport { GristDefaultValue } from './utils/grist-default-value'\nimport { getDynamicMenus } 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/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 auth.on('profile', async ({ credential, domains, domain }) => {\n // 2. 메뉴 정보를 서버로 부터 받아서 적용\n const menuRoutes = await getDynamicMenus()\n updateMenuTemplate(menuRoutes.menus)\n\n i18next.on('languageChanged', async () => {\n updateMenuTemplate((await getDynamicMenus(true)).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,48 +1,39 @@
1
+ import '@material/web/icon/icon.js';
2
+ import { LitElement } from 'lit';
3
+ declare const PersonalColumnSelector_base: (new (...args: any[]) => LitElement) & typeof LitElement;
1
4
  /**
2
5
  * @license
3
6
  * Copyright © HatioLab Inc. All rights reserved.
4
7
  * @author Yang <wryang@hatiolab.com>
5
8
  * @description 사용자 그리드 컬럼 개인화 팝업
6
9
  */
7
- export class PersonalColumnSelector {
10
+ export declare class PersonalColumnSelector extends PersonalColumnSelector_base {
8
11
  /**
9
12
  * @description 스타일 정의
10
13
  ***********************************
11
14
  * @returns {Object} 화면의 스타일 정의
12
15
  */
13
- static get styles(): any;
16
+ static styles: import("lit").CSSResult[];
14
17
  /**
15
- * @description 프로퍼티 정의
16
- ***********************************
17
- * @returns {Object} 화면의 프로퍼티 정의
18
+ * @description 선택된 그리드
19
+ */
20
+ configGrist: any;
21
+ /**
22
+ * @description 메뉴 ID
18
23
  */
19
- static get properties(): any;
24
+ menuId: string;
25
+ private grist;
26
+ private gridConfig;
20
27
  /**
21
- * @description 라이트 사이클
28
+ * @description 라이프 사이클
22
29
  ***************************
23
30
  */
24
31
  connectedCallback(): Promise<void>;
25
- gridConfig: {
26
- rows: {
27
- selectable: boolean;
28
- appendable: boolean;
29
- };
30
- pagination: {
31
- infinite: boolean;
32
- };
33
- columns: any[];
34
- } | undefined;
35
32
  /**
36
33
  * @description 라이프 사이클
37
34
  ***************************
38
35
  */
39
36
  render(): import("lit").TemplateResult<1>;
40
- /**
41
- * @description 그리드 리턴
42
- **************************
43
- * @returns {Object} 그리드
44
- */
45
- get grist(): any;
46
37
  /**
47
38
  * @description 컬럼 조회
48
39
  ***************************
@@ -57,15 +48,16 @@ export class PersonalColumnSelector {
57
48
  ***************************
58
49
  * @returns
59
50
  */
60
- delete(e: any): Promise<void>;
51
+ delete(e: MouseEvent): Promise<void>;
61
52
  /**
62
53
  * @description 개인화 그리드 초기화
63
54
  ************************************************
64
55
  */
65
- reset(e: any): Promise<void>;
56
+ reset(e: MouseEvent): Promise<void>;
66
57
  /**
67
58
  * @description 컬럼 변경 사항 저장
68
59
  ************************************************
69
60
  */
70
- save(e: any): Promise<void>;
61
+ save(e: MouseEvent): Promise<void>;
71
62
  }
63
+ export {};
@@ -1,110 +1,25 @@
1
+ import { __decorate, __metadata } from "tslib";
1
2
  import '@material/web/icon/icon.js';
3
+ import gql from 'graphql-tag';
2
4
  import { css, html, LitElement } from 'lit';
3
- import { i18next, localize } from '@things-factory/i18n-base';
5
+ import { customElement, property, query } from 'lit/decorators.js';
6
+ import { i18next, localize } from '@operato/i18n';
7
+ import { client } from '@operato/graphql';
8
+ import { DataGrist } from '@operato/data-grist';
4
9
  import { ScrollbarStyles, CommonGristStyles, ButtonContainerStyles } from '@operato/styles';
5
10
  import { TermsUtil } from './../../utils/terms-util';
6
11
  import { MetaApi } from '../../utils/meta-api';
7
12
  import { ServiceUtil } from '../../utils/service-util';
13
+ import { UiUtil } from '../../utils/ui-util';
8
14
  /**
9
15
  * @license
10
16
  * Copyright © HatioLab Inc. All rights reserved.
11
17
  * @author Yang <wryang@hatiolab.com>
12
18
  * @description 사용자 그리드 컬럼 개인화 팝업
13
19
  */
14
- export class PersonalColumnSelector extends localize(i18next)(LitElement) {
20
+ let PersonalColumnSelector = class PersonalColumnSelector extends localize(i18next)(LitElement) {
15
21
  /**
16
- * @description 스타일 정의
17
- ***********************************
18
- * @returns {Object} 화면의 스타일 정의
19
- */
20
- static get styles() {
21
- let styles = [
22
- ScrollbarStyles,
23
- CommonGristStyles,
24
- ButtonContainerStyles,
25
- css `
26
- :host {
27
- display: flex;
28
- flex-direction: column;
29
- overflow-x: auto;
30
- }
31
- .container {
32
- flex: 1;
33
- display: grid;
34
- overflow: hidden;
35
- }
36
- .container_detail {
37
- background-color: var(--main-section-background-color);
38
- display: flex;
39
- flex-direction: column;
40
- flex: 1;
41
- overflow-y: auto;
42
- }
43
-
44
- h2 {
45
- padding: var(--subtitle-padding);
46
- font: var(--subtitle-font);
47
- color: var(--subtitle-text-color);
48
- border-bottom: var(--subtitle-border-bottom);
49
- }
50
-
51
- .container_detail h2 {
52
- margin: var(--grist-title-margin);
53
- border: var(--grist-title-border);
54
- font: var(--grist-title-font);
55
- color: var(--secondary-color);
56
- }
57
-
58
- .container_detail h2 md-icon {
59
- --md-icon-size: var(--grist-title-icon-size);
60
- vertical-align: middle;
61
- margin: var(--grist-title-icon-margin);
62
- color: var(--grist-title-icon-color);
63
- }
64
-
65
- h2 {
66
- padding-bottom: var(--grist-title-with-grid-padding);
67
- }
68
-
69
- ox-grist {
70
- overflow-y: auto;
71
- flex: 1;
72
- }
73
-
74
- ox-filters-form {
75
- flex: 1;
76
- }
77
- `
78
- ];
79
- return styles;
80
- }
81
- /**
82
- * @description 프로퍼티 정의
83
- ***********************************
84
- * @returns {Object} 화면의 프로퍼티 정의
85
- */
86
- static get properties() {
87
- return {
88
- /**
89
- * @description 선택된 그리드
90
- ****************************
91
- * @type {Object}
92
- */
93
- configGrist: {
94
- type: Object
95
- },
96
- /**
97
- * @description 메뉴 ID
98
- ******************************
99
- * @type {String}
100
- */
101
- menuId: {
102
- type: String
103
- }
104
- };
105
- }
106
- /**
107
- * @description 라이트 사이클
22
+ * @description 라이프 사이클
108
23
  ***************************
109
24
  */
110
25
  async connectedCallback() {
@@ -120,9 +35,7 @@ export class PersonalColumnSelector extends localize(i18next)(LitElement) {
120
35
  MetaApi.getGristColumnConfig('boolean', 'hidden', 'center', true, false, 60)
121
36
  ]
122
37
  };
123
- if (super.connectedCallback) {
124
- await super.connectedCallback();
125
- }
38
+ await super.connectedCallback();
126
39
  }
127
40
  /**
128
41
  * @description 라이프 사이클
@@ -131,25 +44,26 @@ export class PersonalColumnSelector extends localize(i18next)(LitElement) {
131
44
  render() {
132
45
  return html ` <div id="container" class="container">
133
46
  <div class="container_detail">
134
- <ox-grist id="ox-grist" .config=${this.gridConfig} .mode=${'GRID'} auto-fetch .fetchHandler=${this.fetchColumns.bind(this)}> </ox-grist>
47
+ <ox-grist
48
+ id="ox-grist"
49
+ .config=${this.gridConfig}
50
+ .mode=${'GRID'}
51
+ auto-fetch
52
+ .fetchHandler=${this.fetchColumns.bind(this)}
53
+ >
54
+ </ox-grist>
135
55
 
136
56
  <div class="button-container" style="margin-left:unset">
137
57
  <button @click=${this.reset.bind(this)}><md-icon>restart_alt</md-icon>${TermsUtil.tButton('reset')}</button>
138
58
  <div filler></div>
139
59
  <button @click=${this.save.bind(this)}><md-icon>save</md-icon>${TermsUtil.tButton('save')}</button>
140
- <button danger @click=${this.delete.bind(this)}><md-icon>delete</md-icon>${TermsUtil.tButton('delete')}</button>
60
+ <button danger @click=${this.delete.bind(this)}>
61
+ <md-icon>delete</md-icon>${TermsUtil.tButton('delete')}
62
+ </button>
141
63
  </div>
142
64
  </div>
143
65
  </div>`;
144
66
  }
145
- /**
146
- * @description 그리드 리턴
147
- **************************
148
- * @returns {Object} 그리드
149
- */
150
- get grist() {
151
- return this.shadowRoot.querySelector('#ox-grist');
152
- }
153
67
  /**
154
68
  * @description 컬럼 조회
155
69
  ***************************
@@ -173,7 +87,7 @@ export class PersonalColumnSelector extends localize(i18next)(LitElement) {
173
87
  * @returns
174
88
  */
175
89
  async delete(e) {
176
- let personal = await MetaApi.findMenuGridPersnalTemplate(this.menuId);
90
+ let personal = await MetaApi.getMyMenuGridPersnal(this.menuId);
177
91
  let { id = undefined } = personal;
178
92
  if (id) {
179
93
  let result = await ServiceUtil.deleteListByIds([id], 'deleteGridPersonalizes');
@@ -200,8 +114,7 @@ export class PersonalColumnSelector extends localize(i18next)(LitElement) {
200
114
  // 변경 체크
201
115
  MetaApi.patchesForUpdateMultiple(this.grist);
202
116
  // 기존 데이터 조회
203
- let personal = await MetaApi.findMenuGridPersnalTemplate(this.menuId);
204
- let { id = undefined, template = {} } = personal;
117
+ const { template = {} } = (await MetaApi.getMyMenuGridPersnal(this.menuId)) || {};
205
118
  let tempName = 'master';
206
119
  if (this.configGrist.configName) {
207
120
  tempName = this.configGrist.configName;
@@ -219,22 +132,112 @@ export class PersonalColumnSelector extends localize(i18next)(LitElement) {
219
132
  template[tempName] = data.map(x => {
220
133
  return x.name;
221
134
  });
222
- let patch = { template: JSON.stringify(template) };
223
- // 기존에 ID 있으면 update
224
- if (id) {
225
- patch.id = id;
226
- patch.cuFlag = 'M';
135
+ try {
136
+ const response = await client.query({
137
+ query: gql `
138
+ mutation ($menuId: String!, $template: Object!) {
139
+ saveMyGridpersonalize(menuId: $menuId, template: $template) {
140
+ id
141
+ }
142
+ }
143
+ `,
144
+ variables: {
145
+ menuId: this.menuId,
146
+ template
147
+ }
148
+ });
149
+ if (!response.errors) {
150
+ UiUtil.showToast('info', TermsUtil.tText('success to save'));
151
+ }
152
+ else {
153
+ ServiceUtil.showGraphqlErrorResponse(response);
154
+ }
227
155
  }
228
- else {
229
- patch.menu = {
230
- id: this.menuId
231
- };
232
- patch.cuFlag = '+';
156
+ catch (e) {
157
+ ServiceUtil.showGraphqlException(e);
233
158
  }
234
- await MetaApi.updateMultiple('updateMultipleGridpersonalize', [patch]);
235
- MetaApi.showToast('info', TermsUtil.tText('success to save'));
236
159
  history.back();
237
160
  }
238
- }
239
- customElements.define('personal-column-selector', PersonalColumnSelector);
161
+ };
162
+ /**
163
+ * @description 스타일 정의
164
+ ***********************************
165
+ * @returns {Object} 화면의 스타일 정의
166
+ */
167
+ PersonalColumnSelector.styles = [
168
+ ScrollbarStyles,
169
+ CommonGristStyles,
170
+ ButtonContainerStyles,
171
+ css `
172
+ :host {
173
+ display: flex;
174
+ flex-direction: column;
175
+ overflow-x: auto;
176
+ }
177
+
178
+ .container {
179
+ flex: 1;
180
+ display: grid;
181
+ overflow: hidden;
182
+ }
183
+
184
+ .container_detail {
185
+ background-color: var(--main-section-background-color);
186
+ display: flex;
187
+ flex-direction: column;
188
+ flex: 1;
189
+ overflow-y: auto;
190
+ }
191
+
192
+ h2 {
193
+ padding: var(--subtitle-padding);
194
+ font: var(--subtitle-font);
195
+ color: var(--subtitle-text-color);
196
+ border-bottom: var(--subtitle-border-bottom);
197
+ }
198
+
199
+ .container_detail h2 {
200
+ margin: var(--grist-title-margin);
201
+ border: var(--grist-title-border);
202
+ font: var(--grist-title-font);
203
+ color: var(--secondary-color);
204
+ }
205
+
206
+ .container_detail h2 md-icon {
207
+ --md-icon-size: var(--grist-title-icon-size);
208
+ vertical-align: middle;
209
+ margin: var(--grist-title-icon-margin);
210
+ color: var(--grist-title-icon-color);
211
+ }
212
+
213
+ h2 {
214
+ padding-bottom: var(--grist-title-with-grid-padding);
215
+ }
216
+
217
+ ox-grist {
218
+ overflow-y: auto;
219
+ flex: 1;
220
+ }
221
+
222
+ ox-filters-form {
223
+ flex: 1;
224
+ }
225
+ `
226
+ ];
227
+ __decorate([
228
+ property({ type: Object }),
229
+ __metadata("design:type", Object)
230
+ ], PersonalColumnSelector.prototype, "configGrist", void 0);
231
+ __decorate([
232
+ property({ type: String }),
233
+ __metadata("design:type", String)
234
+ ], PersonalColumnSelector.prototype, "menuId", void 0);
235
+ __decorate([
236
+ query('ox-grist'),
237
+ __metadata("design:type", DataGrist)
238
+ ], PersonalColumnSelector.prototype, "grist", void 0);
239
+ PersonalColumnSelector = __decorate([
240
+ customElement('personal-column-selector')
241
+ ], PersonalColumnSelector);
242
+ export { PersonalColumnSelector };
240
243
  //# sourceMappingURL=personal-column-selector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"personal-column-selector.js","sourceRoot":"","sources":["../../../client/pages/personalize/personal-column-selector.js"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\n\nimport { css, html, LitElement } from 'lit'\n\nimport { i18next, localize } from '@things-factory/i18n-base'\nimport { ScrollbarStyles, CommonGristStyles, ButtonContainerStyles } from '@operato/styles'\n\nimport { TermsUtil } from './../../utils/terms-util'\nimport { MetaApi } from '../../utils/meta-api'\nimport { ServiceUtil } from '../../utils/service-util'\n\n/**\n * @license\n * Copyright © HatioLab Inc. All rights reserved.\n * @author Yang <wryang@hatiolab.com>\n * @description 사용자 그리드 컬럼 개인화 팝업\n */\nexport class PersonalColumnSelector extends localize(i18next)(LitElement) {\n /**\n * @description 스타일 정의\n ***********************************\n * @returns {Object} 화면의 스타일 정의\n */\n static get styles() {\n let styles = [\n ScrollbarStyles,\n CommonGristStyles,\n ButtonContainerStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n overflow-x: auto;\n }\n .container {\n flex: 1;\n display: grid;\n overflow: hidden;\n }\n .container_detail {\n background-color: var(--main-section-background-color);\n display: flex;\n flex-direction: column;\n flex: 1;\n overflow-y: auto;\n }\n\n h2 {\n padding: var(--subtitle-padding);\n font: var(--subtitle-font);\n color: var(--subtitle-text-color);\n border-bottom: var(--subtitle-border-bottom);\n }\n\n .container_detail h2 {\n margin: var(--grist-title-margin);\n border: var(--grist-title-border);\n font: var(--grist-title-font);\n color: var(--secondary-color);\n }\n\n .container_detail h2 md-icon {\n --md-icon-size: var(--grist-title-icon-size);\n vertical-align: middle;\n margin: var(--grist-title-icon-margin);\n color: var(--grist-title-icon-color);\n }\n\n h2 {\n padding-bottom: var(--grist-title-with-grid-padding);\n }\n\n ox-grist {\n overflow-y: auto;\n flex: 1;\n }\n\n ox-filters-form {\n flex: 1;\n }\n `\n ]\n return styles\n }\n\n /**\n * @description 프로퍼티 정의\n ***********************************\n * @returns {Object} 화면의 프로퍼티 정의\n */\n static get properties() {\n return {\n /**\n * @description 선택된 그리드\n ****************************\n * @type {Object}\n */\n configGrist: {\n type: Object\n },\n\n /**\n * @description 메뉴 ID\n ******************************\n * @type {String}\n */\n menuId: {\n type: String\n }\n }\n }\n\n /**\n * @description 라이트 사이클\n ***************************\n */\n async connectedCallback() {\n // 메뉴 그룹 그리드 설정\n this.gridConfig = {\n rows: { selectable: false, appendable: false },\n pagination: { infinite: true },\n columns: [\n ...MetaApi.getGristGuttersConfig(false, false),\n MetaApi.getGristColumnConfig('integer', 'rank', 'center', true, false, 80),\n MetaApi.getGristColumnConfig('string', 'name', 'left', false, false, 180),\n MetaApi.getGristColumnConfig2('string', 'header', 'display', 'left', false, false, 180),\n MetaApi.getGristColumnConfig('boolean', 'hidden', 'center', true, false, 60)\n ]\n }\n\n if (super.connectedCallback) {\n await super.connectedCallback()\n }\n }\n\n /**\n * @description 라이프 사이클\n ***************************\n */\n render() {\n return html` <div id=\"container\" class=\"container\">\n <div class=\"container_detail\">\n <ox-grist id=\"ox-grist\" .config=${this.gridConfig} .mode=${'GRID'} auto-fetch .fetchHandler=${this.fetchColumns.bind(this)}> </ox-grist>\n\n <div class=\"button-container\" style=\"margin-left:unset\">\n <button @click=${this.reset.bind(this)}><md-icon>restart_alt</md-icon>${TermsUtil.tButton('reset')}</button>\n <div filler></div>\n <button @click=${this.save.bind(this)}><md-icon>save</md-icon>${TermsUtil.tButton('save')}</button>\n <button danger @click=${this.delete.bind(this)}><md-icon>delete</md-icon>${TermsUtil.tButton('delete')}</button>\n </div>\n </div>\n </div>`\n }\n\n /**\n * @description 그리드 리턴\n **************************\n * @returns {Object} 그리드\n */\n get grist() {\n return this.shadowRoot.querySelector('#ox-grist')\n }\n\n /**\n * @description 컬럼 조회\n ***************************\n * @returns\n */\n async fetchColumns() {\n // 팝업 오프너에서 받아온 그리스트의 설정으로 보여준다\n let cols = this.configGrist.config.columns\n let filterCols = cols.filter(x => x.type != 'gutter' && x.name != 'id' && x.unusable !== true)\n let rank = 0\n\n let items = filterCols.map(x => {\n rank = rank + 10\n x.rank = rank\n return x\n })\n\n return { total: 0, records: items }\n }\n\n /**\n * @description 개인화 데이터 삭제\n ***************************\n * @returns\n */\n async delete(e) {\n let personal = await MetaApi.findMenuGridPersnalTemplate(this.menuId)\n let { id = undefined } = personal\n\n if (id) {\n let result = await ServiceUtil.deleteListByIds([id], 'deleteGridPersonalizes')\n if (result == true) {\n history.back()\n }\n } else {\n await MetaApi.showToast('info', 'there_is_nothing_to_delete')\n }\n }\n\n /**\n * @description 개인화 그리드 초기화\n ************************************************\n */\n async reset(e) {\n await this.grist.fetch()\n }\n\n /**\n * @description 컬럼 변경 사항 저장\n ************************************************\n */\n async save(e) {\n // 변경 체크\n MetaApi.patchesForUpdateMultiple(this.grist)\n\n // 기존 데이터 조회\n let personal = await MetaApi.findMenuGridPersnalTemplate(this.menuId)\n let { id = undefined, template = {} } = personal\n\n let tempName = 'master'\n if (this.configGrist.configName) {\n tempName = this.configGrist.configName\n }\n\n // 기존 데이터 삭제\n if (template[tempName]) {\n delete template[tempName]\n }\n\n // 그리드 설정 데이터 숨김 필드 제외 후 정렬\n let records = this.grist.dirtyData.records\n let data = records.filter(x => x.hidden == false)\n data.sort((a, b) => {\n return a.rank - b.rank\n })\n template[tempName] = data.map(x => {\n return x.name\n })\n\n let patch = { template: JSON.stringify(template) }\n\n // 기존에 ID 가 있으면 update\n if (id) {\n patch.id = id\n patch.cuFlag = 'M'\n } else {\n patch.menu = {\n id: this.menuId\n }\n patch.cuFlag = '+'\n }\n await MetaApi.updateMultiple('updateMultipleGridpersonalize', [patch])\n\n MetaApi.showToast('info', TermsUtil.tText('success to save'))\n history.back()\n }\n}\n\ncustomElements.define('personal-column-selector', PersonalColumnSelector)\n"]}
1
+ {"version":3,"file":"personal-column-selector.js","sourceRoot":"","sources":["../../../client/pages/personalize/personal-column-selector.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\n\nimport gql from 'graphql-tag'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\n\nimport { i18next, localize } from '@operato/i18n'\nimport { client } from '@operato/graphql'\nimport { DataGrist } from '@operato/data-grist'\nimport { ScrollbarStyles, CommonGristStyles, ButtonContainerStyles } from '@operato/styles'\n\nimport { TermsUtil } from './../../utils/terms-util'\nimport { MetaApi } from '../../utils/meta-api'\nimport { ServiceUtil } from '../../utils/service-util'\nimport { UiUtil } from '../../utils/ui-util'\n\n/**\n * @license\n * Copyright © HatioLab Inc. All rights reserved.\n * @author Yang <wryang@hatiolab.com>\n * @description 사용자 그리드 컬럼 개인화 팝업\n */\n\n@customElement('personal-column-selector')\nexport class PersonalColumnSelector extends localize(i18next)(LitElement) {\n /**\n * @description 스타일 정의\n ***********************************\n * @returns {Object} 화면의 스타일 정의\n */\n static styles = [\n ScrollbarStyles,\n CommonGristStyles,\n ButtonContainerStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n overflow-x: auto;\n }\n\n .container {\n flex: 1;\n display: grid;\n overflow: hidden;\n }\n\n .container_detail {\n background-color: var(--main-section-background-color);\n display: flex;\n flex-direction: column;\n flex: 1;\n overflow-y: auto;\n }\n\n h2 {\n padding: var(--subtitle-padding);\n font: var(--subtitle-font);\n color: var(--subtitle-text-color);\n border-bottom: var(--subtitle-border-bottom);\n }\n\n .container_detail h2 {\n margin: var(--grist-title-margin);\n border: var(--grist-title-border);\n font: var(--grist-title-font);\n color: var(--secondary-color);\n }\n\n .container_detail h2 md-icon {\n --md-icon-size: var(--grist-title-icon-size);\n vertical-align: middle;\n margin: var(--grist-title-icon-margin);\n color: var(--grist-title-icon-color);\n }\n\n h2 {\n padding-bottom: var(--grist-title-with-grid-padding);\n }\n\n ox-grist {\n overflow-y: auto;\n flex: 1;\n }\n\n ox-filters-form {\n flex: 1;\n }\n `\n ]\n\n /**\n * @description 선택된 그리드\n */\n @property({ type: Object }) configGrist: any\n\n /**\n * @description 메뉴 ID\n */\n @property({ type: String }) menuId!: string\n\n @query('ox-grist') private grist!: DataGrist\n\n private gridConfig: any\n\n /**\n * @description 라이프 사이클\n ***************************\n */\n async connectedCallback() {\n // 메뉴 그룹 그리드 설정\n this.gridConfig = {\n rows: { selectable: false, appendable: false },\n pagination: { infinite: true },\n columns: [\n ...MetaApi.getGristGuttersConfig(false, false),\n MetaApi.getGristColumnConfig('integer', 'rank', 'center', true, false, 80),\n MetaApi.getGristColumnConfig('string', 'name', 'left', false, false, 180),\n MetaApi.getGristColumnConfig2('string', 'header', 'display', 'left', false, false, 180),\n MetaApi.getGristColumnConfig('boolean', 'hidden', 'center', true, false, 60)\n ]\n }\n\n await super.connectedCallback()\n }\n\n /**\n * @description 라이프 사이클\n ***************************\n */\n render() {\n return html` <div id=\"container\" class=\"container\">\n <div class=\"container_detail\">\n <ox-grist\n id=\"ox-grist\"\n .config=${this.gridConfig}\n .mode=${'GRID'}\n auto-fetch\n .fetchHandler=${this.fetchColumns.bind(this)}\n >\n </ox-grist>\n\n <div class=\"button-container\" style=\"margin-left:unset\">\n <button @click=${this.reset.bind(this)}><md-icon>restart_alt</md-icon>${TermsUtil.tButton('reset')}</button>\n <div filler></div>\n <button @click=${this.save.bind(this)}><md-icon>save</md-icon>${TermsUtil.tButton('save')}</button>\n <button danger @click=${this.delete.bind(this)}>\n <md-icon>delete</md-icon>${TermsUtil.tButton('delete')}\n </button>\n </div>\n </div>\n </div>`\n }\n\n /**\n * @description 컬럼 조회\n ***************************\n * @returns\n */\n async fetchColumns() {\n // 팝업 오프너에서 받아온 그리스트의 설정으로 보여준다\n let cols = this.configGrist.config.columns\n let filterCols = cols.filter(x => x.type != 'gutter' && x.name != 'id' && x.unusable !== true)\n let rank = 0\n\n let items = filterCols.map(x => {\n rank = rank + 10\n x.rank = rank\n return x\n })\n\n return { total: 0, records: items }\n }\n\n /**\n * @description 개인화 데이터 삭제\n ***************************\n * @returns\n */\n async delete(e: MouseEvent) {\n let personal = await MetaApi.getMyMenuGridPersnal(this.menuId)\n let { id = undefined } = personal\n\n if (id) {\n let result = await ServiceUtil.deleteListByIds([id], 'deleteGridPersonalizes')\n if (result == true) {\n history.back()\n }\n } else {\n await MetaApi.showToast('info', 'there_is_nothing_to_delete')\n }\n }\n\n /**\n * @description 개인화 그리드 초기화\n ************************************************\n */\n async reset(e: MouseEvent) {\n await this.grist.fetch()\n }\n\n /**\n * @description 컬럼 변경 사항 저장\n ************************************************\n */\n async save(e: MouseEvent) {\n // 변경 체크\n MetaApi.patchesForUpdateMultiple(this.grist)\n\n // 기존 데이터 조회\n const { template = {} } = (await MetaApi.getMyMenuGridPersnal(this.menuId)) || {}\n\n let tempName = 'master'\n if (this.configGrist.configName) {\n tempName = this.configGrist.configName\n }\n\n // 기존 데이터 삭제\n if (template[tempName]) {\n delete template[tempName]\n }\n\n // 그리드 설정 데이터 숨김 필드 제외 후 정렬\n let records = this.grist.dirtyData.records\n let data = records.filter(x => x.hidden == false)\n data.sort((a, b) => {\n return a.rank - b.rank\n })\n template[tempName] = data.map(x => {\n return x.name\n })\n\n try {\n const response = await client.query({\n query: gql`\n mutation ($menuId: String!, $template: Object!) {\n saveMyGridpersonalize(menuId: $menuId, template: $template) {\n id\n }\n }\n `,\n variables: {\n menuId: this.menuId,\n template\n }\n })\n\n if (!response.errors) {\n UiUtil.showToast('info', TermsUtil.tText('success to save'))\n } else {\n ServiceUtil.showGraphqlErrorResponse(response)\n }\n } catch (e) {\n ServiceUtil.showGraphqlException(e)\n }\n\n history.back()\n }\n}\n"]}