@mj-biz-apps/forms-ng 0.0.0 → 0.2.0
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/lib/builder/builder-models.d.ts +27 -0
- package/dist/lib/builder/builder-models.d.ts.map +1 -0
- package/dist/lib/builder/builder-models.js +15 -0
- package/dist/lib/builder/builder-models.js.map +1 -0
- package/dist/lib/builder/builder-state.service.d.ts +48 -0
- package/dist/lib/builder/builder-state.service.d.ts.map +1 -0
- package/dist/lib/builder/builder-state.service.js +231 -0
- package/dist/lib/builder/builder-state.service.js.map +1 -0
- package/dist/lib/builder/builder-styles.d.ts +12 -0
- package/dist/lib/builder/builder-styles.d.ts.map +1 -0
- package/dist/lib/builder/builder-styles.js +74 -0
- package/dist/lib/builder/builder-styles.js.map +1 -0
- package/dist/lib/builder/conditional-rule-editor.component.d.ts +53 -0
- package/dist/lib/builder/conditional-rule-editor.component.d.ts.map +1 -0
- package/dist/lib/builder/conditional-rule-editor.component.js +282 -0
- package/dist/lib/builder/conditional-rule-editor.component.js.map +1 -0
- package/dist/lib/builder/design-panel.component.d.ts +71 -0
- package/dist/lib/builder/design-panel.component.d.ts.map +1 -0
- package/dist/lib/builder/design-panel.component.js +530 -0
- package/dist/lib/builder/design-panel.component.js.map +1 -0
- package/dist/lib/builder/design-panel.styles.d.ts +10 -0
- package/dist/lib/builder/design-panel.styles.d.ts.map +1 -0
- package/dist/lib/builder/design-panel.styles.js +78 -0
- package/dist/lib/builder/design-panel.styles.js.map +1 -0
- package/dist/lib/builder/design-state.service.d.ts +51 -0
- package/dist/lib/builder/design-state.service.d.ts.map +1 -0
- package/dist/lib/builder/design-state.service.js +108 -0
- package/dist/lib/builder/design-state.service.js.map +1 -0
- package/dist/lib/builder/distribution-links.d.ts +29 -0
- package/dist/lib/builder/distribution-links.d.ts.map +1 -0
- package/dist/lib/builder/distribution-links.js +53 -0
- package/dist/lib/builder/distribution-links.js.map +1 -0
- package/dist/lib/builder/distribution-manager.component.d.ts +53 -0
- package/dist/lib/builder/distribution-manager.component.d.ts.map +1 -0
- package/dist/lib/builder/distribution-manager.component.js +330 -0
- package/dist/lib/builder/distribution-manager.component.js.map +1 -0
- package/dist/lib/builder/distribution.service.d.ts +62 -0
- package/dist/lib/builder/distribution.service.d.ts.map +1 -0
- package/dist/lib/builder/distribution.service.js +140 -0
- package/dist/lib/builder/distribution.service.js.map +1 -0
- package/dist/lib/builder/entity-names.d.ts +20 -0
- package/dist/lib/builder/entity-names.d.ts.map +1 -0
- package/dist/lib/builder/entity-names.js +20 -0
- package/dist/lib/builder/entity-names.js.map +1 -0
- package/dist/lib/builder/form-builder.component.d.ts +92 -0
- package/dist/lib/builder/form-builder.component.d.ts.map +1 -0
- package/dist/lib/builder/form-builder.component.js +627 -0
- package/dist/lib/builder/form-builder.component.js.map +1 -0
- package/dist/lib/builder/form-builder.styles.d.ts +3 -0
- package/dist/lib/builder/form-builder.styles.d.ts.map +1 -0
- package/dist/lib/builder/form-builder.styles.js +94 -0
- package/dist/lib/builder/form-builder.styles.js.map +1 -0
- package/dist/lib/builder/form-preview-modal.component.d.ts +25 -0
- package/dist/lib/builder/form-preview-modal.component.d.ts.map +1 -0
- package/dist/lib/builder/form-preview-modal.component.js +90 -0
- package/dist/lib/builder/form-preview-modal.component.js.map +1 -0
- package/dist/lib/builder/index.d.ts +31 -0
- package/dist/lib/builder/index.d.ts.map +1 -0
- package/dist/lib/builder/index.js +32 -0
- package/dist/lib/builder/index.js.map +1 -0
- package/dist/lib/builder/json-fields.d.ts +14 -0
- package/dist/lib/builder/json-fields.d.ts.map +1 -0
- package/dist/lib/builder/json-fields.js +100 -0
- package/dist/lib/builder/json-fields.js.map +1 -0
- package/dist/lib/builder/publish.service.d.ts +34 -0
- package/dist/lib/builder/publish.service.d.ts.map +1 -0
- package/dist/lib/builder/publish.service.js +110 -0
- package/dist/lib/builder/publish.service.js.map +1 -0
- package/dist/lib/builder/qr-code.d.ts +26 -0
- package/dist/lib/builder/qr-code.d.ts.map +1 -0
- package/dist/lib/builder/qr-code.js +361 -0
- package/dist/lib/builder/qr-code.js.map +1 -0
- package/dist/lib/builder/question-editor.component.d.ts +41 -0
- package/dist/lib/builder/question-editor.component.d.ts.map +1 -0
- package/dist/lib/builder/question-editor.component.js +228 -0
- package/dist/lib/builder/question-editor.component.js.map +1 -0
- package/dist/lib/builder/question-type-catalog.d.ts +29 -0
- package/dist/lib/builder/question-type-catalog.d.ts.map +1 -0
- package/dist/lib/builder/question-type-catalog.js +43 -0
- package/dist/lib/builder/question-type-catalog.js.map +1 -0
- package/dist/lib/builder/reorder.d.ts +10 -0
- package/dist/lib/builder/reorder.d.ts.map +1 -0
- package/dist/lib/builder/reorder.js +18 -0
- package/dist/lib/builder/reorder.js.map +1 -0
- package/dist/lib/builder/snapshot-builder.d.ts +16 -0
- package/dist/lib/builder/snapshot-builder.d.ts.map +1 -0
- package/dist/lib/builder/snapshot-builder.js +93 -0
- package/dist/lib/builder/snapshot-builder.js.map +1 -0
- package/dist/lib/builder/style-tokens.d.ts +54 -0
- package/dist/lib/builder/style-tokens.d.ts.map +1 -0
- package/dist/lib/builder/style-tokens.js +71 -0
- package/dist/lib/builder/style-tokens.js.map +1 -0
- package/dist/lib/builder/validation-rule-editor.component.d.ts +27 -0
- package/dist/lib/builder/validation-rule-editor.component.d.ts.map +1 -0
- package/dist/lib/builder/validation-rule-editor.component.js +179 -0
- package/dist/lib/builder/validation-rule-editor.component.js.map +1 -0
- package/dist/lib/dashboard/components/distribution-chart.component.d.ts +14 -0
- package/dist/lib/dashboard/components/distribution-chart.component.d.ts.map +1 -0
- package/dist/lib/dashboard/components/distribution-chart.component.js +85 -0
- package/dist/lib/dashboard/components/distribution-chart.component.js.map +1 -0
- package/dist/lib/dashboard/components/funnel-chart.component.d.ts +14 -0
- package/dist/lib/dashboard/components/funnel-chart.component.d.ts.map +1 -0
- package/dist/lib/dashboard/components/funnel-chart.component.js +101 -0
- package/dist/lib/dashboard/components/funnel-chart.component.js.map +1 -0
- package/dist/lib/dashboard/components/question-breakdown.component.d.ts +16 -0
- package/dist/lib/dashboard/components/question-breakdown.component.d.ts.map +1 -0
- package/dist/lib/dashboard/components/question-breakdown.component.js +213 -0
- package/dist/lib/dashboard/components/question-breakdown.component.js.map +1 -0
- package/dist/lib/dashboard/components/response-detail.component.d.ts +11 -0
- package/dist/lib/dashboard/components/response-detail.component.d.ts.map +1 -0
- package/dist/lib/dashboard/components/response-detail.component.js +113 -0
- package/dist/lib/dashboard/components/response-detail.component.js.map +1 -0
- package/dist/lib/dashboard/components/response-list.component.d.ts +27 -0
- package/dist/lib/dashboard/components/response-list.component.d.ts.map +1 -0
- package/dist/lib/dashboard/components/response-list.component.js +196 -0
- package/dist/lib/dashboard/components/response-list.component.js.map +1 -0
- package/dist/lib/dashboard/components/summary-stats.component.d.ts +12 -0
- package/dist/lib/dashboard/components/summary-stats.component.d.ts.map +1 -0
- package/dist/lib/dashboard/components/summary-stats.component.js +112 -0
- package/dist/lib/dashboard/components/summary-stats.component.js.map +1 -0
- package/dist/lib/dashboard/forms-reporting-dashboard.component.d.ts +64 -0
- package/dist/lib/dashboard/forms-reporting-dashboard.component.d.ts.map +1 -0
- package/dist/lib/dashboard/forms-reporting-dashboard.component.js +397 -0
- package/dist/lib/dashboard/forms-reporting-dashboard.component.js.map +1 -0
- package/dist/lib/dashboard/index.d.ts +19 -0
- package/dist/lib/dashboard/index.d.ts.map +1 -0
- package/dist/lib/dashboard/index.js +19 -0
- package/dist/lib/dashboard/index.js.map +1 -0
- package/dist/lib/dashboard/models/reporting.model.d.ts +125 -0
- package/dist/lib/dashboard/models/reporting.model.d.ts.map +1 -0
- package/dist/lib/dashboard/models/reporting.model.js +2 -0
- package/dist/lib/dashboard/models/reporting.model.js.map +1 -0
- package/dist/lib/dashboard/services/forms-reporting-export.service.d.ts +21 -0
- package/dist/lib/dashboard/services/forms-reporting-export.service.d.ts.map +1 -0
- package/dist/lib/dashboard/services/forms-reporting-export.service.js +83 -0
- package/dist/lib/dashboard/services/forms-reporting-export.service.js.map +1 -0
- package/dist/lib/dashboard/services/forms-reporting-mock.d.ts +18 -0
- package/dist/lib/dashboard/services/forms-reporting-mock.d.ts.map +1 -0
- package/dist/lib/dashboard/services/forms-reporting-mock.js +147 -0
- package/dist/lib/dashboard/services/forms-reporting-mock.js.map +1 -0
- package/dist/lib/dashboard/services/forms-reporting.service.d.ts +45 -0
- package/dist/lib/dashboard/services/forms-reporting.service.d.ts.map +1 -0
- package/dist/lib/dashboard/services/forms-reporting.service.js +230 -0
- package/dist/lib/dashboard/services/forms-reporting.service.js.map +1 -0
- package/dist/lib/dashboard/services/reporting-aggregations.d.ts +40 -0
- package/dist/lib/dashboard/services/reporting-aggregations.d.ts.map +1 -0
- package/dist/lib/dashboard/services/reporting-aggregations.js +379 -0
- package/dist/lib/dashboard/services/reporting-aggregations.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonAddress/mjbizappscommonaddress.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonAddress/mjbizappscommonaddress.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonAddress/mjbizappscommonaddress.form.component.js +104 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonAddress/mjbizappscommonaddress.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonAddressLink/mjbizappscommonaddresslink.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonAddressLink/mjbizappscommonaddresslink.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonAddressLink/mjbizappscommonaddresslink.form.component.js +83 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonAddressLink/mjbizappscommonaddresslink.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonAddressType/mjbizappscommonaddresstype.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonAddressType/mjbizappscommonaddresstype.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonAddressType/mjbizappscommonaddresstype.form.component.js +96 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonAddressType/mjbizappscommonaddresstype.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonContactMethod/mjbizappscommoncontactmethod.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonContactMethod/mjbizappscommoncontactmethod.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonContactMethod/mjbizappscommoncontactmethod.form.component.js +83 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonContactMethod/mjbizappscommoncontactmethod.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonContactType/mjbizappscommoncontacttype.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonContactType/mjbizappscommoncontacttype.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonContactType/mjbizappscommoncontacttype.form.component.js +96 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonContactType/mjbizappscommoncontacttype.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonOrganization/mjbizappscommonorganization.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonOrganization/mjbizappscommonorganization.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonOrganization/mjbizappscommonorganization.form.component.js +172 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonOrganization/mjbizappscommonorganization.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonOrganizationType/mjbizappscommonorganizationtype.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonOrganizationType/mjbizappscommonorganizationtype.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonOrganizationType/mjbizappscommonorganizationtype.form.component.js +90 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonOrganizationType/mjbizappscommonorganizationtype.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonPerson/mjbizappscommonperson.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonPerson/mjbizappscommonperson.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonPerson/mjbizappscommonperson.form.component.js +274 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonPerson/mjbizappscommonperson.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonRelationship/mjbizappscommonrelationship.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonRelationship/mjbizappscommonrelationship.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonRelationship/mjbizappscommonrelationship.form.component.js +91 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonRelationship/mjbizappscommonrelationship.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonRelationshipType/mjbizappscommonrelationshiptype.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonRelationshipType/mjbizappscommonrelationshiptype.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonRelationshipType/mjbizappscommonrelationshiptype.form.component.js +100 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonRelationshipType/mjbizappscommonrelationshiptype.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsForm/mjbizappsformsform.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsForm/mjbizappsformsform.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsForm/mjbizappsformsform.form.component.js +174 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsForm/mjbizappsformsform.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormCategory/mjbizappsformsformcategory.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormCategory/mjbizappsformsformcategory.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormCategory/mjbizappsformsformcategory.form.component.js +118 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormCategory/mjbizappsformsformcategory.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormDistribution/mjbizappsformsformdistribution.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormDistribution/mjbizappsformsformdistribution.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormDistribution/mjbizappsformsformdistribution.form.component.js +93 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormDistribution/mjbizappsformsformdistribution.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormPage/mjbizappsformsformpage.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormPage/mjbizappsformsformpage.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormPage/mjbizappsformsformpage.form.component.js +96 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormPage/mjbizappsformsformpage.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormQuestion/mjbizappsformsformquestion.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormQuestion/mjbizappsformsformquestion.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormQuestion/mjbizappsformsformquestion.form.component.js +132 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormQuestion/mjbizappsformsformquestion.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormQuestionOption/mjbizappsformsformquestionoption.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormQuestionOption/mjbizappsformsformquestionoption.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormQuestionOption/mjbizappsformsformquestionoption.form.component.js +77 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormQuestionOption/mjbizappsformsformquestionoption.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormResponse/mjbizappsformsformresponse.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormResponse/mjbizappsformsformresponse.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormResponse/mjbizappsformsformresponse.form.component.js +108 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormResponse/mjbizappsformsformresponse.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormResponseAnswer/mjbizappsformsformresponseanswer.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormResponseAnswer/mjbizappsformsformresponseanswer.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormResponseAnswer/mjbizappsformsformresponseanswer.form.component.js +99 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormResponseAnswer/mjbizappsformsformresponseanswer.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormStyle/mjbizappsformsformstyle.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormStyle/mjbizappsformsformstyle.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormStyle/mjbizappsformsformstyle.form.component.js +100 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormStyle/mjbizappsformsformstyle.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormVersion/mjbizappsformsformversion.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormVersion/mjbizappsformsformversion.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormVersion/mjbizappsformsformversion.form.component.js +96 -0
- package/dist/lib/generated/Entities/mjBizAppsFormsFormVersion/mjbizappsformsformversion.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTask/mjbizappstaskstask.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTask/mjbizappstaskstask.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTask/mjbizappstaskstask.form.component.js +274 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTask/mjbizappstaskstask.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskActivity/mjbizappstaskstaskactivity.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskActivity/mjbizappstaskstaskactivity.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskActivity/mjbizappstaskstaskactivity.form.component.js +67 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskActivity/mjbizappstaskstaskactivity.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskAssignment/mjbizappstaskstaskassignment.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskAssignment/mjbizappstaskstaskassignment.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskAssignment/mjbizappstaskstaskassignment.form.component.js +90 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskAssignment/mjbizappstaskstaskassignment.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskCategory/mjbizappstaskstaskcategory.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskCategory/mjbizappstaskstaskcategory.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskCategory/mjbizappstaskstaskcategory.form.component.js +124 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskCategory/mjbizappstaskstaskcategory.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskComment/mjbizappstaskstaskcomment.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskComment/mjbizappstaskstaskcomment.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskComment/mjbizappstaskstaskcomment.form.component.js +86 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskComment/mjbizappstaskstaskcomment.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskDecision/mjbizappstaskstaskdecision.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskDecision/mjbizappstaskstaskdecision.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskDecision/mjbizappstaskstaskdecision.form.component.js +67 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskDecision/mjbizappstaskstaskdecision.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskDecisionOutcome/mjbizappstaskstaskdecisionoutcome.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskDecisionOutcome/mjbizappstaskstaskdecisionoutcome.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskDecisionOutcome/mjbizappstaskstaskdecisionoutcome.form.component.js +86 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskDecisionOutcome/mjbizappstaskstaskdecisionoutcome.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskDependency/mjbizappstaskstaskdependency.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskDependency/mjbizappstaskstaskdependency.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskDependency/mjbizappstaskstaskdependency.form.component.js +61 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskDependency/mjbizappstaskstaskdependency.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskLink/mjbizappstaskstasklink.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskLink/mjbizappstaskstasklink.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskLink/mjbizappstaskstasklink.form.component.js +63 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskLink/mjbizappstaskstasklink.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskNotificationConfig/mjbizappstaskstasknotificationconfig.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskNotificationConfig/mjbizappstaskstasknotificationconfig.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskNotificationConfig/mjbizappstaskstasknotificationconfig.form.component.js +69 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskNotificationConfig/mjbizappstaskstasknotificationconfig.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskNotificationLog/mjbizappstaskstasknotificationlog.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskNotificationLog/mjbizappstaskstasknotificationlog.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskNotificationLog/mjbizappstaskstasknotificationlog.form.component.js +63 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskNotificationLog/mjbizappstaskstasknotificationlog.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskRole/mjbizappstaskstaskrole.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskRole/mjbizappstaskstaskrole.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskRole/mjbizappstaskstaskrole.form.component.js +98 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskRole/mjbizappstaskstaskrole.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTag/mjbizappstaskstasktag.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTag/mjbizappstaskstasktag.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTag/mjbizappstaskstasktag.form.component.js +80 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTag/mjbizappstaskstasktag.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTagLink/mjbizappstaskstasktaglink.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTagLink/mjbizappstaskstasktaglink.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTagLink/mjbizappstaskstasktaglink.form.component.js +59 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTagLink/mjbizappstaskstasktaglink.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTemplate/mjbizappstaskstasktemplate.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTemplate/mjbizappstaskstasktemplate.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTemplate/mjbizappstaskstasktemplate.form.component.js +84 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTemplate/mjbizappstaskstasktemplate.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTemplateItem/mjbizappstaskstasktemplateitem.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTemplateItem/mjbizappstaskstasktemplateitem.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTemplateItem/mjbizappstaskstasktemplateitem.form.component.js +146 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTemplateItem/mjbizappstaskstasktemplateitem.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTemplateItemDependency/mjbizappstaskstasktemplateitemdependency.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTemplateItemDependency/mjbizappstaskstasktemplateitemdependency.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTemplateItemDependency/mjbizappstaskstasktemplateitemdependency.form.component.js +61 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTemplateItemDependency/mjbizappstaskstasktemplateitemdependency.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTemplateItemRole/mjbizappstaskstasktemplateitemrole.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTemplateItemRole/mjbizappstaskstasktemplateitemrole.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTemplateItemRole/mjbizappstaskstasktemplateitemrole.form.component.js +59 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskTemplateItemRole/mjbizappstaskstasktemplateitemrole.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskType/mjbizappstaskstasktype.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskType/mjbizappstaskstasktype.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskType/mjbizappstaskstasktype.form.component.js +132 -0
- package/dist/lib/generated/Entities/mjBizAppsTasksTaskType/mjbizappstaskstasktype.form.component.js.map +1 -0
- package/dist/lib/generated/class-registrations-manifest.d.ts +6 -0
- package/dist/lib/generated/class-registrations-manifest.d.ts.map +1 -0
- package/dist/lib/generated/class-registrations-manifest.js +6 -0
- package/dist/lib/generated/class-registrations-manifest.js.map +1 -0
- package/dist/lib/generated/generated-forms.module.d.ts +61 -0
- package/dist/lib/generated/generated-forms.module.d.ts.map +1 -0
- package/dist/lib/generated/generated-forms.module.js +207 -0
- package/dist/lib/generated/generated-forms.module.js.map +1 -0
- package/dist/lib/home/forms-home-dashboard.component.d.ts +61 -0
- package/dist/lib/home/forms-home-dashboard.component.d.ts.map +1 -0
- package/dist/lib/home/forms-home-dashboard.component.js +379 -0
- package/dist/lib/home/forms-home-dashboard.component.js.map +1 -0
- package/dist/lib/home/forms-home.service.d.ts +24 -0
- package/dist/lib/home/forms-home.service.d.ts.map +1 -0
- package/dist/lib/home/forms-home.service.js +92 -0
- package/dist/lib/home/forms-home.service.js.map +1 -0
- package/dist/lib/home/home-aggregations.d.ts +23 -0
- package/dist/lib/home/home-aggregations.d.ts.map +1 -0
- package/dist/lib/home/home-aggregations.js +64 -0
- package/dist/lib/home/home-aggregations.js.map +1 -0
- package/dist/lib/home/home-models.d.ts +60 -0
- package/dist/lib/home/home-models.d.ts.map +1 -0
- package/dist/lib/home/home-models.js +34 -0
- package/dist/lib/home/home-models.js.map +1 -0
- package/dist/lib/home/index.d.ts +13 -0
- package/dist/lib/home/index.d.ts.map +1 -0
- package/dist/lib/home/index.js +13 -0
- package/dist/lib/home/index.js.map +1 -0
- package/dist/lib/widget/api/form-upload.service.d.ts +41 -0
- package/dist/lib/widget/api/form-upload.service.d.ts.map +1 -0
- package/dist/lib/widget/api/form-upload.service.js +124 -0
- package/dist/lib/widget/api/form-upload.service.js.map +1 -0
- package/dist/lib/widget/api/forms-api.config.d.ts +55 -0
- package/dist/lib/widget/api/forms-api.config.d.ts.map +1 -0
- package/dist/lib/widget/api/forms-api.config.js +40 -0
- package/dist/lib/widget/api/forms-api.config.js.map +1 -0
- package/dist/lib/widget/api/forms-api.graphql.service.d.ts +20 -0
- package/dist/lib/widget/api/forms-api.graphql.service.d.ts.map +1 -0
- package/dist/lib/widget/api/forms-api.graphql.service.js +96 -0
- package/dist/lib/widget/api/forms-api.graphql.service.js.map +1 -0
- package/dist/lib/widget/api/forms-api.interface.d.ts +45 -0
- package/dist/lib/widget/api/forms-api.interface.d.ts.map +1 -0
- package/dist/lib/widget/api/forms-api.interface.js +8 -0
- package/dist/lib/widget/api/forms-api.interface.js.map +1 -0
- package/dist/lib/widget/api/forms-api.mock.service.d.ts +12 -0
- package/dist/lib/widget/api/forms-api.mock.service.d.ts.map +1 -0
- package/dist/lib/widget/api/forms-api.mock.service.js +41 -0
- package/dist/lib/widget/api/forms-api.mock.service.js.map +1 -0
- package/dist/lib/widget/api/mock-form.data.d.ts +8 -0
- package/dist/lib/widget/api/mock-form.data.d.ts.map +1 -0
- package/dist/lib/widget/api/mock-form.data.js +192 -0
- package/dist/lib/widget/api/mock-form.data.js.map +1 -0
- package/dist/lib/widget/api/submission-mapping.d.ts +60 -0
- package/dist/lib/widget/api/submission-mapping.d.ts.map +1 -0
- package/dist/lib/widget/api/submission-mapping.js +47 -0
- package/dist/lib/widget/api/submission-mapping.js.map +1 -0
- package/dist/lib/widget/components/form-one-question.component.d.ts +43 -0
- package/dist/lib/widget/components/form-one-question.component.d.ts.map +1 -0
- package/dist/lib/widget/components/form-one-question.component.js +194 -0
- package/dist/lib/widget/components/form-one-question.component.js.map +1 -0
- package/dist/lib/widget/components/form-progress.component.d.ts +9 -0
- package/dist/lib/widget/components/form-progress.component.d.ts.map +1 -0
- package/dist/lib/widget/components/form-progress.component.js +47 -0
- package/dist/lib/widget/components/form-progress.component.js.map +1 -0
- package/dist/lib/widget/components/form-scroll.component.d.ts +23 -0
- package/dist/lib/widget/components/form-scroll.component.d.ts.map +1 -0
- package/dist/lib/widget/components/form-scroll.component.js +132 -0
- package/dist/lib/widget/components/form-scroll.component.js.map +1 -0
- package/dist/lib/widget/components/questions/form-question.component.d.ts +68 -0
- package/dist/lib/widget/components/questions/form-question.component.d.ts.map +1 -0
- package/dist/lib/widget/components/questions/form-question.component.js +541 -0
- package/dist/lib/widget/components/questions/form-question.component.js.map +1 -0
- package/dist/lib/widget/components/questions/input-mode.d.ts +13 -0
- package/dist/lib/widget/components/questions/input-mode.d.ts.map +1 -0
- package/dist/lib/widget/components/questions/input-mode.js +42 -0
- package/dist/lib/widget/components/questions/input-mode.js.map +1 -0
- package/dist/lib/widget/components/turnstile-challenge.component.d.ts +52 -0
- package/dist/lib/widget/components/turnstile-challenge.component.d.ts.map +1 -0
- package/dist/lib/widget/components/turnstile-challenge.component.js +123 -0
- package/dist/lib/widget/components/turnstile-challenge.component.js.map +1 -0
- package/dist/lib/widget/core/answer-value.d.ts +17 -0
- package/dist/lib/widget/core/answer-value.d.ts.map +1 -0
- package/dist/lib/widget/core/answer-value.js +41 -0
- package/dist/lib/widget/core/answer-value.js.map +1 -0
- package/dist/lib/widget/core/autosave-controller.d.ts +65 -0
- package/dist/lib/widget/core/autosave-controller.d.ts.map +1 -0
- package/dist/lib/widget/core/autosave-controller.js +134 -0
- package/dist/lib/widget/core/autosave-controller.js.map +1 -0
- package/dist/lib/widget/core/client-id.d.ts +17 -0
- package/dist/lib/widget/core/client-id.d.ts.map +1 -0
- package/dist/lib/widget/core/client-id.js +52 -0
- package/dist/lib/widget/core/client-id.js.map +1 -0
- package/dist/lib/widget/core/form-runtime.d.ts +34 -0
- package/dist/lib/widget/core/form-runtime.d.ts.map +1 -0
- package/dist/lib/widget/core/form-runtime.js +123 -0
- package/dist/lib/widget/core/form-runtime.js.map +1 -0
- package/dist/lib/widget/core/one-question-stepper.d.ts +20 -0
- package/dist/lib/widget/core/one-question-stepper.d.ts.map +1 -0
- package/dist/lib/widget/core/one-question-stepper.js +23 -0
- package/dist/lib/widget/core/one-question-stepper.js.map +1 -0
- package/dist/lib/widget/core/submit-phase.d.ts +31 -0
- package/dist/lib/widget/core/submit-phase.d.ts.map +1 -0
- package/dist/lib/widget/core/submit-phase.js +21 -0
- package/dist/lib/widget/core/submit-phase.js.map +1 -0
- package/dist/lib/widget/core/theming.d.ts +17 -0
- package/dist/lib/widget/core/theming.d.ts.map +1 -0
- package/dist/lib/widget/core/theming.js +36 -0
- package/dist/lib/widget/core/theming.js.map +1 -0
- package/dist/lib/widget/core/turnstile-gate.d.ts +42 -0
- package/dist/lib/widget/core/turnstile-gate.d.ts.map +1 -0
- package/dist/lib/widget/core/turnstile-gate.js +61 -0
- package/dist/lib/widget/core/turnstile-gate.js.map +1 -0
- package/dist/lib/widget/core/turnstile-loader.d.ts +34 -0
- package/dist/lib/widget/core/turnstile-loader.d.ts.map +1 -0
- package/dist/lib/widget/core/turnstile-loader.js +68 -0
- package/dist/lib/widget/core/turnstile-loader.js.map +1 -0
- package/dist/lib/widget/core/validation.d.ts +19 -0
- package/dist/lib/widget/core/validation.d.ts.map +1 -0
- package/dist/lib/widget/core/validation.js +105 -0
- package/dist/lib/widget/core/validation.js.map +1 -0
- package/dist/lib/widget/index.d.ts +27 -0
- package/dist/lib/widget/index.d.ts.map +1 -0
- package/dist/lib/widget/index.js +30 -0
- package/dist/lib/widget/index.js.map +1 -0
- package/dist/lib/widget/mj-form.component.d.ts +114 -0
- package/dist/lib/widget/mj-form.component.d.ts.map +1 -0
- package/dist/lib/widget/mj-form.component.js +428 -0
- package/dist/lib/widget/mj-form.component.js.map +1 -0
- package/dist/lib/widget/register-element.d.ts +8 -0
- package/dist/lib/widget/register-element.d.ts.map +1 -0
- package/dist/lib/widget/register-element.js +98 -0
- package/dist/lib/widget/register-element.js.map +1 -0
- package/dist/public-api.d.ts +23 -0
- package/dist/public-api.d.ts.map +1 -0
- package/dist/public-api.js +33 -0
- package/dist/public-api.js.map +1 -0
- package/dist/widget-entry.d.ts +2 -0
- package/dist/widget-entry.d.ts.map +1 -0
- package/dist/widget-entry.js +20 -0
- package/dist/widget-entry.js.map +1 -0
- package/package.json +53 -5
- package/README.md +0 -3
|
@@ -0,0 +1,379 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, } from '@angular/core';
|
|
8
|
+
import { DatePipe } from '@angular/common';
|
|
9
|
+
import { FormsModule } from '@angular/forms';
|
|
10
|
+
import { BaseDashboard } from '@memberjunction/ng-shared';
|
|
11
|
+
import { CompositeKey, LogError } from '@memberjunction/core';
|
|
12
|
+
import { RegisterClass } from '@memberjunction/global';
|
|
13
|
+
import { FormsHomeService } from './forms-home.service';
|
|
14
|
+
import { HOME_ACTION, HOME_ENTITY, STARTER_TEMPLATES, } from './home-models';
|
|
15
|
+
import * as i0 from "@angular/core";
|
|
16
|
+
import * as i1 from "@angular/forms";
|
|
17
|
+
const _forTrack0 = ($index, $item) => $item.key;
|
|
18
|
+
const _forTrack1 = ($index, $item) => $item.id;
|
|
19
|
+
function FormsHomeDashboardComponent_Conditional_16_Template(rf, ctx) { if (rf & 1) {
|
|
20
|
+
i0.ɵɵelementStart(0, "div", 11);
|
|
21
|
+
i0.ɵɵelement(1, "i", 17);
|
|
22
|
+
i0.ɵɵelementStart(2, "span");
|
|
23
|
+
i0.ɵɵtext(3);
|
|
24
|
+
i0.ɵɵelementEnd()();
|
|
25
|
+
} if (rf & 2) {
|
|
26
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
27
|
+
i0.ɵɵadvance(3);
|
|
28
|
+
i0.ɵɵtextInterpolate(ctx_r0.errorMessage);
|
|
29
|
+
} }
|
|
30
|
+
function FormsHomeDashboardComponent_Case_17_Template(rf, ctx) { if (rf & 1) {
|
|
31
|
+
const _r2 = i0.ɵɵgetCurrentView();
|
|
32
|
+
i0.ɵɵelementStart(0, "section", 12)(1, "label", 18);
|
|
33
|
+
i0.ɵɵtext(2, " Describe the form you want and AI will draft it. ");
|
|
34
|
+
i0.ɵɵelementEnd();
|
|
35
|
+
i0.ɵɵelementStart(3, "textarea", 19);
|
|
36
|
+
i0.ɵɵtwoWayListener("ngModelChange", function FormsHomeDashboardComponent_Case_17_Template_textarea_ngModelChange_3_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r0.brief, $event) || (ctx_r0.brief = $event); return i0.ɵɵresetView($event); });
|
|
37
|
+
i0.ɵɵelementEnd();
|
|
38
|
+
i0.ɵɵelementStart(4, "div", 20)(5, "button", 6);
|
|
39
|
+
i0.ɵɵlistener("click", function FormsHomeDashboardComponent_Case_17_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.authorWithAI()); });
|
|
40
|
+
i0.ɵɵelement(6, "i", 9);
|
|
41
|
+
i0.ɵɵtext(7, " Generate ");
|
|
42
|
+
i0.ɵɵelementEnd();
|
|
43
|
+
i0.ɵɵelementStart(8, "button", 8);
|
|
44
|
+
i0.ɵɵlistener("click", function FormsHomeDashboardComponent_Case_17_Template_button_click_8_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.closePanel()); });
|
|
45
|
+
i0.ɵɵtext(9, "Cancel");
|
|
46
|
+
i0.ɵɵelementEnd()()();
|
|
47
|
+
} if (rf & 2) {
|
|
48
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
49
|
+
i0.ɵɵadvance(3);
|
|
50
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r0.brief);
|
|
51
|
+
i0.ɵɵproperty("disabled", ctx_r0.busy);
|
|
52
|
+
i0.ɵɵadvance(2);
|
|
53
|
+
i0.ɵɵproperty("disabled", ctx_r0.busy);
|
|
54
|
+
i0.ɵɵadvance(3);
|
|
55
|
+
i0.ɵɵproperty("disabled", ctx_r0.busy);
|
|
56
|
+
} }
|
|
57
|
+
function FormsHomeDashboardComponent_Case_18_For_5_Template(rf, ctx) { if (rf & 1) {
|
|
58
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
59
|
+
i0.ɵɵelementStart(0, "button", 24);
|
|
60
|
+
i0.ɵɵlistener("click", function FormsHomeDashboardComponent_Case_18_For_5_Template_button_click_0_listener() { const t_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.selectedTemplateKey = t_r5.key); });
|
|
61
|
+
i0.ɵɵelement(1, "i", 25);
|
|
62
|
+
i0.ɵɵelementStart(2, "span");
|
|
63
|
+
i0.ɵɵtext(3);
|
|
64
|
+
i0.ɵɵelementEnd()();
|
|
65
|
+
} if (rf & 2) {
|
|
66
|
+
const t_r5 = ctx.$implicit;
|
|
67
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
68
|
+
i0.ɵɵclassProp("selected", ctx_r0.selectedTemplateKey === t_r5.key);
|
|
69
|
+
i0.ɵɵproperty("disabled", ctx_r0.busy);
|
|
70
|
+
i0.ɵɵadvance();
|
|
71
|
+
i0.ɵɵclassMap(t_r5.icon);
|
|
72
|
+
i0.ɵɵadvance(2);
|
|
73
|
+
i0.ɵɵtextInterpolate(t_r5.label);
|
|
74
|
+
} }
|
|
75
|
+
function FormsHomeDashboardComponent_Case_18_Template(rf, ctx) { if (rf & 1) {
|
|
76
|
+
const _r3 = i0.ɵɵgetCurrentView();
|
|
77
|
+
i0.ɵɵelementStart(0, "section", 13)(1, "span", 21);
|
|
78
|
+
i0.ɵɵtext(2, "Start from a curated template.");
|
|
79
|
+
i0.ɵɵelementEnd();
|
|
80
|
+
i0.ɵɵelementStart(3, "div", 22);
|
|
81
|
+
i0.ɵɵrepeaterCreate(4, FormsHomeDashboardComponent_Case_18_For_5_Template, 4, 6, "button", 23, _forTrack0);
|
|
82
|
+
i0.ɵɵelementEnd();
|
|
83
|
+
i0.ɵɵelementStart(6, "div", 20)(7, "button", 6);
|
|
84
|
+
i0.ɵɵlistener("click", function FormsHomeDashboardComponent_Case_18_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.createFromTemplate()); });
|
|
85
|
+
i0.ɵɵelement(8, "i", 10);
|
|
86
|
+
i0.ɵɵtext(9, " Create ");
|
|
87
|
+
i0.ɵɵelementEnd();
|
|
88
|
+
i0.ɵɵelementStart(10, "button", 8);
|
|
89
|
+
i0.ɵɵlistener("click", function FormsHomeDashboardComponent_Case_18_Template_button_click_10_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.closePanel()); });
|
|
90
|
+
i0.ɵɵtext(11, "Cancel");
|
|
91
|
+
i0.ɵɵelementEnd()()();
|
|
92
|
+
} if (rf & 2) {
|
|
93
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
94
|
+
i0.ɵɵadvance(4);
|
|
95
|
+
i0.ɵɵrepeater(ctx_r0.templates);
|
|
96
|
+
i0.ɵɵadvance(3);
|
|
97
|
+
i0.ɵɵproperty("disabled", ctx_r0.busy);
|
|
98
|
+
i0.ɵɵadvance(3);
|
|
99
|
+
i0.ɵɵproperty("disabled", ctx_r0.busy);
|
|
100
|
+
} }
|
|
101
|
+
function FormsHomeDashboardComponent_Conditional_19_Template(rf, ctx) { if (rf & 1) {
|
|
102
|
+
i0.ɵɵelementStart(0, "div", 14);
|
|
103
|
+
i0.ɵɵelement(1, "i", 26);
|
|
104
|
+
i0.ɵɵtext(2, " Loading forms\u2026");
|
|
105
|
+
i0.ɵɵelementEnd();
|
|
106
|
+
} }
|
|
107
|
+
function FormsHomeDashboardComponent_Conditional_20_Template(rf, ctx) { if (rf & 1) {
|
|
108
|
+
const _r6 = i0.ɵɵgetCurrentView();
|
|
109
|
+
i0.ɵɵelementStart(0, "div", 15);
|
|
110
|
+
i0.ɵɵelement(1, "i", 3);
|
|
111
|
+
i0.ɵɵelementStart(2, "p");
|
|
112
|
+
i0.ɵɵtext(3, "No forms yet. Create your first one to get started.");
|
|
113
|
+
i0.ɵɵelementEnd();
|
|
114
|
+
i0.ɵɵelementStart(4, "button", 27);
|
|
115
|
+
i0.ɵɵlistener("click", function FormsHomeDashboardComponent_Conditional_20_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r6); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.newForm()); });
|
|
116
|
+
i0.ɵɵelement(5, "i", 7);
|
|
117
|
+
i0.ɵɵtext(6, " New form ");
|
|
118
|
+
i0.ɵɵelementEnd()();
|
|
119
|
+
} }
|
|
120
|
+
function FormsHomeDashboardComponent_Conditional_21_For_16_Template(rf, ctx) { if (rf & 1) {
|
|
121
|
+
const _r7 = i0.ɵɵgetCurrentView();
|
|
122
|
+
i0.ɵɵelementStart(0, "tr", 32);
|
|
123
|
+
i0.ɵɵlistener("click", function FormsHomeDashboardComponent_Conditional_21_For_16_Template_tr_click_0_listener() { const row_r8 = i0.ɵɵrestoreView(_r7).$implicit; const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.openForm(row_r8)); })("keydown.enter", function FormsHomeDashboardComponent_Conditional_21_For_16_Template_tr_keydown_enter_0_listener() { const row_r8 = i0.ɵɵrestoreView(_r7).$implicit; const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.openForm(row_r8)); });
|
|
124
|
+
i0.ɵɵelementStart(1, "td", 33);
|
|
125
|
+
i0.ɵɵelement(2, "i", 34);
|
|
126
|
+
i0.ɵɵelementStart(3, "span");
|
|
127
|
+
i0.ɵɵtext(4);
|
|
128
|
+
i0.ɵɵelementEnd()();
|
|
129
|
+
i0.ɵɵelementStart(5, "td")(6, "span", 35);
|
|
130
|
+
i0.ɵɵtext(7);
|
|
131
|
+
i0.ɵɵelementEnd()();
|
|
132
|
+
i0.ɵɵelementStart(8, "td");
|
|
133
|
+
i0.ɵɵtext(9);
|
|
134
|
+
i0.ɵɵelementEnd();
|
|
135
|
+
i0.ɵɵelementStart(10, "td", 36);
|
|
136
|
+
i0.ɵɵtext(11);
|
|
137
|
+
i0.ɵɵelementEnd();
|
|
138
|
+
i0.ɵɵelementStart(12, "td");
|
|
139
|
+
i0.ɵɵtext(13);
|
|
140
|
+
i0.ɵɵpipe(14, "date");
|
|
141
|
+
i0.ɵɵelementEnd()();
|
|
142
|
+
} if (rf & 2) {
|
|
143
|
+
const row_r8 = ctx.$implicit;
|
|
144
|
+
i0.ɵɵadvance(4);
|
|
145
|
+
i0.ɵɵtextInterpolate(row_r8.name);
|
|
146
|
+
i0.ɵɵadvance(2);
|
|
147
|
+
i0.ɵɵattribute("data-status", row_r8.status);
|
|
148
|
+
i0.ɵɵadvance();
|
|
149
|
+
i0.ɵɵtextInterpolate(row_r8.status);
|
|
150
|
+
i0.ɵɵadvance(2);
|
|
151
|
+
i0.ɵɵtextInterpolate(row_r8.categoryName ?? "\u2014");
|
|
152
|
+
i0.ɵɵadvance(2);
|
|
153
|
+
i0.ɵɵtextInterpolate(row_r8.responseCount);
|
|
154
|
+
i0.ɵɵadvance(2);
|
|
155
|
+
i0.ɵɵtextInterpolate(row_r8.updatedAt ? i0.ɵɵpipeBind2(14, 6, row_r8.updatedAt, "medium") : "\u2014");
|
|
156
|
+
} }
|
|
157
|
+
function FormsHomeDashboardComponent_Conditional_21_Template(rf, ctx) { if (rf & 1) {
|
|
158
|
+
i0.ɵɵelementStart(0, "div", 16)(1, "table", 28)(2, "thead")(3, "tr")(4, "th", 29);
|
|
159
|
+
i0.ɵɵtext(5, "Name");
|
|
160
|
+
i0.ɵɵelementEnd();
|
|
161
|
+
i0.ɵɵelementStart(6, "th", 29);
|
|
162
|
+
i0.ɵɵtext(7, "Status");
|
|
163
|
+
i0.ɵɵelementEnd();
|
|
164
|
+
i0.ɵɵelementStart(8, "th", 29);
|
|
165
|
+
i0.ɵɵtext(9, "Category");
|
|
166
|
+
i0.ɵɵelementEnd();
|
|
167
|
+
i0.ɵɵelementStart(10, "th", 30);
|
|
168
|
+
i0.ɵɵtext(11, "Responses");
|
|
169
|
+
i0.ɵɵelementEnd();
|
|
170
|
+
i0.ɵɵelementStart(12, "th", 29);
|
|
171
|
+
i0.ɵɵtext(13, "Updated");
|
|
172
|
+
i0.ɵɵelementEnd()()();
|
|
173
|
+
i0.ɵɵelementStart(14, "tbody");
|
|
174
|
+
i0.ɵɵrepeaterCreate(15, FormsHomeDashboardComponent_Conditional_21_For_16_Template, 15, 9, "tr", 31, _forTrack1);
|
|
175
|
+
i0.ɵɵelementEnd()()();
|
|
176
|
+
} if (rf & 2) {
|
|
177
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
178
|
+
i0.ɵɵadvance(15);
|
|
179
|
+
i0.ɵɵrepeater(ctx_r0.forms);
|
|
180
|
+
} }
|
|
181
|
+
/**
|
|
182
|
+
* Forms home / studio — the first-class MJExplorer "Forms" surface
|
|
183
|
+
* (FORMS_BUILD_PLAN §3.2). A `BaseDashboard` subclass registered with the MJ
|
|
184
|
+
* ClassFactory under 'FormsHomeDashboard'; the matching `MJ: Dashboards`
|
|
185
|
+
* metadata record (DriverClass) and the Forms app nav item are authored
|
|
186
|
+
* alongside this component.
|
|
187
|
+
*
|
|
188
|
+
* It lists every form (RunView, read-only) and offers three ways to create one:
|
|
189
|
+
* - "New form" — opens a blank Form record; the WP-D entity-form override
|
|
190
|
+
* (@RegisterClass(BaseFormComponent, 'MJ_BizApps_Forms: Forms')) renders the
|
|
191
|
+
* visual builder for the new record.
|
|
192
|
+
* - "Author with AI" — runs `Forms: Generate Form From Brief` with a Brief.
|
|
193
|
+
* - "From template" — runs `Forms: Create Form From Template` with a TemplateKey.
|
|
194
|
+
*
|
|
195
|
+
* Clicking a row, or finishing an authoring action, opens that Form record via
|
|
196
|
+
* the container-handled `OpenEntityRecord` event — which renders the builder.
|
|
197
|
+
*
|
|
198
|
+
* Standalone + OnPush so the Explorer can instantiate it directly.
|
|
199
|
+
*/
|
|
200
|
+
let FormsHomeDashboardComponent = class FormsHomeDashboardComponent extends BaseDashboard {
|
|
201
|
+
data = inject(FormsHomeService);
|
|
202
|
+
cdr = inject(ChangeDetectorRef);
|
|
203
|
+
loading = false;
|
|
204
|
+
busy = false;
|
|
205
|
+
errorMessage = null;
|
|
206
|
+
forms = [];
|
|
207
|
+
templates = STARTER_TEMPLATES;
|
|
208
|
+
panel = 'none';
|
|
209
|
+
brief = '';
|
|
210
|
+
selectedTemplateKey = STARTER_TEMPLATES[0]?.key ?? '';
|
|
211
|
+
async GetResourceDisplayName(_data) {
|
|
212
|
+
return 'Forms';
|
|
213
|
+
}
|
|
214
|
+
async GetResourceIconClass(_data) {
|
|
215
|
+
return 'fa-solid fa-clipboard-list';
|
|
216
|
+
}
|
|
217
|
+
initDashboard() {
|
|
218
|
+
// Nothing to set up beyond the injected service.
|
|
219
|
+
}
|
|
220
|
+
loadData() {
|
|
221
|
+
void this.loadForms();
|
|
222
|
+
}
|
|
223
|
+
async loadForms() {
|
|
224
|
+
this.beginLoad();
|
|
225
|
+
try {
|
|
226
|
+
this.forms = await this.data.loadForms();
|
|
227
|
+
}
|
|
228
|
+
catch (err) {
|
|
229
|
+
this.fail(err, 'Failed to load forms.');
|
|
230
|
+
}
|
|
231
|
+
finally {
|
|
232
|
+
this.endLoad();
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
// --- Row interaction -------------------------------------------------------
|
|
236
|
+
/** Opens an existing form record (renders the WP-D builder). */
|
|
237
|
+
openForm(row) {
|
|
238
|
+
this.OpenEntityRecord.emit({
|
|
239
|
+
EntityName: HOME_ENTITY.forms,
|
|
240
|
+
RecordPKey: CompositeKey.FromID(row.id),
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
/** Opens a blank Form record so the builder creates a new form. */
|
|
244
|
+
newForm() {
|
|
245
|
+
this.OpenEntityRecord.emit({
|
|
246
|
+
EntityName: HOME_ENTITY.forms,
|
|
247
|
+
RecordPKey: new CompositeKey(),
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
// --- Authoring panels ------------------------------------------------------
|
|
251
|
+
openPanel(panel) {
|
|
252
|
+
this.panel = panel;
|
|
253
|
+
this.errorMessage = null;
|
|
254
|
+
this.cdr.markForCheck();
|
|
255
|
+
}
|
|
256
|
+
closePanel() {
|
|
257
|
+
this.panel = 'none';
|
|
258
|
+
this.cdr.markForCheck();
|
|
259
|
+
}
|
|
260
|
+
/** Runs the AI authoring action from the entered brief. */
|
|
261
|
+
async authorWithAI() {
|
|
262
|
+
const brief = this.brief.trim();
|
|
263
|
+
if (!brief) {
|
|
264
|
+
this.errorMessage = 'Enter a brief describing the form you want.';
|
|
265
|
+
this.cdr.markForCheck();
|
|
266
|
+
return;
|
|
267
|
+
}
|
|
268
|
+
await this.runAuthoring(HOME_ACTION.generateFromBrief, [
|
|
269
|
+
{ Name: 'Brief', Value: brief, Type: 'Input' },
|
|
270
|
+
]);
|
|
271
|
+
}
|
|
272
|
+
/** Runs the template action for the selected starter key. */
|
|
273
|
+
async createFromTemplate() {
|
|
274
|
+
if (!this.selectedTemplateKey) {
|
|
275
|
+
this.errorMessage = 'Pick a template to start from.';
|
|
276
|
+
this.cdr.markForCheck();
|
|
277
|
+
return;
|
|
278
|
+
}
|
|
279
|
+
await this.runAuthoring(HOME_ACTION.createFromTemplate, [
|
|
280
|
+
{ Name: 'TemplateKey', Value: this.selectedTemplateKey, Type: 'Input' },
|
|
281
|
+
]);
|
|
282
|
+
}
|
|
283
|
+
/** Shared authoring runner: run, open the new form, refresh the grid. */
|
|
284
|
+
async runAuthoring(actionName, inputs) {
|
|
285
|
+
this.busy = true;
|
|
286
|
+
this.errorMessage = null;
|
|
287
|
+
this.cdr.markForCheck();
|
|
288
|
+
try {
|
|
289
|
+
const result = await this.data.runAuthoringAction(actionName, inputs);
|
|
290
|
+
if (!result.success) {
|
|
291
|
+
this.errorMessage = result.message;
|
|
292
|
+
return;
|
|
293
|
+
}
|
|
294
|
+
this.closePanel();
|
|
295
|
+
this.brief = '';
|
|
296
|
+
if (result.formId) {
|
|
297
|
+
this.OpenEntityRecord.emit({
|
|
298
|
+
EntityName: HOME_ENTITY.forms,
|
|
299
|
+
RecordPKey: CompositeKey.FromID(result.formId),
|
|
300
|
+
});
|
|
301
|
+
}
|
|
302
|
+
await this.loadForms();
|
|
303
|
+
}
|
|
304
|
+
catch (err) {
|
|
305
|
+
this.fail(err, 'The authoring action failed.');
|
|
306
|
+
}
|
|
307
|
+
finally {
|
|
308
|
+
this.busy = false;
|
|
309
|
+
this.cdr.markForCheck();
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
// --- Loading helpers (mirror the reporting dashboard) ----------------------
|
|
313
|
+
beginLoad() {
|
|
314
|
+
this.loading = true;
|
|
315
|
+
this.errorMessage = null;
|
|
316
|
+
this.cdr.markForCheck();
|
|
317
|
+
}
|
|
318
|
+
endLoad() {
|
|
319
|
+
this.loading = false;
|
|
320
|
+
this.cdr.markForCheck();
|
|
321
|
+
}
|
|
322
|
+
fail(err, fallback) {
|
|
323
|
+
const message = err instanceof Error ? err.message : fallback;
|
|
324
|
+
this.errorMessage = message;
|
|
325
|
+
LogError(message);
|
|
326
|
+
this.Error.emit(err instanceof Error ? err : new Error(message));
|
|
327
|
+
}
|
|
328
|
+
static ɵfac = /*@__PURE__*/ (() => { let ɵFormsHomeDashboardComponent_BaseFactory; return function FormsHomeDashboardComponent_Factory(__ngFactoryType__) { return (ɵFormsHomeDashboardComponent_BaseFactory || (ɵFormsHomeDashboardComponent_BaseFactory = i0.ɵɵgetInheritedFactory(FormsHomeDashboardComponent)))(__ngFactoryType__ || FormsHomeDashboardComponent); }; })();
|
|
329
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormsHomeDashboardComponent, selectors: [["mj-forms-home-dashboard"]], features: [i0.ɵɵProvidersFeature([FormsHomeService]), i0.ɵɵInheritDefinitionFeature], decls: 22, vars: 6, consts: [[1, "home"], [1, "home-header"], [1, "title-row"], ["aria-hidden", "true", 1, "fa-solid", "fa-clipboard-list"], [1, "home-title"], [1, "actions"], ["type", "button", 1, "btn", "btn-primary", 3, "click", "disabled"], ["aria-hidden", "true", 1, "fa-solid", "fa-plus"], ["type", "button", 1, "btn", 3, "click", "disabled"], ["aria-hidden", "true", 1, "fa-solid", "fa-wand-magic-sparkles"], ["aria-hidden", "true", 1, "fa-solid", "fa-layer-group"], ["role", "alert", 1, "alert"], ["aria-label", "Author with AI", 1, "panel"], ["aria-label", "From template", 1, "panel"], [1, "state-msg"], [1, "empty-state"], [1, "grid-wrap"], ["aria-hidden", "true", 1, "fa-solid", "fa-triangle-exclamation"], ["for", "brief", 1, "panel-label"], ["id", "brief", "rows", "3", "placeholder", "e.g. A 5-question event RSVP with dietary preferences and a guest count", 1, "brief-input", 3, "ngModelChange", "ngModel", "disabled"], [1, "panel-actions"], [1, "panel-label"], [1, "template-grid"], ["type", "button", 1, "template-card", 3, "selected", "disabled"], ["type", "button", 1, "template-card", 3, "click", "disabled"], ["aria-hidden", "true"], ["aria-hidden", "true", 1, "fa-solid", "fa-spinner", "fa-spin"], ["type", "button", 1, "btn", "btn-primary", 3, "click"], [1, "forms-grid"], ["scope", "col"], ["scope", "col", 1, "num"], ["tabindex", "0", 1, "form-row"], ["tabindex", "0", 1, "form-row", 3, "click", "keydown.enter"], [1, "name-cell"], ["aria-hidden", "true", 1, "fa-solid", "fa-file-lines"], [1, "status-pill"], [1, "num"]], template: function FormsHomeDashboardComponent_Template(rf, ctx) { if (rf & 1) {
|
|
330
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "header", 1)(2, "div", 2);
|
|
331
|
+
i0.ɵɵelement(3, "i", 3);
|
|
332
|
+
i0.ɵɵelementStart(4, "h1", 4);
|
|
333
|
+
i0.ɵɵtext(5, "Forms");
|
|
334
|
+
i0.ɵɵelementEnd()();
|
|
335
|
+
i0.ɵɵelementStart(6, "div", 5)(7, "button", 6);
|
|
336
|
+
i0.ɵɵlistener("click", function FormsHomeDashboardComponent_Template_button_click_7_listener() { return ctx.newForm(); });
|
|
337
|
+
i0.ɵɵelement(8, "i", 7);
|
|
338
|
+
i0.ɵɵtext(9, " New form ");
|
|
339
|
+
i0.ɵɵelementEnd();
|
|
340
|
+
i0.ɵɵelementStart(10, "button", 8);
|
|
341
|
+
i0.ɵɵlistener("click", function FormsHomeDashboardComponent_Template_button_click_10_listener() { return ctx.openPanel("ai"); });
|
|
342
|
+
i0.ɵɵelement(11, "i", 9);
|
|
343
|
+
i0.ɵɵtext(12, " Author with AI ");
|
|
344
|
+
i0.ɵɵelementEnd();
|
|
345
|
+
i0.ɵɵelementStart(13, "button", 8);
|
|
346
|
+
i0.ɵɵlistener("click", function FormsHomeDashboardComponent_Template_button_click_13_listener() { return ctx.openPanel("template"); });
|
|
347
|
+
i0.ɵɵelement(14, "i", 10);
|
|
348
|
+
i0.ɵɵtext(15, " From template ");
|
|
349
|
+
i0.ɵɵelementEnd()()();
|
|
350
|
+
i0.ɵɵconditionalCreate(16, FormsHomeDashboardComponent_Conditional_16_Template, 4, 1, "div", 11);
|
|
351
|
+
i0.ɵɵconditionalCreate(17, FormsHomeDashboardComponent_Case_17_Template, 10, 4, "section", 12)(18, FormsHomeDashboardComponent_Case_18_Template, 12, 2, "section", 13);
|
|
352
|
+
i0.ɵɵconditionalCreate(19, FormsHomeDashboardComponent_Conditional_19_Template, 3, 0, "div", 14)(20, FormsHomeDashboardComponent_Conditional_20_Template, 7, 0, "div", 15)(21, FormsHomeDashboardComponent_Conditional_21_Template, 17, 0, "div", 16);
|
|
353
|
+
i0.ɵɵelementEnd();
|
|
354
|
+
} if (rf & 2) {
|
|
355
|
+
let tmp_4_0;
|
|
356
|
+
i0.ɵɵadvance(7);
|
|
357
|
+
i0.ɵɵproperty("disabled", ctx.busy);
|
|
358
|
+
i0.ɵɵadvance(3);
|
|
359
|
+
i0.ɵɵproperty("disabled", ctx.busy);
|
|
360
|
+
i0.ɵɵadvance(3);
|
|
361
|
+
i0.ɵɵproperty("disabled", ctx.busy);
|
|
362
|
+
i0.ɵɵadvance(3);
|
|
363
|
+
i0.ɵɵconditional(ctx.errorMessage ? 16 : -1);
|
|
364
|
+
i0.ɵɵadvance();
|
|
365
|
+
i0.ɵɵconditional((tmp_4_0 = ctx.panel) === "ai" ? 17 : tmp_4_0 === "template" ? 18 : -1);
|
|
366
|
+
i0.ɵɵadvance(2);
|
|
367
|
+
i0.ɵɵconditional(ctx.loading ? 19 : ctx.forms.length === 0 ? 20 : 21);
|
|
368
|
+
} }, dependencies: [FormsModule, i1.DefaultValueAccessor, i1.NgControlStatus, i1.NgModel, DatePipe], styles: ["[_nghost-%COMP%] {\n display: block;\n height: 100%;\n overflow: auto;\n background: var(--mj-bg-page);\n font-family: var(--mj-font-family);\n}\n\n.home[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: var(--mj-space-4);\n padding: var(--mj-space-4);\n}\n\n.home-header[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: var(--mj-space-3);\n align-items: center;\n justify-content: space-between;\n}\n\n.title-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n color: var(--mj-text-primary);\n}\n\n.home-title[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 20px;\n font-weight: 700;\n color: var(--mj-text-primary);\n}\n\n.actions[_ngcontent-%COMP%] {\n display: flex;\n gap: var(--mj-space-2);\n flex-wrap: wrap;\n}\n\n.btn[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: var(--mj-space-1);\n padding: var(--mj-space-2) var(--mj-space-3);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-md);\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-size: 13px;\n font-family: inherit;\n cursor: pointer;\n}\n\n.btn[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: var(--mj-bg-surface-hover);\n}\n\n.btn[_ngcontent-%COMP%]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.btn-primary[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-on-primary);\n}\n\n.btn-primary[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: var(--mj-brand-primary-hover);\n}\n\n.alert[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n padding: var(--mj-space-3);\n border: 1px solid var(--mj-status-error);\n border-radius: var(--mj-radius-md);\n background: var(--mj-bg-surface);\n color: var(--mj-status-error);\n font-size: 13px;\n}\n\n\n\n.panel[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: var(--mj-space-3);\n padding: var(--mj-space-4);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-md);\n background: var(--mj-bg-surface);\n}\n\n.panel-label[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n}\n\n.brief-input[_ngcontent-%COMP%] {\n width: 100%;\n padding: var(--mj-space-2);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-md);\n background: var(--mj-bg-page);\n color: var(--mj-text-primary);\n font-family: inherit;\n font-size: 13px;\n resize: vertical;\n box-sizing: border-box;\n}\n\n.panel-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: var(--mj-space-2);\n}\n\n.template-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));\n gap: var(--mj-space-2);\n}\n\n.template-card[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--mj-space-2);\n padding: var(--mj-space-3);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-md);\n background: var(--mj-bg-page);\n color: var(--mj-text-primary);\n font-size: 13px;\n font-family: inherit;\n cursor: pointer;\n}\n\n.template-card[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 20px;\n color: var(--mj-text-secondary);\n}\n\n.template-card[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: var(--mj-bg-surface-hover);\n}\n\n.template-card.selected[_ngcontent-%COMP%] {\n border-color: var(--mj-brand-primary);\n background: var(--mj-bg-surface-hover);\n}\n\n.template-card.selected[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n}\n\n\n\n.state-msg[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n padding: var(--mj-space-4);\n color: var(--mj-text-secondary);\n font-size: 14px;\n}\n\n.empty-state[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--mj-space-3);\n padding: var(--mj-space-6) var(--mj-space-4);\n color: var(--mj-text-secondary);\n text-align: center;\n}\n\n.empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 32px;\n opacity: 0.6;\n}\n\n\n\n.grid-wrap[_ngcontent-%COMP%] {\n overflow-x: auto;\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-md);\n background: var(--mj-bg-surface);\n}\n\n.forms-grid[_ngcontent-%COMP%] {\n width: 100%;\n border-collapse: collapse;\n font-size: 13px;\n}\n\n.forms-grid[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n text-align: left;\n padding: var(--mj-space-2) var(--mj-space-3);\n border-bottom: 1px solid var(--mj-border-default);\n color: var(--mj-text-secondary);\n font-weight: 600;\n white-space: nowrap;\n}\n\n.forms-grid[_ngcontent-%COMP%] th.num[_ngcontent-%COMP%], \n.forms-grid[_ngcontent-%COMP%] td.num[_ngcontent-%COMP%] {\n text-align: right;\n}\n\n.form-row[_ngcontent-%COMP%] {\n cursor: pointer;\n}\n\n.form-row[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n}\n\n.form-row[_ngcontent-%COMP%]:focus-visible {\n outline: 2px solid var(--mj-brand-primary);\n outline-offset: -2px;\n}\n\n.forms-grid[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: var(--mj-space-2) var(--mj-space-3);\n border-bottom: 1px solid var(--mj-border-subtle);\n color: var(--mj-text-primary);\n white-space: nowrap;\n}\n\n.name-cell[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n}\n\n.name-cell[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n}\n\n.status-pill[_ngcontent-%COMP%] {\n display: inline-block;\n padding: 2px var(--mj-space-2);\n border-radius: var(--mj-radius-full);\n font-size: 11px;\n font-weight: 600;\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-secondary);\n}\n\n.status-pill[data-status='Published'][_ngcontent-%COMP%] {\n background: var(--mj-status-success);\n color: var(--mj-text-inverse);\n}\n\n.status-pill[data-status='Draft'][_ngcontent-%COMP%] {\n background: var(--mj-status-info);\n color: var(--mj-text-inverse);\n}\n\n.status-pill[data-status='Closed'][_ngcontent-%COMP%] {\n background: var(--mj-status-warning);\n color: var(--mj-text-inverse);\n}"], changeDetection: 0 });
|
|
369
|
+
};
|
|
370
|
+
FormsHomeDashboardComponent = __decorate([
|
|
371
|
+
RegisterClass(BaseDashboard, 'FormsHomeDashboard')
|
|
372
|
+
], FormsHomeDashboardComponent);
|
|
373
|
+
export { FormsHomeDashboardComponent };
|
|
374
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormsHomeDashboardComponent, [{
|
|
375
|
+
type: Component,
|
|
376
|
+
args: [{ selector: 'mj-forms-home-dashboard', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, providers: [FormsHomeService], imports: [FormsModule, DatePipe], template: "<div class=\"home\">\n <header class=\"home-header\">\n <div class=\"title-row\">\n <i class=\"fa-solid fa-clipboard-list\" aria-hidden=\"true\"></i>\n <h1 class=\"home-title\">Forms</h1>\n </div>\n <div class=\"actions\">\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"newForm()\" [disabled]=\"busy\">\n <i class=\"fa-solid fa-plus\" aria-hidden=\"true\"></i> New form\n </button>\n <button type=\"button\" class=\"btn\" (click)=\"openPanel('ai')\" [disabled]=\"busy\">\n <i class=\"fa-solid fa-wand-magic-sparkles\" aria-hidden=\"true\"></i> Author with AI\n </button>\n <button type=\"button\" class=\"btn\" (click)=\"openPanel('template')\" [disabled]=\"busy\">\n <i class=\"fa-solid fa-layer-group\" aria-hidden=\"true\"></i> From template\n </button>\n </div>\n </header>\n\n @if (errorMessage) {\n <div class=\"alert\" role=\"alert\">\n <i class=\"fa-solid fa-triangle-exclamation\" aria-hidden=\"true\"></i>\n <span>{{ errorMessage }}</span>\n </div>\n }\n\n @switch (panel) {\n @case ('ai') {\n <section class=\"panel\" aria-label=\"Author with AI\">\n <label class=\"panel-label\" for=\"brief\">\n Describe the form you want and AI will draft it.\n </label>\n <textarea\n id=\"brief\"\n class=\"brief-input\"\n rows=\"3\"\n placeholder=\"e.g. A 5-question event RSVP with dietary preferences and a guest count\"\n [(ngModel)]=\"brief\"\n [disabled]=\"busy\"\n ></textarea>\n <div class=\"panel-actions\">\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"authorWithAI()\" [disabled]=\"busy\">\n <i class=\"fa-solid fa-wand-magic-sparkles\" aria-hidden=\"true\"></i> Generate\n </button>\n <button type=\"button\" class=\"btn\" (click)=\"closePanel()\" [disabled]=\"busy\">Cancel</button>\n </div>\n </section>\n }\n @case ('template') {\n <section class=\"panel\" aria-label=\"From template\">\n <span class=\"panel-label\">Start from a curated template.</span>\n <div class=\"template-grid\">\n @for (t of templates; track t.key) {\n <button\n type=\"button\"\n class=\"template-card\"\n [class.selected]=\"selectedTemplateKey === t.key\"\n (click)=\"selectedTemplateKey = t.key\"\n [disabled]=\"busy\"\n >\n <i [class]=\"t.icon\" aria-hidden=\"true\"></i>\n <span>{{ t.label }}</span>\n </button>\n }\n </div>\n <div class=\"panel-actions\">\n <button\n type=\"button\"\n class=\"btn btn-primary\"\n (click)=\"createFromTemplate()\"\n [disabled]=\"busy\"\n >\n <i class=\"fa-solid fa-layer-group\" aria-hidden=\"true\"></i> Create\n </button>\n <button type=\"button\" class=\"btn\" (click)=\"closePanel()\" [disabled]=\"busy\">Cancel</button>\n </div>\n </section>\n }\n }\n\n @if (loading) {\n <div class=\"state-msg\"><i class=\"fa-solid fa-spinner fa-spin\" aria-hidden=\"true\"></i> Loading forms\u2026</div>\n } @else if (forms.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-clipboard-list\" aria-hidden=\"true\"></i>\n <p>No forms yet. Create your first one to get started.</p>\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"newForm()\">\n <i class=\"fa-solid fa-plus\" aria-hidden=\"true\"></i> New form\n </button>\n </div>\n } @else {\n <div class=\"grid-wrap\">\n <table class=\"forms-grid\">\n <thead>\n <tr>\n <th scope=\"col\">Name</th>\n <th scope=\"col\">Status</th>\n <th scope=\"col\">Category</th>\n <th scope=\"col\" class=\"num\">Responses</th>\n <th scope=\"col\">Updated</th>\n </tr>\n </thead>\n <tbody>\n @for (row of forms; track row.id) {\n <tr class=\"form-row\" (click)=\"openForm(row)\" tabindex=\"0\"\n (keydown.enter)=\"openForm(row)\">\n <td class=\"name-cell\">\n <i class=\"fa-solid fa-file-lines\" aria-hidden=\"true\"></i>\n <span>{{ row.name }}</span>\n </td>\n <td>\n <span class=\"status-pill\" [attr.data-status]=\"row.status\">{{ row.status }}</span>\n </td>\n <td>{{ row.categoryName ?? '\u2014' }}</td>\n <td class=\"num\">{{ row.responseCount }}</td>\n <td>{{ row.updatedAt ? (row.updatedAt | date: 'medium') : '\u2014' }}</td>\n </tr>\n }\n </tbody>\n </table>\n </div>\n }\n</div>\n", styles: [":host {\n display: block;\n height: 100%;\n overflow: auto;\n background: var(--mj-bg-page);\n font-family: var(--mj-font-family);\n}\n\n.home {\n display: flex;\n flex-direction: column;\n gap: var(--mj-space-4);\n padding: var(--mj-space-4);\n}\n\n.home-header {\n display: flex;\n flex-wrap: wrap;\n gap: var(--mj-space-3);\n align-items: center;\n justify-content: space-between;\n}\n\n.title-row {\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n color: var(--mj-text-primary);\n}\n\n.home-title {\n margin: 0;\n font-size: 20px;\n font-weight: 700;\n color: var(--mj-text-primary);\n}\n\n.actions {\n display: flex;\n gap: var(--mj-space-2);\n flex-wrap: wrap;\n}\n\n.btn {\n display: inline-flex;\n align-items: center;\n gap: var(--mj-space-1);\n padding: var(--mj-space-2) var(--mj-space-3);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-md);\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-size: 13px;\n font-family: inherit;\n cursor: pointer;\n}\n\n.btn:hover:not(:disabled) {\n background: var(--mj-bg-surface-hover);\n}\n\n.btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.btn-primary {\n background: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-on-primary);\n}\n\n.btn-primary:hover:not(:disabled) {\n background: var(--mj-brand-primary-hover);\n}\n\n.alert {\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n padding: var(--mj-space-3);\n border: 1px solid var(--mj-status-error);\n border-radius: var(--mj-radius-md);\n background: var(--mj-bg-surface);\n color: var(--mj-status-error);\n font-size: 13px;\n}\n\n/* --- Authoring panel --- */\n.panel {\n display: flex;\n flex-direction: column;\n gap: var(--mj-space-3);\n padding: var(--mj-space-4);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-md);\n background: var(--mj-bg-surface);\n}\n\n.panel-label {\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n}\n\n.brief-input {\n width: 100%;\n padding: var(--mj-space-2);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-md);\n background: var(--mj-bg-page);\n color: var(--mj-text-primary);\n font-family: inherit;\n font-size: 13px;\n resize: vertical;\n box-sizing: border-box;\n}\n\n.panel-actions {\n display: flex;\n gap: var(--mj-space-2);\n}\n\n.template-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));\n gap: var(--mj-space-2);\n}\n\n.template-card {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--mj-space-2);\n padding: var(--mj-space-3);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-md);\n background: var(--mj-bg-page);\n color: var(--mj-text-primary);\n font-size: 13px;\n font-family: inherit;\n cursor: pointer;\n}\n\n.template-card i {\n font-size: 20px;\n color: var(--mj-text-secondary);\n}\n\n.template-card:hover:not(:disabled) {\n background: var(--mj-bg-surface-hover);\n}\n\n.template-card.selected {\n border-color: var(--mj-brand-primary);\n background: var(--mj-bg-surface-hover);\n}\n\n.template-card.selected i {\n color: var(--mj-brand-primary);\n}\n\n/* --- States --- */\n.state-msg {\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n padding: var(--mj-space-4);\n color: var(--mj-text-secondary);\n font-size: 14px;\n}\n\n.empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--mj-space-3);\n padding: var(--mj-space-6) var(--mj-space-4);\n color: var(--mj-text-secondary);\n text-align: center;\n}\n\n.empty-state i {\n font-size: 32px;\n opacity: 0.6;\n}\n\n/* --- Grid --- */\n.grid-wrap {\n overflow-x: auto;\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-md);\n background: var(--mj-bg-surface);\n}\n\n.forms-grid {\n width: 100%;\n border-collapse: collapse;\n font-size: 13px;\n}\n\n.forms-grid thead th {\n text-align: left;\n padding: var(--mj-space-2) var(--mj-space-3);\n border-bottom: 1px solid var(--mj-border-default);\n color: var(--mj-text-secondary);\n font-weight: 600;\n white-space: nowrap;\n}\n\n.forms-grid th.num,\n.forms-grid td.num {\n text-align: right;\n}\n\n.form-row {\n cursor: pointer;\n}\n\n.form-row:hover {\n background: var(--mj-bg-surface-hover);\n}\n\n.form-row:focus-visible {\n outline: 2px solid var(--mj-brand-primary);\n outline-offset: -2px;\n}\n\n.forms-grid td {\n padding: var(--mj-space-2) var(--mj-space-3);\n border-bottom: 1px solid var(--mj-border-subtle);\n color: var(--mj-text-primary);\n white-space: nowrap;\n}\n\n.name-cell {\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n}\n\n.name-cell i {\n color: var(--mj-text-secondary);\n}\n\n.status-pill {\n display: inline-block;\n padding: 2px var(--mj-space-2);\n border-radius: var(--mj-radius-full);\n font-size: 11px;\n font-weight: 600;\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-secondary);\n}\n\n.status-pill[data-status='Published'] {\n background: var(--mj-status-success);\n color: var(--mj-text-inverse);\n}\n\n.status-pill[data-status='Draft'] {\n background: var(--mj-status-info);\n color: var(--mj-text-inverse);\n}\n\n.status-pill[data-status='Closed'] {\n background: var(--mj-status-warning);\n color: var(--mj-text-inverse);\n}\n"] }]
|
|
377
|
+
}], null, null); })();
|
|
378
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FormsHomeDashboardComponent, { className: "FormsHomeDashboardComponent", filePath: "lib/home/forms-home-dashboard.component.ts", lineNumber: 56 }); })();
|
|
379
|
+
//# sourceMappingURL=forms-home-dashboard.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forms-home-dashboard.component.js","sourceRoot":"","sources":["../../../src/lib/home/forms-home-dashboard.component.ts","../../../src/lib/home/forms-home-dashboard.component.html"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { ActionParam } from '@memberjunction/actions-base';
|
|
2
|
+
import { type FormSummaryRow } from './home-models';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/** Outcome of running an authoring/template action. */
|
|
5
|
+
export interface AuthoringResult {
|
|
6
|
+
success: boolean;
|
|
7
|
+
formId: string | null;
|
|
8
|
+
message: string;
|
|
9
|
+
}
|
|
10
|
+
export declare class FormsHomeService {
|
|
11
|
+
private readonly rv;
|
|
12
|
+
/** Loads the full Forms grid in one batched round-trip. */
|
|
13
|
+
loadForms(): Promise<FormSummaryRow[]>;
|
|
14
|
+
/**
|
|
15
|
+
* Runs an authoring/template Action by name with the given input params and
|
|
16
|
+
* returns the created form id from the action's output params.
|
|
17
|
+
*/
|
|
18
|
+
runAuthoringAction(actionName: string, inputs: ActionParam[]): Promise<AuthoringResult>;
|
|
19
|
+
/** Looks up the Action record id by its registered name. */
|
|
20
|
+
private resolveActionId;
|
|
21
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FormsHomeService, never>;
|
|
22
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<FormsHomeService>;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=forms-home.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forms-home.service.d.ts","sourceRoot":"","sources":["../../../src/lib/home/forms-home.service.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,WAAW,EAAgB,MAAM,8BAA8B,CAAC;AAG9E,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;;AAGvB,uDAAuD;AACvD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBACa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAiB;IAEpC,2DAA2D;IAC9C,SAAS,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAiCnD;;;OAGG;IACU,kBAAkB,CAC7B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,WAAW,EAAE,GACpB,OAAO,CAAC,eAAe,CAAC;IAqB3B,4DAA4D;YAC9C,eAAe;yCAlElB,gBAAgB;6CAAhB,gBAAgB;CA+E5B"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Forms home data service.
|
|
3
|
+
*
|
|
4
|
+
* Read path: pure `RunViews` (`ResultType: 'simple'`) — the grid of forms with
|
|
5
|
+
* their category and response counts (FORMS_BUILD_PLAN §8.1: no new infra).
|
|
6
|
+
*
|
|
7
|
+
* Authoring path: resolves a Forms authoring/template Action by name and runs it
|
|
8
|
+
* server-side via `GraphQLActionClient`, returning the new `FormID` so the
|
|
9
|
+
* dashboard can open the created form in the WP-D builder. No Forms entity is
|
|
10
|
+
* mutated client-side, so this stays independent of generated Forms types.
|
|
11
|
+
*/
|
|
12
|
+
import { Injectable } from '@angular/core';
|
|
13
|
+
import { RunView } from '@memberjunction/core';
|
|
14
|
+
import { GraphQLActionClient, GraphQLDataProvider } from '@memberjunction/graphql-dataprovider';
|
|
15
|
+
import { HOME_ENTITY, } from './home-models';
|
|
16
|
+
import { buildFormRows, readFormIdFromParams } from './home-aggregations';
|
|
17
|
+
import * as i0 from "@angular/core";
|
|
18
|
+
export class FormsHomeService {
|
|
19
|
+
rv = new RunView();
|
|
20
|
+
/** Loads the full Forms grid in one batched round-trip. */
|
|
21
|
+
async loadForms() {
|
|
22
|
+
const [formsRes, catsRes, responsesRes] = (await this.rv.RunViews([
|
|
23
|
+
{
|
|
24
|
+
EntityName: HOME_ENTITY.forms,
|
|
25
|
+
ResultType: 'simple',
|
|
26
|
+
Fields: ['ID', 'Name', 'Status', 'CategoryID', '__mj_UpdatedAt'],
|
|
27
|
+
OrderBy: 'Name',
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
EntityName: HOME_ENTITY.categories,
|
|
31
|
+
ResultType: 'simple',
|
|
32
|
+
Fields: ['ID', 'Name'],
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
EntityName: HOME_ENTITY.responses,
|
|
36
|
+
ResultType: 'simple',
|
|
37
|
+
Fields: ['FormID'],
|
|
38
|
+
},
|
|
39
|
+
]));
|
|
40
|
+
if (!formsRes.Success) {
|
|
41
|
+
throw new Error(formsRes.ErrorMessage || 'Failed to load forms.');
|
|
42
|
+
}
|
|
43
|
+
// Categories / responses are enrichment-only; degrade gracefully if absent.
|
|
44
|
+
const cats = catsRes.Success ? catsRes.Results : [];
|
|
45
|
+
const responses = responsesRes.Success ? responsesRes.Results : [];
|
|
46
|
+
return buildFormRows(formsRes.Results, cats, responses);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Runs an authoring/template Action by name with the given input params and
|
|
50
|
+
* returns the created form id from the action's output params.
|
|
51
|
+
*/
|
|
52
|
+
async runAuthoringAction(actionName, inputs) {
|
|
53
|
+
const actionId = await this.resolveActionId(actionName);
|
|
54
|
+
if (!actionId) {
|
|
55
|
+
return { success: false, formId: null, message: `Action '${actionName}' is not installed.` };
|
|
56
|
+
}
|
|
57
|
+
const client = new GraphQLActionClient(GraphQLDataProvider.Instance);
|
|
58
|
+
const result = await client.RunAction(actionId, inputs);
|
|
59
|
+
if (!result.Success) {
|
|
60
|
+
return {
|
|
61
|
+
success: false,
|
|
62
|
+
formId: null,
|
|
63
|
+
message: result.Message || 'The action did not complete successfully.',
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
success: true,
|
|
68
|
+
formId: readFormIdFromParams(result.Params),
|
|
69
|
+
message: result.Message || 'Form created.',
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
/** Looks up the Action record id by its registered name. */
|
|
73
|
+
async resolveActionId(actionName) {
|
|
74
|
+
const res = (await this.rv.RunView({
|
|
75
|
+
EntityName: HOME_ENTITY.actions,
|
|
76
|
+
ResultType: 'simple',
|
|
77
|
+
Fields: ['ID', 'Name'],
|
|
78
|
+
ExtraFilter: `Name='${actionName.replace(/'/g, "''")}'`,
|
|
79
|
+
MaxRows: 1,
|
|
80
|
+
}));
|
|
81
|
+
if (!res.Success || res.Results.length === 0) {
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
return res.Results[0].ID ?? null;
|
|
85
|
+
}
|
|
86
|
+
static ɵfac = function FormsHomeService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || FormsHomeService)(); };
|
|
87
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: FormsHomeService, factory: FormsHomeService.ɵfac });
|
|
88
|
+
}
|
|
89
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormsHomeService, [{
|
|
90
|
+
type: Injectable
|
|
91
|
+
}], null, null); })();
|
|
92
|
+
//# sourceMappingURL=forms-home.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forms-home.service.js","sourceRoot":"","sources":["../../../src/lib/home/forms-home.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure transforms for the Forms home grid — no I/O, fully unit-testable.
|
|
3
|
+
*/
|
|
4
|
+
import type { ActionParam } from '@memberjunction/actions-base';
|
|
5
|
+
import type { FormCategorySimpleRecord, FormResponseSimpleRecord, FormSimpleRecord, FormSummaryRow } from './home-models';
|
|
6
|
+
/** Builds a fast id→name map from the categories result. */
|
|
7
|
+
export declare function categoryNameMap(categories: readonly FormCategorySimpleRecord[]): Map<string, string>;
|
|
8
|
+
/** Counts responses per form id. */
|
|
9
|
+
export declare function responseCountMap(responses: readonly FormResponseSimpleRecord[]): Map<string, number>;
|
|
10
|
+
/** Coerces a RunView date cell (string or Date) into a Date, or null. */
|
|
11
|
+
export declare function toDate(value: Date | string | null | undefined): Date | null;
|
|
12
|
+
/**
|
|
13
|
+
* Folds the three simple result sets into display rows, newest first.
|
|
14
|
+
*/
|
|
15
|
+
export declare function buildFormRows(forms: readonly FormSimpleRecord[], categories: readonly FormCategorySimpleRecord[], responses: readonly FormResponseSimpleRecord[]): FormSummaryRow[];
|
|
16
|
+
/** Newest-updated first; rows without a date sort last, then by name. */
|
|
17
|
+
export declare function sortByUpdatedDesc(rows: FormSummaryRow[]): FormSummaryRow[];
|
|
18
|
+
/**
|
|
19
|
+
* Extracts the `FormID` output parameter produced by the authoring/template
|
|
20
|
+
* actions. Both actions set an output param named `FormID`.
|
|
21
|
+
*/
|
|
22
|
+
export declare function readFormIdFromParams(params: readonly ActionParam[] | undefined): string | null;
|
|
23
|
+
//# sourceMappingURL=home-aggregations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"home-aggregations.d.ts","sourceRoot":"","sources":["../../../src/lib/home/home-aggregations.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EACV,wBAAwB,EACxB,wBAAwB,EACxB,gBAAgB,EAChB,cAAc,EACf,MAAM,eAAe,CAAC;AAEvB,4DAA4D;AAC5D,wBAAgB,eAAe,CAC7B,UAAU,EAAE,SAAS,wBAAwB,EAAE,GAC9C,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAMrB;AAED,oCAAoC;AACpC,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,SAAS,wBAAwB,EAAE,GAC7C,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAMrB;AAED,yEAAyE;AACzE,wBAAgB,MAAM,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,CAM3E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,SAAS,gBAAgB,EAAE,EAClC,UAAU,EAAE,SAAS,wBAAwB,EAAE,EAC/C,SAAS,EAAE,SAAS,wBAAwB,EAAE,GAC7C,cAAc,EAAE,CAclB;AAED,yEAAyE;AACzE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE,CAS1E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,SAAS,WAAW,EAAE,GAAG,SAAS,GACzC,MAAM,GAAG,IAAI,CASf"}
|