ngx-surveys
Version:
Angular 18+ survey / form builder
103 lines (102 loc) • 4.81 kB
TypeScript
import { OnInit, OnDestroy, ComponentFactoryResolver, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
import { FormItemDirective } from './form-item.directive';
import { FormItem, FormItemOptionItem } from './form-item';
import { FormItemString, FormItemStringComponent } from './form-item-string/form-item-string.component';
import { FormItemRating, FormItemRatingComponent } from './form-item-rating/form-item-rating.component';
import { FormItemText, FormItemTextComponent } from './form-item-text/form-item-text.component';
import { FormItemDate, FormItemDateComponent } from './form-item-date/form-item-date.component';
import { FormItemSegments, FormItemSegmentsComponent } from './form-item-segments/form-item-segments.component';
import { FormItemRadio, FormItemRadioComponent } from './form-item-radio/form-item-radio.component';
import { FormItemNumericRating, FormItemNumericRatingComponent } from './form-item-numeric-rating/form-item-numeric-rating.component';
import { FormItemSelect, FormItemSelectComponent } from './form-item-select/form-item-select.component';
import { FormItemOptionsEditor, FormItemOptionsEditorComponent } from './form-item-options-editor/form-item-options-editor.component';
import { FormItemCheckbox, FormItemCheckboxComponent } from './form-item-checkbox/form-item-checkbox.component';
import { FormItemFile, FormItemFileComponent } from './form-item-file/form-item-file.component';
import { FormItemVoice, FormItemVoiceComponent } from './form-item-voice/form-item-voice.component';
import { FormItemLabel, FormItemLabelComponent } from './form-item-label/form-item-label.component';
import * as i0 from "@angular/core";
export declare const FormItemTypes: {
label: {
component: typeof FormItemLabelComponent;
model: typeof FormItemLabel;
label: string;
};
string: {
component: typeof FormItemStringComponent;
model: typeof FormItemString;
label: string;
};
text: {
component: typeof FormItemTextComponent;
model: typeof FormItemText;
label: string;
};
rating: {
component: typeof FormItemRatingComponent;
model: typeof FormItemRating;
label: string;
};
numericRating: {
component: typeof FormItemNumericRatingComponent;
model: typeof FormItemNumericRating;
label: string;
};
segments: {
component: typeof FormItemSegmentsComponent;
model: typeof FormItemSegments;
label: string;
};
radio: {
component: typeof FormItemRadioComponent;
model: typeof FormItemRadio;
label: string;
};
select: {
component: typeof FormItemSelectComponent;
model: typeof FormItemSelect;
};
optionsEditor: {
component: typeof FormItemOptionsEditorComponent;
model: typeof FormItemOptionsEditor;
};
checkbox: {
component: typeof FormItemCheckboxComponent;
model: typeof FormItemCheckbox;
label: string;
};
date: {
component: typeof FormItemDateComponent;
model: typeof FormItemDate;
label: string;
};
file: {
component: typeof FormItemFileComponent;
model: typeof FormItemFile;
label: string;
};
voice: {
component: typeof FormItemVoiceComponent;
model: typeof FormItemVoice;
label: string;
};
};
export declare function buildOption(optionValue: string, label: string): FormItemOptionItem;
export declare function buildField(type: string, data: any, required?: boolean): FormItem;
export declare class FormItemComponent implements OnInit, OnDestroy, OnChanges {
private componentFactoryResolver;
type: string;
item: FormItem | FormItemString | FormItemRating | FormItemText | FormItemDate | FormItemSegments | FormItemRadio | FormItemNumericRating | FormItemSelect | FormItemOptionsEditor | FormItemCheckbox | FormItemFile | FormItemLabel;
editable: boolean;
isMobile: boolean;
id: string;
changes: EventEmitter<any>;
itemHost: FormItemDirective;
private subscription;
constructor(componentFactoryResolver: ComponentFactoryResolver);
ngOnInit(): void;
ngOnChanges(changes: SimpleChanges): void;
ngOnDestroy(): void;
loadComponent(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<FormItemComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<FormItemComponent, "ngx-survey-form-item", never, { "type": { "alias": "type"; "required": false; }; "item": { "alias": "item"; "required": false; }; "editable": { "alias": "editable"; "required": false; }; "isMobile": { "alias": "isMobile"; "required": false; }; "id": { "alias": "id"; "required": false; }; }, { "changes": "changes"; }, never, never, false, never>;
}