@things-factory/personalization 7.0.1-alpha.62 → 7.0.1-alpha.64
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/grid-preference-editor.ts +12 -10
- package/client/index.ts +2 -0
- package/client/page-preference-provider-impl.ts +63 -0
- package/client/types.ts +8 -0
- package/dist-client/grid-preference-editor.d.ts +1 -1
- package/dist-client/grid-preference-editor.js +12 -10
- package/dist-client/grid-preference-editor.js.map +1 -1
- package/dist-client/index.d.ts +2 -0
- package/dist-client/index.js +2 -1
- package/dist-client/index.js.map +1 -1
- package/dist-client/page-preference-provider-impl.d.ts +17 -0
- package/dist-client/page-preference-provider-impl.js +52 -0
- package/dist-client/page-preference-provider-impl.js.map +1 -0
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-client/types.d.ts +15 -0
- package/dist-client/types.js +2 -0
- package/dist-client/types.js.map +1 -0
- package/dist-server/index.js +2 -0
- package/dist-server/index.js.map +1 -1
- package/dist-server/service/index.js +4 -4
- package/dist-server/service/index.js.map +1 -1
- package/dist-server/service/page-preference/index.js +9 -0
- package/dist-server/service/page-preference/index.js.map +1 -0
- package/dist-server/service/{screen-preference/screen-preference-mutation.js → page-preference/page-preference-mutation.js} +39 -39
- package/dist-server/service/page-preference/page-preference-mutation.js.map +1 -0
- package/dist-server/service/page-preference/page-preference-query.js +94 -0
- package/dist-server/service/page-preference/page-preference-query.js.map +1 -0
- package/dist-server/service/{screen-preference/screen-preference-type.js → page-preference/page-preference-type.js} +28 -28
- package/dist-server/service/page-preference/page-preference-type.js.map +1 -0
- package/dist-server/service/{screen-preference/screen-preference.js → page-preference/page-preference.js} +30 -30
- package/dist-server/service/page-preference/page-preference.js.map +1 -0
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/helps/personalization/screen-preference.md +1 -1
- package/package.json +4 -4
- package/server/index.ts +2 -0
- package/server/service/index.ts +4 -4
- package/server/service/page-preference/index.ts +6 -0
- package/server/service/page-preference/page-preference-mutation.ts +101 -0
- package/server/service/page-preference/page-preference-query.ts +61 -0
- package/server/service/{screen-preference/screen-preference-type.ts → page-preference/page-preference-type.ts} +8 -8
- package/server/service/{screen-preference/screen-preference.ts → page-preference/page-preference.ts} +13 -13
- package/things-factory.config.js +0 -3
- package/dist-server/migrations/index.js +0 -12
- package/dist-server/migrations/index.js.map +0 -1
- package/dist-server/service/screen-preference/index.js +0 -9
- package/dist-server/service/screen-preference/index.js.map +0 -1
- package/dist-server/service/screen-preference/screen-preference-mutation.js.map +0 -1
- package/dist-server/service/screen-preference/screen-preference-query.js +0 -94
- package/dist-server/service/screen-preference/screen-preference-query.js.map +0 -1
- package/dist-server/service/screen-preference/screen-preference-type.js.map +0 -1
- package/dist-server/service/screen-preference/screen-preference.js.map +0 -1
- package/server/migrations/index.ts +0 -9
- package/server/service/screen-preference/index.ts +0 -6
- package/server/service/screen-preference/screen-preference-mutation.ts +0 -101
- package/server/service/screen-preference/screen-preference-query.ts +0 -61
|
@@ -73,7 +73,7 @@ export class GridPreferenceEditor extends localize(i18next)(LitElement) {
|
|
|
73
73
|
]
|
|
74
74
|
|
|
75
75
|
@property({ type: Object }) target!: DataGrist
|
|
76
|
-
@property({ type: String })
|
|
76
|
+
@property({ type: String }) page!: string
|
|
77
77
|
|
|
78
78
|
@query('ox-grist') private grist!: DataGrist
|
|
79
79
|
|
|
@@ -85,7 +85,7 @@ export class GridPreferenceEditor extends localize(i18next)(LitElement) {
|
|
|
85
85
|
rows: { selectable: false, appendable: false },
|
|
86
86
|
pagination: { infinite: true },
|
|
87
87
|
list: {
|
|
88
|
-
fields: ['
|
|
88
|
+
fields: ['page', 'element'],
|
|
89
89
|
details: ['active', 'updatedAt']
|
|
90
90
|
},
|
|
91
91
|
columns: [
|
|
@@ -97,6 +97,7 @@ export class GridPreferenceEditor extends localize(i18next)(LitElement) {
|
|
|
97
97
|
record: {
|
|
98
98
|
align: 'left'
|
|
99
99
|
},
|
|
100
|
+
hidden: true,
|
|
100
101
|
filter: 'search',
|
|
101
102
|
sortable: true,
|
|
102
103
|
width: 150
|
|
@@ -104,7 +105,7 @@ export class GridPreferenceEditor extends localize(i18next)(LitElement) {
|
|
|
104
105
|
{
|
|
105
106
|
type: 'string',
|
|
106
107
|
name: 'header',
|
|
107
|
-
header: i18next.t('field.
|
|
108
|
+
header: i18next.t('field.name'),
|
|
108
109
|
record: {
|
|
109
110
|
align: 'left'
|
|
110
111
|
},
|
|
@@ -117,7 +118,8 @@ export class GridPreferenceEditor extends localize(i18next)(LitElement) {
|
|
|
117
118
|
label: true,
|
|
118
119
|
header: i18next.t('field.hidden'),
|
|
119
120
|
record: {
|
|
120
|
-
align: 'center'
|
|
121
|
+
align: 'center',
|
|
122
|
+
editable: true
|
|
121
123
|
},
|
|
122
124
|
filter: true,
|
|
123
125
|
sortable: true,
|
|
@@ -164,14 +166,14 @@ export class GridPreferenceEditor extends localize(i18next)(LitElement) {
|
|
|
164
166
|
|
|
165
167
|
const response = await client.query({
|
|
166
168
|
query: gql`
|
|
167
|
-
mutation ($
|
|
168
|
-
|
|
169
|
+
mutation ($page: String!, $element: String!) {
|
|
170
|
+
deleteMyPagePreference(page: $page, element: $element) {
|
|
169
171
|
id
|
|
170
172
|
}
|
|
171
173
|
}
|
|
172
174
|
`,
|
|
173
175
|
variables: {
|
|
174
|
-
|
|
176
|
+
page: this.page,
|
|
175
177
|
element
|
|
176
178
|
}
|
|
177
179
|
})
|
|
@@ -214,14 +216,14 @@ export class GridPreferenceEditor extends localize(i18next)(LitElement) {
|
|
|
214
216
|
|
|
215
217
|
const response = await client.query({
|
|
216
218
|
query: gql`
|
|
217
|
-
mutation ($
|
|
218
|
-
|
|
219
|
+
mutation ($page: String!, $element: String!, $preference: Object!) {
|
|
220
|
+
updateMyPagePreference(page: $page, element: $element, preference: $preference) {
|
|
219
221
|
id
|
|
220
222
|
}
|
|
221
223
|
}
|
|
222
224
|
`,
|
|
223
225
|
variables: {
|
|
224
|
-
|
|
226
|
+
page: this.page,
|
|
225
227
|
element,
|
|
226
228
|
preference
|
|
227
229
|
}
|
package/client/index.ts
CHANGED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import gql from 'graphql-tag'
|
|
2
|
+
import { client } from '@operato/graphql'
|
|
3
|
+
import { i18next } from '@operato/i18n'
|
|
4
|
+
|
|
5
|
+
import { PagePreferenceProvider } from './types'
|
|
6
|
+
|
|
7
|
+
export class PagePreferenceProviderImpl implements PagePreferenceProvider {
|
|
8
|
+
public page?: string
|
|
9
|
+
public element?: string
|
|
10
|
+
public preference?: { [key: string]: any }
|
|
11
|
+
|
|
12
|
+
constructor(page: string, element: string, preference?: { [key: string]: any }) {
|
|
13
|
+
this.page = page
|
|
14
|
+
this.element = element
|
|
15
|
+
this.preference = preference
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
async load(): Promise<{ [key: string]: any } | undefined> {
|
|
19
|
+
const response = await client.query({
|
|
20
|
+
query: gql`
|
|
21
|
+
query ($page: String!, $element: String!) {
|
|
22
|
+
myPagePreference(page: $page, element: $element) {
|
|
23
|
+
preference
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
`,
|
|
27
|
+
variables: {
|
|
28
|
+
page: this.page,
|
|
29
|
+
element: this.element
|
|
30
|
+
}
|
|
31
|
+
})
|
|
32
|
+
|
|
33
|
+
if (!response.errors) {
|
|
34
|
+
this.preference = response.data.myPagePreference?.preference || {}
|
|
35
|
+
return this.preference
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
async save(preference: { [key: string]: any }): Promise<void> {
|
|
40
|
+
const response = await client.mutate({
|
|
41
|
+
mutation: gql`
|
|
42
|
+
mutation ($page: String!, $element: String!, $preference: Object!) {
|
|
43
|
+
updateMyPagePreference(page: $page, element: $element, preference: $preference) {
|
|
44
|
+
preference
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
`,
|
|
48
|
+
variables: {
|
|
49
|
+
page: this.page,
|
|
50
|
+
element: this.element,
|
|
51
|
+
preference
|
|
52
|
+
}
|
|
53
|
+
})
|
|
54
|
+
|
|
55
|
+
if (!response.errors) {
|
|
56
|
+
document.dispatchEvent(
|
|
57
|
+
new CustomEvent('notify', {
|
|
58
|
+
detail: { message: i18next.t('text.updated_successfully'), option: { timer: 3000 } }
|
|
59
|
+
})
|
|
60
|
+
)
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
package/client/types.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface PagePreferenceProvider {
|
|
2
|
+
page?: string
|
|
3
|
+
element?: string
|
|
4
|
+
preference?: { [key: string]: any }
|
|
5
|
+
|
|
6
|
+
load: () => { [key: string]: any } | undefined | Promise<{ [key: string]: any } | undefined>
|
|
7
|
+
save: (preference: { [key: string]: any }) => void | Promise<void>
|
|
8
|
+
}
|
|
@@ -5,7 +5,7 @@ declare const GridPreferenceEditor_base: (new (...args: any[]) => LitElement) &
|
|
|
5
5
|
export declare class GridPreferenceEditor extends GridPreferenceEditor_base {
|
|
6
6
|
static styles: import("lit").CSSResult[];
|
|
7
7
|
target: DataGrist;
|
|
8
|
-
|
|
8
|
+
page: string;
|
|
9
9
|
private grist;
|
|
10
10
|
private gridConfig;
|
|
11
11
|
connectedCallback(): Promise<void>;
|
|
@@ -14,7 +14,7 @@ let GridPreferenceEditor = class GridPreferenceEditor extends localize(i18next)(
|
|
|
14
14
|
rows: { selectable: false, appendable: false },
|
|
15
15
|
pagination: { infinite: true },
|
|
16
16
|
list: {
|
|
17
|
-
fields: ['
|
|
17
|
+
fields: ['page', 'element'],
|
|
18
18
|
details: ['active', 'updatedAt']
|
|
19
19
|
},
|
|
20
20
|
columns: [
|
|
@@ -26,6 +26,7 @@ let GridPreferenceEditor = class GridPreferenceEditor extends localize(i18next)(
|
|
|
26
26
|
record: {
|
|
27
27
|
align: 'left'
|
|
28
28
|
},
|
|
29
|
+
hidden: true,
|
|
29
30
|
filter: 'search',
|
|
30
31
|
sortable: true,
|
|
31
32
|
width: 150
|
|
@@ -33,7 +34,7 @@ let GridPreferenceEditor = class GridPreferenceEditor extends localize(i18next)(
|
|
|
33
34
|
{
|
|
34
35
|
type: 'string',
|
|
35
36
|
name: 'header',
|
|
36
|
-
header: i18next.t('field.
|
|
37
|
+
header: i18next.t('field.name'),
|
|
37
38
|
record: {
|
|
38
39
|
align: 'left'
|
|
39
40
|
},
|
|
@@ -46,7 +47,8 @@ let GridPreferenceEditor = class GridPreferenceEditor extends localize(i18next)(
|
|
|
46
47
|
label: true,
|
|
47
48
|
header: i18next.t('field.hidden'),
|
|
48
49
|
record: {
|
|
49
|
-
align: 'center'
|
|
50
|
+
align: 'center',
|
|
51
|
+
editable: true
|
|
50
52
|
},
|
|
51
53
|
filter: true,
|
|
52
54
|
sortable: true,
|
|
@@ -85,14 +87,14 @@ let GridPreferenceEditor = class GridPreferenceEditor extends localize(i18next)(
|
|
|
85
87
|
const element = this.target.id;
|
|
86
88
|
const response = await client.query({
|
|
87
89
|
query: gql `
|
|
88
|
-
mutation ($
|
|
89
|
-
|
|
90
|
+
mutation ($page: String!, $element: String!) {
|
|
91
|
+
deleteMyPagePreference(page: $page, element: $element) {
|
|
90
92
|
id
|
|
91
93
|
}
|
|
92
94
|
}
|
|
93
95
|
`,
|
|
94
96
|
variables: {
|
|
95
|
-
|
|
97
|
+
page: this.page,
|
|
96
98
|
element
|
|
97
99
|
}
|
|
98
100
|
});
|
|
@@ -125,14 +127,14 @@ let GridPreferenceEditor = class GridPreferenceEditor extends localize(i18next)(
|
|
|
125
127
|
});
|
|
126
128
|
const response = await client.query({
|
|
127
129
|
query: gql `
|
|
128
|
-
mutation ($
|
|
129
|
-
|
|
130
|
+
mutation ($page: String!, $element: String!, $preference: Object!) {
|
|
131
|
+
updateMyPagePreference(page: $page, element: $element, preference: $preference) {
|
|
130
132
|
id
|
|
131
133
|
}
|
|
132
134
|
}
|
|
133
135
|
`,
|
|
134
136
|
variables: {
|
|
135
|
-
|
|
137
|
+
page: this.page,
|
|
136
138
|
element,
|
|
137
139
|
preference
|
|
138
140
|
}
|
|
@@ -212,7 +214,7 @@ __decorate([
|
|
|
212
214
|
__decorate([
|
|
213
215
|
property({ type: String }),
|
|
214
216
|
__metadata("design:type", String)
|
|
215
|
-
], GridPreferenceEditor.prototype, "
|
|
217
|
+
], GridPreferenceEditor.prototype, "page", void 0);
|
|
216
218
|
__decorate([
|
|
217
219
|
query('ox-grist'),
|
|
218
220
|
__metadata("design:type", DataGrist)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid-preference-editor.js","sourceRoot":"","sources":["../client/grid-preference-editor.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\n@customElement('grid-preference-editor')\nexport class GridPreferenceEditor extends localize(i18next)(LitElement) {\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 @property({ type: Object }) target!: DataGrist\n @property({ type: String }) route!: string\n\n @query('ox-grist') private grist!: DataGrist\n\n private gridConfig: any\n\n async connectedCallback() {\n // 메뉴 그룹 그리드 설정\n this.gridConfig = {\n rows: { selectable: false, appendable: false },\n pagination: { infinite: true },\n list: {\n fields: ['route', 'element'],\n details: ['active', 'updatedAt']\n },\n columns: [\n { type: 'gutter', gutterName: 'sequence' },\n {\n type: 'string',\n name: 'name',\n header: i18next.t('field.name'),\n record: {\n align: 'left'\n },\n filter: 'search',\n sortable: true,\n width: 150\n },\n {\n type: 'string',\n name: 'header',\n header: i18next.t('field.header'),\n record: {\n align: 'left'\n },\n filter: 'search',\n width: 200\n },\n {\n type: 'checkbox',\n name: 'hidden',\n label: true,\n header: i18next.t('field.hidden'),\n record: {\n align: 'center'\n },\n filter: true,\n sortable: true,\n width: 60\n }\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 mode=\"GRID\" .config=${this.gridConfig} .fetchHandler=${this.fetchColumns.bind(this)} auto-fetch>\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>${i18next.t('button.reset')}</button>\n <div filler></div>\n <button @click=${this.save.bind(this)}><md-icon>save</md-icon>${i18next.t('button.save')}</button>\n <button danger @click=${this.delete.bind(this)}>\n <md-icon>delete</md-icon>${i18next.t('button.delete')}\n </button>\n </div>\n </div>\n </div>`\n }\n\n async fetchColumns() {\n const columns = this.target.config.columns.filter(\n column => column.type != 'gutter' && column.name != 'id' && !column.unusable\n )\n\n return { total: 0, records: columns }\n }\n\n async delete(e: MouseEvent) {\n const element = this.target.id\n\n const response = await client.query({\n query: gql`\n mutation ($route: String!, $element: String!) {\n deleteMyScreenPreference(route: $route, element: $element) {\n id\n }\n }\n `,\n variables: {\n route: this.route,\n element\n }\n })\n\n if (!response.errors) {\n this.showToast(i18next.t('text.success to delete'))\n history.back()\n }\n }\n\n async reset(e: MouseEvent) {\n await this.grist.fetch()\n }\n\n async save(e: MouseEvent) {\n const element = this.target.id\n\n const dirties = this.grist.dirtyRecords\n const targetColumns = this.target.config.columns\n\n dirties.forEach(record => {\n const { name, hidden } = record\n const targetColumn = targetColumns.find(column => column.name == name)\n\n if (targetColumn) {\n targetColumn.hidden = hidden\n }\n })\n\n await this.target.requestUpdate()\n\n const preference = this.grist.data.records.map(record => {\n const { name, hidden } = record\n\n return {\n name,\n hidden\n }\n })\n\n const response = await client.query({\n query: gql`\n mutation ($route: String!, $preference: Object!) {\n saveMyScreenPreference(route: $route, preference: $preference) {\n id\n }\n }\n `,\n variables: {\n route: this.route,\n element,\n preference\n }\n })\n\n if (!response.errors) {\n this.showToast(i18next.t('text.success to save'))\n }\n }\n\n showToast(message) {\n document.dispatchEvent(new CustomEvent('notify', { detail: { message } }))\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"grid-preference-editor.js","sourceRoot":"","sources":["../client/grid-preference-editor.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\n@customElement('grid-preference-editor')\nexport class GridPreferenceEditor extends localize(i18next)(LitElement) {\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 @property({ type: Object }) target!: DataGrist\n @property({ type: String }) page!: string\n\n @query('ox-grist') private grist!: DataGrist\n\n private gridConfig: any\n\n async connectedCallback() {\n // 메뉴 그룹 그리드 설정\n this.gridConfig = {\n rows: { selectable: false, appendable: false },\n pagination: { infinite: true },\n list: {\n fields: ['page', 'element'],\n details: ['active', 'updatedAt']\n },\n columns: [\n { type: 'gutter', gutterName: 'sequence' },\n {\n type: 'string',\n name: 'name',\n header: i18next.t('field.name'),\n record: {\n align: 'left'\n },\n hidden: true,\n filter: 'search',\n sortable: true,\n width: 150\n },\n {\n type: 'string',\n name: 'header',\n header: i18next.t('field.name'),\n record: {\n align: 'left'\n },\n filter: 'search',\n width: 200\n },\n {\n type: 'checkbox',\n name: 'hidden',\n label: true,\n header: i18next.t('field.hidden'),\n record: {\n align: 'center',\n editable: true\n },\n filter: true,\n sortable: true,\n width: 60\n }\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 mode=\"GRID\" .config=${this.gridConfig} .fetchHandler=${this.fetchColumns.bind(this)} auto-fetch>\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>${i18next.t('button.reset')}</button>\n <div filler></div>\n <button @click=${this.save.bind(this)}><md-icon>save</md-icon>${i18next.t('button.save')}</button>\n <button danger @click=${this.delete.bind(this)}>\n <md-icon>delete</md-icon>${i18next.t('button.delete')}\n </button>\n </div>\n </div>\n </div>`\n }\n\n async fetchColumns() {\n const columns = this.target.config.columns.filter(\n column => column.type != 'gutter' && column.name != 'id' && !column.unusable\n )\n\n return { total: 0, records: columns }\n }\n\n async delete(e: MouseEvent) {\n const element = this.target.id\n\n const response = await client.query({\n query: gql`\n mutation ($page: String!, $element: String!) {\n deleteMyPagePreference(page: $page, element: $element) {\n id\n }\n }\n `,\n variables: {\n page: this.page,\n element\n }\n })\n\n if (!response.errors) {\n this.showToast(i18next.t('text.success to delete'))\n history.back()\n }\n }\n\n async reset(e: MouseEvent) {\n await this.grist.fetch()\n }\n\n async save(e: MouseEvent) {\n const element = this.target.id\n\n const dirties = this.grist.dirtyRecords\n const targetColumns = this.target.config.columns\n\n dirties.forEach(record => {\n const { name, hidden } = record\n const targetColumn = targetColumns.find(column => column.name == name)\n\n if (targetColumn) {\n targetColumn.hidden = hidden\n }\n })\n\n await this.target.requestUpdate()\n\n const preference = this.grist.data.records.map(record => {\n const { name, hidden } = record\n\n return {\n name,\n hidden\n }\n })\n\n const response = await client.query({\n query: gql`\n mutation ($page: String!, $element: String!, $preference: Object!) {\n updateMyPagePreference(page: $page, element: $element, preference: $preference) {\n id\n }\n }\n `,\n variables: {\n page: this.page,\n element,\n preference\n }\n })\n\n if (!response.errors) {\n this.showToast(i18next.t('text.success to save'))\n }\n }\n\n showToast(message) {\n document.dispatchEvent(new CustomEvent('notify', { detail: { message } }))\n }\n}\n"]}
|
package/dist-client/index.d.ts
CHANGED
package/dist-client/index.js
CHANGED
package/dist-client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../client/index.ts"],"names":[],"mappings":"","sourcesContent":[""]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../client/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,oCAAoC,CAAA","sourcesContent":["export * from './types.js'\nexport * from './page-preference-provider-impl.js'\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { PagePreferenceProvider } from './types';
|
|
2
|
+
export declare class PagePreferenceProviderImpl implements PagePreferenceProvider {
|
|
3
|
+
page?: string;
|
|
4
|
+
element?: string;
|
|
5
|
+
preference?: {
|
|
6
|
+
[key: string]: any;
|
|
7
|
+
};
|
|
8
|
+
constructor(page: string, element: string, preference?: {
|
|
9
|
+
[key: string]: any;
|
|
10
|
+
});
|
|
11
|
+
load(): Promise<{
|
|
12
|
+
[key: string]: any;
|
|
13
|
+
} | undefined>;
|
|
14
|
+
save(preference: {
|
|
15
|
+
[key: string]: any;
|
|
16
|
+
}): Promise<void>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import gql from 'graphql-tag';
|
|
2
|
+
import { client } from '@operato/graphql';
|
|
3
|
+
import { i18next } from '@operato/i18n';
|
|
4
|
+
export class PagePreferenceProviderImpl {
|
|
5
|
+
constructor(page, element, preference) {
|
|
6
|
+
this.page = page;
|
|
7
|
+
this.element = element;
|
|
8
|
+
this.preference = preference;
|
|
9
|
+
}
|
|
10
|
+
async load() {
|
|
11
|
+
var _a;
|
|
12
|
+
const response = await client.query({
|
|
13
|
+
query: gql `
|
|
14
|
+
query ($page: String!, $element: String!) {
|
|
15
|
+
myPagePreference(page: $page, element: $element) {
|
|
16
|
+
preference
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
`,
|
|
20
|
+
variables: {
|
|
21
|
+
page: this.page,
|
|
22
|
+
element: this.element
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
if (!response.errors) {
|
|
26
|
+
this.preference = ((_a = response.data.myPagePreference) === null || _a === void 0 ? void 0 : _a.preference) || {};
|
|
27
|
+
return this.preference;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
async save(preference) {
|
|
31
|
+
const response = await client.mutate({
|
|
32
|
+
mutation: gql `
|
|
33
|
+
mutation ($page: String!, $element: String!, $preference: Object!) {
|
|
34
|
+
updateMyPagePreference(page: $page, element: $element, preference: $preference) {
|
|
35
|
+
preference
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
`,
|
|
39
|
+
variables: {
|
|
40
|
+
page: this.page,
|
|
41
|
+
element: this.element,
|
|
42
|
+
preference
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
if (!response.errors) {
|
|
46
|
+
document.dispatchEvent(new CustomEvent('notify', {
|
|
47
|
+
detail: { message: i18next.t('text.updated_successfully'), option: { timer: 3000 } }
|
|
48
|
+
}));
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=page-preference-provider-impl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-preference-provider-impl.js","sourceRoot":"","sources":["../client/page-preference-provider-impl.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,aAAa,CAAA;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAIvC,MAAM,OAAO,0BAA0B;IAKrC,YAAY,IAAY,EAAE,OAAe,EAAE,UAAmC;QAC5E,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9B,CAAC;IAED,KAAK,CAAC,IAAI;;QACR,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;YAClC,KAAK,EAAE,GAAG,CAAA;;;;;;OAMT;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,CAAA,MAAA,QAAQ,CAAC,IAAI,CAAC,gBAAgB,0CAAE,UAAU,KAAI,EAAE,CAAA;YAClE,OAAO,IAAI,CAAC,UAAU,CAAA;SACvB;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,UAAkC;QAC3C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;YACnC,QAAQ,EAAE,GAAG,CAAA;;;;;;OAMZ;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,UAAU;aACX;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YACpB,QAAQ,CAAC,aAAa,CACpB,IAAI,WAAW,CAAC,QAAQ,EAAE;gBACxB,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,2BAA2B,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;aACrF,CAAC,CACH,CAAA;SACF;IACH,CAAC;CACF","sourcesContent":["import gql from 'graphql-tag'\nimport { client } from '@operato/graphql'\nimport { i18next } from '@operato/i18n'\n\nimport { PagePreferenceProvider } from './types'\n\nexport class PagePreferenceProviderImpl implements PagePreferenceProvider {\n public page?: string\n public element?: string\n public preference?: { [key: string]: any }\n\n constructor(page: string, element: string, preference?: { [key: string]: any }) {\n this.page = page\n this.element = element\n this.preference = preference\n }\n\n async load(): Promise<{ [key: string]: any } | undefined> {\n const response = await client.query({\n query: gql`\n query ($page: String!, $element: String!) {\n myPagePreference(page: $page, element: $element) {\n preference\n }\n }\n `,\n variables: {\n page: this.page,\n element: this.element\n }\n })\n\n if (!response.errors) {\n this.preference = response.data.myPagePreference?.preference || {}\n return this.preference\n }\n }\n\n async save(preference: { [key: string]: any }): Promise<void> {\n const response = await client.mutate({\n mutation: gql`\n mutation ($page: String!, $element: String!, $preference: Object!) {\n updateMyPagePreference(page: $page, element: $element, preference: $preference) {\n preference\n }\n }\n `,\n variables: {\n page: this.page,\n element: this.element,\n preference\n }\n })\n\n if (!response.errors) {\n document.dispatchEvent(\n new CustomEvent('notify', {\n detail: { message: i18next.t('text.updated_successfully'), option: { timer: 3000 } }\n })\n )\n }\n }\n}\n"]}
|