@dssp/supervision 1.0.0-alpha.9 → 1.0.0-alpha.92
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/graphql/building-inspection.d.ts +1 -0
- package/dist-client/graphql/building-inspection.js +102 -0
- package/dist-client/graphql/building-inspection.js.map +1 -0
- package/dist-client/pages/action-plan/action-plan-list-page.d.ts +1 -2
- package/dist-client/pages/action-plan/action-plan-list-page.js +1 -2
- package/dist-client/pages/action-plan/action-plan-list-page.js.map +1 -1
- package/dist-client/pages/building-inspection/building-inspection-detail-ai-defect.d.ts +22 -0
- package/dist-client/pages/building-inspection/building-inspection-detail-ai-defect.js +171 -0
- package/dist-client/pages/building-inspection/building-inspection-detail-ai-defect.js.map +1 -0
- package/dist-client/pages/building-inspection/building-inspection-detail-ai-measurement.d.ts +59 -0
- package/dist-client/pages/building-inspection/building-inspection-detail-ai-measurement.js +868 -0
- package/dist-client/pages/building-inspection/building-inspection-detail-ai-measurement.js.map +1 -0
- package/dist-client/pages/building-inspection/building-inspection-detail-camera.d.ts +8 -6
- package/dist-client/pages/building-inspection/building-inspection-detail-camera.js +116 -65
- package/dist-client/pages/building-inspection/building-inspection-detail-camera.js.map +1 -1
- package/dist-client/pages/building-inspection/building-inspection-detail-checklist.d.ts +11 -0
- package/dist-client/pages/building-inspection/building-inspection-detail-checklist.js +147 -72
- package/dist-client/pages/building-inspection/building-inspection-detail-checklist.js.map +1 -1
- package/dist-client/pages/building-inspection/building-inspection-detail-drawing.d.ts +1 -0
- package/dist-client/pages/building-inspection/building-inspection-detail-drawing.js +78 -14
- package/dist-client/pages/building-inspection/building-inspection-detail-drawing.js.map +1 -1
- package/dist-client/pages/building-inspection/building-inspection-list.d.ts +26 -2
- package/dist-client/pages/building-inspection/building-inspection-list.js +375 -34
- package/dist-client/pages/building-inspection/building-inspection-list.js.map +1 -1
- package/dist-client/pages/building-inspection/building-inspection-management.d.ts +81 -0
- package/dist-client/pages/building-inspection/building-inspection-management.js +1512 -0
- package/dist-client/pages/building-inspection/building-inspection-management.js.map +1 -0
- package/dist-client/pages/building-inspection/component/building-inspection-detail-header.d.ts +3 -0
- package/dist-client/pages/building-inspection/component/building-inspection-detail-header.js +112 -20
- package/dist-client/pages/building-inspection/component/building-inspection-detail-header.js.map +1 -1
- package/dist-client/pages/building-inspection/component/daily-worklog-popup.d.ts +27 -0
- package/dist-client/pages/building-inspection/component/daily-worklog-popup.js +542 -0
- package/dist-client/pages/building-inspection/component/daily-worklog-popup.js.map +1 -0
- package/dist-client/pages/building-inspection/component/field-document/field-document-constants.d.ts +18 -0
- package/dist-client/pages/building-inspection/component/field-document/field-document-constants.js +630 -0
- package/dist-client/pages/building-inspection/component/field-document/field-document-constants.js.map +1 -0
- package/dist-client/pages/building-inspection/component/field-document/field-document-detail-popup.d.ts +10 -0
- package/dist-client/pages/building-inspection/component/field-document/field-document-detail-popup.js +219 -0
- package/dist-client/pages/building-inspection/component/field-document/field-document-detail-popup.js.map +1 -0
- package/dist-client/pages/building-inspection/component/field-document/field-document-list-panel.d.ts +25 -0
- package/dist-client/pages/building-inspection/component/field-document/field-document-list-panel.js +545 -0
- package/dist-client/pages/building-inspection/component/field-document/field-document-list-panel.js.map +1 -0
- package/dist-client/pages/building-inspection/component/field-document/field-document-popup.d.ts +39 -0
- package/dist-client/pages/building-inspection/component/field-document/field-document-popup.js +675 -0
- package/dist-client/pages/building-inspection/component/field-document/field-document-popup.js.map +1 -0
- package/dist-client/pages/building-inspection/component/image-preview-popup.d.ts +15 -0
- package/dist-client/pages/building-inspection/component/image-preview-popup.js +348 -0
- package/dist-client/pages/building-inspection/component/image-preview-popup.js.map +1 -0
- package/dist-client/pages/building-inspection/component/inspection-document/inspection-request-document.d.ts +25 -0
- package/dist-client/pages/building-inspection/component/inspection-document/inspection-request-document.js +491 -0
- package/dist-client/pages/building-inspection/component/inspection-document/inspection-request-document.js.map +1 -0
- package/dist-client/pages/building-inspection/component/inspection-document/inspection-result-notification.d.ts +31 -0
- package/dist-client/pages/building-inspection/component/inspection-document/inspection-result-notification.js +485 -0
- package/dist-client/pages/building-inspection/component/inspection-document/inspection-result-notification.js.map +1 -0
- package/dist-client/pages/building-inspection/component/inspection-document/photo-album-popup.d.ts +27 -0
- package/dist-client/pages/building-inspection/component/inspection-document/photo-album-popup.js +416 -0
- package/dist-client/pages/building-inspection/component/inspection-document/photo-album-popup.js.map +1 -0
- package/dist-client/pages/building-inspection/component/inspection-event-provider.d.ts +4 -2
- package/dist-client/pages/building-inspection/component/inspection-event-provider.js +156 -37
- package/dist-client/pages/building-inspection/component/inspection-event-provider.js.map +1 -1
- package/dist-client/pages/building-inspection/inspection-create-popup.js +23 -12
- package/dist-client/pages/building-inspection/inspection-create-popup.js.map +1 -1
- package/dist-client/pages/building-inspection/inspection-with-checklist-create-popup.d.ts +3 -0
- package/dist-client/pages/building-inspection/inspection-with-checklist-create-popup.js +817 -0
- package/dist-client/pages/building-inspection/inspection-with-checklist-create-popup.js.map +1 -0
- package/dist-client/pages/building-inspection-grid/building-inspection-grid-detail.d.ts +16 -2
- package/dist-client/pages/building-inspection-grid/building-inspection-grid-detail.js +250 -45
- package/dist-client/pages/building-inspection-grid/building-inspection-grid-detail.js.map +1 -1
- package/dist-client/pages/building-inspection-grid/component/grid-inspection-create-popup.js +10 -6
- package/dist-client/pages/building-inspection-grid/component/grid-inspection-create-popup.js.map +1 -1
- package/dist-client/pages/building-inspection-grid/component/grid-inspection-list-layer.d.ts +19 -0
- package/dist-client/pages/building-inspection-grid/component/grid-inspection-list-layer.js +205 -0
- package/dist-client/pages/building-inspection-grid/component/grid-inspection-list-layer.js.map +1 -0
- package/dist-client/pages/checklist/attachment-list-popup.d.ts +1 -0
- package/dist-client/pages/checklist/attachment-list-popup.js +251 -69
- package/dist-client/pages/checklist/attachment-list-popup.js.map +1 -1
- package/dist-client/pages/checklist/checklist-view.d.ts +5 -4
- package/dist-client/pages/checklist/checklist-view.js +305 -37
- package/dist-client/pages/checklist/checklist-view.js.map +1 -1
- package/dist-client/pages/checklist/comment-list-popup.js +15 -5
- package/dist-client/pages/checklist/comment-list-popup.js.map +1 -1
- package/dist-client/pages/checklist/file-preview-popup.js +0 -1
- package/dist-client/pages/checklist/file-preview-popup.js.map +1 -1
- package/dist-client/pages/checklist/inspection-info-popup.d.ts +49 -0
- package/dist-client/pages/checklist/inspection-info-popup.js +683 -0
- package/dist-client/pages/checklist/inspection-info-popup.js.map +1 -0
- package/dist-client/pages/checklist/inspection-tab-popup.d.ts +18 -0
- package/dist-client/pages/checklist/inspection-tab-popup.js +196 -0
- package/dist-client/pages/checklist/inspection-tab-popup.js.map +1 -0
- package/dist-client/pages/checklist-database/checklist-database.d.ts +35 -0
- package/dist-client/pages/checklist-database/checklist-database.js +540 -0
- package/dist-client/pages/checklist-database/checklist-database.js.map +1 -0
- package/dist-client/pages/checklist-template/checklist-template-item.js +39 -3
- package/dist-client/pages/checklist-template/checklist-template-item.js.map +1 -1
- package/dist-client/pages/checklist-template/checklist-template-list.js +3 -2
- package/dist-client/pages/checklist-template/checklist-template-list.js.map +1 -1
- package/dist-client/pages/checklist-template/construction-checklist-template-item-popup.d.ts +2 -0
- package/dist-client/pages/checklist-template/construction-checklist-template-item-popup.js +223 -0
- package/dist-client/pages/checklist-template/construction-checklist-template-item-popup.js.map +1 -0
- package/dist-client/pages/checklist-template/construction-checklist-template-list.d.ts +55 -0
- package/dist-client/pages/checklist-template/construction-checklist-template-list.js +404 -0
- package/dist-client/pages/checklist-template/construction-checklist-template-list.js.map +1 -0
- package/dist-client/pages/issue/issue-list-page.d.ts +1 -2
- package/dist-client/pages/issue/issue-list-page.js +1 -2
- package/dist-client/pages/issue/issue-list-page.js.map +1 -1
- package/dist-client/pages/project-checklist/project-checklist-management.d.ts +58 -0
- package/dist-client/pages/project-checklist/project-checklist-management.js +1076 -0
- package/dist-client/pages/project-checklist/project-checklist-management.js.map +1 -0
- package/dist-client/pages/project-report/project-report-list-page.d.ts +1 -2
- package/dist-client/pages/project-report/project-report-list-page.js +1 -2
- package/dist-client/pages/project-report/project-report-list-page.js.map +1 -1
- package/dist-client/pages/supervisor/supervisor-list-page.d.ts +1 -2
- package/dist-client/pages/supervisor/supervisor-list-page.js +1 -2
- package/dist-client/pages/supervisor/supervisor-list-page.js.map +1 -1
- package/dist-client/route.d.ts +1 -1
- package/dist-client/route.js +18 -0
- package/dist-client/route.js.map +1 -1
- package/dist-client/stt/speech-to-text.d.ts +13 -8
- package/dist-client/stt/speech-to-text.js +282 -40
- package/dist-client/stt/speech-to-text.js.map +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-server/service/action-plan/action-plan-mutation.js +5 -6
- package/dist-server/service/action-plan/action-plan-mutation.js.map +1 -1
- package/dist-server/service/action-plan/action-plan-query.d.ts +2 -2
- package/dist-server/service/action-plan/action-plan-query.js +5 -11
- package/dist-server/service/action-plan/action-plan-query.js.map +1 -1
- package/dist-server/service/building-inspection/building-inspection-mutation.d.ts +2 -3
- package/dist-server/service/building-inspection/building-inspection-mutation.js +102 -34
- package/dist-server/service/building-inspection/building-inspection-mutation.js.map +1 -1
- package/dist-server/service/building-inspection/building-inspection-query.d.ts +9 -7
- package/dist-server/service/building-inspection/building-inspection-query.js +168 -52
- package/dist-server/service/building-inspection/building-inspection-query.js.map +1 -1
- package/dist-server/service/building-inspection/building-inspection-type.d.ts +32 -11
- package/dist-server/service/building-inspection/building-inspection-type.js +111 -23
- package/dist-server/service/building-inspection/building-inspection-type.js.map +1 -1
- package/dist-server/service/building-inspection/building-inspection.d.ts +5 -0
- package/dist-server/service/building-inspection/building-inspection.js +37 -4
- package/dist-server/service/building-inspection/building-inspection.js.map +1 -1
- package/dist-server/service/building-inspection/index.d.ts +3 -4
- package/dist-server/service/building-inspection/index.js +10 -3
- package/dist-server/service/building-inspection/index.js.map +1 -1
- package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-mutation.d.ts +6 -0
- package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-mutation.js +66 -0
- package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-mutation.js.map +1 -0
- package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-query.d.ts +16 -0
- package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-query.js +171 -0
- package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-query.js.map +1 -0
- package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-type.d.ts +23 -0
- package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-type.js +90 -0
- package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-type.js.map +1 -0
- package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog.d.ts +33 -0
- package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog.js +132 -0
- package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog.js.map +1 -0
- package/dist-server/service/building-inspection-daily-worklog/index.d.ts +5 -0
- package/dist-server/service/building-inspection-daily-worklog/index.js +9 -0
- package/dist-server/service/building-inspection-daily-worklog/index.js.map +1 -0
- package/dist-server/service/building-inspection-history/building-inspection-history-query.d.ts +16 -0
- package/dist-server/service/building-inspection-history/building-inspection-history-query.js +120 -0
- package/dist-server/service/building-inspection-history/building-inspection-history-query.js.map +1 -0
- package/dist-server/service/building-inspection-history/building-inspection-history-type.d.ts +5 -0
- package/dist-server/service/building-inspection-history/building-inspection-history-type.js +21 -0
- package/dist-server/service/building-inspection-history/building-inspection-history-type.js.map +1 -0
- package/dist-server/service/building-inspection-history/building-inspection-history.d.ts +35 -0
- package/dist-server/service/building-inspection-history/building-inspection-history.js +162 -0
- package/dist-server/service/building-inspection-history/building-inspection-history.js.map +1 -0
- package/dist-server/service/building-inspection-history/event-subscriber.d.ts +7 -0
- package/dist-server/service/building-inspection-history/event-subscriber.js +21 -0
- package/dist-server/service/building-inspection-history/event-subscriber.js.map +1 -0
- package/dist-server/service/building-inspection-history/index.d.ts +6 -0
- package/dist-server/service/building-inspection-history/index.js +10 -0
- package/dist-server/service/building-inspection-history/index.js.map +1 -0
- package/dist-server/service/checklist/checklist-mutation.d.ts +0 -5
- package/dist-server/service/checklist/checklist-mutation.js +1 -67
- package/dist-server/service/checklist/checklist-mutation.js.map +1 -1
- package/dist-server/service/checklist/checklist-query.d.ts +7 -0
- package/dist-server/service/checklist/checklist-query.js +83 -0
- package/dist-server/service/checklist/checklist-query.js.map +1 -1
- package/dist-server/service/checklist/checklist-type.d.ts +0 -13
- package/dist-server/service/checklist/checklist-type.js +1 -49
- package/dist-server/service/checklist/checklist-type.js.map +1 -1
- package/dist-server/service/checklist/checklist.d.ts +24 -7
- package/dist-server/service/checklist/checklist.js +75 -30
- package/dist-server/service/checklist/checklist.js.map +1 -1
- package/dist-server/service/checklist/event-subscriber.d.ts +7 -0
- package/dist-server/service/checklist/event-subscriber.js +21 -0
- package/dist-server/service/checklist/event-subscriber.js.map +1 -0
- package/dist-server/service/checklist/index.d.ts +1 -2
- package/dist-server/service/checklist/index.js +1 -2
- package/dist-server/service/checklist/index.js.map +1 -1
- package/dist-server/service/checklist-history/checklist-history-query.d.ts +11 -0
- package/dist-server/service/checklist-history/checklist-history-query.js +77 -0
- package/dist-server/service/checklist-history/checklist-history-query.js.map +1 -0
- package/dist-server/service/checklist-history/checklist-history-type.d.ts +5 -0
- package/dist-server/service/checklist-history/checklist-history-type.js +21 -0
- package/dist-server/service/checklist-history/checklist-history-type.js.map +1 -0
- package/dist-server/service/{checklist → checklist-history}/checklist-history.d.ts +19 -1
- package/dist-server/service/{checklist → checklist-history}/checklist-history.js +97 -14
- package/dist-server/service/checklist-history/checklist-history.js.map +1 -0
- package/dist-server/service/checklist-history/event-subscriber.d.ts +7 -0
- package/dist-server/service/checklist-history/event-subscriber.js +21 -0
- package/dist-server/service/checklist-history/event-subscriber.js.map +1 -0
- package/dist-server/service/checklist-history/index.d.ts +6 -0
- package/dist-server/service/checklist-history/index.js +10 -0
- package/dist-server/service/checklist-history/index.js.map +1 -0
- package/dist-server/service/checklist-item/checklist-item-query.d.ts +1 -1
- package/dist-server/service/checklist-item/checklist-item-query.js +5 -3
- package/dist-server/service/checklist-item/checklist-item-query.js.map +1 -1
- package/dist-server/service/checklist-item/checklist-item.d.ts +2 -0
- package/dist-server/service/checklist-item/checklist-item.js +11 -1
- package/dist-server/service/checklist-item/checklist-item.js.map +1 -1
- package/dist-server/service/checklist-item/index.d.ts +0 -1
- package/dist-server/service/checklist-item/index.js +1 -2
- package/dist-server/service/checklist-item/index.js.map +1 -1
- package/dist-server/service/checklist-item-comment/checklist-item-comment-mutation.d.ts +1 -0
- package/dist-server/service/checklist-item-comment/checklist-item-comment-mutation.js +33 -6
- package/dist-server/service/checklist-item-comment/checklist-item-comment-mutation.js.map +1 -1
- package/dist-server/service/checklist-item-history/checklist-item-history-query.d.ts +16 -0
- package/dist-server/service/checklist-item-history/checklist-item-history-query.js +123 -0
- package/dist-server/service/checklist-item-history/checklist-item-history-query.js.map +1 -0
- package/dist-server/service/checklist-item-history/checklist-item-history-type.d.ts +5 -0
- package/dist-server/service/checklist-item-history/checklist-item-history-type.js +21 -0
- package/dist-server/service/checklist-item-history/checklist-item-history-type.js.map +1 -0
- package/dist-server/service/checklist-item-history/checklist-item-history.d.ts +27 -0
- package/dist-server/service/checklist-item-history/checklist-item-history.js +133 -0
- package/dist-server/service/checklist-item-history/checklist-item-history.js.map +1 -0
- package/dist-server/service/checklist-item-history/event-subscriber.d.ts +7 -0
- package/dist-server/service/checklist-item-history/event-subscriber.js +21 -0
- package/dist-server/service/checklist-item-history/event-subscriber.js.map +1 -0
- package/dist-server/service/checklist-item-history/index.d.ts +6 -0
- package/dist-server/service/checklist-item-history/index.js +10 -0
- package/dist-server/service/checklist-item-history/index.js.map +1 -0
- package/dist-server/service/checklist-template/checklist-template-query.d.ts +1 -1
- package/dist-server/service/checklist-template/checklist-template-query.js +2 -5
- package/dist-server/service/checklist-template/checklist-template-query.js.map +1 -1
- package/dist-server/service/checklist-template-item/checklist-template-item-mutation.js +13 -1
- package/dist-server/service/checklist-template-item/checklist-template-item-mutation.js.map +1 -1
- package/dist-server/service/checklist-template-item/checklist-template-item-type.d.ts +3 -0
- package/dist-server/service/checklist-template-item/checklist-template-item-type.js +9 -0
- package/dist-server/service/checklist-template-item/checklist-template-item-type.js.map +1 -1
- package/dist-server/service/checklist-template-item/checklist-template-item.d.ts +7 -0
- package/dist-server/service/checklist-template-item/checklist-template-item.js +22 -2
- package/dist-server/service/checklist-template-item/checklist-template-item.js.map +1 -1
- package/dist-server/service/checklist-template-item/spec-matching-service.d.ts +2 -0
- package/dist-server/service/checklist-template-item/spec-matching-service.js +51 -0
- package/dist-server/service/checklist-template-item/spec-matching-service.js.map +1 -0
- package/dist-server/service/checklist-type/checklist-type-query.d.ts +1 -1
- package/dist-server/service/checklist-type/checklist-type-query.js +2 -5
- package/dist-server/service/checklist-type/checklist-type-query.js.map +1 -1
- package/dist-server/service/construction-checklist-template/construction-checklist-template-mutation.d.ts +7 -0
- package/dist-server/service/construction-checklist-template/construction-checklist-template-mutation.js +107 -0
- package/dist-server/service/construction-checklist-template/construction-checklist-template-mutation.js.map +1 -0
- package/dist-server/service/construction-checklist-template/construction-checklist-template-query.d.ts +10 -0
- package/dist-server/service/construction-checklist-template/construction-checklist-template-query.js +62 -0
- package/dist-server/service/construction-checklist-template/construction-checklist-template-query.js.map +1 -0
- package/dist-server/service/construction-checklist-template/construction-checklist-template-type.d.ts +11 -0
- package/dist-server/service/construction-checklist-template/construction-checklist-template-type.js +43 -0
- package/dist-server/service/construction-checklist-template/construction-checklist-template-type.js.map +1 -0
- package/dist-server/service/construction-checklist-template/construction-checklist-template.d.ts +18 -0
- package/dist-server/service/construction-checklist-template/construction-checklist-template.js +80 -0
- package/dist-server/service/construction-checklist-template/construction-checklist-template.js.map +1 -0
- package/dist-server/service/construction-checklist-template/index.d.ts +5 -0
- package/dist-server/service/construction-checklist-template/index.js +9 -0
- package/dist-server/service/construction-checklist-template/index.js.map +1 -0
- package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-mutation.d.ts +6 -0
- package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-mutation.js +56 -0
- package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-mutation.js.map +1 -0
- package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-query.d.ts +9 -0
- package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-query.js +53 -0
- package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-query.js.map +1 -0
- package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-type.d.ts +17 -0
- package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-type.js +67 -0
- package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-type.js.map +1 -0
- package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item.d.ts +24 -0
- package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item.js +113 -0
- package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item.js.map +1 -0
- package/dist-server/service/construction-checklist-template-item/index.d.ts +5 -0
- package/dist-server/service/construction-checklist-template-item/index.js +9 -0
- package/dist-server/service/construction-checklist-template-item/index.js.map +1 -0
- package/dist-server/service/field-document/field-document-auto-file.d.ts +21 -0
- package/dist-server/service/field-document/field-document-auto-file.js +47 -0
- package/dist-server/service/field-document/field-document-auto-file.js.map +1 -0
- package/dist-server/service/field-document/field-document-mutation.d.ts +9 -0
- package/dist-server/service/field-document/field-document-mutation.js +136 -0
- package/dist-server/service/field-document/field-document-mutation.js.map +1 -0
- package/dist-server/service/field-document/field-document-query.d.ts +14 -0
- package/dist-server/service/field-document/field-document-query.js +120 -0
- package/dist-server/service/field-document/field-document-query.js.map +1 -0
- package/dist-server/service/field-document/field-document-summary-service.d.ts +2 -0
- package/dist-server/service/field-document/field-document-summary-service.js +55 -0
- package/dist-server/service/field-document/field-document-summary-service.js.map +1 -0
- package/dist-server/service/field-document/field-document-type.d.ts +23 -0
- package/dist-server/service/field-document/field-document-type.js +84 -0
- package/dist-server/service/field-document/field-document-type.js.map +1 -0
- package/dist-server/service/field-document/field-document.d.ts +29 -0
- package/dist-server/service/field-document/field-document.js +127 -0
- package/dist-server/service/field-document/field-document.js.map +1 -0
- package/dist-server/service/field-document/index.d.ts +5 -0
- package/dist-server/service/field-document/index.js +9 -0
- package/dist-server/service/field-document/index.js.map +1 -0
- package/dist-server/service/index.d.ts +9 -1
- package/dist-server/service/index.js +42 -3
- package/dist-server/service/index.js.map +1 -1
- package/dist-server/service/issue/issue-mutation.js +5 -6
- package/dist-server/service/issue/issue-mutation.js.map +1 -1
- package/dist-server/service/issue/issue-query.d.ts +2 -2
- package/dist-server/service/issue/issue-query.js +5 -11
- package/dist-server/service/issue/issue-query.js.map +1 -1
- package/dist-server/service/project-checklist/index.d.ts +5 -0
- package/dist-server/service/project-checklist/index.js +9 -0
- package/dist-server/service/project-checklist/index.js.map +1 -0
- package/dist-server/service/project-checklist/project-checklist-mutation.d.ts +7 -0
- package/dist-server/service/project-checklist/project-checklist-mutation.js +118 -0
- package/dist-server/service/project-checklist/project-checklist-mutation.js.map +1 -0
- package/dist-server/service/project-checklist/project-checklist-query.d.ts +12 -0
- package/dist-server/service/project-checklist/project-checklist-query.js +76 -0
- package/dist-server/service/project-checklist/project-checklist-query.js.map +1 -0
- package/dist-server/service/project-checklist/project-checklist-type.d.ts +18 -0
- package/dist-server/service/project-checklist/project-checklist-type.js +69 -0
- package/dist-server/service/project-checklist/project-checklist-type.js.map +1 -0
- package/dist-server/service/project-checklist/project-checklist.d.ts +20 -0
- package/dist-server/service/project-checklist/project-checklist.js +90 -0
- package/dist-server/service/project-checklist/project-checklist.js.map +1 -0
- package/dist-server/service/project-checklist/spec-matching-service.d.ts +17 -0
- package/dist-server/service/project-checklist/spec-matching-service.js +85 -0
- package/dist-server/service/project-checklist/spec-matching-service.js.map +1 -0
- package/dist-server/service/project-checklist-item/index.d.ts +4 -0
- package/dist-server/service/project-checklist-item/index.js +9 -0
- package/dist-server/service/project-checklist-item/index.js.map +1 -0
- package/dist-server/service/project-checklist-item/project-checklist-item-mutation.d.ts +2 -0
- package/dist-server/service/project-checklist-item/project-checklist-item-mutation.js +13 -0
- package/dist-server/service/project-checklist-item/project-checklist-item-mutation.js.map +1 -0
- package/dist-server/service/project-checklist-item/project-checklist-item-query.d.ts +5 -0
- package/dist-server/service/project-checklist-item/project-checklist-item-query.js +34 -0
- package/dist-server/service/project-checklist-item/project-checklist-item-query.js.map +1 -0
- package/dist-server/service/project-checklist-item/project-checklist-item-type.d.ts +5 -0
- package/dist-server/service/project-checklist-item/project-checklist-item-type.js +21 -0
- package/dist-server/service/project-checklist-item/project-checklist-item-type.js.map +1 -0
- package/dist-server/service/project-checklist-item/project-checklist-item.d.ts +19 -0
- package/dist-server/service/project-checklist-item/project-checklist-item.js +92 -0
- package/dist-server/service/project-checklist-item/project-checklist-item.js.map +1 -0
- package/dist-server/service/project-report/project-report-mutation.js +5 -6
- package/dist-server/service/project-report/project-report-mutation.js.map +1 -1
- package/dist-server/service/project-report/project-report-query.d.ts +2 -2
- package/dist-server/service/project-report/project-report-query.js +5 -11
- package/dist-server/service/project-report/project-report-query.js.map +1 -1
- package/dist-server/service/project-report/project-report.d.ts +0 -2
- package/dist-server/service/project-report/project-report.js +0 -6
- package/dist-server/service/project-report/project-report.js.map +1 -1
- package/dist-server/service/supervisor/supervisor-mutation.js +5 -6
- package/dist-server/service/supervisor/supervisor-mutation.js.map +1 -1
- package/dist-server/service/supervisor/supervisor-query.d.ts +2 -2
- package/dist-server/service/supervisor/supervisor-query.js +5 -11
- package/dist-server/service/supervisor/supervisor-query.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +14 -13
- package/things-factory.config.js +9 -1
- package/dist-server/service/building-inspection/building-inspection-history.d.ts +0 -17
- package/dist-server/service/building-inspection/building-inspection-history.js +0 -86
- package/dist-server/service/building-inspection/building-inspection-history.js.map +0 -1
- package/dist-server/service/checklist/checklist-history.js.map +0 -1
package/dist-client/pages/building-inspection/component/field-document/field-document-list-panel.js
ADDED
|
@@ -0,0 +1,545 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import '@material/web/icon/icon.js';
|
|
3
|
+
import '../../component/image-preview-popup';
|
|
4
|
+
import { ScrollbarStyles } from '@operato/styles';
|
|
5
|
+
import { css, html, LitElement } from 'lit';
|
|
6
|
+
import { customElement, property, state } from 'lit/decorators.js';
|
|
7
|
+
import { openPopup } from '@operato/layout';
|
|
8
|
+
let FieldDocumentListPanel = class FieldDocumentListPanel extends LitElement {
|
|
9
|
+
constructor() {
|
|
10
|
+
super(...arguments);
|
|
11
|
+
this.projectId = '';
|
|
12
|
+
this.code = '';
|
|
13
|
+
this.folderName = '';
|
|
14
|
+
this.documents = [];
|
|
15
|
+
this.selectedIds = new Set();
|
|
16
|
+
this.isDragOver = false;
|
|
17
|
+
this.selectedDoc = null;
|
|
18
|
+
}
|
|
19
|
+
render() {
|
|
20
|
+
return html `
|
|
21
|
+
<div panel-header>
|
|
22
|
+
<h3>문서 목록${this.folderName ? ` - ${this.folderName}` : ''}</h3>
|
|
23
|
+
<span doc-count>${this.documents.length}건</span>
|
|
24
|
+
</div>
|
|
25
|
+
|
|
26
|
+
${this.code
|
|
27
|
+
? html `
|
|
28
|
+
<div table-header>
|
|
29
|
+
<div></div>
|
|
30
|
+
<div>
|
|
31
|
+
<input
|
|
32
|
+
type="checkbox"
|
|
33
|
+
@change=${this._toggleAll}
|
|
34
|
+
.checked=${this.selectedIds.size > 0 && this.selectedIds.size === this.documents.length}
|
|
35
|
+
/>
|
|
36
|
+
</div>
|
|
37
|
+
<div>문서번호</div>
|
|
38
|
+
<div style="justify-content:flex-start; padding-left:8px;">제 목</div>
|
|
39
|
+
<div>등록부서</div>
|
|
40
|
+
<div>등록자</div>
|
|
41
|
+
<div>자료분류</div>
|
|
42
|
+
<div>기술분야</div>
|
|
43
|
+
<div>등록일자</div>
|
|
44
|
+
</div>
|
|
45
|
+
|
|
46
|
+
<div
|
|
47
|
+
doc-list
|
|
48
|
+
@dragover=${this._onListDragOver}
|
|
49
|
+
@dragleave=${this._onListDragLeave}
|
|
50
|
+
@drop=${this._onListDrop}
|
|
51
|
+
>
|
|
52
|
+
${this.isDragOver ? html `<div drop-zone><span>여기에 파일을 놓으세요</span></div>` : ''}
|
|
53
|
+
|
|
54
|
+
${this.documents.length > 0
|
|
55
|
+
? this.documents.map((doc, idx) => {
|
|
56
|
+
var _a, _b;
|
|
57
|
+
return html `
|
|
58
|
+
<div
|
|
59
|
+
doc-item
|
|
60
|
+
draggable="true"
|
|
61
|
+
?selected=${((_a = this.selectedDoc) === null || _a === void 0 ? void 0 : _a.id) === doc.id}
|
|
62
|
+
@dragstart=${(e) => this._onDocDragStart(e, doc)}
|
|
63
|
+
@click=${() => this._selectDoc(doc)}
|
|
64
|
+
>
|
|
65
|
+
<div>
|
|
66
|
+
<md-icon
|
|
67
|
+
preview
|
|
68
|
+
@click=${(e) => {
|
|
69
|
+
e.stopPropagation();
|
|
70
|
+
this._openPreview(doc);
|
|
71
|
+
}}
|
|
72
|
+
>visibility</md-icon>
|
|
73
|
+
</div>
|
|
74
|
+
<div>
|
|
75
|
+
<input
|
|
76
|
+
type="checkbox"
|
|
77
|
+
.checked=${this.selectedIds.has(doc.id)}
|
|
78
|
+
@change=${(e) => this._toggleDoc(e, doc.id)}
|
|
79
|
+
@click=${(e) => e.stopPropagation()}
|
|
80
|
+
/>
|
|
81
|
+
</div>
|
|
82
|
+
<div>${doc.code}${String(idx + 1).padStart(2, '0')}</div>
|
|
83
|
+
<div name-cell>
|
|
84
|
+
${doc.isFavorite ? html `<md-icon favorite>star</md-icon>` : ''}
|
|
85
|
+
<span>${doc.name}</span>
|
|
86
|
+
</div>
|
|
87
|
+
<div></div>
|
|
88
|
+
<div>${((_b = doc.creator) === null || _b === void 0 ? void 0 : _b.name) || ''}</div>
|
|
89
|
+
<div></div>
|
|
90
|
+
<div></div>
|
|
91
|
+
<div>${this._formatDate(doc.createdAt)}</div>
|
|
92
|
+
</div>
|
|
93
|
+
`;
|
|
94
|
+
})
|
|
95
|
+
: html `
|
|
96
|
+
<div empty-state>
|
|
97
|
+
<md-icon>folder_open</md-icon>
|
|
98
|
+
<div>등록된 문서가 없습니다.</div>
|
|
99
|
+
<div style="font-size:12px; margin-top:4px;">파일을 드래그하여 업로드하세요.</div>
|
|
100
|
+
</div>
|
|
101
|
+
`}
|
|
102
|
+
</div>
|
|
103
|
+
|
|
104
|
+
${this.selectedDoc
|
|
105
|
+
? html `
|
|
106
|
+
<div doc-detail>
|
|
107
|
+
<div detail-content>
|
|
108
|
+
<md-icon file-icon>description</md-icon>
|
|
109
|
+
<div detail-info>
|
|
110
|
+
<div file-name>${this.selectedDoc.name}</div>
|
|
111
|
+
<div file-meta>
|
|
112
|
+
<div>수정한 날짜: ${this._formatDateTime(this.selectedDoc.createdAt)}</div>
|
|
113
|
+
${this.selectedDoc.fileSize ? html `<div>크기: ${this._formatFileSize(this.selectedDoc.fileSize)}</div>` : ''}
|
|
114
|
+
</div>
|
|
115
|
+
${this.selectedDoc.aiSummary
|
|
116
|
+
? html `
|
|
117
|
+
<div ai-summary>
|
|
118
|
+
<md-icon>auto_awesome</md-icon>
|
|
119
|
+
<div>
|
|
120
|
+
<strong>AI 브리핑</strong><br />
|
|
121
|
+
${this.selectedDoc.aiSummary}
|
|
122
|
+
</div>
|
|
123
|
+
</div>
|
|
124
|
+
`
|
|
125
|
+
: this.selectedDoc.aiSummaryStatus === '10'
|
|
126
|
+
? html `
|
|
127
|
+
<div ai-pending>
|
|
128
|
+
<md-icon>hourglass_top</md-icon>
|
|
129
|
+
AI 요약 생성 중...
|
|
130
|
+
</div>
|
|
131
|
+
`
|
|
132
|
+
: ''}
|
|
133
|
+
</div>
|
|
134
|
+
</div>
|
|
135
|
+
</div>
|
|
136
|
+
`
|
|
137
|
+
: ''}
|
|
138
|
+
`
|
|
139
|
+
: html `
|
|
140
|
+
<div empty-state>
|
|
141
|
+
<md-icon>folder</md-icon>
|
|
142
|
+
<div>소분류 폴더를 선택해주세요.</div>
|
|
143
|
+
</div>
|
|
144
|
+
`}
|
|
145
|
+
`;
|
|
146
|
+
}
|
|
147
|
+
_selectDoc(doc) {
|
|
148
|
+
this.selectedDoc = doc;
|
|
149
|
+
}
|
|
150
|
+
_openPreview(doc) {
|
|
151
|
+
this.selectedDoc = doc;
|
|
152
|
+
if (!doc.fullpath)
|
|
153
|
+
return;
|
|
154
|
+
const ext = doc.fullpath.toLowerCase().split('.').pop() || '';
|
|
155
|
+
const isImage = ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'webp', 'svg'].includes(ext);
|
|
156
|
+
if (isImage) {
|
|
157
|
+
openPopup(html `<image-preview-popup
|
|
158
|
+
.images=${[{ fullpath: doc.fullpath, name: doc.name }]}
|
|
159
|
+
.currentIndex=${0}
|
|
160
|
+
></image-preview-popup>`, { backdrop: true, size: 'large', title: doc.name });
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
// PDF 등 기타 파일은 새 탭에서 열기
|
|
164
|
+
window.open(doc.fullpath, '_blank');
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
_toggleDoc(e, id) {
|
|
168
|
+
const checked = e.target.checked;
|
|
169
|
+
const newSet = new Set(this.selectedIds);
|
|
170
|
+
if (checked) {
|
|
171
|
+
newSet.add(id);
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
newSet.delete(id);
|
|
175
|
+
}
|
|
176
|
+
this.selectedIds = newSet;
|
|
177
|
+
this.dispatchEvent(new CustomEvent('document-selected', { detail: newSet }));
|
|
178
|
+
}
|
|
179
|
+
_toggleAll(e) {
|
|
180
|
+
const checked = e.target.checked;
|
|
181
|
+
if (checked) {
|
|
182
|
+
this.selectedIds = new Set(this.documents.map(d => d.id));
|
|
183
|
+
}
|
|
184
|
+
else {
|
|
185
|
+
this.selectedIds = new Set();
|
|
186
|
+
}
|
|
187
|
+
this.dispatchEvent(new CustomEvent('document-selected', { detail: this.selectedIds }));
|
|
188
|
+
}
|
|
189
|
+
/* Drag & Drop: 데스크톱 파일 업로드 */
|
|
190
|
+
_onListDragOver(e) {
|
|
191
|
+
var _a;
|
|
192
|
+
const types = ((_a = e.dataTransfer) === null || _a === void 0 ? void 0 : _a.types) || [];
|
|
193
|
+
if (types.includes('Files')) {
|
|
194
|
+
e.preventDefault();
|
|
195
|
+
this.isDragOver = true;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
_onListDragLeave() {
|
|
199
|
+
this.isDragOver = false;
|
|
200
|
+
}
|
|
201
|
+
_onListDrop(e) {
|
|
202
|
+
var _a;
|
|
203
|
+
e.preventDefault();
|
|
204
|
+
this.isDragOver = false;
|
|
205
|
+
const files = Array.from(((_a = e.dataTransfer) === null || _a === void 0 ? void 0 : _a.files) || []);
|
|
206
|
+
if (files.length > 0) {
|
|
207
|
+
this.dispatchEvent(new CustomEvent('documents-changed', { detail: { files } }));
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
/* Drag: 문서 이동용 */
|
|
211
|
+
_onDocDragStart(e, doc) {
|
|
212
|
+
var _a;
|
|
213
|
+
const ids = this.selectedIds.has(doc.id) ? Array.from(this.selectedIds) : [doc.id];
|
|
214
|
+
(_a = e.dataTransfer) === null || _a === void 0 ? void 0 : _a.setData('application/x-field-document-ids', JSON.stringify(ids));
|
|
215
|
+
e.dataTransfer.effectAllowed = 'move';
|
|
216
|
+
}
|
|
217
|
+
_formatDate(date) {
|
|
218
|
+
if (!date)
|
|
219
|
+
return '';
|
|
220
|
+
try {
|
|
221
|
+
const d = new Date(date);
|
|
222
|
+
return new Intl.DateTimeFormat('ko-KR', {
|
|
223
|
+
timeZone: 'Asia/Seoul',
|
|
224
|
+
year: 'numeric',
|
|
225
|
+
month: '2-digit',
|
|
226
|
+
day: '2-digit'
|
|
227
|
+
}).format(d);
|
|
228
|
+
}
|
|
229
|
+
catch (_a) {
|
|
230
|
+
return '';
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
_formatFileSize(size) {
|
|
234
|
+
const bytes = Number(size);
|
|
235
|
+
if (isNaN(bytes))
|
|
236
|
+
return size;
|
|
237
|
+
if (bytes < 1024)
|
|
238
|
+
return `${bytes} B`;
|
|
239
|
+
if (bytes < 1024 * 1024)
|
|
240
|
+
return `${(bytes / 1024).toFixed(1)} KB`;
|
|
241
|
+
return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
|
|
242
|
+
}
|
|
243
|
+
_formatDateTime(date) {
|
|
244
|
+
if (!date)
|
|
245
|
+
return '';
|
|
246
|
+
try {
|
|
247
|
+
const d = new Date(date);
|
|
248
|
+
return new Intl.DateTimeFormat('ko-KR', {
|
|
249
|
+
timeZone: 'Asia/Seoul',
|
|
250
|
+
year: 'numeric',
|
|
251
|
+
month: '2-digit',
|
|
252
|
+
day: '2-digit',
|
|
253
|
+
hour: '2-digit',
|
|
254
|
+
minute: '2-digit',
|
|
255
|
+
hour12: true
|
|
256
|
+
}).format(d);
|
|
257
|
+
}
|
|
258
|
+
catch (_a) {
|
|
259
|
+
return '';
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
};
|
|
263
|
+
FieldDocumentListPanel.styles = [
|
|
264
|
+
ScrollbarStyles,
|
|
265
|
+
css `
|
|
266
|
+
:host {
|
|
267
|
+
display: flex;
|
|
268
|
+
flex-direction: column;
|
|
269
|
+
overflow: hidden;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
div[panel-header] {
|
|
273
|
+
display: flex;
|
|
274
|
+
align-items: center;
|
|
275
|
+
padding: 10px 16px;
|
|
276
|
+
background: #fafafa;
|
|
277
|
+
border-bottom: 1px solid #e0e0e0;
|
|
278
|
+
|
|
279
|
+
h3 {
|
|
280
|
+
margin: 0;
|
|
281
|
+
font-size: 14px;
|
|
282
|
+
color: #333;
|
|
283
|
+
flex: 1;
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
span[doc-count] {
|
|
287
|
+
font-size: 12px;
|
|
288
|
+
color: #999;
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
div[table-header] {
|
|
293
|
+
display: grid;
|
|
294
|
+
grid-template-columns: 30px 40px 80px 1fr 80px 80px 80px 80px 100px;
|
|
295
|
+
padding: 8px 16px;
|
|
296
|
+
background: #f0e6e6;
|
|
297
|
+
font-size: 12px;
|
|
298
|
+
font-weight: bold;
|
|
299
|
+
color: #666;
|
|
300
|
+
border-bottom: 1px solid #ddd;
|
|
301
|
+
|
|
302
|
+
& > div {
|
|
303
|
+
display: flex;
|
|
304
|
+
align-items: center;
|
|
305
|
+
justify-content: center;
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
div[doc-list] {
|
|
310
|
+
flex: 1;
|
|
311
|
+
overflow-y: auto;
|
|
312
|
+
overflow-x: hidden;
|
|
313
|
+
position: relative;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
div[doc-item] {
|
|
317
|
+
display: grid;
|
|
318
|
+
grid-template-columns: 30px 40px 80px 1fr 80px 80px 80px 80px 100px;
|
|
319
|
+
padding: 8px 16px;
|
|
320
|
+
border-bottom: 1px solid #f0f0f0;
|
|
321
|
+
font-size: 13px;
|
|
322
|
+
cursor: pointer;
|
|
323
|
+
transition: background-color 0.15s;
|
|
324
|
+
align-items: center;
|
|
325
|
+
|
|
326
|
+
&:hover {
|
|
327
|
+
background-color: #f5f5f5;
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
& > div {
|
|
331
|
+
display: flex;
|
|
332
|
+
align-items: center;
|
|
333
|
+
justify-content: center;
|
|
334
|
+
overflow: hidden;
|
|
335
|
+
text-overflow: ellipsis;
|
|
336
|
+
white-space: nowrap;
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
md-icon[preview] {
|
|
340
|
+
--md-icon-size: 18px;
|
|
341
|
+
cursor: pointer;
|
|
342
|
+
color: #999;
|
|
343
|
+
border-radius: 50%;
|
|
344
|
+
padding: 2px;
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
md-icon[preview]:hover {
|
|
348
|
+
color: #0595e5;
|
|
349
|
+
background: #e3f2fd;
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
div[name-cell] {
|
|
353
|
+
justify-content: flex-start;
|
|
354
|
+
gap: 6px;
|
|
355
|
+
|
|
356
|
+
md-icon[favorite] {
|
|
357
|
+
--md-icon-size: 16px;
|
|
358
|
+
color: #ffc107;
|
|
359
|
+
flex-shrink: 0;
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
span {
|
|
363
|
+
overflow: hidden;
|
|
364
|
+
text-overflow: ellipsis;
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
div[ai-cell] {
|
|
369
|
+
font-size: 11px;
|
|
370
|
+
|
|
371
|
+
span[ai-done] {
|
|
372
|
+
display: flex;
|
|
373
|
+
align-items: center;
|
|
374
|
+
gap: 2px;
|
|
375
|
+
color: #2e7d32;
|
|
376
|
+
|
|
377
|
+
md-icon {
|
|
378
|
+
--md-icon-size: 14px;
|
|
379
|
+
color: #4caf50;
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
span[ai-pending] {
|
|
384
|
+
color: #ef6c00;
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
input[type='checkbox'] {
|
|
389
|
+
cursor: pointer;
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
div[doc-item][selected] {
|
|
394
|
+
background-color: #e3f2fd;
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
div[doc-item][draggable='true'] {
|
|
398
|
+
cursor: grab;
|
|
399
|
+
|
|
400
|
+
&:active {
|
|
401
|
+
cursor: grabbing;
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
div[drop-zone] {
|
|
406
|
+
position: absolute;
|
|
407
|
+
inset: 0;
|
|
408
|
+
display: flex;
|
|
409
|
+
align-items: center;
|
|
410
|
+
justify-content: center;
|
|
411
|
+
background: rgba(33, 150, 243, 0.08);
|
|
412
|
+
border: 3px dashed #1976d2;
|
|
413
|
+
border-radius: 8px;
|
|
414
|
+
z-index: 10;
|
|
415
|
+
pointer-events: none;
|
|
416
|
+
|
|
417
|
+
span {
|
|
418
|
+
font-size: 16px;
|
|
419
|
+
color: #1976d2;
|
|
420
|
+
font-weight: bold;
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
div[empty-state] {
|
|
425
|
+
display: flex;
|
|
426
|
+
flex-direction: column;
|
|
427
|
+
align-items: center;
|
|
428
|
+
justify-content: center;
|
|
429
|
+
padding: 60px 20px;
|
|
430
|
+
color: #999;
|
|
431
|
+
flex: 1;
|
|
432
|
+
|
|
433
|
+
md-icon {
|
|
434
|
+
--md-icon-size: 48px;
|
|
435
|
+
color: #ddd;
|
|
436
|
+
margin-bottom: 12px;
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
div[doc-detail] {
|
|
441
|
+
padding: 12px 16px;
|
|
442
|
+
background: #fafafa;
|
|
443
|
+
border-top: 1px solid #e0e0e0;
|
|
444
|
+
overflow-y: auto;
|
|
445
|
+
|
|
446
|
+
div[detail-content] {
|
|
447
|
+
display: flex;
|
|
448
|
+
align-items: flex-start;
|
|
449
|
+
gap: 12px;
|
|
450
|
+
|
|
451
|
+
md-icon[file-icon] {
|
|
452
|
+
--md-icon-size: 36px;
|
|
453
|
+
color: #0595e5;
|
|
454
|
+
background: #e3f2fd;
|
|
455
|
+
padding: 8px;
|
|
456
|
+
border-radius: 8px;
|
|
457
|
+
flex-shrink: 0;
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
div[detail-info] {
|
|
461
|
+
flex: 1;
|
|
462
|
+
|
|
463
|
+
div[file-name] {
|
|
464
|
+
font-weight: bold;
|
|
465
|
+
font-size: 14px;
|
|
466
|
+
margin-bottom: 4px;
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
div[file-meta] {
|
|
470
|
+
font-size: 12px;
|
|
471
|
+
color: #666;
|
|
472
|
+
margin-bottom: 8px;
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
div[ai-summary] {
|
|
476
|
+
display: flex;
|
|
477
|
+
align-items: flex-start;
|
|
478
|
+
gap: 6px;
|
|
479
|
+
padding: 8px 12px;
|
|
480
|
+
background: #e8f5e9;
|
|
481
|
+
border-radius: 6px;
|
|
482
|
+
font-size: 12px;
|
|
483
|
+
color: #333;
|
|
484
|
+
|
|
485
|
+
md-icon {
|
|
486
|
+
--md-icon-size: 18px;
|
|
487
|
+
color: #4caf50;
|
|
488
|
+
flex-shrink: 0;
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
div[ai-pending] {
|
|
493
|
+
display: flex;
|
|
494
|
+
align-items: center;
|
|
495
|
+
gap: 6px;
|
|
496
|
+
padding: 8px 12px;
|
|
497
|
+
background: #fff3e0;
|
|
498
|
+
border-radius: 6px;
|
|
499
|
+
font-size: 12px;
|
|
500
|
+
color: #ef6c00;
|
|
501
|
+
|
|
502
|
+
md-icon {
|
|
503
|
+
--md-icon-size: 18px;
|
|
504
|
+
flex-shrink: 0;
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
}
|
|
511
|
+
`
|
|
512
|
+
];
|
|
513
|
+
__decorate([
|
|
514
|
+
property({ type: String }),
|
|
515
|
+
__metadata("design:type", String)
|
|
516
|
+
], FieldDocumentListPanel.prototype, "projectId", void 0);
|
|
517
|
+
__decorate([
|
|
518
|
+
property({ type: String }),
|
|
519
|
+
__metadata("design:type", String)
|
|
520
|
+
], FieldDocumentListPanel.prototype, "code", void 0);
|
|
521
|
+
__decorate([
|
|
522
|
+
property({ type: String }),
|
|
523
|
+
__metadata("design:type", String)
|
|
524
|
+
], FieldDocumentListPanel.prototype, "folderName", void 0);
|
|
525
|
+
__decorate([
|
|
526
|
+
property({ type: Array }),
|
|
527
|
+
__metadata("design:type", Array)
|
|
528
|
+
], FieldDocumentListPanel.prototype, "documents", void 0);
|
|
529
|
+
__decorate([
|
|
530
|
+
state(),
|
|
531
|
+
__metadata("design:type", Set)
|
|
532
|
+
], FieldDocumentListPanel.prototype, "selectedIds", void 0);
|
|
533
|
+
__decorate([
|
|
534
|
+
state(),
|
|
535
|
+
__metadata("design:type", Boolean)
|
|
536
|
+
], FieldDocumentListPanel.prototype, "isDragOver", void 0);
|
|
537
|
+
__decorate([
|
|
538
|
+
state(),
|
|
539
|
+
__metadata("design:type", Object)
|
|
540
|
+
], FieldDocumentListPanel.prototype, "selectedDoc", void 0);
|
|
541
|
+
FieldDocumentListPanel = __decorate([
|
|
542
|
+
customElement('field-document-list-panel')
|
|
543
|
+
], FieldDocumentListPanel);
|
|
544
|
+
export { FieldDocumentListPanel };
|
|
545
|
+
//# sourceMappingURL=field-document-list-panel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field-document-list-panel.js","sourceRoot":"","sources":["../../../../../client/pages/building-inspection/component/field-document/field-document-list-panel.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '../../component/image-preview-popup'\n\nimport { ScrollbarStyles } from '@operato/styles'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { openPopup } from '@operato/layout'\n\n@customElement('field-document-list-panel')\nexport class FieldDocumentListPanel extends LitElement {\n static styles = [\n ScrollbarStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n\n div[panel-header] {\n display: flex;\n align-items: center;\n padding: 10px 16px;\n background: #fafafa;\n border-bottom: 1px solid #e0e0e0;\n\n h3 {\n margin: 0;\n font-size: 14px;\n color: #333;\n flex: 1;\n }\n\n span[doc-count] {\n font-size: 12px;\n color: #999;\n }\n }\n\n div[table-header] {\n display: grid;\n grid-template-columns: 30px 40px 80px 1fr 80px 80px 80px 80px 100px;\n padding: 8px 16px;\n background: #f0e6e6;\n font-size: 12px;\n font-weight: bold;\n color: #666;\n border-bottom: 1px solid #ddd;\n\n & > div {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n }\n\n div[doc-list] {\n flex: 1;\n overflow-y: auto;\n overflow-x: hidden;\n position: relative;\n }\n\n div[doc-item] {\n display: grid;\n grid-template-columns: 30px 40px 80px 1fr 80px 80px 80px 80px 100px;\n padding: 8px 16px;\n border-bottom: 1px solid #f0f0f0;\n font-size: 13px;\n cursor: pointer;\n transition: background-color 0.15s;\n align-items: center;\n\n &:hover {\n background-color: #f5f5f5;\n }\n\n & > div {\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n md-icon[preview] {\n --md-icon-size: 18px;\n cursor: pointer;\n color: #999;\n border-radius: 50%;\n padding: 2px;\n }\n\n md-icon[preview]:hover {\n color: #0595e5;\n background: #e3f2fd;\n }\n\n div[name-cell] {\n justify-content: flex-start;\n gap: 6px;\n\n md-icon[favorite] {\n --md-icon-size: 16px;\n color: #ffc107;\n flex-shrink: 0;\n }\n\n span {\n overflow: hidden;\n text-overflow: ellipsis;\n }\n }\n\n div[ai-cell] {\n font-size: 11px;\n\n span[ai-done] {\n display: flex;\n align-items: center;\n gap: 2px;\n color: #2e7d32;\n\n md-icon {\n --md-icon-size: 14px;\n color: #4caf50;\n }\n }\n\n span[ai-pending] {\n color: #ef6c00;\n }\n }\n\n input[type='checkbox'] {\n cursor: pointer;\n }\n }\n\n div[doc-item][selected] {\n background-color: #e3f2fd;\n }\n\n div[doc-item][draggable='true'] {\n cursor: grab;\n\n &:active {\n cursor: grabbing;\n }\n }\n\n div[drop-zone] {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: rgba(33, 150, 243, 0.08);\n border: 3px dashed #1976d2;\n border-radius: 8px;\n z-index: 10;\n pointer-events: none;\n\n span {\n font-size: 16px;\n color: #1976d2;\n font-weight: bold;\n }\n }\n\n div[empty-state] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 60px 20px;\n color: #999;\n flex: 1;\n\n md-icon {\n --md-icon-size: 48px;\n color: #ddd;\n margin-bottom: 12px;\n }\n }\n\n div[doc-detail] {\n padding: 12px 16px;\n background: #fafafa;\n border-top: 1px solid #e0e0e0;\n overflow-y: auto;\n\n div[detail-content] {\n display: flex;\n align-items: flex-start;\n gap: 12px;\n\n md-icon[file-icon] {\n --md-icon-size: 36px;\n color: #0595e5;\n background: #e3f2fd;\n padding: 8px;\n border-radius: 8px;\n flex-shrink: 0;\n }\n\n div[detail-info] {\n flex: 1;\n\n div[file-name] {\n font-weight: bold;\n font-size: 14px;\n margin-bottom: 4px;\n }\n\n div[file-meta] {\n font-size: 12px;\n color: #666;\n margin-bottom: 8px;\n }\n\n div[ai-summary] {\n display: flex;\n align-items: flex-start;\n gap: 6px;\n padding: 8px 12px;\n background: #e8f5e9;\n border-radius: 6px;\n font-size: 12px;\n color: #333;\n\n md-icon {\n --md-icon-size: 18px;\n color: #4caf50;\n flex-shrink: 0;\n }\n }\n\n div[ai-pending] {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 8px 12px;\n background: #fff3e0;\n border-radius: 6px;\n font-size: 12px;\n color: #ef6c00;\n\n md-icon {\n --md-icon-size: 18px;\n flex-shrink: 0;\n }\n }\n }\n }\n\n }\n `\n ]\n\n @property({ type: String }) projectId: string = ''\n @property({ type: String }) code: string = ''\n @property({ type: String }) folderName: string = ''\n @property({ type: Array }) documents: any[] = []\n\n @state() private selectedIds: Set<string> = new Set()\n @state() private isDragOver: boolean = false\n @state() private selectedDoc: any = null\n\n render() {\n return html`\n <div panel-header>\n <h3>문서 목록${this.folderName ? ` - ${this.folderName}` : ''}</h3>\n <span doc-count>${this.documents.length}건</span>\n </div>\n\n ${this.code\n ? html`\n <div table-header>\n <div></div>\n <div>\n <input\n type=\"checkbox\"\n @change=${this._toggleAll}\n .checked=${this.selectedIds.size > 0 && this.selectedIds.size === this.documents.length}\n />\n </div>\n <div>문서번호</div>\n <div style=\"justify-content:flex-start; padding-left:8px;\">제 목</div>\n <div>등록부서</div>\n <div>등록자</div>\n <div>자료분류</div>\n <div>기술분야</div>\n <div>등록일자</div>\n </div>\n\n <div\n doc-list\n @dragover=${this._onListDragOver}\n @dragleave=${this._onListDragLeave}\n @drop=${this._onListDrop}\n >\n ${this.isDragOver ? html`<div drop-zone><span>여기에 파일을 놓으세요</span></div>` : ''}\n\n ${this.documents.length > 0\n ? this.documents.map(\n (doc, idx) => html`\n <div\n doc-item\n draggable=\"true\"\n ?selected=${this.selectedDoc?.id === doc.id}\n @dragstart=${(e: DragEvent) => this._onDocDragStart(e, doc)}\n @click=${() => this._selectDoc(doc)}\n >\n <div>\n <md-icon\n preview\n @click=${(e: Event) => {\n e.stopPropagation()\n this._openPreview(doc)\n }}\n >visibility</md-icon>\n </div>\n <div>\n <input\n type=\"checkbox\"\n .checked=${this.selectedIds.has(doc.id)}\n @change=${(e: Event) => this._toggleDoc(e, doc.id)}\n @click=${(e: Event) => e.stopPropagation()}\n />\n </div>\n <div>${doc.code}${String(idx + 1).padStart(2, '0')}</div>\n <div name-cell>\n ${doc.isFavorite ? html`<md-icon favorite>star</md-icon>` : ''}\n <span>${doc.name}</span>\n </div>\n <div></div>\n <div>${doc.creator?.name || ''}</div>\n <div></div>\n <div></div>\n <div>${this._formatDate(doc.createdAt)}</div>\n </div>\n `\n )\n : html`\n <div empty-state>\n <md-icon>folder_open</md-icon>\n <div>등록된 문서가 없습니다.</div>\n <div style=\"font-size:12px; margin-top:4px;\">파일을 드래그하여 업로드하세요.</div>\n </div>\n `}\n </div>\n\n ${this.selectedDoc\n ? html`\n <div doc-detail>\n <div detail-content>\n <md-icon file-icon>description</md-icon>\n <div detail-info>\n <div file-name>${this.selectedDoc.name}</div>\n <div file-meta>\n <div>수정한 날짜: ${this._formatDateTime(this.selectedDoc.createdAt)}</div>\n ${this.selectedDoc.fileSize ? html`<div>크기: ${this._formatFileSize(this.selectedDoc.fileSize)}</div>` : ''}\n </div>\n ${this.selectedDoc.aiSummary\n ? html`\n <div ai-summary>\n <md-icon>auto_awesome</md-icon>\n <div>\n <strong>AI 브리핑</strong><br />\n ${this.selectedDoc.aiSummary}\n </div>\n </div>\n `\n : this.selectedDoc.aiSummaryStatus === '10'\n ? html`\n <div ai-pending>\n <md-icon>hourglass_top</md-icon>\n AI 요약 생성 중...\n </div>\n `\n : ''}\n </div>\n </div>\n </div>\n `\n : ''}\n `\n : html`\n <div empty-state>\n <md-icon>folder</md-icon>\n <div>소분류 폴더를 선택해주세요.</div>\n </div>\n `}\n `\n }\n\n private _selectDoc(doc: any) {\n this.selectedDoc = doc\n }\n\n private _openPreview(doc: any) {\n this.selectedDoc = doc\n\n if (!doc.fullpath) return\n\n const ext = doc.fullpath.toLowerCase().split('.').pop() || ''\n const isImage = ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'webp', 'svg'].includes(ext)\n\n if (isImage) {\n openPopup(\n html`<image-preview-popup\n .images=${[{ fullpath: doc.fullpath, name: doc.name }]}\n .currentIndex=${0}\n ></image-preview-popup>`,\n { backdrop: true, size: 'large', title: doc.name }\n )\n } else {\n // PDF 등 기타 파일은 새 탭에서 열기\n window.open(doc.fullpath, '_blank')\n }\n }\n\n private _toggleDoc(e: Event, id: string) {\n const checked = (e.target as HTMLInputElement).checked\n const newSet = new Set(this.selectedIds)\n if (checked) {\n newSet.add(id)\n } else {\n newSet.delete(id)\n }\n this.selectedIds = newSet\n this.dispatchEvent(new CustomEvent('document-selected', { detail: newSet }))\n }\n\n private _toggleAll(e: Event) {\n const checked = (e.target as HTMLInputElement).checked\n if (checked) {\n this.selectedIds = new Set(this.documents.map(d => d.id))\n } else {\n this.selectedIds = new Set()\n }\n this.dispatchEvent(new CustomEvent('document-selected', { detail: this.selectedIds }))\n }\n\n /* Drag & Drop: 데스크톱 파일 업로드 */\n private _onListDragOver(e: DragEvent) {\n const types = e.dataTransfer?.types || []\n if (types.includes('Files')) {\n e.preventDefault()\n this.isDragOver = true\n }\n }\n\n private _onListDragLeave() {\n this.isDragOver = false\n }\n\n private _onListDrop(e: DragEvent) {\n e.preventDefault()\n this.isDragOver = false\n\n const files = Array.from(e.dataTransfer?.files || [])\n if (files.length > 0) {\n this.dispatchEvent(new CustomEvent('documents-changed', { detail: { files } }))\n }\n }\n\n /* Drag: 문서 이동용 */\n private _onDocDragStart(e: DragEvent, doc: any) {\n const ids = this.selectedIds.has(doc.id) ? Array.from(this.selectedIds) : [doc.id]\n e.dataTransfer?.setData('application/x-field-document-ids', JSON.stringify(ids))\n e.dataTransfer!.effectAllowed = 'move'\n }\n\n private _formatDate(date: any): string {\n if (!date) return ''\n try {\n const d = new Date(date)\n return new Intl.DateTimeFormat('ko-KR', {\n timeZone: 'Asia/Seoul',\n year: 'numeric',\n month: '2-digit',\n day: '2-digit'\n }).format(d)\n } catch {\n return ''\n }\n }\n\n private _formatFileSize(size: string): string {\n const bytes = Number(size)\n if (isNaN(bytes)) return size\n if (bytes < 1024) return `${bytes} B`\n if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`\n return `${(bytes / (1024 * 1024)).toFixed(1)} MB`\n }\n\n private _formatDateTime(date: any): string {\n if (!date) return ''\n try {\n const d = new Date(date)\n return new Intl.DateTimeFormat('ko-KR', {\n timeZone: 'Asia/Seoul',\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n hour12: true\n }).format(d)\n } catch {\n return ''\n }\n }\n}\n"]}
|
package/dist-client/pages/building-inspection/component/field-document/field-document-popup.d.ts
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import '@material/web/icon/icon.js';
|
|
2
|
+
import '@material/web/button/filled-button.js';
|
|
3
|
+
import '@material/web/button/outlined-button.js';
|
|
4
|
+
import './field-document-list-panel';
|
|
5
|
+
import { LitElement } from 'lit';
|
|
6
|
+
export declare class FieldDocumentPopup extends LitElement {
|
|
7
|
+
static styles: import("lit").CSSResult[];
|
|
8
|
+
projectId: string;
|
|
9
|
+
private selectedMajor;
|
|
10
|
+
private selectedMiddle;
|
|
11
|
+
private selectedMinor;
|
|
12
|
+
private documents;
|
|
13
|
+
private selectedDocIds;
|
|
14
|
+
private codeCounts;
|
|
15
|
+
private dragOverItem;
|
|
16
|
+
private _tooltipText;
|
|
17
|
+
private _tooltipX;
|
|
18
|
+
private _tooltipY;
|
|
19
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
20
|
+
firstUpdated(): Promise<void>;
|
|
21
|
+
private _selectMajor;
|
|
22
|
+
private _selectMiddle;
|
|
23
|
+
private _selectMinor;
|
|
24
|
+
private _loadDocuments;
|
|
25
|
+
private _loadCounts;
|
|
26
|
+
private _getMajorCount;
|
|
27
|
+
private _getMiddleCount;
|
|
28
|
+
private _shareDocuments;
|
|
29
|
+
private _toggleFavorites;
|
|
30
|
+
private _triggerUpload;
|
|
31
|
+
private _onNativeFileSelected;
|
|
32
|
+
private _uploadFiles;
|
|
33
|
+
private _deleteDocuments;
|
|
34
|
+
private _onFolderDragOver;
|
|
35
|
+
private _expandTimeout;
|
|
36
|
+
private _onFolderDrop;
|
|
37
|
+
private _onDocumentsChanged;
|
|
38
|
+
private _showTooltip;
|
|
39
|
+
}
|