@things-factory/ops-master 10.1.246 → 10.1.248

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 (429) hide show
  1. package/package.json +5 -5
  2. package/dist-client/bootstrap.d.ts +0 -19
  3. package/dist-client/bootstrap.js +0 -66
  4. package/dist-client/bootstrap.js.map +0 -1
  5. package/dist-client/index.d.ts +0 -17
  6. package/dist-client/index.js +0 -21
  7. package/dist-client/index.js.map +0 -1
  8. package/dist-client/master-change-approval.d.ts +0 -14
  9. package/dist-client/master-change-approval.js +0 -36
  10. package/dist-client/master-change-approval.js.map +0 -1
  11. package/dist-client/master-change-policy-axes.d.ts +0 -37
  12. package/dist-client/master-change-policy-axes.js +0 -29
  13. package/dist-client/master-change-policy-axes.js.map +0 -1
  14. package/dist-client/master-change-policy-panel.d.ts +0 -59
  15. package/dist-client/master-change-policy-panel.js +0 -454
  16. package/dist-client/master-change-policy-panel.js.map +0 -1
  17. package/dist-client/master-change-providers.d.ts +0 -4
  18. package/dist-client/master-change-providers.js +0 -91
  19. package/dist-client/master-change-providers.js.map +0 -1
  20. package/dist-client/pages/master/applied-when-dialog.d.ts +0 -48
  21. package/dist-client/pages/master/applied-when-dialog.js +0 -137
  22. package/dist-client/pages/master/applied-when-dialog.js.map +0 -1
  23. package/dist-client/pages/master/assignment-fields.d.ts +0 -27
  24. package/dist-client/pages/master/assignment-fields.js +0 -62
  25. package/dist-client/pages/master/assignment-fields.js.map +0 -1
  26. package/dist-client/pages/master/equipment-class.d.ts +0 -12
  27. package/dist-client/pages/master/equipment-class.js +0 -42
  28. package/dist-client/pages/master/equipment-class.js.map +0 -1
  29. package/dist-client/pages/master/equipment.d.ts +0 -12
  30. package/dist-client/pages/master/equipment.js +0 -58
  31. package/dist-client/pages/master/equipment.js.map +0 -1
  32. package/dist-client/pages/master/grist-iso-duration.d.ts +0 -20
  33. package/dist-client/pages/master/grist-iso-duration.js +0 -70
  34. package/dist-client/pages/master/grist-iso-duration.js.map +0 -1
  35. package/dist-client/pages/master/grist-reference.d.ts +0 -91
  36. package/dist-client/pages/master/grist-reference.js +0 -419
  37. package/dist-client/pages/master/grist-reference.js.map +0 -1
  38. package/dist-client/pages/master/import-rows.d.ts +0 -35
  39. package/dist-client/pages/master/import-rows.js +0 -66
  40. package/dist-client/pages/master/import-rows.js.map +0 -1
  41. package/dist-client/pages/master/iso-duration.d.ts +0 -34
  42. package/dist-client/pages/master/iso-duration.js +0 -76
  43. package/dist-client/pages/master/iso-duration.js.map +0 -1
  44. package/dist-client/pages/master/master-options.d.ts +0 -40
  45. package/dist-client/pages/master/master-options.js +0 -54
  46. package/dist-client/pages/master/master-options.js.map +0 -1
  47. package/dist-client/pages/master/master-page-base.d.ts +0 -369
  48. package/dist-client/pages/master/master-page-base.js +0 -657
  49. package/dist-client/pages/master/master-page-base.js.map +0 -1
  50. package/dist-client/pages/master/material-class.d.ts +0 -12
  51. package/dist-client/pages/master/material-class.js +0 -42
  52. package/dist-client/pages/master/material-class.js.map +0 -1
  53. package/dist-client/pages/master/material-definition.d.ts +0 -5
  54. package/dist-client/pages/master/material-definition.js +0 -14
  55. package/dist-client/pages/master/material-definition.js.map +0 -1
  56. package/dist-client/pages/master/material-revision-fields.d.ts +0 -2
  57. package/dist-client/pages/master/material-revision-fields.js +0 -43
  58. package/dist-client/pages/master/material-revision-fields.js.map +0 -1
  59. package/dist-client/pages/master/operation-definition.d.ts +0 -12
  60. package/dist-client/pages/master/operation-definition.js +0 -49
  61. package/dist-client/pages/master/operation-definition.js.map +0 -1
  62. package/dist-client/pages/master/operational-location.d.ts +0 -84
  63. package/dist-client/pages/master/operational-location.js +0 -432
  64. package/dist-client/pages/master/operational-location.js.map +0 -1
  65. package/dist-client/pages/master/person.d.ts +0 -12
  66. package/dist-client/pages/master/person.js +0 -41
  67. package/dist-client/pages/master/person.js.map +0 -1
  68. package/dist-client/pages/master/personnel-class.d.ts +0 -12
  69. package/dist-client/pages/master/personnel-class.js +0 -43
  70. package/dist-client/pages/master/personnel-class.js.map +0 -1
  71. package/dist-client/pages/master/physical-asset-class.d.ts +0 -12
  72. package/dist-client/pages/master/physical-asset-class.js +0 -40
  73. package/dist-client/pages/master/physical-asset-class.js.map +0 -1
  74. package/dist-client/pages/master/physical-asset.d.ts +0 -12
  75. package/dist-client/pages/master/physical-asset.js +0 -41
  76. package/dist-client/pages/master/physical-asset.js.map +0 -1
  77. package/dist-client/pages/master/recipe-definition.d.ts +0 -5
  78. package/dist-client/pages/master/recipe-definition.js +0 -14
  79. package/dist-client/pages/master/recipe-definition.js.map +0 -1
  80. package/dist-client/pages/master/reference-targets.d.ts +0 -42
  81. package/dist-client/pages/master/reference-targets.js +0 -82
  82. package/dist-client/pages/master/reference-targets.js.map +0 -1
  83. package/dist-client/pages/master/revision-comparison.d.ts +0 -49
  84. package/dist-client/pages/master/revision-comparison.js +0 -560
  85. package/dist-client/pages/master/revision-comparison.js.map +0 -1
  86. package/dist-client/pages/master/revision-view.d.ts +0 -34
  87. package/dist-client/pages/master/revision-view.js +0 -145
  88. package/dist-client/pages/master/revision-view.js.map +0 -1
  89. package/dist-client/pages/master/revision-workspace.d.ts +0 -50
  90. package/dist-client/pages/master/revision-workspace.js +0 -763
  91. package/dist-client/pages/master/revision-workspace.js.map +0 -1
  92. package/dist-client/pages/master/route-definition.d.ts +0 -19
  93. package/dist-client/pages/master/route-definition.js +0 -40
  94. package/dist-client/pages/master/route-definition.js.map +0 -1
  95. package/dist-client/pages/master/stop-reason.d.ts +0 -12
  96. package/dist-client/pages/master/stop-reason.js +0 -48
  97. package/dist-client/pages/master/stop-reason.js.map +0 -1
  98. package/dist-client/pages/master/test-specification.d.ts +0 -5
  99. package/dist-client/pages/master/test-specification.js +0 -14
  100. package/dist-client/pages/master/test-specification.js.map +0 -1
  101. package/dist-client/pages/master-axes.d.ts +0 -24
  102. package/dist-client/pages/master-axes.js +0 -39
  103. package/dist-client/pages/master-axes.js.map +0 -1
  104. package/dist-client/route.d.ts +0 -1
  105. package/dist-client/route.js +0 -81
  106. package/dist-client/route.js.map +0 -1
  107. package/dist-client/tsconfig.tsbuildinfo +0 -1
  108. package/dist-server/index.d.ts +0 -1
  109. package/dist-server/index.js +0 -19
  110. package/dist-server/index.js.map +0 -1
  111. package/dist-server/service/ai-entry/master-entry-rules.d.ts +0 -175
  112. package/dist-server/service/ai-entry/master-entry-rules.js +0 -302
  113. package/dist-server/service/ai-entry/master-entry-rules.js.map +0 -1
  114. package/dist-server/service/ai-entry/master-entry-targets.d.ts +0 -23
  115. package/dist-server/service/ai-entry/master-entry-targets.js +0 -293
  116. package/dist-server/service/ai-entry/master-entry-targets.js.map +0 -1
  117. package/dist-server/service/approval-route.d.ts +0 -37
  118. package/dist-server/service/approval-route.js +0 -34
  119. package/dist-server/service/approval-route.js.map +0 -1
  120. package/dist-server/service/asset/asset-lifecycle.d.ts +0 -106
  121. package/dist-server/service/asset/asset-lifecycle.js +0 -126
  122. package/dist-server/service/asset/asset-lifecycle.js.map +0 -1
  123. package/dist-server/service/asset/asset-master-resolver.d.ts +0 -53
  124. package/dist-server/service/asset/asset-master-resolver.js +0 -185
  125. package/dist-server/service/asset/asset-master-resolver.js.map +0 -1
  126. package/dist-server/service/asset/asset-master.d.ts +0 -21
  127. package/dist-server/service/asset/asset-master.js +0 -25
  128. package/dist-server/service/asset/asset-master.js.map +0 -1
  129. package/dist-server/service/asset/asset-query.d.ts +0 -16
  130. package/dist-server/service/asset/asset-query.js +0 -72
  131. package/dist-server/service/asset/asset-query.js.map +0 -1
  132. package/dist-server/service/asset/index.d.ts +0 -6
  133. package/dist-server/service/asset/index.js +0 -10
  134. package/dist-server/service/asset/index.js.map +0 -1
  135. package/dist-server/service/asset/physical-asset-class.d.ts +0 -34
  136. package/dist-server/service/asset/physical-asset-class.js +0 -104
  137. package/dist-server/service/asset/physical-asset-class.js.map +0 -1
  138. package/dist-server/service/asset/physical-asset.d.ts +0 -66
  139. package/dist-server/service/asset/physical-asset.js +0 -123
  140. package/dist-server/service/asset/physical-asset.js.map +0 -1
  141. package/dist-server/service/assignment/applied-when.d.ts +0 -24
  142. package/dist-server/service/assignment/applied-when.js +0 -16
  143. package/dist-server/service/assignment/applied-when.js.map +0 -1
  144. package/dist-server/service/assignment/assignment-history.d.ts +0 -92
  145. package/dist-server/service/assignment/assignment-history.js +0 -289
  146. package/dist-server/service/assignment/assignment-history.js.map +0 -1
  147. package/dist-server/service/assignment/assignment-write.d.ts +0 -42
  148. package/dist-server/service/assignment/assignment-write.js +0 -101
  149. package/dist-server/service/assignment/assignment-write.js.map +0 -1
  150. package/dist-server/service/assignment/master-value-claim.d.ts +0 -135
  151. package/dist-server/service/assignment/master-value-claim.js +0 -174
  152. package/dist-server/service/assignment/master-value-claim.js.map +0 -1
  153. package/dist-server/service/equipment/equipment-class.d.ts +0 -34
  154. package/dist-server/service/equipment/equipment-class.js +0 -104
  155. package/dist-server/service/equipment/equipment-class.js.map +0 -1
  156. package/dist-server/service/equipment/equipment-master-resolver.d.ts +0 -77
  157. package/dist-server/service/equipment/equipment-master-resolver.js +0 -266
  158. package/dist-server/service/equipment/equipment-master-resolver.js.map +0 -1
  159. package/dist-server/service/equipment/equipment-master.d.ts +0 -30
  160. package/dist-server/service/equipment/equipment-master.js +0 -53
  161. package/dist-server/service/equipment/equipment-master.js.map +0 -1
  162. package/dist-server/service/equipment/equipment-query.d.ts +0 -16
  163. package/dist-server/service/equipment/equipment-query.js +0 -72
  164. package/dist-server/service/equipment/equipment-query.js.map +0 -1
  165. package/dist-server/service/equipment/equipment.d.ts +0 -71
  166. package/dist-server/service/equipment/equipment.js +0 -138
  167. package/dist-server/service/equipment/equipment.js.map +0 -1
  168. package/dist-server/service/equipment/index.d.ts +0 -8
  169. package/dist-server/service/equipment/index.js +0 -12
  170. package/dist-server/service/equipment/index.js.map +0 -1
  171. package/dist-server/service/equipment/state-period-rules.d.ts +0 -95
  172. package/dist-server/service/equipment/state-period-rules.js +0 -122
  173. package/dist-server/service/equipment/state-period-rules.js.map +0 -1
  174. package/dist-server/service/equipment/stop-reason-query.d.ts +0 -11
  175. package/dist-server/service/equipment/stop-reason-query.js +0 -39
  176. package/dist-server/service/equipment/stop-reason-query.js.map +0 -1
  177. package/dist-server/service/equipment/stop-reason.d.ts +0 -58
  178. package/dist-server/service/equipment/stop-reason.js +0 -114
  179. package/dist-server/service/equipment/stop-reason.js.map +0 -1
  180. package/dist-server/service/index.d.ts +0 -82
  181. package/dist-server/service/index.js +0 -145
  182. package/dist-server/service/index.js.map +0 -1
  183. package/dist-server/service/location/index.d.ts +0 -5
  184. package/dist-server/service/location/index.js +0 -9
  185. package/dist-server/service/location/index.js.map +0 -1
  186. package/dist-server/service/location/location-master-resolver.d.ts +0 -60
  187. package/dist-server/service/location/location-master-resolver.js +0 -313
  188. package/dist-server/service/location/location-master-resolver.js.map +0 -1
  189. package/dist-server/service/location/location-master.d.ts +0 -26
  190. package/dist-server/service/location/location-master.js +0 -28
  191. package/dist-server/service/location/location-master.js.map +0 -1
  192. package/dist-server/service/location/location-query.d.ts +0 -15
  193. package/dist-server/service/location/location-query.js +0 -56
  194. package/dist-server/service/location/location-query.js.map +0 -1
  195. package/dist-server/service/location/operational-location.d.ts +0 -116
  196. package/dist-server/service/location/operational-location.js +0 -157
  197. package/dist-server/service/location/operational-location.js.map +0 -1
  198. package/dist-server/service/master-axis.d.ts +0 -40
  199. package/dist-server/service/master-axis.js +0 -57
  200. package/dist-server/service/master-axis.js.map +0 -1
  201. package/dist-server/service/master-change-approval/approval-input.d.ts +0 -17
  202. package/dist-server/service/master-change-approval/approval-input.js +0 -35
  203. package/dist-server/service/master-change-approval/approval-input.js.map +0 -1
  204. package/dist-server/service/master-change-approval/builtin-axes.d.ts +0 -4
  205. package/dist-server/service/master-change-approval/builtin-axes.js +0 -96
  206. package/dist-server/service/master-change-approval/builtin-axes.js.map +0 -1
  207. package/dist-server/service/master-change-approval/index.d.ts +0 -14
  208. package/dist-server/service/master-change-approval/index.js +0 -37
  209. package/dist-server/service/master-change-approval/index.js.map +0 -1
  210. package/dist-server/service/master-change-approval/master-change-axis.d.ts +0 -54
  211. package/dist-server/service/master-change-approval/master-change-axis.js +0 -17
  212. package/dist-server/service/master-change-approval/master-change-axis.js.map +0 -1
  213. package/dist-server/service/master-change-approval/master-change-flow.d.ts +0 -65
  214. package/dist-server/service/master-change-approval/master-change-flow.js +0 -125
  215. package/dist-server/service/master-change-approval/master-change-flow.js.map +0 -1
  216. package/dist-server/service/master-change-approval/master-change-resolver.d.ts +0 -18
  217. package/dist-server/service/master-change-approval/master-change-resolver.js +0 -58
  218. package/dist-server/service/master-change-approval/master-change-resolver.js.map +0 -1
  219. package/dist-server/service/master-change-policy.d.ts +0 -122
  220. package/dist-server/service/master-change-policy.js +0 -304
  221. package/dist-server/service/master-change-policy.js.map +0 -1
  222. package/dist-server/service/master-conformance-resolver.d.ts +0 -34
  223. package/dist-server/service/master-conformance-resolver.js +0 -153
  224. package/dist-server/service/master-conformance-resolver.js.map +0 -1
  225. package/dist-server/service/master-conformance.d.ts +0 -80
  226. package/dist-server/service/master-conformance.js +0 -266
  227. package/dist-server/service/master-conformance.js.map +0 -1
  228. package/dist-server/service/master-crud.d.ts +0 -55
  229. package/dist-server/service/master-crud.js +0 -93
  230. package/dist-server/service/master-crud.js.map +0 -1
  231. package/dist-server/service/master-list.d.ts +0 -12
  232. package/dist-server/service/master-list.js +0 -30
  233. package/dist-server/service/master-list.js.map +0 -1
  234. package/dist-server/service/master-page-query.d.ts +0 -33
  235. package/dist-server/service/master-page-query.js +0 -55
  236. package/dist-server/service/master-page-query.js.map +0 -1
  237. package/dist-server/service/master-page.d.ts +0 -85
  238. package/dist-server/service/master-page.js +0 -104
  239. package/dist-server/service/master-page.js.map +0 -1
  240. package/dist-server/service/material/index.d.ts +0 -7
  241. package/dist-server/service/material/index.js +0 -12
  242. package/dist-server/service/material/index.js.map +0 -1
  243. package/dist-server/service/material/material-axis-status.d.ts +0 -8
  244. package/dist-server/service/material/material-axis-status.js +0 -19
  245. package/dist-server/service/material/material-axis-status.js.map +0 -1
  246. package/dist-server/service/material/material-class.d.ts +0 -34
  247. package/dist-server/service/material/material-class.js +0 -104
  248. package/dist-server/service/material/material-class.js.map +0 -1
  249. package/dist-server/service/material/material-definition.d.ts +0 -45
  250. package/dist-server/service/material/material-definition.js +0 -125
  251. package/dist-server/service/material/material-definition.js.map +0 -1
  252. package/dist-server/service/material/material-effective-list.d.ts +0 -39
  253. package/dist-server/service/material/material-effective-list.js +0 -54
  254. package/dist-server/service/material/material-effective-list.js.map +0 -1
  255. package/dist-server/service/material/material-master-resolver.d.ts +0 -106
  256. package/dist-server/service/material/material-master-resolver.js +0 -351
  257. package/dist-server/service/material/material-master-resolver.js.map +0 -1
  258. package/dist-server/service/material/material-master.d.ts +0 -9
  259. package/dist-server/service/material/material-master.js +0 -24
  260. package/dist-server/service/material/material-master.js.map +0 -1
  261. package/dist-server/service/material/material-query.d.ts +0 -16
  262. package/dist-server/service/material/material-query.js +0 -79
  263. package/dist-server/service/material/material-query.js.map +0 -1
  264. package/dist-server/service/material/material-revision-content.d.ts +0 -10
  265. package/dist-server/service/material/material-revision-content.js +0 -92
  266. package/dist-server/service/material/material-revision-content.js.map +0 -1
  267. package/dist-server/service/material/material-revision-resolver.d.ts +0 -60
  268. package/dist-server/service/material/material-revision-resolver.js +0 -96
  269. package/dist-server/service/material/material-revision-resolver.js.map +0 -1
  270. package/dist-server/service/material/material-revision-service.d.ts +0 -179
  271. package/dist-server/service/material/material-revision-service.js +0 -687
  272. package/dist-server/service/material/material-revision-service.js.map +0 -1
  273. package/dist-server/service/material/material-revision.d.ts +0 -86
  274. package/dist-server/service/material/material-revision.js +0 -339
  275. package/dist-server/service/material/material-revision.js.map +0 -1
  276. package/dist-server/service/material/recipe-index.d.ts +0 -23
  277. package/dist-server/service/material/recipe-index.js +0 -44
  278. package/dist-server/service/material/recipe-index.js.map +0 -1
  279. package/dist-server/service/operation/index.d.ts +0 -6
  280. package/dist-server/service/operation/index.js +0 -10
  281. package/dist-server/service/operation/index.js.map +0 -1
  282. package/dist-server/service/operation/operation-definition.d.ts +0 -52
  283. package/dist-server/service/operation/operation-definition.js +0 -143
  284. package/dist-server/service/operation/operation-definition.js.map +0 -1
  285. package/dist-server/service/operation/operation-master-resolver.d.ts +0 -52
  286. package/dist-server/service/operation/operation-master-resolver.js +0 -187
  287. package/dist-server/service/operation/operation-master-resolver.js.map +0 -1
  288. package/dist-server/service/operation/operation-master.d.ts +0 -21
  289. package/dist-server/service/operation/operation-master.js +0 -28
  290. package/dist-server/service/operation/operation-master.js.map +0 -1
  291. package/dist-server/service/operation/operation-query.d.ts +0 -15
  292. package/dist-server/service/operation/operation-query.js +0 -56
  293. package/dist-server/service/operation/operation-query.js.map +0 -1
  294. package/dist-server/service/operation/operation-readiness-resolver.d.ts +0 -39
  295. package/dist-server/service/operation/operation-readiness-resolver.js +0 -111
  296. package/dist-server/service/operation/operation-readiness-resolver.js.map +0 -1
  297. package/dist-server/service/operation/operation-readiness.d.ts +0 -34
  298. package/dist-server/service/operation/operation-readiness.js +0 -133
  299. package/dist-server/service/operation/operation-readiness.js.map +0 -1
  300. package/dist-server/service/personnel/index.d.ts +0 -6
  301. package/dist-server/service/personnel/index.js +0 -10
  302. package/dist-server/service/personnel/index.js.map +0 -1
  303. package/dist-server/service/personnel/person.d.ts +0 -51
  304. package/dist-server/service/personnel/person.js +0 -119
  305. package/dist-server/service/personnel/person.js.map +0 -1
  306. package/dist-server/service/personnel/personnel-class-readiness.d.ts +0 -22
  307. package/dist-server/service/personnel/personnel-class-readiness.js +0 -98
  308. package/dist-server/service/personnel/personnel-class-readiness.js.map +0 -1
  309. package/dist-server/service/personnel/personnel-class.d.ts +0 -54
  310. package/dist-server/service/personnel/personnel-class.js +0 -114
  311. package/dist-server/service/personnel/personnel-class.js.map +0 -1
  312. package/dist-server/service/personnel/personnel-master-resolver.d.ts +0 -53
  313. package/dist-server/service/personnel/personnel-master-resolver.js +0 -187
  314. package/dist-server/service/personnel/personnel-master-resolver.js.map +0 -1
  315. package/dist-server/service/personnel/personnel-master.d.ts +0 -39
  316. package/dist-server/service/personnel/personnel-master.js +0 -34
  317. package/dist-server/service/personnel/personnel-master.js.map +0 -1
  318. package/dist-server/service/personnel/personnel-query.d.ts +0 -29
  319. package/dist-server/service/personnel/personnel-query.js +0 -79
  320. package/dist-server/service/personnel/personnel-query.js.map +0 -1
  321. package/dist-server/service/personnel/qualification.d.ts +0 -104
  322. package/dist-server/service/personnel/qualification.js +0 -147
  323. package/dist-server/service/personnel/qualification.js.map +0 -1
  324. package/dist-server/service/quality/index.d.ts +0 -4
  325. package/dist-server/service/quality/index.js +0 -8
  326. package/dist-server/service/quality/index.js.map +0 -1
  327. package/dist-server/service/quality/nonconformance-cause-resolver.d.ts +0 -12
  328. package/dist-server/service/quality/nonconformance-cause-resolver.js +0 -60
  329. package/dist-server/service/quality/nonconformance-cause-resolver.js.map +0 -1
  330. package/dist-server/service/quality/nonconformance-cause.d.ts +0 -20
  331. package/dist-server/service/quality/nonconformance-cause.js +0 -90
  332. package/dist-server/service/quality/nonconformance-cause.js.map +0 -1
  333. package/dist-server/service/recipe/index.d.ts +0 -10
  334. package/dist-server/service/recipe/index.js +0 -16
  335. package/dist-server/service/recipe/index.js.map +0 -1
  336. package/dist-server/service/recipe/recipe-definition.d.ts +0 -75
  337. package/dist-server/service/recipe/recipe-definition.js +0 -143
  338. package/dist-server/service/recipe/recipe-definition.js.map +0 -1
  339. package/dist-server/service/recipe/recipe-effective-list.d.ts +0 -49
  340. package/dist-server/service/recipe/recipe-effective-list.js +0 -96
  341. package/dist-server/service/recipe/recipe-effective-list.js.map +0 -1
  342. package/dist-server/service/recipe/recipe-master-resolver.d.ts +0 -28
  343. package/dist-server/service/recipe/recipe-master-resolver.js +0 -128
  344. package/dist-server/service/recipe/recipe-master-resolver.js.map +0 -1
  345. package/dist-server/service/recipe/recipe-master.d.ts +0 -37
  346. package/dist-server/service/recipe/recipe-master.js +0 -47
  347. package/dist-server/service/recipe/recipe-master.js.map +0 -1
  348. package/dist-server/service/recipe/recipe-query.d.ts +0 -21
  349. package/dist-server/service/recipe/recipe-query.js +0 -82
  350. package/dist-server/service/recipe/recipe-query.js.map +0 -1
  351. package/dist-server/service/recipe/recipe-revision-content.d.ts +0 -32
  352. package/dist-server/service/recipe/recipe-revision-content.js +0 -70
  353. package/dist-server/service/recipe/recipe-revision-content.js.map +0 -1
  354. package/dist-server/service/recipe/recipe-revision-line.d.ts +0 -30
  355. package/dist-server/service/recipe/recipe-revision-line.js +0 -95
  356. package/dist-server/service/recipe/recipe-revision-line.js.map +0 -1
  357. package/dist-server/service/recipe/recipe-revision-resolver.d.ts +0 -65
  358. package/dist-server/service/recipe/recipe-revision-resolver.js +0 -96
  359. package/dist-server/service/recipe/recipe-revision-resolver.js.map +0 -1
  360. package/dist-server/service/recipe/recipe-revision-service.d.ts +0 -183
  361. package/dist-server/service/recipe/recipe-revision-service.js +0 -754
  362. package/dist-server/service/recipe/recipe-revision-service.js.map +0 -1
  363. package/dist-server/service/recipe/recipe-revision.d.ts +0 -102
  364. package/dist-server/service/recipe/recipe-revision.js +0 -373
  365. package/dist-server/service/recipe/recipe-revision.js.map +0 -1
  366. package/dist-server/service/recipe/route-definition.d.ts +0 -51
  367. package/dist-server/service/recipe/route-definition.js +0 -114
  368. package/dist-server/service/recipe/route-definition.js.map +0 -1
  369. package/dist-server/service/resource/class-lineage.d.ts +0 -46
  370. package/dist-server/service/resource/class-lineage.js +0 -80
  371. package/dist-server/service/resource/class-lineage.js.map +0 -1
  372. package/dist-server/service/resource/class-members.d.ts +0 -36
  373. package/dist-server/service/resource/class-members.js +0 -59
  374. package/dist-server/service/resource/class-members.js.map +0 -1
  375. package/dist-server/service/resource/referrers.d.ts +0 -54
  376. package/dist-server/service/resource/referrers.js +0 -99
  377. package/dist-server/service/resource/referrers.js.map +0 -1
  378. package/dist-server/service/resource/resource-class.d.ts +0 -25
  379. package/dist-server/service/resource/resource-class.js +0 -29
  380. package/dist-server/service/resource/resource-class.js.map +0 -1
  381. package/dist-server/service/revision-baseline.d.ts +0 -71
  382. package/dist-server/service/revision-baseline.js +0 -87
  383. package/dist-server/service/revision-baseline.js.map +0 -1
  384. package/dist-server/service/row-lock.d.ts +0 -22
  385. package/dist-server/service/row-lock.js +0 -31
  386. package/dist-server/service/row-lock.js.map +0 -1
  387. package/dist-server/service/status/axis-stamp.d.ts +0 -16
  388. package/dist-server/service/status/axis-stamp.js +0 -22
  389. package/dist-server/service/status/axis-stamp.js.map +0 -1
  390. package/dist-server/service/status/index.d.ts +0 -3
  391. package/dist-server/service/status/index.js +0 -7
  392. package/dist-server/service/status/index.js.map +0 -1
  393. package/dist-server/service/status/master-status.d.ts +0 -38
  394. package/dist-server/service/status/master-status.js +0 -129
  395. package/dist-server/service/status/master-status.js.map +0 -1
  396. package/dist-server/service/test-spec/criteria-check.d.ts +0 -53
  397. package/dist-server/service/test-spec/criteria-check.js +0 -142
  398. package/dist-server/service/test-spec/criteria-check.js.map +0 -1
  399. package/dist-server/service/test-spec/criteria-rows.d.ts +0 -89
  400. package/dist-server/service/test-spec/criteria-rows.js +0 -139
  401. package/dist-server/service/test-spec/criteria-rows.js.map +0 -1
  402. package/dist-server/service/test-spec/index.d.ts +0 -6
  403. package/dist-server/service/test-spec/index.js +0 -11
  404. package/dist-server/service/test-spec/index.js.map +0 -1
  405. package/dist-server/service/test-spec/test-spec-effective-list.d.ts +0 -34
  406. package/dist-server/service/test-spec/test-spec-effective-list.js +0 -42
  407. package/dist-server/service/test-spec/test-spec-effective-list.js.map +0 -1
  408. package/dist-server/service/test-spec/test-spec-master-resolver.d.ts +0 -44
  409. package/dist-server/service/test-spec/test-spec-master-resolver.js +0 -144
  410. package/dist-server/service/test-spec/test-spec-master-resolver.js.map +0 -1
  411. package/dist-server/service/test-spec/test-spec-master.d.ts +0 -6
  412. package/dist-server/service/test-spec/test-spec-master.js +0 -18
  413. package/dist-server/service/test-spec/test-spec-master.js.map +0 -1
  414. package/dist-server/service/test-spec/test-spec-query.d.ts +0 -15
  415. package/dist-server/service/test-spec/test-spec-query.js +0 -61
  416. package/dist-server/service/test-spec/test-spec-query.js.map +0 -1
  417. package/dist-server/service/test-spec/test-spec-revision-resolver.d.ts +0 -59
  418. package/dist-server/service/test-spec/test-spec-revision-resolver.js +0 -96
  419. package/dist-server/service/test-spec/test-spec-revision-resolver.js.map +0 -1
  420. package/dist-server/service/test-spec/test-spec-revision-service.d.ts +0 -178
  421. package/dist-server/service/test-spec/test-spec-revision-service.js +0 -685
  422. package/dist-server/service/test-spec/test-spec-revision-service.js.map +0 -1
  423. package/dist-server/service/test-spec/test-spec-revision.d.ts +0 -86
  424. package/dist-server/service/test-spec/test-spec-revision.js +0 -334
  425. package/dist-server/service/test-spec/test-spec-revision.js.map +0 -1
  426. package/dist-server/service/test-spec/test-specification.d.ts +0 -47
  427. package/dist-server/service/test-spec/test-specification.js +0 -119
  428. package/dist-server/service/test-spec/test-specification.js.map +0 -1
  429. package/dist-server/tsconfig.tsbuildinfo +0 -1
@@ -1,48 +0,0 @@
1
- import { LitElement } from 'lit';
2
- import '@material/web/button/filled-button.js';
3
- import '@material/web/button/text-button.js';
4
- import '@operato/popup/ox-popup-actions.js';
5
- import { CLAIMED_FIELDS } from './assignment-fields.js';
6
- /**
7
- * **언제부터 그러한가를 묻는 자리.**
8
- *
9
- * ── 왜 날짜 칸 하나가 아닌가 ───────────────────────────────────────────────
10
- * 그리드에 날짜 열을 하나 더하면 사람은 그것을 **또 하나의 값**으로 읽는다. 이 셋(자리 배정 · 근무조
11
- * 선언 · 부모 관계)은 값이 아니라 **언제부터 그렇게 볼 것인가**를 함께 정하는 일이고, 과거를 적으면
12
- * **지연 기록인지 정정인지**까지 갈라야 한다. 그래서 저장 직전에 한 번 묻는다.
13
- *
14
- * ```
15
- * 바뀌기 전 → 바뀐 뒤
16
- * 적용 시작 기본값 「지금부터」
17
- * 과거 시각이면 지연 기록인가 이미 적은 것의 정정인가
18
- * 미래 시각이면 지금 값은 그대로이고 변경이 예약된다고 알린다
19
- * ```
20
- *
21
- * ⚠ **기록 시각은 안 묻는다.** 사람이 넣으면 「언제 알았나」를 사람이 정하게 된다 — 서버가 붙인다.
22
- */
23
- export interface AppliedAnswer {
24
- at?: string;
25
- kind?: 'change' | 'correction';
26
- until?: string;
27
- }
28
- export interface AssignmentChange {
29
- rowName: string;
30
- field: string;
31
- before: string;
32
- after: string;
33
- }
34
- export declare class AppliedWhenDialog extends LitElement {
35
- static styles: import("lit").CSSResult;
36
- changes: AssignmentChange[];
37
- onAnswer?: (answer: AppliedAnswer) => void;
38
- onCancel?: () => void;
39
- private at;
40
- private kind;
41
- private until;
42
- /** 안 적으면 지금부터다 — 그 기본값이 곧 「지금부터」라는 주장이다. */
43
- private get when();
44
- private get past();
45
- private get future();
46
- render(): import("lit-html").TemplateResult<1>;
47
- }
48
- export { CLAIMED_FIELDS };
@@ -1,137 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { LitElement, css, html } from 'lit';
3
- import { customElement, property, state } from 'lit/decorators.js';
4
- import '@material/web/button/filled-button.js';
5
- import '@material/web/button/text-button.js';
6
- import '@operato/popup/ox-popup-actions.js';
7
- import { i18next } from '@operato/i18n';
8
- import { CLAIMED_FIELDS } from './assignment-fields.js';
9
- let AppliedWhenDialog = class AppliedWhenDialog extends LitElement {
10
- constructor() {
11
- super(...arguments);
12
- this.changes = [];
13
- this.at = '';
14
- this.kind = 'change';
15
- this.until = '';
16
- }
17
- static { this.styles = css `
18
- :host {
19
- display: block;
20
- padding: var(--spacing-medium, 12px);
21
- }
22
- .what {
23
- display: grid;
24
- grid-template-columns: auto 1fr;
25
- gap: var(--spacing-tiny, 4px) var(--spacing-small, 8px);
26
- margin-bottom: var(--spacing-medium, 12px);
27
- }
28
- .what span {
29
- color: var(--md-sys-color-on-surface-variant);
30
- }
31
- .note {
32
- color: var(--md-sys-color-on-surface-variant);
33
- margin-top: var(--spacing-small, 8px);
34
- }
35
- `; }
36
- /** 안 적으면 지금부터다 — 그 기본값이 곧 「지금부터」라는 주장이다. */
37
- get when() {
38
- return this.at ? new Date(this.at).getTime() : Date.now();
39
- }
40
- get past() {
41
- return this.when < Date.now() - 60000;
42
- }
43
- get future() {
44
- return this.when > Date.now() + 60000;
45
- }
46
- render() {
47
- return html `
48
- <div class="what">
49
- ${this.changes.map(one => html `
50
- <span>${one.rowName} · ${labelOf(one.field)}</span>
51
- <div>${one.before || i18next.t('text.none')} → <b>${one.after || i18next.t('text.none')}</b></div>
52
- `)}
53
- </div>
54
-
55
- <label>
56
- ${i18next.t('label.applied-from')}
57
- <input
58
- type="datetime-local"
59
- .value=${this.at}
60
- @change=${(e) => (this.at = e.target.value)}
61
- placeholder=${i18next.t('text.from-now')}
62
- />
63
- </label>
64
-
65
- ${this.past
66
- ? html `
67
- <div>
68
- <label>
69
- <input type="radio" name="kind" ?checked=${this.kind === 'change'} @change=${() => (this.kind = 'change')} />
70
- ${i18next.t('label.late-record')}
71
- </label>
72
- <label>
73
- <input type="radio" name="kind" ?checked=${this.kind === 'correction'} @change=${() => (this.kind = 'correction')} />
74
- ${i18next.t('label.correct-what-was-recorded')}
75
- </label>
76
- ${this.kind === 'correction'
77
- ? html `
78
- <label>
79
- ${i18next.t('label.applied-until')}
80
- <input type="datetime-local" .value=${this.until} @change=${(e) => (this.until = e.target.value)} />
81
- </label>
82
- `
83
- : ''}
84
- </div>
85
- `
86
- : ''}
87
- ${this.future ? html `<div class="note">${i18next.t('text.change-is-scheduled')}</div>` : ''}
88
-
89
- <ox-popup-actions>
90
- <md-text-button slot="cancel" @click=${() => this.onCancel?.()}>${i18next.t('button.cancel')}</md-text-button>
91
- <md-filled-button
92
- slot="confirm"
93
- @click=${() => this.onAnswer?.({
94
- ...(this.at ? { at: new Date(this.at).toISOString() } : {}),
95
- ...(this.past ? { kind: this.kind } : {}),
96
- ...(this.past && this.kind === 'correction' && this.until ? { until: new Date(this.until).toISOString() } : {})
97
- })}
98
- >
99
- ${i18next.t('button.save')}
100
- </md-filled-button>
101
- </ox-popup-actions>
102
- `;
103
- }
104
- };
105
- __decorate([
106
- property({ type: Array }),
107
- __metadata("design:type", Array)
108
- ], AppliedWhenDialog.prototype, "changes", void 0);
109
- __decorate([
110
- property({ type: Object }),
111
- __metadata("design:type", Function)
112
- ], AppliedWhenDialog.prototype, "onAnswer", void 0);
113
- __decorate([
114
- property({ type: Object }),
115
- __metadata("design:type", Function)
116
- ], AppliedWhenDialog.prototype, "onCancel", void 0);
117
- __decorate([
118
- state(),
119
- __metadata("design:type", Object)
120
- ], AppliedWhenDialog.prototype, "at", void 0);
121
- __decorate([
122
- state(),
123
- __metadata("design:type", String)
124
- ], AppliedWhenDialog.prototype, "kind", void 0);
125
- __decorate([
126
- state(),
127
- __metadata("design:type", Object)
128
- ], AppliedWhenDialog.prototype, "until", void 0);
129
- AppliedWhenDialog = __decorate([
130
- customElement('applied-when-dialog')
131
- ], AppliedWhenDialog);
132
- export { AppliedWhenDialog };
133
- function labelOf(field) {
134
- return i18next.t(`field.${field}`, { defaultValue: field });
135
- }
136
- export { CLAIMED_FIELDS };
137
- //# sourceMappingURL=applied-when-dialog.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"applied-when-dialog.js","sourceRoot":"","sources":["../../../client/pages/master/applied-when-dialog.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport '@material/web/button/filled-button.js'\nimport '@material/web/button/text-button.js'\nimport '@operato/popup/ox-popup-actions.js'\nimport { i18next } from '@operato/i18n'\n\nimport { CLAIMED_FIELDS } from './assignment-fields.js'\n\n/**\n * **언제부터 그러한가를 묻는 자리.**\n *\n * ── 왜 날짜 칸 하나가 아닌가 ───────────────────────────────────────────────\n * 그리드에 날짜 열을 하나 더하면 사람은 그것을 **또 하나의 값**으로 읽는다. 이 셋(자리 배정 · 근무조\n * 선언 · 부모 관계)은 값이 아니라 **언제부터 그렇게 볼 것인가**를 함께 정하는 일이고, 과거를 적으면\n * **지연 기록인지 정정인지**까지 갈라야 한다. 그래서 저장 직전에 한 번 묻는다.\n *\n * ```\n * 바뀌기 전 → 바뀐 뒤\n * 적용 시작 기본값 「지금부터」\n * 과거 시각이면 지연 기록인가 이미 적은 것의 정정인가\n * 미래 시각이면 지금 값은 그대로이고 변경이 예약된다고 알린다\n * ```\n *\n * ⚠ **기록 시각은 안 묻는다.** 사람이 넣으면 「언제 알았나」를 사람이 정하게 된다 — 서버가 붙인다.\n */\nexport interface AppliedAnswer {\n at?: string\n kind?: 'change' | 'correction'\n until?: string\n}\n\nexport interface AssignmentChange {\n rowName: string\n field: string\n before: string\n after: string\n}\n\n@customElement('applied-when-dialog')\nexport class AppliedWhenDialog extends LitElement {\n static styles = css`\n :host {\n display: block;\n padding: var(--spacing-medium, 12px);\n }\n .what {\n display: grid;\n grid-template-columns: auto 1fr;\n gap: var(--spacing-tiny, 4px) var(--spacing-small, 8px);\n margin-bottom: var(--spacing-medium, 12px);\n }\n .what span {\n color: var(--md-sys-color-on-surface-variant);\n }\n .note {\n color: var(--md-sys-color-on-surface-variant);\n margin-top: var(--spacing-small, 8px);\n }\n `\n\n @property({ type: Array }) changes: AssignmentChange[] = []\n @property({ type: Object }) onAnswer?: (answer: AppliedAnswer) => void\n @property({ type: Object }) onCancel?: () => void\n\n @state() private at = ''\n @state() private kind: 'change' | 'correction' = 'change'\n @state() private until = ''\n\n /** 안 적으면 지금부터다 — 그 기본값이 곧 「지금부터」라는 주장이다. */\n private get when(): number {\n return this.at ? new Date(this.at).getTime() : Date.now()\n }\n\n private get past(): boolean {\n return this.when < Date.now() - 60000\n }\n\n private get future(): boolean {\n return this.when > Date.now() + 60000\n }\n\n render() {\n return html`\n <div class=\"what\">\n ${this.changes.map(\n one => html`\n <span>${one.rowName} · ${labelOf(one.field)}</span>\n <div>${one.before || i18next.t('text.none')} → <b>${one.after || i18next.t('text.none')}</b></div>\n `\n )}\n </div>\n\n <label>\n ${i18next.t('label.applied-from')}\n <input\n type=\"datetime-local\"\n .value=${this.at}\n @change=${(e: Event) => (this.at = (e.target as HTMLInputElement).value)}\n placeholder=${i18next.t('text.from-now')}\n />\n </label>\n\n ${this.past\n ? html`\n <div>\n <label>\n <input type=\"radio\" name=\"kind\" ?checked=${this.kind === 'change'} @change=${() => (this.kind = 'change')} />\n ${i18next.t('label.late-record')}\n </label>\n <label>\n <input type=\"radio\" name=\"kind\" ?checked=${this.kind === 'correction'} @change=${() => (this.kind = 'correction')} />\n ${i18next.t('label.correct-what-was-recorded')}\n </label>\n ${this.kind === 'correction'\n ? html`\n <label>\n ${i18next.t('label.applied-until')}\n <input type=\"datetime-local\" .value=${this.until} @change=${(e: Event) => (this.until = (e.target as HTMLInputElement).value)} />\n </label>\n `\n : ''}\n </div>\n `\n : ''}\n ${this.future ? html`<div class=\"note\">${i18next.t('text.change-is-scheduled')}</div>` : ''}\n\n <ox-popup-actions>\n <md-text-button slot=\"cancel\" @click=${() => this.onCancel?.()}>${i18next.t('button.cancel')}</md-text-button>\n <md-filled-button\n slot=\"confirm\"\n @click=${() =>\n this.onAnswer?.({\n ...(this.at ? { at: new Date(this.at).toISOString() } : {}),\n ...(this.past ? { kind: this.kind } : {}),\n ...(this.past && this.kind === 'correction' && this.until ? { until: new Date(this.until).toISOString() } : {})\n })}\n >\n ${i18next.t('button.save')}\n </md-filled-button>\n </ox-popup-actions>\n `\n }\n}\n\nfunction labelOf(field: string): string {\n return i18next.t(`field.${field}`, { defaultValue: field })\n}\n\nexport { CLAIMED_FIELDS }\n"]}
@@ -1,27 +0,0 @@
1
- /**
2
- * **이력을 받는 칸 셋** — 화면이 저장 직전에 「언제부터」를 묻는 대상.
3
- *
4
- * 서버의 `CLAIMED_FIELDS` 와 같은 목록이다. 화면이 서버를 import 하지 않으므로(그러면 빌드가
5
- * 옮겨 간다) 여기 한 벌을 둔다 — **갈라지면 안 묻고 보내는 칸이 생긴다.**
6
- */
7
- export declare const CLAIMED_FIELDS: {
8
- axis: string;
9
- field: string;
10
- }[];
11
- /** 이 축에서 이력을 받는 칸들. */
12
- export declare function claimedFieldsOf(axis: string): string[];
13
- export interface AssignmentChange {
14
- rowName: string;
15
- field: string;
16
- before: string;
17
- after: string;
18
- }
19
- /**
20
- * 바뀐 것 중 **이력을 받는 칸을 건드린 것**만 고른다.
21
- *
22
- * ⚠ **새로 만드는 행은 안 묻는다**(`__dirty__` 가 `+` 다). 그 행은 그 순간 생긴 것이고 「언제부터」는
23
- * 그 순간이다. 물으면 존재하기 전의 자리를 적을 수 있게 된다.
24
- *
25
- * ⚠ **안 바뀐 칸은 애초에 `__dirtyfields__` 에 없다.** 그리드가 이미 가려 준다.
26
- */
27
- export declare function assignmentChangesIn(axis: string, patches: readonly Record<string, unknown>[]): AssignmentChange[];
@@ -1,62 +0,0 @@
1
- /**
2
- * **이력을 받는 칸 셋** — 화면이 저장 직전에 「언제부터」를 묻는 대상.
3
- *
4
- * 서버의 `CLAIMED_FIELDS` 와 같은 목록이다. 화면이 서버를 import 하지 않으므로(그러면 빌드가
5
- * 옮겨 간다) 여기 한 벌을 둔다 — **갈라지면 안 묻고 보내는 칸이 생긴다.**
6
- */
7
- export const CLAIMED_FIELDS = [
8
- { axis: 'equipment', field: 'homeLocation' },
9
- { axis: 'operationalLocation', field: 'workShiftNames' },
10
- { axis: 'operationalLocation', field: 'parentId' }
11
- ];
12
- /** 이 축에서 이력을 받는 칸들. */
13
- export function claimedFieldsOf(axis) {
14
- return CLAIMED_FIELDS.filter(one => one.axis === axis).map(one => one.field);
15
- }
16
- /**
17
- * 바뀐 것 중 **이력을 받는 칸을 건드린 것**만 고른다.
18
- *
19
- * ⚠ **새로 만드는 행은 안 묻는다**(`__dirty__` 가 `+` 다). 그 행은 그 순간 생긴 것이고 「언제부터」는
20
- * 그 순간이다. 물으면 존재하기 전의 자리를 적을 수 있게 된다.
21
- *
22
- * ⚠ **안 바뀐 칸은 애초에 `__dirtyfields__` 에 없다.** 그리드가 이미 가려 준다.
23
- */
24
- export function assignmentChangesIn(axis, patches) {
25
- const fields = claimedFieldsOf(axis);
26
- if (!fields.length) {
27
- return [];
28
- }
29
- const changes = [];
30
- for (const patch of patches) {
31
- /*
32
- * **그리드가 무엇이 바뀌었는지 이미 들고 있다.** `__dirtyfields__` 에 칸마다 before·after 가
33
- * 있고, 바뀐 행은 `__dirty__` 가 `M` 이다.
34
- *
35
- * ⚠ 처음에 `cuFlag` 를 봤다 — 그것은 서버로 보낼 때 붙는 이름이고 **이 시점에는 없다.** 그래서
36
- * 창이 영영 안 떴다. 화면을 열어 보기 전에는 안 보였다(2026-09-22).
37
- */
38
- if (String(patch.__dirty__ ?? '').toUpperCase() !== 'M') {
39
- continue;
40
- }
41
- const dirty = patch.__dirtyfields__;
42
- for (const field of fields) {
43
- const moved = dirty?.[field];
44
- if (!moved) {
45
- continue;
46
- }
47
- const before = show(moved.before);
48
- const after = show(moved.after);
49
- if (before !== after) {
50
- changes.push({ rowName: String(patch.name ?? patch.id), field, before, after });
51
- }
52
- }
53
- }
54
- return changes;
55
- }
56
- function show(value) {
57
- if (value === null || value === undefined || value === '') {
58
- return '';
59
- }
60
- return Array.isArray(value) ? value.map(String).join(', ') : String(value);
61
- }
62
- //# sourceMappingURL=assignment-fields.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assignment-fields.js","sourceRoot":"","sources":["../../../client/pages/master/assignment-fields.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAsC;IAC/D,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE;IAC5C,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,gBAAgB,EAAE;IACxD,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,UAAU,EAAE;CACnD,CAAA;AAED,uBAAuB;AACvB,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AAC9E,CAAC;AASD;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,OAA2C;IAC3F,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;IAEpC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,OAAO,GAAuB,EAAE,CAAA;IAEtC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B;;;;;;WAMG;QACH,IAAI,MAAM,CAAE,KAAa,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;YACjE,SAAQ;QACV,CAAC;QAED,MAAM,KAAK,GAAI,KAAa,CAAC,eAAoF,CAAA;QAEjH,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC,KAAK,CAAC,CAAA;YAE5B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,SAAQ;YACV,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YAE/B,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACrB,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;YACjF,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,IAAI,CAAC,KAAc;IAC1B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QAC1D,OAAO,EAAE,CAAA;IACX,CAAC;IAED,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC5E,CAAC","sourcesContent":["/**\n * **이력을 받는 칸 셋** — 화면이 저장 직전에 「언제부터」를 묻는 대상.\n *\n * 서버의 `CLAIMED_FIELDS` 와 같은 목록이다. 화면이 서버를 import 하지 않으므로(그러면 빌드가\n * 옮겨 간다) 여기 한 벌을 둔다 — **갈라지면 안 묻고 보내는 칸이 생긴다.**\n */\nexport const CLAIMED_FIELDS: { axis: string; field: string }[] = [\n { axis: 'equipment', field: 'homeLocation' },\n { axis: 'operationalLocation', field: 'workShiftNames' },\n { axis: 'operationalLocation', field: 'parentId' }\n]\n\n/** 이 축에서 이력을 받는 칸들. */\nexport function claimedFieldsOf(axis: string): string[] {\n return CLAIMED_FIELDS.filter(one => one.axis === axis).map(one => one.field)\n}\n\nexport interface AssignmentChange {\n rowName: string\n field: string\n before: string\n after: string\n}\n\n/**\n * 바뀐 것 중 **이력을 받는 칸을 건드린 것**만 고른다.\n *\n * ⚠ **새로 만드는 행은 안 묻는다**(`__dirty__` 가 `+` 다). 그 행은 그 순간 생긴 것이고 「언제부터」는\n * 그 순간이다. 물으면 존재하기 전의 자리를 적을 수 있게 된다.\n *\n * ⚠ **안 바뀐 칸은 애초에 `__dirtyfields__` 에 없다.** 그리드가 이미 가려 준다.\n */\nexport function assignmentChangesIn(axis: string, patches: readonly Record<string, unknown>[]): AssignmentChange[] {\n const fields = claimedFieldsOf(axis)\n\n if (!fields.length) {\n return []\n }\n\n const changes: AssignmentChange[] = []\n\n for (const patch of patches) {\n /*\n * **그리드가 무엇이 바뀌었는지 이미 들고 있다.** `__dirtyfields__` 에 칸마다 before·after 가\n * 있고, 바뀐 행은 `__dirty__` 가 `M` 이다.\n *\n * ⚠ 처음에 `cuFlag` 를 봤다 — 그것은 서버로 보낼 때 붙는 이름이고 **이 시점에는 없다.** 그래서\n * 창이 영영 안 떴다. 화면을 열어 보기 전에는 안 보였다(2026-09-22).\n */\n if (String((patch as any).__dirty__ ?? '').toUpperCase() !== 'M') {\n continue\n }\n\n const dirty = (patch as any).__dirtyfields__ as Record<string, { before?: unknown; after?: unknown }> | undefined\n\n for (const field of fields) {\n const moved = dirty?.[field]\n\n if (!moved) {\n continue\n }\n\n const before = show(moved.before)\n const after = show(moved.after)\n\n if (before !== after) {\n changes.push({ rowName: String(patch.name ?? patch.id), field, before, after })\n }\n }\n }\n\n return changes\n}\n\nfunction show(value: unknown): string {\n if (value === null || value === undefined || value === '') {\n return ''\n }\n\n return Array.isArray(value) ? value.map(String).join(', ') : String(value)\n}\n"]}
@@ -1,12 +0,0 @@
1
- import { MasterPageBase, MasterSpec } from './master-page-base.js';
2
- /**
3
- * 설비를 묶는 틀. 「1200톤 사출기」처럼 같은 종류의 설비가 공유하는 성질을 정한다.
4
- *
5
- * 설비 하나하나가 이 등급을 가리킨다. 등급을 고치면 그 등급의 설비 전체가 함께 바뀐다.
6
- *
7
- * 화면 골격과 저장은 MasterPageBase 가 갖는다. 이 파일은 **이 화면이 무엇을 보이나**만 말한다 —
8
- * 자기 인터페이스가 필요해지면 여기서 render 를 덮어쓴다.
9
- */
10
- export declare class OpsMasterEquipmentClass extends MasterPageBase {
11
- protected get spec(): MasterSpec;
12
- }
@@ -1,42 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { customElement } from 'lit/decorators.js';
3
- import { EFFECTIVE, IDENTITY, MasterPageBase } from './master-page-base.js';
4
- /**
5
- * 설비를 묶는 틀. 「1200톤 사출기」처럼 같은 종류의 설비가 공유하는 성질을 정한다.
6
- *
7
- * 설비 하나하나가 이 등급을 가리킨다. 등급을 고치면 그 등급의 설비 전체가 함께 바뀐다.
8
- *
9
- * 화면 골격과 저장은 MasterPageBase 가 갖는다. 이 파일은 **이 화면이 무엇을 보이나**만 말한다 —
10
- * 자기 인터페이스가 필요해지면 여기서 render 를 덮어쓴다.
11
- */
12
- let OpsMasterEquipmentClass = class OpsMasterEquipmentClass extends MasterPageBase {
13
- get spec() {
14
- return {
15
- key: 'equipmentClass',
16
- title: 'equipment-class',
17
- help: 'ops-master/equipment-class',
18
- query: 'equipmentClasses',
19
- mutation: 'updateMultipleEquipmentClass',
20
- columns: [
21
- ...IDENTITY,
22
- { name: 'baseIds', label: 'base-classes', type: 'reference-list', reference: { queryName: 'equipmentClasses' }, width: 180 },
23
- /*
24
- * ── 나를 누가 쓰나 ────────────────────────────────────────────────
25
- *
26
- * 값의 주인이 이 표가 아니라 **저쪽 표**다. 그래서 여기서 못 고친다 — 바꾸려면 그쪽에서
27
- * 이 이름을 가리키게 하거나 떼면 된다.
28
- *
29
- * 넘치면 **몇이 안 보이는지 함께 낸다.** 오류보고없이 자르면 「셋이 있다」와 「서른이 있는데
30
- * 셋만 보인다」가 같아 보이고, 그 칸을 보고 사람이 판단을 내린다.
31
- */
32
- { name: 'members', label: 'members', type: 'list', width: 240, readonly: true },
33
- ...EFFECTIVE
34
- ]
35
- };
36
- }
37
- };
38
- OpsMasterEquipmentClass = __decorate([
39
- customElement('ops-master-equipment-class')
40
- ], OpsMasterEquipmentClass);
41
- export { OpsMasterEquipmentClass };
42
- //# sourceMappingURL=equipment-class.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"equipment-class.js","sourceRoot":"","sources":["../../../client/pages/master/equipment-class.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEjD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAc,MAAM,uBAAuB,CAAA;AAEvF;;;;;;;GAOG;AAEI,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,cAAc;IACzD,IAAc,IAAI;QAChB,OAAO;YACL,GAAG,EAAE,gBAAgB;YACrB,KAAK,EAAE,iBAAiB;YACxB,IAAI,EAAE,4BAA4B;YAClC,KAAK,EAAE,kBAAkB;YACzB,QAAQ,EAAE,8BAA8B;YACxC,OAAO,EAAE;gBACP,GAAG,QAAQ;gBACX,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;gBAC5H;;;;;;;;mBAQG;gBACH,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/E,GAAG,SAAS;aACb;SACF,CAAA;IACH,CAAC;CACF,CAAA;AAzBY,uBAAuB;IADnC,aAAa,CAAC,4BAA4B,CAAC;GAC/B,uBAAuB,CAyBnC","sourcesContent":["import { customElement } from 'lit/decorators.js'\n\nimport { EFFECTIVE, IDENTITY, MasterPageBase, MasterSpec } from './master-page-base.js'\n\n/**\n * 설비를 묶는 틀. 「1200톤 사출기」처럼 같은 종류의 설비가 공유하는 성질을 정한다.\n *\n * 설비 하나하나가 이 등급을 가리킨다. 등급을 고치면 그 등급의 설비 전체가 함께 바뀐다.\n *\n * 화면 골격과 저장은 MasterPageBase 가 갖는다. 이 파일은 **이 화면이 무엇을 보이나**만 말한다 —\n * 자기 인터페이스가 필요해지면 여기서 render 를 덮어쓴다.\n */\n@customElement('ops-master-equipment-class')\nexport class OpsMasterEquipmentClass extends MasterPageBase {\n protected get spec(): MasterSpec {\n return {\n key: 'equipmentClass',\n title: 'equipment-class',\n help: 'ops-master/equipment-class',\n query: 'equipmentClasses',\n mutation: 'updateMultipleEquipmentClass',\n columns: [\n ...IDENTITY,\n { name: 'baseIds', label: 'base-classes', type: 'reference-list', reference: { queryName: 'equipmentClasses' }, width: 180 },\n /*\n * ── 나를 누가 쓰나 ────────────────────────────────────────────────\n *\n * 값의 주인이 이 표가 아니라 **저쪽 표**다. 그래서 여기서 못 고친다 — 바꾸려면 그쪽에서\n * 이 이름을 가리키게 하거나 떼면 된다.\n *\n * 넘치면 **몇이 안 보이는지 함께 낸다.** 오류보고없이 자르면 「셋이 있다」와 「서른이 있는데\n * 셋만 보인다」가 같아 보이고, 그 칸을 보고 사람이 판단을 내린다.\n */\n { name: 'members', label: 'members', type: 'list', width: 240, readonly: true },\n ...EFFECTIVE\n ]\n }\n }\n}\n"]}
@@ -1,12 +0,0 @@
1
- import { MasterPageBase, MasterSpec } from './master-page-base.js';
2
- /**
3
- * 실제로 돌아가는 설비 하나하나. 실적과 정지 기록이 이것에 붙는다.
4
- *
5
- * 근무 캘린더를 정해야 계획 조업 시간이 생기고, 그것이 없으면 가동률이 「모름」이 된다.
6
- *
7
- * 화면 골격과 저장은 MasterPageBase 가 갖는다. 이 파일은 **이 화면이 무엇을 보이나**만 말한다 —
8
- * 자기 인터페이스가 필요해지면 여기서 render 를 덮어쓴다.
9
- */
10
- export declare class OpsMasterEquipment extends MasterPageBase {
11
- protected get spec(): MasterSpec;
12
- }
@@ -1,58 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { customElement } from 'lit/decorators.js';
3
- import { EFFECTIVE, IDENTITY, MasterPageBase } from './master-page-base.js';
4
- /**
5
- * 실제로 돌아가는 설비 하나하나. 실적과 정지 기록이 이것에 붙는다.
6
- *
7
- * 근무 캘린더를 정해야 계획 조업 시간이 생기고, 그것이 없으면 가동률이 「모름」이 된다.
8
- *
9
- * 화면 골격과 저장은 MasterPageBase 가 갖는다. 이 파일은 **이 화면이 무엇을 보이나**만 말한다 —
10
- * 자기 인터페이스가 필요해지면 여기서 render 를 덮어쓴다.
11
- */
12
- let OpsMasterEquipment = class OpsMasterEquipment extends MasterPageBase {
13
- get spec() {
14
- return {
15
- key: 'equipment',
16
- axis: 'equipment',
17
- title: 'equipment',
18
- help: 'ops-master/equipment',
19
- query: 'equipmentList',
20
- mutation: 'updateMultipleEquipment',
21
- columns: [
22
- ...IDENTITY,
23
- { name: 'kind', label: 'equipment-class', type: 'string', width: 200 },
24
- { name: 'identity', label: 'identity', type: 'string', width: 200 },
25
- {
26
- name: 'homeLocation',
27
- label: 'home-location',
28
- type: 'reference',
29
- reference: { queryName: 'operationalLocations' },
30
- width: 140
31
- },
32
- /*
33
- * ── 손으로 칠 수 있는 값이 아니다 ─────────────────────────────────
34
- *
35
- * `type: 'json'` 은 글자를 그대로 받아 `JSON.parse` 하고, 실패하면 **오류 없이 `null`**
36
- * 로 둔다(`data-grid-body.js`). 그래서 이 칸을 고치려면 사람이 이런 것을 손으로 쳐야
37
- * 했고, 오타 하나에 그 설비의 계획 가동 시간이 조용히 사라졌다.
38
- *
39
- * [{"id":"A조","fromDayOffset":0,"fromTime":"06:00","toDayOffset":0,"toTime":"14:00"}]
40
- *
41
- * 그리고 **정상은 이 칸이 비는 것**이다. 근무조는 자리가 선언하고 설비가 물려받는다
42
- * (`OperationalLocation.workShiftNames`). 이 칸은 「이 설비만 따로 이렇게 가동한다」는
43
- * 예외를 적는 자리다 — 예외가 없는 설비에 값이 있으면 화면이 거짓말을 한다.
44
- *
45
- * 읽기 전용으로 둔다. 값이 있으면 보이고, 고치는 길은 예외를 제대로 세울 때 만든다.
46
- * 지금 상태로 열어 두는 것은 고칠 수 있는 척하면서 자료를 잃는 것이다.
47
- */
48
- { name: 'workCalendar', label: 'work-calendar', type: 'json', width: 200, readonly: true },
49
- ...EFFECTIVE
50
- ]
51
- };
52
- }
53
- };
54
- OpsMasterEquipment = __decorate([
55
- customElement('ops-master-equipment')
56
- ], OpsMasterEquipment);
57
- export { OpsMasterEquipment };
58
- //# sourceMappingURL=equipment.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"equipment.js","sourceRoot":"","sources":["../../../client/pages/master/equipment.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEjD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAc,MAAM,uBAAuB,CAAA;AAEvF;;;;;;;GAOG;AAEI,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,cAAc;IACpD,IAAc,IAAI;QAChB,OAAO;YACL,GAAG,EAAE,WAAW;YAChB,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,sBAAsB;YAC5B,KAAK,EAAE,eAAe;YACtB,QAAQ,EAAE,yBAAyB;YACnC,OAAO,EAAE;gBACP,GAAG,QAAQ;gBACX,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;gBACtE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;gBACnE;oBACE,IAAI,EAAE,cAAc;oBACpB,KAAK,EAAE,eAAe;oBACtB,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE,EAAE,SAAS,EAAE,sBAAsB,EAAE;oBAChD,KAAK,EAAE,GAAG;iBACX;gBACD;;;;;;;;;;;;;;;mBAeG;gBACH,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC1F,GAAG,SAAS;aACb;SACF,CAAA;IACH,CAAC;CACF,CAAA;AAzCY,kBAAkB;IAD9B,aAAa,CAAC,sBAAsB,CAAC;GACzB,kBAAkB,CAyC9B","sourcesContent":["import { customElement } from 'lit/decorators.js'\n\nimport { EFFECTIVE, IDENTITY, MasterPageBase, MasterSpec } from './master-page-base.js'\n\n/**\n * 실제로 돌아가는 설비 하나하나. 실적과 정지 기록이 이것에 붙는다.\n *\n * 근무 캘린더를 정해야 계획 조업 시간이 생기고, 그것이 없으면 가동률이 「모름」이 된다.\n *\n * 화면 골격과 저장은 MasterPageBase 가 갖는다. 이 파일은 **이 화면이 무엇을 보이나**만 말한다 —\n * 자기 인터페이스가 필요해지면 여기서 render 를 덮어쓴다.\n */\n@customElement('ops-master-equipment')\nexport class OpsMasterEquipment extends MasterPageBase {\n protected get spec(): MasterSpec {\n return {\n key: 'equipment',\n axis: 'equipment',\n title: 'equipment',\n help: 'ops-master/equipment',\n query: 'equipmentList',\n mutation: 'updateMultipleEquipment',\n columns: [\n ...IDENTITY,\n { name: 'kind', label: 'equipment-class', type: 'string', width: 200 },\n { name: 'identity', label: 'identity', type: 'string', width: 200 },\n {\n name: 'homeLocation',\n label: 'home-location',\n type: 'reference',\n reference: { queryName: 'operationalLocations' },\n width: 140\n },\n /*\n * ── 손으로 칠 수 있는 값이 아니다 ─────────────────────────────────\n *\n * `type: 'json'` 은 글자를 그대로 받아 `JSON.parse` 하고, 실패하면 **오류 없이 `null`**\n * 로 둔다(`data-grid-body.js`). 그래서 이 칸을 고치려면 사람이 이런 것을 손으로 쳐야\n * 했고, 오타 하나에 그 설비의 계획 가동 시간이 조용히 사라졌다.\n *\n * [{\"id\":\"A조\",\"fromDayOffset\":0,\"fromTime\":\"06:00\",\"toDayOffset\":0,\"toTime\":\"14:00\"}]\n *\n * 그리고 **정상은 이 칸이 비는 것**이다. 근무조는 자리가 선언하고 설비가 물려받는다\n * (`OperationalLocation.workShiftNames`). 이 칸은 「이 설비만 따로 이렇게 가동한다」는\n * 예외를 적는 자리다 — 예외가 없는 설비에 값이 있으면 화면이 거짓말을 한다.\n *\n * 읽기 전용으로 둔다. 값이 있으면 보이고, 고치는 길은 예외를 제대로 세울 때 만든다.\n * 지금 상태로 열어 두는 것은 고칠 수 있는 척하면서 자료를 잃는 것이다.\n */\n { name: 'workCalendar', label: 'work-calendar', type: 'json', width: 200, readonly: true },\n ...EFFECTIVE\n ]\n }\n }\n}\n"]}
@@ -1,20 +0,0 @@
1
- import { OxGristEditor } from '@operato/data-grist';
2
- export declare const OxGristRendererIsoDuration: (value: string | undefined) => import("lit-html").TemplateResult<1>;
3
- export declare class OpsMasterGristEditorIsoDuration extends OxGristEditor {
4
- get inlineEditable(): boolean;
5
- /**
6
- * 저장된 표기 → 편집기.
7
- *
8
- * 초로 고치게 한다. 이 공정들의 소요시간은 6.5초에서 360초 사이라 초가 자연스럽고, 저장되는
9
- * 표기와도 맞는다.
10
- */
11
- formatForEditor(value: any): number | "";
12
- /**
13
- * 편집기 → 저장할 표기.
14
- *
15
- * **빈 칸은 지운 것으로 본다.** 0 으로 떨어뜨리면 그냥 지나간 칸이 「즉시 끝나는 공정」이 되고,
16
- * 그 공정은 택트 계산에서 없는 것처럼 통과한다.
17
- */
18
- formatFromEditor(value: any): any;
19
- get editorTemplate(): import("lit-html").TemplateResult<1>;
20
- }
@@ -1,70 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { html } from 'lit';
3
- import { customElement } from 'lit/decorators.js';
4
- import { OxGristEditor } from '@operato/data-grist';
5
- import { i18next } from '@operato/i18n';
6
- import { durationText, isoDurationOfSeconds, secondsOfIsoDuration } from './iso-duration.js';
7
- /**
8
- * ISO 8601 기간 칸의 그리기와 고치기.
9
- *
10
- * `@operato/grist-editor` 의 `duration` 은 **초 숫자**용이라 여기 못 쓴다 — 자세한 사연은
11
- * `iso-duration.ts` 첫 주석에 있다. 값의 해석은 그 파일이 하고, 여기는 화면만 맡는다.
12
- */
13
- /** 시·분·초 용어. 공용 패키지가 이미 갖고 있어 새로 만들지 않는다. */
14
- function units() {
15
- return {
16
- hour: i18next.t('label.hours'),
17
- minute: i18next.t('label.minutes'),
18
- second: i18next.t('label.seconds')
19
- };
20
- }
21
- export const OxGristRendererIsoDuration = (value) => html `<span>${durationText(value, units())}</span>`;
22
- let OpsMasterGristEditorIsoDuration = class OpsMasterGristEditorIsoDuration extends OxGristEditor {
23
- get inlineEditable() {
24
- return true;
25
- }
26
- /**
27
- * 저장된 표기 → 편집기.
28
- *
29
- * 초로 고치게 한다. 이 공정들의 소요시간은 6.5초에서 360초 사이라 초가 자연스럽고, 저장되는
30
- * 표기와도 맞는다.
31
- */
32
- formatForEditor(value) {
33
- const seconds = secondsOfIsoDuration(value);
34
- /*
35
- * 해석할 수 없는 값이면 편집기를 비운다. 렌더러가 원문을 보여 주었으므로 사용자는 무엇이
36
- * 이상했는지 이미 보았다.
37
- */
38
- return seconds === undefined ? '' : seconds;
39
- }
40
- /**
41
- * 편집기 → 저장할 표기.
42
- *
43
- * **빈 칸은 지운 것으로 본다.** 0 으로 떨어뜨리면 그냥 지나간 칸이 「즉시 끝나는 공정」이 되고,
44
- * 그 공정은 택트 계산에서 없는 것처럼 통과한다.
45
- */
46
- formatFromEditor(value) {
47
- const text = String(value ?? '').trim();
48
- if (!text) {
49
- return null;
50
- }
51
- const seconds = Number(text);
52
- /*
53
- * 숫자가 아니면 **저장하지 않고 앞의 값을 둔다.** 여기서 null 을 내면 사용자가 잘못 친 순간
54
- * 원래 있던 소요시간이 사라진다.
55
- */
56
- if (!Number.isFinite(seconds) || seconds < 0) {
57
- return this.value;
58
- }
59
- return isoDurationOfSeconds(seconds);
60
- }
61
- get editorTemplate() {
62
- /* 초 단위. 작업표준서에 6.5초 같은 값이 있어 소수를 받는다. */
63
- return html `<input type="number" min="0" step="0.1" .value=${this.value ?? ''} />`;
64
- }
65
- };
66
- OpsMasterGristEditorIsoDuration = __decorate([
67
- customElement('ops-master-grist-editor-iso-duration')
68
- ], OpsMasterGristEditorIsoDuration);
69
- export { OpsMasterGristEditorIsoDuration };
70
- //# sourceMappingURL=grist-iso-duration.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grist-iso-duration.js","sourceRoot":"","sources":["../../../client/pages/master/grist-iso-duration.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAA;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAE5F;;;;;GAKG;AAEH,6CAA6C;AAC7C,SAAS,KAAK;IACZ,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC;QAC9B,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QAClC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;KACnC,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,KAAyB,EAAE,EAAE,CACtE,IAAI,CAAA,SAAS,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,SAAS,CAAA;AAG7C,IAAM,+BAA+B,GAArC,MAAM,+BAAgC,SAAQ,aAAa;IAChE,IAAI,cAAc;QAChB,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAC,KAAU;QACxB,MAAM,OAAO,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAA;QAE3C;;;WAGG;QACH,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;IAC7C,CAAC;IAED;;;;;OAKG;IACH,gBAAgB,CAAC,KAAU;QACzB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QAEvC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;QAE5B;;;WAGG;QACH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC,KAAK,CAAA;QACnB,CAAC;QAED,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAA;IACtC,CAAC;IAED,IAAI,cAAc;QAChB,yCAAyC;QACzC,OAAO,IAAI,CAAA,kDAAkD,IAAI,CAAC,KAAK,IAAI,EAAE,KAAK,CAAA;IACpF,CAAC;CACF,CAAA;AAnDY,+BAA+B;IAD3C,aAAa,CAAC,sCAAsC,CAAC;GACzC,+BAA+B,CAmD3C","sourcesContent":["import { html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\nimport { OxGristEditor } from '@operato/data-grist'\nimport { i18next } from '@operato/i18n'\n\nimport { durationText, isoDurationOfSeconds, secondsOfIsoDuration } from './iso-duration.js'\n\n/**\n * ISO 8601 기간 칸의 그리기와 고치기.\n *\n * `@operato/grist-editor` 의 `duration` 은 **초 숫자**용이라 여기 못 쓴다 — 자세한 사연은\n * `iso-duration.ts` 첫 주석에 있다. 값의 해석은 그 파일이 하고, 여기는 화면만 맡는다.\n */\n\n/** 시·분·초 용어. 공용 패키지가 이미 갖고 있어 새로 만들지 않는다. */\nfunction units() {\n return {\n hour: i18next.t('label.hours'),\n minute: i18next.t('label.minutes'),\n second: i18next.t('label.seconds')\n }\n}\n\nexport const OxGristRendererIsoDuration = (value: string | undefined) =>\n html`<span>${durationText(value, units())}</span>`\n\n@customElement('ops-master-grist-editor-iso-duration')\nexport class OpsMasterGristEditorIsoDuration extends OxGristEditor {\n get inlineEditable() {\n return true\n }\n\n /**\n * 저장된 표기 → 편집기.\n *\n * 초로 고치게 한다. 이 공정들의 소요시간은 6.5초에서 360초 사이라 초가 자연스럽고, 저장되는\n * 표기와도 맞는다.\n */\n formatForEditor(value: any) {\n const seconds = secondsOfIsoDuration(value)\n\n /*\n * 해석할 수 없는 값이면 편집기를 비운다. 렌더러가 원문을 보여 주었으므로 사용자는 무엇이\n * 이상했는지 이미 보았다.\n */\n return seconds === undefined ? '' : seconds\n }\n\n /**\n * 편집기 → 저장할 표기.\n *\n * **빈 칸은 지운 것으로 본다.** 0 으로 떨어뜨리면 그냥 지나간 칸이 「즉시 끝나는 공정」이 되고,\n * 그 공정은 택트 계산에서 없는 것처럼 통과한다.\n */\n formatFromEditor(value: any) {\n const text = String(value ?? '').trim()\n\n if (!text) {\n return null\n }\n\n const seconds = Number(text)\n\n /*\n * 숫자가 아니면 **저장하지 않고 앞의 값을 둔다.** 여기서 null 을 내면 사용자가 잘못 친 순간\n * 원래 있던 소요시간이 사라진다.\n */\n if (!Number.isFinite(seconds) || seconds < 0) {\n return this.value\n }\n\n return isoDurationOfSeconds(seconds)\n }\n\n get editorTemplate() {\n /* 초 단위. 작업표준서에 6.5초 같은 값이 있어 소수를 받는다. */\n return html`<input type=\"number\" min=\"0\" step=\"0.1\" .value=${this.value ?? ''} />`\n }\n}\n"]}