@things-factory/ops-master 10.1.247 → 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.
- package/package.json +3 -3
- package/dist-client/bootstrap.d.ts +0 -19
- package/dist-client/bootstrap.js +0 -66
- package/dist-client/bootstrap.js.map +0 -1
- package/dist-client/index.d.ts +0 -17
- package/dist-client/index.js +0 -21
- package/dist-client/index.js.map +0 -1
- package/dist-client/master-change-approval.d.ts +0 -14
- package/dist-client/master-change-approval.js +0 -36
- package/dist-client/master-change-approval.js.map +0 -1
- package/dist-client/master-change-policy-axes.d.ts +0 -37
- package/dist-client/master-change-policy-axes.js +0 -29
- package/dist-client/master-change-policy-axes.js.map +0 -1
- package/dist-client/master-change-policy-panel.d.ts +0 -59
- package/dist-client/master-change-policy-panel.js +0 -454
- package/dist-client/master-change-policy-panel.js.map +0 -1
- package/dist-client/master-change-providers.d.ts +0 -4
- package/dist-client/master-change-providers.js +0 -91
- package/dist-client/master-change-providers.js.map +0 -1
- package/dist-client/pages/master/applied-when-dialog.d.ts +0 -48
- package/dist-client/pages/master/applied-when-dialog.js +0 -137
- package/dist-client/pages/master/applied-when-dialog.js.map +0 -1
- package/dist-client/pages/master/assignment-fields.d.ts +0 -27
- package/dist-client/pages/master/assignment-fields.js +0 -62
- package/dist-client/pages/master/assignment-fields.js.map +0 -1
- package/dist-client/pages/master/equipment-class.d.ts +0 -12
- package/dist-client/pages/master/equipment-class.js +0 -42
- package/dist-client/pages/master/equipment-class.js.map +0 -1
- package/dist-client/pages/master/equipment.d.ts +0 -12
- package/dist-client/pages/master/equipment.js +0 -58
- package/dist-client/pages/master/equipment.js.map +0 -1
- package/dist-client/pages/master/grist-iso-duration.d.ts +0 -20
- package/dist-client/pages/master/grist-iso-duration.js +0 -70
- package/dist-client/pages/master/grist-iso-duration.js.map +0 -1
- package/dist-client/pages/master/grist-reference.d.ts +0 -91
- package/dist-client/pages/master/grist-reference.js +0 -419
- package/dist-client/pages/master/grist-reference.js.map +0 -1
- package/dist-client/pages/master/import-rows.d.ts +0 -35
- package/dist-client/pages/master/import-rows.js +0 -66
- package/dist-client/pages/master/import-rows.js.map +0 -1
- package/dist-client/pages/master/iso-duration.d.ts +0 -34
- package/dist-client/pages/master/iso-duration.js +0 -76
- package/dist-client/pages/master/iso-duration.js.map +0 -1
- package/dist-client/pages/master/master-options.d.ts +0 -40
- package/dist-client/pages/master/master-options.js +0 -54
- package/dist-client/pages/master/master-options.js.map +0 -1
- package/dist-client/pages/master/master-page-base.d.ts +0 -369
- package/dist-client/pages/master/master-page-base.js +0 -657
- package/dist-client/pages/master/master-page-base.js.map +0 -1
- package/dist-client/pages/master/material-class.d.ts +0 -12
- package/dist-client/pages/master/material-class.js +0 -42
- package/dist-client/pages/master/material-class.js.map +0 -1
- package/dist-client/pages/master/material-definition.d.ts +0 -5
- package/dist-client/pages/master/material-definition.js +0 -14
- package/dist-client/pages/master/material-definition.js.map +0 -1
- package/dist-client/pages/master/material-revision-fields.d.ts +0 -2
- package/dist-client/pages/master/material-revision-fields.js +0 -43
- package/dist-client/pages/master/material-revision-fields.js.map +0 -1
- package/dist-client/pages/master/operation-definition.d.ts +0 -12
- package/dist-client/pages/master/operation-definition.js +0 -49
- package/dist-client/pages/master/operation-definition.js.map +0 -1
- package/dist-client/pages/master/operational-location.d.ts +0 -84
- package/dist-client/pages/master/operational-location.js +0 -432
- package/dist-client/pages/master/operational-location.js.map +0 -1
- package/dist-client/pages/master/person.d.ts +0 -12
- package/dist-client/pages/master/person.js +0 -41
- package/dist-client/pages/master/person.js.map +0 -1
- package/dist-client/pages/master/personnel-class.d.ts +0 -12
- package/dist-client/pages/master/personnel-class.js +0 -43
- package/dist-client/pages/master/personnel-class.js.map +0 -1
- package/dist-client/pages/master/physical-asset-class.d.ts +0 -12
- package/dist-client/pages/master/physical-asset-class.js +0 -40
- package/dist-client/pages/master/physical-asset-class.js.map +0 -1
- package/dist-client/pages/master/physical-asset.d.ts +0 -12
- package/dist-client/pages/master/physical-asset.js +0 -41
- package/dist-client/pages/master/physical-asset.js.map +0 -1
- package/dist-client/pages/master/recipe-definition.d.ts +0 -5
- package/dist-client/pages/master/recipe-definition.js +0 -14
- package/dist-client/pages/master/recipe-definition.js.map +0 -1
- package/dist-client/pages/master/reference-targets.d.ts +0 -42
- package/dist-client/pages/master/reference-targets.js +0 -82
- package/dist-client/pages/master/reference-targets.js.map +0 -1
- package/dist-client/pages/master/revision-comparison.d.ts +0 -49
- package/dist-client/pages/master/revision-comparison.js +0 -560
- package/dist-client/pages/master/revision-comparison.js.map +0 -1
- package/dist-client/pages/master/revision-view.d.ts +0 -34
- package/dist-client/pages/master/revision-view.js +0 -145
- package/dist-client/pages/master/revision-view.js.map +0 -1
- package/dist-client/pages/master/revision-workspace.d.ts +0 -50
- package/dist-client/pages/master/revision-workspace.js +0 -763
- package/dist-client/pages/master/revision-workspace.js.map +0 -1
- package/dist-client/pages/master/route-definition.d.ts +0 -19
- package/dist-client/pages/master/route-definition.js +0 -40
- package/dist-client/pages/master/route-definition.js.map +0 -1
- package/dist-client/pages/master/stop-reason.d.ts +0 -12
- package/dist-client/pages/master/stop-reason.js +0 -48
- package/dist-client/pages/master/stop-reason.js.map +0 -1
- package/dist-client/pages/master/test-specification.d.ts +0 -5
- package/dist-client/pages/master/test-specification.js +0 -14
- package/dist-client/pages/master/test-specification.js.map +0 -1
- package/dist-client/pages/master-axes.d.ts +0 -24
- package/dist-client/pages/master-axes.js +0 -39
- package/dist-client/pages/master-axes.js.map +0 -1
- package/dist-client/route.d.ts +0 -1
- package/dist-client/route.js +0 -81
- package/dist-client/route.js.map +0 -1
- package/dist-client/tsconfig.tsbuildinfo +0 -1
- package/dist-server/index.d.ts +0 -1
- package/dist-server/index.js +0 -19
- package/dist-server/index.js.map +0 -1
- package/dist-server/service/ai-entry/master-entry-rules.d.ts +0 -175
- package/dist-server/service/ai-entry/master-entry-rules.js +0 -302
- package/dist-server/service/ai-entry/master-entry-rules.js.map +0 -1
- package/dist-server/service/ai-entry/master-entry-targets.d.ts +0 -23
- package/dist-server/service/ai-entry/master-entry-targets.js +0 -293
- package/dist-server/service/ai-entry/master-entry-targets.js.map +0 -1
- package/dist-server/service/approval-route.d.ts +0 -37
- package/dist-server/service/approval-route.js +0 -34
- package/dist-server/service/approval-route.js.map +0 -1
- package/dist-server/service/asset/asset-lifecycle.d.ts +0 -106
- package/dist-server/service/asset/asset-lifecycle.js +0 -126
- package/dist-server/service/asset/asset-lifecycle.js.map +0 -1
- package/dist-server/service/asset/asset-master-resolver.d.ts +0 -53
- package/dist-server/service/asset/asset-master-resolver.js +0 -185
- package/dist-server/service/asset/asset-master-resolver.js.map +0 -1
- package/dist-server/service/asset/asset-master.d.ts +0 -21
- package/dist-server/service/asset/asset-master.js +0 -25
- package/dist-server/service/asset/asset-master.js.map +0 -1
- package/dist-server/service/asset/asset-query.d.ts +0 -16
- package/dist-server/service/asset/asset-query.js +0 -72
- package/dist-server/service/asset/asset-query.js.map +0 -1
- package/dist-server/service/asset/index.d.ts +0 -6
- package/dist-server/service/asset/index.js +0 -10
- package/dist-server/service/asset/index.js.map +0 -1
- package/dist-server/service/asset/physical-asset-class.d.ts +0 -34
- package/dist-server/service/asset/physical-asset-class.js +0 -104
- package/dist-server/service/asset/physical-asset-class.js.map +0 -1
- package/dist-server/service/asset/physical-asset.d.ts +0 -66
- package/dist-server/service/asset/physical-asset.js +0 -123
- package/dist-server/service/asset/physical-asset.js.map +0 -1
- package/dist-server/service/assignment/applied-when.d.ts +0 -24
- package/dist-server/service/assignment/applied-when.js +0 -16
- package/dist-server/service/assignment/applied-when.js.map +0 -1
- package/dist-server/service/assignment/assignment-history.d.ts +0 -92
- package/dist-server/service/assignment/assignment-history.js +0 -289
- package/dist-server/service/assignment/assignment-history.js.map +0 -1
- package/dist-server/service/assignment/assignment-write.d.ts +0 -42
- package/dist-server/service/assignment/assignment-write.js +0 -101
- package/dist-server/service/assignment/assignment-write.js.map +0 -1
- package/dist-server/service/assignment/master-value-claim.d.ts +0 -135
- package/dist-server/service/assignment/master-value-claim.js +0 -174
- package/dist-server/service/assignment/master-value-claim.js.map +0 -1
- package/dist-server/service/equipment/equipment-class.d.ts +0 -34
- package/dist-server/service/equipment/equipment-class.js +0 -104
- package/dist-server/service/equipment/equipment-class.js.map +0 -1
- package/dist-server/service/equipment/equipment-master-resolver.d.ts +0 -77
- package/dist-server/service/equipment/equipment-master-resolver.js +0 -266
- package/dist-server/service/equipment/equipment-master-resolver.js.map +0 -1
- package/dist-server/service/equipment/equipment-master.d.ts +0 -30
- package/dist-server/service/equipment/equipment-master.js +0 -53
- package/dist-server/service/equipment/equipment-master.js.map +0 -1
- package/dist-server/service/equipment/equipment-query.d.ts +0 -16
- package/dist-server/service/equipment/equipment-query.js +0 -72
- package/dist-server/service/equipment/equipment-query.js.map +0 -1
- package/dist-server/service/equipment/equipment.d.ts +0 -71
- package/dist-server/service/equipment/equipment.js +0 -138
- package/dist-server/service/equipment/equipment.js.map +0 -1
- package/dist-server/service/equipment/index.d.ts +0 -8
- package/dist-server/service/equipment/index.js +0 -12
- package/dist-server/service/equipment/index.js.map +0 -1
- package/dist-server/service/equipment/state-period-rules.d.ts +0 -95
- package/dist-server/service/equipment/state-period-rules.js +0 -122
- package/dist-server/service/equipment/state-period-rules.js.map +0 -1
- package/dist-server/service/equipment/stop-reason-query.d.ts +0 -11
- package/dist-server/service/equipment/stop-reason-query.js +0 -39
- package/dist-server/service/equipment/stop-reason-query.js.map +0 -1
- package/dist-server/service/equipment/stop-reason.d.ts +0 -58
- package/dist-server/service/equipment/stop-reason.js +0 -114
- package/dist-server/service/equipment/stop-reason.js.map +0 -1
- package/dist-server/service/index.d.ts +0 -82
- package/dist-server/service/index.js +0 -145
- package/dist-server/service/index.js.map +0 -1
- package/dist-server/service/location/index.d.ts +0 -5
- package/dist-server/service/location/index.js +0 -9
- package/dist-server/service/location/index.js.map +0 -1
- package/dist-server/service/location/location-master-resolver.d.ts +0 -60
- package/dist-server/service/location/location-master-resolver.js +0 -313
- package/dist-server/service/location/location-master-resolver.js.map +0 -1
- package/dist-server/service/location/location-master.d.ts +0 -26
- package/dist-server/service/location/location-master.js +0 -28
- package/dist-server/service/location/location-master.js.map +0 -1
- package/dist-server/service/location/location-query.d.ts +0 -15
- package/dist-server/service/location/location-query.js +0 -56
- package/dist-server/service/location/location-query.js.map +0 -1
- package/dist-server/service/location/operational-location.d.ts +0 -116
- package/dist-server/service/location/operational-location.js +0 -157
- package/dist-server/service/location/operational-location.js.map +0 -1
- package/dist-server/service/master-axis.d.ts +0 -40
- package/dist-server/service/master-axis.js +0 -57
- package/dist-server/service/master-axis.js.map +0 -1
- package/dist-server/service/master-change-approval/approval-input.d.ts +0 -17
- package/dist-server/service/master-change-approval/approval-input.js +0 -35
- package/dist-server/service/master-change-approval/approval-input.js.map +0 -1
- package/dist-server/service/master-change-approval/builtin-axes.d.ts +0 -4
- package/dist-server/service/master-change-approval/builtin-axes.js +0 -96
- package/dist-server/service/master-change-approval/builtin-axes.js.map +0 -1
- package/dist-server/service/master-change-approval/index.d.ts +0 -14
- package/dist-server/service/master-change-approval/index.js +0 -37
- package/dist-server/service/master-change-approval/index.js.map +0 -1
- package/dist-server/service/master-change-approval/master-change-axis.d.ts +0 -54
- package/dist-server/service/master-change-approval/master-change-axis.js +0 -17
- package/dist-server/service/master-change-approval/master-change-axis.js.map +0 -1
- package/dist-server/service/master-change-approval/master-change-flow.d.ts +0 -65
- package/dist-server/service/master-change-approval/master-change-flow.js +0 -125
- package/dist-server/service/master-change-approval/master-change-flow.js.map +0 -1
- package/dist-server/service/master-change-approval/master-change-resolver.d.ts +0 -18
- package/dist-server/service/master-change-approval/master-change-resolver.js +0 -58
- package/dist-server/service/master-change-approval/master-change-resolver.js.map +0 -1
- package/dist-server/service/master-change-policy.d.ts +0 -122
- package/dist-server/service/master-change-policy.js +0 -304
- package/dist-server/service/master-change-policy.js.map +0 -1
- package/dist-server/service/master-conformance-resolver.d.ts +0 -34
- package/dist-server/service/master-conformance-resolver.js +0 -153
- package/dist-server/service/master-conformance-resolver.js.map +0 -1
- package/dist-server/service/master-conformance.d.ts +0 -80
- package/dist-server/service/master-conformance.js +0 -266
- package/dist-server/service/master-conformance.js.map +0 -1
- package/dist-server/service/master-crud.d.ts +0 -55
- package/dist-server/service/master-crud.js +0 -93
- package/dist-server/service/master-crud.js.map +0 -1
- package/dist-server/service/master-list.d.ts +0 -12
- package/dist-server/service/master-list.js +0 -30
- package/dist-server/service/master-list.js.map +0 -1
- package/dist-server/service/master-page-query.d.ts +0 -33
- package/dist-server/service/master-page-query.js +0 -55
- package/dist-server/service/master-page-query.js.map +0 -1
- package/dist-server/service/master-page.d.ts +0 -85
- package/dist-server/service/master-page.js +0 -104
- package/dist-server/service/master-page.js.map +0 -1
- package/dist-server/service/material/index.d.ts +0 -7
- package/dist-server/service/material/index.js +0 -12
- package/dist-server/service/material/index.js.map +0 -1
- package/dist-server/service/material/material-axis-status.d.ts +0 -8
- package/dist-server/service/material/material-axis-status.js +0 -19
- package/dist-server/service/material/material-axis-status.js.map +0 -1
- package/dist-server/service/material/material-class.d.ts +0 -34
- package/dist-server/service/material/material-class.js +0 -104
- package/dist-server/service/material/material-class.js.map +0 -1
- package/dist-server/service/material/material-definition.d.ts +0 -45
- package/dist-server/service/material/material-definition.js +0 -125
- package/dist-server/service/material/material-definition.js.map +0 -1
- package/dist-server/service/material/material-effective-list.d.ts +0 -39
- package/dist-server/service/material/material-effective-list.js +0 -54
- package/dist-server/service/material/material-effective-list.js.map +0 -1
- package/dist-server/service/material/material-master-resolver.d.ts +0 -106
- package/dist-server/service/material/material-master-resolver.js +0 -351
- package/dist-server/service/material/material-master-resolver.js.map +0 -1
- package/dist-server/service/material/material-master.d.ts +0 -9
- package/dist-server/service/material/material-master.js +0 -24
- package/dist-server/service/material/material-master.js.map +0 -1
- package/dist-server/service/material/material-query.d.ts +0 -16
- package/dist-server/service/material/material-query.js +0 -79
- package/dist-server/service/material/material-query.js.map +0 -1
- package/dist-server/service/material/material-revision-content.d.ts +0 -10
- package/dist-server/service/material/material-revision-content.js +0 -92
- package/dist-server/service/material/material-revision-content.js.map +0 -1
- package/dist-server/service/material/material-revision-resolver.d.ts +0 -60
- package/dist-server/service/material/material-revision-resolver.js +0 -96
- package/dist-server/service/material/material-revision-resolver.js.map +0 -1
- package/dist-server/service/material/material-revision-service.d.ts +0 -179
- package/dist-server/service/material/material-revision-service.js +0 -687
- package/dist-server/service/material/material-revision-service.js.map +0 -1
- package/dist-server/service/material/material-revision.d.ts +0 -86
- package/dist-server/service/material/material-revision.js +0 -339
- package/dist-server/service/material/material-revision.js.map +0 -1
- package/dist-server/service/material/recipe-index.d.ts +0 -23
- package/dist-server/service/material/recipe-index.js +0 -44
- package/dist-server/service/material/recipe-index.js.map +0 -1
- package/dist-server/service/operation/index.d.ts +0 -6
- package/dist-server/service/operation/index.js +0 -10
- package/dist-server/service/operation/index.js.map +0 -1
- package/dist-server/service/operation/operation-definition.d.ts +0 -52
- package/dist-server/service/operation/operation-definition.js +0 -143
- package/dist-server/service/operation/operation-definition.js.map +0 -1
- package/dist-server/service/operation/operation-master-resolver.d.ts +0 -52
- package/dist-server/service/operation/operation-master-resolver.js +0 -187
- package/dist-server/service/operation/operation-master-resolver.js.map +0 -1
- package/dist-server/service/operation/operation-master.d.ts +0 -21
- package/dist-server/service/operation/operation-master.js +0 -28
- package/dist-server/service/operation/operation-master.js.map +0 -1
- package/dist-server/service/operation/operation-query.d.ts +0 -15
- package/dist-server/service/operation/operation-query.js +0 -56
- package/dist-server/service/operation/operation-query.js.map +0 -1
- package/dist-server/service/operation/operation-readiness-resolver.d.ts +0 -39
- package/dist-server/service/operation/operation-readiness-resolver.js +0 -111
- package/dist-server/service/operation/operation-readiness-resolver.js.map +0 -1
- package/dist-server/service/operation/operation-readiness.d.ts +0 -34
- package/dist-server/service/operation/operation-readiness.js +0 -133
- package/dist-server/service/operation/operation-readiness.js.map +0 -1
- package/dist-server/service/personnel/index.d.ts +0 -6
- package/dist-server/service/personnel/index.js +0 -10
- package/dist-server/service/personnel/index.js.map +0 -1
- package/dist-server/service/personnel/person.d.ts +0 -51
- package/dist-server/service/personnel/person.js +0 -119
- package/dist-server/service/personnel/person.js.map +0 -1
- package/dist-server/service/personnel/personnel-class-readiness.d.ts +0 -22
- package/dist-server/service/personnel/personnel-class-readiness.js +0 -98
- package/dist-server/service/personnel/personnel-class-readiness.js.map +0 -1
- package/dist-server/service/personnel/personnel-class.d.ts +0 -54
- package/dist-server/service/personnel/personnel-class.js +0 -114
- package/dist-server/service/personnel/personnel-class.js.map +0 -1
- package/dist-server/service/personnel/personnel-master-resolver.d.ts +0 -53
- package/dist-server/service/personnel/personnel-master-resolver.js +0 -187
- package/dist-server/service/personnel/personnel-master-resolver.js.map +0 -1
- package/dist-server/service/personnel/personnel-master.d.ts +0 -39
- package/dist-server/service/personnel/personnel-master.js +0 -34
- package/dist-server/service/personnel/personnel-master.js.map +0 -1
- package/dist-server/service/personnel/personnel-query.d.ts +0 -29
- package/dist-server/service/personnel/personnel-query.js +0 -79
- package/dist-server/service/personnel/personnel-query.js.map +0 -1
- package/dist-server/service/personnel/qualification.d.ts +0 -104
- package/dist-server/service/personnel/qualification.js +0 -147
- package/dist-server/service/personnel/qualification.js.map +0 -1
- package/dist-server/service/quality/index.d.ts +0 -4
- package/dist-server/service/quality/index.js +0 -8
- package/dist-server/service/quality/index.js.map +0 -1
- package/dist-server/service/quality/nonconformance-cause-resolver.d.ts +0 -12
- package/dist-server/service/quality/nonconformance-cause-resolver.js +0 -60
- package/dist-server/service/quality/nonconformance-cause-resolver.js.map +0 -1
- package/dist-server/service/quality/nonconformance-cause.d.ts +0 -20
- package/dist-server/service/quality/nonconformance-cause.js +0 -90
- package/dist-server/service/quality/nonconformance-cause.js.map +0 -1
- package/dist-server/service/recipe/index.d.ts +0 -10
- package/dist-server/service/recipe/index.js +0 -16
- package/dist-server/service/recipe/index.js.map +0 -1
- package/dist-server/service/recipe/recipe-definition.d.ts +0 -75
- package/dist-server/service/recipe/recipe-definition.js +0 -143
- package/dist-server/service/recipe/recipe-definition.js.map +0 -1
- package/dist-server/service/recipe/recipe-effective-list.d.ts +0 -49
- package/dist-server/service/recipe/recipe-effective-list.js +0 -96
- package/dist-server/service/recipe/recipe-effective-list.js.map +0 -1
- package/dist-server/service/recipe/recipe-master-resolver.d.ts +0 -28
- package/dist-server/service/recipe/recipe-master-resolver.js +0 -128
- package/dist-server/service/recipe/recipe-master-resolver.js.map +0 -1
- package/dist-server/service/recipe/recipe-master.d.ts +0 -37
- package/dist-server/service/recipe/recipe-master.js +0 -47
- package/dist-server/service/recipe/recipe-master.js.map +0 -1
- package/dist-server/service/recipe/recipe-query.d.ts +0 -21
- package/dist-server/service/recipe/recipe-query.js +0 -82
- package/dist-server/service/recipe/recipe-query.js.map +0 -1
- package/dist-server/service/recipe/recipe-revision-content.d.ts +0 -32
- package/dist-server/service/recipe/recipe-revision-content.js +0 -70
- package/dist-server/service/recipe/recipe-revision-content.js.map +0 -1
- package/dist-server/service/recipe/recipe-revision-line.d.ts +0 -30
- package/dist-server/service/recipe/recipe-revision-line.js +0 -95
- package/dist-server/service/recipe/recipe-revision-line.js.map +0 -1
- package/dist-server/service/recipe/recipe-revision-resolver.d.ts +0 -65
- package/dist-server/service/recipe/recipe-revision-resolver.js +0 -96
- package/dist-server/service/recipe/recipe-revision-resolver.js.map +0 -1
- package/dist-server/service/recipe/recipe-revision-service.d.ts +0 -183
- package/dist-server/service/recipe/recipe-revision-service.js +0 -754
- package/dist-server/service/recipe/recipe-revision-service.js.map +0 -1
- package/dist-server/service/recipe/recipe-revision.d.ts +0 -102
- package/dist-server/service/recipe/recipe-revision.js +0 -373
- package/dist-server/service/recipe/recipe-revision.js.map +0 -1
- package/dist-server/service/recipe/route-definition.d.ts +0 -51
- package/dist-server/service/recipe/route-definition.js +0 -114
- package/dist-server/service/recipe/route-definition.js.map +0 -1
- package/dist-server/service/resource/class-lineage.d.ts +0 -46
- package/dist-server/service/resource/class-lineage.js +0 -80
- package/dist-server/service/resource/class-lineage.js.map +0 -1
- package/dist-server/service/resource/class-members.d.ts +0 -36
- package/dist-server/service/resource/class-members.js +0 -59
- package/dist-server/service/resource/class-members.js.map +0 -1
- package/dist-server/service/resource/referrers.d.ts +0 -54
- package/dist-server/service/resource/referrers.js +0 -99
- package/dist-server/service/resource/referrers.js.map +0 -1
- package/dist-server/service/resource/resource-class.d.ts +0 -25
- package/dist-server/service/resource/resource-class.js +0 -29
- package/dist-server/service/resource/resource-class.js.map +0 -1
- package/dist-server/service/revision-baseline.d.ts +0 -71
- package/dist-server/service/revision-baseline.js +0 -87
- package/dist-server/service/revision-baseline.js.map +0 -1
- package/dist-server/service/row-lock.d.ts +0 -22
- package/dist-server/service/row-lock.js +0 -31
- package/dist-server/service/row-lock.js.map +0 -1
- package/dist-server/service/status/axis-stamp.d.ts +0 -16
- package/dist-server/service/status/axis-stamp.js +0 -22
- package/dist-server/service/status/axis-stamp.js.map +0 -1
- package/dist-server/service/status/index.d.ts +0 -3
- package/dist-server/service/status/index.js +0 -7
- package/dist-server/service/status/index.js.map +0 -1
- package/dist-server/service/status/master-status.d.ts +0 -38
- package/dist-server/service/status/master-status.js +0 -129
- package/dist-server/service/status/master-status.js.map +0 -1
- package/dist-server/service/test-spec/criteria-check.d.ts +0 -53
- package/dist-server/service/test-spec/criteria-check.js +0 -142
- package/dist-server/service/test-spec/criteria-check.js.map +0 -1
- package/dist-server/service/test-spec/criteria-rows.d.ts +0 -89
- package/dist-server/service/test-spec/criteria-rows.js +0 -139
- package/dist-server/service/test-spec/criteria-rows.js.map +0 -1
- package/dist-server/service/test-spec/index.d.ts +0 -6
- package/dist-server/service/test-spec/index.js +0 -11
- package/dist-server/service/test-spec/index.js.map +0 -1
- package/dist-server/service/test-spec/test-spec-effective-list.d.ts +0 -34
- package/dist-server/service/test-spec/test-spec-effective-list.js +0 -42
- package/dist-server/service/test-spec/test-spec-effective-list.js.map +0 -1
- package/dist-server/service/test-spec/test-spec-master-resolver.d.ts +0 -44
- package/dist-server/service/test-spec/test-spec-master-resolver.js +0 -144
- package/dist-server/service/test-spec/test-spec-master-resolver.js.map +0 -1
- package/dist-server/service/test-spec/test-spec-master.d.ts +0 -6
- package/dist-server/service/test-spec/test-spec-master.js +0 -18
- package/dist-server/service/test-spec/test-spec-master.js.map +0 -1
- package/dist-server/service/test-spec/test-spec-query.d.ts +0 -15
- package/dist-server/service/test-spec/test-spec-query.js +0 -61
- package/dist-server/service/test-spec/test-spec-query.js.map +0 -1
- package/dist-server/service/test-spec/test-spec-revision-resolver.d.ts +0 -59
- package/dist-server/service/test-spec/test-spec-revision-resolver.js +0 -96
- package/dist-server/service/test-spec/test-spec-revision-resolver.js.map +0 -1
- package/dist-server/service/test-spec/test-spec-revision-service.d.ts +0 -178
- package/dist-server/service/test-spec/test-spec-revision-service.js +0 -685
- package/dist-server/service/test-spec/test-spec-revision-service.js.map +0 -1
- package/dist-server/service/test-spec/test-spec-revision.d.ts +0 -86
- package/dist-server/service/test-spec/test-spec-revision.js +0 -334
- package/dist-server/service/test-spec/test-spec-revision.js.map +0 -1
- package/dist-server/service/test-spec/test-specification.d.ts +0 -47
- package/dist-server/service/test-spec/test-specification.js +0 -119
- package/dist-server/service/test-spec/test-specification.js.map +0 -1
- package/dist-server/tsconfig.tsbuildinfo +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"revision-workspace.js","sourceRoot":"","sources":["../../../client/pages/master/revision-workspace.ts"],"names":[],"mappings":"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","sourcesContent":["import '@operato/data-grist/ox-grist.js'\nimport gql from 'graphql-tag'\nimport { html, css, nothing } from 'lit'\nimport { state } from 'lit/decorators.js'\nimport { client } from '@operato/graphql'\nimport { i18next } from '@operato/i18n'\nimport { OxPrompt } from '@operato/popup'\nimport { IDENTITY, MasterPageBase, MasterSpec } from './master-page-base.js'\nimport { requestMasterChangeApproval, masterChangeStatus, MasterChangeStatus } from '../../master-change-approval.js'\nimport { revisionText as t, revisionDate as date, revisionStyles } from './revision-comparison.js'\nimport { materialRevisionFields } from './material-revision-fields.js'\nimport { RevisionAxis, localDateTime, isoFromLocal, isBaseline, reasonOf } from './revision-view.js'\n\n/** Shared workflow, not shared domain payload. Both consumers keep their existing page/URL identities. */\nexport abstract class RevisionWorkspace extends MasterPageBase {\n protected abstract axis: RevisionAxis\n static styles = [\n ...MasterPageBase.styles,\n revisionStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n min-height: 0;\n }\n ox-grist {\n flex: 1;\n min-height: 240px;\n }\n ox-grist[hidden] {\n display: none;\n }\n .workspace {\n overflow: auto;\n flex: 1;\n padding: 20px 24px;\n }\n .bar {\n display: flex;\n align-items: center;\n gap: 12px;\n flex-wrap: wrap;\n }\n .bar h2 {\n margin: 8px 0;\n font-size: var(--ui-t-title, 20px);\n flex: 1;\n overflow-wrap: anywhere;\n }\n .summary {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));\n gap: 16px;\n margin: 20px 0;\n }\n .card {\n padding: 16px;\n border: 1px solid var(--ui-line);\n border-radius: 6px;\n background: var(--md-sys-color-surface);\n }\n .card h3 {\n margin: 0 0 10px;\n }\n .card p {\n margin: 8px 0;\n }\n .current {\n border-inline-start: 4px solid var(--md-sys-color-primary);\n }\n .fields {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));\n gap: 16px;\n margin: 16px 0;\n }\n label {\n display: flex;\n flex-direction: column;\n gap: 6px;\n font-size: var(--ui-t-small, 13px);\n }\n input,\n textarea {\n box-sizing: border-box;\n width: 100%;\n padding: 8px;\n border: 1px solid var(--ui-line);\n border-radius: 4px;\n font: inherit;\n background: var(--md-sys-color-surface);\n color: inherit;\n }\n td input {\n min-width: 100px;\n }\n textarea {\n min-height: 70px;\n }\n .actions {\n display: flex;\n flex-wrap: wrap;\n gap: 12px;\n margin-top: 20px;\n align-items: center;\n }\n .notice {\n padding: 12px;\n background: var(--md-sys-color-surface-container);\n border-radius: 4px;\n }\n .failure {\n padding: 12px;\n border-inline-start: 4px solid var(--md-sys-color-error);\n color: var(--md-sys-color-error);\n }\n .empty {\n padding: 24px;\n }\n .hint {\n font-size: var(--ui-t-small, 13px);\n }\n .editor {\n border-top: 1px solid var(--ui-line);\n margin-top: 20px;\n padding-top: 12px;\n }\n @media (max-width: 700px) {\n .workspace {\n padding: 12px;\n }\n .summary {\n grid-template-columns: 1fr;\n }\n .fields {\n grid-template-columns: 1fr;\n }\n }\n `\n ]\n @state() private overview: any\n @state() private draft: any\n @state() private newName = ''\n @state() private busy = false\n @state() private dirty = false\n @state() private failure = ''\n @state() private message = ''\n @state() private approvalRequired: boolean | undefined\n @state() private statuses: Record<string, MasterChangeStatus> = {}\n private serial = 0\n private get recipe() {\n return this.axis === 'recipeDefinition'\n }\n private get material() { return this.axis === 'materialDefinition' }\n private get names() {\n if (this.material) return { noun: 'material', list: 'materialDefinitions', overview: 'materialDefinitionRevisions', subject: 'materialId', create: 'createMaterialDefinitionDraft', edit: 'editMaterialDefinitionDraft', publish: 'publishMaterialDefinitionDraft' }\n return this.recipe\n ? {\n noun: 'recipe',\n list: 'recipeDefinitions',\n overview: 'recipeRevisions',\n subject: 'recipeId',\n create: 'createRecipeDraft',\n edit: 'editRecipeDraft',\n publish: 'publishRecipeDraft'\n }\n : {\n noun: 'spec',\n list: 'testSpecifications',\n overview: 'testSpecificationRevisions',\n subject: 'specId',\n create: 'createTestSpecificationDraft',\n edit: 'editTestSpecificationDraft',\n publish: 'publishTestSpecificationDraft'\n }\n }\n protected get spec(): MasterSpec {\n return {\n key: this.axis,\n title: this.material ? 'material' : this.recipe ? 'recipe' : 'test-specification',\n help: 'ops-master/' + (this.material ? 'material-definition' : this.recipe ? 'recipe-definition' : 'test-specification'),\n query: this.names.list,\n mutation: this.material ? 'updateMultipleMaterialDefinition' : this.recipe ? 'updateMultipleRecipeDefinition' : 'updateMultipleTestSpecification',\n columns: [\n ...IDENTITY,\n ...(this.material ? [\n { name: 'rootClasses', label: 'material-type', type: 'list' as const, width: 120 },\n { name: 'classPath', label: 'class-lineage', type: 'list' as const, width: 180 },\n { name: 'madeBy', label: 'made-by', type: 'list' as const, width: 180 },\n { name: 'usedIn', label: 'used-in', type: 'list' as const, width: 180 }\n ] : []),\n { name: 'revisionNumber', label: 'revision', type: 'number' as const },\n { name: 'effectiveStart', label: 'effective-start', type: 'date' as const }\n ].map(column => ({ ...column, readonly: true }))\n }\n }\n protected get pathSegmentNarrowsList() {\n return false\n }\n get context(): any {\n return {\n ...super.context,\n importable: undefined,\n exportable: this.overview || this.draft ? undefined : super.context.exportable,\n search: this.overview || this.draft ? undefined : super.context.search,\n description: t('purpose'),\n actions:\n this.draft && !this.draft.frozenAt\n ? [\n {\n title: this.approvalRequired ? t('request-approval') : i18next.t('button.save'),\n icon: 'done',\n emphasis: { raised: true },\n disabled: this.busy || this.approvalRequired === undefined,\n action: () => this.submit()\n }\n ]\n : this.overview || this.draft\n ? []\n : [\n {\n title: t(this.material ? 'new-material' : this.recipe ? 'new-recipe' : 'new-spec'),\n icon: 'add',\n emphasis: { raised: true },\n action: () => this.startNew()\n }\n ]\n }\n }\n updated(changes: any) {\n super.updated(changes)\n if (this.active && ['overview', 'draft', 'busy', 'approvalRequired'].some(key => changes.has(key)))\n this.updateContext()\n }\n protected configOf() {\n const config = super.configOf()\n return { ...config, rows: { ...config.rows, appendable: false, selectable: { multiple: false } } }\n }\n async pageInitialized() {\n await super.pageInitialized()\n await this.openResource(this.lifecycle?.resourceId)\n }\n async pageUpdated(changes: any, after: any, before: any) {\n await super.pageUpdated()\n if (after?.resourceId !== before?.resourceId) await this.openResource(after?.resourceId)\n }\n private async openResource(key?: string) {\n if (!key) return\n await this.run(async () => {\n const response = await client.query({\n query: gql(`query($filters:[Filter!]){${this.names.list}(filters:$filters){items{id}}}`),\n variables: { filters: [{ name: 'name', operator: 'eq', value: key }] },\n fetchPolicy: 'no-cache'\n })\n this.assert(response)\n const row = response.data[this.names.list].items[0]\n if (row) await this.load(row.id)\n })\n }\n private assert(response: any) {\n if (response.errors?.length) throw new Error(response.errors.map((e: any) => e.message).join('\\n'))\n if (!response.data) throw new Error(t('no-response'))\n }\n private async run(work: () => Promise<void>) {\n if (this.busy) return\n this.busy = true\n this.failure = ''\n try {\n await work()\n } catch (error) {\n this.failure = (error as Error).message\n } finally {\n this.busy = false\n }\n }\n private async canLeave() {\n return (\n !this.dirty ||\n !!(await OxPrompt.open({\n title: t('unsaved'),\n text: t('discard-question'),\n confirmButton: { text: t('discard') },\n cancelButton: { text: t('keep-editing') }\n }))\n )\n }\n private blank() {\n return {\n version: '1',\n description: '',\n materialDefinitionName: '',\n effectiveFrom: new Date().toISOString(),\n reason: '',\n materialClassIds: [], properties: [], testSpecificationIds: [],\n criteria: [],\n inputs: [],\n outputs: []\n }\n }\n private async policy() {\n const response = await client.query({\n query: gql`\n query ($axis: String!) {\n masterChangePolicy(axis: $axis)\n }\n `,\n variables: { axis: this.axis },\n fetchPolicy: 'no-cache'\n })\n this.assert(response)\n this.approvalRequired = response.data.masterChangePolicy.approvalRequired\n }\n private async startNew() {\n if (!(await this.canLeave())) return\n await this.run(async () => {\n ++this.serial\n this.overview = undefined\n this.draft = this.blank()\n this.newName = ''\n this.dirty = false\n this.message = ''\n await this.policy()\n })\n }\n private async pick(event: CustomEvent) {\n const row = event.detail?.records?.[0] ?? event.detail?.added?.[0]\n if (!row?.id || !(await this.canLeave())) return\n await this.run(async () => {\n this.draft = undefined\n this.dirty = false\n this.message = ''\n await this.load(row.id)\n })\n }\n private async load(id: string) {\n const serial = ++this.serial\n const response = await client.query({\n query: gql(`query($id:String!){${this.names.overview}(${this.names.subject}:$id)}`),\n variables: { id },\n fetchPolicy: 'no-cache'\n })\n this.assert(response)\n if (serial !== this.serial) return\n this.overview = response.data[this.names.overview]\n await this.policy()\n const statuses: Record<string, MasterChangeStatus> = {}\n await Promise.all(\n this.overview.revisions\n .filter((row: any) => row.activityInstanceId)\n .map(async (row: any) => {\n try {\n statuses[row.id] = await masterChangeStatus(this, row.activityInstanceId)\n } catch (error) {\n statuses[row.id] = { state: 'unknown', comment: (error as Error).message }\n }\n })\n )\n if (serial === this.serial) this.statuses = statuses\n }\n private get currentSegment() {\n return this.overview?.schedule.find((s: any) => s.state === 'current')\n }\n private get current() {\n return this.overview?.revisions.find((r: any) => r.id === this.currentSegment?.revisionId)\n }\n private get comparisonBase() {\n if (this.draft?.id && (!this.dirty || this.draft.frozenAt))\n return this.overview?.revisions.find((r: any) => r.id === this.draft.baseRevisionId)\n const at = this.draft?.effectiveFrom\n const segment = this.overview?.schedule.find((s: any) => s.validFrom <= at && (!s.validTo || at < s.validTo))\n return this.overview?.revisions.find((r: any) => r.id === segment?.revisionId)\n }\n private stateOf(row: any) {\n const segment = this.overview?.schedule.find((s: any) => s.revisionId === row.id)\n return (\n segment?.state ??\n (row.activityInstanceId ? (this.statuses[row.id]?.state ?? 'unknown') : row.frozenAt ? 'approved' : 'draft')\n )\n }\n private async openRevision(row: any, fork = false) {\n if (!(await this.canLeave())) return\n this.draft = structuredClone(row ?? this.blank())\n if (fork)\n this.draft = {\n ...this.draft,\n id: undefined,\n revisionNumber: undefined,\n frozenAt: undefined,\n activityInstanceId: undefined,\n editGeneration: undefined,\n baseRevisionId: undefined,\n releaseKind: null,\n effectiveFrom: new Date().toISOString(),\n reason: ''\n }\n this.dirty = false\n this.message = ''\n await this.updateComplete\n this.renderRoot.querySelector('.editor')?.scrollIntoView({ block: 'start', behavior: 'smooth' })\n }\n private change(field: string, value: any) {\n this.draft = { ...this.draft, [field]: value }\n this.dirty = true\n this.message = ''\n }\n private line(section: string, index: number, field: string, value: string) {\n const rows = this.draft[section].map((row: any) => ({ ...row, limit: { ...row.limit } }))\n const numeric = ['qty', 'minimum', 'maximum'].includes(field)\n const next = numeric ? (value === '' ? undefined : Number(value)) : value\n if (section === 'criteria' && ['minimum', 'maximum', 'uom'].includes(field)) rows[index].limit[field] = next\n else rows[index][field] = next\n this.change(section, rows)\n }\n protected async save() {\n await this.run(async () => {\n await this.persist()\n this.message = t('saved')\n })\n }\n private async persist(publish = false) {\n if (!this.draft || this.draft.frozenAt) return\n const invalid = this.renderRoot.querySelector('input:invalid,textarea:invalid') as HTMLInputElement\n if (invalid) {\n invalid.reportValidity()\n throw new Error(t('required-fields'))\n }\n const { version, description, criteria, inputs, outputs, materialDefinitionName, route, effectiveFrom, reason } =\n this.draft\n const content = this.material\n ? { description, materialClassIds: this.draft.materialClassIds, properties: this.draft.properties, testSpecificationIds: this.draft.testSpecificationIds, effectiveFrom, reason }\n : this.recipe\n ? { description, inputs, outputs, materialDefinitionName, route: route || null, effectiveFrom, reason }\n : { version, description, criteria, effectiveFrom, reason }\n const n = this.names\n const saveOnce = this.material ? 'saveAndPublishMaterialDefinition' : this.recipe ? 'saveAndPublishRecipe' : 'saveAndPublishTestSpecification'\n const response = publish\n ? await client.mutate({\n mutation: gql(`mutation($subject:String,$name:String,$revisionId:String,$editGeneration:Int,$content:Object!){${saveOnce}(${n.subject}:$subject,name:$name,revisionId:$revisionId,editGeneration:$editGeneration,content:$content)}`),\n variables: { subject: this.overview?.[n.subject], name: this.overview ? undefined : this.newName,\n revisionId: this.draft.id, editGeneration: this.draft.editGeneration, content }\n })\n : this.draft.id\n ? await client.mutate({\n mutation: gql(\n `mutation($id:String!,$generation:Int!,$content:Object!){${n.edit}(revisionId:$id,editGeneration:$generation,content:$content)}`\n ),\n variables: { id: this.draft.id, generation: this.draft.editGeneration, content }\n })\n : await client.mutate({\n mutation: gql(\n `mutation($subject:String,$name:String,$content:Object!){${n.create}(${n.subject}:$subject,name:$name,content:$content)}`\n ),\n variables: { subject: this.overview?.[n.subject], name: this.overview ? undefined : this.newName, content }\n })\n this.assert(response)\n this.draft = publish ? response.data[saveOnce].revision : response.data[n.edit] ?? response.data[n.create]\n this.dirty = false\n await this.load(this.draft[n.subject])\n await this.grist?.fetch()\n }\n private async submit() {\n await this.run(async () => {\n if (!this.draft || this.draft.frozenAt) return\n await this.policy()\n if (!this.approvalRequired) {\n await this.persist(true)\n this.message = t('published')\n return\n }\n await this.persist()\n if (!this.draft?.id || this.draft.frozenAt) return\n await requestMasterChangeApproval(this, {\n axis: this.axis,\n revisionId: this.draft.id,\n editGeneration: this.draft.editGeneration\n })\n const id = this.draft.id\n await this.load(this.draft[this.names.subject])\n this.draft = this.overview.revisions.find((r: any) => r.id === id)\n await this.grist?.fetch()\n this.message = t('submitted')\n })\n }\n private content(row: any, editable = false) {\n if (this.material) return materialRevisionFields(row, editable ? (field, value) => this.change(field, value) : undefined)\n return (this.recipe ? ['inputs', 'outputs'] : ['criteria']).map(section => {\n const fields =\n section === 'criteria'\n ? ['id', 'description', 'evaluatedPropertyId', 'minimum', 'maximum', 'uom', 'expression']\n : section === 'inputs'\n ? ['material', 'qty', 'operation']\n : ['material', 'qty']\n return html`<h3>${t(section)}</h3>\n <div class=\"scroll\">\n <table>\n <thead>\n <tr>\n ${fields.map(field => html`<th>${t(field)}</th>`)}${editable ? html`<th>${t('actions')}</th>` : nothing}\n </tr>\n </thead>\n <tbody>\n ${(row[section] ?? []).map(\n (line: any, index: number) =>\n html`<tr>\n ${fields.map(field => {\n const value =\n section === 'criteria' && ['minimum', 'maximum', 'uom'].includes(field)\n ? line.limit?.[field]\n : line[field]\n return html`<td>\n ${editable ? html`<input aria-label=${t(section) + ' ' + (index + 1) + ' ' + t(field)} .value=${String(value ?? '')} type=${['qty', 'minimum', 'maximum'].includes(field) ? 'number' : 'text'} step=\"any\" ?required=${['id', 'material', 'qty', 'evaluatedPropertyId'].includes(field)} @input=${(e: Event) => this.line(section, index, field, (e.target as HTMLInputElement).value)} />` : (value ?? '—')}\n </td>`\n })}${\n editable\n ? html`<td>\n <button\n aria-label=${t('remove-row', { n: index + 1 })}\n @click=${() =>\n this.change(\n section,\n row[section].filter((_: any, i: number) => i !== index)\n )}\n >\n ${t('remove')}\n </button>\n </td>`\n : nothing\n }\n </tr>`\n )}\n </tbody>\n </table>\n </div>\n ${editable ? html`<button @click=${() => this.change(section, [...row[section], section === 'criteria' ? { id: '', description: '', limit: {} } : { lineKey: crypto.randomUUID(), material: '', qty: 1 }])}>${t('add-' + section)}</button>` : nothing}\n ${section === 'criteria' && row.criteria?.some((c: any) => c.expression) ? html`<p class=\"notice\">${t('expression-preserved')}</p>` : nothing}`\n })\n }\n private status(row: any) {\n const state = this.stateOf(row),\n decision = this.statuses[row.id]\n return html`<span class=\"pill\">${t(state)}</span\n >${decision?.who ? html`<span> · ${decision.who}</span>` : ''}${decision?.comment ? html`<p>${decision.comment}</p>` : ''}${decision?.open ? html`<button @click=${() => decision.open!()}>${t('approval-detail')}</button>` : ''}`\n }\n render() {\n const current = this.current\n const next = this.overview?.schedule.filter((s: any) => s.state === 'scheduled') ?? []\n const changes =\n this.overview?.revisions.filter((r: any) => !this.overview.schedule.some((s: any) => s.revisionId === r.id)) ?? []\n const readonly = !!this.draft?.frozenAt || this.busy\n return html` <ox-grist\n ?hidden=${!!this.overview || !!this.draft}\n .mode=${this.mode}\n .config=${this.gristConfig}\n .fetchHandler=${this.fetchHandler.bind(this)}\n @select-record-change=${this.pick.bind(this)}\n ></ox-grist>\n ${\n this.overview || this.draft\n ? html`<main class=\"workspace\" aria-busy=${this.busy}>\n <div class=\"bar\">\n <button\n ?disabled=${this.busy}\n @click=${async () => {\n if (await this.canLeave()) {\n this.overview = undefined\n this.draft = undefined\n this.dirty = false\n await this.grist?.fetch()\n }\n }}\n >\n ${t('back-list')}\n </button>\n <h2>${this.overview?.name ?? t(this.material ? 'new-material' : this.recipe ? 'new-recipe' : 'new-spec')}</h2>\n ${\n this.overview\n ? html`<button\n ?disabled=${this.busy}\n @click=${() =>\n this.run(async () => {\n this.message = ''\n await this.load(this.overview[this.names.subject])\n await this.grist?.fetch()\n })}\n >\n ${t('refresh')}</button\n ><button\n class=\"primary\"\n ?disabled=${this.busy}\n @click=${() => this.openRevision(current, true)}\n >\n ${t('create-change')}\n </button>`\n : ''\n }\n </div>\n ${\n this.overview\n ? html`<div class=\"summary\">\n <section class=\"card current\">\n <h3>${t('current')}</h3>\n ${\n current\n ? html`<strong>${t('revision-value', { n: current.revisionNumber })}</strong>\n <p>\n ${date(this.currentSegment.validFrom)} →\n ${this.currentSegment.validTo ? date(this.currentSegment.validTo) : t('until-change')}\n </p>\n <button @click=${() => this.openRevision(current)}>${t('view-current')}</button>`\n : html`<p>${t('no-current')}</p>`\n }\n </section>\n <section class=\"card\">\n <h3>${t('changes-in-progress')} · ${changes.length}</h3>\n ${changes.length ? changes.map((row: any) => html`<p><button @click=${() => this.openRevision(row)}>${t('revision-value', { n: row.revisionNumber })}</button> ${this.status(row)}</p>`) : html`<p class=\"muted\">${t('no-drafts')}</p>`}\n </section>\n <section class=\"card\">\n <h3>${t('scheduled')}</h3>\n ${\n next.length\n ? next.map((segment: any) => {\n const row = this.overview.revisions.find((r: any) => r.id === segment.revisionId)\n return html`<p>\n <button @click=${() => this.openRevision(row)}>\n ${t('revision-value', { n: row.revisionNumber })}\n </button>\n · ${date(segment.validFrom)}\n </p>`\n })\n : html`<p class=\"muted\">${t('no-scheduled')}</p>`\n }\n </section>\n </div>\n ${\n !this.draft && current\n ? html`<h3>${t('current-content')}</h3>\n <p>${current.description}</p>\n ${this.content(current)}`\n : ''\n }\n <details>\n <summary>${t('history')}</summary>\n <table>\n <thead>\n <tr>\n <th>${t('revision')}</th>\n <th>${t('state')}</th>\n <th>${t('effectiveFrom')}</th>\n <th>${t('reason')}</th>\n </tr>\n </thead>\n <tbody>\n ${[...this.overview.revisions].reverse().map(\n (row: any) =>\n html`<tr>\n <td><button @click=${() => this.openRevision(row)}>${row.revisionNumber}</button></td>\n <td>${this.status(row)}</td>\n <td>${date(row.effectiveFrom)}</td>\n <td>\n ${reasonOf(row, t('first-record'))}\n ${isBaseline(row) ? html`<div class=\"muted\">${t('first-record-why')}</div>` : nothing}\n </td>\n </tr>`\n )}\n </tbody>\n </table>\n </details>`\n : ''\n }\n ${\n this.draft\n ? html`<section class=\"editor\">\n <div class=\"bar\">\n <h3>\n ${this.draft.id ? t('revision-value', { n: this.draft.revisionNumber }) : t('new-change')}\n </h3>\n ${this.draft.id ? this.status(this.draft) : ''}<button\n ?disabled=${this.busy}\n @click=${async () => {\n if (await this.canLeave()) {\n this.draft = undefined\n this.dirty = false\n }\n }}\n >\n ${t('close-editor')}\n </button>\n </div>\n <p class=\"notice\">${t(this.material ? 'material-impact' : this.recipe ? 'recipe-impact' : 'spec-impact')}</p>\n <div class=\"fields\">\n ${\n !this.overview\n ? html`<label\n >${t('name')}<input\n required\n .value=${this.newName}\n @input=${(e: Event) => {\n this.newName = (e.target as HTMLInputElement).value\n this.dirty = true\n }}\n /></label>`\n : ''\n }\n ${['description', ...(this.material ? [] : this.recipe ? ['materialDefinitionName', 'route'] : ['version'])].map(field => html`<label>${t(field)}<input ?disabled=${readonly} ?required=${field === 'materialDefinitionName' || field === 'version'} .value=${this.draft[field] ?? ''} @input=${(e: Event) => this.change(field, (e.target as HTMLInputElement).value)} /></label>`)}\n <label\n >${t('effectiveFrom')}<input\n type=\"datetime-local\"\n required\n ?disabled=${readonly}\n .value=${localDateTime(this.draft.effectiveFrom)}\n @change=${(e: Event) => {\n try {\n this.change('effectiveFrom', isoFromLocal((e.target as HTMLInputElement).value))\n } catch {\n this.failure = t('invalid-date')\n }\n }}\n /><span class=\"muted hint\"\n >${t('time-zone')} · ${Intl.DateTimeFormat().resolvedOptions().timeZone}</span\n ></label\n >\n <label\n >${t('reason')}<textarea\n required\n ?disabled=${readonly}\n .value=${this.draft.reason ?? ''}\n @input=${(e: Event) => this.change('reason', (e.target as HTMLTextAreaElement).value)}\n ></textarea>\n </label>\n </div>\n ${this.content(this.draft, !readonly)}\n <ops-master-revision-comparison\n .axis=${this.axis}\n .before=${this.comparisonBase}\n .after=${this.draft}\n ></ops-master-revision-comparison>\n <div class=\"actions\">\n ${this.draft.frozenAt ? html`<button ?disabled=${this.busy} @click=${() => this.openRevision(this.draft, true)}>${t('create-change')}</button>` : html`<button ?disabled=${this.busy} @click=${() => this.save()}>${t('save-draft')}</button>`}${this.dirty ? html`<span>${t('unsaved')}</span>` : ''}\n </div>\n </section>`\n : ''\n }\n ${this.message ? html`<p role=\"status\" class=\"notice\">${this.message}</p>` : ''}${this.failure ? html`<p role=\"alert\" class=\"failure\">${this.failure}</p>` : ''}\n </main>`\n : this.failure\n ? html`<p role=\"alert\" class=\"failure\">${this.failure}</p>`\n : nothing\n }`\n }\n}\n"]}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { MasterPageBase, MasterSpec } from './master-page-base.js';
|
|
2
|
-
/**
|
|
3
|
-
* 라우팅 — **무엇을 어떤 차례로 만드나.**
|
|
4
|
-
*
|
|
5
|
-
* ── 왜 이 화면이 있어야 하나 ───────────────────────────────────────────────
|
|
6
|
-
* 서버에는 축도 목록 질의도 수정 연산도 있는데 **화면이 없었다.** 그래서 고객이 자기 공장의 공정
|
|
7
|
-
* 차례를 못 고쳤다 — 작업지시에서 고르는 창은 있으나 이미 있는 것 중에서 고르는 것뿐이다.
|
|
8
|
-
*
|
|
9
|
-
* ── 단계는 한 칸에 늘어놓는다 ──────────────────────────────────────────────
|
|
10
|
-
* 차례가 곧 뜻이다. `steps` 는 공정 이름의 **순서 있는 목록**이고, 그 순서가 흐트러지면 다른 공장이
|
|
11
|
-
* 된다. 그래서 목록 칸(`list`)으로 두어 순서를 눈에 보이게 하고, 여기서 고칠 수 있게 한다.
|
|
12
|
-
*
|
|
13
|
-
* 각 단계가 실재하는 공정인지는 **커널이 본다** — 없는 공정을 적으면 그 라우팅을 타는 지시가 설 자리를
|
|
14
|
-
* 못 찾는다. 화면이 미리 막지 않는 것은, 공정을 먼저 만들고 라우팅을 잇는 순서와 라우팅을 먼저 그리고
|
|
15
|
-
* 공정을 채우는 순서가 둘 다 현장에 있기 때문이다.
|
|
16
|
-
*/
|
|
17
|
-
export declare class OpsMasterRouteDefinition extends MasterPageBase {
|
|
18
|
-
protected get spec(): MasterSpec;
|
|
19
|
-
}
|
|
@@ -1,40 +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
|
-
* 차례를 못 고쳤다 — 작업지시에서 고르는 창은 있으나 이미 있는 것 중에서 고르는 것뿐이다.
|
|
10
|
-
*
|
|
11
|
-
* ── 단계는 한 칸에 늘어놓는다 ──────────────────────────────────────────────
|
|
12
|
-
* 차례가 곧 뜻이다. `steps` 는 공정 이름의 **순서 있는 목록**이고, 그 순서가 흐트러지면 다른 공장이
|
|
13
|
-
* 된다. 그래서 목록 칸(`list`)으로 두어 순서를 눈에 보이게 하고, 여기서 고칠 수 있게 한다.
|
|
14
|
-
*
|
|
15
|
-
* 각 단계가 실재하는 공정인지는 **커널이 본다** — 없는 공정을 적으면 그 라우팅을 타는 지시가 설 자리를
|
|
16
|
-
* 못 찾는다. 화면이 미리 막지 않는 것은, 공정을 먼저 만들고 라우팅을 잇는 순서와 라우팅을 먼저 그리고
|
|
17
|
-
* 공정을 채우는 순서가 둘 다 현장에 있기 때문이다.
|
|
18
|
-
*/
|
|
19
|
-
let OpsMasterRouteDefinition = class OpsMasterRouteDefinition extends MasterPageBase {
|
|
20
|
-
get spec() {
|
|
21
|
-
return {
|
|
22
|
-
key: 'routeDefinition',
|
|
23
|
-
title: 'route',
|
|
24
|
-
help: 'ops-master/route-definition',
|
|
25
|
-
query: 'routeDefinitions',
|
|
26
|
-
mutation: 'updateMultipleRouteDefinition',
|
|
27
|
-
columns: [
|
|
28
|
-
...IDENTITY,
|
|
29
|
-
/* 차례가 곧 뜻이다 — 순서 있는 목록으로 둔다. */
|
|
30
|
-
{ name: 'steps', label: 'route-steps', type: 'reference-list', reference: { queryName: 'operationDefinitions' }, width: 420 },
|
|
31
|
-
...EFFECTIVE
|
|
32
|
-
]
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
OpsMasterRouteDefinition = __decorate([
|
|
37
|
-
customElement('ops-master-route-definition')
|
|
38
|
-
], OpsMasterRouteDefinition);
|
|
39
|
-
export { OpsMasterRouteDefinition };
|
|
40
|
-
//# sourceMappingURL=route-definition.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"route-definition.js","sourceRoot":"","sources":["../../../client/pages/master/route-definition.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEjD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAc,MAAM,uBAAuB,CAAA;AAEvF;;;;;;;;;;;;;;GAcG;AAEI,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,cAAc;IAC1D,IAAc,IAAI;QAChB,OAAO;YACL,GAAG,EAAE,iBAAiB;YACtB,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,6BAA6B;YACnC,KAAK,EAAE,kBAAkB;YACzB,QAAQ,EAAE,+BAA+B;YACzC,OAAO,EAAE;gBACP,GAAG,QAAQ;gBACX,gCAAgC;gBAChC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,sBAAsB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;gBAC7H,GAAG,SAAS;aACb;SACF,CAAA;IACH,CAAC;CACF,CAAA;AAhBY,wBAAwB;IADpC,aAAa,CAAC,6BAA6B,CAAC;GAChC,wBAAwB,CAgBpC","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 * 차례를 못 고쳤다 — 작업지시에서 고르는 창은 있으나 이미 있는 것 중에서 고르는 것뿐이다.\n *\n * ── 단계는 한 칸에 늘어놓는다 ──────────────────────────────────────────────\n * 차례가 곧 뜻이다. `steps` 는 공정 이름의 **순서 있는 목록**이고, 그 순서가 흐트러지면 다른 공장이\n * 된다. 그래서 목록 칸(`list`)으로 두어 순서를 눈에 보이게 하고, 여기서 고칠 수 있게 한다.\n *\n * 각 단계가 실재하는 공정인지는 **커널이 본다** — 없는 공정을 적으면 그 라우팅을 타는 지시가 설 자리를\n * 못 찾는다. 화면이 미리 막지 않는 것은, 공정을 먼저 만들고 라우팅을 잇는 순서와 라우팅을 먼저 그리고\n * 공정을 채우는 순서가 둘 다 현장에 있기 때문이다.\n */\n@customElement('ops-master-route-definition')\nexport class OpsMasterRouteDefinition extends MasterPageBase {\n protected get spec(): MasterSpec {\n return {\n key: 'routeDefinition',\n title: 'route',\n help: 'ops-master/route-definition',\n query: 'routeDefinitions',\n mutation: 'updateMultipleRouteDefinition',\n columns: [\n ...IDENTITY,\n /* 차례가 곧 뜻이다 — 순서 있는 목록으로 둔다. */\n { name: 'steps', label: 'route-steps', type: 'reference-list', reference: { queryName: 'operationDefinitions' }, width: 420 },\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 OpsMasterStopReason extends MasterPageBase {
|
|
11
|
-
protected get spec(): MasterSpec;
|
|
12
|
-
}
|
|
@@ -1,48 +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 OpsMasterStopReason = class OpsMasterStopReason extends MasterPageBase {
|
|
13
|
-
get spec() {
|
|
14
|
-
return {
|
|
15
|
-
key: 'stopReason',
|
|
16
|
-
title: 'stop-reason',
|
|
17
|
-
help: 'ops-master/stop-reason',
|
|
18
|
-
query: 'stopReasonList',
|
|
19
|
-
mutation: 'updateMultipleStopReason',
|
|
20
|
-
columns: [
|
|
21
|
-
...IDENTITY,
|
|
22
|
-
{ name: 'status', label: 'state', type: 'string', width: 130 },
|
|
23
|
-
{
|
|
24
|
-
name: 'parentName',
|
|
25
|
-
label: 'parent-reason',
|
|
26
|
-
type: 'reference',
|
|
27
|
-
/*
|
|
28
|
-
* **`stopReasonList` 이지 `stopReasons` 가 아니다.**
|
|
29
|
-
*
|
|
30
|
-
* 마스터 질의 열둘 중 `stopReasons` 하나만 `items` 없이 배열을 그대로 낸다. 고르기
|
|
31
|
-
* 팝업은 `data.fetch.items` 를 읽으므로 그것을 가리키면 `Cannot read properties of
|
|
32
|
-
* undefined (reading 'map')` 로 터진다 — 이 화면 자신이 목록을 뽑을 때 쓰는 이름이
|
|
33
|
-
* `stopReasonList` 다. [확인함] 2026-09-04
|
|
34
|
-
*/
|
|
35
|
-
reference: { queryName: 'stopReasonList' },
|
|
36
|
-
width: 150
|
|
37
|
-
},
|
|
38
|
-
{ name: 'detailRequired', label: 'detail-required', type: 'boolean', width: 110 },
|
|
39
|
-
...EFFECTIVE
|
|
40
|
-
]
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
OpsMasterStopReason = __decorate([
|
|
45
|
-
customElement('ops-master-stop-reason')
|
|
46
|
-
], OpsMasterStopReason);
|
|
47
|
-
export { OpsMasterStopReason };
|
|
48
|
-
//# sourceMappingURL=stop-reason.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stop-reason.js","sourceRoot":"","sources":["../../../client/pages/master/stop-reason.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,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,cAAc;IACrD,IAAc,IAAI;QAChB,OAAO;YACL,GAAG,EAAE,YAAY;YACjB,KAAK,EAAE,aAAa;YACpB,IAAI,EAAE,wBAAwB;YAC9B,KAAK,EAAE,gBAAgB;YACvB,QAAQ,EAAE,0BAA0B;YACpC,OAAO,EAAE;gBACP,GAAG,QAAQ;gBACX,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;gBAC9D;oBACE,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,eAAe;oBACtB,IAAI,EAAE,WAAW;oBACjB;;;;;;;uBAOG;oBACH,SAAS,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE;oBAC1C,KAAK,EAAE,GAAG;iBACX;gBACD,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;gBACjF,GAAG,SAAS;aACb;SACF,CAAA;IACH,CAAC;CACF,CAAA;AA/BY,mBAAmB;IAD/B,aAAa,CAAC,wBAAwB,CAAC;GAC3B,mBAAmB,CA+B/B","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-stop-reason')\nexport class OpsMasterStopReason extends MasterPageBase {\n protected get spec(): MasterSpec {\n return {\n key: 'stopReason',\n title: 'stop-reason',\n help: 'ops-master/stop-reason',\n query: 'stopReasonList',\n mutation: 'updateMultipleStopReason',\n columns: [\n ...IDENTITY,\n { name: 'status', label: 'state', type: 'string', width: 130 },\n {\n name: 'parentName',\n label: 'parent-reason',\n type: 'reference',\n /*\n * **`stopReasonList` 이지 `stopReasons` 가 아니다.**\n *\n * 마스터 질의 열둘 중 `stopReasons` 하나만 `items` 없이 배열을 그대로 낸다. 고르기\n * 팝업은 `data.fetch.items` 를 읽으므로 그것을 가리키면 `Cannot read properties of\n * undefined (reading 'map')` 로 터진다 — 이 화면 자신이 목록을 뽑을 때 쓰는 이름이\n * `stopReasonList` 다. [확인함] 2026-09-04\n */\n reference: { queryName: 'stopReasonList' },\n width: 150\n },\n { name: 'detailRequired', label: 'detail-required', type: 'boolean', width: 110 },\n ...EFFECTIVE\n ]\n }\n }\n}\n"]}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { customElement } from 'lit/decorators.js';
|
|
3
|
-
import { RevisionWorkspace } from './revision-workspace.js';
|
|
4
|
-
let OpsMasterTestSpecification = class OpsMasterTestSpecification extends RevisionWorkspace {
|
|
5
|
-
constructor() {
|
|
6
|
-
super(...arguments);
|
|
7
|
-
this.axis = 'testSpecification';
|
|
8
|
-
}
|
|
9
|
-
};
|
|
10
|
-
OpsMasterTestSpecification = __decorate([
|
|
11
|
-
customElement('ops-master-test-specification')
|
|
12
|
-
], OpsMasterTestSpecification);
|
|
13
|
-
export { OpsMasterTestSpecification };
|
|
14
|
-
//# sourceMappingURL=test-specification.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test-specification.js","sourceRoot":"","sources":["../../../client/pages/master/test-specification.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAIpD,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,iBAAiB;IAA1D;;QACK,SAAI,GAAiB,mBAAmB,CAAA;IACpD,CAAC;CAAA,CAAA;AAFY,0BAA0B;IADtC,aAAa,CAAC,+BAA+B,CAAC;GAClC,0BAA0B,CAEtC","sourcesContent":["import { customElement } from 'lit/decorators.js'\nimport { RevisionWorkspace } from './revision-workspace.js'\nimport { RevisionAxis } from './revision-view.js'\n\n@customElement('ops-master-test-specification')\nexport class OpsMasterTestSpecification extends RevisionWorkspace {\n protected axis: RevisionAxis = 'testSpecification'\n}\n"]}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 마스터 축의 **이름 목록** — 옛 주소를 새 주소로 보내는 데만 쓴다.
|
|
3
|
-
*
|
|
4
|
-
* ── 왜 이만큼만 남았나 ─────────────────────────────────────────────────────
|
|
5
|
-
* 이 파일에는 열두 축의 컬럼 선언이 250줄 들어 있었다. 화면이 하나였을 때의 것이다. 화면이 축마다
|
|
6
|
-
* 갈린 뒤로는 **각 화면 파일이 자기 컬럼을 갖고**, 여기 있던 선언은 아무도 읽지 않게 되었다.
|
|
7
|
-
* 읽히는 것은 `key` 하나뿐이다(`route.ts` 가 옛 주소를 새 주소로 보낼 때).
|
|
8
|
-
*
|
|
9
|
-
* 안 읽히는데 그럴듯하게 서 있는 선언은 위험하다. 실제로 그랬다 — 자재 화면에 컬럼을 더하러 와서
|
|
10
|
-
* 이 파일을 먼저 고쳤고, 화면은 하나도 안 변했다. 그 사이 이 파일의 선언은 진짜 화면과 어긋나 있었다
|
|
11
|
-
* (자재의 유형·계보·제조법 칸이 없고, 주석에 「이 칸은 API 가 안 준다」고 적힌 낡은 사연이 남아 있었다).
|
|
12
|
-
*
|
|
13
|
-
* **컬럼을 고치려면 그 축의 화면 파일을 고친다** — `pages/master/<축>.ts`.
|
|
14
|
-
*/
|
|
15
|
-
/**
|
|
16
|
-
* 축의 이름들.
|
|
17
|
-
*
|
|
18
|
-
* 순서는 뜻이 없다. 새 축이 생기면 여기에 더하고 `pages/master/` 에 화면을 만든다. 여기에만 더하면
|
|
19
|
-
* 옛 주소가 없는 화면으로 간다.
|
|
20
|
-
*/
|
|
21
|
-
export declare const MASTER_AXIS_KEYS: readonly ["personnelClass", "person", "equipmentClass", "equipment", "stopReason", "physicalAssetClass", "physicalAsset", "materialClass", "materialDefinition", "operationalLocation", "operationDefinition", "testSpecification"];
|
|
22
|
-
export type MasterAxisKey = (typeof MASTER_AXIS_KEYS)[number];
|
|
23
|
-
/** 아는 축인가. 모르는 이름이면 옛 주소를 새 주소로 보내지 않는다. */
|
|
24
|
-
export declare function isMasterAxisKey(key: string): key is MasterAxisKey;
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 마스터 축의 **이름 목록** — 옛 주소를 새 주소로 보내는 데만 쓴다.
|
|
3
|
-
*
|
|
4
|
-
* ── 왜 이만큼만 남았나 ─────────────────────────────────────────────────────
|
|
5
|
-
* 이 파일에는 열두 축의 컬럼 선언이 250줄 들어 있었다. 화면이 하나였을 때의 것이다. 화면이 축마다
|
|
6
|
-
* 갈린 뒤로는 **각 화면 파일이 자기 컬럼을 갖고**, 여기 있던 선언은 아무도 읽지 않게 되었다.
|
|
7
|
-
* 읽히는 것은 `key` 하나뿐이다(`route.ts` 가 옛 주소를 새 주소로 보낼 때).
|
|
8
|
-
*
|
|
9
|
-
* 안 읽히는데 그럴듯하게 서 있는 선언은 위험하다. 실제로 그랬다 — 자재 화면에 컬럼을 더하러 와서
|
|
10
|
-
* 이 파일을 먼저 고쳤고, 화면은 하나도 안 변했다. 그 사이 이 파일의 선언은 진짜 화면과 어긋나 있었다
|
|
11
|
-
* (자재의 유형·계보·제조법 칸이 없고, 주석에 「이 칸은 API 가 안 준다」고 적힌 낡은 사연이 남아 있었다).
|
|
12
|
-
*
|
|
13
|
-
* **컬럼을 고치려면 그 축의 화면 파일을 고친다** — `pages/master/<축>.ts`.
|
|
14
|
-
*/
|
|
15
|
-
/**
|
|
16
|
-
* 축의 이름들.
|
|
17
|
-
*
|
|
18
|
-
* 순서는 뜻이 없다. 새 축이 생기면 여기에 더하고 `pages/master/` 에 화면을 만든다. 여기에만 더하면
|
|
19
|
-
* 옛 주소가 없는 화면으로 간다.
|
|
20
|
-
*/
|
|
21
|
-
export const MASTER_AXIS_KEYS = [
|
|
22
|
-
'personnelClass',
|
|
23
|
-
'person',
|
|
24
|
-
'equipmentClass',
|
|
25
|
-
'equipment',
|
|
26
|
-
'stopReason',
|
|
27
|
-
'physicalAssetClass',
|
|
28
|
-
'physicalAsset',
|
|
29
|
-
'materialClass',
|
|
30
|
-
'materialDefinition',
|
|
31
|
-
'operationalLocation',
|
|
32
|
-
'operationDefinition',
|
|
33
|
-
'testSpecification'
|
|
34
|
-
];
|
|
35
|
-
/** 아는 축인가. 모르는 이름이면 옛 주소를 새 주소로 보내지 않는다. */
|
|
36
|
-
export function isMasterAxisKey(key) {
|
|
37
|
-
return MASTER_AXIS_KEYS.includes(key);
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=master-axes.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"master-axes.js","sourceRoot":"","sources":["../../client/pages/master-axes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,gBAAgB;IAChB,QAAQ;IACR,gBAAgB;IAChB,WAAW;IACX,YAAY;IACZ,oBAAoB;IACpB,eAAe;IACf,eAAe;IACf,oBAAoB;IACpB,qBAAqB;IACrB,qBAAqB;IACrB,mBAAmB;CACX,CAAA;AAIV,4CAA4C;AAC5C,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,OAAQ,gBAAsC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AAC9D,CAAC","sourcesContent":["/**\n * 마스터 축의 **이름 목록** — 옛 주소를 새 주소로 보내는 데만 쓴다.\n *\n * ── 왜 이만큼만 남았나 ─────────────────────────────────────────────────────\n * 이 파일에는 열두 축의 컬럼 선언이 250줄 들어 있었다. 화면이 하나였을 때의 것이다. 화면이 축마다\n * 갈린 뒤로는 **각 화면 파일이 자기 컬럼을 갖고**, 여기 있던 선언은 아무도 읽지 않게 되었다.\n * 읽히는 것은 `key` 하나뿐이다(`route.ts` 가 옛 주소를 새 주소로 보낼 때).\n *\n * 안 읽히는데 그럴듯하게 서 있는 선언은 위험하다. 실제로 그랬다 — 자재 화면에 컬럼을 더하러 와서\n * 이 파일을 먼저 고쳤고, 화면은 하나도 안 변했다. 그 사이 이 파일의 선언은 진짜 화면과 어긋나 있었다\n * (자재의 유형·계보·제조법 칸이 없고, 주석에 「이 칸은 API 가 안 준다」고 적힌 낡은 사연이 남아 있었다).\n *\n * **컬럼을 고치려면 그 축의 화면 파일을 고친다** — `pages/master/<축>.ts`.\n */\n\n/**\n * 축의 이름들.\n *\n * 순서는 뜻이 없다. 새 축이 생기면 여기에 더하고 `pages/master/` 에 화면을 만든다. 여기에만 더하면\n * 옛 주소가 없는 화면으로 간다.\n */\nexport const MASTER_AXIS_KEYS = [\n 'personnelClass',\n 'person',\n 'equipmentClass',\n 'equipment',\n 'stopReason',\n 'physicalAssetClass',\n 'physicalAsset',\n 'materialClass',\n 'materialDefinition',\n 'operationalLocation',\n 'operationDefinition',\n 'testSpecification'\n] as const\n\nexport type MasterAxisKey = (typeof MASTER_AXIS_KEYS)[number]\n\n/** 아는 축인가. 모르는 이름이면 옛 주소를 새 주소로 보내지 않는다. */\nexport function isMasterAxisKey(key: string): key is MasterAxisKey {\n return (MASTER_AXIS_KEYS as readonly string[]).includes(key)\n}\n"]}
|
package/dist-client/route.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function route(page: string): string | undefined;
|
package/dist-client/route.js
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { isMasterAxisKey } from './pages/master-axes.js';
|
|
2
|
-
/*
|
|
3
|
-
* 마스터 화면은 축마다 하나다 — 이유는 `pages/master/master-page-base.ts` 에 적었다.
|
|
4
|
-
*
|
|
5
|
-
* 손으로 열두 벌 적는다. 축 목록에서 만들면 요소가 자기 코드를 가질 수 없고, 그러면 축이 자기
|
|
6
|
-
* 인터페이스를 요구할 때 공용 화면에 분기를 넣게 된다 — 갈라 놓은 이유와 어긋난다.
|
|
7
|
-
*/
|
|
8
|
-
export default function route(page) {
|
|
9
|
-
switch (page) {
|
|
10
|
-
case 'ops-master-personnel-class':
|
|
11
|
-
import('./pages/master/personnel-class');
|
|
12
|
-
return 'ops-master-personnel-class';
|
|
13
|
-
case 'ops-master-person':
|
|
14
|
-
import('./pages/master/person');
|
|
15
|
-
return 'ops-master-person';
|
|
16
|
-
case 'ops-master-equipment-class':
|
|
17
|
-
import('./pages/master/equipment-class');
|
|
18
|
-
return 'ops-master-equipment-class';
|
|
19
|
-
case 'ops-master-equipment':
|
|
20
|
-
import('./pages/master/equipment');
|
|
21
|
-
return 'ops-master-equipment';
|
|
22
|
-
case 'ops-master-stop-reason':
|
|
23
|
-
import('./pages/master/stop-reason');
|
|
24
|
-
return 'ops-master-stop-reason';
|
|
25
|
-
case 'ops-master-physical-asset-class':
|
|
26
|
-
import('./pages/master/physical-asset-class');
|
|
27
|
-
return 'ops-master-physical-asset-class';
|
|
28
|
-
case 'ops-master-physical-asset':
|
|
29
|
-
import('./pages/master/physical-asset');
|
|
30
|
-
return 'ops-master-physical-asset';
|
|
31
|
-
case 'ops-master-material-class':
|
|
32
|
-
import('./pages/master/material-class');
|
|
33
|
-
return 'ops-master-material-class';
|
|
34
|
-
case 'ops-master-material-definition':
|
|
35
|
-
import('./pages/master/material-definition');
|
|
36
|
-
return 'ops-master-material-definition';
|
|
37
|
-
case 'ops-master-operational-location':
|
|
38
|
-
import('./pages/master/operational-location');
|
|
39
|
-
return 'ops-master-operational-location';
|
|
40
|
-
case 'ops-master-operation-definition':
|
|
41
|
-
import('./pages/master/operation-definition');
|
|
42
|
-
return 'ops-master-operation-definition';
|
|
43
|
-
case 'ops-master-test-specification':
|
|
44
|
-
import('./pages/master/test-specification');
|
|
45
|
-
return 'ops-master-test-specification';
|
|
46
|
-
case 'ops-master-route-definition':
|
|
47
|
-
import('./pages/master/route-definition');
|
|
48
|
-
return 'ops-master-route-definition';
|
|
49
|
-
case 'ops-master-recipe-definition':
|
|
50
|
-
import('./pages/master/recipe-definition');
|
|
51
|
-
return 'ops-master-recipe-definition';
|
|
52
|
-
/*
|
|
53
|
-
* 옛 주소 — `ops-master-list?axis=person`.
|
|
54
|
-
*
|
|
55
|
-
* 이 화면을 축마다 갈랐지만 **옛 주소가 남아 있다.** 북마크 · helps 문서 · MDI 에 열려 있던 탭이
|
|
56
|
-
* 그것을 가리킨다. 지우면 그 사람들에게 「페이지를 찾을 수 없습니다」가 나온다.
|
|
57
|
-
*
|
|
58
|
-
* ── 넘김은 라우팅 단계에서 한다 ─────────────────────────────────────────
|
|
59
|
-
* 처음에는 넘기는 화면을 하나 만들어 그 안에서 navigate 했다. 그러면 **그 화면이 MDI 탭을 하나
|
|
60
|
-
* 만들고 그 자리에 남는다** — 사용자는 이름 없는 빈 탭을 얻는다. navigate 는 주소만 바꾸고 이미
|
|
61
|
-
* 만들어진 탭을 지우지 않는다.
|
|
62
|
-
*
|
|
63
|
-
* 셸은 route() 가 `/` 로 시작하는 값을 돌려주면 페이지를 만들지 않고 그 주소로 넘긴다
|
|
64
|
-
* (`@operato/shell` 의 loadPage). 그래서 탭이 생기지 않는다.
|
|
65
|
-
*
|
|
66
|
-
* 축을 못 알아보면 넘기지 않는다 — 첫 축으로 대신 보내면 사용자는 자기가 다른 곳에 온 것을 모른다.
|
|
67
|
-
*
|
|
68
|
-
* 임시 호환이므로 **릴리즈 점검에서 비운다.**
|
|
69
|
-
*/
|
|
70
|
-
case 'ops-master-list': {
|
|
71
|
-
const key = new URLSearchParams(location.search).get('axis');
|
|
72
|
-
if (!key || !isMasterAxisKey(key)) {
|
|
73
|
-
return;
|
|
74
|
-
}
|
|
75
|
-
const { pathname } = location;
|
|
76
|
-
const base = pathname.slice(0, pathname.lastIndexOf('/'));
|
|
77
|
-
return `${base}/ops-master-${key.replace(/[A-Z]/g, c => '-' + c.toLowerCase())}`;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
//# sourceMappingURL=route.js.map
|
package/dist-client/route.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"route.js","sourceRoot":"","sources":["../client/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAExD;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,IAAY;IACxC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,4BAA4B;YAC/B,MAAM,CAAC,gCAAgC,CAAC,CAAA;YACxC,OAAO,4BAA4B,CAAA;QACrC,KAAK,mBAAmB;YACtB,MAAM,CAAC,uBAAuB,CAAC,CAAA;YAC/B,OAAO,mBAAmB,CAAA;QAC5B,KAAK,4BAA4B;YAC/B,MAAM,CAAC,gCAAgC,CAAC,CAAA;YACxC,OAAO,4BAA4B,CAAA;QACrC,KAAK,sBAAsB;YACzB,MAAM,CAAC,0BAA0B,CAAC,CAAA;YAClC,OAAO,sBAAsB,CAAA;QAC/B,KAAK,wBAAwB;YAC3B,MAAM,CAAC,4BAA4B,CAAC,CAAA;YACpC,OAAO,wBAAwB,CAAA;QACjC,KAAK,iCAAiC;YACpC,MAAM,CAAC,qCAAqC,CAAC,CAAA;YAC7C,OAAO,iCAAiC,CAAA;QAC1C,KAAK,2BAA2B;YAC9B,MAAM,CAAC,+BAA+B,CAAC,CAAA;YACvC,OAAO,2BAA2B,CAAA;QACpC,KAAK,2BAA2B;YAC9B,MAAM,CAAC,+BAA+B,CAAC,CAAA;YACvC,OAAO,2BAA2B,CAAA;QACpC,KAAK,gCAAgC;YACnC,MAAM,CAAC,oCAAoC,CAAC,CAAA;YAC5C,OAAO,gCAAgC,CAAA;QACzC,KAAK,iCAAiC;YACpC,MAAM,CAAC,qCAAqC,CAAC,CAAA;YAC7C,OAAO,iCAAiC,CAAA;QAC1C,KAAK,iCAAiC;YACpC,MAAM,CAAC,qCAAqC,CAAC,CAAA;YAC7C,OAAO,iCAAiC,CAAA;QAC1C,KAAK,+BAA+B;YAClC,MAAM,CAAC,mCAAmC,CAAC,CAAA;YAC3C,OAAO,+BAA+B,CAAA;QACxC,KAAK,6BAA6B;YAChC,MAAM,CAAC,iCAAiC,CAAC,CAAA;YACzC,OAAO,6BAA6B,CAAA;QACtC,KAAK,8BAA8B;YACjC,MAAM,CAAC,kCAAkC,CAAC,CAAA;YAC1C,OAAO,8BAA8B,CAAA;QAEvC;;;;;;;;;;;;;;;;;WAiBG;QACH,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YAE5D,IAAI,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClC,OAAM;YACR,CAAC;YAED,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAA;YAC7B,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAA;YAEzD,OAAO,GAAG,IAAI,eAAe,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,CAAA;QAClF,CAAC;IACH,CAAC;AACH,CAAC","sourcesContent":["import { isMasterAxisKey } from './pages/master-axes.js'\n\n/*\n * 마스터 화면은 축마다 하나다 — 이유는 `pages/master/master-page-base.ts` 에 적었다.\n *\n * 손으로 열두 벌 적는다. 축 목록에서 만들면 요소가 자기 코드를 가질 수 없고, 그러면 축이 자기\n * 인터페이스를 요구할 때 공용 화면에 분기를 넣게 된다 — 갈라 놓은 이유와 어긋난다.\n */\nexport default function route(page: string) {\n switch (page) {\n case 'ops-master-personnel-class':\n import('./pages/master/personnel-class')\n return 'ops-master-personnel-class'\n case 'ops-master-person':\n import('./pages/master/person')\n return 'ops-master-person'\n case 'ops-master-equipment-class':\n import('./pages/master/equipment-class')\n return 'ops-master-equipment-class'\n case 'ops-master-equipment':\n import('./pages/master/equipment')\n return 'ops-master-equipment'\n case 'ops-master-stop-reason':\n import('./pages/master/stop-reason')\n return 'ops-master-stop-reason'\n case 'ops-master-physical-asset-class':\n import('./pages/master/physical-asset-class')\n return 'ops-master-physical-asset-class'\n case 'ops-master-physical-asset':\n import('./pages/master/physical-asset')\n return 'ops-master-physical-asset'\n case 'ops-master-material-class':\n import('./pages/master/material-class')\n return 'ops-master-material-class'\n case 'ops-master-material-definition':\n import('./pages/master/material-definition')\n return 'ops-master-material-definition'\n case 'ops-master-operational-location':\n import('./pages/master/operational-location')\n return 'ops-master-operational-location'\n case 'ops-master-operation-definition':\n import('./pages/master/operation-definition')\n return 'ops-master-operation-definition'\n case 'ops-master-test-specification':\n import('./pages/master/test-specification')\n return 'ops-master-test-specification'\n case 'ops-master-route-definition':\n import('./pages/master/route-definition')\n return 'ops-master-route-definition'\n case 'ops-master-recipe-definition':\n import('./pages/master/recipe-definition')\n return 'ops-master-recipe-definition'\n\n /*\n * 옛 주소 — `ops-master-list?axis=person`.\n *\n * 이 화면을 축마다 갈랐지만 **옛 주소가 남아 있다.** 북마크 · helps 문서 · MDI 에 열려 있던 탭이\n * 그것을 가리킨다. 지우면 그 사람들에게 「페이지를 찾을 수 없습니다」가 나온다.\n *\n * ── 넘김은 라우팅 단계에서 한다 ─────────────────────────────────────────\n * 처음에는 넘기는 화면을 하나 만들어 그 안에서 navigate 했다. 그러면 **그 화면이 MDI 탭을 하나\n * 만들고 그 자리에 남는다** — 사용자는 이름 없는 빈 탭을 얻는다. navigate 는 주소만 바꾸고 이미\n * 만들어진 탭을 지우지 않는다.\n *\n * 셸은 route() 가 `/` 로 시작하는 값을 돌려주면 페이지를 만들지 않고 그 주소로 넘긴다\n * (`@operato/shell` 의 loadPage). 그래서 탭이 생기지 않는다.\n *\n * 축을 못 알아보면 넘기지 않는다 — 첫 축으로 대신 보내면 사용자는 자기가 다른 곳에 온 것을 모른다.\n *\n * 임시 호환이므로 **릴리즈 점검에서 비운다.**\n */\n case 'ops-master-list': {\n const key = new URLSearchParams(location.search).get('axis')\n\n if (!key || !isMasterAxisKey(key)) {\n return\n }\n\n const { pathname } = location\n const base = pathname.slice(0, pathname.lastIndexOf('/'))\n\n return `${base}/ops-master-${key.replace(/[A-Z]/g, c => '-' + c.toLowerCase())}`\n }\n }\n}\n"]}
|