@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
@@ -0,0 +1,930 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import '@material/web/icon/icon.js';
3
+ import '@material/web/button/elevated-button.js';
4
+ import '@material/web/textfield/outlined-text-field.js';
5
+ import '@material/web/button/outlined-button.js';
6
+ import { PageView } from '@operato/shell';
7
+ import { css, html } from 'lit';
8
+ import { customElement, state, query } from 'lit/decorators.js';
9
+ import { ScopedElementsMixin } from '@open-wc/scoped-elements';
10
+ import { client } from '@operato/graphql';
11
+ import gql from 'graphql-tag';
12
+ import { notify, openPopup } from '@operato/layout';
13
+ import './component/notice-comment-popup';
14
+ import './component/grid-inspection-create-popup';
15
+ import { BUILDING_INSPECTION_STATUS_DISPLAY, BuildingInspectionStatus } from '../building-inspection/building-inspection-list';
16
+ import { verifyBiometric } from '@things-factory/auth-base/dist-client';
17
+ import { OxPrompt } from '@operato/popup';
18
+ import './component/plan-preview-popup';
19
+ let BuildingInspectionGridDetail = class BuildingInspectionGridDetail extends ScopedElementsMixin(PageView) {
20
+ constructor() {
21
+ super(...arguments);
22
+ this.defaultProject = {
23
+ name: '',
24
+ buildingComplex: {
25
+ buildings: []
26
+ }
27
+ };
28
+ this.project = Object.assign({}, this.defaultProject);
29
+ this.buildingInspections = [];
30
+ this.buildingInspectionSummaryOfProject = {};
31
+ this.buildingInspectionSummaryOfBuildingLevel = {};
32
+ this.selectedBuilding = {};
33
+ this.selectedLevel = {};
34
+ this.selectedInspection = {};
35
+ this.cell = '';
36
+ }
37
+ get context() {
38
+ return {
39
+ title: '층별 시공검측 상세 정보'
40
+ };
41
+ }
42
+ render() {
43
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
44
+ // 그리드 가로, 세로 길이 배열 생성
45
+ const planXScale = Array.from({ length: ((_b = (_a = this.project) === null || _a === void 0 ? void 0 : _a.buildingComplex) === null || _b === void 0 ? void 0 : _b.planXScale) || 0 }, (_, i) => i);
46
+ const planYScale = Array.from({ length: ((_d = (_c = this.project) === null || _c === void 0 ? void 0 : _c.buildingComplex) === null || _d === void 0 ? void 0 : _d.planYScale) || 0 }, (_, i) => i);
47
+ return html `
48
+ <div header>
49
+ <h2>${this.project.name} ${(_e = this.selectedBuilding) === null || _e === void 0 ? void 0 : _e.name} ${(_f = this.selectedLevel) === null || _f === void 0 ? void 0 : _f.floorDisplayName}층</h2>
50
+ <div button-container>
51
+ <md-elevated-button href=${`project-update/${this.project.id}`}>
52
+ <md-icon slot="icon">assignment</md-icon>프로젝트 정보 수정
53
+ </md-elevated-button>
54
+ <md-elevated-button href=${`project-plan-management/${this.project.id}`}>
55
+ <md-icon slot="icon">description</md-icon>도면 관리
56
+ </md-elevated-button>
57
+ <md-elevated-button @click=${this._openPlanPreviewPopup}>
58
+ <md-icon slot="icon">folder_eye</md-icon>추가 도면 보기
59
+ </md-elevated-button>
60
+ </div>
61
+ </div>
62
+
63
+ <div body>
64
+ <div left>
65
+ <div select>
66
+ <div>
67
+ <md-filled-select building @change=${this._onSelectBuilding}>
68
+ ${(_j = (_h = (_g = this.project) === null || _g === void 0 ? void 0 : _g.buildingComplex) === null || _h === void 0 ? void 0 : _h.buildings) === null || _j === void 0 ? void 0 : _j.map(building => {
69
+ var _a;
70
+ const selected = building.id === ((_a = this.selectedBuilding) === null || _a === void 0 ? void 0 : _a.id);
71
+ return html ` <md-select-option ?selected=${selected} .value=${building.id}>
72
+ <div slot="headline">${building.name}</div>
73
+ </md-select-option>`;
74
+ })}
75
+ </md-filled-select>
76
+
77
+ <md-filled-select level @change=${this._onSelectBuildingLevel}>
78
+ ${(_l = (_k = this.selectedBuilding) === null || _k === void 0 ? void 0 : _k.buildingLevels) === null || _l === void 0 ? void 0 : _l.map(level => {
79
+ const selected = level.id === this.selectedLevel.id;
80
+ return html `<md-select-option ?selected=${selected} .value=${level.id}>
81
+ <div slot="headline">${level.floor}</div>
82
+ </md-select-option>`;
83
+ })}
84
+ </md-filled-select>
85
+ </div>
86
+
87
+ <div state>
88
+ <span>
89
+ <md-icon request slot="icon">frame_inspect</md-icon> 검측대기
90
+ <span bold>${this.buildingInspectionSummaryOfProject[BuildingInspectionStatus.WAIT.toLowerCase()]}</span>
91
+ </span>
92
+ <span>
93
+ <md-icon request slot="icon">exclamation</md-icon> 검측요청
94
+ <span bold>${this.buildingInspectionSummaryOfProject[BuildingInspectionStatus.REQUEST.toLowerCase()]}</span>
95
+ </span>
96
+ <span>
97
+ <md-icon pass slot="icon">check</md-icon> 합격
98
+ <span bold>${this.buildingInspectionSummaryOfProject[BuildingInspectionStatus.PASS.toLowerCase()]}</span>
99
+ </span>
100
+ <span>
101
+ <md-icon fail slot="icon">close</md-icon> 불합격
102
+ <span bold>${this.buildingInspectionSummaryOfProject[BuildingInspectionStatus.FAIL.toLowerCase()]}</span>
103
+ </span>
104
+ </div>
105
+ </div>
106
+
107
+ <div drawing>
108
+ <img src=${((_m = this.selectedLevel) === null || _m === void 0 ? void 0 : _m.mainDrawingImage) || '/assets/images/img-drawing-default.png'} />
109
+
110
+ <div grid>
111
+ ${planXScale.map(v => html ` <div row=${v}>
112
+ ${planYScale.map(vv => {
113
+ const buildingInspection = this.buildingInspections.find(i => i.cellX === v && i.cellY === vv);
114
+ const status = (buildingInspection === null || buildingInspection === void 0 ? void 0 : buildingInspection.status) || '';
115
+ return html `<div
116
+ column=${vv}
117
+ cell=${`${v},${vv}`}
118
+ buildingInspectionId=${buildingInspection === null || buildingInspection === void 0 ? void 0 : buildingInspection.id}
119
+ status=${status}
120
+ @click=${this._onClickGrid}
121
+ >
122
+ ${this._getIconHtmlByStatus(status)}
123
+ </div>`;
124
+ })}
125
+ </div>`)}
126
+ </div>
127
+ </div>
128
+ </div>
129
+
130
+ <div right>
131
+ <div top bold>
132
+ <div>신규 등록 현황</div>
133
+ <div content>
134
+ <span>
135
+ <md-icon request slot="icon">frame_inspect</md-icon>
136
+ ${this.buildingInspectionSummaryOfBuildingLevel[BuildingInspectionStatus.WAIT.toLowerCase()]}
137
+ </span>
138
+ <span>
139
+ <md-icon request slot="icon">exclamation</md-icon>
140
+ ${this.buildingInspectionSummaryOfBuildingLevel[BuildingInspectionStatus.REQUEST.toLowerCase()]}
141
+ </span>
142
+ <span>
143
+ <md-icon pass slot="icon">check</md-icon>
144
+ ${this.buildingInspectionSummaryOfBuildingLevel[BuildingInspectionStatus.PASS.toLowerCase()]}
145
+ </span>
146
+ <span>
147
+ <md-icon fail slot="icon">close</md-icon>
148
+ ${this.buildingInspectionSummaryOfBuildingLevel[BuildingInspectionStatus.FAIL.toLowerCase()]}
149
+ </span>
150
+ </div>
151
+ </div>
152
+
153
+ <div bottom>
154
+ <div name bold>층별 공지사항</div>
155
+ <md-elevated-button @click=${e => this._onClicPopupNotice()}>
156
+ 공지사항 확인하기(${((_o = this.selectedLevel) === null || _o === void 0 ? void 0 : _o.noticeCount) || 0})
157
+ </md-elevated-button>
158
+
159
+ <div name bold>시공검측 세부사항</div>
160
+ ${html `
161
+ <div view>
162
+ <div status>
163
+ ${this._getIconHtmlByStatus(this.selectedInspection.status)}
164
+ <span bold> ${BUILDING_INSPECTION_STATUS_DISPLAY[this.selectedInspection.status]}</span>
165
+ </div>
166
+
167
+ <div>
168
+ <div date>공종 : ${((_q = (_p = this.selectedInspection) === null || _p === void 0 ? void 0 : _p.checklist) === null || _q === void 0 ? void 0 : _q.constructionType) || ''}</div>
169
+ </div>
170
+
171
+ <hr />
172
+
173
+ <div>
174
+ <div date>세부 공종 : ${((_s = (_r = this.selectedInspection) === null || _r === void 0 ? void 0 : _r.checklist) === null || _s === void 0 ? void 0 : _s.constructionDetailType) || ''}</div>
175
+ </div>
176
+
177
+ <hr />
178
+ <div>
179
+ <div date>검측일 : ${this.selectedInspection.requestDate}</div>
180
+ </div>
181
+
182
+ <hr />
183
+
184
+ <div manager>
185
+ 담당자 : ${(_u = (_t = this.selectedInspection) === null || _t === void 0 ? void 0 : _t.manager) === null || _u === void 0 ? void 0 : _u.name} <br />
186
+ ${(_w = (_v = this.selectedInspection) === null || _v === void 0 ? void 0 : _v.manager) === null || _w === void 0 ? void 0 : _w.phone}
187
+ </div>
188
+ <hr />
189
+ </div>
190
+
191
+ <!-- 전층 동일 적용 버튼 -->
192
+ ${this.selectedInspection.status
193
+ ? html `<md-filled-button apply-to-all @click=${() => this._onClickApplyToAll()}>전층 동일 적용</md-filled-button>`
194
+ : html ``}
195
+
196
+ <!-- 검측 정보 등록, 수정 버튼 -->
197
+ ${!this.cell || this.selectedInspection.status == BuildingInspectionStatus.PASS
198
+ ? html ``
199
+ : !this.selectedInspection.status
200
+ ? html `<md-outlined-button @click=${() => this._onClickCreateInspection()}>검측 정보 등록 </md-outlined-button>`
201
+ : html `<md-filled-button update @click=${() => this._onClickUpdateInspection()}
202
+ >검측 정보 수정
203
+ </md-filled-button> `}
204
+ `}
205
+ </div>
206
+ </div>
207
+ </div>
208
+ `;
209
+ }
210
+ async pageInitialized(lifecycle) { }
211
+ async pageUpdated(changes, lifecycle) {
212
+ if (this.active) {
213
+ const params = lifecycle.params;
214
+ await this.initProject(lifecycle.resourceId, params.buildingId, params.levelId);
215
+ }
216
+ }
217
+ async initProject(projectId = '', buildingId = '', levelId = '') {
218
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
219
+ const response = await client.query({
220
+ query: gql `
221
+ query Project(
222
+ $id: String!
223
+ $projectId: String!
224
+ $buildingLevelId: String!
225
+ $params: BuildingInspectionsOfBuildingLevel!
226
+ ) {
227
+ project(id: $id) {
228
+ id
229
+ name
230
+ buildingComplex {
231
+ id
232
+ planXScale
233
+ planYScale
234
+ overallConstructorEmails
235
+ taskConstructorEmails
236
+ overallSupervisoryEmails
237
+ taskSupervisoryEmails
238
+
239
+ buildings {
240
+ id
241
+ name
242
+ }
243
+ }
244
+ }
245
+
246
+ buildingInspectionSummaryOfProject(projectId: $projectId) {
247
+ wait
248
+ request
249
+ pass
250
+ fail
251
+ }
252
+
253
+ buildingInspectionSummaryOfBuildingLevel(buildingLevelId: $buildingLevelId) {
254
+ wait
255
+ request
256
+ pass
257
+ fail
258
+ }
259
+
260
+ buildingInspectionsOfBuildingLevel(params: $params) {
261
+ items {
262
+ id
263
+ cellX
264
+ cellY
265
+ status
266
+ requestDate
267
+ creator {
268
+ id
269
+ name
270
+ }
271
+ }
272
+ }
273
+ }
274
+ `,
275
+ variables: {
276
+ id: projectId,
277
+ projectId: projectId,
278
+ buildingLevelId: levelId,
279
+ params: { buildingLevelId: levelId }
280
+ }
281
+ });
282
+ if (response.errors)
283
+ return;
284
+ this.project = (_a = response.data) === null || _a === void 0 ? void 0 : _a.project;
285
+ this.buildingInspections = (_c = (_b = response.data) === null || _b === void 0 ? void 0 : _b.buildingInspectionsOfBuildingLevel) === null || _c === void 0 ? void 0 : _c.items;
286
+ this.buildingInspectionSummaryOfProject = (_d = response.data) === null || _d === void 0 ? void 0 : _d.buildingInspectionSummaryOfProject;
287
+ this.buildingInspectionSummaryOfBuildingLevel = (_e = response.data) === null || _e === void 0 ? void 0 : _e.buildingInspectionSummaryOfBuildingLevel;
288
+ // buildingId 파라미터가 있으면 선택된 빌딩, 없으면 첫번째 빌딩 선택
289
+ this.selectedBuilding = buildingId
290
+ ? (_h = (_g = (_f = this.project) === null || _f === void 0 ? void 0 : _f.buildingComplex) === null || _g === void 0 ? void 0 : _g.buildings) === null || _h === void 0 ? void 0 : _h.filter(v => v.id === buildingId)[0]
291
+ : (_l = (_k = (_j = this.project) === null || _j === void 0 ? void 0 : _j.buildingComplex) === null || _k === void 0 ? void 0 : _k.buildings) === null || _l === void 0 ? void 0 : _l[0];
292
+ // 선택된 동의 층 리스트 가져오기
293
+ this.selectedBuilding = await this._getBuilding(this.selectedBuilding.id);
294
+ // levelId 파라미터가 있으면 선택된 층, 없으면 첫번째 층 선택
295
+ this.selectedLevel = levelId
296
+ ? (_o = (_m = this.selectedBuilding) === null || _m === void 0 ? void 0 : _m.buildingLevels) === null || _o === void 0 ? void 0 : _o.filter(v => v.id === levelId)[0]
297
+ : (_q = (_p = this.selectedBuilding) === null || _p === void 0 ? void 0 : _p.buildingLevels) === null || _q === void 0 ? void 0 : _q[0];
298
+ // 동, 층이 랜더링 된 후에 select를 위해 이 시점에서 랜더링
299
+ this.selectedBuilding = await Object.assign({}, this.selectedBuilding);
300
+ // 기본 값 셋팅 select
301
+ await this.htmlSelectBuilding.select(this.selectedBuilding.id);
302
+ await this.htmlSelectLevel.select(this.selectedLevel.id);
303
+ }
304
+ async _getBuilding(buildingId = '') {
305
+ var _a;
306
+ const response = await client.query({
307
+ query: gql `
308
+ query Building($id: String!) {
309
+ building(id: $id) {
310
+ id
311
+ name
312
+ buildingLevels {
313
+ id
314
+ floor
315
+ floorDisplayName
316
+ noticeCount
317
+ mainDrawing {
318
+ id
319
+ name
320
+ fullpath
321
+ }
322
+ mainDrawingImage
323
+ }
324
+ }
325
+ }
326
+ `,
327
+ variables: {
328
+ id: buildingId
329
+ }
330
+ });
331
+ if (response.errors)
332
+ return;
333
+ return ((_a = response.data) === null || _a === void 0 ? void 0 : _a.building) || {};
334
+ }
335
+ async _getBuildingInspection(buildingInspectionId = '') {
336
+ var _a;
337
+ const response = await client.query({
338
+ query: gql `
339
+ query BuildingInspection($id: String!) {
340
+ buildingInspection(id: $id) {
341
+ id
342
+ cellX
343
+ cellY
344
+ status
345
+ requestDate
346
+
347
+ checklist {
348
+ id
349
+ name
350
+ constructionType
351
+ constructionDetailType
352
+ location
353
+ inspectionParts
354
+ documentNo
355
+ constructionInspectionDate
356
+ supervisorInspectionDate
357
+ overallConstructorSignature
358
+ taskConstructorSignature
359
+ overallSupervisorySignature
360
+ taskSupervisorySignature
361
+
362
+ checklistItems {
363
+ id
364
+ name
365
+ sequence
366
+ mainType
367
+ detailType
368
+ inspctionCriteria
369
+ constructionConfirmStatus
370
+ supervisoryConfirmStatus
371
+ checklistItemCommentCount
372
+ checklistItemAttachmentCount
373
+ }
374
+ }
375
+
376
+ manager {
377
+ userId
378
+ name
379
+ }
380
+ }
381
+ }
382
+ `,
383
+ variables: {
384
+ id: buildingInspectionId
385
+ }
386
+ });
387
+ if (response.errors)
388
+ return;
389
+ return ((_a = response.data) === null || _a === void 0 ? void 0 : _a.buildingInspection) || {};
390
+ }
391
+ async _onSelectBuilding(e) {
392
+ var _a, _b;
393
+ const buildingId = e.target.value;
394
+ this.selectedBuilding = await this._getBuilding(buildingId);
395
+ this.selectedLevel = Object.assign({}, (_b = (_a = this.selectedBuilding) === null || _a === void 0 ? void 0 : _a.buildingLevels) === null || _b === void 0 ? void 0 : _b[0]);
396
+ this.refresh();
397
+ }
398
+ _onSelectBuildingLevel(e) {
399
+ var _a, _b, _c;
400
+ // SELECT event는 target, 팝업 Close는 detail
401
+ const buildingLevelId = ((_a = e === null || e === void 0 ? void 0 : e.target) === null || _a === void 0 ? void 0 : _a.value) || e.detail.buildingLevelId;
402
+ this.selectedLevel = Object.assign({}, (((_c = (_b = this.selectedBuilding) === null || _b === void 0 ? void 0 : _b.buildingLevels) === null || _c === void 0 ? void 0 : _c.find(v => v.id == buildingLevelId)) || {}));
403
+ this.refresh();
404
+ }
405
+ async _onClickGrid(e) {
406
+ var _a;
407
+ const target = e.currentTarget;
408
+ const buildingInspectionId = target.getAttribute('buildingInspectionId');
409
+ const cell = target.getAttribute('cell');
410
+ // active 속성 모두 제거후 클릭한 셀만 active로 변경
411
+ (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('div[cell][active]').forEach(e => e.removeAttribute('active'));
412
+ target.setAttribute('active', true);
413
+ const [cellX, cellY] = cell.split(',');
414
+ this.selectedInspection = buildingInspectionId ? await this._getBuildingInspection(buildingInspectionId) : { cellX, cellY };
415
+ this.cell = cell;
416
+ }
417
+ _onClicPopupNotice() {
418
+ var _a, _b;
419
+ openPopup(html `<notice-comment-popup
420
+ .buildingLevelId=${this.selectedLevel.id}
421
+ .title=${`${(_a = this.selectedBuilding) === null || _a === void 0 ? void 0 : _a.name} ${(_b = this.selectedLevel) === null || _b === void 0 ? void 0 : _b.floor}층 공지사항`}
422
+ @change-comment=${(e) => {
423
+ if (e.detail.type === 'create') {
424
+ this.selectedLevel.noticeCount++; // 코멘트 카운트 + 1
425
+ }
426
+ else if (e.detail.type === 'delete') {
427
+ this.selectedLevel.noticeCount--; // 코멘트 카운트 - 1
428
+ }
429
+ this.requestUpdate();
430
+ }}
431
+ ></notice-comment-popup>`, { backdrop: true, size: 'medium', title: '층별 공지사항' });
432
+ }
433
+ _onClickCreateInspection() {
434
+ if (!this.cell) {
435
+ notify({ message: '셀을 선택해주세요.' });
436
+ return;
437
+ }
438
+ openPopup(html `
439
+ <grid-inspection-create-popup
440
+ .projectId=${this.project.id}
441
+ .selectedBuildingId=${this.selectedBuilding.id}
442
+ .selectedBuildingLevelId=${this.selectedLevel.id}
443
+ .cell=${this.cell}
444
+ @requestRefresh=${async (e) => {
445
+ await this.refresh(e.detail.buildingInspectionId);
446
+ }}
447
+ ></grid-inspection-create-popup>
448
+ `, { backdrop: true, size: 'large', title: '검측 요청서 등록' });
449
+ }
450
+ _onClickUpdateInspection() {
451
+ var _a;
452
+ openPopup(html `
453
+ <div style="overflow-y: auto; height: 100%;">
454
+ <checklist-view
455
+ .mode=${"EDITOR" /* ChecklistMode.EDITOR */}
456
+ .status=${this.selectedInspection.status}
457
+ .checklist=${this.selectedInspection.checklist || {}}
458
+ .buildingComplex=${((_a = this.project) === null || _a === void 0 ? void 0 : _a.buildingComplex) || {}}
459
+ ></checklist-view>
460
+
461
+ <div style="text-align: right; margin-right: 20px; margin-bottom: 15px">
462
+ <md-elevated-button
463
+ ?disabled=${this.selectedInspection.status == BuildingInspectionStatus.PASS}
464
+ @click=${this._onClickModifyChecklist.bind(this)}
465
+ >
466
+ <md-icon slot="icon">assignment</md-icon>등록
467
+ </md-elevated-button>
468
+ </div>
469
+ </div>
470
+ `, { backdrop: true, size: 'large', title: '검측 요청서 수정' });
471
+ }
472
+ async refresh(buildingInspectionId = '') {
473
+ // 그리드, 서머리 정보 갱신
474
+ await this.initProject(this.project.id, this.selectedBuilding.id, this.selectedLevel.id);
475
+ // 선택된 검측 정보 갱신
476
+ this.selectedInspection = buildingInspectionId ? await this._getBuildingInspection(buildingInspectionId) : {};
477
+ }
478
+ _getIconHtmlByStatus(status) {
479
+ if (!status)
480
+ return '';
481
+ if (status == BuildingInspectionStatus.WAIT || status == BuildingInspectionStatus.OVERALL_WAIT) {
482
+ return html `<md-icon request slot="icon">frame_inspect</md-icon>`;
483
+ }
484
+ if (status == BuildingInspectionStatus.REQUEST || status == BuildingInspectionStatus.OVERALL_REQUEST) {
485
+ return html `<md-icon request slot="icon">exclamation</md-icon>`;
486
+ }
487
+ if (status == BuildingInspectionStatus.PASS) {
488
+ return html `<md-icon pass slot="icon">check</md-icon>`;
489
+ }
490
+ return html `<md-icon fail slot="icon">close</md-icon>`;
491
+ }
492
+ _onClickModifyChecklist() {
493
+ this.validateChecklist(this.selectedInspection.checklist);
494
+ }
495
+ async validateChecklist(checklist) {
496
+ var _a, _b;
497
+ try {
498
+ const result = await verifyBiometric();
499
+ if (result.verified) {
500
+ console.log('Verification successful. Proceeding with sensitive action.');
501
+ }
502
+ else {
503
+ notify({ message: 'Verification failed:' + result.message });
504
+ return;
505
+ }
506
+ }
507
+ catch (error) {
508
+ notify({ message: 'Error during biometric verification:' + error });
509
+ return;
510
+ }
511
+ const response = await client.mutate({
512
+ mutation: gql `
513
+ mutation UpdateBuildingInspectionChecklist($buildingInspection: UpdateBuildingInspectionSubmitType!) {
514
+ updateBuildingInspectionChecklist(buildingInspection: $buildingInspection)
515
+ }
516
+ `,
517
+ variables: {
518
+ buildingInspection: {
519
+ id: this.selectedInspection.id,
520
+ checklist: {
521
+ id: checklist.id,
522
+ overallConstructorSignature: checklist.overallConstructorSignature,
523
+ taskConstructorSignature: checklist.taskConstructorSignature,
524
+ overallSupervisorySignature: checklist.overallSupervisorySignature,
525
+ taskSupervisorySignature: checklist.taskSupervisorySignature
526
+ },
527
+ checklistItem: checklist.checklistItems.map(item => ({
528
+ id: item.id,
529
+ constructionConfirmStatus: item.constructionConfirmStatus,
530
+ supervisoryConfirmStatus: item.supervisoryConfirmStatus
531
+ }))
532
+ }
533
+ }
534
+ });
535
+ if (!response.errors) {
536
+ notify({ message: '검측 요청서를 등록하였습니다.' });
537
+ this.refresh(this.selectedInspection.id);
538
+ history.back();
539
+ }
540
+ else {
541
+ notify({ message: ((_b = (_a = response.errors) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.message) || '검측 요청서 등록에 실패하였습니다.', level: 'error' });
542
+ }
543
+ }
544
+ async _onClickApplyToAll() {
545
+ var _a, _b;
546
+ if ((await OxPrompt.open({
547
+ title: '전층 동일 적용',
548
+ text: '해당 검측을 전층에 동일하게 적용 하시겠습니까?',
549
+ confirmButton: { text: '확인' },
550
+ cancelButton: { text: '취소' }
551
+ })) === false) {
552
+ return;
553
+ }
554
+ const response = await client.mutate({
555
+ mutation: gql `
556
+ mutation ApplyToAllBuildingInspection($buildingInspectionId: String!) {
557
+ applyToAllBuildingInspection(buildingInspectionId: $buildingInspectionId)
558
+ }
559
+ `,
560
+ variables: {
561
+ buildingInspectionId: this.selectedInspection.id
562
+ }
563
+ });
564
+ if (!response.errors) {
565
+ notify({ message: '전층 동일 적용 완료' });
566
+ this.refresh(this.selectedInspection.id);
567
+ }
568
+ else {
569
+ notify({ message: ((_b = (_a = response.errors) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.message) || '전층 동일 적용에 실패하였습니다.', level: 'error' });
570
+ }
571
+ }
572
+ _openPlanPreviewPopup() {
573
+ openPopup(html `<plan-preview-popup .buildingLevelId=${this.selectedLevel.id}></plan-preview-popup>`, {
574
+ backdrop: true,
575
+ size: 'large',
576
+ title: '추가 도면 보기'
577
+ });
578
+ }
579
+ };
580
+ BuildingInspectionGridDetail.styles = [
581
+ css `
582
+ :host {
583
+ display: grid;
584
+ grid-template-rows: 75px auto;
585
+ color: #4e5055;
586
+
587
+ width: 100%;
588
+ background-color: #f7f7f7;
589
+ overflow-y: auto;
590
+
591
+ --grid-record-emphasized-background-color: red;
592
+ --grid-record-emphasized-color: yellow;
593
+ }
594
+
595
+ md-filled-button {
596
+ --md-filled-button-container-color: #0595e5;
597
+ --md-filled-button-container-height: 30px;
598
+ --md-filled-button-trailing-space: 15px;
599
+ --md-filled-button-leading-space: 15px;
600
+ }
601
+ md-filled-button[update] {
602
+ --md-filled-button-container-color: #42b382;
603
+ }
604
+ md-filled-button[apply-to-all] {
605
+ --md-filled-button-container-color: #aaa;
606
+ }
607
+ md-outlined-button {
608
+ color: #586878;
609
+ font-weight: bold;
610
+ --md-outlined-button-label-text-size: 13px;
611
+ --md-outlined-button-container-height: 30px;
612
+ --md-outlined-button-trailing-space: 15px;
613
+ --md-outlined-button-leading-space: 15px;
614
+ }
615
+ md-filled-select {
616
+ width: auto;
617
+ min-width: 150px;
618
+ --md-filled-select-text-field-container-color: transparent;
619
+ --md-filled-select-text-field-active-indicator-color: #999;
620
+ --md-filled-select-text-field-input-text-size: 14px;
621
+ --md-filled-select-text-field-input-text-weight: bold;
622
+ --md-filled-select-text-field-input-text-line-height: 6px;
623
+ }
624
+ md-filled-select[level] {
625
+ min-width: 110px;
626
+ margin-left: 20px;
627
+ }
628
+
629
+ md-icon[request],
630
+ md-icon[pass],
631
+ md-icon[fail] {
632
+ width: 20px;
633
+ height: 20px;
634
+ margin-right: 4px;
635
+ border-radius: 5px;
636
+ font-size: 21px;
637
+ font-weight: 700;
638
+ color: #fff;
639
+ }
640
+ md-icon[request] {
641
+ background-color: #4e5055;
642
+ }
643
+ md-icon[pass] {
644
+ background-color: #4bbb4a;
645
+ }
646
+ md-icon[fail] {
647
+ background-color: #ff4444;
648
+ }
649
+
650
+ *[bold] {
651
+ font-weight: bold;
652
+ }
653
+
654
+ div[header] {
655
+ display: flex;
656
+ margin: 0px 20px;
657
+
658
+ h2 {
659
+ flex: 0.5;
660
+ color: #3f71a0;
661
+ }
662
+
663
+ div[button-container] {
664
+ display: flex;
665
+ align-items: center;
666
+ justify-content: end;
667
+ flex: 0.5;
668
+
669
+ md-elevated-button {
670
+ margin: 0px 3px;
671
+
672
+ --md-elevated-button-container-height: 35px;
673
+ --md-elevated-button-label-text-size: 16px;
674
+ --md-elevated-button-container-color: #0595e5;
675
+
676
+ --md-elevated-button-label-text-color: #fff;
677
+ --md-elevated-button-hover-label-text-color: #fff;
678
+ --md-elevated-button-pressed-label-text-color: #fff;
679
+ --md-elevated-button-focus-label-text-color: #fff;
680
+ --md-elevated-button-icon-color: #fff;
681
+ --md-elevated-button-hover-icon-color: #fff;
682
+ --md-elevated-button-pressed-icon-color: #fff;
683
+ --md-elevated-button-focus-icon-color: #fff;
684
+ }
685
+ }
686
+ }
687
+
688
+ div[body] {
689
+ display: grid;
690
+ grid-template-columns: 1fr 200px;
691
+ margin: 0px 25px 25px 25px;
692
+ gap: 10px;
693
+ min-height: fit-content;
694
+
695
+ h3 {
696
+ color: #2e79be;
697
+ font-size: 18px;
698
+ margin: 0px;
699
+ }
700
+
701
+ & > div {
702
+ display: flex;
703
+ gap: 10px;
704
+ border-radius: 5px;
705
+ }
706
+
707
+ div[left] {
708
+ flex-direction: column;
709
+
710
+ div[select] {
711
+ display: flex;
712
+ align-items: center;
713
+ justify-content: space-between;
714
+ background-color: #2ea4df1a;
715
+ border: 1px solid #2ea4df33;
716
+ font-size: 18px;
717
+ padding: 7px 10px;
718
+ border-radius: 5px;
719
+ gap: 12px;
720
+
721
+ & > div[state] {
722
+ display: flex;
723
+ font-size: 15px;
724
+ margin-right: 12px;
725
+ gap: 10px;
726
+
727
+ & > span {
728
+ display: flex;
729
+ align-items: center;
730
+ margin-left: 15px;
731
+ gap: 2px;
732
+ }
733
+ }
734
+ }
735
+
736
+ div[drawing] {
737
+ width: 100%;
738
+ background-color: #ffffff;
739
+ border: 1px solid #cccccc;
740
+ border-radius: 5px;
741
+ position: relative;
742
+ }
743
+
744
+ img {
745
+ width: 100%;
746
+ background-size: contain;
747
+ }
748
+
749
+ div[grid] {
750
+ display: flex;
751
+ position: absolute;
752
+ width: 100%;
753
+ height: 100%;
754
+ top: 0;
755
+ left: 0;
756
+ border: 1px #ccc solid;
757
+ justify-content: space-between;
758
+
759
+ & > div[row] {
760
+ display: flex;
761
+ flex-direction: column;
762
+ justify-content: space-between;
763
+ flex: 1;
764
+
765
+ & > div[column] {
766
+ flex: 1;
767
+ border: dashed 1px #2ea4df99;
768
+ display: flex;
769
+ justify-content: center;
770
+ align-items: center;
771
+ }
772
+ }
773
+
774
+ div[row='1'] div[column] {
775
+ border-left: none !important;
776
+ }
777
+ div[row]:last-of-type div[column] {
778
+ border-right: none !important;
779
+ }
780
+ div[column='1'] {
781
+ border-top: none !important;
782
+ }
783
+ div[column]:last-of-type {
784
+ border-bottom: none !important;
785
+ }
786
+
787
+ div[cell] {
788
+ &[status='WAIT'],
789
+ &[status='REQUEST'],
790
+ &[status='OVERALL_WAIT'],
791
+ &[status='OVERALL_REQUEST'],
792
+ &[status='PASS'],
793
+ &[status='FAIL'] {
794
+ background-color: #2ea4df1a;
795
+ }
796
+
797
+ &[active] {
798
+ background-color: #2ea4df99;
799
+ }
800
+ }
801
+ }
802
+ }
803
+
804
+ div[right] {
805
+ flex-direction: column;
806
+ gap: 15px;
807
+
808
+ & > div {
809
+ background-color: #ffffff;
810
+ border: 1px solid #cccccc80;
811
+ padding: 11px 12px 15px 12px;
812
+ border-radius: 5px;
813
+ }
814
+
815
+ div[top] {
816
+ div[content] {
817
+ display: grid;
818
+ grid-template-columns: 1fr 1fr;
819
+ gap: 5px;
820
+ align-items: center;
821
+ margin-top: 8px;
822
+ justify-content: space-between;
823
+
824
+ span {
825
+ display: flex;
826
+ align-items: center;
827
+ min-width: 55px;
828
+ }
829
+ }
830
+ }
831
+
832
+ div[bottom] {
833
+ display: flex;
834
+ flex-direction: column;
835
+ flex: 1;
836
+ gap: 10px;
837
+
838
+ & > div {
839
+ display: flex;
840
+ flex-direction: column;
841
+ gap: 9px;
842
+
843
+ hr {
844
+ border: 1px #cccccc dashed;
845
+ width: 100%;
846
+ margin: 0;
847
+ }
848
+ }
849
+
850
+ div[view] {
851
+ flex: 1;
852
+
853
+ div[status] {
854
+ display: flex;
855
+ align-items: center;
856
+ margin-bottom: 7px;
857
+ }
858
+
859
+ div[date],
860
+ div[manager] {
861
+ font-size: 14px;
862
+ }
863
+ }
864
+
865
+ div[edit] {
866
+ flex: 1;
867
+ }
868
+
869
+ md-elevated-button {
870
+ --md-elevated-button-container-color: #fafafa;
871
+
872
+ --md-elevated-button-label-text-color: #586878;
873
+ --md-elevated-button-hover-label-text-color: #586878;
874
+ --md-elevated-button-pressed-label-text-color: #586878;
875
+ --md-elevated-button-focus-label-text-color: #586878;
876
+ --md-elevated-button-icon-color: #586878;
877
+ --md-elevated-button-hover-icon-color: #586878;
878
+ --md-elevated-button-pressed-icon-color: #586878;
879
+ --md-elevated-button-focus-icon-color: #586878;
880
+ }
881
+ }
882
+ }
883
+ }
884
+ `
885
+ ];
886
+ __decorate([
887
+ state(),
888
+ __metadata("design:type", Object)
889
+ ], BuildingInspectionGridDetail.prototype, "project", void 0);
890
+ __decorate([
891
+ state(),
892
+ __metadata("design:type", Object)
893
+ ], BuildingInspectionGridDetail.prototype, "buildingInspections", void 0);
894
+ __decorate([
895
+ state(),
896
+ __metadata("design:type", Object)
897
+ ], BuildingInspectionGridDetail.prototype, "buildingInspectionSummaryOfProject", void 0);
898
+ __decorate([
899
+ state(),
900
+ __metadata("design:type", Object)
901
+ ], BuildingInspectionGridDetail.prototype, "buildingInspectionSummaryOfBuildingLevel", void 0);
902
+ __decorate([
903
+ state(),
904
+ __metadata("design:type", Object)
905
+ ], BuildingInspectionGridDetail.prototype, "selectedBuilding", void 0);
906
+ __decorate([
907
+ state(),
908
+ __metadata("design:type", Object)
909
+ ], BuildingInspectionGridDetail.prototype, "selectedLevel", void 0);
910
+ __decorate([
911
+ state(),
912
+ __metadata("design:type", Object)
913
+ ], BuildingInspectionGridDetail.prototype, "selectedInspection", void 0);
914
+ __decorate([
915
+ state(),
916
+ __metadata("design:type", String)
917
+ ], BuildingInspectionGridDetail.prototype, "cell", void 0);
918
+ __decorate([
919
+ query('md-filled-select[building]'),
920
+ __metadata("design:type", Object)
921
+ ], BuildingInspectionGridDetail.prototype, "htmlSelectBuilding", void 0);
922
+ __decorate([
923
+ query('md-filled-select[level]'),
924
+ __metadata("design:type", Object)
925
+ ], BuildingInspectionGridDetail.prototype, "htmlSelectLevel", void 0);
926
+ BuildingInspectionGridDetail = __decorate([
927
+ customElement('building-inspection-grid-detail')
928
+ ], BuildingInspectionGridDetail);
929
+ export { BuildingInspectionGridDetail };
930
+ //# sourceMappingURL=building-inspection-grid-detail.js.map