@dssp/supervision 1.0.0-alpha.97 → 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 (498) hide show
  1. package/package.json +13 -12
  2. package/dist-client/bootstrap.d.ts +0 -1
  3. package/dist-client/bootstrap.js +0 -2
  4. package/dist-client/bootstrap.js.map +0 -1
  5. package/dist-client/graphql/building-inspection.d.ts +0 -1
  6. package/dist-client/graphql/building-inspection.js +0 -102
  7. package/dist-client/graphql/building-inspection.js.map +0 -1
  8. package/dist-client/index.d.ts +0 -0
  9. package/dist-client/index.js +0 -2
  10. package/dist-client/index.js.map +0 -1
  11. package/dist-client/pages/action-plan/action-plan-importer.d.ts +0 -10
  12. package/dist-client/pages/action-plan/action-plan-importer.js +0 -101
  13. package/dist-client/pages/action-plan/action-plan-importer.js.map +0 -1
  14. package/dist-client/pages/action-plan/action-plan-list-page.d.ts +0 -62
  15. package/dist-client/pages/action-plan/action-plan-list-page.js +0 -322
  16. package/dist-client/pages/action-plan/action-plan-list-page.js.map +0 -1
  17. package/dist-client/pages/building-inspection/building-inspection-detail-ai-defect.d.ts +0 -22
  18. package/dist-client/pages/building-inspection/building-inspection-detail-ai-defect.js +0 -171
  19. package/dist-client/pages/building-inspection/building-inspection-detail-ai-defect.js.map +0 -1
  20. package/dist-client/pages/building-inspection/building-inspection-detail-ai-measurement.d.ts +0 -59
  21. package/dist-client/pages/building-inspection/building-inspection-detail-ai-measurement.js +0 -868
  22. package/dist-client/pages/building-inspection/building-inspection-detail-ai-measurement.js.map +0 -1
  23. package/dist-client/pages/building-inspection/building-inspection-detail-camera.d.ts +0 -27
  24. package/dist-client/pages/building-inspection/building-inspection-detail-camera.js +0 -342
  25. package/dist-client/pages/building-inspection/building-inspection-detail-camera.js.map +0 -1
  26. package/dist-client/pages/building-inspection/building-inspection-detail-checklist.d.ts +0 -31
  27. package/dist-client/pages/building-inspection/building-inspection-detail-checklist.js +0 -332
  28. package/dist-client/pages/building-inspection/building-inspection-detail-checklist.js.map +0 -1
  29. package/dist-client/pages/building-inspection/building-inspection-detail-drawing.d.ts +0 -36
  30. package/dist-client/pages/building-inspection/building-inspection-detail-drawing.js +0 -369
  31. package/dist-client/pages/building-inspection/building-inspection-detail-drawing.js.map +0 -1
  32. package/dist-client/pages/building-inspection/building-inspection-list.d.ts +0 -98
  33. package/dist-client/pages/building-inspection/building-inspection-list.js +0 -914
  34. package/dist-client/pages/building-inspection/building-inspection-list.js.map +0 -1
  35. package/dist-client/pages/building-inspection/building-inspection-management.d.ts +0 -82
  36. package/dist-client/pages/building-inspection/building-inspection-management.js +0 -1527
  37. package/dist-client/pages/building-inspection/building-inspection-management.js.map +0 -1
  38. package/dist-client/pages/building-inspection/component/building-inspection-detail-header.d.ts +0 -4
  39. package/dist-client/pages/building-inspection/component/building-inspection-detail-header.js +0 -238
  40. package/dist-client/pages/building-inspection/component/building-inspection-detail-header.js.map +0 -1
  41. package/dist-client/pages/building-inspection/component/daily-worklog-popup.d.ts +0 -27
  42. package/dist-client/pages/building-inspection/component/daily-worklog-popup.js +0 -542
  43. package/dist-client/pages/building-inspection/component/daily-worklog-popup.js.map +0 -1
  44. package/dist-client/pages/building-inspection/component/field-document/field-document-constants.d.ts +0 -18
  45. package/dist-client/pages/building-inspection/component/field-document/field-document-constants.js +0 -630
  46. package/dist-client/pages/building-inspection/component/field-document/field-document-constants.js.map +0 -1
  47. package/dist-client/pages/building-inspection/component/field-document/field-document-detail-popup.d.ts +0 -10
  48. package/dist-client/pages/building-inspection/component/field-document/field-document-detail-popup.js +0 -219
  49. package/dist-client/pages/building-inspection/component/field-document/field-document-detail-popup.js.map +0 -1
  50. package/dist-client/pages/building-inspection/component/field-document/field-document-list-panel.d.ts +0 -25
  51. package/dist-client/pages/building-inspection/component/field-document/field-document-list-panel.js +0 -546
  52. package/dist-client/pages/building-inspection/component/field-document/field-document-list-panel.js.map +0 -1
  53. package/dist-client/pages/building-inspection/component/field-document/field-document-popup.d.ts +0 -42
  54. package/dist-client/pages/building-inspection/component/field-document/field-document-popup.js +0 -738
  55. package/dist-client/pages/building-inspection/component/field-document/field-document-popup.js.map +0 -1
  56. package/dist-client/pages/building-inspection/component/image-preview-popup.d.ts +0 -15
  57. package/dist-client/pages/building-inspection/component/image-preview-popup.js +0 -348
  58. package/dist-client/pages/building-inspection/component/image-preview-popup.js.map +0 -1
  59. package/dist-client/pages/building-inspection/component/inspection-document/inspection-request-document.d.ts +0 -25
  60. package/dist-client/pages/building-inspection/component/inspection-document/inspection-request-document.js +0 -491
  61. package/dist-client/pages/building-inspection/component/inspection-document/inspection-request-document.js.map +0 -1
  62. package/dist-client/pages/building-inspection/component/inspection-document/inspection-result-notification.d.ts +0 -31
  63. package/dist-client/pages/building-inspection/component/inspection-document/inspection-result-notification.js +0 -485
  64. package/dist-client/pages/building-inspection/component/inspection-document/inspection-result-notification.js.map +0 -1
  65. package/dist-client/pages/building-inspection/component/inspection-document/photo-album-popup.d.ts +0 -27
  66. package/dist-client/pages/building-inspection/component/inspection-document/photo-album-popup.js +0 -416
  67. package/dist-client/pages/building-inspection/component/inspection-document/photo-album-popup.js.map +0 -1
  68. package/dist-client/pages/building-inspection/component/inspection-event-provider.d.ts +0 -9
  69. package/dist-client/pages/building-inspection/component/inspection-event-provider.js +0 -190
  70. package/dist-client/pages/building-inspection/component/inspection-event-provider.js.map +0 -1
  71. package/dist-client/pages/building-inspection/inspection-create-popup.d.ts +0 -3
  72. package/dist-client/pages/building-inspection/inspection-create-popup.js +0 -841
  73. package/dist-client/pages/building-inspection/inspection-create-popup.js.map +0 -1
  74. package/dist-client/pages/building-inspection/inspection-with-checklist-create-popup.d.ts +0 -3
  75. package/dist-client/pages/building-inspection/inspection-with-checklist-create-popup.js +0 -817
  76. package/dist-client/pages/building-inspection/inspection-with-checklist-create-popup.js.map +0 -1
  77. package/dist-client/pages/building-inspection-grid/building-inspection-grid-detail.d.ts +0 -60
  78. package/dist-client/pages/building-inspection-grid/building-inspection-grid-detail.js +0 -1135
  79. package/dist-client/pages/building-inspection-grid/building-inspection-grid-detail.js.map +0 -1
  80. package/dist-client/pages/building-inspection-grid/component/grid-inspection-create-popup.d.ts +0 -2
  81. package/dist-client/pages/building-inspection-grid/component/grid-inspection-create-popup.js +0 -740
  82. package/dist-client/pages/building-inspection-grid/component/grid-inspection-create-popup.js.map +0 -1
  83. package/dist-client/pages/building-inspection-grid/component/grid-inspection-list-layer.d.ts +0 -19
  84. package/dist-client/pages/building-inspection-grid/component/grid-inspection-list-layer.js +0 -205
  85. package/dist-client/pages/building-inspection-grid/component/grid-inspection-list-layer.js.map +0 -1
  86. package/dist-client/pages/building-inspection-grid/component/notice-comment-popup.d.ts +0 -1
  87. package/dist-client/pages/building-inspection-grid/component/notice-comment-popup.js +0 -304
  88. package/dist-client/pages/building-inspection-grid/component/notice-comment-popup.js.map +0 -1
  89. package/dist-client/pages/building-inspection-grid/component/plan-preview-popup.d.ts +0 -15
  90. package/dist-client/pages/building-inspection-grid/component/plan-preview-popup.js +0 -430
  91. package/dist-client/pages/building-inspection-grid/component/plan-preview-popup.js.map +0 -1
  92. package/dist-client/pages/checklist/attachment-list-popup.d.ts +0 -3
  93. package/dist-client/pages/checklist/attachment-list-popup.js +0 -492
  94. package/dist-client/pages/checklist/attachment-list-popup.js.map +0 -1
  95. package/dist-client/pages/checklist/checklist-view.d.ts +0 -16
  96. package/dist-client/pages/checklist/checklist-view.js +0 -926
  97. package/dist-client/pages/checklist/checklist-view.js.map +0 -1
  98. package/dist-client/pages/checklist/comment-list-popup.d.ts +0 -1
  99. package/dist-client/pages/checklist/comment-list-popup.js +0 -367
  100. package/dist-client/pages/checklist/comment-list-popup.js.map +0 -1
  101. package/dist-client/pages/checklist/file-preview-popup.d.ts +0 -1
  102. package/dist-client/pages/checklist/file-preview-popup.js +0 -77
  103. package/dist-client/pages/checklist/file-preview-popup.js.map +0 -1
  104. package/dist-client/pages/checklist/inspection-info-popup.d.ts +0 -49
  105. package/dist-client/pages/checklist/inspection-info-popup.js +0 -683
  106. package/dist-client/pages/checklist/inspection-info-popup.js.map +0 -1
  107. package/dist-client/pages/checklist/inspection-tab-popup.d.ts +0 -18
  108. package/dist-client/pages/checklist/inspection-tab-popup.js +0 -196
  109. package/dist-client/pages/checklist/inspection-tab-popup.js.map +0 -1
  110. package/dist-client/pages/checklist/kcs-criteria-popup.d.ts +0 -16
  111. package/dist-client/pages/checklist/kcs-criteria-popup.js +0 -179
  112. package/dist-client/pages/checklist/kcs-criteria-popup.js.map +0 -1
  113. package/dist-client/pages/checklist-database/checklist-database.d.ts +0 -35
  114. package/dist-client/pages/checklist-database/checklist-database.js +0 -540
  115. package/dist-client/pages/checklist-database/checklist-database.js.map +0 -1
  116. package/dist-client/pages/checklist-template/checklist-template-item.d.ts +0 -2
  117. package/dist-client/pages/checklist-template/checklist-template-item.js +0 -278
  118. package/dist-client/pages/checklist-template/checklist-template-item.js.map +0 -1
  119. package/dist-client/pages/checklist-template/checklist-template-list.d.ts +0 -53
  120. package/dist-client/pages/checklist-template/checklist-template-list.js +0 -350
  121. package/dist-client/pages/checklist-template/checklist-template-list.js.map +0 -1
  122. package/dist-client/pages/checklist-template/checklist-type-management.d.ts +0 -55
  123. package/dist-client/pages/checklist-template/checklist-type-management.js +0 -250
  124. package/dist-client/pages/checklist-template/checklist-type-management.js.map +0 -1
  125. package/dist-client/pages/checklist-template/construction-checklist-template-item-popup.d.ts +0 -2
  126. package/dist-client/pages/checklist-template/construction-checklist-template-item-popup.js +0 -223
  127. package/dist-client/pages/checklist-template/construction-checklist-template-item-popup.js.map +0 -1
  128. package/dist-client/pages/checklist-template/construction-checklist-template-list.d.ts +0 -55
  129. package/dist-client/pages/checklist-template/construction-checklist-template-list.js +0 -404
  130. package/dist-client/pages/checklist-template/construction-checklist-template-list.js.map +0 -1
  131. package/dist-client/pages/issue/issue-importer.d.ts +0 -10
  132. package/dist-client/pages/issue/issue-importer.js +0 -101
  133. package/dist-client/pages/issue/issue-importer.js.map +0 -1
  134. package/dist-client/pages/issue/issue-list-page.d.ts +0 -62
  135. package/dist-client/pages/issue/issue-list-page.js +0 -322
  136. package/dist-client/pages/issue/issue-list-page.js.map +0 -1
  137. package/dist-client/pages/project-checklist/project-checklist-management.d.ts +0 -62
  138. package/dist-client/pages/project-checklist/project-checklist-management.js +0 -1145
  139. package/dist-client/pages/project-checklist/project-checklist-management.js.map +0 -1
  140. package/dist-client/pages/project-report/project-report-importer.d.ts +0 -10
  141. package/dist-client/pages/project-report/project-report-importer.js +0 -101
  142. package/dist-client/pages/project-report/project-report-importer.js.map +0 -1
  143. package/dist-client/pages/project-report/project-report-list-page.d.ts +0 -62
  144. package/dist-client/pages/project-report/project-report-list-page.js +0 -322
  145. package/dist-client/pages/project-report/project-report-list-page.js.map +0 -1
  146. package/dist-client/pages/supervisor/supervisor-importer.d.ts +0 -10
  147. package/dist-client/pages/supervisor/supervisor-importer.js +0 -101
  148. package/dist-client/pages/supervisor/supervisor-importer.js.map +0 -1
  149. package/dist-client/pages/supervisor/supervisor-list-page.d.ts +0 -62
  150. package/dist-client/pages/supervisor/supervisor-list-page.js +0 -322
  151. package/dist-client/pages/supervisor/supervisor-list-page.js.map +0 -1
  152. package/dist-client/route.d.ts +0 -1
  153. package/dist-client/route.js +0 -44
  154. package/dist-client/route.js.map +0 -1
  155. package/dist-client/stt/speech-to-text.d.ts +0 -41
  156. package/dist-client/stt/speech-to-text.js +0 -331
  157. package/dist-client/stt/speech-to-text.js.map +0 -1
  158. package/dist-client/stt/stt-utils.d.ts +0 -28
  159. package/dist-client/stt/stt-utils.js +0 -146
  160. package/dist-client/stt/stt-utils.js.map +0 -1
  161. package/dist-client/tsconfig.tsbuildinfo +0 -1
  162. package/dist-server/controllers/index.d.ts +0 -0
  163. package/dist-server/controllers/index.js +0 -1
  164. package/dist-server/controllers/index.js.map +0 -1
  165. package/dist-server/index.d.ts +0 -3
  166. package/dist-server/index.js +0 -7
  167. package/dist-server/index.js.map +0 -1
  168. package/dist-server/middlewares/index.d.ts +0 -1
  169. package/dist-server/middlewares/index.js +0 -7
  170. package/dist-server/middlewares/index.js.map +0 -1
  171. package/dist-server/migrations/index.d.ts +0 -1
  172. package/dist-server/migrations/index.js +0 -12
  173. package/dist-server/migrations/index.js.map +0 -1
  174. package/dist-server/routes.d.ts +0 -0
  175. package/dist-server/routes.js +0 -25
  176. package/dist-server/routes.js.map +0 -1
  177. package/dist-server/service/action-plan/action-plan-mutation.d.ts +0 -10
  178. package/dist-server/service/action-plan/action-plan-mutation.js +0 -167
  179. package/dist-server/service/action-plan/action-plan-mutation.js.map +0 -1
  180. package/dist-server/service/action-plan/action-plan-query.d.ts +0 -12
  181. package/dist-server/service/action-plan/action-plan-query.js +0 -91
  182. package/dist-server/service/action-plan/action-plan-query.js.map +0 -1
  183. package/dist-server/service/action-plan/action-plan-type.d.ts +0 -23
  184. package/dist-server/service/action-plan/action-plan-type.js +0 -86
  185. package/dist-server/service/action-plan/action-plan-type.js.map +0 -1
  186. package/dist-server/service/action-plan/action-plan.d.ts +0 -27
  187. package/dist-server/service/action-plan/action-plan.js +0 -116
  188. package/dist-server/service/action-plan/action-plan.js.map +0 -1
  189. package/dist-server/service/action-plan/index.d.ts +0 -5
  190. package/dist-server/service/action-plan/index.js +0 -9
  191. package/dist-server/service/action-plan/index.js.map +0 -1
  192. package/dist-server/service/building-inspection/building-inspection-mutation.d.ts +0 -9
  193. package/dist-server/service/building-inspection/building-inspection-mutation.js +0 -404
  194. package/dist-server/service/building-inspection/building-inspection-mutation.js.map +0 -1
  195. package/dist-server/service/building-inspection/building-inspection-query.d.ts +0 -24
  196. package/dist-server/service/building-inspection/building-inspection-query.js +0 -406
  197. package/dist-server/service/building-inspection/building-inspection-query.js.map +0 -1
  198. package/dist-server/service/building-inspection/building-inspection-type.d.ts +0 -89
  199. package/dist-server/service/building-inspection/building-inspection-type.js +0 -330
  200. package/dist-server/service/building-inspection/building-inspection-type.js.map +0 -1
  201. package/dist-server/service/building-inspection/building-inspection.d.ts +0 -42
  202. package/dist-server/service/building-inspection/building-inspection.js +0 -186
  203. package/dist-server/service/building-inspection/building-inspection.js.map +0 -1
  204. package/dist-server/service/building-inspection/index.d.ts +0 -7
  205. package/dist-server/service/building-inspection/index.js +0 -19
  206. package/dist-server/service/building-inspection/index.js.map +0 -1
  207. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-mutation.d.ts +0 -6
  208. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-mutation.js +0 -66
  209. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-mutation.js.map +0 -1
  210. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-query.d.ts +0 -16
  211. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-query.js +0 -171
  212. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-query.js.map +0 -1
  213. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-type.d.ts +0 -23
  214. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-type.js +0 -90
  215. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-type.js.map +0 -1
  216. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog.d.ts +0 -33
  217. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog.js +0 -132
  218. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog.js.map +0 -1
  219. package/dist-server/service/building-inspection-daily-worklog/index.d.ts +0 -5
  220. package/dist-server/service/building-inspection-daily-worklog/index.js +0 -9
  221. package/dist-server/service/building-inspection-daily-worklog/index.js.map +0 -1
  222. package/dist-server/service/building-inspection-history/building-inspection-history-query.d.ts +0 -16
  223. package/dist-server/service/building-inspection-history/building-inspection-history-query.js +0 -120
  224. package/dist-server/service/building-inspection-history/building-inspection-history-query.js.map +0 -1
  225. package/dist-server/service/building-inspection-history/building-inspection-history-type.d.ts +0 -5
  226. package/dist-server/service/building-inspection-history/building-inspection-history-type.js +0 -21
  227. package/dist-server/service/building-inspection-history/building-inspection-history-type.js.map +0 -1
  228. package/dist-server/service/building-inspection-history/building-inspection-history.d.ts +0 -35
  229. package/dist-server/service/building-inspection-history/building-inspection-history.js +0 -162
  230. package/dist-server/service/building-inspection-history/building-inspection-history.js.map +0 -1
  231. package/dist-server/service/building-inspection-history/event-subscriber.d.ts +0 -7
  232. package/dist-server/service/building-inspection-history/event-subscriber.js +0 -21
  233. package/dist-server/service/building-inspection-history/event-subscriber.js.map +0 -1
  234. package/dist-server/service/building-inspection-history/index.d.ts +0 -6
  235. package/dist-server/service/building-inspection-history/index.js +0 -10
  236. package/dist-server/service/building-inspection-history/index.js.map +0 -1
  237. package/dist-server/service/checklist/checklist-mutation.d.ts +0 -3
  238. package/dist-server/service/checklist/checklist-mutation.js +0 -30
  239. package/dist-server/service/checklist/checklist-mutation.js.map +0 -1
  240. package/dist-server/service/checklist/checklist-query.d.ts +0 -21
  241. package/dist-server/service/checklist/checklist-query.js +0 -177
  242. package/dist-server/service/checklist/checklist-query.js.map +0 -1
  243. package/dist-server/service/checklist/checklist-type.d.ts +0 -5
  244. package/dist-server/service/checklist/checklist-type.js +0 -21
  245. package/dist-server/service/checklist/checklist-type.js.map +0 -1
  246. package/dist-server/service/checklist/checklist.d.ts +0 -66
  247. package/dist-server/service/checklist/checklist.js +0 -259
  248. package/dist-server/service/checklist/checklist.js.map +0 -1
  249. package/dist-server/service/checklist/event-subscriber.d.ts +0 -7
  250. package/dist-server/service/checklist/event-subscriber.js +0 -21
  251. package/dist-server/service/checklist/event-subscriber.js.map +0 -1
  252. package/dist-server/service/checklist/index.d.ts +0 -5
  253. package/dist-server/service/checklist/index.js +0 -9
  254. package/dist-server/service/checklist/index.js.map +0 -1
  255. package/dist-server/service/checklist-history/checklist-history-query.d.ts +0 -11
  256. package/dist-server/service/checklist-history/checklist-history-query.js +0 -77
  257. package/dist-server/service/checklist-history/checklist-history-query.js.map +0 -1
  258. package/dist-server/service/checklist-history/checklist-history-type.d.ts +0 -5
  259. package/dist-server/service/checklist-history/checklist-history-type.js +0 -21
  260. package/dist-server/service/checklist-history/checklist-history-type.js.map +0 -1
  261. package/dist-server/service/checklist-history/checklist-history.d.ts +0 -50
  262. package/dist-server/service/checklist-history/checklist-history.js +0 -239
  263. package/dist-server/service/checklist-history/checklist-history.js.map +0 -1
  264. package/dist-server/service/checklist-history/event-subscriber.d.ts +0 -7
  265. package/dist-server/service/checklist-history/event-subscriber.js +0 -21
  266. package/dist-server/service/checklist-history/event-subscriber.js.map +0 -1
  267. package/dist-server/service/checklist-history/index.d.ts +0 -6
  268. package/dist-server/service/checklist-history/index.js +0 -10
  269. package/dist-server/service/checklist-history/index.js.map +0 -1
  270. package/dist-server/service/checklist-item/checklist-item-mutation.d.ts +0 -2
  271. package/dist-server/service/checklist-item/checklist-item-mutation.js +0 -13
  272. package/dist-server/service/checklist-item/checklist-item-mutation.js.map +0 -1
  273. package/dist-server/service/checklist-item/checklist-item-query.d.ts +0 -18
  274. package/dist-server/service/checklist-item/checklist-item-query.js +0 -138
  275. package/dist-server/service/checklist-item/checklist-item-query.js.map +0 -1
  276. package/dist-server/service/checklist-item/checklist-item-type.d.ts +0 -5
  277. package/dist-server/service/checklist-item/checklist-item-type.js +0 -21
  278. package/dist-server/service/checklist-item/checklist-item-type.js.map +0 -1
  279. package/dist-server/service/checklist-item/checklist-item.d.ts +0 -29
  280. package/dist-server/service/checklist-item/checklist-item.js +0 -124
  281. package/dist-server/service/checklist-item/checklist-item.js.map +0 -1
  282. package/dist-server/service/checklist-item/index.d.ts +0 -4
  283. package/dist-server/service/checklist-item/index.js +0 -9
  284. package/dist-server/service/checklist-item/index.js.map +0 -1
  285. package/dist-server/service/checklist-item-comment/checklist-item-comment-history.d.ts +0 -16
  286. package/dist-server/service/checklist-item-comment/checklist-item-comment-history.js +0 -83
  287. package/dist-server/service/checklist-item-comment/checklist-item-comment-history.js.map +0 -1
  288. package/dist-server/service/checklist-item-comment/checklist-item-comment-mutation.d.ts +0 -8
  289. package/dist-server/service/checklist-item-comment/checklist-item-comment-mutation.js +0 -114
  290. package/dist-server/service/checklist-item-comment/checklist-item-comment-mutation.js.map +0 -1
  291. package/dist-server/service/checklist-item-comment/checklist-item-comment-query.d.ts +0 -7
  292. package/dist-server/service/checklist-item-comment/checklist-item-comment-query.js +0 -49
  293. package/dist-server/service/checklist-item-comment/checklist-item-comment-query.js.map +0 -1
  294. package/dist-server/service/checklist-item-comment/checklist-item-comment-type.d.ts +0 -14
  295. package/dist-server/service/checklist-item-comment/checklist-item-comment-type.js +0 -53
  296. package/dist-server/service/checklist-item-comment/checklist-item-comment-type.js.map +0 -1
  297. package/dist-server/service/checklist-item-comment/checklist-item-comment.d.ts +0 -12
  298. package/dist-server/service/checklist-item-comment/checklist-item-comment.js +0 -57
  299. package/dist-server/service/checklist-item-comment/checklist-item-comment.js.map +0 -1
  300. package/dist-server/service/checklist-item-comment/index.d.ts +0 -5
  301. package/dist-server/service/checklist-item-comment/index.js +0 -10
  302. package/dist-server/service/checklist-item-comment/index.js.map +0 -1
  303. package/dist-server/service/checklist-item-history/checklist-item-history-query.d.ts +0 -16
  304. package/dist-server/service/checklist-item-history/checklist-item-history-query.js +0 -123
  305. package/dist-server/service/checklist-item-history/checklist-item-history-query.js.map +0 -1
  306. package/dist-server/service/checklist-item-history/checklist-item-history-type.d.ts +0 -5
  307. package/dist-server/service/checklist-item-history/checklist-item-history-type.js +0 -21
  308. package/dist-server/service/checklist-item-history/checklist-item-history-type.js.map +0 -1
  309. package/dist-server/service/checklist-item-history/checklist-item-history.d.ts +0 -27
  310. package/dist-server/service/checklist-item-history/checklist-item-history.js +0 -133
  311. package/dist-server/service/checklist-item-history/checklist-item-history.js.map +0 -1
  312. package/dist-server/service/checklist-item-history/event-subscriber.d.ts +0 -7
  313. package/dist-server/service/checklist-item-history/event-subscriber.js +0 -21
  314. package/dist-server/service/checklist-item-history/event-subscriber.js.map +0 -1
  315. package/dist-server/service/checklist-item-history/index.d.ts +0 -6
  316. package/dist-server/service/checklist-item-history/index.js +0 -10
  317. package/dist-server/service/checklist-item-history/index.js.map +0 -1
  318. package/dist-server/service/checklist-template/checklist-template-mutation.d.ts +0 -6
  319. package/dist-server/service/checklist-template/checklist-template-mutation.js +0 -64
  320. package/dist-server/service/checklist-template/checklist-template-mutation.js.map +0 -1
  321. package/dist-server/service/checklist-template/checklist-template-query.d.ts +0 -10
  322. package/dist-server/service/checklist-template/checklist-template-query.js +0 -62
  323. package/dist-server/service/checklist-template/checklist-template-query.js.map +0 -1
  324. package/dist-server/service/checklist-template/checklist-template-type.d.ts +0 -10
  325. package/dist-server/service/checklist-template/checklist-template-type.js +0 -39
  326. package/dist-server/service/checklist-template/checklist-template-type.js.map +0 -1
  327. package/dist-server/service/checklist-template/checklist-template.d.ts +0 -17
  328. package/dist-server/service/checklist-template/checklist-template.js +0 -78
  329. package/dist-server/service/checklist-template/checklist-template.js.map +0 -1
  330. package/dist-server/service/checklist-template/index.d.ts +0 -5
  331. package/dist-server/service/checklist-template/index.js +0 -9
  332. package/dist-server/service/checklist-template/index.js.map +0 -1
  333. package/dist-server/service/checklist-template-item/checklist-template-item-mutation.d.ts +0 -7
  334. package/dist-server/service/checklist-template-item/checklist-template-item-mutation.js +0 -80
  335. package/dist-server/service/checklist-template-item/checklist-template-item-mutation.js.map +0 -1
  336. package/dist-server/service/checklist-template-item/checklist-template-item-query.d.ts +0 -11
  337. package/dist-server/service/checklist-template-item/checklist-template-item-query.js +0 -78
  338. package/dist-server/service/checklist-template-item/checklist-template-item-query.js.map +0 -1
  339. package/dist-server/service/checklist-template-item/checklist-template-item-type.d.ts +0 -19
  340. package/dist-server/service/checklist-template-item/checklist-template-item-type.js +0 -69
  341. package/dist-server/service/checklist-template-item/checklist-template-item-type.js.map +0 -1
  342. package/dist-server/service/checklist-template-item/checklist-template-item.d.ts +0 -26
  343. package/dist-server/service/checklist-template-item/checklist-template-item.js +0 -106
  344. package/dist-server/service/checklist-template-item/checklist-template-item.js.map +0 -1
  345. package/dist-server/service/checklist-template-item/index.d.ts +0 -5
  346. package/dist-server/service/checklist-template-item/index.js +0 -9
  347. package/dist-server/service/checklist-template-item/index.js.map +0 -1
  348. package/dist-server/service/checklist-template-item/spec-matching-service.d.ts +0 -2
  349. package/dist-server/service/checklist-template-item/spec-matching-service.js +0 -51
  350. package/dist-server/service/checklist-template-item/spec-matching-service.js.map +0 -1
  351. package/dist-server/service/checklist-type/checklist-type-mutation.d.ts +0 -6
  352. package/dist-server/service/checklist-type/checklist-type-mutation.js +0 -64
  353. package/dist-server/service/checklist-type/checklist-type-mutation.js.map +0 -1
  354. package/dist-server/service/checklist-type/checklist-type-query.d.ts +0 -10
  355. package/dist-server/service/checklist-type/checklist-type-query.js +0 -62
  356. package/dist-server/service/checklist-type/checklist-type-query.js.map +0 -1
  357. package/dist-server/service/checklist-type/checklist-type-type.d.ts +0 -11
  358. package/dist-server/service/checklist-type/checklist-type-type.js +0 -43
  359. package/dist-server/service/checklist-type/checklist-type-type.js.map +0 -1
  360. package/dist-server/service/checklist-type/checklist-type.d.ts +0 -19
  361. package/dist-server/service/checklist-type/checklist-type.js +0 -78
  362. package/dist-server/service/checklist-type/checklist-type.js.map +0 -1
  363. package/dist-server/service/checklist-type/index.d.ts +0 -5
  364. package/dist-server/service/checklist-type/index.js +0 -9
  365. package/dist-server/service/checklist-type/index.js.map +0 -1
  366. package/dist-server/service/construction-checklist-template/construction-checklist-template-mutation.d.ts +0 -7
  367. package/dist-server/service/construction-checklist-template/construction-checklist-template-mutation.js +0 -107
  368. package/dist-server/service/construction-checklist-template/construction-checklist-template-mutation.js.map +0 -1
  369. package/dist-server/service/construction-checklist-template/construction-checklist-template-query.d.ts +0 -10
  370. package/dist-server/service/construction-checklist-template/construction-checklist-template-query.js +0 -62
  371. package/dist-server/service/construction-checklist-template/construction-checklist-template-query.js.map +0 -1
  372. package/dist-server/service/construction-checklist-template/construction-checklist-template-type.d.ts +0 -11
  373. package/dist-server/service/construction-checklist-template/construction-checklist-template-type.js +0 -43
  374. package/dist-server/service/construction-checklist-template/construction-checklist-template-type.js.map +0 -1
  375. package/dist-server/service/construction-checklist-template/construction-checklist-template.d.ts +0 -18
  376. package/dist-server/service/construction-checklist-template/construction-checklist-template.js +0 -80
  377. package/dist-server/service/construction-checklist-template/construction-checklist-template.js.map +0 -1
  378. package/dist-server/service/construction-checklist-template/index.d.ts +0 -5
  379. package/dist-server/service/construction-checklist-template/index.js +0 -9
  380. package/dist-server/service/construction-checklist-template/index.js.map +0 -1
  381. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-mutation.d.ts +0 -6
  382. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-mutation.js +0 -56
  383. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-mutation.js.map +0 -1
  384. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-query.d.ts +0 -9
  385. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-query.js +0 -53
  386. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-query.js.map +0 -1
  387. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-type.d.ts +0 -17
  388. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-type.js +0 -67
  389. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-type.js.map +0 -1
  390. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item.d.ts +0 -24
  391. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item.js +0 -113
  392. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item.js.map +0 -1
  393. package/dist-server/service/construction-checklist-template-item/index.d.ts +0 -5
  394. package/dist-server/service/construction-checklist-template-item/index.js +0 -9
  395. package/dist-server/service/construction-checklist-template-item/index.js.map +0 -1
  396. package/dist-server/service/field-document/field-document-auto-file.d.ts +0 -21
  397. package/dist-server/service/field-document/field-document-auto-file.js +0 -47
  398. package/dist-server/service/field-document/field-document-auto-file.js.map +0 -1
  399. package/dist-server/service/field-document/field-document-mutation.d.ts +0 -9
  400. package/dist-server/service/field-document/field-document-mutation.js +0 -139
  401. package/dist-server/service/field-document/field-document-mutation.js.map +0 -1
  402. package/dist-server/service/field-document/field-document-query.d.ts +0 -14
  403. package/dist-server/service/field-document/field-document-query.js +0 -120
  404. package/dist-server/service/field-document/field-document-query.js.map +0 -1
  405. package/dist-server/service/field-document/field-document-summary-service.d.ts +0 -10
  406. package/dist-server/service/field-document/field-document-summary-service.js +0 -79
  407. package/dist-server/service/field-document/field-document-summary-service.js.map +0 -1
  408. package/dist-server/service/field-document/field-document-type.d.ts +0 -24
  409. package/dist-server/service/field-document/field-document-type.js +0 -88
  410. package/dist-server/service/field-document/field-document-type.js.map +0 -1
  411. package/dist-server/service/field-document/field-document.d.ts +0 -29
  412. package/dist-server/service/field-document/field-document.js +0 -127
  413. package/dist-server/service/field-document/field-document.js.map +0 -1
  414. package/dist-server/service/field-document/index.d.ts +0 -5
  415. package/dist-server/service/field-document/index.js +0 -9
  416. package/dist-server/service/field-document/index.js.map +0 -1
  417. package/dist-server/service/index.d.ts +0 -23
  418. package/dist-server/service/index.js +0 -98
  419. package/dist-server/service/index.js.map +0 -1
  420. package/dist-server/service/issue/index.d.ts +0 -5
  421. package/dist-server/service/issue/index.js +0 -9
  422. package/dist-server/service/issue/index.js.map +0 -1
  423. package/dist-server/service/issue/issue-mutation.d.ts +0 -10
  424. package/dist-server/service/issue/issue-mutation.js +0 -167
  425. package/dist-server/service/issue/issue-mutation.js.map +0 -1
  426. package/dist-server/service/issue/issue-query.d.ts +0 -12
  427. package/dist-server/service/issue/issue-query.js +0 -91
  428. package/dist-server/service/issue/issue-query.js.map +0 -1
  429. package/dist-server/service/issue/issue-type.d.ts +0 -23
  430. package/dist-server/service/issue/issue-type.js +0 -86
  431. package/dist-server/service/issue/issue-type.js.map +0 -1
  432. package/dist-server/service/issue/issue.d.ts +0 -26
  433. package/dist-server/service/issue/issue.js +0 -111
  434. package/dist-server/service/issue/issue.js.map +0 -1
  435. package/dist-server/service/project-checklist/index.d.ts +0 -5
  436. package/dist-server/service/project-checklist/index.js +0 -9
  437. package/dist-server/service/project-checklist/index.js.map +0 -1
  438. package/dist-server/service/project-checklist/project-checklist-mutation.d.ts +0 -7
  439. package/dist-server/service/project-checklist/project-checklist-mutation.js +0 -118
  440. package/dist-server/service/project-checklist/project-checklist-mutation.js.map +0 -1
  441. package/dist-server/service/project-checklist/project-checklist-query.d.ts +0 -12
  442. package/dist-server/service/project-checklist/project-checklist-query.js +0 -76
  443. package/dist-server/service/project-checklist/project-checklist-query.js.map +0 -1
  444. package/dist-server/service/project-checklist/project-checklist-type.d.ts +0 -18
  445. package/dist-server/service/project-checklist/project-checklist-type.js +0 -69
  446. package/dist-server/service/project-checklist/project-checklist-type.js.map +0 -1
  447. package/dist-server/service/project-checklist/project-checklist.d.ts +0 -20
  448. package/dist-server/service/project-checklist/project-checklist.js +0 -90
  449. package/dist-server/service/project-checklist/project-checklist.js.map +0 -1
  450. package/dist-server/service/project-checklist/spec-matching-service.d.ts +0 -17
  451. package/dist-server/service/project-checklist/spec-matching-service.js +0 -140
  452. package/dist-server/service/project-checklist/spec-matching-service.js.map +0 -1
  453. package/dist-server/service/project-checklist-item/index.d.ts +0 -4
  454. package/dist-server/service/project-checklist-item/index.js +0 -9
  455. package/dist-server/service/project-checklist-item/index.js.map +0 -1
  456. package/dist-server/service/project-checklist-item/project-checklist-item-mutation.d.ts +0 -2
  457. package/dist-server/service/project-checklist-item/project-checklist-item-mutation.js +0 -13
  458. package/dist-server/service/project-checklist-item/project-checklist-item-mutation.js.map +0 -1
  459. package/dist-server/service/project-checklist-item/project-checklist-item-query.d.ts +0 -5
  460. package/dist-server/service/project-checklist-item/project-checklist-item-query.js +0 -34
  461. package/dist-server/service/project-checklist-item/project-checklist-item-query.js.map +0 -1
  462. package/dist-server/service/project-checklist-item/project-checklist-item-type.d.ts +0 -5
  463. package/dist-server/service/project-checklist-item/project-checklist-item-type.js +0 -21
  464. package/dist-server/service/project-checklist-item/project-checklist-item-type.js.map +0 -1
  465. package/dist-server/service/project-checklist-item/project-checklist-item.d.ts +0 -19
  466. package/dist-server/service/project-checklist-item/project-checklist-item.js +0 -92
  467. package/dist-server/service/project-checklist-item/project-checklist-item.js.map +0 -1
  468. package/dist-server/service/project-report/index.d.ts +0 -5
  469. package/dist-server/service/project-report/index.js +0 -9
  470. package/dist-server/service/project-report/index.js.map +0 -1
  471. package/dist-server/service/project-report/project-report-mutation.d.ts +0 -10
  472. package/dist-server/service/project-report/project-report-mutation.js +0 -167
  473. package/dist-server/service/project-report/project-report-mutation.js.map +0 -1
  474. package/dist-server/service/project-report/project-report-query.d.ts +0 -12
  475. package/dist-server/service/project-report/project-report-query.js +0 -91
  476. package/dist-server/service/project-report/project-report-query.js.map +0 -1
  477. package/dist-server/service/project-report/project-report-type.d.ts +0 -23
  478. package/dist-server/service/project-report/project-report-type.js +0 -86
  479. package/dist-server/service/project-report/project-report-type.js.map +0 -1
  480. package/dist-server/service/project-report/project-report.d.ts +0 -28
  481. package/dist-server/service/project-report/project-report.js +0 -121
  482. package/dist-server/service/project-report/project-report.js.map +0 -1
  483. package/dist-server/service/supervisor/index.d.ts +0 -5
  484. package/dist-server/service/supervisor/index.js +0 -9
  485. package/dist-server/service/supervisor/index.js.map +0 -1
  486. package/dist-server/service/supervisor/supervisor-mutation.d.ts +0 -10
  487. package/dist-server/service/supervisor/supervisor-mutation.js +0 -167
  488. package/dist-server/service/supervisor/supervisor-mutation.js.map +0 -1
  489. package/dist-server/service/supervisor/supervisor-query.d.ts +0 -12
  490. package/dist-server/service/supervisor/supervisor-query.js +0 -91
  491. package/dist-server/service/supervisor/supervisor-query.js.map +0 -1
  492. package/dist-server/service/supervisor/supervisor-type.d.ts +0 -23
  493. package/dist-server/service/supervisor/supervisor-type.js +0 -86
  494. package/dist-server/service/supervisor/supervisor-type.js.map +0 -1
  495. package/dist-server/service/supervisor/supervisor.d.ts +0 -28
  496. package/dist-server/service/supervisor/supervisor.js +0 -121
  497. package/dist-server/service/supervisor/supervisor.js.map +0 -1
  498. package/dist-server/tsconfig.tsbuildinfo +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"building-inspection-detail-ai-measurement.js","sourceRoot":"","sources":["../../../client/pages/building-inspection/building-inspection-detail-ai-measurement.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@operato/input/ox-input-switch.js'\nimport '@operato/mini-map/ox-zoomable-image.js'\nimport '@material/web/progress/circular-progress.js'\n\nimport gql from 'graphql-tag'\nimport { css, html, PropertyValues } from 'lit'\nimport { customElement, state, query } from 'lit/decorators.js'\nimport html2canvas from 'html2canvas'\n\nimport { PageView } from '@operato/shell'\nimport { CommonGristStyles, ScrollbarStyles } from '@operato/styles'\nimport { PageLifecycle } from '@operato/shell/dist/src/app/pages/page-view'\nimport { client } from '@operato/graphql'\nimport { notify } from '@operato/layout'\n\nimport './component/building-inspection-detail-header'\n\n@customElement('building-inspection-detail-ai-measurement')\nexport class BuildingInspectionAiMeasurement extends PageView {\n static styles = [\n ScrollbarStyles,\n CommonGristStyles,\n css`\n :host {\n display: grid;\n grid-template-rows: 75px 1fr;\n color: #4e5055;\n width: 100%;\n height: 100%;\n background-color: #f7f7f7;\n }\n\n div[body] {\n display: flex;\n justify-items: center;\n gap: var(--spacing-medium);\n margin: var(--spacing-medium);\n min-height: 0;\n }\n\n div[preview] {\n flex: 1;\n border: 2px solid #ddd;\n border-radius: 10px;\n\n display: flex;\n justify-content: center;\n align-items: center;\n min-height: 0;\n overflow: hidden;\n }\n\n div[preview] img {\n flex: 1;\n max-width: 100%;\n max-height: 100%;\n object-fit: contain;\n }\n\n div[preview] video {\n flex: 1;\n max-width: 100%;\n max-height: 100%;\n object-fit: contain;\n }\n\n div[preview] md-icon {\n --md-icon-size: 160px;\n }\n\n .loading-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 12px;\n }\n\n .loading-text {\n font-size: 14px;\n color: #666;\n }\n\n .frame-container {\n width: 100%;\n height: 100%;\n max-height: 100%;\n min-height: 0;\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n gap: 12px;\n padding: 12px;\n }\n\n .frames-header {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 12px;\n font-size: 20px;\n font-weight: 700;\n color: #333;\n text-align: center;\n padding-block: 8px;\n }\n\n .frames-count {\n font-size: 16px;\n color: #777;\n font-weight: 600;\n }\n\n .frames-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));\n gap: 12px;\n }\n\n .frame-item {\n border: 1px solid #ddd;\n border-radius: 8px;\n overflow: hidden;\n background: #fff;\n cursor: pointer;\n transition:\n box-shadow 0.2s,\n transform 0.1s;\n }\n\n .frame-item:hover {\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n transform: translateY(-1px);\n }\n\n .frame-item img {\n display: block;\n width: 100%;\n height: 120px;\n object-fit: cover;\n }\n\n .image-wrapper {\n flex: 1;\n display: flex;\n position: relative;\n align-content: center;\n text-align: center;\n }\n\n .point-marker {\n position: absolute;\n width: 14px;\n height: 14px;\n border-radius: 50%;\n border: 2px solid #fff;\n transform: translate(-50%, -50%);\n pointer-events: none;\n box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.25);\n }\n\n .point-1 {\n background-color: #e53935;\n }\n\n .point-2 {\n background-color: #1e88e5;\n }\n\n .line-overlay {\n position: absolute;\n pointer-events: none;\n background-color: #ff9800;\n transform-origin: left center;\n }\n\n .distance-label {\n position: absolute;\n background: rgba(0, 0, 0, 0.7);\n color: #fff;\n font-size: 14px;\n padding: 2px 6px;\n border-radius: 4px;\n transform: translate(-50%, -120%);\n pointer-events: none;\n white-space: nowrap;\n }\n\n div[controls] {\n width: 240px;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n }\n\n div[action-buttons] {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n gap: 15px;\n }\n\n .switch-container {\n display: flex;\n align-items: center;\n gap: 10px;\n font-size: 24px;\n font-weight: bold;\n }\n\n ox-input-switch {\n --ox-simple-switch-fullwidth: 68px;\n --ox-simple-switch-fullheight: 34px;\n --ox-simple-switch-thumbnail-size: 34px;\n }\n\n .camera-controls {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 12px;\n }\n\n .camera-shutter {\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n position: relative;\n }\n\n .controls-title {\n font-size: 18px;\n font-weight: 700;\n color: #333;\n margin-bottom: 8px;\n text-align: center;\n }\n\n .camera-shutter md-icon {\n --md-icon-size: 100px;\n }\n\n .camera-shutter input {\n opacity: 0;\n width: 100%;\n height: 100%;\n position: absolute;\n left: 0;\n top: 0;\n cursor: pointer;\n }\n\n button {\n padding: 10px 20px;\n font-size: 16px;\n border-radius: 5px;\n border: none;\n cursor: pointer;\n }\n\n button.save {\n background-color: #4caf50;\n color: white;\n\n &:disabled {\n background-color: #ccc;\n cursor: default;\n }\n }\n\n button.retry {\n background-color: #f0ad4e;\n color: white;\n }\n\n button.photo {\n background-color: #1e88e5;\n color: white;\n\n &:disabled {\n background-color: #ccc;\n cursor: default;\n }\n }\n\n button.album-button {\n background-color: #9c27b0;\n color: white;\n font-size: 14px;\n padding: 8px 16px;\n border-radius: 5px;\n border: none;\n cursor: pointer;\n\n &:hover {\n background-color: #7b1fa2;\n }\n\n &:disabled {\n background-color: #ccc;\n cursor: default;\n }\n }\n\n .loading-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.5);\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 12px;\n z-index: 2000;\n }\n\n .loading-overlay .loading-container {\n background: white;\n padding: 32px;\n border-radius: 12px;\n box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);\n }\n `\n ]\n\n private KEYPOINT_RULER_API_BASE_URL: string = 'https://hatiolab-korea-uni.ettisoft.com'\n\n @state() project: any = {}\n @state() buildingInspection: any = {}\n @state() buildingInspectionId: string = ''\n @state() capturedVideoUrl: string | null = null\n @state() videoFile: File | null = null\n @state() frame: any | null = null\n @state() analyzing: boolean = false\n @state() selectedPoints: { x1: number | null; y1: number | null; x2: number | null; y2: number | null } = {\n x1: null,\n y1: null,\n x2: null,\n y2: null\n }\n @state() frameNaturalWidth: number = 0\n @state() frameNaturalHeight: number = 0\n @state() displayedImageRect: { width: number; height: number; left: number; top: number } | null = null\n @state() distance: number | null = null\n @state() unit: string | null = null\n @state() analyzingError: string | null = null\n\n @query('img#frameImage') private frameImageEl!: HTMLImageElement\n @query('div.image-wrapper') private imageWrapperEl!: HTMLDivElement\n @query('#cameraInput') private cameraInputEl!: HTMLInputElement\n @query('#albumInput') private albumInputEl!: HTMLInputElement\n\n get context() {\n return {\n title: '검측 관리 상세 - AI 거리 측정'\n }\n }\n\n render() {\n return html`\n <building-inspection-detail-header\n .buildingInspectionId=${this.buildingInspection?.id}\n .buildingLevelId=${this.buildingInspection?.buildingLevel?.id}\n .projectName=${this.project.name}\n .buildingName=${this.buildingInspection?.buildingLevel?.building?.name}\n .buildingLevelFloor=${this.buildingInspection?.buildingLevel?.floor}\n .projectId=${this.project.id}\n ></building-inspection-detail-header>\n\n <div body>\n <!-- Preview selected or recorded video -->\n <div preview>\n ${this.frame?.download_url\n ? html`\n <div class=\"image-wrapper\" @click=${this._onImageClick}>\n <img\n id=\"frameImage\"\n src=\"${this.KEYPOINT_RULER_API_BASE_URL + this.frame?.download_url}\"\n crossorigin=\"anonymous\"\n alt=\"frame\"\n loading=\"eager\"\n @load=${this._onImageLoad}\n />\n ${this._renderMarkers()}\n </div>\n `\n : // 동영상 선택 후 동영상 프리뷰\n this.capturedVideoUrl\n ? html`<video src=${this.capturedVideoUrl} controls playsinline></video>`\n : // 초기 상태, 동영상 선택 전\n html`<md-icon>videocam</md-icon>`}\n </div>\n\n <div controls>\n <span class=\"controls-title\">동영상 촬영</span>\n\n <!-- 가운데 버튼 -->\n ${this.frame?.download_url && this._hasTwoPoints() && this.distance && this.unit\n ? // 거리 측정 완료 시, 사진 저장 버튼 표시\n html`<button class=\"save\" ?disabled=${this.analyzing} @click=${this._savePhoto}>사진 저장</button>`\n : // 거리 측정 완료 전, 동영상 촬영 버튼 표시\n html`<div class=\"camera-controls\">\n <div class=\"camera-shutter\">\n <md-icon>camera</md-icon>\n <input id=\"cameraInput\" type=\"file\" accept=\"video/*\" capture=\"environment\" @change=\"${this._onVideoSelected}\" />\n </div>\n <button class=\"album-button\" @click=\"${this._onAlbumButtonClick}\">앨범 선택</button>\n <input id=\"albumInput\" type=\"file\" accept=\"video/*\" @change=\"${this._onVideoSelected}\" style=\"display: none;\" />\n </div>`}\n\n <!-- Action buttons -->\n <div action-buttons>\n ${this.frame\n ? html`\n <button class=\"photo\" ?disabled=${this.analyzing || !this._hasTwoPoints()} @click=${this._onAnalyzePhoto}>\n 사진 분석\n </button>\n `\n : html`\n <button class=\"save\" ?disabled=${this.analyzing || !this.capturedVideoUrl} @click=${this._onAnalyzeVideo}>\n 동영상 분석\n </button>\n `}\n <button class=\"retry\" @click=${this._onRetry}>초기화</button>\n </div>\n </div>\n </div>\n\n <!-- 전체 화면을 덮는 로딩 오버레이 -->\n ${this.analyzing\n ? html`<div class=\"loading-overlay\">\n <div class=\"loading-container\">\n <md-circular-progress indeterminate></md-circular-progress>\n <div class=\"loading-text\">분석 중...</div>\n </div>\n </div>`\n : ''}\n `\n }\n\n protected async updated(changes: PropertyValues): Promise<void> {}\n\n async pageUpdated(changes: any, lifecycle: PageLifecycle) {\n if (this.active) {\n this._onRetry()\n this.buildingInspectionId = lifecycle.resourceId || ''\n await this.initBuildingInspection(this.buildingInspectionId)\n }\n }\n\n async initBuildingInspection(buildingInspectionId: string = '') {\n const response = await client.query({\n query: gql`\n query BuildingInspection($buildingInspectionId: String!) {\n buildingInspection(id: $buildingInspectionId) {\n id\n status\n requestDate\n drawingMarker\n checklist {\n id\n location\n inspectionDrawingType\n }\n buildingLevel {\n id\n floor\n mainDrawing {\n id\n name\n fullpath\n }\n mainDrawingImage\n building {\n id\n name\n buildingComplex {\n id\n }\n }\n }\n }\n }\n `,\n variables: {\n buildingInspectionId\n }\n })\n\n if (response.errors) return\n\n this.buildingInspection = response.data.buildingInspection\n\n await this._getProjectByBuildingComplexId(this.buildingInspection?.buildingLevel?.building?.buildingComplex?.id)\n }\n\n private async _getProjectByBuildingComplexId(buildingComplexId) {\n const response = await client.query({\n query: gql`\n query ProjectByBuildingComplexId($buildingComplexId: String!) {\n project: projectByBuildingComplexId(buildingComplexId: $buildingComplexId) {\n id\n name\n }\n }\n `,\n variables: {\n buildingComplexId\n }\n })\n\n if (response.errors) return\n\n this.project = response.data.project\n }\n\n private _onVideoSelected(event: Event) {\n const input = event.target as HTMLInputElement\n const file = input?.files?.[0]\n if (!file) return\n\n // Only allow video files\n if (!file.type.startsWith('video/')) {\n console.warn('선택된 파일이 동영상이 아닙니다.')\n return\n }\n\n // Revoke old object URL if exists\n if (this.capturedVideoUrl) {\n URL.revokeObjectURL(this.capturedVideoUrl)\n }\n\n this.videoFile = file\n this.capturedVideoUrl = URL.createObjectURL(file)\n }\n\n private _onAlbumButtonClick() {\n // 앨범 선택을 위해 숨겨진 input을 클릭\n this.albumInputEl?.click()\n }\n\n private async _onAnalyzeVideo() {\n if (!this.videoFile) {\n console.warn('선택된 동영상이 없습니다.')\n return\n }\n\n try {\n this.analyzing = true\n const form = new FormData()\n form.append('files', this.videoFile, this.videoFile.name)\n const response = await fetch(`${this.KEYPOINT_RULER_API_BASE_URL}/api/run/keypoint-ruler`, {\n method: 'POST',\n headers: { Authorization: `Basic ${btoa('admin:admin1234')}` },\n body: form\n })\n\n const data = await response.json()\n\n this.frame = {\n file_id: data?.result?.output_files[0]?.file_id,\n download_url: data?.result?.output_files[0]?.download_url,\n file_path: data?.result?.frames[0]?.file_path,\n calibration: data?.result?.calibration\n }\n } catch (error) {\n console.error('동영상 업로드 실패:', error)\n } finally {\n this.analyzing = false\n }\n }\n\n private _onRetry() {\n // Clear current selection and reopen camera\n if (this.capturedVideoUrl) {\n URL.revokeObjectURL(this.capturedVideoUrl)\n }\n this.capturedVideoUrl = null\n this.videoFile = null\n this.frame = null\n this.selectedPoints = { x1: null, y1: null, x2: null, y2: null }\n this.displayedImageRect = null\n this.frameNaturalWidth = 0\n this.frameNaturalHeight = 0\n this.cameraInputEl.value = ''\n this.albumInputEl.value = ''\n this.distance = null\n this.unit = null\n this.analyzingError = null\n }\n\n private _onImageLoad = () => {\n if (!this.frameImageEl || !this.imageWrapperEl) return\n const img = this.frameImageEl\n const wrapperRect = this.imageWrapperEl.getBoundingClientRect()\n const imgRect = img.getBoundingClientRect()\n this.frameNaturalWidth = img.naturalWidth\n this.frameNaturalHeight = img.naturalHeight\n this.displayedImageRect = {\n width: imgRect.width,\n height: imgRect.height,\n left: imgRect.left - wrapperRect.left,\n top: imgRect.top - wrapperRect.top\n }\n }\n\n private _onImageClick = (event: MouseEvent) => {\n if (!this.frameImageEl || !this.imageWrapperEl) return\n const imgRect = this.frameImageEl.getBoundingClientRect()\n const wrapperRect = this.imageWrapperEl.getBoundingClientRect()\n const clientX = event.clientX\n const clientY = event.clientY\n\n // Ignore clicks outside the displayed image area\n if (clientX < imgRect.left || clientX > imgRect.right || clientY < imgRect.top || clientY > imgRect.bottom) {\n return\n }\n\n // 새로운 마크 입력 시 이전 거리/단위 결과 초기화\n this.distance = null\n this.unit = null\n this.analyzingError = null\n\n const relativeX = clientX - imgRect.left\n const relativeY = clientY - imgRect.top\n\n const xOnNatural = Math.round((relativeX * this.frameNaturalWidth) / imgRect.width)\n const yOnNatural = Math.round((relativeY * this.frameNaturalHeight) / imgRect.height)\n\n if (this.selectedPoints.x1 === null || this.selectedPoints.y1 === null) {\n this.selectedPoints = { ...this.selectedPoints, x1: xOnNatural, y1: yOnNatural }\n } else if (this.selectedPoints.x2 === null || this.selectedPoints.y2 === null) {\n this.selectedPoints = { ...this.selectedPoints, x2: xOnNatural, y2: yOnNatural }\n } else {\n // 세 번째 클릭부터는 초기화 후 첫 점으로 설정\n this.selectedPoints = { x1: xOnNatural, y1: yOnNatural, x2: null, y2: null }\n }\n\n // Update displayed rect cache (in case layout changed)\n this.displayedImageRect = {\n width: imgRect.width,\n height: imgRect.height,\n left: imgRect.left - wrapperRect.left,\n top: imgRect.top - wrapperRect.top\n }\n }\n\n private _hasTwoPoints(): boolean {\n const { x1, y1, x2, y2 } = this.selectedPoints\n return x1 !== null && y1 !== null && x2 !== null && y2 !== null\n }\n\n private _renderMarkers() {\n if (!this.displayedImageRect) return html``\n const { left, top, width, height } = this.displayedImageRect\n const { x1, y1, x2, y2 } = this.selectedPoints\n const toDisplay = (x: number, y: number) => {\n const dx = left + (x * width) / (this.frameNaturalWidth || 1)\n const dy = top + (y * height) / (this.frameNaturalHeight || 1)\n return { dx, dy }\n }\n\n return html`\n <!-- 첫 번째 점 -->\n ${x1 !== null && y1 !== null\n ? (() => {\n const p = toDisplay(x1, y1)\n return html`<div class=\"point-marker point-1\" style=\"left:${p.dx}px; top:${p.dy}px;\"></div>`\n })()\n : ''}\n <!-- 두 번째 점 -->\n ${x2 !== null && y2 !== null\n ? (() => {\n const p = toDisplay(x2, y2)\n return html`<div class=\"point-marker point-2\" style=\"left:${p.dx}px; top:${p.dy}px;\"></div>`\n })()\n : ''}\n <!-- 두점 사이 선 -->\n ${this._hasTwoPoints()\n ? (() => {\n const p1 = toDisplay(x1 as number, y1 as number)\n const p2 = toDisplay(x2 as number, y2 as number)\n const cx = (p1.dx + p2.dx) / 2\n const cy = (p1.dy + p2.dy) / 2\n\n // 선의 길이와 각도 계산\n const length = Math.sqrt(Math.pow(p2.dx - p1.dx, 2) + Math.pow(p2.dy - p1.dy, 2))\n const angle = Math.atan2(p2.dy - p1.dy, p2.dx - p1.dx) * (180 / Math.PI)\n\n return html`\n <!-- DIV로 그린 선 -->\n <div\n class=\"line-overlay\"\n style=\"\n left: ${p1.dx}px; \n top: ${p1.dy}px; \n width: ${length}px; \n height: 3px;\n transform: rotate(${angle}deg);\n \"\n ></div>\n <!-- 거리 라벨 -->\n ${this.analyzingError\n ? html`<div class=\"distance-label\" style=\"left:${cx}px; top:${cy}px;\">${this.analyzingError}</div>`\n : this.distance && this.unit\n ? html`<div class=\"distance-label\" style=\"left:${cx}px; top:${cy}px;\">${this.distance} ${this.unit}</div>`\n : ''}\n `\n })()\n : ''}\n `\n }\n\n private async _onAnalyzePhoto() {\n if (!this.frame) {\n console.warn('분석할 사진이 없습니다.')\n return\n }\n if (!this._hasTwoPoints()) {\n console.warn('두 점을 먼저 선택해 주세요.')\n return\n }\n\n try {\n this.analyzing = true\n const payload = {\n x1: this.selectedPoints.x1,\n y1: this.selectedPoints.y1,\n x2: this.selectedPoints.x2,\n y2: this.selectedPoints.y2,\n file_path: this.frame.file_path,\n calibration: this.frame.calibration\n }\n\n const form = new FormData()\n form.append('input', JSON.stringify(payload))\n const response = await fetch(`${this.KEYPOINT_RULER_API_BASE_URL}/api/run/keypoint-ruler`, {\n method: 'POST',\n headers: { Authorization: `Basic ${btoa('admin:admin1234')}` },\n body: form\n })\n\n const result = await response.json()\n const { distance, unit, error } = result.result || {}\n this.distance = distance\n this.unit = unit\n this.analyzingError = error\n } catch (error) {\n console.error('사진 분석 실패:', error)\n } finally {\n this.analyzing = false\n }\n }\n\n async _savePhoto() {\n if (!this.frame || !this._hasTwoPoints() || this.distance === null || !this.unit) {\n notify({ message: '분석 완료 후 저장할 수 있습니다.', level: 'warn' })\n return\n }\n\n const checklistId = this.buildingInspection?.checklist?.id\n let file: File\n try {\n file = await this.getCurrentImage()\n } catch (e) {\n notify({ message: '이미지 합성에 실패했습니다.', level: 'error' })\n return\n }\n\n const response = await client.mutate({\n mutation: gql`\n mutation ($attachments: [NewAttachment!]!) {\n createAttachments(attachments: $attachments) {\n id\n }\n }\n `,\n variables: {\n attachments: [{ file, refBy: checklistId, refType: 'Checklist', description: this.buildingInspection?.status }]\n },\n context: { hasUpload: true }\n })\n\n if (!response.errors) {\n notify({ message: '사진 대지를 저장하였습니다.', level: 'info' })\n return\n }\n\n return response.data.createAttachments\n }\n\n async getCurrentImage(): Promise<File> {\n if (!this.imageWrapperEl) {\n throw new Error('이미지 영역을 찾을 수 없습니다.')\n }\n\n try {\n // html2canvas로 .image-wrapper 영역 캡처\n const canvas = await html2canvas(this.imageWrapperEl, {\n backgroundColor: null, // 투명 배경\n scale: 1, // 1:1 스케일\n useCORS: true, // CORS 이미지 허용\n allowTaint: false, // 보안상 false\n logging: false // 로그 비활성화\n })\n\n // 캔버스를 Blob으로 변환\n const blob: Blob = await new Promise(resolve => {\n canvas.toBlob(resolve as any, 'image/png', 1.0)\n })\n\n // File 객체로 변환하여 반환\n return new File([blob!], `inspection_${Date.now()}.png`, {\n type: 'image/png'\n })\n } catch (error) {\n console.error('html2canvas 캡처 실패:', error)\n throw new Error('화면 캡처에 실패했습니다.')\n }\n }\n}\n"]}
@@ -1,27 +0,0 @@
1
- import '@material/web/icon/icon.js';
2
- import '@material/web/progress/circular-progress.js';
3
- import { PropertyValues } from 'lit';
4
- import { PageView } from '@operato/shell';
5
- import { PageLifecycle } from '@operato/shell/dist/src/app/pages/page-view';
6
- import './component/building-inspection-detail-header';
7
- export declare class BuildingInspectionCamera extends PageView {
8
- static styles: import("lit").CSSResult[];
9
- project: any;
10
- buildingInspection: any;
11
- buildingInspectionId: string;
12
- capturedImageUrl: string | null;
13
- imageFile: File | null;
14
- isSaved: boolean;
15
- private imageInputEl;
16
- get context(): {
17
- title: string;
18
- };
19
- render(): import("lit-html").TemplateResult<1>;
20
- protected updated(changes: PropertyValues): Promise<void>;
21
- pageUpdated(changes: any, lifecycle: PageLifecycle): Promise<void>;
22
- initBuildingInspection(buildingInspectionId?: string): Promise<void>;
23
- private _getProjectByBuildingComplexId;
24
- private _onImageSelected;
25
- private _onRetry;
26
- _savePhoto(): Promise<any>;
27
- }
@@ -1,342 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import '@material/web/icon/icon.js';
3
- import '@material/web/progress/circular-progress.js';
4
- import gql from 'graphql-tag';
5
- import { css, html } from 'lit';
6
- import { customElement, state, query } from 'lit/decorators.js';
7
- import { PageView } from '@operato/shell';
8
- import { CommonGristStyles, ScrollbarStyles } from '@operato/styles';
9
- import { client } from '@operato/graphql';
10
- import { notify } from '@operato/layout';
11
- import './component/building-inspection-detail-header';
12
- let BuildingInspectionCamera = class BuildingInspectionCamera extends PageView {
13
- constructor() {
14
- super(...arguments);
15
- this.project = {};
16
- this.buildingInspection = {};
17
- this.buildingInspectionId = '';
18
- this.capturedImageUrl = null;
19
- this.imageFile = null;
20
- this.isSaved = false;
21
- }
22
- get context() {
23
- return {
24
- title: '검측 관리 상세 - 사진 촬영'
25
- };
26
- }
27
- render() {
28
- var _a, _b, _c, _d, _e, _f, _g, _h;
29
- return html `
30
- <building-inspection-detail-header
31
- .buildingInspectionId=${(_a = this.buildingInspection) === null || _a === void 0 ? void 0 : _a.id}
32
- .buildingLevelId=${(_c = (_b = this.buildingInspection) === null || _b === void 0 ? void 0 : _b.buildingLevel) === null || _c === void 0 ? void 0 : _c.id}
33
- .projectName=${this.project.name}
34
- .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}
35
- .buildingLevelFloor=${(_h = (_g = this.buildingInspection) === null || _g === void 0 ? void 0 : _g.buildingLevel) === null || _h === void 0 ? void 0 : _h.floor}
36
- .projectId=${this.project.id}
37
- ></building-inspection-detail-header>
38
-
39
- <div body>
40
- <div preview>
41
- <div class="image-wrapper">
42
- ${this.capturedImageUrl
43
- ? html `<img id="imageImage" src="${this.capturedImageUrl}" alt="image" />`
44
- : html `<md-icon>add_a_photo</md-icon>`}
45
- </div>
46
- </div>
47
-
48
- <div controls>
49
- <span class="controls-title">사진 촬영</span>
50
-
51
- <div class="camera-shutter">
52
- <md-icon>camera</md-icon>
53
- <input id="imageInput" type="file" accept="image/*" @change="${this._onImageSelected}" />
54
- </div>
55
-
56
- <!-- Action buttons -->
57
- <div action-buttons>
58
- <button class="save" ?disabled=${!this.imageFile || this.isSaved} @click=${this._savePhoto}>사진 저장</button>
59
- <button class="retry" @click=${this._onRetry}>초기화</button>
60
- </div>
61
- </div>
62
- </div>
63
- `;
64
- }
65
- async updated(changes) { }
66
- async pageUpdated(changes, lifecycle) {
67
- if (this.active) {
68
- this._onRetry();
69
- this.buildingInspectionId = lifecycle.resourceId || '';
70
- await this.initBuildingInspection(this.buildingInspectionId);
71
- }
72
- }
73
- async initBuildingInspection(buildingInspectionId = '') {
74
- var _a, _b, _c, _d;
75
- const response = await client.query({
76
- query: gql `
77
- query BuildingInspection($buildingInspectionId: String!) {
78
- buildingInspection(id: $buildingInspectionId) {
79
- id
80
- status
81
- requestDate
82
- checklist {
83
- id
84
- }
85
- buildingLevel {
86
- id
87
- floor
88
- building {
89
- id
90
- name
91
- buildingComplex {
92
- id
93
- }
94
- }
95
- }
96
- }
97
- }
98
- `,
99
- variables: {
100
- buildingInspectionId
101
- }
102
- });
103
- if (response.errors)
104
- return;
105
- this.buildingInspection = response.data.buildingInspection;
106
- 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);
107
- }
108
- async _getProjectByBuildingComplexId(buildingComplexId) {
109
- const response = await client.query({
110
- query: gql `
111
- query ProjectByBuildingComplexId($buildingComplexId: String!) {
112
- project: projectByBuildingComplexId(buildingComplexId: $buildingComplexId) {
113
- id
114
- name
115
- }
116
- }
117
- `,
118
- variables: {
119
- buildingComplexId
120
- }
121
- });
122
- if (response.errors)
123
- return;
124
- this.project = response.data.project;
125
- }
126
- _onImageSelected(event) {
127
- var _a;
128
- const input = event.target;
129
- const file = (_a = input === null || input === void 0 ? void 0 : input.files) === null || _a === void 0 ? void 0 : _a[0];
130
- if (!file)
131
- return;
132
- // Only allow video files
133
- if (!file.type.startsWith('image/')) {
134
- console.warn('선택된 파일이 이미지가 아닙니다.');
135
- return;
136
- }
137
- // Revoke old object URL if exists
138
- if (this.capturedImageUrl) {
139
- URL.revokeObjectURL(this.capturedImageUrl);
140
- }
141
- this.imageFile = file;
142
- this.capturedImageUrl = URL.createObjectURL(file);
143
- this.isSaved = false; // 새 이미지 선택 시 저장 상태 초기화
144
- }
145
- _onRetry() {
146
- // Clear current selection and reopen camera
147
- if (this.capturedImageUrl) {
148
- URL.revokeObjectURL(this.capturedImageUrl);
149
- }
150
- this.capturedImageUrl = null;
151
- this.imageFile = null;
152
- this.isSaved = false; // 초기화 시 저장 상태도 리셋
153
- this.imageInputEl.value = '';
154
- }
155
- async _savePhoto() {
156
- var _a, _b, _c;
157
- if (!this.imageFile) {
158
- notify({ message: '사진을 선택한 후 저장할 수 있습니다.', level: 'warn' });
159
- return;
160
- }
161
- const checklistId = (_b = (_a = this.buildingInspection) === null || _a === void 0 ? void 0 : _a.checklist) === null || _b === void 0 ? void 0 : _b.id;
162
- const file = this.imageFile;
163
- const response = await client.mutate({
164
- mutation: gql `
165
- mutation ($attachments: [NewAttachment!]!) {
166
- createAttachments(attachments: $attachments) {
167
- id
168
- }
169
- }
170
- `,
171
- variables: {
172
- attachments: [{ file, refBy: checklistId, refType: 'Checklist', description: (_c = this.buildingInspection) === null || _c === void 0 ? void 0 : _c.status }]
173
- },
174
- context: { hasUpload: true }
175
- });
176
- if (!response.errors) {
177
- notify({ message: '사진 대지를 저장하였습니다.', level: 'info' });
178
- this.isSaved = true; // 저장 성공 시 상태 업데이트
179
- return;
180
- }
181
- return response.data.createAttachments;
182
- }
183
- };
184
- BuildingInspectionCamera.styles = [
185
- ScrollbarStyles,
186
- CommonGristStyles,
187
- css `
188
- :host {
189
- display: grid;
190
- grid-template-rows: 75px 1fr;
191
- color: #4e5055;
192
- width: 100%;
193
- height: 100%;
194
- background-color: #f7f7f7;
195
- }
196
-
197
- div[body] {
198
- display: flex;
199
- justify-items: center;
200
- gap: var(--spacing-medium);
201
- margin: var(--spacing-medium);
202
- min-height: 0;
203
- }
204
-
205
- div[preview] {
206
- flex: 1;
207
- border: 2px solid #ddd;
208
- border-radius: 10px;
209
-
210
- display: flex;
211
- justify-content: center;
212
- align-items: center;
213
- min-height: 0;
214
- overflow: hidden;
215
- }
216
-
217
- div[preview] img {
218
- max-width: 100%;
219
- max-height: 100%;
220
- object-fit: contain;
221
- }
222
-
223
- div[preview] video {
224
- max-width: 100%;
225
- max-height: 100%;
226
- object-fit: contain;
227
- }
228
-
229
- div[preview] md-icon {
230
- --md-icon-size: 160px;
231
- }
232
-
233
- .image-wrapper {
234
- position: relative;
235
- width: 100%;
236
- height: 100%;
237
- align-content: center;
238
- text-align: center;
239
- }
240
-
241
- div[controls] {
242
- width: 240px;
243
- display: flex;
244
- flex-direction: column;
245
- justify-content: space-between;
246
- align-items: center;
247
- }
248
-
249
- div[action-buttons] {
250
- display: flex;
251
- flex-direction: row;
252
- justify-content: space-between;
253
- gap: 15px;
254
- }
255
-
256
- .camera-shutter {
257
- display: flex;
258
- justify-content: center;
259
- align-items: center;
260
- cursor: pointer;
261
- position: relative;
262
- }
263
-
264
- .controls-title {
265
- font-size: 18px;
266
- font-weight: 700;
267
- color: #333;
268
- margin-bottom: 8px;
269
- text-align: center;
270
- }
271
-
272
- .camera-shutter md-icon {
273
- --md-icon-size: 100px;
274
- }
275
-
276
- .camera-shutter input {
277
- opacity: 0;
278
- width: 100%;
279
- height: 100%;
280
- position: absolute;
281
- left: 0;
282
- top: 0;
283
- cursor: pointer;
284
- }
285
-
286
- button {
287
- padding: 10px 20px;
288
- font-size: 16px;
289
- border-radius: 5px;
290
- border: none;
291
- cursor: pointer;
292
- }
293
-
294
- button.save {
295
- background-color: #4caf50;
296
- color: white;
297
-
298
- &:disabled {
299
- background-color: #ccc;
300
- cursor: default;
301
- }
302
- }
303
-
304
- button.retry {
305
- background-color: #f0ad4e;
306
- color: white;
307
- }
308
- `
309
- ];
310
- __decorate([
311
- state(),
312
- __metadata("design:type", Object)
313
- ], BuildingInspectionCamera.prototype, "project", void 0);
314
- __decorate([
315
- state(),
316
- __metadata("design:type", Object)
317
- ], BuildingInspectionCamera.prototype, "buildingInspection", void 0);
318
- __decorate([
319
- state(),
320
- __metadata("design:type", String)
321
- ], BuildingInspectionCamera.prototype, "buildingInspectionId", void 0);
322
- __decorate([
323
- state(),
324
- __metadata("design:type", Object)
325
- ], BuildingInspectionCamera.prototype, "capturedImageUrl", void 0);
326
- __decorate([
327
- state(),
328
- __metadata("design:type", Object)
329
- ], BuildingInspectionCamera.prototype, "imageFile", void 0);
330
- __decorate([
331
- state(),
332
- __metadata("design:type", Boolean)
333
- ], BuildingInspectionCamera.prototype, "isSaved", void 0);
334
- __decorate([
335
- query('#imageInput'),
336
- __metadata("design:type", HTMLInputElement)
337
- ], BuildingInspectionCamera.prototype, "imageInputEl", void 0);
338
- BuildingInspectionCamera = __decorate([
339
- customElement('building-inspection-detail-camera')
340
- ], BuildingInspectionCamera);
341
- export { BuildingInspectionCamera };
342
- //# sourceMappingURL=building-inspection-detail-camera.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"building-inspection-detail-camera.js","sourceRoot":"","sources":["../../../client/pages/building-inspection/building-inspection-detail-camera.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@material/web/progress/circular-progress.js'\n\nimport gql from 'graphql-tag'\nimport { css, html, PropertyValues } from 'lit'\nimport { customElement, state, query } from 'lit/decorators.js'\n\nimport { PageView } from '@operato/shell'\nimport { CommonGristStyles, ScrollbarStyles } from '@operato/styles'\nimport { PageLifecycle } from '@operato/shell/dist/src/app/pages/page-view'\nimport { client } from '@operato/graphql'\nimport { notify } from '@operato/layout'\n\nimport './component/building-inspection-detail-header'\n\n@customElement('building-inspection-detail-camera')\nexport class BuildingInspectionCamera extends PageView {\n static styles = [\n ScrollbarStyles,\n CommonGristStyles,\n css`\n :host {\n display: grid;\n grid-template-rows: 75px 1fr;\n color: #4e5055;\n width: 100%;\n height: 100%;\n background-color: #f7f7f7;\n }\n\n div[body] {\n display: flex;\n justify-items: center;\n gap: var(--spacing-medium);\n margin: var(--spacing-medium);\n min-height: 0;\n }\n\n div[preview] {\n flex: 1;\n border: 2px solid #ddd;\n border-radius: 10px;\n\n display: flex;\n justify-content: center;\n align-items: center;\n min-height: 0;\n overflow: hidden;\n }\n\n div[preview] img {\n max-width: 100%;\n max-height: 100%;\n object-fit: contain;\n }\n\n div[preview] video {\n max-width: 100%;\n max-height: 100%;\n object-fit: contain;\n }\n\n div[preview] md-icon {\n --md-icon-size: 160px;\n }\n\n .image-wrapper {\n position: relative;\n width: 100%;\n height: 100%;\n align-content: center;\n text-align: center;\n }\n\n div[controls] {\n width: 240px;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n }\n\n div[action-buttons] {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n gap: 15px;\n }\n\n .camera-shutter {\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n position: relative;\n }\n\n .controls-title {\n font-size: 18px;\n font-weight: 700;\n color: #333;\n margin-bottom: 8px;\n text-align: center;\n }\n\n .camera-shutter md-icon {\n --md-icon-size: 100px;\n }\n\n .camera-shutter input {\n opacity: 0;\n width: 100%;\n height: 100%;\n position: absolute;\n left: 0;\n top: 0;\n cursor: pointer;\n }\n\n button {\n padding: 10px 20px;\n font-size: 16px;\n border-radius: 5px;\n border: none;\n cursor: pointer;\n }\n\n button.save {\n background-color: #4caf50;\n color: white;\n\n &:disabled {\n background-color: #ccc;\n cursor: default;\n }\n }\n\n button.retry {\n background-color: #f0ad4e;\n color: white;\n }\n `\n ]\n\n @state() project: any = {}\n @state() buildingInspection: any = {}\n @state() buildingInspectionId: string = ''\n @state() capturedImageUrl: string | null = null\n @state() imageFile: File | null = null\n @state() isSaved: boolean = false\n\n @query('#imageInput') private imageInputEl!: HTMLInputElement\n\n get context() {\n return {\n title: '검측 관리 상세 - 사진 촬영'\n }\n }\n\n render() {\n return html`\n <building-inspection-detail-header\n .buildingInspectionId=${this.buildingInspection?.id}\n .buildingLevelId=${this.buildingInspection?.buildingLevel?.id}\n .projectName=${this.project.name}\n .buildingName=${this.buildingInspection?.buildingLevel?.building?.name}\n .buildingLevelFloor=${this.buildingInspection?.buildingLevel?.floor}\n .projectId=${this.project.id}\n ></building-inspection-detail-header>\n\n <div body>\n <div preview>\n <div class=\"image-wrapper\">\n ${this.capturedImageUrl\n ? html`<img id=\"imageImage\" src=\"${this.capturedImageUrl}\" alt=\"image\" />`\n : html`<md-icon>add_a_photo</md-icon>`}\n </div>\n </div>\n\n <div controls>\n <span class=\"controls-title\">사진 촬영</span>\n\n <div class=\"camera-shutter\">\n <md-icon>camera</md-icon>\n <input id=\"imageInput\" type=\"file\" accept=\"image/*\" @change=\"${this._onImageSelected}\" />\n </div>\n\n <!-- Action buttons -->\n <div action-buttons>\n <button class=\"save\" ?disabled=${!this.imageFile || this.isSaved} @click=${this._savePhoto}>사진 저장</button>\n <button class=\"retry\" @click=${this._onRetry}>초기화</button>\n </div>\n </div>\n </div>\n `\n }\n\n protected async updated(changes: PropertyValues): Promise<void> {}\n\n async pageUpdated(changes: any, lifecycle: PageLifecycle) {\n if (this.active) {\n this._onRetry()\n this.buildingInspectionId = lifecycle.resourceId || ''\n await this.initBuildingInspection(this.buildingInspectionId)\n }\n }\n\n async initBuildingInspection(buildingInspectionId: string = '') {\n const response = await client.query({\n query: gql`\n query BuildingInspection($buildingInspectionId: String!) {\n buildingInspection(id: $buildingInspectionId) {\n id\n status\n requestDate\n checklist {\n id\n }\n buildingLevel {\n id\n floor\n building {\n id\n name\n buildingComplex {\n id\n }\n }\n }\n }\n }\n `,\n variables: {\n buildingInspectionId\n }\n })\n\n if (response.errors) return\n\n this.buildingInspection = response.data.buildingInspection\n\n await this._getProjectByBuildingComplexId(this.buildingInspection?.buildingLevel?.building?.buildingComplex?.id)\n }\n\n private async _getProjectByBuildingComplexId(buildingComplexId) {\n const response = await client.query({\n query: gql`\n query ProjectByBuildingComplexId($buildingComplexId: String!) {\n project: projectByBuildingComplexId(buildingComplexId: $buildingComplexId) {\n id\n name\n }\n }\n `,\n variables: {\n buildingComplexId\n }\n })\n\n if (response.errors) return\n\n this.project = response.data.project\n }\n\n private _onImageSelected(event: Event) {\n const input = event.target as HTMLInputElement\n const file = input?.files?.[0]\n if (!file) return\n\n // Only allow video files\n if (!file.type.startsWith('image/')) {\n console.warn('선택된 파일이 이미지가 아닙니다.')\n return\n }\n\n // Revoke old object URL if exists\n if (this.capturedImageUrl) {\n URL.revokeObjectURL(this.capturedImageUrl)\n }\n\n this.imageFile = file\n this.capturedImageUrl = URL.createObjectURL(file)\n this.isSaved = false // 새 이미지 선택 시 저장 상태 초기화\n }\n\n private _onRetry() {\n // Clear current selection and reopen camera\n if (this.capturedImageUrl) {\n URL.revokeObjectURL(this.capturedImageUrl)\n }\n this.capturedImageUrl = null\n this.imageFile = null\n this.isSaved = false // 초기화 시 저장 상태도 리셋\n this.imageInputEl.value = ''\n }\n\n async _savePhoto() {\n if (!this.imageFile) {\n notify({ message: '사진을 선택한 후 저장할 수 있습니다.', level: 'warn' })\n return\n }\n\n const checklistId = this.buildingInspection?.checklist?.id\n const file = this.imageFile\n\n const response = await client.mutate({\n mutation: gql`\n mutation ($attachments: [NewAttachment!]!) {\n createAttachments(attachments: $attachments) {\n id\n }\n }\n `,\n variables: {\n attachments: [{ file, refBy: checklistId, refType: 'Checklist', description: this.buildingInspection?.status }]\n },\n context: { hasUpload: true }\n })\n\n if (!response.errors) {\n notify({ message: '사진 대지를 저장하였습니다.', level: 'info' })\n this.isSaved = true // 저장 성공 시 상태 업데이트\n return\n }\n\n return response.data.createAttachments\n }\n}\n"]}
@@ -1,31 +0,0 @@
1
- import '@material/web/icon/icon.js';
2
- import '@operato/data-grist';
3
- import { PageView } from '@operato/shell';
4
- import { PageLifecycle } from '@operato/shell/dist/src/app/pages/page-view';
5
- import './component/building-inspection-detail-header';
6
- import './component/inspection-document/inspection-request-document';
7
- import './component/inspection-document/inspection-result-notification';
8
- import '../checklist/checklist-view';
9
- export declare class BuildingInspectionDetailChecklist extends PageView {
10
- static styles: import("lit").CSSResult[];
11
- project: any;
12
- buildingInspection: any;
13
- get context(): {
14
- title: string;
15
- };
16
- render(): import("lit-html").TemplateResult<1>;
17
- pageUpdated(changes: any, lifecycle: PageLifecycle): Promise<void>;
18
- initBuildingInspection(buildingInspectionId?: string): Promise<void>;
19
- private _getProjectByBuildingComplexId;
20
- private _onClickModifyChecklist;
21
- private validateChecklist;
22
- private _showInspectionRequestDocument;
23
- private _showInspectionResultNotification;
24
- private _toISODate;
25
- private _onRequestDateChange;
26
- private _onInspectionMemoChange;
27
- private _onInspectionResultChange;
28
- private _onInspectionTypeChange;
29
- private _onInstructionsChange;
30
- private _uploadNameListFile;
31
- }