@dssp/supervision 1.0.0-alpha.0 → 1.0.0-alpha.14

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 (288) hide show
  1. package/dist-client/pages/action-plan/action-plan-importer.js.map +1 -1
  2. package/dist-client/pages/action-plan/action-plan-list-page.js.map +1 -1
  3. package/dist-client/pages/building-inspection/building-inspection-detail-camera.js.map +1 -1
  4. package/dist-client/pages/building-inspection/building-inspection-detail-checklist.js +1 -1
  5. package/dist-client/pages/building-inspection/building-inspection-detail-checklist.js.map +1 -1
  6. package/dist-client/pages/building-inspection/building-inspection-detail-drawing.d.ts +0 -1
  7. package/dist-client/pages/building-inspection/building-inspection-detail-drawing.js +16 -11
  8. package/dist-client/pages/building-inspection/building-inspection-detail-drawing.js.map +1 -1
  9. package/dist-client/pages/building-inspection/building-inspection-list.d.ts +2 -2
  10. package/dist-client/pages/building-inspection/building-inspection-list.js +2 -1
  11. package/dist-client/pages/building-inspection/building-inspection-list.js.map +1 -1
  12. package/dist-client/pages/building-inspection/component/building-inspection-detail-header.js.map +1 -1
  13. package/dist-client/pages/building-inspection/component/inspection-event-provider.js +3 -3
  14. package/dist-client/pages/building-inspection/component/inspection-event-provider.js.map +1 -1
  15. package/dist-client/pages/building-inspection/inspection-create-popup.js +8 -5
  16. package/dist-client/pages/building-inspection/inspection-create-popup.js.map +1 -1
  17. package/dist-client/pages/building-inspection-grid/building-inspection-grid-detail.d.ts +46 -0
  18. package/dist-client/pages/building-inspection-grid/building-inspection-grid-detail.js +930 -0
  19. package/dist-client/pages/building-inspection-grid/building-inspection-grid-detail.js.map +1 -0
  20. package/dist-client/pages/building-inspection-grid/component/grid-inspection-create-popup.d.ts +2 -0
  21. package/dist-client/pages/building-inspection-grid/component/grid-inspection-create-popup.js +736 -0
  22. package/dist-client/pages/building-inspection-grid/component/grid-inspection-create-popup.js.map +1 -0
  23. package/dist-client/pages/building-inspection-grid/component/notice-comment-popup.d.ts +1 -0
  24. package/dist-client/pages/building-inspection-grid/component/notice-comment-popup.js +304 -0
  25. package/dist-client/pages/building-inspection-grid/component/notice-comment-popup.js.map +1 -0
  26. package/dist-client/pages/building-inspection-grid/component/plan-preview-popup.d.ts +15 -0
  27. package/dist-client/pages/building-inspection-grid/component/plan-preview-popup.js +430 -0
  28. package/dist-client/pages/building-inspection-grid/component/plan-preview-popup.js.map +1 -0
  29. package/dist-client/pages/checklist/attachment-list-popup.js.map +1 -1
  30. package/dist-client/pages/checklist/checklist-view.d.ts +6 -0
  31. package/dist-client/pages/checklist/checklist-view.js +291 -185
  32. package/dist-client/pages/checklist/checklist-view.js.map +1 -1
  33. package/dist-client/pages/checklist/comment-list-popup.js.map +1 -1
  34. package/dist-client/pages/checklist/file-preview-popup.js.map +1 -1
  35. package/dist-client/pages/checklist-template/checklist-template-item.js +8 -3
  36. package/dist-client/pages/checklist-template/checklist-template-item.js.map +1 -1
  37. package/dist-client/pages/checklist-template/checklist-template-list.js +1 -1
  38. package/dist-client/pages/checklist-template/checklist-template-list.js.map +1 -1
  39. package/dist-client/pages/checklist-template/checklist-type-management.d.ts +2 -2
  40. package/dist-client/pages/checklist-template/checklist-type-management.js.map +1 -1
  41. package/dist-client/pages/issue/issue-importer.js.map +1 -1
  42. package/dist-client/pages/issue/issue-list-page.js.map +1 -1
  43. package/dist-client/pages/project-report/project-report-importer.js.map +1 -1
  44. package/dist-client/pages/project-report/project-report-list-page.js.map +1 -1
  45. package/dist-client/pages/supervisor/supervisor-importer.js.map +1 -1
  46. package/dist-client/pages/supervisor/supervisor-list-page.js.map +1 -1
  47. package/dist-client/route.d.ts +1 -1
  48. package/dist-client/route.js +3 -0
  49. package/dist-client/route.js.map +1 -1
  50. package/dist-client/stt/speech-to-text.d.ts +36 -0
  51. package/dist-client/stt/speech-to-text.js +89 -0
  52. package/dist-client/stt/speech-to-text.js.map +1 -0
  53. package/dist-client/stt/stt-utils.d.ts +28 -0
  54. package/dist-client/stt/stt-utils.js +146 -0
  55. package/dist-client/stt/stt-utils.js.map +1 -0
  56. package/dist-client/tsconfig.tsbuildinfo +1 -1
  57. package/dist-server/middlewares/index.js +1 -2
  58. package/dist-server/middlewares/index.js.map +1 -1
  59. package/dist-server/service/action-plan/action-plan-mutation.js +2 -2
  60. package/dist-server/service/action-plan/action-plan-mutation.js.map +1 -1
  61. package/dist-server/service/action-plan/action-plan-query.js +2 -2
  62. package/dist-server/service/action-plan/action-plan-query.js.map +1 -1
  63. package/dist-server/service/action-plan/action-plan-type.js +6 -6
  64. package/dist-server/service/action-plan/action-plan-type.js.map +1 -1
  65. package/dist-server/service/action-plan/action-plan.js +3 -3
  66. package/dist-server/service/action-plan/action-plan.js.map +1 -1
  67. package/dist-server/service/action-plan/index.d.ts +0 -1
  68. package/dist-server/service/action-plan/index.js +1 -2
  69. package/dist-server/service/action-plan/index.js.map +1 -1
  70. package/dist-server/service/building-inspection/building-inspection-history.js +2 -2
  71. package/dist-server/service/building-inspection/building-inspection-history.js.map +1 -1
  72. package/dist-server/service/building-inspection/building-inspection-mutation.d.ts +1 -0
  73. package/dist-server/service/building-inspection/building-inspection-mutation.js +91 -14
  74. package/dist-server/service/building-inspection/building-inspection-mutation.js.map +1 -1
  75. package/dist-server/service/building-inspection/building-inspection-query.d.ts +2 -1
  76. package/dist-server/service/building-inspection/building-inspection-query.js +33 -4
  77. package/dist-server/service/building-inspection/building-inspection-query.js.map +1 -1
  78. package/dist-server/service/building-inspection/building-inspection-type.d.ts +10 -3
  79. package/dist-server/service/building-inspection/building-inspection-type.js +45 -20
  80. package/dist-server/service/building-inspection/building-inspection-type.js.map +1 -1
  81. package/dist-server/service/building-inspection/building-inspection.d.ts +9 -0
  82. package/dist-server/service/building-inspection/building-inspection.js +43 -5
  83. package/dist-server/service/building-inspection/building-inspection.js.map +1 -1
  84. package/dist-server/service/building-inspection/index.d.ts +2 -4
  85. package/dist-server/service/building-inspection/index.js +2 -4
  86. package/dist-server/service/building-inspection/index.js.map +1 -1
  87. package/dist-server/service/checklist/checklist-history.d.ts +8 -0
  88. package/dist-server/service/checklist/checklist-history.js +38 -2
  89. package/dist-server/service/checklist/checklist-history.js.map +1 -1
  90. package/dist-server/service/checklist/checklist-mutation.js +2 -2
  91. package/dist-server/service/checklist/checklist-mutation.js.map +1 -1
  92. package/dist-server/service/checklist/checklist-query.js +2 -2
  93. package/dist-server/service/checklist/checklist-query.js.map +1 -1
  94. package/dist-server/service/checklist/checklist-type.js +6 -6
  95. package/dist-server/service/checklist/checklist-type.js.map +1 -1
  96. package/dist-server/service/checklist/checklist.d.ts +19 -1
  97. package/dist-server/service/checklist/checklist.js +78 -7
  98. package/dist-server/service/checklist/checklist.js.map +1 -1
  99. package/dist-server/service/checklist/index.d.ts +0 -2
  100. package/dist-server/service/checklist/index.js +1 -3
  101. package/dist-server/service/checklist/index.js.map +1 -1
  102. package/dist-server/service/checklist-item/checklist-item-mutation.js +2 -2
  103. package/dist-server/service/checklist-item/checklist-item-mutation.js.map +1 -1
  104. package/dist-server/service/checklist-item/checklist-item-query.js +2 -2
  105. package/dist-server/service/checklist-item/checklist-item-query.js.map +1 -1
  106. package/dist-server/service/checklist-item/checklist-item-type.js +2 -2
  107. package/dist-server/service/checklist-item/checklist-item-type.js.map +1 -1
  108. package/dist-server/service/checklist-item/checklist-item.js +3 -3
  109. package/dist-server/service/checklist-item/checklist-item.js.map +1 -1
  110. package/dist-server/service/checklist-item-comment/checklist-item-comment-history.js +2 -2
  111. package/dist-server/service/checklist-item-comment/checklist-item-comment-history.js.map +1 -1
  112. package/dist-server/service/checklist-item-comment/checklist-item-comment-mutation.js +2 -2
  113. package/dist-server/service/checklist-item-comment/checklist-item-comment-mutation.js.map +1 -1
  114. package/dist-server/service/checklist-item-comment/checklist-item-comment-query.js +2 -2
  115. package/dist-server/service/checklist-item-comment/checklist-item-comment-query.js.map +1 -1
  116. package/dist-server/service/checklist-item-comment/checklist-item-comment-type.js +6 -6
  117. package/dist-server/service/checklist-item-comment/checklist-item-comment-type.js.map +1 -1
  118. package/dist-server/service/checklist-item-comment/checklist-item-comment.js +2 -2
  119. package/dist-server/service/checklist-item-comment/checklist-item-comment.js.map +1 -1
  120. package/dist-server/service/checklist-item-comment/index.d.ts +0 -2
  121. package/dist-server/service/checklist-item-comment/index.js +1 -3
  122. package/dist-server/service/checklist-item-comment/index.js.map +1 -1
  123. package/dist-server/service/checklist-template/checklist-template-mutation.js +2 -2
  124. package/dist-server/service/checklist-template/checklist-template-mutation.js.map +1 -1
  125. package/dist-server/service/checklist-template/checklist-template-query.js +2 -2
  126. package/dist-server/service/checklist-template/checklist-template-query.js.map +1 -1
  127. package/dist-server/service/checklist-template/checklist-template-type.js +4 -4
  128. package/dist-server/service/checklist-template/checklist-template-type.js.map +1 -1
  129. package/dist-server/service/checklist-template/checklist-template.js +2 -2
  130. package/dist-server/service/checklist-template/checklist-template.js.map +1 -1
  131. package/dist-server/service/checklist-template-item/checklist-template-item-mutation.js +2 -2
  132. package/dist-server/service/checklist-template-item/checklist-template-item-mutation.js.map +1 -1
  133. package/dist-server/service/checklist-template-item/checklist-template-item-query.js +2 -2
  134. package/dist-server/service/checklist-template-item/checklist-template-item-query.js.map +1 -1
  135. package/dist-server/service/checklist-template-item/checklist-template-item-type.js +4 -4
  136. package/dist-server/service/checklist-template-item/checklist-template-item-type.js.map +1 -1
  137. package/dist-server/service/checklist-template-item/checklist-template-item.js +4 -6
  138. package/dist-server/service/checklist-template-item/checklist-template-item.js.map +1 -1
  139. package/dist-server/service/checklist-type/checklist-type-mutation.js +2 -2
  140. package/dist-server/service/checklist-type/checklist-type-mutation.js.map +1 -1
  141. package/dist-server/service/checklist-type/checklist-type-query.js +2 -2
  142. package/dist-server/service/checklist-type/checklist-type-query.js.map +1 -1
  143. package/dist-server/service/checklist-type/checklist-type-type.js +4 -4
  144. package/dist-server/service/checklist-type/checklist-type-type.js.map +1 -1
  145. package/dist-server/service/checklist-type/checklist-type.js +3 -3
  146. package/dist-server/service/checklist-type/checklist-type.js.map +1 -1
  147. package/dist-server/service/index.d.ts +0 -1
  148. package/dist-server/service/index.js +1 -11
  149. package/dist-server/service/index.js.map +1 -1
  150. package/dist-server/service/issue/index.d.ts +0 -1
  151. package/dist-server/service/issue/index.js +1 -2
  152. package/dist-server/service/issue/index.js.map +1 -1
  153. package/dist-server/service/issue/issue-mutation.js +2 -2
  154. package/dist-server/service/issue/issue-mutation.js.map +1 -1
  155. package/dist-server/service/issue/issue-query.js +2 -2
  156. package/dist-server/service/issue/issue-query.js.map +1 -1
  157. package/dist-server/service/issue/issue-type.js +6 -6
  158. package/dist-server/service/issue/issue-type.js.map +1 -1
  159. package/dist-server/service/issue/issue.js +3 -3
  160. package/dist-server/service/issue/issue.js.map +1 -1
  161. package/dist-server/service/project-report/index.d.ts +0 -1
  162. package/dist-server/service/project-report/index.js +1 -2
  163. package/dist-server/service/project-report/index.js.map +1 -1
  164. package/dist-server/service/project-report/project-report-mutation.js +2 -2
  165. package/dist-server/service/project-report/project-report-mutation.js.map +1 -1
  166. package/dist-server/service/project-report/project-report-query.js +2 -2
  167. package/dist-server/service/project-report/project-report-query.js.map +1 -1
  168. package/dist-server/service/project-report/project-report-type.js +6 -6
  169. package/dist-server/service/project-report/project-report-type.js.map +1 -1
  170. package/dist-server/service/project-report/project-report.js +3 -3
  171. package/dist-server/service/project-report/project-report.js.map +1 -1
  172. package/dist-server/service/supervisor/index.d.ts +0 -1
  173. package/dist-server/service/supervisor/index.js +1 -2
  174. package/dist-server/service/supervisor/index.js.map +1 -1
  175. package/dist-server/service/supervisor/supervisor-mutation.js +2 -2
  176. package/dist-server/service/supervisor/supervisor-mutation.js.map +1 -1
  177. package/dist-server/service/supervisor/supervisor-query.js +2 -2
  178. package/dist-server/service/supervisor/supervisor-query.js.map +1 -1
  179. package/dist-server/service/supervisor/supervisor-type.js +6 -6
  180. package/dist-server/service/supervisor/supervisor-type.js.map +1 -1
  181. package/dist-server/service/supervisor/supervisor.js +3 -3
  182. package/dist-server/service/supervisor/supervisor.js.map +1 -1
  183. package/dist-server/tsconfig.tsbuildinfo +1 -1
  184. package/package.json +13 -13
  185. package/things-factory.config.js +3 -1
  186. package/client/bootstrap.ts +0 -1
  187. package/client/index.ts +0 -0
  188. package/client/pages/action-plan/action-plan-importer.ts +0 -94
  189. package/client/pages/action-plan/action-plan-list-page.ts +0 -340
  190. package/client/pages/building-inspection/building-inspection-detail-camera.ts +0 -277
  191. package/client/pages/building-inspection/building-inspection-detail-checklist.ts +0 -258
  192. package/client/pages/building-inspection/building-inspection-detail-drawing.ts +0 -288
  193. package/client/pages/building-inspection/building-inspection-list.ts +0 -565
  194. package/client/pages/building-inspection/component/building-inspection-detail-header.ts +0 -123
  195. package/client/pages/building-inspection/component/inspection-event-provider.ts +0 -81
  196. package/client/pages/building-inspection/inspection-create-popup.ts +0 -785
  197. package/client/pages/checklist/attachment-list-popup.ts +0 -301
  198. package/client/pages/checklist/checklist-view.ts +0 -581
  199. package/client/pages/checklist/comment-list-popup.ts +0 -328
  200. package/client/pages/checklist/file-preview-popup.ts +0 -70
  201. package/client/pages/checklist-template/checklist-template-item.ts +0 -240
  202. package/client/pages/checklist-template/checklist-template-list.ts +0 -368
  203. package/client/pages/checklist-template/checklist-type-management.ts +0 -262
  204. package/client/pages/issue/issue-importer.ts +0 -94
  205. package/client/pages/issue/issue-list-page.ts +0 -340
  206. package/client/pages/project-report/project-report-importer.ts +0 -94
  207. package/client/pages/project-report/project-report-list-page.ts +0 -340
  208. package/client/pages/supervisor/supervisor-importer.ts +0 -94
  209. package/client/pages/supervisor/supervisor-list-page.ts +0 -340
  210. package/client/route.ts +0 -27
  211. package/client/tsconfig.json +0 -11
  212. package/dist-server/service/building-inspection/event-subscriber.d.ts +0 -7
  213. package/dist-server/service/building-inspection/event-subscriber.js +0 -21
  214. package/dist-server/service/building-inspection/event-subscriber.js.map +0 -1
  215. package/dist-server/service/checklist/event-subscriber.d.ts +0 -7
  216. package/dist-server/service/checklist/event-subscriber.js +0 -21
  217. package/dist-server/service/checklist/event-subscriber.js.map +0 -1
  218. package/dist-server/service/checklist-item-comment/event-subscriber.d.ts +0 -7
  219. package/dist-server/service/checklist-item-comment/event-subscriber.js +0 -21
  220. package/dist-server/service/checklist-item-comment/event-subscriber.js.map +0 -1
  221. package/server/controllers/index.ts +0 -0
  222. package/server/index.ts +0 -4
  223. package/server/middlewares/index.ts +0 -3
  224. package/server/migrations/index.ts +0 -9
  225. package/server/routes.ts +0 -28
  226. package/server/service/action-plan/action-plan-mutation.ts +0 -198
  227. package/server/service/action-plan/action-plan-query.ts +0 -62
  228. package/server/service/action-plan/action-plan-type.ts +0 -61
  229. package/server/service/action-plan/action-plan.ts +0 -103
  230. package/server/service/action-plan/index.ts +0 -7
  231. package/server/service/building-inspection/building-inspection-history.ts +0 -72
  232. package/server/service/building-inspection/building-inspection-mutation.ts +0 -276
  233. package/server/service/building-inspection/building-inspection-query.ts +0 -242
  234. package/server/service/building-inspection/building-inspection-type.ts +0 -145
  235. package/server/service/building-inspection/building-inspection.ts +0 -108
  236. package/server/service/building-inspection/event-subscriber.ts +0 -20
  237. package/server/service/building-inspection/index.ts +0 -11
  238. package/server/service/checklist/checklist-history.ts +0 -96
  239. package/server/service/checklist/checklist-mutation.ts +0 -103
  240. package/server/service/checklist/checklist-query.ts +0 -58
  241. package/server/service/checklist/checklist-type.ts +0 -49
  242. package/server/service/checklist/checklist.ts +0 -127
  243. package/server/service/checklist/event-subscriber.ts +0 -17
  244. package/server/service/checklist/index.ts +0 -9
  245. package/server/service/checklist-item/checklist-item-mutation.ts +0 -5
  246. package/server/service/checklist-item/checklist-item-query.ts +0 -84
  247. package/server/service/checklist-item/checklist-item-type.ts +0 -12
  248. package/server/service/checklist-item/checklist-item.ts +0 -103
  249. package/server/service/checklist-item/index.ts +0 -7
  250. package/server/service/checklist-item-comment/checklist-item-comment-history.ts +0 -69
  251. package/server/service/checklist-item-comment/checklist-item-comment-mutation.ts +0 -80
  252. package/server/service/checklist-item-comment/checklist-item-comment-query.ts +0 -36
  253. package/server/service/checklist-item-comment/checklist-item-comment-type.ts +0 -32
  254. package/server/service/checklist-item-comment/checklist-item-comment.ts +0 -56
  255. package/server/service/checklist-item-comment/event-subscriber.ts +0 -17
  256. package/server/service/checklist-item-comment/index.ts +0 -9
  257. package/server/service/checklist-template/checklist-template-mutation.ts +0 -66
  258. package/server/service/checklist-template/checklist-template-query.ts +0 -39
  259. package/server/service/checklist-template/checklist-template-type.ts +0 -23
  260. package/server/service/checklist-template/checklist-template.ts +0 -71
  261. package/server/service/checklist-template/index.ts +0 -6
  262. package/server/service/checklist-template-item/checklist-template-item-mutation.ts +0 -64
  263. package/server/service/checklist-template-item/checklist-template-item-query.ts +0 -44
  264. package/server/service/checklist-template-item/checklist-template-item-type.ts +0 -39
  265. package/server/service/checklist-template-item/checklist-template-item.ts +0 -68
  266. package/server/service/checklist-template-item/index.ts +0 -6
  267. package/server/service/checklist-type/checklist-type-mutation.ts +0 -66
  268. package/server/service/checklist-type/checklist-type-query.ts +0 -39
  269. package/server/service/checklist-type/checklist-type-type.ts +0 -26
  270. package/server/service/checklist-type/checklist-type.ts +0 -64
  271. package/server/service/checklist-type/index.ts +0 -6
  272. package/server/service/index.ts +0 -88
  273. package/server/service/issue/index.ts +0 -7
  274. package/server/service/issue/issue-mutation.ts +0 -198
  275. package/server/service/issue/issue-query.ts +0 -62
  276. package/server/service/issue/issue-type.ts +0 -61
  277. package/server/service/issue/issue.ts +0 -100
  278. package/server/service/project-report/index.ts +0 -7
  279. package/server/service/project-report/project-report-mutation.ts +0 -198
  280. package/server/service/project-report/project-report-query.ts +0 -62
  281. package/server/service/project-report/project-report-type.ts +0 -61
  282. package/server/service/project-report/project-report.ts +0 -113
  283. package/server/service/supervisor/index.ts +0 -7
  284. package/server/service/supervisor/supervisor-mutation.ts +0 -198
  285. package/server/service/supervisor/supervisor-query.ts +0 -62
  286. package/server/service/supervisor/supervisor-type.ts +0 -61
  287. package/server/service/supervisor/supervisor.ts +0 -108
  288. package/server/tsconfig.json +0 -10
@@ -1,785 +0,0 @@
1
- import '@material/web/icon/icon.js'
2
- import '@operato/data-grist/ox-grist.js'
3
-
4
- import gql from 'graphql-tag'
5
- import { css, html, LitElement } from 'lit'
6
- import { customElement, property, query, state } from 'lit/decorators.js'
7
- import { DataGrist } from '@operato/data-grist/ox-grist.js'
8
- import { client } from '@operato/graphql'
9
- import { ButtonContainerStyles, ScrollbarStyles } from '@operato/styles'
10
- import { notify } from '@operato/layout'
11
- import { BuildingInspectionStatus, CHECKLIST_MAIN_TYPE_LIST } from './building-inspection-list'
12
- import '../checklist/checklist-view'
13
- import { ChecklistMode } from '../checklist/checklist-view'
14
-
15
- @customElement('inspection-create-popup')
16
- class InspectionCreatePopup extends LitElement {
17
- static styles = [
18
- ButtonContainerStyles,
19
- ScrollbarStyles,
20
- css`
21
- :host {
22
- display: flex;
23
- flex-direction: column;
24
- padding: 15px 20px;
25
-
26
- background-color: var(--md-sys-color-surface);
27
- }
28
-
29
- md-filled-select {
30
- width: auto;
31
- min-width: 150px;
32
- --md-filled-select-text-field-container-color: transparent;
33
- --md-filled-select-text-field-active-indicator-color: #999;
34
- --md-filled-select-text-field-input-text-size: 14px;
35
- --md-filled-select-text-field-input-text-weight: bold;
36
- --md-filled-select-text-field-input-text-line-height: 6px;
37
- }
38
- md-filled-select[level] {
39
- min-width: 110px;
40
- margin-left: 20px;
41
- }
42
-
43
- checklist-view {
44
- pointer-events: none;
45
- transform-origin: top left;
46
- }
47
-
48
- div[body] {
49
- height: 100%;
50
- overflow-y: auto;
51
-
52
- div[tab-container][inactive] {
53
- display: none !important;
54
- }
55
-
56
- div[edit] {
57
- width: 100%;
58
-
59
- div[detail] {
60
- margin-bottom: 30px;
61
- }
62
-
63
- h3 {
64
- position: relative;
65
- color: #0595e5;
66
- font-size: 17px;
67
- font-weight: 700;
68
- background-color: var(--md-sys-color-surface);
69
- margin-top: 0;
70
- margin-bottom: 5px;
71
- }
72
-
73
- div[data-row] {
74
- display: grid;
75
- grid-template-columns: 100px 1fr 0.3fr 100px 1fr;
76
- gap: 15px;
77
- margin-bottom: 11px;
78
-
79
- & > label {
80
- display: flex;
81
- justify-content: flex-end;
82
- align-items: center;
83
- font-size: 15px;
84
- }
85
-
86
- div[inspection-parts] {
87
- display: block;
88
- margin-top: 7px;
89
-
90
- & > span {
91
- display: inline-block;
92
- margin-right: 5px;
93
- margin-bottom: 5px;
94
-
95
- & > md-checkbox {
96
- margin-top: 2px;
97
- }
98
- }
99
- }
100
- }
101
- }
102
-
103
- div[preview] {
104
- display: flex;
105
- overflow-y: auto;
106
- overflow-x: hidden;
107
- }
108
- }
109
-
110
- div[tabs] {
111
- display: flex;
112
-
113
- button {
114
- background-color: #fff;
115
- padding: 6px 14px;
116
- color: #999;
117
- border: solid 1px #999;
118
- border-top: none;
119
- border-radius: 0px 0px 8px 8px;
120
- margin-right: -2px;
121
- cursor: pointer;
122
-
123
- &[active] {
124
- color: var(--button-color, var(--md-sys-color-on-secondary-container));
125
- font-weight: 600;
126
- }
127
- }
128
- }
129
-
130
- div[button-container] {
131
- display: flex;
132
- justify-content: flex-end;
133
- gap: 10px;
134
-
135
- md-elevated-button[blue] {
136
- --md-elevated-button-container-color: #0595e5;
137
-
138
- --md-elevated-button-label-text-color: #fff;
139
- --md-elevated-button-hover-label-text-color: #fff;
140
- --md-elevated-button-pressed-label-text-color: #fff;
141
- --md-elevated-button-focus-label-text-color: #fff;
142
- --md-elevated-button-icon-color: #fff;
143
- --md-elevated-button-hover-icon-color: #fff;
144
- --md-elevated-button-pressed-icon-color: #fff;
145
- --md-elevated-button-focus-icon-color: #fff;
146
- }
147
- }
148
- `
149
- ]
150
-
151
- @property({ type: Object }) gristConfig: any
152
- @property({ type: Object }) checklistDetailTypes: any
153
- @property({ type: String }) projectId: string = ''
154
- @property({ type: String }) checklistTemplateId: string = ''
155
- @property({ type: String }) selectedBuildingId: string = ''
156
- @property({ type: String }) selectedBuildingLevelId: string = ''
157
-
158
- @state() buildings: any = []
159
- @state() selectedBuilding: any = {}
160
- @state() selectedLevel: any = {}
161
-
162
- @state() constructionTypes: any = []
163
- @state() selectedConstructionType: any = {}
164
- @state() selectedConstructionDetailType: any = {}
165
-
166
- @state() inspectionDrawingTypes: any = []
167
- @state() selectedInspectionDrawingType: any = {}
168
- @state() selectedInspectionParts: Array<string> = []
169
-
170
- @state() checklistTemplates: any = []
171
- @state() checklist: any = {}
172
-
173
- @state() activeTab: 'edit' | 'preview' = 'edit'
174
-
175
- @query('md-filled-select[building]') htmlSelectBuilding
176
- @query('md-filled-select[level]') htmlSelectLevel
177
- @query('md-filled-select[constructionType]') htmlSelectConstructionType
178
- @query('md-filled-select[constructionDetailType]') htmlSelectConstructionDetailType
179
- @query('md-filled-select[inspectionDrawingType]') htmlSelectInspectionDrawingType
180
- @query('md-filled-select[inspectionPart]') htmlSelectInspectionPart
181
- @query('md-filled-select[checklistTemplate]') htmlSelectChecklistTemplate
182
- @query('ox-grist') grist!: DataGrist
183
- @query('div[preview]') checklistViewContainer!: HTMLDivElement
184
- @query('checklist-view') checklistView!: HTMLElement
185
-
186
- render() {
187
- return html`
188
- <div body>
189
- <div tab-container ?inactive=${this.activeTab !== 'edit'} edit>
190
- <div detail>
191
- <h3>세부 정보</h3>
192
-
193
- <div data-row>
194
- <label>공종</label>
195
- <md-filled-select constructionType @change=${this._onSelectConstructionType}>
196
- ${this.constructionTypes?.map(constructionType => {
197
- const selected = constructionType.id === this.selectedConstructionType?.id
198
- return html`<md-select-option ?selected=${selected} .value=${constructionType.id}>
199
- <div slot="headline">${constructionType.name}</div>
200
- </md-select-option>`
201
- })}
202
- </md-filled-select>
203
-
204
- <div partition></div>
205
-
206
- <label>세부 공종</label>
207
- <md-filled-select constructionDetailType @change=${this._onSelectConstructionDetailType}>
208
- ${this.selectedConstructionType?.constructionDetailTypes?.map(constructionDetailType => {
209
- const selected = constructionDetailType.id === this.selectedConstructionDetailType.id
210
- return html`<md-select-option ?selected=${selected} .value=${constructionDetailType.id}>
211
- <div slot="headline">${constructionDetailType.name}</div>
212
- </md-select-option>`
213
- })}
214
- </md-filled-select>
215
- </div>
216
-
217
- <div data-row>
218
- <label>동</label>
219
- <md-filled-select building @change=${this._onSelectBuilding}>
220
- ${this.buildings?.map(building => {
221
- return html` <md-select-option .value=${building.id}>
222
- <div slot="headline">${building.name}</div>
223
- </md-select-option>`
224
- })}
225
- </md-filled-select>
226
-
227
- <div partition></div>
228
-
229
- <label>층</label>
230
- <md-filled-select level @change=${this._onSelectBuildingLevel}>
231
- ${this.selectedBuilding?.buildingLevels?.map(level => {
232
- return html`<md-select-option .value=${level.id}>
233
- <div slot="headline">${level.floor}</div>
234
- </md-select-option>`
235
- })}
236
- </md-filled-select>
237
- </div>
238
-
239
- <div data-row>
240
- <label>검측 도면</label>
241
- <md-filled-select inspectionDrawingType @change=${this._onSelectInspectionDrawingType}>
242
- ${this.inspectionDrawingTypes?.map(inspectionDrawingType => {
243
- return html` <md-select-option .value=${inspectionDrawingType.id}>
244
- <div slot="headline">${inspectionDrawingType.name}</div>
245
- </md-select-option>`
246
- })}
247
- </md-filled-select>
248
-
249
- <div partition></div>
250
-
251
- <label>검측 부위</label>
252
- <div inspection-parts>
253
- ${this.selectedInspectionDrawingType?.inspectionParts?.map(inspectionPart => {
254
- return html`
255
- <span>
256
- <md-checkbox
257
- id=${'check_' + inspectionPart.id}
258
- ?checked="${this.isSelected(inspectionPart)}"
259
- @click=${() => this._onSelectInspectionPart(inspectionPart)}
260
- ></md-checkbox>
261
- <label>${inspectionPart.name}</label>
262
- </span>
263
- `
264
- })}
265
- </div>
266
- </div>
267
- </div>
268
-
269
- <div checklist>
270
- <h3>체크리스트</h3>
271
-
272
- <div data-row>
273
- <label>이름</label>
274
- <md-filled-text-field
275
- name="checklistName"
276
- type="text"
277
- .value=${this.checklist?.name || ''}
278
- @input=${this._onInputChange}
279
- >
280
- </md-filled-text-field>
281
-
282
- <div partition></div>
283
-
284
- <label>템플릿</label>
285
- <md-filled-select checklistTemplate @change=${this._onSelectChecklistTemplate}>
286
- <md-select-option></md-select-option>
287
- ${this.checklistTemplates?.map((checklistTemplate, idx) => {
288
- return html` <md-select-option .value=${checklistTemplate.id}>
289
- <div slot="headline">${checklistTemplate.name}</div>
290
- </md-select-option>`
291
- })}
292
- </md-filled-select>
293
- </div>
294
- </div>
295
-
296
- <ox-grist
297
- .mode=${'GRID'}
298
- .config=${this.gristConfig}
299
- .fetchHandler=${this.fetchHandler.bind(this)}
300
- @field-change=${this.onChangeGird}
301
- >
302
- </ox-grist>
303
- </div>
304
-
305
- <div tab-container ?inactive=${this.activeTab !== 'preview'} preview>
306
- <checklist-view .mode=${ChecklistMode.VIEWER} .checklist=${this.checklist}></checklist-view>
307
- </div>
308
- </div>
309
-
310
- <div tabs>
311
- <button ?active=${this.activeTab === 'edit'} @click=${() => (this.activeTab = 'edit')}>검측 요청 정보</button>
312
- <button ?active=${this.activeTab === 'preview'} @click=${() => (this.activeTab = 'preview')}>미리보기</button>
313
- </div>
314
-
315
- <div button-container>
316
- <md-elevated-button blue @click=${this._createInspection}>
317
- <md-icon slot="icon">task</md-icon>검측 요청서 등록
318
- </md-elevated-button>
319
- <md-elevated-button @click=${this._close}> <md-icon slot="icon">cancel</md-icon>취소</md-elevated-button>
320
- </div>
321
- `
322
- }
323
-
324
- updated() {
325
- const ratio = Math.round((this.checklistViewContainer?.offsetWidth / this.checklistView?.offsetWidth) * 100) / 100 || 1
326
- this.checklistView.style.transform = `scale(${ratio})`
327
- }
328
-
329
- async firstUpdated() {
330
- const response = await client.query({
331
- query: gql`
332
- query Project($id: String!) {
333
- project(id: $id) {
334
- id
335
- name
336
- buildingComplex {
337
- id
338
- buildings {
339
- id
340
- name
341
- }
342
- }
343
- }
344
-
345
- constructionTypes {
346
- items {
347
- name
348
- id
349
- }
350
- }
351
-
352
- inspectionDrawingTypes {
353
- items {
354
- name
355
- id
356
- }
357
- }
358
-
359
- checklistTemplates {
360
- items {
361
- id
362
- name
363
- }
364
- }
365
-
366
- checklistTypes {
367
- items {
368
- id
369
- mainType
370
- detailType
371
- }
372
- }
373
- }
374
- `,
375
- variables: {
376
- id: this.projectId
377
- }
378
- })
379
-
380
- if (response.errors) return
381
-
382
- const project = response.data?.project
383
- const constructionTypes = response.data?.constructionTypes?.items || []
384
- const inspectionDrawingTypes = response.data?.inspectionDrawingTypes?.items || []
385
- const checklistTemplates = response.data?.checklistTemplates?.items || []
386
- this.checklistDetailTypes = response.data.checklistTypes?.items?.map(v => {
387
- return {
388
- display: v.detailType,
389
- value: v.id,
390
- mainType: v.mainType
391
- }
392
- })
393
-
394
- this.buildings = [...(project?.buildingComplex?.buildings || [])]
395
- this.constructionTypes = [...constructionTypes]
396
- this.inspectionDrawingTypes = [...inspectionDrawingTypes]
397
- this.checklistTemplates = [...checklistTemplates]
398
-
399
- // selectedBuildingId가 있으면 해당 빌딩 선택, 없으면 첫번째 빌딩 선택
400
- this.selectedBuilding = this.selectedBuildingId
401
- ? this.buildings.find(building => building.id == this.selectedBuildingId)
402
- : this.buildings[0]
403
-
404
- this.selectedConstructionType = constructionTypes?.[0]
405
- this.selectedInspectionDrawingType = inspectionDrawingTypes?.[0]
406
-
407
- // 선택된 동의 층 리스트 가져오기
408
- this.selectedBuilding = await this._getBuilding(this.selectedBuilding.id)
409
- this.selectedConstructionType = await this._getConstructionType(this.selectedConstructionType.id)
410
- this.selectedInspectionDrawingType = await this._getInspectionDrawingType(this.selectedInspectionDrawingType.id)
411
-
412
- // selectedBuildingLevelId가 있으면 선택된 층, 없으면 첫번째 층 선택
413
- this.selectedLevel = this.selectedBuildingLevelId
414
- ? this.selectedBuilding?.buildingLevels?.find(level => level.id == this.selectedBuildingLevelId)
415
- : this.selectedBuilding?.buildingLevels?.[0]
416
-
417
- this.selectedConstructionDetailType = this.selectedConstructionType?.constructionDetailTypes?.[0]
418
- this.selectedInspectionParts = []
419
-
420
- // 동, 층이 랜더링 된 후에 select를 위해 이 시점에서 랜더링
421
- this.selectedBuilding = await { ...this.selectedBuilding }
422
- this.selectedConstructionType = await { ...this.selectedConstructionType }
423
-
424
- // 기본 값 셋팅 select
425
- await this.htmlSelectBuilding.select(this.selectedBuilding.id)
426
- await this.htmlSelectLevel.select(this.selectedLevel.id)
427
- await this.htmlSelectConstructionType.select(this.selectedConstructionType.id)
428
- await this.htmlSelectConstructionDetailType.select(this.selectedConstructionDetailType.id)
429
- await this.htmlSelectInspectionDrawingType.select(this.selectedInspectionDrawingType.id)
430
- await this.htmlSelectChecklistTemplate.selectIndex(0)
431
-
432
- this.checklist = {
433
- constructionType: this.selectedConstructionType?.name,
434
- constructionDetailType: this.selectedConstructionDetailType?.name,
435
- location: `${this.selectedBuilding?.name || ''} ${this.selectedLevel.floor || ''}층`,
436
- documentNo: '0000-000-000000',
437
- buildingInspection: {
438
- status: BuildingInspectionStatus.WAIT
439
- }
440
- }
441
-
442
- // 그리드 셋팅
443
- this.setGristConfig()
444
- }
445
-
446
- async _getBuilding(buildingId: string = '') {
447
- const response = await client.query({
448
- query: gql`
449
- query Building($id: String!) {
450
- building(id: $id) {
451
- id
452
- name
453
- buildingLevels {
454
- id
455
- floor
456
- mainDrawing {
457
- id
458
- name
459
- fullpath
460
- }
461
- mainDrawingImage
462
- }
463
- }
464
- }
465
- `,
466
- variables: {
467
- id: buildingId
468
- }
469
- })
470
-
471
- if (response.errors) return
472
-
473
- return response.data?.building || {}
474
- }
475
-
476
- async _getConstructionType(id: string = '') {
477
- const response = await client.query({
478
- query: gql`
479
- query ConstructionType($id: String!) {
480
- constructionType(id: $id) {
481
- id
482
- name
483
- description
484
- constructionDetailTypes {
485
- id
486
- name
487
- }
488
- }
489
- }
490
- `,
491
- variables: { id }
492
- })
493
-
494
- if (response.errors) return
495
-
496
- return response.data?.constructionType || {}
497
- }
498
-
499
- async _getInspectionDrawingType(id: string = '') {
500
- const response = await client.query({
501
- query: gql`
502
- query InspectionDrawingType($id: String!) {
503
- inspectionDrawingType(id: $id) {
504
- id
505
- name
506
- inspectionParts {
507
- id
508
- name
509
- }
510
- }
511
- }
512
- `,
513
- variables: { id }
514
- })
515
-
516
- if (response.errors) return
517
-
518
- return response.data?.inspectionDrawingType || {}
519
- }
520
-
521
- private async _onSelectBuilding(e) {
522
- const buildingId = e.target.value
523
- this.selectedBuilding = await this._getBuilding(buildingId)
524
- this.selectedLevel = await { ...this.selectedBuilding?.buildingLevels?.[0] }
525
- this.checklist = { ...this.checklist, location: `${this.selectedBuilding?.name || ''} ${this.selectedLevel.floor || ''}층` }
526
-
527
- await this.htmlSelectLevel.selectIndex(0)
528
- }
529
-
530
- private _onSelectBuildingLevel(e) {
531
- const buildingLevelId = e.target.value
532
- this.selectedLevel = {
533
- ...(this.selectedBuilding?.buildingLevels?.find(v => v.id == buildingLevelId) || {})
534
- }
535
- this.checklist = { ...this.checklist, location: `${this.selectedBuilding?.name || ''} ${this.selectedLevel.floor || ''}층` }
536
- }
537
-
538
- private async _onSelectConstructionType(e) {
539
- const constructionTypeId = e.target.value
540
- this.selectedConstructionType = await this._getConstructionType(constructionTypeId)
541
- this.selectedConstructionDetailType = await { ...this.selectedConstructionType?.constructionDetailTypes?.[0] }
542
- this.checklist = {
543
- ...this.checklist,
544
- constructionType: this.selectedConstructionType?.name,
545
- constructionDetailType: this.selectedConstructionDetailType?.name
546
- }
547
-
548
- await this.htmlSelectConstructionDetailType.selectIndex(0)
549
- }
550
-
551
- private _onSelectConstructionDetailType(e) {
552
- const constructionDetailTypeId = e.target.value
553
- this.selectedConstructionDetailType = {
554
- ...(this.selectedConstructionType?.constructionDetailTypes?.find(v => v.id == constructionDetailTypeId) || {})
555
- }
556
- this.checklist = {
557
- ...this.checklist,
558
- constructionType: this.selectedConstructionType?.name,
559
- constructionDetailType: this.selectedConstructionDetailType?.name
560
- }
561
- }
562
-
563
- private async _onSelectInspectionDrawingType(e) {
564
- const inspectionDrawingTypeId = e.target.value
565
- this.selectedInspectionDrawingType = await this._getInspectionDrawingType(inspectionDrawingTypeId)
566
- this.selectedInspectionParts = []
567
- this.checklist = {
568
- ...this.checklist,
569
- inspectionParts: this.selectedInspectionParts
570
- }
571
- }
572
-
573
- private async _onSelectInspectionPart(part) {
574
- if (this.selectedInspectionParts.includes(part.name)) {
575
- this.selectedInspectionParts = this.selectedInspectionParts.filter(item => item !== part.name)
576
- } else {
577
- this.selectedInspectionParts.push(part.name)
578
- }
579
-
580
- this.selectedInspectionParts = [...this.selectedInspectionParts]
581
- this.checklist = {
582
- ...this.checklist,
583
- inspectionParts: this.selectedInspectionParts
584
- }
585
- }
586
-
587
- isSelected(option: any): boolean {
588
- return this.selectedInspectionParts.includes(option.name)
589
- }
590
-
591
- requestRefresh() {
592
- this.dispatchEvent(new CustomEvent('requestRefresh'))
593
- }
594
-
595
- private _close() {
596
- history.back()
597
- }
598
-
599
- setGristConfig() {
600
- this.gristConfig = {
601
- columns: [
602
- { type: 'gutter', gutterName: 'row-selector', multiple: true },
603
- {
604
- type: 'gutter',
605
- gutterName: 'button',
606
- icon: 'arrow_upward',
607
- handlers: {
608
- click: 'move-up'
609
- }
610
- },
611
- {
612
- type: 'gutter',
613
- gutterName: 'button',
614
- icon: 'arrow_downward',
615
- handlers: {
616
- click: 'move-down'
617
- }
618
- },
619
- {
620
- type: 'select',
621
- name: 'mainType',
622
- header: '구분',
623
- record: {
624
- editable: true,
625
- options: [{ display: '', value: '' }].concat(
626
- Object.keys(CHECKLIST_MAIN_TYPE_LIST).map(key => ({ display: CHECKLIST_MAIN_TYPE_LIST[key], value: key }))
627
- )
628
- },
629
- width: 100
630
- },
631
- {
632
- type: 'select',
633
- name: 'detailType',
634
- header: '상세 구분',
635
- record: {
636
- editable: true,
637
- options: (columns, data, column) => [
638
- { display: '', value: '' },
639
- ...this.checklistDetailTypes.filter(v => v.mainType == column.mainType)
640
- ]
641
- },
642
- width: 200
643
- },
644
- {
645
- type: 'string',
646
- name: 'name',
647
- header: '검사 항목',
648
- record: {
649
- editable: true
650
- },
651
- width: 200
652
- },
653
- {
654
- type: 'string',
655
- name: 'inspctionCriteria',
656
- header: '검사 기준',
657
- record: {
658
- editable: true
659
- },
660
- width: 200
661
- }
662
- ],
663
- pagination: {
664
- infinite: true
665
- },
666
- sorters: [{ name: 'mainType' }, { name: 'sequence' }]
667
- }
668
- }
669
-
670
- async fetchHandler() {
671
- if (!this.checklistTemplateId) return []
672
-
673
- const response = await client.query({
674
- query: gql`
675
- query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {
676
- checklistTemplateItems(filters: $filters, pagination: $pagination, sortings: $sortings) {
677
- items {
678
- id
679
- sequence
680
- name
681
- inspctionCriteria
682
- mainType
683
- detailType
684
- }
685
- }
686
- }
687
- `,
688
- variables: {
689
- filters: {
690
- name: 'checklistTemplateId',
691
- value: this.checklistTemplateId,
692
- operator: 'eq'
693
- },
694
- sortings: [{ name: 'mainType' }, { name: 'sequence' }]
695
- }
696
- })
697
-
698
- // 체크리스트 아이템 데이터 갱신
699
- this.onChangeGird()
700
-
701
- return {
702
- records: response.data.checklistTemplateItems.items || []
703
- }
704
- }
705
-
706
- private _onSelectChecklistTemplate(e) {
707
- const checklistTemplateId = e.target.value
708
-
709
- // 체크 리스트 이름 셋팅
710
- this.checklist = { ...this.checklist, name: e.target.displayText }
711
-
712
- // 그리드 아이템 셋팅
713
- if (checklistTemplateId) {
714
- this.checklistTemplateId = checklistTemplateId
715
- this.grist.fetch()
716
- }
717
- }
718
-
719
- async _createInspection() {
720
- let patch: any = {}
721
-
722
- patch.buildingLevelId = this.htmlSelectLevel.value
723
- patch.checklist = {
724
- name: this.checklist.name,
725
- constructionType: this.htmlSelectConstructionType.displayText,
726
- constructionDetailType: this.htmlSelectConstructionDetailType.displayText,
727
- location: `${this.htmlSelectBuilding.displayText} ${this.htmlSelectLevel.displayText}층`,
728
- inspectionDrawingType: this.selectedInspectionDrawingType.name,
729
- inspectionParts: this.checklist.inspectionParts
730
- }
731
- patch.checklistItem = this.checklist.checklistItems?.map(item => {
732
- return {
733
- name: item.name,
734
- mainType: item.mainType,
735
- detailType: item.detailType,
736
- inspctionCriteria: item.inspctionCriteria
737
- }
738
- })
739
-
740
- const response = await client.mutate({
741
- mutation: gql`
742
- mutation CreateBuildingInspection($patch: NewBuildingInspection!) {
743
- createBuildingInspection(patch: $patch) {
744
- id
745
- }
746
- }
747
- `,
748
- variables: {
749
- patch
750
- }
751
- })
752
-
753
- if (!response.errors) {
754
- notify({ message: '검측 요청서를 등록하였습니다.' })
755
- this.requestRefresh()
756
- this._close()
757
- } else {
758
- notify({ message: response.errors?.[0]?.message || '검측 요청서 등록에 실패하였습니다.', level: 'error' })
759
- }
760
- }
761
- // Input 요소의 값이 변경될 때 호출되는 콜백 함수
762
- private _onInputChange(event: InputEvent) {
763
- const target = event.target as HTMLInputElement
764
- this[target.name] = target.value
765
- this.checklist = { ...this.checklist, name: target.value }
766
- }
767
-
768
- // 체크리스트 아이템 데이터 갱신
769
- private onChangeGird() {
770
- const checklistDetailTypes = Object.fromEntries(this.checklistDetailTypes.map(item => [item.value, item.display]))
771
- const grist = this.grist
772
-
773
- // grist field-change가 오는 시점이 데이터 변경 전이라 setTimeout으로 변경
774
- setTimeout(() => {
775
- this.checklist.checklistItems = grist.dirtyData.records.map((row, idx) => {
776
- return {
777
- ...row,
778
- detailType: checklistDetailTypes[row.detailType],
779
- sequence: idx
780
- }
781
- })
782
- this.checklist = { ...this.checklist }
783
- }, 100)
784
- }
785
- }