@dssp/project 1.0.0-alpha.9 → 1.0.0-alpha.92
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/dist-client/index.d.ts +1 -0
- package/dist-client/index.js +1 -1
- package/dist-client/index.js.map +1 -1
- package/dist-client/pages/lib/chatbot-widget.d.ts +53 -0
- package/dist-client/pages/lib/chatbot-widget.js +631 -0
- package/dist-client/pages/lib/chatbot-widget.js.map +1 -0
- package/dist-client/pages/lib/select2-component.d.ts +1 -1
- package/dist-client/pages/lib/select2-component.js +35 -35
- package/dist-client/pages/lib/select2-component.js.map +1 -1
- package/dist-client/pages/project/component/pagenation.d.ts +18 -0
- package/dist-client/pages/project/component/pagenation.js +142 -0
- package/dist-client/pages/project/component/pagenation.js.map +1 -0
- package/dist-client/pages/project/component/project-update-header.js +26 -3
- package/dist-client/pages/project/component/project-update-header.js.map +1 -1
- package/dist-client/pages/project/popup/checklist/{attachment-list-popup.js → task-checklist-attachment-list-popup.js} +16 -17
- package/dist-client/pages/project/popup/checklist/task-checklist-attachment-list-popup.js.map +1 -0
- package/dist-client/pages/project/popup/checklist/{comment-list-popup.js → task-checklist-comment-list-popup.js} +19 -20
- package/dist-client/pages/project/popup/checklist/task-checklist-comment-list-popup.js.map +1 -0
- package/dist-client/pages/project/popup/checklist/{schedule-checklist-create-popup.d.ts → task-checklist-create-popup.d.ts} +0 -1
- package/dist-client/pages/project/popup/checklist/{schedule-checklist-create-popup.js → task-checklist-create-popup.js} +40 -42
- package/dist-client/pages/project/popup/checklist/task-checklist-create-popup.js.map +1 -0
- package/dist-client/pages/project/popup/checklist/{schedule-checklist-view.d.ts → task-checklist-view.d.ts} +2 -7
- package/dist-client/pages/project/popup/checklist/{schedule-checklist-view.js → task-checklist-view.js} +137 -32
- package/dist-client/pages/project/popup/checklist/task-checklist-view.js.map +1 -0
- package/dist-client/pages/project/popup/popup-plan-export.js +8 -2
- package/dist-client/pages/project/popup/popup-plan-export.js.map +1 -1
- package/dist-client/pages/project/popup/{popup-schedule-upload.d.ts → popup-task-upload.d.ts} +1 -1
- package/dist-client/pages/project/popup/{popup-schedule-upload.js → popup-task-upload.js} +9 -9
- package/dist-client/pages/project/popup/popup-task-upload.js.map +1 -0
- package/dist-client/pages/project/project-completed-list.d.ts +5 -0
- package/dist-client/pages/project/project-completed-list.js +32 -3
- package/dist-client/pages/project/project-completed-list.js.map +1 -1
- package/dist-client/pages/project/project-detail.d.ts +6 -0
- package/dist-client/pages/project/project-detail.js +225 -89
- package/dist-client/pages/project/project-detail.js.map +1 -1
- package/dist-client/pages/project/project-list.d.ts +57 -0
- package/dist-client/pages/project/project-list.js +80 -9
- package/dist-client/pages/project/project-list.js.map +1 -1
- package/dist-client/pages/project/project-plan-management.js +6 -1
- package/dist-client/pages/project/project-plan-management.js.map +1 -1
- package/dist-client/pages/project/project-setting-list.d.ts +7 -0
- package/dist-client/pages/project/project-setting-list.js +61 -7
- package/dist-client/pages/project/project-setting-list.js.map +1 -1
- package/dist-client/pages/project/{project-schedule-list.d.ts → project-task-list.d.ts} +2 -2
- package/dist-client/pages/project/{project-schedule-list.js → project-task-list.js} +11 -11
- package/dist-client/pages/project/project-task-list.js.map +1 -0
- package/dist-client/pages/project/{project-schedule.d.ts → project-task.d.ts} +17 -6
- package/dist-client/pages/project/project-task.js +692 -0
- package/dist-client/pages/project/project-task.js.map +1 -0
- package/dist-client/pages/project/project-update.d.ts +34 -0
- package/dist-client/pages/project/project-update.js +508 -35
- package/dist-client/pages/project/project-update.js.map +1 -1
- package/dist-client/pages/resource/construction-type-management.js +14 -0
- package/dist-client/pages/resource/construction-type-management.js.map +1 -1
- package/dist-client/pages/resource/resource-list-page.d.ts +1 -2
- package/dist-client/pages/resource/resource-list-page.js +1 -2
- package/dist-client/pages/resource/resource-list-page.js.map +1 -1
- package/dist-client/pages/task/task-list-page.d.ts +1 -2
- package/dist-client/pages/task/task-list-page.js +1 -2
- package/dist-client/pages/task/task-list-page.js.map +1 -1
- package/dist-client/pages/task-resource/task-resource-list-page.d.ts +1 -2
- package/dist-client/pages/task-resource/task-resource-list-page.js +1 -2
- package/dist-client/pages/task-resource/task-resource-list-page.js.map +1 -1
- package/dist-client/route.d.ts +1 -1
- package/dist-client/route.js +4 -4
- package/dist-client/route.js.map +1 -1
- package/dist-client/shared/domain-context.d.ts +18 -0
- package/dist-client/shared/domain-context.js +28 -0
- package/dist-client/shared/domain-context.js.map +1 -0
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-client/viewparts/domain-switch.d.ts +19 -0
- package/dist-client/viewparts/domain-switch.js +270 -0
- package/dist-client/viewparts/domain-switch.js.map +1 -0
- package/dist-server/controllers/parse-excel.js.map +1 -1
- package/dist-server/migrations/1723861466414-seed-codes.js +1 -1
- package/dist-server/migrations/1723861466414-seed-codes.js.map +1 -1
- package/dist-server/service/construction-type/construction-type-query.d.ts +2 -2
- package/dist-server/service/construction-type/construction-type-query.js +5 -10
- package/dist-server/service/construction-type/construction-type-query.js.map +1 -1
- package/dist-server/service/construction-type/construction-type-type.d.ts +1 -0
- package/dist-server/service/construction-type/construction-type-type.js +4 -0
- package/dist-server/service/construction-type/construction-type-type.js.map +1 -1
- package/dist-server/service/construction-type/construction-type.d.ts +1 -0
- package/dist-server/service/construction-type/construction-type.js +5 -0
- package/dist-server/service/construction-type/construction-type.js.map +1 -1
- package/dist-server/service/index.d.ts +2 -2
- package/dist-server/service/index.js +5 -2
- package/dist-server/service/index.js.map +1 -1
- package/dist-server/service/inspection-drawing-type/inspection-drawing-type-query.d.ts +2 -2
- package/dist-server/service/inspection-drawing-type/inspection-drawing-type-query.js +5 -10
- package/dist-server/service/inspection-drawing-type/inspection-drawing-type-query.js.map +1 -1
- package/dist-server/service/manager/manager-query.d.ts +1 -1
- package/dist-server/service/manager/manager-query.js +2 -6
- package/dist-server/service/manager/manager-query.js.map +1 -1
- package/dist-server/service/project/issue-project-code.d.ts +7 -0
- package/dist-server/service/project/issue-project-code.js +27 -0
- package/dist-server/service/project/issue-project-code.js.map +1 -0
- package/dist-server/service/project/project-mutation.d.ts +2 -0
- package/dist-server/service/project/project-mutation.js +124 -11
- package/dist-server/service/project/project-mutation.js.map +1 -1
- package/dist-server/service/project/project-query.d.ts +13 -2
- package/dist-server/service/project/project-query.js +153 -13
- package/dist-server/service/project/project-query.js.map +1 -1
- package/dist-server/service/project/project-type.d.ts +13 -2
- package/dist-server/service/project/project-type.js +44 -2
- package/dist-server/service/project/project-type.js.map +1 -1
- package/dist-server/service/project/project.d.ts +23 -0
- package/dist-server/service/project/project.js +89 -2
- package/dist-server/service/project/project.js.map +1 -1
- package/dist-server/service/resource/resource-mutation.js +5 -6
- package/dist-server/service/resource/resource-mutation.js.map +1 -1
- package/dist-server/service/resource/resource-query.d.ts +2 -2
- package/dist-server/service/resource/resource-query.js +5 -10
- package/dist-server/service/resource/resource-query.js.map +1 -1
- package/dist-server/service/task/task-query.d.ts +2 -0
- package/dist-server/service/task/task-query.js +11 -0
- package/dist-server/service/task/task-query.js.map +1 -1
- package/dist-server/service/task/task.d.ts +2 -0
- package/dist-server/service/task/task.js +6 -0
- package/dist-server/service/task/task.js.map +1 -1
- package/dist-server/service/task-checklist-binding/index.d.ts +5 -0
- package/dist-server/service/task-checklist-binding/index.js +9 -0
- package/dist-server/service/task-checklist-binding/index.js.map +1 -0
- package/dist-server/service/task-checklist-binding/task-checklist-binding-mutation.d.ts +5 -0
- package/dist-server/service/task-checklist-binding/task-checklist-binding-mutation.js +188 -0
- package/dist-server/service/task-checklist-binding/task-checklist-binding-mutation.js.map +1 -0
- package/dist-server/service/task-checklist-binding/task-checklist-binding-query.d.ts +8 -0
- package/dist-server/service/task-checklist-binding/task-checklist-binding-query.js +61 -0
- package/dist-server/service/task-checklist-binding/task-checklist-binding-query.js.map +1 -0
- package/dist-server/service/task-checklist-binding/task-checklist-binding-type.d.ts +15 -0
- package/dist-server/service/task-checklist-binding/task-checklist-binding-type.js +57 -0
- package/dist-server/service/task-checklist-binding/task-checklist-binding-type.js.map +1 -0
- package/dist-server/service/task-checklist-binding/task-checklist-binding.d.ts +22 -0
- package/dist-server/service/task-checklist-binding/task-checklist-binding.js +106 -0
- package/dist-server/service/task-checklist-binding/task-checklist-binding.js.map +1 -0
- package/dist-server/service/task-resource/task-resource-query.d.ts +2 -2
- package/dist-server/service/task-resource/task-resource-query.js +4 -9
- package/dist-server/service/task-resource/task-resource-query.js.map +1 -1
- package/dist-server/service/worker-type/worker-type-query.d.ts +2 -2
- package/dist-server/service/worker-type/worker-type-query.js +5 -10
- package/dist-server/service/worker-type/worker-type-query.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +15 -13
- package/things-factory.config.js +3 -3
- package/translations/en.json +10 -9
- package/translations/ja.json +15 -1
- package/translations/ko.json +3 -0
- package/translations/ms.json +15 -1
- package/translations/zh.json +15 -1
- package/dist-client/pages/project/popup/checklist/attachment-list-popup.js.map +0 -1
- package/dist-client/pages/project/popup/checklist/comment-list-popup.js.map +0 -1
- package/dist-client/pages/project/popup/checklist/schedule-checklist-create-popup.js.map +0 -1
- package/dist-client/pages/project/popup/checklist/schedule-checklist-view.js.map +0 -1
- package/dist-client/pages/project/popup/popup-schedule-upload.js.map +0 -1
- package/dist-client/pages/project/project-schedule-list.js.map +0 -1
- package/dist-client/pages/project/project-schedule.js +0 -422
- package/dist-client/pages/project/project-schedule.js.map +0 -1
- /package/dist-client/pages/project/popup/checklist/{attachment-list-popup.d.ts → task-checklist-attachment-list-popup.d.ts} +0 -0
- /package/dist-client/pages/project/popup/checklist/{comment-list-popup.d.ts → task-checklist-comment-list-popup.d.ts} +0 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import '@material/web/icon/icon.js';
|
|
2
|
+
import { LitElement } from 'lit';
|
|
3
|
+
declare const DsspDomainSwitch_base: (new (...args: any[]) => LitElement) & typeof LitElement;
|
|
4
|
+
export declare class DsspDomainSwitch extends DsspDomainSwitch_base {
|
|
5
|
+
static styles: import("lit").CSSResult[];
|
|
6
|
+
private _appCtrl;
|
|
7
|
+
attrname: string;
|
|
8
|
+
icon: string;
|
|
9
|
+
private _open;
|
|
10
|
+
private _outsideClickHandler;
|
|
11
|
+
private _escHandler;
|
|
12
|
+
connectedCallback(): void;
|
|
13
|
+
disconnectedCallback(): void;
|
|
14
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
15
|
+
private _renderCategory;
|
|
16
|
+
private _select;
|
|
17
|
+
private _groupAndOrder;
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import '@material/web/icon/icon.js';
|
|
3
|
+
import { css, html, LitElement, nothing } from 'lit';
|
|
4
|
+
import { customElement, property, state } from 'lit/decorators.js';
|
|
5
|
+
import { AppController } from '@operato/shell';
|
|
6
|
+
import { ScrollbarStyles } from '@operato/styles';
|
|
7
|
+
import { i18next, localize } from '@operato/i18n';
|
|
8
|
+
const CATEGORY_ICON = {
|
|
9
|
+
domain: 'business',
|
|
10
|
+
project: 'assignment',
|
|
11
|
+
company: 'corporate_fare',
|
|
12
|
+
equipment: 'precision_manufacturing'
|
|
13
|
+
};
|
|
14
|
+
const CATEGORY_FALLBACK_ICON = 'folder';
|
|
15
|
+
const CATEGORY_ORDER = ['project', 'domain', 'company', 'equipment'];
|
|
16
|
+
let DsspDomainSwitch = class DsspDomainSwitch extends localize(i18next)(LitElement) {
|
|
17
|
+
constructor() {
|
|
18
|
+
super(...arguments);
|
|
19
|
+
this._appCtrl = new AppController(this);
|
|
20
|
+
this.attrname = 'name';
|
|
21
|
+
this.icon = 'domain';
|
|
22
|
+
this._open = false;
|
|
23
|
+
this._outsideClickHandler = (e) => {
|
|
24
|
+
if (!this._open)
|
|
25
|
+
return;
|
|
26
|
+
const path = e.composedPath();
|
|
27
|
+
if (!path.includes(this)) {
|
|
28
|
+
this._open = false;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
this._escHandler = (e) => {
|
|
32
|
+
if (e.key === 'Escape')
|
|
33
|
+
this._open = false;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
connectedCallback() {
|
|
37
|
+
super.connectedCallback();
|
|
38
|
+
document.addEventListener('click', this._outsideClickHandler, true);
|
|
39
|
+
document.addEventListener('keydown', this._escHandler);
|
|
40
|
+
}
|
|
41
|
+
disconnectedCallback() {
|
|
42
|
+
document.removeEventListener('click', this._outsideClickHandler, true);
|
|
43
|
+
document.removeEventListener('keydown', this._escHandler);
|
|
44
|
+
super.disconnectedCallback();
|
|
45
|
+
}
|
|
46
|
+
render() {
|
|
47
|
+
var _a;
|
|
48
|
+
const domains = this._appCtrl.domains || [];
|
|
49
|
+
const current = this._appCtrl.domain || {};
|
|
50
|
+
const attrname = this.attrname || 'name';
|
|
51
|
+
const currentLabel = current[attrname] || current.name || '';
|
|
52
|
+
if (domains.length <= 1) {
|
|
53
|
+
return html `
|
|
54
|
+
<button class="trigger" disabled>
|
|
55
|
+
${this.icon ? html `<md-icon class="lead">${this.icon}</md-icon>` : nothing}
|
|
56
|
+
<span class="current-label">${((_a = domains[0]) === null || _a === void 0 ? void 0 : _a[attrname]) || currentLabel}</span>
|
|
57
|
+
</button>
|
|
58
|
+
`;
|
|
59
|
+
}
|
|
60
|
+
const ordered = this._groupAndOrder(domains);
|
|
61
|
+
return html `
|
|
62
|
+
<button
|
|
63
|
+
class="trigger"
|
|
64
|
+
@click=${(e) => {
|
|
65
|
+
e.stopPropagation();
|
|
66
|
+
this._open = !this._open;
|
|
67
|
+
}}
|
|
68
|
+
aria-haspopup="listbox"
|
|
69
|
+
aria-expanded=${this._open ? 'true' : 'false'}
|
|
70
|
+
>
|
|
71
|
+
${this.icon ? html `<md-icon class="lead">${this.icon}</md-icon>` : nothing}
|
|
72
|
+
<span class="current-label">${currentLabel}</span>
|
|
73
|
+
<md-icon>${this._open ? 'expand_less' : 'expand_more'}</md-icon>
|
|
74
|
+
</button>
|
|
75
|
+
${this._open
|
|
76
|
+
? html `
|
|
77
|
+
<div class="panel" role="listbox">
|
|
78
|
+
${ordered.map(([category, items]) => this._renderCategory(category, items, current, attrname))}
|
|
79
|
+
</div>
|
|
80
|
+
`
|
|
81
|
+
: nothing}
|
|
82
|
+
`;
|
|
83
|
+
}
|
|
84
|
+
_renderCategory(category, items, current, attrname) {
|
|
85
|
+
return html `
|
|
86
|
+
<section>
|
|
87
|
+
<header class="category-header">
|
|
88
|
+
<md-icon>${CATEGORY_ICON[category] || CATEGORY_FALLBACK_ICON}</md-icon>
|
|
89
|
+
<span>${i18next.t(`label.domain_type.${category}`, { defaultValue: category })}</span>
|
|
90
|
+
<span class="count">${items.length}</span>
|
|
91
|
+
</header>
|
|
92
|
+
<ul class="domains">
|
|
93
|
+
${items.map(d => html `
|
|
94
|
+
<li
|
|
95
|
+
?selected=${d.subdomain === current.subdomain}
|
|
96
|
+
role="option"
|
|
97
|
+
aria-selected=${d.subdomain === current.subdomain ? 'true' : 'false'}
|
|
98
|
+
title=${d.description ? `${d.name}\n${d.description}` : d.name || ''}
|
|
99
|
+
@click=${() => this._select(d)}
|
|
100
|
+
>
|
|
101
|
+
<strong>${d[attrname] || d.name}</strong>
|
|
102
|
+
${attrname !== 'subdomain' && d.subdomain
|
|
103
|
+
? html `<span class="sub">${d.subdomain}</span>`
|
|
104
|
+
: nothing}
|
|
105
|
+
</li>
|
|
106
|
+
`)}
|
|
107
|
+
</ul>
|
|
108
|
+
</section>
|
|
109
|
+
`;
|
|
110
|
+
}
|
|
111
|
+
_select(d) {
|
|
112
|
+
if (!(d === null || d === void 0 ? void 0 : d.subdomain))
|
|
113
|
+
return;
|
|
114
|
+
window.location.pathname = `/auth/checkin/${d.subdomain}`;
|
|
115
|
+
}
|
|
116
|
+
_groupAndOrder(domains) {
|
|
117
|
+
var _a;
|
|
118
|
+
const groups = {};
|
|
119
|
+
for (const d of domains) {
|
|
120
|
+
const cat = d.extType || 'domain';
|
|
121
|
+
(groups[cat] || (groups[cat] = [])).push(d);
|
|
122
|
+
}
|
|
123
|
+
// 카테고리 안 등록번호 (subdomain) 역순.
|
|
124
|
+
for (const items of Object.values(groups)) {
|
|
125
|
+
items.sort((a, b) => (b.subdomain || '').localeCompare(a.subdomain || ''));
|
|
126
|
+
}
|
|
127
|
+
const ordered = [];
|
|
128
|
+
const seen = new Set();
|
|
129
|
+
for (const cat of CATEGORY_ORDER) {
|
|
130
|
+
if ((_a = groups[cat]) === null || _a === void 0 ? void 0 : _a.length) {
|
|
131
|
+
ordered.push([cat, groups[cat]]);
|
|
132
|
+
seen.add(cat);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
for (const [cat, items] of Object.entries(groups)) {
|
|
136
|
+
if (!seen.has(cat))
|
|
137
|
+
ordered.push([cat, items]);
|
|
138
|
+
}
|
|
139
|
+
return ordered;
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
DsspDomainSwitch.styles = [
|
|
143
|
+
ScrollbarStyles,
|
|
144
|
+
css `
|
|
145
|
+
:host {
|
|
146
|
+
display: flex;
|
|
147
|
+
position: relative;
|
|
148
|
+
max-width: 100%;
|
|
149
|
+
background-color: var(--md-sys-color-primary-container, rgb(215 231 241));
|
|
150
|
+
border-bottom: var(--border-dim-color);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
:host * {
|
|
154
|
+
vertical-align: middle;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
button.trigger {
|
|
158
|
+
flex: 1;
|
|
159
|
+
display: flex;
|
|
160
|
+
align-items: center;
|
|
161
|
+
gap: var(--spacing-small);
|
|
162
|
+
padding: var(--spacing-small);
|
|
163
|
+
background: transparent;
|
|
164
|
+
border: 0;
|
|
165
|
+
cursor: pointer;
|
|
166
|
+
color: var(--md-sys-color-on-primary-container, rgb(50 66 82));
|
|
167
|
+
font: bold 14px/20px var(--theme-font);
|
|
168
|
+
text-align: left;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
button.trigger > md-icon.lead {
|
|
172
|
+
background-color: var(--md-sys-color-primary, rgb(46 121 190));
|
|
173
|
+
padding: 2px;
|
|
174
|
+
border-radius: 50%;
|
|
175
|
+
font-size: var(--fontsize-large);
|
|
176
|
+
color: var(--md-sys-color-on-primary, rgba(255, 255, 255, 0.9));
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
.current-label {
|
|
180
|
+
flex: 1;
|
|
181
|
+
overflow: hidden;
|
|
182
|
+
text-overflow: ellipsis;
|
|
183
|
+
white-space: nowrap;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
.panel {
|
|
187
|
+
position: absolute;
|
|
188
|
+
top: 100%;
|
|
189
|
+
right: 0;
|
|
190
|
+
left: 0;
|
|
191
|
+
min-width: 280px;
|
|
192
|
+
max-height: 60vh;
|
|
193
|
+
overflow-y: auto;
|
|
194
|
+
background: var(--md-sys-color-surface, #fff);
|
|
195
|
+
border: var(--border-dim-color);
|
|
196
|
+
border-radius: 0 0 var(--border-radius-default, 4px) var(--border-radius-default, 4px);
|
|
197
|
+
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
|
|
198
|
+
z-index: 10;
|
|
199
|
+
padding: var(--spacing-small) 0;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
.category-header {
|
|
203
|
+
display: flex;
|
|
204
|
+
align-items: center;
|
|
205
|
+
gap: var(--spacing-small);
|
|
206
|
+
padding: var(--spacing-small) var(--spacing-medium);
|
|
207
|
+
background: var(--md-sys-color-surface-variant, #f3f4f6);
|
|
208
|
+
font: bold 12px/16px var(--theme-font);
|
|
209
|
+
color: var(--md-sys-color-on-surface-variant, #555);
|
|
210
|
+
text-transform: uppercase;
|
|
211
|
+
letter-spacing: 0.04em;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
.category-header md-icon {
|
|
215
|
+
font-size: 16px;
|
|
216
|
+
color: var(--md-sys-color-primary, #2e79be);
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
.category-header .count {
|
|
220
|
+
margin-left: auto;
|
|
221
|
+
font-weight: normal;
|
|
222
|
+
color: var(--md-sys-color-on-surface-variant, #777);
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
ul.domains {
|
|
226
|
+
list-style: none;
|
|
227
|
+
margin: 0;
|
|
228
|
+
padding: 0;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
ul.domains li {
|
|
232
|
+
padding: var(--spacing-small) var(--spacing-medium);
|
|
233
|
+
cursor: pointer;
|
|
234
|
+
color: var(--md-sys-color-on-surface, #222);
|
|
235
|
+
font: normal 13px/18px var(--theme-font);
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
ul.domains li[selected] {
|
|
239
|
+
background: var(--md-sys-color-primary-container, #d7e7f1);
|
|
240
|
+
font-weight: bold;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
ul.domains li:hover {
|
|
244
|
+
background: var(--md-sys-color-secondary-container, #eef3fa);
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
ul.domains li .sub {
|
|
248
|
+
display: block;
|
|
249
|
+
font-size: 11px;
|
|
250
|
+
color: var(--md-sys-color-on-surface-variant, #888);
|
|
251
|
+
}
|
|
252
|
+
`
|
|
253
|
+
];
|
|
254
|
+
__decorate([
|
|
255
|
+
property({ type: String, attribute: true }),
|
|
256
|
+
__metadata("design:type", String)
|
|
257
|
+
], DsspDomainSwitch.prototype, "attrname", void 0);
|
|
258
|
+
__decorate([
|
|
259
|
+
property({ type: String, attribute: true }),
|
|
260
|
+
__metadata("design:type", String)
|
|
261
|
+
], DsspDomainSwitch.prototype, "icon", void 0);
|
|
262
|
+
__decorate([
|
|
263
|
+
state(),
|
|
264
|
+
__metadata("design:type", Object)
|
|
265
|
+
], DsspDomainSwitch.prototype, "_open", void 0);
|
|
266
|
+
DsspDomainSwitch = __decorate([
|
|
267
|
+
customElement('dssp-domain-switch')
|
|
268
|
+
], DsspDomainSwitch);
|
|
269
|
+
export { DsspDomainSwitch };
|
|
270
|
+
//# sourceMappingURL=domain-switch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain-switch.js","sourceRoot":"","sources":["../../client/viewparts/domain-switch.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\n\nimport { css, html, LitElement, nothing } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\n\nimport { AppController } from '@operato/shell'\nimport { ScrollbarStyles } from '@operato/styles'\nimport { i18next, localize } from '@operato/i18n'\n\nconst CATEGORY_ICON: Record<string, string> = {\n domain: 'business',\n project: 'assignment',\n company: 'corporate_fare',\n equipment: 'precision_manufacturing'\n}\n\nconst CATEGORY_FALLBACK_ICON = 'folder'\n\nconst CATEGORY_ORDER = ['project', 'domain', 'company', 'equipment']\n\n@customElement('dssp-domain-switch')\nexport class DsspDomainSwitch extends localize(i18next)(LitElement) {\n static styles = [\n ScrollbarStyles,\n css`\n :host {\n display: flex;\n position: relative;\n max-width: 100%;\n background-color: var(--md-sys-color-primary-container, rgb(215 231 241));\n border-bottom: var(--border-dim-color);\n }\n\n :host * {\n vertical-align: middle;\n }\n\n button.trigger {\n flex: 1;\n display: flex;\n align-items: center;\n gap: var(--spacing-small);\n padding: var(--spacing-small);\n background: transparent;\n border: 0;\n cursor: pointer;\n color: var(--md-sys-color-on-primary-container, rgb(50 66 82));\n font: bold 14px/20px var(--theme-font);\n text-align: left;\n }\n\n button.trigger > md-icon.lead {\n background-color: var(--md-sys-color-primary, rgb(46 121 190));\n padding: 2px;\n border-radius: 50%;\n font-size: var(--fontsize-large);\n color: var(--md-sys-color-on-primary, rgba(255, 255, 255, 0.9));\n }\n\n .current-label {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .panel {\n position: absolute;\n top: 100%;\n right: 0;\n left: 0;\n min-width: 280px;\n max-height: 60vh;\n overflow-y: auto;\n background: var(--md-sys-color-surface, #fff);\n border: var(--border-dim-color);\n border-radius: 0 0 var(--border-radius-default, 4px) var(--border-radius-default, 4px);\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n z-index: 10;\n padding: var(--spacing-small) 0;\n }\n\n .category-header {\n display: flex;\n align-items: center;\n gap: var(--spacing-small);\n padding: var(--spacing-small) var(--spacing-medium);\n background: var(--md-sys-color-surface-variant, #f3f4f6);\n font: bold 12px/16px var(--theme-font);\n color: var(--md-sys-color-on-surface-variant, #555);\n text-transform: uppercase;\n letter-spacing: 0.04em;\n }\n\n .category-header md-icon {\n font-size: 16px;\n color: var(--md-sys-color-primary, #2e79be);\n }\n\n .category-header .count {\n margin-left: auto;\n font-weight: normal;\n color: var(--md-sys-color-on-surface-variant, #777);\n }\n\n ul.domains {\n list-style: none;\n margin: 0;\n padding: 0;\n }\n\n ul.domains li {\n padding: var(--spacing-small) var(--spacing-medium);\n cursor: pointer;\n color: var(--md-sys-color-on-surface, #222);\n font: normal 13px/18px var(--theme-font);\n }\n\n ul.domains li[selected] {\n background: var(--md-sys-color-primary-container, #d7e7f1);\n font-weight: bold;\n }\n\n ul.domains li:hover {\n background: var(--md-sys-color-secondary-container, #eef3fa);\n }\n\n ul.domains li .sub {\n display: block;\n font-size: 11px;\n color: var(--md-sys-color-on-surface-variant, #888);\n }\n `\n ]\n\n private _appCtrl = new AppController(this)\n\n @property({ type: String, attribute: true }) attrname: string = 'name'\n @property({ type: String, attribute: true }) icon: string = 'domain'\n\n @state() private _open = false\n\n private _outsideClickHandler = (e: MouseEvent) => {\n if (!this._open) return\n const path = e.composedPath()\n if (!path.includes(this)) {\n this._open = false\n }\n }\n\n private _escHandler = (e: KeyboardEvent) => {\n if (e.key === 'Escape') this._open = false\n }\n\n connectedCallback() {\n super.connectedCallback()\n document.addEventListener('click', this._outsideClickHandler, true)\n document.addEventListener('keydown', this._escHandler)\n }\n\n disconnectedCallback() {\n document.removeEventListener('click', this._outsideClickHandler, true)\n document.removeEventListener('keydown', this._escHandler)\n super.disconnectedCallback()\n }\n\n render() {\n const domains: any[] = (this._appCtrl.domains as any[]) || []\n const current: any = (this._appCtrl.domain as any) || {}\n const attrname = this.attrname || 'name'\n const currentLabel = current[attrname] || current.name || ''\n\n if (domains.length <= 1) {\n return html`\n <button class=\"trigger\" disabled>\n ${this.icon ? html`<md-icon class=\"lead\">${this.icon}</md-icon>` : nothing}\n <span class=\"current-label\">${(domains[0] as any)?.[attrname] || currentLabel}</span>\n </button>\n `\n }\n\n const ordered = this._groupAndOrder(domains)\n\n return html`\n <button\n class=\"trigger\"\n @click=${(e: Event) => {\n e.stopPropagation()\n this._open = !this._open\n }}\n aria-haspopup=\"listbox\"\n aria-expanded=${this._open ? 'true' : 'false'}\n >\n ${this.icon ? html`<md-icon class=\"lead\">${this.icon}</md-icon>` : nothing}\n <span class=\"current-label\">${currentLabel}</span>\n <md-icon>${this._open ? 'expand_less' : 'expand_more'}</md-icon>\n </button>\n ${this._open\n ? html`\n <div class=\"panel\" role=\"listbox\">\n ${ordered.map(([category, items]) => this._renderCategory(category, items, current, attrname))}\n </div>\n `\n : nothing}\n `\n }\n\n private _renderCategory(category: string, items: any[], current: any, attrname: string) {\n return html`\n <section>\n <header class=\"category-header\">\n <md-icon>${CATEGORY_ICON[category] || CATEGORY_FALLBACK_ICON}</md-icon>\n <span>${i18next.t(`label.domain_type.${category}`, { defaultValue: category })}</span>\n <span class=\"count\">${items.length}</span>\n </header>\n <ul class=\"domains\">\n ${items.map(\n d => html`\n <li\n ?selected=${d.subdomain === current.subdomain}\n role=\"option\"\n aria-selected=${d.subdomain === current.subdomain ? 'true' : 'false'}\n title=${d.description ? `${d.name}\\n${d.description}` : d.name || ''}\n @click=${() => this._select(d)}\n >\n <strong>${d[attrname] || d.name}</strong>\n ${attrname !== 'subdomain' && d.subdomain\n ? html`<span class=\"sub\">${d.subdomain}</span>`\n : nothing}\n </li>\n `\n )}\n </ul>\n </section>\n `\n }\n\n private _select(d: any) {\n if (!d?.subdomain) return\n window.location.pathname = `/auth/checkin/${d.subdomain}`\n }\n\n private _groupAndOrder(domains: any[]): [string, any[]][] {\n const groups: Record<string, any[]> = {}\n for (const d of domains) {\n const cat = d.extType || 'domain'\n ;(groups[cat] ||= []).push(d)\n }\n\n // 카테고리 안 등록번호 (subdomain) 역순.\n for (const items of Object.values(groups)) {\n items.sort((a, b) => (b.subdomain || '').localeCompare(a.subdomain || ''))\n }\n\n const ordered: [string, any[]][] = []\n const seen = new Set<string>()\n for (const cat of CATEGORY_ORDER) {\n if (groups[cat]?.length) {\n ordered.push([cat, groups[cat]])\n seen.add(cat)\n }\n }\n for (const [cat, items] of Object.entries(groups)) {\n if (!seen.has(cat)) ordered.push([cat, items])\n }\n return ordered\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-excel.js","sourceRoot":"","sources":["../../server/controllers/parse-excel.ts"],"names":[],"mappings":";;AAKA,4DAgFC;;AArFD,8DAA6B;AAG7B,+CAA2C;AAEpC,KAAK,UAAU,wBAAwB,CAAC,MAAc,EAAE,OAAgB,EAAE,OAAwB;IACvG,oBAAoB;IACpB,MAAM,QAAQ,GAAG,IAAI,iBAAO,CAAC,QAAQ,EAAE,CAAA;IACvC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"parse-excel.js","sourceRoot":"","sources":["../../server/controllers/parse-excel.ts"],"names":[],"mappings":"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","sourcesContent":["import ExcelJS from 'exceljs'\nimport { RawTask } from './types'\nimport { Project } from '../service/project/project'\nimport { importTasks } from './import-task'\n\nexport async function parseExcelAndImportTasks(buffer: Buffer, project: Project, context: ResolverContext) {\n // 1. 엑셀 파일을 읽어들입니다.\n const workbook = new ExcelJS.Workbook()\n await workbook.xlsx.load(buffer as any)\n\n // 2. 첫 번째 워크시트를 가져옵니다.\n const worksheet = workbook.getWorksheet(1) // Index or sheet name can be used\n\n // 3. 첫 번째 row를 header로 사용합니다.\n const headers: string[] = []\n let taskCodeColumnIndex = -1\n\n const headerRow = worksheet.getRow(1)\n headerRow.eachCell((cell, colNumber) => {\n const headerText = cell.text.toString()\n headers[colNumber - 1] = headerText // Store headers in an array\n\n if (headerText === '작업코드') {\n taskCodeColumnIndex = colNumber // Store the column index for \"작업코드\"\n }\n })\n\n if (taskCodeColumnIndex === -1) {\n throw new Error('작업코드 column not found')\n }\n\n // 4. 엑셀 데이터를 RawTask 형식으로 변환합니다.\n const tasks: RawTask[] = []\n\n // Start processing from the second row onward to skip the header\n for (let rowIndex = 2; rowIndex <= worksheet.rowCount; rowIndex++) {\n const row = worksheet.getRow(rowIndex)\n const taskData: any = {}\n\n row.eachCell((cell, colNumber) => {\n const header = headers[colNumber - 1]\n\n // Check if the cell has a formula(or sharedFormula) and use the formula result\n let cellValue: any = cell.value\n if (cellValue && typeof cellValue === 'object' && ('formula' in cellValue || 'sharedFormula' in cellValue)) {\n // Cell contains a formula, use the calculated result if available\n cellValue = cellValue.result ?? cellValue.value // Use the result, or fallback to value if result is not calculated\n }\n\n taskData[header] = cellValue\n })\n\n const taskCodeCell = row.getCell(taskCodeColumnIndex)\n let bgColor = '#FFFFFF'\n const fill = taskCodeCell.style.fill\n\n if (fill && fill.type === 'pattern' && fill.pattern === 'solid') {\n const fgColor = fill.fgColor\n if (fgColor && fgColor.argb) {\n // ARGB is a color in the format AARRGGBB, remove the alpha channel (first two characters)\n bgColor = `#${fgColor.argb.slice(2)}`\n }\n }\n\n const task: RawTask = {\n code: taskData['작업코드'],\n title: taskData['작업명'],\n type: taskData['세부공종'],\n duration: taskData['기간'],\n startDate: taskData['시작일'],\n dependsOn: taskData['선행작업코드'],\n progress: taskData['진척율'],\n tags: taskData['Tags'] ? taskData['Tags'].split(',') : [],\n resources: taskData['Resources'] ? JSON.parse(taskData['Resources']) : [],\n style: bgColor,\n children: []\n }\n\n if (task.code && task.type) {\n tasks.push(task)\n }\n }\n\n // 5. 변환된 데이터를 importTasks 함수로 전달합니다.\n await importTasks(project, tasks, context)\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1723861466414-seed-codes.js","sourceRoot":"","sources":["../../server/migrations/1723861466414-seed-codes.ts"],"names":[],"mappings":";;;AAEA,6CAA4C;AAC5C,iDAA6D;AAC7D,yDAAgD;AAChD,yDAAwE;AAExE,MAAM,iBAAiB,GAAG;IACxB;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,OAAO;QACpB,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,SAAS;gBACtB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,CAAC;aACR;YACD;gBACE,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,UAAU;gBACvB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,CAAC;aACR;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,KAAK;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,CAAC;aACR;SACF;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,IAAI;gBACV,WAAW,EAAE,IAAI;gBACjB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,CAAC;aACR;YACD;gBACE,IAAI,EAAE,IAAI;gBACV,WAAW,EAAE,IAAI;gBACjB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,CAAC;aACR;SACF;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,KAAK;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,CAAC;aACR;YACD;gBACE,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EAAE,WAAW;gBACxB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,CAAC;aACR;YACD;gBACE,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EAAE,YAAY;gBACzB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,CAAC;aACR;YACD;gBACE,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EAAE,WAAW;gBACxB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,CAAC;aACR;YACD;gBACE,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EAAE,YAAY;gBACzB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,CAAC;aACR;YACD;gBACE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"1723861466414-seed-codes.js","sourceRoot":"","sources":["../../server/migrations/1723861466414-seed-codes.ts"],"names":[],"mappings":"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","sourcesContent":["import { MigrationInterface, QueryRunner } from 'typeorm'\n\nimport { logger } from '@things-factory/env'\nimport { Domain, getRepository } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { CommonCode, CommonCodeDetail } from '@things-factory/code-base'\n\nconst SEED_COMMON_CODES = [\n {\n name: 'EMPLOYEE_TYPE',\n description: '직원 유형',\n details: [\n {\n name: 'FULLTIME',\n description: '풀타임 정규직',\n labels: null,\n rank: 1\n },\n {\n name: 'PARTTIME',\n description: '파트타임 정규직',\n labels: null,\n rank: 2\n },\n {\n name: 'TEMPORARY',\n description: '임시직',\n labels: null,\n rank: 3\n }\n ]\n },\n {\n name: 'JOB_POSITION',\n description: '직급',\n details: [\n {\n name: '임원',\n description: '임원',\n labels: null,\n rank: 1\n },\n {\n name: '직원',\n description: '직원',\n labels: null,\n rank: 2\n }\n ]\n },\n {\n name: 'JOB_RESPONSIBILITY',\n description: '직책',\n details: [\n {\n name: 'ADMIN',\n description: '관리자',\n labels: null,\n rank: 1\n },\n {\n name: 'OVERALL_SUPERVISORY',\n description: '총괄 감리 책임자',\n labels: null,\n rank: 2\n },\n {\n name: 'TASK_SUPERVISORY',\n description: '공종별 감리 책임자',\n labels: null,\n rank: 3\n },\n {\n name: 'OVERALL_CONSTRUCTOR',\n description: '총괄 시공 책임자',\n labels: null,\n rank: 4\n },\n {\n name: 'TASK_CONSTRUCTOR',\n description: '공종별 시공 관리자',\n labels: null,\n rank: 5\n },\n {\n name: 'ARCHITECT',\n description: '설계사',\n labels: null,\n rank: 6\n },\n {\n name: 'CONSTRUCTOR',\n description: '시공자',\n labels: null,\n rank: 7\n }\n ]\n }\n]\n\nexport class SeedCodes1723861466414 implements MigrationInterface {\n public async up(queryRunner: QueryRunner): Promise<void> {\n const commonCodeRepository = getRepository(CommonCode)\n const commonCodeDetailRepository = getRepository(CommonCodeDetail)\n const domainRepository = getRepository(Domain)\n const userRepository = getRepository(User)\n\n const domain: Domain = await domainRepository.findOne({\n where: { name: 'SYSTEM' }\n })\n const user = await userRepository.findOne({ where: { id: domain.owner } })\n\n try {\n for (let i = 0; i < SEED_COMMON_CODES.length; i++) {\n const { name, description, details } = SEED_COMMON_CODES[i]\n\n const commonCode = await commonCodeRepository.save({\n domain,\n name,\n description,\n creator: user,\n updater: user\n })\n\n for (const commonCodeDetail of details) {\n const { name, description, labels, rank } = commonCodeDetail\n\n await commonCodeDetailRepository.save({\n domain,\n commonCode,\n name,\n description,\n labels,\n rank\n })\n }\n }\n } catch (e) {\n logger.error(e)\n }\n }\n\n public async down(queryRunner: QueryRunner): Promise<void> {\n const domainRepository = getRepository(Domain)\n\n const domain: Domain = await domainRepository.findOne({\n where: { name: 'SYSTEM' }\n })\n\n const repository = getRepository(CommonCode)\n\n SEED_COMMON_CODES.reverse().forEach(async commonCode => {\n let record = await repository.findOne({ where: { name: commonCode.name, domain: { id: domain.id } } })\n record && (await repository.remove(record))\n })\n }\n}\n"]}
|
|
@@ -4,8 +4,8 @@ import { ConstructionType } from './construction-type';
|
|
|
4
4
|
import { ConstructionTypeList } from './construction-type-type';
|
|
5
5
|
import { ConstructionDetailType } from '../construction-detail-type/construction-detail-type';
|
|
6
6
|
export declare class ConstructionTypeQuery {
|
|
7
|
-
constructionType(id: string
|
|
8
|
-
constructionTypes(params: ListParam
|
|
7
|
+
constructionType(id: string): Promise<ConstructionType>;
|
|
8
|
+
constructionTypes(params: ListParam): Promise<ConstructionTypeList>;
|
|
9
9
|
constructionDetailTypes(constructionType: ConstructionType): Promise<ConstructionDetailType[]>;
|
|
10
10
|
domain(constructionType: ConstructionType): Promise<Domain>;
|
|
11
11
|
updater(constructionType: ConstructionType): Promise<User>;
|
|
@@ -9,16 +9,13 @@ const construction_type_1 = require("./construction-type");
|
|
|
9
9
|
const construction_type_type_1 = require("./construction-type-type");
|
|
10
10
|
const construction_detail_type_1 = require("../construction-detail-type/construction-detail-type");
|
|
11
11
|
let ConstructionTypeQuery = class ConstructionTypeQuery {
|
|
12
|
-
async constructionType(id
|
|
13
|
-
const { domain } = context.state;
|
|
12
|
+
async constructionType(id) {
|
|
14
13
|
return await (0, shell_1.getRepository)(construction_type_1.ConstructionType).findOne({
|
|
15
|
-
where: {
|
|
14
|
+
where: { id }
|
|
16
15
|
});
|
|
17
16
|
}
|
|
18
|
-
async constructionTypes(params
|
|
19
|
-
const { domain } = context.state;
|
|
17
|
+
async constructionTypes(params) {
|
|
20
18
|
const queryBuilder = (0, shell_1.getQueryBuilderFromListParams)({
|
|
21
|
-
domain,
|
|
22
19
|
params,
|
|
23
20
|
repository: await (0, shell_1.getRepository)(construction_type_1.ConstructionType)
|
|
24
21
|
});
|
|
@@ -45,17 +42,15 @@ exports.ConstructionTypeQuery = ConstructionTypeQuery;
|
|
|
45
42
|
tslib_1.__decorate([
|
|
46
43
|
(0, type_graphql_1.Query)(returns => construction_type_1.ConstructionType, { nullable: true, description: 'To fetch a ConstructionType' }),
|
|
47
44
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
|
|
48
|
-
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
49
45
|
tslib_1.__metadata("design:type", Function),
|
|
50
|
-
tslib_1.__metadata("design:paramtypes", [String
|
|
46
|
+
tslib_1.__metadata("design:paramtypes", [String]),
|
|
51
47
|
tslib_1.__metadata("design:returntype", Promise)
|
|
52
48
|
], ConstructionTypeQuery.prototype, "constructionType", null);
|
|
53
49
|
tslib_1.__decorate([
|
|
54
50
|
(0, type_graphql_1.Query)(returns => construction_type_type_1.ConstructionTypeList, { description: 'To fetch multiple ConstructionTypes' }),
|
|
55
51
|
tslib_1.__param(0, (0, type_graphql_1.Args)()),
|
|
56
|
-
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
57
52
|
tslib_1.__metadata("design:type", Function),
|
|
58
|
-
tslib_1.__metadata("design:paramtypes", [shell_1.ListParam
|
|
53
|
+
tslib_1.__metadata("design:paramtypes", [shell_1.ListParam]),
|
|
59
54
|
tslib_1.__metadata("design:returntype", Promise)
|
|
60
55
|
], ConstructionTypeQuery.prototype, "constructionTypes", null);
|
|
61
56
|
tslib_1.__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"construction-type-query.js","sourceRoot":"","sources":["../../../server/service/construction-type/construction-type-query.ts"],"names":[],"mappings":";;;;AAAA,+CAAmF;AACnF,iDAAuG;AACvG,yDAAgD;AAChD,2DAAsD;AACtD,qEAA+D;AAC/D,mGAA6F;AAGtF,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAE1B,AAAN,KAAK,CAAC,gBAAgB,CAAY,EAAU
|
|
1
|
+
{"version":3,"file":"construction-type-query.js","sourceRoot":"","sources":["../../../server/service/construction-type/construction-type-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Query, FieldResolver, Root, Args, Arg, Ctx } from 'type-graphql'\nimport { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { ConstructionType } from './construction-type'\nimport { ConstructionTypeList } from './construction-type-type'\nimport { ConstructionDetailType } from '../construction-detail-type/construction-detail-type'\n\n@Resolver(ConstructionType)\nexport class ConstructionTypeQuery {\n @Query(returns => ConstructionType!, { nullable: true, description: 'To fetch a ConstructionType' })\n async constructionType(@Arg('id') id: string): Promise<ConstructionType> {\n return await getRepository(ConstructionType).findOne({\n where: { id }\n })\n }\n\n @Query(returns => ConstructionTypeList, { description: 'To fetch multiple ConstructionTypes' })\n async constructionTypes(@Args() params: ListParam): Promise<ConstructionTypeList> {\n const queryBuilder = getQueryBuilderFromListParams({\n params,\n repository: await getRepository(ConstructionType)\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @FieldResolver(type => [ConstructionDetailType])\n async constructionDetailTypes(@Root() constructionType: ConstructionType): Promise<ConstructionDetailType[]> {\n return await getRepository(ConstructionDetailType).find({\n where: { constructionType: { id: constructionType.id } },\n order: { sequence: 'ASC' }\n })\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() constructionType: ConstructionType): Promise<Domain> {\n return await getRepository(Domain).findOneBy({ id: constructionType.domainId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() constructionType: ConstructionType): Promise<User> {\n return await getRepository(User).findOneBy({ id: constructionType.updaterId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() constructionType: ConstructionType): Promise<User> {\n return await getRepository(User).findOneBy({ id: constructionType.creatorId })\n }\n}\n"]}
|
|
@@ -19,6 +19,10 @@ tslib_1.__decorate([
|
|
|
19
19
|
(0, type_graphql_1.Field)({ nullable: true }),
|
|
20
20
|
tslib_1.__metadata("design:type", String)
|
|
21
21
|
], ConstructionTypePatch.prototype, "description", void 0);
|
|
22
|
+
tslib_1.__decorate([
|
|
23
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
24
|
+
tslib_1.__metadata("design:type", String)
|
|
25
|
+
], ConstructionTypePatch.prototype, "projectType", void 0);
|
|
22
26
|
tslib_1.__decorate([
|
|
23
27
|
(0, type_graphql_1.Field)({ nullable: true }),
|
|
24
28
|
tslib_1.__metadata("design:type", String)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"construction-type-type.js","sourceRoot":"","sources":["../../../server/service/construction-type/construction-type-type.ts"],"names":[],"mappings":";;;;AAAA,+CAAoE;AACpE,2DAAsD;AAG/C,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;
|
|
1
|
+
{"version":3,"file":"construction-type-type.js","sourceRoot":"","sources":["../../../server/service/construction-type/construction-type-type.ts"],"names":[],"mappings":";;;;AAAA,+CAAoE;AACpE,2DAAsD;AAG/C,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;CAejC,CAAA;AAfY,sDAAqB;AAEhC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iDAC3B;AAGX;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mDACb;AAGb;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0DACN;AAGpB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0DACN;AAGpB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qDACX;gCAdJ,qBAAqB;IADjC,IAAA,wBAAS,GAAE;GACC,qBAAqB,CAejC;AAGM,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;CAMhC,CAAA;AANY,oDAAoB;AAE/B;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,oCAAgB,CAAC,CAAC;;mDACT;AAGzB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;mDACN;+BALF,oBAAoB;IADhC,IAAA,yBAAU,GAAE;GACA,oBAAoB,CAMhC","sourcesContent":["import { ObjectType, Field, InputType, Int, ID } from 'type-graphql'\nimport { ConstructionType } from './construction-type'\n\n@InputType()\nexport class ConstructionTypePatch {\n @Field(type => ID, { nullable: true })\n id?: string\n\n @Field({ nullable: true })\n name?: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field({ nullable: true })\n projectType?: string\n\n @Field({ nullable: true })\n cuFlag?: string\n}\n\n@ObjectType()\nexport class ConstructionTypeList {\n @Field(type => [ConstructionType])\n items: ConstructionType[]\n\n @Field(type => Int)\n total: number\n}\n"]}
|
|
@@ -34,6 +34,11 @@ tslib_1.__decorate([
|
|
|
34
34
|
(0, type_graphql_1.Field)({ nullable: true }),
|
|
35
35
|
tslib_1.__metadata("design:type", String)
|
|
36
36
|
], ConstructionType.prototype, "description", void 0);
|
|
37
|
+
tslib_1.__decorate([
|
|
38
|
+
(0, typeorm_1.Column)({ nullable: true, default: 'DSSP' }),
|
|
39
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
40
|
+
tslib_1.__metadata("design:type", String)
|
|
41
|
+
], ConstructionType.prototype, "projectType", void 0);
|
|
37
42
|
tslib_1.__decorate([
|
|
38
43
|
(0, type_graphql_1.Field)(() => [construction_detail_type_1.ConstructionDetailType], { nullable: true }),
|
|
39
44
|
(0, typeorm_1.OneToMany)(() => construction_detail_type_1.ConstructionDetailType, constructionDetailType => constructionDetailType.constructionType),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"construction-type.js","sourceRoot":"","sources":["../../../server/service/construction-type/construction-type.ts"],"names":[],"mappings":";;;;AAAA,qCAWgB;AAChB,+CAAoD;AACpD,iDAA8C;AAC9C,yDAAgD;AAChD,mGAA6F;AAQtF,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;
|
|
1
|
+
{"version":3,"file":"construction-type.js","sourceRoot":"","sources":["../../../server/service/construction-type/construction-type.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n CreateDateColumn,\n UpdateDateColumn,\n DeleteDateColumn,\n Entity,\n Index,\n Column,\n RelationId,\n ManyToOne,\n PrimaryGeneratedColumn,\n OneToMany\n} from 'typeorm'\nimport { ObjectType, Field, ID } from 'type-graphql'\nimport { Domain } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { ConstructionDetailType } from '../construction-detail-type/construction-detail-type'\n\n@Entity()\n@Index('ix_construction_type_0', (constructionType: ConstructionType) => [constructionType.domain, constructionType.name], {\n unique: true,\n where: '\"deleted_at\" IS NULL'\n})\n@ObjectType({ description: '공종 타입' })\nexport class ConstructionType {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n @ManyToOne(type => Domain)\n @Field({ nullable: true })\n domain?: Domain\n\n @RelationId((constructionType: ConstructionType) => constructionType.domain)\n domainId?: string\n\n @Column()\n @Field({ nullable: true })\n name?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n description?: string\n\n @Column({ nullable: true, default: 'DSSP' })\n @Field({ nullable: true })\n projectType?: string\n\n // 상세 공종 정보 (하위 테이블 참조)\n @Field(() => [ConstructionDetailType], { nullable: true })\n @OneToMany(() => ConstructionDetailType, constructionDetailType => constructionDetailType.constructionType)\n constructionDetailTypes?: ConstructionDetailType[]\n\n @CreateDateColumn()\n @Field({ nullable: true })\n createdAt?: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt?: Date\n\n @DeleteDateColumn()\n @Field({ nullable: true })\n deletedAt?: Date\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n creator?: User\n\n @RelationId((constructionType: ConstructionType) => constructionType.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n updater?: User\n\n @RelationId((constructionType: ConstructionType) => constructionType.updater)\n updaterId?: string\n}\n"]}
|
|
@@ -9,7 +9,7 @@ export * from './manager/manager';
|
|
|
9
9
|
export * from './manager/manager-type';
|
|
10
10
|
export * from './task/task';
|
|
11
11
|
export * from './project/project';
|
|
12
|
-
export declare const entities: (typeof import("./project/project").Project | typeof import("./task/task").Task | typeof import("./task-resource/task-resource").TaskResource | typeof import("./resource/resource").Resource | typeof import("./construction-type/construction-type").ConstructionType | typeof import("./construction-detail-type/construction-detail-type").ConstructionDetailType | typeof import("./inspection-part/inspection-part").InspectionPart | typeof import("./inspection-drawing-type/inspection-drawing-type").InspectionDrawingType | typeof import("./worker-type/worker-type").WorkerType | typeof import("./manager/manager").Manager)[];
|
|
12
|
+
export declare const entities: (typeof import("./project/project").Project | typeof import("./task/task").Task | typeof import("./task-checklist-binding/task-checklist-binding").TaskChecklistBinding | typeof import("./task-resource/task-resource").TaskResource | typeof import("./resource/resource").Resource | typeof import("./construction-type/construction-type").ConstructionType | typeof import("./construction-detail-type/construction-detail-type").ConstructionDetailType | typeof import("./inspection-part/inspection-part").InspectionPart | typeof import("./inspection-drawing-type/inspection-drawing-type").InspectionDrawingType | typeof import("./worker-type/worker-type").WorkerType | typeof import("./manager/manager").Manager)[];
|
|
13
13
|
export declare const schema: {
|
|
14
|
-
resolverClasses: (typeof import("./task-resource/task-resource-query").TaskResourceQuery | typeof import("./task-resource/task-resource-mutation").TaskResourceMutation | typeof import("./resource/resource-query").ResourceQuery | typeof import("./resource/resource-mutation").ResourceMutation | typeof import("./construction-detail-type/construction-detail-type-query").ConstructionDetailTypeQuery | typeof import("./construction-detail-type/construction-detail-type-mutation").ConstructionDetailTypeMutation | typeof import("./construction-type/construction-type-query").ConstructionTypeQuery | typeof import("./construction-type/construction-type-mutation").ConstructionTypeMutation | typeof import("./inspection-drawing-type/inspection-drawing-type-query").InspectionDrawingTypeQuery | typeof import("./inspection-drawing-type/inspection-drawing-type-mutation").InspectionDrawingTypeMutation | typeof import("./inspection-part/inspection-part-query").InspectionPartQuery | typeof import("./inspection-part/inspection-part-mutation").InspectionPartMutation | typeof import("./worker-type/worker-type-query").WorkerTypeQuery | typeof import("./worker-type/worker-type-mutation").WorkerTypeMutation | typeof import("./manager/manager-query").ManagerQuery | typeof import("./manager/manager-mutation").ManagerMutation | typeof import("./task/task-query").TaskQuery | typeof import("./task/task-mutation").TaskMutation | typeof import("./project/project-query").ProjectQuery | typeof import("./project/project-mutation").ProjectMutation)[];
|
|
14
|
+
resolverClasses: (typeof import("./task-resource/task-resource-query").TaskResourceQuery | typeof import("./task-resource/task-resource-mutation").TaskResourceMutation | typeof import("./resource/resource-query").ResourceQuery | typeof import("./resource/resource-mutation").ResourceMutation | typeof import("./construction-detail-type/construction-detail-type-query").ConstructionDetailTypeQuery | typeof import("./construction-detail-type/construction-detail-type-mutation").ConstructionDetailTypeMutation | typeof import("./construction-type/construction-type-query").ConstructionTypeQuery | typeof import("./construction-type/construction-type-mutation").ConstructionTypeMutation | typeof import("./inspection-drawing-type/inspection-drawing-type-query").InspectionDrawingTypeQuery | typeof import("./inspection-drawing-type/inspection-drawing-type-mutation").InspectionDrawingTypeMutation | typeof import("./inspection-part/inspection-part-query").InspectionPartQuery | typeof import("./inspection-part/inspection-part-mutation").InspectionPartMutation | typeof import("./worker-type/worker-type-query").WorkerTypeQuery | typeof import("./worker-type/worker-type-mutation").WorkerTypeMutation | typeof import("./manager/manager-query").ManagerQuery | typeof import("./manager/manager-mutation").ManagerMutation | typeof import("./task/task-query").TaskQuery | typeof import("./task/task-mutation").TaskMutation | typeof import("./project/project-query").ProjectQuery | typeof import("./project/project-mutation").ProjectMutation | typeof import("./task-checklist-binding/task-checklist-binding-query").TaskChecklistBindingQuery | typeof import("./task-checklist-binding/task-checklist-binding-mutation").TaskChecklistBindingMutation)[];
|
|
15
15
|
};
|
|
@@ -25,6 +25,7 @@ const worker_type_1 = require("./worker-type");
|
|
|
25
25
|
const manager_1 = require("./manager");
|
|
26
26
|
const task_1 = require("./task");
|
|
27
27
|
const project_1 = require("./project");
|
|
28
|
+
const task_checklist_binding_1 = require("./task-checklist-binding");
|
|
28
29
|
exports.entities = [
|
|
29
30
|
/* ENTITIES */
|
|
30
31
|
...task_resource_1.entities,
|
|
@@ -36,7 +37,8 @@ exports.entities = [
|
|
|
36
37
|
...worker_type_1.entities,
|
|
37
38
|
...manager_1.entities,
|
|
38
39
|
...task_1.entities,
|
|
39
|
-
...project_1.entities
|
|
40
|
+
...project_1.entities,
|
|
41
|
+
...task_checklist_binding_1.entities
|
|
40
42
|
];
|
|
41
43
|
exports.schema = {
|
|
42
44
|
resolverClasses: [
|
|
@@ -50,7 +52,8 @@ exports.schema = {
|
|
|
50
52
|
...worker_type_1.resolvers,
|
|
51
53
|
...manager_1.resolvers,
|
|
52
54
|
...task_1.resolvers,
|
|
53
|
-
...project_1.resolvers
|
|
55
|
+
...project_1.resolvers,
|
|
56
|
+
...task_checklist_binding_1.resolvers
|
|
54
57
|
]
|
|
55
58
|
};
|
|
56
59
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/service/index.ts"],"names":[],"mappings":";;;;AAAA,yBAAyB;AACzB,wEAA6C;AAC7C,8DAAmC;AACnC,8FAAmE;AACnE,gFAAqD;AACrD,4FAAiE;AACjE,4EAAiD;AACjD,oEAAyC;AACzC,4DAAiC;AACjC,iEAAsC;AACtC,sDAA2B;AAC3B,4DAAiC;AAEjC,mCAAmC;AACnC,mDAAsG;AACtG,yCAAyF;AACzF,yEAGmC;AACnC,2DAAkH;AAClH,uEAAkI;AAClI,uDAA4G;AAC5G,+CAAgG;AAChG,uCAAsF;AACtF,iCAA6E;AAC7E,uCAAsF;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/service/index.ts"],"names":[],"mappings":";;;;AAAA,yBAAyB;AACzB,wEAA6C;AAC7C,8DAAmC;AACnC,8FAAmE;AACnE,gFAAqD;AACrD,4FAAiE;AACjE,4EAAiD;AACjD,oEAAyC;AACzC,4DAAiC;AACjC,iEAAsC;AACtC,sDAA2B;AAC3B,4DAAiC;AAEjC,mCAAmC;AACnC,mDAAsG;AACtG,yCAAyF;AACzF,yEAGmC;AACnC,2DAAkH;AAClH,uEAAkI;AAClI,uDAA4G;AAC5G,+CAAgG;AAChG,uCAAsF;AACtF,iCAA6E;AAC7E,uCAAsF;AACtF,qEAA+H;AAElH,QAAA,QAAQ,GAAG;IACtB,cAAc;IACd,GAAG,wBAAoB;IACvB,GAAG,mBAAgB;IACnB,GAAG,mCAA8B;IACjC,GAAG,4BAAwB;IAC3B,GAAG,kCAA6B;IAChC,GAAG,0BAAsB;IACzB,GAAG,sBAAkB;IACrB,GAAG,kBAAe;IAClB,GAAG,eAAY;IACf,GAAG,kBAAe;IAClB,GAAG,iCAA4B;CAChC,CAAA;AAEY,QAAA,MAAM,GAAG;IACpB,eAAe,EAAE;QACf,sBAAsB;QACtB,GAAG,yBAAqB;QACxB,GAAG,oBAAiB;QACpB,GAAG,oCAA+B;QAClC,GAAG,6BAAyB;QAC5B,GAAG,mCAA8B;QACjC,GAAG,2BAAuB;QAC1B,GAAG,uBAAmB;QACtB,GAAG,mBAAgB;QACnB,GAAG,gBAAa;QAChB,GAAG,mBAAgB;QACnB,GAAG,kCAA6B;KACjC;CACF,CAAA","sourcesContent":["/* EXPORT ENTITY TYPES */\nexport * from './task-resource/task-resource'\nexport * from './resource/resource'\nexport * from './construction-detail-type/construction-detail-type'\nexport * from './construction-type/construction-type'\nexport * from './inspection-drawing-type/inspection-drawing-type'\nexport * from './inspection-part/inspection-part'\nexport * from './worker-type/worker-type'\nexport * from './manager/manager'\nexport * from './manager/manager-type'\nexport * from './task/task'\nexport * from './project/project'\n\n/* IMPORT ENTITIES AND RESOLVERS */\nimport { entities as TaskResourceEntities, resolvers as TaskResourceResolvers } from './task-resource'\nimport { entities as ResourceEntities, resolvers as ResourceResolvers } from './resource'\nimport {\n entities as ConstructionDetailTypeEntities,\n resolvers as ConstructionDetailTypeResolvers\n} from './construction-detail-type'\nimport { entities as ConstructionTypeEntities, resolvers as ConstructionTypeResolvers } from './construction-type'\nimport { entities as InspectionDrawingTypeEntities, resolvers as InspectionDrawingTypeResolvers } from './inspection-drawing-type'\nimport { entities as InspectionPartEntities, resolvers as InspectionPartResolvers } from './inspection-part'\nimport { entities as WorkerTypeEntities, resolvers as WorkerTypeResolvers } from './worker-type'\nimport { entities as ManagerEntities, resolvers as ManagerResolvers } from './manager'\nimport { entities as TaskEntities, resolvers as TaskResolvers } from './task'\nimport { entities as ProjectEntities, resolvers as ProjectResolvers } from './project'\nimport { entities as TaskChecklistBindingEntities, resolvers as TaskChecklistBindingResolvers } from './task-checklist-binding'\n\nexport const entities = [\n /* ENTITIES */\n ...TaskResourceEntities,\n ...ResourceEntities,\n ...ConstructionDetailTypeEntities,\n ...ConstructionTypeEntities,\n ...InspectionDrawingTypeEntities,\n ...InspectionPartEntities,\n ...WorkerTypeEntities,\n ...ManagerEntities,\n ...TaskEntities,\n ...ProjectEntities,\n ...TaskChecklistBindingEntities\n]\n\nexport const schema = {\n resolverClasses: [\n /* RESOLVER CLASSES */\n ...TaskResourceResolvers,\n ...ResourceResolvers,\n ...ConstructionDetailTypeResolvers,\n ...ConstructionTypeResolvers,\n ...InspectionDrawingTypeResolvers,\n ...InspectionPartResolvers,\n ...WorkerTypeResolvers,\n ...ManagerResolvers,\n ...TaskResolvers,\n ...ProjectResolvers,\n ...TaskChecklistBindingResolvers\n ]\n}\n"]}
|