@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,282 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import { BUILDER_CONTROL_STYLES } from './builder-styles';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/forms";
|
|
7
|
+
const _forTrack0 = ($index, $item) => $item.id;
|
|
8
|
+
const _forTrack1 = ($index, $item) => $item.op;
|
|
9
|
+
function ConditionalRuleEditorComponent_Conditional_6_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
10
|
+
i0.ɵɵelementStart(0, "p", 7);
|
|
11
|
+
i0.ɵɵtext(1, "Add an earlier question first to base a rule on its answer.");
|
|
12
|
+
i0.ɵɵelementEnd();
|
|
13
|
+
} }
|
|
14
|
+
function ConditionalRuleEditorComponent_Conditional_6_Conditional_1_For_10_For_4_Template(rf, ctx) { if (rf & 1) {
|
|
15
|
+
i0.ɵɵelementStart(0, "option", 14);
|
|
16
|
+
i0.ɵɵtext(1);
|
|
17
|
+
i0.ɵɵelementEnd();
|
|
18
|
+
} if (rf & 2) {
|
|
19
|
+
const src_r8 = ctx.$implicit;
|
|
20
|
+
i0.ɵɵproperty("value", src_r8.id);
|
|
21
|
+
i0.ɵɵadvance();
|
|
22
|
+
i0.ɵɵtextInterpolate(src_r8.prompt);
|
|
23
|
+
} }
|
|
24
|
+
function ConditionalRuleEditorComponent_Conditional_6_Conditional_1_For_10_For_8_Template(rf, ctx) { if (rf & 1) {
|
|
25
|
+
i0.ɵɵelementStart(0, "option", 14);
|
|
26
|
+
i0.ɵɵtext(1);
|
|
27
|
+
i0.ɵɵelementEnd();
|
|
28
|
+
} if (rf & 2) {
|
|
29
|
+
const op_r10 = ctx.$implicit;
|
|
30
|
+
i0.ɵɵproperty("value", op_r10.op);
|
|
31
|
+
i0.ɵɵadvance();
|
|
32
|
+
i0.ɵɵtextInterpolate(op_r10.label);
|
|
33
|
+
} }
|
|
34
|
+
function ConditionalRuleEditorComponent_Conditional_6_Conditional_1_For_10_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
35
|
+
const _r11 = i0.ɵɵgetCurrentView();
|
|
36
|
+
i0.ɵɵelementStart(0, "input", 19, 3);
|
|
37
|
+
i0.ɵɵlistener("input", function ConditionalRuleEditorComponent_Conditional_6_Conditional_1_For_10_Conditional_9_Template_input_input_0_listener() { i0.ɵɵrestoreView(_r11); const valueInput_r12 = i0.ɵɵreference(1); const $index_r6 = i0.ɵɵnextContext().$index; const ctx_r3 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r3.setValue($index_r6, valueInput_r12.value)); });
|
|
38
|
+
i0.ɵɵelementEnd();
|
|
39
|
+
} if (rf & 2) {
|
|
40
|
+
const cond_r13 = i0.ɵɵnextContext().$implicit;
|
|
41
|
+
const ctx_r3 = i0.ɵɵnextContext(3);
|
|
42
|
+
i0.ɵɵproperty("value", ctx_r3.valueAsString(cond_r13));
|
|
43
|
+
i0.ɵɵattribute("placeholder", cond_r13.op === "in" || cond_r13.op === "notIn" ? "a, b, c" : "value");
|
|
44
|
+
} }
|
|
45
|
+
function ConditionalRuleEditorComponent_Conditional_6_Conditional_1_For_10_Template(rf, ctx) { if (rf & 1) {
|
|
46
|
+
const _r5 = i0.ɵɵgetCurrentView();
|
|
47
|
+
i0.ɵɵelementStart(0, "div", 10)(1, "select", 13, 1);
|
|
48
|
+
i0.ɵɵlistener("change", function ConditionalRuleEditorComponent_Conditional_6_Conditional_1_For_10_Template_select_change_1_listener() { const $index_r6 = i0.ɵɵrestoreView(_r5).$index; const questionSelect_r7 = i0.ɵɵreference(2); const ctx_r3 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r3.setQuestion($index_r6, questionSelect_r7.value)); });
|
|
49
|
+
i0.ɵɵrepeaterCreate(3, ConditionalRuleEditorComponent_Conditional_6_Conditional_1_For_10_For_4_Template, 2, 2, "option", 14, _forTrack0);
|
|
50
|
+
i0.ɵɵelementEnd();
|
|
51
|
+
i0.ɵɵelementStart(5, "select", 15, 2);
|
|
52
|
+
i0.ɵɵlistener("change", function ConditionalRuleEditorComponent_Conditional_6_Conditional_1_For_10_Template_select_change_5_listener() { const $index_r6 = i0.ɵɵrestoreView(_r5).$index; const operatorSelect_r9 = i0.ɵɵreference(6); const ctx_r3 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r3.setOperator($index_r6, operatorSelect_r9.value)); });
|
|
53
|
+
i0.ɵɵrepeaterCreate(7, ConditionalRuleEditorComponent_Conditional_6_Conditional_1_For_10_For_8_Template, 2, 2, "option", 14, _forTrack1);
|
|
54
|
+
i0.ɵɵelementEnd();
|
|
55
|
+
i0.ɵɵconditionalCreate(9, ConditionalRuleEditorComponent_Conditional_6_Conditional_1_For_10_Conditional_9_Template, 2, 2, "input", 16);
|
|
56
|
+
i0.ɵɵelementStart(10, "button", 17);
|
|
57
|
+
i0.ɵɵlistener("click", function ConditionalRuleEditorComponent_Conditional_6_Conditional_1_For_10_Template_button_click_10_listener() { const $index_r6 = i0.ɵɵrestoreView(_r5).$index; const ctx_r3 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r3.removeCondition($index_r6)); });
|
|
58
|
+
i0.ɵɵelement(11, "i", 18);
|
|
59
|
+
i0.ɵɵelementEnd()();
|
|
60
|
+
} if (rf & 2) {
|
|
61
|
+
const cond_r13 = ctx.$implicit;
|
|
62
|
+
const ctx_r3 = i0.ɵɵnextContext(3);
|
|
63
|
+
i0.ɵɵadvance();
|
|
64
|
+
i0.ɵɵproperty("value", cond_r13.questionId);
|
|
65
|
+
i0.ɵɵadvance(2);
|
|
66
|
+
i0.ɵɵrepeater(ctx_r3.sources);
|
|
67
|
+
i0.ɵɵadvance(2);
|
|
68
|
+
i0.ɵɵproperty("value", cond_r13.op);
|
|
69
|
+
i0.ɵɵadvance(2);
|
|
70
|
+
i0.ɵɵrepeater(ctx_r3.operators);
|
|
71
|
+
i0.ɵɵadvance(2);
|
|
72
|
+
i0.ɵɵconditional(ctx_r3.operatorNeedsValue(cond_r13.op) ? 9 : -1);
|
|
73
|
+
} }
|
|
74
|
+
function ConditionalRuleEditorComponent_Conditional_6_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
75
|
+
const _r3 = i0.ɵɵgetCurrentView();
|
|
76
|
+
i0.ɵɵelementStart(0, "div", 8)(1, "span");
|
|
77
|
+
i0.ɵɵtext(2, "Match");
|
|
78
|
+
i0.ɵɵelementEnd();
|
|
79
|
+
i0.ɵɵelementStart(3, "button", 9);
|
|
80
|
+
i0.ɵɵlistener("click", function ConditionalRuleEditorComponent_Conditional_6_Conditional_1_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r3); const ctx_r3 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r3.setCombinator("all")); });
|
|
81
|
+
i0.ɵɵtext(4, "all");
|
|
82
|
+
i0.ɵɵelementEnd();
|
|
83
|
+
i0.ɵɵelementStart(5, "button", 9);
|
|
84
|
+
i0.ɵɵlistener("click", function ConditionalRuleEditorComponent_Conditional_6_Conditional_1_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r3); const ctx_r3 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r3.setCombinator("any")); });
|
|
85
|
+
i0.ɵɵtext(6, "any");
|
|
86
|
+
i0.ɵɵelementEnd();
|
|
87
|
+
i0.ɵɵelementStart(7, "span");
|
|
88
|
+
i0.ɵɵtext(8, "of these:");
|
|
89
|
+
i0.ɵɵelementEnd()();
|
|
90
|
+
i0.ɵɵrepeaterCreate(9, ConditionalRuleEditorComponent_Conditional_6_Conditional_1_For_10_Template, 12, 3, "div", 10, i0.ɵɵrepeaterTrackByIndex);
|
|
91
|
+
i0.ɵɵelementStart(11, "button", 11);
|
|
92
|
+
i0.ɵɵlistener("click", function ConditionalRuleEditorComponent_Conditional_6_Conditional_1_Template_button_click_11_listener() { i0.ɵɵrestoreView(_r3); const ctx_r3 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r3.addCondition()); });
|
|
93
|
+
i0.ɵɵelement(12, "i", 12);
|
|
94
|
+
i0.ɵɵtext(13, " Add condition ");
|
|
95
|
+
i0.ɵɵelementEnd();
|
|
96
|
+
} if (rf & 2) {
|
|
97
|
+
const ctx_r3 = i0.ɵɵnextContext(2);
|
|
98
|
+
i0.ɵɵadvance(3);
|
|
99
|
+
i0.ɵɵclassProp("is-on", ctx_r3._combinator === "all");
|
|
100
|
+
i0.ɵɵattribute("aria-pressed", ctx_r3._combinator === "all");
|
|
101
|
+
i0.ɵɵadvance(2);
|
|
102
|
+
i0.ɵɵclassProp("is-on", ctx_r3._combinator === "any");
|
|
103
|
+
i0.ɵɵattribute("aria-pressed", ctx_r3._combinator === "any");
|
|
104
|
+
i0.ɵɵadvance(4);
|
|
105
|
+
i0.ɵɵrepeater(ctx_r3._conditions);
|
|
106
|
+
} }
|
|
107
|
+
function ConditionalRuleEditorComponent_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
108
|
+
i0.ɵɵconditionalCreate(0, ConditionalRuleEditorComponent_Conditional_6_Conditional_0_Template, 2, 0, "p", 7)(1, ConditionalRuleEditorComponent_Conditional_6_Conditional_1_Template, 14, 6);
|
|
109
|
+
} if (rf & 2) {
|
|
110
|
+
const ctx_r3 = i0.ɵɵnextContext();
|
|
111
|
+
i0.ɵɵconditional(ctx_r3.sources.length === 0 ? 0 : 1);
|
|
112
|
+
} }
|
|
113
|
+
const CONDITIONAL_EDITOR_CSS = /* css */ `
|
|
114
|
+
.cre { display: flex; flex-direction: column; gap: 10px; }
|
|
115
|
+
.cre-toggle { display: inline-flex; align-items: center; gap: 8px; font-size: 0.8125rem; font-weight: 600; color: var(--mj-text-secondary); cursor: pointer; }
|
|
116
|
+
.cre-empty { font-size: 0.8125rem; color: var(--mj-text-muted); margin: 0; }
|
|
117
|
+
.cre-combinator { display: flex; align-items: center; gap: 6px; font-size: 0.8125rem; color: var(--mj-text-secondary); flex-wrap: wrap; }
|
|
118
|
+
.cre-seg { font: inherit; font-size: 0.8125rem; padding: 3px 10px; cursor: pointer; border-radius: var(--mj-radius-full, 999px); border: 1px solid var(--mj-border-default); background: var(--mj-bg-surface); color: var(--mj-text-secondary); }
|
|
119
|
+
.cre-seg.is-on { background: var(--mj-brand-primary); color: var(--mj-brand-on-primary, var(--mj-text-inverse)); border-color: var(--mj-brand-primary); }
|
|
120
|
+
.cre-row { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
|
|
121
|
+
.cre-input { flex: 1 1 120px; min-width: 0; }
|
|
122
|
+
.cre-value { flex: 1 1 120px; }
|
|
123
|
+
.cre-remove { flex: none; width: 32px; height: 32px; cursor: pointer; border-radius: var(--mj-radius-md, 8px); border: 1px solid var(--mj-border-default); background: var(--mj-bg-surface); color: var(--mj-text-muted); }
|
|
124
|
+
.cre-remove:hover { background: var(--mj-bg-surface-hover); color: var(--mj-status-error, var(--mj-color-error-600)); }
|
|
125
|
+
.cre-add { align-self: flex-start; font: inherit; font-size: 0.8125rem; font-weight: 600; display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; cursor: pointer; border-radius: var(--mj-radius-md, 8px); border: 1px dashed var(--mj-border-default); background: transparent; color: var(--mj-brand-primary); }
|
|
126
|
+
.cre-add:hover { background: var(--mj-bg-surface-hover); }
|
|
127
|
+
`;
|
|
128
|
+
const OPERATORS = [
|
|
129
|
+
{ op: 'equals', label: 'equals', needsValue: true },
|
|
130
|
+
{ op: 'notEquals', label: 'does not equal', needsValue: true },
|
|
131
|
+
{ op: 'contains', label: 'contains', needsValue: true },
|
|
132
|
+
{ op: 'in', label: 'is one of', needsValue: true },
|
|
133
|
+
{ op: 'notIn', label: 'is not one of', needsValue: true },
|
|
134
|
+
{ op: 'greaterThan', label: 'is greater than', needsValue: true },
|
|
135
|
+
{ op: 'lessThan', label: 'is less than', needsValue: true },
|
|
136
|
+
{ op: 'isAnswered', label: 'is answered', needsValue: false },
|
|
137
|
+
];
|
|
138
|
+
/**
|
|
139
|
+
* Friendly editor for a {@link ConditionalRule} `show` group (S2). Emits a new rule
|
|
140
|
+
* object on every change; the parent persists it. Phase-1 supports a single
|
|
141
|
+
* combinator (`all` / `any`) over a flat list of leaf conditions — no nesting, in
|
|
142
|
+
* line with FORMS_BUILD_PLAN §6.
|
|
143
|
+
*
|
|
144
|
+
* The editor never mutates the input; it rebuilds the rule and emits it, so change
|
|
145
|
+
* detection stays predictable.
|
|
146
|
+
*/
|
|
147
|
+
export class ConditionalRuleEditorComponent {
|
|
148
|
+
/** Questions that may be referenced (typically those preceding the current one). */
|
|
149
|
+
sources = [];
|
|
150
|
+
set rule(value) {
|
|
151
|
+
this._enabled = !!value?.show;
|
|
152
|
+
this._combinator = value?.show?.any ? 'any' : 'all';
|
|
153
|
+
const group = value?.show?.any ?? value?.show?.all ?? [];
|
|
154
|
+
this._conditions = group.map((c) => ({ ...c }));
|
|
155
|
+
}
|
|
156
|
+
ruleChange = new EventEmitter();
|
|
157
|
+
operators = OPERATORS;
|
|
158
|
+
_enabled = false;
|
|
159
|
+
_combinator = 'all';
|
|
160
|
+
_conditions = [];
|
|
161
|
+
operatorNeedsValue(op) {
|
|
162
|
+
return OPERATORS.find((o) => o.op === op)?.needsValue ?? true;
|
|
163
|
+
}
|
|
164
|
+
toggleEnabled(enabled) {
|
|
165
|
+
this._enabled = enabled;
|
|
166
|
+
if (enabled && this._conditions.length === 0) {
|
|
167
|
+
this.addCondition();
|
|
168
|
+
}
|
|
169
|
+
this.emit();
|
|
170
|
+
}
|
|
171
|
+
setCombinator(combinator) {
|
|
172
|
+
this._combinator = combinator;
|
|
173
|
+
this.emit();
|
|
174
|
+
}
|
|
175
|
+
addCondition() {
|
|
176
|
+
const firstSource = this.sources[0];
|
|
177
|
+
this._conditions = [
|
|
178
|
+
...this._conditions,
|
|
179
|
+
{ questionId: firstSource?.id ?? '', op: 'equals', value: '' },
|
|
180
|
+
];
|
|
181
|
+
this.emit();
|
|
182
|
+
}
|
|
183
|
+
removeCondition(index) {
|
|
184
|
+
this._conditions = this._conditions.filter((_, i) => i !== index);
|
|
185
|
+
if (this._conditions.length === 0) {
|
|
186
|
+
this._enabled = false;
|
|
187
|
+
}
|
|
188
|
+
this.emit();
|
|
189
|
+
}
|
|
190
|
+
setQuestion(index, questionId) {
|
|
191
|
+
this._conditions = this._conditions.map((c, i) => i === index ? { ...c, questionId } : c);
|
|
192
|
+
this.emit();
|
|
193
|
+
}
|
|
194
|
+
setOperator(index, raw) {
|
|
195
|
+
const op = this.toOperator(raw);
|
|
196
|
+
if (!op) {
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
this._conditions = this._conditions.map((c, i) => i === index ? { ...c, op } : c);
|
|
200
|
+
this.emit();
|
|
201
|
+
}
|
|
202
|
+
/** Narrow a raw <select> value to a known operator (it always is, from our own list). */
|
|
203
|
+
toOperator(raw) {
|
|
204
|
+
return OPERATORS.find((o) => o.op === raw)?.op;
|
|
205
|
+
}
|
|
206
|
+
setValue(index, raw) {
|
|
207
|
+
this._conditions = this._conditions.map((c, i) => i === index ? { ...c, value: this.coerceValue(c.op, raw) } : c);
|
|
208
|
+
this.emit();
|
|
209
|
+
}
|
|
210
|
+
valueAsString(condition) {
|
|
211
|
+
if (condition.value === undefined) {
|
|
212
|
+
return '';
|
|
213
|
+
}
|
|
214
|
+
if (Array.isArray(condition.value)) {
|
|
215
|
+
return condition.value.join(', ');
|
|
216
|
+
}
|
|
217
|
+
return String(condition.value);
|
|
218
|
+
}
|
|
219
|
+
/** `in` / `notIn` take a comma-separated list; everything else a scalar string. */
|
|
220
|
+
coerceValue(op, raw) {
|
|
221
|
+
if (op === 'in' || op === 'notIn') {
|
|
222
|
+
return raw
|
|
223
|
+
.split(',')
|
|
224
|
+
.map((s) => s.trim())
|
|
225
|
+
.filter((s) => s.length > 0);
|
|
226
|
+
}
|
|
227
|
+
return raw;
|
|
228
|
+
}
|
|
229
|
+
emit() {
|
|
230
|
+
if (!this._enabled || this._conditions.length === 0) {
|
|
231
|
+
this.ruleChange.emit(undefined);
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
const conditions = this._conditions
|
|
235
|
+
.filter((c) => c.questionId.length > 0)
|
|
236
|
+
.map((c) => this.normaliseCondition(c));
|
|
237
|
+
if (conditions.length === 0) {
|
|
238
|
+
this.ruleChange.emit(undefined);
|
|
239
|
+
return;
|
|
240
|
+
}
|
|
241
|
+
const rule = {
|
|
242
|
+
show: this._combinator === 'any' ? { any: conditions } : { all: conditions },
|
|
243
|
+
};
|
|
244
|
+
this.ruleChange.emit(rule);
|
|
245
|
+
}
|
|
246
|
+
/** Drop the value entirely for value-less operators (e.g. `isAnswered`). */
|
|
247
|
+
normaliseCondition(c) {
|
|
248
|
+
if (!this.operatorNeedsValue(c.op)) {
|
|
249
|
+
return { questionId: c.questionId, op: c.op };
|
|
250
|
+
}
|
|
251
|
+
return { questionId: c.questionId, op: c.op, value: c.value };
|
|
252
|
+
}
|
|
253
|
+
static ɵfac = function ConditionalRuleEditorComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ConditionalRuleEditorComponent)(); };
|
|
254
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ConditionalRuleEditorComponent, selectors: [["mjf-conditional-rule-editor"]], inputs: { sources: "sources", rule: "rule" }, outputs: { ruleChange: "ruleChange" }, decls: 7, vars: 2, consts: [["enabledToggle", ""], ["questionSelect", ""], ["operatorSelect", ""], ["valueInput", ""], [1, "cre"], [1, "cre-toggle"], ["type", "checkbox", "aria-label", "Only show this when conditions are met", 3, "change", "checked"], [1, "cre-empty"], ["role", "group", "aria-label", "Match mode", 1, "cre-combinator"], ["type", "button", 1, "cre-seg", 3, "click"], [1, "cre-row"], ["type", "button", 1, "cre-add", 3, "click"], ["aria-hidden", "true", 1, "fa-solid", "fa-plus"], ["aria-label", "Question", 1, "cre-input", 3, "change", "value"], [3, "value"], ["aria-label", "Operator", 1, "cre-input", 3, "change", "value"], ["type", "text", "aria-label", "Comparison value", 1, "cre-input", "cre-value", 3, "value"], ["type", "button", "aria-label", "Remove condition", 1, "cre-remove", 3, "click"], ["aria-hidden", "true", 1, "fa-solid", "fa-xmark"], ["type", "text", "aria-label", "Comparison value", 1, "cre-input", "cre-value", 3, "input", "value"]], template: function ConditionalRuleEditorComponent_Template(rf, ctx) { if (rf & 1) {
|
|
255
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
256
|
+
i0.ɵɵelementStart(0, "div", 4)(1, "label", 5)(2, "input", 6, 0);
|
|
257
|
+
i0.ɵɵlistener("change", function ConditionalRuleEditorComponent_Template_input_change_2_listener() { i0.ɵɵrestoreView(_r1); const enabledToggle_r2 = i0.ɵɵreference(3); return i0.ɵɵresetView(ctx.toggleEnabled(enabledToggle_r2.checked)); });
|
|
258
|
+
i0.ɵɵelementEnd();
|
|
259
|
+
i0.ɵɵelementStart(4, "span");
|
|
260
|
+
i0.ɵɵtext(5, "Only show when\u2026");
|
|
261
|
+
i0.ɵɵelementEnd()();
|
|
262
|
+
i0.ɵɵconditionalCreate(6, ConditionalRuleEditorComponent_Conditional_6_Template, 2, 1);
|
|
263
|
+
i0.ɵɵelementEnd();
|
|
264
|
+
} if (rf & 2) {
|
|
265
|
+
i0.ɵɵadvance(2);
|
|
266
|
+
i0.ɵɵproperty("checked", ctx._enabled);
|
|
267
|
+
i0.ɵɵadvance(4);
|
|
268
|
+
i0.ɵɵconditional(ctx._enabled ? 6 : -1);
|
|
269
|
+
} }, dependencies: [CommonModule, FormsModule, i1.NgSelectOption, i1.ɵNgSelectMultipleOption], styles: ["[_nghost-%COMP%] {\n --mjf-builder-gap: 16px;\n --mjf-builder-radius: var(--mj-radius-md, 8px);\n}\n.mjf-input[_ngcontent-%COMP%] {\n width: 100%;\n box-sizing: border-box;\n padding: 8px 10px;\n font: inherit;\n color: var(--mj-text-primary);\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mjf-builder-radius);\n transition: border-color var(--mj-transition-base, 0.15s ease);\n}\n.mjf-input[_ngcontent-%COMP%]:focus {\n outline: 2px solid var(--mjf-focus-ring, var(--mj-brand-primary));\n outline-offset: 1px;\n border-color: var(--mj-brand-primary);\n}\ntextarea.mjf-input[_ngcontent-%COMP%] { min-height: 64px; resize: vertical; }\n.mjf-field[_ngcontent-%COMP%] { display: flex; flex-direction: column; gap: 4px; margin-bottom: var(--mjf-builder-gap); }\n.mjf-field-label[_ngcontent-%COMP%] { font-size: 0.8125rem; font-weight: 600; color: var(--mj-text-secondary); }\n.mjf-field-hint[_ngcontent-%COMP%] { font-size: 0.75rem; color: var(--mj-text-muted); }\n.mjf-row[_ngcontent-%COMP%] { display: flex; gap: 8px; align-items: center; }\n.mjf-btn[_ngcontent-%COMP%] {\n display: inline-flex; align-items: center; gap: 6px;\n padding: 8px 14px; font: inherit; font-weight: 600; cursor: pointer;\n border-radius: var(--mjf-btn-radius, var(--mjf-builder-radius));\n border: 1px solid transparent;\n transition: background var(--mj-transition-base, 0.15s ease), border-color var(--mj-transition-base, 0.15s ease);\n}\n.mjf-btn[_ngcontent-%COMP%]:focus-visible { outline: 2px solid var(--mjf-focus-ring, var(--mj-brand-primary)); outline-offset: 2px; }\n.mjf-btn[_ngcontent-%COMP%]:disabled { opacity: 0.5; cursor: not-allowed; }\n.mjf-btn--primary[_ngcontent-%COMP%] { color: var(--mj-brand-on-primary, var(--mj-text-inverse)); background: var(--mj-brand-primary); }\n.mjf-btn--primary[_ngcontent-%COMP%]:hover:not(:disabled) { background: var(--mj-brand-primary-hover, var(--mj-brand-primary)); }\n.mjf-btn--ghost[_ngcontent-%COMP%] { color: var(--mj-text-secondary); background: transparent; border-color: var(--mj-border-default); }\n.mjf-btn--ghost[_ngcontent-%COMP%]:hover:not(:disabled) { background: var(--mj-bg-surface-hover); }\n.mjf-btn--danger[_ngcontent-%COMP%] { color: var(--mj-status-error, var(--mj-color-error-600)); background: transparent; border-color: var(--mj-border-default); }\n.mjf-btn--danger[_ngcontent-%COMP%]:hover:not(:disabled) { background: var(--mj-bg-surface-hover); }\n.mjf-pill[_ngcontent-%COMP%] {\n display: inline-flex; align-items: center; gap: 5px;\n padding: 3px 9px; font-size: 0.75rem; font-weight: 600;\n border-radius: var(--mjf-pill-radius, var(--mj-radius-full, 999px));\n color: var(--mj-text-secondary); background: var(--mj-bg-surface-sunken);\n border: 1px solid var(--mj-border-subtle);\n}\n.mjf-switch[_ngcontent-%COMP%] {\n position: relative; display: inline-block; width: 38px; height: 22px; flex: none; cursor: pointer;\n border-radius: var(--mj-radius-full, 999px); background: var(--mj-border-strong);\n transition: background var(--mj-transition-base, 0.15s ease);\n border: none; padding: 0;\n}\n.mjf-switch[_ngcontent-%COMP%]::after {\n content: ''; position: absolute; top: 2px; left: 2px; width: 18px; height: 18px;\n border-radius: 50%; background: var(--mj-bg-surface);\n transition: transform var(--mj-transition-base, 0.15s ease);\n}\n.mjf-switch.is-on[_ngcontent-%COMP%] { background: var(--mj-brand-primary); }\n.mjf-switch.is-on[_ngcontent-%COMP%]::after { transform: translateX(16px); }\n.mjf-switch[_ngcontent-%COMP%]:focus-visible { outline: 2px solid var(--mjf-focus-ring, var(--mj-brand-primary)); outline-offset: 2px; }", ".cre[_ngcontent-%COMP%] { display: flex; flex-direction: column; gap: 10px; }\n.cre-toggle[_ngcontent-%COMP%] { display: inline-flex; align-items: center; gap: 8px; font-size: 0.8125rem; font-weight: 600; color: var(--mj-text-secondary); cursor: pointer; }\n.cre-empty[_ngcontent-%COMP%] { font-size: 0.8125rem; color: var(--mj-text-muted); margin: 0; }\n.cre-combinator[_ngcontent-%COMP%] { display: flex; align-items: center; gap: 6px; font-size: 0.8125rem; color: var(--mj-text-secondary); flex-wrap: wrap; }\n.cre-seg[_ngcontent-%COMP%] { font: inherit; font-size: 0.8125rem; padding: 3px 10px; cursor: pointer; border-radius: var(--mj-radius-full, 999px); border: 1px solid var(--mj-border-default); background: var(--mj-bg-surface); color: var(--mj-text-secondary); }\n.cre-seg.is-on[_ngcontent-%COMP%] { background: var(--mj-brand-primary); color: var(--mj-brand-on-primary, var(--mj-text-inverse)); border-color: var(--mj-brand-primary); }\n.cre-row[_ngcontent-%COMP%] { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }\n.cre-input[_ngcontent-%COMP%] { flex: 1 1 120px; min-width: 0; }\n.cre-value[_ngcontent-%COMP%] { flex: 1 1 120px; }\n.cre-remove[_ngcontent-%COMP%] { flex: none; width: 32px; height: 32px; cursor: pointer; border-radius: var(--mj-radius-md, 8px); border: 1px solid var(--mj-border-default); background: var(--mj-bg-surface); color: var(--mj-text-muted); }\n.cre-remove[_ngcontent-%COMP%]:hover { background: var(--mj-bg-surface-hover); color: var(--mj-status-error, var(--mj-color-error-600)); }\n.cre-add[_ngcontent-%COMP%] { align-self: flex-start; font: inherit; font-size: 0.8125rem; font-weight: 600; display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; cursor: pointer; border-radius: var(--mj-radius-md, 8px); border: 1px dashed var(--mj-border-default); background: transparent; color: var(--mj-brand-primary); }\n.cre-add[_ngcontent-%COMP%]:hover { background: var(--mj-bg-surface-hover); }"], changeDetection: 0 });
|
|
270
|
+
}
|
|
271
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ConditionalRuleEditorComponent, [{
|
|
272
|
+
type: Component,
|
|
273
|
+
args: [{ selector: 'mjf-conditional-rule-editor', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, FormsModule], template: "<div class=\"cre\">\n <label class=\"cre-toggle\">\n <input\n #enabledToggle\n type=\"checkbox\"\n [checked]=\"_enabled\"\n (change)=\"toggleEnabled(enabledToggle.checked)\"\n aria-label=\"Only show this when conditions are met\"\n />\n <span>Only show when…</span>\n </label>\n\n @if (_enabled) {\n @if (sources.length === 0) {\n <p class=\"cre-empty\">Add an earlier question first to base a rule on its answer.</p>\n } @else {\n <div class=\"cre-combinator\" role=\"group\" aria-label=\"Match mode\">\n <span>Match</span>\n <button\n type=\"button\"\n class=\"cre-seg\"\n [class.is-on]=\"_combinator === 'all'\"\n [attr.aria-pressed]=\"_combinator === 'all'\"\n (click)=\"setCombinator('all')\"\n >all</button>\n <button\n type=\"button\"\n class=\"cre-seg\"\n [class.is-on]=\"_combinator === 'any'\"\n [attr.aria-pressed]=\"_combinator === 'any'\"\n (click)=\"setCombinator('any')\"\n >any</button>\n <span>of these:</span>\n </div>\n\n @for (cond of _conditions; track $index) {\n <div class=\"cre-row\">\n <select\n #questionSelect\n class=\"cre-input\"\n [value]=\"cond.questionId\"\n (change)=\"setQuestion($index, questionSelect.value)\"\n aria-label=\"Question\"\n >\n @for (src of sources; track src.id) {\n <option [value]=\"src.id\">{{ src.prompt }}</option>\n }\n </select>\n\n <select\n #operatorSelect\n class=\"cre-input\"\n [value]=\"cond.op\"\n (change)=\"setOperator($index, operatorSelect.value)\"\n aria-label=\"Operator\"\n >\n @for (op of operators; track op.op) {\n <option [value]=\"op.op\">{{ op.label }}</option>\n }\n </select>\n\n @if (operatorNeedsValue(cond.op)) {\n <input\n #valueInput\n type=\"text\"\n class=\"cre-input cre-value\"\n [value]=\"valueAsString(cond)\"\n (input)=\"setValue($index, valueInput.value)\"\n [attr.placeholder]=\"cond.op === 'in' || cond.op === 'notIn' ? 'a, b, c' : 'value'\"\n aria-label=\"Comparison value\"\n />\n }\n\n <button\n type=\"button\"\n class=\"cre-remove\"\n (click)=\"removeCondition($index)\"\n aria-label=\"Remove condition\"\n >\n <i class=\"fa-solid fa-xmark\" aria-hidden=\"true\"></i>\n </button>\n </div>\n }\n\n <button type=\"button\" class=\"cre-add\" (click)=\"addCondition()\">\n <i class=\"fa-solid fa-plus\" aria-hidden=\"true\"></i> Add condition\n </button>\n }\n }\n</div>\n", styles: ["\n:host {\n --mjf-builder-gap: 16px;\n --mjf-builder-radius: var(--mj-radius-md, 8px);\n}\n.mjf-input {\n width: 100%;\n box-sizing: border-box;\n padding: 8px 10px;\n font: inherit;\n color: var(--mj-text-primary);\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mjf-builder-radius);\n transition: border-color var(--mj-transition-base, 0.15s ease);\n}\n.mjf-input:focus {\n outline: 2px solid var(--mjf-focus-ring, var(--mj-brand-primary));\n outline-offset: 1px;\n border-color: var(--mj-brand-primary);\n}\ntextarea.mjf-input { min-height: 64px; resize: vertical; }\n.mjf-field { display: flex; flex-direction: column; gap: 4px; margin-bottom: var(--mjf-builder-gap); }\n.mjf-field-label { font-size: 0.8125rem; font-weight: 600; color: var(--mj-text-secondary); }\n.mjf-field-hint { font-size: 0.75rem; color: var(--mj-text-muted); }\n.mjf-row { display: flex; gap: 8px; align-items: center; }\n.mjf-btn {\n display: inline-flex; align-items: center; gap: 6px;\n padding: 8px 14px; font: inherit; font-weight: 600; cursor: pointer;\n border-radius: var(--mjf-btn-radius, var(--mjf-builder-radius));\n border: 1px solid transparent;\n transition: background var(--mj-transition-base, 0.15s ease), border-color var(--mj-transition-base, 0.15s ease);\n}\n.mjf-btn:focus-visible { outline: 2px solid var(--mjf-focus-ring, var(--mj-brand-primary)); outline-offset: 2px; }\n.mjf-btn:disabled { opacity: 0.5; cursor: not-allowed; }\n.mjf-btn--primary { color: var(--mj-brand-on-primary, var(--mj-text-inverse)); background: var(--mj-brand-primary); }\n.mjf-btn--primary:hover:not(:disabled) { background: var(--mj-brand-primary-hover, var(--mj-brand-primary)); }\n.mjf-btn--ghost { color: var(--mj-text-secondary); background: transparent; border-color: var(--mj-border-default); }\n.mjf-btn--ghost:hover:not(:disabled) { background: var(--mj-bg-surface-hover); }\n.mjf-btn--danger { color: var(--mj-status-error, var(--mj-color-error-600)); background: transparent; border-color: var(--mj-border-default); }\n.mjf-btn--danger:hover:not(:disabled) { background: var(--mj-bg-surface-hover); }\n.mjf-pill {\n display: inline-flex; align-items: center; gap: 5px;\n padding: 3px 9px; font-size: 0.75rem; font-weight: 600;\n border-radius: var(--mjf-pill-radius, var(--mj-radius-full, 999px));\n color: var(--mj-text-secondary); background: var(--mj-bg-surface-sunken);\n border: 1px solid var(--mj-border-subtle);\n}\n.mjf-switch {\n position: relative; display: inline-block; width: 38px; height: 22px; flex: none; cursor: pointer;\n border-radius: var(--mj-radius-full, 999px); background: var(--mj-border-strong);\n transition: background var(--mj-transition-base, 0.15s ease);\n border: none; padding: 0;\n}\n.mjf-switch::after {\n content: ''; position: absolute; top: 2px; left: 2px; width: 18px; height: 18px;\n border-radius: 50%; background: var(--mj-bg-surface);\n transition: transform var(--mj-transition-base, 0.15s ease);\n}\n.mjf-switch.is-on { background: var(--mj-brand-primary); }\n.mjf-switch.is-on::after { transform: translateX(16px); }\n.mjf-switch:focus-visible { outline: 2px solid var(--mjf-focus-ring, var(--mj-brand-primary)); outline-offset: 2px; }\n", "\n.cre { display: flex; flex-direction: column; gap: 10px; }\n.cre-toggle { display: inline-flex; align-items: center; gap: 8px; font-size: 0.8125rem; font-weight: 600; color: var(--mj-text-secondary); cursor: pointer; }\n.cre-empty { font-size: 0.8125rem; color: var(--mj-text-muted); margin: 0; }\n.cre-combinator { display: flex; align-items: center; gap: 6px; font-size: 0.8125rem; color: var(--mj-text-secondary); flex-wrap: wrap; }\n.cre-seg { font: inherit; font-size: 0.8125rem; padding: 3px 10px; cursor: pointer; border-radius: var(--mj-radius-full, 999px); border: 1px solid var(--mj-border-default); background: var(--mj-bg-surface); color: var(--mj-text-secondary); }\n.cre-seg.is-on { background: var(--mj-brand-primary); color: var(--mj-brand-on-primary, var(--mj-text-inverse)); border-color: var(--mj-brand-primary); }\n.cre-row { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }\n.cre-input { flex: 1 1 120px; min-width: 0; }\n.cre-value { flex: 1 1 120px; }\n.cre-remove { flex: none; width: 32px; height: 32px; cursor: pointer; border-radius: var(--mj-radius-md, 8px); border: 1px solid var(--mj-border-default); background: var(--mj-bg-surface); color: var(--mj-text-muted); }\n.cre-remove:hover { background: var(--mj-bg-surface-hover); color: var(--mj-status-error, var(--mj-color-error-600)); }\n.cre-add { align-self: flex-start; font: inherit; font-size: 0.8125rem; font-weight: 600; display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; cursor: pointer; border-radius: var(--mj-radius-md, 8px); border: 1px dashed var(--mj-border-default); background: transparent; color: var(--mj-brand-primary); }\n.cre-add:hover { background: var(--mj-bg-surface-hover); }\n"] }]
|
|
274
|
+
}], null, { sources: [{
|
|
275
|
+
type: Input
|
|
276
|
+
}], rule: [{
|
|
277
|
+
type: Input
|
|
278
|
+
}], ruleChange: [{
|
|
279
|
+
type: Output
|
|
280
|
+
}] }); })();
|
|
281
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ConditionalRuleEditorComponent, { className: "ConditionalRuleEditorComponent", filePath: "lib/builder/conditional-rule-editor.component.ts", lineNumber: 69 }); })();
|
|
282
|
+
//# sourceMappingURL=conditional-rule-editor.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conditional-rule-editor.component.js","sourceRoot":"","sources":["../../../src/lib/builder/conditional-rule-editor.component.ts","../../../src/lib/builder/conditional-rule-editor.component.html"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import type { FormStyleTokens, mjBizAppsFormsFormEntity, mjBizAppsFormsFormStyleEntity } from '@mj-biz-apps/forms-entities';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* The builder "Design" panel (FORMS_BUILD_PLAN §9 polish). Lets the author:
|
|
6
|
+
* 1. pick which existing {@link mjBizAppsFormsFormStyleEntity} applies to the form
|
|
7
|
+
* (sets `Form.StyleID`),
|
|
8
|
+
* 2. see a LIVE token preview and edit an expanded set of theme controls (colors,
|
|
9
|
+
* fonts, corner radius, logo) — all written into `FormStyle.CSSVariables`,
|
|
10
|
+
* 3. open a full, fillable **Preview** of the real form via `previewRequested` (the
|
|
11
|
+
* parent builder owns the tree + modal).
|
|
12
|
+
*
|
|
13
|
+
* v1 scope: select a FormStyle + create/edit FormStyle rows with existing columns only.
|
|
14
|
+
* Per-form (not per-style) overrides would need new `Form` columns — deferred.
|
|
15
|
+
*/
|
|
16
|
+
export declare class DesignPanelComponent {
|
|
17
|
+
private readonly design;
|
|
18
|
+
private readonly cdr;
|
|
19
|
+
/** The form being styled (StyleID is written here). */
|
|
20
|
+
form: mjBizAppsFormsFormEntity;
|
|
21
|
+
/** Emitted after the form's StyleID changes so the parent can persist/refresh. */
|
|
22
|
+
readonly styleApplied: EventEmitter<string | null>;
|
|
23
|
+
/** Emitted with the current (edited) theme tokens so the parent opens the fill-it preview. */
|
|
24
|
+
readonly previewRequested: EventEmitter<FormStyleTokens>;
|
|
25
|
+
private previewHost?;
|
|
26
|
+
protected readonly fontOptions: readonly {
|
|
27
|
+
label: string;
|
|
28
|
+
stack: string;
|
|
29
|
+
}[];
|
|
30
|
+
protected styles: mjBizAppsFormsFormStyleEntity[];
|
|
31
|
+
protected selected: mjBizAppsFormsFormStyleEntity | null;
|
|
32
|
+
protected busy: boolean;
|
|
33
|
+
protected loadError: string;
|
|
34
|
+
protected status: string;
|
|
35
|
+
/** Theme-editor working values (bound to inputs; committed on save). */
|
|
36
|
+
protected brandName: string;
|
|
37
|
+
protected brandLogo: string;
|
|
38
|
+
protected brandPrimary: string;
|
|
39
|
+
protected brandAccent: string;
|
|
40
|
+
protected brandPageBg: string;
|
|
41
|
+
protected brandCardBg: string;
|
|
42
|
+
protected fontBody: string;
|
|
43
|
+
protected fontDisplay: string;
|
|
44
|
+
protected radiusPx: number;
|
|
45
|
+
ngOnInit(): Promise<void>;
|
|
46
|
+
/** (Re)load the theme presets + the form's assigned style; surfaces load failures. */
|
|
47
|
+
protected reload(): Promise<void>;
|
|
48
|
+
protected isSelected(style: mjBizAppsFormsFormStyleEntity): boolean;
|
|
49
|
+
protected isApplied(style: mjBizAppsFormsFormStyleEntity): boolean;
|
|
50
|
+
protected select(style: mjBizAppsFormsFormStyleEntity): void;
|
|
51
|
+
/** Persist the selected style onto the form (`Form.StyleID`). */
|
|
52
|
+
protected applyToForm(): Promise<void>;
|
|
53
|
+
/** Ask the parent builder to open the full, fillable preview with the current theme. */
|
|
54
|
+
protected requestPreview(): void;
|
|
55
|
+
private syncBrandFields;
|
|
56
|
+
/** Duplicate the selected preset so edits don't touch the shared original. */
|
|
57
|
+
protected duplicateSelected(): Promise<void>;
|
|
58
|
+
/** Live-preview the in-progress edits without saving. */
|
|
59
|
+
protected onBrandInput(): void;
|
|
60
|
+
/** Persist theme edits onto the (ideally duplicated) style. */
|
|
61
|
+
protected saveBranding(): Promise<void>;
|
|
62
|
+
/** The non-radius token edits, keyed by token name (blank values clear the token). */
|
|
63
|
+
private editedTokenMap;
|
|
64
|
+
/** Build the runtime tokens for the selected style with unsaved edits layered on. */
|
|
65
|
+
private buildPreviewTokens;
|
|
66
|
+
/** Apply the current theme (with unsaved edits) to the inline sample via the widget's applier. */
|
|
67
|
+
private applyPreview;
|
|
68
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DesignPanelComponent, never>;
|
|
69
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DesignPanelComponent, "mjf-design-panel", never, { "form": { "alias": "form"; "required": true; }; }, { "styleApplied": "styleApplied"; "previewRequested": "previewRequested"; }, never, never, true, never>;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=design-panel.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"design-panel.component.d.ts","sourceRoot":"","sources":["../../../src/lib/builder/design-panel.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,YAAY,EAKb,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EACV,eAAe,EACf,wBAAwB,EACxB,6BAA6B,EAC9B,MAAM,6BAA6B,CAAC;;AAQrC;;;;;;;;;;;GAWG;AACH,qBASa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8B;IAErD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA6B;IAEjD,uDAAuD;IAC5B,IAAI,EAAG,wBAAwB,CAAC;IAE3D,kFAAkF;IACxE,QAAQ,CAAC,YAAY,8BAAqC;IAEpE,8FAA8F;IACpF,QAAQ,CAAC,gBAAgB,gCAAuC;IAEhD,OAAO,CAAC,WAAW,CAAC,CAA0B;IAExE,SAAS,CAAC,QAAQ,CAAC,WAAW;;;QAAgB;IAE9C,SAAS,CAAC,MAAM,EAAE,6BAA6B,EAAE,CAAM;IACvD,SAAS,CAAC,QAAQ,EAAE,6BAA6B,GAAG,IAAI,CAAQ;IAChE,SAAS,CAAC,IAAI,UAAS;IACvB,SAAS,CAAC,SAAS,SAAM;IACzB,SAAS,CAAC,MAAM,SAAM;IAEtB,wEAAwE;IACxE,SAAS,CAAC,SAAS,SAAM;IACzB,SAAS,CAAC,SAAS,SAAM;IACzB,SAAS,CAAC,YAAY,SAAM;IAC5B,SAAS,CAAC,WAAW,SAAM;IAC3B,SAAS,CAAC,WAAW,SAAM;IAC3B,SAAS,CAAC,WAAW,SAAM;IAC3B,SAAS,CAAC,QAAQ,SAAM;IACxB,SAAS,CAAC,WAAW,SAAM;IAC3B,SAAS,CAAC,QAAQ,SAAM;IAEX,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAItC,sFAAsF;cACtE,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBvC,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,6BAA6B,GAAG,OAAO;IAInE,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,6BAA6B,GAAG,OAAO;IAIlE,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,6BAA6B,GAAG,IAAI;IAM5D,iEAAiE;cACjD,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB5C,wFAAwF;IACxF,SAAS,CAAC,cAAc,IAAI,IAAI;IAMhC,OAAO,CAAC,eAAe;IAavB,8EAA8E;cAC9D,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBlD,yDAAyD;IACzD,SAAS,CAAC,YAAY,IAAI,IAAI;IAI9B,+DAA+D;cAC/C,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB7C,sFAAsF;IACtF,OAAO,CAAC,cAAc;IAatB,qFAAqF;IACrF,OAAO,CAAC,kBAAkB;IAc1B,kGAAkG;IAClG,OAAO,CAAC,YAAY;yCAxLT,oBAAoB;2CAApB,oBAAoB;CA+LhC"}
|