{ "version": 3, "sources": ["libs/proman/src/lib/validators/number.validator.ts", "libs/proman/src/lib/validators/range.validator.ts", "libs/proman/src/lib/text-simple/proman-text-simple.component.ts", "libs/proman/src/lib/cached-requests/store/parameters.actions.ts", "libs/proman/src/lib/cached-requests/store/parameters.selectors.ts", "libs/proman/src/lib/cached-requests/store/parameters.reducer.ts", "libs/proman/src/lib/cached-requests/store/parameters.effects.ts", "libs/proman/src/lib/services/parameters-options.service.ts"], "sourcesContent": ["import { AbstractControl } from '@angular/forms';\n\nexport function NumberValidator(control: AbstractControl) {\n const value = control.value;\n const isValid = (!isNaN(parseFloat(value)) && isFinite(value) || !value);\n\n if (!isValid) return { isValidNumber: true };\n\n return null;\n}\n", "import { AbstractControl, ValidatorFn } from '@angular/forms';\n\nexport function RangeValidator(range: any): ValidatorFn {\n return (control: AbstractControl): { [key: string]: any } => {\n let formattedValue = +control.value;\n\n if (!isNaN(range.min) && !isNaN(range.max)) {\n\n if (formattedValue >= range.min && formattedValue <= range.max) {\n return null;\n\n } else {\n return { isValidRange: `${range.min} - ${range.max}` };\n\n }\n\n } else if (!isNaN(range.min)) {\n\n if (formattedValue >= range.min) {\n return null;\n\n } else {\n return { isValidRange: `'min: '${range.min}` };\n\n }\n\n } else if (!isNaN(range.max)) {\n\n if (formattedValue <= range.max) {\n return null;\n\n } else {\n return { isValidRange: `'max: '${range.max}` };\n\n }\n\n }\n\n return null;\n }\n}\n", "import { fromEvent, merge, Subject, Subscription } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, filter, map, takeUntil } from '../rxjs-common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy, ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ReactiveFormsModule, UntypedFormControl, Validators } from '@angular/forms';\nimport { InputErrorStateMatcher } from '../validators/input-error-state-matcher';\nimport { isDefinedNotNull } from '../utils';\nimport { CommonModule } from '@angular/common';\nimport { PipesModule } from '../shared/pipes/pipes.module';\nimport { MatLegacyInputModule } from '@angular/material/legacy-input';\nimport { MatLegacyFormFieldModule } from '@angular/material/legacy-form-field';\nimport { PromanButtonComponent } from '../button';\nimport { FlexLayoutModule } from 'ngx-flexible-layout';\nimport { NumberValidator } from '../validators/number.validator';\nimport { RangeValidator } from '../validators/range.validator';\n\nconst DEFAULT_DEBOUNCE_TIME = 1500;\n\n@Component({\n selector: 'pro-text-simple',\n standalone: true,\n imports: [\n CommonModule,\n ReactiveFormsModule,\n MatLegacyInputModule,\n MatLegacyFormFieldModule,\n PipesModule,\n FlexLayoutModule,\n PromanButtonComponent\n ],\n template: `\n
\n \n\n @switch (config.type) {\n @case ('textarea') {\n \n }\n \n @case ('number') {\n \n }\n \n @default {\n \n }\n }\n \n \n @if (control && control.errors) {\n \n @if (control.errors.isValidNumber) {\n {{ 'invalid_number' | translate }}\n }\n \n }\n \n @if (config.hasClearButton) {\n \n }\n
\n `\n ,\n styles: [`\n :host {\n display: inline-block;\n width: 100%;\n }\n\n mat-form-field {\n width: 100%;\n }\n\n input {\n width: 100%;\n }\n `],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class PromanTextSimpleComponent implements OnInit, OnChanges, OnDestroy, AfterViewInit {\n @Input() config: {\n label?: string;\n parseNumber?: boolean;\n parseInteger?: boolean;\n type?: 'text'|'password'|'textarea'|'number';\n autofocus?: boolean;\n required?: boolean;\n important?: boolean;\n expandable?: boolean;\n hasClearButton?: boolean;\n debounce?: number;\n preventNewLine?: boolean;\n floatLabel?: 'always' | 'auto';\n prefix?: string;\n suffix?: string;\n disabled?: boolean;\n decimals?: number;\n preventNegative?: boolean;\n validators? : {\n number?: boolean;\n range?: any\n };\n stopClickPropagation?: boolean; // for table cell use cases\n };\n @Input() value: string|number;\n @Input() disabled: any;\n @Input() control: UntypedFormControl;\n @Output() onChange: EventEmitter = new EventEmitter();\n @Output() onBlur: EventEmitter = new EventEmitter();\n @ViewChild('box') box: ElementRef;\n matchErrorState: any = new InputErrorStateMatcher();\n\n inputSubscription: Subscription;\n blurSubscription: Subscription;\n parseNumberSubscription: Subscription;\n enterSubscription: Subscription;\n emittedValue: string;\n expandedTextArea: boolean;\n destroyed$: Subject = new Subject();\n\n @ViewChild('container', { read: ViewContainerRef }) container: ViewContainerRef;\n\n constructor(\n private cd: ChangeDetectorRef,\n ) {\n\n }\n\n ngOnInit() {\n // if (this.config.type === 'number') this.config.type = 'text'; // fix to HTML clear number values with point;\n if (this.config.disabled) this.disabled = this.config.disabled;\n this.setControl();\n }\n\n isDefinedNotNull = (value: any) => isDefinedNotNull(value);\n\n setControl() {\n const config = this.config;\n const validators: any = [];\n if (!this.control) {\n\n // Set validators\n\n if (config.required) validators.push(Validators.required);\n\n if (config?.validators) {\n if (config.validators.number) validators.push(NumberValidator);\n if (config.validators.range) validators.push(RangeValidator(config.validators.range));\n // if (config.validators.email) validators.push(EmailValidator);\n // if (config.validators.noComma) validators.push(NoCommaValidator);\n // if (config.validators.length) {\n // if (config.validators.length.min) validators.push(Validators.minLength(config.validators.length.min));\n // if (config.validators.length.max) validators.push(Validators.maxLength(config.validators.length.max));\n // }\n }\n\n this.control = new UntypedFormControl(isDefinedNotNull(this.value) ? this.value : '', validators);\n }\n\n if (this.disabled) this.control.disable();\n\n this.control?.statusChanges\n .pipe(takeUntil(this.destroyed$))\n .subscribe(() => {\n this.cd.markForCheck();\n });\n\n }\n\n mapEventData = (event: any) => {\n return event.target.value;\n };\n\n getEventObservable(eventName: string) {\n return fromEvent(this.box.nativeElement, eventName).pipe(\n map(this.mapEventData));\n }\n\n ngAfterViewInit() {\n\n const getDebounceTime = () => {\n const debounce = this.config.debounce;\n\n return (!isNaN(debounce)) ? debounce : DEFAULT_DEBOUNCE_TIME;\n };\n\n this.enterSubscription = fromEvent(this.box.nativeElement, 'keydown')\n .pipe(\n filter((event: KeyboardEvent) => (event.code === 'Enter')),\n takeUntil(this.destroyed$),\n )\n .subscribe((event: any) => this.handleChange(event.target.value));\n\n this.inputSubscription = merge(\n this.getEventObservable('blur'),\n this.control.valueChanges.pipe(debounceTime(getDebounceTime()))\n )\n .pipe(\n distinctUntilChanged(),\n takeUntil(this.destroyed$),\n )\n .subscribe((value: string) => {\n if (value != this.value || (value === '' && this.value !== '')) {\n if (this.control.pending) {\n const Subscription = this.control.statusChanges.subscribe(() => {\n this.handleChange(value);\n Subscription.unsubscribe();\n });\n\n } else {\n this.handleChange(value);\n\n }\n\n }\n\n });\n\n this.blurSubscription = fromEvent(this.box.nativeElement, 'blur')\n .pipe(\n takeUntil(this.destroyed$),\n distinctUntilChanged())\n .subscribe(() => {\n this.handleBlur();\n this.onBlur.emit();\n });\n\n if (this.config.autofocus) setTimeout(() => this.box.nativeElement.focus());\n\n if (this.config.parseNumber || this.config.parseInteger) {\n this.parseNumberSubscription = fromEvent(this.box.nativeElement, 'keyup')\n .pipe(takeUntil(this.destroyed$))\n .subscribe((event: any) => this.handleParseNumber(event));\n\n }\n\n // update view on multiple line textarea\n this.cd.markForCheck();\n\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const disabled = changes.disabled;\n const value = changes.value;\n\n if (this.control && disabled && disabled.currentValue !== disabled.previousValue) {\n disabled.currentValue ?\n this.control.disable() :\n this.control.enable();\n\n }\n\n if (isDefinedNotNull(this.value)) {\n if (typeof this.value === 'number') {\n this.value = (this.value as Number).toString();\n }\n } else {\n this.value = '';\n }\n\n if (value && this.control && this.control.invalid) { //\n this.control.setValue(this.value);\n }\n\n this.cd.markForCheck();\n\n }\n\n ngOnDestroy() {\n this.destroyed$.next();\n }\n\n handleChange = (value: string) => {\n if (this.control.valid) {\n this.onChange.emit(value);\n this.emittedValue = value;\n }\n };\n\n handleParseNumber(event: any) {\n let value: string = event.target.value;\n\n if (value.indexOf(',') > -1) value = value.replace(',', '.');\n if (this.config.parseInteger && value.includes('.')) this.control.setErrors({ isValidNumber: true });\n if (this.config.preventNegative) value = value.replace(/-/, '');\n\n event.target.value = value.replace(/^0+(?!\\.|$)/, ''); // remove zeros from start\n }\n\n handleEnter(event: any) {\n if (this.config.preventNewLine) event.preventDefault();\n\n }\n\n handleBlur() {\n if (this.config.required) {\n this.control.setValue(this.emittedValue || this.value);\n\n }\n\n const trimValue = (emitValue: string): string => {\n // allow string / number comparison\n\n let result = emitValue;\n\n if (typeof result === 'string' && result !== ' ') {\n result = result.trim();\n }\n\n return result;\n };\n if (this.control.value !== trimValue(this.control.value) || this.control.value === '') {\n this.control.setValue(trimValue(this.control.value));\n }\n\n }\n\n stringLengthCheck = (value: string|number) => {\n if (typeof value === 'number') {\n return false;\n }\n\n return (value as string)?.length === 0;\n }\n\n handleClick(event: MouseEvent) {\n if (this.config.stopClickPropagation) {\n event.stopPropagation();\n }\n }\n}\n", "import { createAction, props } from '@ngrx/store';\nimport { EntityNameType } from '../../services/entity.service';\n\nexport enum ParametersActions {\n LoadData = `[Parameters] LoadData`,\n SetData = `[Parameters] SetData`,\n}\n\nexport const loadStorableData = createAction(\n ParametersActions.LoadData,\n props<{ payload: { entity: EntityNameType; entityParams?: unknown } }>()\n);\n\nexport const setStorableData = createAction(\n ParametersActions.SetData,\n props<{ payload: { key: string; data: unknown } }>()\n);\n", "import { createFeatureSelector, createSelector } from '@ngrx/store';\nimport { ParametersState } from './parameters.reducer';\n\nexport const parametersKey: string = 'parameters';\n\nexport const selectParametersState = createFeatureSelector(parametersKey);\n\nexport const getStoredData = createSelector(\n selectParametersState, (state: ParametersState, props: string) => state.data.savedData[props]\n);\n", "import { Action, createReducer, on } from '@ngrx/store';\nimport { setStorableData } from './parameters.actions';\n\nexport interface ParametersState {\n data: {\n savedData: { [key: string]: unknown };\n };\n}\n\nexport const initialState: ParametersState = {\n data: {\n savedData: {\n\n }\n },\n};\n\nexport const parametersReducer = createReducer(\n initialState,\n on(setStorableData, (state: ParametersState, action) => {\n return {\n ...state,\n data: {\n ...state.data,\n savedData: {\n ...state.data.savedData,\n [action.payload.key]: action.payload.data\n }\n }\n }\n }),\n);\n\nexport function reducer(state: ParametersState, action: Action): ParametersState {\n return parametersReducer(state, action);\n}\n", "import { Injectable } from '@angular/core';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { Store } from '@ngrx/store';\nimport { Entity, EntityNameType } from '../../services/entity.service';\nimport { ParametersActions, setStorableData } from './parameters.actions';\nimport { filter, tap, withLatestFrom } from '@proman/rxjs-common';\nimport { selectParametersState } from './parameters.selectors';\nimport { isDefined } from '../../utils';\n\ndeclare interface ParameterActionsLoadDataActionType {\n type: string;\n payload: {\n entity: EntityNameType;\n entityParams: unknown;\n };\n}\n\n@Injectable()\nexport class ParametersEffects {\n\n getKey = (data: { entity: EntityNameType; entityParams: unknown }): string => `${data.entity}|${JSON.stringify(data.entityParams)}`;\n\n loadStorableData$ = createEffect(() => this.actions$\n .pipe(\n ofType(ParametersActions.LoadData),\n withLatestFrom(this.store.select(selectParametersState)),\n filter(([_action, state]) => {\n let action: ParameterActionsLoadDataActionType = _action;\n const key = this.getKey(action.payload);\n const result = !isDefined(state.data.savedData[key]);\n if (result) this.store.dispatch(setStorableData({ payload: { key: this.getKey(action.payload), data: null } }));\n return result;\n }),\n tap(([_action, state]) => {\n let action: ParameterActionsLoadDataActionType = _action;\n this.Entity.get(action.payload.entity)\n .search(action.payload.entityParams)\n .then((response) => {\n this.store.dispatch(setStorableData({ payload: { key: this.getKey(action.payload), data: response } }));\n });\n })\n ),\n { dispatch: false }\n );\n\n constructor(\n private Entity: Entity,\n private store: Store,\n private actions$: Actions,\n ) {\n\n }\n\n}\n", "import { Injectable } from '@angular/core';\nimport { Entity, EntityNameType } from './entity.service';\nimport { Store } from '@ngrx/store';\nimport { getStoredData, loadStorableData } from '../cached-requests/store';\nimport { filter, take } from '@proman/rxjs-common';\nimport { deepCopy } from '../utils';\n\ndeclare interface ParameterOptionsSearchParams {\n entity: EntityNameType;\n entityParams?: unknown;\n emptyResponse?: boolean;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class ParametersOptionsService {\n options: any = [];\n queries: any = [];\n\n constructor(\n private Entity: Entity,\n private store: Store,\n ) {\n\n }\n\n search(\n requestParams: ParameterOptionsSearchParams): Promise {\n\n requestParams.entityParams = requestParams.entityParams || {};\n\n let entity = requestParams.entity;\n\n this.store.dispatch(loadStorableData({ payload: { entity, entityParams: requestParams.entityParams } }));\n\n return new Promise((resolve) => {\n this.store.select(getStoredData, `${entity}|${JSON.stringify(requestParams.entityParams)}`)\n .pipe(filter((value) => !!value), take(1))\n .subscribe((values) => {\n resolve(deepCopy(values) as T[]);\n });\n });\n\n }\n\n get(requestParams: ParameterOptionsSearchParams): Promise {\n return this.search(requestParams).then((response: T[]) => response[0]);\n }\n\n}\n"], "mappings": "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", "names": ["NumberValidator", "control", "value", "isValid", "isNaN", "parseFloat", "isFinite", "isValidNumber", "RangeValidator", "range", "control", "formattedValue", "value", "isNaN", "min", "max", "isValidRange", "i0", "\u0275\u0275elementStart", "\u0275\u0275listener", "PromanTextSimpleComponent_Case_2_Template_textarea_keydown_enter_0_listener", "$event", "\u0275\u0275restoreView", "_r7", "ctx_r6", "\u0275\u0275nextContext", "\u0275\u0275resetView", "handleEnter", "\u0275\u0275elementEnd", "\u0275\u0275property", "ctx_r0", "config", "expandable", "\u0275\u0275pureFunction0", "_c2", "_c3", "\u0275\u0275pipeBind1", "label", "value", "control", "required", "matchErrorState", "\u0275\u0275element", "ctx_r1", "\u0275\u0275pipeBind2", "decimals", "ctx_r2", "type", "\u0275\u0275text", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "\u0275\u0275template", "PromanTextSimpleComponent_Conditional_5_Conditional_1_Template", "\u0275\u0275conditional", "ctx_r3", "errors", "isValidNumber", "PromanTextSimpleComponent_Conditional_6_Template_pro_btn_onClick_0_listener", "_r12", "ctx_r11", "reset", "ctx_r4", "stringLengthCheck", "DEFAULT_DEBOUNCE_TIME", "PromanTextSimpleComponent", "constructor", "cd", "onChange", "EventEmitter", "onBlur", "InputErrorStateMatcher", "destroyed$", "Subject", "isDefinedNotNull", "mapEventData", "event", "target", "handleChange", "valid", "emit", "emittedValue", "length", "ngOnInit", "disabled", "setControl", "validators", "push", "Validators", "number", "NumberValidator", "range", "RangeValidator", "UntypedFormControl", "disable", "statusChanges", "pipe", "takeUntil", "subscribe", "markForCheck", "getEventObservable", "eventName", "fromEvent", "box", "nativeElement", "map", "ngAfterViewInit", "getDebounceTime", "debounce", "isNaN", "enterSubscription", "filter", "code", "inputSubscription", "merge", "valueChanges", "debounceTime", "distinctUntilChanged", "pending", "Subscription", "unsubscribe", "blurSubscription", "handleBlur", "autofocus", "setTimeout", "focus", "parseNumber", "parseInteger", "parseNumberSubscription", "handleParseNumber", "ngOnChanges", "changes", "currentValue", "previousValue", "enable", "toString", "invalid", "setValue", "ngOnDestroy", "next", "indexOf", "replace", "includes", "setErrors", "preventNegative", "preventNewLine", "preventDefault", "trimValue", "emitValue", "result", "trim", "handleClick", "stopClickPropagation", "stopPropagation", "\u0275\u0275directiveInject", "ChangeDetectorRef", "selectors", "viewQuery", "PromanTextSimpleComponent_Query", "rf", "ctx", "ViewContainerRef", "PromanTextSimpleComponent_Template_div_click_0_listener", "PromanTextSimpleComponent_Case_2_Template", "PromanTextSimpleComponent_Case_3_Template", "PromanTextSimpleComponent_Case_4_Template", "PromanTextSimpleComponent_Conditional_5_Template", "PromanTextSimpleComponent_Conditional_6_Template", "floatLabel", "important", "\u0275\u0275attribute", "PromanTextSimpleComponent_contFlowTmp", "hasClearButton", "CommonModule", "NgStyle", "ReactiveFormsModule", "DefaultValueAccessor", "NgControlStatus", "RequiredValidator", "FormControlDirective", "MatLegacyInputModule", "MatLegacyError", "MatLegacyFormField", "MatLegacyInput", "MatLegacyFormFieldModule", "PipesModule", "DecimalPipe", "TranslatePipe", "FlexLayoutModule", "DefaultLayoutDirective", "DefaultStyleDirective", "PromanButtonComponent", "styles", "changeDetection", "ParametersActions", "loadStorableData", "createAction", "LoadData", "props", "setStorableData", "SetData", "parametersKey", "selectParametersState", "createFeatureSelector", "getStoredData", "createSelector", "state", "props", "data", "savedData", "initialState", "data", "savedData", "parametersReducer", "createReducer", "on", "setStorableData", "state", "action", "payload", "key", "reducer", "ParametersEffects", "constructor", "Entity", "store", "actions$", "getKey", "data", "entity", "JSON", "stringify", "entityParams", "loadStorableData$", "createEffect", "pipe", "ofType", "ParametersActions", "LoadData", "withLatestFrom", "select", "selectParametersState", "filter", "_action", "state", "action", "key", "payload", "result", "isDefined", "savedData", "dispatch", "setStorableData", "tap", "get", "search", "then", "response", "\u0275\u0275inject", "Store", "Actions", "factory", "\u0275fac", "ParametersOptionsService", "constructor", "Entity", "store", "options", "queries", "search", "requestParams", "entityParams", "entity", "dispatch", "loadStorableData", "payload", "Promise", "resolve", "select", "getStoredData", "JSON", "stringify", "pipe", "filter", "value", "take", "subscribe", "values", "deepCopy", "get", "then", "response", "\u0275\u0275inject", "Store", "factory", "\u0275fac", "providedIn"] }