@dssp/project 0.0.5 → 0.0.7
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/pages/project/project-detail.ts +3 -4
- package/client/pages/resource/construction-type-management.ts +40 -21
- package/client/pages/resource/manager-management.ts +28 -7
- package/client/pages/resource/worker-type-management.ts +41 -9
- package/dist-client/pages/project/project-detail.js +2 -4
- package/dist-client/pages/project/project-detail.js.map +1 -1
- package/dist-client/pages/resource/construction-type-management.d.ts +0 -5
- package/dist-client/pages/resource/construction-type-management.js +40 -21
- package/dist-client/pages/resource/construction-type-management.js.map +1 -1
- package/dist-client/pages/resource/manager-management.js +28 -7
- package/dist-client/pages/resource/manager-management.js.map +1 -1
- package/dist-client/pages/resource/worker-type-management.d.ts +2 -1
- package/dist-client/pages/resource/worker-type-management.js +40 -9
- package/dist-client/pages/resource/worker-type-management.js.map +1 -1
- package/dist-client/route.d.ts +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-server/service/project/project-query.js +3 -3
- package/dist-server/service/project/project-query.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/server/service/project/project-query.ts +4 -7
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import '@operato/data-grist';
|
|
2
2
|
import '@operato/context/ox-context-page-toolbar.js';
|
|
3
3
|
import { PageView } from '@operato/shell';
|
|
4
|
+
import { FetchOption } from '@operato/data-grist';
|
|
4
5
|
export declare class WorkerTypeManagement extends PageView {
|
|
5
6
|
static styles: import("lit").CSSResult[];
|
|
6
7
|
gristConfig: any;
|
|
@@ -15,7 +16,7 @@ export declare class WorkerTypeManagement extends PageView {
|
|
|
15
16
|
};
|
|
16
17
|
render(): import("lit-html").TemplateResult<1>;
|
|
17
18
|
pageInitialized(lifecycle: any): Promise<void>;
|
|
18
|
-
fetchHandler(): Promise<{
|
|
19
|
+
fetchHandler(_: FetchOption): Promise<{
|
|
19
20
|
total?: undefined;
|
|
20
21
|
records?: undefined;
|
|
21
22
|
} | {
|
|
@@ -29,14 +29,14 @@ let WorkerTypeManagement = class WorkerTypeManagement extends PageView {
|
|
|
29
29
|
}
|
|
30
30
|
render() {
|
|
31
31
|
return html `
|
|
32
|
-
<ox-grist .mode=${'GRID'} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)}>
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
32
|
+
<ox-grist .mode=${'GRID'} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)}> </ox-grist>
|
|
33
|
+
<div button-container>
|
|
34
|
+
<md-elevated-button @click=${this._updateWorkerTypes.bind(this)}>
|
|
35
|
+
<md-icon slot="icon">save</md-icon>저장</md-elevated-button
|
|
36
|
+
>
|
|
37
|
+
<md-elevated-button red @click=${this._deleteWorkerTypes.bind(this)}>
|
|
38
|
+
<md-icon slot="icon">delete</md-icon>삭제</md-elevated-button
|
|
39
|
+
>
|
|
40
40
|
</div>
|
|
41
41
|
`;
|
|
42
42
|
}
|
|
@@ -76,10 +76,15 @@ let WorkerTypeManagement = class WorkerTypeManagement extends PageView {
|
|
|
76
76
|
width: 200
|
|
77
77
|
}
|
|
78
78
|
],
|
|
79
|
+
rows: {
|
|
80
|
+
selectable: {
|
|
81
|
+
multiple: true
|
|
82
|
+
}
|
|
83
|
+
},
|
|
79
84
|
pagination: { infinite: true }
|
|
80
85
|
};
|
|
81
86
|
}
|
|
82
|
-
async fetchHandler() {
|
|
87
|
+
async fetchHandler(_) {
|
|
83
88
|
const response = await client.query({
|
|
84
89
|
query: gql `
|
|
85
90
|
query WorkerTypes {
|
|
@@ -174,6 +179,32 @@ WorkerTypeManagement.styles = [
|
|
|
174
179
|
--grid-record-emphasized-background-color: red;
|
|
175
180
|
--grid-record-emphasized-color: yellow;
|
|
176
181
|
}
|
|
182
|
+
|
|
183
|
+
md-elevated-button {
|
|
184
|
+
margin: 0px 3px;
|
|
185
|
+
|
|
186
|
+
--md-elevated-button-container-height: 35px;
|
|
187
|
+
--md-elevated-button-label-text-size: 16px;
|
|
188
|
+
--md-elevated-button-container-color: #0595e5;
|
|
189
|
+
|
|
190
|
+
--md-elevated-button-label-text-color: #fff;
|
|
191
|
+
--md-elevated-button-hover-label-text-color: #fff;
|
|
192
|
+
--md-elevated-button-pressed-label-text-color: #fff;
|
|
193
|
+
--md-elevated-button-focus-label-text-color: #fff;
|
|
194
|
+
--md-elevated-button-icon-color: #fff;
|
|
195
|
+
--md-elevated-button-hover-icon-color: #fff;
|
|
196
|
+
--md-elevated-button-pressed-icon-color: #fff;
|
|
197
|
+
--md-elevated-button-focus-icon-color: #fff;
|
|
198
|
+
|
|
199
|
+
&[red] {
|
|
200
|
+
--md-elevated-button-container-color: #e15757;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
div[button-container] {
|
|
205
|
+
padding: 0 5px 10px 0;
|
|
206
|
+
text-align: right;
|
|
207
|
+
}
|
|
177
208
|
`
|
|
178
209
|
];
|
|
179
210
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-type-management.js","sourceRoot":"","sources":["../../../client/pages/resource/worker-type-management.ts"],"names":[],"mappings":"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","sourcesContent":["import '@operato/data-grist'\nimport '@operato/context/ox-context-page-toolbar.js'\n\nimport { CommonGristStyles, ScrollbarStyles } from '@operato/styles'\nimport { PageView } from '@operato/shell'\nimport { css, html } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\nimport { DataGrist } from '@operato/data-grist'\nimport { client } from '@operato/graphql'\nimport { notify } from '@operato/layout'\nimport gql from 'graphql-tag'\n\n@customElement('worker-type-management')\nexport class WorkerTypeManagement extends PageView {\n static styles = [\n ScrollbarStyles,\n CommonGristStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n width: 100%;\n\n --grid-record-emphasized-background-color: red;\n --grid-record-emphasized-color: yellow;\n }\n `\n ]\n\n @property({ type: Object }) gristConfig: any\n @query('ox-grist') private grist!: DataGrist\n\n get context() {\n return {\n title: '인력 관리',\n actions: [\n {\n title: '저장',\n action: this._updateWorkerTypes.bind(this),\n icon: 'save'\n },\n {\n title: '삭제',\n action: this._deleteWorkerTypes.bind(this),\n icon: 'delete'\n }\n ]\n }\n }\n\n render() {\n return html`\n <ox-grist .mode=${'GRID'} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)}>\n <div slot=\"headroom\" class=\"header\">\n <ox-context-page-toolbar class=\"actions\" .context=${this.context}></ox-context-page-toolbar>\n </div>\n </ox-grist>\n <div>\n <button @click=${this._updateWorkerTypes.bind(this)}>저장</button>\n <button @click=${this._deleteWorkerTypes.bind(this)}>삭제</button>\n </div>\n `\n }\n\n async pageInitialized(lifecycle: any) {\n this.gristConfig = {\n columns: [\n { type: 'gutter', gutterName: 'sequence' },\n { type: 'gutter', gutterName: 'row-selector', multiple: true },\n {\n type: 'string',\n name: 'name',\n header: '이름',\n record: {\n editable: true\n },\n width: 150\n },\n {\n type: 'string',\n name: 'description',\n header: '설명',\n record: {\n editable: true\n },\n width: 200\n },\n {\n type: 'datetime',\n name: 'createdAt',\n header: '생성 시간',\n width: 200\n },\n {\n type: 'datetime',\n name: 'updatedAt',\n header: '수정 시간',\n width: 200\n }\n ],\n pagination: { infinite: true }\n }\n }\n\n async fetchHandler() {\n const response = await client.query({\n query: gql`\n query WorkerTypes {\n workerTypes {\n items {\n id\n name\n description\n createdAt\n updatedAt\n }\n total\n }\n }\n `\n })\n\n if (response.errors) return {}\n\n return {\n total: response.data.workerTypes.total || 0,\n records: response.data.workerTypes.items || []\n }\n }\n\n async _updateWorkerTypes() {\n let patches = this.grist.dirtyRecords\n if (patches && patches.length) {\n patches = patches.map(patch => {\n let patchField: any = patch.id ? { id: patch.id } : {}\n const dirtyFields = patch.__dirtyfields__\n for (let key in dirtyFields) {\n patchField[key] = dirtyFields[key].after\n }\n patchField.cuFlag = patch.__dirty__\n\n return patchField\n })\n\n const response = await client.mutate({\n mutation: gql`\n mutation UpdateMultipleWorkerType($patches: [WorkerTypePatch!]!) {\n updateMultipleWorkerType(patches: $patches) {\n id\n }\n }\n `,\n variables: {\n patches\n }\n })\n\n if (!response.errors) {\n this.grist.fetch()\n notify({ message: '저장되었습니다.' })\n } else {\n notify({ message: '저장에 실패하였습니다.', level: 'error' })\n }\n }\n }\n\n async _deleteWorkerTypes() {\n if (confirm('삭제하시겠습니까?')) {\n const a = this.grist\n console.log('this.grist :', a)\n console.log('selected : ', a.selected)\n\n const ids = this.grist.selected.map(record => record.id)\n if (ids && ids.length > 0) {\n const response = await client.mutate({\n mutation: gql`\n mutation DeleteWorkerTypes($ids: [String!]!) {\n deleteWorkerTypes(ids: $ids)\n }\n `,\n variables: {\n ids\n }\n })\n\n if (!response.errors) {\n this.grist.fetch()\n notify({ message: '삭제되었습니다.' })\n }\n }\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"worker-type-management.js","sourceRoot":"","sources":["../../../client/pages/resource/worker-type-management.ts"],"names":[],"mappings":"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","sourcesContent":["import '@operato/data-grist'\nimport '@operato/context/ox-context-page-toolbar.js'\n\nimport { CommonGristStyles, ScrollbarStyles } from '@operato/styles'\nimport { PageView } from '@operato/shell'\nimport { css, html } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\nimport { DataGrist } from '@operato/data-grist'\nimport { client } from '@operato/graphql'\nimport { notify } from '@operato/layout'\nimport gql from 'graphql-tag'\nimport { FetchOption } from '@operato/data-grist'\n\n@customElement('worker-type-management')\nexport class WorkerTypeManagement extends PageView {\n static styles = [\n ScrollbarStyles,\n CommonGristStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n width: 100%;\n\n --grid-record-emphasized-background-color: red;\n --grid-record-emphasized-color: yellow;\n }\n\n md-elevated-button {\n margin: 0px 3px;\n\n --md-elevated-button-container-height: 35px;\n --md-elevated-button-label-text-size: 16px;\n --md-elevated-button-container-color: #0595e5;\n\n --md-elevated-button-label-text-color: #fff;\n --md-elevated-button-hover-label-text-color: #fff;\n --md-elevated-button-pressed-label-text-color: #fff;\n --md-elevated-button-focus-label-text-color: #fff;\n --md-elevated-button-icon-color: #fff;\n --md-elevated-button-hover-icon-color: #fff;\n --md-elevated-button-pressed-icon-color: #fff;\n --md-elevated-button-focus-icon-color: #fff;\n\n &[red] {\n --md-elevated-button-container-color: #e15757;\n }\n }\n\n div[button-container] {\n padding: 0 5px 10px 0;\n text-align: right;\n }\n `\n ]\n\n @property({ type: Object }) gristConfig: any\n @query('ox-grist') private grist!: DataGrist\n\n get context() {\n return {\n title: '인력 관리',\n actions: [\n {\n title: '저장',\n action: this._updateWorkerTypes.bind(this),\n icon: 'save'\n },\n {\n title: '삭제',\n action: this._deleteWorkerTypes.bind(this),\n icon: 'delete'\n }\n ]\n }\n }\n\n render() {\n return html`\n <ox-grist .mode=${'GRID'} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)}> </ox-grist>\n <div button-container>\n <md-elevated-button @click=${this._updateWorkerTypes.bind(this)}>\n <md-icon slot=\"icon\">save</md-icon>저장</md-elevated-button\n >\n <md-elevated-button red @click=${this._deleteWorkerTypes.bind(this)}>\n <md-icon slot=\"icon\">delete</md-icon>삭제</md-elevated-button\n >\n </div>\n `\n }\n\n async pageInitialized(lifecycle: any) {\n this.gristConfig = {\n columns: [\n { type: 'gutter', gutterName: 'sequence' },\n { type: 'gutter', gutterName: 'row-selector', multiple: true },\n {\n type: 'string',\n name: 'name',\n header: '이름',\n record: {\n editable: true\n },\n width: 150\n },\n {\n type: 'string',\n name: 'description',\n header: '설명',\n record: {\n editable: true\n },\n width: 200\n },\n {\n type: 'datetime',\n name: 'createdAt',\n header: '생성 시간',\n width: 200\n },\n {\n type: 'datetime',\n name: 'updatedAt',\n header: '수정 시간',\n width: 200\n }\n ],\n rows: {\n selectable: {\n multiple: true\n }\n },\n pagination: { infinite: true }\n }\n }\n\n async fetchHandler(_: FetchOption) {\n const response = await client.query({\n query: gql`\n query WorkerTypes {\n workerTypes {\n items {\n id\n name\n description\n createdAt\n updatedAt\n }\n total\n }\n }\n `\n })\n\n if (response.errors) return {}\n\n return {\n total: response.data.workerTypes.total || 0,\n records: response.data.workerTypes.items || []\n }\n }\n\n async _updateWorkerTypes() {\n let patches = this.grist.dirtyRecords\n if (patches && patches.length) {\n patches = patches.map(patch => {\n let patchField: any = patch.id ? { id: patch.id } : {}\n const dirtyFields = patch.__dirtyfields__\n for (let key in dirtyFields) {\n patchField[key] = dirtyFields[key].after\n }\n patchField.cuFlag = patch.__dirty__\n\n return patchField\n })\n\n const response = await client.mutate({\n mutation: gql`\n mutation UpdateMultipleWorkerType($patches: [WorkerTypePatch!]!) {\n updateMultipleWorkerType(patches: $patches) {\n id\n }\n }\n `,\n variables: {\n patches\n }\n })\n\n if (!response.errors) {\n this.grist.fetch()\n notify({ message: '저장되었습니다.' })\n } else {\n notify({ message: '저장에 실패하였습니다.', level: 'error' })\n }\n }\n }\n\n async _deleteWorkerTypes() {\n if (confirm('삭제하시겠습니까?')) {\n const a = this.grist\n console.log('this.grist :', a)\n console.log('selected : ', a.selected)\n\n const ids = this.grist.selected.map(record => record.id)\n if (ids && ids.length > 0) {\n const response = await client.mutate({\n mutation: gql`\n mutation DeleteWorkerTypes($ids: [String!]!) {\n deleteWorkerTypes(ids: $ids)\n }\n `,\n variables: {\n ids\n }\n })\n\n if (!response.errors) {\n this.grist.fetch()\n notify({ message: '삭제되었습니다.' })\n }\n }\n }\n }\n}\n"]}
|
package/dist-client/route.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export default function route(page: string): "project-list" | "project-detail" | "project-schedule-list" | "project-schedule" | "project-setting-list" | "project-update" | "project-plan-management" | "manager-management" | "worker-type-management" |
|
|
1
|
+
export default function route(page: string): "construction-type-management" | "project-list" | "project-detail" | "project-schedule-list" | "project-schedule" | "project-setting-list" | "project-update" | "project-plan-management" | "manager-management" | "worker-type-management" | undefined;
|