@dssp/supervision 1.0.0-alpha.7 → 1.0.0-alpha.74

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 (324) hide show
  1. package/dist-client/graphql/building-inspection.d.ts +1 -0
  2. package/dist-client/graphql/building-inspection.js +101 -0
  3. package/dist-client/graphql/building-inspection.js.map +1 -0
  4. package/dist-client/pages/action-plan/action-plan-list-page.d.ts +1 -2
  5. package/dist-client/pages/action-plan/action-plan-list-page.js +1 -2
  6. package/dist-client/pages/action-plan/action-plan-list-page.js.map +1 -1
  7. package/dist-client/pages/building-inspection/building-inspection-detail-ai-defect.d.ts +22 -0
  8. package/dist-client/pages/building-inspection/building-inspection-detail-ai-defect.js +171 -0
  9. package/dist-client/pages/building-inspection/building-inspection-detail-ai-defect.js.map +1 -0
  10. package/dist-client/pages/building-inspection/building-inspection-detail-ai-measurement.d.ts +59 -0
  11. package/dist-client/pages/building-inspection/building-inspection-detail-ai-measurement.js +868 -0
  12. package/dist-client/pages/building-inspection/building-inspection-detail-ai-measurement.js.map +1 -0
  13. package/dist-client/pages/building-inspection/building-inspection-detail-camera.d.ts +8 -6
  14. package/dist-client/pages/building-inspection/building-inspection-detail-camera.js +116 -65
  15. package/dist-client/pages/building-inspection/building-inspection-detail-camera.js.map +1 -1
  16. package/dist-client/pages/building-inspection/building-inspection-detail-checklist.d.ts +11 -0
  17. package/dist-client/pages/building-inspection/building-inspection-detail-checklist.js +147 -72
  18. package/dist-client/pages/building-inspection/building-inspection-detail-checklist.js.map +1 -1
  19. package/dist-client/pages/building-inspection/building-inspection-detail-drawing.d.ts +1 -0
  20. package/dist-client/pages/building-inspection/building-inspection-detail-drawing.js +78 -14
  21. package/dist-client/pages/building-inspection/building-inspection-detail-drawing.js.map +1 -1
  22. package/dist-client/pages/building-inspection/building-inspection-list.d.ts +26 -2
  23. package/dist-client/pages/building-inspection/building-inspection-list.js +375 -34
  24. package/dist-client/pages/building-inspection/building-inspection-list.js.map +1 -1
  25. package/dist-client/pages/building-inspection/building-inspection-management.d.ts +72 -0
  26. package/dist-client/pages/building-inspection/building-inspection-management.js +1256 -0
  27. package/dist-client/pages/building-inspection/building-inspection-management.js.map +1 -0
  28. package/dist-client/pages/building-inspection/component/building-inspection-detail-header.d.ts +3 -0
  29. package/dist-client/pages/building-inspection/component/building-inspection-detail-header.js +112 -20
  30. package/dist-client/pages/building-inspection/component/building-inspection-detail-header.js.map +1 -1
  31. package/dist-client/pages/building-inspection/component/daily-worklog-popup.d.ts +27 -0
  32. package/dist-client/pages/building-inspection/component/daily-worklog-popup.js +542 -0
  33. package/dist-client/pages/building-inspection/component/daily-worklog-popup.js.map +1 -0
  34. package/dist-client/pages/building-inspection/component/image-preview-popup.d.ts +15 -0
  35. package/dist-client/pages/building-inspection/component/image-preview-popup.js +348 -0
  36. package/dist-client/pages/building-inspection/component/image-preview-popup.js.map +1 -0
  37. package/dist-client/pages/building-inspection/component/inspection-document/inspection-request-document.d.ts +25 -0
  38. package/dist-client/pages/building-inspection/component/inspection-document/inspection-request-document.js +491 -0
  39. package/dist-client/pages/building-inspection/component/inspection-document/inspection-request-document.js.map +1 -0
  40. package/dist-client/pages/building-inspection/component/inspection-document/inspection-result-notification.d.ts +31 -0
  41. package/dist-client/pages/building-inspection/component/inspection-document/inspection-result-notification.js +485 -0
  42. package/dist-client/pages/building-inspection/component/inspection-document/inspection-result-notification.js.map +1 -0
  43. package/dist-client/pages/building-inspection/component/inspection-document/photo-album-popup.d.ts +27 -0
  44. package/dist-client/pages/building-inspection/component/inspection-document/photo-album-popup.js +416 -0
  45. package/dist-client/pages/building-inspection/component/inspection-document/photo-album-popup.js.map +1 -0
  46. package/dist-client/pages/building-inspection/component/inspection-event-provider.d.ts +2 -1
  47. package/dist-client/pages/building-inspection/component/inspection-event-provider.js +42 -18
  48. package/dist-client/pages/building-inspection/component/inspection-event-provider.js.map +1 -1
  49. package/dist-client/pages/building-inspection/inspection-create-popup.js +17 -5
  50. package/dist-client/pages/building-inspection/inspection-create-popup.js.map +1 -1
  51. package/dist-client/pages/building-inspection/inspection-with-checklist-create-popup.d.ts +3 -0
  52. package/dist-client/pages/building-inspection/inspection-with-checklist-create-popup.js +791 -0
  53. package/dist-client/pages/building-inspection/inspection-with-checklist-create-popup.js.map +1 -0
  54. package/dist-client/pages/building-inspection-grid/building-inspection-grid-detail.d.ts +16 -2
  55. package/dist-client/pages/building-inspection-grid/building-inspection-grid-detail.js +249 -45
  56. package/dist-client/pages/building-inspection-grid/building-inspection-grid-detail.js.map +1 -1
  57. package/dist-client/pages/building-inspection-grid/component/grid-inspection-create-popup.js +9 -3
  58. package/dist-client/pages/building-inspection-grid/component/grid-inspection-create-popup.js.map +1 -1
  59. package/dist-client/pages/building-inspection-grid/component/grid-inspection-list-layer.d.ts +19 -0
  60. package/dist-client/pages/building-inspection-grid/component/grid-inspection-list-layer.js +205 -0
  61. package/dist-client/pages/building-inspection-grid/component/grid-inspection-list-layer.js.map +1 -0
  62. package/dist-client/pages/checklist/attachment-list-popup.d.ts +1 -0
  63. package/dist-client/pages/checklist/attachment-list-popup.js +251 -69
  64. package/dist-client/pages/checklist/attachment-list-popup.js.map +1 -1
  65. package/dist-client/pages/checklist/checklist-view.d.ts +5 -0
  66. package/dist-client/pages/checklist/checklist-view.js +191 -30
  67. package/dist-client/pages/checklist/checklist-view.js.map +1 -1
  68. package/dist-client/pages/checklist/comment-list-popup.js +15 -5
  69. package/dist-client/pages/checklist/comment-list-popup.js.map +1 -1
  70. package/dist-client/pages/checklist/file-preview-popup.js +0 -1
  71. package/dist-client/pages/checklist/file-preview-popup.js.map +1 -1
  72. package/dist-client/pages/checklist/inspection-info-popup.d.ts +49 -0
  73. package/dist-client/pages/checklist/inspection-info-popup.js +683 -0
  74. package/dist-client/pages/checklist/inspection-info-popup.js.map +1 -0
  75. package/dist-client/pages/checklist/inspection-tab-popup.d.ts +18 -0
  76. package/dist-client/pages/checklist/inspection-tab-popup.js +196 -0
  77. package/dist-client/pages/checklist/inspection-tab-popup.js.map +1 -0
  78. package/dist-client/pages/checklist-database/checklist-database.d.ts +35 -0
  79. package/dist-client/pages/checklist-database/checklist-database.js +539 -0
  80. package/dist-client/pages/checklist-database/checklist-database.js.map +1 -0
  81. package/dist-client/pages/checklist-template/checklist-template-item.js +39 -3
  82. package/dist-client/pages/checklist-template/checklist-template-item.js.map +1 -1
  83. package/dist-client/pages/checklist-template/checklist-template-list.js +1 -1
  84. package/dist-client/pages/checklist-template/checklist-template-list.js.map +1 -1
  85. package/dist-client/pages/checklist-template/construction-checklist-template-item-popup.d.ts +2 -0
  86. package/dist-client/pages/checklist-template/construction-checklist-template-item-popup.js +242 -0
  87. package/dist-client/pages/checklist-template/construction-checklist-template-item-popup.js.map +1 -0
  88. package/dist-client/pages/checklist-template/construction-checklist-template-list.d.ts +55 -0
  89. package/dist-client/pages/checklist-template/construction-checklist-template-list.js +409 -0
  90. package/dist-client/pages/checklist-template/construction-checklist-template-list.js.map +1 -0
  91. package/dist-client/pages/issue/issue-list-page.d.ts +1 -2
  92. package/dist-client/pages/issue/issue-list-page.js +1 -2
  93. package/dist-client/pages/issue/issue-list-page.js.map +1 -1
  94. package/dist-client/pages/project-checklist/project-checklist-management.d.ts +50 -0
  95. package/dist-client/pages/project-checklist/project-checklist-management.js +910 -0
  96. package/dist-client/pages/project-checklist/project-checklist-management.js.map +1 -0
  97. package/dist-client/pages/project-report/project-report-list-page.d.ts +1 -2
  98. package/dist-client/pages/project-report/project-report-list-page.js +1 -2
  99. package/dist-client/pages/project-report/project-report-list-page.js.map +1 -1
  100. package/dist-client/pages/supervisor/supervisor-list-page.d.ts +1 -2
  101. package/dist-client/pages/supervisor/supervisor-list-page.js +1 -2
  102. package/dist-client/pages/supervisor/supervisor-list-page.js.map +1 -1
  103. package/dist-client/route.d.ts +1 -1
  104. package/dist-client/route.js +18 -0
  105. package/dist-client/route.js.map +1 -1
  106. package/dist-client/stt/speech-to-text.d.ts +13 -8
  107. package/dist-client/stt/speech-to-text.js +282 -40
  108. package/dist-client/stt/speech-to-text.js.map +1 -1
  109. package/dist-client/tsconfig.tsbuildinfo +1 -1
  110. package/dist-server/service/action-plan/action-plan-mutation.js +5 -6
  111. package/dist-server/service/action-plan/action-plan-mutation.js.map +1 -1
  112. package/dist-server/service/action-plan/action-plan-query.d.ts +2 -2
  113. package/dist-server/service/action-plan/action-plan-query.js +5 -11
  114. package/dist-server/service/action-plan/action-plan-query.js.map +1 -1
  115. package/dist-server/service/building-inspection/building-inspection-mutation.d.ts +2 -3
  116. package/dist-server/service/building-inspection/building-inspection-mutation.js +77 -39
  117. package/dist-server/service/building-inspection/building-inspection-mutation.js.map +1 -1
  118. package/dist-server/service/building-inspection/building-inspection-query.d.ts +5 -7
  119. package/dist-server/service/building-inspection/building-inspection-query.js +54 -52
  120. package/dist-server/service/building-inspection/building-inspection-query.js.map +1 -1
  121. package/dist-server/service/building-inspection/building-inspection-type.d.ts +26 -7
  122. package/dist-server/service/building-inspection/building-inspection-type.js +92 -13
  123. package/dist-server/service/building-inspection/building-inspection-type.js.map +1 -1
  124. package/dist-server/service/building-inspection/building-inspection.d.ts +5 -0
  125. package/dist-server/service/building-inspection/building-inspection.js +37 -4
  126. package/dist-server/service/building-inspection/building-inspection.js.map +1 -1
  127. package/dist-server/service/building-inspection/index.d.ts +3 -4
  128. package/dist-server/service/building-inspection/index.js +10 -3
  129. package/dist-server/service/building-inspection/index.js.map +1 -1
  130. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-mutation.d.ts +6 -0
  131. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-mutation.js +56 -0
  132. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-mutation.js.map +1 -0
  133. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-query.d.ts +16 -0
  134. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-query.js +171 -0
  135. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-query.js.map +1 -0
  136. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-type.d.ts +23 -0
  137. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-type.js +90 -0
  138. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-type.js.map +1 -0
  139. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog.d.ts +33 -0
  140. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog.js +132 -0
  141. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog.js.map +1 -0
  142. package/dist-server/service/building-inspection-daily-worklog/index.d.ts +5 -0
  143. package/dist-server/service/building-inspection-daily-worklog/index.js +9 -0
  144. package/dist-server/service/building-inspection-daily-worklog/index.js.map +1 -0
  145. package/dist-server/service/building-inspection-history/building-inspection-history-query.d.ts +16 -0
  146. package/dist-server/service/building-inspection-history/building-inspection-history-query.js +120 -0
  147. package/dist-server/service/building-inspection-history/building-inspection-history-query.js.map +1 -0
  148. package/dist-server/service/building-inspection-history/building-inspection-history-type.d.ts +5 -0
  149. package/dist-server/service/building-inspection-history/building-inspection-history-type.js +21 -0
  150. package/dist-server/service/building-inspection-history/building-inspection-history-type.js.map +1 -0
  151. package/dist-server/service/building-inspection-history/building-inspection-history.d.ts +35 -0
  152. package/dist-server/service/building-inspection-history/building-inspection-history.js +162 -0
  153. package/dist-server/service/building-inspection-history/building-inspection-history.js.map +1 -0
  154. package/dist-server/service/building-inspection-history/event-subscriber.d.ts +7 -0
  155. package/dist-server/service/building-inspection-history/event-subscriber.js +21 -0
  156. package/dist-server/service/building-inspection-history/event-subscriber.js.map +1 -0
  157. package/dist-server/service/building-inspection-history/index.d.ts +6 -0
  158. package/dist-server/service/building-inspection-history/index.js +10 -0
  159. package/dist-server/service/building-inspection-history/index.js.map +1 -0
  160. package/dist-server/service/checklist/checklist-mutation.d.ts +0 -5
  161. package/dist-server/service/checklist/checklist-mutation.js +1 -67
  162. package/dist-server/service/checklist/checklist-mutation.js.map +1 -1
  163. package/dist-server/service/checklist/checklist-query.d.ts +7 -0
  164. package/dist-server/service/checklist/checklist-query.js +83 -0
  165. package/dist-server/service/checklist/checklist-query.js.map +1 -1
  166. package/dist-server/service/checklist/checklist-type.d.ts +0 -13
  167. package/dist-server/service/checklist/checklist-type.js +1 -49
  168. package/dist-server/service/checklist/checklist-type.js.map +1 -1
  169. package/dist-server/service/checklist/checklist.d.ts +28 -3
  170. package/dist-server/service/checklist/checklist.js +89 -15
  171. package/dist-server/service/checklist/checklist.js.map +1 -1
  172. package/dist-server/service/checklist/event-subscriber.d.ts +7 -0
  173. package/dist-server/service/checklist/event-subscriber.js +21 -0
  174. package/dist-server/service/checklist/event-subscriber.js.map +1 -0
  175. package/dist-server/service/checklist/index.d.ts +1 -2
  176. package/dist-server/service/checklist/index.js +1 -2
  177. package/dist-server/service/checklist/index.js.map +1 -1
  178. package/dist-server/service/checklist-history/checklist-history-query.d.ts +11 -0
  179. package/dist-server/service/checklist-history/checklist-history-query.js +77 -0
  180. package/dist-server/service/checklist-history/checklist-history-query.js.map +1 -0
  181. package/dist-server/service/checklist-history/checklist-history-type.d.ts +5 -0
  182. package/dist-server/service/checklist-history/checklist-history-type.js +21 -0
  183. package/dist-server/service/checklist-history/checklist-history-type.js.map +1 -0
  184. package/dist-server/service/{checklist → checklist-history}/checklist-history.d.ts +19 -1
  185. package/dist-server/service/{checklist → checklist-history}/checklist-history.js +97 -14
  186. package/dist-server/service/checklist-history/checklist-history.js.map +1 -0
  187. package/dist-server/service/checklist-history/event-subscriber.d.ts +7 -0
  188. package/dist-server/service/checklist-history/event-subscriber.js +21 -0
  189. package/dist-server/service/checklist-history/event-subscriber.js.map +1 -0
  190. package/dist-server/service/checklist-history/index.d.ts +6 -0
  191. package/dist-server/service/checklist-history/index.js +10 -0
  192. package/dist-server/service/checklist-history/index.js.map +1 -0
  193. package/dist-server/service/checklist-item/checklist-item-query.d.ts +1 -1
  194. package/dist-server/service/checklist-item/checklist-item-query.js +5 -3
  195. package/dist-server/service/checklist-item/checklist-item-query.js.map +1 -1
  196. package/dist-server/service/checklist-item/index.d.ts +0 -1
  197. package/dist-server/service/checklist-item/index.js +1 -2
  198. package/dist-server/service/checklist-item/index.js.map +1 -1
  199. package/dist-server/service/checklist-item-comment/checklist-item-comment-mutation.d.ts +1 -0
  200. package/dist-server/service/checklist-item-comment/checklist-item-comment-mutation.js +33 -6
  201. package/dist-server/service/checklist-item-comment/checklist-item-comment-mutation.js.map +1 -1
  202. package/dist-server/service/checklist-item-history/checklist-item-history-query.d.ts +16 -0
  203. package/dist-server/service/checklist-item-history/checklist-item-history-query.js +123 -0
  204. package/dist-server/service/checklist-item-history/checklist-item-history-query.js.map +1 -0
  205. package/dist-server/service/checklist-item-history/checklist-item-history-type.d.ts +5 -0
  206. package/dist-server/service/checklist-item-history/checklist-item-history-type.js +21 -0
  207. package/dist-server/service/checklist-item-history/checklist-item-history-type.js.map +1 -0
  208. package/dist-server/service/checklist-item-history/checklist-item-history.d.ts +25 -0
  209. package/dist-server/service/checklist-item-history/checklist-item-history.js +123 -0
  210. package/dist-server/service/checklist-item-history/checklist-item-history.js.map +1 -0
  211. package/dist-server/service/checklist-item-history/event-subscriber.d.ts +7 -0
  212. package/dist-server/service/checklist-item-history/event-subscriber.js +21 -0
  213. package/dist-server/service/checklist-item-history/event-subscriber.js.map +1 -0
  214. package/dist-server/service/checklist-item-history/index.d.ts +6 -0
  215. package/dist-server/service/checklist-item-history/index.js +10 -0
  216. package/dist-server/service/checklist-item-history/index.js.map +1 -0
  217. package/dist-server/service/checklist-template/checklist-template-query.d.ts +1 -1
  218. package/dist-server/service/checklist-template/checklist-template-query.js +2 -5
  219. package/dist-server/service/checklist-template/checklist-template-query.js.map +1 -1
  220. package/dist-server/service/checklist-template-item/checklist-template-item-mutation.js +13 -1
  221. package/dist-server/service/checklist-template-item/checklist-template-item-mutation.js.map +1 -1
  222. package/dist-server/service/checklist-template-item/checklist-template-item-type.d.ts +3 -0
  223. package/dist-server/service/checklist-template-item/checklist-template-item-type.js +9 -0
  224. package/dist-server/service/checklist-template-item/checklist-template-item-type.js.map +1 -1
  225. package/dist-server/service/checklist-template-item/checklist-template-item.d.ts +7 -0
  226. package/dist-server/service/checklist-template-item/checklist-template-item.js +22 -2
  227. package/dist-server/service/checklist-template-item/checklist-template-item.js.map +1 -1
  228. package/dist-server/service/checklist-template-item/spec-matching-service.d.ts +2 -0
  229. package/dist-server/service/checklist-template-item/spec-matching-service.js +51 -0
  230. package/dist-server/service/checklist-template-item/spec-matching-service.js.map +1 -0
  231. package/dist-server/service/checklist-type/checklist-type-query.d.ts +1 -1
  232. package/dist-server/service/checklist-type/checklist-type-query.js +2 -5
  233. package/dist-server/service/checklist-type/checklist-type-query.js.map +1 -1
  234. package/dist-server/service/construction-checklist-template/construction-checklist-template-mutation.d.ts +7 -0
  235. package/dist-server/service/construction-checklist-template/construction-checklist-template-mutation.js +107 -0
  236. package/dist-server/service/construction-checklist-template/construction-checklist-template-mutation.js.map +1 -0
  237. package/dist-server/service/construction-checklist-template/construction-checklist-template-query.d.ts +10 -0
  238. package/dist-server/service/construction-checklist-template/construction-checklist-template-query.js +62 -0
  239. package/dist-server/service/construction-checklist-template/construction-checklist-template-query.js.map +1 -0
  240. package/dist-server/service/construction-checklist-template/construction-checklist-template-type.d.ts +11 -0
  241. package/dist-server/service/construction-checklist-template/construction-checklist-template-type.js +43 -0
  242. package/dist-server/service/construction-checklist-template/construction-checklist-template-type.js.map +1 -0
  243. package/dist-server/service/construction-checklist-template/construction-checklist-template.d.ts +18 -0
  244. package/dist-server/service/construction-checklist-template/construction-checklist-template.js +80 -0
  245. package/dist-server/service/construction-checklist-template/construction-checklist-template.js.map +1 -0
  246. package/dist-server/service/construction-checklist-template/index.d.ts +5 -0
  247. package/dist-server/service/construction-checklist-template/index.js +9 -0
  248. package/dist-server/service/construction-checklist-template/index.js.map +1 -0
  249. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-mutation.d.ts +6 -0
  250. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-mutation.js +60 -0
  251. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-mutation.js.map +1 -0
  252. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-query.d.ts +9 -0
  253. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-query.js +53 -0
  254. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-query.js.map +1 -0
  255. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-type.d.ts +17 -0
  256. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-type.js +67 -0
  257. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-type.js.map +1 -0
  258. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item.d.ts +24 -0
  259. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item.js +113 -0
  260. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item.js.map +1 -0
  261. package/dist-server/service/construction-checklist-template-item/index.d.ts +5 -0
  262. package/dist-server/service/construction-checklist-template-item/index.js +9 -0
  263. package/dist-server/service/construction-checklist-template-item/index.js.map +1 -0
  264. package/dist-server/service/construction-checklist-template-item/spec-matching-service.d.ts +2 -0
  265. package/dist-server/service/construction-checklist-template-item/spec-matching-service.js +50 -0
  266. package/dist-server/service/construction-checklist-template-item/spec-matching-service.js.map +1 -0
  267. package/dist-server/service/index.d.ts +8 -1
  268. package/dist-server/service/index.js +38 -3
  269. package/dist-server/service/index.js.map +1 -1
  270. package/dist-server/service/issue/issue-mutation.js +5 -6
  271. package/dist-server/service/issue/issue-mutation.js.map +1 -1
  272. package/dist-server/service/issue/issue-query.d.ts +2 -2
  273. package/dist-server/service/issue/issue-query.js +5 -11
  274. package/dist-server/service/issue/issue-query.js.map +1 -1
  275. package/dist-server/service/project-checklist/index.d.ts +5 -0
  276. package/dist-server/service/project-checklist/index.js +9 -0
  277. package/dist-server/service/project-checklist/index.js.map +1 -0
  278. package/dist-server/service/project-checklist/project-checklist-mutation.d.ts +7 -0
  279. package/dist-server/service/project-checklist/project-checklist-mutation.js +109 -0
  280. package/dist-server/service/project-checklist/project-checklist-mutation.js.map +1 -0
  281. package/dist-server/service/project-checklist/project-checklist-query.d.ts +12 -0
  282. package/dist-server/service/project-checklist/project-checklist-query.js +76 -0
  283. package/dist-server/service/project-checklist/project-checklist-query.js.map +1 -0
  284. package/dist-server/service/project-checklist/project-checklist-type.d.ts +18 -0
  285. package/dist-server/service/project-checklist/project-checklist-type.js +69 -0
  286. package/dist-server/service/project-checklist/project-checklist-type.js.map +1 -0
  287. package/dist-server/service/project-checklist/project-checklist.d.ts +20 -0
  288. package/dist-server/service/project-checklist/project-checklist.js +90 -0
  289. package/dist-server/service/project-checklist/project-checklist.js.map +1 -0
  290. package/dist-server/service/project-checklist-item/index.d.ts +4 -0
  291. package/dist-server/service/project-checklist-item/index.js +9 -0
  292. package/dist-server/service/project-checklist-item/index.js.map +1 -0
  293. package/dist-server/service/project-checklist-item/project-checklist-item-mutation.d.ts +2 -0
  294. package/dist-server/service/project-checklist-item/project-checklist-item-mutation.js +13 -0
  295. package/dist-server/service/project-checklist-item/project-checklist-item-mutation.js.map +1 -0
  296. package/dist-server/service/project-checklist-item/project-checklist-item-query.d.ts +5 -0
  297. package/dist-server/service/project-checklist-item/project-checklist-item-query.js +34 -0
  298. package/dist-server/service/project-checklist-item/project-checklist-item-query.js.map +1 -0
  299. package/dist-server/service/project-checklist-item/project-checklist-item-type.d.ts +5 -0
  300. package/dist-server/service/project-checklist-item/project-checklist-item-type.js +21 -0
  301. package/dist-server/service/project-checklist-item/project-checklist-item-type.js.map +1 -0
  302. package/dist-server/service/project-checklist-item/project-checklist-item.d.ts +17 -0
  303. package/dist-server/service/project-checklist-item/project-checklist-item.js +82 -0
  304. package/dist-server/service/project-checklist-item/project-checklist-item.js.map +1 -0
  305. package/dist-server/service/project-report/project-report-mutation.js +5 -6
  306. package/dist-server/service/project-report/project-report-mutation.js.map +1 -1
  307. package/dist-server/service/project-report/project-report-query.d.ts +2 -2
  308. package/dist-server/service/project-report/project-report-query.js +5 -11
  309. package/dist-server/service/project-report/project-report-query.js.map +1 -1
  310. package/dist-server/service/project-report/project-report.d.ts +0 -2
  311. package/dist-server/service/project-report/project-report.js +0 -6
  312. package/dist-server/service/project-report/project-report.js.map +1 -1
  313. package/dist-server/service/supervisor/supervisor-mutation.js +5 -6
  314. package/dist-server/service/supervisor/supervisor-mutation.js.map +1 -1
  315. package/dist-server/service/supervisor/supervisor-query.d.ts +2 -2
  316. package/dist-server/service/supervisor/supervisor-query.js +5 -11
  317. package/dist-server/service/supervisor/supervisor-query.js.map +1 -1
  318. package/dist-server/tsconfig.tsbuildinfo +1 -1
  319. package/package.json +14 -13
  320. package/things-factory.config.js +9 -1
  321. package/dist-server/service/building-inspection/building-inspection-history.d.ts +0 -17
  322. package/dist-server/service/building-inspection/building-inspection-history.js +0 -86
  323. package/dist-server/service/building-inspection/building-inspection-history.js.map +0 -1
  324. package/dist-server/service/checklist/checklist-history.js.map +0 -1
@@ -0,0 +1,910 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import '@material/web/icon/icon.js';
3
+ import '@material/web/button/elevated-button.js';
4
+ import '@material/web/button/filled-button.js';
5
+ import '@material/web/select/filled-select.js';
6
+ import '@material/web/select/select-option.js';
7
+ import '@material/web/textfield/filled-text-field.js';
8
+ import '@operato/data-grist';
9
+ import '../checklist/checklist-view';
10
+ import { CommonGristStyles, ScrollbarStyles, ButtonContainerStyles } from '@operato/styles';
11
+ import { PageView } from '@operato/shell';
12
+ import { css, html } from 'lit';
13
+ import { customElement, query, state } from 'lit/decorators.js';
14
+ import { DataGrist } from '@operato/data-grist';
15
+ import { client } from '@operato/graphql';
16
+ import { notify, openPopup } from '@operato/layout';
17
+ import gql from 'graphql-tag';
18
+ import { BuildingInspectionStatus } from '../building-inspection/building-inspection-list';
19
+ let ProjectChecklistManagement = class ProjectChecklistManagement extends PageView {
20
+ constructor() {
21
+ super(...arguments);
22
+ this.projectId = '';
23
+ this.constructionTypes = [];
24
+ this.allDetailTypes = [];
25
+ this.selectedConstructionType = {};
26
+ this.selectedConstructionDetailType = {};
27
+ this.checklistName = '';
28
+ this.templateItems = [];
29
+ this.isEditMode = false;
30
+ this.selectedChecklistId = null;
31
+ }
32
+ get context() {
33
+ return {
34
+ title: '체크리스트 관리'
35
+ };
36
+ }
37
+ render() {
38
+ var _a, _b, _c;
39
+ return html `
40
+ <div header>
41
+ <h2>
42
+ <md-icon slot="icon" back @click=${() => history.back()}>arrow_back</md-icon>
43
+ 체크리스트 관리
44
+ </h2>
45
+ <div button-container>
46
+ <md-elevated-button href=${`project-detail/${this.projectId}`}>
47
+ <md-icon slot="icon">home</md-icon>프로젝트 홈
48
+ </md-elevated-button>
49
+ </div>
50
+ </div>
51
+
52
+ <div body>
53
+ <div left>
54
+ <div section-header>${this.isEditMode ? '체크리스트 수정' : '체크리스트 등록'}</div>
55
+
56
+ <div form-area>
57
+ <label>공종</label>
58
+ <md-filled-select constructionType @change=${this._onSelectConstructionType}>
59
+ <md-select-option ?selected=${!((_a = this.selectedConstructionType) === null || _a === void 0 ? void 0 : _a.id)} value="">
60
+ <div slot="headline">선택</div>
61
+ </md-select-option>
62
+ ${(_b = this.constructionTypes) === null || _b === void 0 ? void 0 : _b.map(ct => {
63
+ var _a;
64
+ const selected = ct.id === ((_a = this.selectedConstructionType) === null || _a === void 0 ? void 0 : _a.id);
65
+ return html `<md-select-option ?selected=${selected} .value=${ct.id}>
66
+ <div slot="headline">${ct.name}</div>
67
+ </md-select-option>`;
68
+ })}
69
+ </md-filled-select>
70
+
71
+ <label>세부공종</label>
72
+ <md-filled-select constructionDetailType @change=${this._onSelectConstructionDetailType}>
73
+ ${(((_c = this.selectedConstructionType) === null || _c === void 0 ? void 0 : _c.constructionDetailTypes) || []).map(cdt => {
74
+ var _a;
75
+ const selected = cdt.id === ((_a = this.selectedConstructionDetailType) === null || _a === void 0 ? void 0 : _a.id);
76
+ return html `<md-select-option ?selected=${selected} .value=${cdt.id}>
77
+ <div slot="headline">${cdt.name}</div>
78
+ </md-select-option>`;
79
+ })}
80
+ </md-filled-select>
81
+
82
+ <label>이름</label>
83
+ <md-filled-text-field
84
+ .value=${this.checklistName}
85
+ @input=${e => {
86
+ this.checklistName = e.target.value;
87
+ }}
88
+ ></md-filled-text-field>
89
+ </div>
90
+
91
+ <ox-grist left .mode=${'GRID'} .config=${this.leftGristConfig}></ox-grist>
92
+
93
+ <div button-container>
94
+ <md-elevated-button save @click=${this._save}>
95
+ <md-icon slot="icon">${this.isEditMode ? 'save' : 'add'}</md-icon>
96
+ ${this.isEditMode ? '수정' : '등록'}
97
+ </md-elevated-button>
98
+ <md-elevated-button delete @click=${this._delete}> <md-icon slot="icon">delete</md-icon>삭제 </md-elevated-button>
99
+ </div>
100
+ </div>
101
+
102
+ <div right>
103
+ <div section-header>체크리스트 목록</div>
104
+
105
+ <ox-grist
106
+ right
107
+ .mode=${'GRID'}
108
+ .config=${this.rightGristConfig}
109
+ .fetchHandler=${this._fetchChecklists.bind(this)}
110
+ ></ox-grist>
111
+ </div>
112
+ </div>
113
+ `;
114
+ }
115
+ async pageUpdated(changes, lifecycle) {
116
+ if (this.active) {
117
+ this.projectId = lifecycle.resourceId || '';
118
+ await this._init();
119
+ }
120
+ }
121
+ async pageInitialized(lifecycle) {
122
+ this.projectId = lifecycle.resourceId || '';
123
+ await this._init();
124
+ }
125
+ async _init() {
126
+ await this._fetchConstructionTypes();
127
+ this._buildLeftGristConfig();
128
+ this._buildRightGristConfig();
129
+ }
130
+ async _fetchConstructionTypes() {
131
+ var _a, _b;
132
+ const response = await client.query({
133
+ query: gql `
134
+ query {
135
+ constructionTypes {
136
+ items {
137
+ id
138
+ name
139
+ projectType
140
+ constructionDetailTypes {
141
+ id
142
+ name
143
+ sequence
144
+ }
145
+ }
146
+ }
147
+ }
148
+ `
149
+ });
150
+ const items = (((_b = (_a = response.data) === null || _a === void 0 ? void 0 : _a.constructionTypes) === null || _b === void 0 ? void 0 : _b.items) || []).filter((ct) => ct.projectType === 'DCSP' || !ct.projectType);
151
+ this.constructionTypes = items;
152
+ this.allDetailTypes = items.flatMap(ct => (ct.constructionDetailTypes || []).map(dt => (Object.assign(Object.assign({}, dt), { constructionTypeId: ct.id }))));
153
+ // 초기에는 선택하지 않음 (사용자가 직접 선택)
154
+ this.selectedConstructionType = {};
155
+ this.selectedConstructionDetailType = {};
156
+ }
157
+ _buildLeftGristConfig() {
158
+ this.leftGristConfig = {
159
+ columns: [
160
+ { type: 'gutter', gutterName: 'row-selector', multiple: true },
161
+ {
162
+ type: 'gutter',
163
+ gutterName: 'button',
164
+ icon: 'arrow_upward',
165
+ handlers: { click: 'move-up' }
166
+ },
167
+ {
168
+ type: 'gutter',
169
+ gutterName: 'button',
170
+ icon: 'arrow_downward',
171
+ handlers: { click: 'move-down' }
172
+ },
173
+ {
174
+ type: 'string',
175
+ name: 'mainType',
176
+ header: '구분',
177
+ record: { editable: true },
178
+ width: 100
179
+ },
180
+ {
181
+ type: 'text-select',
182
+ name: 'name',
183
+ header: '검사항목',
184
+ record: {
185
+ editable: true,
186
+ options: (value, column, record) => {
187
+ if (!record)
188
+ return [];
189
+ const items = [
190
+ record.originalName,
191
+ record.recommendation1,
192
+ record.recommendation2,
193
+ record.recommendation3,
194
+ record.recommendation4,
195
+ record.recommendation5
196
+ ].filter(Boolean);
197
+ return [...new Set(items)].map(r => ({ display: r, value: r }));
198
+ }
199
+ },
200
+ width: 250
201
+ },
202
+ {
203
+ type: 'string',
204
+ name: 'inspctionCriteria',
205
+ header: '검사 기준',
206
+ record: { editable: true },
207
+ width: 200
208
+ },
209
+ { type: 'string', name: 'originalName', hidden: true },
210
+ { type: 'string', name: 'recommendation1', hidden: true },
211
+ { type: 'string', name: 'recommendation2', hidden: true },
212
+ { type: 'string', name: 'recommendation3', hidden: true },
213
+ { type: 'string', name: 'recommendation4', hidden: true },
214
+ { type: 'string', name: 'recommendation5', hidden: true }
215
+ ],
216
+ rows: {
217
+ selectable: { multiple: true }
218
+ },
219
+ pagination: { infinite: true }
220
+ };
221
+ }
222
+ _buildRightGristConfig() {
223
+ this.rightGristConfig = {
224
+ columns: [
225
+ { type: 'gutter', gutterName: 'row-selector', multiple: false },
226
+ { type: 'gutter', gutterName: 'sequence' },
227
+ {
228
+ type: 'gutter',
229
+ gutterName: 'button',
230
+ fixed: true,
231
+ icon: 'preview',
232
+ handlers: {
233
+ click: async (columns, data, column, record, rowIndex) => {
234
+ if (!record.id)
235
+ return;
236
+ await this._openPreview(record);
237
+ }
238
+ }
239
+ },
240
+ {
241
+ type: 'string',
242
+ name: 'constructionTypeName',
243
+ header: '공종',
244
+ width: 120
245
+ },
246
+ {
247
+ type: 'string',
248
+ name: 'constructionDetailTypeName',
249
+ header: '세부공종',
250
+ width: 120
251
+ },
252
+ {
253
+ type: 'string',
254
+ name: 'name',
255
+ header: '체크리스트명',
256
+ width: 180
257
+ }
258
+ ],
259
+ rows: {
260
+ selectable: { multiple: false },
261
+ appendable: false,
262
+ handlers: {
263
+ click: this._handleRightGristRowClick.bind(this)
264
+ }
265
+ },
266
+ pagination: { infinite: true }
267
+ };
268
+ }
269
+ async _fetchChecklists() {
270
+ var _a, _b, _c, _d;
271
+ if (!this.projectId)
272
+ return { total: 0, records: [] };
273
+ const response = await client.query({
274
+ query: gql `
275
+ query ($filters: [Filter!], $sortings: [Sorting!]) {
276
+ projectChecklists(filters: $filters, sortings: $sortings) {
277
+ items {
278
+ id
279
+ projectId
280
+ constructionTypeId
281
+ constructionDetailTypeId
282
+ name
283
+ updatedAt
284
+ }
285
+ total
286
+ }
287
+ }
288
+ `,
289
+ variables: {
290
+ filters: [{ name: 'projectId', value: this.projectId, operator: 'eq' }],
291
+ sortings: [{ name: 'updatedAt', desc: true }]
292
+ }
293
+ });
294
+ const items = ((_b = (_a = response.data) === null || _a === void 0 ? void 0 : _a.projectChecklists) === null || _b === void 0 ? void 0 : _b.items) || [];
295
+ // 공종/세부공종 이름을 클라이언트에서 매핑
296
+ const records = items.map(item => {
297
+ var _a, _b;
298
+ return (Object.assign(Object.assign({}, item), { constructionTypeName: ((_a = this.constructionTypes.find(ct => ct.id === item.constructionTypeId)) === null || _a === void 0 ? void 0 : _a.name) || '', constructionDetailTypeName: ((_b = this.allDetailTypes.find(dt => dt.id === item.constructionDetailTypeId)) === null || _b === void 0 ? void 0 : _b.name) || '' }));
299
+ });
300
+ return {
301
+ total: ((_d = (_c = response.data) === null || _c === void 0 ? void 0 : _c.projectChecklists) === null || _d === void 0 ? void 0 : _d.total) || 0,
302
+ records
303
+ };
304
+ }
305
+ async _onSelectConstructionType(e) {
306
+ var _a, _b;
307
+ const ctId = e.target.value;
308
+ const ct = this.constructionTypes.find(c => c.id === ctId) || {};
309
+ this.selectedConstructionType = ct;
310
+ this.selectedConstructionDetailType = Object.assign({}, (((_a = ct.constructionDetailTypes) === null || _a === void 0 ? void 0 : _a[0]) || {}));
311
+ // re-render 완료 후 세부공종 select UI 동기화
312
+ await this.updateComplete;
313
+ await ((_b = this.htmlSelectConstructionDetailType) === null || _b === void 0 ? void 0 : _b.selectIndex(0));
314
+ if (!this.isEditMode) {
315
+ await this._loadTemplateItems();
316
+ }
317
+ }
318
+ async _onSelectConstructionDetailType(e) {
319
+ var _a, _b;
320
+ const cdtId = e.target.value;
321
+ this.selectedConstructionDetailType = Object.assign({}, (((_b = (_a = this.selectedConstructionType) === null || _a === void 0 ? void 0 : _a.constructionDetailTypes) === null || _b === void 0 ? void 0 : _b.find(d => d.id === cdtId)) || {}));
322
+ if (!this.isEditMode) {
323
+ await this._loadTemplateItems();
324
+ }
325
+ }
326
+ async _loadTemplateItems() {
327
+ var _a, _b, _c, _d, _e, _f;
328
+ const ctId = (_a = this.selectedConstructionType) === null || _a === void 0 ? void 0 : _a.id;
329
+ const cdtId = (_b = this.selectedConstructionDetailType) === null || _b === void 0 ? void 0 : _b.id;
330
+ if (!ctId || !cdtId) {
331
+ this.templateItems = [];
332
+ this.leftGrist.data = { records: [] };
333
+ return;
334
+ }
335
+ // upsert로 템플릿 찾기/생성
336
+ const upsertRes = await client.mutate({
337
+ mutation: gql `
338
+ mutation ($ctId: String!, $cdtId: String!) {
339
+ upsertConstructionChecklistTemplate(constructionTypeId: $ctId, constructionDetailTypeId: $cdtId) {
340
+ id
341
+ }
342
+ }
343
+ `,
344
+ variables: { ctId, cdtId }
345
+ });
346
+ const templateId = (_d = (_c = upsertRes.data) === null || _c === void 0 ? void 0 : _c.upsertConstructionChecklistTemplate) === null || _d === void 0 ? void 0 : _d.id;
347
+ if (!templateId)
348
+ return;
349
+ const response = await client.query({
350
+ query: gql `
351
+ query ($filters: [Filter!], $sortings: [Sorting!]) {
352
+ constructionChecklistTemplateItems(filters: $filters, sortings: $sortings) {
353
+ items {
354
+ id
355
+ sequence
356
+ mainType
357
+ name
358
+ inspctionCriteria
359
+ recommendation1
360
+ recommendation2
361
+ recommendation3
362
+ recommendation4
363
+ recommendation5
364
+ }
365
+ }
366
+ }
367
+ `,
368
+ variables: {
369
+ filters: [{ name: 'constructionChecklistTemplateId', value: templateId, operator: 'eq' }],
370
+ sortings: [{ name: 'sequence' }]
371
+ }
372
+ });
373
+ const items = ((_f = (_e = response.data) === null || _e === void 0 ? void 0 : _e.constructionChecklistTemplateItems) === null || _f === void 0 ? void 0 : _f.items) || [];
374
+ this.templateItems = items;
375
+ // 왼쪽 그리드에 데이터 셋팅 (recommendation 포함)
376
+ this.leftGrist.data = {
377
+ records: items.map(item => ({
378
+ mainType: item.mainType || '',
379
+ name: item.name || '',
380
+ inspctionCriteria: item.inspctionCriteria || '',
381
+ originalName: item.name || '',
382
+ recommendation1: item.recommendation1 || '',
383
+ recommendation2: item.recommendation2 || '',
384
+ recommendation3: item.recommendation3 || '',
385
+ recommendation4: item.recommendation4 || '',
386
+ recommendation5: item.recommendation5 || ''
387
+ }))
388
+ };
389
+ }
390
+ async _handleRightGristRowClick(columns, data, column, record, rowIndex, field) {
391
+ // 클릭 시 해당 로우 선택/해제 토글
392
+ field === null || field === void 0 ? void 0 : field.dispatchEvent(new CustomEvent('select-record-change', {
393
+ bubbles: true,
394
+ composed: true,
395
+ detail: record['__selected__'] ? { removed: [record] } : { added: [record] }
396
+ }));
397
+ // 토글 반영 후 처리
398
+ setTimeout(async () => {
399
+ var _a, _b, _c, _d;
400
+ const selected = (_b = (_a = this.rightGrist) === null || _a === void 0 ? void 0 : _a.selected) === null || _b === void 0 ? void 0 : _b[0];
401
+ if (!selected || !selected.id) {
402
+ // 선택 해제 → 등록 모드 + 왼쪽 초기화
403
+ await this._resetLeftForm();
404
+ return;
405
+ }
406
+ // 선택 → 수정 모드
407
+ this.isEditMode = true;
408
+ this.selectedChecklistId = selected.id;
409
+ this.checklistName = selected.name || '';
410
+ // 공종/세부공종 세팅
411
+ const ct = this.constructionTypes.find(c => c.id === selected.constructionTypeId) || {};
412
+ this.selectedConstructionType = ct;
413
+ this.selectedConstructionDetailType = Object.assign({}, (((_c = ct.constructionDetailTypes) === null || _c === void 0 ? void 0 : _c.find(d => d.id === selected.constructionDetailTypeId)) || {}));
414
+ // 공종 변경으로 세부공종 options가 re-render 된 후 select UI 동기화
415
+ await this.updateComplete;
416
+ const cdtIndex = (ct.constructionDetailTypes || []).findIndex(d => d.id === selected.constructionDetailTypeId);
417
+ if (cdtIndex >= 0) {
418
+ await ((_d = this.htmlSelectConstructionDetailType) === null || _d === void 0 ? void 0 : _d.selectIndex(cdtIndex));
419
+ }
420
+ // 공종+세부공종의 템플릿 아이템 로드 (추천 options용)
421
+ await this._loadTemplateItemsForEdit(selected.constructionTypeId, selected.constructionDetailTypeId);
422
+ // 저장된 아이템 로드 (FieldResolver 활용)
423
+ const items = await this._fetchChecklistItems(selected.id);
424
+ // templateItems에서 같은 mainType의 recommendation을 매칭
425
+ this.leftGrist.data = {
426
+ records: items.map(item => {
427
+ const tmpl = this.templateItems.find(t => t.mainType === item.mainType) || {};
428
+ return {
429
+ mainType: item.mainType || '',
430
+ name: item.name || '',
431
+ inspctionCriteria: item.inspctionCriteria || '',
432
+ originalName: tmpl.name || item.name || '',
433
+ recommendation1: tmpl.recommendation1 || '',
434
+ recommendation2: tmpl.recommendation2 || '',
435
+ recommendation3: tmpl.recommendation3 || '',
436
+ recommendation4: tmpl.recommendation4 || '',
437
+ recommendation5: tmpl.recommendation5 || ''
438
+ };
439
+ })
440
+ };
441
+ }, 100);
442
+ }
443
+ async _loadTemplateItemsForEdit(ctId, cdtId) {
444
+ var _a, _b, _c, _d;
445
+ if (!ctId || !cdtId) {
446
+ this.templateItems = [];
447
+ return;
448
+ }
449
+ const upsertRes = await client.mutate({
450
+ mutation: gql `
451
+ mutation ($ctId: String!, $cdtId: String!) {
452
+ upsertConstructionChecklistTemplate(constructionTypeId: $ctId, constructionDetailTypeId: $cdtId) {
453
+ id
454
+ }
455
+ }
456
+ `,
457
+ variables: { ctId, cdtId }
458
+ });
459
+ const templateId = (_b = (_a = upsertRes.data) === null || _a === void 0 ? void 0 : _a.upsertConstructionChecklistTemplate) === null || _b === void 0 ? void 0 : _b.id;
460
+ if (!templateId)
461
+ return;
462
+ const response = await client.query({
463
+ query: gql `
464
+ query ($filters: [Filter!], $sortings: [Sorting!]) {
465
+ constructionChecklistTemplateItems(filters: $filters, sortings: $sortings) {
466
+ items {
467
+ id
468
+ sequence
469
+ mainType
470
+ name
471
+ inspctionCriteria
472
+ recommendation1
473
+ recommendation2
474
+ recommendation3
475
+ recommendation4
476
+ recommendation5
477
+ }
478
+ }
479
+ }
480
+ `,
481
+ variables: {
482
+ filters: [{ name: 'constructionChecklistTemplateId', value: templateId, operator: 'eq' }],
483
+ sortings: [{ name: 'sequence' }]
484
+ }
485
+ });
486
+ this.templateItems = ((_d = (_c = response.data) === null || _c === void 0 ? void 0 : _c.constructionChecklistTemplateItems) === null || _d === void 0 ? void 0 : _d.items) || [];
487
+ }
488
+ async _save() {
489
+ var _a, _b, _c, _d;
490
+ const ctId = (_a = this.selectedConstructionType) === null || _a === void 0 ? void 0 : _a.id;
491
+ const cdtId = (_b = this.selectedConstructionDetailType) === null || _b === void 0 ? void 0 : _b.id;
492
+ const name = (_c = this.checklistName) === null || _c === void 0 ? void 0 : _c.trim();
493
+ if (!ctId || !cdtId) {
494
+ notify({ message: '공종과 세부공종을 선택해주세요.', level: 'warn' });
495
+ return;
496
+ }
497
+ if (!name) {
498
+ notify({ message: '이름을 입력해주세요.', level: 'warn' });
499
+ return;
500
+ }
501
+ // 그리드에서 아이템 추출
502
+ const records = ((_d = this.leftGrist.dirtyData) === null || _d === void 0 ? void 0 : _d.records) || [];
503
+ const items = records.map((row, idx) => ({
504
+ mainType: row.mainType || null,
505
+ name: row.name || '',
506
+ inspctionCriteria: row.inspctionCriteria || null,
507
+ sequence: idx
508
+ }));
509
+ try {
510
+ if (this.isEditMode && this.selectedChecklistId) {
511
+ // 수정
512
+ const response = await client.mutate({
513
+ mutation: gql `
514
+ mutation ($id: String!, $name: String!, $items: [ProjectChecklistItemInput!]!) {
515
+ updateProjectChecklist(id: $id, name: $name, items: $items) {
516
+ id
517
+ }
518
+ }
519
+ `,
520
+ variables: {
521
+ id: this.selectedChecklistId,
522
+ name,
523
+ items
524
+ }
525
+ });
526
+ if (!response.errors) {
527
+ notify({ message: '수정되었습니다.' });
528
+ this.rightGrist.fetch();
529
+ }
530
+ else {
531
+ notify({ message: '수정에 실패하였습니다.', level: 'error' });
532
+ }
533
+ }
534
+ else {
535
+ // 등록
536
+ const response = await client.mutate({
537
+ mutation: gql `
538
+ mutation (
539
+ $projectId: String!
540
+ $constructionTypeId: String!
541
+ $constructionDetailTypeId: String!
542
+ $name: String!
543
+ $items: [ProjectChecklistItemInput!]!
544
+ ) {
545
+ createProjectChecklist(
546
+ projectId: $projectId
547
+ constructionTypeId: $constructionTypeId
548
+ constructionDetailTypeId: $constructionDetailTypeId
549
+ name: $name
550
+ items: $items
551
+ ) {
552
+ id
553
+ }
554
+ }
555
+ `,
556
+ variables: {
557
+ projectId: this.projectId,
558
+ constructionTypeId: ctId,
559
+ constructionDetailTypeId: cdtId,
560
+ name,
561
+ items
562
+ }
563
+ });
564
+ if (!response.errors) {
565
+ notify({ message: '등록되었습니다.' });
566
+ // 오른쪽 그리드 새로고침 + 왼쪽 초기화
567
+ await this.rightGrist.fetch();
568
+ this._resetLeftForm();
569
+ }
570
+ else {
571
+ notify({ message: '등록에 실패하였습니다.', level: 'error' });
572
+ }
573
+ }
574
+ }
575
+ catch (e) {
576
+ notify({ message: '저장 중 오류가 발생하였습니다.', level: 'error' });
577
+ }
578
+ }
579
+ async _resetLeftForm() {
580
+ var _a, _b;
581
+ this.isEditMode = false;
582
+ this.selectedChecklistId = null;
583
+ this.checklistName = '';
584
+ this.selectedConstructionType = {};
585
+ this.selectedConstructionDetailType = {};
586
+ this.templateItems = [];
587
+ this.leftGrist.data = { records: [] };
588
+ await this.updateComplete;
589
+ // md-filled-select 내부 상태 초기화
590
+ (_a = this.htmlSelectConstructionType) === null || _a === void 0 ? void 0 : _a.reset();
591
+ (_b = this.htmlSelectConstructionDetailType) === null || _b === void 0 ? void 0 : _b.reset();
592
+ }
593
+ async _delete() {
594
+ var _a, _b;
595
+ const selectedItems = ((_a = this.leftGrist) === null || _a === void 0 ? void 0 : _a.selected) || [];
596
+ if (selectedItems.length > 0) {
597
+ // 왼쪽 그리드에서 선택된 row 삭제 (클라이언트 측)
598
+ if (confirm('선택된 검사항목을 삭제하시겠습니까?')) {
599
+ const records = ((_b = this.leftGrist.dirtyData) === null || _b === void 0 ? void 0 : _b.records) || [];
600
+ const selectedIndices = new Set(selectedItems.map((_, i) => {
601
+ return records.indexOf(selectedItems[i]);
602
+ }));
603
+ const remaining = records.filter((_, i) => !selectedIndices.has(i));
604
+ this.leftGrist.data = { records: remaining };
605
+ }
606
+ }
607
+ else if (this.isEditMode && this.selectedChecklistId) {
608
+ // 체크리스트 자체 삭제
609
+ if (confirm('이 체크리스트를 삭제하시겠습니까?')) {
610
+ const response = await client.mutate({
611
+ mutation: gql `
612
+ mutation ($ids: [String!]!) {
613
+ deleteProjectChecklists(ids: $ids)
614
+ }
615
+ `,
616
+ variables: { ids: [this.selectedChecklistId] }
617
+ });
618
+ if (!response.errors) {
619
+ notify({ message: '삭제되었습니다.' });
620
+ this.isEditMode = false;
621
+ this.selectedChecklistId = null;
622
+ this.checklistName = '';
623
+ this.leftGrist.data = { records: [] };
624
+ this.rightGrist.fetch();
625
+ }
626
+ }
627
+ }
628
+ else {
629
+ notify({ message: '삭제할 항목을 선택해주세요.', level: 'warn' });
630
+ }
631
+ }
632
+ async _fetchChecklistItems(checklistId) {
633
+ var _a, _b, _c, _d;
634
+ const response = await client.query({
635
+ query: gql `
636
+ query ($filters: [Filter!]) {
637
+ projectChecklists(filters: $filters) {
638
+ items {
639
+ projectChecklistItems {
640
+ id
641
+ mainType
642
+ name
643
+ inspctionCriteria
644
+ sequence
645
+ }
646
+ }
647
+ }
648
+ }
649
+ `,
650
+ variables: {
651
+ filters: [{ name: 'id', value: checklistId, operator: 'eq' }]
652
+ }
653
+ });
654
+ return ((_d = (_c = (_b = (_a = response.data) === null || _a === void 0 ? void 0 : _a.projectChecklists) === null || _b === void 0 ? void 0 : _b.items) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.projectChecklistItems) || [];
655
+ }
656
+ async _openPreview(record) {
657
+ var _a, _b;
658
+ const items = await this._fetchChecklistItems(record.id);
659
+ const ctName = ((_a = this.constructionTypes.find(ct => ct.id === record.constructionTypeId)) === null || _a === void 0 ? void 0 : _a.name) || '';
660
+ const cdtName = ((_b = this.allDetailTypes.find(dt => dt.id === record.constructionDetailTypeId)) === null || _b === void 0 ? void 0 : _b.name) || '';
661
+ const checklist = {
662
+ name: record.name,
663
+ constructionType: ctName,
664
+ constructionDetailType: cdtName,
665
+ location: '',
666
+ documentNo: '',
667
+ inspectionParts: [],
668
+ buildingInspection: {
669
+ status: BuildingInspectionStatus.WAIT
670
+ },
671
+ checklistItems: items.map(item => (Object.assign(Object.assign({}, item), { detailType: '' })))
672
+ };
673
+ openPopup(html `
674
+ <div style="overflow-y: auto;">
675
+ <checklist-view .mode=${"VIEWER" /* ChecklistMode.VIEWER */} .checklist=${checklist}></checklist-view>
676
+ </div>
677
+ `, {
678
+ backdrop: true,
679
+ size: 'large',
680
+ title: `체크리스트 미리보기 - ${record.name}`
681
+ });
682
+ }
683
+ };
684
+ ProjectChecklistManagement.styles = [
685
+ ScrollbarStyles,
686
+ CommonGristStyles,
687
+ ButtonContainerStyles,
688
+ css `
689
+ :host {
690
+ display: flex;
691
+ flex-direction: column;
692
+ width: 100%;
693
+ height: 100%;
694
+ background-color: var(--md-sys-color-surface);
695
+ }
696
+
697
+ div[header] {
698
+ display: flex;
699
+ align-items: center;
700
+ padding: 0px 12px;
701
+
702
+ h2 {
703
+ display: flex;
704
+ gap: 7px;
705
+ flex: 1;
706
+ margin-bottom: 8px;
707
+ color: #3f71a0;
708
+ font-size: 18px;
709
+
710
+ md-icon[back] {
711
+ background: linear-gradient(135deg, #3f71a0 0%, #5a8cc7 100%);
712
+ color: white;
713
+ padding: 8px;
714
+ border-radius: 50%;
715
+ cursor: pointer;
716
+ box-shadow: 0 2px 8px rgba(63, 113, 160, 0.3);
717
+ width: 14px;
718
+ height: 14px;
719
+ --md-icon-size: 20px;
720
+ }
721
+
722
+ md-icon[back]:hover {
723
+ background: linear-gradient(135deg, #2e5c89 0%, #4a7bb0 100%);
724
+ box-shadow: 0 4px 12px rgba(63, 113, 160, 0.4);
725
+ }
726
+ }
727
+
728
+ div[button-container] {
729
+ display: flex;
730
+ align-items: center;
731
+ justify-content: end;
732
+ flex: 1;
733
+ padding-top: 8px;
734
+
735
+ md-elevated-button {
736
+ margin: 0 4px;
737
+ --md-elevated-button-container-height: 32px;
738
+ --md-elevated-button-label-text-size: 16px;
739
+ --md-elevated-button-container-color: #0595e5;
740
+ --md-elevated-button-label-text-color: var(--md-sys-color-on-primary);
741
+ --md-elevated-button-hover-label-text-color: var(--md-sys-color-on-primary);
742
+ --md-elevated-button-pressed-label-text-color: var(--md-sys-color-on-primary);
743
+ --md-elevated-button-focus-label-text-color: var(--md-sys-color-on-primary);
744
+ --md-elevated-button-icon-color: var(--md-sys-color-on-primary);
745
+ --md-elevated-button-hover-icon-color: var(--md-sys-color-on-primary);
746
+ --md-elevated-button-pressed-icon-color: var(--md-sys-color-on-primary);
747
+ --md-elevated-button-focus-icon-color: var(--md-sys-color-on-primary);
748
+ }
749
+ }
750
+ }
751
+
752
+ div[body] {
753
+ display: grid;
754
+ grid-template-columns: 1fr 1fr;
755
+ gap: 15px;
756
+ flex: 1;
757
+ padding: 15px;
758
+ overflow: hidden;
759
+ }
760
+
761
+ div[left],
762
+ div[right] {
763
+ display: flex;
764
+ flex-direction: column;
765
+ overflow: hidden;
766
+ border: 1px solid #ddd;
767
+ border-radius: 8px;
768
+ padding: 15px;
769
+ }
770
+
771
+ div[section-header] {
772
+ font-size: 16px;
773
+ font-weight: 600;
774
+ margin-bottom: 10px;
775
+ color: #0595e5;
776
+ display: flex;
777
+ align-items: center;
778
+ gap: 6px;
779
+ }
780
+
781
+ div[form-area] {
782
+ display: grid;
783
+ grid-template-columns: 80px 1fr;
784
+ gap: 10px;
785
+ margin-bottom: 10px;
786
+
787
+ label {
788
+ display: flex;
789
+ align-items: center;
790
+ justify-content: flex-end;
791
+ font-size: 14px;
792
+ }
793
+ }
794
+
795
+ md-filled-select {
796
+ width: 100%;
797
+ --md-filled-select-text-field-container-color: transparent;
798
+ --md-filled-select-text-field-active-indicator-color: #999;
799
+ --md-filled-select-text-field-input-text-size: 14px;
800
+ }
801
+
802
+ md-filled-text-field {
803
+ width: 100%;
804
+ --md-filled-text-field-container-color: transparent;
805
+ --md-filled-text-field-active-indicator-color: #999;
806
+ --md-filled-text-field-input-text-size: 14px;
807
+ }
808
+
809
+ ox-grist {
810
+ flex: 1;
811
+ overflow-y: auto;
812
+ }
813
+
814
+ div[button-container] {
815
+ display: flex;
816
+ justify-content: flex-end;
817
+ gap: 8px;
818
+ margin-top: 10px;
819
+ }
820
+
821
+ md-elevated-button[save] {
822
+ --md-elevated-button-container-color: #0595e5;
823
+ --md-elevated-button-label-text-color: #fff;
824
+ --md-elevated-button-hover-label-text-color: #fff;
825
+ --md-elevated-button-pressed-label-text-color: #fff;
826
+ --md-elevated-button-focus-label-text-color: #fff;
827
+ --md-elevated-button-icon-color: #fff;
828
+ --md-elevated-button-hover-icon-color: #fff;
829
+ --md-elevated-button-pressed-icon-color: #fff;
830
+ --md-elevated-button-focus-icon-color: #fff;
831
+ }
832
+
833
+ md-elevated-button[delete] {
834
+ --md-elevated-button-container-color: #e53935;
835
+ --md-elevated-button-label-text-color: #fff;
836
+ --md-elevated-button-hover-label-text-color: #fff;
837
+ --md-elevated-button-pressed-label-text-color: #fff;
838
+ --md-elevated-button-focus-label-text-color: #fff;
839
+ --md-elevated-button-icon-color: #fff;
840
+ --md-elevated-button-hover-icon-color: #fff;
841
+ --md-elevated-button-pressed-icon-color: #fff;
842
+ --md-elevated-button-focus-icon-color: #fff;
843
+ }
844
+ `
845
+ ];
846
+ __decorate([
847
+ state(),
848
+ __metadata("design:type", String)
849
+ ], ProjectChecklistManagement.prototype, "projectId", void 0);
850
+ __decorate([
851
+ state(),
852
+ __metadata("design:type", Array)
853
+ ], ProjectChecklistManagement.prototype, "constructionTypes", void 0);
854
+ __decorate([
855
+ state(),
856
+ __metadata("design:type", Array)
857
+ ], ProjectChecklistManagement.prototype, "allDetailTypes", void 0);
858
+ __decorate([
859
+ state(),
860
+ __metadata("design:type", Object)
861
+ ], ProjectChecklistManagement.prototype, "selectedConstructionType", void 0);
862
+ __decorate([
863
+ state(),
864
+ __metadata("design:type", Object)
865
+ ], ProjectChecklistManagement.prototype, "selectedConstructionDetailType", void 0);
866
+ __decorate([
867
+ state(),
868
+ __metadata("design:type", String)
869
+ ], ProjectChecklistManagement.prototype, "checklistName", void 0);
870
+ __decorate([
871
+ state(),
872
+ __metadata("design:type", Array)
873
+ ], ProjectChecklistManagement.prototype, "templateItems", void 0);
874
+ __decorate([
875
+ state(),
876
+ __metadata("design:type", Object)
877
+ ], ProjectChecklistManagement.prototype, "leftGristConfig", void 0);
878
+ __decorate([
879
+ state(),
880
+ __metadata("design:type", Object)
881
+ ], ProjectChecklistManagement.prototype, "rightGristConfig", void 0);
882
+ __decorate([
883
+ state(),
884
+ __metadata("design:type", Boolean)
885
+ ], ProjectChecklistManagement.prototype, "isEditMode", void 0);
886
+ __decorate([
887
+ state(),
888
+ __metadata("design:type", Object)
889
+ ], ProjectChecklistManagement.prototype, "selectedChecklistId", void 0);
890
+ __decorate([
891
+ query('ox-grist[left]'),
892
+ __metadata("design:type", DataGrist)
893
+ ], ProjectChecklistManagement.prototype, "leftGrist", void 0);
894
+ __decorate([
895
+ query('ox-grist[right]'),
896
+ __metadata("design:type", DataGrist)
897
+ ], ProjectChecklistManagement.prototype, "rightGrist", void 0);
898
+ __decorate([
899
+ query('md-filled-select[constructionType]'),
900
+ __metadata("design:type", Object)
901
+ ], ProjectChecklistManagement.prototype, "htmlSelectConstructionType", void 0);
902
+ __decorate([
903
+ query('md-filled-select[constructionDetailType]'),
904
+ __metadata("design:type", Object)
905
+ ], ProjectChecklistManagement.prototype, "htmlSelectConstructionDetailType", void 0);
906
+ ProjectChecklistManagement = __decorate([
907
+ customElement('project-checklist-management')
908
+ ], ProjectChecklistManagement);
909
+ export { ProjectChecklistManagement };
910
+ //# sourceMappingURL=project-checklist-management.js.map