devextreme-angular
Version:
Angular UI and visualization components based on DevExtreme widgets
1 lines • 55.2 kB
Source Map (JSON)
{"version":3,"file":"devextreme-angular-ui-form.mjs","sources":["../../../dist/ui/form/index.ts","../../../dist/ui/form/devextreme-angular-ui-form.ts"],"sourcesContent":["/*!\n * devextreme-angular\n * Version: 24.2.6\n * Build date: Mon Mar 17 2025\n *\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-angular\n */\n\n/* tslint:disable:max-line-length */\r\n\r\n\r\nimport {\r\n TransferState,\r\n Component,\r\n NgModule,\r\n ElementRef,\r\n NgZone,\r\n PLATFORM_ID,\r\n Inject,\r\n\r\n Input,\r\n Output,\r\n OnDestroy,\r\n EventEmitter,\r\n OnChanges,\r\n DoCheck,\r\n SimpleChanges,\r\n ContentChildren,\r\n QueryList\r\n} from '@angular/core';\r\n\r\n\r\nimport { Mode } from 'devextreme/common';\r\nimport { dxFormSimpleItem, dxFormGroupItem, dxFormTabbedItem, dxFormEmptyItem, dxFormButtonItem, LabelLocation, FormLabelMode, ContentReadyEvent, DisposingEvent, EditorEnterKeyEvent, FieldDataChangedEvent, InitializedEvent, OptionChangedEvent } from 'devextreme/ui/form';\r\n\r\nimport DxForm from 'devextreme/ui/form';\r\n\r\n\r\nimport {\r\n DxComponent,\r\n DxTemplateHost,\r\n DxIntegrationModule,\r\n DxTemplateModule,\r\n NestedOptionHost,\r\n IterableDifferHelper,\r\n WatcherHelper\r\n} from 'devextreme-angular/core';\r\n\r\nimport { DxoColCountByScreenModule } from 'devextreme-angular/ui/nested';\r\nimport { DxiItemModule } from 'devextreme-angular/ui/nested';\r\nimport { DxoLabelModule } from 'devextreme-angular/ui/nested';\r\nimport { DxiValidationRuleModule } from 'devextreme-angular/ui/nested';\r\nimport { DxoTabPanelOptionsModule } from 'devextreme-angular/ui/nested';\r\nimport { DxiTabModule } from 'devextreme-angular/ui/nested';\r\nimport { DxoButtonOptionsModule } from 'devextreme-angular/ui/nested';\r\n\r\nimport { DxiFormAsyncRuleModule } from 'devextreme-angular/ui/form/nested';\r\nimport { DxiFormButtonItemModule } from 'devextreme-angular/ui/form/nested';\r\nimport { DxoFormButtonOptionsModule } from 'devextreme-angular/ui/form/nested';\r\nimport { DxoFormColCountByScreenModule } from 'devextreme-angular/ui/form/nested';\r\nimport { DxiFormCompareRuleModule } from 'devextreme-angular/ui/form/nested';\r\nimport { DxiFormCustomRuleModule } from 'devextreme-angular/ui/form/nested';\r\nimport { DxiFormEmailRuleModule } from 'devextreme-angular/ui/form/nested';\r\nimport { DxiFormEmptyItemModule } from 'devextreme-angular/ui/form/nested';\r\nimport { DxiFormGroupItemModule } from 'devextreme-angular/ui/form/nested';\r\nimport { DxiFormItemModule } from 'devextreme-angular/ui/form/nested';\r\nimport { DxoFormLabelModule } from 'devextreme-angular/ui/form/nested';\r\nimport { DxiFormNumericRuleModule } from 'devextreme-angular/ui/form/nested';\r\nimport { DxiFormPatternRuleModule } from 'devextreme-angular/ui/form/nested';\r\nimport { DxiFormRangeRuleModule } from 'devextreme-angular/ui/form/nested';\r\nimport { DxiFormRequiredRuleModule } from 'devextreme-angular/ui/form/nested';\r\nimport { DxiFormSimpleItemModule } from 'devextreme-angular/ui/form/nested';\r\nimport { DxiFormStringLengthRuleModule } from 'devextreme-angular/ui/form/nested';\r\nimport { DxiFormTabModule } from 'devextreme-angular/ui/form/nested';\r\nimport { DxiFormTabbedItemModule } from 'devextreme-angular/ui/form/nested';\r\nimport { DxoFormTabPanelOptionsModule } from 'devextreme-angular/ui/form/nested';\r\nimport { DxiFormTabPanelOptionsItemModule } from 'devextreme-angular/ui/form/nested';\r\nimport { DxiFormValidationRuleModule } from 'devextreme-angular/ui/form/nested';\r\n\r\nimport { DxiItemComponent } from 'devextreme-angular/ui/nested';\r\n\r\nimport { DxiFormButtonItemComponent } from 'devextreme-angular/ui/form/nested';\r\nimport { DxiFormEmptyItemComponent } from 'devextreme-angular/ui/form/nested';\r\nimport { DxiFormGroupItemComponent } from 'devextreme-angular/ui/form/nested';\r\nimport { DxiFormItemComponent } from 'devextreme-angular/ui/form/nested';\r\nimport { DxiFormSimpleItemComponent } from 'devextreme-angular/ui/form/nested';\r\nimport { DxiFormTabbedItemComponent } from 'devextreme-angular/ui/form/nested';\r\n\r\n\r\n/**\r\n * The Form UI component represents fields of a data object as a collection of label-editor pairs. These pairs can be arranged in several groups, tabs and columns.\r\n\r\n */\r\n@Component({\r\n selector: 'dx-form',\r\n template: '',\r\n host: { ngSkipHydration: 'true' },\r\n providers: [\r\n DxTemplateHost,\r\n WatcherHelper,\r\n NestedOptionHost,\r\n IterableDifferHelper\r\n ]\r\n})\r\nexport class DxFormComponent extends DxComponent implements OnDestroy, OnChanges, DoCheck {\r\n instance: DxForm = null;\r\n\r\n /**\r\n * Specifies the shortcut key that sets focus on the UI component.\r\n \r\n */\r\n @Input()\r\n get accessKey(): string | undefined {\r\n return this._getOption('accessKey');\r\n }\r\n set accessKey(value: string | undefined) {\r\n this._setOption('accessKey', value);\r\n }\r\n\r\n\r\n /**\r\n * Specifies whether the UI component changes its visual state as a result of user interaction.\r\n \r\n */\r\n @Input()\r\n get activeStateEnabled(): boolean {\r\n return this._getOption('activeStateEnabled');\r\n }\r\n set activeStateEnabled(value: boolean) {\r\n this._setOption('activeStateEnabled', value);\r\n }\r\n\r\n\r\n /**\r\n * Specifies whether all item labels are aligned. Applies only to labels outside their editors (see labelMode).\r\n \r\n */\r\n @Input()\r\n get alignItemLabels(): boolean {\r\n return this._getOption('alignItemLabels');\r\n }\r\n set alignItemLabels(value: boolean) {\r\n this._setOption('alignItemLabels', value);\r\n }\r\n\r\n\r\n /**\r\n * Specifies whether item labels in all groups are aligned. Applies only to labels outside their editors (see labelMode).\r\n \r\n */\r\n @Input()\r\n get alignItemLabelsInAllGroups(): boolean {\r\n return this._getOption('alignItemLabelsInAllGroups');\r\n }\r\n set alignItemLabelsInAllGroups(value: boolean) {\r\n this._setOption('alignItemLabelsInAllGroups', value);\r\n }\r\n\r\n\r\n /**\r\n * The count of columns in the form layout.\r\n \r\n */\r\n @Input()\r\n get colCount(): Mode | number {\r\n return this._getOption('colCount');\r\n }\r\n set colCount(value: Mode | number) {\r\n this._setOption('colCount', value);\r\n }\r\n\r\n\r\n /**\r\n * Specifies dependency between the screen factor and the count of columns in the form layout.\r\n \r\n */\r\n @Input()\r\n get colCountByScreen(): { lg?: number | undefined, md?: number | undefined, sm?: number | undefined, xs?: number | undefined } {\r\n return this._getOption('colCountByScreen');\r\n }\r\n set colCountByScreen(value: { lg?: number | undefined, md?: number | undefined, sm?: number | undefined, xs?: number | undefined }) {\r\n this._setOption('colCountByScreen', value);\r\n }\r\n\r\n\r\n /**\r\n * Specifies a function that customizes a form item after it has been created.\r\n \r\n */\r\n @Input()\r\n get customizeItem(): ((item: dxFormSimpleItem | dxFormGroupItem | dxFormTabbedItem | dxFormEmptyItem | dxFormButtonItem) => void) {\r\n return this._getOption('customizeItem');\r\n }\r\n set customizeItem(value: ((item: dxFormSimpleItem | dxFormGroupItem | dxFormTabbedItem | dxFormEmptyItem | dxFormButtonItem) => void)) {\r\n this._setOption('customizeItem', value);\r\n }\r\n\r\n\r\n /**\r\n * Specifies whether the UI component responds to user interaction.\r\n \r\n */\r\n @Input()\r\n get disabled(): boolean {\r\n return this._getOption('disabled');\r\n }\r\n set disabled(value: boolean) {\r\n this._setOption('disabled', value);\r\n }\r\n\r\n\r\n /**\r\n * Specifies the global attributes to be attached to the UI component's container element.\r\n \r\n */\r\n @Input()\r\n get elementAttr(): Record<string, any> {\r\n return this._getOption('elementAttr');\r\n }\r\n set elementAttr(value: Record<string, any>) {\r\n this._setOption('elementAttr', value);\r\n }\r\n\r\n\r\n /**\r\n * Specifies whether the UI component can be focused using keyboard navigation.\r\n \r\n */\r\n @Input()\r\n get focusStateEnabled(): boolean {\r\n return this._getOption('focusStateEnabled');\r\n }\r\n set focusStateEnabled(value: boolean) {\r\n this._setOption('focusStateEnabled', value);\r\n }\r\n\r\n\r\n /**\r\n * Provides the Form's data. Gets updated every time form fields change.\r\n \r\n */\r\n @Input()\r\n get formData(): any {\r\n return this._getOption('formData');\r\n }\r\n set formData(value: any) {\r\n this._setOption('formData', value);\r\n }\r\n\r\n\r\n /**\r\n * Specifies the UI component's height.\r\n \r\n */\r\n @Input()\r\n get height(): (() => number | string) | number | string | undefined {\r\n return this._getOption('height');\r\n }\r\n set height(value: (() => number | string) | number | string | undefined) {\r\n this._setOption('height', value);\r\n }\r\n\r\n\r\n /**\r\n * Specifies text for a hint that appears when a user pauses on the UI component.\r\n \r\n */\r\n @Input()\r\n get hint(): string | undefined {\r\n return this._getOption('hint');\r\n }\r\n set hint(value: string | undefined) {\r\n this._setOption('hint', value);\r\n }\r\n\r\n\r\n /**\r\n * Specifies whether the UI component changes its state when a user pauses on it.\r\n \r\n */\r\n @Input()\r\n get hoverStateEnabled(): boolean {\r\n return this._getOption('hoverStateEnabled');\r\n }\r\n set hoverStateEnabled(value: boolean) {\r\n this._setOption('hoverStateEnabled', value);\r\n }\r\n\r\n\r\n /**\r\n * Specifies whether current editor values differ from initial values.\r\n \r\n */\r\n @Input()\r\n get isDirty(): boolean {\r\n return this._getOption('isDirty');\r\n }\r\n set isDirty(value: boolean) {\r\n this._setOption('isDirty', value);\r\n }\r\n\r\n\r\n /**\r\n * Holds an array of form items.\r\n \r\n */\r\n @Input()\r\n get items(): Array<dxFormButtonItem | dxFormEmptyItem | dxFormGroupItem | dxFormSimpleItem | dxFormTabbedItem> {\r\n return this._getOption('items');\r\n }\r\n set items(value: Array<dxFormButtonItem | dxFormEmptyItem | dxFormGroupItem | dxFormSimpleItem | dxFormTabbedItem>) {\r\n this._setOption('items', value);\r\n }\r\n\r\n\r\n /**\r\n * Specifies the location of a label against the editor. Applies only to labels outside their editors (see labelMode).\r\n \r\n */\r\n @Input()\r\n get labelLocation(): LabelLocation {\r\n return this._getOption('labelLocation');\r\n }\r\n set labelLocation(value: LabelLocation) {\r\n this._setOption('labelLocation', value);\r\n }\r\n\r\n\r\n /**\r\n * Specifies a display mode for item labels.\r\n \r\n */\r\n @Input()\r\n get labelMode(): FormLabelMode {\r\n return this._getOption('labelMode');\r\n }\r\n set labelMode(value: FormLabelMode) {\r\n this._setOption('labelMode', value);\r\n }\r\n\r\n\r\n /**\r\n * The minimum column width used for calculating column count in the form layout. Applies only if colCount property is 'auto'.\r\n \r\n */\r\n @Input()\r\n get minColWidth(): number {\r\n return this._getOption('minColWidth');\r\n }\r\n set minColWidth(value: number) {\r\n this._setOption('minColWidth', value);\r\n }\r\n\r\n\r\n /**\r\n * The text displayed for optional fields. Applies only if showOptionalMark is true.\r\n \r\n */\r\n @Input()\r\n get optionalMark(): string {\r\n return this._getOption('optionalMark');\r\n }\r\n set optionalMark(value: string) {\r\n this._setOption('optionalMark', value);\r\n }\r\n\r\n\r\n /**\r\n * Specifies whether all editors on the form are read-only. Applies only to non-templated items.\r\n \r\n */\r\n @Input()\r\n get readOnly(): boolean {\r\n return this._getOption('readOnly');\r\n }\r\n set readOnly(value: boolean) {\r\n this._setOption('readOnly', value);\r\n }\r\n\r\n\r\n /**\r\n * The text displayed for required fields.\r\n \r\n */\r\n @Input()\r\n get requiredMark(): string {\r\n return this._getOption('requiredMark');\r\n }\r\n set requiredMark(value: string) {\r\n this._setOption('requiredMark', value);\r\n }\r\n\r\n\r\n /**\r\n * Specifies the message that is shown for end-users if a required field value is not specified.\r\n \r\n */\r\n @Input()\r\n get requiredMessage(): string {\r\n return this._getOption('requiredMessage');\r\n }\r\n set requiredMessage(value: string) {\r\n this._setOption('requiredMessage', value);\r\n }\r\n\r\n\r\n /**\r\n * Switches the UI component to a right-to-left representation.\r\n \r\n */\r\n @Input()\r\n get rtlEnabled(): boolean {\r\n return this._getOption('rtlEnabled');\r\n }\r\n set rtlEnabled(value: boolean) {\r\n this._setOption('rtlEnabled', value);\r\n }\r\n\r\n\r\n /**\r\n * Specifies a function that categorizes screens by their width.\r\n \r\n */\r\n @Input()\r\n get screenByWidth(): Function {\r\n return this._getOption('screenByWidth');\r\n }\r\n set screenByWidth(value: Function) {\r\n this._setOption('screenByWidth', value);\r\n }\r\n\r\n\r\n /**\r\n * A Boolean value specifying whether to enable or disable form scrolling.\r\n \r\n */\r\n @Input()\r\n get scrollingEnabled(): boolean {\r\n return this._getOption('scrollingEnabled');\r\n }\r\n set scrollingEnabled(value: boolean) {\r\n this._setOption('scrollingEnabled', value);\r\n }\r\n\r\n\r\n /**\r\n * Specifies whether a colon is displayed at the end of form labels. Applies only to labels outside their editors (see labelMode).\r\n \r\n */\r\n @Input()\r\n get showColonAfterLabel(): boolean {\r\n return this._getOption('showColonAfterLabel');\r\n }\r\n set showColonAfterLabel(value: boolean) {\r\n this._setOption('showColonAfterLabel', value);\r\n }\r\n\r\n\r\n /**\r\n * Specifies whether or not the optional mark is displayed for optional fields.\r\n \r\n */\r\n @Input()\r\n get showOptionalMark(): boolean {\r\n return this._getOption('showOptionalMark');\r\n }\r\n set showOptionalMark(value: boolean) {\r\n this._setOption('showOptionalMark', value);\r\n }\r\n\r\n\r\n /**\r\n * Specifies whether or not the required mark is displayed for required fields.\r\n \r\n */\r\n @Input()\r\n get showRequiredMark(): boolean {\r\n return this._getOption('showRequiredMark');\r\n }\r\n set showRequiredMark(value: boolean) {\r\n this._setOption('showRequiredMark', value);\r\n }\r\n\r\n\r\n /**\r\n * Specifies whether or not the total validation summary is displayed on the form.\r\n \r\n */\r\n @Input()\r\n get showValidationSummary(): boolean {\r\n return this._getOption('showValidationSummary');\r\n }\r\n set showValidationSummary(value: boolean) {\r\n this._setOption('showValidationSummary', value);\r\n }\r\n\r\n\r\n /**\r\n * Specifies the number of the element when the Tab key is used for navigating.\r\n \r\n */\r\n @Input()\r\n get tabIndex(): number {\r\n return this._getOption('tabIndex');\r\n }\r\n set tabIndex(value: number) {\r\n this._setOption('tabIndex', value);\r\n }\r\n\r\n\r\n /**\r\n * Gives a name to the internal validation group.\r\n \r\n */\r\n @Input()\r\n get validationGroup(): string | undefined {\r\n return this._getOption('validationGroup');\r\n }\r\n set validationGroup(value: string | undefined) {\r\n this._setOption('validationGroup', value);\r\n }\r\n\r\n\r\n /**\r\n * Specifies whether the UI component is visible.\r\n \r\n */\r\n @Input()\r\n get visible(): boolean {\r\n return this._getOption('visible');\r\n }\r\n set visible(value: boolean) {\r\n this._setOption('visible', value);\r\n }\r\n\r\n\r\n /**\r\n * Specifies the UI component's width.\r\n \r\n */\r\n @Input()\r\n get width(): (() => number | string) | number | string | undefined {\r\n return this._getOption('width');\r\n }\r\n set width(value: (() => number | string) | number | string | undefined) {\r\n this._setOption('width', value);\r\n }\r\n\r\n /**\r\n \r\n * A function that is executed when the UI component is rendered and each time the component is repainted.\r\n \r\n \r\n */\r\n @Output() onContentReady: EventEmitter<ContentReadyEvent>;\r\n\r\n /**\r\n \r\n * A function that is executed before the UI component is disposed of.\r\n \r\n \r\n */\r\n @Output() onDisposing: EventEmitter<DisposingEvent>;\r\n\r\n /**\r\n \r\n * A function that is executed when the Enter key has been pressed while an editor is focused.\r\n \r\n \r\n */\r\n @Output() onEditorEnterKey: EventEmitter<EditorEnterKeyEvent>;\r\n\r\n /**\r\n \r\n * A function that is executed when the value of a formData object field is changed.\r\n \r\n \r\n */\r\n @Output() onFieldDataChanged: EventEmitter<FieldDataChangedEvent>;\r\n\r\n /**\r\n \r\n * A function used in JavaScript frameworks to save the UI component instance.\r\n \r\n \r\n */\r\n @Output() onInitialized: EventEmitter<InitializedEvent>;\r\n\r\n /**\r\n \r\n * A function that is executed after a UI component property is changed.\r\n \r\n \r\n */\r\n @Output() onOptionChanged: EventEmitter<OptionChangedEvent>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() accessKeyChange: EventEmitter<string | undefined>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() activeStateEnabledChange: EventEmitter<boolean>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() alignItemLabelsChange: EventEmitter<boolean>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() alignItemLabelsInAllGroupsChange: EventEmitter<boolean>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() colCountChange: EventEmitter<Mode | number>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() colCountByScreenChange: EventEmitter<{ lg?: number | undefined, md?: number | undefined, sm?: number | undefined, xs?: number | undefined }>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() customizeItemChange: EventEmitter<((item: dxFormSimpleItem | dxFormGroupItem | dxFormTabbedItem | dxFormEmptyItem | dxFormButtonItem) => void)>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() disabledChange: EventEmitter<boolean>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() elementAttrChange: EventEmitter<Record<string, any>>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() focusStateEnabledChange: EventEmitter<boolean>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() formDataChange: EventEmitter<any>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() heightChange: EventEmitter<(() => number | string) | number | string | undefined>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() hintChange: EventEmitter<string | undefined>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() hoverStateEnabledChange: EventEmitter<boolean>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() isDirtyChange: EventEmitter<boolean>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() itemsChange: EventEmitter<Array<dxFormButtonItem | dxFormEmptyItem | dxFormGroupItem | dxFormSimpleItem | dxFormTabbedItem>>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() labelLocationChange: EventEmitter<LabelLocation>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() labelModeChange: EventEmitter<FormLabelMode>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() minColWidthChange: EventEmitter<number>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() optionalMarkChange: EventEmitter<string>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() readOnlyChange: EventEmitter<boolean>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() requiredMarkChange: EventEmitter<string>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() requiredMessageChange: EventEmitter<string>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() rtlEnabledChange: EventEmitter<boolean>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() screenByWidthChange: EventEmitter<Function>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() scrollingEnabledChange: EventEmitter<boolean>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() showColonAfterLabelChange: EventEmitter<boolean>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() showOptionalMarkChange: EventEmitter<boolean>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() showRequiredMarkChange: EventEmitter<boolean>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() showValidationSummaryChange: EventEmitter<boolean>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() tabIndexChange: EventEmitter<number>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() validationGroupChange: EventEmitter<string | undefined>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() visibleChange: EventEmitter<boolean>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() widthChange: EventEmitter<(() => number | string) | number | string | undefined>;\r\n\r\n\r\n\r\n\r\n @ContentChildren(DxiFormButtonItemComponent)\r\n get buttonItemsChildren(): QueryList<DxiFormButtonItemComponent> {\r\n return this._getOption('items');\r\n }\r\n set buttonItemsChildren(value) {\r\n this._setChildren('items', value, 'DxiFormButtonItemComponent');\r\n }\r\n\r\n @ContentChildren(DxiFormEmptyItemComponent)\r\n get emptyItemsChildren(): QueryList<DxiFormEmptyItemComponent> {\r\n return this._getOption('items');\r\n }\r\n set emptyItemsChildren(value) {\r\n this._setChildren('items', value, 'DxiFormEmptyItemComponent');\r\n }\r\n\r\n @ContentChildren(DxiFormGroupItemComponent)\r\n get groupItemsChildren(): QueryList<DxiFormGroupItemComponent> {\r\n return this._getOption('items');\r\n }\r\n set groupItemsChildren(value) {\r\n this._setChildren('items', value, 'DxiFormGroupItemComponent');\r\n }\r\n\r\n @ContentChildren(DxiFormItemComponent)\r\n get itemsChildren(): QueryList<DxiFormItemComponent> {\r\n return this._getOption('items');\r\n }\r\n set itemsChildren(value) {\r\n this._setChildren('items', value, 'DxiFormItemComponent');\r\n }\r\n\r\n @ContentChildren(DxiFormSimpleItemComponent)\r\n get simpleItemsChildren(): QueryList<DxiFormSimpleItemComponent> {\r\n return this._getOption('items');\r\n }\r\n set simpleItemsChildren(value) {\r\n this._setChildren('items', value, 'DxiFormSimpleItemComponent');\r\n }\r\n\r\n @ContentChildren(DxiFormTabbedItemComponent)\r\n get tabbedItemsChildren(): QueryList<DxiFormTabbedItemComponent> {\r\n return this._getOption('items');\r\n }\r\n set tabbedItemsChildren(value) {\r\n this._setChildren('items', value, 'DxiFormTabbedItemComponent');\r\n }\r\n\r\n\r\n @ContentChildren(DxiItemComponent)\r\n get itemsLegacyChildren(): QueryList<DxiItemComponent> {\r\n return this._getOption('items');\r\n }\r\n set itemsLegacyChildren(value) {\r\n this._setChildren('items', value, 'DxiItemComponent');\r\n }\r\n\r\n\r\n\r\n\r\n constructor(elementRef: ElementRef, ngZone: NgZone, templateHost: DxTemplateHost,\r\n private _watcherHelper: WatcherHelper,\r\n private _idh: IterableDifferHelper,\r\n optionHost: NestedOptionHost,\r\n transferState: TransferState,\r\n @Inject(PLATFORM_ID) platformId: any) {\r\n\r\n super(elementRef, ngZone, templateHost, _watcherHelper, transferState, platformId);\r\n\r\n this._createEventEmitters([\r\n { subscribe: 'contentReady', emit: 'onContentReady' },\r\n { subscribe: 'disposing', emit: 'onDisposing' },\r\n { subscribe: 'editorEnterKey', emit: 'onEditorEnterKey' },\r\n { subscribe: 'fieldDataChanged', emit: 'onFieldDataChanged' },\r\n { subscribe: 'initialized', emit: 'onInitialized' },\r\n { subscribe: 'optionChanged', emit: 'onOptionChanged' },\r\n { emit: 'accessKeyChange' },\r\n { emit: 'activeStateEnabledChange' },\r\n { emit: 'alignItemLabelsChange' },\r\n { emit: 'alignItemLabelsInAllGroupsChange' },\r\n { emit: 'colCountChange' },\r\n { emit: 'colCountByScreenChange' },\r\n { emit: 'customizeItemChange' },\r\n { emit: 'disabledChange' },\r\n { emit: 'elementAttrChange' },\r\n { emit: 'focusStateEnabledChange' },\r\n { emit: 'formDataChange' },\r\n { emit: 'heightChange' },\r\n { emit: 'hintChange' },\r\n { emit: 'hoverStateEnabledChange' },\r\n { emit: 'isDirtyChange' },\r\n { emit: 'itemsChange' },\r\n { emit: 'labelLocationChange' },\r\n { emit: 'labelModeChange' },\r\n { emit: 'minColWidthChange' },\r\n { emit: 'optionalMarkChange' },\r\n { emit: 'readOnlyChange' },\r\n { emit: 'requiredMarkChange' },\r\n { emit: 'requiredMessageChange' },\r\n { emit: 'rtlEnabledChange' },\r\n { emit: 'screenByWidthChange' },\r\n { emit: 'scrollingEnabledChange' },\r\n { emit: 'showColonAfterLabelChange' },\r\n { emit: 'showOptionalMarkChange' },\r\n { emit: 'showRequiredMarkChange' },\r\n { emit: 'showValidationSummaryChange' },\r\n { emit: 'tabIndexChange' },\r\n { emit: 'validationGroupChange' },\r\n { emit: 'visibleChange' },\r\n { emit: 'widthChange' }\r\n ]);\r\n\r\n this._idh.setHost(this);\r\n optionHost.setHost(this);\r\n }\r\n\r\n protected _createInstance(element, options) {\r\n\r\n return new DxForm(element, options);\r\n }\r\n\r\n\r\n ngOnDestroy() {\r\n this._destroyWidget();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n super.ngOnChanges(changes);\r\n this.setupChanges('items', changes);\r\n }\r\n\r\n setupChanges(prop: string, changes: SimpleChanges) {\r\n if (!(prop in this._optionsToUpdate)) {\r\n this._idh.setup(prop, changes);\r\n }\r\n }\r\n\r\n ngDoCheck() {\r\n this._idh.doCheck('items');\r\n this._watcherHelper.checkWatchers();\r\n super.ngDoCheck();\r\n super.clearChangedOptions();\r\n }\r\n\r\n _setOption(name: string, value: any) {\r\n let isSetup = this._idh.setupSingle(name, value);\r\n let isChanged = this._idh.getChanges(name, value) !== null;\r\n\r\n if (isSetup || isChanged) {\r\n super._setOption(name, value);\r\n }\r\n }\r\n}\r\n\r\n@NgModule({\r\n imports: [\r\n DxoColCountByScreenModule,\r\n DxiItemModule,\r\n DxoLabelModule,\r\n DxiValidationRuleModule,\r\n DxoTabPanelOptionsModule,\r\n DxiTabModule,\r\n DxoButtonOptionsModule,\r\n DxiFormAsyncRuleModule,\r\n DxiFormButtonItemModule,\r\n DxoFormButtonOptionsModule,\r\n DxoFormColCountByScreenModule,\r\n DxiFormCompareRuleModule,\r\n DxiFormCustomRuleModule,\r\n DxiFormEmailRuleModule,\r\n DxiFormEmptyItemModule,\r\n DxiFormGroupItemModule,\r\n DxiFormItemModule,\r\n DxoFormLabelModule,\r\n DxiFormNumericRuleModule,\r\n DxiFormPatternRuleModule,\r\n DxiFormRangeRuleModule,\r\n DxiFormRequiredRuleModule,\r\n DxiFormSimpleItemModule,\r\n DxiFormStringLengthRuleModule,\r\n DxiFormTabModule,\r\n DxiFormTabbedItemModule,\r\n DxoFormTabPanelOptionsModule,\r\n DxiFormTabPanelOptionsItemModule,\r\n DxiFormValidationRuleModule,\r\n DxIntegrationModule,\r\n DxTemplateModule\r\n ],\r\n declarations: [\r\n DxFormComponent\r\n ],\r\n exports: [\r\n DxFormComponent,\r\n DxoColCountByScreenModule,\r\n DxiItemModule,\r\n DxoLabelModule,\r\n DxiValidationRuleModule,\r\n DxoTabPanelOptionsModule,\r\n DxiTabModule,\r\n DxoButtonOptionsModule,\r\n DxiFormAsyncRuleModule,\r\n DxiFormButtonItemModule,\r\n DxoFormButtonOptionsModule,\r\n DxoFormColCountByScreenModule,\r\n DxiFormCompareRuleModule,\r\n DxiFormCustomRuleModule,\r\n DxiFormEmailRuleModule,\r\n DxiFormEmptyItemModule,\r\n DxiFormGroupItemModule,\r\n DxiFormItemModule,\r\n DxoFormLabelModule,\r\n DxiFormNumericRuleModule,\r\n DxiFormPatternRuleModule,\r\n DxiFormRangeRuleModule,\r\n DxiFormRequiredRuleModule,\r\n DxiFormSimpleItemModule,\r\n DxiFormStringLengthRuleModule,\r\n DxiFormTabModule,\r\n DxiFormTabbedItemModule,\r\n DxoFormTabPanelOptionsModule,\r\n DxiFormTabPanelOptionsItemModule,\r\n DxiFormValidationRuleModule,\r\n DxTemplateModule\r\n ]\r\n})\r\nexport class DxFormModule { }\r\n\r\nimport type * as DxFormTypes from \"devextreme/ui/form_types\";\r\nexport { DxFormTypes };\r\n\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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