@dssp/project 0.0.8 → 0.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (286) hide show
  1. package/client/pages/project/project-detail.ts +109 -30
  2. package/client/pages/project/project-list.ts +46 -10
  3. package/client/pages/project/project-schedule-list.ts +11 -3
  4. package/client/pages/project/project-schedule.ts +111 -312
  5. package/client/pages/project/project-setting-list.ts +11 -3
  6. package/client/pages/resource/construction-detail-type-popup.ts +201 -0
  7. package/client/pages/resource/construction-type-management.ts +40 -39
  8. package/client/pages/resource/inspection-drawing-type-management.ts +210 -0
  9. package/client/pages/resource/inspection-part-popup.ts +201 -0
  10. package/client/pages/resource/manager-management.ts +0 -27
  11. package/client/pages/{checklist/checklist-importer.ts → resource/resource-importer.ts} +11 -8
  12. package/client/pages/{checklist/checklist-list-page.ts → resource/resource-list-page.ts} +41 -25
  13. package/client/pages/resource/worker-type-management.ts +3 -37
  14. package/client/pages/task-resource/task-resource-importer.ts +97 -0
  15. package/client/pages/task-resource/task-resource-list-page.ts +356 -0
  16. package/client/route.ts +13 -1
  17. package/dist-client/pages/project/project-detail.d.ts +5 -1
  18. package/dist-client/pages/project/project-detail.js +123 -40
  19. package/dist-client/pages/project/project-detail.js.map +1 -1
  20. package/dist-client/pages/project/project-list.d.ts +33 -7
  21. package/dist-client/pages/project/project-list.js +26 -11
  22. package/dist-client/pages/project/project-list.js.map +1 -1
  23. package/dist-client/pages/project/project-schedule-list.js +11 -3
  24. package/dist-client/pages/project/project-schedule-list.js.map +1 -1
  25. package/dist-client/pages/project/project-schedule.d.ts +5 -1
  26. package/dist-client/pages/project/project-schedule.js +117 -306
  27. package/dist-client/pages/project/project-schedule.js.map +1 -1
  28. package/dist-client/pages/project/project-setting-list.js +11 -3
  29. package/dist-client/pages/project/project-setting-list.js.map +1 -1
  30. package/dist-client/pages/resource/construction-detail-type-popup.d.ts +2 -0
  31. package/dist-client/pages/resource/construction-detail-type-popup.js +197 -0
  32. package/dist-client/pages/resource/construction-detail-type-popup.js.map +1 -0
  33. package/dist-client/pages/resource/construction-type-management.d.ts +12 -0
  34. package/dist-client/pages/resource/construction-type-management.js +30 -38
  35. package/dist-client/pages/resource/construction-type-management.js.map +1 -1
  36. package/dist-client/pages/resource/inspection-drawing-type-management.d.ts +34 -0
  37. package/dist-client/pages/resource/inspection-drawing-type-management.js +198 -0
  38. package/dist-client/pages/resource/inspection-drawing-type-management.js.map +1 -0
  39. package/dist-client/pages/resource/inspection-part-popup.d.ts +2 -0
  40. package/dist-client/pages/resource/inspection-part-popup.js +197 -0
  41. package/dist-client/pages/resource/inspection-part-popup.js.map +1 -0
  42. package/dist-client/pages/resource/manager-management.js +0 -27
  43. package/dist-client/pages/resource/manager-management.js.map +1 -1
  44. package/dist-client/pages/{checklist/checklist-importer.d.ts → resource/resource-importer.d.ts} +2 -2
  45. package/dist-client/pages/{checklist/checklist-importer.js → resource/resource-importer.js} +10 -10
  46. package/dist-client/pages/resource/resource-importer.js.map +1 -0
  47. package/dist-client/pages/{checklist/checklist-list-page.d.ts → resource/resource-list-page.d.ts} +6 -6
  48. package/dist-client/pages/{checklist/checklist-list-page.js → resource/resource-list-page.js} +41 -32
  49. package/dist-client/pages/resource/resource-list-page.js.map +1 -0
  50. package/dist-client/pages/resource/worker-type-management.d.ts +7 -1
  51. package/dist-client/pages/resource/worker-type-management.js +3 -45
  52. package/dist-client/pages/resource/worker-type-management.js.map +1 -1
  53. package/dist-client/pages/task-resource/task-resource-importer.d.ts +10 -0
  54. package/dist-client/pages/task-resource/task-resource-importer.js +101 -0
  55. package/dist-client/pages/task-resource/task-resource-importer.js.map +1 -0
  56. package/dist-client/pages/task-resource/task-resource-list-page.d.ts +63 -0
  57. package/dist-client/pages/task-resource/task-resource-list-page.js +332 -0
  58. package/dist-client/pages/task-resource/task-resource-list-page.js.map +1 -0
  59. package/dist-client/route.d.ts +1 -1
  60. package/dist-client/route.js +9 -0
  61. package/dist-client/route.js.map +1 -1
  62. package/dist-client/tsconfig.tsbuildinfo +1 -1
  63. package/dist-server/controllers/import-task.d.ts +19 -0
  64. package/dist-server/controllers/import-task.js +104 -0
  65. package/dist-server/controllers/import-task.js.map +1 -0
  66. package/dist-server/index.d.ts +1 -0
  67. package/dist-server/index.js +1 -0
  68. package/dist-server/index.js.map +1 -1
  69. package/dist-server/migrations/1723861466413-seed-roles.d.ts +5 -0
  70. package/dist-server/migrations/1723861466413-seed-roles.js +117 -0
  71. package/dist-server/migrations/1723861466413-seed-roles.js.map +1 -0
  72. package/dist-server/migrations/1723861466414-seed-codes.d.ts +5 -0
  73. package/dist-server/migrations/1723861466414-seed-codes.js +132 -0
  74. package/dist-server/migrations/1723861466414-seed-codes.js.map +1 -0
  75. package/dist-server/migrations/1723861476419-seed-resources.d.ts +5 -0
  76. package/dist-server/migrations/1723861476419-seed-resources.js +57 -0
  77. package/dist-server/migrations/1723861476419-seed-resources.js.map +1 -0
  78. package/dist-server/migrations/1723861478420-seed-/bsample-project.d.ts +5 -0
  79. package/dist-server/migrations/1723861478420-seed-/bsample-project.js +68 -0
  80. package/dist-server/migrations/1723861478420-seed-/bsample-project.js.map +1 -0
  81. package/dist-server/migrations/1723861478421-seed-/bsample-tasks.d.ts +5 -0
  82. package/dist-server/migrations/1723861478421-seed-/bsample-tasks.js +189 -0
  83. package/dist-server/migrations/1723861478421-seed-/bsample-tasks.js.map +1 -0
  84. package/dist-server/migrations/index.d.ts +1 -0
  85. package/dist-server/migrations/index.js +12 -0
  86. package/dist-server/migrations/index.js.map +1 -0
  87. package/dist-server/service/construction-detail-type/construction-detail-type-mutation.d.ts +6 -0
  88. package/dist-server/service/construction-detail-type/construction-detail-type-mutation.js +56 -0
  89. package/dist-server/service/construction-detail-type/construction-detail-type-mutation.js.map +1 -0
  90. package/dist-server/service/construction-detail-type/construction-detail-type-query.d.ts +9 -0
  91. package/dist-server/service/construction-detail-type/construction-detail-type-query.js +53 -0
  92. package/dist-server/service/construction-detail-type/construction-detail-type-query.js.map +1 -0
  93. package/dist-server/service/construction-detail-type/construction-detail-type-type.d.ts +11 -0
  94. package/dist-server/service/construction-detail-type/construction-detail-type-type.js +43 -0
  95. package/dist-server/service/construction-detail-type/construction-detail-type-type.js.map +1 -0
  96. package/dist-server/service/construction-detail-type/construction-detail-type.d.ts +15 -0
  97. package/dist-server/service/construction-detail-type/construction-detail-type.js +69 -0
  98. package/dist-server/service/construction-detail-type/construction-detail-type.js.map +1 -0
  99. package/dist-server/service/construction-detail-type/index.d.ts +5 -0
  100. package/dist-server/service/construction-detail-type/index.js +9 -0
  101. package/dist-server/service/construction-detail-type/index.js.map +1 -0
  102. package/dist-server/service/construction-type/construction-type-query.d.ts +2 -0
  103. package/dist-server/service/construction-type/construction-type-query.js +14 -0
  104. package/dist-server/service/construction-type/construction-type-query.js.map +1 -1
  105. package/dist-server/service/construction-type/construction-type.d.ts +2 -0
  106. package/dist-server/service/construction-type/construction-type.js +6 -0
  107. package/dist-server/service/construction-type/construction-type.js.map +1 -1
  108. package/dist-server/service/index.d.ts +7 -5
  109. package/dist-server/service/index.js +21 -10
  110. package/dist-server/service/index.js.map +1 -1
  111. package/dist-server/service/inspection-drawing-type/index.d.ts +5 -0
  112. package/dist-server/service/inspection-drawing-type/index.js +9 -0
  113. package/dist-server/service/inspection-drawing-type/index.js.map +1 -0
  114. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-mutation.d.ts +6 -0
  115. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-mutation.js +64 -0
  116. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-mutation.js.map +1 -0
  117. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-query.d.ts +12 -0
  118. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-query.js +83 -0
  119. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-query.js.map +1 -0
  120. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-type.d.ts +10 -0
  121. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-type.js +39 -0
  122. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-type.js.map +1 -0
  123. package/dist-server/service/inspection-drawing-type/inspection-drawing-type.d.ts +16 -0
  124. package/dist-server/service/inspection-drawing-type/inspection-drawing-type.js +72 -0
  125. package/dist-server/service/inspection-drawing-type/inspection-drawing-type.js.map +1 -0
  126. package/dist-server/service/inspection-part/index.d.ts +5 -0
  127. package/dist-server/service/inspection-part/index.js +9 -0
  128. package/dist-server/service/inspection-part/index.js.map +1 -0
  129. package/dist-server/service/inspection-part/inspection-part-mutation.d.ts +6 -0
  130. package/dist-server/service/inspection-part/inspection-part-mutation.js +55 -0
  131. package/dist-server/service/inspection-part/inspection-part-mutation.js.map +1 -0
  132. package/dist-server/service/inspection-part/inspection-part-query.d.ts +10 -0
  133. package/dist-server/service/inspection-part/inspection-part-query.js +66 -0
  134. package/dist-server/service/inspection-part/inspection-part-query.js.map +1 -0
  135. package/dist-server/service/inspection-part/inspection-part-type.d.ts +11 -0
  136. package/dist-server/service/inspection-part/inspection-part-type.js +43 -0
  137. package/dist-server/service/inspection-part/inspection-part-type.js.map +1 -0
  138. package/dist-server/service/inspection-part/inspection-part.d.ts +15 -0
  139. package/dist-server/service/inspection-part/inspection-part.js +69 -0
  140. package/dist-server/service/inspection-part/inspection-part.js.map +1 -0
  141. package/dist-server/service/project/index.d.ts +0 -2
  142. package/dist-server/service/project/index.js +1 -3
  143. package/dist-server/service/project/index.js.map +1 -1
  144. package/dist-server/service/project/project-query.d.ts +7 -5
  145. package/dist-server/service/project/project-query.js +34 -38
  146. package/dist-server/service/project/project-query.js.map +1 -1
  147. package/dist-server/service/project/project-type.d.ts +3 -6
  148. package/dist-server/service/project/project-type.js +25 -35
  149. package/dist-server/service/project/project-type.js.map +1 -1
  150. package/dist-server/service/project/project.d.ts +3 -2
  151. package/dist-server/service/project/project.js +10 -10
  152. package/dist-server/service/project/project.js.map +1 -1
  153. package/dist-server/service/resource/index.d.ts +6 -0
  154. package/dist-server/service/resource/index.js +10 -0
  155. package/dist-server/service/resource/index.js.map +1 -0
  156. package/dist-server/service/resource/resource-mutation.d.ts +10 -0
  157. package/dist-server/service/resource/resource-mutation.js +132 -0
  158. package/dist-server/service/resource/resource-mutation.js.map +1 -0
  159. package/dist-server/service/resource/resource-query.d.ts +11 -0
  160. package/dist-server/service/{checklist/checklist-query.js → resource/resource-query.js} +33 -38
  161. package/dist-server/service/resource/resource-query.js.map +1 -0
  162. package/dist-server/service/resource/resource-type.d.ts +17 -0
  163. package/dist-server/service/resource/resource-type.js +65 -0
  164. package/dist-server/service/resource/resource-type.js.map +1 -0
  165. package/dist-server/service/resource/resource.d.ts +24 -0
  166. package/dist-server/service/resource/resource.js +93 -0
  167. package/dist-server/service/resource/resource.js.map +1 -0
  168. package/dist-server/service/task/task-mutation.js +6 -0
  169. package/dist-server/service/task/task-mutation.js.map +1 -1
  170. package/dist-server/service/task/task-query.d.ts +9 -1
  171. package/dist-server/service/task/task-query.js +142 -20
  172. package/dist-server/service/task/task-query.js.map +1 -1
  173. package/dist-server/service/task/task-type.d.ts +13 -0
  174. package/dist-server/service/task/task-type.js +57 -12
  175. package/dist-server/service/task/task-type.js.map +1 -1
  176. package/dist-server/service/task/task.d.ts +12 -5
  177. package/dist-server/service/task/task.js +51 -16
  178. package/dist-server/service/task/task.js.map +1 -1
  179. package/dist-server/service/task-resource/index.d.ts +6 -0
  180. package/dist-server/service/task-resource/index.js +10 -0
  181. package/dist-server/service/task-resource/index.js.map +1 -0
  182. package/dist-server/service/task-resource/task-resource-mutation.d.ts +10 -0
  183. package/dist-server/service/task-resource/task-resource-mutation.js +132 -0
  184. package/dist-server/service/task-resource/task-resource-mutation.js.map +1 -0
  185. package/dist-server/service/task-resource/task-resource-query.d.ts +7 -0
  186. package/dist-server/service/task-resource/task-resource-query.js +50 -0
  187. package/dist-server/service/task-resource/task-resource-query.js.map +1 -0
  188. package/dist-server/service/task-resource/task-resource-type.d.ts +17 -0
  189. package/dist-server/service/task-resource/task-resource-type.js +65 -0
  190. package/dist-server/service/task-resource/task-resource-type.js.map +1 -0
  191. package/dist-server/service/task-resource/task-resource.d.ts +13 -0
  192. package/dist-server/service/task-resource/task-resource.js +59 -0
  193. package/dist-server/service/task-resource/task-resource.js.map +1 -0
  194. package/dist-server/tsconfig.tsbuildinfo +1 -1
  195. package/helps/project/checklist-type-detail.md +160 -0
  196. package/helps/project/checklist-type.md +160 -0
  197. package/helps/project/task-resource.md +160 -0
  198. package/package.json +11 -7
  199. package/server/controllers/import-task.ts +140 -0
  200. package/server/index.ts +1 -0
  201. package/server/migrations/1723861466413-seed-roles.ts +128 -0
  202. package/server/migrations/1723861466414-seed-codes.ts +139 -0
  203. package/server/migrations/1723861476419-seed-resources.ts +62 -0
  204. package/server/migrations/1723861478420-seed-/bsample-project.ts +87 -0
  205. package/server/migrations/1723861478421-seed-/bsample-tasks.ts +194 -0
  206. package/server/migrations/index.ts +9 -0
  207. package/server/service/construction-detail-type/construction-detail-type-mutation.ts +57 -0
  208. package/server/service/construction-detail-type/construction-detail-type-query.ts +31 -0
  209. package/server/service/construction-detail-type/construction-detail-type-type.ts +26 -0
  210. package/server/service/construction-detail-type/construction-detail-type.ts +52 -0
  211. package/server/service/construction-detail-type/index.ts +6 -0
  212. package/server/service/construction-type/construction-type-query.ts +9 -0
  213. package/server/service/construction-type/construction-type.ts +8 -2
  214. package/server/service/index.ts +24 -11
  215. package/server/service/inspection-drawing-type/index.ts +6 -0
  216. package/server/service/inspection-drawing-type/inspection-drawing-type-mutation.ts +69 -0
  217. package/server/service/inspection-drawing-type/inspection-drawing-type-query.ts +55 -0
  218. package/server/service/inspection-drawing-type/inspection-drawing-type-type.ts +23 -0
  219. package/server/service/inspection-drawing-type/inspection-drawing-type.ts +68 -0
  220. package/server/service/inspection-part/index.ts +6 -0
  221. package/server/service/inspection-part/inspection-part-mutation.ts +52 -0
  222. package/server/service/inspection-part/inspection-part-query.ts +41 -0
  223. package/server/service/inspection-part/inspection-part-type.ts +26 -0
  224. package/server/service/inspection-part/inspection-part.ts +51 -0
  225. package/server/service/project/index.ts +0 -2
  226. package/server/service/project/project-query.ts +30 -38
  227. package/server/service/project/project-type.ts +22 -27
  228. package/server/service/project/project.ts +11 -12
  229. package/server/service/resource/index.ts +7 -0
  230. package/server/service/resource/resource-mutation.ts +137 -0
  231. package/server/service/resource/resource-query.ts +50 -0
  232. package/server/service/resource/resource-type.ts +41 -0
  233. package/server/service/resource/resource.ts +82 -0
  234. package/server/service/task/task-mutation.ts +8 -9
  235. package/server/service/task/task-query.ts +135 -22
  236. package/server/service/task/task-type.ts +41 -15
  237. package/server/service/task/task.ts +44 -15
  238. package/server/service/task-resource/index.ts +7 -0
  239. package/server/service/task-resource/task-resource-mutation.ts +140 -0
  240. package/server/service/task-resource/task-resource-query.ts +36 -0
  241. package/server/service/task-resource/task-resource-type.ts +41 -0
  242. package/server/service/task-resource/task-resource.ts +51 -0
  243. package/things-factory.config.js +1 -0
  244. package/translations/en.json +15 -1
  245. package/translations/ko.json +9 -5
  246. package/dist-client/pages/checklist/checklist-importer.js.map +0 -1
  247. package/dist-client/pages/checklist/checklist-list-page.js.map +0 -1
  248. package/dist-server/service/check-item/check-item-mutation.d.ts +0 -10
  249. package/dist-server/service/check-item/check-item-mutation.js +0 -129
  250. package/dist-server/service/check-item/check-item-mutation.js.map +0 -1
  251. package/dist-server/service/check-item/check-item-query.d.ts +0 -11
  252. package/dist-server/service/check-item/check-item-query.js +0 -86
  253. package/dist-server/service/check-item/check-item-query.js.map +0 -1
  254. package/dist-server/service/check-item/check-item-type.d.ts +0 -18
  255. package/dist-server/service/check-item/check-item-type.js +0 -69
  256. package/dist-server/service/check-item/check-item-type.js.map +0 -1
  257. package/dist-server/service/check-item/check-item.d.ts +0 -18
  258. package/dist-server/service/check-item/check-item.js +0 -84
  259. package/dist-server/service/check-item/check-item.js.map +0 -1
  260. package/dist-server/service/check-item/index.d.ts +0 -5
  261. package/dist-server/service/check-item/index.js +0 -9
  262. package/dist-server/service/check-item/index.js.map +0 -1
  263. package/dist-server/service/checklist/checklist-mutation.d.ts +0 -10
  264. package/dist-server/service/checklist/checklist-mutation.js +0 -129
  265. package/dist-server/service/checklist/checklist-mutation.js.map +0 -1
  266. package/dist-server/service/checklist/checklist-query.d.ts +0 -11
  267. package/dist-server/service/checklist/checklist-query.js.map +0 -1
  268. package/dist-server/service/checklist/checklist-type.d.ts +0 -18
  269. package/dist-server/service/checklist/checklist-type.js +0 -69
  270. package/dist-server/service/checklist/checklist-type.js.map +0 -1
  271. package/dist-server/service/checklist/checklist.d.ts +0 -26
  272. package/dist-server/service/checklist/checklist.js +0 -120
  273. package/dist-server/service/checklist/checklist.js.map +0 -1
  274. package/dist-server/service/checklist/index.d.ts +0 -5
  275. package/dist-server/service/checklist/index.js +0 -9
  276. package/dist-server/service/checklist/index.js.map +0 -1
  277. package/server/service/check-item/check-item-mutation.ts +0 -142
  278. package/server/service/check-item/check-item-query.ts +0 -56
  279. package/server/service/check-item/check-item-type.ts +0 -49
  280. package/server/service/check-item/check-item.ts +0 -74
  281. package/server/service/check-item/index.ts +0 -6
  282. package/server/service/checklist/checklist-mutation.ts +0 -142
  283. package/server/service/checklist/checklist-query.ts +0 -56
  284. package/server/service/checklist/checklist-type.ts +0 -49
  285. package/server/service/checklist/checklist.ts +0 -105
  286. package/server/service/checklist/index.ts +0 -6
@@ -0,0 +1,201 @@
1
+ import '@material/web/icon/icon.js'
2
+ import '@operato/data-grist/ox-grist.js'
3
+
4
+ import gql from 'graphql-tag'
5
+ import { css, html, LitElement } from 'lit'
6
+ import { customElement, property, query } from 'lit/decorators.js'
7
+
8
+ import { DataGrist } from '@operato/data-grist/ox-grist.js'
9
+ import { client } from '@operato/graphql'
10
+ import { ButtonContainerStyles } from '@operato/styles'
11
+ import { FetchOption } from '@operato/data-grist'
12
+ import { notify } from '@operato/layout'
13
+
14
+ @customElement('construction-detail-type-popup')
15
+ class ConstructionDetailTypePopup extends LitElement {
16
+ static styles = [
17
+ ButtonContainerStyles,
18
+ css`
19
+ :host {
20
+ display: flex;
21
+ flex-direction: column;
22
+
23
+ background-color: var(--md-sys-color-surface);
24
+ }
25
+
26
+ ox-grist {
27
+ flex: 1;
28
+ }
29
+ `
30
+ ]
31
+
32
+ @property({ type: Object }) constructionType: any
33
+ @property({ type: Object }) gristConfig: any
34
+
35
+ @query('ox-grist') grist!: DataGrist
36
+
37
+ render() {
38
+ return html`
39
+ <ox-grist .mode=${'GRID'} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)}></ox-grist>
40
+ <div class="button-container">
41
+ <button danger @click=${this._deleteConstructionDetailType.bind(this)}><md-icon>delete</md-icon>삭제</button>
42
+ <button @click=${this._updateConstructionDetailType.bind(this)}><md-icon>save</md-icon>저장</button>
43
+ </div>
44
+ `
45
+ }
46
+
47
+ async firstUpdated() {
48
+ this.gristConfig = {
49
+ columns: [
50
+ { type: 'gutter', gutterName: 'row-selector', multiple: true },
51
+ {
52
+ type: 'gutter',
53
+ gutterName: 'button',
54
+ fixed: true,
55
+ icon: 'add',
56
+ handlers: {
57
+ click: 'record-copy'
58
+ }
59
+ },
60
+ { type: 'gutter', gutterName: 'sequence' },
61
+ {
62
+ type: 'gutter',
63
+ gutterName: 'button',
64
+ icon: 'arrow_upward',
65
+ handlers: {
66
+ click: 'move-up'
67
+ }
68
+ },
69
+ {
70
+ type: 'gutter',
71
+ gutterName: 'button',
72
+ icon: 'arrow_downward',
73
+ handlers: {
74
+ click: 'move-down'
75
+ }
76
+ },
77
+ {
78
+ type: 'number',
79
+ name: 'sequence',
80
+ hidden: true
81
+ },
82
+ {
83
+ type: 'string',
84
+ name: 'id',
85
+ hidden: true
86
+ },
87
+ {
88
+ type: 'string',
89
+ name: 'name',
90
+ header: '세부 공종 이름',
91
+ record: {
92
+ editable: true
93
+ },
94
+ width: 200
95
+ }
96
+ ],
97
+ rows: {
98
+ selectable: {
99
+ multiple: true
100
+ }
101
+ },
102
+ pagination: {
103
+ infinite: true
104
+ },
105
+ sorters: [{ name: 'sequence' }]
106
+ }
107
+ }
108
+
109
+ async fetchHandler({ page, limit, sorters = [] }: FetchOption) {
110
+ const response = await client.query({
111
+ query: gql`
112
+ query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {
113
+ constructionDetailTypes(filters: $filters, pagination: $pagination, sortings: $sortings) {
114
+ items {
115
+ id
116
+ sequence
117
+ name
118
+ }
119
+ }
120
+ }
121
+ `,
122
+ variables: {
123
+ filters: {
124
+ name: 'constructionTypeId',
125
+ value: this.constructionType.id,
126
+ operator: 'eq'
127
+ },
128
+ sortings: [{ name: 'sequence' }]
129
+ }
130
+ })
131
+
132
+ return {
133
+ total: response.data.constructionDetailTypes.total || 0,
134
+ records: response.data.constructionDetailTypes.items || []
135
+ }
136
+ }
137
+
138
+ private async _deleteConstructionDetailType() {
139
+ if (confirm('삭제하시겠습니까?')) {
140
+ const ids = this.grist.selected.map(record => record.id)
141
+ if (ids && ids.length > 0) {
142
+ const response = await client.mutate({
143
+ mutation: gql`
144
+ mutation ($ids: [String!]!) {
145
+ deleteConstructionDetailTypes(ids: $ids)
146
+ }
147
+ `,
148
+ variables: {
149
+ ids
150
+ }
151
+ })
152
+
153
+ if (!response.errors) {
154
+ this.grist.fetch()
155
+ notify({ message: '삭제되었습니다.' })
156
+ }
157
+ }
158
+ }
159
+ }
160
+
161
+ async _updateConstructionDetailType() {
162
+ let patches = this.grist.dirtyData.records
163
+ if (patches) {
164
+ patches = patches.map(patch => {
165
+ const { __origin__: { __typename, ...patchField } = {}, __dirtyfields__ } = patch
166
+
167
+ for (let key in __dirtyfields__) {
168
+ patchField[key] = __dirtyfields__[key].after
169
+ }
170
+
171
+ return patchField
172
+ })
173
+
174
+ const response = await client.mutate({
175
+ mutation: gql`
176
+ mutation UpdateMultipleConstructionDetailType($constructionTypeId: String!, $patches: [ConstructionDetailTypePatch!]!) {
177
+ updateMultipleConstructionDetailType(constructionTypeId: $constructionTypeId, patches: $patches) {
178
+ id
179
+ }
180
+ }
181
+ `,
182
+ variables: {
183
+ constructionTypeId: this.constructionType.id,
184
+ patches
185
+ }
186
+ })
187
+
188
+ if (!response.errors) {
189
+ this.grist.fetch()
190
+ notify({ message: '저장되었습니다.' })
191
+ this.requestRefresh()
192
+ } else {
193
+ notify({ message: '저장에 실패하였습니다.', level: 'error' })
194
+ }
195
+ }
196
+ }
197
+
198
+ requestRefresh() {
199
+ this.dispatchEvent(new CustomEvent('requestRefresh'))
200
+ }
201
+ }
@@ -1,14 +1,15 @@
1
1
  import '@operato/data-grist'
2
2
  import '@operato/context/ox-context-page-toolbar.js'
3
3
 
4
- import { CommonGristStyles, ScrollbarStyles } from '@operato/styles'
4
+ import { CommonGristStyles, CommonButtonStyles, ScrollbarStyles } from '@operato/styles'
5
5
  import { PageView } from '@operato/shell'
6
6
  import { css, html } from 'lit'
7
7
  import { customElement, property, query } from 'lit/decorators.js'
8
8
  import { DataGrist } from '@operato/data-grist'
9
9
  import { client } from '@operato/graphql'
10
- import { notify } from '@operato/layout'
10
+ import { notify, openPopup } from '@operato/layout'
11
11
  import gql from 'graphql-tag'
12
+ import './construction-detail-type-popup'
12
13
 
13
14
  @customElement('construction-type-management')
14
15
  export class ConstructionTypeManagement extends PageView {
@@ -25,32 +26,6 @@ export class ConstructionTypeManagement extends PageView {
25
26
  --grid-record-emphasized-background-color: red;
26
27
  --grid-record-emphasized-color: yellow;
27
28
  }
28
-
29
- md-elevated-button {
30
- margin: 0px 3px;
31
-
32
- --md-elevated-button-container-height: 35px;
33
- --md-elevated-button-label-text-size: 16px;
34
- --md-elevated-button-container-color: #0595e5;
35
-
36
- --md-elevated-button-label-text-color: #fff;
37
- --md-elevated-button-hover-label-text-color: #fff;
38
- --md-elevated-button-pressed-label-text-color: #fff;
39
- --md-elevated-button-focus-label-text-color: #fff;
40
- --md-elevated-button-icon-color: #fff;
41
- --md-elevated-button-hover-icon-color: #fff;
42
- --md-elevated-button-pressed-icon-color: #fff;
43
- --md-elevated-button-focus-icon-color: #fff;
44
-
45
- &[red] {
46
- --md-elevated-button-container-color: #e15757;
47
- }
48
- }
49
-
50
- div[button-container] {
51
- padding: 0 5px 10px 0;
52
- text-align: right;
53
- }
54
29
  `
55
30
  ]
56
31
 
@@ -59,21 +34,25 @@ export class ConstructionTypeManagement extends PageView {
59
34
 
60
35
  get context() {
61
36
  return {
62
- title: '공종 관리'
37
+ title: '공종 관리',
38
+ actions: [
39
+ {
40
+ title: '저장',
41
+ action: this._updateConstructionTypes.bind(this),
42
+ ...CommonButtonStyles.save
43
+ },
44
+ {
45
+ title: '삭제',
46
+ action: this._deleteConstructionTypes.bind(this),
47
+ ...CommonButtonStyles.delete
48
+ }
49
+ ]
63
50
  }
64
51
  }
65
52
 
66
53
  render() {
67
54
  return html`
68
55
  <ox-grist .mode=${'GRID'} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)}> </ox-grist>
69
- <div button-container>
70
- <md-elevated-button @click=${this._updateConstructionTypes.bind(this)}>
71
- <md-icon slot="icon">save</md-icon>저장</md-elevated-button
72
- >
73
- <md-elevated-button red @click=${this._deleteConstructionTypes.bind(this)}>
74
- <md-icon slot="icon">delete</md-icon>삭제</md-elevated-button
75
- >
76
- </div>
77
56
  `
78
57
  }
79
58
 
@@ -82,6 +61,30 @@ export class ConstructionTypeManagement extends PageView {
82
61
  columns: [
83
62
  { type: 'gutter', gutterName: 'sequence' },
84
63
  { type: 'gutter', gutterName: 'row-selector', multiple: true },
64
+ {
65
+ type: 'gutter',
66
+ gutterName: 'button',
67
+ fixed: true,
68
+ icon: 'reorder',
69
+ handlers: {
70
+ click: (columns, data, column, record, rowIndex) => {
71
+ if (!record.id) return
72
+ openPopup(
73
+ html`
74
+ <construction-detail-type-popup
75
+ .constructionType=${record}
76
+ @requestRefresh="${() => this.grist.fetch()}"
77
+ ></construction-detail-type-popup>
78
+ `,
79
+ {
80
+ backdrop: true,
81
+ size: 'large',
82
+ title: '세부 공종'
83
+ }
84
+ )
85
+ }
86
+ }
87
+ },
85
88
  {
86
89
  type: 'string',
87
90
  name: 'name',
@@ -186,8 +189,6 @@ export class ConstructionTypeManagement extends PageView {
186
189
 
187
190
  async _deleteConstructionTypes() {
188
191
  if (confirm('삭제하시겠습니까?')) {
189
- const a = this.grist
190
-
191
192
  const ids = this.grist.selected.map(record => record.id)
192
193
  if (ids && ids.length > 0) {
193
194
  const response = await client.mutate({
@@ -0,0 +1,210 @@
1
+ import '@operato/data-grist'
2
+ import '@operato/context/ox-context-page-toolbar.js'
3
+
4
+ import { CommonGristStyles, CommonButtonStyles, ScrollbarStyles } from '@operato/styles'
5
+ import { PageView } from '@operato/shell'
6
+ import { css, html } from 'lit'
7
+ import { customElement, property, query } from 'lit/decorators.js'
8
+ import { DataGrist } from '@operato/data-grist'
9
+ import { client } from '@operato/graphql'
10
+ import { notify, openPopup } from '@operato/layout'
11
+ import gql from 'graphql-tag'
12
+ import './inspection-part-popup'
13
+
14
+ @customElement('inspection-drawing-type-management')
15
+ export class InspectionDrawingTypeManagement extends PageView {
16
+ static styles = [
17
+ ScrollbarStyles,
18
+ CommonGristStyles,
19
+ css`
20
+ :host {
21
+ display: flex;
22
+ flex-direction: column;
23
+
24
+ width: 100%;
25
+
26
+ --grid-record-emphasized-background-color: red;
27
+ --grid-record-emphasized-color: yellow;
28
+ }
29
+ `
30
+ ]
31
+
32
+ @property({ type: Object }) gristConfig: any
33
+ @query('ox-grist') private grist!: DataGrist
34
+
35
+ get context() {
36
+ return {
37
+ title: '도면 타입 관리',
38
+ actions: [
39
+ {
40
+ title: '저장',
41
+ action: this._updateInspectionDrawingTypes.bind(this),
42
+ ...CommonButtonStyles.save
43
+ },
44
+ {
45
+ title: '삭제',
46
+ action: this._deleteInspectionDrawingTypes.bind(this),
47
+ ...CommonButtonStyles.delete
48
+ }
49
+ ]
50
+ }
51
+ }
52
+
53
+ render() {
54
+ return html`
55
+ <ox-grist .mode=${'GRID'} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)}> </ox-grist>
56
+ `
57
+ }
58
+
59
+ async pageInitialized(lifecycle: any) {
60
+ this.gristConfig = {
61
+ columns: [
62
+ { type: 'gutter', gutterName: 'sequence' },
63
+ { type: 'gutter', gutterName: 'row-selector', multiple: true },
64
+ {
65
+ type: 'gutter',
66
+ gutterName: 'button',
67
+ fixed: true,
68
+ icon: 'reorder',
69
+ handlers: {
70
+ click: (columns, data, column, record, rowIndex) => {
71
+ if (!record.id) return
72
+ openPopup(
73
+ html`
74
+ <inspection-part-popup
75
+ .inspectionDrawingType=${record}
76
+ @requestRefresh="${() => this.grist.fetch()}"
77
+ ></inspection-part-popup>
78
+ `,
79
+ {
80
+ backdrop: true,
81
+ size: 'large',
82
+ title: '검측 부위 관리'
83
+ }
84
+ )
85
+ }
86
+ }
87
+ },
88
+ {
89
+ type: 'string',
90
+ name: 'name',
91
+ header: '검측 도면 타입',
92
+ record: {
93
+ editable: true
94
+ },
95
+ width: 150
96
+ },
97
+ {
98
+ type: 'datetime',
99
+ name: 'createdAt',
100
+ header: '생성 시간',
101
+ width: 200
102
+ },
103
+ {
104
+ type: 'datetime',
105
+ name: 'updatedAt',
106
+ header: '수정 시간',
107
+ width: 200
108
+ }
109
+ ],
110
+ rows: {
111
+ selectable: {
112
+ multiple: true
113
+ }
114
+ },
115
+ sorters: [{ name: 'updatedAt', desc: true }],
116
+ pagination: { infinite: true }
117
+ }
118
+ }
119
+
120
+ async fetchHandler() {
121
+ const response = await client.query({
122
+ query: gql`
123
+ query InspectionDrawingTypes($sortings: [Sorting!]) {
124
+ inspectionDrawingTypes(sortings: $sortings) {
125
+ items {
126
+ id
127
+ name
128
+ createdAt
129
+ updatedAt
130
+ }
131
+ total
132
+ }
133
+ }
134
+ `,
135
+ variables: {
136
+ sortings: [
137
+ {
138
+ name: 'name'
139
+ }
140
+ ]
141
+ }
142
+ })
143
+
144
+ if (response.errors) return {}
145
+
146
+ return {
147
+ total: response.data.inspectionDrawingTypes.total || 0,
148
+ records: response.data.inspectionDrawingTypes.items || []
149
+ }
150
+ }
151
+
152
+ async _updateInspectionDrawingTypes() {
153
+ let patches = this.grist.dirtyRecords
154
+ if (patches && patches.length) {
155
+ patches = patches.map(patch => {
156
+ let patchField: any = patch.id ? { id: patch.id } : {}
157
+ const dirtyFields = patch.__dirtyfields__
158
+ for (let key in dirtyFields) {
159
+ patchField[key] = dirtyFields[key].after
160
+ }
161
+ patchField.cuFlag = patch.__dirty__
162
+
163
+ return patchField
164
+ })
165
+
166
+ const response = await client.mutate({
167
+ mutation: gql`
168
+ mutation UpdateMultipleInspectionDrawingType($patches: [InspectionDrawingTypePatch!]!) {
169
+ updateMultipleInspectionDrawingType(patches: $patches) {
170
+ id
171
+ }
172
+ }
173
+ `,
174
+ variables: {
175
+ patches
176
+ }
177
+ })
178
+
179
+ if (!response.errors) {
180
+ this.grist.fetch()
181
+ notify({ message: '저장되었습니다.' })
182
+ } else {
183
+ notify({ message: '저장에 실패하였습니다.', level: 'error' })
184
+ }
185
+ }
186
+ }
187
+
188
+ async _deleteInspectionDrawingTypes() {
189
+ if (confirm('삭제하시겠습니까?')) {
190
+ const ids = this.grist.selected.map(record => record.id)
191
+ if (ids && ids.length > 0) {
192
+ const response = await client.mutate({
193
+ mutation: gql`
194
+ mutation DeleteInspectionDrawingTypes($ids: [String!]!) {
195
+ deleteInspectionDrawingTypes(ids: $ids)
196
+ }
197
+ `,
198
+ variables: {
199
+ ids
200
+ }
201
+ })
202
+
203
+ if (!response.errors) {
204
+ this.grist.fetch()
205
+ notify({ message: '삭제되었습니다.' })
206
+ }
207
+ }
208
+ }
209
+ }
210
+ }