@rangertechnologies/ngnxt
Version:
This library was used for creating dymanic UI based on the input JSON/data
208 lines (207 loc) • 10.5 kB
TypeScript
import { EventEmitter, QueryList, ElementRef, SimpleChanges, AfterViewInit, Renderer2, ChangeDetectorRef, NgZone } from '@angular/core';
import { AbstractControl, FormArray, FormControl, ValidationErrors, ValidatorFn } from '@angular/forms';
import { Subscription } from 'rxjs';
import { QuillModules } from 'ngx-quill';
import { ChangeService } from '../../services/change/change.service';
import { DataService } from '../../services/data/data.service';
import { TranslationService } from '../../services/translation/translation.service';
import { NxtDatePipe } from '../../pipe/NxtDate.pipe';
import { StorageService } from '../../services/storage/storage.service';
import { CountryService } from '../../services/country/country.service';
import { GoogleMapsLoaderService } from '../../services/GoogleMapsLoaderService/google-maps-loader-service.service';
import * as i0 from "@angular/core";
export declare class NxtInput implements AfterViewInit {
#private;
private nxtDatePipe;
private mapsLoader;
private cdr;
private ngZone;
private countryService;
private storageService;
private translationService;
private renderer;
private elRef;
private elementRef;
private changeService;
private dataService;
label: string;
labelFont: string;
labelWeight: string;
inputWeight: string;
labelSize: string;
inputValueSize: string;
textAlign: string;
labelColor: string;
showLabel: boolean;
svgHeight: string;
svgWidth: string;
type: string;
inputIconRightSrc: string;
inputIconLeftSrc: string;
required: boolean;
minLength?: number;
pattern?: any;
errorMessages: {
[key: string]: string;
};
maxLength: number;
placeholder: string;
inputBgColor: string;
inputBorder: string;
placeholderColor: string;
placeholderFont: string;
placeholderWeight: string;
placeholderSize: string;
inputTextColor: string;
inputHeight: string;
inputWidth: string;
inputId: string;
inputBorderSize: string;
inputConfig: any;
confPassVal: any;
confPass: boolean;
mode: 'view' | 'edit' | 'print';
value: any;
question: any;
showSuggestion: boolean;
ariaOwns?: string;
ariaHasPopup?: string;
isLoading: boolean;
options: any[];
minDate: any;
maxDate: any;
rows: number;
from: any;
selectedOption: any;
apiMeta: any;
direction: any;
currency: any;
helpText: any;
apiKey: any;
readOnly: boolean;
padding: any;
margin: any;
onlyView: boolean;
set size(size: number);
valueChange: EventEmitter<string>;
inputValue: EventEmitter<any>;
selectEmit: EventEmitter<any>;
onBlur: EventEmitter<any>;
onFocus: EventEmitter<any>;
toggleEmit: EventEmitter<any>;
removeValueEmit: EventEmitter<any>;
inputEls: QueryList<ElementRef<HTMLInputElement>>;
inputRef: ElementRef;
inputs: FormArray<any>;
control: FormControl;
isPasswordVisible: boolean;
countryCode: string;
countries: ({
name: string;
flag: string;
code: string;
dial_code: string;
regex: string;
placeholder: string;
example?: undefined;
format?: undefined;
} | {
name: string;
flag: string;
code: string;
dial_code: string;
regex: string;
placeholder: string;
example: string;
format?: undefined;
} | {
name: string;
code: string;
dial_code: string;
regex: string;
placeholder: string;
format: string;
flag: string;
example?: undefined;
})[];
filteredCountries: any;
selectedCountry: any;
showCountryDropdown: boolean;
countrySearch: string;
subscription: Subscription;
viewEdit: boolean;
originalValue: any;
private lastClickTime;
cachedInputList: any[];
showHijriPicker: boolean;
dateFormatName: any;
rawInputVal: any;
languageCode: any;
currencyOptions: any;
currentCurrency: any;
showModal: boolean;
private geoCoder;
markerOptions: any;
markerPosition: {
lat: number;
lng: number;
};
private googleMapsPromise;
private destroy$;
private removeDocClick?;
private timers;
constructor(nxtDatePipe: NxtDatePipe, mapsLoader: GoogleMapsLoaderService, cdr: ChangeDetectorRef, ngZone: NgZone, countryService: CountryService, storageService: StorageService, translationService: TranslationService, renderer: Renderer2, elRef: ElementRef, elementRef: ElementRef, changeService: ChangeService, dataService: DataService);
ngAfterViewInit(): void;
ngOnChanges(changes: SimpleChanges): void;
ngOnInit(): void;
ngOnDestroy(): void;
private updateInputList;
getQuillModules(questionId: string): QuillModules;
private setupValidators;
closeDropdown(event: Event): void;
onClickOutside(event: Event): void;
onChange: (value: string) => void;
onTouched: () => void;
registerOnTouched(fn: any): void;
onInputChange(event: any): void;
togglePasswordVisibility(): void;
passwordMatchValidator(): ValidatorFn;
getErrorMessage(): string;
writeValue(value: any, from?: any): void;
registerOnChange(fn: any): void;
setDisabledState(isDisabled: boolean): void;
private updateControlState;
validate(control: AbstractControl<string, string>): ValidationErrors | null;
handleKeyDown(e: KeyboardEvent, idx: number): void;
handleInput(): void;
handleKeyPress(e: KeyboardEvent, idx: number): boolean;
handlePaste(e: ClipboardEvent, idx: number): void;
handleFocus(e: FocusEvent): void;
toggleCountryDropdown(): void;
filterCountries(event: any): void;
selectCountry(country: any): void;
removeDialCodeFromRegex(originalRegex: string, dialCode: string): string;
removeDialCode(placeholder: string): string;
blurEmit(): void;
focusinEmit(event: any): void;
toggle(event: any): void;
onEditorFocusOut(): void;
viewEditClick(ques: any): void;
saveChanges: (event?: CustomEvent) => void;
discardChanges: (event?: CustomEvent) => void;
openDatePicker(type: string): void;
removeValue(): void;
onHijriInputClick(): void;
private searchFromApi;
initAutocomplete(): void;
openMap(): void;
closeModal(): void;
private setCurrentLocation;
getAddress(latitude: number, longitude: number): void;
onMapClick(event: google.maps.MapMouseEvent): void;
onMarkerDragEnd(event: google.maps.MapMouseEvent): void;
loadGoogleMaps(): Promise<void>;
allowNumberDecimal(event: KeyboardEvent): void;
static ɵfac: i0.ɵɵFactoryDeclaration<NxtInput, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<NxtInput, "nxt-input", never, { "label": { "alias": "label"; "required": false; }; "labelFont": { "alias": "labelFont"; "required": false; }; "labelWeight": { "alias": "labelWeight"; "required": false; }; "inputWeight": { "alias": "inputWeight"; "required": false; }; "labelSize": { "alias": "labelSize"; "required": false; }; "inputValueSize": { "alias": "inputValueSize"; "required": false; }; "textAlign": { "alias": "textAlign"; "required": false; }; "labelColor": { "alias": "labelColor"; "required": false; }; "showLabel": { "alias": "showLabel"; "required": false; }; "svgHeight": { "alias": "svgHeight"; "required": false; }; "svgWidth": { "alias": "svgWidth"; "required": false; }; "type": { "alias": "type"; "required": false; }; "inputIconRightSrc": { "alias": "inputIconRightSrc"; "required": false; }; "inputIconLeftSrc": { "alias": "inputIconLeftSrc"; "required": false; }; "required": { "alias": "required"; "required": false; }; "minLength": { "alias": "minLength"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "errorMessages": { "alias": "errorMessages"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "inputBgColor": { "alias": "inputBgColor"; "required": false; }; "inputBorder": { "alias": "inputBorder"; "required": false; }; "placeholderColor": { "alias": "placeholderColor"; "required": false; }; "placeholderFont": { "alias": "placeholderFont"; "required": false; }; "placeholderWeight": { "alias": "placeholderWeight"; "required": false; }; "placeholderSize": { "alias": "placeholderSize"; "required": false; }; "inputTextColor": { "alias": "inputTextColor"; "required": false; }; "inputHeight": { "alias": "inputHeight"; "required": false; }; "inputWidth": { "alias": "inputWidth"; "required": false; }; "inputId": { "alias": "inputId"; "required": false; }; "inputBorderSize": { "alias": "inputBorderSize"; "required": false; }; "inputConfig": { "alias": "inputConfig"; "required": false; }; "confPassVal": { "alias": "confPassVal"; "required": false; }; "confPass": { "alias": "confPass"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "value": { "alias": "value"; "required": false; }; "question": { "alias": "question"; "required": false; }; "showSuggestion": { "alias": "showSuggestion"; "required": false; }; "ariaOwns": { "alias": "ariaOwns"; "required": false; }; "ariaHasPopup": { "alias": "ariaHasPopup"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "options": { "alias": "options"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "from": { "alias": "from"; "required": false; }; "selectedOption": { "alias": "selectedOption"; "required": false; }; "apiMeta": { "alias": "apiMeta"; "required": false; }; "direction": { "alias": "direction"; "required": false; }; "currency": { "alias": "currency"; "required": false; }; "helpText": { "alias": "helpText"; "required": false; }; "apiKey": { "alias": "apiKey"; "required": false; }; "readOnly": { "alias": "readOnly"; "required": false; }; "padding": { "alias": "padding"; "required": false; }; "margin": { "alias": "margin"; "required": false; }; "onlyView": { "alias": "onlyView"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "valueChange": "valueChange"; "inputValue": "inputValue"; "selectEmit": "selectEmit"; "onBlur": "onBlur"; "onFocus": "onFocus"; "toggleEmit": "toggleEmit"; "removeValueEmit": "removeValueEmit"; }, never, never, true, never>;
}