import { BasicForm, FormAudience, Forms, FormType } from '@features/configure-forms/form.typing'; import { StandardFormTemplate } from '@features/platform-admin/standard-product-configuration/standard-product-configuration.typing'; import { TypeaheadSelectOption } from '@yourcause/common'; import { BaseYcState, RegisterYCState } from '@yourcause/common/state'; @RegisterYCState() export class FormsState extends BaseYcState implements Forms { readonly draft: BasicForm[]; readonly published: BasicForm[]; readonly forms: BasicForm[]; readonly standardFormTemplates: StandardFormTemplate[]; readonly loaded: boolean = false; readonly formTypes: FormType[]; readonly formTypeMap: { [x: string]: string; } = {}; readonly typeAudienceMap: { [x: number]: FormAudience; } = {}; readonly allFormOptions: TypeaheadSelectOption[] = []; readonly allPublishedFormOptions: TypeaheadSelectOption[] = []; readonly applicantFormOptions: TypeaheadSelectOption[] = []; readonly managerFormOptions: TypeaheadSelectOption[] = []; // Segmented readonly myFormOptions: TypeaheadSelectOption[] = []; readonly myApplicantFormOptions: TypeaheadSelectOption[] = []; readonly myManagerFormOptions: TypeaheadSelectOption[] = []; readonly myDependentFormFilteringOptions: TypeaheadSelectOption[]; }