import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import { LocaleResolver } from '@core/resolvers/locale.resolver'; import { GCCoreModule } from '@core/_core.module'; import { CustomDataTableDetailComponent } from '@features/custom-data-tables/custom-data-table-detail/custom-data-table-detail.component'; import { CustomDataTablesPageComponent } from '@features/custom-data-tables/custom-data-tables-page/custom-data-tables-page.component'; import { CustomDataTablesModule } from '@features/custom-data-tables/custom-data-tables.module'; import { CustomDataTableDetailResolver } from '@features/custom-data-tables/resolvers/custom-data-table-detail.resolver'; import { CustomDataTablesResolver } from '@features/custom-data-tables/resolvers/custom-data-tables.resolver'; import { ExternalAPIResolver } from '@features/external-api/external-api.resolver'; import { AngularFormioModule } from '@features/formio/angular-formio.module'; import { QuickAddModalComponent } from '@features/formio/form-builder/quick-add-modal/quick-add-modal.component'; import { FormulaBuilderModule } from '@features/formula-builder/formula-builder.module'; import { LogicBuilderModule } from '@features/logic-builder/logic-builder.module'; import { AllProgramsResolver } from '@features/programs/resolvers/all-programs.resolver'; import { CategoriesPageComponent } from '@features/reference-fields/categories-page/categories-page.component'; import { ReferenceFieldsPageComponent } from '@features/reference-fields/reference-fields-page/reference-fields-page.component'; import { ReferenceFieldsModule } from '@features/reference-fields/reference-fields.module'; import { ReferenceFieldsResolver } from '@features/reference-fields/reference-fields.resolver'; import { WorkflowAutomationModule } from '@features/workflow-automation/workflow-automation.module'; import { ExpandableToolboxModule } from '@yourcause/common/expandable-toolbox'; import { NominationsModule } from '../nominations/nominations.module'; import { AddEditFormTabModalComponent } from './add-edit-form-tab-modal/add-edit-form-tab-modal.component'; import { BaseFormsPageComponent } from './base-forms-page/base-forms-page.component'; import { CreateEditFormModalComponent } from './create-edit-form-modal/create-edit-form-modal.component'; import { DownloadFormModalComponent } from './download-form-modal/download-form-modal.component'; import { DownloadFormPdfComponent } from './download-form-pdf/download-form-pdf.component'; import { EditFormConfirmModalComponent } from './edit-form-confirm-modal/edit-form-confirm-modal.component'; import { EditFormPageComponent } from './edit-form-page/edit-form-page.component'; import { FormsPageWrapperComponent } from './forms-page-wrapper/forms-page-wrapper.component'; import { InvalidDependentPicklistsErrorMessage } from './pipes/invalid-dependent-picklists-error-message.pipe'; import { PreviewFormComponent } from './preview-form/preview-form.component'; import { FormDetailResolver } from './resolvers/form-detail.resolver'; import { FormsResolver } from './resolvers/forms.resolver'; import { StandardFormTemplatesResolver } from './resolvers/standard-form-templates.resolver'; import { ViewFormResolver } from './resolvers/view-form.resolver'; import { SaveFormModalComponent } from './save-form-modal/save-form-modal.component'; import { TranslateDataTablesPageComponent } from './translate-data-tables-page/translate-data-tables-page.component'; import { TranslateFormsPageComponent } from './translate-forms-page/translate-forms-page.component'; @NgModule({ imports: [ GCCoreModule, FormulaBuilderModule, LogicBuilderModule, NominationsModule, WorkflowAutomationModule, CustomDataTablesModule, ReferenceFieldsModule, ExpandableToolboxModule, AngularFormioModule, RouterModule.forChild([{ path: '', component: FormsPageWrapperComponent, resolve: { externalAPIs: ExternalAPIResolver, forms: FormsResolver, locales: LocaleResolver, fields: ReferenceFieldsResolver, programs: AllProgramsResolver, standardTemplates: StandardFormTemplatesResolver }, data: { namespace: ['FORMS'] }, children: [{ path: 'all', component: BaseFormsPageComponent, data: { breadcrumbLabel: 'Custom Forms', breadcrumb: true } }, { path: 'data-tables', component: CustomDataTablesPageComponent, data: { breadcrumbLabel: 'Custom Data Tables', breadcrumb: true }, resolve: { customDataTables: CustomDataTablesResolver } }, { path: 'reference-fields', component: ReferenceFieldsPageComponent, data: { breadcrumbLabel: 'Form Fields', breadcrumb: true }, resolve: { customDataTables: CustomDataTablesResolver } }, { path: 'categories', component: CategoriesPageComponent, data: { breadcrumb: true, breadcrumbLabel: 'Manage Categories' }, resolve: { fields: ReferenceFieldsResolver } }, { path: '', pathMatch: 'full', redirectTo: 'all' }] }, { path: ':id/revision/:revisionId', component: PreviewFormComponent, resolve: { viewForm: ViewFormResolver, locale: LocaleResolver, formDetail: FormDetailResolver }, data: { breadcrumb: true, breadcrumbLabel: 'Preview Form', namespace: ['FORMS'] } }, { path: ':id/draft', component: EditFormPageComponent, resolve: { viewForm: ViewFormResolver, locale: LocaleResolver }, data: { breadcrumb: true, breadcrumbLabel: 'Edit Form', namespace: ['FORMS'] } }, { path: ':id/published', component: EditFormPageComponent, resolve: { viewForm: ViewFormResolver, locale: LocaleResolver }, data: { breadcrumb: true, breadcrumbLabel: 'Edit Form', namespace: ['FORMS'] } }, { path: 'data-table', children: [{ path: ':tableId', component: CustomDataTableDetailComponent, resolve: { customDataTable: CustomDataTableDetailResolver, customDataTables: CustomDataTablesResolver, locales: LocaleResolver }, data: { breadcrumb: true, breadcrumbLabel: 'Custom Data Table', namespace: ['FORMS'] } }, { path: '', pathMatch: 'full', redirectTo: '/management/program-setup/forms/data-tables' }], data: { breadcrumb: true, breadcrumbLabel: 'Custom Data Tables' } }, { path: 'translate-forms', component: TranslateFormsPageComponent, data: { breadcrumb: true, breadcrumbLabel: 'Translation', namespace: ['FORMS'] }, resolve: { forms: FormsResolver } }, { path: 'translate-data-tables', component: TranslateDataTablesPageComponent, data: { breadcrumb: true, breadcrumbLabel: 'Translation', namespace: ['FORMS'] }, resolve: { customDataTables: CustomDataTablesResolver } }]) ], declarations: [ PreviewFormComponent, BaseFormsPageComponent, FormsPageWrapperComponent, EditFormPageComponent, SaveFormModalComponent, TranslateFormsPageComponent, TranslateDataTablesPageComponent, CreateEditFormModalComponent, DownloadFormModalComponent, DownloadFormPdfComponent, AddEditFormTabModalComponent, QuickAddModalComponent, InvalidDependentPicklistsErrorMessage, EditFormConfirmModalComponent ] }) export class ConfigureFormsModule { }