Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 | 1x 1x 12x 1x 1x 12x 1x 1x 1x 2x 2x 1x 2x 1x 1x 1x 1x 1x 2x 1x 1x 1x 2x 1x 1x 1x | import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { ReactiveFormsModule } from '@angular/forms';
import { DynamicFormAction } from '../dynamic-form-action/dynamic-form-action';
import { DynamicFormActionHandler } from '../dynamic-form-action/dynamic-form-action-handler';
import { DynamicFormActionModule } from '../dynamic-form-action/dynamic-form-action.module';
import { DynamicFormConfigModule } from '../dynamic-form-config/dynamic-form-config.module';
import { DynamicFormElementModule } from '../dynamic-form-element/dynamic-form-element.module';
import { DynamicFormFieldType } from '../dynamic-form-field/dynamic-form-field-type';
import { DynamicFormFieldModule } from '../dynamic-form-field/dynamic-form-field.module';
import { dynamicFormLibrary } from '../dynamic-form-library/dynamic-form-library';
import { DynamicFormValidationModule } from '../dynamic-form-validation/dynamic-form-validation.module';
import { DynamicFormBuilder } from '../dynamic-form/dynamic-form.builder';
import { DynamicFormArray } from './dynamic-form-array';
import { dynamicFormArrayFactory } from './dynamic-form-array-factory';
import { dynamicFormArrayValidatorTypes } from './dynamic-form-array-validator-type';
import { DynamicFormArrayComponent } from './dynamic-form-array.component';
export const dynamicFormArrayType: DynamicFormFieldType = {
type: 'array',
factory: dynamicFormArrayFactory,
component: DynamicFormArrayComponent,
libraryName: dynamicFormLibrary.name,
};
export const dynamicFormArrayPushFieldHandlerFactory = (formBuilder: DynamicFormBuilder): DynamicFormActionHandler<DynamicFormArray> => {
const func = (field: DynamicFormArray) => {
const element = formBuilder.createFormArrayField(field, field.length);
return field.pushField(element);
};
return {
type: 'pushArrayField',
func,
libraryName: dynamicFormLibrary.name,
};
};
export const dynamicFormArrayPopField = (field: DynamicFormArray): void => field.popField();
export const dynamicFormArrayPopFieldHandler: DynamicFormActionHandler<DynamicFormArray> = {
type: 'popArrayField',
func: dynamicFormArrayPopField,
libraryName: dynamicFormLibrary.name,
};
export const getDynamicFormArray = (action: DynamicFormAction): DynamicFormArray => {
const field = action.parentField && action.parentField.parentField;
return field && field.fieldClassType === 'array' ? field as DynamicFormArray : undefined;
};
export const dynamicFormArrayRemoveField = (field: DynamicFormArray, action: DynamicFormAction): void => {
if (field && action.parentField && action.parentField.index >= 0) {
field.removeField(action.parentField.index);
}
};
export const dynamicFormArrayRemoveFieldHandler: DynamicFormActionHandler<DynamicFormArray> = {
type: 'removeArrayField',
elementFunc: getDynamicFormArray,
func: dynamicFormArrayRemoveField,
libraryName: dynamicFormLibrary.name,
};
export const dynamicFormArrayClearFields = (field: DynamicFormArray): void => field.clearFields();
export const dynamicFormArrayClearFieldsHandler: DynamicFormActionHandler<DynamicFormArray> = {
type: 'clearArrayFields',
func: dynamicFormArrayClearFields,
libraryName: dynamicFormLibrary.name,
};
export const dynamicFormArrayMoveFieldDown = (field: DynamicFormArray, action: DynamicFormAction): void => {
if (field && action.parentField && action.parentField.index >= 0) {
field.moveFieldDown(action.parentField.index);
}
};
export const dynamicFormArrayMoveFieldDownHandler: DynamicFormActionHandler<DynamicFormArray> = {
type: 'moveArrayFieldDown',
elementFunc: getDynamicFormArray,
func: dynamicFormArrayMoveFieldDown,
libraryName: dynamicFormLibrary.name,
};
export const dynamicFormArrayMoveFieldUp = (field: DynamicFormArray, action: DynamicFormAction): void => {
if (field && action.parentField && action.parentField.index >= 0) {
field.moveFieldUp(action.parentField.index);
}
};
export const dynamicFormArrayMoveFieldUpHandler: DynamicFormActionHandler<DynamicFormArray> = {
type: 'moveArrayFieldUp',
elementFunc: getDynamicFormArray,
func: dynamicFormArrayMoveFieldUp,
libraryName: dynamicFormLibrary.name,
};
@NgModule({
imports: [
CommonModule,
ReactiveFormsModule,
DynamicFormElementModule,
DynamicFormFieldModule,
DynamicFormConfigModule.withField(dynamicFormArrayType),
DynamicFormValidationModule.withArrayValidators(dynamicFormArrayValidatorTypes),
DynamicFormActionModule.withHandlerFactory(dynamicFormArrayPushFieldHandlerFactory, [ DynamicFormBuilder ]),
DynamicFormActionModule.withHandlers([
dynamicFormArrayPopFieldHandler,
dynamicFormArrayRemoveFieldHandler,
dynamicFormArrayClearFieldsHandler,
dynamicFormArrayMoveFieldDownHandler,
dynamicFormArrayMoveFieldUpHandler,
]),
],
declarations: [
DynamicFormArrayComponent,
],
exports: [
DynamicFormConfigModule,
DynamicFormActionModule,
DynamicFormArrayComponent,
],
})
export class DynamicFormArrayModule {}
|