@dssp/supervision 1.0.0-alpha.9 → 1.0.0-alpha.93

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 (363) hide show
  1. package/dist-client/graphql/building-inspection.d.ts +1 -0
  2. package/dist-client/graphql/building-inspection.js +102 -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 +82 -0
  26. package/dist-client/pages/building-inspection/building-inspection-management.js +1527 -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/field-document/field-document-constants.d.ts +18 -0
  35. package/dist-client/pages/building-inspection/component/field-document/field-document-constants.js +630 -0
  36. package/dist-client/pages/building-inspection/component/field-document/field-document-constants.js.map +1 -0
  37. package/dist-client/pages/building-inspection/component/field-document/field-document-detail-popup.d.ts +10 -0
  38. package/dist-client/pages/building-inspection/component/field-document/field-document-detail-popup.js +219 -0
  39. package/dist-client/pages/building-inspection/component/field-document/field-document-detail-popup.js.map +1 -0
  40. package/dist-client/pages/building-inspection/component/field-document/field-document-list-panel.d.ts +25 -0
  41. package/dist-client/pages/building-inspection/component/field-document/field-document-list-panel.js +546 -0
  42. package/dist-client/pages/building-inspection/component/field-document/field-document-list-panel.js.map +1 -0
  43. package/dist-client/pages/building-inspection/component/field-document/field-document-popup.d.ts +42 -0
  44. package/dist-client/pages/building-inspection/component/field-document/field-document-popup.js +738 -0
  45. package/dist-client/pages/building-inspection/component/field-document/field-document-popup.js.map +1 -0
  46. package/dist-client/pages/building-inspection/component/image-preview-popup.d.ts +15 -0
  47. package/dist-client/pages/building-inspection/component/image-preview-popup.js +348 -0
  48. package/dist-client/pages/building-inspection/component/image-preview-popup.js.map +1 -0
  49. package/dist-client/pages/building-inspection/component/inspection-document/inspection-request-document.d.ts +25 -0
  50. package/dist-client/pages/building-inspection/component/inspection-document/inspection-request-document.js +491 -0
  51. package/dist-client/pages/building-inspection/component/inspection-document/inspection-request-document.js.map +1 -0
  52. package/dist-client/pages/building-inspection/component/inspection-document/inspection-result-notification.d.ts +31 -0
  53. package/dist-client/pages/building-inspection/component/inspection-document/inspection-result-notification.js +485 -0
  54. package/dist-client/pages/building-inspection/component/inspection-document/inspection-result-notification.js.map +1 -0
  55. package/dist-client/pages/building-inspection/component/inspection-document/photo-album-popup.d.ts +27 -0
  56. package/dist-client/pages/building-inspection/component/inspection-document/photo-album-popup.js +416 -0
  57. package/dist-client/pages/building-inspection/component/inspection-document/photo-album-popup.js.map +1 -0
  58. package/dist-client/pages/building-inspection/component/inspection-event-provider.d.ts +4 -2
  59. package/dist-client/pages/building-inspection/component/inspection-event-provider.js +156 -37
  60. package/dist-client/pages/building-inspection/component/inspection-event-provider.js.map +1 -1
  61. package/dist-client/pages/building-inspection/inspection-create-popup.js +23 -12
  62. package/dist-client/pages/building-inspection/inspection-create-popup.js.map +1 -1
  63. package/dist-client/pages/building-inspection/inspection-with-checklist-create-popup.d.ts +3 -0
  64. package/dist-client/pages/building-inspection/inspection-with-checklist-create-popup.js +817 -0
  65. package/dist-client/pages/building-inspection/inspection-with-checklist-create-popup.js.map +1 -0
  66. package/dist-client/pages/building-inspection-grid/building-inspection-grid-detail.d.ts +16 -2
  67. package/dist-client/pages/building-inspection-grid/building-inspection-grid-detail.js +250 -45
  68. package/dist-client/pages/building-inspection-grid/building-inspection-grid-detail.js.map +1 -1
  69. package/dist-client/pages/building-inspection-grid/component/grid-inspection-create-popup.js +10 -6
  70. package/dist-client/pages/building-inspection-grid/component/grid-inspection-create-popup.js.map +1 -1
  71. package/dist-client/pages/building-inspection-grid/component/grid-inspection-list-layer.d.ts +19 -0
  72. package/dist-client/pages/building-inspection-grid/component/grid-inspection-list-layer.js +205 -0
  73. package/dist-client/pages/building-inspection-grid/component/grid-inspection-list-layer.js.map +1 -0
  74. package/dist-client/pages/checklist/attachment-list-popup.d.ts +1 -0
  75. package/dist-client/pages/checklist/attachment-list-popup.js +251 -69
  76. package/dist-client/pages/checklist/attachment-list-popup.js.map +1 -1
  77. package/dist-client/pages/checklist/checklist-view.d.ts +6 -4
  78. package/dist-client/pages/checklist/checklist-view.js +249 -37
  79. package/dist-client/pages/checklist/checklist-view.js.map +1 -1
  80. package/dist-client/pages/checklist/comment-list-popup.js +15 -5
  81. package/dist-client/pages/checklist/comment-list-popup.js.map +1 -1
  82. package/dist-client/pages/checklist/file-preview-popup.js +0 -1
  83. package/dist-client/pages/checklist/file-preview-popup.js.map +1 -1
  84. package/dist-client/pages/checklist/inspection-info-popup.d.ts +49 -0
  85. package/dist-client/pages/checklist/inspection-info-popup.js +683 -0
  86. package/dist-client/pages/checklist/inspection-info-popup.js.map +1 -0
  87. package/dist-client/pages/checklist/inspection-tab-popup.d.ts +18 -0
  88. package/dist-client/pages/checklist/inspection-tab-popup.js +196 -0
  89. package/dist-client/pages/checklist/inspection-tab-popup.js.map +1 -0
  90. package/dist-client/pages/checklist/kcs-criteria-popup.d.ts +15 -0
  91. package/dist-client/pages/checklist/kcs-criteria-popup.js +174 -0
  92. package/dist-client/pages/checklist/kcs-criteria-popup.js.map +1 -0
  93. package/dist-client/pages/checklist-database/checklist-database.d.ts +35 -0
  94. package/dist-client/pages/checklist-database/checklist-database.js +540 -0
  95. package/dist-client/pages/checklist-database/checklist-database.js.map +1 -0
  96. package/dist-client/pages/checklist-template/checklist-template-item.js +39 -3
  97. package/dist-client/pages/checklist-template/checklist-template-item.js.map +1 -1
  98. package/dist-client/pages/checklist-template/checklist-template-list.js +3 -2
  99. package/dist-client/pages/checklist-template/checklist-template-list.js.map +1 -1
  100. package/dist-client/pages/checklist-template/construction-checklist-template-item-popup.d.ts +2 -0
  101. package/dist-client/pages/checklist-template/construction-checklist-template-item-popup.js +223 -0
  102. package/dist-client/pages/checklist-template/construction-checklist-template-item-popup.js.map +1 -0
  103. package/dist-client/pages/checklist-template/construction-checklist-template-list.d.ts +55 -0
  104. package/dist-client/pages/checklist-template/construction-checklist-template-list.js +404 -0
  105. package/dist-client/pages/checklist-template/construction-checklist-template-list.js.map +1 -0
  106. package/dist-client/pages/issue/issue-list-page.d.ts +1 -2
  107. package/dist-client/pages/issue/issue-list-page.js +1 -2
  108. package/dist-client/pages/issue/issue-list-page.js.map +1 -1
  109. package/dist-client/pages/project-checklist/project-checklist-management.d.ts +58 -0
  110. package/dist-client/pages/project-checklist/project-checklist-management.js +1076 -0
  111. package/dist-client/pages/project-checklist/project-checklist-management.js.map +1 -0
  112. package/dist-client/pages/project-report/project-report-list-page.d.ts +1 -2
  113. package/dist-client/pages/project-report/project-report-list-page.js +1 -2
  114. package/dist-client/pages/project-report/project-report-list-page.js.map +1 -1
  115. package/dist-client/pages/supervisor/supervisor-list-page.d.ts +1 -2
  116. package/dist-client/pages/supervisor/supervisor-list-page.js +1 -2
  117. package/dist-client/pages/supervisor/supervisor-list-page.js.map +1 -1
  118. package/dist-client/route.d.ts +1 -1
  119. package/dist-client/route.js +18 -0
  120. package/dist-client/route.js.map +1 -1
  121. package/dist-client/stt/speech-to-text.d.ts +13 -8
  122. package/dist-client/stt/speech-to-text.js +282 -40
  123. package/dist-client/stt/speech-to-text.js.map +1 -1
  124. package/dist-client/tsconfig.tsbuildinfo +1 -1
  125. package/dist-server/service/action-plan/action-plan-mutation.js +5 -6
  126. package/dist-server/service/action-plan/action-plan-mutation.js.map +1 -1
  127. package/dist-server/service/action-plan/action-plan-query.d.ts +2 -2
  128. package/dist-server/service/action-plan/action-plan-query.js +5 -11
  129. package/dist-server/service/action-plan/action-plan-query.js.map +1 -1
  130. package/dist-server/service/building-inspection/building-inspection-mutation.d.ts +2 -3
  131. package/dist-server/service/building-inspection/building-inspection-mutation.js +102 -34
  132. package/dist-server/service/building-inspection/building-inspection-mutation.js.map +1 -1
  133. package/dist-server/service/building-inspection/building-inspection-query.d.ts +9 -7
  134. package/dist-server/service/building-inspection/building-inspection-query.js +168 -52
  135. package/dist-server/service/building-inspection/building-inspection-query.js.map +1 -1
  136. package/dist-server/service/building-inspection/building-inspection-type.d.ts +32 -11
  137. package/dist-server/service/building-inspection/building-inspection-type.js +111 -23
  138. package/dist-server/service/building-inspection/building-inspection-type.js.map +1 -1
  139. package/dist-server/service/building-inspection/building-inspection.d.ts +5 -0
  140. package/dist-server/service/building-inspection/building-inspection.js +37 -4
  141. package/dist-server/service/building-inspection/building-inspection.js.map +1 -1
  142. package/dist-server/service/building-inspection/index.d.ts +3 -4
  143. package/dist-server/service/building-inspection/index.js +10 -3
  144. package/dist-server/service/building-inspection/index.js.map +1 -1
  145. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-mutation.d.ts +6 -0
  146. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-mutation.js +66 -0
  147. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-mutation.js.map +1 -0
  148. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-query.d.ts +16 -0
  149. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-query.js +171 -0
  150. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-query.js.map +1 -0
  151. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-type.d.ts +23 -0
  152. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-type.js +90 -0
  153. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-type.js.map +1 -0
  154. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog.d.ts +33 -0
  155. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog.js +132 -0
  156. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog.js.map +1 -0
  157. package/dist-server/service/building-inspection-daily-worklog/index.d.ts +5 -0
  158. package/dist-server/service/building-inspection-daily-worklog/index.js +9 -0
  159. package/dist-server/service/building-inspection-daily-worklog/index.js.map +1 -0
  160. package/dist-server/service/building-inspection-history/building-inspection-history-query.d.ts +16 -0
  161. package/dist-server/service/building-inspection-history/building-inspection-history-query.js +120 -0
  162. package/dist-server/service/building-inspection-history/building-inspection-history-query.js.map +1 -0
  163. package/dist-server/service/building-inspection-history/building-inspection-history-type.d.ts +5 -0
  164. package/dist-server/service/building-inspection-history/building-inspection-history-type.js +21 -0
  165. package/dist-server/service/building-inspection-history/building-inspection-history-type.js.map +1 -0
  166. package/dist-server/service/building-inspection-history/building-inspection-history.d.ts +35 -0
  167. package/dist-server/service/building-inspection-history/building-inspection-history.js +162 -0
  168. package/dist-server/service/building-inspection-history/building-inspection-history.js.map +1 -0
  169. package/dist-server/service/building-inspection-history/event-subscriber.d.ts +7 -0
  170. package/dist-server/service/building-inspection-history/event-subscriber.js +21 -0
  171. package/dist-server/service/building-inspection-history/event-subscriber.js.map +1 -0
  172. package/dist-server/service/building-inspection-history/index.d.ts +6 -0
  173. package/dist-server/service/building-inspection-history/index.js +10 -0
  174. package/dist-server/service/building-inspection-history/index.js.map +1 -0
  175. package/dist-server/service/checklist/checklist-mutation.d.ts +0 -5
  176. package/dist-server/service/checklist/checklist-mutation.js +1 -67
  177. package/dist-server/service/checklist/checklist-mutation.js.map +1 -1
  178. package/dist-server/service/checklist/checklist-query.d.ts +7 -0
  179. package/dist-server/service/checklist/checklist-query.js +83 -0
  180. package/dist-server/service/checklist/checklist-query.js.map +1 -1
  181. package/dist-server/service/checklist/checklist-type.d.ts +0 -13
  182. package/dist-server/service/checklist/checklist-type.js +1 -49
  183. package/dist-server/service/checklist/checklist-type.js.map +1 -1
  184. package/dist-server/service/checklist/checklist.d.ts +24 -7
  185. package/dist-server/service/checklist/checklist.js +75 -30
  186. package/dist-server/service/checklist/checklist.js.map +1 -1
  187. package/dist-server/service/checklist/event-subscriber.d.ts +7 -0
  188. package/dist-server/service/checklist/event-subscriber.js +21 -0
  189. package/dist-server/service/checklist/event-subscriber.js.map +1 -0
  190. package/dist-server/service/checklist/index.d.ts +1 -2
  191. package/dist-server/service/checklist/index.js +1 -2
  192. package/dist-server/service/checklist/index.js.map +1 -1
  193. package/dist-server/service/checklist-history/checklist-history-query.d.ts +11 -0
  194. package/dist-server/service/checklist-history/checklist-history-query.js +77 -0
  195. package/dist-server/service/checklist-history/checklist-history-query.js.map +1 -0
  196. package/dist-server/service/checklist-history/checklist-history-type.d.ts +5 -0
  197. package/dist-server/service/checklist-history/checklist-history-type.js +21 -0
  198. package/dist-server/service/checklist-history/checklist-history-type.js.map +1 -0
  199. package/dist-server/service/{checklist → checklist-history}/checklist-history.d.ts +19 -1
  200. package/dist-server/service/{checklist → checklist-history}/checklist-history.js +97 -14
  201. package/dist-server/service/checklist-history/checklist-history.js.map +1 -0
  202. package/dist-server/service/checklist-history/event-subscriber.d.ts +7 -0
  203. package/dist-server/service/checklist-history/event-subscriber.js +21 -0
  204. package/dist-server/service/checklist-history/event-subscriber.js.map +1 -0
  205. package/dist-server/service/checklist-history/index.d.ts +6 -0
  206. package/dist-server/service/checklist-history/index.js +10 -0
  207. package/dist-server/service/checklist-history/index.js.map +1 -0
  208. package/dist-server/service/checklist-item/checklist-item-query.d.ts +1 -1
  209. package/dist-server/service/checklist-item/checklist-item-query.js +5 -3
  210. package/dist-server/service/checklist-item/checklist-item-query.js.map +1 -1
  211. package/dist-server/service/checklist-item/checklist-item.d.ts +2 -0
  212. package/dist-server/service/checklist-item/checklist-item.js +11 -1
  213. package/dist-server/service/checklist-item/checklist-item.js.map +1 -1
  214. package/dist-server/service/checklist-item/index.d.ts +0 -1
  215. package/dist-server/service/checklist-item/index.js +1 -2
  216. package/dist-server/service/checklist-item/index.js.map +1 -1
  217. package/dist-server/service/checklist-item-comment/checklist-item-comment-mutation.d.ts +1 -0
  218. package/dist-server/service/checklist-item-comment/checklist-item-comment-mutation.js +33 -6
  219. package/dist-server/service/checklist-item-comment/checklist-item-comment-mutation.js.map +1 -1
  220. package/dist-server/service/checklist-item-history/checklist-item-history-query.d.ts +16 -0
  221. package/dist-server/service/checklist-item-history/checklist-item-history-query.js +123 -0
  222. package/dist-server/service/checklist-item-history/checklist-item-history-query.js.map +1 -0
  223. package/dist-server/service/checklist-item-history/checklist-item-history-type.d.ts +5 -0
  224. package/dist-server/service/checklist-item-history/checklist-item-history-type.js +21 -0
  225. package/dist-server/service/checklist-item-history/checklist-item-history-type.js.map +1 -0
  226. package/dist-server/service/checklist-item-history/checklist-item-history.d.ts +27 -0
  227. package/dist-server/service/checklist-item-history/checklist-item-history.js +133 -0
  228. package/dist-server/service/checklist-item-history/checklist-item-history.js.map +1 -0
  229. package/dist-server/service/checklist-item-history/event-subscriber.d.ts +7 -0
  230. package/dist-server/service/checklist-item-history/event-subscriber.js +21 -0
  231. package/dist-server/service/checklist-item-history/event-subscriber.js.map +1 -0
  232. package/dist-server/service/checklist-item-history/index.d.ts +6 -0
  233. package/dist-server/service/checklist-item-history/index.js +10 -0
  234. package/dist-server/service/checklist-item-history/index.js.map +1 -0
  235. package/dist-server/service/checklist-template/checklist-template-query.d.ts +1 -1
  236. package/dist-server/service/checklist-template/checklist-template-query.js +2 -5
  237. package/dist-server/service/checklist-template/checklist-template-query.js.map +1 -1
  238. package/dist-server/service/checklist-template-item/checklist-template-item-mutation.js +13 -1
  239. package/dist-server/service/checklist-template-item/checklist-template-item-mutation.js.map +1 -1
  240. package/dist-server/service/checklist-template-item/checklist-template-item-type.d.ts +3 -0
  241. package/dist-server/service/checklist-template-item/checklist-template-item-type.js +9 -0
  242. package/dist-server/service/checklist-template-item/checklist-template-item-type.js.map +1 -1
  243. package/dist-server/service/checklist-template-item/checklist-template-item.d.ts +7 -0
  244. package/dist-server/service/checklist-template-item/checklist-template-item.js +22 -2
  245. package/dist-server/service/checklist-template-item/checklist-template-item.js.map +1 -1
  246. package/dist-server/service/checklist-template-item/spec-matching-service.d.ts +2 -0
  247. package/dist-server/service/checklist-template-item/spec-matching-service.js +51 -0
  248. package/dist-server/service/checklist-template-item/spec-matching-service.js.map +1 -0
  249. package/dist-server/service/checklist-type/checklist-type-query.d.ts +1 -1
  250. package/dist-server/service/checklist-type/checklist-type-query.js +2 -5
  251. package/dist-server/service/checklist-type/checklist-type-query.js.map +1 -1
  252. package/dist-server/service/construction-checklist-template/construction-checklist-template-mutation.d.ts +7 -0
  253. package/dist-server/service/construction-checklist-template/construction-checklist-template-mutation.js +107 -0
  254. package/dist-server/service/construction-checklist-template/construction-checklist-template-mutation.js.map +1 -0
  255. package/dist-server/service/construction-checklist-template/construction-checklist-template-query.d.ts +10 -0
  256. package/dist-server/service/construction-checklist-template/construction-checklist-template-query.js +62 -0
  257. package/dist-server/service/construction-checklist-template/construction-checklist-template-query.js.map +1 -0
  258. package/dist-server/service/construction-checklist-template/construction-checklist-template-type.d.ts +11 -0
  259. package/dist-server/service/construction-checklist-template/construction-checklist-template-type.js +43 -0
  260. package/dist-server/service/construction-checklist-template/construction-checklist-template-type.js.map +1 -0
  261. package/dist-server/service/construction-checklist-template/construction-checklist-template.d.ts +18 -0
  262. package/dist-server/service/construction-checklist-template/construction-checklist-template.js +80 -0
  263. package/dist-server/service/construction-checklist-template/construction-checklist-template.js.map +1 -0
  264. package/dist-server/service/construction-checklist-template/index.d.ts +5 -0
  265. package/dist-server/service/construction-checklist-template/index.js +9 -0
  266. package/dist-server/service/construction-checklist-template/index.js.map +1 -0
  267. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-mutation.d.ts +6 -0
  268. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-mutation.js +56 -0
  269. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-mutation.js.map +1 -0
  270. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-query.d.ts +9 -0
  271. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-query.js +53 -0
  272. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-query.js.map +1 -0
  273. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-type.d.ts +17 -0
  274. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-type.js +67 -0
  275. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-type.js.map +1 -0
  276. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item.d.ts +24 -0
  277. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item.js +113 -0
  278. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item.js.map +1 -0
  279. package/dist-server/service/construction-checklist-template-item/index.d.ts +5 -0
  280. package/dist-server/service/construction-checklist-template-item/index.js +9 -0
  281. package/dist-server/service/construction-checklist-template-item/index.js.map +1 -0
  282. package/dist-server/service/field-document/field-document-auto-file.d.ts +21 -0
  283. package/dist-server/service/field-document/field-document-auto-file.js +47 -0
  284. package/dist-server/service/field-document/field-document-auto-file.js.map +1 -0
  285. package/dist-server/service/field-document/field-document-mutation.d.ts +9 -0
  286. package/dist-server/service/field-document/field-document-mutation.js +139 -0
  287. package/dist-server/service/field-document/field-document-mutation.js.map +1 -0
  288. package/dist-server/service/field-document/field-document-query.d.ts +14 -0
  289. package/dist-server/service/field-document/field-document-query.js +120 -0
  290. package/dist-server/service/field-document/field-document-query.js.map +1 -0
  291. package/dist-server/service/field-document/field-document-summary-service.d.ts +10 -0
  292. package/dist-server/service/field-document/field-document-summary-service.js +79 -0
  293. package/dist-server/service/field-document/field-document-summary-service.js.map +1 -0
  294. package/dist-server/service/field-document/field-document-type.d.ts +24 -0
  295. package/dist-server/service/field-document/field-document-type.js +88 -0
  296. package/dist-server/service/field-document/field-document-type.js.map +1 -0
  297. package/dist-server/service/field-document/field-document.d.ts +29 -0
  298. package/dist-server/service/field-document/field-document.js +127 -0
  299. package/dist-server/service/field-document/field-document.js.map +1 -0
  300. package/dist-server/service/field-document/index.d.ts +5 -0
  301. package/dist-server/service/field-document/index.js +9 -0
  302. package/dist-server/service/field-document/index.js.map +1 -0
  303. package/dist-server/service/index.d.ts +9 -1
  304. package/dist-server/service/index.js +42 -3
  305. package/dist-server/service/index.js.map +1 -1
  306. package/dist-server/service/issue/issue-mutation.js +5 -6
  307. package/dist-server/service/issue/issue-mutation.js.map +1 -1
  308. package/dist-server/service/issue/issue-query.d.ts +2 -2
  309. package/dist-server/service/issue/issue-query.js +5 -11
  310. package/dist-server/service/issue/issue-query.js.map +1 -1
  311. package/dist-server/service/project-checklist/index.d.ts +5 -0
  312. package/dist-server/service/project-checklist/index.js +9 -0
  313. package/dist-server/service/project-checklist/index.js.map +1 -0
  314. package/dist-server/service/project-checklist/project-checklist-mutation.d.ts +7 -0
  315. package/dist-server/service/project-checklist/project-checklist-mutation.js +118 -0
  316. package/dist-server/service/project-checklist/project-checklist-mutation.js.map +1 -0
  317. package/dist-server/service/project-checklist/project-checklist-query.d.ts +12 -0
  318. package/dist-server/service/project-checklist/project-checklist-query.js +76 -0
  319. package/dist-server/service/project-checklist/project-checklist-query.js.map +1 -0
  320. package/dist-server/service/project-checklist/project-checklist-type.d.ts +18 -0
  321. package/dist-server/service/project-checklist/project-checklist-type.js +69 -0
  322. package/dist-server/service/project-checklist/project-checklist-type.js.map +1 -0
  323. package/dist-server/service/project-checklist/project-checklist.d.ts +20 -0
  324. package/dist-server/service/project-checklist/project-checklist.js +90 -0
  325. package/dist-server/service/project-checklist/project-checklist.js.map +1 -0
  326. package/dist-server/service/project-checklist/spec-matching-service.d.ts +17 -0
  327. package/dist-server/service/project-checklist/spec-matching-service.js +91 -0
  328. package/dist-server/service/project-checklist/spec-matching-service.js.map +1 -0
  329. package/dist-server/service/project-checklist-item/index.d.ts +4 -0
  330. package/dist-server/service/project-checklist-item/index.js +9 -0
  331. package/dist-server/service/project-checklist-item/index.js.map +1 -0
  332. package/dist-server/service/project-checklist-item/project-checklist-item-mutation.d.ts +2 -0
  333. package/dist-server/service/project-checklist-item/project-checklist-item-mutation.js +13 -0
  334. package/dist-server/service/project-checklist-item/project-checklist-item-mutation.js.map +1 -0
  335. package/dist-server/service/project-checklist-item/project-checklist-item-query.d.ts +5 -0
  336. package/dist-server/service/project-checklist-item/project-checklist-item-query.js +34 -0
  337. package/dist-server/service/project-checklist-item/project-checklist-item-query.js.map +1 -0
  338. package/dist-server/service/project-checklist-item/project-checklist-item-type.d.ts +5 -0
  339. package/dist-server/service/project-checklist-item/project-checklist-item-type.js +21 -0
  340. package/dist-server/service/project-checklist-item/project-checklist-item-type.js.map +1 -0
  341. package/dist-server/service/project-checklist-item/project-checklist-item.d.ts +19 -0
  342. package/dist-server/service/project-checklist-item/project-checklist-item.js +92 -0
  343. package/dist-server/service/project-checklist-item/project-checklist-item.js.map +1 -0
  344. package/dist-server/service/project-report/project-report-mutation.js +5 -6
  345. package/dist-server/service/project-report/project-report-mutation.js.map +1 -1
  346. package/dist-server/service/project-report/project-report-query.d.ts +2 -2
  347. package/dist-server/service/project-report/project-report-query.js +5 -11
  348. package/dist-server/service/project-report/project-report-query.js.map +1 -1
  349. package/dist-server/service/project-report/project-report.d.ts +0 -2
  350. package/dist-server/service/project-report/project-report.js +0 -6
  351. package/dist-server/service/project-report/project-report.js.map +1 -1
  352. package/dist-server/service/supervisor/supervisor-mutation.js +5 -6
  353. package/dist-server/service/supervisor/supervisor-mutation.js.map +1 -1
  354. package/dist-server/service/supervisor/supervisor-query.d.ts +2 -2
  355. package/dist-server/service/supervisor/supervisor-query.js +5 -11
  356. package/dist-server/service/supervisor/supervisor-query.js.map +1 -1
  357. package/dist-server/tsconfig.tsbuildinfo +1 -1
  358. package/package.json +14 -13
  359. package/things-factory.config.js +9 -1
  360. package/dist-server/service/building-inspection/building-inspection-history.d.ts +0 -17
  361. package/dist-server/service/building-inspection/building-inspection-history.js +0 -86
  362. package/dist-server/service/building-inspection/building-inspection-history.js.map +0 -1
  363. package/dist-server/service/checklist/checklist-history.js.map +0 -1
@@ -0,0 +1,738 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import '@material/web/icon/icon.js';
3
+ import '@material/web/button/filled-button.js';
4
+ import '@material/web/button/outlined-button.js';
5
+ import '@material/web/progress/circular-progress.js';
6
+ import './field-document-list-panel';
7
+ import { ScrollbarStyles } from '@operato/styles';
8
+ import { css, html, LitElement } from 'lit';
9
+ import { customElement, property, state } from 'lit/decorators.js';
10
+ import { client } from '@operato/graphql';
11
+ import { notify } from '@operato/layout';
12
+ import gql from 'graphql-tag';
13
+ import { FIELD_DOCUMENT_CLASSIFICATIONS, findClassificationPath } from './field-document-constants';
14
+ let FieldDocumentPopup = class FieldDocumentPopup extends LitElement {
15
+ constructor() {
16
+ super(...arguments);
17
+ this.projectId = '';
18
+ this.selectedMajor = null;
19
+ this.selectedMiddle = null;
20
+ this.selectedMinor = null;
21
+ this.documents = [];
22
+ this.selectedDocIds = new Set();
23
+ this.codeCounts = new Map();
24
+ this.dragOverItem = '';
25
+ this.uploading = false;
26
+ this.uploadingFile = '';
27
+ this._tooltipText = '';
28
+ this._tooltipX = 0;
29
+ this._tooltipY = 0;
30
+ }
31
+ render() {
32
+ var _a, _b, _c, _d;
33
+ const majors = FIELD_DOCUMENT_CLASSIFICATIONS;
34
+ const middles = ((_a = this.selectedMajor) === null || _a === void 0 ? void 0 : _a.children) || [];
35
+ const minors = ((_b = this.selectedMiddle) === null || _b === void 0 ? void 0 : _b.children) || [];
36
+ return html `
37
+ ${this._tooltipText
38
+ ? html `<div tooltip style="left:${this._tooltipX + 12}px;top:${this._tooltipY + 12}px">${this._tooltipText}</div>`
39
+ : ''}
40
+ ${this.uploading
41
+ ? html `
42
+ <div uploading-overlay>
43
+ <md-circular-progress indeterminate></md-circular-progress>
44
+ <span>업로드 및 AI 브리핑 생성 중...</span>
45
+ <span file>${this.uploadingFile}</span>
46
+ </div>
47
+ `
48
+ : ''}
49
+
50
+ <div header>
51
+ <h2>
52
+ <md-icon>folder_open</md-icon>
53
+ 현장 문서 확인
54
+ </h2>
55
+ <span breadcrumb>
56
+ ${this.selectedMajor ? this.selectedMajor.name : ''} ${this.selectedMiddle ? ` > ${this.selectedMiddle.name}` : ''}
57
+ ${this.selectedMinor ? ` > ${this.selectedMinor.name}` : ''}
58
+ </span>
59
+ </div>
60
+
61
+ <div content>
62
+ <div classification-panel>
63
+ <div column>
64
+ <div column-header>대분류</div>
65
+ ${majors.map(item => {
66
+ var _a;
67
+ return html `
68
+ <div
69
+ item
70
+ ?selected=${((_a = this.selectedMajor) === null || _a === void 0 ? void 0 : _a.code) === item.code}
71
+ @click=${() => this._selectMajor(item)}
72
+ @mousemove=${(e) => this._showTooltip(e, item.name)}
73
+ @mouseleave=${() => (this._tooltipText = '')}
74
+ @dragover=${(e) => this._onFolderDragOver(e, item.code)}
75
+ @dragleave=${() => (this.dragOverItem = '')}
76
+ @drop=${(e) => this._onFolderDrop(e, item.code)}
77
+ ?drag-over=${this.dragOverItem === item.code}
78
+ >
79
+ <span name>${item.name}</span>
80
+ ${this._getMajorCount(item.code) > 0 ? html `<span count>${this._getMajorCount(item.code)}</span>` : ''}
81
+ </div>
82
+ `;
83
+ })}
84
+ </div>
85
+
86
+ <div column>
87
+ <div column-header>중분류</div>
88
+ ${middles.map(item => {
89
+ var _a;
90
+ return html `
91
+ <div
92
+ item
93
+ ?selected=${((_a = this.selectedMiddle) === null || _a === void 0 ? void 0 : _a.code) === item.code}
94
+ @click=${() => this._selectMiddle(item)}
95
+ @mousemove=${(e) => this._showTooltip(e, item.name)}
96
+ @mouseleave=${() => (this._tooltipText = '')}
97
+ @dragover=${(e) => this._onFolderDragOver(e, item.code)}
98
+ @dragleave=${() => (this.dragOverItem = '')}
99
+ @drop=${(e) => this._onFolderDrop(e, item.code)}
100
+ ?drag-over=${this.dragOverItem === item.code}
101
+ >
102
+ <span name>${item.name}</span>
103
+ ${this._getMiddleCount(item.code) > 0 ? html `<span count>${this._getMiddleCount(item.code)}</span>` : ''}
104
+ </div>
105
+ `;
106
+ })}
107
+ </div>
108
+
109
+ <div column>
110
+ <div column-header>소분류</div>
111
+ ${minors.map(item => {
112
+ var _a;
113
+ return html `
114
+ <div
115
+ item
116
+ ?selected=${((_a = this.selectedMinor) === null || _a === void 0 ? void 0 : _a.code) === item.code}
117
+ @click=${() => this._selectMinor(item)}
118
+ @mousemove=${(e) => this._showTooltip(e, item.name)}
119
+ @mouseleave=${() => (this._tooltipText = '')}
120
+ @dragover=${(e) => this._onFolderDragOver(e, item.code)}
121
+ @dragleave=${() => (this.dragOverItem = '')}
122
+ @drop=${(e) => this._onFolderDrop(e, item.code)}
123
+ ?drag-over=${this.dragOverItem === item.code}
124
+ >
125
+ <span code>${item.code}</span>
126
+ <span name>${item.name}</span>
127
+ ${(this.codeCounts.get(item.code) || 0) > 0 ? html `<span count>${this.codeCounts.get(item.code)}</span>` : ''}
128
+ </div>
129
+ `;
130
+ })}
131
+ </div>
132
+ </div>
133
+
134
+ <field-document-list-panel
135
+ .projectId=${this.projectId}
136
+ .code=${((_c = this.selectedMinor) === null || _c === void 0 ? void 0 : _c.code) || ''}
137
+ .folderName=${((_d = this.selectedMinor) === null || _d === void 0 ? void 0 : _d.name) || ''}
138
+ .documents=${this.documents}
139
+ @document-selected=${(e) => (this.selectedDocIds = e.detail)}
140
+ @documents-changed=${(e) => this._onDocumentsChanged(e)}
141
+ ></field-document-list-panel>
142
+ </div>
143
+
144
+ <div footer>
145
+ <md-filled-button share @click=${this._shareDocuments}> <md-icon slot="icon">share</md-icon>공유 </md-filled-button>
146
+ <md-filled-button favorite @click=${this._toggleFavorites}>
147
+ <md-icon slot="icon">star</md-icon>즐겨찾기
148
+ </md-filled-button>
149
+ <md-filled-button upload @click=${this._triggerUpload}> <md-icon slot="icon">upload</md-icon>업로드 </md-filled-button>
150
+ <md-filled-button delete @click=${this._deleteDocuments}> <md-icon slot="icon">delete</md-icon>삭제 </md-filled-button>
151
+
152
+ <input
153
+ type="file"
154
+ id="native-file-input"
155
+ multiple
156
+ accept="*/*"
157
+ style="display:none"
158
+ @change=${this._onNativeFileSelected}
159
+ />
160
+ </div>
161
+ `;
162
+ }
163
+ async firstUpdated() {
164
+ await this._loadCounts();
165
+ // 첫 번째 대분류 자동 선택
166
+ if (FIELD_DOCUMENT_CLASSIFICATIONS.length > 0) {
167
+ this._selectMajor(FIELD_DOCUMENT_CLASSIFICATIONS[0]);
168
+ }
169
+ }
170
+ _selectMajor(item) {
171
+ var _a;
172
+ this.selectedMajor = item;
173
+ this.selectedMiddle = null;
174
+ this.selectedMinor = null;
175
+ this.documents = [];
176
+ this.selectedDocIds = new Set();
177
+ if ((_a = item.children) === null || _a === void 0 ? void 0 : _a.length) {
178
+ this._selectMiddle(item.children[0]);
179
+ }
180
+ }
181
+ _selectMiddle(item) {
182
+ var _a;
183
+ this.selectedMiddle = item;
184
+ this.selectedMinor = null;
185
+ this.documents = [];
186
+ this.selectedDocIds = new Set();
187
+ if ((_a = item.children) === null || _a === void 0 ? void 0 : _a.length) {
188
+ this._selectMinor(item.children[0]);
189
+ }
190
+ }
191
+ async _selectMinor(item) {
192
+ this.selectedMinor = item;
193
+ this.selectedDocIds = new Set();
194
+ await this._loadDocuments();
195
+ }
196
+ async _loadDocuments() {
197
+ var _a, _b, _c;
198
+ if (!((_a = this.selectedMinor) === null || _a === void 0 ? void 0 : _a.code) || !this.projectId) {
199
+ this.documents = [];
200
+ return;
201
+ }
202
+ const response = await client.query({
203
+ query: gql `
204
+ query FieldDocumentsByCode($projectId: String!, $code: String!) {
205
+ fieldDocumentsByCode(projectId: $projectId, code: $code) {
206
+ items {
207
+ id
208
+ name
209
+ code
210
+ isFavorite
211
+ aiSummary
212
+ aiSummaryStatus
213
+ sourceType
214
+ fullpath
215
+ fileSize
216
+ createdAt
217
+ creator {
218
+ id
219
+ name
220
+ }
221
+ }
222
+ total
223
+ }
224
+ }
225
+ `,
226
+ variables: { projectId: this.projectId, code: this.selectedMinor.code }
227
+ });
228
+ this.documents = ((_c = (_b = response.data) === null || _b === void 0 ? void 0 : _b.fieldDocumentsByCode) === null || _c === void 0 ? void 0 : _c.items) || [];
229
+ }
230
+ async _loadCounts() {
231
+ var _a;
232
+ if (!this.projectId)
233
+ return;
234
+ const response = await client.query({
235
+ query: gql `
236
+ query FieldDocumentCountsByProject($projectId: String!) {
237
+ fieldDocumentCountsByProject(projectId: $projectId) {
238
+ code
239
+ count
240
+ }
241
+ }
242
+ `,
243
+ variables: { projectId: this.projectId }
244
+ });
245
+ const counts = ((_a = response.data) === null || _a === void 0 ? void 0 : _a.fieldDocumentCountsByProject) || [];
246
+ this.codeCounts = new Map(counts.map((c) => [c.code, c.count]));
247
+ }
248
+ _getMajorCount(majorCode) {
249
+ let total = 0;
250
+ for (const [code, count] of this.codeCounts) {
251
+ if (code.startsWith(majorCode))
252
+ total += count;
253
+ }
254
+ return total;
255
+ }
256
+ _getMiddleCount(middleCode) {
257
+ let total = 0;
258
+ for (const [code, count] of this.codeCounts) {
259
+ if (code.startsWith(middleCode))
260
+ total += count;
261
+ }
262
+ return total;
263
+ }
264
+ async _shareDocuments() {
265
+ const selected = this.documents.filter(d => this.selectedDocIds.has(d.id));
266
+ if (!selected.length) {
267
+ notify({ message: '공유할 문서를 선택해주세요.', level: 'info' });
268
+ return;
269
+ }
270
+ if (navigator.share) {
271
+ try {
272
+ await navigator.share({
273
+ title: '현장 문서',
274
+ text: selected.map(d => d.name).join(', '),
275
+ url: window.location.href
276
+ });
277
+ }
278
+ catch (_a) {
279
+ // 사용자 취소
280
+ }
281
+ }
282
+ else {
283
+ const links = selected.map(d => d.fullpath || d.name).join('\n');
284
+ await navigator.clipboard.writeText(links);
285
+ notify({ message: '링크가 복사되었습니다.' });
286
+ }
287
+ }
288
+ async _toggleFavorites() {
289
+ if (!this.selectedDocIds.size) {
290
+ notify({ message: '즐겨찾기할 문서를 선택해주세요.', level: 'info' });
291
+ return;
292
+ }
293
+ for (const id of this.selectedDocIds) {
294
+ await client.mutate({
295
+ mutation: gql `
296
+ mutation ToggleFieldDocumentFavorite($id: String!) {
297
+ toggleFieldDocumentFavorite(id: $id) {
298
+ id
299
+ isFavorite
300
+ }
301
+ }
302
+ `,
303
+ variables: { id }
304
+ });
305
+ }
306
+ await this._loadDocuments();
307
+ notify({ message: '즐겨찾기가 변경되었습니다.' });
308
+ }
309
+ _triggerUpload() {
310
+ var _a;
311
+ if (!((_a = this.selectedMinor) === null || _a === void 0 ? void 0 : _a.code)) {
312
+ notify({ message: '파일을 업로드할 소분류 폴더를 먼저 선택해주세요.', level: 'info' });
313
+ return;
314
+ }
315
+ const fileInput = this.renderRoot.querySelector('#native-file-input');
316
+ if (fileInput) {
317
+ fileInput.value = '';
318
+ fileInput.click();
319
+ }
320
+ }
321
+ async _onNativeFileSelected(e) {
322
+ var _a;
323
+ const input = e.target;
324
+ const files = Array.from(input.files || []);
325
+ if (!files.length || !((_a = this.selectedMinor) === null || _a === void 0 ? void 0 : _a.code))
326
+ return;
327
+ await this._uploadFiles(files, this.selectedMinor.code);
328
+ }
329
+ async _uploadFiles(files, code) {
330
+ var _a, _b, _c, _d;
331
+ // AI 브리핑 힌트용 분류 문자열 (대 · 중 · 소분류)
332
+ const path = findClassificationPath(code);
333
+ const category = [(_a = path.major) === null || _a === void 0 ? void 0 : _a.name, (_b = path.middle) === null || _b === void 0 ? void 0 : _b.name, (_c = path.minor) === null || _c === void 0 ? void 0 : _c.name].filter(Boolean).join(' · ');
334
+ this.uploading = true;
335
+ let done = 0;
336
+ try {
337
+ for (const file of files) {
338
+ this.uploadingFile = files.length > 1 ? `${file.name} (${++done}/${files.length})` : file.name;
339
+ console.log('[field-document] upload request:', file.name, 'code:', code, 'category:', category);
340
+ const response = await client.mutate({
341
+ mutation: gql `
342
+ mutation CreateFieldDocument($patch: NewFieldDocument!) {
343
+ createFieldDocument(patch: $patch) {
344
+ id
345
+ aiSummary
346
+ aiSummaryStatus
347
+ }
348
+ }
349
+ `,
350
+ variables: {
351
+ patch: {
352
+ projectId: this.projectId,
353
+ code,
354
+ name: file.name,
355
+ category,
356
+ file
357
+ }
358
+ },
359
+ context: { hasUpload: true }
360
+ });
361
+ console.log('[field-document] upload response:', JSON.stringify((_d = response.data) === null || _d === void 0 ? void 0 : _d.createFieldDocument));
362
+ }
363
+ await this._loadDocuments();
364
+ await this._loadCounts();
365
+ notify({ message: `${files.length}개 파일이 업로드되었습니다.` });
366
+ }
367
+ finally {
368
+ this.uploading = false;
369
+ this.uploadingFile = '';
370
+ }
371
+ }
372
+ async _deleteDocuments() {
373
+ if (!this.selectedDocIds.size) {
374
+ notify({ message: '삭제할 문서를 선택해주세요.', level: 'info' });
375
+ return;
376
+ }
377
+ if (!confirm('선택한 문서를 삭제하시겠습니까?'))
378
+ return;
379
+ const ids = Array.from(this.selectedDocIds);
380
+ const response = await client.mutate({
381
+ mutation: gql `
382
+ mutation DeleteFieldDocuments($ids: [String!]!) {
383
+ deleteFieldDocuments(ids: $ids)
384
+ }
385
+ `,
386
+ variables: { ids }
387
+ });
388
+ if (!response.errors) {
389
+ this.selectedDocIds = new Set();
390
+ await this._loadDocuments();
391
+ await this._loadCounts();
392
+ notify({ message: '삭제되었습니다.' });
393
+ }
394
+ }
395
+ _onFolderDragOver(e, code) {
396
+ var _a, _b, _c, _d;
397
+ const types = ((_a = e.dataTransfer) === null || _a === void 0 ? void 0 : _a.types) || [];
398
+ if (types.includes('application/x-field-document-ids')) {
399
+ e.preventDefault();
400
+ this.dragOverItem = code;
401
+ // 대분류/중분류 위에 hover 시 자동 확장
402
+ if (code.length === 2) {
403
+ const major = FIELD_DOCUMENT_CLASSIFICATIONS.find(m => m.code === code);
404
+ if (major && ((_b = this.selectedMajor) === null || _b === void 0 ? void 0 : _b.code) !== code) {
405
+ clearTimeout(this._expandTimeout);
406
+ this._expandTimeout = setTimeout(() => this._selectMajor(major), 500);
407
+ }
408
+ }
409
+ else if (code.length === 4) {
410
+ const middles = ((_c = this.selectedMajor) === null || _c === void 0 ? void 0 : _c.children) || [];
411
+ const middle = middles.find(m => m.code === code);
412
+ if (middle && ((_d = this.selectedMiddle) === null || _d === void 0 ? void 0 : _d.code) !== code) {
413
+ clearTimeout(this._expandTimeout);
414
+ this._expandTimeout = setTimeout(() => {
415
+ this.selectedMiddle = middle;
416
+ this.selectedMinor = null;
417
+ }, 500);
418
+ }
419
+ }
420
+ }
421
+ }
422
+ async _onFolderDrop(e, code) {
423
+ var _a, _b;
424
+ e.preventDefault();
425
+ this.dragOverItem = '';
426
+ clearTimeout(this._expandTimeout);
427
+ const idsJson = (_a = e.dataTransfer) === null || _a === void 0 ? void 0 : _a.getData('application/x-field-document-ids');
428
+ if (!idsJson)
429
+ return;
430
+ const ids = JSON.parse(idsJson);
431
+ // 소분류 코드에만 이동 가능
432
+ if (code.length !== 6) {
433
+ notify({ message: '소분류 폴더에만 이동할 수 있습니다.', level: 'info' });
434
+ return;
435
+ }
436
+ const response = await client.mutate({
437
+ mutation: gql `
438
+ mutation MoveFieldDocuments($ids: [String!]!, $targetCode: String!) {
439
+ moveFieldDocuments(ids: $ids, targetCode: $targetCode)
440
+ }
441
+ `,
442
+ variables: { ids, targetCode: code }
443
+ });
444
+ if (!response.errors) {
445
+ const path = findClassificationPath(code);
446
+ notify({ message: `${ids.length}개 문서가 "${((_b = path.minor) === null || _b === void 0 ? void 0 : _b.name) || code}" 폴더로 이동되었습니다.` });
447
+ await this._loadDocuments();
448
+ await this._loadCounts();
449
+ }
450
+ }
451
+ async _onDocumentsChanged(e) {
452
+ var _a, _b, _c;
453
+ const files = (_a = e.detail) === null || _a === void 0 ? void 0 : _a.files;
454
+ console.log('[field-document] drop received:', files === null || files === void 0 ? void 0 : files.map(f => f.name), 'code:', (_b = this.selectedMinor) === null || _b === void 0 ? void 0 : _b.code);
455
+ if ((files === null || files === void 0 ? void 0 : files.length) && ((_c = this.selectedMinor) === null || _c === void 0 ? void 0 : _c.code)) {
456
+ await this._uploadFiles(files, this.selectedMinor.code);
457
+ }
458
+ else {
459
+ await this._loadDocuments();
460
+ }
461
+ }
462
+ _showTooltip(e, text) {
463
+ this._tooltipText = text;
464
+ const rect = this.getBoundingClientRect();
465
+ this._tooltipX = e.clientX - rect.left;
466
+ this._tooltipY = e.clientY - rect.top;
467
+ }
468
+ };
469
+ FieldDocumentPopup.styles = [
470
+ ScrollbarStyles,
471
+ css `
472
+ :host {
473
+ display: grid;
474
+ grid-template-rows: auto 1fr auto;
475
+ background-color: #fff;
476
+ width: 100%;
477
+ height: 80vh;
478
+ overflow: hidden;
479
+ position: relative;
480
+ }
481
+
482
+ div[header] {
483
+ display: flex;
484
+ align-items: center;
485
+ padding: 12px 20px;
486
+ border-bottom: 1px solid #e0e0e0;
487
+ background: linear-gradient(135deg, #f8f9fa, #e8eef5);
488
+
489
+ h2 {
490
+ display: flex;
491
+ align-items: center;
492
+ gap: 8px;
493
+ margin: 0;
494
+ font-size: 16px;
495
+ color: #3f71a0;
496
+
497
+ md-icon {
498
+ --md-icon-size: 22px;
499
+ }
500
+ }
501
+
502
+ span[breadcrumb] {
503
+ margin-left: auto;
504
+ font-size: 12px;
505
+ color: #888;
506
+ }
507
+ }
508
+
509
+ div[content] {
510
+ display: grid;
511
+ grid-template-columns: 3.5fr 6.5fr;
512
+ overflow: hidden;
513
+ }
514
+
515
+ div[classification-panel] {
516
+ display: grid;
517
+ grid-template-columns: 0.8fr 1fr 2fr;
518
+ border-right: 1px solid #e0e0e0;
519
+ overflow: hidden;
520
+ }
521
+
522
+ div[tooltip] {
523
+ position: absolute;
524
+ background: rgba(0, 0, 0, 0.85);
525
+ color: #fff;
526
+ font-size: 12px;
527
+ padding: 4px 10px;
528
+ border-radius: 4px;
529
+ white-space: nowrap;
530
+ z-index: 9999;
531
+ pointer-events: none;
532
+ }
533
+
534
+ div[column] {
535
+ display: flex;
536
+ flex-direction: column;
537
+ border-right: 1px solid #eee;
538
+ overflow-y: auto;
539
+ overflow-x: hidden;
540
+
541
+ &:last-child {
542
+ border-right: none;
543
+ }
544
+
545
+ div[column-header] {
546
+ position: sticky;
547
+ top: 0;
548
+ background: #f5f5f5;
549
+ padding: 8px 12px;
550
+ font-size: 12px;
551
+ font-weight: bold;
552
+ color: #666;
553
+ border-bottom: 1px solid #e0e0e0;
554
+ z-index: 1;
555
+ }
556
+
557
+ div[item] {
558
+ display: flex;
559
+ align-items: center;
560
+ padding: 8px 12px;
561
+ cursor: pointer;
562
+ font-size: 13px;
563
+ color: #333;
564
+ border-bottom: 1px solid #f0f0f0;
565
+ transition: background-color 0.15s;
566
+ position: relative;
567
+
568
+ &:hover {
569
+ background-color: #e3f2fd;
570
+ }
571
+
572
+ span[code] {
573
+ font-size: 11px;
574
+ color: #999;
575
+ margin-right: 6px;
576
+ min-width: 32px;
577
+ }
578
+
579
+ span[name] {
580
+ flex: 1;
581
+ overflow: hidden;
582
+ text-overflow: ellipsis;
583
+ white-space: nowrap;
584
+ }
585
+
586
+ span[count] {
587
+ position: absolute;
588
+ right: 3px;
589
+ top: 50%;
590
+ transform: translateY(-50%);
591
+ font-size: 8px;
592
+ color: #fff;
593
+ background: #0595e5;
594
+ border-radius: 7px;
595
+ padding: 0 3px;
596
+ min-width: 10px;
597
+ text-align: center;
598
+ line-height: 14px;
599
+ }
600
+ }
601
+
602
+ div[item][selected] {
603
+ background-color: #0595e5;
604
+ color: #fff;
605
+
606
+ span[code] {
607
+ color: rgba(255, 255, 255, 0.7);
608
+ }
609
+
610
+ span[count] {
611
+ background: rgba(255, 255, 255, 0.3);
612
+ }
613
+ }
614
+
615
+ div[item][drag-over] {
616
+ background-color: #bbdefb;
617
+ outline: 2px dashed #1976d2;
618
+ }
619
+ }
620
+
621
+ div[footer] {
622
+ display: flex;
623
+ align-items: center;
624
+ justify-content: center;
625
+ gap: 8px;
626
+ padding: 12px 20px;
627
+ border-top: 1px solid #e0e0e0;
628
+ background: #f8f8f8;
629
+
630
+ md-filled-button {
631
+ cursor: pointer;
632
+ --md-filled-button-container-height: 36px;
633
+ --md-filled-button-trailing-space: 16px;
634
+ --md-filled-button-leading-space: 16px;
635
+ --md-filled-button-container-color: #0595e5;
636
+ --md-filled-button-label-text-color: var(--md-sys-color-on-primary);
637
+ --md-filled-button-hover-label-text-color: var(--md-sys-color-on-primary);
638
+ --md-filled-button-icon-color: var(--md-sys-color-on-primary);
639
+ --md-filled-button-hover-icon-color: var(--md-sys-color-on-primary);
640
+ }
641
+
642
+ md-filled-button[share] {
643
+ --md-filled-button-container-color: #3f71a0;
644
+ }
645
+ md-filled-button[upload] {
646
+ --md-filled-button-container-color: #008000;
647
+ }
648
+ md-filled-button[delete] {
649
+ --md-filled-button-container-color: #e15757;
650
+ }
651
+ }
652
+
653
+ ox-input-file {
654
+ display: none;
655
+ }
656
+
657
+ div[uploading-overlay] {
658
+ position: absolute;
659
+ inset: 0;
660
+ z-index: 100;
661
+ display: flex;
662
+ flex-direction: column;
663
+ align-items: center;
664
+ justify-content: center;
665
+ gap: 12px;
666
+ background: rgba(255, 255, 255, 0.75);
667
+
668
+ span {
669
+ font-size: 13px;
670
+ font-weight: bold;
671
+ color: #3f71a0;
672
+ }
673
+
674
+ span[file] {
675
+ font-weight: normal;
676
+ color: #888;
677
+ font-size: 12px;
678
+ }
679
+ }
680
+ `
681
+ ];
682
+ __decorate([
683
+ property({ type: String }),
684
+ __metadata("design:type", String)
685
+ ], FieldDocumentPopup.prototype, "projectId", void 0);
686
+ __decorate([
687
+ state(),
688
+ __metadata("design:type", Object)
689
+ ], FieldDocumentPopup.prototype, "selectedMajor", void 0);
690
+ __decorate([
691
+ state(),
692
+ __metadata("design:type", Object)
693
+ ], FieldDocumentPopup.prototype, "selectedMiddle", void 0);
694
+ __decorate([
695
+ state(),
696
+ __metadata("design:type", Object)
697
+ ], FieldDocumentPopup.prototype, "selectedMinor", void 0);
698
+ __decorate([
699
+ state(),
700
+ __metadata("design:type", Array)
701
+ ], FieldDocumentPopup.prototype, "documents", void 0);
702
+ __decorate([
703
+ state(),
704
+ __metadata("design:type", Set)
705
+ ], FieldDocumentPopup.prototype, "selectedDocIds", void 0);
706
+ __decorate([
707
+ state(),
708
+ __metadata("design:type", Map)
709
+ ], FieldDocumentPopup.prototype, "codeCounts", void 0);
710
+ __decorate([
711
+ state(),
712
+ __metadata("design:type", String)
713
+ ], FieldDocumentPopup.prototype, "dragOverItem", void 0);
714
+ __decorate([
715
+ state(),
716
+ __metadata("design:type", Boolean)
717
+ ], FieldDocumentPopup.prototype, "uploading", void 0);
718
+ __decorate([
719
+ state(),
720
+ __metadata("design:type", String)
721
+ ], FieldDocumentPopup.prototype, "uploadingFile", void 0);
722
+ __decorate([
723
+ state(),
724
+ __metadata("design:type", String)
725
+ ], FieldDocumentPopup.prototype, "_tooltipText", void 0);
726
+ __decorate([
727
+ state(),
728
+ __metadata("design:type", Number)
729
+ ], FieldDocumentPopup.prototype, "_tooltipX", void 0);
730
+ __decorate([
731
+ state(),
732
+ __metadata("design:type", Number)
733
+ ], FieldDocumentPopup.prototype, "_tooltipY", void 0);
734
+ FieldDocumentPopup = __decorate([
735
+ customElement('field-document-popup')
736
+ ], FieldDocumentPopup);
737
+ export { FieldDocumentPopup };
738
+ //# sourceMappingURL=field-document-popup.js.map