@pepperi-addons/ngx-lib 0.5.0-ng16.5 → 0.5.0-ng16.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/checkbox/checkbox.module.d.ts +5 -4
- package/chips/chips.module.d.ts +6 -5
- package/esm2022/checkbox/checkbox.module.mjs +8 -1
- package/esm2022/chips/chips.module.mjs +8 -1
- package/esm2022/date/date.component.mjs +3 -1
- package/esm2022/files-uploader/files-uploader.module.mjs +8 -1
- package/esm2022/form/form.module.mjs +8 -1
- package/esm2022/image/image.module.mjs +8 -1
- package/esm2022/link/link.module.mjs +8 -1
- package/esm2022/list/virtual-scroller.mjs +13 -6
- package/esm2022/profile-data-views-list/profile-data-views-list.module.mjs +8 -1
- package/esm2022/quantity-selector/quantity-selector.component.mjs +1 -1
- package/esm2022/quantity-selector/quantity-selector.module.mjs +8 -1
- package/esm2022/select/select.module.mjs +8 -1
- package/esm2022/textbox/textbox.module.mjs +8 -1
- package/fesm2022/pepperi-addons-ngx-lib-checkbox.mjs +8 -1
- package/fesm2022/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-chips.mjs +8 -1
- package/fesm2022/pepperi-addons-ngx-lib-chips.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-date.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-files-uploader.mjs +8 -1
- package/fesm2022/pepperi-addons-ngx-lib-files-uploader.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-form.mjs +8 -1
- package/fesm2022/pepperi-addons-ngx-lib-form.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-image.mjs +8 -1
- package/fesm2022/pepperi-addons-ngx-lib-image.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-link.mjs +8 -1
- package/fesm2022/pepperi-addons-ngx-lib-link.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-profile-data-views-list.mjs +7 -0
- package/fesm2022/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-quantity-selector.mjs +9 -2
- package/fesm2022/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-select.mjs +8 -1
- package/fesm2022/pepperi-addons-ngx-lib-select.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-textbox.mjs +8 -1
- package/fesm2022/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
- package/files-uploader/files-uploader.module.d.ts +6 -5
- package/form/form.module.d.ts +25 -24
- package/image/image.module.d.ts +7 -6
- package/link/link.module.d.ts +6 -5
- package/list/virtual-scroller.d.ts +1 -2
- package/package.json +1 -1
- package/profile-data-views-list/profile-data-views-list.module.d.ts +9 -8
- package/quantity-selector/quantity-selector.module.d.ts +5 -4
- package/select/select.module.d.ts +5 -4
- package/src/core/style/themes/black-theme.scss +9 -1
- package/src/core/style/themes/default-theme.scss +9 -1
- package/src/core/style/themes/light-theme.scss +9 -1
- package/src/core/style/themes/nature-theme.scss +9 -1
- package/textbox/textbox.module.d.ts +6 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pepperi-addons-ngx-lib-textbox.mjs","sources":["../../../projects/ngx-lib/textbox/textbox-validation.directive.ts","../../../projects/ngx-lib/textbox/textbox.component.ts","../../../projects/ngx-lib/textbox/textbox.component.html","../../../projects/ngx-lib/textbox/textbox.module.ts","../../../projects/ngx-lib/textbox/public-api.ts","../../../projects/ngx-lib/textbox/pepperi-addons-ngx-lib-textbox.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n HostListener,\n Input,\n OnInit,\n} from '@angular/core';\nimport {\n PepTextboxFieldType,\n PepUtilitiesService,\n PepValidatorService,\n} from '@pepperi-addons/ngx-lib';\n\n@Directive({\n selector: '[pepTextboxValidation]',\n})\nexport class PepTextboxValidationDirective implements OnInit {\n @Input() type: PepTextboxFieldType = 'text';\n\n previousValue = '';\n\n constructor(\n private hostElement: ElementRef,\n private utilitiesService: PepUtilitiesService,\n private validatorService: PepValidatorService\n ) {}\n\n ngOnInit() {\n //\n }\n\n private isNumber(): boolean {\n return this.isInteger() || this.isDecimal();\n }\n\n private isInteger(): boolean {\n return this.type === 'int';\n }\n\n private isDecimal(): boolean {\n return (\n this.type === 'currency' ||\n this.type === 'percentage' ||\n this.type === 'real'\n );\n }\n\n private isPhone(): boolean {\n return this.type === 'phone';\n }\n\n private isText(): boolean {\n return (\n this.type === 'email' ||\n this.type === 'link' ||\n this.type === 'text'\n );\n }\n\n @HostListener('change', ['$event'])\n onChange(e) {\n this.validateValue(this.hostElement.nativeElement.value);\n }\n\n @HostListener('keydown', ['$event'])\n onKeyDown(e: KeyboardEvent) {\n const originalValue: string = e.target['value'];\n\n if (this.isNumber()) {\n // save value before keydown event\n this.previousValue = originalValue;\n const isNumber = this.validatorService.isNumber(\n e,\n this.isDecimal()\n );\n\n if (isNumber) return;\n else e.preventDefault();\n } else if (this.isPhone()) {\n const isPhone = this.validatorService.isPhone(e);\n if (isPhone) return;\n else e.preventDefault();\n }\n }\n\n validateValue(value: string): void {\n console.log(`validateValue start value is - ${value}`)\n if (this.isNumber()) {\n const newValue = this.validatorService.validateNumber(\n value,\n this.isDecimal()\n );\n console.log(`after validateNumber newValue is - ${newValue}`)\n // Always set to the value input number with '.' decomal separator.\n this.hostElement.nativeElement['value'] = newValue ? this.utilitiesService.changeDecimalSeparatorWhenItsComma(newValue) : '';\n } else if (this.isPhone()) {\n // test phone with regular expression, when\n // phone is invalid, replace it with the previousValue\n const valid = this.validatorService.validatePhone(value);\n this.hostElement.nativeElement['value'] = valid\n ? value\n : this.previousValue;\n } else if (this.isText()) {\n this.hostElement.nativeElement['value'] = value;\n }\n }\n}\n","import {\n Component,\n OnInit,\n OnChanges,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n ElementRef,\n ViewChild,\n Renderer2,\n OnDestroy,\n ChangeDetectorRef,\n HostBinding,\n AfterViewInit,\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n PepLayoutType,\n PepCustomizationService,\n PepHorizontalAlignment,\n DEFAULT_HORIZONTAL_ALIGNMENT,\n PepTextboxFieldType,\n PepTextboxField,\n PepFieldBase,\n PepUtilitiesService,\n PepToNumberPipe,\n} from '@pepperi-addons/ngx-lib';\nimport { FormControl, FormGroupDirective, NgForm, Validators } from '@angular/forms';\nimport { ErrorStateMatcher } from '@angular/material/core';\nimport { BehaviorSubject, distinctUntilChanged, Observable } from 'rxjs';\nimport { coerceNumberProperty } from '@angular/cdk/coercion';\n\n// Not in use - I don't know why we need this???\n// /** error when invalid control is dirty or touched */\n// export class TextErrorStateMatcher implements ErrorStateMatcher {\n// isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\n// const validateOnDirty = form?.form?.controls?.['validateOnDirty']?.value;\n// return !!(validateOnDirty && control && control.invalid && (control.dirty || control.touched));\n// }\n// }\n\n/**\n * This is a text box input component that can be use to\n *\n * @export\n * @class PepTextboxComponent\n * @implements {OnChanges}\n * @implements {OnInit}\n * @implements {OnDestroy}\n */\n@Component({\n selector: 'pep-textbox',\n templateUrl: './textbox.component.html',\n styleUrls: ['./textbox.component.scss', './textbox.component.theme.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepTextboxComponent implements OnChanges, OnInit, AfterViewInit, OnDestroy {\n @HostBinding('attr.data-qa') dataQa = '';\n\n private _key = '';\n /**\n * The text box key\n *\n * @memberof PepTextboxComponent\n */\n @Input()\n set key(value) {\n this._key = value;\n this.dataQa = value;\n }\n get key(): string {\n return this._key;\n }\n\n private _value = '';\n /**\n * The value of the text box.\n *\n * @memberof PepTextboxComponent\n */\n @Input()\n set value(value: string) {\n if (!value) {\n value = '';\n } \n // else {\n // // If this is a number validate it.\n // if (this.isNumberType()) {\n // value = coerceNumberProperty(value, 0).toString();\n // }\n // }\n\n if (this.isDifferentValue(value)) {\n // console.log(`set value, value is - ${value}`)\n this._value = value;\n }\n\n this.setFormattedValue(this.value);\n this.changeDisplayValue();\n }\n get value(): string {\n return this._value;\n }\n\n get valueAsCurrentCulture(): string {\n return this.utilitiesService.changeDecimalSeparatorWhenItsComma(this.value, true);\n // let res = this.value;\n\n // if (this.isDecimal()) {\n // res = this.utilitiesService.formatDecimal(this.value, this.minFractionDigits, this.maxFractionDigits, false);\n // }\n \n // return res;\n }\n\n protected formattedValue = '';\n // private _formattedValue = '';\n // /**\n // * The formatted value.\n // *\n // * @memberof PepTextboxComponent\n // */\n // @Input()\n // set formattedValue(value: string) {\n // // Do nothing.\n // // if (!value) {\n // // value = '';\n // // }\n\n // // if (this._calculateFormattedValue) {\n // // this._calculateFormattedValue = false;\n // // }\n\n // // this.setFormattedValue(value);\n // }\n // get formattedValue(): string {\n // return this._formattedValue;\n // }\n\n private _minFractionDigits = NaN;\n @Input()\n set minFractionDigits(value: number) {\n this._minFractionDigits = value;\n this.setFormattedValue(this.value);\n this.changeDisplayValue();\n }\n get minFractionDigits(): number {\n return this._minFractionDigits;\n }\n\n private _maxFractionDigits = NaN;\n @Input()\n set maxFractionDigits(value: number) {\n this._maxFractionDigits = value;\n this.setFormattedValue(this.value);\n this.changeDisplayValue();\n }\n get maxFractionDigits(): number {\n return this._maxFractionDigits;\n }\n\n /**\n * The accessory sign.\n *\n * @memberof PepTextboxComponent\n */\n @Input() accessory = '';\n\n /**\n * The title of the textbox.\n *\n * @memberof PepTextboxComponent\n */\n @Input() label = '';\n\n /**\n * The placeholder (relevant only for children - if parent isn't null).\n *\n * @memberof PepTextboxComponent\n */\n @Input() placeholder = '';\n\n /**\n * The type of the textbox.\n *\n * @type {PepTextboxFieldType}\n * @memberof PepTextboxComponent\n */\n private _type: PepTextboxFieldType = 'text';\n @Input()\n set type(value: PepTextboxFieldType) {\n this._type = value;\n\n if (this.value) {\n this.setFormattedValue(this.value);\n this.changeDisplayValue();\n this.setInputModeAttribute();\n }\n }\n get type(): PepTextboxFieldType {\n return this._type;\n }\n\n private inputMode = 'text';\n\n /**\n * If the textbox is mandatory\n *\n * @memberof PepTextboxComponent\n */\n private _mandatory = false;\n @Input()\n set mandatory(value: boolean) {\n this._mandatory = value;\n }\n get mandatory(): boolean {\n return this._mandatory;\n }\n\n // TODO: Check if should remove disabled and keep only readonly.\n /**\n * If the textbox is disabled.\n *\n * @memberof PepTextboxComponent\n */\n @Input() disabled = false;\n\n /**\n * If the textbox is readonly\n *\n * @memberof PepTextboxComponent\n */\n @Input() readonly = false;\n @Input() maxFieldCharacters: number;\n @Input() hint: string;\n @Input() textColor = '';\n @Input() xAlignment: PepHorizontalAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;\n @Input() rowSpan = 1;\n // @Input() lastFocusField: any;\n @Input() minValue = NaN;\n @Input() maxValue = NaN;\n\n private _visible = true;\n @Input()\n set visible(visible: boolean) {\n this._visible = visible;\n if (visible) {\n this.renderer.removeClass(\n this.element.nativeElement,\n 'hidden-element'\n );\n } else {\n this.renderer.addClass(\n this.element.nativeElement,\n 'hidden-element'\n );\n }\n }\n get visible(): boolean {\n return this._visible;\n }\n\n @Input() form: FormGroup = null;\n @Input() isActive = false;\n @Input() showTitle = true;\n @Input() renderTitle = true;\n @Input() renderError = true;\n @Input() renderSymbol = true;\n @Input() layoutType: PepLayoutType = 'form';\n @Input() parentFieldKey: string = null;\n @Input() regex: string | RegExp = null;\n @Input() regexError = '';\n\n /**\n * The value change event.\n *\n * @type {EventEmitter<string>}\n * @memberof PepTextboxComponent\n */\n @Output()\n valueChange: EventEmitter<string> = new EventEmitter<string>();\n\n @Output()\n keyup: EventEmitter<any> = new EventEmitter<any>();\n\n // @Output()\n // formValidationChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n @Output()\n validationChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n @ViewChild('input') input: ElementRef;\n\n private _calculateFormattedValue = true;\n get calculateFormattedValue(): boolean {\n return this._calculateFormattedValue;\n }\n\n controlType = 'textbox';\n\n standAlone = false;\n isInEditMode = false;\n \n private _isInFocus = false;\n @Input()\n set isInFocus(isInFocus: boolean) {\n this._isInFocus = isInFocus;\n this.setFormattedValue(this.value);\n this.changeDisplayValue();\n }\n get isInFocus(): boolean {\n return this._isInFocus;\n }\n\n\n // matcher = new TextErrorStateMatcher();\n\n // protected displayValue$: \n private _displayValueSubject: BehaviorSubject<string> = new BehaviorSubject<string>('');\n get displayValue$(): Observable<string> {\n return this._displayValueSubject.asObservable().pipe(distinctUntilChanged());\n }\n\n constructor(\n private customizationService: PepCustomizationService,\n private renderer: Renderer2,\n private element: ElementRef,\n private translate: TranslateService,\n private utilitiesService: PepUtilitiesService\n ) {\n this.isInFocus = false;\n }\n\n private setInputModeAttribute() {\n \n if (this.type === 'currency' || this.type === 'percentage' || this.type === 'real') {\n this.inputMode = 'decimal';\n } else if (this.type === 'int') {\n this.inputMode = 'numeric';\n } else if (this.type === 'phone') {\n this.inputMode = 'tel';\n } else if (this.type === 'email') {\n this.inputMode = 'email';\n } else {\n this.inputMode = 'text';\n }\n\n if (this.input) {\n this.renderer.setAttribute(\n this.input.nativeElement,\n 'inputmode',\n this.inputMode \n );\n }\n }\n\n private notifyDisplayValueChange(value: string) {\n this._displayValueSubject.next(value);\n }\n\n private setFormattedValue(value: string) {\n if (this.isInFocus) {\n return;\n }\n\n if (this._calculateFormattedValue && this.value?.length > 0) {\n // console.log(`setFormattedValue before - value is ${value}`);\n if (this.type === 'currency') {\n this.formattedValue = this.utilitiesService.formatCurrency(value, this.accessory, this.minFractionDigits, this.maxFractionDigits);\n } else if (this.type === 'percentage') {\n this.formattedValue = this.utilitiesService.formatPercent(value, this.minFractionDigits, this.maxFractionDigits);\n } else if (this.type === 'real') {\n this.formattedValue = this.utilitiesService.formatDecimal(value, this.minFractionDigits, this.maxFractionDigits);\n } else if (this.type === 'int') {\n this.formattedValue = this.utilitiesService.formatNumber(value);\n } else if (this.type === 'duration') {\n this.formattedValue = this.utilitiesService.formatDuration(value, { duration: 'seconds' });\n } else {\n this.formattedValue = value;\n }\n } else {\n this.formattedValue = value;\n }\n\n // console.log(`setFormattedValue after - value is ${this.formattedValue}`);\n\n this.updateFormFieldValue();\n }\n\n private updateFormFieldValue(firstLoad = false) {\n // Set the formatted value only for the first load cause it's not formatted if we set the value (I don't know why)\n // Else we set the value - this is important to set the value only cause setting the formatted value will cause bug when the number is with thousand separator\n this.customizationService.updateFormFieldValue(\n this.form,\n this.key,\n this.value || this.formattedValue,\n this.parentFieldKey\n );\n\n // Raise this only for stand alone fields, If false then the usage for this field is inside a form. \n // Then the form will take care of raising the (onFormValidationChanged) event\n if (this.standAlone) {\n const isValid = (this.disabled || this.readonly) ? true : this.form.valid; \n this.validationChange.emit(isValid);\n }\n }\n\n private changeDisplayValue(): void {\n let res = '';\n\n if (this.type == 'link') {\n res = this.formattedValue;\n } else if (this.isDecimal()) {\n res = this.isInFocus ? this.valueAsCurrentCulture : this.formattedValue;\n } else if (this.isNumberType()) {\n res = this.isInFocus ? this.value : this.formattedValue;\n } else {\n res = this.isInFocus ? this.value : this.formattedValue;\n }\n\n this.notifyDisplayValueChange(res);\n // console.log('changeDisplayValue ' + res);\n }\n\n private setDefaultForm(): void {\n const pepField = new PepTextboxField({\n key: this.key,\n value: this.valueAsCurrentCulture,\n mandatory: this.mandatory,\n readonly: this.readonly,\n disabled: this.disabled,\n maxFieldCharacters: this.maxFieldCharacters,\n type: this.type,\n minValue: this.minValue,\n maxValue: this.maxValue,\n regex: this.regex\n });\n this.form = this.customizationService.getDefaultFromGroup(\n pepField,\n false\n ); \n }\n\n ngOnInit(): void {\n if (this.form === null) {\n this.standAlone = true;\n\n this.minValue =\n isNaN(this.minValue) && !isNaN(this.maxValue)\n ? 0\n : this.minValue;\n this.maxValue =\n isNaN(this.maxValue) && !isNaN(this.minValue)\n ? 99999\n : this.maxValue;\n\n this.setDefaultForm();\n\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME\n );\n\n if (!this.renderTitle) {\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_NO_SPACING_CLASS_NAME\n );\n }\n }\n // flag to indicate whether validation on dirty is required \n // this.form.addControl('validateOnDirty', new FormControl(this.type === 'text'));\n\n this.readonly = this.type === 'duration' ? true : this.readonly; // Hack until we develop Timer UI for editing Duration field\n\n // load default error text\n if (this.type === 'text' && this.regex && (!this.regexError || this.regexError.length === 0)) {\n this.translate.get('MESSAGES.ERROR_INVALID_PATTERN').subscribe(text => this.regexError = text);\n }\n\n this.updateFormFieldValue(true);\n }\n \n ngAfterViewInit(): void {\n this.setInputModeAttribute();\n }\n\n ngOnChanges(changes: any): void {\n if (this.standAlone) {\n this.setDefaultForm();\n }\n\n this.readonly = this.type === 'duration' ? true : this.readonly; // Hack until we develop Timer UI for editing Duration field\n }\n\n ngOnDestroy(): void {\n //\n }\n\n onFocus(event: any): void {\n this.isInFocus = true;\n\n // select the value in focus (DI-18246 improvement)\n setTimeout(() => {\n if (this.isInFocus) {\n const eventTarget = event.target || event.srcElement;\n if (eventTarget) {\n eventTarget.select();\n }\n }\n }, 0);\n }\n\n getGeneralError() {\n return this.translate.instant('MESSAGES.ERROR_IS_NOT_VALID', { field: this.label });\n }\n\n // getOtherErrorMessage(inputValue: string) {\n // if (this.isNumberType()) {\n // if (this.type === 'percentage') {\n // inputValue = inputValue.replace('%', '');\n // } else if (this.accessory?.length > 0) {\n // inputValue = inputValue.replace(this.accessory, '');\n // }\n\n // const numberValue = new PepToNumberPipe(this.utilitiesService).transform(inputValue);\n\n // return (this.maxValue && numberValue > this.maxValue) || (this.minValue && numberValue < this.minValue) ? \n // this.translate.instant('MESSAGES.ERROR_RANGE_IS_NOT_VALID', { min: this.minValue, max: this.maxValue }) : \n // this.getGeneralError();\n // } else {\n // this.getGeneralError();\n // }\n // }\n\n getOtherErrorMessage(inputValue: string) {\n if (this.isNumberType()) {\n if (this.type === 'percentage') {\n inputValue = inputValue.replace('%', '');\n } else if (this.accessory?.length > 0) {\n inputValue = inputValue.replace(this.accessory, '');\n }\n\n const numberValue = new PepToNumberPipe(this.utilitiesService).transform(inputValue);\n\n const minSet = this.minValue !== null && this.minValue !== undefined && !isNaN(this.minValue);\n const maxSet = this.maxValue !== null && this.maxValue !== undefined && !isNaN(this.maxValue);\n\n if (minSet && !maxSet && numberValue < this.minValue) {\n return this.translate.instant('MESSAGES.ERROR_GREATER_THAN_MIN', { min: this.minValue });\n }\n if (!minSet && maxSet && numberValue > this.maxValue) {\n return this.translate.instant('MESSAGES.ERROR_LESS_THAN_MAX', { max: this.maxValue });\n }\n if (minSet && maxSet && (numberValue < this.minValue || numberValue > this.maxValue)) {\n return this.translate.instant('MESSAGES.ERROR_BETWEEN_MIN_MAX', { min: this.minValue, max: this.maxValue });\n }\n if (isNaN(numberValue)) {\n return this.getGeneralError();\n }\n return '';\n } else {\n return this.getGeneralError();\n }\n }\n\n isDecimal(): boolean {\n let res = false;\n\n if (this.isNumberType()) {\n if (this.type === 'currency' || this.type === 'real') {\n res = true;\n }\n }\n\n return res;\n }\n\n isNumberType(): boolean {\n return (\n this.type === 'percentage' ||\n this.type === 'int' ||\n this.type === 'currency' ||\n this.type === 'real'\n );\n }\n\n isValueValid(value: string): boolean {\n let res = false;\n\n if (this.isNumberType()) {\n if (value === '') {\n res = this.mandatory ? false : true;\n } else {\n value = this.utilitiesService.changeDecimalSeparatorWhenItsComma(value);\n const numberValue = coerceNumberProperty(value);\n \n if (!isNaN(this.minValue) && !isNaN(this.maxValue)) {\n res = numberValue >= this.minValue && numberValue <= this.maxValue;\n } else if (!isNaN(this.minValue)) {\n res = numberValue >= this.minValue;\n } else if (!isNaN(this.maxValue)) {\n res = numberValue <= this.maxValue;\n } else {\n res = true;\n }\n }\n } else {\n // TODO: Maybe need to check other types.\n res = true;\n }\n\n return res;\n }\n\n isDifferentValue(value: string): boolean {\n let res = false;\n\n if (this.isNumberType()) {\n if ((this.value === '' || value === '')) {\n res = true;\n } else {\n res = this.utilitiesService.isEqualNumber(this.valueAsCurrentCulture, value) === false;\n }\n } else {\n res = true;\n }\n\n return res;\n }\n\n onChange(e: any): void {\n const value = e.target ? e.target.value : e;\n // console.log(`onChange value is ${value}`);\n this.valueChange.emit(value);\n }\n\n onKeyup(event): any {\n this.keyup.emit(event);\n }\n\n onBlur(e: any): void {\n const value = e.target ? e.target.value : e;\n\n // If renderError is false and the new value is not valid return value back.\n if (!this.renderError && !this.isValueValid(value)) {\n this.renderer.setProperty(\n this.input.nativeElement,\n 'value',\n this.valueAsCurrentCulture \n );\n } else {\n // For decimal we need to replace the decimal separator back if it's comma (',').\n const correctValue = this.isDecimal() ? this.utilitiesService.changeDecimalSeparatorWhenItsComma(value) : value;\n \n if (correctValue !== this.valueAsCurrentCulture && this.isDifferentValue(value)) {\n this.value = correctValue;\n this.valueChange.emit(this.value);\n }\n }\n\n if (this.isInEditMode) {\n this.isInEditMode = false;\n }\n \n this.isInFocus = false;\n }\n\n anchorClicked(): void {\n const currentValue = this.value;\n if (currentValue.trim().length > 0) {\n switch (this.type) {\n case 'email':\n window.open('mailto:' + currentValue, 'email');\n break;\n case 'phone':\n window.open('tel:' + currentValue, 'tel');\n break;\n case 'link':\n window.open(currentValue);\n break;\n default:\n break;\n }\n }\n }\n\n cardTemplateClicked(event: any): void {\n this.isInEditMode = true;\n\n setTimeout(() => {\n this.input.nativeElement.focus();\n }, 0);\n }\n}\n","<ng-container [formGroup]=\"form\">\n <ng-template #pepTemplate let-isFormView=\"isFormView\" let-hasParent=\"hasParent\">\n <pep-field-title *ngIf=\"renderTitle && isFormView && !hasParent\" [label]=\"label\" [mandatory]=\"mandatory\"\n [disabled]=\"disabled\" [maxFieldCharacters]=\"maxFieldCharacters\" [hint]=\"hint\" [xAlignment]=\"xAlignment\"\n [showTitle]=\"showTitle\" [inputLength]=\"input.value?.length\">\n </pep-field-title>\n <mat-form-field appearance=\"outline\">\n <!-- (click)=\"$event.target.select()\" -->\n <input #input matInput pepTextboxValidation [formControlName]=\"key\" [id]=\"key\"\n [name]=\"key\" class=\" body-sm \" autocomplete=\"off\"\n maxlength=\"{{ maxFieldCharacters > 0 ? maxFieldCharacters : 99999 }}\"\n [placeholder]=\"hasParent && !disabled ? placeholder : ''\"\n [ngStyle]=\"{ color: textColor, 'text-align': xAlignment == 'center' ? 'center' : xAlignment == 'right' ? 'right' : 'left' }\"\n title=\"{{ formattedValue }}\" [type]=\"type\" [value]=\"displayValue$ | async\"\n (keyup.enter)=\"$event?.currentTarget?.blur()\" (focus)=\"onFocus($event);\" (blur)=\"onBlur($event)\"\n (change)=\"onChange($event)\" (keyup)=\"onKeyup($event)\"\n [ngClass]=\"{'disable-hidden': disabled && formattedValue?.length > 0 && (type === 'phone' || type === 'email' || type === 'link')}\" />\n<!-- [attr.inputmode]=\"inputMode\" --> \n <span *ngIf=\"disabled && formattedValue?.length > 0 && (type === 'phone' || type === 'email' || type === 'link')\"\n class=\"dis-grid\">\n <a href=\"javascript:void(0)\" (click)=\"anchorClicked()\" [id]=\"key\" [name]=\"key\"\n class=\"color-link body-sm\"> {{formattedValue}}</a>\n </span>\n <mat-error *ngIf=\"renderError\"> \n <ng-container *ngIf=\"mandatory && input.value.length == 0 then requiredError else otherErrorContainer\">\n </ng-container>\n <ng-template #requiredError>\n <span class=\"body-xs\" [title]=\"('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label })\"\n [innerText]=\"('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label })\">\n </span>\n </ng-template>\n <ng-template #otherErrorContainer>\n <ng-template *ngIf=\"regex && form?.get(key)?.errors?.pattern then patternError else otherError\"></ng-template>\n <ng-template #patternError>\n <span class=\"body-xs\">\n {{ regexError }}\n </span>\n </ng-template>\n <ng-template #otherError>\n <span class=\"body-xs\" #errSpan [innerText]=\"getOtherErrorMessage(input.value)\" [title]=\"errSpan.innerText\" ></span>\n </ng-template>\n </ng-template>\n </mat-error> \n <pep-textbox-icon *ngIf=\"renderSymbol && isFormView && xAlignment == 'right'\" matPrefix [value]=\"value\"\n [label]=\"label\" [type]=\"type\" [disabled]=\"disabled\">\n </pep-textbox-icon>\n <pep-textbox-icon *ngIf=\"renderSymbol && isFormView && (xAlignment == 'left')\" matSuffix [value]=\"value\"\n [label]=\"label\" [type]=\"type\" [disabled]=\"disabled\">\n </pep-textbox-icon>\n </mat-form-field>\n </ng-template> \n <ng-container *ngIf=\"layoutType === 'form'\">\n <ng-container *ngIf=\"parentFieldKey; then groupedBlock; else regularBlock\"></ng-container>\n <ng-template #regularBlock>\n <ng-container *ngTemplateOutlet=\"pepTemplate; context: { isFormView: true, hasParent: false }\">\n </ng-container>\n </ng-template>\n <ng-template #groupedBlock>\n <ng-container [formGroupName]=\"parentFieldKey\">\n <mat-form-field appearance=\"outline\">\n <!-- (click)=\"$event.target.select()\" -->\n <input pepTextboxValidation [id]=\"key\" [name]=\"key\" class=\" body-sm \" matInput autocomplete=\"off\" \n [placeholder]=\"!disabled ? placeholder : ''\" title=\"{{ formattedValue }}\"\n [formControlName]=\"key\" [value]=\"value\" \n (blur)=\"onBlur($event)\" (change)=\"onChange($event)\" (keyup)=\"onKeyup($event)\"\n (keyup.enter)=\"$event?.currentTarget?.blur()\" (focus)=\"onFocus($event)\" />\n </mat-form-field>\n <!-- <ng-container *ngTemplateOutlet=\"pepTemplate; context: { isFormView: true, hasParent: true }\"></ng-container> -->\n </ng-container>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'card'\">\n <ng-container *ngIf=\"isInEditMode; then editBlock; else readOnlyBlock\"></ng-container>\n <ng-template #editBlock>\n <div [ngClass]=\"{'one-row': rowSpan === 1}\">\n <ng-container *ngTemplateOutlet=\"pepTemplate; context: { isFormView: false, hasParent: false }\">\n </ng-container>\n </div>\n </ng-template>\n <ng-template #readOnlyBlock>\n <div class=\"pep-card-input card-flex-container\" [ngStyle]=\"{ color: textColor }\"\n [class]=\"'text-align-' + xAlignment\" [ngClass]=\"{'one-row': rowSpan === 1,\n 'multi-rows': rowSpan > 1,\n 'pep-button weak': isActive && !disabled}\"\n (click)=\"!disabled ? cardTemplateClicked($event) : ''\">\n <span *ngIf=\"showTitle && label != ''\" class=\"body-xs title\" title=\"{{ label }}\">{{ label\n }} </span>\n <span [id]=\"key\" title=\"{{ formattedValue }}\" class=\"body-sm value\"\n [ngClass]=\"{'multi-rows-text': rowSpan > 1}\" [ngStyle]=\"{ '-webkit-line-clamp': rowSpan }\">{{\n formattedValue }}</span>\n <button *ngIf=\"isActive && !disabled\" class=\"pep-button weak card-edit-button\" mat-button>\n <mat-icon>\n <pep-icon name=\"system_edit\">\n </pep-icon>\n </mat-icon>\n </button>\n </div>\n </ng-template>\n\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'table'\">\n <ng-container *ngIf=\"isActive && !disabled; then selectedBlock; else notSelectedBlock\"></ng-container>\n <ng-template #selectedBlock>\n <ng-container *ngTemplateOutlet=\"pepTemplate; context: { isFormView: false, hasParent: false }\">\n </ng-container>\n </ng-template>\n <ng-template #notSelectedBlock>\n <ng-container *ngIf=\"formattedValue?.length > 0; then notEmptyBlock; else emptyBlock\"></ng-container>\n <ng-template #notEmptyBlock>\n <ng-container [ngSwitch]=\"type\">\n <ng-container *ngSwitchCase=\"'link'\">\n <a [id]=\"key\" class=\"color-link body-sm pep-report-input\"\n [ngClass]=\"{'disable': (disabled && value === '')}\" *ngIf=\"formattedValue != null\"\n title=\"{{ formattedValue }}\" target=\"_blank\" href=\"{{ value ? value : formattedValue }}\">{{\n formattedValue }}</a>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <span [id]=\"key\" class=\"body-sm pep-report-input\" [ngClass]=\"{'readonly': disabled}\"\n title=\"{{ formattedValue }}\" [ngStyle]=\"{ color: textColor }\">{{ formattedValue }}</span>\n </ng-container>\n </ng-container>\n </ng-template>\n <ng-template #emptyBlock>\n <span [id]=\"key\"> </span>\n </ng-template>\n </ng-template>\n </ng-container>\n\n</ng-container>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport {\n PepIconModule,\n PepIconRegistry,\n pepIconSystemEdit,\n} from '@pepperi-addons/ngx-lib/icon';\nimport { PepTextboxIconModule } from '@pepperi-addons/ngx-lib/textbox-icon';\nimport { PepFieldTitleModule } from '@pepperi-addons/ngx-lib/field-title';\n\nimport { PepTextboxComponent } from './textbox.component';\nimport { PepTextboxValidationDirective } from './textbox-validation.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n // Material modules,\n MatCommonModule,\n MatButtonModule,\n MatFormFieldModule,\n MatInputModule,\n MatIconModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepIconModule,\n PepFieldTitleModule,\n PepTextboxIconModule,\n ],\n exports: [PepTextboxComponent],\n declarations: [PepTextboxComponent, PepTextboxValidationDirective],\n})\nexport class PepTextboxModule {\n constructor(private pepIconRegistry: PepIconRegistry) {\n this.pepIconRegistry.registerIcons([pepIconSystemEdit]);\n }\n}\n","/*\n * Public API Surface of ngx-lib/textbox\n */\nexport * from './textbox.module';\nexport * from './textbox.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i9","i12.PepTextboxValidationDirective","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pepperi-addons-ngx-lib-textbox.mjs","sources":["../../../projects/ngx-lib/textbox/textbox-validation.directive.ts","../../../projects/ngx-lib/textbox/textbox.component.ts","../../../projects/ngx-lib/textbox/textbox.component.html","../../../projects/ngx-lib/textbox/textbox.module.ts","../../../projects/ngx-lib/textbox/public-api.ts","../../../projects/ngx-lib/textbox/pepperi-addons-ngx-lib-textbox.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n HostListener,\n Input,\n OnInit,\n} from '@angular/core';\nimport {\n PepTextboxFieldType,\n PepUtilitiesService,\n PepValidatorService,\n} from '@pepperi-addons/ngx-lib';\n\n@Directive({\n selector: '[pepTextboxValidation]',\n})\nexport class PepTextboxValidationDirective implements OnInit {\n @Input() type: PepTextboxFieldType = 'text';\n\n previousValue = '';\n\n constructor(\n private hostElement: ElementRef,\n private utilitiesService: PepUtilitiesService,\n private validatorService: PepValidatorService\n ) {}\n\n ngOnInit() {\n //\n }\n\n private isNumber(): boolean {\n return this.isInteger() || this.isDecimal();\n }\n\n private isInteger(): boolean {\n return this.type === 'int';\n }\n\n private isDecimal(): boolean {\n return (\n this.type === 'currency' ||\n this.type === 'percentage' ||\n this.type === 'real'\n );\n }\n\n private isPhone(): boolean {\n return this.type === 'phone';\n }\n\n private isText(): boolean {\n return (\n this.type === 'email' ||\n this.type === 'link' ||\n this.type === 'text'\n );\n }\n\n @HostListener('change', ['$event'])\n onChange(e) {\n this.validateValue(this.hostElement.nativeElement.value);\n }\n\n @HostListener('keydown', ['$event'])\n onKeyDown(e: KeyboardEvent) {\n const originalValue: string = e.target['value'];\n\n if (this.isNumber()) {\n // save value before keydown event\n this.previousValue = originalValue;\n const isNumber = this.validatorService.isNumber(\n e,\n this.isDecimal()\n );\n\n if (isNumber) return;\n else e.preventDefault();\n } else if (this.isPhone()) {\n const isPhone = this.validatorService.isPhone(e);\n if (isPhone) return;\n else e.preventDefault();\n }\n }\n\n validateValue(value: string): void {\n console.log(`validateValue start value is - ${value}`)\n if (this.isNumber()) {\n const newValue = this.validatorService.validateNumber(\n value,\n this.isDecimal()\n );\n console.log(`after validateNumber newValue is - ${newValue}`)\n // Always set to the value input number with '.' decomal separator.\n this.hostElement.nativeElement['value'] = newValue ? this.utilitiesService.changeDecimalSeparatorWhenItsComma(newValue) : '';\n } else if (this.isPhone()) {\n // test phone with regular expression, when\n // phone is invalid, replace it with the previousValue\n const valid = this.validatorService.validatePhone(value);\n this.hostElement.nativeElement['value'] = valid\n ? value\n : this.previousValue;\n } else if (this.isText()) {\n this.hostElement.nativeElement['value'] = value;\n }\n }\n}\n","import {\n Component,\n OnInit,\n OnChanges,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n ElementRef,\n ViewChild,\n Renderer2,\n OnDestroy,\n ChangeDetectorRef,\n HostBinding,\n AfterViewInit,\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n PepLayoutType,\n PepCustomizationService,\n PepHorizontalAlignment,\n DEFAULT_HORIZONTAL_ALIGNMENT,\n PepTextboxFieldType,\n PepTextboxField,\n PepFieldBase,\n PepUtilitiesService,\n PepToNumberPipe,\n} from '@pepperi-addons/ngx-lib';\nimport { FormControl, FormGroupDirective, NgForm, Validators } from '@angular/forms';\nimport { ErrorStateMatcher } from '@angular/material/core';\nimport { BehaviorSubject, distinctUntilChanged, Observable } from 'rxjs';\nimport { coerceNumberProperty } from '@angular/cdk/coercion';\n\n// Not in use - I don't know why we need this???\n// /** error when invalid control is dirty or touched */\n// export class TextErrorStateMatcher implements ErrorStateMatcher {\n// isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\n// const validateOnDirty = form?.form?.controls?.['validateOnDirty']?.value;\n// return !!(validateOnDirty && control && control.invalid && (control.dirty || control.touched));\n// }\n// }\n\n/**\n * This is a text box input component that can be use to\n *\n * @export\n * @class PepTextboxComponent\n * @implements {OnChanges}\n * @implements {OnInit}\n * @implements {OnDestroy}\n */\n@Component({\n selector: 'pep-textbox',\n templateUrl: './textbox.component.html',\n styleUrls: ['./textbox.component.scss', './textbox.component.theme.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepTextboxComponent implements OnChanges, OnInit, AfterViewInit, OnDestroy {\n @HostBinding('attr.data-qa') dataQa = '';\n\n private _key = '';\n /**\n * The text box key\n *\n * @memberof PepTextboxComponent\n */\n @Input()\n set key(value) {\n this._key = value;\n this.dataQa = value;\n }\n get key(): string {\n return this._key;\n }\n\n private _value = '';\n /**\n * The value of the text box.\n *\n * @memberof PepTextboxComponent\n */\n @Input()\n set value(value: string) {\n if (!value) {\n value = '';\n } \n // else {\n // // If this is a number validate it.\n // if (this.isNumberType()) {\n // value = coerceNumberProperty(value, 0).toString();\n // }\n // }\n\n if (this.isDifferentValue(value)) {\n // console.log(`set value, value is - ${value}`)\n this._value = value;\n }\n\n this.setFormattedValue(this.value);\n this.changeDisplayValue();\n }\n get value(): string {\n return this._value;\n }\n\n get valueAsCurrentCulture(): string {\n return this.utilitiesService.changeDecimalSeparatorWhenItsComma(this.value, true);\n // let res = this.value;\n\n // if (this.isDecimal()) {\n // res = this.utilitiesService.formatDecimal(this.value, this.minFractionDigits, this.maxFractionDigits, false);\n // }\n \n // return res;\n }\n\n protected formattedValue = '';\n // private _formattedValue = '';\n // /**\n // * The formatted value.\n // *\n // * @memberof PepTextboxComponent\n // */\n // @Input()\n // set formattedValue(value: string) {\n // // Do nothing.\n // // if (!value) {\n // // value = '';\n // // }\n\n // // if (this._calculateFormattedValue) {\n // // this._calculateFormattedValue = false;\n // // }\n\n // // this.setFormattedValue(value);\n // }\n // get formattedValue(): string {\n // return this._formattedValue;\n // }\n\n private _minFractionDigits = NaN;\n @Input()\n set minFractionDigits(value: number) {\n this._minFractionDigits = value;\n this.setFormattedValue(this.value);\n this.changeDisplayValue();\n }\n get minFractionDigits(): number {\n return this._minFractionDigits;\n }\n\n private _maxFractionDigits = NaN;\n @Input()\n set maxFractionDigits(value: number) {\n this._maxFractionDigits = value;\n this.setFormattedValue(this.value);\n this.changeDisplayValue();\n }\n get maxFractionDigits(): number {\n return this._maxFractionDigits;\n }\n\n /**\n * The accessory sign.\n *\n * @memberof PepTextboxComponent\n */\n @Input() accessory = '';\n\n /**\n * The title of the textbox.\n *\n * @memberof PepTextboxComponent\n */\n @Input() label = '';\n\n /**\n * The placeholder (relevant only for children - if parent isn't null).\n *\n * @memberof PepTextboxComponent\n */\n @Input() placeholder = '';\n\n /**\n * The type of the textbox.\n *\n * @type {PepTextboxFieldType}\n * @memberof PepTextboxComponent\n */\n private _type: PepTextboxFieldType = 'text';\n @Input()\n set type(value: PepTextboxFieldType) {\n this._type = value;\n\n if (this.value) {\n this.setFormattedValue(this.value);\n this.changeDisplayValue();\n this.setInputModeAttribute();\n }\n }\n get type(): PepTextboxFieldType {\n return this._type;\n }\n\n private inputMode = 'text';\n\n /**\n * If the textbox is mandatory\n *\n * @memberof PepTextboxComponent\n */\n private _mandatory = false;\n @Input()\n set mandatory(value: boolean) {\n this._mandatory = value;\n }\n get mandatory(): boolean {\n return this._mandatory;\n }\n\n // TODO: Check if should remove disabled and keep only readonly.\n /**\n * If the textbox is disabled.\n *\n * @memberof PepTextboxComponent\n */\n @Input() disabled = false;\n\n /**\n * If the textbox is readonly\n *\n * @memberof PepTextboxComponent\n */\n @Input() readonly = false;\n @Input() maxFieldCharacters: number;\n @Input() hint: string;\n @Input() textColor = '';\n @Input() xAlignment: PepHorizontalAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;\n @Input() rowSpan = 1;\n // @Input() lastFocusField: any;\n @Input() minValue = NaN;\n @Input() maxValue = NaN;\n\n private _visible = true;\n @Input()\n set visible(visible: boolean) {\n this._visible = visible;\n if (visible) {\n this.renderer.removeClass(\n this.element.nativeElement,\n 'hidden-element'\n );\n } else {\n this.renderer.addClass(\n this.element.nativeElement,\n 'hidden-element'\n );\n }\n }\n get visible(): boolean {\n return this._visible;\n }\n\n @Input() form: FormGroup = null;\n @Input() isActive = false;\n @Input() showTitle = true;\n @Input() renderTitle = true;\n @Input() renderError = true;\n @Input() renderSymbol = true;\n @Input() layoutType: PepLayoutType = 'form';\n @Input() parentFieldKey: string = null;\n @Input() regex: string | RegExp = null;\n @Input() regexError = '';\n\n /**\n * The value change event.\n *\n * @type {EventEmitter<string>}\n * @memberof PepTextboxComponent\n */\n @Output()\n valueChange: EventEmitter<string> = new EventEmitter<string>();\n\n @Output()\n keyup: EventEmitter<any> = new EventEmitter<any>();\n\n // @Output()\n // formValidationChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n @Output()\n validationChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n @ViewChild('input') input: ElementRef;\n\n private _calculateFormattedValue = true;\n get calculateFormattedValue(): boolean {\n return this._calculateFormattedValue;\n }\n\n controlType = 'textbox';\n\n standAlone = false;\n isInEditMode = false;\n \n private _isInFocus = false;\n @Input()\n set isInFocus(isInFocus: boolean) {\n this._isInFocus = isInFocus;\n this.setFormattedValue(this.value);\n this.changeDisplayValue();\n }\n get isInFocus(): boolean {\n return this._isInFocus;\n }\n\n\n // matcher = new TextErrorStateMatcher();\n\n // protected displayValue$: \n private _displayValueSubject: BehaviorSubject<string> = new BehaviorSubject<string>('');\n get displayValue$(): Observable<string> {\n return this._displayValueSubject.asObservable().pipe(distinctUntilChanged());\n }\n\n constructor(\n private customizationService: PepCustomizationService,\n private renderer: Renderer2,\n private element: ElementRef,\n private translate: TranslateService,\n private utilitiesService: PepUtilitiesService\n ) {\n this.isInFocus = false;\n }\n\n private setInputModeAttribute() {\n \n if (this.type === 'currency' || this.type === 'percentage' || this.type === 'real') {\n this.inputMode = 'decimal';\n } else if (this.type === 'int') {\n this.inputMode = 'numeric';\n } else if (this.type === 'phone') {\n this.inputMode = 'tel';\n } else if (this.type === 'email') {\n this.inputMode = 'email';\n } else {\n this.inputMode = 'text';\n }\n\n if (this.input) {\n this.renderer.setAttribute(\n this.input.nativeElement,\n 'inputmode',\n this.inputMode \n );\n }\n }\n\n private notifyDisplayValueChange(value: string) {\n this._displayValueSubject.next(value);\n }\n\n private setFormattedValue(value: string) {\n if (this.isInFocus) {\n return;\n }\n\n if (this._calculateFormattedValue && this.value?.length > 0) {\n // console.log(`setFormattedValue before - value is ${value}`);\n if (this.type === 'currency') {\n this.formattedValue = this.utilitiesService.formatCurrency(value, this.accessory, this.minFractionDigits, this.maxFractionDigits);\n } else if (this.type === 'percentage') {\n this.formattedValue = this.utilitiesService.formatPercent(value, this.minFractionDigits, this.maxFractionDigits);\n } else if (this.type === 'real') {\n this.formattedValue = this.utilitiesService.formatDecimal(value, this.minFractionDigits, this.maxFractionDigits);\n } else if (this.type === 'int') {\n this.formattedValue = this.utilitiesService.formatNumber(value);\n } else if (this.type === 'duration') {\n this.formattedValue = this.utilitiesService.formatDuration(value, { duration: 'seconds' });\n } else {\n this.formattedValue = value;\n }\n } else {\n this.formattedValue = value;\n }\n\n // console.log(`setFormattedValue after - value is ${this.formattedValue}`);\n\n this.updateFormFieldValue();\n }\n\n private updateFormFieldValue(firstLoad = false) {\n // Set the formatted value only for the first load cause it's not formatted if we set the value (I don't know why)\n // Else we set the value - this is important to set the value only cause setting the formatted value will cause bug when the number is with thousand separator\n this.customizationService.updateFormFieldValue(\n this.form,\n this.key,\n this.value || this.formattedValue,\n this.parentFieldKey\n );\n\n // Raise this only for stand alone fields, If false then the usage for this field is inside a form. \n // Then the form will take care of raising the (onFormValidationChanged) event\n if (this.standAlone) {\n const isValid = (this.disabled || this.readonly) ? true : this.form.valid; \n this.validationChange.emit(isValid);\n }\n }\n\n private changeDisplayValue(): void {\n let res = '';\n\n if (this.type == 'link') {\n res = this.formattedValue;\n } else if (this.isDecimal()) {\n res = this.isInFocus ? this.valueAsCurrentCulture : this.formattedValue;\n } else if (this.isNumberType()) {\n res = this.isInFocus ? this.value : this.formattedValue;\n } else {\n res = this.isInFocus ? this.value : this.formattedValue;\n }\n\n this.notifyDisplayValueChange(res);\n // console.log('changeDisplayValue ' + res);\n }\n\n private setDefaultForm(): void {\n const pepField = new PepTextboxField({\n key: this.key,\n value: this.valueAsCurrentCulture,\n mandatory: this.mandatory,\n readonly: this.readonly,\n disabled: this.disabled,\n maxFieldCharacters: this.maxFieldCharacters,\n type: this.type,\n minValue: this.minValue,\n maxValue: this.maxValue,\n regex: this.regex\n });\n this.form = this.customizationService.getDefaultFromGroup(\n pepField,\n false\n ); \n }\n\n ngOnInit(): void {\n if (this.form === null) {\n this.standAlone = true;\n\n this.minValue =\n isNaN(this.minValue) && !isNaN(this.maxValue)\n ? 0\n : this.minValue;\n this.maxValue =\n isNaN(this.maxValue) && !isNaN(this.minValue)\n ? 99999\n : this.maxValue;\n\n this.setDefaultForm();\n\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME\n );\n\n if (!this.renderTitle) {\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_NO_SPACING_CLASS_NAME\n );\n }\n }\n // flag to indicate whether validation on dirty is required \n // this.form.addControl('validateOnDirty', new FormControl(this.type === 'text'));\n\n this.readonly = this.type === 'duration' ? true : this.readonly; // Hack until we develop Timer UI for editing Duration field\n\n // load default error text\n if (this.type === 'text' && this.regex && (!this.regexError || this.regexError.length === 0)) {\n this.translate.get('MESSAGES.ERROR_INVALID_PATTERN').subscribe(text => this.regexError = text);\n }\n\n this.updateFormFieldValue(true);\n }\n \n ngAfterViewInit(): void {\n this.setInputModeAttribute();\n }\n\n ngOnChanges(changes: any): void {\n if (this.standAlone) {\n this.setDefaultForm();\n }\n\n this.readonly = this.type === 'duration' ? true : this.readonly; // Hack until we develop Timer UI for editing Duration field\n }\n\n ngOnDestroy(): void {\n //\n }\n\n onFocus(event: any): void {\n this.isInFocus = true;\n\n // select the value in focus (DI-18246 improvement)\n setTimeout(() => {\n if (this.isInFocus) {\n const eventTarget = event.target || event.srcElement;\n if (eventTarget) {\n eventTarget.select();\n }\n }\n }, 0);\n }\n\n getGeneralError() {\n return this.translate.instant('MESSAGES.ERROR_IS_NOT_VALID', { field: this.label });\n }\n\n // getOtherErrorMessage(inputValue: string) {\n // if (this.isNumberType()) {\n // if (this.type === 'percentage') {\n // inputValue = inputValue.replace('%', '');\n // } else if (this.accessory?.length > 0) {\n // inputValue = inputValue.replace(this.accessory, '');\n // }\n\n // const numberValue = new PepToNumberPipe(this.utilitiesService).transform(inputValue);\n\n // return (this.maxValue && numberValue > this.maxValue) || (this.minValue && numberValue < this.minValue) ? \n // this.translate.instant('MESSAGES.ERROR_RANGE_IS_NOT_VALID', { min: this.minValue, max: this.maxValue }) : \n // this.getGeneralError();\n // } else {\n // this.getGeneralError();\n // }\n // }\n\n getOtherErrorMessage(inputValue: string) {\n if (this.isNumberType()) {\n if (this.type === 'percentage') {\n inputValue = inputValue.replace('%', '');\n } else if (this.accessory?.length > 0) {\n inputValue = inputValue.replace(this.accessory, '');\n }\n\n const numberValue = new PepToNumberPipe(this.utilitiesService).transform(inputValue);\n\n const minSet = this.minValue !== null && this.minValue !== undefined && !isNaN(this.minValue);\n const maxSet = this.maxValue !== null && this.maxValue !== undefined && !isNaN(this.maxValue);\n\n if (minSet && !maxSet && numberValue < this.minValue) {\n return this.translate.instant('MESSAGES.ERROR_GREATER_THAN_MIN', { min: this.minValue });\n }\n if (!minSet && maxSet && numberValue > this.maxValue) {\n return this.translate.instant('MESSAGES.ERROR_LESS_THAN_MAX', { max: this.maxValue });\n }\n if (minSet && maxSet && (numberValue < this.minValue || numberValue > this.maxValue)) {\n return this.translate.instant('MESSAGES.ERROR_BETWEEN_MIN_MAX', { min: this.minValue, max: this.maxValue });\n }\n if (isNaN(numberValue)) {\n return this.getGeneralError();\n }\n return '';\n } else {\n return this.getGeneralError();\n }\n }\n\n isDecimal(): boolean {\n let res = false;\n\n if (this.isNumberType()) {\n if (this.type === 'currency' || this.type === 'real') {\n res = true;\n }\n }\n\n return res;\n }\n\n isNumberType(): boolean {\n return (\n this.type === 'percentage' ||\n this.type === 'int' ||\n this.type === 'currency' ||\n this.type === 'real'\n );\n }\n\n isValueValid(value: string): boolean {\n let res = false;\n\n if (this.isNumberType()) {\n if (value === '') {\n res = this.mandatory ? false : true;\n } else {\n value = this.utilitiesService.changeDecimalSeparatorWhenItsComma(value);\n const numberValue = coerceNumberProperty(value);\n \n if (!isNaN(this.minValue) && !isNaN(this.maxValue)) {\n res = numberValue >= this.minValue && numberValue <= this.maxValue;\n } else if (!isNaN(this.minValue)) {\n res = numberValue >= this.minValue;\n } else if (!isNaN(this.maxValue)) {\n res = numberValue <= this.maxValue;\n } else {\n res = true;\n }\n }\n } else {\n // TODO: Maybe need to check other types.\n res = true;\n }\n\n return res;\n }\n\n isDifferentValue(value: string): boolean {\n let res = false;\n\n if (this.isNumberType()) {\n if ((this.value === '' || value === '')) {\n res = true;\n } else {\n res = this.utilitiesService.isEqualNumber(this.valueAsCurrentCulture, value) === false;\n }\n } else {\n res = true;\n }\n\n return res;\n }\n\n onChange(e: any): void {\n const value = e.target ? e.target.value : e;\n // console.log(`onChange value is ${value}`);\n this.valueChange.emit(value);\n }\n\n onKeyup(event): any {\n this.keyup.emit(event);\n }\n\n onBlur(e: any): void {\n const value = e.target ? e.target.value : e;\n\n // If renderError is false and the new value is not valid return value back.\n if (!this.renderError && !this.isValueValid(value)) {\n this.renderer.setProperty(\n this.input.nativeElement,\n 'value',\n this.valueAsCurrentCulture \n );\n } else {\n // For decimal we need to replace the decimal separator back if it's comma (',').\n const correctValue = this.isDecimal() ? this.utilitiesService.changeDecimalSeparatorWhenItsComma(value) : value;\n \n if (correctValue !== this.valueAsCurrentCulture && this.isDifferentValue(value)) {\n this.value = correctValue;\n this.valueChange.emit(this.value);\n }\n }\n\n if (this.isInEditMode) {\n this.isInEditMode = false;\n }\n \n this.isInFocus = false;\n }\n\n anchorClicked(): void {\n const currentValue = this.value;\n if (currentValue.trim().length > 0) {\n switch (this.type) {\n case 'email':\n window.open('mailto:' + currentValue, 'email');\n break;\n case 'phone':\n window.open('tel:' + currentValue, 'tel');\n break;\n case 'link':\n window.open(currentValue);\n break;\n default:\n break;\n }\n }\n }\n\n cardTemplateClicked(event: any): void {\n this.isInEditMode = true;\n\n setTimeout(() => {\n this.input.nativeElement.focus();\n }, 0);\n }\n}\n","<ng-container [formGroup]=\"form\">\n <ng-template #pepTemplate let-isFormView=\"isFormView\" let-hasParent=\"hasParent\">\n <pep-field-title *ngIf=\"renderTitle && isFormView && !hasParent\" [label]=\"label\" [mandatory]=\"mandatory\"\n [disabled]=\"disabled\" [maxFieldCharacters]=\"maxFieldCharacters\" [hint]=\"hint\" [xAlignment]=\"xAlignment\"\n [showTitle]=\"showTitle\" [inputLength]=\"input.value?.length\">\n </pep-field-title>\n <mat-form-field appearance=\"outline\">\n <!-- (click)=\"$event.target.select()\" -->\n <input #input matInput pepTextboxValidation [formControlName]=\"key\" [id]=\"key\"\n [name]=\"key\" class=\" body-sm \" autocomplete=\"off\"\n maxlength=\"{{ maxFieldCharacters > 0 ? maxFieldCharacters : 99999 }}\"\n [placeholder]=\"hasParent && !disabled ? placeholder : ''\"\n [ngStyle]=\"{ color: textColor, 'text-align': xAlignment == 'center' ? 'center' : xAlignment == 'right' ? 'right' : 'left' }\"\n title=\"{{ formattedValue }}\" [type]=\"type\" [value]=\"displayValue$ | async\"\n (keyup.enter)=\"$event?.currentTarget?.blur()\" (focus)=\"onFocus($event);\" (blur)=\"onBlur($event)\"\n (change)=\"onChange($event)\" (keyup)=\"onKeyup($event)\"\n [ngClass]=\"{'disable-hidden': disabled && formattedValue?.length > 0 && (type === 'phone' || type === 'email' || type === 'link')}\" />\n<!-- [attr.inputmode]=\"inputMode\" --> \n <span *ngIf=\"disabled && formattedValue?.length > 0 && (type === 'phone' || type === 'email' || type === 'link')\"\n class=\"dis-grid\">\n <a href=\"javascript:void(0)\" (click)=\"anchorClicked()\" [id]=\"key\" [name]=\"key\"\n class=\"color-link body-sm\"> {{formattedValue}}</a>\n </span>\n <mat-error *ngIf=\"renderError\"> \n <ng-container *ngIf=\"mandatory && input.value.length == 0 then requiredError else otherErrorContainer\">\n </ng-container>\n <ng-template #requiredError>\n <span class=\"body-xs\" [title]=\"('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label })\"\n [innerText]=\"('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label })\">\n </span>\n </ng-template>\n <ng-template #otherErrorContainer>\n <ng-template *ngIf=\"regex && form?.get(key)?.errors?.pattern then patternError else otherError\"></ng-template>\n <ng-template #patternError>\n <span class=\"body-xs\">\n {{ regexError }}\n </span>\n </ng-template>\n <ng-template #otherError>\n <span class=\"body-xs\" #errSpan [innerText]=\"getOtherErrorMessage(input.value)\" [title]=\"errSpan.innerText\" ></span>\n </ng-template>\n </ng-template>\n </mat-error> \n <pep-textbox-icon *ngIf=\"renderSymbol && isFormView && xAlignment == 'right'\" matPrefix [value]=\"value\"\n [label]=\"label\" [type]=\"type\" [disabled]=\"disabled\">\n </pep-textbox-icon>\n <pep-textbox-icon *ngIf=\"renderSymbol && isFormView && (xAlignment == 'left')\" matSuffix [value]=\"value\"\n [label]=\"label\" [type]=\"type\" [disabled]=\"disabled\">\n </pep-textbox-icon>\n </mat-form-field>\n </ng-template> \n <ng-container *ngIf=\"layoutType === 'form'\">\n <ng-container *ngIf=\"parentFieldKey; then groupedBlock; else regularBlock\"></ng-container>\n <ng-template #regularBlock>\n <ng-container *ngTemplateOutlet=\"pepTemplate; context: { isFormView: true, hasParent: false }\">\n </ng-container>\n </ng-template>\n <ng-template #groupedBlock>\n <ng-container [formGroupName]=\"parentFieldKey\">\n <mat-form-field appearance=\"outline\">\n <!-- (click)=\"$event.target.select()\" -->\n <input pepTextboxValidation [id]=\"key\" [name]=\"key\" class=\" body-sm \" matInput autocomplete=\"off\" \n [placeholder]=\"!disabled ? placeholder : ''\" title=\"{{ formattedValue }}\"\n [formControlName]=\"key\" [value]=\"value\" \n (blur)=\"onBlur($event)\" (change)=\"onChange($event)\" (keyup)=\"onKeyup($event)\"\n (keyup.enter)=\"$event?.currentTarget?.blur()\" (focus)=\"onFocus($event)\" />\n </mat-form-field>\n <!-- <ng-container *ngTemplateOutlet=\"pepTemplate; context: { isFormView: true, hasParent: true }\"></ng-container> -->\n </ng-container>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'card'\">\n <ng-container *ngIf=\"isInEditMode; then editBlock; else readOnlyBlock\"></ng-container>\n <ng-template #editBlock>\n <div [ngClass]=\"{'one-row': rowSpan === 1}\">\n <ng-container *ngTemplateOutlet=\"pepTemplate; context: { isFormView: false, hasParent: false }\">\n </ng-container>\n </div>\n </ng-template>\n <ng-template #readOnlyBlock>\n <div class=\"pep-card-input card-flex-container\" [ngStyle]=\"{ color: textColor }\"\n [class]=\"'text-align-' + xAlignment\" [ngClass]=\"{'one-row': rowSpan === 1,\n 'multi-rows': rowSpan > 1,\n 'pep-button weak': isActive && !disabled}\"\n (click)=\"!disabled ? cardTemplateClicked($event) : ''\">\n <span *ngIf=\"showTitle && label != ''\" class=\"body-xs title\" title=\"{{ label }}\">{{ label\n }} </span>\n <span [id]=\"key\" title=\"{{ formattedValue }}\" class=\"body-sm value\"\n [ngClass]=\"{'multi-rows-text': rowSpan > 1}\" [ngStyle]=\"{ '-webkit-line-clamp': rowSpan }\">{{\n formattedValue }}</span>\n <button *ngIf=\"isActive && !disabled\" class=\"pep-button weak card-edit-button\" mat-button>\n <mat-icon>\n <pep-icon name=\"system_edit\">\n </pep-icon>\n </mat-icon>\n </button>\n </div>\n </ng-template>\n\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'table'\">\n <ng-container *ngIf=\"isActive && !disabled; then selectedBlock; else notSelectedBlock\"></ng-container>\n <ng-template #selectedBlock>\n <ng-container *ngTemplateOutlet=\"pepTemplate; context: { isFormView: false, hasParent: false }\">\n </ng-container>\n </ng-template>\n <ng-template #notSelectedBlock>\n <ng-container *ngIf=\"formattedValue?.length > 0; then notEmptyBlock; else emptyBlock\"></ng-container>\n <ng-template #notEmptyBlock>\n <ng-container [ngSwitch]=\"type\">\n <ng-container *ngSwitchCase=\"'link'\">\n <a [id]=\"key\" class=\"color-link body-sm pep-report-input\"\n [ngClass]=\"{'disable': (disabled && value === '')}\" *ngIf=\"formattedValue != null\"\n title=\"{{ formattedValue }}\" target=\"_blank\" href=\"{{ value ? value : formattedValue }}\">{{\n formattedValue }}</a>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <span [id]=\"key\" class=\"body-sm pep-report-input\" [ngClass]=\"{'readonly': disabled}\"\n title=\"{{ formattedValue }}\" [ngStyle]=\"{ color: textColor }\">{{ formattedValue }}</span>\n </ng-container>\n </ng-container>\n </ng-template>\n <ng-template #emptyBlock>\n <span [id]=\"key\"> </span>\n </ng-template>\n </ng-template>\n </ng-container>\n\n</ng-container>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { TranslateModule } from '@ngx-translate/core';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport {\n PepIconModule,\n PepIconRegistry,\n pepIconSystemEdit,\n} from '@pepperi-addons/ngx-lib/icon';\nimport { PepTextboxIconModule } from '@pepperi-addons/ngx-lib/textbox-icon';\nimport { PepFieldTitleModule } from '@pepperi-addons/ngx-lib/field-title';\n\nimport { PepTextboxComponent } from './textbox.component';\nimport { PepTextboxValidationDirective } from './textbox-validation.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n // Material modules,\n MatCommonModule,\n MatButtonModule,\n MatFormFieldModule,\n MatInputModule,\n MatIconModule,\n // Translation module\n TranslateModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepIconModule,\n PepFieldTitleModule,\n PepTextboxIconModule,\n ],\n exports: [PepTextboxComponent],\n declarations: [PepTextboxComponent, PepTextboxValidationDirective],\n})\nexport class PepTextboxModule {\n constructor(private pepIconRegistry: PepIconRegistry) {\n this.pepIconRegistry.registerIcons([pepIconSystemEdit]);\n }\n}\n","/*\n * Public API Surface of ngx-lib/textbox\n */\nexport * from './textbox.module';\nexport * from './textbox.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i9","i12.PepTextboxValidationDirective","i1"],"mappings":"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"}
|
|
@@ -8,14 +8,15 @@ import * as i5 from "@angular/material/button";
|
|
|
8
8
|
import * as i6 from "@angular/material/form-field";
|
|
9
9
|
import * as i7 from "@angular/material/input";
|
|
10
10
|
import * as i8 from "@angular/material/icon";
|
|
11
|
-
import * as i9 from "
|
|
12
|
-
import * as i10 from "
|
|
13
|
-
import * as i11 from "@pepperi-addons/ngx-lib
|
|
14
|
-
import * as i12 from "@pepperi-addons/ngx-lib/
|
|
11
|
+
import * as i9 from "@ngx-translate/core";
|
|
12
|
+
import * as i10 from "ng2-file-upload";
|
|
13
|
+
import * as i11 from "@pepperi-addons/ngx-lib";
|
|
14
|
+
import * as i12 from "@pepperi-addons/ngx-lib/icon";
|
|
15
|
+
import * as i13 from "@pepperi-addons/ngx-lib/dialog";
|
|
15
16
|
export declare class PepFilesUploaderModule {
|
|
16
17
|
private pepIconRegistry;
|
|
17
18
|
constructor(pepIconRegistry: PepIconRegistry);
|
|
18
19
|
static ɵfac: i0.ɵɵFactoryDeclaration<PepFilesUploaderModule, never>;
|
|
19
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<PepFilesUploaderModule, [typeof i1.PepFilesUploaderComponent], [typeof i2.CommonModule, typeof i3.ReactiveFormsModule, typeof i4.MatCommonModule, typeof i5.MatButtonModule, typeof i6.MatFormFieldModule, typeof i7.MatInputModule, typeof i8.MatIconModule, typeof i9.
|
|
20
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<PepFilesUploaderModule, [typeof i1.PepFilesUploaderComponent], [typeof i2.CommonModule, typeof i3.ReactiveFormsModule, typeof i4.MatCommonModule, typeof i5.MatButtonModule, typeof i6.MatFormFieldModule, typeof i7.MatInputModule, typeof i8.MatIconModule, typeof i9.TranslateModule, typeof i10.FileUploadModule, typeof i11.PepNgxLibModule, typeof i12.PepIconModule, typeof i13.PepDialogModule], [typeof i1.PepFilesUploaderComponent]>;
|
|
20
21
|
static ɵinj: i0.ɵɵInjectorDeclaration<PepFilesUploaderModule>;
|
|
21
22
|
}
|
package/form/form.module.d.ts
CHANGED
|
@@ -18,33 +18,34 @@ import * as i15 from "@angular/material/button";
|
|
|
18
18
|
import * as i16 from "@angular/material/grid-list";
|
|
19
19
|
import * as i17 from "@angular/material/icon";
|
|
20
20
|
import * as i18 from "@angular/material/menu";
|
|
21
|
-
import * as i19 from "@
|
|
22
|
-
import * as i20 from "@
|
|
23
|
-
import * as i21 from "@pepperi-addons/ngx-lib
|
|
24
|
-
import * as i22 from "@pepperi-addons/ngx-lib/
|
|
25
|
-
import * as i23 from "@pepperi-addons/ngx-lib/
|
|
26
|
-
import * as i24 from "@pepperi-addons/ngx-lib/
|
|
27
|
-
import * as i25 from "@pepperi-addons/ngx-lib/
|
|
28
|
-
import * as i26 from "@pepperi-addons/ngx-lib/
|
|
29
|
-
import * as i27 from "@pepperi-addons/ngx-lib/
|
|
30
|
-
import * as i28 from "@pepperi-addons/ngx-lib/
|
|
31
|
-
import * as i29 from "@pepperi-addons/ngx-lib/
|
|
32
|
-
import * as i30 from "@pepperi-addons/ngx-lib/
|
|
33
|
-
import * as i31 from "@pepperi-addons/ngx-lib/
|
|
34
|
-
import * as i32 from "@pepperi-addons/ngx-lib/
|
|
35
|
-
import * as i33 from "@pepperi-addons/ngx-lib/
|
|
36
|
-
import * as i34 from "@pepperi-addons/ngx-lib/select
|
|
37
|
-
import * as i35 from "@pepperi-addons/ngx-lib/
|
|
38
|
-
import * as i36 from "@pepperi-addons/ngx-lib/
|
|
39
|
-
import * as i37 from "@pepperi-addons/ngx-lib/
|
|
40
|
-
import * as i38 from "@pepperi-addons/ngx-lib/
|
|
41
|
-
import * as i39 from "@pepperi-addons/ngx-lib/
|
|
42
|
-
import * as i40 from "@pepperi-addons/ngx-lib/
|
|
43
|
-
import * as i41 from "@pepperi-addons/ngx-lib/
|
|
21
|
+
import * as i19 from "@ngx-translate/core";
|
|
22
|
+
import * as i20 from "@almothafar/angular-signature-pad";
|
|
23
|
+
import * as i21 from "@pepperi-addons/ngx-lib";
|
|
24
|
+
import * as i22 from "@pepperi-addons/ngx-lib/dialog";
|
|
25
|
+
import * as i23 from "@pepperi-addons/ngx-lib/icon";
|
|
26
|
+
import * as i24 from "@pepperi-addons/ngx-lib/address";
|
|
27
|
+
import * as i25 from "@pepperi-addons/ngx-lib/attachment";
|
|
28
|
+
import * as i26 from "@pepperi-addons/ngx-lib/button";
|
|
29
|
+
import * as i27 from "@pepperi-addons/ngx-lib/carousel";
|
|
30
|
+
import * as i28 from "@pepperi-addons/ngx-lib/checkbox";
|
|
31
|
+
import * as i29 from "@pepperi-addons/ngx-lib/date";
|
|
32
|
+
import * as i30 from "@pepperi-addons/ngx-lib/image";
|
|
33
|
+
import * as i31 from "@pepperi-addons/ngx-lib/images-filmstrip";
|
|
34
|
+
import * as i32 from "@pepperi-addons/ngx-lib/quantity-selector";
|
|
35
|
+
import * as i33 from "@pepperi-addons/ngx-lib/rich-html-textarea";
|
|
36
|
+
import * as i34 from "@pepperi-addons/ngx-lib/select";
|
|
37
|
+
import * as i35 from "@pepperi-addons/ngx-lib/select-panel";
|
|
38
|
+
import * as i36 from "@pepperi-addons/ngx-lib/separator";
|
|
39
|
+
import * as i37 from "@pepperi-addons/ngx-lib/signature";
|
|
40
|
+
import * as i38 from "@pepperi-addons/ngx-lib/textarea";
|
|
41
|
+
import * as i39 from "@pepperi-addons/ngx-lib/textbox";
|
|
42
|
+
import * as i40 from "@pepperi-addons/ngx-lib/link";
|
|
43
|
+
import * as i41 from "@pepperi-addons/ngx-lib/field-title";
|
|
44
|
+
import * as i42 from "@pepperi-addons/ngx-lib/group-buttons";
|
|
44
45
|
export declare class PepFormModule {
|
|
45
46
|
private pepIconRegistry;
|
|
46
47
|
constructor(pepIconRegistry: PepIconRegistry);
|
|
47
48
|
static ɵfac: i0.ɵɵFactoryDeclaration<PepFormModule, never>;
|
|
48
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<PepFormModule, [typeof i1.PepFormComponent, typeof i2.PepInternalFormComponent, typeof i3.PepFieldGeneratorComponent, typeof i4.PepInternalFieldGeneratorComponent, typeof i5.PepIndicatorsComponent, typeof i6.PepInternalButtonComponent, typeof i7.PepInternalListComponent, typeof i8.PepInternalMenuComponent, typeof i9.PepInternalPageComponent, typeof i10.PepInternalCaruselComponent], [typeof i11.CommonModule, typeof i12.ReactiveFormsModule, typeof i13.MatCommonModule, typeof i14.MatFormFieldModule, typeof i15.MatButtonModule, typeof i16.MatGridListModule, typeof i17.MatIconModule, typeof i18.MatMenuModule, typeof i19.
|
|
49
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<PepFormModule, [typeof i1.PepFormComponent, typeof i2.PepInternalFormComponent, typeof i3.PepFieldGeneratorComponent, typeof i4.PepInternalFieldGeneratorComponent, typeof i5.PepIndicatorsComponent, typeof i6.PepInternalButtonComponent, typeof i7.PepInternalListComponent, typeof i8.PepInternalMenuComponent, typeof i9.PepInternalPageComponent, typeof i10.PepInternalCaruselComponent], [typeof i11.CommonModule, typeof i12.ReactiveFormsModule, typeof i13.MatCommonModule, typeof i14.MatFormFieldModule, typeof i15.MatButtonModule, typeof i16.MatGridListModule, typeof i17.MatIconModule, typeof i18.MatMenuModule, typeof i19.TranslateModule, typeof i20.AngularSignaturePadModule, typeof i21.PepNgxLibModule, typeof i22.PepDialogModule, typeof i23.PepIconModule, typeof i24.PepAddressModule, typeof i25.PepAttachmentModule, typeof i26.PepButtonModule, typeof i27.PepCarouselModule, typeof i28.PepCheckboxModule, typeof i29.PepDateModule, typeof i30.PepImageModule, typeof i31.PepImagesFilmstripModule, typeof i32.PepQuantitySelectorModule, typeof i33.PepRichHtmlTextareaModule, typeof i34.PepSelectModule, typeof i35.PepSelectPanelModule, typeof i36.PepSeparatorModule, typeof i37.PepSignatureModule, typeof i38.PepTextareaModule, typeof i39.PepTextboxModule, typeof i40.PepLinkModule, typeof i41.PepFieldTitleModule, typeof i42.PepGroupButtonsModule], [typeof i1.PepFormComponent]>;
|
|
49
50
|
static ɵinj: i0.ɵɵInjectorDeclaration<PepFormModule>;
|
|
50
51
|
}
|
package/image/image.module.d.ts
CHANGED
|
@@ -6,15 +6,16 @@ import * as i3 from "@angular/forms";
|
|
|
6
6
|
import * as i4 from "@angular/material/core";
|
|
7
7
|
import * as i5 from "@angular/material/form-field";
|
|
8
8
|
import * as i6 from "@angular/material/icon";
|
|
9
|
-
import * as i7 from "@
|
|
10
|
-
import * as i8 from "@pepperi-addons/ngx-lib
|
|
11
|
-
import * as i9 from "@pepperi-addons/ngx-lib/
|
|
12
|
-
import * as i10 from "@pepperi-addons/ngx-lib/
|
|
13
|
-
import * as i11 from "@pepperi-addons/ngx-lib/
|
|
9
|
+
import * as i7 from "@ngx-translate/core";
|
|
10
|
+
import * as i8 from "@pepperi-addons/ngx-lib";
|
|
11
|
+
import * as i9 from "@pepperi-addons/ngx-lib/icon";
|
|
12
|
+
import * as i10 from "@pepperi-addons/ngx-lib/field-title";
|
|
13
|
+
import * as i11 from "@pepperi-addons/ngx-lib/images-filmstrip";
|
|
14
|
+
import * as i12 from "@pepperi-addons/ngx-lib/files-uploader";
|
|
14
15
|
export declare class PepImageModule {
|
|
15
16
|
private pepIconRegistry;
|
|
16
17
|
constructor(pepIconRegistry: PepIconRegistry);
|
|
17
18
|
static ɵfac: i0.ɵɵFactoryDeclaration<PepImageModule, never>;
|
|
18
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<PepImageModule, [typeof i1.PepImageComponent], [typeof i2.CommonModule, typeof i3.ReactiveFormsModule, typeof i4.MatCommonModule, typeof i5.MatFormFieldModule, typeof i6.MatIconModule, typeof i7.
|
|
19
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<PepImageModule, [typeof i1.PepImageComponent], [typeof i2.CommonModule, typeof i3.ReactiveFormsModule, typeof i4.MatCommonModule, typeof i5.MatFormFieldModule, typeof i6.MatIconModule, typeof i7.TranslateModule, typeof i8.PepNgxLibModule, typeof i9.PepIconModule, typeof i10.PepFieldTitleModule, typeof i11.PepImagesFilmstripModule, typeof i12.PepFilesUploaderModule], [typeof i1.PepImageComponent]>;
|
|
19
20
|
static ɵinj: i0.ɵɵInjectorDeclaration<PepImageModule>;
|
|
20
21
|
}
|
package/link/link.module.d.ts
CHANGED
|
@@ -9,14 +9,15 @@ import * as i6 from "@angular/material/button";
|
|
|
9
9
|
import * as i7 from "@angular/material/form-field";
|
|
10
10
|
import * as i8 from "@angular/material/input";
|
|
11
11
|
import * as i9 from "@angular/material/icon";
|
|
12
|
-
import * as i10 from "@
|
|
13
|
-
import * as i11 from "@pepperi-addons/ngx-lib
|
|
14
|
-
import * as i12 from "@pepperi-addons/ngx-lib/
|
|
15
|
-
import * as i13 from "@pepperi-addons/ngx-lib/
|
|
12
|
+
import * as i10 from "@ngx-translate/core";
|
|
13
|
+
import * as i11 from "@pepperi-addons/ngx-lib";
|
|
14
|
+
import * as i12 from "@pepperi-addons/ngx-lib/icon";
|
|
15
|
+
import * as i13 from "@pepperi-addons/ngx-lib/field-title";
|
|
16
|
+
import * as i14 from "@pepperi-addons/ngx-lib/textbox-icon";
|
|
16
17
|
export declare class PepLinkModule {
|
|
17
18
|
private pepIconRegistry;
|
|
18
19
|
constructor(pepIconRegistry: PepIconRegistry);
|
|
19
20
|
static ɵfac: i0.ɵɵFactoryDeclaration<PepLinkModule, never>;
|
|
20
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<PepLinkModule, [typeof i1.PepLinkComponent, typeof i2.IsUrlPipe], [typeof i3.CommonModule, typeof i4.ReactiveFormsModule, typeof i5.MatCommonModule, typeof i6.MatButtonModule, typeof i7.MatFormFieldModule, typeof i8.MatInputModule, typeof i9.MatIconModule, typeof i10.
|
|
21
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<PepLinkModule, [typeof i1.PepLinkComponent, typeof i2.IsUrlPipe], [typeof i3.CommonModule, typeof i4.ReactiveFormsModule, typeof i5.MatCommonModule, typeof i6.MatButtonModule, typeof i7.MatFormFieldModule, typeof i8.MatInputModule, typeof i9.MatIconModule, typeof i10.TranslateModule, typeof i11.PepNgxLibModule, typeof i12.PepIconModule, typeof i13.PepFieldTitleModule, typeof i14.PepTextboxIconModule], [typeof i1.PepLinkComponent]>;
|
|
21
22
|
static ɵinj: i0.ɵɵInjectorDeclaration<PepLinkModule>;
|
|
22
23
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { ChangeDetectorRef, ElementRef, EventEmitter, NgZone, OnChanges, OnDestroy, OnInit, Renderer2 } from '@angular/core';
|
|
2
|
-
import * as tween from '@tweenjs/tween.js';
|
|
3
2
|
import * as i0 from "@angular/core";
|
|
4
3
|
import * as i1 from "@angular/common";
|
|
5
4
|
export interface VirtualScrollerDefaultOptions {
|
|
@@ -152,7 +151,7 @@ export declare class VirtualScrollerComponent implements OnInit, OnChanges, OnDe
|
|
|
152
151
|
protected calculatedScrollbarHeight: number;
|
|
153
152
|
protected padding: number;
|
|
154
153
|
protected previousViewPort: IViewport;
|
|
155
|
-
protected currentTween:
|
|
154
|
+
protected currentTween: any;
|
|
156
155
|
protected cachedItemsLength: number;
|
|
157
156
|
protected disposeScrollHandler: () => void | undefined;
|
|
158
157
|
protected disposeResizeHandler: () => void | undefined;
|
package/package.json
CHANGED
|
@@ -7,17 +7,18 @@ import * as i4 from "@angular/common";
|
|
|
7
7
|
import * as i5 from "@angular/forms";
|
|
8
8
|
import * as i6 from "@angular/material/dialog";
|
|
9
9
|
import * as i7 from "@angular/material/menu";
|
|
10
|
-
import * as i8 from "@
|
|
11
|
-
import * as i9 from "@pepperi-addons/ngx-lib
|
|
12
|
-
import * as i10 from "@pepperi-addons/ngx-lib/
|
|
13
|
-
import * as i11 from "@pepperi-addons/ngx-lib/
|
|
14
|
-
import * as i12 from "@pepperi-addons/ngx-lib/
|
|
15
|
-
import * as i13 from "@pepperi-addons/ngx-lib/
|
|
16
|
-
import * as i14 from "@pepperi-addons/ngx-lib/
|
|
10
|
+
import * as i8 from "@ngx-translate/core";
|
|
11
|
+
import * as i9 from "@pepperi-addons/ngx-lib";
|
|
12
|
+
import * as i10 from "@pepperi-addons/ngx-lib/button";
|
|
13
|
+
import * as i11 from "@pepperi-addons/ngx-lib/dialog";
|
|
14
|
+
import * as i12 from "@pepperi-addons/ngx-lib/select";
|
|
15
|
+
import * as i13 from "@pepperi-addons/ngx-lib/menu";
|
|
16
|
+
import * as i14 from "@pepperi-addons/ngx-lib/icon";
|
|
17
|
+
import * as i15 from "@pepperi-addons/ngx-lib/top-bar";
|
|
17
18
|
export declare class PepProfileDataViewsListModule {
|
|
18
19
|
private pepIconRegistry;
|
|
19
20
|
constructor(pepIconRegistry: PepIconRegistry);
|
|
20
21
|
static ɵfac: i0.ɵɵFactoryDeclaration<PepProfileDataViewsListModule, never>;
|
|
21
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<PepProfileDataViewsListModule, [typeof i1.ProfileDataViewsListComponent, typeof i2.ProfileDataViewsCardComponent, typeof i3.ProfileDataViewComponent], [typeof i4.CommonModule, typeof i5.ReactiveFormsModule, typeof i6.MatDialogModule, typeof i7.MatMenuModule, typeof i8.
|
|
22
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<PepProfileDataViewsListModule, [typeof i1.ProfileDataViewsListComponent, typeof i2.ProfileDataViewsCardComponent, typeof i3.ProfileDataViewComponent], [typeof i4.CommonModule, typeof i5.ReactiveFormsModule, typeof i6.MatDialogModule, typeof i7.MatMenuModule, typeof i8.TranslateModule, typeof i9.PepNgxLibModule, typeof i10.PepButtonModule, typeof i11.PepDialogModule, typeof i12.PepSelectModule, typeof i13.PepMenuModule, typeof i14.PepIconModule, typeof i15.PepTopBarModule], [typeof i1.ProfileDataViewsListComponent, typeof i2.ProfileDataViewsCardComponent, typeof i3.ProfileDataViewComponent]>;
|
|
22
23
|
static ɵinj: i0.ɵɵInjectorDeclaration<PepProfileDataViewsListModule>;
|
|
23
24
|
}
|
|
@@ -11,13 +11,14 @@ import * as i8 from "@angular/material/input";
|
|
|
11
11
|
import * as i9 from "@angular/material/button";
|
|
12
12
|
import * as i10 from "@angular/material/badge";
|
|
13
13
|
import * as i11 from "@angular/material/icon";
|
|
14
|
-
import * as i12 from "@
|
|
15
|
-
import * as i13 from "@pepperi-addons/ngx-lib
|
|
16
|
-
import * as i14 from "@pepperi-addons/ngx-lib/
|
|
14
|
+
import * as i12 from "@ngx-translate/core";
|
|
15
|
+
import * as i13 from "@pepperi-addons/ngx-lib";
|
|
16
|
+
import * as i14 from "@pepperi-addons/ngx-lib/icon";
|
|
17
|
+
import * as i15 from "@pepperi-addons/ngx-lib/field-title";
|
|
17
18
|
export declare class PepQuantitySelectorModule {
|
|
18
19
|
private pepIconRegistry;
|
|
19
20
|
constructor(pepIconRegistry: PepIconRegistry);
|
|
20
21
|
static ɵfac: i0.ɵɵFactoryDeclaration<PepQuantitySelectorModule, never>;
|
|
21
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<PepQuantitySelectorModule, [typeof i1.PepQuantitySelectorComponent, typeof i2.PepQuantitySelectorNumberPipe, typeof i3.PepQuantitySelectorValidationDirective], [typeof i4.CommonModule, typeof i5.ReactiveFormsModule, typeof i6.MatCommonModule, typeof i7.MatFormFieldModule, typeof i8.MatInputModule, typeof i9.MatButtonModule, typeof i10.MatBadgeModule, typeof i11.MatIconModule, typeof i12.
|
|
22
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<PepQuantitySelectorModule, [typeof i1.PepQuantitySelectorComponent, typeof i2.PepQuantitySelectorNumberPipe, typeof i3.PepQuantitySelectorValidationDirective], [typeof i4.CommonModule, typeof i5.ReactiveFormsModule, typeof i6.MatCommonModule, typeof i7.MatFormFieldModule, typeof i8.MatInputModule, typeof i9.MatButtonModule, typeof i10.MatBadgeModule, typeof i11.MatIconModule, typeof i12.TranslateModule, typeof i13.PepNgxLibModule, typeof i14.PepIconModule, typeof i15.PepFieldTitleModule], [typeof i1.PepQuantitySelectorComponent]>;
|
|
22
23
|
static ɵinj: i0.ɵɵInjectorDeclaration<PepQuantitySelectorModule>;
|
|
23
24
|
}
|
|
@@ -8,13 +8,14 @@ import * as i5 from "@angular/material/button";
|
|
|
8
8
|
import * as i6 from "@angular/material/form-field";
|
|
9
9
|
import * as i7 from "@angular/material/select";
|
|
10
10
|
import * as i8 from "@angular/material/icon";
|
|
11
|
-
import * as i9 from "@
|
|
12
|
-
import * as i10 from "@pepperi-addons/ngx-lib
|
|
13
|
-
import * as i11 from "@pepperi-addons/ngx-lib/
|
|
11
|
+
import * as i9 from "@ngx-translate/core";
|
|
12
|
+
import * as i10 from "@pepperi-addons/ngx-lib";
|
|
13
|
+
import * as i11 from "@pepperi-addons/ngx-lib/icon";
|
|
14
|
+
import * as i12 from "@pepperi-addons/ngx-lib/field-title";
|
|
14
15
|
export declare class PepSelectModule {
|
|
15
16
|
private pepIconRegistry;
|
|
16
17
|
constructor(pepIconRegistry: PepIconRegistry);
|
|
17
18
|
static ɵfac: i0.ɵɵFactoryDeclaration<PepSelectModule, never>;
|
|
18
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<PepSelectModule, [typeof i1.PepSelectComponent], [typeof i2.CommonModule, typeof i3.ReactiveFormsModule, typeof i3.FormsModule, typeof i4.MatCommonModule, typeof i5.MatButtonModule, typeof i6.MatFormFieldModule, typeof i7.MatSelectModule, typeof i8.MatIconModule, typeof i9.
|
|
19
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<PepSelectModule, [typeof i1.PepSelectComponent], [typeof i2.CommonModule, typeof i3.ReactiveFormsModule, typeof i3.FormsModule, typeof i4.MatCommonModule, typeof i5.MatButtonModule, typeof i6.MatFormFieldModule, typeof i7.MatSelectModule, typeof i8.MatIconModule, typeof i9.TranslateModule, typeof i10.PepNgxLibModule, typeof i11.PepIconModule, typeof i12.PepFieldTitleModule], [typeof i1.PepSelectComponent]>;
|
|
19
20
|
static ɵinj: i0.ɵɵInjectorDeclaration<PepSelectModule>;
|
|
20
21
|
}
|
|
@@ -3,5 +3,13 @@ $material-black-primary: mat.define-palette(mat.$grey-palette, 700, 300, 900);
|
|
|
3
3
|
$material-black-accent: mat.define-palette(mat.$blue-grey-palette, 400);
|
|
4
4
|
$material-black-warn: mat.define-palette(mat.$red-palette, 500);
|
|
5
5
|
|
|
6
|
-
$material-black-theme: mat.define-dark-theme(
|
|
6
|
+
$material-black-theme: mat.define-dark-theme((
|
|
7
|
+
color: (
|
|
8
|
+
primary: $material-black-primary,
|
|
9
|
+
accent: $material-black-accent,
|
|
10
|
+
warn: $material-black-warn,
|
|
11
|
+
),
|
|
12
|
+
typography: mat.define-typography-config(),
|
|
13
|
+
density: 0,
|
|
14
|
+
));
|
|
7
15
|
$user-black-theme-color: #39413e;
|
|
@@ -141,4 +141,12 @@ $material-primary: mat.define-palette($system-palette, 400, 200, 600);
|
|
|
141
141
|
$material-accent: mat.define-palette($secondary-palette);
|
|
142
142
|
$material-warn: mat.define-palette($secondary-palette, 600);
|
|
143
143
|
|
|
144
|
-
$material-default-theme: mat.define-light-theme(
|
|
144
|
+
$material-default-theme: mat.define-light-theme((
|
|
145
|
+
color: (
|
|
146
|
+
primary: $material-primary,
|
|
147
|
+
accent: $material-accent,
|
|
148
|
+
warn: $material-warn,
|
|
149
|
+
),
|
|
150
|
+
typography: mat.define-typography-config(),
|
|
151
|
+
density: 0,
|
|
152
|
+
));
|
|
@@ -3,5 +3,13 @@ $material-light-primary: mat.define-palette(mat.$grey-palette, 200, 500, 300);
|
|
|
3
3
|
$material-light-accent: mat.define-palette(mat.$brown-palette, 200);
|
|
4
4
|
$material-light-warn: mat.define-palette(mat.$deep-orange-palette, 200);
|
|
5
5
|
|
|
6
|
-
$material-light-theme: mat.define-light-theme(
|
|
6
|
+
$material-light-theme: mat.define-light-theme((
|
|
7
|
+
color: (
|
|
8
|
+
primary: $material-light-primary,
|
|
9
|
+
accent: $material-light-accent,
|
|
10
|
+
warn: $material-light-warn,
|
|
11
|
+
),
|
|
12
|
+
typography: mat.define-typography-config(),
|
|
13
|
+
density: 0,
|
|
14
|
+
));
|
|
7
15
|
$user-light-theme-color: #a8a4df;
|