@things-factory/worklist 10.1.248 → 10.1.250
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/dist-client/activity-cells.d.ts +21 -0
- package/dist-client/activity-cells.js +117 -0
- package/dist-client/activity-cells.js.map +1 -0
- package/dist-client/activity-state-counts.d.ts +6 -0
- package/dist-client/activity-state-counts.js +23 -0
- package/dist-client/activity-state-counts.js.map +1 -0
- package/dist-client/activity-summary-generator.d.ts +2 -0
- package/dist-client/activity-summary-generator.js +155 -0
- package/dist-client/activity-summary-generator.js.map +1 -0
- package/dist-client/approval-progress.d.ts +27 -0
- package/dist-client/approval-progress.js +42 -0
- package/dist-client/approval-progress.js.map +1 -0
- package/dist-client/bootstrap.d.ts +5 -0
- package/dist-client/bootstrap.js +63 -0
- package/dist-client/bootstrap.js.map +1 -0
- package/dist-client/chip-counts.d.ts +7 -0
- package/dist-client/chip-counts.js +11 -0
- package/dist-client/chip-counts.js.map +1 -0
- package/dist-client/chip-filters.d.ts +60 -0
- package/dist-client/chip-filters.js +102 -0
- package/dist-client/chip-filters.js.map +1 -0
- package/dist-client/components/activity-/bowner-view.d.ts +1 -0
- package/dist-client/components/activity-/bowner-view.js +104 -0
- package/dist-client/components/activity-/bowner-view.js.map +1 -0
- package/dist-client/components/activity-approval-ribon.d.ts +31 -0
- package/dist-client/components/activity-approval-ribon.js +103 -0
- package/dist-client/components/activity-approval-ribon.js.map +1 -0
- package/dist-client/components/activity-fields.d.ts +77 -0
- package/dist-client/components/activity-fields.js +424 -0
- package/dist-client/components/activity-fields.js.map +1 -0
- package/dist-client/components/activity-instance-preview.d.ts +2 -0
- package/dist-client/components/activity-instance-preview.js +177 -0
- package/dist-client/components/activity-instance-preview.js.map +1 -0
- package/dist-client/components/activity-instance-ribon.d.ts +32 -0
- package/dist-client/components/activity-instance-ribon.js +91 -0
- package/dist-client/components/activity-instance-ribon.js.map +1 -0
- package/dist-client/components/activity-intro-view.d.ts +1 -0
- package/dist-client/components/activity-intro-view.js +104 -0
- package/dist-client/components/activity-intro-view.js.map +1 -0
- package/dist-client/components/activity-reporter-view.d.ts +1 -0
- package/dist-client/components/activity-reporter-view.js +103 -0
- package/dist-client/components/activity-reporter-view.js.map +1 -0
- package/dist-client/components/activity-starter-form.d.ts +19 -0
- package/dist-client/components/activity-starter-form.js +264 -0
- package/dist-client/components/activity-starter-form.js.map +1 -0
- package/dist-client/components/activity-thread-ribon.d.ts +38 -0
- package/dist-client/components/activity-thread-ribon.js +95 -0
- package/dist-client/components/activity-thread-ribon.js.map +1 -0
- package/dist-client/components/activity-thread-timeline.d.ts +28 -0
- package/dist-client/components/activity-thread-timeline.js +339 -0
- package/dist-client/components/activity-thread-timeline.js.map +1 -0
- package/dist-client/components/can-pick.d.ts +15 -0
- package/dist-client/components/can-pick.js +16 -0
- package/dist-client/components/can-pick.js.map +1 -0
- package/dist-client/components/decision-content.d.ts +35 -0
- package/dist-client/components/decision-content.js +331 -0
- package/dist-client/components/decision-content.js.map +1 -0
- package/dist-client/components/decision-slots.d.ts +153 -0
- package/dist-client/components/decision-slots.js +152 -0
- package/dist-client/components/decision-slots.js.map +1 -0
- package/dist-client/components/mutation-outcome.d.ts +57 -0
- package/dist-client/components/mutation-outcome.js +78 -0
- package/dist-client/components/mutation-outcome.js.map +1 -0
- package/dist-client/components/say-outcome.d.ts +25 -0
- package/dist-client/components/say-outcome.js +51 -0
- package/dist-client/components/say-outcome.js.map +1 -0
- package/dist-client/components/state-ribon.d.ts +48 -0
- package/dist-client/components/state-ribon.js +225 -0
- package/dist-client/components/state-ribon.js.map +1 -0
- package/dist-client/components/timeline-entries.d.ts +38 -0
- package/dist-client/components/timeline-entries.js +62 -0
- package/dist-client/components/timeline-entries.js.map +1 -0
- package/dist-client/components/work-box-groups.d.ts +25 -0
- package/dist-client/components/work-box-groups.js +98 -0
- package/dist-client/components/work-box-groups.js.map +1 -0
- package/dist-client/due.d.ts +16 -0
- package/dist-client/due.js +78 -0
- package/dist-client/due.js.map +1 -0
- package/dist-client/entity360/person-open-work-section.d.ts +23 -0
- package/dist-client/entity360/person-open-work-section.js +79 -0
- package/dist-client/entity360/person-open-work-section.js.map +1 -0
- package/dist-client/grist-editor/grist-editor-activity-search-key.d.ts +12 -0
- package/dist-client/grist-editor/grist-editor-activity-search-key.js +70 -0
- package/dist-client/grist-editor/grist-editor-activity-search-key.js.map +1 -0
- package/dist-client/grist-editor/grist-renderer-activity-search-key.d.ts +3 -0
- package/dist-client/grist-editor/grist-renderer-activity-search-key.js +25 -0
- package/dist-client/grist-editor/grist-renderer-activity-search-key.js.map +1 -0
- package/dist-client/grist-editor/popup-activity-search-keys-input.d.ts +17 -0
- package/dist-client/grist-editor/popup-activity-search-keys-input.js +175 -0
- package/dist-client/grist-editor/popup-activity-search-keys-input.js.map +1 -0
- package/dist-client/index.d.ts +6 -0
- package/dist-client/index.js +7 -0
- package/dist-client/index.js.map +1 -0
- package/dist-client/my-work-menus.d.ts +90 -0
- package/dist-client/my-work-menus.js +20 -0
- package/dist-client/my-work-menus.js.map +1 -0
- package/dist-client/pages/activity/activity-list-page.d.ts +53 -0
- package/dist-client/pages/activity/activity-list-page.js +600 -0
- package/dist-client/pages/activity/activity-list-page.js.map +1 -0
- package/dist-client/pages/activity/activity-model-item-list.d.ts +24 -0
- package/dist-client/pages/activity/activity-model-item-list.js +292 -0
- package/dist-client/pages/activity/activity-model-item-list.js.map +1 -0
- package/dist-client/pages/activity/activity-page.d.ts +56 -0
- package/dist-client/pages/activity/activity-page.js +396 -0
- package/dist-client/pages/activity/activity-page.js.map +1 -0
- package/dist-client/pages/activity/activity-partial-view.d.ts +13 -0
- package/dist-client/pages/activity/activity-partial-view.js +56 -0
- package/dist-client/pages/activity/activity-partial-view.js.map +1 -0
- package/dist-client/pages/activity/assignee-roles-cell.d.ts +32 -0
- package/dist-client/pages/activity/assignee-roles-cell.js +26 -0
- package/dist-client/pages/activity/assignee-roles-cell.js.map +1 -0
- package/dist-client/pages/activity/starter-list-page.d.ts +31 -0
- package/dist-client/pages/activity/starter-list-page.js +172 -0
- package/dist-client/pages/activity/starter-list-page.js.map +1 -0
- package/dist-client/pages/activity-approval/activity-approval-importer.d.ts +23 -0
- package/dist-client/pages/activity-approval/activity-approval-importer.js +94 -0
- package/dist-client/pages/activity-approval/activity-approval-importer.js.map +1 -0
- package/dist-client/pages/activity-approval/activity-approval-list-page.d.ts +55 -0
- package/dist-client/pages/activity-approval/activity-approval-list-page.js +253 -0
- package/dist-client/pages/activity-approval/activity-approval-list-page.js.map +1 -0
- package/dist-client/pages/activity-approval/activity-approval-page.d.ts +158 -0
- package/dist-client/pages/activity-approval/activity-approval-page.js +876 -0
- package/dist-client/pages/activity-approval/activity-approval-page.js.map +1 -0
- package/dist-client/pages/activity-approval/approval-gate.d.ts +29 -0
- package/dist-client/pages/activity-approval/approval-gate.js +21 -0
- package/dist-client/pages/activity-approval/approval-gate.js.map +1 -0
- package/dist-client/pages/activity-catalog/activity-catalog-page.d.ts +31 -0
- package/dist-client/pages/activity-catalog/activity-catalog-page.js +420 -0
- package/dist-client/pages/activity-catalog/activity-catalog-page.js.map +1 -0
- package/dist-client/pages/activity-catalog/activity-detail-actions.d.ts +34 -0
- package/dist-client/pages/activity-catalog/activity-detail-actions.js +18 -0
- package/dist-client/pages/activity-catalog/activity-detail-actions.js.map +1 -0
- package/dist-client/pages/activity-catalog/activity-detail-page.d.ts +90 -0
- package/dist-client/pages/activity-catalog/activity-detail-page.js +525 -0
- package/dist-client/pages/activity-catalog/activity-detail-page.js.map +1 -0
- package/dist-client/pages/activity-catalog/activity-guide.d.ts +16 -0
- package/dist-client/pages/activity-catalog/activity-guide.js +5 -0
- package/dist-client/pages/activity-catalog/activity-guide.js.map +1 -0
- package/dist-client/pages/activity-catalog/activity-panels.d.ts +80 -0
- package/dist-client/pages/activity-catalog/activity-panels.js +53 -0
- package/dist-client/pages/activity-catalog/activity-panels.js.map +1 -0
- package/dist-client/pages/activity-catalog/activity-stage.d.ts +31 -0
- package/dist-client/pages/activity-catalog/activity-stage.js +44 -0
- package/dist-client/pages/activity-catalog/activity-stage.js.map +1 -0
- package/dist-client/pages/activity-instance/activity-instance-list-page.d.ts +42 -0
- package/dist-client/pages/activity-instance/activity-instance-list-page.js +306 -0
- package/dist-client/pages/activity-instance/activity-instance-list-page.js.map +1 -0
- package/dist-client/pages/activity-instance/activity-instance-search-page.d.ts +69 -0
- package/dist-client/pages/activity-instance/activity-instance-search-page.js +309 -0
- package/dist-client/pages/activity-instance/activity-instance-search-page.js.map +1 -0
- package/dist-client/pages/activity-instance/activity-instance-start-page.d.ts +54 -0
- package/dist-client/pages/activity-instance/activity-instance-start-page.js +557 -0
- package/dist-client/pages/activity-instance/activity-instance-start-page.js.map +1 -0
- package/dist-client/pages/activity-instance/activity-instance-view.d.ts +36 -0
- package/dist-client/pages/activity-instance/activity-instance-view.js +495 -0
- package/dist-client/pages/activity-instance/activity-instance-view.js.map +1 -0
- package/dist-client/pages/activity-instance/discard-offer.d.ts +11 -0
- package/dist-client/pages/activity-instance/discard-offer.js +11 -0
- package/dist-client/pages/activity-instance/discard-offer.js.map +1 -0
- package/dist-client/pages/activity-stats/activity-stats-importer.d.ts +23 -0
- package/dist-client/pages/activity-stats/activity-stats-importer.js +94 -0
- package/dist-client/pages/activity-stats/activity-stats-importer.js.map +1 -0
- package/dist-client/pages/activity-stats/activity-stats-list-page.d.ts +55 -0
- package/dist-client/pages/activity-stats/activity-stats-list-page.js +253 -0
- package/dist-client/pages/activity-stats/activity-stats-list-page.js.map +1 -0
- package/dist-client/pages/activity-store/activity-store-page.d.ts +41 -0
- package/dist-client/pages/activity-store/activity-store-page.js +210 -0
- package/dist-client/pages/activity-store/activity-store-page.js.map +1 -0
- package/dist-client/pages/activity-supervisor/reporter-list-page.d.ts +30 -0
- package/dist-client/pages/activity-supervisor/reporter-list-page.js +190 -0
- package/dist-client/pages/activity-supervisor/reporter-list-page.js.map +1 -0
- package/dist-client/pages/activity-template/activity-template-importer.d.ts +11 -0
- package/dist-client/pages/activity-template/activity-template-importer.js +98 -0
- package/dist-client/pages/activity-template/activity-template-importer.js.map +1 -0
- package/dist-client/pages/activity-template/activity-template-list-page.d.ts +53 -0
- package/dist-client/pages/activity-template/activity-template-list-page.js +377 -0
- package/dist-client/pages/activity-template/activity-template-list-page.js.map +1 -0
- package/dist-client/pages/activity-template/activity-template-model-item-list.d.ts +1 -0
- package/dist-client/pages/activity-template/activity-template-model-item-list.js +41 -0
- package/dist-client/pages/activity-template/activity-template-model-item-list.js.map +1 -0
- package/dist-client/pages/activity-thread/activity-thread-importer.d.ts +11 -0
- package/dist-client/pages/activity-thread/activity-thread-importer.js +96 -0
- package/dist-client/pages/activity-thread/activity-thread-importer.js.map +1 -0
- package/dist-client/pages/activity-thread/activity-thread-list-page.d.ts +52 -0
- package/dist-client/pages/activity-thread/activity-thread-list-page.js +248 -0
- package/dist-client/pages/activity-thread/activity-thread-list-page.js.map +1 -0
- package/dist-client/pages/activity-thread/activity-thread-page.d.ts +91 -0
- package/dist-client/pages/activity-thread/activity-thread-page.js +594 -0
- package/dist-client/pages/activity-thread/activity-thread-page.js.map +1 -0
- package/dist-client/pages/activity-thread/activity-thread-view-page.d.ts +56 -0
- package/dist-client/pages/activity-thread/activity-thread-view-page.js +386 -0
- package/dist-client/pages/activity-thread/activity-thread-view-page.js.map +1 -0
- package/dist-client/pages/activity-thread/activity-thread-view.d.ts +31 -0
- package/dist-client/pages/activity-thread/activity-thread-view.js +134 -0
- package/dist-client/pages/activity-thread/activity-thread-view.js.map +1 -0
- package/dist-client/pages/activity-thread/thread-sections.d.ts +34 -0
- package/dist-client/pages/activity-thread/thread-sections.js +36 -0
- package/dist-client/pages/activity-thread/thread-sections.js.map +1 -0
- package/dist-client/pages/approval-progress/approval-progress-page.d.ts +46 -0
- package/dist-client/pages/approval-progress/approval-progress-page.js +294 -0
- package/dist-client/pages/approval-progress/approval-progress-page.js.map +1 -0
- package/dist-client/pages/installable-activity/installable-activity-list-page.d.ts +64 -0
- package/dist-client/pages/installable-activity/installable-activity-list-page.js +424 -0
- package/dist-client/pages/installable-activity/installable-activity-list-page.js.map +1 -0
- package/dist-client/pages/installable-activity/installable-activity-model-item-list.d.ts +1 -0
- package/dist-client/pages/installable-activity/installable-activity-model-item-list.js +20 -0
- package/dist-client/pages/installable-activity/installable-activity-model-item-list.js.map +1 -0
- package/dist-client/pages/todo/approval-done-list-page.d.ts +42 -0
- package/dist-client/pages/todo/approval-done-list-page.js +365 -0
- package/dist-client/pages/todo/approval-done-list-page.js.map +1 -0
- package/dist-client/pages/todo/approval-pending-list-page.d.ts +79 -0
- package/dist-client/pages/todo/approval-pending-list-page.js +683 -0
- package/dist-client/pages/todo/approval-pending-list-page.js.map +1 -0
- package/dist-client/pages/todo/done-list-calendar-page.d.ts +47 -0
- package/dist-client/pages/todo/done-list-calendar-page.js +379 -0
- package/dist-client/pages/todo/done-list-calendar-page.js.map +1 -0
- package/dist-client/pages/todo/draft-list-page.d.ts +64 -0
- package/dist-client/pages/todo/draft-list-page.js +404 -0
- package/dist-client/pages/todo/draft-list-page.js.map +1 -0
- package/dist-client/pages/todo/list-thumbnail.d.ts +25 -0
- package/dist-client/pages/todo/list-thumbnail.js +25 -0
- package/dist-client/pages/todo/list-thumbnail.js.map +1 -0
- package/dist-client/pages/todo/pickable-list-page.d.ts +37 -0
- package/dist-client/pages/todo/pickable-list-page.js +271 -0
- package/dist-client/pages/todo/pickable-list-page.js.map +1 -0
- package/dist-client/pages/todo/todo-list-page.d.ts +66 -0
- package/dist-client/pages/todo/todo-list-page.js +503 -0
- package/dist-client/pages/todo/todo-list-page.js.map +1 -0
- package/dist-client/pages/todo/work-box.d.ts +52 -0
- package/dist-client/pages/todo/work-box.js +54 -0
- package/dist-client/pages/todo/work-box.js.map +1 -0
- package/dist-client/pages/work-door/door-links.d.ts +22 -0
- package/dist-client/pages/work-door/door-links.js +20 -0
- package/dist-client/pages/work-door/door-links.js.map +1 -0
- package/dist-client/pages/work-door/door-sentence.d.ts +75 -0
- package/dist-client/pages/work-door/door-sentence.js +107 -0
- package/dist-client/pages/work-door/door-sentence.js.map +1 -0
- package/dist-client/pages/work-door/door-words.d.ts +48 -0
- package/dist-client/pages/work-door/door-words.js +84 -0
- package/dist-client/pages/work-door/door-words.js.map +1 -0
- package/dist-client/route.d.ts +1 -0
- package/dist-client/route.js +80 -0
- package/dist-client/route.js.map +1 -0
- package/dist-client/templates/activity-approval-context-template.d.ts +3 -0
- package/dist-client/templates/activity-approval-context-template.js +105 -0
- package/dist-client/templates/activity-approval-context-template.js.map +1 -0
- package/dist-client/templates/activity-instance-context-template.d.ts +3 -0
- package/dist-client/templates/activity-instance-context-template.js +118 -0
- package/dist-client/templates/activity-instance-context-template.js.map +1 -0
- package/dist-client/templates/activity-thread-context-template.d.ts +3 -0
- package/dist-client/templates/activity-thread-context-template.js +74 -0
- package/dist-client/templates/activity-thread-context-template.js.map +1 -0
- package/dist-client/templates/context-panel.d.ts +26 -0
- package/dist-client/templates/context-panel.js +182 -0
- package/dist-client/templates/context-panel.js.map +1 -0
- package/dist-client/tsconfig.tsbuildinfo +1 -0
- package/dist-client/types/activity-approval.d.ts +36 -0
- package/dist-client/types/activity-approval.js +17 -0
- package/dist-client/types/activity-approval.js.map +1 -0
- package/dist-client/types/activity-instance-type.d.ts +77 -0
- package/dist-client/types/activity-instance-type.js +11 -0
- package/dist-client/types/activity-instance-type.js.map +1 -0
- package/dist-client/types/activity-instance.d.ts +72 -0
- package/dist-client/types/activity-instance.js +36 -0
- package/dist-client/types/activity-instance.js.map +1 -0
- package/dist-client/types/activity-model-type.d.ts +31 -0
- package/dist-client/types/activity-model-type.js +18 -0
- package/dist-client/types/activity-model-type.js.map +1 -0
- package/dist-client/types/activity-search-key-item-type.d.ts +6 -0
- package/dist-client/types/activity-search-key-item-type.js +3 -0
- package/dist-client/types/activity-search-key-item-type.js.map +1 -0
- package/dist-client/types/activity-thread-history.d.ts +28 -0
- package/dist-client/types/activity-thread-history.js +7 -0
- package/dist-client/types/activity-thread-history.js.map +1 -0
- package/dist-client/types/activity-thread-type.d.ts +15 -0
- package/dist-client/types/activity-thread-type.js +7 -0
- package/dist-client/types/activity-thread-type.js.map +1 -0
- package/dist-client/types/activity-thread.d.ts +39 -0
- package/dist-client/types/activity-thread.js +18 -0
- package/dist-client/types/activity-thread.js.map +1 -0
- package/dist-client/types/activity.d.ts +68 -0
- package/dist-client/types/activity.js +40 -0
- package/dist-client/types/activity.js.map +1 -0
- package/dist-client/types/types.d.ts +23 -0
- package/dist-client/types/types.js +42 -0
- package/dist-client/types/types.js.map +1 -0
- package/dist-client/when.d.ts +4 -0
- package/dist-client/when.js +72 -0
- package/dist-client/when.js.map +1 -0
- package/dist-client/work-calendar-sources.d.ts +96 -0
- package/dist-client/work-calendar-sources.js +88 -0
- package/dist-client/work-calendar-sources.js.map +1 -0
- package/dist-server/controllers/activity-approval/_abort.d.ts +5 -0
- package/dist-server/controllers/activity-approval/_abort.js +29 -0
- package/dist-server/controllers/activity-approval/_abort.js.map +1 -0
- package/dist-server/controllers/activity-approval/abort.d.ts +5 -0
- package/dist-server/controllers/activity-approval/abort.js +35 -0
- package/dist-server/controllers/activity-approval/abort.js.map +1 -0
- package/dist-server/controllers/activity-approval/approval-line.d.ts +138 -0
- package/dist-server/controllers/activity-approval/approval-line.js +185 -0
- package/dist-server/controllers/activity-approval/approval-line.js.map +1 -0
- package/dist-server/controllers/activity-approval/approve.d.ts +5 -0
- package/dist-server/controllers/activity-approval/approve.js +142 -0
- package/dist-server/controllers/activity-approval/approve.js.map +1 -0
- package/dist-server/controllers/activity-approval/check-authority.d.ts +8 -0
- package/dist-server/controllers/activity-approval/check-authority.js +29 -0
- package/dist-server/controllers/activity-approval/check-authority.js.map +1 -0
- package/dist-server/controllers/activity-approval/claim.d.ts +42 -0
- package/dist-server/controllers/activity-approval/claim.js +77 -0
- package/dist-server/controllers/activity-approval/claim.js.map +1 -0
- package/dist-server/controllers/activity-approval/create-approval.d.ts +41 -0
- package/dist-server/controllers/activity-approval/create-approval.js +85 -0
- package/dist-server/controllers/activity-approval/create-approval.js.map +1 -0
- package/dist-server/controllers/activity-approval/delegate.d.ts +23 -0
- package/dist-server/controllers/activity-approval/delegate.js +113 -0
- package/dist-server/controllers/activity-approval/delegate.js.map +1 -0
- package/dist-server/controllers/activity-approval/delegation.d.ts +21 -0
- package/dist-server/controllers/activity-approval/delegation.js +17 -0
- package/dist-server/controllers/activity-approval/delegation.js.map +1 -0
- package/dist-server/controllers/activity-approval/opinion.d.ts +10 -0
- package/dist-server/controllers/activity-approval/opinion.js +43 -0
- package/dist-server/controllers/activity-approval/opinion.js.map +1 -0
- package/dist-server/controllers/activity-approval/reject.d.ts +5 -0
- package/dist-server/controllers/activity-approval/reject.js +93 -0
- package/dist-server/controllers/activity-approval/reject.js.map +1 -0
- package/dist-server/controllers/activity-approval/resolve-judgeable-seats.d.ts +21 -0
- package/dist-server/controllers/activity-approval/resolve-judgeable-seats.js +60 -0
- package/dist-server/controllers/activity-approval/resolve-judgeable-seats.js.map +1 -0
- package/dist-server/controllers/activity-approval/save.d.ts +5 -0
- package/dist-server/controllers/activity-approval/save.js +56 -0
- package/dist-server/controllers/activity-approval/save.js.map +1 -0
- package/dist-server/controllers/activity-approval/seat-standing.d.ts +66 -0
- package/dist-server/controllers/activity-approval/seat-standing.js +57 -0
- package/dist-server/controllers/activity-approval/seat-standing.js.map +1 -0
- package/dist-server/controllers/activity-installation/activity-installation-controller.d.ts +79 -0
- package/dist-server/controllers/activity-installation/activity-installation-controller.js +99 -0
- package/dist-server/controllers/activity-installation/activity-installation-controller.js.map +1 -0
- package/dist-server/controllers/activity-installation/call-webhook.d.ts +3 -0
- package/dist-server/controllers/activity-installation/call-webhook.js +42 -0
- package/dist-server/controllers/activity-installation/call-webhook.js.map +1 -0
- package/dist-server/controllers/activity-installation/installable-to-activity.d.ts +77 -0
- package/dist-server/controllers/activity-installation/installable-to-activity.js +68 -0
- package/dist-server/controllers/activity-installation/installable-to-activity.js.map +1 -0
- package/dist-server/controllers/activity-installation/registry-conflict.d.ts +47 -0
- package/dist-server/controllers/activity-installation/registry-conflict.js +47 -0
- package/dist-server/controllers/activity-installation/registry-conflict.js.map +1 -0
- package/dist-server/controllers/activity-instance/abort.d.ts +5 -0
- package/dist-server/controllers/activity-instance/abort.js +62 -0
- package/dist-server/controllers/activity-instance/abort.js.map +1 -0
- package/dist-server/controllers/activity-instance/approval-expectation.d.ts +34 -0
- package/dist-server/controllers/activity-instance/approval-expectation.js +18 -0
- package/dist-server/controllers/activity-instance/approval-expectation.js.map +1 -0
- package/dist-server/controllers/activity-instance/approval-line-input.d.ts +29 -0
- package/dist-server/controllers/activity-instance/approval-line-input.js +44 -0
- package/dist-server/controllers/activity-instance/approval-line-input.js.map +1 -0
- package/dist-server/controllers/activity-instance/assign.d.ts +8 -0
- package/dist-server/controllers/activity-instance/assign.js +152 -0
- package/dist-server/controllers/activity-instance/assign.js.map +1 -0
- package/dist-server/controllers/activity-instance/assignee-input.d.ts +25 -0
- package/dist-server/controllers/activity-instance/assignee-input.js +28 -0
- package/dist-server/controllers/activity-instance/assignee-input.js.map +1 -0
- package/dist-server/controllers/activity-instance/claim-draft.d.ts +17 -0
- package/dist-server/controllers/activity-instance/claim-draft.js +30 -0
- package/dist-server/controllers/activity-instance/claim-draft.js.map +1 -0
- package/dist-server/controllers/activity-instance/discard-draft.d.ts +22 -0
- package/dist-server/controllers/activity-instance/discard-draft.js +54 -0
- package/dist-server/controllers/activity-instance/discard-draft.js.map +1 -0
- package/dist-server/controllers/activity-instance/draft.d.ts +3 -0
- package/dist-server/controllers/activity-instance/draft.js +93 -0
- package/dist-server/controllers/activity-instance/draft.js.map +1 -0
- package/dist-server/controllers/activity-instance/end.d.ts +6 -0
- package/dist-server/controllers/activity-instance/end.js +65 -0
- package/dist-server/controllers/activity-instance/end.js.map +1 -0
- package/dist-server/controllers/activity-instance/entitlement.d.ts +25 -0
- package/dist-server/controllers/activity-instance/entitlement.js +110 -0
- package/dist-server/controllers/activity-instance/entitlement.js.map +1 -0
- package/dist-server/controllers/activity-instance/index.d.ts +6 -0
- package/dist-server/controllers/activity-instance/index.js +10 -0
- package/dist-server/controllers/activity-instance/index.js.map +1 -0
- package/dist-server/controllers/activity-instance/issue.d.ts +3 -0
- package/dist-server/controllers/activity-instance/issue.js +272 -0
- package/dist-server/controllers/activity-instance/issue.js.map +1 -0
- package/dist-server/controllers/activity-instance/pick.d.ts +2 -0
- package/dist-server/controllers/activity-instance/pick.js +112 -0
- package/dist-server/controllers/activity-instance/pick.js.map +1 -0
- package/dist-server/controllers/activity-read/assert-may-read.d.ts +20 -0
- package/dist-server/controllers/activity-read/assert-may-read.js +108 -0
- package/dist-server/controllers/activity-read/assert-may-read.js.map +1 -0
- package/dist-server/controllers/activity-read/participates.d.ts +41 -0
- package/dist-server/controllers/activity-read/participates.js +42 -0
- package/dist-server/controllers/activity-read/participates.js.map +1 -0
- package/dist-server/controllers/activity-thread/_abort.d.ts +5 -0
- package/dist-server/controllers/activity-thread/_abort.js +36 -0
- package/dist-server/controllers/activity-thread/_abort.js.map +1 -0
- package/dist-server/controllers/activity-thread/abort.d.ts +5 -0
- package/dist-server/controllers/activity-thread/abort.js +45 -0
- package/dist-server/controllers/activity-thread/abort.js.map +1 -0
- package/dist-server/controllers/activity-thread/check-authority.d.ts +2 -0
- package/dist-server/controllers/activity-thread/check-authority.js +65 -0
- package/dist-server/controllers/activity-thread/check-authority.js.map +1 -0
- package/dist-server/controllers/activity-thread/delegate.d.ts +7 -0
- package/dist-server/controllers/activity-thread/delegate.js +66 -0
- package/dist-server/controllers/activity-thread/delegate.js.map +1 -0
- package/dist-server/controllers/activity-thread/end.d.ts +6 -0
- package/dist-server/controllers/activity-thread/end.js +44 -0
- package/dist-server/controllers/activity-thread/end.js.map +1 -0
- package/dist-server/controllers/activity-thread/index.d.ts +7 -0
- package/dist-server/controllers/activity-thread/index.js +11 -0
- package/dist-server/controllers/activity-thread/index.js.map +1 -0
- package/dist-server/controllers/activity-thread/restart.d.ts +2 -0
- package/dist-server/controllers/activity-thread/restart.js +63 -0
- package/dist-server/controllers/activity-thread/restart.js.map +1 -0
- package/dist-server/controllers/activity-thread/save.d.ts +3 -0
- package/dist-server/controllers/activity-thread/save.js +45 -0
- package/dist-server/controllers/activity-thread/save.js.map +1 -0
- package/dist-server/controllers/activity-thread/start.d.ts +2 -0
- package/dist-server/controllers/activity-thread/start.js +43 -0
- package/dist-server/controllers/activity-thread/start.js.map +1 -0
- package/dist-server/controllers/activity-thread/submit.d.ts +6 -0
- package/dist-server/controllers/activity-thread/submit.js +90 -0
- package/dist-server/controllers/activity-thread/submit.js.map +1 -0
- package/dist-server/controllers/common.d.ts +34 -0
- package/dist-server/controllers/common.js +346 -0
- package/dist-server/controllers/common.js.map +1 -0
- package/dist-server/controllers/index.d.ts +5 -0
- package/dist-server/controllers/index.js +18 -0
- package/dist-server/controllers/index.js.map +1 -0
- package/dist-server/index.d.ts +6 -0
- package/dist-server/index.js +18 -0
- package/dist-server/index.js.map +1 -0
- package/dist-server/role-tasks.d.ts +2 -0
- package/dist-server/role-tasks.js +16 -0
- package/dist-server/role-tasks.js.map +1 -0
- package/dist-server/routes.d.ts +1 -0
- package/dist-server/routes.js +57 -0
- package/dist-server/routes.js.map +1 -0
- package/dist-server/service/activity/activity-decision-key-item-type.d.ts +206 -0
- package/dist-server/service/activity/activity-decision-key-item-type.js +182 -0
- package/dist-server/service/activity/activity-decision-key-item-type.js.map +1 -0
- package/dist-server/service/activity/activity-history.d.ts +44 -0
- package/dist-server/service/activity/activity-history.js +220 -0
- package/dist-server/service/activity/activity-history.js.map +1 -0
- package/dist-server/service/activity/activity-model-type.d.ts +49 -0
- package/dist-server/service/activity/activity-model-type.js +138 -0
- package/dist-server/service/activity/activity-model-type.js.map +1 -0
- package/dist-server/service/activity/activity-mutation.d.ts +12 -0
- package/dist-server/service/activity/activity-mutation.js +416 -0
- package/dist-server/service/activity/activity-mutation.js.map +1 -0
- package/dist-server/service/activity/activity-query.d.ts +24 -0
- package/dist-server/service/activity/activity-query.js +310 -0
- package/dist-server/service/activity/activity-query.js.map +1 -0
- package/dist-server/service/activity/activity-search-key-item-type.d.ts +6 -0
- package/dist-server/service/activity/activity-search-key-item-type.js +28 -0
- package/dist-server/service/activity/activity-search-key-item-type.js.map +1 -0
- package/dist-server/service/activity/activity-type.d.ts +84 -0
- package/dist-server/service/activity/activity-type.js +269 -0
- package/dist-server/service/activity/activity-type.js.map +1 -0
- package/dist-server/service/activity/activity.d.ts +135 -0
- package/dist-server/service/activity/activity.js +328 -0
- package/dist-server/service/activity/activity.js.map +1 -0
- package/dist-server/service/activity/approval-line-seats.d.ts +12 -0
- package/dist-server/service/activity/approval-line-seats.js +68 -0
- package/dist-server/service/activity/approval-line-seats.js.map +1 -0
- package/dist-server/service/activity/credential-field.d.ts +35 -0
- package/dist-server/service/activity/credential-field.js +89 -0
- package/dist-server/service/activity/credential-field.js.map +1 -0
- package/dist-server/service/activity/decision-key-declaration.d.ts +106 -0
- package/dist-server/service/activity/decision-key-declaration.js +181 -0
- package/dist-server/service/activity/decision-key-declaration.js.map +1 -0
- package/dist-server/service/activity/declaration-guard-subscriber.d.ts +24 -0
- package/dist-server/service/activity/declaration-guard-subscriber.js +46 -0
- package/dist-server/service/activity/declaration-guard-subscriber.js.map +1 -0
- package/dist-server/service/activity/event-subscriber.d.ts +7 -0
- package/dist-server/service/activity/event-subscriber.js +21 -0
- package/dist-server/service/activity/event-subscriber.js.map +1 -0
- package/dist-server/service/activity/freeze-decision-sentences-for.d.ts +11 -0
- package/dist-server/service/activity/freeze-decision-sentences-for.js +18 -0
- package/dist-server/service/activity/freeze-decision-sentences-for.js.map +1 -0
- package/dist-server/service/activity/index.d.ts +9 -0
- package/dist-server/service/activity/index.js +13 -0
- package/dist-server/service/activity/index.js.map +1 -0
- package/dist-server/service/activity/search-key-declaration.d.ts +38 -0
- package/dist-server/service/activity/search-key-declaration.js +49 -0
- package/dist-server/service/activity/search-key-declaration.js.map +1 -0
- package/dist-server/service/activity-approval/activity-approval-mutation.d.ts +8 -0
- package/dist-server/service/activity-approval/activity-approval-mutation.js +81 -0
- package/dist-server/service/activity-approval/activity-approval-mutation.js.map +1 -0
- package/dist-server/service/activity-approval/activity-approval-query.d.ts +42 -0
- package/dist-server/service/activity-approval/activity-approval-query.js +391 -0
- package/dist-server/service/activity-approval/activity-approval-query.js.map +1 -0
- package/dist-server/service/activity-approval/activity-approval-subscription.d.ts +6 -0
- package/dist-server/service/activity-approval/activity-approval-subscription.js +39 -0
- package/dist-server/service/activity-approval/activity-approval-subscription.js.map +1 -0
- package/dist-server/service/activity-approval/activity-approval-type.d.ts +10 -0
- package/dist-server/service/activity-approval/activity-approval-type.js +39 -0
- package/dist-server/service/activity-approval/activity-approval-type.js.map +1 -0
- package/dist-server/service/activity-approval/activity-approval.d.ts +67 -0
- package/dist-server/service/activity-approval/activity-approval.js +183 -0
- package/dist-server/service/activity-approval/activity-approval.js.map +1 -0
- package/dist-server/service/activity-approval/event-subscriber.d.ts +7 -0
- package/dist-server/service/activity-approval/event-subscriber.js +46 -0
- package/dist-server/service/activity-approval/event-subscriber.js.map +1 -0
- package/dist-server/service/activity-approval/index.d.ts +8 -0
- package/dist-server/service/activity-approval/index.js +12 -0
- package/dist-server/service/activity-approval/index.js.map +1 -0
- package/dist-server/service/activity-approval/my-pending-approvals.d.ts +33 -0
- package/dist-server/service/activity-approval/my-pending-approvals.js +52 -0
- package/dist-server/service/activity-approval/my-pending-approvals.js.map +1 -0
- package/dist-server/service/activity-instance/activity-instance-history.d.ts +60 -0
- package/dist-server/service/activity-instance/activity-instance-history.js +294 -0
- package/dist-server/service/activity-instance/activity-instance-history.js.map +1 -0
- package/dist-server/service/activity-instance/activity-instance-mutation.d.ts +16 -0
- package/dist-server/service/activity-instance/activity-instance-mutation.js +185 -0
- package/dist-server/service/activity-instance/activity-instance-mutation.js.map +1 -0
- package/dist-server/service/activity-instance/activity-instance-query.d.ts +27 -0
- package/dist-server/service/activity-instance/activity-instance-query.js +386 -0
- package/dist-server/service/activity-instance/activity-instance-query.js.map +1 -0
- package/dist-server/service/activity-instance/activity-instance-subscription.d.ts +6 -0
- package/dist-server/service/activity-instance/activity-instance-subscription.js +39 -0
- package/dist-server/service/activity-instance/activity-instance-subscription.js.map +1 -0
- package/dist-server/service/activity-instance/activity-instance-type.d.ts +107 -0
- package/dist-server/service/activity-instance/activity-instance-type.js +301 -0
- package/dist-server/service/activity-instance/activity-instance-type.js.map +1 -0
- package/dist-server/service/activity-instance/activity-instance.d.ts +81 -0
- package/dist-server/service/activity-instance/activity-instance.js +324 -0
- package/dist-server/service/activity-instance/activity-instance.js.map +1 -0
- package/dist-server/service/activity-instance/assignee-pool.d.ts +59 -0
- package/dist-server/service/activity-instance/assignee-pool.js +99 -0
- package/dist-server/service/activity-instance/assignee-pool.js.map +1 -0
- package/dist-server/service/activity-instance/draft-list-states.d.ts +39 -0
- package/dist-server/service/activity-instance/draft-list-states.js +51 -0
- package/dist-server/service/activity-instance/draft-list-states.js.map +1 -0
- package/dist-server/service/activity-instance/event-subscriber.d.ts +21 -0
- package/dist-server/service/activity-instance/event-subscriber.js +59 -0
- package/dist-server/service/activity-instance/event-subscriber.js.map +1 -0
- package/dist-server/service/activity-instance/index.d.ts +9 -0
- package/dist-server/service/activity-instance/index.js +13 -0
- package/dist-server/service/activity-instance/index.js.map +1 -0
- package/dist-server/service/activity-instance/request-box.d.ts +2 -0
- package/dist-server/service/activity-instance/request-box.js +18 -0
- package/dist-server/service/activity-instance/request-box.js.map +1 -0
- package/dist-server/service/activity-stats/activity-stats-query.d.ts +9 -0
- package/dist-server/service/activity-stats/activity-stats-query.js +230 -0
- package/dist-server/service/activity-stats/activity-stats-query.js.map +1 -0
- package/dist-server/service/activity-stats/activity-stats-type.d.ts +27 -0
- package/dist-server/service/activity-stats/activity-stats-type.js +74 -0
- package/dist-server/service/activity-stats/activity-stats-type.js.map +1 -0
- package/dist-server/service/activity-stats/event-placement.d.ts +55 -0
- package/dist-server/service/activity-stats/event-placement.js +82 -0
- package/dist-server/service/activity-stats/event-placement.js.map +1 -0
- package/dist-server/service/activity-stats/index.d.ts +2 -0
- package/dist-server/service/activity-stats/index.js +6 -0
- package/dist-server/service/activity-stats/index.js.map +1 -0
- package/dist-server/service/activity-summary/activity-summary-query.d.ts +8 -0
- package/dist-server/service/activity-summary/activity-summary-query.js +137 -0
- package/dist-server/service/activity-summary/activity-summary-query.js.map +1 -0
- package/dist-server/service/activity-summary/activity-summary.d.ts +6 -0
- package/dist-server/service/activity-summary/activity-summary.js +28 -0
- package/dist-server/service/activity-summary/activity-summary.js.map +1 -0
- package/dist-server/service/activity-summary/index.d.ts +5 -0
- package/dist-server/service/activity-summary/index.js +9 -0
- package/dist-server/service/activity-summary/index.js.map +1 -0
- package/dist-server/service/activity-summary/open-work.d.ts +4 -0
- package/dist-server/service/activity-summary/open-work.js +51 -0
- package/dist-server/service/activity-summary/open-work.js.map +1 -0
- package/dist-server/service/activity-summary/person-open-work.d.ts +17 -0
- package/dist-server/service/activity-summary/person-open-work.js +68 -0
- package/dist-server/service/activity-summary/person-open-work.js.map +1 -0
- package/dist-server/service/activity-template/activity-template-history.d.ts +32 -0
- package/dist-server/service/activity-template/activity-template-history.js +165 -0
- package/dist-server/service/activity-template/activity-template-history.js.map +1 -0
- package/dist-server/service/activity-template/activity-template-mutation.d.ts +10 -0
- package/dist-server/service/activity-template/activity-template-mutation.js +194 -0
- package/dist-server/service/activity-template/activity-template-mutation.js.map +1 -0
- package/dist-server/service/activity-template/activity-template-query.d.ts +14 -0
- package/dist-server/service/activity-template/activity-template-query.js +112 -0
- package/dist-server/service/activity-template/activity-template-query.js.map +1 -0
- package/dist-server/service/activity-template/activity-template-type.d.ts +44 -0
- package/dist-server/service/activity-template/activity-template-type.js +164 -0
- package/dist-server/service/activity-template/activity-template-type.js.map +1 -0
- package/dist-server/service/activity-template/activity-template.d.ts +36 -0
- package/dist-server/service/activity-template/activity-template.js +154 -0
- package/dist-server/service/activity-template/activity-template.js.map +1 -0
- package/dist-server/service/activity-template/event-subscriber.d.ts +7 -0
- package/dist-server/service/activity-template/event-subscriber.js +21 -0
- package/dist-server/service/activity-template/event-subscriber.js.map +1 -0
- package/dist-server/service/activity-template/index.d.ts +8 -0
- package/dist-server/service/activity-template/index.js +12 -0
- package/dist-server/service/activity-template/index.js.map +1 -0
- package/dist-server/service/activity-thread/activity-thread-history-query.d.ts +10 -0
- package/dist-server/service/activity-thread/activity-thread-history-query.js +69 -0
- package/dist-server/service/activity-thread/activity-thread-history-query.js.map +1 -0
- package/dist-server/service/activity-thread/activity-thread-history.d.ts +39 -0
- package/dist-server/service/activity-thread/activity-thread-history.js +211 -0
- package/dist-server/service/activity-thread/activity-thread-history.js.map +1 -0
- package/dist-server/service/activity-thread/activity-thread-mutation.d.ts +20 -0
- package/dist-server/service/activity-thread/activity-thread-mutation.js +115 -0
- package/dist-server/service/activity-thread/activity-thread-mutation.js.map +1 -0
- package/dist-server/service/activity-thread/activity-thread-query.d.ts +24 -0
- package/dist-server/service/activity-thread/activity-thread-query.js +276 -0
- package/dist-server/service/activity-thread/activity-thread-query.js.map +1 -0
- package/dist-server/service/activity-thread/activity-thread-subscription.d.ts +6 -0
- package/dist-server/service/activity-thread/activity-thread-subscription.js +38 -0
- package/dist-server/service/activity-thread/activity-thread-subscription.js.map +1 -0
- package/dist-server/service/activity-thread/activity-thread-type.d.ts +15 -0
- package/dist-server/service/activity-thread/activity-thread-type.js +50 -0
- package/dist-server/service/activity-thread/activity-thread-type.js.map +1 -0
- package/dist-server/service/activity-thread/activity-thread.d.ts +47 -0
- package/dist-server/service/activity-thread/activity-thread.js +197 -0
- package/dist-server/service/activity-thread/activity-thread.js.map +1 -0
- package/dist-server/service/activity-thread/event-subscriber.d.ts +13 -0
- package/dist-server/service/activity-thread/event-subscriber.js +45 -0
- package/dist-server/service/activity-thread/event-subscriber.js.map +1 -0
- package/dist-server/service/activity-thread/index.d.ts +10 -0
- package/dist-server/service/activity-thread/index.js +14 -0
- package/dist-server/service/activity-thread/index.js.map +1 -0
- package/dist-server/service/activity-thread/my-open-threads.d.ts +33 -0
- package/dist-server/service/activity-thread/my-open-threads.js +85 -0
- package/dist-server/service/activity-thread/my-open-threads.js.map +1 -0
- package/dist-server/service/activity-thread/todo-order.d.ts +49 -0
- package/dist-server/service/activity-thread/todo-order.js +70 -0
- package/dist-server/service/activity-thread/todo-order.js.map +1 -0
- package/dist-server/service/approval-notice/approval-notice-rules.d.ts +67 -0
- package/dist-server/service/approval-notice/approval-notice-rules.js +67 -0
- package/dist-server/service/approval-notice/approval-notice-rules.js.map +1 -0
- package/dist-server/service/approval-notice/approval-notice.d.ts +11 -0
- package/dist-server/service/approval-notice/approval-notice.js +76 -0
- package/dist-server/service/approval-notice/approval-notice.js.map +1 -0
- package/dist-server/service/approval-progress/approval-progress-query.d.ts +14 -0
- package/dist-server/service/approval-progress/approval-progress-query.js +142 -0
- package/dist-server/service/approval-progress/approval-progress-query.js.map +1 -0
- package/dist-server/service/approval-progress/approval-progress-rule.d.ts +67 -0
- package/dist-server/service/approval-progress/approval-progress-rule.js +102 -0
- package/dist-server/service/approval-progress/approval-progress-rule.js.map +1 -0
- package/dist-server/service/approval-progress/approval-progress-type.d.ts +44 -0
- package/dist-server/service/approval-progress/approval-progress-type.js +172 -0
- package/dist-server/service/approval-progress/approval-progress-type.js.map +1 -0
- package/dist-server/service/approval-progress/index.d.ts +2 -0
- package/dist-server/service/approval-progress/index.js +6 -0
- package/dist-server/service/approval-progress/index.js.map +1 -0
- package/dist-server/service/approval-progress/waiting-on.d.ts +15 -0
- package/dist-server/service/approval-progress/waiting-on.js +40 -0
- package/dist-server/service/approval-progress/waiting-on.js.map +1 -0
- package/dist-server/service/index.d.ts +24 -0
- package/dist-server/service/index.js +80 -0
- package/dist-server/service/index.js.map +1 -0
- package/dist-server/service/installable-activity/activity-readiness.d.ts +58 -0
- package/dist-server/service/installable-activity/activity-readiness.js +105 -0
- package/dist-server/service/installable-activity/activity-readiness.js.map +1 -0
- package/dist-server/service/installable-activity/index.d.ts +6 -0
- package/dist-server/service/installable-activity/index.js +10 -0
- package/dist-server/service/installable-activity/index.js.map +1 -0
- package/dist-server/service/installable-activity/installable-activity-mutation.d.ts +11 -0
- package/dist-server/service/installable-activity/installable-activity-mutation.js +83 -0
- package/dist-server/service/installable-activity/installable-activity-mutation.js.map +1 -0
- package/dist-server/service/installable-activity/installable-activity-query.d.ts +22 -0
- package/dist-server/service/installable-activity/installable-activity-query.js +127 -0
- package/dist-server/service/installable-activity/installable-activity-query.js.map +1 -0
- package/dist-server/service/installable-activity/installable-activity-type.d.ts +5 -0
- package/dist-server/service/installable-activity/installable-activity-type.js +21 -0
- package/dist-server/service/installable-activity/installable-activity-type.js.map +1 -0
- package/dist-server/service/installable-activity/installable-activity.d.ts +92 -0
- package/dist-server/service/installable-activity/installable-activity.js +140 -0
- package/dist-server/service/installable-activity/installable-activity.js.map +1 -0
- package/dist-server/service/nulls-last.d.ts +30 -0
- package/dist-server/service/nulls-last.js +37 -0
- package/dist-server/service/nulls-last.js.map +1 -0
- package/dist-server/service/subscription/roles-of.d.ts +9 -0
- package/dist-server/service/subscription/roles-of.js +17 -0
- package/dist-server/service/subscription/roles-of.js.map +1 -0
- package/dist-server/service/subscription/subscription-filters.d.ts +47 -0
- package/dist-server/service/subscription/subscription-filters.js +57 -0
- package/dist-server/service/subscription/subscription-filters.js.map +1 -0
- package/dist-server/service/work-door/activity-lookup.d.ts +70 -0
- package/dist-server/service/work-door/activity-lookup.js +110 -0
- package/dist-server/service/work-door/activity-lookup.js.map +1 -0
- package/dist-server/service/work-door/approval-line-standing.d.ts +106 -0
- package/dist-server/service/work-door/approval-line-standing.js +65 -0
- package/dist-server/service/work-door/approval-line-standing.js.map +1 -0
- package/dist-server/service/work-door/index.d.ts +15 -0
- package/dist-server/service/work-door/index.js +20 -0
- package/dist-server/service/work-door/index.js.map +1 -0
- package/dist-server/service/work-door/pass-work-door.d.ts +74 -0
- package/dist-server/service/work-door/pass-work-door.js +45 -0
- package/dist-server/service/work-door/pass-work-door.js.map +1 -0
- package/dist-server/service/work-door/work-door-declaration.d.ts +135 -0
- package/dist-server/service/work-door/work-door-declaration.js +87 -0
- package/dist-server/service/work-door/work-door-declaration.js.map +1 -0
- package/dist-server/service/work-door/work-door-event.d.ts +20 -0
- package/dist-server/service/work-door/work-door-event.js +25 -0
- package/dist-server/service/work-door/work-door-event.js.map +1 -0
- package/dist-server/service/work-door/work-door-journal-service.d.ts +47 -0
- package/dist-server/service/work-door/work-door-journal-service.js +75 -0
- package/dist-server/service/work-door/work-door-journal-service.js.map +1 -0
- package/dist-server/service/work-door/work-door-journal.d.ts +30 -0
- package/dist-server/service/work-door/work-door-journal.js +94 -0
- package/dist-server/service/work-door/work-door-journal.js.map +1 -0
- package/dist-server/service/work-door/work-door-not-used.d.ts +39 -0
- package/dist-server/service/work-door/work-door-not-used.js +86 -0
- package/dist-server/service/work-door/work-door-not-used.js.map +1 -0
- package/dist-server/service/work-door/work-door-resolver.d.ts +32 -0
- package/dist-server/service/work-door/work-door-resolver.js +152 -0
- package/dist-server/service/work-door/work-door-resolver.js.map +1 -0
- package/dist-server/service/work-door/work-door-service.d.ts +36 -0
- package/dist-server/service/work-door/work-door-service.js +127 -0
- package/dist-server/service/work-door/work-door-service.js.map +1 -0
- package/dist-server/service/work-door/work-door-type.d.ts +88 -0
- package/dist-server/service/work-door/work-door-type.js +206 -0
- package/dist-server/service/work-door/work-door-type.js.map +1 -0
- package/dist-server/service/work-door/work-door.d.ts +187 -0
- package/dist-server/service/work-door/work-door.js +119 -0
- package/dist-server/service/work-door/work-door.js.map +1 -0
- package/dist-server/tsconfig.tsbuildinfo +1 -0
- package/package.json +10 -10
- package/shared/approval-step.d.ts +21 -0
- package/shared/approval-step.js +55 -0
- package/tests/approval-progress-db.test.ts +143 -0
- package/things-factory.config.js +1 -0
- package/translations/en.json +20 -1
- package/translations/es.json +20 -1
- package/translations/ja.json +20 -1
- package/translations/ko.json +20 -1
- package/translations/ms.json +20 -1
- package/translations/zh.json +20 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity-starter-form.js","sourceRoot":"","sources":["../../client/components/activity-starter-form.ts"],"names":[],"mappings":";AAAA,OAAO,4BAA4B,CAAA;AACnC,OAAO,gDAAgD,CAAA;AACvD,OAAO,8CAA8C,CAAA;AACrD,OAAO,wDAAwD,CAAA;AAC/D,OAAO,8BAA8B,CAAA;AAErC,OAAO,GAAG,MAAM,aAAa,CAAA;AAC7B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAElE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAG9D,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;IAA/D;;QAmDI,aAAQ,GAAQ,EAAE,CAAA;QAClB,qBAAgB,GAAQ,EAAE,CAAA;IAgMrC,CAAC;aAnPQ,WAAM,GAAG;QACd,kBAAkB;QAClB,eAAe;QACf,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA0CF;KACF,AA9CY,CA8CZ;IAOD,MAAM;QACJ,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAA;QACrD,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAA;QAEjD,OAAO,IAAI,CAAA;;;kBAGG,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAC;;eAEvC,OAAO,CAAC,CAAC,CAAC,2BAA2B,EAAE;YACxC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC;SAC5E,CAAC;;;;;;;kBAOI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;mBAC/B,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE;oBAChC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC;;;;;;;kBAO3D,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;;mBAErC,WAAW,IAAI,IAAI,CAAC,QAAQ,EAAE,WAAW,IAAI,EAAE;oBAC9C,CAAC,CAAC,EAAE;YACZ,IAAI,CAAC,gBAAgB,CAAC,WAAW,GAAG,CAAC,CAAC,aAAa,CAAC,KAAK,CAAA;QAC3D,CAAC;;;;;;;yBAOc,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,4BAA4B,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC;yBACxE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;mCAC3B,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC;;;KAGvD,CAAA;IACH,CAAC;IAED,YAAY;QACV,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACrC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAE;QACpB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;YAClC,KAAK,EAAE,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8CT;YACD,SAAS,EAAE;gBACT,EAAE;aACH;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAA;IACxC,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAA;QACtC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,GACpG,IAAI,CAAC,gBAAgB,CAAA;QAEvB,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAA;QAC3B,WAAW,KAAK,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAA;QACzC,SAAS,KAAK,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAA;QACrC,YAAY,KAAK,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAA;QAE3C,IAAI,gBAAgB,GAAG;YACrB,EAAE;YACF,UAAU;YACV,IAAI;YACJ,WAAW;YACX,QAAQ;YACR,UAAU;YACV,UAAU;YACV,KAAK;YACL,KAAK;YACL,SAAS;YACT,YAAY;SACb,CAAA;QAED,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;YACpD,QAAQ,EAAE,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCZ;YACD,SAAS,EAAE;gBACT,gBAAgB;aACjB;SACF,CAAC,CAAC,CAAA;QAEH,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAAO,OAAM;QAClC,CAAC;QAEE,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAA;QACxD,MAAM,CAAC;YACL,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,0BAA0B,EAAE;gBAC7C,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE;aACxE,CAAC;SACH,CAAC,CAAA;QAEF,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;IACzD,CAAC;IAED,yBAAyB,CAAC,gBAAgB;QACxC,QAAQ,CAAC,2BAA2B,gBAAgB,CAAC,EAAE,UAAU,gBAAgB,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IACxG,CAAC;;AAlM2B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;uDAAoB;AAEtC;IAAR,KAAK,EAAE;;qDAAmB;AAClB;IAAR,KAAK,EAAE;;6DAA2B;AApDxB,mBAAmB;IAD/B,aAAa,CAAC,uBAAuB,CAAC;GAC1B,mBAAmB,CAoP/B","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@material/web/textfield/outlined-text-field.js'\nimport '@material/web/textfield/filled-text-field.js'\nimport '@operato/property-editor/ox-properties-dynamic-view.js'\nimport '@things-factory/organization'\n\nimport gql from 'graphql-tag'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\n\nimport { navigate } from '@operato/shell'\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { ranMutation } from './say-outcome.js'\nimport { notify } from '@operato/layout'\nimport { CommonHeaderStyles, ScrollbarStyles } from '@operato/styles'\n\n@customElement('activity-starter-form')\nexport class ActivityStarterForm extends localize(i18next)(LitElement) {\n static styles = [\n CommonHeaderStyles,\n ScrollbarStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n color: var(--md-sys-color-on-surface);\n background-color: var(--md-sys-color-surface);\n }\n\n content {\n flex: 1;\n display: flex;\n flex-direction: column;\n padding: var(--spacing-medium);\n gap: var(--spacing-medium);\n overflow: auto;\n }\n\n content > div {\n display: flex;\n flex-direction: column;\n }\n\n content label {\n font: var(--label-font);\n }\n content input,\n content textarea {\n border-radius: var(--border-radius);\n border: var(--border-dim-color);\n padding: var(--input-padding);\n margin: var(--input-margin);\n font: var(--input-font);\n }\n\n content [desc] {\n font-size: 0.9em;\n }\n\n #description {\n flex: 1;\n }\n `\n ]\n\n @property({ type: String }) activityId?: string\n\n @state() activity: any = {}\n @state() activityInstance: any = {}\n\n render() {\n var { thumbnail, startingType } = this.activity || {}\n var { name, description } = this.activityInstance\n\n return html`\n <content>\n <div desc>\n <span>${i18next.t('text.activity-draft-how')}</span>\n <span\n >${i18next.t('text.activity-draft-where', {\n action: i18next.t(startingType == 'issue' ? 'button.issue' : 'button.post')\n })}</span\n >\n </div>\n\n <md-outlined-text-field\n id=\"name\"\n type=\"text\"\n label=${String(i18next.t('label.title'))}\n .value=${name || this.activity?.name || ''}\n @change=${e => (this.activityInstance.name = e.currentTarget.value)}\n >\n </md-outlined-text-field>\n\n <md-filled-text-field\n id=\"description\"\n type=\"textarea\"\n label=${String(i18next.t('label.description'))}\n resize=\"none\"\n .value=${description || this.activity?.description || ''}\n @change=${e => {\n this.activityInstance.description = e.currentTarget.value\n }}\n >\n </md-filled-text-field>\n </content>\n\n <div class=\"footer\">\n <div filler></div>\n <button @click=${e => history.back()}><md-icon>close</md-icon>${i18next.t('button.close')}</button>\n <button @click=${this.draftActivityInstance.bind(this)} done>\n <md-icon>save</md-icon>${i18next.t('button.draft')}\n </button>\n </div>\n `\n }\n\n firstUpdated() {\n this.fetchActivity(this.activityId)\n }\n\n async fetchActivity(id) {\n const response = await client.query({\n query: gql`\n query activity($id: String!) {\n activity(id: $id) {\n id\n name\n description\n state\n multiple\n startingType\n assignees {\n type\n value\n assignee {\n id\n name\n description\n controlNo\n }\n }\n approvalLine {\n type\n participation\n notifyAfter\n value\n approver {\n id\n name\n description\n controlNo\n }\n }\n thumbnail\n model {\n name\n description\n active\n tag\n inout\n type\n unit\n options\n quantifier\n spec\n }\n }\n }\n `,\n variables: {\n id\n }\n })\n\n this.activity = response.data.activity\n }\n\n async draftActivityInstance() {\n var { id: activityId } = this.activity\n var { id, name, description, priority, threadsMin, threadsMax, dueAt, input, assignees, approvalLine } =\n this.activityInstance\n\n name ||= this.activity.name\n description ||= this.activity.description\n assignees ||= this.activity.assignees\n approvalLine ||= this.activity.approvalLine\n\n var activityInstance = {\n id,\n activityId,\n name,\n description,\n priority,\n threadsMax,\n threadsMin,\n dueAt,\n input,\n assignees,\n approvalLine\n }\n\n const outcome = await ranMutation(() => client.mutate({\n mutation: gql`\n mutation ($activityInstance: ActivityInstanceDraft!) {\n draftActivityInstance(activityInstance: $activityInstance) {\n id\n name\n description\n input\n output\n state\n assignees {\n type\n value\n assignee {\n id\n name\n description\n controlNo\n }\n }\n approvalLine {\n type\n participation\n notifyAfter\n value\n approver {\n id\n name\n description\n controlNo\n }\n }\n threadsMin\n threadsMax\n }\n }\n `,\n variables: {\n activityInstance\n }\n }))\n\n if (!outcome.ok) { return\n }\n\n this.activityInstance = outcome.data.draftActivityInstance\n notify({\n message: i18next.t('text.info_x_successfully', {\n x: `${i18next.t('label.activity-instance')} ${i18next.t('text.draft')}`\n })\n })\n\n this.openActivityInstanceStart(this.activityInstance)\n }\n\n openActivityInstanceStart(activityInstance) {\n navigate(`activity-instance-start/${activityInstance.id}?title=${activityInstance.name}`, false, this)\n }\n}\n"]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import '@material/web/button/elevated-button.js';
|
|
2
|
+
import '@operato/property-editor/ox-properties-dynamic-view.js';
|
|
3
|
+
import '@things-factory/organization/dist-client/component/approval-line-brief.js';
|
|
4
|
+
import '../templates/activity-thread-context-template.js';
|
|
5
|
+
import { LitElement } from 'lit';
|
|
6
|
+
declare const ActivityThreadRibon_base: (new (...args: any[]) => LitElement) & typeof LitElement;
|
|
7
|
+
/**
|
|
8
|
+
* 업무 하나의 머리 — **지금 어떤 상태이고, 누구 손에 있나.**
|
|
9
|
+
*
|
|
10
|
+
* 모양은 `state-ribon.ts` 가 정한다(그 파일의 머리말에 왜 채운 띠를 걷었는지 적어 두었다).
|
|
11
|
+
* 여기서는 이 화면이 무엇을 보일지만 고른다.
|
|
12
|
+
*/
|
|
13
|
+
export declare class ActivityThreadRibon extends ActivityThreadRibon_base {
|
|
14
|
+
static styles: import("lit").CSSResult[][];
|
|
15
|
+
activityThread: any;
|
|
16
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
17
|
+
/**
|
|
18
|
+
* 이 건의 기본 정보 — **팝업으로 연다.**
|
|
19
|
+
*
|
|
20
|
+
* ── 왜 aside 가 아닌가 (2026-09-06) ────────────────────────────────────
|
|
21
|
+
* 전에는 화면 오른쪽에서 나오는 aside 판이었다. 두 가지가 걸린다.
|
|
22
|
+
*
|
|
23
|
+
* 자리를 다툰다 화면 오른쪽 세로 패널은 operato-twin 의 twin-entity360 이 쓰는 자리다
|
|
24
|
+
* (position: fixed · right: 0 · height: 100vh). 같은 자리에 둘이 선다.
|
|
25
|
+
* 전역 슬롯이다 VIEWPART_POSITION.ASIDEBAR 은 앱이 하나만 갖는다. 열 개가 넘는 패키지가
|
|
26
|
+
* 그 자리를 쓰고 있어(twin 의 AI 협의 도크 · board-ui · help · more-ui …),
|
|
27
|
+
* 이 패널을 열면 그중 열려 있던 것이 닫힌다.
|
|
28
|
+
*
|
|
29
|
+
* 그리고 자리의 뜻이 다르다. 오른쪽 드로어는 **보고 있는 대상을 따라다니는 상세**이고(360 이
|
|
30
|
+
* 그것이다 — 포커스가 바뀌면 내용이 바뀌고 화면을 옮겨도 남는다), 이 패널은 **이 화면의 이 건**에
|
|
31
|
+
* 대한 것이라 화면을 벗어나면 뜻이 없다. 페이지에 매인 것을 앱 전역 자리에 두지 않는다.
|
|
32
|
+
*
|
|
33
|
+
* 내용도 팝업 크기다 — 값 여덟 줄과 접힌 타임라인이라 세로 100vh 를 쓸 일이 없었다.
|
|
34
|
+
*/
|
|
35
|
+
private openInfo;
|
|
36
|
+
updated(changes: any): void;
|
|
37
|
+
}
|
|
38
|
+
export {};
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import '@material/web/button/elevated-button.js';
|
|
3
|
+
import '@operato/property-editor/ox-properties-dynamic-view.js';
|
|
4
|
+
import '@things-factory/organization/dist-client/component/approval-line-brief.js';
|
|
5
|
+
import '../templates/activity-thread-context-template.js';
|
|
6
|
+
import { html, LitElement } from 'lit';
|
|
7
|
+
import { customElement, property } from 'lit/decorators.js';
|
|
8
|
+
import { i18next, localize } from '@operato/i18n';
|
|
9
|
+
import { entity360Name, openPopup } from '@operato/layout';
|
|
10
|
+
import { currentApprovalOrder } from '../approval-progress.js';
|
|
11
|
+
import { StateRibonStyles } from './state-ribon.js';
|
|
12
|
+
/**
|
|
13
|
+
* 업무 하나의 머리 — **지금 어떤 상태이고, 누구 손에 있나.**
|
|
14
|
+
*
|
|
15
|
+
* 모양은 `state-ribon.ts` 가 정한다(그 파일의 머리말에 왜 채운 띠를 걷었는지 적어 두었다).
|
|
16
|
+
* 여기서는 이 화면이 무엇을 보일지만 고른다.
|
|
17
|
+
*/
|
|
18
|
+
let ActivityThreadRibon = class ActivityThreadRibon extends localize(i18next)(LitElement) {
|
|
19
|
+
static { this.styles = [StateRibonStyles]; }
|
|
20
|
+
render() {
|
|
21
|
+
const { state, assignee, activityInstance, activityApprovals } = this.activityThread;
|
|
22
|
+
const { description, approvalLine } = activityInstance || {};
|
|
23
|
+
return html `
|
|
24
|
+
<span class="state">
|
|
25
|
+
<i class="dot"></i>
|
|
26
|
+
${i18next.t('label.activity-state-' + state)}
|
|
27
|
+
</span>
|
|
28
|
+
|
|
29
|
+
<md-icon
|
|
30
|
+
class="info"
|
|
31
|
+
role="button"
|
|
32
|
+
tabindex="0"
|
|
33
|
+
title=${String(i18next.t('label.thread-info'))}
|
|
34
|
+
@click=${() => this.openInfo(state)}
|
|
35
|
+
@keydown=${(e) => {
|
|
36
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
37
|
+
e.preventDefault();
|
|
38
|
+
this.openInfo(state);
|
|
39
|
+
}
|
|
40
|
+
}}
|
|
41
|
+
>info</md-icon
|
|
42
|
+
>
|
|
43
|
+
|
|
44
|
+
<span class="desc" title=${description || ''}>${description || ''}</span>
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
${approvalLine
|
|
48
|
+
? html `<approval-line-brief
|
|
49
|
+
.model=${approvalLine}
|
|
50
|
+
.current=${currentApprovalOrder(activityApprovals)}
|
|
51
|
+
></approval-line-brief>`
|
|
52
|
+
: assignee
|
|
53
|
+
? html `<span class="who"
|
|
54
|
+
><span class="who-label">${i18next.t('field.assignee')}</span>${entity360Name(assignee)}</span
|
|
55
|
+
>`
|
|
56
|
+
: ''}
|
|
57
|
+
`;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* 이 건의 기본 정보 — **팝업으로 연다.**
|
|
61
|
+
*
|
|
62
|
+
* ── 왜 aside 가 아닌가 (2026-09-06) ────────────────────────────────────
|
|
63
|
+
* 전에는 화면 오른쪽에서 나오는 aside 판이었다. 두 가지가 걸린다.
|
|
64
|
+
*
|
|
65
|
+
* 자리를 다툰다 화면 오른쪽 세로 패널은 operato-twin 의 twin-entity360 이 쓰는 자리다
|
|
66
|
+
* (position: fixed · right: 0 · height: 100vh). 같은 자리에 둘이 선다.
|
|
67
|
+
* 전역 슬롯이다 VIEWPART_POSITION.ASIDEBAR 은 앱이 하나만 갖는다. 열 개가 넘는 패키지가
|
|
68
|
+
* 그 자리를 쓰고 있어(twin 의 AI 협의 도크 · board-ui · help · more-ui …),
|
|
69
|
+
* 이 패널을 열면 그중 열려 있던 것이 닫힌다.
|
|
70
|
+
*
|
|
71
|
+
* 그리고 자리의 뜻이 다르다. 오른쪽 드로어는 **보고 있는 대상을 따라다니는 상세**이고(360 이
|
|
72
|
+
* 그것이다 — 포커스가 바뀌면 내용이 바뀌고 화면을 옮겨도 남는다), 이 패널은 **이 화면의 이 건**에
|
|
73
|
+
* 대한 것이라 화면을 벗어나면 뜻이 없다. 페이지에 매인 것을 앱 전역 자리에 두지 않는다.
|
|
74
|
+
*
|
|
75
|
+
* 내용도 팝업 크기다 — 값 여덟 줄과 접힌 타임라인이라 세로 100vh 를 쓸 일이 없었다.
|
|
76
|
+
*/
|
|
77
|
+
openInfo(state) {
|
|
78
|
+
openPopup(html `<activity-thread-context-template .activityThread=${this.activityThread} state=${state}></activity-thread-context-template>`, { title: i18next.t('label.thread-info') });
|
|
79
|
+
}
|
|
80
|
+
updated(changes) {
|
|
81
|
+
if (changes.has('activityThread') && this.activityThread) {
|
|
82
|
+
const { state } = this.activityThread;
|
|
83
|
+
this.setAttribute('state', state);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
__decorate([
|
|
88
|
+
property({ type: Object }),
|
|
89
|
+
__metadata("design:type", Object)
|
|
90
|
+
], ActivityThreadRibon.prototype, "activityThread", void 0);
|
|
91
|
+
ActivityThreadRibon = __decorate([
|
|
92
|
+
customElement('activity-thread-ribon')
|
|
93
|
+
], ActivityThreadRibon);
|
|
94
|
+
export { ActivityThreadRibon };
|
|
95
|
+
//# sourceMappingURL=activity-thread-ribon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity-thread-ribon.js","sourceRoot":"","sources":["../../client/components/activity-thread-ribon.ts"],"names":[],"mappings":";AAAA,OAAO,yCAAyC,CAAA;AAChD,OAAO,wDAAwD,CAAA;AAC/D,OAAO,2EAA2E,CAAA;AAClF,OAAO,kDAAkD,CAAA;AAEzD,OAAO,EAAO,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE3D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAEnD;;;;;GAKG;AAEI,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;aAC7D,WAAM,GAAG,CAAC,gBAAgB,CAAC,AAArB,CAAqB;IAIlC,MAAM;QACJ,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,cAAc,CAAA;QACpF,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,gBAAgB,IAAI,EAAE,CAAA;QAE5D,OAAO,IAAI,CAAA;;;UAGL,OAAO,CAAC,CAAC,CAAC,uBAAuB,GAAG,KAAK,CAAC;;;;;;;gBAOpC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;iBACrC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;mBACxB,CAAC,CAAgB,EAAE,EAAE;YAC9B,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;gBACvC,CAAC,CAAC,cAAc,EAAE,CAAA;gBAClB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;YACtB,CAAC;QACH,CAAC;;;;iCAIwB,WAAW,IAAI,EAAE,IAAI,WAAW,IAAI,EAAE;;;QAG/D,YAAY;YACZ,CAAC,CAAC,IAAI,CAAA;qBACO,YAAY;uBACV,oBAAoB,CAAC,iBAAiB,CAAC;kCAC5B;YAC1B,CAAC,CAAC,QAAQ;gBACR,CAAC,CAAC,IAAI,CAAA;yCACyB,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,UAAU,aAAa,CAAC,QAAQ,CAAC;cACvF;gBACJ,CAAC,CAAC,EAAE;KACT,CAAA;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACK,QAAQ,CAAC,KAAa;QAC5B,SAAS,CACP,IAAI,CAAA,qDAAqD,IAAI,CAAC,cAAc,UAAU,KAAK,sCAAsC,EACjI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAAE,CAC1C,CAAA;IACH,CAAC;IAED,OAAO,CAAC,OAAO;QACb,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACzD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,cAAc,CAAA;YAErC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QACnC,CAAC;IACH,CAAC;;AA1E2B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;2DAAoB;AAHpC,mBAAmB;IAD/B,aAAa,CAAC,uBAAuB,CAAC;GAC1B,mBAAmB,CA8E/B","sourcesContent":["import '@material/web/button/elevated-button.js'\nimport '@operato/property-editor/ox-properties-dynamic-view.js'\nimport '@things-factory/organization/dist-client/component/approval-line-brief.js'\nimport '../templates/activity-thread-context-template.js'\n\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nimport { i18next, localize } from '@operato/i18n'\nimport { entity360Name, openPopup } from '@operato/layout'\n\nimport { currentApprovalOrder } from '../approval-progress.js'\nimport { StateRibonStyles } from './state-ribon.js'\n\n/**\n * 업무 하나의 머리 — **지금 어떤 상태이고, 누구 손에 있나.**\n *\n * 모양은 `state-ribon.ts` 가 정한다(그 파일의 머리말에 왜 채운 띠를 걷었는지 적어 두었다).\n * 여기서는 이 화면이 무엇을 보일지만 고른다.\n */\n@customElement('activity-thread-ribon')\nexport class ActivityThreadRibon extends localize(i18next)(LitElement) {\n static styles = [StateRibonStyles]\n\n @property({ type: Object }) activityThread: any\n\n render() {\n const { state, assignee, activityInstance, activityApprovals } = this.activityThread\n const { description, approvalLine } = activityInstance || {}\n\n return html`\n <span class=\"state\">\n <i class=\"dot\"></i>\n ${i18next.t('label.activity-state-' + state)}\n </span>\n\n <md-icon\n class=\"info\"\n role=\"button\"\n tabindex=\"0\"\n title=${String(i18next.t('label.thread-info'))}\n @click=${() => this.openInfo(state)}\n @keydown=${(e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n this.openInfo(state)\n }\n }}\n >info</md-icon\n >\n\n <span class=\"desc\" title=${description || ''}>${description || ''}</span>\n\n\n ${approvalLine\n ? html`<approval-line-brief\n .model=${approvalLine}\n .current=${currentApprovalOrder(activityApprovals)}\n ></approval-line-brief>`\n : assignee\n ? html`<span class=\"who\"\n ><span class=\"who-label\">${i18next.t('field.assignee')}</span>${entity360Name(assignee)}</span\n >`\n : ''}\n `\n }\n\n /**\n * 이 건의 기본 정보 — **팝업으로 연다.**\n *\n * ── 왜 aside 가 아닌가 (2026-09-06) ────────────────────────────────────\n * 전에는 화면 오른쪽에서 나오는 aside 판이었다. 두 가지가 걸린다.\n *\n * 자리를 다툰다 화면 오른쪽 세로 패널은 operato-twin 의 twin-entity360 이 쓰는 자리다\n * (position: fixed · right: 0 · height: 100vh). 같은 자리에 둘이 선다.\n * 전역 슬롯이다 VIEWPART_POSITION.ASIDEBAR 은 앱이 하나만 갖는다. 열 개가 넘는 패키지가\n * 그 자리를 쓰고 있어(twin 의 AI 협의 도크 · board-ui · help · more-ui …),\n * 이 패널을 열면 그중 열려 있던 것이 닫힌다.\n *\n * 그리고 자리의 뜻이 다르다. 오른쪽 드로어는 **보고 있는 대상을 따라다니는 상세**이고(360 이\n * 그것이다 — 포커스가 바뀌면 내용이 바뀌고 화면을 옮겨도 남는다), 이 패널은 **이 화면의 이 건**에\n * 대한 것이라 화면을 벗어나면 뜻이 없다. 페이지에 매인 것을 앱 전역 자리에 두지 않는다.\n *\n * 내용도 팝업 크기다 — 값 여덟 줄과 접힌 타임라인이라 세로 100vh 를 쓸 일이 없었다.\n */\n private openInfo(state: string) {\n openPopup(\n html`<activity-thread-context-template .activityThread=${this.activityThread} state=${state}></activity-thread-context-template>`,\n { title: i18next.t('label.thread-info') }\n )\n }\n\n updated(changes) {\n if (changes.has('activityThread') && this.activityThread) {\n const { state } = this.activityThread\n\n this.setAttribute('state', state)\n }\n }\n}\n"]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import '@material/web/icon/icon.js';
|
|
2
|
+
import '@things-factory/organization/dist-client/component/approval-line-view.js';
|
|
3
|
+
import { LitElement, nothing } from 'lit';
|
|
4
|
+
import { ActivityThread } from '../types/activity-thread.js';
|
|
5
|
+
import { ActivityThreadHistory } from '../types/activity-thread-history.js';
|
|
6
|
+
import { ActivityApproval } from '../types/activity-approval.js';
|
|
7
|
+
export declare class ActivityThreadTimeline extends LitElement {
|
|
8
|
+
static styles: import("lit").CSSResult[];
|
|
9
|
+
activityThread?: ActivityThread;
|
|
10
|
+
subtitle?: string;
|
|
11
|
+
shortForm?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* 펴 둘 것인가 — **담는 화면이 정한다.**
|
|
14
|
+
*
|
|
15
|
+
* 기본은 접는다. 펴는 곳은 둘이다.
|
|
16
|
+
* 완료 조회 지난 일을 보러 온 화면이라 이력이 곧 본문이다
|
|
17
|
+
* 보일 항목 없음 화면이 「타임라인의 상신 사유를 보고 판단하세요」로 여기를 가리킨다
|
|
18
|
+
*/
|
|
19
|
+
open?: boolean;
|
|
20
|
+
render(): import("lit-html").TemplateResult<1> | typeof nothing;
|
|
21
|
+
/** 접혔을 때 보이는 한 줄 — 마지막 기록의 「무엇을 · 누가 · 언제」. */
|
|
22
|
+
lastLine(item: any): string;
|
|
23
|
+
renderActivityThreadHistory(activityThreadHistory: ActivityThreadHistory): import("lit-html").TemplateResult<1>;
|
|
24
|
+
renderActivityApproval(activityApproval: ActivityApproval): import("lit-html").TemplateResult<1>;
|
|
25
|
+
/** 적힌 말이 없으면 상자를 그리지 않는다 — 빈 회색 상자는 내용이 있는 줄과 구별되지 않는다. */
|
|
26
|
+
renderSaid(said?: string): import("lit-html").TemplateResult<1> | typeof nothing;
|
|
27
|
+
renderOutput(output: any): string;
|
|
28
|
+
}
|
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import '@material/web/icon/icon.js';
|
|
3
|
+
import '@things-factory/organization/dist-client/component/approval-line-view.js';
|
|
4
|
+
import { html, css, LitElement, nothing } from 'lit';
|
|
5
|
+
import { customElement, property } from 'lit/decorators.js';
|
|
6
|
+
import { i18next } from '@operato/i18n';
|
|
7
|
+
import { whenText } from '../when.js';
|
|
8
|
+
import { timelineEntries, whenOf } from './timeline-entries.js';
|
|
9
|
+
import { ActivityThread } from '../types/activity-thread.js';
|
|
10
|
+
import { entity360Name } from '@operato/layout';
|
|
11
|
+
let ActivityThreadTimeline = class ActivityThreadTimeline extends LitElement {
|
|
12
|
+
static { this.styles = [
|
|
13
|
+
css `
|
|
14
|
+
/*
|
|
15
|
+
* 업무 하나가 지나온 자취 — **언제 · 무슨 일이 · 누구에 의해.**
|
|
16
|
+
*
|
|
17
|
+
* ── 무엇을 고쳤나 (2026-09-06) ─────────────────────────────────────
|
|
18
|
+
* 1. 절 제목이 단추처럼 생겼었다. border: 2px 에 border-radius: 15px 인 알약이라
|
|
19
|
+
* 누를 수 있는 것으로 보인다. 이 화면에서 알약은 거르개(chip)의 모양이다.
|
|
20
|
+
* 2. 말풍선 꼬리에 #f4f4f4 가, 표 선에 lightgray 가 하드코딩되어 있었다. 어두운
|
|
21
|
+
* 화면에서 밝은 회색이 그대로 나온다.
|
|
22
|
+
* 3. 시각이 Tuesday, September 1, 2026 at 11:51 AM 이었다. when.ts 머리말 참조.
|
|
23
|
+
*
|
|
24
|
+
* ── 내용이 없는 줄에 상자를 그리지 않는다 ─────────────────────────
|
|
25
|
+
* 의견이나 결과가 없는 줄에도 회색 상자가 min-height: 20px 으로 깔려 있었다. 저장 ·
|
|
26
|
+
* 게시처럼 적을 것이 없는 기록이 대부분이라, 화면의 절반이 빈 회색 상자였다.
|
|
27
|
+
*/
|
|
28
|
+
/*
|
|
29
|
+
* 절 하나이므로 다른 절과 같은 카드로 둔다. 전에는 카드 밖에 그냥 놓여 있어서 「업무 정보」
|
|
30
|
+
* 카드와 위계가 어긋났다 — 같은 층의 두 절인데 하나만 면 위에 있었다.
|
|
31
|
+
*/
|
|
32
|
+
:host {
|
|
33
|
+
display: block;
|
|
34
|
+
padding: 14px;
|
|
35
|
+
background: var(--ui-panel, #ffffff);
|
|
36
|
+
border: 1px solid var(--ui-line, #d5dce0);
|
|
37
|
+
border-radius: var(--ui-r, 10px);
|
|
38
|
+
color: var(--ui-ink, #17242c);
|
|
39
|
+
font-size: var(--ui-t-body, 13px);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/* 그릴 것이 없으면 빈 카드를 남기지 않는다. */
|
|
43
|
+
:host(:not(:has(ol))) {
|
|
44
|
+
display: none;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/*
|
|
48
|
+
* ── 접어 둔다 (2026-09-06) ────────────────────────────────────────
|
|
49
|
+
* 이력은 참고다. 결재자가 먼저 읽는 것은 「무엇을 승인하나」이고, 이력은 그것으로 판단이
|
|
50
|
+
* 안 설 때 펴 보는 것이다. 그런데 이 카드가 내용 절과 똑같은 무게로 서 있었다.
|
|
51
|
+
*
|
|
52
|
+
* 접어 두되 **마지막에 무슨 일이 있었는지 한 줄은 남긴다.** 「이력 4건」만 있으면 펴 볼지
|
|
53
|
+
* 말지를 정할 수가 없다.
|
|
54
|
+
*
|
|
55
|
+
* 펴 두어야 하는 화면이 있다 — 지난 일을 보러 온 화면(완료 조회), 그리고 보일 항목이 하나도
|
|
56
|
+
* 없어서 「타임라인의 상신 사유를 보고 판단하세요」라고 안내한 경우다. 그때 접혀 있으면 그
|
|
57
|
+
* 안내가 거짓말이 된다. 그래서 여는 쪽은 담는 화면이 정한다(open 속성).
|
|
58
|
+
*/
|
|
59
|
+
h2 {
|
|
60
|
+
margin: 0;
|
|
61
|
+
font-size: var(--ui-t-title, 15px);
|
|
62
|
+
font-weight: 600;
|
|
63
|
+
color: var(--ui-ink, #17242c);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
summary {
|
|
67
|
+
display: flex;
|
|
68
|
+
align-items: baseline;
|
|
69
|
+
gap: var(--spacing-medium, 8px);
|
|
70
|
+
cursor: pointer;
|
|
71
|
+
list-style: none;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
summary::-webkit-details-marker {
|
|
75
|
+
display: none;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/* 펴고 접는 표시. 색만으로 말하지 않으려고 방향이 바뀐다. */
|
|
79
|
+
.chevron {
|
|
80
|
+
flex: none;
|
|
81
|
+
font-size: 18px;
|
|
82
|
+
color: var(--ui-muted, #57676f);
|
|
83
|
+
transition: transform 0.12s ease;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
details[open] .chevron {
|
|
87
|
+
transform: rotate(90deg);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/* 접혔을 때 보이는 한 줄 — 마지막에 무슨 일이 있었나. */
|
|
91
|
+
.last {
|
|
92
|
+
flex: 1;
|
|
93
|
+
min-width: 0;
|
|
94
|
+
overflow: hidden;
|
|
95
|
+
text-overflow: ellipsis;
|
|
96
|
+
white-space: nowrap;
|
|
97
|
+
font-size: var(--ui-t-small, 11.5px);
|
|
98
|
+
color: var(--ui-faint, #8a959c);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
details[open] .last {
|
|
102
|
+
display: none;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.count {
|
|
106
|
+
flex: none;
|
|
107
|
+
font-size: var(--ui-t-small, 11.5px);
|
|
108
|
+
color: var(--ui-muted, #57676f);
|
|
109
|
+
font-variant-numeric: tabular-nums;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
ol {
|
|
113
|
+
list-style: none;
|
|
114
|
+
margin: var(--spacing-medium, 8px) 0 0;
|
|
115
|
+
padding: 0;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
li {
|
|
119
|
+
display: grid;
|
|
120
|
+
grid-template-columns: max-content 16px 1fr;
|
|
121
|
+
align-items: start;
|
|
122
|
+
column-gap: var(--spacing-small, 4px);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/* 시각 — 자릿수를 맞춰 위아래를 바로 비교할 수 있게. */
|
|
126
|
+
[date] {
|
|
127
|
+
padding-top: 1px;
|
|
128
|
+
font-family: var(--ui-mono, ui-monospace, Menlo, monospace);
|
|
129
|
+
font-size: var(--ui-t-small, 11.5px);
|
|
130
|
+
font-variant-numeric: tabular-nums;
|
|
131
|
+
color: var(--ui-faint, #8a959c);
|
|
132
|
+
white-space: nowrap;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/*
|
|
136
|
+
* 점과 그 아래로 이어지는 세로선.
|
|
137
|
+
*
|
|
138
|
+
* 칸을 세로로 늘려(align-self: stretch) 그 안에 점과 선을 그린다. 전에는 칸이 9px 이라
|
|
139
|
+
* 선 높이를 calc(100% + 100px) 으로 짐작해서 늘렸고, 줄 높이가 그보다 낮으면 선이 다음
|
|
140
|
+
* 줄을 지나 카드 아래까지 흘러내렸다.
|
|
141
|
+
*/
|
|
142
|
+
[status] {
|
|
143
|
+
position: relative;
|
|
144
|
+
align-self: stretch;
|
|
145
|
+
width: 9px;
|
|
146
|
+
margin-left: 3px;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
[status]::after {
|
|
150
|
+
content: '';
|
|
151
|
+
position: absolute;
|
|
152
|
+
top: 4px;
|
|
153
|
+
left: 0;
|
|
154
|
+
width: 9px;
|
|
155
|
+
height: 9px;
|
|
156
|
+
border-radius: 50%;
|
|
157
|
+
background-color: var(--ui-accent, #00727e);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
[status]::before {
|
|
161
|
+
content: '';
|
|
162
|
+
position: absolute;
|
|
163
|
+
top: 15px;
|
|
164
|
+
bottom: 0;
|
|
165
|
+
left: 3px;
|
|
166
|
+
width: 2px;
|
|
167
|
+
background-color: var(--ui-line, #d5dce0);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
li:last-child [status]::before {
|
|
171
|
+
display: none;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
[info] {
|
|
175
|
+
min-width: 0;
|
|
176
|
+
padding-bottom: var(--spacing-large, 16px);
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
li:last-child [info] {
|
|
180
|
+
padding-bottom: 0;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
/* 무슨 일이 있었나 — 이 줄에서 먼저 읽혀야 하는 값. */
|
|
184
|
+
[what] {
|
|
185
|
+
font-weight: 600;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
/* 누가 — 곁말이다. 아이콘은 두지 않는다(이름 앞의 원형 아이콘이 값처럼 보였다). */
|
|
189
|
+
[who] {
|
|
190
|
+
margin-left: var(--spacing-small, 4px);
|
|
191
|
+
font-size: var(--ui-t-small, 11.5px);
|
|
192
|
+
color: var(--ui-faint, #8a959c);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
/* 적힌 말 — 의견 · 사유 · 결과. 없으면 이 요소 자체를 그리지 않는다. */
|
|
196
|
+
p {
|
|
197
|
+
/* 줄을 바꿔 아래에 두되(block), 폭은 내용만큼만 — 짧은 의견에 화면 폭짜리 상자가 생겼다. */
|
|
198
|
+
display: block;
|
|
199
|
+
width: fit-content;
|
|
200
|
+
max-width: 100%;
|
|
201
|
+
margin: 5px 0 0;
|
|
202
|
+
padding: 7px 10px;
|
|
203
|
+
background: var(--ui-panel-2, #eef1f3);
|
|
204
|
+
border-radius: var(--ui-r-small, 6px);
|
|
205
|
+
color: var(--ui-ink, #17242c);
|
|
206
|
+
font-size: var(--ui-t-small, 11.5px);
|
|
207
|
+
line-height: 1.5;
|
|
208
|
+
word-break: keep-all;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
@media only screen and (max-width: 460px) {
|
|
212
|
+
li {
|
|
213
|
+
grid-template-columns: 16px 1fr;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
/* 좁은 화면에서는 시각을 내용 아래로 내린다 — 한 줄의 절반을 시각에 내줄 수 없다. */
|
|
217
|
+
[date] {
|
|
218
|
+
grid-column: 2;
|
|
219
|
+
grid-row: 2;
|
|
220
|
+
padding: 0 0 var(--spacing-medium, 8px);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
`
|
|
224
|
+
]; }
|
|
225
|
+
render() {
|
|
226
|
+
const { activityApprovals = [], activityThreadHistories = [] } = this.activityThread || {};
|
|
227
|
+
/*
|
|
228
|
+
* **정렬 키와 표시 키가 같아야 한다.**
|
|
229
|
+
*
|
|
230
|
+
* 전에는 둘 다 updatedAt 으로 정렬해 놓고, 결재 줄만 terminatedAt 을 보여 주었다. 그래서
|
|
231
|
+
* 시각이 오르내리는 목록이 나왔다 — 11:51 승인됨 · 11:50 제출 · 11:50 게시 · 11:51 상신.
|
|
232
|
+
* 시간 순으로 읽으라고 만든 화면인데 시간 순이 아니었다.
|
|
233
|
+
*/
|
|
234
|
+
/* 한 사람의 한 행동이 한 줄이 되게 거르고, 같은 시각이면 일어난 순서로 놓는다(timeline-entries). */
|
|
235
|
+
const timeline = timelineEntries(activityThreadHistories, activityApprovals, { shortForm: this.shortForm });
|
|
236
|
+
if (!timeline.length) {
|
|
237
|
+
return nothing;
|
|
238
|
+
}
|
|
239
|
+
return html `
|
|
240
|
+
<details ?open=${this.open}>
|
|
241
|
+
<summary>
|
|
242
|
+
<md-icon class="chevron">chevron_right</md-icon>
|
|
243
|
+
<h2>${this.subtitle || i18next.t('label.timeline')}</h2>
|
|
244
|
+
<span class="count">${i18next.t('text.timeline-count', { count: timeline.length })}</span>
|
|
245
|
+
<span class="last">${this.lastLine(timeline[timeline.length - 1])}</span>
|
|
246
|
+
</summary>
|
|
247
|
+
|
|
248
|
+
<ol>
|
|
249
|
+
${timeline.map(item => 'reason' in item
|
|
250
|
+
? this.renderActivityThreadHistory(item)
|
|
251
|
+
: this.renderActivityApproval(item))}
|
|
252
|
+
</ol>
|
|
253
|
+
</details>
|
|
254
|
+
`;
|
|
255
|
+
}
|
|
256
|
+
/** 접혔을 때 보이는 한 줄 — 마지막 기록의 「무엇을 · 누가 · 언제」. */
|
|
257
|
+
lastLine(item) {
|
|
258
|
+
const what = 'reason' in item
|
|
259
|
+
? i18next.t('label.activity-transaction-' + item.transaction)
|
|
260
|
+
: i18next.t('label.activity-state-' + item.judgment);
|
|
261
|
+
const who = item?.updater?.name || item?.approver?.name || '';
|
|
262
|
+
return [what, who, whenText(whenOf(item))].filter(Boolean).join(' · ');
|
|
263
|
+
}
|
|
264
|
+
renderActivityThreadHistory(activityThreadHistory) {
|
|
265
|
+
const { updater, updatedAt, state, reason, output, transaction } = activityThreadHistory;
|
|
266
|
+
return html `
|
|
267
|
+
<li>
|
|
268
|
+
<span date>${whenText(updatedAt)}</span>
|
|
269
|
+
<span status></span>
|
|
270
|
+
|
|
271
|
+
<span info>
|
|
272
|
+
<span what>${i18next.t('label.activity-transaction-' + transaction)}</span>
|
|
273
|
+
${updater?.name ? html `<span who>${entity360Name(updater)}</span>` : nothing}
|
|
274
|
+
${this.renderSaid(reason || (output ? this.renderOutput(output) : ''))}
|
|
275
|
+
</span>
|
|
276
|
+
</li>
|
|
277
|
+
`;
|
|
278
|
+
}
|
|
279
|
+
renderActivityApproval(activityApproval) {
|
|
280
|
+
const { judgment, approver, comment, createdAt, terminatedAt } = activityApproval;
|
|
281
|
+
return html `
|
|
282
|
+
<li>
|
|
283
|
+
<span date>${whenText(terminatedAt ?? createdAt)}</span>
|
|
284
|
+
<span status></span>
|
|
285
|
+
<span info>
|
|
286
|
+
<span what>${i18next.t('label.activity-state-' + judgment)}</span>
|
|
287
|
+
${approver?.name ? html `<span who>${entity360Name(approver)}</span>` : nothing}
|
|
288
|
+
${this.renderSaid(comment)}
|
|
289
|
+
</span>
|
|
290
|
+
</li>
|
|
291
|
+
`;
|
|
292
|
+
}
|
|
293
|
+
/** 적힌 말이 없으면 상자를 그리지 않는다 — 빈 회색 상자는 내용이 있는 줄과 구별되지 않는다. */
|
|
294
|
+
renderSaid(said) {
|
|
295
|
+
return said ? html `<p>${said}</p>` : nothing;
|
|
296
|
+
}
|
|
297
|
+
renderOutput(output) {
|
|
298
|
+
const keys = Object.keys(output);
|
|
299
|
+
if (keys.length === 0) {
|
|
300
|
+
return '';
|
|
301
|
+
}
|
|
302
|
+
const firstKey = keys[0];
|
|
303
|
+
let value = output[firstKey];
|
|
304
|
+
// 값이 객체이거나 긴 문자열인 경우 처리
|
|
305
|
+
if (typeof value === 'object') {
|
|
306
|
+
value = Array.isArray(value) ? '[...]' : '{...}';
|
|
307
|
+
}
|
|
308
|
+
else if (typeof value === 'string' && value.length > 50) {
|
|
309
|
+
value = value.substring(0, 47) + '...';
|
|
310
|
+
}
|
|
311
|
+
let result = `${firstKey}: ${value}`;
|
|
312
|
+
// 추가 속성이 있는 경우 표시
|
|
313
|
+
if (keys.length > 1) {
|
|
314
|
+
result += ' ' + i18next.t('text.and-n-more-fields', { n: keys.length - 1 });
|
|
315
|
+
}
|
|
316
|
+
return result;
|
|
317
|
+
}
|
|
318
|
+
};
|
|
319
|
+
__decorate([
|
|
320
|
+
property({ type: Object }),
|
|
321
|
+
__metadata("design:type", ActivityThread)
|
|
322
|
+
], ActivityThreadTimeline.prototype, "activityThread", void 0);
|
|
323
|
+
__decorate([
|
|
324
|
+
property({ type: String }),
|
|
325
|
+
__metadata("design:type", String)
|
|
326
|
+
], ActivityThreadTimeline.prototype, "subtitle", void 0);
|
|
327
|
+
__decorate([
|
|
328
|
+
property({ type: Boolean, attribute: 'short-form' }),
|
|
329
|
+
__metadata("design:type", Boolean)
|
|
330
|
+
], ActivityThreadTimeline.prototype, "shortForm", void 0);
|
|
331
|
+
__decorate([
|
|
332
|
+
property({ type: Boolean }),
|
|
333
|
+
__metadata("design:type", Boolean)
|
|
334
|
+
], ActivityThreadTimeline.prototype, "open", void 0);
|
|
335
|
+
ActivityThreadTimeline = __decorate([
|
|
336
|
+
customElement('activity-thread-timeline')
|
|
337
|
+
], ActivityThreadTimeline);
|
|
338
|
+
export { ActivityThreadTimeline };
|
|
339
|
+
//# sourceMappingURL=activity-thread-timeline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity-thread-timeline.js","sourceRoot":"","sources":["../../client/components/activity-thread-timeline.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@things-factory/organization/dist-client/component/approval-line-view.js'\n\nimport { html, css, LitElement, nothing } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nimport { i18next } from '@operato/i18n'\n\nimport { whenText } from '../when.js'\nimport { timelineEntries, whenOf } from './timeline-entries.js'\n\nimport { ActivityThread } from '../types/activity-thread.js'\nimport { ActivityThreadHistory } from '../types/activity-thread-history.js'\nimport { ActivityApproval } from '../types/activity-approval.js'\nimport { entity360Name } from '@operato/layout'\n\n\n@customElement('activity-thread-timeline')\nexport class ActivityThreadTimeline extends LitElement {\n static styles = [\n css`\n /*\n * 업무 하나가 지나온 자취 — **언제 · 무슨 일이 · 누구에 의해.**\n *\n * ── 무엇을 고쳤나 (2026-09-06) ─────────────────────────────────────\n * 1. 절 제목이 단추처럼 생겼었다. border: 2px 에 border-radius: 15px 인 알약이라\n * 누를 수 있는 것으로 보인다. 이 화면에서 알약은 거르개(chip)의 모양이다.\n * 2. 말풍선 꼬리에 #f4f4f4 가, 표 선에 lightgray 가 하드코딩되어 있었다. 어두운\n * 화면에서 밝은 회색이 그대로 나온다.\n * 3. 시각이 Tuesday, September 1, 2026 at 11:51 AM 이었다. when.ts 머리말 참조.\n *\n * ── 내용이 없는 줄에 상자를 그리지 않는다 ─────────────────────────\n * 의견이나 결과가 없는 줄에도 회색 상자가 min-height: 20px 으로 깔려 있었다. 저장 ·\n * 게시처럼 적을 것이 없는 기록이 대부분이라, 화면의 절반이 빈 회색 상자였다.\n */\n /*\n * 절 하나이므로 다른 절과 같은 카드로 둔다. 전에는 카드 밖에 그냥 놓여 있어서 「업무 정보」\n * 카드와 위계가 어긋났다 — 같은 층의 두 절인데 하나만 면 위에 있었다.\n */\n :host {\n display: block;\n padding: 14px;\n background: var(--ui-panel, #ffffff);\n border: 1px solid var(--ui-line, #d5dce0);\n border-radius: var(--ui-r, 10px);\n color: var(--ui-ink, #17242c);\n font-size: var(--ui-t-body, 13px);\n }\n\n /* 그릴 것이 없으면 빈 카드를 남기지 않는다. */\n :host(:not(:has(ol))) {\n display: none;\n }\n\n /*\n * ── 접어 둔다 (2026-09-06) ────────────────────────────────────────\n * 이력은 참고다. 결재자가 먼저 읽는 것은 「무엇을 승인하나」이고, 이력은 그것으로 판단이\n * 안 설 때 펴 보는 것이다. 그런데 이 카드가 내용 절과 똑같은 무게로 서 있었다.\n *\n * 접어 두되 **마지막에 무슨 일이 있었는지 한 줄은 남긴다.** 「이력 4건」만 있으면 펴 볼지\n * 말지를 정할 수가 없다.\n *\n * 펴 두어야 하는 화면이 있다 — 지난 일을 보러 온 화면(완료 조회), 그리고 보일 항목이 하나도\n * 없어서 「타임라인의 상신 사유를 보고 판단하세요」라고 안내한 경우다. 그때 접혀 있으면 그\n * 안내가 거짓말이 된다. 그래서 여는 쪽은 담는 화면이 정한다(open 속성).\n */\n h2 {\n margin: 0;\n font-size: var(--ui-t-title, 15px);\n font-weight: 600;\n color: var(--ui-ink, #17242c);\n }\n\n summary {\n display: flex;\n align-items: baseline;\n gap: var(--spacing-medium, 8px);\n cursor: pointer;\n list-style: none;\n }\n\n summary::-webkit-details-marker {\n display: none;\n }\n\n /* 펴고 접는 표시. 색만으로 말하지 않으려고 방향이 바뀐다. */\n .chevron {\n flex: none;\n font-size: 18px;\n color: var(--ui-muted, #57676f);\n transition: transform 0.12s ease;\n }\n\n details[open] .chevron {\n transform: rotate(90deg);\n }\n\n /* 접혔을 때 보이는 한 줄 — 마지막에 무슨 일이 있었나. */\n .last {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: var(--ui-t-small, 11.5px);\n color: var(--ui-faint, #8a959c);\n }\n\n details[open] .last {\n display: none;\n }\n\n .count {\n flex: none;\n font-size: var(--ui-t-small, 11.5px);\n color: var(--ui-muted, #57676f);\n font-variant-numeric: tabular-nums;\n }\n\n ol {\n list-style: none;\n margin: var(--spacing-medium, 8px) 0 0;\n padding: 0;\n }\n\n li {\n display: grid;\n grid-template-columns: max-content 16px 1fr;\n align-items: start;\n column-gap: var(--spacing-small, 4px);\n }\n\n /* 시각 — 자릿수를 맞춰 위아래를 바로 비교할 수 있게. */\n [date] {\n padding-top: 1px;\n font-family: var(--ui-mono, ui-monospace, Menlo, monospace);\n font-size: var(--ui-t-small, 11.5px);\n font-variant-numeric: tabular-nums;\n color: var(--ui-faint, #8a959c);\n white-space: nowrap;\n }\n\n /*\n * 점과 그 아래로 이어지는 세로선.\n *\n * 칸을 세로로 늘려(align-self: stretch) 그 안에 점과 선을 그린다. 전에는 칸이 9px 이라\n * 선 높이를 calc(100% + 100px) 으로 짐작해서 늘렸고, 줄 높이가 그보다 낮으면 선이 다음\n * 줄을 지나 카드 아래까지 흘러내렸다.\n */\n [status] {\n position: relative;\n align-self: stretch;\n width: 9px;\n margin-left: 3px;\n }\n\n [status]::after {\n content: '';\n position: absolute;\n top: 4px;\n left: 0;\n width: 9px;\n height: 9px;\n border-radius: 50%;\n background-color: var(--ui-accent, #00727e);\n }\n\n [status]::before {\n content: '';\n position: absolute;\n top: 15px;\n bottom: 0;\n left: 3px;\n width: 2px;\n background-color: var(--ui-line, #d5dce0);\n }\n\n li:last-child [status]::before {\n display: none;\n }\n\n [info] {\n min-width: 0;\n padding-bottom: var(--spacing-large, 16px);\n }\n\n li:last-child [info] {\n padding-bottom: 0;\n }\n\n /* 무슨 일이 있었나 — 이 줄에서 먼저 읽혀야 하는 값. */\n [what] {\n font-weight: 600;\n }\n\n /* 누가 — 곁말이다. 아이콘은 두지 않는다(이름 앞의 원형 아이콘이 값처럼 보였다). */\n [who] {\n margin-left: var(--spacing-small, 4px);\n font-size: var(--ui-t-small, 11.5px);\n color: var(--ui-faint, #8a959c);\n }\n\n /* 적힌 말 — 의견 · 사유 · 결과. 없으면 이 요소 자체를 그리지 않는다. */\n p {\n /* 줄을 바꿔 아래에 두되(block), 폭은 내용만큼만 — 짧은 의견에 화면 폭짜리 상자가 생겼다. */\n display: block;\n width: fit-content;\n max-width: 100%;\n margin: 5px 0 0;\n padding: 7px 10px;\n background: var(--ui-panel-2, #eef1f3);\n border-radius: var(--ui-r-small, 6px);\n color: var(--ui-ink, #17242c);\n font-size: var(--ui-t-small, 11.5px);\n line-height: 1.5;\n word-break: keep-all;\n }\n\n @media only screen and (max-width: 460px) {\n li {\n grid-template-columns: 16px 1fr;\n }\n\n /* 좁은 화면에서는 시각을 내용 아래로 내린다 — 한 줄의 절반을 시각에 내줄 수 없다. */\n [date] {\n grid-column: 2;\n grid-row: 2;\n padding: 0 0 var(--spacing-medium, 8px);\n }\n }\n `\n ]\n\n @property({ type: Object }) activityThread?: ActivityThread\n @property({ type: String }) subtitle?: string\n @property({ type: Boolean, attribute: 'short-form' }) shortForm?: boolean\n\n /**\n * 펴 둘 것인가 — **담는 화면이 정한다.**\n *\n * 기본은 접는다. 펴는 곳은 둘이다.\n * 완료 조회 지난 일을 보러 온 화면이라 이력이 곧 본문이다\n * 보일 항목 없음 화면이 「타임라인의 상신 사유를 보고 판단하세요」로 여기를 가리킨다\n */\n @property({ type: Boolean }) open?: boolean\n\n render() {\n const { activityApprovals = [], activityThreadHistories = [] } = this.activityThread || {}\n\n /*\n * **정렬 키와 표시 키가 같아야 한다.**\n *\n * 전에는 둘 다 updatedAt 으로 정렬해 놓고, 결재 줄만 terminatedAt 을 보여 주었다. 그래서\n * 시각이 오르내리는 목록이 나왔다 — 11:51 승인됨 · 11:50 제출 · 11:50 게시 · 11:51 상신.\n * 시간 순으로 읽으라고 만든 화면인데 시간 순이 아니었다.\n */\n /* 한 사람의 한 행동이 한 줄이 되게 거르고, 같은 시각이면 일어난 순서로 놓는다(timeline-entries). */\n const timeline = timelineEntries(activityThreadHistories, activityApprovals, { shortForm: this.shortForm })\n\n if (!timeline.length) {\n return nothing\n }\n\n return html`\n <details ?open=${this.open}>\n <summary>\n <md-icon class=\"chevron\">chevron_right</md-icon>\n <h2>${this.subtitle || i18next.t('label.timeline')}</h2>\n <span class=\"count\">${i18next.t('text.timeline-count', { count: timeline.length })}</span>\n <span class=\"last\">${this.lastLine(timeline[timeline.length - 1])}</span>\n </summary>\n\n <ol>\n ${timeline.map(item =>\n 'reason' in item\n ? this.renderActivityThreadHistory(item as ActivityThreadHistory)\n : this.renderActivityApproval(item as ActivityApproval)\n )}\n </ol>\n </details>\n `\n }\n\n /** 접혔을 때 보이는 한 줄 — 마지막 기록의 「무엇을 · 누가 · 언제」. */\n lastLine(item: any): string {\n const what =\n 'reason' in item\n ? i18next.t('label.activity-transaction-' + item.transaction)\n : i18next.t('label.activity-state-' + item.judgment)\n\n const who = item?.updater?.name || item?.approver?.name || ''\n\n return [what, who, whenText(whenOf(item))].filter(Boolean).join(' · ')\n }\n\n renderActivityThreadHistory(activityThreadHistory: ActivityThreadHistory) {\n const { updater, updatedAt, state, reason, output, transaction } = activityThreadHistory\n\n return html`\n <li>\n <span date>${whenText(updatedAt)}</span>\n <span status></span>\n\n <span info>\n <span what>${i18next.t('label.activity-transaction-' + transaction)}</span>\n ${updater?.name ? html`<span who>${entity360Name(updater)}</span>` : nothing}\n ${this.renderSaid(reason || (output ? this.renderOutput(output) : ''))}\n </span>\n </li>\n `\n }\n\n renderActivityApproval(activityApproval: ActivityApproval) {\n const { judgment, approver, comment, createdAt, terminatedAt } = activityApproval\n\n return html`\n <li>\n <span date>${whenText(terminatedAt ?? createdAt)}</span>\n <span status></span>\n <span info>\n <span what>${i18next.t('label.activity-state-' + judgment)}</span>\n ${approver?.name ? html`<span who>${entity360Name(approver)}</span>` : nothing}\n ${this.renderSaid(comment)}\n </span>\n </li>\n `\n }\n\n /** 적힌 말이 없으면 상자를 그리지 않는다 — 빈 회색 상자는 내용이 있는 줄과 구별되지 않는다. */\n renderSaid(said?: string) {\n return said ? html`<p>${said}</p>` : nothing\n }\n\n renderOutput(output: any) {\n const keys = Object.keys(output)\n if (keys.length === 0) {\n return ''\n }\n\n const firstKey = keys[0]\n let value = output[firstKey]\n\n // 값이 객체이거나 긴 문자열인 경우 처리\n if (typeof value === 'object') {\n value = Array.isArray(value) ? '[...]' : '{...}'\n } else if (typeof value === 'string' && value.length > 50) {\n value = value.substring(0, 47) + '...'\n }\n\n let result = `${firstKey}: ${value}`\n\n // 추가 속성이 있는 경우 표시\n if (keys.length > 1) {\n result += ' ' + i18next.t('text.and-n-more-fields', { n: keys.length - 1 })\n }\n\n return result\n }\n}\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether the preview offers "pick" - the same condition the server's pick applies.
|
|
3
|
+
*
|
|
4
|
+
* The server (controllers/activity-instance/pick.ts) picks when the caller is entitled and the
|
|
5
|
+
* instance is issued or unassigned. The screen used to compare the instance's thread count with
|
|
6
|
+
* threadsMax instead: a limit the server never applies, read from the thread list that asks a
|
|
7
|
+
* management privilege a picker does not hold - and with threadsMax at its default 0, never true.
|
|
8
|
+
*
|
|
9
|
+
* Entitlement is not repeated here: the pickable list already lists only what the caller may pick,
|
|
10
|
+
* and a refusal from the server says why.
|
|
11
|
+
*/
|
|
12
|
+
export declare const PICKABLE_STATES: readonly ["issued", "unassigned"];
|
|
13
|
+
export declare function canPick(instance: {
|
|
14
|
+
state?: string;
|
|
15
|
+
} | null | undefined, picked: boolean): boolean;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether the preview offers "pick" - the same condition the server's pick applies.
|
|
3
|
+
*
|
|
4
|
+
* The server (controllers/activity-instance/pick.ts) picks when the caller is entitled and the
|
|
5
|
+
* instance is issued or unassigned. The screen used to compare the instance's thread count with
|
|
6
|
+
* threadsMax instead: a limit the server never applies, read from the thread list that asks a
|
|
7
|
+
* management privilege a picker does not hold - and with threadsMax at its default 0, never true.
|
|
8
|
+
*
|
|
9
|
+
* Entitlement is not repeated here: the pickable list already lists only what the caller may pick,
|
|
10
|
+
* and a refusal from the server says why.
|
|
11
|
+
*/
|
|
12
|
+
export const PICKABLE_STATES = ['issued', 'unassigned'];
|
|
13
|
+
export function canPick(instance, picked) {
|
|
14
|
+
return !picked && PICKABLE_STATES.includes(String(instance?.state ?? ''));
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=can-pick.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"can-pick.js","sourceRoot":"","sources":["../../client/components/can-pick.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAU,CAAA;AAEhE,MAAM,UAAU,OAAO,CAAC,QAA+C,EAAE,MAAe;IACtF,OAAO,CAAC,MAAM,IAAK,eAAqC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,CAAA;AAClG,CAAC","sourcesContent":["/**\n * Whether the preview offers \"pick\" - the same condition the server's pick applies.\n *\n * The server (controllers/activity-instance/pick.ts) picks when the caller is entitled and the\n * instance is issued or unassigned. The screen used to compare the instance's thread count with\n * threadsMax instead: a limit the server never applies, read from the thread list that asks a\n * management privilege a picker does not hold - and with threadsMax at its default 0, never true.\n *\n * Entitlement is not repeated here: the pickable list already lists only what the caller may pick,\n * and a refusal from the server says why.\n */\nexport const PICKABLE_STATES = ['issued', 'unassigned'] as const\n\nexport function canPick(instance: { state?: string } | null | undefined, picked: boolean): boolean {\n return !picked && (PICKABLE_STATES as readonly string[]).includes(String(instance?.state ?? ''))\n}\n"]}
|