{ "version": 3, "sources": ["libs/vform/src/lib/to-bool.pipe.ts", "libs/vform/src/lib/vform.models.ts", "libs/vform/src/lib/actions.ts", "libs/vform/src/lib/fields/field-base.ts", "libs/vform/src/lib/fields/image-upload-field.ts", "libs/vform/src/lib/utils.ts", "libs/vform/src/lib/vform-translation.service.ts", "libs/vform/src/lib/vform.store.service.ts", "libs/vform/src/lib/vsource/vsource-option/vsource-option.component.ts", "libs/vform/src/lib/vsource/vsource-option/vsource-option.component.html", "libs/vform/src/lib/vsource/vsource.component.ts", "libs/vform/src/lib/vsource/vsource.component.html", "libs/vform/src/lib/vform.component.ts", "libs/vform/src/lib/vform.component.html", "libs/vform/src/lib/v-filter.component.ts", "libs/vform/src/lib/v-filter.component.html", "libs/vform/src/lib/vform.module.ts"], "sourcesContent": ["import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'toBool' })\nexport class ToBoolPipe implements PipeTransform {\n transform(value: any): boolean {\n if (typeof value === 'boolean') {\n return value;\n }\n if (typeof value === 'string' && value.toLowerCase() === 'true') {\n return true;\n }\n return false;\n }\n}\n", "import { FieldBase, FieldData } from './fields/field-base';\n\nexport interface FormOptions {\n rightCustomButtons?: ButtonOptions[];\n leftCustomButtons?: ButtonOptions[];\n useFixedFooter?: boolean;\n cancelUrl?: string;\n successUrl?: string;\n context?: any;\n formUrl: string;\n}\n\nexport interface ButtonOptions {\n label: string;\n // eslint-disable-next-line @typescript-eslint/ban-types\n action: ButtonAction | Function;\n color?: string;\n disableWhenFormInvalidOrLoading?: boolean;\n}\n\nexport enum ButtonAction {\n SUBMIT = 1,\n CLEAR,\n CANCEL,\n}\n\nexport interface SectionData {\n name?: string;\n label?: string;\n tooltip?: string;\n fields?: FieldBase[];\n description?: string;\n}\n\nexport class Section {\n name?: string;\n label?: string;\n tooltip?: string;\n fields?: FieldBase[];\n description?: string;\n constructor(initialData: SectionData) {\n this.name = initialData.name;\n this.label = initialData.label;\n this.tooltip = initialData.tooltip;\n this.fields = initialData.fields;\n this.description = initialData.description;\n }\n\n public hasVisibleFields(): boolean {\n return this.fields.length > 0 && this.fields.filter((f) => f.visible === true).length > 0;\n }\n}\n\nexport interface FormDefinition {\n sections: Section[];\n loading: boolean;\n catalogue?: CatalogueData;\n}\n\nexport interface FormDefinitionHttpResponse {\n formdata: FieldData[];\n fields: FieldData[];\n sections: SectionData[];\n catalogue: CatalogueData;\n}\n\nexport interface CategoryData {\n id: string;\n name: string;\n}\n\nexport interface CatalogueData {\n source?: {\n columns: number;\n sources: {\n 'Directory Site'?: SourceData[];\n 'Review Site'?: SourceData[];\n 'Search Engine'?: SourceData[];\n 'Social Site'?: SourceData[];\n 'Internet Data Provider'?: SourceData[];\n };\n };\n taxonomy?: CategoryData[];\n}\n\nexport interface SourceData {\n iconClass16px: string;\n name: string;\n sourceId: number;\n sourceTypeId: string;\n sourceTypeName: string;\n serviceProviders?: number[];\n}\n\nexport enum ControlType {\n CHECKBOX = 1,\n DROPDOWN,\n TEXTAREA,\n TEXTBOX,\n TEXT,\n PASSWORD,\n MULTITEXT,\n MULTISELECT,\n TOGGLE,\n SWITCH,\n RADIO,\n PHONENUMBER,\n COUNTRYSTATE,\n ICONCHECKBOXES,\n IMAGE,\n HIDDEN,\n 'TEXT-SEPARATOR',\n CHECKBOXES,\n VSOURCE,\n SEARCH,\n DATERANGEPICKER,\n TAG,\n}\n\n// Vapi/Vform responses come in this format.\nexport interface FormResult {\n // The specified version of the api, e.g. \"1.0\"\n version: string;\n // Data returned from the endpoint. Can be basically anything, but strings and form errors are common.\n data: any | string | FormErrorResponse;\n // Request id that was generated to serve this request. Can be used to find log messages.\n requestId: string;\n // How long it took the api to return.\n responseTime: number;\n // Status code of the response, e.g. 200, 400, 500, etc.\n statusCode: number;\n}\n\nexport interface FieldError {\n // An error message about the field\n message: string;\n // The name of the field, e.g. \"email\"\n name: string;\n}\n\nexport interface FormErrorResponse {\n // An overall message for the form's error state, e.g. \"Failed to validate form.\"\n message: string;\n // An array of fields that have errors.\n fields: FieldError[];\n}\n", "export enum Action {\n INIT = 0,\n INIT_VFORM,\n GET_FORM_DEF,\n BUILD_FORMGROUP,\n ALTERFORM_CHANGED,\n ALTERFORM_FETCHING,\n FORM_SUBMIT,\n UPDATE_FIELD,\n CLEAR_ALL,\n SERIALIZE_FIELD,\n SERIALIZE_SECTION,\n SERIALIZE_FORMDATA,\n POST_FORMSUBMIT,\n ERROR_HANDLING,\n DEFAULT,\n FORM_READY,\n}\n", "import { ControlType } from '../vform.models';\n\nexport interface FieldBaseOptions {\n id: string;\n label: string;\n name: string;\n required?: boolean;\n description?: string;\n}\n\nexport interface FieldData extends FieldBaseOptions {\n control?: string;\n value?: any;\n datatype?: string;\n placeholder?: string;\n section?: string;\n altersForm?: boolean;\n visible?: boolean;\n enabled?: boolean;\n locked?: boolean;\n message?: string | VFormMultiErrorMessage[];\n options?: any;\n includeBlank?: boolean;\n selected?: any;\n regexp?: RegExp;\n maxItems?: number;\n maxMultiples?: number;\n tokenSeparators?: string[]; // ?\n max?: number | string;\n min?: number | string;\n lockedMessage?: string;\n ratingMessages?: any;\n tinymceSettings?: any;\n tooltip?: string;\n fileurl?: string;\n filepath?: string;\n filename?: string;\n allowMultiples?: boolean;\n useSelect2?: boolean;\n}\n\nexport interface VFormMultiErrorMessage {\n index: number;\n message: string;\n}\n\nexport class FieldBase implements FieldData {\n name: string;\n value: T;\n id: string;\n label: string;\n required: boolean;\n order: number;\n description: string; // Tooltip of vform\n controlType: ControlType;\n\n // Vform compatible fields data\n control?: string;\n datatype?: string;\n placeholder?: string;\n section?: string;\n altersForm?: boolean;\n visible?: boolean;\n enabled?: boolean;\n locked?: boolean;\n message?: string | VFormMultiErrorMessage[];\n options?: any;\n includeBlank?: boolean;\n selected?: any;\n regexp?: RegExp;\n maxItems?: number;\n maxMultiples?: number;\n tokenSeparators?: string[]; // ?\n max?: number | string;\n min?: number | string;\n lockedMessage?: string;\n ratingMessages?: any;\n tinymceSettings?: any;\n enableInternetDataProviders?: boolean;\n columns?: number;\n allowMultiples?: boolean;\n useSelect2?: boolean;\n tooltip?: string;\n\n setOptions(options: FieldBaseOptions): void {\n if (!options) {\n return;\n }\n this.id = options.id;\n this.label = options.label;\n this.required = !!options.required;\n this.description = options.description || null;\n }\n\n setFieldData(fieldData: FieldData): void {\n Object.assign(this, fieldData);\n this.controlType = ControlType[fieldData.control.toUpperCase()];\n this.label = this.decodeHtml(this.label, this.controlType === ControlType['TEXT-SEPARATOR']);\n if (this.options && this.options.length > 0) {\n this.options.forEach((option: { label: string }) => {\n option.label = this.decodeHtml(option.label);\n });\n }\n switch (this.controlType) {\n case ControlType.CHECKBOX:\n case ControlType.TOGGLE:\n this.value = fieldData.value || false;\n break;\n case ControlType.TEXT:\n case ControlType.HIDDEN:\n case ControlType.TEXTBOX:\n this.value = fieldData.value || '';\n break;\n case ControlType.MULTITEXT:\n this.value = fieldData.value || [''];\n break;\n }\n }\n\n public setServerError(m: string | { message: string }): void {\n if (typeof m === 'string') {\n this.message = m;\n } else {\n this.message = m.message;\n }\n }\n\n public clearServerError(): void {\n this.message = null;\n }\n\n public updateField(fieldUpdateData: FieldData): void {\n if (fieldUpdateData.visible !== undefined) {\n this.visible = fieldUpdateData.visible;\n }\n if (fieldUpdateData.enabled !== undefined) {\n this.enabled = fieldUpdateData.enabled;\n }\n if (fieldUpdateData.locked !== undefined) {\n this.locked = fieldUpdateData.locked;\n }\n if (fieldUpdateData.required !== undefined) {\n this.required = fieldUpdateData.required;\n }\n if (fieldUpdateData.message !== undefined) {\n this.message = fieldUpdateData.message;\n }\n if (fieldUpdateData.tooltip !== undefined) {\n this.description = fieldUpdateData.tooltip;\n }\n if (fieldUpdateData.value !== undefined) {\n this.value = fieldUpdateData.value;\n }\n if (\n this.controlType === ControlType.DROPDOWN ||\n this.controlType === ControlType.RADIO ||\n this.controlType === ControlType.CHECKBOX ||\n this.controlType === ControlType.MULTISELECT ||\n this.controlType === ControlType.COUNTRYSTATE ||\n this.controlType === ControlType.TAG\n ) {\n if (fieldUpdateData.options !== undefined) {\n if (fieldUpdateData.includeBlank) {\n fieldUpdateData.options.unshift({ label: this.decodeHtml(this.placeholder) || '', value: '' });\n }\n if (this.controlType !== ControlType.COUNTRYSTATE) {\n fieldUpdateData.options.forEach((option: { label: string }) => {\n option.label = this.decodeHtml(option.label);\n });\n }\n this.options = fieldUpdateData.options;\n }\n if (fieldUpdateData.selected !== undefined) {\n this.selected = fieldUpdateData.selected;\n this.value = fieldUpdateData.selected;\n }\n }\n }\n\n public toString(): any {\n if (this.controlType === ControlType.COUNTRYSTATE) {\n return JSON.stringify(this.value);\n } else {\n return this.value.toString();\n }\n }\n\n decodeHtml(input: string, takeAllContent = false): string {\n if ('DOMParser' in window) {\n const doc = new DOMParser().parseFromString(input, 'text/html');\n if (!takeAllContent) {\n return doc.documentElement.textContent;\n } else {\n return doc.documentElement.innerHTML;\n }\n }\n return input;\n }\n}\n", "import { MediaUploader } from '@vendasta/forms';\n\nimport { FieldBase, FieldData } from './field-base';\n\nexport class ImageUploadField extends FieldBase {\n acceptedMimeTypes: string[];\n minFileSize?: number;\n maxFileSize?: number;\n uploadUrl: string;\n customMediaUploader: MediaUploader;\n maxWidth?: number;\n maxHeight?: number;\n\n setFieldData(fieldData: FieldData): void {\n super.setFieldData(fieldData);\n this.value = {\n fileurl: fieldData.value.fileurl || '',\n filename: fieldData.value.filename || '',\n filepath: fieldData.value.filepath || '',\n url: fieldData.value.fileurl || '',\n };\n }\n\n get uploadData(): any {\n return {\n name: this.name,\n minFileSize: this.minFileSize,\n maxFileSize: this.maxFileSize,\n acceptedMimeTypes: this.acceptedMimeTypes,\n maxHeight: this.maxHeight,\n maxWidth: this.maxWidth,\n };\n }\n}\n\nexport interface Image {\n fileurl: string;\n filename?: string;\n filepath?: string;\n url?: string;\n}\n", "import { AbstractControl, UntypedFormGroup, ValidatorFn, Validators } from '@angular/forms';\n\nexport function passwordConfirmValidator(passwordControlName: string, confirmPasswordControlName: string): any {\n return (group: UntypedFormGroup) => {\n const passwordControl = group.controls[passwordControlName];\n const confirmPasswordControl = group.controls[confirmPasswordControlName];\n if (passwordControl.value !== confirmPasswordControl.value) {\n return confirmPasswordControl.setErrors({ passwordNotMatch: true });\n }\n return confirmPasswordControl.setErrors(null);\n };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function optionalEmailValidator(emailControl: AbstractControl): ValidatorFn {\n return (control: AbstractControl) => {\n return control.value !== '' ? Validators.email : null;\n };\n}\n", "import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { FormOptions, FormDefinition, Section, FormDefinitionHttpResponse } from './vform.models';\nimport { FieldBase, FieldData } from './fields/field-base';\nimport { ImageUploadField } from './fields/image-upload-field';\nimport { MediaUploadResult, FileUploadInfo } from '@vendasta/forms';\nimport { SnackbarService } from '@vendasta/galaxy/snackbar-service';\n\n@Injectable()\nexport class VFormTranslationService {\n constructor(private http: HttpClient, private readonly alertService: SnackbarService) {}\n\n public requestFormData(formOptions: FormOptions, withCredentials: boolean): Observable {\n const url =\n formOptions.formUrl +\n '?__vformcmd__=fields&__vformctx__=' +\n encodeURIComponent(\n typeof formOptions.context === 'object' ? JSON.stringify(formOptions.context) : formOptions.context,\n );\n return this.http.post(url, {}, { withCredentials: withCredentials }).pipe(\n map((response: { data }) => response.data),\n map((response: FormDefinitionHttpResponse) => this.setFormData(response)),\n );\n }\n\n public setFormData(response: FormDefinitionHttpResponse): FormDefinition {\n if (!response) {\n return;\n }\n\n const rawSections = response.sections || [];\n const sections = rawSections.map((section) => new Section(section));\n\n // Convert formdata list to dict\n const fieldData: { [key: string]: FieldData } = {};\n response.formdata.forEach((fieldDataItem) => {\n const name: string = fieldDataItem.name;\n delete fieldDataItem.name;\n fieldData[name] = fieldDataItem;\n });\n\n // Create the fields from the response\n let field: FieldBase;\n const fields = response.fields.map((fieldItem) => {\n // Set the field value if there is one\n if (fieldItem.name in fieldData) {\n Object.assign(fieldItem, fieldData[fieldItem.name]);\n }\n\n field = fieldItem.control !== 'image' ? new FieldBase() : new ImageUploadField();\n field.setFieldData(fieldItem);\n\n return field;\n });\n\n sections.forEach((section: Section) => {\n section.fields = fields.filter((f: FieldBase) => {\n return f.section === section.name;\n });\n });\n\n return {\n sections: sections,\n loading: false,\n catalogue: response.catalogue,\n };\n }\n\n public formAlteringElementChanged(\n formOptions: FormOptions,\n field: FieldBase,\n encodedFormData: any,\n ): Observable {\n // This is called when the value changes on an element that is marked as having form-altering effects\n const url =\n formOptions.formUrl +\n '?__vformcmd__=options&__vformalt__=' +\n field.name +\n '&__vformctx__=' +\n encodeURIComponent(JSON.stringify(formOptions.context));\n const header = new HttpHeaders({\n 'Content-Type': 'application/x-www-form-urlencoded',\n });\n\n return this.http\n .post<{ data: FormDefinitionHttpResponse }>(url, encodedFormData, { headers: header })\n .pipe(map((response) => response.data.formdata || []));\n }\n\n submitForm(submitUrl: string, formData: string, context: any, withCredentials: boolean): Observable {\n // Context should already be serialized by this point\n submitUrl += '?__vformcmd__=submit&__vformctx__=' + context;\n const headers = new HttpHeaders({\n 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',\n });\n return this.http.post(submitUrl, formData, { headers: headers, withCredentials: withCredentials });\n }\n\n fileUploader(fieldData: any, uploadUrl: string, file: File): Observable {\n const formData = new FormData();\n for (const key in fieldData) {\n if (fieldData.hasOwnProperty(key)) {\n formData.append(key, fieldData[key]);\n }\n }\n formData.append('files[]', file);\n return this.http.post(uploadUrl, formData).pipe(\n map((response: any) => {\n if (response.data[0].error === 'Upload failed. This file exceeds the maximum file size.') {\n this.alertService.openErrorSnack(\n `Upload failed. This file exceeds the maximum file size of ${fieldData.maxFileSize / 1000000}MB`,\n );\n }\n return {\n ...response.data[0],\n url: response.data[0].fileurl,\n name: response.data[0].filename,\n };\n }),\n ) as Observable;\n }\n}\n", "import { EventEmitter, Injectable } from '@angular/core';\nimport {\n AbstractControl,\n UntypedFormArray,\n UntypedFormControl,\n UntypedFormGroup,\n ValidatorFn,\n Validators,\n} from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { BehaviorSubject, Observable, Subscription, from as observableFrom, of as observableOf } from 'rxjs';\nimport { catchError, flatMap, map, merge, publishReplay, refCount, scan, withLatestFrom } from 'rxjs/operators';\n\nimport { Action } from './actions';\nimport { FieldBase, FieldData } from './fields/field-base';\nimport { ImageUploadField } from './fields/image-upload-field';\nimport { optionalEmailValidator, passwordConfirmValidator } from './utils';\nimport { VFormTranslationService } from './vform-translation.service';\nimport {\n CatalogueData,\n ControlType,\n FormDefinition,\n FormErrorResponse,\n FormOptions,\n FormResult,\n Section,\n} from './vform.models';\n\nexport interface StoreAction {\n type: Action;\n payload?: any;\n}\n\nexport enum NotificationType {\n SUCCESS = 0,\n ERROR,\n WARNING,\n}\n\nexport interface FormState {\n formGroup: UntypedFormGroup;\n formReady: boolean;\n sections: Section[];\n isLoading: boolean;\n isSubmitting: boolean;\n formSubmitUrl: string;\n onSubmitSuccess: boolean;\n catalogue?: CatalogueData;\n}\n\nexport interface Notification {\n type: NotificationType;\n message: string;\n duration?: number;\n}\n\nexport interface AssociatedControlField {\n name: string;\n control: AbstractControl;\n}\n\n@Injectable()\nexport class VFormStoreService {\n private action$$: BehaviorSubject>;\n private notification$$: BehaviorSubject;\n public formState$: Observable;\n private _formOptions: FormOptions;\n private altersFormSubscriptions: Map;\n private associatedControls: Map;\n\n get notification$(): Observable {\n return this.notification$$.asObservable();\n }\n\n get formOptions(): FormOptions {\n return this._formOptions;\n }\n\n set formOptions(formOptions: FormOptions) {\n this._formOptions = formOptions;\n }\n\n constructor(private vFormTranslationService: VFormTranslationService, private router: Router) {}\n\n public initStore(formOptions: FormOptions): void {\n this.formOptions = formOptions;\n this.action$$ = new BehaviorSubject({ type: 0 });\n this.notification$$ = new BehaviorSubject(null);\n this.associatedControls = new Map();\n this.altersFormSubscriptions = new Map();\n this.formState$ = observableOf({\n formGroup: null,\n formReady: false,\n sections: [],\n isLoading: true,\n isSubmitting: false,\n onSubmitSuccess: false,\n formSubmitUrl: null,\n }).pipe(\n merge(this.action$$.asObservable()),\n flatMap(this.ensureObservable),\n scan(this.formStateReducer.bind(this)),\n publishReplay(1),\n refCount(),\n catchError((err) => {\n this.notification$$.next({ type: NotificationType.ERROR, message: 'Unexpected error happened.' });\n console.error(err);\n return observableOf({});\n }),\n ) as any;\n }\n\n public clearAll(): () => void {\n return this.actionDispatcher(() => {\n return {\n type: Action.CLEAR_ALL,\n payload: {},\n };\n });\n }\n\n private serializeFormData(formdata: any): string {\n const formList: string[][] = [];\n for (const field in formdata) {\n // Don't create a VsourceField with anything but `source` as its field name.\n if (field === 'source') {\n formList.push([field + '=' + encodeURIComponent(formdata[field].join(','))]);\n } else if (Array.isArray(formdata[field])) {\n formdata[field].forEach((value: any) => formList.push(this.serializeField(field, value)));\n } else if (!!formdata[field] && typeof formdata[field] === 'object' && this.isCheckboxesObject(formdata[field])) {\n formList.push(this.serializeField(field, formdata[field]));\n Object.keys(formdata[field]).forEach((key) => {\n formList.push(this.serializeField(field, formdata[field][key]));\n if (formdata[field][key]) {\n formList.push(this.serializeField(field, key));\n }\n });\n } else {\n formList.push(this.serializeField(field, formdata[field]));\n }\n }\n return formList.join('&');\n }\n\n private isCheckboxesObject(field: any): boolean {\n for (const key in field) {\n if (typeof field[key] !== 'boolean') {\n return false;\n }\n }\n return true;\n }\n\n public formAlteringElementChanged(): (field: FieldBase, formdata: any) => StoreAction {\n return this.actionDispatcher((field: FieldBase, formdata: any) => {\n if (field.controlType === ControlType.MULTISELECT) {\n const fieldData = formdata[field.name];\n const indexOfDefault = fieldData.indexOf('_DEFAULT');\n if (fieldData.length > 1 && indexOfDefault === 0) {\n fieldData.splice(indexOfDefault, 1);\n } else if (fieldData.length < 1 || fieldData.length - 1 === indexOfDefault) {\n fieldData.splice(0, fieldData.length);\n fieldData.push('_DEFAULT');\n }\n formdata[field.name] = fieldData;\n }\n const serializedFormdata = this.serializeFormData(formdata);\n return {\n type: Action.ALTERFORM_CHANGED,\n payload: this.vFormTranslationService\n .formAlteringElementChanged(this.formOptions, field, serializedFormdata)\n .pipe(\n catchError((error) => {\n return observableOf({\n type: Action.ERROR_HANDLING,\n payload: error,\n });\n }),\n map((response: FieldData[] | { type: number; payload: string }) => {\n if (response && response.hasOwnProperty('type')) {\n return response;\n } else {\n return {\n type: Action.UPDATE_FIELD,\n payload: response,\n };\n }\n }),\n ),\n };\n });\n }\n\n public initVForm(withCredentials: boolean): (options: FormOptions) => StoreAction {\n return this.actionDispatcher((options: FormOptions) => {\n return {\n type: Action.INIT_VFORM,\n payload: this.vFormTranslationService.requestFormData(options, withCredentials).pipe(\n catchError((errorResponse) => {\n return observableOf({\n type: Action.ERROR_HANDLING,\n payload: errorResponse.error,\n });\n }),\n map((response: FormDefinition) => {\n if (response && response.hasOwnProperty('type')) {\n return response;\n }\n return this.actionDispatcher((res: FormDefinition) => this.buildFormGroup(res))(response);\n }),\n map((rawFormProperties: any) => {\n if (rawFormProperties && rawFormProperties.hasOwnProperty('type') === Action.ERROR_HANDLING) {\n return rawFormProperties;\n }\n this.applyDeferredValidators(rawFormProperties.payload.formGroup);\n return {\n type: Action.FORM_READY,\n payload: rawFormProperties.payload,\n };\n }),\n ),\n };\n });\n }\n\n public formSubmit(\n withCredentials: boolean,\n ): (\n formdata: any,\n successEventEmitter: EventEmitter,\n successResultEmitter: EventEmitter,\n ) => StoreAction {\n return this.actionDispatcher(\n (formdata: any, successEventEmitter: EventEmitter, successResultEmitter: EventEmitter) => {\n return {\n type: Action.FORM_SUBMIT,\n payload: this.formSubmitHandler(this.formOptions.formUrl, formdata, withCredentials).pipe(\n catchError((errorResponse) => {\n return observableOf({\n type: Action.ERROR_HANDLING,\n payload: errorResponse.error,\n });\n }),\n map((response) => {\n if (response && response.hasOwnProperty('type')) {\n return response;\n }\n return {\n type: Action.POST_FORMSUBMIT,\n payload: { response, successEventEmitter, successResultEmitter },\n };\n }),\n ),\n };\n },\n );\n }\n\n private formSubmitHandler(submitUrl: string, formdata: any, withCredentials: boolean): Observable {\n let context;\n // if context is string, it would be a url with queryparams\n // we need to get rid of the duplicated fields to avoid some odd issues\n // eg. If vForm handler only accepts one marketId, which may include in both formData and queryParams, should\n // be removed from queryParams (context)\n if (typeof this.formOptions.context === 'string') {\n context = this.getQueryParamsInContext(this.formOptions.context, formdata);\n } else {\n context = JSON.stringify(this.formOptions.context);\n }\n context = encodeURIComponent(context);\n const serializedFormData = this.serializeFormData(formdata);\n return this.vFormTranslationService.submitForm(submitUrl, serializedFormData, context, withCredentials);\n }\n\n private serializeField(name: string, value: string): string[] {\n if (value === null) {\n return [];\n }\n if (value !== undefined) {\n if (typeof value === 'object') {\n return [name + '=' + encodeURIComponent(JSON.stringify(value))];\n }\n return [name + '=' + encodeURIComponent(value.toString())];\n }\n return [];\n }\n\n public applyDeferredValidators(formGroup: UntypedFormGroup): void {\n const associatedControlsIterator = this.associatedControls.keys();\n let currentKey = associatedControlsIterator.next();\n while (!currentKey.done) {\n const associatedFormControlField = this.associatedControls.get(currentKey.value);\n if (associatedFormControlField.name === 'confirmPassword') {\n formGroup.setValidators(passwordConfirmValidator('password', 'confirmPassword'));\n }\n currentKey = associatedControlsIterator.next();\n }\n }\n\n public buildFormGroup(formDef: FormDefinition): StoreAction {\n // Will be redo, this structure sucks\n // field value should not be BehaviourSubject\n if (!formDef || formDef.sections.length === 0) {\n return;\n }\n const group: { [key: string]: UntypedFormControl | UntypedFormArray | UntypedFormGroup } = {};\n formDef.sections.forEach((section: Section) =>\n section.fields.forEach((field: FieldBase | ImageUploadField) => {\n switch (field.controlType) {\n case ControlType.MULTITEXT: {\n const f: UntypedFormControl[] = [];\n if (!field.value) {\n field.value = '';\n }\n field.value.forEach((v: any) => {\n f.push(new UntypedFormControl(v));\n });\n group[field.name] = new UntypedFormArray(f);\n break;\n }\n case ControlType.CHECKBOXES: {\n const cf: Record = {};\n if (!field.value) {\n field.value = '';\n }\n field.options.forEach((v: any) => {\n cf[v.label] = new UntypedFormControl(field.selected.indexOf(v.value) > -1);\n });\n group[field.name] = new UntypedFormGroup(cf);\n break;\n }\n case ControlType.MULTISELECT: {\n field.options = field.options.map((option: any) => {\n return { name: option.label, value: option.value };\n });\n group[field.name] = new UntypedFormControl(field.value);\n break;\n }\n case ControlType.IMAGE: {\n if (field instanceof ImageUploadField) {\n const uploadUrl = field.uploadUrl || `${this.formOptions.formUrl}?__vformcmd__=fileupload`;\n field.customMediaUploader = {\n upload: this.vFormTranslationService.fileUploader.bind(\n this.vFormTranslationService,\n field.uploadData,\n uploadUrl,\n ),\n };\n field.uploadUrl = uploadUrl;\n group[field.name] = new UntypedFormControl(field.value);\n }\n break;\n }\n default: {\n group[field.name] = new UntypedFormControl(field.value);\n if (field.name === 'confirmPassword' && group['password']) {\n this.associatedControls.set(group[field.name], {\n control: group['password'],\n name: 'confirmPassword',\n });\n }\n this.applyValidationSettings(group[field.name], field);\n }\n }\n if (field.altersForm) {\n this.subscribeToAltersFormValue(group[field.name], field);\n }\n }),\n );\n\n return {\n type: Action.BUILD_FORMGROUP,\n payload: {\n formGroup: new UntypedFormGroup(group),\n sections: formDef.sections,\n catalogue: formDef.catalogue,\n },\n };\n }\n\n public applyValidationSettings(\n formControl: UntypedFormControl | UntypedFormArray | AbstractControl,\n field: FieldBase,\n ): void {\n const validators: ValidatorFn[] = [];\n if (!field.enabled || field.locked) {\n formControl.setValidators([]);\n formControl.disable();\n formControl.updateValueAndValidity();\n formControl.setValidators(validators);\n return;\n } else {\n formControl.enable();\n }\n if (field.required) {\n validators.push(Validators.required);\n }\n // Exclude date comparison\n if (typeof field.min !== 'string' && (field.min === 0 || field.min) && field.datatype !== 'string') {\n validators.push(Validators.min(field.min));\n }\n if (typeof field.max !== 'string' && (field.max === 0 || field.max) && field.datatype !== 'string') {\n validators.push(Validators.max(field.max));\n }\n\n // Length of string validations\n if (typeof field.min !== 'string' && (field.min === 0 || field.min) && field.datatype === 'string') {\n validators.push(Validators.minLength(field.min));\n }\n if (typeof field.max !== 'string' && (field.max === 0 || field.max) && field.datatype === 'string') {\n validators.push(Validators.maxLength(field.max));\n }\n\n if (field.name.toLowerCase().indexOf('email') > -1 && field.control === 'text') {\n if (!field.required && field.visible) {\n validators.push(optionalEmailValidator(formControl));\n } else if (field.required) {\n validators.push(Validators.email);\n }\n }\n if (field.regexp) {\n validators.push(Validators.pattern(field.regexp));\n }\n formControl.setValidators(validators);\n formControl.updateValueAndValidity();\n }\n\n private subscribeToAltersFormValue(formControl: AbstractControl, field: FieldBase): void {\n this.altersFormSubscriptions.set(\n formControl,\n formControl.valueChanges\n .pipe(\n withLatestFrom(this.formState$),\n map(([val, store]) => {\n // Do not call backend to get new form data if the user is changing state\n if (\n field.name.toLowerCase() === 'countryandstate' &&\n val.country === store.formGroup.value[field.name].country\n ) {\n return {\n type: Action.DEFAULT,\n };\n }\n store.formGroup.updateValueAndValidity();\n const formdata = store.formGroup.value;\n if (field.name.toLowerCase() === 'countryandstate') {\n // Avoid a bug in vform backend handler\n formdata[field.name] = { ...formdata[field.name], state: null };\n }\n return this.formAlteringElementChanged()(field, formdata);\n }),\n )\n .subscribe(),\n );\n }\n\n protected formStateReducer(state: FormState, action: StoreAction): FormState {\n switch (action.type) {\n case Action.INIT || Action.INIT_VFORM:\n return {\n ...state,\n isLoading: true,\n };\n case Action.GET_FORM_DEF:\n return {\n ...state,\n sections: action.payload,\n };\n case Action.BUILD_FORMGROUP:\n return {\n ...state,\n formGroup: action.payload.formGroup,\n sections: action.payload.sections,\n catalogue: action.payload.catalogue,\n isLoading: false,\n };\n case Action.FORM_READY:\n return {\n ...state,\n formReady: true,\n };\n case Action.FORM_SUBMIT:\n return {\n ...state,\n isSubmitting: true,\n };\n case Action.POST_FORMSUBMIT:\n action.payload.successEventEmitter.emit(true);\n action.payload.successResultEmitter.emit(action.payload.response);\n if (this.formOptions.successUrl) {\n this.router.navigateByUrl(this.formOptions.successUrl);\n return state;\n }\n this.notification$$.next({\n message: 'Success',\n type: NotificationType.SUCCESS,\n });\n return {\n ...state,\n isSubmitting: false,\n onSubmitSuccess: true,\n };\n case Action.ERROR_HANDLING: {\n const message = parseErrorMessage(action.payload);\n this.notification$$.next({\n type: NotificationType.ERROR,\n message,\n });\n return {\n ...state,\n isLoading: false,\n isSubmitting: false,\n onSubmitSuccess: false,\n };\n }\n case Action.ALTERFORM_CHANGED:\n return {\n ...state,\n isLoading: true,\n };\n case Action.UPDATE_FIELD:\n action.payload.forEach((fieldUpdateData: FieldData) => {\n state.sections.forEach((s: Section) => {\n s.fields.forEach((field: FieldBase) => {\n if (field.name === fieldUpdateData.name) {\n field.updateField(fieldUpdateData);\n const currentSubscription = this.altersFormSubscriptions.get(state.formGroup.controls[field.name]);\n if (currentSubscription) {\n currentSubscription.unsubscribe();\n this.altersFormSubscriptions.delete(state.formGroup.controls[field.name]);\n }\n state.formGroup.controls[field.name].patchValue(field.value);\n this.applyValidationSettings(state.formGroup.controls[field.name], field);\n if (field.altersForm) {\n this.subscribeToAltersFormValue(state.formGroup.controls[field.name], field);\n }\n }\n });\n });\n });\n return {\n ...state,\n isLoading: false,\n };\n case Action.CLEAR_ALL:\n state.formGroup.reset();\n return state;\n default:\n return state;\n }\n }\n\n private ensureObservable(item: StoreAction | FormState): Observable {\n return item instanceof Observable ? item : observableFrom([item]);\n }\n\n private actionDispatcher(func: (...args: any[]) => any): (...args: any[]) => StoreAction {\n return (...args: any[]) => {\n const action: StoreAction = func.call(null, ...args);\n this.action$$.next(action);\n if (action.payload instanceof Observable) {\n this.action$$.next(action.payload);\n }\n return action;\n };\n }\n\n public getQueryParamsInContext(context: string, formData: any): string {\n const [url, params] = context.split('?');\n if (params) {\n const paramsString = params.split('&').reduce((queryParams, param) => {\n const [key] = param.split('=');\n if (formData.hasOwnProperty(key) && key !== 'pid') {\n return queryParams;\n }\n return queryParams === '' ? (queryParams += param) : (queryParams += `&${param}`);\n }, '');\n return `${url}?${paramsString}`;\n } else {\n return context;\n }\n }\n}\n\nexport function parseErrorMessage(message: any): string {\n if (typeof message === 'undefined') {\n return '';\n }\n if (message.hasOwnProperty('data')) {\n if (typeof message.data === 'string') {\n return message.data;\n }\n const formError = message.data as FormErrorResponse;\n\n let errorMessage = '';\n if (formError.fields.length > 1) {\n // TODO: Revisit if this makes sense/makes nice errors.\n errorMessage += 'Multiple errors: ';\n }\n formError.fields.forEach((err) => (errorMessage += err.message + ', '));\n // Slice off the trailing comma\n errorMessage = errorMessage.slice(0, errorMessage.length - 2);\n return errorMessage;\n }\n if (typeof message === 'string') {\n return message;\n }\n if (message.hasOwnProperty('message')) {\n return message.message;\n }\n return 'Unknown error occurred';\n}\n", "import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { SourceData } from '../../vform.models';\n\n@Component({\n selector: 'vf-vsource-option',\n templateUrl: './vsource-option.component.html',\n styleUrls: ['./vsource-option.component.scss'],\n})\nexport class VsourceOptionComponent {\n @Input()\n source: SourceData;\n @Input()\n initialChecked: boolean;\n @Input()\n disabled: boolean;\n\n @Output()\n sourceSelected = new EventEmitter();\n}\n", "\n \n {{ source.name }}\n -1\"\n />\n -1\"\n />\n\n", "import { Component, Input, OnInit } from '@angular/core';\nimport { CatalogueData, SourceData } from '../vform.models';\nimport { UntypedFormControl } from '@angular/forms';\n\n@Component({\n selector: 'vf-vsource',\n templateUrl: './vsource.component.html',\n styleUrls: ['./vsource.component.scss'],\n})\nexport class VsourceComponent implements OnInit {\n @Input()\n sourceData: UntypedFormControl;\n @Input()\n catalogue: CatalogueData;\n @Input()\n enableInternetDataProviders: boolean;\n @Input()\n columns: number;\n\n directorySites: SourceData[];\n reviewSites: SourceData[];\n searchEngines: SourceData[];\n socialSites: SourceData[];\n internetDataProviders: SourceData[];\n\n disabledSources: number[];\n\n ngOnInit() {\n this.directorySites = this.organizeSourceList(this.catalogue.source.sources['Directory Site']);\n this.reviewSites = this.organizeSourceList(this.catalogue.source.sources['Review Site']);\n this.searchEngines = this.organizeSourceList(this.catalogue.source.sources['Search Engine']);\n this.socialSites = this.organizeSourceList(this.catalogue.source.sources['Social Site']);\n this.internetDataProviders = this.organizeSourceList(this.catalogue.source.sources['Internet Data Provider']);\n\n this.disabledSources = [...this.sourceData.value[1]];\n // Scrub the disabled sources from the \"value\" of this control for when the form gets submitted.\n this.sourceData.patchValue(this.sourceData.value[0]);\n this.sourceData.valueChanges.subscribe(console.log);\n }\n\n organizeSourceList(sources: SourceData[]): SourceData[] {\n if (!sources) {\n return [];\n }\n return sources.sort((a, b) => {\n const textA = a.name.toUpperCase();\n const textB = b.name.toUpperCase();\n return textA < textB ? -1 : textA > textB ? 1 : 0;\n });\n }\n\n updateValues(checked: boolean, sourceId: number): void {\n const current = [...this.sourceData.value];\n if (checked) {\n // add to sourceData\n current.push(sourceId);\n this.sourceData.patchValue(current);\n return;\n }\n // remove from sourceData\n this.sourceData.patchValue(current.filter((sId) => sId !== sourceId));\n }\n}\n", "
\n

Social Sites

\n -1\"\n [disabled]=\"disabledSources.indexOf(source.sourceId) > -1\"\n >\n

Search Sites

\n -1\"\n [disabled]=\"disabledSources.indexOf(source.sourceId) > -1\"\n >\n \n

Data Providers

\n -1\"\n [disabled]=\"disabledSources.indexOf(source.sourceId) > -1\"\n >\n
\n \n

Review Sites

\n -1\"\n [disabled]=\"disabledSources.indexOf(source.sourceId) > -1\"\n >\n
\n
\n
\n

Review Sites

\n -1\"\n [disabled]=\"disabledSources.indexOf(source.sourceId) > -1\"\n >\n
\n
\n

Directory Sites

\n -1\"\n [disabled]=\"disabledSources.indexOf(source.sourceId) > -1\"\n >\n
\n", "import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { UntypedFormGroup } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { SnackbarService } from '@vendasta/galaxy/snackbar-service';\nimport { Observable } from 'rxjs';\nimport { filter, map, take, tap } from 'rxjs/operators';\n\nimport { TimeRangeOption } from '@vendasta/forms';\nimport {\n ButtonAction,\n ButtonOptions,\n CatalogueData,\n ControlType,\n FormOptions,\n FormResult,\n Section,\n} from './vform.models';\nimport { FormState, NotificationType, VFormStoreService } from './vform.store.service';\n\n@Component({\n // TODO rename this to have the prefix vform\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'v-form',\n templateUrl: 'vform.component.html',\n styleUrls: ['vform.component.scss'],\n providers: [VFormStoreService],\n})\nexport class VFormComponent implements OnInit {\n @Input() formOptions: FormOptions;\n @Input() showDefaultSnackbars = true;\n @Input() inputWidth = '50%';\n @Input() fieldWidth = '500px';\n @Input() compact = false;\n\n // withCredentials passes in the authorization header if it is set to true, current behavior is always false so this is the default value\n @Input() withCredentials = false;\n\n @Output() formSubmitSuccess: EventEmitter = new EventEmitter();\n @Output() formSubmitResult: EventEmitter = new EventEmitter();\n @Output() hasError: EventEmitter = new EventEmitter();\n @Output() errorMessage: EventEmitter = new EventEmitter();\n @Output() formLoadSuccess: EventEmitter = new EventEmitter();\n @Output() formSubmitFn: EventEmitter<(...args: any[]) => any> = new EventEmitter();\n\n vFormStore$: Observable;\n sections$: Observable;\n catalogue$: Observable;\n formGroup$: Observable;\n leftButtons: ButtonOptions[];\n rightButtons: ButtonOptions[];\n public formSubmit: (...args: any[]) => any;\n controlType = ControlType;\n\n today = new Date();\n timeRangeOption = '';\n timeRangeOptions: TimeRangeOption[] = [\n { key: '', name: 'Select a date range' },\n { key: '1days', name: 'Today' },\n { key: '7days', name: 'Last 7 days' },\n { key: '30days', name: 'Last 30 days' },\n { key: '90days', name: 'Last 90 days' },\n { key: '6months', name: 'Last 6 months' },\n { key: '12months', name: 'Last 12 months' },\n { key: 'custom', name: 'Custom' },\n ];\n\n private dateRange: Date[] = [new Date(), new Date()];\n private timeRange = '';\n\n constructor(private vFormStore: VFormStoreService, private alertService: SnackbarService, private router: Router) {}\n\n ngOnInit() {\n if (!this.formOptions.context) {\n this.formOptions.context = document.URL;\n }\n this.vFormStore.initStore(this.formOptions);\n this.vFormStore$ = this.vFormStore.formState$.pipe(tap((store) => this.formLoadSuccess.emit(store)));\n this.vFormStore.initVForm(this.withCredentials)(this.formOptions);\n this.formSubmit = this.vFormStore.formSubmit(this.withCredentials);\n this.vFormStore.notification$.pipe(filter((n) => n !== null)).subscribe((notification) => {\n if (notification.type === NotificationType.SUCCESS) {\n if (this.showDefaultSnackbars) {\n this.alertService.openSuccessSnack(notification.message);\n }\n } else {\n if (this.showDefaultSnackbars) {\n this.alertService.openErrorSnack(notification.message);\n }\n this.hasError.emit(true);\n this.errorMessage.emit(notification.message);\n }\n });\n this.formGroup$ = this.vFormStore$.pipe(map((store) => store.formGroup));\n this.formSubmitFn.emit(this.submitData.bind(this));\n this.sections$ = this.vFormStore$.pipe(map((store) => store.sections));\n this.catalogue$ = this.vFormStore$.pipe(map((store) => store.catalogue));\n this.rightButtons =\n this.formOptions && this.formOptions.rightCustomButtons ? this.formOptions.rightCustomButtons : [];\n this.leftButtons = this.computeLeftButtons();\n }\n\n public computeLeftButtons(): ButtonOptions[] {\n if (this.formOptions && this.formOptions.leftCustomButtons) {\n return this.formOptions.leftCustomButtons;\n }\n return [\n {\n label: 'Submit',\n action: ButtonAction.SUBMIT,\n color: 'primary',\n },\n {\n label: 'Cancel',\n action: ButtonAction.CANCEL,\n },\n ];\n }\n\n submitData(): void {\n this.formGroup$.pipe(take(1)).subscribe({\n next: (formGroup) => {\n const formData = formGroup.getRawValue();\n const formSubmission = {\n ...formData,\n };\n this.formSubmit(formSubmission, this.formSubmitSuccess, this.formSubmitResult);\n },\n });\n }\n\n callButtonAction(action: (formdata?: any) => void | ButtonAction, formdata: any): void {\n if (typeof action === 'number') {\n switch (action) {\n case ButtonAction.SUBMIT:\n this.formSubmit(formdata, this.formSubmitSuccess, this.formSubmitResult);\n break;\n case ButtonAction.CLEAR:\n this.vFormStore.clearAll()();\n break;\n case ButtonAction.CANCEL:\n this.router.navigateByUrl(this.formOptions.cancelUrl);\n break;\n }\n } else {\n action.call(this, formdata);\n }\n }\n\n onDateRangeChange(dateRange: Date[]): void {\n this.dateRange = dateRange;\n\n this.formGroup$.pipe(take(1)).subscribe({\n next: (formGroup: UntypedFormGroup) => {\n formGroup.patchValue({\n date_range_picker: JSON.stringify(this.getDateRange()),\n });\n },\n });\n }\n\n onTimeRangeChange(rangeName: string): void {\n this.timeRange = rangeName;\n }\n\n getDateRange(): any | undefined {\n if (!this.timeRange || !this.dateRange) {\n return undefined;\n }\n\n function formatDate(date: Date) {\n return date.toISOString().split('T')[0];\n }\n\n return {\n start: formatDate(this.dateRange[0]),\n end: formatDate(this.dateRange[1]),\n };\n }\n\n shouldIndentControlHint(control: ControlType): boolean {\n return [ControlType.CHECKBOX, ControlType.RADIO].indexOf(control) > -1;\n }\n}\n", "\n \n
\n
\n \n
\n = 1 && section.hasVisibleFields() && !!section.label\"\n class=\"section-title\"\n [ngStyle]=\"{ width: fieldWidth }\"\n >\n {{ section.label }}\n
\n
= 1 && section.hasVisibleFields() && !!section.description\" class=\"section-description\">\n {{ section.description }}\n
\n \n \n
\n \n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n {{ field.label }}\n \n \n\n \n \n {{ field.label }}\n \n \n\n \n
\n
{{ field.label }}
\n \n \n {{ option.label }}\n \n \n
\n
\n\n \n \n {{ field.label }}\n \n \n\n \n \n {{ field.label }}\n \n \n {{ option.label }}\n \n \n \n \n {{ 'FRONTEND.FORMS.INPUT.WHATS_THIS' | translate }}\n \n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n
\n
\n\n \n
\n
{{ field.label }}
\n
\n \n {{ option.label }}\n \n
\n
\n
\n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n The control of type {{ field.control }} is not currently supported.\n \n \n
\n\n
\n lock\n \n {{ field.lockedMessage }}\n \n
\n
\n
\n \n \n \n \n
\n
\n \n \n {{ button.label }}\n \n \n {{ button.label }}\n \n \n
\n
\n 0\">\n \n \n \n \n \n \n \n
\n
\n
\n \n
\n\n
\n
\n
\n
\n
\n
\n", "import { Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { FormOptions, FormResult } from './vform.models';\nimport { FormState } from './vform.store.service';\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\nimport { Subscription } from 'rxjs';\nimport { ActivatedRoute, NavigationExtras, Params, Router } from '@angular/router';\nimport { UntypedFormGroup } from '@angular/forms';\nimport { removeRouterOutletsFromUrl } from '@vendasta/shared';\n\n@Component({\n // TODO rename this to have the prefix vform\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'v-filter',\n templateUrl: './v-filter.component.html',\n styleUrls: ['./v-filter.component.scss'],\n})\nexport class VFilterComponent implements OnInit, OnDestroy, OnChanges {\n @Input()\n formUrl: string;\n @Input()\n context: any;\n @Input()\n ignoredQueryParams: string[] = [];\n @Input()\n infiniteScroll: boolean;\n // Any changes to this input will trigger a reload of the formUrl\n @Input()\n reload: any;\n @Input()\n doInitialLoad = true;\n @Output()\n feedData = new EventEmitter();\n @Output()\n formSelectionChanges = new EventEmitter();\n\n formOptions: FormOptions;\n defaultState: any;\n\n private formGroup: UntypedFormGroup;\n private formSubmitFn: () => void;\n private initialized = false;\n private pastParams = '';\n private formSubmitSubscription: Subscription;\n private queryParamSubscription: Subscription;\n private cursor: number;\n private internalFeedData: any[] = [];\n private resetData: boolean;\n private loading = false;\n\n constructor(private route: ActivatedRoute, private router: Router) {}\n\n ngOnInit(): void {\n this.formOptions = {\n leftCustomButtons: [],\n formUrl: this.formUrl,\n context: this.context,\n };\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes?.reload?.previousValue !== changes?.reload?.currentValue && !!this.formSubmitFn) {\n this.resetData = true;\n this.formSubmitFn();\n }\n }\n\n ngOnDestroy(): void {\n if (this.formSubmitSubscription) {\n this.formSubmitSubscription.unsubscribe();\n }\n if (this.queryParamSubscription) {\n this.queryParamSubscription.unsubscribe();\n }\n }\n\n updateFeed(data: FormResult): void {\n // TODO: make feed_data an Input you can pass in?\n if (this.resetData) {\n this.internalFeedData = [...data.data.feed_data];\n } else {\n this.internalFeedData = [...this.internalFeedData, ...data.data.feed_data];\n }\n this.feedData.emit([...this.internalFeedData]);\n this.cursor = data.data.cursor;\n this.formGroup.patchValue(\n {\n cursor: data.data.cursor,\n },\n { emitEvent: false },\n );\n window.setTimeout(() => (this.loading = false), 100);\n }\n\n /**\n * Clears all the selected query params\n */\n clearAll(): void {\n const params = this.defaultState;\n this.formSelectionChanges.emit(params);\n this.updateQueryParams(params, false);\n this.formGroup.patchValue(params);\n }\n\n updateFormFromQueryParams(params: Params): void {\n if (!this.initialized) {\n return;\n }\n if (this.getCacheKey(params) === this.getCacheKey(this.formGroup.getRawValue())) {\n return;\n }\n\n // Delete any ignored query params from the list\n const keysToUse = Object.keys(params).filter((key) => this.ignoredQueryParams.indexOf(key) === -1);\n\n const ops = keysToUse\n .filter((param) => this.formGroup.contains(param))\n .reduce((previousValue, currentValue) => {\n return { ...previousValue, [currentValue]: params[currentValue] };\n }, {});\n\n const newString = this.getCacheKey(ops);\n if (this.pastParams === newString) {\n return;\n }\n this.pastParams = newString;\n if (params.cursor !== undefined) {\n this.cursor = params.cursor;\n }\n this.formGroup.patchValue(ops);\n }\n\n handleFormEvent(state: FormState): void {\n if (!!this.formSubmitFn && state.formReady === true) {\n if (!this.initialized) {\n this.initialized = true;\n\n this.formGroup = state.formGroup;\n this.queryParamSubscription = this.route.queryParams.subscribe(this.updateFormFromQueryParams.bind(this));\n\n const debouncedForm$ = state.formGroup.valueChanges.pipe(\n distinctUntilChanged(this.formChanged),\n debounceTime(500),\n );\n\n // Get the initial value\n this.defaultState = state.formGroup.value;\n this.formSelectionChanges.emit(this.defaultState);\n this.updateQueryParams(this.defaultState);\n\n if (this.doInitialLoad) {\n this.formSubmitFn();\n }\n\n // Listen for any changes to the form and submit the new filter\n this.formSubmitSubscription = debouncedForm$.subscribe({\n next: () => {\n this.resetData = true;\n this.formSubmitFn();\n },\n });\n debouncedForm$.subscribe((formChanges) => {\n this.formSelectionChanges.emit(formChanges);\n this.updateQueryParams(formChanges);\n });\n }\n }\n }\n\n onScroll(): void {\n // If infiniteScroll is enabled, we aren't already loading data, and we have a cursor to go to, keep loading more data.\n if (!!this.infiniteScroll && !this.loading && !!this.cursor) {\n this.resetData = false;\n this.formSubmitFn();\n }\n }\n\n // Grab the form submit function from the inner vform component so that we can submit the form whenever we wish\n handleFormSubmitFnEvent(fn: () => void): void {\n this.formSubmitFn = () => {\n this.loading = true;\n fn();\n };\n }\n\n // Custom serialization function that orders keys and filters out null or undefined values.\n private getCacheKey(obj: any): string {\n return JSON.stringify(\n Object.keys(obj)\n .filter((key) => typeof obj[key] !== 'undefined' && obj[key] !== null)\n .sort((a, b) => {\n if (a < b) {\n return 1;\n }\n if (a > b) {\n return -1;\n }\n return 0;\n })\n .reduce((previousValue, currentValue) => {\n return { ...previousValue, [currentValue]: obj[currentValue] };\n }, {}),\n );\n }\n\n private updateQueryParams(params: Record, withPrevious = true): void {\n let previous = {};\n if (withPrevious) {\n previous = this.route.snapshot.queryParams;\n }\n\n const navigationExtras: NavigationExtras = {\n queryParams: { ...previous, ...params },\n };\n this.router.navigate([removeRouterOutletsFromUrl(window.location.pathname)], navigationExtras);\n }\n\n /**\n * Compares the form value and makes sure there is a change\n */\n private formChanged(a: any, b: any): boolean {\n const aKeys = Object.keys(a),\n bKeys = Object.keys(b);\n // If the keys length do not match return\n if (aKeys.length !== bKeys.length) {\n return true;\n }\n\n let noChanges = true;\n aKeys.forEach((key) => {\n // Treat undefined and null as the same\n if (typeof a[key] === 'undefined' || a[key] === null) {\n const bIsNull = typeof b[key] === 'undefined' || b[key] === null;\n if (!bIsNull) {\n noChanges = false;\n return;\n }\n }\n // If the keys do not match\n if (a[key] !== b[key]) {\n noChanges = false;\n }\n });\n\n return noChanges;\n }\n}\n", "
\n
\n \n \n
\n
\n

Filter

\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n
\n
\n\n", "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { RouterModule } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { VaFormsModule } from '@vendasta/forms';\nimport { InViewportModule } from 'ng-in-viewport';\n\nimport { ToBoolPipe } from './to-bool.pipe';\nimport { VFilterComponent } from './v-filter.component';\nimport { VFormTranslationService } from './vform-translation.service';\nimport { VFormComponent } from './vform.component';\nimport { VsourceOptionComponent } from './vsource/vsource-option/vsource-option.component';\nimport { VsourceComponent } from './vsource/vsource.component';\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n FormsModule,\n ReactiveFormsModule,\n\n InViewportModule,\n TranslateModule,\n\n MatButtonModule,\n MatChipsModule,\n MatCardModule,\n MatInputModule,\n MatSelectModule,\n MatRadioModule,\n MatCheckboxModule,\n MatSlideToggleModule,\n MatTooltipModule,\n MatIconModule,\n MatAutocompleteModule,\n MatMenuModule,\n\n VaFormsModule,\n ],\n exports: [VFormComponent, VFilterComponent],\n declarations: [VFormComponent, VsourceComponent, VsourceOptionComponent, VFilterComponent, ToBoolPipe],\n providers: [VFormTranslationService],\n})\nexport class VFormModule {}\n"], "mappings": "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", "names": ["ToBoolPipe", "transform", "value", "toLowerCase", "pure", "_ToBoolPipe", "ButtonAction", "Section", "constructor", "initialData", "name", "label", "tooltip", "fields", "description", "hasVisibleFields", "length", "filter", "f", "visible", "ControlType", "Action", "FieldBase", "setOptions", "options", "id", "label", "required", "description", "setFieldData", "fieldData", "Object", "assign", "controlType", "ControlType", "control", "toUpperCase", "decodeHtml", "length", "forEach", "option", "CHECKBOX", "TOGGLE", "value", "TEXT", "HIDDEN", "TEXTBOX", "MULTITEXT", "setServerError", "m", "message", "clearServerError", "updateField", "fieldUpdateData", "visible", "undefined", "enabled", "locked", "tooltip", "DROPDOWN", "RADIO", "MULTISELECT", "COUNTRYSTATE", "TAG", "includeBlank", "unshift", "placeholder", "selected", "toString", "JSON", "stringify", "input", "takeAllContent", "window", "doc", "DOMParser", "parseFromString", "documentElement", "innerHTML", "textContent", "ImageUploadField", "FieldBase", "setFieldData", "fieldData", "value", "fileurl", "filename", "filepath", "url", "uploadData", "name", "minFileSize", "maxFileSize", "acceptedMimeTypes", "maxHeight", "maxWidth", "passwordConfirmValidator", "passwordControlName", "confirmPasswordControlName", "group", "passwordControl", "controls", "confirmPasswordControl", "value", "setErrors", "passwordNotMatch", "optionalEmailValidator", "emailControl", "control", "Validators", "email", "VFormTranslationService", "constructor", "http", "alertService", "requestFormData", "formOptions", "withCredentials", "url", "formUrl", "encodeURIComponent", "context", "JSON", "stringify", "post", "pipe", "map", "response", "data", "setFormData", "sections", "section", "Section", "fieldData", "formdata", "forEach", "fieldDataItem", "name", "field", "fields", "fieldItem", "Object", "assign", "control", "FieldBase", "ImageUploadField", "setFieldData", "filter", "f", "loading", "catalogue", "formAlteringElementChanged", "encodedFormData", "header", "HttpHeaders", "headers", "submitForm", "submitUrl", "formData", "fileUploader", "uploadUrl", "file", "FormData", "key", "hasOwnProperty", "append", "error", "openErrorSnack", "maxFileSize", "__spreadProps", "__spreadValues", "fileurl", "filename", "\u0275\u0275inject", "HttpClient", "SnackbarService", "factory", "\u0275fac", "_VFormTranslationService", "NotificationType", "VFormStoreService", "notification$", "notification$$", "asObservable", "formOptions", "_formOptions", "constructor", "vFormTranslationService", "router", "initStore", "action$$", "BehaviorSubject", "type", "associatedControls", "Map", "altersFormSubscriptions", "formState$", "observableOf", "formGroup", "formReady", "sections", "isLoading", "isSubmitting", "onSubmitSuccess", "formSubmitUrl", "pipe", "merge", "flatMap", "ensureObservable", "scan", "formStateReducer", "bind", "publishReplay", "refCount", "catchError", "err", "next", "ERROR", "message", "console", "error", "clearAll", "actionDispatcher", "Action", "CLEAR_ALL", "payload", "serializeFormData", "formdata", "formList", "field", "push", "encodeURIComponent", "join", "Array", "isArray", "forEach", "value", "serializeField", "isCheckboxesObject", "Object", "keys", "key", "formAlteringElementChanged", "controlType", "ControlType", "MULTISELECT", "fieldData", "name", "indexOfDefault", "indexOf", "length", "splice", "serializedFormdata", "ALTERFORM_CHANGED", "ERROR_HANDLING", "map", "response", "hasOwnProperty", "UPDATE_FIELD", "initVForm", "withCredentials", "options", "INIT_VFORM", "requestFormData", "errorResponse", "res", "buildFormGroup", "rawFormProperties", "applyDeferredValidators", "FORM_READY", "formSubmit", "successEventEmitter", "successResultEmitter", "FORM_SUBMIT", "formSubmitHandler", "formUrl", "POST_FORMSUBMIT", "submitUrl", "context", "getQueryParamsInContext", "JSON", "stringify", "serializedFormData", "submitForm", "undefined", "toString", "associatedControlsIterator", "currentKey", "done", "get", "setValidators", "passwordConfirmValidator", "formDef", "group", "section", "fields", "MULTITEXT", "f", "v", "UntypedFormControl", "UntypedFormArray", "CHECKBOXES", "cf", "label", "selected", "UntypedFormGroup", "option", "IMAGE", "ImageUploadField", "uploadUrl", "customMediaUploader", "upload", "fileUploader", "uploadData", "set", "control", "applyValidationSettings", "altersForm", "subscribeToAltersFormValue", "BUILD_FORMGROUP", "catalogue", "formControl", "validators", "enabled", "locked", "disable", "updateValueAndValidity", "enable", "required", "Validators", "min", "datatype", "max", "minLength", "maxLength", "toLowerCase", "visible", "optionalEmailValidator", "email", "regexp", "pattern", "valueChanges", "withLatestFrom", "val", "store", "country", "DEFAULT", "__spreadProps", "__spreadValues", "state", "subscribe", "action", "INIT", "GET_FORM_DEF", "emit", "successUrl", "navigateByUrl", "SUCCESS", "parseErrorMessage", "fieldUpdateData", "s", "updateField", "currentSubscription", "controls", "unsubscribe", "delete", "patchValue", "reset", "item", "Observable", "observableFrom", "func", "args", "call", "formData", "url", "params", "split", "paramsString", "reduce", "queryParams", "param", "\u0275\u0275inject", "VFormTranslationService", "Router", "factory", "\u0275fac", "_VFormStoreService", "data", "formError", "errorMessage", "slice", "\u0275\u0275element", "VsourceOptionComponent", "constructor", "sourceSelected", "EventEmitter", "selectors", "inputs", "source", "initialChecked", "disabled", "outputs", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275elementStart", "\u0275\u0275listener", "$event", "emit", "checked", "\u0275\u0275text", "\u0275\u0275template", "VsourceOptionComponent_img_3_Template", "VsourceOptionComponent_img_4_Template", "\u0275\u0275elementEnd", "\u0275\u0275property", "\u0275\u0275advance", "sourceId", "\u0275\u0275sanitizeUrl", "\u0275\u0275textInterpolate1", "name", "serviceProviders", "indexOf", "_VsourceOptionComponent", "\u0275\u0275elementStart", "\u0275\u0275listener", "$event", "source_r2", "\u0275\u0275restoreView", "_r1", "$implicit", "ctx_r2", "\u0275\u0275nextContext", "\u0275\u0275resetView", "updateValues", "sourceId", "\u0275\u0275elementEnd", "\u0275\u0275property", "sourceData", "value", "indexOf", "disabledSources", "source_r5", "_r4", "source_r7", "_r6", "\u0275\u0275elementContainerStart", "\u0275\u0275text", "\u0275\u0275template", "VsourceComponent_ng_container_7_vf_vsource_option_3_Template", "\u0275\u0275advance", "internetDataProviders", "source_r9", "_r8", "VsourceComponent_ng_container_8_vf_vsource_option_3_Template", "reviewSites", "source_r11", "_r10", "VsourceComponent_div_9_vf_vsource_option_3_Template", "source_r13", "_r12", "VsourceComponent", "ngOnInit", "directorySites", "organizeSourceList", "catalogue", "source", "sources", "searchEngines", "socialSites", "patchValue", "valueChanges", "subscribe", "console", "log", "sort", "a", "b", "textA", "name", "toUpperCase", "textB", "checked", "current", "push", "filter", "sId", "selectors", "inputs", "enableInternetDataProviders", "columns", "decls", "vars", "consts", "template", "rf", "ctx", "VsourceComponent_vf_vsource_option_3_Template", "VsourceComponent_vf_vsource_option_6_Template", "VsourceComponent_ng_container_7_Template", "VsourceComponent_ng_container_8_Template", "VsourceComponent_div_9_Template", "VsourceComponent_vf_vsource_option_13_Template", "_VsourceComponent", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275property", "\u0275\u0275pureFunction1", "_c2", "ctx_r1", "fieldWidth", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "section_r1", "label", "description", "\u0275\u0275elementContainerStart", "\u0275\u0275element", "\u0275\u0275styleProp", "inputWidth", "field_r3", "required", "f_r4", "controls", "name", "tooltip", "maxMultiples", "option_r5", "value", "\u0275\u0275template", "VFormComponent_ng_container_0_div_1_ng_container_3_ng_container_4_div_1_ng_container_11_mat_radio_button_5_Template", "\u0275\u0275textInterpolate", "options", "\u0275\u0275listener", "$event", "\u0275\u0275restoreView", "_r6", "\u0275\u0275nextContext", "$implicit", "ngIf", "\u0275\u0275resetView", "setValue", "checked", "\u0275\u0275pipeBind1", "disabled", "option_r7", "i0", "_r8", "VFormComponent_ng_container_0_div_1_ng_container_3_ng_container_4_div_1_ng_container_13_mat_label_2_Template", "VFormComponent_ng_container_0_div_1_ng_container_3_ng_container_4_div_1_ng_container_13_mat_option_4_Template", "VFormComponent_ng_container_0_div_1_ng_container_3_ng_container_4_div_1_ng_container_13_mat_hint_5_Template", "placeholder", "allowMultiples", "enabled", "useSelect2", "countries", "states", "customMediaUploader", "acceptedMimeTypes", "\u0275\u0275sanitizeHtml", "option_r9", "VFormComponent_ng_container_0_div_1_ng_container_3_ng_container_4_div_1_ng_container_20_mat_checkbox_5_Template", "catalogue$", "enableInternetDataProviders", "columns", "_r10", "onTimeRangeChange", "onDateRangeChange", "today", "timeRangeOption", "timeRangeOptions", "control", "lockedMessage", "VFormComponent_ng_container_0_div_1_ng_container_3_ng_container_4_div_1_div_25_span_3_Template", "VFormComponent_ng_container_0_div_1_ng_container_3_ng_container_4_div_1_ng_container_3_Template", "VFormComponent_ng_container_0_div_1_ng_container_3_ng_container_4_div_1_ng_container_4_Template", "VFormComponent_ng_container_0_div_1_ng_container_3_ng_container_4_div_1_ng_container_5_Template", "VFormComponent_ng_container_0_div_1_ng_container_3_ng_container_4_div_1_ng_container_6_Template", "VFormComponent_ng_container_0_div_1_ng_container_3_ng_container_4_div_1_ng_container_7_Template", "VFormComponent_ng_container_0_div_1_ng_container_3_ng_container_4_div_1_ng_container_8_Template", "VFormComponent_ng_container_0_div_1_ng_container_3_ng_container_4_div_1_ng_container_9_Template", "VFormComponent_ng_container_0_div_1_ng_container_3_ng_container_4_div_1_ng_container_10_Template", "VFormComponent_ng_container_0_div_1_ng_container_3_ng_container_4_div_1_ng_container_11_Template", "VFormComponent_ng_container_0_div_1_ng_container_3_ng_container_4_div_1_ng_container_12_Template", "VFormComponent_ng_container_0_div_1_ng_container_3_ng_container_4_div_1_ng_container_13_Template", "VFormComponent_ng_container_0_div_1_ng_container_3_ng_container_4_div_1_ng_container_14_Template", "VFormComponent_ng_container_0_div_1_ng_container_3_ng_container_4_div_1_ng_container_15_Template", "VFormComponent_ng_container_0_div_1_ng_container_3_ng_container_4_div_1_ng_container_16_Template", "VFormComponent_ng_container_0_div_1_ng_container_3_ng_container_4_div_1_ng_container_17_Template", "VFormComponent_ng_container_0_div_1_ng_container_3_ng_container_4_div_1_ng_container_18_Template", "VFormComponent_ng_container_0_div_1_ng_container_3_ng_container_4_div_1_ng_container_19_Template", "VFormComponent_ng_container_0_div_1_ng_container_3_ng_container_4_div_1_ng_container_20_Template", "VFormComponent_ng_container_0_div_1_ng_container_3_ng_container_4_div_1_ng_container_21_Template", "VFormComponent_ng_container_0_div_1_ng_container_3_ng_container_4_div_1_ng_container_22_Template", "VFormComponent_ng_container_0_div_1_ng_container_3_ng_container_4_div_1_ng_container_23_Template", "VFormComponent_ng_container_0_div_1_ng_container_3_ng_container_4_div_1_ng_container_24_Template", "VFormComponent_ng_container_0_div_1_ng_container_3_ng_container_4_div_1_div_25_Template", "_c3", "controlType", "\u0275\u0275pureFunction2", "_c4", "TEXT", "TEXTBOX", "PASSWORD", "PHONENUMBER", "TEXTAREA", "MULTITEXT", "TOGGLE", "SWITCH", "RADIO", "CHECKBOX", "DROPDOWN", "MULTISELECT", "TAG", "COUNTRYSTATE", "IMAGE", "HIDDEN", "CHECKBOXES", "VSOURCE", "SEARCH", "DATERANGEPICKER", "locked", "VFormComponent_ng_container_0_div_1_ng_container_3_ng_container_4_div_1_Template", "visible", "VFormComponent_ng_container_0_div_1_ng_container_3_div_2_Template", "VFormComponent_ng_container_0_div_1_ng_container_3_div_3_Template", "VFormComponent_ng_container_0_div_1_ng_container_3_ng_container_4_Template", "len_r11", "hasVisibleFields", "fields", "_r12", "button_r13", "callButtonAction", "action", "getRawValue", "color", "disableWhenFormInvalidOrLoading", "invalid", "s_r14", "isLoading", "_r15", "VFormComponent_ng_container_0_div_1_ng_container_7_button_1_Template", "VFormComponent_ng_container_0_div_1_ng_container_7_button_2_Template", "button_r17", "_r16", "VFormComponent_ng_container_0_div_1_ng_container_9_ng_container_6_Template", "rightMenu_r18", "rightButtons", "VFormComponent_ng_container_0_div_1_ng_container_3_Template", "VFormComponent_ng_container_0_div_1_ng_container_7_Template", "VFormComponent_ng_container_0_div_1_ng_container_9_Template", "_c0", "isSubmitting", "_c1", "compact", "sections$", "leftButtons", "length", "VFormComponent_ng_container_0_div_1_Template", "formGroup$", "loading_r19", "VFormComponent", "constructor", "vFormStore", "alertService", "router", "showDefaultSnackbars", "withCredentials", "formSubmitSuccess", "EventEmitter", "formSubmitResult", "hasError", "errorMessage", "formLoadSuccess", "formSubmitFn", "ControlType", "Date", "key", "dateRange", "timeRange", "ngOnInit", "formOptions", "context", "document", "URL", "initStore", "vFormStore$", "formState$", "pipe", "tap", "store", "emit", "initVForm", "formSubmit", "notification$", "filter", "n", "subscribe", "notification", "type", "NotificationType", "SUCCESS", "openSuccessSnack", "message", "openErrorSnack", "map", "formGroup", "submitData", "bind", "sections", "catalogue", "rightCustomButtons", "computeLeftButtons", "leftCustomButtons", "ButtonAction", "SUBMIT", "CANCEL", "take", "next", "formData", "formSubmission", "__spreadValues", "formdata", "CLEAR", "clearAll", "navigateByUrl", "cancelUrl", "call", "patchValue", "date_range_picker", "JSON", "stringify", "getDateRange", "rangeName", "formatDate", "date", "toISOString", "split", "start", "end", "shouldIndentControlHint", "indexOf", "\u0275\u0275directiveInject", "VFormStoreService", "SnackbarService", "Router", "selectors", "inputs", "outputs", "features", "\u0275\u0275ProvidersFeature", "decls", "vars", "consts", "template", "rf", "ctx", "VFormComponent_ng_container_0_Template", "VFormComponent_ng_template_2_Template", "\u0275\u0275templateRefExtractor", "_VFormComponent", "\u0275\u0275elementStart", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r1", "ctx_r1", "\u0275\u0275nextContext", "\u0275\u0275resetView", "onScroll", "\u0275\u0275elementEnd", "\u0275\u0275property", "\u0275\u0275pureFunction0", "_c1", "VFilterComponent", "constructor", "route", "router", "ignoredQueryParams", "doInitialLoad", "feedData", "EventEmitter", "formSelectionChanges", "initialized", "pastParams", "internalFeedData", "loading", "ngOnInit", "formOptions", "leftCustomButtons", "formUrl", "context", "ngOnChanges", "changes", "reload", "previousValue", "currentValue", "formSubmitFn", "resetData", "ngOnDestroy", "formSubmitSubscription", "unsubscribe", "queryParamSubscription", "updateFeed", "data", "feed_data", "emit", "cursor", "formGroup", "patchValue", "emitEvent", "window", "setTimeout", "clearAll", "params", "defaultState", "updateQueryParams", "updateFormFromQueryParams", "getCacheKey", "getRawValue", "ops", "Object", "keys", "filter", "key", "indexOf", "param", "contains", "reduce", "__spreadProps", "__spreadValues", "newString", "undefined", "handleFormEvent", "state", "formReady", "queryParams", "subscribe", "bind", "debouncedForm$", "valueChanges", "pipe", "distinctUntilChanged", "formChanged", "debounceTime", "value", "next", "formChanges", "infiniteScroll", "handleFormSubmitFnEvent", "fn", "obj", "JSON", "stringify", "sort", "a", "b", "withPrevious", "previous", "snapshot", "navigationExtras", "navigate", "removeRouterOutletsFromUrl", "location", "pathname", "aKeys", "bKeys", "length", "noChanges", "forEach", "\u0275\u0275directiveInject", "ActivatedRoute", "Router", "selectors", "inputs", "outputs", "features", "\u0275\u0275NgOnChangesFeature", "ngContentSelectors", "_c0", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275text", "$event", "\u0275\u0275projection", "\u0275\u0275template", "VFilterComponent_div_14_Template", "\u0275\u0275advance", "_VFilterComponent", "VFormModule", "VFormTranslationService", "imports", "CommonModule", "RouterModule", "FormsModule", "ReactiveFormsModule", "InViewportModule", "TranslateModule", "MatButtonModule", "MatChipsModule", "MatCardModule", "MatInputModule", "MatSelectModule", "MatRadioModule", "MatCheckboxModule", "MatSlideToggleModule", "MatTooltipModule", "MatIconModule", "MatAutocompleteModule", "MatMenuModule", "VaFormsModule", "_VFormModule"] }