@powerhousedao/network-admin 0.0.1
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/LICENSE +661 -0
- package/README.md +179 -0
- package/dist/document-models/index.d.ts +6 -0
- package/dist/document-models/index.d.ts.map +1 -0
- package/dist/document-models/index.js +4 -0
- package/dist/document-models/network-profile/gen/actions.d.ts +4 -0
- package/dist/document-models/network-profile/gen/actions.d.ts.map +1 -0
- package/dist/document-models/network-profile/gen/actions.js +1 -0
- package/dist/document-models/network-profile/gen/creators.d.ts +2 -0
- package/dist/document-models/network-profile/gen/creators.d.ts.map +1 -0
- package/dist/document-models/network-profile/gen/creators.js +1 -0
- package/dist/document-models/network-profile/gen/document-model.d.ts +3 -0
- package/dist/document-models/network-profile/gen/document-model.d.ts.map +1 -0
- package/dist/document-models/network-profile/gen/document-model.js +158 -0
- package/dist/document-models/network-profile/gen/index.d.ts +6 -0
- package/dist/document-models/network-profile/gen/index.d.ts.map +1 -0
- package/dist/document-models/network-profile/gen/index.js +5 -0
- package/dist/document-models/network-profile/gen/network-profile-management/actions.d.ts +48 -0
- package/dist/document-models/network-profile/gen/network-profile-management/actions.d.ts.map +1 -0
- package/dist/document-models/network-profile/gen/network-profile-management/actions.js +1 -0
- package/dist/document-models/network-profile/gen/network-profile-management/creators.d.ts +14 -0
- package/dist/document-models/network-profile/gen/network-profile-management/creators.d.ts.map +1 -0
- package/dist/document-models/network-profile/gen/network-profile-management/creators.js +13 -0
- package/dist/document-models/network-profile/gen/network-profile-management/error.d.ts +2 -0
- package/dist/document-models/network-profile/gen/network-profile-management/error.d.ts.map +1 -0
- package/dist/document-models/network-profile/gen/network-profile-management/error.js +1 -0
- package/dist/document-models/network-profile/gen/network-profile-management/object.d.ts +17 -0
- package/dist/document-models/network-profile/gen/network-profile-management/object.d.ts.map +1 -0
- package/dist/document-models/network-profile/gen/network-profile-management/object.js +37 -0
- package/dist/document-models/network-profile/gen/network-profile-management/operations.d.ts +17 -0
- package/dist/document-models/network-profile/gen/network-profile-management/operations.d.ts.map +1 -0
- package/dist/document-models/network-profile/gen/network-profile-management/operations.js +1 -0
- package/dist/document-models/network-profile/gen/object.d.ts +16 -0
- package/dist/document-models/network-profile/gen/object.d.ts.map +1 -0
- package/dist/document-models/network-profile/gen/object.js +25 -0
- package/dist/document-models/network-profile/gen/reducer.d.ts +3 -0
- package/dist/document-models/network-profile/gen/reducer.d.ts.map +1 -0
- package/dist/document-models/network-profile/gen/reducer.js +60 -0
- package/dist/document-models/network-profile/gen/schema/index.d.ts +3 -0
- package/dist/document-models/network-profile/gen/schema/index.d.ts.map +1 -0
- package/dist/document-models/network-profile/gen/schema/index.js +2 -0
- package/dist/document-models/network-profile/gen/schema/types.d.ts +184 -0
- package/dist/document-models/network-profile/gen/schema/types.d.ts.map +1 -0
- package/dist/document-models/network-profile/gen/schema/types.js +1 -0
- package/dist/document-models/network-profile/gen/schema/zod.d.ts +23 -0
- package/dist/document-models/network-profile/gen/schema/zod.d.ts.map +1 -0
- package/dist/document-models/network-profile/gen/schema/zod.js +83 -0
- package/dist/document-models/network-profile/gen/types.d.ts +10 -0
- package/dist/document-models/network-profile/gen/types.d.ts.map +1 -0
- package/dist/document-models/network-profile/gen/types.js +1 -0
- package/dist/document-models/network-profile/gen/utils.d.ts +13 -0
- package/dist/document-models/network-profile/gen/utils.d.ts.map +1 -0
- package/dist/document-models/network-profile/gen/utils.js +52 -0
- package/dist/document-models/network-profile/index.d.ts +35 -0
- package/dist/document-models/network-profile/index.d.ts.map +1 -0
- package/dist/document-models/network-profile/index.js +21 -0
- package/dist/document-models/network-profile/ph-factories.d.ts +27 -0
- package/dist/document-models/network-profile/ph-factories.d.ts.map +1 -0
- package/dist/document-models/network-profile/ph-factories.js +60 -0
- package/dist/document-models/network-profile/src/reducers/network-profile-management.d.ts +8 -0
- package/dist/document-models/network-profile/src/reducers/network-profile-management.d.ts.map +1 -0
- package/dist/document-models/network-profile/src/reducers/network-profile-management.js +40 -0
- package/dist/document-models/network-profile/src/tests/document-model.test.d.ts +6 -0
- package/dist/document-models/network-profile/src/tests/document-model.test.d.ts.map +1 -0
- package/dist/document-models/network-profile/src/tests/document-model.test.js +18 -0
- package/dist/document-models/network-profile/src/tests/network-profile-management.test.d.ts +6 -0
- package/dist/document-models/network-profile/src/tests/network-profile-management.test.d.ts.map +1 -0
- package/dist/document-models/network-profile/src/tests/network-profile-management.test.js +164 -0
- package/dist/document-models/network-profile/src/utils.d.ts +2 -0
- package/dist/document-models/network-profile/src/utils.d.ts.map +1 -0
- package/dist/document-models/network-profile/src/utils.js +1 -0
- package/dist/document-models/payment-terms/gen/actions.d.ts +8 -0
- package/dist/document-models/payment-terms/gen/actions.d.ts.map +1 -0
- package/dist/document-models/payment-terms/gen/actions.js +3 -0
- package/dist/document-models/payment-terms/gen/clauses/actions.d.ts +28 -0
- package/dist/document-models/payment-terms/gen/clauses/actions.d.ts.map +1 -0
- package/dist/document-models/payment-terms/gen/clauses/actions.js +1 -0
- package/dist/document-models/payment-terms/gen/clauses/creators.d.ts +9 -0
- package/dist/document-models/payment-terms/gen/clauses/creators.d.ts.map +1 -0
- package/dist/document-models/payment-terms/gen/clauses/creators.js +8 -0
- package/dist/document-models/payment-terms/gen/clauses/error.d.ts +41 -0
- package/dist/document-models/payment-terms/gen/clauses/error.d.ts.map +1 -0
- package/dist/document-models/payment-terms/gen/clauses/error.js +44 -0
- package/dist/document-models/payment-terms/gen/clauses/object.d.ts +12 -0
- package/dist/document-models/payment-terms/gen/clauses/object.d.ts.map +1 -0
- package/dist/document-models/payment-terms/gen/clauses/object.js +22 -0
- package/dist/document-models/payment-terms/gen/clauses/operations.d.ts +12 -0
- package/dist/document-models/payment-terms/gen/clauses/operations.d.ts.map +1 -0
- package/dist/document-models/payment-terms/gen/clauses/operations.js +1 -0
- package/dist/document-models/payment-terms/gen/creators.d.ts +4 -0
- package/dist/document-models/payment-terms/gen/creators.d.ts.map +1 -0
- package/dist/document-models/payment-terms/gen/creators.js +3 -0
- package/dist/document-models/payment-terms/gen/document-model.d.ts +3 -0
- package/dist/document-models/payment-terms/gen/document-model.d.ts.map +1 -0
- package/dist/document-models/payment-terms/gen/document-model.js +318 -0
- package/dist/document-models/payment-terms/gen/index.d.ts +6 -0
- package/dist/document-models/payment-terms/gen/index.d.ts.map +1 -0
- package/dist/document-models/payment-terms/gen/index.js +5 -0
- package/dist/document-models/payment-terms/gen/milestones/actions.d.ts +24 -0
- package/dist/document-models/payment-terms/gen/milestones/actions.d.ts.map +1 -0
- package/dist/document-models/payment-terms/gen/milestones/actions.js +1 -0
- package/dist/document-models/payment-terms/gen/milestones/creators.d.ts +8 -0
- package/dist/document-models/payment-terms/gen/milestones/creators.d.ts.map +1 -0
- package/dist/document-models/payment-terms/gen/milestones/creators.js +7 -0
- package/dist/document-models/payment-terms/gen/milestones/error.d.ts +27 -0
- package/dist/document-models/payment-terms/gen/milestones/error.d.ts.map +1 -0
- package/dist/document-models/payment-terms/gen/milestones/error.js +26 -0
- package/dist/document-models/payment-terms/gen/milestones/object.d.ts +11 -0
- package/dist/document-models/payment-terms/gen/milestones/object.d.ts.map +1 -0
- package/dist/document-models/payment-terms/gen/milestones/object.js +19 -0
- package/dist/document-models/payment-terms/gen/milestones/operations.d.ts +11 -0
- package/dist/document-models/payment-terms/gen/milestones/operations.d.ts.map +1 -0
- package/dist/document-models/payment-terms/gen/milestones/operations.js +1 -0
- package/dist/document-models/payment-terms/gen/object.d.ts +20 -0
- package/dist/document-models/payment-terms/gen/object.d.ts.map +1 -0
- package/dist/document-models/payment-terms/gen/object.js +33 -0
- package/dist/document-models/payment-terms/gen/reducer.d.ts +3 -0
- package/dist/document-models/payment-terms/gen/reducer.d.ts.map +1 -0
- package/dist/document-models/payment-terms/gen/reducer.js +86 -0
- package/dist/document-models/payment-terms/gen/schema/index.d.ts +3 -0
- package/dist/document-models/payment-terms/gen/schema/index.d.ts.map +1 -0
- package/dist/document-models/payment-terms/gen/schema/index.js +2 -0
- package/dist/document-models/payment-terms/gen/schema/types.d.ts +298 -0
- package/dist/document-models/payment-terms/gen/schema/types.d.ts.map +1 -0
- package/dist/document-models/payment-terms/gen/schema/types.js +1 -0
- package/dist/document-models/payment-terms/gen/schema/zod.d.ts +41 -0
- package/dist/document-models/payment-terms/gen/schema/zod.d.ts.map +1 -0
- package/dist/document-models/payment-terms/gen/schema/zod.js +291 -0
- package/dist/document-models/payment-terms/gen/terms/actions.d.ts +28 -0
- package/dist/document-models/payment-terms/gen/terms/actions.d.ts.map +1 -0
- package/dist/document-models/payment-terms/gen/terms/actions.js +1 -0
- package/dist/document-models/payment-terms/gen/terms/creators.d.ts +9 -0
- package/dist/document-models/payment-terms/gen/terms/creators.d.ts.map +1 -0
- package/dist/document-models/payment-terms/gen/terms/creators.js +8 -0
- package/dist/document-models/payment-terms/gen/terms/error.d.ts +2 -0
- package/dist/document-models/payment-terms/gen/terms/error.d.ts.map +1 -0
- package/dist/document-models/payment-terms/gen/terms/error.js +1 -0
- package/dist/document-models/payment-terms/gen/terms/object.d.ts +12 -0
- package/dist/document-models/payment-terms/gen/terms/object.d.ts.map +1 -0
- package/dist/document-models/payment-terms/gen/terms/object.js +22 -0
- package/dist/document-models/payment-terms/gen/terms/operations.d.ts +12 -0
- package/dist/document-models/payment-terms/gen/terms/operations.d.ts.map +1 -0
- package/dist/document-models/payment-terms/gen/terms/operations.js +1 -0
- package/dist/document-models/payment-terms/gen/types.d.ts +10 -0
- package/dist/document-models/payment-terms/gen/types.d.ts.map +1 -0
- package/dist/document-models/payment-terms/gen/types.js +1 -0
- package/dist/document-models/payment-terms/gen/utils.d.ts +13 -0
- package/dist/document-models/payment-terms/gen/utils.d.ts.map +1 -0
- package/dist/document-models/payment-terms/gen/utils.js +54 -0
- package/dist/document-models/payment-terms/index.d.ts +41 -0
- package/dist/document-models/payment-terms/index.d.ts.map +1 -0
- package/dist/document-models/payment-terms/index.js +21 -0
- package/dist/document-models/payment-terms/ph-factories.d.ts +27 -0
- package/dist/document-models/payment-terms/ph-factories.d.ts.map +1 -0
- package/dist/document-models/payment-terms/ph-factories.js +62 -0
- package/dist/document-models/payment-terms/src/reducers/clauses.d.ts +3 -0
- package/dist/document-models/payment-terms/src/reducers/clauses.d.ts.map +1 -0
- package/dist/document-models/payment-terms/src/reducers/clauses.js +69 -0
- package/dist/document-models/payment-terms/src/reducers/milestones.d.ts +3 -0
- package/dist/document-models/payment-terms/src/reducers/milestones.d.ts.map +1 -0
- package/dist/document-models/payment-terms/src/reducers/milestones.js +57 -0
- package/dist/document-models/payment-terms/src/reducers/terms.d.ts +3 -0
- package/dist/document-models/payment-terms/src/reducers/terms.d.ts.map +1 -0
- package/dist/document-models/payment-terms/src/reducers/terms.js +48 -0
- package/dist/document-models/payment-terms/src/tests/clauses.test.d.ts +6 -0
- package/dist/document-models/payment-terms/src/tests/clauses.test.d.ts.map +1 -0
- package/dist/document-models/payment-terms/src/tests/clauses.test.js +64 -0
- package/dist/document-models/payment-terms/src/tests/document-model.test.d.ts +6 -0
- package/dist/document-models/payment-terms/src/tests/document-model.test.d.ts.map +1 -0
- package/dist/document-models/payment-terms/src/tests/document-model.test.js +18 -0
- package/dist/document-models/payment-terms/src/tests/milestones.test.d.ts +6 -0
- package/dist/document-models/payment-terms/src/tests/milestones.test.d.ts.map +1 -0
- package/dist/document-models/payment-terms/src/tests/milestones.test.js +56 -0
- package/dist/document-models/payment-terms/src/tests/terms.test.d.ts +6 -0
- package/dist/document-models/payment-terms/src/tests/terms.test.d.ts.map +1 -0
- package/dist/document-models/payment-terms/src/tests/terms.test.js +64 -0
- package/dist/document-models/payment-terms/src/utils.d.ts +2 -0
- package/dist/document-models/payment-terms/src/utils.d.ts.map +1 -0
- package/dist/document-models/payment-terms/src/utils.js +1 -0
- package/dist/document-models/request-for-proposals/gen/actions.d.ts +8 -0
- package/dist/document-models/request-for-proposals/gen/actions.d.ts.map +1 -0
- package/dist/document-models/request-for-proposals/gen/actions.js +3 -0
- package/dist/document-models/request-for-proposals/gen/contex-document/actions.d.ts +12 -0
- package/dist/document-models/request-for-proposals/gen/contex-document/actions.d.ts.map +1 -0
- package/dist/document-models/request-for-proposals/gen/contex-document/actions.js +1 -0
- package/dist/document-models/request-for-proposals/gen/contex-document/creators.d.ts +5 -0
- package/dist/document-models/request-for-proposals/gen/contex-document/creators.d.ts.map +1 -0
- package/dist/document-models/request-for-proposals/gen/contex-document/creators.js +4 -0
- package/dist/document-models/request-for-proposals/gen/contex-document/error.d.ts +2 -0
- package/dist/document-models/request-for-proposals/gen/contex-document/error.d.ts.map +1 -0
- package/dist/document-models/request-for-proposals/gen/contex-document/error.js +1 -0
- package/dist/document-models/request-for-proposals/gen/contex-document/object.d.ts +8 -0
- package/dist/document-models/request-for-proposals/gen/contex-document/object.d.ts.map +1 -0
- package/dist/document-models/request-for-proposals/gen/contex-document/object.js +10 -0
- package/dist/document-models/request-for-proposals/gen/contex-document/operations.d.ts +8 -0
- package/dist/document-models/request-for-proposals/gen/contex-document/operations.d.ts.map +1 -0
- package/dist/document-models/request-for-proposals/gen/contex-document/operations.js +1 -0
- package/dist/document-models/request-for-proposals/gen/creators.d.ts +4 -0
- package/dist/document-models/request-for-proposals/gen/creators.d.ts.map +1 -0
- package/dist/document-models/request-for-proposals/gen/creators.js +3 -0
- package/dist/document-models/request-for-proposals/gen/document-model.d.ts +3 -0
- package/dist/document-models/request-for-proposals/gen/document-model.d.ts.map +1 -0
- package/dist/document-models/request-for-proposals/gen/document-model.js +117 -0
- package/dist/document-models/request-for-proposals/gen/index.d.ts +6 -0
- package/dist/document-models/request-for-proposals/gen/index.d.ts.map +1 -0
- package/dist/document-models/request-for-proposals/gen/index.js +5 -0
- package/dist/document-models/request-for-proposals/gen/object.d.ts +20 -0
- package/dist/document-models/request-for-proposals/gen/object.d.ts.map +1 -0
- package/dist/document-models/request-for-proposals/gen/object.js +33 -0
- package/dist/document-models/request-for-proposals/gen/proposals/actions.d.ts +16 -0
- package/dist/document-models/request-for-proposals/gen/proposals/actions.d.ts.map +1 -0
- package/dist/document-models/request-for-proposals/gen/proposals/actions.js +1 -0
- package/dist/document-models/request-for-proposals/gen/proposals/creators.d.ts +6 -0
- package/dist/document-models/request-for-proposals/gen/proposals/creators.d.ts.map +1 -0
- package/dist/document-models/request-for-proposals/gen/proposals/creators.js +5 -0
- package/dist/document-models/request-for-proposals/gen/proposals/error.d.ts +2 -0
- package/dist/document-models/request-for-proposals/gen/proposals/error.d.ts.map +1 -0
- package/dist/document-models/request-for-proposals/gen/proposals/error.js +1 -0
- package/dist/document-models/request-for-proposals/gen/proposals/object.d.ts +9 -0
- package/dist/document-models/request-for-proposals/gen/proposals/object.d.ts.map +1 -0
- package/dist/document-models/request-for-proposals/gen/proposals/object.js +13 -0
- package/dist/document-models/request-for-proposals/gen/proposals/operations.d.ts +9 -0
- package/dist/document-models/request-for-proposals/gen/proposals/operations.d.ts.map +1 -0
- package/dist/document-models/request-for-proposals/gen/proposals/operations.js +1 -0
- package/dist/document-models/request-for-proposals/gen/reducer.d.ts +3 -0
- package/dist/document-models/request-for-proposals/gen/reducer.d.ts.map +1 -0
- package/dist/document-models/request-for-proposals/gen/reducer.js +42 -0
- package/dist/document-models/request-for-proposals/gen/rfp-state/actions.d.ts +8 -0
- package/dist/document-models/request-for-proposals/gen/rfp-state/actions.d.ts.map +1 -0
- package/dist/document-models/request-for-proposals/gen/rfp-state/actions.js +1 -0
- package/dist/document-models/request-for-proposals/gen/rfp-state/creators.d.ts +4 -0
- package/dist/document-models/request-for-proposals/gen/rfp-state/creators.d.ts.map +1 -0
- package/dist/document-models/request-for-proposals/gen/rfp-state/creators.js +3 -0
- package/dist/document-models/request-for-proposals/gen/rfp-state/error.d.ts +2 -0
- package/dist/document-models/request-for-proposals/gen/rfp-state/error.d.ts.map +1 -0
- package/dist/document-models/request-for-proposals/gen/rfp-state/error.js +1 -0
- package/dist/document-models/request-for-proposals/gen/rfp-state/object.d.ts +7 -0
- package/dist/document-models/request-for-proposals/gen/rfp-state/object.d.ts.map +1 -0
- package/dist/document-models/request-for-proposals/gen/rfp-state/object.js +7 -0
- package/dist/document-models/request-for-proposals/gen/rfp-state/operations.d.ts +7 -0
- package/dist/document-models/request-for-proposals/gen/rfp-state/operations.d.ts.map +1 -0
- package/dist/document-models/request-for-proposals/gen/rfp-state/operations.js +1 -0
- package/dist/document-models/request-for-proposals/gen/schema/index.d.ts +3 -0
- package/dist/document-models/request-for-proposals/gen/schema/index.d.ts.map +1 -0
- package/dist/document-models/request-for-proposals/gen/schema/index.js +2 -0
- package/dist/document-models/request-for-proposals/gen/schema/types.d.ts +231 -0
- package/dist/document-models/request-for-proposals/gen/schema/types.d.ts.map +1 -0
- package/dist/document-models/request-for-proposals/gen/schema/types.js +1 -0
- package/dist/document-models/request-for-proposals/gen/schema/zod.d.ts +30 -0
- package/dist/document-models/request-for-proposals/gen/schema/zod.d.ts.map +1 -0
- package/dist/document-models/request-for-proposals/gen/schema/zod.js +176 -0
- package/dist/document-models/request-for-proposals/gen/types.d.ts +10 -0
- package/dist/document-models/request-for-proposals/gen/types.d.ts.map +1 -0
- package/dist/document-models/request-for-proposals/gen/types.js +1 -0
- package/dist/document-models/request-for-proposals/gen/utils.d.ts +13 -0
- package/dist/document-models/request-for-proposals/gen/utils.d.ts.map +1 -0
- package/dist/document-models/request-for-proposals/gen/utils.js +59 -0
- package/dist/document-models/request-for-proposals/index.d.ts +30 -0
- package/dist/document-models/request-for-proposals/index.d.ts.map +1 -0
- package/dist/document-models/request-for-proposals/index.js +21 -0
- package/dist/document-models/request-for-proposals/ph-factories.d.ts +27 -0
- package/dist/document-models/request-for-proposals/ph-factories.d.ts.map +1 -0
- package/dist/document-models/request-for-proposals/ph-factories.js +67 -0
- package/dist/document-models/request-for-proposals/src/reducers/contex-document.d.ts +8 -0
- package/dist/document-models/request-for-proposals/src/reducers/contex-document.d.ts.map +1 -0
- package/dist/document-models/request-for-proposals/src/reducers/contex-document.js +27 -0
- package/dist/document-models/request-for-proposals/src/reducers/proposals.d.ts +8 -0
- package/dist/document-models/request-for-proposals/src/reducers/proposals.d.ts.map +1 -0
- package/dist/document-models/request-for-proposals/src/reducers/proposals.js +56 -0
- package/dist/document-models/request-for-proposals/src/reducers/rfp-state.d.ts +8 -0
- package/dist/document-models/request-for-proposals/src/reducers/rfp-state.d.ts.map +1 -0
- package/dist/document-models/request-for-proposals/src/reducers/rfp-state.js +24 -0
- package/dist/document-models/request-for-proposals/src/tests/contex-document.test.d.ts +5 -0
- package/dist/document-models/request-for-proposals/src/tests/contex-document.test.d.ts.map +1 -0
- package/dist/document-models/request-for-proposals/src/tests/contex-document.test.js +185 -0
- package/dist/document-models/request-for-proposals/src/tests/document-model.test.d.ts +6 -0
- package/dist/document-models/request-for-proposals/src/tests/document-model.test.d.ts.map +1 -0
- package/dist/document-models/request-for-proposals/src/tests/document-model.test.js +18 -0
- package/dist/document-models/request-for-proposals/src/tests/proposals.test.d.ts +5 -0
- package/dist/document-models/request-for-proposals/src/tests/proposals.test.d.ts.map +1 -0
- package/dist/document-models/request-for-proposals/src/tests/proposals.test.js +332 -0
- package/dist/document-models/request-for-proposals/src/tests/rfp-state.test.d.ts +5 -0
- package/dist/document-models/request-for-proposals/src/tests/rfp-state.test.d.ts.map +1 -0
- package/dist/document-models/request-for-proposals/src/tests/rfp-state.test.js +243 -0
- package/dist/document-models/request-for-proposals/src/utils.d.ts +2 -0
- package/dist/document-models/request-for-proposals/src/utils.d.ts.map +1 -0
- package/dist/document-models/request-for-proposals/src/utils.js +1 -0
- package/dist/document-models/workstream/gen/actions.d.ts +6 -0
- package/dist/document-models/workstream/gen/actions.d.ts.map +1 -0
- package/dist/document-models/workstream/gen/actions.js +2 -0
- package/dist/document-models/workstream/gen/creators.d.ts +3 -0
- package/dist/document-models/workstream/gen/creators.d.ts.map +1 -0
- package/dist/document-models/workstream/gen/creators.js +2 -0
- package/dist/document-models/workstream/gen/document-model.d.ts +3 -0
- package/dist/document-models/workstream/gen/document-model.d.ts.map +1 -0
- package/dist/document-models/workstream/gen/document-model.js +143 -0
- package/dist/document-models/workstream/gen/index.d.ts +6 -0
- package/dist/document-models/workstream/gen/index.d.ts.map +1 -0
- package/dist/document-models/workstream/gen/index.js +5 -0
- package/dist/document-models/workstream/gen/object.d.ts +18 -0
- package/dist/document-models/workstream/gen/object.d.ts.map +1 -0
- package/dist/document-models/workstream/gen/object.js +27 -0
- package/dist/document-models/workstream/gen/proposals/actions.d.ts +20 -0
- package/dist/document-models/workstream/gen/proposals/actions.d.ts.map +1 -0
- package/dist/document-models/workstream/gen/proposals/actions.js +1 -0
- package/dist/document-models/workstream/gen/proposals/creators.d.ts +7 -0
- package/dist/document-models/workstream/gen/proposals/creators.d.ts.map +1 -0
- package/dist/document-models/workstream/gen/proposals/creators.js +6 -0
- package/dist/document-models/workstream/gen/proposals/error.d.ts +2 -0
- package/dist/document-models/workstream/gen/proposals/error.d.ts.map +1 -0
- package/dist/document-models/workstream/gen/proposals/error.js +1 -0
- package/dist/document-models/workstream/gen/proposals/object.d.ts +10 -0
- package/dist/document-models/workstream/gen/proposals/object.d.ts.map +1 -0
- package/dist/document-models/workstream/gen/proposals/object.js +16 -0
- package/dist/document-models/workstream/gen/proposals/operations.d.ts +10 -0
- package/dist/document-models/workstream/gen/proposals/operations.d.ts.map +1 -0
- package/dist/document-models/workstream/gen/proposals/operations.js +1 -0
- package/dist/document-models/workstream/gen/reducer.d.ts +3 -0
- package/dist/document-models/workstream/gen/reducer.d.ts.map +1 -0
- package/dist/document-models/workstream/gen/reducer.js +53 -0
- package/dist/document-models/workstream/gen/schema/index.d.ts +3 -0
- package/dist/document-models/workstream/gen/schema/index.d.ts.map +1 -0
- package/dist/document-models/workstream/gen/schema/index.js +2 -0
- package/dist/document-models/workstream/gen/schema/types.d.ts +225 -0
- package/dist/document-models/workstream/gen/schema/types.d.ts.map +1 -0
- package/dist/document-models/workstream/gen/schema/types.js +1 -0
- package/dist/document-models/workstream/gen/schema/zod.d.ts +29 -0
- package/dist/document-models/workstream/gen/schema/zod.d.ts.map +1 -0
- package/dist/document-models/workstream/gen/schema/zod.js +158 -0
- package/dist/document-models/workstream/gen/types.d.ts +10 -0
- package/dist/document-models/workstream/gen/types.d.ts.map +1 -0
- package/dist/document-models/workstream/gen/types.js +1 -0
- package/dist/document-models/workstream/gen/utils.d.ts +13 -0
- package/dist/document-models/workstream/gen/utils.d.ts.map +1 -0
- package/dist/document-models/workstream/gen/utils.js +51 -0
- package/dist/document-models/workstream/gen/workstream/actions.d.ts +24 -0
- package/dist/document-models/workstream/gen/workstream/actions.d.ts.map +1 -0
- package/dist/document-models/workstream/gen/workstream/actions.js +1 -0
- package/dist/document-models/workstream/gen/workstream/creators.d.ts +8 -0
- package/dist/document-models/workstream/gen/workstream/creators.d.ts.map +1 -0
- package/dist/document-models/workstream/gen/workstream/creators.js +7 -0
- package/dist/document-models/workstream/gen/workstream/error.d.ts +2 -0
- package/dist/document-models/workstream/gen/workstream/error.d.ts.map +1 -0
- package/dist/document-models/workstream/gen/workstream/error.js +1 -0
- package/dist/document-models/workstream/gen/workstream/object.d.ts +11 -0
- package/dist/document-models/workstream/gen/workstream/object.d.ts.map +1 -0
- package/dist/document-models/workstream/gen/workstream/object.js +19 -0
- package/dist/document-models/workstream/gen/workstream/operations.d.ts +11 -0
- package/dist/document-models/workstream/gen/workstream/operations.d.ts.map +1 -0
- package/dist/document-models/workstream/gen/workstream/operations.js +1 -0
- package/dist/document-models/workstream/index.d.ts +33 -0
- package/dist/document-models/workstream/index.d.ts.map +1 -0
- package/dist/document-models/workstream/index.js +21 -0
- package/dist/document-models/workstream/ph-factories.d.ts +27 -0
- package/dist/document-models/workstream/ph-factories.d.ts.map +1 -0
- package/dist/document-models/workstream/ph-factories.js +59 -0
- package/dist/document-models/workstream/src/reducers/proposals.d.ts +8 -0
- package/dist/document-models/workstream/src/reducers/proposals.d.ts.map +1 -0
- package/dist/document-models/workstream/src/reducers/proposals.js +106 -0
- package/dist/document-models/workstream/src/reducers/workstream.d.ts +8 -0
- package/dist/document-models/workstream/src/reducers/workstream.d.ts.map +1 -0
- package/dist/document-models/workstream/src/reducers/workstream.js +69 -0
- package/dist/document-models/workstream/src/tests/document-model.test.d.ts +6 -0
- package/dist/document-models/workstream/src/tests/document-model.test.d.ts.map +1 -0
- package/dist/document-models/workstream/src/tests/document-model.test.js +18 -0
- package/dist/document-models/workstream/src/tests/proposals-reducers.test.d.ts +5 -0
- package/dist/document-models/workstream/src/tests/proposals-reducers.test.d.ts.map +1 -0
- package/dist/document-models/workstream/src/tests/proposals-reducers.test.js +316 -0
- package/dist/document-models/workstream/src/tests/proposals.test.d.ts +6 -0
- package/dist/document-models/workstream/src/tests/proposals.test.d.ts.map +1 -0
- package/dist/document-models/workstream/src/tests/proposals.test.js +48 -0
- package/dist/document-models/workstream/src/tests/workstream-reducers.test.d.ts +5 -0
- package/dist/document-models/workstream/src/tests/workstream-reducers.test.d.ts.map +1 -0
- package/dist/document-models/workstream/src/tests/workstream-reducers.test.js +208 -0
- package/dist/document-models/workstream/src/tests/workstream.test.d.ts +6 -0
- package/dist/document-models/workstream/src/tests/workstream.test.d.ts.map +1 -0
- package/dist/document-models/workstream/src/tests/workstream.test.js +56 -0
- package/dist/document-models/workstream/src/utils.d.ts +2 -0
- package/dist/document-models/workstream/src/utils.d.ts.map +1 -0
- package/dist/document-models/workstream/src/utils.js +1 -0
- package/dist/editors/index.d.ts +7 -0
- package/dist/editors/index.d.ts.map +1 -0
- package/dist/editors/index.js +5 -0
- package/dist/editors/network-admin/components/CreateDocument.d.ts +6 -0
- package/dist/editors/network-admin/components/CreateDocument.d.ts.map +1 -0
- package/dist/editors/network-admin/components/CreateDocument.js +24 -0
- package/dist/editors/network-admin/components/DriveExplorer.d.ts +6 -0
- package/dist/editors/network-admin/components/DriveExplorer.d.ts.map +1 -0
- package/dist/editors/network-admin/components/DriveExplorer.js +460 -0
- package/dist/editors/network-admin/components/EditorContainer.d.ts +12 -0
- package/dist/editors/network-admin/components/EditorContainer.d.ts.map +1 -0
- package/dist/editors/network-admin/components/EditorContainer.js +81 -0
- package/dist/editors/network-admin/components/FolderTree.d.ts +15 -0
- package/dist/editors/network-admin/components/FolderTree.d.ts.map +1 -0
- package/dist/editors/network-admin/components/FolderTree.js +44 -0
- package/dist/editors/network-admin/components/IsolatedSidebar.d.ts +22 -0
- package/dist/editors/network-admin/components/IsolatedSidebar.d.ts.map +1 -0
- package/dist/editors/network-admin/components/IsolatedSidebar.js +106 -0
- package/dist/editors/network-admin/components/IsolatedSidebarProvider.d.ts +15 -0
- package/dist/editors/network-admin/components/IsolatedSidebarProvider.d.ts.map +1 -0
- package/dist/editors/network-admin/components/IsolatedSidebarProvider.js +367 -0
- package/dist/editors/network-admin/editor.d.ts +10 -0
- package/dist/editors/network-admin/editor.d.ts.map +1 -0
- package/dist/editors/network-admin/editor.js +22 -0
- package/dist/editors/network-admin/index.d.ts +4 -0
- package/dist/editors/network-admin/index.d.ts.map +1 -0
- package/dist/editors/network-admin/index.js +12 -0
- package/dist/editors/network-admin/utils.d.ts +60 -0
- package/dist/editors/network-admin/utils.d.ts.map +1 -0
- package/dist/editors/network-admin/utils.js +67 -0
- package/dist/editors/network-profile/editor.d.ts +4 -0
- package/dist/editors/network-profile/editor.d.ts.map +1 -0
- package/dist/editors/network-profile/editor.js +151 -0
- package/dist/editors/network-profile/index.d.ts +4 -0
- package/dist/editors/network-profile/index.d.ts.map +1 -0
- package/dist/editors/network-profile/index.js +12 -0
- package/dist/editors/payment-terms/basic-terms-tab.d.ts +8 -0
- package/dist/editors/payment-terms/basic-terms-tab.d.ts.map +1 -0
- package/dist/editors/payment-terms/basic-terms-tab.js +84 -0
- package/dist/editors/payment-terms/clauses-tab.d.ts +10 -0
- package/dist/editors/payment-terms/clauses-tab.d.ts.map +1 -0
- package/dist/editors/payment-terms/clauses-tab.js +208 -0
- package/dist/editors/payment-terms/cost-materials-tab.d.ts +8 -0
- package/dist/editors/payment-terms/cost-materials-tab.d.ts.map +1 -0
- package/dist/editors/payment-terms/cost-materials-tab.js +53 -0
- package/dist/editors/payment-terms/editor.d.ts +4 -0
- package/dist/editors/payment-terms/editor.d.ts.map +1 -0
- package/dist/editors/payment-terms/editor.js +45 -0
- package/dist/editors/payment-terms/escrow-tab.d.ts +8 -0
- package/dist/editors/payment-terms/escrow-tab.d.ts.map +1 -0
- package/dist/editors/payment-terms/escrow-tab.js +56 -0
- package/dist/editors/payment-terms/evaluation-tab.d.ts +8 -0
- package/dist/editors/payment-terms/evaluation-tab.d.ts.map +1 -0
- package/dist/editors/payment-terms/evaluation-tab.js +62 -0
- package/dist/editors/payment-terms/index.d.ts +4 -0
- package/dist/editors/payment-terms/index.d.ts.map +1 -0
- package/dist/editors/payment-terms/index.js +12 -0
- package/dist/editors/payment-terms/milestones-tab.d.ts +9 -0
- package/dist/editors/payment-terms/milestones-tab.d.ts.map +1 -0
- package/dist/editors/payment-terms/milestones-tab.js +193 -0
- package/dist/editors/payment-terms/retainer-tab.d.ts +8 -0
- package/dist/editors/payment-terms/retainer-tab.d.ts.map +1 -0
- package/dist/editors/payment-terms/retainer-tab.js +82 -0
- package/dist/editors/request-for-proposals/editor.d.ts +4 -0
- package/dist/editors/request-for-proposals/editor.d.ts.map +1 -0
- package/dist/editors/request-for-proposals/editor.js +42 -0
- package/dist/editors/request-for-proposals/index.d.ts +4 -0
- package/dist/editors/request-for-proposals/index.d.ts.map +1 -0
- package/dist/editors/request-for-proposals/index.js +12 -0
- package/dist/editors/request-for-proposals/markdown-editor.d.ts +12 -0
- package/dist/editors/request-for-proposals/markdown-editor.d.ts.map +1 -0
- package/dist/editors/request-for-proposals/markdown-editor.js +119 -0
- package/dist/editors/workstream/editor.d.ts +4 -0
- package/dist/editors/workstream/editor.d.ts.map +1 -0
- package/dist/editors/workstream/editor.js +450 -0
- package/dist/editors/workstream/index.d.ts +4 -0
- package/dist/editors/workstream/index.d.ts.map +1 -0
- package/dist/editors/workstream/index.js +12 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/powerhouse.manifest.json +65 -0
- package/dist/processors/index.d.ts +2 -0
- package/dist/processors/index.d.ts.map +1 -0
- package/dist/processors/index.js +1 -0
- package/dist/style.css +18384 -0
- package/dist/subgraphs/index.d.ts +6 -0
- package/dist/subgraphs/index.d.ts.map +1 -0
- package/dist/subgraphs/index.js +4 -0
- package/dist/subgraphs/network-profile/index.d.ts +10 -0
- package/dist/subgraphs/network-profile/index.d.ts.map +1 -0
- package/dist/subgraphs/network-profile/index.js +11 -0
- package/dist/subgraphs/network-profile/resolvers.d.ts +3 -0
- package/dist/subgraphs/network-profile/resolvers.d.ts.map +1 -0
- package/dist/subgraphs/network-profile/resolvers.js +145 -0
- package/dist/subgraphs/network-profile/schema.d.ts +3 -0
- package/dist/subgraphs/network-profile/schema.d.ts.map +1 -0
- package/dist/subgraphs/network-profile/schema.js +139 -0
- package/dist/subgraphs/payment-terms/index.d.ts +10 -0
- package/dist/subgraphs/payment-terms/index.d.ts.map +1 -0
- package/dist/subgraphs/payment-terms/index.js +11 -0
- package/dist/subgraphs/payment-terms/resolvers.d.ts +3 -0
- package/dist/subgraphs/payment-terms/resolvers.d.ts.map +1 -0
- package/dist/subgraphs/payment-terms/resolvers.js +260 -0
- package/dist/subgraphs/payment-terms/schema.d.ts +3 -0
- package/dist/subgraphs/payment-terms/schema.d.ts.map +1 -0
- package/dist/subgraphs/payment-terms/schema.js +302 -0
- package/dist/subgraphs/request-for-proposals/index.d.ts +10 -0
- package/dist/subgraphs/request-for-proposals/index.d.ts.map +1 -0
- package/dist/subgraphs/request-for-proposals/index.js +11 -0
- package/dist/subgraphs/request-for-proposals/resolvers.d.ts +3 -0
- package/dist/subgraphs/request-for-proposals/resolvers.d.ts.map +1 -0
- package/dist/subgraphs/request-for-proposals/resolvers.js +110 -0
- package/dist/subgraphs/request-for-proposals/schema.d.ts +3 -0
- package/dist/subgraphs/request-for-proposals/schema.d.ts.map +1 -0
- package/dist/subgraphs/request-for-proposals/schema.js +232 -0
- package/dist/subgraphs/workstream/index.d.ts +10 -0
- package/dist/subgraphs/workstream/index.d.ts.map +1 -0
- package/dist/subgraphs/workstream/index.js +11 -0
- package/dist/subgraphs/workstream/resolvers.d.ts +3 -0
- package/dist/subgraphs/workstream/resolvers.d.ts.map +1 -0
- package/dist/subgraphs/workstream/resolvers.js +131 -0
- package/dist/subgraphs/workstream/schema.d.ts +3 -0
- package/dist/subgraphs/workstream/schema.d.ts.map +1 -0
- package/dist/subgraphs/workstream/schema.js +206 -0
- package/dist/vitest.config.d.ts +3 -0
- package/dist/vitest.config.d.ts.map +1 -0
- package/dist/vitest.config.js +8 -0
- package/package.json +106 -0
|
@@ -0,0 +1,460 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Button, CreateDocumentModal, } from "@powerhousedao/design-system";
|
|
3
|
+
import { addDocument, setSelectedNode, useAllFolderNodes, useDocumentModelModules, useDriveContext, useDriveSharingType, useEditorModules, useFileChildNodes, useFolderChildNodes, useSelectedDrive, useSelectedFolder, useSelectedNodePath, useUserPermissions, useAllDocuments, } from "@powerhousedao/reactor-browser";
|
|
4
|
+
import { useCallback, useRef, useState, useMemo } from "react";
|
|
5
|
+
import { EditorContainer } from "./EditorContainer.jsx";
|
|
6
|
+
import { getNewDocumentObject } from "../utils.js";
|
|
7
|
+
import { IsolatedSidebarProvider } from "./IsolatedSidebarProvider.jsx";
|
|
8
|
+
import { IsolatedSidebar } from "./IsolatedSidebar.jsx";
|
|
9
|
+
/**
|
|
10
|
+
* Main drive explorer component with sidebar navigation and content area.
|
|
11
|
+
* Layout: Left sidebar (folder tree) + Right content area (files/folders + document editor)
|
|
12
|
+
*/
|
|
13
|
+
export function DriveExplorer(props) {
|
|
14
|
+
// === DOCUMENT EDITOR STATE ===
|
|
15
|
+
// Customize document opening/closing behavior here
|
|
16
|
+
const [activeDocumentId, setActiveDocumentId] = useState();
|
|
17
|
+
const [openModal, setOpenModal] = useState(false);
|
|
18
|
+
const [selectedRootNode, setSelectedRootNode] = useState("workstreams");
|
|
19
|
+
const [modalDocumentType, setModalDocumentType] = useState("powerhouse/workstream");
|
|
20
|
+
const selectedDocumentModel = useRef(null);
|
|
21
|
+
const editorModules = useEditorModules();
|
|
22
|
+
// === DRIVE CONTEXT HOOKS ===
|
|
23
|
+
// Core drive operations and document models
|
|
24
|
+
const { onAddFile, onAddFolder, onCopyNode, onDuplicateNode, onMoveNode, onRenameNode, showDeleteNodeModal, } = useDriveContext();
|
|
25
|
+
const { isAllowedToCreateDocuments } = useUserPermissions();
|
|
26
|
+
// === STATE MANAGEMENT HOOKS ===
|
|
27
|
+
// Core state hooks for drive navigation
|
|
28
|
+
const [selectedDrive] = useSelectedDrive(); // Currently selected drive
|
|
29
|
+
const selectedFolder = useSelectedFolder(); // Currently selected folder
|
|
30
|
+
const selectedNodePath = useSelectedNodePath();
|
|
31
|
+
const sharingType = useDriveSharingType(selectedDrive?.header.id);
|
|
32
|
+
const allDocuments = useAllDocuments();
|
|
33
|
+
// === NAVIGATION SETUP ===
|
|
34
|
+
// Breadcrumbs for folder navigation
|
|
35
|
+
// const { breadcrumbs, onBreadcrumbSelected } = useBreadcrumbs({
|
|
36
|
+
// selectedNodePath: selectedNodePath as any,
|
|
37
|
+
// setSelectedNode: (node) => setSelectedNode(node as any),
|
|
38
|
+
// getNodeById: (id: string) => (allFolders.find(node => node.id === id) || fileChildren.find(node => node.id === id)) as any || null,
|
|
39
|
+
// });
|
|
40
|
+
const folderChildren = useFolderChildNodes();
|
|
41
|
+
const fileChildren = useFileChildNodes();
|
|
42
|
+
const filesWithDocuments = fileChildren.map((file) => {
|
|
43
|
+
const document = allDocuments?.find((doc) => doc.header.id === file.id);
|
|
44
|
+
const state = document?.state.global;
|
|
45
|
+
return {
|
|
46
|
+
...file,
|
|
47
|
+
state,
|
|
48
|
+
};
|
|
49
|
+
});
|
|
50
|
+
// check if workstream doc is created, set isWorkstreamCreated to true
|
|
51
|
+
const isWorkstreamCreated = fileChildren.some((file) => file.documentType === "powerhouse/workstream");
|
|
52
|
+
//check if network profile doc is created, set isNetworkProfileCreated to true
|
|
53
|
+
const isNetworkProfileCreated = fileChildren.some((file) => file.documentType === "powerhouse/network-profile");
|
|
54
|
+
// All folders for the sidebar tree view
|
|
55
|
+
const allFolders = useAllFolderNodes();
|
|
56
|
+
// Convert folders and files to SidebarNode format
|
|
57
|
+
const sidebarNodes = useMemo(() => {
|
|
58
|
+
const workstreamsNode = {
|
|
59
|
+
id: "workstreams",
|
|
60
|
+
title: "Workstreams",
|
|
61
|
+
children: [
|
|
62
|
+
// Add folders
|
|
63
|
+
...allFolders
|
|
64
|
+
.filter((folder) => {
|
|
65
|
+
// Only root folders that contain non-network-profile documents
|
|
66
|
+
if (folder.parentFolder)
|
|
67
|
+
return false;
|
|
68
|
+
// Check if this folder or any of its subfolders contain non-network-profile documents
|
|
69
|
+
const hasNonNetworkProfileFiles = filesWithDocuments.some((file) => file.documentType !== "powerhouse/network-profile" &&
|
|
70
|
+
(file.parentFolder === folder.id ||
|
|
71
|
+
allFolders.some((subFolder) => subFolder.parentFolder === folder.id &&
|
|
72
|
+
file.parentFolder === subFolder.id)));
|
|
73
|
+
return hasNonNetworkProfileFiles;
|
|
74
|
+
})
|
|
75
|
+
.map((folder) => ({
|
|
76
|
+
id: folder.id,
|
|
77
|
+
title: folder.name,
|
|
78
|
+
children: [
|
|
79
|
+
// Add child folders
|
|
80
|
+
...allFolders
|
|
81
|
+
.filter((childFolder) => childFolder.parentFolder === folder.id &&
|
|
82
|
+
filesWithDocuments.some((file) => file.documentType !== "powerhouse/network-profile" &&
|
|
83
|
+
file.parentFolder === childFolder.id))
|
|
84
|
+
.map((childFolder) => ({
|
|
85
|
+
id: childFolder.id,
|
|
86
|
+
title: childFolder.name,
|
|
87
|
+
children: [
|
|
88
|
+
// Add files in this folder (exclude network-profile documents)
|
|
89
|
+
...filesWithDocuments
|
|
90
|
+
.filter((file) => file.parentFolder === childFolder.id &&
|
|
91
|
+
file.documentType !== "powerhouse/network-profile")
|
|
92
|
+
.map((file) => ({
|
|
93
|
+
id: `editor-${file.id}`,
|
|
94
|
+
title: `📄 ${file.state?.code || ""} - ${file.state?.title || file.name}`,
|
|
95
|
+
})),
|
|
96
|
+
],
|
|
97
|
+
})),
|
|
98
|
+
// Add files directly in this folder (exclude network-profile documents)
|
|
99
|
+
...filesWithDocuments
|
|
100
|
+
.filter((file) => file.parentFolder === folder.id &&
|
|
101
|
+
file.documentType !== "powerhouse/network-profile")
|
|
102
|
+
.map((file) => ({
|
|
103
|
+
id: `editor-${file.id}`,
|
|
104
|
+
title: `📄 ${file.state?.code || ""} - ${file.state?.title || file.name}`,
|
|
105
|
+
})),
|
|
106
|
+
],
|
|
107
|
+
})),
|
|
108
|
+
// Add root-level files (exclude network-profile documents)
|
|
109
|
+
...filesWithDocuments
|
|
110
|
+
.filter((file) => !file.parentFolder &&
|
|
111
|
+
file.documentType !== "powerhouse/network-profile")
|
|
112
|
+
.map((file) => ({
|
|
113
|
+
id: `editor-${file.id}`,
|
|
114
|
+
title: `📄 ${file.state?.code || ""} - ${file.state?.title || file.name}`,
|
|
115
|
+
})),
|
|
116
|
+
],
|
|
117
|
+
};
|
|
118
|
+
const networkInfoNode = {
|
|
119
|
+
id: "network-information",
|
|
120
|
+
title: "Network Information",
|
|
121
|
+
children: [
|
|
122
|
+
// Add folders that contain network-profile documents
|
|
123
|
+
...allFolders
|
|
124
|
+
.filter((folder) => {
|
|
125
|
+
// Check if this folder or any of its subfolders contain network-profile documents
|
|
126
|
+
const hasNetworkProfileFiles = filesWithDocuments.some((file) => file.documentType === "powerhouse/network-profile" &&
|
|
127
|
+
(file.parentFolder === folder.id ||
|
|
128
|
+
allFolders.some((subFolder) => subFolder.parentFolder === folder.id &&
|
|
129
|
+
file.parentFolder === subFolder.id)));
|
|
130
|
+
return hasNetworkProfileFiles;
|
|
131
|
+
})
|
|
132
|
+
.map((folder) => ({
|
|
133
|
+
id: folder.id,
|
|
134
|
+
title: folder.name,
|
|
135
|
+
children: [
|
|
136
|
+
// Add child folders that contain network-profile documents
|
|
137
|
+
...allFolders
|
|
138
|
+
.filter((childFolder) => childFolder.parentFolder === folder.id &&
|
|
139
|
+
filesWithDocuments.some((file) => file.documentType === "powerhouse/network-profile" &&
|
|
140
|
+
file.parentFolder === childFolder.id))
|
|
141
|
+
.map((childFolder) => ({
|
|
142
|
+
id: childFolder.id,
|
|
143
|
+
title: childFolder.name,
|
|
144
|
+
children: [
|
|
145
|
+
// Add network-profile files in this folder
|
|
146
|
+
...filesWithDocuments
|
|
147
|
+
.filter((file) => file.documentType === "powerhouse/network-profile" &&
|
|
148
|
+
file.parentFolder === childFolder.id)
|
|
149
|
+
.map((file) => ({
|
|
150
|
+
id: `editor-${file.id}`,
|
|
151
|
+
title: `📄 ${file.name}`,
|
|
152
|
+
})),
|
|
153
|
+
],
|
|
154
|
+
})),
|
|
155
|
+
// Add network-profile files directly in this folder
|
|
156
|
+
...filesWithDocuments
|
|
157
|
+
.filter((file) => file.documentType === "powerhouse/network-profile" &&
|
|
158
|
+
file.parentFolder === folder.id)
|
|
159
|
+
.map((file) => ({
|
|
160
|
+
id: `editor-${file.id}`,
|
|
161
|
+
title: `📄 ${file.name}`,
|
|
162
|
+
})),
|
|
163
|
+
],
|
|
164
|
+
})),
|
|
165
|
+
// Add root-level network-profile files
|
|
166
|
+
...filesWithDocuments
|
|
167
|
+
.filter((file) => !file.parentFolder &&
|
|
168
|
+
file.documentType === "powerhouse/network-profile")
|
|
169
|
+
.map((file) => ({
|
|
170
|
+
id: `editor-${file.id}`,
|
|
171
|
+
title: `📄 ${file.name}`,
|
|
172
|
+
})),
|
|
173
|
+
],
|
|
174
|
+
};
|
|
175
|
+
return [workstreamsNode, networkInfoNode];
|
|
176
|
+
}, [allFolders, filesWithDocuments]);
|
|
177
|
+
// Handle sidebar node selection
|
|
178
|
+
const handleActiveNodeChange = useCallback((nodeId) => {
|
|
179
|
+
console.log("nodeId", nodeId);
|
|
180
|
+
// Find the node by ID
|
|
181
|
+
const findNodeById = (nodes, id) => {
|
|
182
|
+
for (const node of nodes) {
|
|
183
|
+
if (node.id === id) {
|
|
184
|
+
return node;
|
|
185
|
+
}
|
|
186
|
+
if (node.children) {
|
|
187
|
+
const found = findNodeById(node.children, id);
|
|
188
|
+
if (found)
|
|
189
|
+
return found;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
return null;
|
|
193
|
+
};
|
|
194
|
+
const newNode = findNodeById(sidebarNodes, nodeId);
|
|
195
|
+
if (!newNode)
|
|
196
|
+
return;
|
|
197
|
+
if (newNode.id === "workstreams") {
|
|
198
|
+
setActiveDocumentId(undefined);
|
|
199
|
+
setSelectedRootNode("workstreams");
|
|
200
|
+
}
|
|
201
|
+
else if (newNode.id === "network-information") {
|
|
202
|
+
setActiveDocumentId(undefined);
|
|
203
|
+
setSelectedRootNode("network-information");
|
|
204
|
+
// Handle network information display
|
|
205
|
+
}
|
|
206
|
+
else if (newNode.id.startsWith("editor-")) {
|
|
207
|
+
// Extract file ID from editor-{file.id} format
|
|
208
|
+
const fileId = newNode.id.replace("editor-", "");
|
|
209
|
+
const file = fileChildren.find((f) => f.id === fileId);
|
|
210
|
+
setActiveDocumentId(fileId);
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
// Find if it's a folder
|
|
214
|
+
const folder = allFolders.find((f) => f.id === newNode.id);
|
|
215
|
+
if (folder) {
|
|
216
|
+
setActiveDocumentId(undefined);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
}, [
|
|
220
|
+
allFolders,
|
|
221
|
+
fileChildren,
|
|
222
|
+
setSelectedNode,
|
|
223
|
+
setActiveDocumentId,
|
|
224
|
+
sidebarNodes,
|
|
225
|
+
]);
|
|
226
|
+
// === EVENT HANDLERS ===
|
|
227
|
+
// Display function that switches views based on active node ID
|
|
228
|
+
const displayActiveNode = (activeNodeId) => {
|
|
229
|
+
// Determine the type of node and extract the actual ID
|
|
230
|
+
let nodeType = "unknown";
|
|
231
|
+
let actualId = activeNodeId;
|
|
232
|
+
if (activeNodeId === "workstreams") {
|
|
233
|
+
nodeType = "workstreams";
|
|
234
|
+
}
|
|
235
|
+
else if (activeNodeId === "network-information") {
|
|
236
|
+
nodeType = "network-information";
|
|
237
|
+
}
|
|
238
|
+
else if (activeNodeId.startsWith("editor-")) {
|
|
239
|
+
nodeType = "file";
|
|
240
|
+
actualId = activeNodeId.replace("editor-", "");
|
|
241
|
+
}
|
|
242
|
+
else {
|
|
243
|
+
// Check if it's a folder
|
|
244
|
+
const folder = allFolders.find((f) => f.id === activeNodeId);
|
|
245
|
+
if (folder) {
|
|
246
|
+
nodeType = "folder";
|
|
247
|
+
}
|
|
248
|
+
else {
|
|
249
|
+
// Check if it's a file (direct ID)
|
|
250
|
+
const file = fileChildren.find((f) => f.id === activeNodeId);
|
|
251
|
+
if (file) {
|
|
252
|
+
nodeType = "file";
|
|
253
|
+
actualId = activeNodeId; // Use the ID as-is for files
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
switch (nodeType) {
|
|
258
|
+
case "workstreams":
|
|
259
|
+
return (_jsxs("div", { className: "mt-20 p-4 flex flex-col items-center justify-center", children: [_jsxs("div", { className: "space-y-6 flex flex-col items-center justify-center", children: [_jsx("h1", { className: "text-2xl font-bold", children: "Welcome to the Network Admin" }), _jsx("p", { children: "Create a new workstream to get started, or select an existing workstream on the left" }), _jsxs("div", { className: "flex gap-3", children: [_jsx(Button, { color: "dark" // Customize button appearance
|
|
260
|
+
, size: "medium", className: "cursor-pointer hover:bg-gray-600 hover:text-white", title: "Create Workstream Document", "aria-description": "Create Workstream Document", onClick: () => {
|
|
261
|
+
setModalDocumentType("powerhouse/workstream");
|
|
262
|
+
setOpenModal(true);
|
|
263
|
+
}, disabled: isWorkstreamCreated, children: _jsx("span", { children: "Create Workstream Document" }) }), _jsx(Button, { color: "dark" // Customize button appearance
|
|
264
|
+
, size: "medium", className: "cursor-pointer hover:bg-gray-600 hover:text-white", title: "Create Network Profile Document", "aria-description": "Create Network Profile Document", onClick: () => {
|
|
265
|
+
setModalDocumentType("powerhouse/network-profile");
|
|
266
|
+
setOpenModal(true);
|
|
267
|
+
}, disabled: isNetworkProfileCreated, children: _jsx("span", { children: "Create Network Profile Document" }) })] })] }), (folderChildren.length > 0 || fileChildren.length > 0) && (_jsx("div", { className: "mt-10", children: _jsxs("div", { className: "grid grid-cols-2 gap-6", children: [_jsxs("div", { children: [_jsx("h3", { className: "mb-2 text-sm font-medium text-gray-500", children: "\uD83D\uDCC1 Folders" }), _jsx("div", { className: "space-y-2", children: folderChildren.map((folderNode) => folderNode && folderNode.id ? (_jsxs("div", { className: "p-2 border rounded", children: [_jsxs("div", { className: "font-medium", children: ["\uD83D\uDCC1 ", folderNode.name] }), _jsx("div", { className: "text-sm text-gray-500", children: "Folder" }), _jsxs("div", { className: "mt-2 flex gap-2", children: [_jsx("button", { onClick: () => setSelectedNode(folderNode), className: "px-2 py-1 bg-blue-500 text-white rounded text-sm hover:bg-blue-600", children: "Open" }), _jsx("button", { onClick: () => {
|
|
268
|
+
const newName = prompt("Enter new name:", folderNode.name || "");
|
|
269
|
+
if (newName &&
|
|
270
|
+
newName.trim() &&
|
|
271
|
+
newName !== folderNode.name) {
|
|
272
|
+
try {
|
|
273
|
+
onRenameNode(newName.trim(), folderNode);
|
|
274
|
+
}
|
|
275
|
+
catch (error) {
|
|
276
|
+
console.error("Failed to rename:", error);
|
|
277
|
+
alert("Failed to rename folder. Please try again.");
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
}, className: "px-2 py-1 bg-yellow-500 text-white rounded text-sm hover:bg-yellow-600", children: "Edit" }), _jsx("button", { onClick: () => showDeleteNodeModal(folderNode), className: "px-2 py-1 bg-red-500 text-white rounded text-sm hover:bg-red-600", children: "Delete" })] })] }, folderNode.id)) : null) })] }), _jsxs("div", { children: [_jsx("h3", { className: "mb-2 text-sm font-medium text-gray-500", children: "\uD83D\uDCC4 Documents" }), _jsx("div", { className: "space-y-2", children: fileChildren.map((fileNode) => (_jsxs("div", { className: "p-2 border rounded", children: [_jsx("div", { className: "font-medium", children: fileNode.name }), _jsx("div", { className: "text-sm text-gray-500", children: fileNode.documentType }), _jsxs("div", { className: "mt-2 flex gap-2", children: [_jsx("button", { onClick: () => {
|
|
281
|
+
setSelectedNode(fileNode);
|
|
282
|
+
setActiveDocumentId(fileNode.id);
|
|
283
|
+
}, className: "px-2 py-1 bg-blue-500 text-white rounded text-sm hover:bg-blue-600", children: "Open" }), _jsx("button", { onClick: () => {
|
|
284
|
+
if (!fileNode || !fileNode.id)
|
|
285
|
+
return;
|
|
286
|
+
const newName = prompt("Enter new name:", fileNode.name || "");
|
|
287
|
+
if (newName &&
|
|
288
|
+
newName.trim() &&
|
|
289
|
+
newName !== fileNode.name) {
|
|
290
|
+
try {
|
|
291
|
+
onRenameNode(newName.trim(), fileNode);
|
|
292
|
+
}
|
|
293
|
+
catch (error) {
|
|
294
|
+
alert("Failed to rename document. Please try again.");
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
}, className: "px-2 py-1 bg-yellow-500 text-white rounded text-sm hover:bg-yellow-600", children: "Edit" }), _jsx("button", { onClick: () => showDeleteNodeModal(fileNode), className: "px-2 py-1 bg-red-500 text-white rounded text-sm hover:bg-red-600", children: "Delete" })] })] }, fileNode.id))) })] })] }) }))] }));
|
|
298
|
+
case "folder":
|
|
299
|
+
const folder = allFolders.find((f) => f.id === actualId);
|
|
300
|
+
if (!folder)
|
|
301
|
+
return null;
|
|
302
|
+
return (_jsx("div", { className: "p-4", children: _jsxs("div", { className: "space-y-6", children: [_jsx("div", { className: "space-y-3", children: _jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("h2", { className: "text-lg font-semibold", children: ["Contents of \"", folder.name, "\""] }), _jsx("button", { onClick: () => {
|
|
303
|
+
setSelectedNode(selectedDrive?.header.id);
|
|
304
|
+
}, className: "rounded bg-gray-500 px-3 py-1 text-sm text-white hover:bg-gray-600", children: "Back" }), isAllowedToCreateDocuments && (_jsx("button", { onClick: () => handleCreateFolder(), className: "rounded bg-blue-500 px-3 py-1 text-sm text-white hover:bg-blue-600", children: "+ New Folder" }))] }) }), folderChildren.length > 0 && (_jsxs("div", { children: [_jsx("h3", { className: "mb-2 text-sm font-medium text-gray-500", children: "\uD83D\uDCC1 Folders" }), _jsx("div", { className: "grid grid-cols-1 gap-2", children: folderChildren.map((folderNode) => folderNode && folderNode.id ? (_jsxs("div", { className: "p-2 border rounded", children: [_jsxs("div", { className: "font-medium", children: ["\uD83D\uDCC1 ", folderNode.name] }), _jsx("div", { className: "text-sm text-gray-500", children: "Folder" }), _jsxs("div", { className: "mt-2 flex gap-2", children: [_jsx("button", { onClick: () => setSelectedNode(folderNode), className: "px-2 py-1 bg-blue-500 text-white rounded text-sm hover:bg-blue-600", children: "Open" }), _jsx("button", { onClick: () => {
|
|
305
|
+
const newName = prompt("Enter new name:", folderNode.name || "");
|
|
306
|
+
if (newName &&
|
|
307
|
+
newName.trim() &&
|
|
308
|
+
newName !== folderNode.name) {
|
|
309
|
+
try {
|
|
310
|
+
onRenameNode(newName.trim(), folderNode);
|
|
311
|
+
}
|
|
312
|
+
catch (error) {
|
|
313
|
+
console.error("Failed to rename:", error);
|
|
314
|
+
alert("Failed to rename folder. Please try again.");
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
}, className: "px-2 py-1 bg-yellow-500 text-white rounded text-sm hover:bg-yellow-600", children: "Edit" }), _jsx("button", { onClick: () => showDeleteNodeModal(folderNode), className: "px-2 py-1 bg-red-500 text-white rounded text-sm hover:bg-red-600", children: "Delete" })] })] }, folderNode.id)) : null) })] })), fileChildren.length > 0 ? (_jsxs("div", { children: [_jsx("h3", { className: "mb-2 text-sm font-medium text-gray-500", children: "\uD83D\uDCC4 Documents" }), _jsx("div", { className: "grid grid-cols-1 gap-2", children: fileChildren.map((fileNode) => (_jsxs("div", { className: "p-2 border rounded", children: [_jsx("div", { className: "font-medium", children: fileNode.name }), _jsx("div", { className: "text-sm text-gray-500", children: fileNode.documentType }), _jsxs("div", { className: "mt-2 flex gap-2", children: [_jsx("button", { onClick: () => {
|
|
318
|
+
setSelectedNode(fileNode);
|
|
319
|
+
setActiveDocumentId(fileNode.id);
|
|
320
|
+
}, className: "px-2 py-1 bg-blue-500 text-white rounded text-sm hover:bg-blue-600", children: "Open" }), _jsx("button", { onClick: () => {
|
|
321
|
+
if (!fileNode || !fileNode.id)
|
|
322
|
+
return;
|
|
323
|
+
const newName = prompt("Enter new name:", fileNode.name || "");
|
|
324
|
+
if (newName &&
|
|
325
|
+
newName.trim() &&
|
|
326
|
+
newName !== fileNode.name) {
|
|
327
|
+
try {
|
|
328
|
+
onRenameNode(newName.trim(), fileNode);
|
|
329
|
+
}
|
|
330
|
+
catch (error) {
|
|
331
|
+
alert("Failed to rename document. Please try again.");
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
}, className: "px-2 py-1 bg-yellow-500 text-white rounded text-sm hover:bg-yellow-600", children: "Edit" }), _jsx("button", { onClick: () => showDeleteNodeModal(fileNode), className: "px-2 py-1 bg-red-500 text-white rounded text-sm hover:bg-red-600", children: "Delete" })] })] }, fileNode.id))) })] })) : null, folderChildren.length === 0 && fileChildren.length === 0 && (_jsxs("div", { className: "py-12 text-center text-gray-500", children: [_jsx("p", { className: "text-lg", children: "\uD83D\uDDC2\uFE0F This folder is empty" }), _jsx("p", { className: "mt-2 text-sm", children: "Create your first document or folder below" })] }))] }) }));
|
|
335
|
+
case "network-information":
|
|
336
|
+
return (_jsxs("div", { className: "mt-20 p-4 flex flex-col items-center justify-center", children: [_jsxs("div", { className: "space-y-6 flex flex-col items-center justify-center", children: [_jsx("h1", { className: "text-2xl font-bold", children: "Network Information" }), _jsx("p", { children: "Create a new network profile to get started, or select an existing network profile from the left sidebar" }), _jsx("div", { className: "flex gap-3", children: _jsx(Button, { color: "dark", size: "medium", className: "cursor-pointer hover:bg-gray-600 hover:text-white", title: "Create Network Profile Document", "aria-description": "Create Network Profile Document", onClick: () => {
|
|
337
|
+
setModalDocumentType("powerhouse/network-profile");
|
|
338
|
+
setOpenModal(true);
|
|
339
|
+
}, disabled: isNetworkProfileCreated, children: _jsx("span", { children: "Create Network Profile Document" }) }) })] }), (folderChildren.length > 0 || fileChildren.length > 0) && (_jsx("div", { className: "mt-10", children: _jsxs("div", { className: "grid grid-cols-2 gap-6", children: [_jsxs("div", { children: [_jsx("h3", { className: "mb-2 text-sm font-medium text-gray-500", children: "\uD83D\uDCC1 Network Profile Folders" }), _jsx("div", { className: "space-y-2", children: folderChildren
|
|
340
|
+
.filter((folder) => {
|
|
341
|
+
// Only show folders that contain network-profile documents
|
|
342
|
+
return filesWithDocuments.some((file) => file.documentType ===
|
|
343
|
+
"powerhouse/network-profile" &&
|
|
344
|
+
(file.parentFolder === folder.id ||
|
|
345
|
+
allFolders.some((subFolder) => subFolder.parentFolder === folder.id &&
|
|
346
|
+
file.parentFolder === subFolder.id)));
|
|
347
|
+
})
|
|
348
|
+
.map((folderNode) => folderNode && folderNode.id ? (_jsxs("div", { className: "p-2 border rounded", children: [_jsxs("div", { className: "font-medium", children: ["\uD83D\uDCC1 ", folderNode.name] }), _jsx("div", { className: "text-sm text-gray-500", children: "Network Profile Folder" }), _jsxs("div", { className: "mt-2 flex gap-2", children: [_jsx("button", { onClick: () => setSelectedNode(folderNode), className: "px-2 py-1 bg-blue-500 text-white rounded text-sm hover:bg-blue-600", children: "Open" }), _jsx("button", { onClick: () => {
|
|
349
|
+
const newName = prompt("Enter new name:", folderNode.name || "");
|
|
350
|
+
if (newName &&
|
|
351
|
+
newName.trim() &&
|
|
352
|
+
newName !== folderNode.name) {
|
|
353
|
+
try {
|
|
354
|
+
onRenameNode(newName.trim(), folderNode);
|
|
355
|
+
}
|
|
356
|
+
catch (error) {
|
|
357
|
+
console.error("Failed to rename:", error);
|
|
358
|
+
alert("Failed to rename folder. Please try again.");
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
}, className: "px-2 py-1 bg-yellow-500 text-white rounded text-sm hover:bg-blue-600", children: "Edit" }), _jsx("button", { onClick: () => showDeleteNodeModal(folderNode), className: "px-2 py-1 bg-red-500 text-white rounded text-sm hover:bg-red-600", children: "Delete" })] })] }, folderNode.id)) : null) })] }), _jsxs("div", { children: [_jsx("h3", { className: "mb-2 text-sm font-medium text-gray-500", children: "\uD83C\uDF10 Network Profile Documents" }), _jsx("div", { className: "space-y-2", children: filesWithDocuments
|
|
362
|
+
.filter((file) => file.documentType === "powerhouse/network-profile")
|
|
363
|
+
.map((fileNode) => (_jsxs("div", { className: "p-2 border rounded", children: [_jsxs("div", { className: "font-medium", children: ["\uD83C\uDF10 ", fileNode.name] }), _jsx("div", { className: "text-sm text-gray-500", children: "Network Profile" }), _jsxs("div", { className: "mt-2 flex gap-2", children: [_jsx("button", { onClick: () => {
|
|
364
|
+
setSelectedNode(fileNode);
|
|
365
|
+
setActiveDocumentId(fileNode.id);
|
|
366
|
+
}, className: "px-2 py-1 bg-blue-500 text-white rounded text-sm hover:bg-blue-600", children: "Open" }), _jsx("button", { onClick: () => {
|
|
367
|
+
if (!fileNode || !fileNode.id)
|
|
368
|
+
return;
|
|
369
|
+
const newName = prompt("Enter new name:", fileNode.name || "");
|
|
370
|
+
if (newName &&
|
|
371
|
+
newName.trim() &&
|
|
372
|
+
newName !== fileNode.name) {
|
|
373
|
+
try {
|
|
374
|
+
onRenameNode(newName.trim(), fileNode);
|
|
375
|
+
}
|
|
376
|
+
catch (error) {
|
|
377
|
+
alert("Failed to rename document. Please try again.");
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
}, className: "px-2 py-1 bg-yellow-500 text-white rounded text-sm hover:bg-blue-600", children: "Edit" }), _jsx("button", { onClick: () => showDeleteNodeModal(fileNode), className: "px-2 py-1 bg-red-500 text-white rounded text-sm hover:bg-red-600", children: "Delete" })] })] }, fileNode.id))) })] })] }) })), folderChildren.length === 0 && fileChildren.length === 0 && (_jsxs("div", { className: "py-12 text-center text-gray-500", children: [_jsx("p", { className: "text-lg", children: "\uD83C\uDF10 No network profiles yet" }), _jsx("p", { className: "mt-2 text-sm", children: "Create your first network profile above" })] }))] }));
|
|
381
|
+
default:
|
|
382
|
+
return _jsxs("div", { children: ["Unknown node type: ", nodeType] });
|
|
383
|
+
}
|
|
384
|
+
};
|
|
385
|
+
// Handle folder creation with optional name parameter
|
|
386
|
+
const handleCreateFolder = useCallback(async (folderName) => {
|
|
387
|
+
let name = folderName;
|
|
388
|
+
// If no name provided, prompt for it (for manual folder creation)
|
|
389
|
+
if (!name) {
|
|
390
|
+
const promptResult = prompt("Enter folder name:");
|
|
391
|
+
name = promptResult || undefined;
|
|
392
|
+
}
|
|
393
|
+
if (name?.trim()) {
|
|
394
|
+
try {
|
|
395
|
+
await onAddFolder(name.trim(), selectedFolder);
|
|
396
|
+
}
|
|
397
|
+
catch (error) {
|
|
398
|
+
console.error("Failed to create folder:", error);
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
}, [onAddFolder, selectedFolder]);
|
|
402
|
+
// Handle document creation from modal
|
|
403
|
+
const onCreateDocument = useCallback(async (fileName) => {
|
|
404
|
+
setOpenModal(false);
|
|
405
|
+
// Use the document type that was set when the modal was opened
|
|
406
|
+
const documentType = modalDocumentType;
|
|
407
|
+
// Determine editor type based on document type
|
|
408
|
+
const editorType = documentType === "powerhouse/network-profile"
|
|
409
|
+
? "network-profile-editor"
|
|
410
|
+
: "workstream-editor";
|
|
411
|
+
console.log(`Creating ${documentType} document: ${fileName}`);
|
|
412
|
+
try {
|
|
413
|
+
let folder = undefined;
|
|
414
|
+
if (documentType === "powerhouse/workstream") {
|
|
415
|
+
folder = await onAddFolder(fileName, undefined);
|
|
416
|
+
}
|
|
417
|
+
const node = await addDocument(selectedDrive?.header.id || "", fileName, documentType, folder?.id, getNewDocumentObject(fileName, documentType), undefined, editorType);
|
|
418
|
+
selectedDocumentModel.current = null;
|
|
419
|
+
console.log("Created document node", node);
|
|
420
|
+
if (node) {
|
|
421
|
+
// Customize: Auto-open created document by uncommenting below
|
|
422
|
+
// setActiveDocumentId(node.id);
|
|
423
|
+
// Refresh the sidebar by triggering a re-render
|
|
424
|
+
// Set the root node based on the document type that was created
|
|
425
|
+
if (documentType === "powerhouse/network-profile") {
|
|
426
|
+
setSelectedRootNode("network-information");
|
|
427
|
+
}
|
|
428
|
+
else {
|
|
429
|
+
setSelectedRootNode("workstreams");
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
}
|
|
433
|
+
catch (error) {
|
|
434
|
+
console.error("Failed to create document:", error);
|
|
435
|
+
}
|
|
436
|
+
}, [
|
|
437
|
+
addDocument,
|
|
438
|
+
selectedDrive?.header.id,
|
|
439
|
+
selectedFolder?.id,
|
|
440
|
+
modalDocumentType,
|
|
441
|
+
]);
|
|
442
|
+
// === DOCUMENT EDITOR DATA ===
|
|
443
|
+
// Filter available document types here if needed
|
|
444
|
+
const documentModelModules = useDocumentModelModules();
|
|
445
|
+
// Get active document and its editor components
|
|
446
|
+
const activeDocument = activeDocumentId
|
|
447
|
+
? fileChildren.find((file) => file.id === activeDocumentId)
|
|
448
|
+
: undefined;
|
|
449
|
+
const documentModelModule = activeDocument
|
|
450
|
+
? documentModelModules?.find((m) => m.documentModel.id === activeDocument.documentType)
|
|
451
|
+
: null;
|
|
452
|
+
const editorModule = activeDocument
|
|
453
|
+
? editorModules?.find((e) => e.documentTypes.includes(activeDocument.documentType))
|
|
454
|
+
: null;
|
|
455
|
+
// === RENDER ===
|
|
456
|
+
return (_jsx(IsolatedSidebarProvider, { nodes: sidebarNodes, children: _jsxs("div", { className: "flex h-full", children: [_jsx(IsolatedSidebar, { nodes: sidebarNodes, activeNodeId: selectedFolder?.id || activeDocumentId, onActiveNodeChange: handleActiveNodeChange, sidebarTitle: "Network Admin", showSearchBar: true, allowPinning: true, resizable: true, initialWidth: 300, maxWidth: 500, enableMacros: 2, handleOnTitleClick: () => {
|
|
457
|
+
setActiveDocumentId(undefined);
|
|
458
|
+
setSelectedRootNode("workstreams");
|
|
459
|
+
} }), _jsx("div", { className: "flex-1 overflow-y-auto", children: activeDocumentId ? (_jsx(EditorContainer, { handleClose: () => setActiveDocumentId(undefined), hideToolbar: false, activeDocumentId: activeDocumentId, setActiveDocumentId: setActiveDocumentId })) : (displayActiveNode(selectedFolder?.id || selectedRootNode)) }), _jsx(CreateDocumentModal, { onContinue: onCreateDocument, onOpenChange: (open) => setOpenModal(open), open: openModal })] }) }));
|
|
460
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Document editor container that wraps individual document editors.
|
|
3
|
+
* Handles document loading, toolbar, revision history, and dynamic editor loading.
|
|
4
|
+
* Customize toolbar actions and editor context here.
|
|
5
|
+
*/
|
|
6
|
+
export declare const EditorContainer: (props: {
|
|
7
|
+
handleClose: () => void;
|
|
8
|
+
hideToolbar?: boolean;
|
|
9
|
+
activeDocumentId: string;
|
|
10
|
+
setActiveDocumentId: (id: string) => void;
|
|
11
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
//# sourceMappingURL=EditorContainer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EditorContainer.d.ts","sourceRoot":"","sources":["../../../../editors/network-admin/components/EditorContainer.tsx"],"names":[],"mappings":"AAqBA;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO;IACrC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C,4CAiKA,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { getRevisionFromDate, useTimelineItems } from "@powerhousedao/common";
|
|
3
|
+
import { DocumentToolbar, RevisionHistory, } from "@powerhousedao/design-system";
|
|
4
|
+
import { exportFile, useEditorModuleById, useSelectedDrive, useDocumentById, addDocument, useNodes, } from "@powerhousedao/reactor-browser";
|
|
5
|
+
import { Suspense, useCallback, useState } from "react";
|
|
6
|
+
import { getNewDocumentObject } from "../utils.js";
|
|
7
|
+
/**
|
|
8
|
+
* Document editor container that wraps individual document editors.
|
|
9
|
+
* Handles document loading, toolbar, revision history, and dynamic editor loading.
|
|
10
|
+
* Customize toolbar actions and editor context here.
|
|
11
|
+
*/
|
|
12
|
+
export const EditorContainer = (props) => {
|
|
13
|
+
const { handleClose, hideToolbar = false, activeDocumentId, setActiveDocumentId, } = props;
|
|
14
|
+
// UI state for revision history and timeline
|
|
15
|
+
const [selectedTimelineItem, setSelectedTimelineItem] = useState(null);
|
|
16
|
+
const [showRevisionHistory, setShowRevisionHistory] = useState(false);
|
|
17
|
+
const [selectedDocument, dispatch] = useDocumentById(props.activeDocumentId);
|
|
18
|
+
const [selectedDrive] = useSelectedDrive();
|
|
19
|
+
const nodes = useNodes();
|
|
20
|
+
const folderId = nodes?.find((node) => node.id === selectedDocument?.header.id)
|
|
21
|
+
?.parentFolder || undefined;
|
|
22
|
+
const createRfpDocument = useCallback(async () => {
|
|
23
|
+
const rfpDocName = `RFP-${selectedDocument?.state.global?.title || "Untitled"}`;
|
|
24
|
+
const rfpDocCode = `RFP-${selectedDocument?.state.global?.code || ""}`;
|
|
25
|
+
try {
|
|
26
|
+
const createdNode = await addDocument(selectedDrive?.header.id || "", rfpDocName, "powerhouse/rfp", folderId, getNewDocumentObject(rfpDocName, "powerhouse/rfp", rfpDocCode), undefined, "request-for-proposals-editor");
|
|
27
|
+
return createdNode;
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
console.error("Error creating RFP document", error);
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
}, [selectedDrive, selectedDocument?.state.global, folderId]);
|
|
34
|
+
const createSowDocument = useCallback(async () => {
|
|
35
|
+
const sowDocName = `SOW-${selectedDocument?.state.global?.title || "Untitled"}`;
|
|
36
|
+
try {
|
|
37
|
+
const createdNode = await addDocument(selectedDrive?.header.id || "", sowDocName, "powerhouse/scopeofwork", folderId, getNewDocumentObject(sowDocName, "powerhouse/scopeofwork"), undefined, "scope-of-work-editor");
|
|
38
|
+
return createdNode;
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
console.error("Error creating SOW document", error);
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
}, [selectedDrive, selectedDocument?.state.global, folderId]);
|
|
45
|
+
const createPaymentTermsDocument = useCallback(async () => {
|
|
46
|
+
const paymentTermsDocName = `Payment Terms-${selectedDocument?.state.global?.title || "Untitled"}`;
|
|
47
|
+
try {
|
|
48
|
+
const createdNode = await addDocument(selectedDrive?.header.id || "", paymentTermsDocName, "payment-terms", folderId, getNewDocumentObject(paymentTermsDocName, "payment-terms"), undefined, "payment-terms-editor");
|
|
49
|
+
return createdNode;
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
console.error("Error creating Payment Terms document", error);
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
}, [selectedDrive, selectedDocument?.state.global, folderId]);
|
|
56
|
+
// Timeline data for revision history
|
|
57
|
+
const timelineItems = useTimelineItems(selectedDocument?.header.id, selectedDocument?.header.createdAtUtcIso, selectedDrive?.header.id);
|
|
58
|
+
const editorModule = useEditorModuleById(selectedDocument?.header.meta?.preferredEditor);
|
|
59
|
+
// Document export functionality - customize export behavior here
|
|
60
|
+
const onExport = useCallback(async () => {
|
|
61
|
+
if (selectedDocument) {
|
|
62
|
+
await exportFile(selectedDocument);
|
|
63
|
+
}
|
|
64
|
+
}, [selectedDocument]);
|
|
65
|
+
// Loading state component
|
|
66
|
+
const loadingContent = (_jsx("div", { className: "flex h-full flex-1 items-center justify-center", children: _jsx("div", { children: "sth is wrong fix yourself" }) }));
|
|
67
|
+
if (!selectedDocument)
|
|
68
|
+
return loadingContent;
|
|
69
|
+
// Dynamically load the appropriate editor component for this document type
|
|
70
|
+
const EditorComponent = editorModule?.Component;
|
|
71
|
+
if (!EditorComponent)
|
|
72
|
+
return loadingContent;
|
|
73
|
+
return (_jsx("div", { className: "", children: showRevisionHistory ? (
|
|
74
|
+
// Revision history view
|
|
75
|
+
_jsx(RevisionHistory, { documentId: selectedDocument.header.id, documentTitle: selectedDocument.header.name, globalOperations: selectedDocument.operations.global, localOperations: selectedDocument.operations.local, onClose: () => setShowRevisionHistory(false) }, selectedDocument.header.id)) : (
|
|
76
|
+
// Main editor view
|
|
77
|
+
_jsxs(Suspense, { fallback: loadingContent, children: [!hideToolbar && (_jsx(DocumentToolbar, { onClose: handleClose, onExport: onExport, onShowRevisionHistory: () => setShowRevisionHistory(true), onSwitchboardLinkClick: () => { }, title: selectedDocument.header.name, timelineButtonVisible: editorModule.config.timelineEnabled, timelineItems: timelineItems.data, onTimelineItemClick: setSelectedTimelineItem })), _jsx(EditorComponent, { context: {
|
|
78
|
+
readMode: !!selectedTimelineItem,
|
|
79
|
+
selectedTimelineRevision: getRevisionFromDate(selectedTimelineItem?.startDate, selectedTimelineItem?.endDate, selectedDocument.operations.global),
|
|
80
|
+
}, dispatch: dispatch, document: selectedDocument, error: console.error, createRfp: createRfpDocument, setActiveDocumentId: setActiveDocumentId, createSow: createSowDocument, createPaymentTerms: createPaymentTermsDocument })] })) }));
|
|
81
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { FolderNode, FileNode } from "document-drive";
|
|
2
|
+
interface FolderTreeProps {
|
|
3
|
+
folders: FolderNode[];
|
|
4
|
+
files: FileNode[];
|
|
5
|
+
selectedNodeId?: string;
|
|
6
|
+
onSelectNode: (nodeId: string | undefined) => void;
|
|
7
|
+
onSelectFile: (fileNode: FileNode) => void;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Hierarchical folder tree navigation component.
|
|
11
|
+
* Displays folders in a tree structure with expand/collapse functionality.
|
|
12
|
+
*/
|
|
13
|
+
export declare function FolderTree({ folders, files, selectedNodeId, onSelectNode, onSelectFile, }: FolderTreeProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=FolderTree.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FolderTree.d.ts","sourceRoot":"","sources":["../../../../editors/network-admin/components/FolderTree.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG3D,UAAU,eAAe;IACvB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACnD,YAAY,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;CAC5C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EACzB,OAAO,EACP,KAAK,EACL,cAAc,EACd,YAAY,EACZ,YAAY,GACb,EAAE,eAAe,2CAqHjB"}
|