@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,205 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { css, html, LitElement } from 'lit';
3
+ import { customElement, property } from 'lit/decorators.js';
4
+ import { BUILDING_INSPECTION_STATUS_DISPLAY, BUILDING_INSPECTION_RE_STATUS_DISPLAY } from '../../building-inspection/building-inspection-list';
5
+ let GridInspectionListLayer = class GridInspectionListLayer extends LitElement {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.items = [];
9
+ this.direction = 'down';
10
+ // 내부 계산값
11
+ this.left = 0;
12
+ this.top = 0;
13
+ this._onWindowChanged = () => {
14
+ this._reposition();
15
+ };
16
+ this._onGlobalMouseDown = (ev) => {
17
+ const path = (ev.composedPath && ev.composedPath()) || [];
18
+ const containsSelf = path.includes(this);
19
+ if (!containsSelf) {
20
+ this._requestClose();
21
+ }
22
+ };
23
+ this._onKeyDown = (ev) => {
24
+ if (ev.key === 'Escape') {
25
+ this._requestClose();
26
+ }
27
+ };
28
+ }
29
+ render() {
30
+ return html `
31
+ <div container>
32
+ ${this.items.map(item => {
33
+ var _a, _b;
34
+ const status = (item.failCount > 0 ? BUILDING_INSPECTION_RE_STATUS_DISPLAY : BUILDING_INSPECTION_STATUS_DISPLAY)[item.status];
35
+ const title = `${((_a = item === null || item === void 0 ? void 0 : item.checklist) === null || _a === void 0 ? void 0 : _a.constructionType) || ''} / ${((_b = item === null || item === void 0 ? void 0 : item.checklist) === null || _b === void 0 ? void 0 : _b.constructionDetailType) || ''}`;
36
+ return html `<div item @click=${() => this._select(item.id)}>
37
+ <span status class=${item.status.toLowerCase()}>${status}</span>
38
+ <span title=${title}>${title}</span>
39
+ </div>`;
40
+ })}
41
+ </div>
42
+ `;
43
+ }
44
+ _select(id) {
45
+ this.dispatchEvent(new CustomEvent('select', { detail: { id }, bubbles: true, composed: true }));
46
+ }
47
+ connectedCallback() {
48
+ super.connectedCallback();
49
+ this._reposition();
50
+ window.addEventListener('mousedown', this._onGlobalMouseDown, { capture: true });
51
+ window.addEventListener('keydown', this._onKeyDown, { capture: true });
52
+ window.addEventListener('resize', this._onWindowChanged);
53
+ window.addEventListener('scroll', this._onWindowChanged, true);
54
+ }
55
+ disconnectedCallback() {
56
+ window.removeEventListener('mousedown', this._onGlobalMouseDown, { capture: true });
57
+ window.removeEventListener('keydown', this._onKeyDown, { capture: true });
58
+ window.removeEventListener('resize', this._onWindowChanged);
59
+ window.removeEventListener('scroll', this._onWindowChanged, true);
60
+ super.disconnectedCallback();
61
+ }
62
+ _requestClose() {
63
+ this.dispatchEvent(new CustomEvent('close', { bubbles: true, composed: true }));
64
+ }
65
+ _reposition() {
66
+ const anchor = this.anchorEl;
67
+ const container = this.containerEl;
68
+ if (!anchor || !container)
69
+ return;
70
+ const anchorRect = anchor.getBoundingClientRect();
71
+ const containerRect = container.getBoundingClientRect();
72
+ const estimatedItemHeight = 40;
73
+ const padding = 8;
74
+ const estimatedHeight = Math.min(this.items.length, 10) * estimatedItemHeight + padding * 2;
75
+ let direction = 'down';
76
+ let top = anchorRect.bottom - containerRect.top + 4;
77
+ let left = anchorRect.left - containerRect.left + 4;
78
+ if (anchorRect.bottom + estimatedHeight > window.innerHeight) {
79
+ direction = 'up';
80
+ top = anchorRect.top - containerRect.top - estimatedHeight - 4;
81
+ }
82
+ this.direction = direction;
83
+ this.left = left;
84
+ this.top = top;
85
+ this.style.left = `${left}px`;
86
+ this.style.top = `${top}px`;
87
+ }
88
+ };
89
+ GridInspectionListLayer.styles = [
90
+ css `
91
+ :host {
92
+ display: block;
93
+ position: absolute;
94
+ background: #fff;
95
+ border: 1px solid #cccccc80;
96
+ border-radius: 6px;
97
+ box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
98
+ min-width: 260px;
99
+ max-width: 360px;
100
+ max-height: 420px; /* 약 10개 기준 */
101
+ overflow-y: auto;
102
+ z-index: 10;
103
+ }
104
+
105
+ div[container] {
106
+ display: flex;
107
+ flex-direction: column;
108
+ padding: 8px;
109
+ gap: 6px;
110
+ }
111
+
112
+ div[item] {
113
+ display: grid;
114
+ grid-template-columns: 70px 1fr;
115
+ gap: 10px;
116
+ align-items: center;
117
+ padding: 8px 10px;
118
+ border-radius: 6px;
119
+ cursor: pointer;
120
+ border: 1px solid transparent;
121
+ }
122
+ div[item]:hover {
123
+ background: #f5fbff;
124
+ border-color: #cfeeff;
125
+ }
126
+
127
+ span[status] {
128
+ font-weight: 700;
129
+ font-size: 12px;
130
+ color: #ffffff;
131
+ background: #eef3f8;
132
+ border-radius: 4px;
133
+ padding: 4px 6px;
134
+ text-align: center;
135
+ }
136
+ span[status].wait,
137
+ span[status].overall_wait,
138
+ span[status].request,
139
+ span[status].overall_request {
140
+ background: #4e5055;
141
+ }
142
+ span[status].pass {
143
+ background: #4bbb4a;
144
+ }
145
+ span[status].fail {
146
+ background: #ff4444;
147
+ }
148
+
149
+ span[title] {
150
+ font-size: 13px;
151
+ color: #4e5055;
152
+ white-space: nowrap;
153
+ }
154
+
155
+ :host([direction='up'])::after,
156
+ :host([direction='down'])::after {
157
+ content: '';
158
+ position: absolute;
159
+ left: 12px;
160
+ width: 10px;
161
+ height: 10px;
162
+ background: #fff;
163
+ border-left: 1px solid #cccccc80;
164
+ border-top: 1px solid #cccccc80;
165
+ transform: rotate(45deg);
166
+ }
167
+ :host([direction='down'])::after {
168
+ top: -6px;
169
+ }
170
+ :host([direction='up'])::after {
171
+ bottom: -6px;
172
+ }
173
+ `
174
+ ];
175
+ __decorate([
176
+ property({ type: Array }),
177
+ __metadata("design:type", Array)
178
+ ], GridInspectionListLayer.prototype, "items", void 0);
179
+ __decorate([
180
+ property({ type: String, reflect: true }),
181
+ __metadata("design:type", String)
182
+ ], GridInspectionListLayer.prototype, "direction", void 0);
183
+ __decorate([
184
+ property({ attribute: false }),
185
+ __metadata("design:type", HTMLElement)
186
+ ], GridInspectionListLayer.prototype, "anchorEl", void 0);
187
+ __decorate([
188
+ property({ attribute: false }),
189
+ __metadata("design:type", HTMLElement
190
+ // 내부 계산값
191
+ )
192
+ ], GridInspectionListLayer.prototype, "containerEl", void 0);
193
+ __decorate([
194
+ property({ type: Number }),
195
+ __metadata("design:type", Number)
196
+ ], GridInspectionListLayer.prototype, "left", void 0);
197
+ __decorate([
198
+ property({ type: Number }),
199
+ __metadata("design:type", Number)
200
+ ], GridInspectionListLayer.prototype, "top", void 0);
201
+ GridInspectionListLayer = __decorate([
202
+ customElement('grid-inspection-list-layer')
203
+ ], GridInspectionListLayer);
204
+ export { GridInspectionListLayer };
205
+ //# sourceMappingURL=grid-inspection-list-layer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-inspection-list-layer.js","sourceRoot":"","sources":["../../../../client/pages/building-inspection-grid/component/grid-inspection-list-layer.ts"],"names":[],"mappings":"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","sourcesContent":["import { css, html, LitElement } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { BUILDING_INSPECTION_STATUS_DISPLAY, BUILDING_INSPECTION_RE_STATUS_DISPLAY } from '../../building-inspection/building-inspection-list'\n\n@customElement('grid-inspection-list-layer')\nexport class GridInspectionListLayer extends LitElement {\n static styles = [\n css`\n :host {\n display: block;\n position: absolute;\n background: #fff;\n border: 1px solid #cccccc80;\n border-radius: 6px;\n box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);\n min-width: 260px;\n max-width: 360px;\n max-height: 420px; /* 약 10개 기준 */\n overflow-y: auto;\n z-index: 10;\n }\n\n div[container] {\n display: flex;\n flex-direction: column;\n padding: 8px;\n gap: 6px;\n }\n\n div[item] {\n display: grid;\n grid-template-columns: 70px 1fr;\n gap: 10px;\n align-items: center;\n padding: 8px 10px;\n border-radius: 6px;\n cursor: pointer;\n border: 1px solid transparent;\n }\n div[item]:hover {\n background: #f5fbff;\n border-color: #cfeeff;\n }\n\n span[status] {\n font-weight: 700;\n font-size: 12px;\n color: #ffffff;\n background: #eef3f8;\n border-radius: 4px;\n padding: 4px 6px;\n text-align: center;\n }\n span[status].wait,\n span[status].overall_wait,\n span[status].request,\n span[status].overall_request {\n background: #4e5055;\n }\n span[status].pass {\n background: #4bbb4a;\n }\n span[status].fail {\n background: #ff4444;\n }\n\n span[title] {\n font-size: 13px;\n color: #4e5055;\n white-space: nowrap;\n }\n\n :host([direction='up'])::after,\n :host([direction='down'])::after {\n content: '';\n position: absolute;\n left: 12px;\n width: 10px;\n height: 10px;\n background: #fff;\n border-left: 1px solid #cccccc80;\n border-top: 1px solid #cccccc80;\n transform: rotate(45deg);\n }\n :host([direction='down'])::after {\n top: -6px;\n }\n :host([direction='up'])::after {\n bottom: -6px;\n }\n `\n ]\n\n @property({ type: Array }) items: any[] = []\n @property({ type: String, reflect: true }) direction: 'down' | 'up' = 'down'\n\n // 포지셔닝 입력\n @property({ attribute: false }) anchorEl?: HTMLElement\n @property({ attribute: false }) containerEl?: HTMLElement\n\n // 내부 계산값\n @property({ type: Number }) left: number = 0\n @property({ type: Number }) top: number = 0\n\n render() {\n return html`\n <div container>\n ${this.items.map(item => {\n const status = (item.failCount > 0 ? BUILDING_INSPECTION_RE_STATUS_DISPLAY : BUILDING_INSPECTION_STATUS_DISPLAY)[item.status]\n const title = `${item?.checklist?.constructionType || ''} / ${item?.checklist?.constructionDetailType || ''}`\n return html`<div item @click=${() => this._select(item.id)}>\n <span status class=${item.status.toLowerCase()}>${status}</span>\n <span title=${title}>${title}</span>\n </div>`\n })}\n </div>\n `\n }\n\n private _select(id: string) {\n this.dispatchEvent(new CustomEvent('select', { detail: { id }, bubbles: true, composed: true }))\n }\n\n connectedCallback(): void {\n super.connectedCallback()\n this._reposition()\n window.addEventListener('mousedown', this._onGlobalMouseDown, { capture: true })\n window.addEventListener('keydown', this._onKeyDown, { capture: true })\n window.addEventListener('resize', this._onWindowChanged)\n window.addEventListener('scroll', this._onWindowChanged, true)\n }\n\n disconnectedCallback(): void {\n window.removeEventListener('mousedown', this._onGlobalMouseDown as any, { capture: true } as any)\n window.removeEventListener('keydown', this._onKeyDown as any, { capture: true } as any)\n window.removeEventListener('resize', this._onWindowChanged as any)\n window.removeEventListener('scroll', this._onWindowChanged as any, true)\n super.disconnectedCallback()\n }\n\n private _onWindowChanged = () => {\n this._reposition()\n }\n\n private _onGlobalMouseDown = (ev: MouseEvent) => {\n const path = (ev.composedPath && ev.composedPath()) || []\n const containsSelf = path.includes(this)\n if (!containsSelf) {\n this._requestClose()\n }\n }\n\n private _onKeyDown = (ev: KeyboardEvent) => {\n if (ev.key === 'Escape') {\n this._requestClose()\n }\n }\n\n private _requestClose() {\n this.dispatchEvent(new CustomEvent('close', { bubbles: true, composed: true }))\n }\n\n private _reposition() {\n const anchor = this.anchorEl\n const container = this.containerEl\n if (!anchor || !container) return\n\n const anchorRect = anchor.getBoundingClientRect()\n const containerRect = container.getBoundingClientRect()\n\n const estimatedItemHeight = 40\n const padding = 8\n const estimatedHeight = Math.min(this.items.length, 10) * estimatedItemHeight + padding * 2\n\n let direction: 'down' | 'up' = 'down'\n let top = anchorRect.bottom - containerRect.top + 4\n let left = anchorRect.left - containerRect.left + 4\n\n if (anchorRect.bottom + estimatedHeight > window.innerHeight) {\n direction = 'up'\n top = anchorRect.top - containerRect.top - estimatedHeight - 4\n }\n\n this.direction = direction\n this.left = left\n this.top = top\n\n this.style.left = `${left}px`\n this.style.top = `${top}px`\n }\n}\n"]}
@@ -1,2 +1,3 @@
1
1
  import '@material/web/icon/icon.js';
2
2
  import './file-preview-popup';
3
+ import '../building-inspection/component/image-preview-popup';
@@ -3,20 +3,22 @@ import '@material/web/icon/icon.js';
3
3
  import gql from 'graphql-tag';
4
4
  import { client } from '@operato/graphql';
5
5
  import { css, html, LitElement } from 'lit';
6
- import { customElement, property, query, state } from 'lit/decorators.js';
6
+ import { customElement, property, state } from 'lit/decorators.js';
7
7
  import { ButtonContainerStyles, ScrollbarStyles } from '@operato/styles';
8
8
  import { notify } from '@operato/layout';
9
- import { store, User } from '@operato/shell';
10
- import { connect } from 'pwa-helpers/connect-mixin.js';
9
+ import { store, User, connect } from '@operato/shell';
11
10
  import { OxPrompt } from '@operato/popup/ox-prompt.js';
12
11
  import { openPopup } from '@operato/layout';
13
12
  import './file-preview-popup';
13
+ import '../building-inspection/component/image-preview-popup';
14
14
  import { BuildingInspectionStatus } from '../building-inspection/building-inspection-list';
15
+ import { ifDefined } from 'lit/directives/if-defined.js';
15
16
  let AttachmentListPopup = class AttachmentListPopup extends connect(store)(LitElement) {
16
17
  constructor() {
17
18
  super(...arguments);
18
19
  this.checklistItemId = '';
19
20
  this.status = BuildingInspectionStatus.WAIT;
21
+ this.mode = "VIEWER" /* ChecklistMode.VIEWER */;
20
22
  this.item = { count: 0 };
21
23
  this.checklistItemAttachments = [];
22
24
  this.checklistItemAttachmentCount = 0;
@@ -24,36 +26,79 @@ let AttachmentListPopup = class AttachmentListPopup extends connect(store)(LitEl
24
26
  }
25
27
  render() {
26
28
  return html `
27
- <div body>
28
- <h3>제품검사에 대한 파일: ${this.checklistItemAttachmentCount || 0}건</h3>
29
+ <h3>제품검사에 대한 파일: ${this.checklistItemAttachmentCount || 0}건</h3>
29
30
 
30
- <div attachment-container>
31
- ${this.checklistItemAttachments.map(attachment => {
32
- return html `
33
- <div attachment-row>
34
- <div creator-container>
35
- <span creator><md-icon slot="icon">account_circle</md-icon> ${attachment.creator.name}</span>
36
- <span createdAt>
37
- <md-icon slot="icon">schedule</md-icon> ${this._formatDate(attachment.createdAt)}
38
- ${attachment.creator.email === this.user.email && this.status != BuildingInspectionStatus.PASS
39
- ? html ` <md-icon delete slot="icon" @click=${() => this._deleteAttachment(attachment.id)}>delete</md-icon>`
40
- : ''}
41
- <a button-download href=${attachment.fullpath} download=${attachment.name}>
42
- <md-icon slot="icon">download</md-icon></a
43
- >
44
- </span>
31
+ <div body>
32
+ <div file-list-container>
33
+ ${this.checklistItemAttachments.length > 0
34
+ ? this.checklistItemAttachments.map(attachment => {
35
+ var _a, _b;
36
+ return html `
37
+ <div file-item @click=${() => this._onClickPreview(attachment.fullpath)}>
38
+ <div file-info>
39
+ <div file-icon>
40
+ <md-icon>description</md-icon>
41
+ </div>
42
+ <div file-details>
43
+ <span file-name>${attachment.name || ''}</span>
44
+ <div file-meta>
45
+ <span file-creator>
46
+ <md-icon style="--md-icon-size: 12px;">account_circle</md-icon>
47
+ ${((_a = attachment.creator) === null || _a === void 0 ? void 0 : _a.name) || ''}
48
+ </span>
49
+ <span file-date>
50
+ <md-icon style="--md-icon-size: 12px;">schedule</md-icon>
51
+ ${this._formatDate(attachment.createdAt)}
52
+ </span>
53
+ </div>
54
+ </div>
55
+ </div>
56
+ <div action-buttons>
57
+ <md-icon
58
+ title="미리보기"
59
+ @click=${(e) => {
60
+ e.stopPropagation();
61
+ this._onClickPreview(attachment.fullpath);
62
+ }}
63
+ >visibility</md-icon
64
+ >
65
+ <a
66
+ href=${ifDefined(attachment.fullpath)}
67
+ download=${ifDefined(attachment.name)}
68
+ @click=${(e) => e.stopPropagation()}
69
+ >
70
+ <md-icon title="다운로드" style="color: #2196f3;">download</md-icon>
71
+ </a>
72
+ ${((_b = attachment.creator) === null || _b === void 0 ? void 0 : _b.email) === this.user.email &&
73
+ this.status != BuildingInspectionStatus.PASS &&
74
+ this.mode == "EDITOR" /* ChecklistMode.EDITOR */
75
+ ? html `<md-icon
76
+ delete
77
+ title="삭제"
78
+ @click=${(e) => {
79
+ e.stopPropagation();
80
+ this._deleteAttachment(attachment.id);
81
+ }}
82
+ >delete</md-icon
83
+ >`
84
+ : ''}
85
+ </div>
86
+ </div>
87
+ `;
88
+ })
89
+ : html `
90
+ <div empty-state>
91
+ <md-icon>insert_drive_file</md-icon>
92
+ <div>첨부된 파일이 없습니다.</div>
45
93
  </div>
46
- <a attachment @click=${() => this._onClickPreview(attachment.fullpath)}>${attachment.name}</a>
47
- </div>
48
- `;
49
- })}
94
+ `}
50
95
  </div>
51
96
 
52
97
  <ox-input-file
53
98
  accept="*/*"
54
99
  multiple="true"
55
100
  hide-filelist
56
- ?disabled=${this.status == BuildingInspectionStatus.PASS}
101
+ ?disabled=${this.status == BuildingInspectionStatus.PASS || this.mode == "VIEWER" /* ChecklistMode.VIEWER */}
57
102
  @change=${this.onCreateAttachment.bind(this)}
58
103
  ></ox-input-file>
59
104
 
@@ -163,7 +208,7 @@ let AttachmentListPopup = class AttachmentListPopup extends connect(store)(LitEl
163
208
  `,
164
209
  variables: {
165
210
  attachments: files.map(file => {
166
- return { file, refBy: checklistItemId, refType: 'ChecklistItem' };
211
+ return { file, refBy: checklistItemId, refType: 'ChecklistItem', description: this.status };
167
212
  })
168
213
  },
169
214
  context: {
@@ -181,14 +226,63 @@ let AttachmentListPopup = class AttachmentListPopup extends connect(store)(LitEl
181
226
  const day = String(_date.getDate()).padStart(2, '0');
182
227
  const hours = String(_date.getHours()).padStart(2, '0');
183
228
  const minutes = String(_date.getMinutes()).padStart(2, '0');
184
- const seconds = String(_date.getSeconds()).padStart(2, '0');
185
- return `${year}.${month}.${day} ${hours}:${minutes}:${seconds}`;
229
+ return `${year}.${month}.${day} ${hours}:${minutes}`;
186
230
  }
187
231
  // 첨부 자료 변경 이벤트 디스패치
188
232
  _dispatchEvent() {
189
233
  this.dispatchEvent(new CustomEvent('change-attachment', { detail: { checklistItemId: this.checklistItemId } }));
190
234
  }
191
235
  _onClickPreview(filepath) {
236
+ if (!filepath) {
237
+ return;
238
+ }
239
+ // 파일 확장자로 타입 판단
240
+ const fileExtension = filepath.toLowerCase().split('.').pop();
241
+ const isImage = ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'webp', 'svg'].includes(fileExtension || '');
242
+ const isPdf = fileExtension === 'pdf';
243
+ if (isImage) {
244
+ this._openImagePreview(filepath);
245
+ }
246
+ else if (isPdf) {
247
+ this._openPdfPreview(filepath);
248
+ }
249
+ else {
250
+ // 기타 파일은 기존 file-preview-popup 사용
251
+ this._openGenericPreview(filepath);
252
+ }
253
+ }
254
+ _openImagePreview(filepath) {
255
+ const imageData = this.checklistItemAttachments.filter(attachment => {
256
+ var _a;
257
+ const fileExtension = (_a = attachment.fullpath) === null || _a === void 0 ? void 0 : _a.toLowerCase().split('.').pop();
258
+ return ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'webp', 'svg'].includes(fileExtension || '');
259
+ });
260
+ const currentIndex = imageData.findIndex(attachment => attachment.fullpath === filepath);
261
+ openPopup(html ` <image-preview-popup .images=${imageData} .currentIndex=${Math.max(0, currentIndex)}></image-preview-popup> `, { backdrop: true, size: 'large', title: '이미지 미리보기' });
262
+ }
263
+ _openPdfPreview(filepath) {
264
+ openPopup(html `
265
+ <div style="display: flex; flex-direction: column;">
266
+ <div style="flex: 1; overflow: hidden; touch-action: pan-x pan-y;">
267
+ <iframe
268
+ src="${filepath}#toolbar=1&navpanes=0&scrollbar=1&zoom=page-fit"
269
+ style="
270
+ width: 100%;
271
+ height: 100%;
272
+ border: none;
273
+ touch-action: pan-x pan-y;
274
+ "
275
+ @error=${() => {
276
+ // PDF 로드 실패시 새 탭에서 열기
277
+ window.open(filepath, '_blank');
278
+ }}
279
+ ></iframe>
280
+ </div>
281
+ </div>
282
+ `, { backdrop: true, size: 'large', title: '[PDF 미리보기]' });
283
+ }
284
+ // 기타 파일 타입은 기존 방식 사용
285
+ _openGenericPreview(filepath) {
192
286
  openPopup(html ` <file-preview-popup .filepath=${filepath}></file-preview-popup> `, {
193
287
  backdrop: true,
194
288
  size: 'large',
@@ -203,60 +297,155 @@ AttachmentListPopup.styles = [
203
297
  :host {
204
298
  display: flex;
205
299
  flex-direction: column;
206
- padding: 15px 20px;
207
- background-color: var(--md-sys-color-surface);
300
+ background-color: #fff;
301
+ width: 100%;
302
+ max-height: 80vh;
208
303
  }
209
304
 
210
305
  div[body] {
211
- height: 100%;
212
- display: flex;
213
- flex-direction: column;
214
- gap: 12px;
215
- }
216
-
217
- div[attachment-container] {
218
- overflow-y: auto;
219
- gap: 10px;
220
- display: flex;
221
- flex-direction: column;
222
306
  flex: 1;
307
+ overflow-y: auto;
308
+ padding: 20px;
223
309
 
224
- div[attachment-row] {
310
+ div[file-list-container] {
225
311
  display: flex;
226
312
  flex-direction: column;
313
+ gap: 15px;
314
+ background-color: #f7f7f7;
315
+ padding: 20px;
316
+ border-radius: 8px;
317
+ margin-bottom: 20px;
227
318
 
228
- div[creator-container] {
319
+ div[file-item] {
229
320
  display: flex;
230
- justify-content: space-between;
321
+ align-items: center;
322
+ gap: 12px;
323
+ padding: 12px;
324
+ background-color: #fff;
325
+ border-radius: 6px;
326
+ border: 1px solid #ddd;
327
+ cursor: pointer;
328
+ transition: all 0.2s ease;
329
+
330
+ &:hover {
331
+ background-color: #e3f2fd;
332
+ border-color: #2196f3;
333
+ transform: translateY(-1px);
334
+ box-shadow: 0 2px 8px rgba(33, 150, 243, 0.15);
335
+ }
231
336
 
232
- span[creator] {
233
- font-weight: 600;
337
+ div[file-info] {
338
+ flex: 1;
234
339
  display: flex;
235
340
  align-items: center;
236
- gap: 3px;
341
+ gap: 12px;
342
+
343
+ div[file-icon] {
344
+ display: flex;
345
+ align-items: center;
346
+ justify-content: center;
347
+ width: 40px;
348
+ height: 40px;
349
+ border-radius: 8px;
350
+
351
+ md-icon {
352
+ --md-icon-size: 24px;
353
+ color: #666;
354
+ }
355
+ }
356
+
357
+ div[file-details] {
358
+ flex: 1;
359
+ display: flex;
360
+ flex-direction: column;
361
+ gap: 4px;
362
+
363
+ span[file-name] {
364
+ font-size: 14px;
365
+ font-weight: 500;
366
+ color: #333;
367
+ line-height: 1.2;
368
+ }
369
+
370
+ div[file-meta] {
371
+ display: flex;
372
+ gap: 15px;
373
+ margin-top: 2px;
374
+
375
+ span[file-creator] {
376
+ font-size: 11px;
377
+ color: #666;
378
+ display: flex;
379
+ align-items: center;
380
+ gap: 3px;
381
+ }
382
+
383
+ span[file-date] {
384
+ font-size: 11px;
385
+ color: #666;
386
+ display: flex;
387
+ align-items: center;
388
+ gap: 3px;
389
+ }
390
+ }
391
+ }
237
392
  }
238
- span[createdAt] {
393
+
394
+ div[action-buttons] {
239
395
  display: flex;
396
+ gap: 8px;
240
397
  align-items: center;
241
- gap: 3px;
242
398
 
243
- md-icon[delete] {
399
+ md-icon {
400
+ --md-icon-size: 20px;
401
+ color: #2196f3;
244
402
  cursor: pointer;
403
+ padding: 4px;
404
+ border-radius: 4px;
405
+ transition: background-color 0.2s;
406
+
407
+ &:hover {
408
+ background-color: rgba(33, 150, 243, 0.1);
409
+ }
410
+ }
411
+
412
+ md-icon[delete] {
413
+ color: #f44336;
414
+
415
+ &:hover {
416
+ background-color: rgba(244, 67, 54, 0.1);
417
+ }
245
418
  }
246
419
 
247
- a[button-download] {
420
+ a {
421
+ text-decoration: none;
422
+ color: inherit;
248
423
  display: flex;
249
- color: #000;
424
+ align-items: center;
250
425
  }
251
426
  }
252
427
  }
428
+ }
429
+
430
+ div[empty-state] {
431
+ text-align: center;
432
+ color: #666;
433
+ padding: 40px;
253
434
 
254
- a[attachment] {
255
- margin-left: 20px;
256
- text-decoration: none;
257
- color: #000;
435
+ md-icon {
436
+ --md-icon-size: 48px;
437
+ color: #ccc;
438
+ margin-bottom: 16px;
258
439
  }
259
440
  }
441
+
442
+ div[button-container] {
443
+ display: flex;
444
+ align-items: center;
445
+ justify-content: center;
446
+ gap: 10px;
447
+ margin-top: 20px;
448
+ }
260
449
  }
261
450
 
262
451
  h3 {
@@ -264,15 +453,8 @@ AttachmentListPopup.styles = [
264
453
  color: rgb(5, 149, 229);
265
454
  font-size: 17px;
266
455
  font-weight: 700;
267
- background-color: var(--md-sys-color-surface);
268
- margin-top: 0px;
269
- margin-bottom: 5px;
270
- }
271
-
272
- div[button-container] {
273
- display: flex;
274
- justify-content: flex-end;
275
- gap: 10px;
456
+ margin: 0px 20px 10px 20px;
457
+ padding-top: 20px;
276
458
  }
277
459
  `
278
460
  ];
@@ -284,6 +466,10 @@ __decorate([
284
466
  property({ type: String }),
285
467
  __metadata("design:type", String)
286
468
  ], AttachmentListPopup.prototype, "status", void 0);
469
+ __decorate([
470
+ property({ type: String }),
471
+ __metadata("design:type", String)
472
+ ], AttachmentListPopup.prototype, "mode", void 0);
287
473
  __decorate([
288
474
  state(),
289
475
  __metadata("design:type", Object)
@@ -300,10 +486,6 @@ __decorate([
300
486
  state(),
301
487
  __metadata("design:type", User)
302
488
  ], AttachmentListPopup.prototype, "user", void 0);
303
- __decorate([
304
- query('div[attachment-container]'),
305
- __metadata("design:type", HTMLDivElement)
306
- ], AttachmentListPopup.prototype, "attachmentContainer", void 0);
307
489
  AttachmentListPopup = __decorate([
308
490
  customElement('attachment-list-popup')
309
491
  ], AttachmentListPopup);