@dssp/supervision 1.0.0-y.0 → 1.0.0

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 (382) hide show
  1. package/package.json +14 -12
  2. package/things-factory.config.js +7 -1
  3. package/dist-client/bootstrap.d.ts +0 -1
  4. package/dist-client/bootstrap.js +0 -2
  5. package/dist-client/bootstrap.js.map +0 -1
  6. package/dist-client/graphql/building-inspection.d.ts +0 -1
  7. package/dist-client/graphql/building-inspection.js +0 -100
  8. package/dist-client/graphql/building-inspection.js.map +0 -1
  9. package/dist-client/index.d.ts +0 -0
  10. package/dist-client/index.js +0 -2
  11. package/dist-client/index.js.map +0 -1
  12. package/dist-client/pages/action-plan/action-plan-importer.d.ts +0 -10
  13. package/dist-client/pages/action-plan/action-plan-importer.js +0 -101
  14. package/dist-client/pages/action-plan/action-plan-importer.js.map +0 -1
  15. package/dist-client/pages/action-plan/action-plan-list-page.d.ts +0 -63
  16. package/dist-client/pages/action-plan/action-plan-list-page.js +0 -323
  17. package/dist-client/pages/action-plan/action-plan-list-page.js.map +0 -1
  18. package/dist-client/pages/building-inspection/building-inspection-detail-ai-defect.d.ts +0 -22
  19. package/dist-client/pages/building-inspection/building-inspection-detail-ai-defect.js +0 -169
  20. package/dist-client/pages/building-inspection/building-inspection-detail-ai-defect.js.map +0 -1
  21. package/dist-client/pages/building-inspection/building-inspection-detail-ai-measurement.d.ts +0 -57
  22. package/dist-client/pages/building-inspection/building-inspection-detail-ai-measurement.js +0 -825
  23. package/dist-client/pages/building-inspection/building-inspection-detail-ai-measurement.js.map +0 -1
  24. package/dist-client/pages/building-inspection/building-inspection-detail-camera.d.ts +0 -27
  25. package/dist-client/pages/building-inspection/building-inspection-detail-camera.js +0 -341
  26. package/dist-client/pages/building-inspection/building-inspection-detail-camera.js.map +0 -1
  27. package/dist-client/pages/building-inspection/building-inspection-detail-checklist.d.ts +0 -29
  28. package/dist-client/pages/building-inspection/building-inspection-detail-checklist.js +0 -315
  29. package/dist-client/pages/building-inspection/building-inspection-detail-checklist.js.map +0 -1
  30. package/dist-client/pages/building-inspection/building-inspection-detail-drawing.d.ts +0 -36
  31. package/dist-client/pages/building-inspection/building-inspection-detail-drawing.js +0 -368
  32. package/dist-client/pages/building-inspection/building-inspection-detail-drawing.js.map +0 -1
  33. package/dist-client/pages/building-inspection/building-inspection-list.d.ts +0 -90
  34. package/dist-client/pages/building-inspection/building-inspection-list.js +0 -904
  35. package/dist-client/pages/building-inspection/building-inspection-list.js.map +0 -1
  36. package/dist-client/pages/building-inspection/component/building-inspection-detail-header.d.ts +0 -4
  37. package/dist-client/pages/building-inspection/component/building-inspection-detail-header.js +0 -233
  38. package/dist-client/pages/building-inspection/component/building-inspection-detail-header.js.map +0 -1
  39. package/dist-client/pages/building-inspection/component/daily-worklog-popup.d.ts +0 -27
  40. package/dist-client/pages/building-inspection/component/daily-worklog-popup.js +0 -542
  41. package/dist-client/pages/building-inspection/component/daily-worklog-popup.js.map +0 -1
  42. package/dist-client/pages/building-inspection/component/image-preview-popup.d.ts +0 -15
  43. package/dist-client/pages/building-inspection/component/image-preview-popup.js +0 -351
  44. package/dist-client/pages/building-inspection/component/image-preview-popup.js.map +0 -1
  45. package/dist-client/pages/building-inspection/component/inspection-document/inspection-request-document.d.ts +0 -20
  46. package/dist-client/pages/building-inspection/component/inspection-document/inspection-request-document.js +0 -432
  47. package/dist-client/pages/building-inspection/component/inspection-document/inspection-request-document.js.map +0 -1
  48. package/dist-client/pages/building-inspection/component/inspection-document/inspection-result-notification.d.ts +0 -30
  49. package/dist-client/pages/building-inspection/component/inspection-document/inspection-result-notification.js +0 -479
  50. package/dist-client/pages/building-inspection/component/inspection-document/inspection-result-notification.js.map +0 -1
  51. package/dist-client/pages/building-inspection/component/inspection-document/photo-album-popup.d.ts +0 -27
  52. package/dist-client/pages/building-inspection/component/inspection-document/photo-album-popup.js +0 -416
  53. package/dist-client/pages/building-inspection/component/inspection-document/photo-album-popup.js.map +0 -1
  54. package/dist-client/pages/building-inspection/component/inspection-event-provider.d.ts +0 -8
  55. package/dist-client/pages/building-inspection/component/inspection-event-provider.js +0 -93
  56. package/dist-client/pages/building-inspection/component/inspection-event-provider.js.map +0 -1
  57. package/dist-client/pages/building-inspection/inspection-create-popup.d.ts +0 -3
  58. package/dist-client/pages/building-inspection/inspection-create-popup.js +0 -840
  59. package/dist-client/pages/building-inspection/inspection-create-popup.js.map +0 -1
  60. package/dist-client/pages/building-inspection-grid/building-inspection-grid-detail.d.ts +0 -60
  61. package/dist-client/pages/building-inspection-grid/building-inspection-grid-detail.js +0 -1132
  62. package/dist-client/pages/building-inspection-grid/building-inspection-grid-detail.js.map +0 -1
  63. package/dist-client/pages/building-inspection-grid/component/grid-inspection-create-popup.d.ts +0 -2
  64. package/dist-client/pages/building-inspection-grid/component/grid-inspection-create-popup.js +0 -740
  65. package/dist-client/pages/building-inspection-grid/component/grid-inspection-create-popup.js.map +0 -1
  66. package/dist-client/pages/building-inspection-grid/component/grid-inspection-list-layer.d.ts +0 -19
  67. package/dist-client/pages/building-inspection-grid/component/grid-inspection-list-layer.js +0 -205
  68. package/dist-client/pages/building-inspection-grid/component/grid-inspection-list-layer.js.map +0 -1
  69. package/dist-client/pages/building-inspection-grid/component/notice-comment-popup.d.ts +0 -1
  70. package/dist-client/pages/building-inspection-grid/component/notice-comment-popup.js +0 -304
  71. package/dist-client/pages/building-inspection-grid/component/notice-comment-popup.js.map +0 -1
  72. package/dist-client/pages/building-inspection-grid/component/plan-preview-popup.d.ts +0 -15
  73. package/dist-client/pages/building-inspection-grid/component/plan-preview-popup.js +0 -430
  74. package/dist-client/pages/building-inspection-grid/component/plan-preview-popup.js.map +0 -1
  75. package/dist-client/pages/checklist/attachment-list-popup.d.ts +0 -3
  76. package/dist-client/pages/checklist/attachment-list-popup.js +0 -493
  77. package/dist-client/pages/checklist/attachment-list-popup.js.map +0 -1
  78. package/dist-client/pages/checklist/checklist-view.d.ts +0 -15
  79. package/dist-client/pages/checklist/checklist-view.js +0 -738
  80. package/dist-client/pages/checklist/checklist-view.js.map +0 -1
  81. package/dist-client/pages/checklist/comment-list-popup.d.ts +0 -1
  82. package/dist-client/pages/checklist/comment-list-popup.js +0 -368
  83. package/dist-client/pages/checklist/comment-list-popup.js.map +0 -1
  84. package/dist-client/pages/checklist/file-preview-popup.d.ts +0 -1
  85. package/dist-client/pages/checklist/file-preview-popup.js +0 -77
  86. package/dist-client/pages/checklist/file-preview-popup.js.map +0 -1
  87. package/dist-client/pages/checklist/inspection-info-popup.d.ts +0 -50
  88. package/dist-client/pages/checklist/inspection-info-popup.js +0 -684
  89. package/dist-client/pages/checklist/inspection-info-popup.js.map +0 -1
  90. package/dist-client/pages/checklist/inspection-tab-popup.d.ts +0 -18
  91. package/dist-client/pages/checklist/inspection-tab-popup.js +0 -196
  92. package/dist-client/pages/checklist/inspection-tab-popup.js.map +0 -1
  93. package/dist-client/pages/checklist-template/checklist-template-item.d.ts +0 -2
  94. package/dist-client/pages/checklist-template/checklist-template-item.js +0 -253
  95. package/dist-client/pages/checklist-template/checklist-template-item.js.map +0 -1
  96. package/dist-client/pages/checklist-template/checklist-template-list.d.ts +0 -53
  97. package/dist-client/pages/checklist-template/checklist-template-list.js +0 -349
  98. package/dist-client/pages/checklist-template/checklist-template-list.js.map +0 -1
  99. package/dist-client/pages/checklist-template/checklist-type-management.d.ts +0 -55
  100. package/dist-client/pages/checklist-template/checklist-type-management.js +0 -250
  101. package/dist-client/pages/checklist-template/checklist-type-management.js.map +0 -1
  102. package/dist-client/pages/issue/issue-importer.d.ts +0 -10
  103. package/dist-client/pages/issue/issue-importer.js +0 -101
  104. package/dist-client/pages/issue/issue-importer.js.map +0 -1
  105. package/dist-client/pages/issue/issue-list-page.d.ts +0 -63
  106. package/dist-client/pages/issue/issue-list-page.js +0 -323
  107. package/dist-client/pages/issue/issue-list-page.js.map +0 -1
  108. package/dist-client/pages/project-report/project-report-importer.d.ts +0 -10
  109. package/dist-client/pages/project-report/project-report-importer.js +0 -101
  110. package/dist-client/pages/project-report/project-report-importer.js.map +0 -1
  111. package/dist-client/pages/project-report/project-report-list-page.d.ts +0 -63
  112. package/dist-client/pages/project-report/project-report-list-page.js +0 -323
  113. package/dist-client/pages/project-report/project-report-list-page.js.map +0 -1
  114. package/dist-client/pages/supervisor/supervisor-importer.d.ts +0 -10
  115. package/dist-client/pages/supervisor/supervisor-importer.js +0 -101
  116. package/dist-client/pages/supervisor/supervisor-importer.js.map +0 -1
  117. package/dist-client/pages/supervisor/supervisor-list-page.d.ts +0 -63
  118. package/dist-client/pages/supervisor/supervisor-list-page.js +0 -323
  119. package/dist-client/pages/supervisor/supervisor-list-page.js.map +0 -1
  120. package/dist-client/route.d.ts +0 -1
  121. package/dist-client/route.js +0 -32
  122. package/dist-client/route.js.map +0 -1
  123. package/dist-client/stt/speech-to-text.d.ts +0 -36
  124. package/dist-client/stt/speech-to-text.js +0 -89
  125. package/dist-client/stt/speech-to-text.js.map +0 -1
  126. package/dist-client/stt/stt-utils.d.ts +0 -28
  127. package/dist-client/stt/stt-utils.js +0 -146
  128. package/dist-client/stt/stt-utils.js.map +0 -1
  129. package/dist-client/tsconfig.tsbuildinfo +0 -1
  130. package/dist-server/controllers/index.d.ts +0 -0
  131. package/dist-server/controllers/index.js +0 -1
  132. package/dist-server/controllers/index.js.map +0 -1
  133. package/dist-server/index.d.ts +0 -3
  134. package/dist-server/index.js +0 -7
  135. package/dist-server/index.js.map +0 -1
  136. package/dist-server/middlewares/index.d.ts +0 -1
  137. package/dist-server/middlewares/index.js +0 -7
  138. package/dist-server/middlewares/index.js.map +0 -1
  139. package/dist-server/migrations/index.d.ts +0 -1
  140. package/dist-server/migrations/index.js +0 -12
  141. package/dist-server/migrations/index.js.map +0 -1
  142. package/dist-server/routes.d.ts +0 -0
  143. package/dist-server/routes.js +0 -25
  144. package/dist-server/routes.js.map +0 -1
  145. package/dist-server/service/action-plan/action-plan-mutation.d.ts +0 -10
  146. package/dist-server/service/action-plan/action-plan-mutation.js +0 -168
  147. package/dist-server/service/action-plan/action-plan-mutation.js.map +0 -1
  148. package/dist-server/service/action-plan/action-plan-query.d.ts +0 -12
  149. package/dist-server/service/action-plan/action-plan-query.js +0 -97
  150. package/dist-server/service/action-plan/action-plan-query.js.map +0 -1
  151. package/dist-server/service/action-plan/action-plan-type.d.ts +0 -23
  152. package/dist-server/service/action-plan/action-plan-type.js +0 -86
  153. package/dist-server/service/action-plan/action-plan-type.js.map +0 -1
  154. package/dist-server/service/action-plan/action-plan.d.ts +0 -27
  155. package/dist-server/service/action-plan/action-plan.js +0 -116
  156. package/dist-server/service/action-plan/action-plan.js.map +0 -1
  157. package/dist-server/service/action-plan/index.d.ts +0 -5
  158. package/dist-server/service/action-plan/index.js +0 -9
  159. package/dist-server/service/action-plan/index.js.map +0 -1
  160. package/dist-server/service/building-inspection/building-inspection-mutation.d.ts +0 -9
  161. package/dist-server/service/building-inspection/building-inspection-mutation.js +0 -370
  162. package/dist-server/service/building-inspection/building-inspection-mutation.js.map +0 -1
  163. package/dist-server/service/building-inspection/building-inspection-query.d.ts +0 -20
  164. package/dist-server/service/building-inspection/building-inspection-query.js +0 -277
  165. package/dist-server/service/building-inspection/building-inspection-query.js.map +0 -1
  166. package/dist-server/service/building-inspection/building-inspection-type.d.ts +0 -80
  167. package/dist-server/service/building-inspection/building-inspection-type.js +0 -296
  168. package/dist-server/service/building-inspection/building-inspection-type.js.map +0 -1
  169. package/dist-server/service/building-inspection/building-inspection.d.ts +0 -41
  170. package/dist-server/service/building-inspection/building-inspection.js +0 -168
  171. package/dist-server/service/building-inspection/building-inspection.js.map +0 -1
  172. package/dist-server/service/building-inspection/index.d.ts +0 -7
  173. package/dist-server/service/building-inspection/index.js +0 -19
  174. package/dist-server/service/building-inspection/index.js.map +0 -1
  175. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-mutation.d.ts +0 -6
  176. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-mutation.js +0 -56
  177. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-mutation.js.map +0 -1
  178. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-query.d.ts +0 -16
  179. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-query.js +0 -171
  180. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-query.js.map +0 -1
  181. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-type.d.ts +0 -23
  182. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-type.js +0 -90
  183. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-type.js.map +0 -1
  184. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog.d.ts +0 -33
  185. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog.js +0 -132
  186. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog.js.map +0 -1
  187. package/dist-server/service/building-inspection-daily-worklog/index.d.ts +0 -5
  188. package/dist-server/service/building-inspection-daily-worklog/index.js +0 -9
  189. package/dist-server/service/building-inspection-daily-worklog/index.js.map +0 -1
  190. package/dist-server/service/building-inspection-history/building-inspection-history-query.d.ts +0 -16
  191. package/dist-server/service/building-inspection-history/building-inspection-history-query.js +0 -120
  192. package/dist-server/service/building-inspection-history/building-inspection-history-query.js.map +0 -1
  193. package/dist-server/service/building-inspection-history/building-inspection-history-type.d.ts +0 -5
  194. package/dist-server/service/building-inspection-history/building-inspection-history-type.js +0 -21
  195. package/dist-server/service/building-inspection-history/building-inspection-history-type.js.map +0 -1
  196. package/dist-server/service/building-inspection-history/building-inspection-history.d.ts +0 -34
  197. package/dist-server/service/building-inspection-history/building-inspection-history.js +0 -157
  198. package/dist-server/service/building-inspection-history/building-inspection-history.js.map +0 -1
  199. package/dist-server/service/building-inspection-history/event-subscriber.d.ts +0 -7
  200. package/dist-server/service/building-inspection-history/event-subscriber.js +0 -21
  201. package/dist-server/service/building-inspection-history/event-subscriber.js.map +0 -1
  202. package/dist-server/service/building-inspection-history/index.d.ts +0 -6
  203. package/dist-server/service/building-inspection-history/index.js +0 -10
  204. package/dist-server/service/building-inspection-history/index.js.map +0 -1
  205. package/dist-server/service/checklist/checklist-mutation.d.ts +0 -3
  206. package/dist-server/service/checklist/checklist-mutation.js +0 -30
  207. package/dist-server/service/checklist/checklist-mutation.js.map +0 -1
  208. package/dist-server/service/checklist/checklist-query.d.ts +0 -21
  209. package/dist-server/service/checklist/checklist-query.js +0 -177
  210. package/dist-server/service/checklist/checklist-query.js.map +0 -1
  211. package/dist-server/service/checklist/checklist-type.d.ts +0 -5
  212. package/dist-server/service/checklist/checklist-type.js +0 -21
  213. package/dist-server/service/checklist/checklist-type.js.map +0 -1
  214. package/dist-server/service/checklist/checklist.d.ts +0 -66
  215. package/dist-server/service/checklist/checklist.js +0 -259
  216. package/dist-server/service/checklist/checklist.js.map +0 -1
  217. package/dist-server/service/checklist/event-subscriber.d.ts +0 -7
  218. package/dist-server/service/checklist/event-subscriber.js +0 -21
  219. package/dist-server/service/checklist/event-subscriber.js.map +0 -1
  220. package/dist-server/service/checklist/index.d.ts +0 -5
  221. package/dist-server/service/checklist/index.js +0 -9
  222. package/dist-server/service/checklist/index.js.map +0 -1
  223. package/dist-server/service/checklist-history/checklist-history-query.d.ts +0 -11
  224. package/dist-server/service/checklist-history/checklist-history-query.js +0 -77
  225. package/dist-server/service/checklist-history/checklist-history-query.js.map +0 -1
  226. package/dist-server/service/checklist-history/checklist-history-type.d.ts +0 -5
  227. package/dist-server/service/checklist-history/checklist-history-type.js +0 -21
  228. package/dist-server/service/checklist-history/checklist-history-type.js.map +0 -1
  229. package/dist-server/service/checklist-history/checklist-history.d.ts +0 -50
  230. package/dist-server/service/checklist-history/checklist-history.js +0 -239
  231. package/dist-server/service/checklist-history/checklist-history.js.map +0 -1
  232. package/dist-server/service/checklist-history/event-subscriber.d.ts +0 -7
  233. package/dist-server/service/checklist-history/event-subscriber.js +0 -21
  234. package/dist-server/service/checklist-history/event-subscriber.js.map +0 -1
  235. package/dist-server/service/checklist-history/index.d.ts +0 -6
  236. package/dist-server/service/checklist-history/index.js +0 -10
  237. package/dist-server/service/checklist-history/index.js.map +0 -1
  238. package/dist-server/service/checklist-item/checklist-item-mutation.d.ts +0 -2
  239. package/dist-server/service/checklist-item/checklist-item-mutation.js +0 -13
  240. package/dist-server/service/checklist-item/checklist-item-mutation.js.map +0 -1
  241. package/dist-server/service/checklist-item/checklist-item-query.d.ts +0 -18
  242. package/dist-server/service/checklist-item/checklist-item-query.js +0 -138
  243. package/dist-server/service/checklist-item/checklist-item-query.js.map +0 -1
  244. package/dist-server/service/checklist-item/checklist-item-type.d.ts +0 -5
  245. package/dist-server/service/checklist-item/checklist-item-type.js +0 -21
  246. package/dist-server/service/checklist-item/checklist-item-type.js.map +0 -1
  247. package/dist-server/service/checklist-item/checklist-item.d.ts +0 -27
  248. package/dist-server/service/checklist-item/checklist-item.js +0 -114
  249. package/dist-server/service/checklist-item/checklist-item.js.map +0 -1
  250. package/dist-server/service/checklist-item/index.d.ts +0 -4
  251. package/dist-server/service/checklist-item/index.js +0 -9
  252. package/dist-server/service/checklist-item/index.js.map +0 -1
  253. package/dist-server/service/checklist-item-comment/checklist-item-comment-history.d.ts +0 -16
  254. package/dist-server/service/checklist-item-comment/checklist-item-comment-history.js +0 -83
  255. package/dist-server/service/checklist-item-comment/checklist-item-comment-history.js.map +0 -1
  256. package/dist-server/service/checklist-item-comment/checklist-item-comment-mutation.d.ts +0 -8
  257. package/dist-server/service/checklist-item-comment/checklist-item-comment-mutation.js +0 -114
  258. package/dist-server/service/checklist-item-comment/checklist-item-comment-mutation.js.map +0 -1
  259. package/dist-server/service/checklist-item-comment/checklist-item-comment-query.d.ts +0 -7
  260. package/dist-server/service/checklist-item-comment/checklist-item-comment-query.js +0 -49
  261. package/dist-server/service/checklist-item-comment/checklist-item-comment-query.js.map +0 -1
  262. package/dist-server/service/checklist-item-comment/checklist-item-comment-type.d.ts +0 -14
  263. package/dist-server/service/checklist-item-comment/checklist-item-comment-type.js +0 -53
  264. package/dist-server/service/checklist-item-comment/checklist-item-comment-type.js.map +0 -1
  265. package/dist-server/service/checklist-item-comment/checklist-item-comment.d.ts +0 -12
  266. package/dist-server/service/checklist-item-comment/checklist-item-comment.js +0 -57
  267. package/dist-server/service/checklist-item-comment/checklist-item-comment.js.map +0 -1
  268. package/dist-server/service/checklist-item-comment/index.d.ts +0 -5
  269. package/dist-server/service/checklist-item-comment/index.js +0 -10
  270. package/dist-server/service/checklist-item-comment/index.js.map +0 -1
  271. package/dist-server/service/checklist-item-history/checklist-item-history-query.d.ts +0 -16
  272. package/dist-server/service/checklist-item-history/checklist-item-history-query.js +0 -123
  273. package/dist-server/service/checklist-item-history/checklist-item-history-query.js.map +0 -1
  274. package/dist-server/service/checklist-item-history/checklist-item-history-type.d.ts +0 -5
  275. package/dist-server/service/checklist-item-history/checklist-item-history-type.js +0 -21
  276. package/dist-server/service/checklist-item-history/checklist-item-history-type.js.map +0 -1
  277. package/dist-server/service/checklist-item-history/checklist-item-history.d.ts +0 -25
  278. package/dist-server/service/checklist-item-history/checklist-item-history.js +0 -123
  279. package/dist-server/service/checklist-item-history/checklist-item-history.js.map +0 -1
  280. package/dist-server/service/checklist-item-history/event-subscriber.d.ts +0 -7
  281. package/dist-server/service/checklist-item-history/event-subscriber.js +0 -21
  282. package/dist-server/service/checklist-item-history/event-subscriber.js.map +0 -1
  283. package/dist-server/service/checklist-item-history/index.d.ts +0 -6
  284. package/dist-server/service/checklist-item-history/index.js +0 -10
  285. package/dist-server/service/checklist-item-history/index.js.map +0 -1
  286. package/dist-server/service/checklist-template/checklist-template-mutation.d.ts +0 -6
  287. package/dist-server/service/checklist-template/checklist-template-mutation.js +0 -64
  288. package/dist-server/service/checklist-template/checklist-template-mutation.js.map +0 -1
  289. package/dist-server/service/checklist-template/checklist-template-query.d.ts +0 -10
  290. package/dist-server/service/checklist-template/checklist-template-query.js +0 -65
  291. package/dist-server/service/checklist-template/checklist-template-query.js.map +0 -1
  292. package/dist-server/service/checklist-template/checklist-template-type.d.ts +0 -10
  293. package/dist-server/service/checklist-template/checklist-template-type.js +0 -39
  294. package/dist-server/service/checklist-template/checklist-template-type.js.map +0 -1
  295. package/dist-server/service/checklist-template/checklist-template.d.ts +0 -17
  296. package/dist-server/service/checklist-template/checklist-template.js +0 -78
  297. package/dist-server/service/checklist-template/checklist-template.js.map +0 -1
  298. package/dist-server/service/checklist-template/index.d.ts +0 -5
  299. package/dist-server/service/checklist-template/index.js +0 -9
  300. package/dist-server/service/checklist-template/index.js.map +0 -1
  301. package/dist-server/service/checklist-template-item/checklist-template-item-mutation.d.ts +0 -7
  302. package/dist-server/service/checklist-template-item/checklist-template-item-mutation.js +0 -71
  303. package/dist-server/service/checklist-template-item/checklist-template-item-mutation.js.map +0 -1
  304. package/dist-server/service/checklist-template-item/checklist-template-item-query.d.ts +0 -11
  305. package/dist-server/service/checklist-template-item/checklist-template-item-query.js +0 -78
  306. package/dist-server/service/checklist-template-item/checklist-template-item-query.js.map +0 -1
  307. package/dist-server/service/checklist-template-item/checklist-template-item-type.d.ts +0 -18
  308. package/dist-server/service/checklist-template-item/checklist-template-item-type.js +0 -65
  309. package/dist-server/service/checklist-template-item/checklist-template-item-type.js.map +0 -1
  310. package/dist-server/service/checklist-template-item/checklist-template-item.d.ts +0 -25
  311. package/dist-server/service/checklist-template-item/checklist-template-item.js +0 -101
  312. package/dist-server/service/checklist-template-item/checklist-template-item.js.map +0 -1
  313. package/dist-server/service/checklist-template-item/index.d.ts +0 -5
  314. package/dist-server/service/checklist-template-item/index.js +0 -9
  315. package/dist-server/service/checklist-template-item/index.js.map +0 -1
  316. package/dist-server/service/checklist-template-item/spec-matching-service.d.ts +0 -2
  317. package/dist-server/service/checklist-template-item/spec-matching-service.js +0 -50
  318. package/dist-server/service/checklist-template-item/spec-matching-service.js.map +0 -1
  319. package/dist-server/service/checklist-type/checklist-type-mutation.d.ts +0 -6
  320. package/dist-server/service/checklist-type/checklist-type-mutation.js +0 -64
  321. package/dist-server/service/checklist-type/checklist-type-mutation.js.map +0 -1
  322. package/dist-server/service/checklist-type/checklist-type-query.d.ts +0 -10
  323. package/dist-server/service/checklist-type/checklist-type-query.js +0 -65
  324. package/dist-server/service/checklist-type/checklist-type-query.js.map +0 -1
  325. package/dist-server/service/checklist-type/checklist-type-type.d.ts +0 -11
  326. package/dist-server/service/checklist-type/checklist-type-type.js +0 -43
  327. package/dist-server/service/checklist-type/checklist-type-type.js.map +0 -1
  328. package/dist-server/service/checklist-type/checklist-type.d.ts +0 -19
  329. package/dist-server/service/checklist-type/checklist-type.js +0 -78
  330. package/dist-server/service/checklist-type/checklist-type.js.map +0 -1
  331. package/dist-server/service/checklist-type/index.d.ts +0 -5
  332. package/dist-server/service/checklist-type/index.js +0 -9
  333. package/dist-server/service/checklist-type/index.js.map +0 -1
  334. package/dist-server/service/index.d.ts +0 -18
  335. package/dist-server/service/index.js +0 -78
  336. package/dist-server/service/index.js.map +0 -1
  337. package/dist-server/service/issue/index.d.ts +0 -5
  338. package/dist-server/service/issue/index.js +0 -9
  339. package/dist-server/service/issue/index.js.map +0 -1
  340. package/dist-server/service/issue/issue-mutation.d.ts +0 -10
  341. package/dist-server/service/issue/issue-mutation.js +0 -168
  342. package/dist-server/service/issue/issue-mutation.js.map +0 -1
  343. package/dist-server/service/issue/issue-query.d.ts +0 -12
  344. package/dist-server/service/issue/issue-query.js +0 -97
  345. package/dist-server/service/issue/issue-query.js.map +0 -1
  346. package/dist-server/service/issue/issue-type.d.ts +0 -23
  347. package/dist-server/service/issue/issue-type.js +0 -86
  348. package/dist-server/service/issue/issue-type.js.map +0 -1
  349. package/dist-server/service/issue/issue.d.ts +0 -26
  350. package/dist-server/service/issue/issue.js +0 -111
  351. package/dist-server/service/issue/issue.js.map +0 -1
  352. package/dist-server/service/project-report/index.d.ts +0 -5
  353. package/dist-server/service/project-report/index.js +0 -9
  354. package/dist-server/service/project-report/index.js.map +0 -1
  355. package/dist-server/service/project-report/project-report-mutation.d.ts +0 -10
  356. package/dist-server/service/project-report/project-report-mutation.js +0 -168
  357. package/dist-server/service/project-report/project-report-mutation.js.map +0 -1
  358. package/dist-server/service/project-report/project-report-query.d.ts +0 -12
  359. package/dist-server/service/project-report/project-report-query.js +0 -97
  360. package/dist-server/service/project-report/project-report-query.js.map +0 -1
  361. package/dist-server/service/project-report/project-report-type.d.ts +0 -23
  362. package/dist-server/service/project-report/project-report-type.js +0 -86
  363. package/dist-server/service/project-report/project-report-type.js.map +0 -1
  364. package/dist-server/service/project-report/project-report.d.ts +0 -28
  365. package/dist-server/service/project-report/project-report.js +0 -121
  366. package/dist-server/service/project-report/project-report.js.map +0 -1
  367. package/dist-server/service/supervisor/index.d.ts +0 -5
  368. package/dist-server/service/supervisor/index.js +0 -9
  369. package/dist-server/service/supervisor/index.js.map +0 -1
  370. package/dist-server/service/supervisor/supervisor-mutation.d.ts +0 -10
  371. package/dist-server/service/supervisor/supervisor-mutation.js +0 -168
  372. package/dist-server/service/supervisor/supervisor-mutation.js.map +0 -1
  373. package/dist-server/service/supervisor/supervisor-query.d.ts +0 -12
  374. package/dist-server/service/supervisor/supervisor-query.js +0 -97
  375. package/dist-server/service/supervisor/supervisor-query.js.map +0 -1
  376. package/dist-server/service/supervisor/supervisor-type.d.ts +0 -23
  377. package/dist-server/service/supervisor/supervisor-type.js +0 -86
  378. package/dist-server/service/supervisor/supervisor-type.js.map +0 -1
  379. package/dist-server/service/supervisor/supervisor.d.ts +0 -28
  380. package/dist-server/service/supervisor/supervisor.js +0 -121
  381. package/dist-server/service/supervisor/supervisor.js.map +0 -1
  382. package/dist-server/tsconfig.tsbuildinfo +0 -1
@@ -1,825 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import '@material/web/icon/icon.js';
3
- import '@operato/input/ox-input-switch.js';
4
- import '@operato/mini-map/ox-zoomable-image.js';
5
- import '@material/web/progress/circular-progress.js';
6
- import gql from 'graphql-tag';
7
- import { css, html } from 'lit';
8
- import { customElement, state, query } from 'lit/decorators.js';
9
- import html2canvas from 'html2canvas';
10
- import { PageView } from '@operato/shell';
11
- import { CommonGristStyles, ScrollbarStyles } from '@operato/styles';
12
- import { client } from '@operato/graphql';
13
- import { notify } from '@operato/layout';
14
- import './component/building-inspection-detail-header';
15
- let BuildingInspectionAiMeasurement = class BuildingInspectionAiMeasurement extends PageView {
16
- constructor() {
17
- super(...arguments);
18
- this.KEYPOINT_RULER_API_BASE_URL = 'https://hatiolab-korea-uni.ettisoft.com';
19
- this.project = {};
20
- this.buildingInspection = {};
21
- this.buildingInspectionId = '';
22
- this.capturedVideoUrl = null;
23
- this.videoFile = null;
24
- this.frame = null;
25
- this.analyzing = false;
26
- this.selectedPoints = {
27
- x1: null,
28
- y1: null,
29
- x2: null,
30
- y2: null
31
- };
32
- this.frameNaturalWidth = 0;
33
- this.frameNaturalHeight = 0;
34
- this.displayedImageRect = null;
35
- this.distance = null;
36
- this.unit = null;
37
- this.analyzingError = null;
38
- this._onImageLoad = () => {
39
- if (!this.frameImageEl || !this.imageWrapperEl)
40
- return;
41
- const img = this.frameImageEl;
42
- const wrapperRect = this.imageWrapperEl.getBoundingClientRect();
43
- const imgRect = img.getBoundingClientRect();
44
- this.frameNaturalWidth = img.naturalWidth;
45
- this.frameNaturalHeight = img.naturalHeight;
46
- this.displayedImageRect = {
47
- width: imgRect.width,
48
- height: imgRect.height,
49
- left: imgRect.left - wrapperRect.left,
50
- top: imgRect.top - wrapperRect.top
51
- };
52
- };
53
- this._onImageClick = (event) => {
54
- if (!this.frameImageEl || !this.imageWrapperEl)
55
- return;
56
- const imgRect = this.frameImageEl.getBoundingClientRect();
57
- const wrapperRect = this.imageWrapperEl.getBoundingClientRect();
58
- const clientX = event.clientX;
59
- const clientY = event.clientY;
60
- // Ignore clicks outside the displayed image area
61
- if (clientX < imgRect.left || clientX > imgRect.right || clientY < imgRect.top || clientY > imgRect.bottom) {
62
- return;
63
- }
64
- // 새로운 마크 입력 시 이전 거리/단위 결과 초기화
65
- this.distance = null;
66
- this.unit = null;
67
- this.analyzingError = null;
68
- const relativeX = clientX - imgRect.left;
69
- const relativeY = clientY - imgRect.top;
70
- const xOnNatural = Math.round((relativeX * this.frameNaturalWidth) / imgRect.width);
71
- const yOnNatural = Math.round((relativeY * this.frameNaturalHeight) / imgRect.height);
72
- if (this.selectedPoints.x1 === null || this.selectedPoints.y1 === null) {
73
- this.selectedPoints = Object.assign(Object.assign({}, this.selectedPoints), { x1: xOnNatural, y1: yOnNatural });
74
- }
75
- else if (this.selectedPoints.x2 === null || this.selectedPoints.y2 === null) {
76
- this.selectedPoints = Object.assign(Object.assign({}, this.selectedPoints), { x2: xOnNatural, y2: yOnNatural });
77
- }
78
- else {
79
- // 세 번째 클릭부터는 초기화 후 첫 점으로 설정
80
- this.selectedPoints = { x1: xOnNatural, y1: yOnNatural, x2: null, y2: null };
81
- }
82
- // Update displayed rect cache (in case layout changed)
83
- this.displayedImageRect = {
84
- width: imgRect.width,
85
- height: imgRect.height,
86
- left: imgRect.left - wrapperRect.left,
87
- top: imgRect.top - wrapperRect.top
88
- };
89
- };
90
- }
91
- get context() {
92
- return {
93
- title: '검측 관리 상세 - AI 거리 측정'
94
- };
95
- }
96
- render() {
97
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
98
- return html `
99
- <building-inspection-detail-header
100
- .buildingInspectionId=${(_a = this.buildingInspection) === null || _a === void 0 ? void 0 : _a.id}
101
- .buildingLevelId=${(_c = (_b = this.buildingInspection) === null || _b === void 0 ? void 0 : _b.buildingLevel) === null || _c === void 0 ? void 0 : _c.id}
102
- .projectName=${this.project.name}
103
- .buildingName=${(_f = (_e = (_d = this.buildingInspection) === null || _d === void 0 ? void 0 : _d.buildingLevel) === null || _e === void 0 ? void 0 : _e.building) === null || _f === void 0 ? void 0 : _f.name}
104
- .buildingLevelFloor=${(_h = (_g = this.buildingInspection) === null || _g === void 0 ? void 0 : _g.buildingLevel) === null || _h === void 0 ? void 0 : _h.floor}
105
- ></building-inspection-detail-header>
106
-
107
- <div body>
108
- <!-- Preview selected or recorded video -->
109
- <div preview>
110
- ${((_j = this.frame) === null || _j === void 0 ? void 0 : _j.download_url)
111
- ? html `
112
- <div class="image-wrapper" @click=${this._onImageClick}>
113
- <img
114
- id="frameImage"
115
- src="${this.KEYPOINT_RULER_API_BASE_URL + ((_k = this.frame) === null || _k === void 0 ? void 0 : _k.download_url)}"
116
- crossorigin="anonymous"
117
- alt="frame"
118
- loading="eager"
119
- @load=${this._onImageLoad}
120
- />
121
- ${this._renderMarkers()}
122
- </div>
123
- `
124
- : // 동영상 선택 후 동영상 프리뷰
125
- this.capturedVideoUrl
126
- ? html `<video src=${this.capturedVideoUrl} controls playsinline></video>`
127
- : // 초기 상태, 동영상 선택 전
128
- html `<md-icon>videocam</md-icon>`}
129
- </div>
130
-
131
- <div controls>
132
- <span class="controls-title">동영상 촬영</span>
133
-
134
- <!-- 가운데 버튼 -->
135
- ${((_l = this.frame) === null || _l === void 0 ? void 0 : _l.download_url) && this._hasTwoPoints() && this.distance && this.unit
136
- ? // 거리 측정 완료 시, 사진 저장 버튼 표시
137
- html `<button class="save" ?disabled=${this.analyzing} @click=${this._savePhoto}>사진 저장</button>`
138
- : // 거리 측정 완료 전, 동영상 촬영 버튼 표시
139
- html `<div class="camera-shutter">
140
- <md-icon>camera</md-icon>
141
- <input id="cameraInput" type="file" accept="video/*" @change="${this._onVideoSelected}" />
142
- </div>`}
143
-
144
- <!-- Action buttons -->
145
- <div action-buttons>
146
- ${this.frame
147
- ? html `
148
- <button class="photo" ?disabled=${this.analyzing || !this._hasTwoPoints()} @click=${this._onAnalyzePhoto}>
149
- 사진 분석
150
- </button>
151
- `
152
- : html `
153
- <button class="save" ?disabled=${this.analyzing || !this.capturedVideoUrl} @click=${this._onAnalyzeVideo}>
154
- 동영상 분석
155
- </button>
156
- `}
157
- <button class="retry" @click=${this._onRetry}>초기화</button>
158
- </div>
159
- </div>
160
- </div>
161
-
162
- <!-- 전체 화면을 덮는 로딩 오버레이 -->
163
- ${this.analyzing
164
- ? html `<div class="loading-overlay">
165
- <div class="loading-container">
166
- <md-circular-progress indeterminate></md-circular-progress>
167
- <div class="loading-text">분석 중...</div>
168
- </div>
169
- </div>`
170
- : ''}
171
- `;
172
- }
173
- async updated(changes) { }
174
- async pageUpdated(changes, lifecycle) {
175
- if (this.active) {
176
- this._onRetry();
177
- this.buildingInspectionId = lifecycle.resourceId || '';
178
- await this.initBuildingInspection(this.buildingInspectionId);
179
- }
180
- }
181
- async initBuildingInspection(buildingInspectionId = '') {
182
- var _a, _b, _c, _d;
183
- const response = await client.query({
184
- query: gql `
185
- query BuildingInspection($buildingInspectionId: String!) {
186
- buildingInspection(id: $buildingInspectionId) {
187
- id
188
- status
189
- requestDate
190
- drawingMarker
191
- checklist {
192
- id
193
- location
194
- inspectionDrawingType
195
- }
196
- buildingLevel {
197
- id
198
- floor
199
- mainDrawing {
200
- id
201
- name
202
- fullpath
203
- }
204
- mainDrawingImage
205
- building {
206
- id
207
- name
208
- buildingComplex {
209
- id
210
- }
211
- }
212
- }
213
- }
214
- }
215
- `,
216
- variables: {
217
- buildingInspectionId
218
- }
219
- });
220
- if (response.errors)
221
- return;
222
- this.buildingInspection = response.data.buildingInspection;
223
- await this._getProjectByBuildingComplexId((_d = (_c = (_b = (_a = this.buildingInspection) === null || _a === void 0 ? void 0 : _a.buildingLevel) === null || _b === void 0 ? void 0 : _b.building) === null || _c === void 0 ? void 0 : _c.buildingComplex) === null || _d === void 0 ? void 0 : _d.id);
224
- }
225
- async _getProjectByBuildingComplexId(buildingComplexId) {
226
- const response = await client.query({
227
- query: gql `
228
- query ProjectByBuildingComplexId($buildingComplexId: String!) {
229
- project: projectByBuildingComplexId(buildingComplexId: $buildingComplexId) {
230
- id
231
- name
232
- }
233
- }
234
- `,
235
- variables: {
236
- buildingComplexId
237
- }
238
- });
239
- if (response.errors)
240
- return;
241
- this.project = response.data.project;
242
- }
243
- _onVideoSelected(event) {
244
- var _a;
245
- const input = event.target;
246
- const file = (_a = input === null || input === void 0 ? void 0 : input.files) === null || _a === void 0 ? void 0 : _a[0];
247
- if (!file)
248
- return;
249
- // Only allow video files
250
- if (!file.type.startsWith('video/')) {
251
- console.warn('선택된 파일이 동영상이 아닙니다.');
252
- return;
253
- }
254
- // Revoke old object URL if exists
255
- if (this.capturedVideoUrl) {
256
- URL.revokeObjectURL(this.capturedVideoUrl);
257
- }
258
- this.videoFile = file;
259
- this.capturedVideoUrl = URL.createObjectURL(file);
260
- }
261
- async _onAnalyzeVideo() {
262
- var _a, _b, _c, _d, _e, _f, _g;
263
- if (!this.videoFile) {
264
- console.warn('선택된 동영상이 없습니다.');
265
- return;
266
- }
267
- try {
268
- this.analyzing = true;
269
- const form = new FormData();
270
- form.append('files', this.videoFile, this.videoFile.name);
271
- const response = await fetch(`${this.KEYPOINT_RULER_API_BASE_URL}/api/run/keypoint-ruler`, {
272
- method: 'POST',
273
- headers: { Authorization: `Basic ${btoa('admin:admin1234')}` },
274
- body: form
275
- });
276
- const data = await response.json();
277
- this.frame = {
278
- file_id: (_b = (_a = data === null || data === void 0 ? void 0 : data.result) === null || _a === void 0 ? void 0 : _a.output_files[0]) === null || _b === void 0 ? void 0 : _b.file_id,
279
- download_url: (_d = (_c = data === null || data === void 0 ? void 0 : data.result) === null || _c === void 0 ? void 0 : _c.output_files[0]) === null || _d === void 0 ? void 0 : _d.download_url,
280
- file_path: (_f = (_e = data === null || data === void 0 ? void 0 : data.result) === null || _e === void 0 ? void 0 : _e.frames[0]) === null || _f === void 0 ? void 0 : _f.file_path,
281
- calibration: (_g = data === null || data === void 0 ? void 0 : data.result) === null || _g === void 0 ? void 0 : _g.calibration
282
- };
283
- }
284
- catch (error) {
285
- console.error('동영상 업로드 실패:', error);
286
- }
287
- finally {
288
- this.analyzing = false;
289
- }
290
- }
291
- _onRetry() {
292
- // Clear current selection and reopen camera
293
- if (this.capturedVideoUrl) {
294
- URL.revokeObjectURL(this.capturedVideoUrl);
295
- }
296
- this.capturedVideoUrl = null;
297
- this.videoFile = null;
298
- this.frame = null;
299
- this.selectedPoints = { x1: null, y1: null, x2: null, y2: null };
300
- this.displayedImageRect = null;
301
- this.frameNaturalWidth = 0;
302
- this.frameNaturalHeight = 0;
303
- this.cameraInputEl.value = '';
304
- this.distance = null;
305
- this.unit = null;
306
- this.analyzingError = null;
307
- }
308
- _hasTwoPoints() {
309
- const { x1, y1, x2, y2 } = this.selectedPoints;
310
- return x1 !== null && y1 !== null && x2 !== null && y2 !== null;
311
- }
312
- _renderMarkers() {
313
- if (!this.displayedImageRect)
314
- return html ``;
315
- const { left, top, width, height } = this.displayedImageRect;
316
- const { x1, y1, x2, y2 } = this.selectedPoints;
317
- const toDisplay = (x, y) => {
318
- const dx = left + (x * width) / (this.frameNaturalWidth || 1);
319
- const dy = top + (y * height) / (this.frameNaturalHeight || 1);
320
- return { dx, dy };
321
- };
322
- return html `
323
- <!-- 첫 번째 점 -->
324
- ${x1 !== null && y1 !== null
325
- ? (() => {
326
- const p = toDisplay(x1, y1);
327
- return html `<div class="point-marker point-1" style="left:${p.dx}px; top:${p.dy}px;"></div>`;
328
- })()
329
- : ''}
330
- <!-- 두 번째 점 -->
331
- ${x2 !== null && y2 !== null
332
- ? (() => {
333
- const p = toDisplay(x2, y2);
334
- return html `<div class="point-marker point-2" style="left:${p.dx}px; top:${p.dy}px;"></div>`;
335
- })()
336
- : ''}
337
- <!-- 두점 사이 선 -->
338
- ${this._hasTwoPoints()
339
- ? (() => {
340
- const p1 = toDisplay(x1, y1);
341
- const p2 = toDisplay(x2, y2);
342
- const cx = (p1.dx + p2.dx) / 2;
343
- const cy = (p1.dy + p2.dy) / 2;
344
- // 선의 길이와 각도 계산
345
- const length = Math.sqrt(Math.pow(p2.dx - p1.dx, 2) + Math.pow(p2.dy - p1.dy, 2));
346
- const angle = Math.atan2(p2.dy - p1.dy, p2.dx - p1.dx) * (180 / Math.PI);
347
- return html `
348
- <!-- DIV로 그린 선 -->
349
- <div
350
- class="line-overlay"
351
- style="
352
- left: ${p1.dx}px;
353
- top: ${p1.dy}px;
354
- width: ${length}px;
355
- height: 3px;
356
- transform: rotate(${angle}deg);
357
- "
358
- ></div>
359
- <!-- 거리 라벨 -->
360
- ${this.analyzingError
361
- ? html `<div class="distance-label" style="left:${cx}px; top:${cy}px;">${this.analyzingError}</div>`
362
- : this.distance && this.unit
363
- ? html `<div class="distance-label" style="left:${cx}px; top:${cy}px;">${this.distance} ${this.unit}</div>`
364
- : ''}
365
- `;
366
- })()
367
- : ''}
368
- `;
369
- }
370
- async _onAnalyzePhoto() {
371
- if (!this.frame) {
372
- console.warn('분석할 사진이 없습니다.');
373
- return;
374
- }
375
- if (!this._hasTwoPoints()) {
376
- console.warn('두 점을 먼저 선택해 주세요.');
377
- return;
378
- }
379
- try {
380
- this.analyzing = true;
381
- const payload = {
382
- x1: this.selectedPoints.x1,
383
- y1: this.selectedPoints.y1,
384
- x2: this.selectedPoints.x2,
385
- y2: this.selectedPoints.y2,
386
- file_path: this.frame.file_path,
387
- calibration: this.frame.calibration
388
- };
389
- const form = new FormData();
390
- form.append('input', JSON.stringify(payload));
391
- const response = await fetch(`${this.KEYPOINT_RULER_API_BASE_URL}/api/run/keypoint-ruler`, {
392
- method: 'POST',
393
- headers: { Authorization: `Basic ${btoa('admin:admin1234')}` },
394
- body: form
395
- });
396
- const result = await response.json();
397
- const { distance, unit, error } = result.result || {};
398
- this.distance = distance;
399
- this.unit = unit;
400
- this.analyzingError = error;
401
- }
402
- catch (error) {
403
- console.error('사진 분석 실패:', error);
404
- }
405
- finally {
406
- this.analyzing = false;
407
- }
408
- }
409
- async _savePhoto() {
410
- var _a, _b, _c;
411
- if (!this.frame || !this._hasTwoPoints() || this.distance === null || !this.unit) {
412
- notify({ message: '분석 완료 후 저장할 수 있습니다.', level: 'warn' });
413
- return;
414
- }
415
- const checklistId = (_b = (_a = this.buildingInspection) === null || _a === void 0 ? void 0 : _a.checklist) === null || _b === void 0 ? void 0 : _b.id;
416
- let file;
417
- try {
418
- file = await this.getCurrentImage();
419
- }
420
- catch (e) {
421
- notify({ message: '이미지 합성에 실패했습니다.', level: 'error' });
422
- return;
423
- }
424
- const response = await client.mutate({
425
- mutation: gql `
426
- mutation ($attachments: [NewAttachment!]!) {
427
- createAttachments(attachments: $attachments) {
428
- id
429
- }
430
- }
431
- `,
432
- variables: {
433
- attachments: [{ file, refBy: checklistId, refType: 'Checklist', description: (_c = this.buildingInspection) === null || _c === void 0 ? void 0 : _c.status }]
434
- },
435
- context: { hasUpload: true }
436
- });
437
- if (!response.errors) {
438
- notify({ message: '사진 대지를 저장하였습니다.', level: 'info' });
439
- return;
440
- }
441
- return response.data.createAttachments;
442
- }
443
- async getCurrentImage() {
444
- if (!this.imageWrapperEl) {
445
- throw new Error('이미지 영역을 찾을 수 없습니다.');
446
- }
447
- try {
448
- // html2canvas로 .image-wrapper 영역 캡처
449
- const canvas = await html2canvas(this.imageWrapperEl, {
450
- backgroundColor: null, // 투명 배경
451
- scale: 1, // 1:1 스케일
452
- useCORS: true, // CORS 이미지 허용
453
- allowTaint: false, // 보안상 false
454
- logging: false // 로그 비활성화
455
- });
456
- // 캔버스를 Blob으로 변환
457
- const blob = await new Promise(resolve => {
458
- canvas.toBlob(resolve, 'image/png', 1.0);
459
- });
460
- // File 객체로 변환하여 반환
461
- return new File([blob], `inspection_${Date.now()}.png`, {
462
- type: 'image/png'
463
- });
464
- }
465
- catch (error) {
466
- console.error('html2canvas 캡처 실패:', error);
467
- throw new Error('화면 캡처에 실패했습니다.');
468
- }
469
- }
470
- };
471
- BuildingInspectionAiMeasurement.styles = [
472
- ScrollbarStyles,
473
- CommonGristStyles,
474
- css `
475
- :host {
476
- display: grid;
477
- grid-template-rows: 75px 1fr;
478
- color: #4e5055;
479
- width: 100%;
480
- height: 100%;
481
- background-color: #f7f7f7;
482
- }
483
-
484
- div[body] {
485
- display: flex;
486
- justify-items: center;
487
- gap: var(--spacing-medium);
488
- margin: var(--spacing-medium);
489
- min-height: 0;
490
- }
491
-
492
- div[preview] {
493
- flex: 1;
494
- border: 2px solid #ddd;
495
- border-radius: 10px;
496
-
497
- display: flex;
498
- justify-content: center;
499
- align-items: center;
500
- min-height: 0;
501
- overflow: hidden;
502
- }
503
-
504
- div[preview] img {
505
- max-width: 100%;
506
- max-height: 100%;
507
- object-fit: contain;
508
- }
509
-
510
- div[preview] video {
511
- max-width: 100%;
512
- max-height: 100%;
513
- object-fit: contain;
514
- }
515
-
516
- div[preview] md-icon {
517
- --md-icon-size: 160px;
518
- }
519
-
520
- .loading-container {
521
- display: flex;
522
- flex-direction: column;
523
- align-items: center;
524
- justify-content: center;
525
- gap: 12px;
526
- }
527
-
528
- .loading-text {
529
- font-size: 14px;
530
- color: #666;
531
- }
532
-
533
- .frame-container {
534
- width: 100%;
535
- height: 100%;
536
- max-height: 100%;
537
- min-height: 0;
538
- overflow-y: auto;
539
- display: flex;
540
- flex-direction: column;
541
- gap: 12px;
542
- padding: 12px;
543
- }
544
-
545
- .frames-header {
546
- display: flex;
547
- align-items: center;
548
- justify-content: center;
549
- gap: 12px;
550
- font-size: 20px;
551
- font-weight: 700;
552
- color: #333;
553
- text-align: center;
554
- padding-block: 8px;
555
- }
556
-
557
- .frames-count {
558
- font-size: 16px;
559
- color: #777;
560
- font-weight: 600;
561
- }
562
-
563
- .frames-grid {
564
- display: grid;
565
- grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
566
- gap: 12px;
567
- }
568
-
569
- .frame-item {
570
- border: 1px solid #ddd;
571
- border-radius: 8px;
572
- overflow: hidden;
573
- background: #fff;
574
- cursor: pointer;
575
- transition:
576
- box-shadow 0.2s,
577
- transform 0.1s;
578
- }
579
-
580
- .frame-item:hover {
581
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
582
- transform: translateY(-1px);
583
- }
584
-
585
- .frame-item img {
586
- display: block;
587
- width: 100%;
588
- height: 120px;
589
- object-fit: cover;
590
- }
591
-
592
- .image-wrapper {
593
- position: relative;
594
- width: 100%;
595
- height: 100%;
596
- align-content: center;
597
- text-align: center;
598
- }
599
-
600
- .point-marker {
601
- position: absolute;
602
- width: 14px;
603
- height: 14px;
604
- border-radius: 50%;
605
- border: 2px solid #fff;
606
- transform: translate(-50%, -50%);
607
- pointer-events: none;
608
- box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.25);
609
- }
610
-
611
- .point-1 {
612
- background-color: #e53935;
613
- }
614
-
615
- .point-2 {
616
- background-color: #1e88e5;
617
- }
618
-
619
- .line-overlay {
620
- position: absolute;
621
- pointer-events: none;
622
- background-color: #ff9800;
623
- transform-origin: left center;
624
- }
625
-
626
- .distance-label {
627
- position: absolute;
628
- background: rgba(0, 0, 0, 0.7);
629
- color: #fff;
630
- font-size: 14px;
631
- padding: 2px 6px;
632
- border-radius: 4px;
633
- transform: translate(-50%, -120%);
634
- pointer-events: none;
635
- white-space: nowrap;
636
- }
637
-
638
- div[controls] {
639
- width: 240px;
640
- display: flex;
641
- flex-direction: column;
642
- justify-content: space-between;
643
- align-items: center;
644
- }
645
-
646
- div[action-buttons] {
647
- display: flex;
648
- flex-direction: row;
649
- justify-content: space-between;
650
- gap: 15px;
651
- }
652
-
653
- .switch-container {
654
- display: flex;
655
- align-items: center;
656
- gap: 10px;
657
- font-size: 24px;
658
- font-weight: bold;
659
- }
660
-
661
- ox-input-switch {
662
- --ox-simple-switch-fullwidth: 68px;
663
- --ox-simple-switch-fullheight: 34px;
664
- --ox-simple-switch-thumbnail-size: 34px;
665
- }
666
-
667
- .camera-shutter {
668
- display: flex;
669
- justify-content: center;
670
- align-items: center;
671
- cursor: pointer;
672
- position: relative;
673
- }
674
-
675
- .controls-title {
676
- font-size: 18px;
677
- font-weight: 700;
678
- color: #333;
679
- margin-bottom: 8px;
680
- text-align: center;
681
- }
682
-
683
- .camera-shutter md-icon {
684
- --md-icon-size: 100px;
685
- }
686
-
687
- .camera-shutter input {
688
- opacity: 0;
689
- width: 100%;
690
- height: 100%;
691
- position: absolute;
692
- left: 0;
693
- top: 0;
694
- cursor: pointer;
695
- }
696
-
697
- button {
698
- padding: 10px 20px;
699
- font-size: 16px;
700
- border-radius: 5px;
701
- border: none;
702
- cursor: pointer;
703
- }
704
-
705
- button.save {
706
- background-color: #4caf50;
707
- color: white;
708
-
709
- &:disabled {
710
- background-color: #ccc;
711
- cursor: default;
712
- }
713
- }
714
-
715
- button.retry {
716
- background-color: #f0ad4e;
717
- color: white;
718
- }
719
-
720
- button.photo {
721
- background-color: #1e88e5;
722
- color: white;
723
-
724
- &:disabled {
725
- background-color: #ccc;
726
- cursor: default;
727
- }
728
- }
729
-
730
- .loading-overlay {
731
- position: fixed;
732
- top: 0;
733
- left: 0;
734
- right: 0;
735
- bottom: 0;
736
- background: rgba(0, 0, 0, 0.5);
737
- display: flex;
738
- flex-direction: column;
739
- align-items: center;
740
- justify-content: center;
741
- gap: 12px;
742
- z-index: 2000;
743
- }
744
-
745
- .loading-overlay .loading-container {
746
- background: white;
747
- padding: 32px;
748
- border-radius: 12px;
749
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
750
- }
751
- `
752
- ];
753
- __decorate([
754
- state(),
755
- __metadata("design:type", Object)
756
- ], BuildingInspectionAiMeasurement.prototype, "project", void 0);
757
- __decorate([
758
- state(),
759
- __metadata("design:type", Object)
760
- ], BuildingInspectionAiMeasurement.prototype, "buildingInspection", void 0);
761
- __decorate([
762
- state(),
763
- __metadata("design:type", String)
764
- ], BuildingInspectionAiMeasurement.prototype, "buildingInspectionId", void 0);
765
- __decorate([
766
- state(),
767
- __metadata("design:type", Object)
768
- ], BuildingInspectionAiMeasurement.prototype, "capturedVideoUrl", void 0);
769
- __decorate([
770
- state(),
771
- __metadata("design:type", Object)
772
- ], BuildingInspectionAiMeasurement.prototype, "videoFile", void 0);
773
- __decorate([
774
- state(),
775
- __metadata("design:type", Object)
776
- ], BuildingInspectionAiMeasurement.prototype, "frame", void 0);
777
- __decorate([
778
- state(),
779
- __metadata("design:type", Boolean)
780
- ], BuildingInspectionAiMeasurement.prototype, "analyzing", void 0);
781
- __decorate([
782
- state(),
783
- __metadata("design:type", Object)
784
- ], BuildingInspectionAiMeasurement.prototype, "selectedPoints", void 0);
785
- __decorate([
786
- state(),
787
- __metadata("design:type", Number)
788
- ], BuildingInspectionAiMeasurement.prototype, "frameNaturalWidth", void 0);
789
- __decorate([
790
- state(),
791
- __metadata("design:type", Number)
792
- ], BuildingInspectionAiMeasurement.prototype, "frameNaturalHeight", void 0);
793
- __decorate([
794
- state(),
795
- __metadata("design:type", Object)
796
- ], BuildingInspectionAiMeasurement.prototype, "displayedImageRect", void 0);
797
- __decorate([
798
- state(),
799
- __metadata("design:type", Object)
800
- ], BuildingInspectionAiMeasurement.prototype, "distance", void 0);
801
- __decorate([
802
- state(),
803
- __metadata("design:type", Object)
804
- ], BuildingInspectionAiMeasurement.prototype, "unit", void 0);
805
- __decorate([
806
- state(),
807
- __metadata("design:type", Object)
808
- ], BuildingInspectionAiMeasurement.prototype, "analyzingError", void 0);
809
- __decorate([
810
- query('img#frameImage'),
811
- __metadata("design:type", HTMLImageElement)
812
- ], BuildingInspectionAiMeasurement.prototype, "frameImageEl", void 0);
813
- __decorate([
814
- query('div.image-wrapper'),
815
- __metadata("design:type", HTMLDivElement)
816
- ], BuildingInspectionAiMeasurement.prototype, "imageWrapperEl", void 0);
817
- __decorate([
818
- query('#cameraInput'),
819
- __metadata("design:type", HTMLInputElement)
820
- ], BuildingInspectionAiMeasurement.prototype, "cameraInputEl", void 0);
821
- BuildingInspectionAiMeasurement = __decorate([
822
- customElement('building-inspection-detail-ai-measurement')
823
- ], BuildingInspectionAiMeasurement);
824
- export { BuildingInspectionAiMeasurement };
825
- //# sourceMappingURL=building-inspection-detail-ai-measurement.js.map