@gerandon/ngx-widgets 17.0.0
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +24 -0
- package/esm2022/gerandon-ngx-widgets.mjs +5 -0
- package/esm2022/lib/basic-chips/basic-chips.component.mjs +80 -0
- package/esm2022/lib/basic-input/basic-input.component.mjs +41 -0
- package/esm2022/lib/core/base-input.mjs +81 -0
- package/esm2022/lib/core/base-text-input.mjs +20 -0
- package/esm2022/lib/core/base-value-accessor.mjs +63 -0
- package/esm2022/lib/core/component-unsubscribe.mjs +54 -0
- package/esm2022/lib/select/select.component.mjs +61 -0
- package/esm2022/lib/textarea-input/textarea-input.component.mjs +39 -0
- package/esm2022/public-api.mjs +12 -0
- package/fesm2022/gerandon-ngx-widgets.mjs +409 -0
- package/fesm2022/gerandon-ngx-widgets.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/basic-chips/basic-chips.component.d.ts +17 -0
- package/lib/basic-input/basic-input.component.d.ts +9 -0
- package/lib/core/base-input.d.ts +38 -0
- package/lib/core/base-text-input.d.ts +8 -0
- package/lib/core/base-value-accessor.d.ts +28 -0
- package/lib/core/component-unsubscribe.d.ts +8 -0
- package/lib/select/select.component.d.ts +26 -0
- package/lib/textarea-input/textarea-input.component.d.ts +7 -0
- package/package.json +56 -0
- package/public-api.d.ts +8 -0
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"gerandon-ngx-widgets.mjs","sources":["../../../projects/ngx-widgets/src/lib/core/base-value-accessor.ts","../../../projects/ngx-widgets/src/lib/core/base-input.ts","../../../projects/ngx-widgets/src/lib/core/base-text-input.ts","../../../projects/ngx-widgets/src/lib/core/component-unsubscribe.ts","../../../projects/ngx-widgets/src/lib/basic-input/basic-input.component.ts","../../../projects/ngx-widgets/src/lib/basic-input/basic-input.component.html","../../../projects/ngx-widgets/src/lib/select/select.component.ts","../../../projects/ngx-widgets/src/lib/select/select.component.html","../../../projects/ngx-widgets/src/lib/textarea-input/textarea-input.component.ts","../../../projects/ngx-widgets/src/lib/textarea-input/textarea-input.component.html","../../../projects/ngx-widgets/src/lib/basic-chips/basic-chips.component.ts","../../../projects/ngx-widgets/src/lib/basic-chips/basic-chips.component.html","../../../projects/ngx-widgets/src/public-api.ts","../../../projects/ngx-widgets/src/gerandon-ngx-widgets.ts"],"sourcesContent":["import {\r\n AfterViewInit,\r\n ChangeDetectorRef, Directive,\r\n ElementRef, inject,\r\n Injector, Input, OnDestroy, Type,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport {\r\n AbstractControl,\r\n ControlValueAccessor, FormControl,\r\n NgControl,\r\n ValidationErrors,\r\n Validator, ValidatorFn,\r\n} from '@angular/forms';\r\n\r\nimport {Observable, of, Subject} from 'rxjs';\r\n\r\n@Directive()\r\nexport class BaseValueAccessor<T> implements ControlValueAccessor, AfterViewInit, Validator, OnDestroy {\r\n\r\n @Input() public validator: Observable<ValidationErrors> = of({});\r\n @ViewChild('inputElement') inputElement!: ElementRef;\r\n @ViewChild('input') input!: NgControl;\r\n\r\n public control: FormControl;\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n private onChange = (value: T) => {\r\n };\r\n private onTouched = () => {\r\n };\r\n private readonly injector: Injector = inject(Injector);\r\n protected controlDir!: NgControl;\r\n protected readonly cdr: ChangeDetectorRef = inject(ChangeDetectorRef);\r\n protected _validate: ValidatorFn;\r\n protected readonly _defaultValidate: ValidatorFn = () => null;\r\n\r\n protected readonly destroy$ = new Subject<void>();\r\n\r\n constructor() {\r\n this._validate = this._defaultValidate;\r\n // Temporarily, AfterViewInit will handle the correct setting\r\n this.control = new FormControl();\r\n }\r\n\r\n validate(control: AbstractControl): Observable<ValidationErrors> {\r\n control.setErrors({ ...control.errors, pending: true });\r\n return this.validator;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.controlDir = this.injector.get<NgControl>(NgControl as Type<NgControl>);\r\n this.control = <FormControl>this.controlDir.control;\r\n // For ng-valid expression changed error workaround purposes\r\n this.cdr.detectChanges();\r\n }\r\n\r\n writeValue(obj: T): void {\r\n this.valueAccessor?.writeValue(obj);\r\n }\r\n\r\n registerOnChange(fn: (value: T) => unknown): void {\r\n this.onChange = fn;\r\n this.valueAccessor?.registerOnChange(fn);\r\n }\r\n\r\n registerOnTouched(fn: () => unknown) {\r\n this.onTouched = fn;\r\n this.valueAccessor?.registerOnTouched(fn);\r\n }\r\n\r\n protected get valueAccessor(): ControlValueAccessor | null {\r\n return this.input ? this.input.valueAccessor : null;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n}\r\n","import {\r\n AfterViewInit,\r\n Directive, Inject, inject, InjectionToken,\r\n Input, OnChanges,\r\n OnInit, Optional, SimpleChanges,\r\n} from '@angular/core';\r\nimport { FloatLabelType, SubscriptSizing } from '@angular/material/form-field';\r\n\r\nimport { BaseValueAccessor } from './base-value-accessor';\r\nimport { isEmpty, keys } from 'lodash-es';\r\n\r\nexport interface NgxWidgetsValidationErrorTypes {\r\n required?: string;\r\n selectGlobalPlaceholder?: string;\r\n}\r\nexport const NGX_WIDGETS_VALIDATION_TRANSLATIONS = new InjectionToken<NgxWidgetsValidationErrorTypes>('NGX_WIDGETS_VALIDATION_TRANSLATIONS');\r\n\r\n@Directive()\r\nexport class BaseInput<T> extends BaseValueAccessor<T> implements OnInit, AfterViewInit, OnChanges {\r\n\r\n @Input() public id!: string;\r\n @Input() public name!: string;\r\n @Input() public label!: string;\r\n @Input() public translateParams?: unknown;\r\n @Input() public placeholder!: string;\r\n @Input() public isDisabled? = false;\r\n @Input() public floatLabel: FloatLabelType = 'auto';\r\n @Input() public prefixIcon?: string;\r\n @Input() public suffixIcon?: string;\r\n @Input() public suffix?: string;\r\n @Input() public formControlName?: string;\r\n @Input() public validatorMessages?: { [key: string]: string };\r\n @Input() public subscriptSizing: SubscriptSizing = 'fixed';\r\n @Input() public hintLabel = '';\r\n public validatorMessagesArray: { key: string, value: unknown }[] = [];\r\n\r\n constructor(@Optional() @Inject(NGX_WIDGETS_VALIDATION_TRANSLATIONS) protected readonly validationTranslations: NgxWidgetsValidationErrorTypes) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.placeholder = this.placeholder === undefined ? this.label : this.placeholder;\r\n if (!this.name) {\r\n this.name = this.formControlName!;\r\n /*\r\n console.warn(`name attribute is not defined for ${this.formControlName}! Please beware, that using this control multiple\r\n times with the same control name could result in wrong focus, clicking on the label!`);\r\n */\r\n }\r\n // *ngIf seems like does not re-render component when label is used with dynamic value (e.g.: translate pipe). Strange\r\n this.label = this.label || ' ';\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['validatorMessages']) {\r\n if (!isEmpty(this.validatorMessages)) {\r\n this.validatorMessagesArray = keys(this.validatorMessages).map((key) => ({\r\n key,\r\n value: this.validatorMessages![key],\r\n }));\r\n }\r\n }\r\n }\r\n\r\n override ngAfterViewInit() {\r\n super.ngAfterViewInit();\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","import {\r\n Directive,\r\n Input,\r\n} from '@angular/core';\r\n\r\nimport { BaseInput } from './base-input';\r\n\r\n@Directive()\r\nexport class BaseTextInput<T> extends BaseInput<T> {\r\n\r\n @Input() public type: ('text' | 'password' | 'number' | 'email' | 'tel') = 'text';\r\n @Input() public maxLength? = 512;\r\n}\r\n","import { isDevMode } from '@angular/core';\n\nimport { Observable, Subject, takeUntil } from 'rxjs';\nimport { SafeSubscriber } from 'rxjs/internal/Subscriber';\n\n/**\n * Automatically unsubscribe from an Observable when the view is destroyed\n * Tested with checking the \"complete\" event of a subscribe method\n * @description\n * An Annotation that should be used with an Observable typed variable to handle its subscriptions\n * @author gergo.asztalos\n */\nexport function UnsubscribeOnDestroy<ObservableType>(): PropertyDecorator {\n return function (target: any, propertyKey: string | symbol) {\n const ngOnDestroy = target.ngOnDestroy;\n\n const secretKey = `_${<string>propertyKey}$`;\n // Probably with function we could use own context\n const destroyKey = (_this: any) =>\n _this.hasOwnProperty('destroy$') ? 'destroy$' : `${_this.constructor.name}_destroy$`;\n Object.defineProperty(target, secretKey, { enumerable: false, writable: true });\n Object.defineProperty(target, propertyKey, {\n configurable: true,\n enumerable: true,\n get: function() {\n return this[secretKey];\n },\n set: function(newValue: Observable<ObservableType> | SafeSubscriber<ObservableType>) {\n if (!this[destroyKey(this)]) {\n this[destroyKey(this)] = new Subject();\n }\n if (newValue instanceof Observable) {\n this[secretKey] = newValue.pipe(\n takeUntil(this[destroyKey(this)]),\n );\n } else {\n this[secretKey] = newValue;\n }\n },\n });\n\n target.ngOnDestroy = function () {\n if (this[propertyKey] instanceof SafeSubscriber) {\n this[propertyKey].unsubscribe();\n this[secretKey].unsubscribe();\n } else if (this.hasOwnProperty(destroyKey(this))) {\n this[destroyKey(this)].next();\n this[destroyKey(this)].complete();\n }\n delete this[secretKey];\n if (isDevMode()) {\n // eslint-disable-next-line no-console,max-len\n console.debug(`<UnsubscribeOnDestroy> - Observable/Subscription <${<string>propertyKey}> completed in class: ${this.constructor.name}`);\n }\n ngOnDestroy && ngOnDestroy.call(this);\n };\n };\n}\n","import {\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n OnInit,\r\n Output,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { NG_ASYNC_VALIDATORS, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\n\r\nimport { BaseTextInput } from '../core/base-text-input';\r\n\r\n@Component({\r\n selector: 'gerandon-basic-input',\r\n templateUrl: './basic-input.component.html',\r\n styleUrls: ['./basic-input.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n standalone: true,\r\n imports: [\r\n ReactiveFormsModule,\r\n MatIconModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n ],\r\n providers: [\r\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => BasicInputComponent), multi: true },\r\n { provide: NG_ASYNC_VALIDATORS, useExisting: forwardRef(() => BasicInputComponent), multi: true },\r\n ],\r\n})\r\nexport class BasicInputComponent extends BaseTextInput<string> implements OnInit {\r\n\r\n @Output() iconClick = new EventEmitter();\r\n\r\n override ngOnInit() {\r\n super.ngOnInit();\r\n this.id = this.id || this.name;\r\n }\r\n}\r\n","<div class=\"basic-input cva-input\">\r\n <mat-form-field appearance=\"outline\" [subscriptSizing]=\"subscriptSizing\" [hintLabel]=\"hintLabel\" [floatLabel]=\"floatLabel\">\r\n @if (label) {\r\n <mat-label [class.disabled]=\"isDisabled\">{{label}}</mat-label>\r\n }\r\n <input\r\n [id]=\"id\"\r\n #inputElement\r\n #input=\"ngForm\"\r\n matInput\r\n [style.padding-right]=\"(suffix || prefixIcon) && '35px'\"\r\n [type]=\"type\"\r\n [attr.disabled]=\"isDisabled || control.disabled ? '' : null\"\r\n [readonly]=\"isDisabled\"\r\n [placeholder]=\"placeholder\"\r\n [formControl]=\"control\"\r\n [maxLength]=\"maxLength\"\r\n [name]=\"name\"\r\n [required]=\"!!control.errors?.['required']\"/>\r\n @if (prefixIcon) {\r\n <mat-icon matPrefix color=\"accent\">\r\n {{prefixIcon}}\r\n </mat-icon>\r\n }\r\n @if (suffixIcon) {\r\n <mat-icon matSuffix color=\"accent\">\r\n {{suffixIcon}}\r\n </mat-icon>\r\n }\r\n @if (suffix) {\r\n <span matSuffix style=\"margin-right: 10px\">{{suffix}}</span>\r\n }\r\n @if (control.errors?.['server']) {\r\n <mat-error>{{ control.errors?.['server'] }}</mat-error>\r\n } @else if (control.errors?.['required']) {\r\n <mat-error>{{ validationTranslations.required }}</mat-error>\r\n @for (error of validatorMessagesArray; track error) {\r\n @if (control.errors?.[error.key]) {\r\n <mat-error>{{ error.value }}</mat-error>\r\n }\r\n }\r\n }\r\n </mat-form-field>\r\n</div>\r\n","import {\r\n Component,\r\n ElementRef,\r\n forwardRef,\r\n Input,\r\n OnInit,\r\n QueryList,\r\n ViewChildren,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\n\r\nimport {BaseInput} from '../core/base-input';\r\nimport { isEqual } from 'lodash-es';\r\nimport { Observable } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\nexport interface SelectOptionType {\r\n label: string;\r\n value: string | number | null | unknown;\r\n}\r\n\r\n@Component({\r\n selector: 'gerandon-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n standalone: true,\r\n providers: [\r\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SelectComponent), multi: true }\r\n ],\r\n imports: [\r\n MatInputModule,\r\n MatSelectModule,\r\n ReactiveFormsModule,\r\n MatTooltipModule,\r\n ],\r\n})\r\nexport class SelectComponent extends BaseInput<unknown> implements OnInit {\r\n\r\n /**\r\n * In this case, an empty option appears that resets the control, to an empty value state\r\n */\r\n @Input() public emptyOptionLabel?: string;\r\n @Input() public multiple?: boolean;\r\n @Input() public options!: SelectOptionType[];\r\n @Input() public asyncOptions!: Observable<SelectOptionType[]>;\r\n @ViewChildren('optionElements') public optionElements!: QueryList<ElementRef>;\r\n\r\n /**\r\n * Angular Material - Select component comparsion is only '===', does not work with Array values\r\n * https://github.com/angular/components/blob/a07c0758a5ec2eb4de1bb822354be08178c66aa4/src/lib/select/select.ts#L242C48-L242C58\r\n */\r\n public readonly _isEqual = isEqual;\r\n\r\n override ngOnInit() {\r\n this.placeholder = !this.placeholder ? (this.validationTranslations.selectGlobalPlaceholder || this.label) : this.placeholder;\r\n super.ngOnInit();\r\n this.id = this.id || this.formControlName || this.name;\r\n if (this.asyncOptions) {\r\n this.asyncOptions.pipe(takeUntil(this.destroy$)).subscribe((resp) => {\r\n this.options = resp;\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n }\r\n}\r\n","<mat-form-field appearance=\"outline\" [subscriptSizing]=\"subscriptSizing\" [floatLabel]=\"floatLabel\">\r\n @if (label) {\r\n <mat-label>{{ label }}</mat-label>\r\n }\r\n <mat-select #inputElement\r\n #input=\"ngForm\"\r\n [multiple]=\"multiple\"\r\n [placeholder]=\"!floatLabel ? label : placeholder\"\r\n [formControl]=\"control\"\r\n [id]=\"id\"\r\n [class.input-disabled]=\"isDisabled || control.disabled\"\r\n [compareWith]=\"_isEqual\"\r\n [attr.disabled]=\"isDisabled || control.disabled ? '' : null\">\r\n @if (emptyOptionLabel) {\r\n <mat-option (click)=\"control.reset()\">\r\n {{ emptyOptionLabel }}\r\n </mat-option>\r\n }\r\n @for(option of options; track option) {\r\n <mat-option [value]=\"option.value\">\r\n {{ option.label }}\r\n </mat-option>\r\n }\r\n </mat-select>\r\n @if (suffix) {\r\n <span matSuffix>{{suffix}}</span>\r\n }\r\n @if (control.errors?.['server']) {\r\n <mat-error>{{ control.errors?.['server'] }}</mat-error>\r\n } @else if (control.errors?.['required']) {\r\n <mat-error>{{ validationTranslations.required }}</mat-error>\r\n @for (error of validatorMessagesArray; track error) {\r\n <mat-error>{{ error.value }}</mat-error>\r\n }\r\n }\r\n</mat-form-field>\r\n","import { Component, forwardRef, Input, ViewEncapsulation } from '@angular/core';\r\nimport { FormsModule, NG_ASYNC_VALIDATORS, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport {BaseTextInput} from \"../core/base-text-input\";\r\n\r\n@Component({\r\n selector: 'gerandon-textarea-input',\r\n templateUrl: 'textarea-input.component.html',\r\n styleUrls: ['textarea-input.component.scss'],\r\n standalone: true,\r\n encapsulation: ViewEncapsulation.None,\r\n imports: [\r\n FormsModule,\r\n MatFormFieldModule,\r\n MatIconModule,\r\n MatInputModule,\r\n ReactiveFormsModule,\r\n ],\r\n providers: [\r\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => TextareaInputComponent), multi: true },\r\n { provide: NG_ASYNC_VALIDATORS, useExisting: forwardRef(() => TextareaInputComponent), multi: true },\r\n ],\r\n})\r\nexport class TextareaInputComponent extends BaseTextInput<string> {\r\n\r\n @Input() public rows = 10;\r\n\r\n}\r\n","<div class=\"textarea-input cva-input\">\r\n <mat-form-field appearance=\"outline\" [subscriptSizing]=\"subscriptSizing\" [floatLabel]=\"floatLabel\">\r\n @if (label) {\r\n <mat-label [class.disabled]=\"isDisabled\">{{ label }}</mat-label>\r\n }\r\n <textarea\r\n [id]=\"id\"\r\n #inputElement\r\n #input=\"ngForm\"\r\n #autosize=\"cdkTextareaAutosize\"\r\n matInput\r\n cdkTextareaAutosize\r\n [cdkAutosizeMinRows]=\"rows\"\r\n class=\"w-100 cva-control\"\r\n [attr.disabled]=\"isDisabled || control.disabled ? '' : null\"\r\n [readonly]=\"isDisabled\"\r\n [placeholder]=\"placeholder\"\r\n [formControl]=\"control\"\r\n [maxLength]=\"maxLength\"\r\n [name]=\"name\">\r\n </textarea>\r\n <span class=\"counter\">{{control?.value?.length || 0}} / {{ maxLength }}</span>\r\n @if (prefixIcon) {\r\n <mat-icon matPrefix color=\"accent\">\r\n {{prefixIcon}}\r\n </mat-icon>\r\n }\r\n @if (suffixIcon) {\r\n <mat-icon matSuffix color=\"accent\">\r\n {{suffixIcon}}\r\n </mat-icon>\r\n }\r\n @if (suffix) {\r\n <span matSuffix>{{suffix}}</span>\r\n }\r\n @if (control.errors?.['server']) {\r\n <mat-error>{{ control.errors?.['server'] }}</mat-error>\r\n } @else if (control.errors?.['required']) {\r\n <mat-error>{{ validationTranslations.required }}</mat-error>\r\n @for (error of validatorMessagesArray; track error) {\r\n <mat-error>{{ error.value }}</mat-error>\r\n }\r\n }\r\n </mat-form-field>\r\n</div>\r\n","import { COMMA, ENTER } from '@angular/cdk/keycodes';\nimport { AsyncPipe, JsonPipe } from '@angular/common';\nimport { Component, forwardRef, Input, ViewEncapsulation } from '@angular/core';\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { MatAutocompleteModule, MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';\nimport { MatChipInputEvent, MatChipsModule } from '@angular/material/chips';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { Observable } from 'rxjs';\nimport {BaseInput} from \"../core/base-input\";\nimport {MatError, MatFormField, MatLabel} from \"@angular/material/form-field\";\nimport {MatInput} from \"@angular/material/input\";\n\n@Component({\n selector: 'gerandon-basic-chips',\n templateUrl: 'basic-chips.component.html',\n styleUrls: ['basic-chips.component.scss'],\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => BasicChipsComponent), multi: true }],\n imports: [\n MatChipsModule,\n MatIconModule,\n ReactiveFormsModule,\n MatAutocompleteModule,\n AsyncPipe,\n JsonPipe,\n MatFormField,\n MatInput,\n MatLabel,\n MatError,\n ],\n})\nexport class BasicChipsComponent<T> extends BaseInput<T[]> {\n\n @Input() public asyncOptions?: Observable<T[]>;\n @Input() public labelProperty?: keyof T;\n public readonly separatorKeysCodes = [ENTER, COMMA] as const;\n\n remove(item: T) {\n const values: T[] = this.control.value;\n const index = values.indexOf(item);\n if (index >= 0) {\n values.splice(index, 1);\n this.control.setValue(values);\n }\n\n this.mark();\n }\n\n add(event: MatChipInputEvent): void {\n const value = (event.value || '').trim();\n if (value) {\n this.updateValue(value as T);\n }\n event.chipInput!.clear();\n\n this.mark();\n }\n\n selected(event: MatAutocompleteSelectedEvent): void {\n if (!this.control.value?.includes(event.option.value)) {\n this.updateValue(<T>event.option.value);\n }\n this.inputElement.nativeElement.value = '';\n\n this.mark();\n }\n\n private updateValue(value: T) {\n this.control.setValue([\n ...(this.control.value || []),\n value,\n ]);\n }\n\n private mark() {\n if (!this.control.touched) {\n this.control.markAsTouched();\n this.control.markAsDirty();\n }\n }\n}\n","<mat-form-field appearance=\"outline\" [subscriptSizing]=\"subscriptSizing\" [floatLabel]=\"floatLabel\">\r\n @if (label) {\r\n <mat-label [class.disabled]=\"isDisabled\">{{ label }}</mat-label>\r\n }\r\n <mat-chip-grid #chipGrid class=\"w-100\">\r\n @for(item of control.value; track item) {\r\n <mat-chip-row (removed)=\"remove(item)\" color=\"primary\" highlighted>\r\n {{ labelProperty ? item[labelProperty] : item}}\r\n <button matChipRemove [attr.aria-label]=\"(labelProperty ? item[labelProperty] : item) + ' eltávolítása'\">\r\n <mat-icon>cancel</mat-icon>\r\n </button>\r\n </mat-chip-row>\r\n }\r\n <input #inputElement\r\n matInput\r\n [placeholder]=\"placeholder || label\"\r\n [matAutocomplete]=\"auto\"\r\n [matChipInputFor]=\"chipGrid\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\r\n (matChipInputTokenEnd)=\"!labelProperty && add($event)\"/>\r\n <mat-autocomplete #auto=\"matAutocomplete\"\r\n (optionSelected)=\"selected($event)\">\r\n @for (filterItem of asyncOptions | async; track filterItem) {\r\n <mat-option [value]=\"filterItem\">\r\n {{labelProperty ? filterItem[labelProperty] : filterItem}}\r\n </mat-option>\r\n }\r\n </mat-autocomplete>\r\n </mat-chip-grid>\r\n <input #input=\"ngForm\" [style.display]=\"'none'\" [formControl]=\"control\" />\r\n @if (control.errors?.['server']) {\r\n <mat-error>{{ control.errors?.['server'] }}</mat-error>\r\n } @else if (control.errors?.['required']) {\r\n <mat-error>{{ validationTranslations.required }}</mat-error>\r\n @for (error of validatorMessagesArray; track error) {\r\n <mat-error>{{ error.value }}</mat-error>\r\n }\r\n }\r\n</mat-form-field>\r\n","/*\n * Public API Surface of ngx-widgets\n */\n\nexport * from './lib/core/base-value-accessor';\nexport * from './lib/core/base-input';\nexport * from './lib/core/base-text-input';\nexport * from './lib/core/component-unsubscribe';\n\nexport * from './lib/basic-input/basic-input.component';\nexport * from './lib/select/select.component';\nexport * from './lib/textarea-input/textarea-input.component';\nexport * from './lib/basic-chips/basic-chips.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["takeUntil","i1","i2","i3","i4","i5"],"mappings":"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"}
|
package/index.d.ts
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
import { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';
|
2
|
+
import { MatChipInputEvent } from '@angular/material/chips';
|
3
|
+
import { Observable } from 'rxjs';
|
4
|
+
import { BaseInput } from "../core/base-input";
|
5
|
+
import * as i0 from "@angular/core";
|
6
|
+
export declare class BasicChipsComponent<T> extends BaseInput<T[]> {
|
7
|
+
asyncOptions?: Observable<T[]>;
|
8
|
+
labelProperty?: keyof T;
|
9
|
+
readonly separatorKeysCodes: readonly [13, 188];
|
10
|
+
remove(item: T): void;
|
11
|
+
add(event: MatChipInputEvent): void;
|
12
|
+
selected(event: MatAutocompleteSelectedEvent): void;
|
13
|
+
private updateValue;
|
14
|
+
private mark;
|
15
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BasicChipsComponent<any>, never>;
|
16
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BasicChipsComponent<any>, "gerandon-basic-chips", never, { "asyncOptions": { "alias": "asyncOptions"; "required": false; }; "labelProperty": { "alias": "labelProperty"; "required": false; }; }, {}, never, never, true, never>;
|
17
|
+
}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import { EventEmitter, OnInit } from '@angular/core';
|
2
|
+
import { BaseTextInput } from '../core/base-text-input';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
export declare class BasicInputComponent extends BaseTextInput<string> implements OnInit {
|
5
|
+
iconClick: EventEmitter<any>;
|
6
|
+
ngOnInit(): void;
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BasicInputComponent, never>;
|
8
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BasicInputComponent, "gerandon-basic-input", never, {}, { "iconClick": "iconClick"; }, never, never, true, never>;
|
9
|
+
}
|
@@ -0,0 +1,38 @@
|
|
1
|
+
import { AfterViewInit, InjectionToken, OnChanges, OnInit, SimpleChanges } from '@angular/core';
|
2
|
+
import { FloatLabelType, SubscriptSizing } from '@angular/material/form-field';
|
3
|
+
import { BaseValueAccessor } from './base-value-accessor';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
export interface NgxWidgetsValidationErrorTypes {
|
6
|
+
required?: string;
|
7
|
+
selectGlobalPlaceholder?: string;
|
8
|
+
}
|
9
|
+
export declare const NGX_WIDGETS_VALIDATION_TRANSLATIONS: InjectionToken<NgxWidgetsValidationErrorTypes>;
|
10
|
+
export declare class BaseInput<T> extends BaseValueAccessor<T> implements OnInit, AfterViewInit, OnChanges {
|
11
|
+
protected readonly validationTranslations: NgxWidgetsValidationErrorTypes;
|
12
|
+
id: string;
|
13
|
+
name: string;
|
14
|
+
label: string;
|
15
|
+
translateParams?: unknown;
|
16
|
+
placeholder: string;
|
17
|
+
isDisabled?: boolean | undefined;
|
18
|
+
floatLabel: FloatLabelType;
|
19
|
+
prefixIcon?: string;
|
20
|
+
suffixIcon?: string;
|
21
|
+
suffix?: string;
|
22
|
+
formControlName?: string;
|
23
|
+
validatorMessages?: {
|
24
|
+
[key: string]: string;
|
25
|
+
};
|
26
|
+
subscriptSizing: SubscriptSizing;
|
27
|
+
hintLabel: string;
|
28
|
+
validatorMessagesArray: {
|
29
|
+
key: string;
|
30
|
+
value: unknown;
|
31
|
+
}[];
|
32
|
+
constructor(validationTranslations: NgxWidgetsValidationErrorTypes);
|
33
|
+
ngOnInit(): void;
|
34
|
+
ngOnChanges(changes: SimpleChanges): void;
|
35
|
+
ngAfterViewInit(): void;
|
36
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BaseInput<any>, [{ optional: true; }]>;
|
37
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<BaseInput<any>, never, never, { "id": { "alias": "id"; "required": false; }; "name": { "alias": "name"; "required": false; }; "label": { "alias": "label"; "required": false; }; "translateParams": { "alias": "translateParams"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "isDisabled": { "alias": "isDisabled"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "prefixIcon": { "alias": "prefixIcon"; "required": false; }; "suffixIcon": { "alias": "suffixIcon"; "required": false; }; "suffix": { "alias": "suffix"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "validatorMessages": { "alias": "validatorMessages"; "required": false; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; }; "hintLabel": { "alias": "hintLabel"; "required": false; }; }, {}, never, never, false, never>;
|
38
|
+
}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import { BaseInput } from './base-input';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export declare class BaseTextInput<T> extends BaseInput<T> {
|
4
|
+
type: ('text' | 'password' | 'number' | 'email' | 'tel');
|
5
|
+
maxLength?: number | undefined;
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BaseTextInput<any>, never>;
|
7
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<BaseTextInput<any>, never, never, { "type": { "alias": "type"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; }; }, {}, never, never, false, never>;
|
8
|
+
}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import { AfterViewInit, ChangeDetectorRef, ElementRef, OnDestroy } from '@angular/core';
|
2
|
+
import { AbstractControl, ControlValueAccessor, FormControl, NgControl, ValidationErrors, Validator, ValidatorFn } from '@angular/forms';
|
3
|
+
import { Observable, Subject } from 'rxjs';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
export declare class BaseValueAccessor<T> implements ControlValueAccessor, AfterViewInit, Validator, OnDestroy {
|
6
|
+
validator: Observable<ValidationErrors>;
|
7
|
+
inputElement: ElementRef;
|
8
|
+
input: NgControl;
|
9
|
+
control: FormControl;
|
10
|
+
private onChange;
|
11
|
+
private onTouched;
|
12
|
+
private readonly injector;
|
13
|
+
protected controlDir: NgControl;
|
14
|
+
protected readonly cdr: ChangeDetectorRef;
|
15
|
+
protected _validate: ValidatorFn;
|
16
|
+
protected readonly _defaultValidate: ValidatorFn;
|
17
|
+
protected readonly destroy$: Subject<void>;
|
18
|
+
constructor();
|
19
|
+
validate(control: AbstractControl): Observable<ValidationErrors>;
|
20
|
+
ngAfterViewInit(): void;
|
21
|
+
writeValue(obj: T): void;
|
22
|
+
registerOnChange(fn: (value: T) => unknown): void;
|
23
|
+
registerOnTouched(fn: () => unknown): void;
|
24
|
+
protected get valueAccessor(): ControlValueAccessor | null;
|
25
|
+
ngOnDestroy(): void;
|
26
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BaseValueAccessor<any>, never>;
|
27
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<BaseValueAccessor<any>, never, never, { "validator": { "alias": "validator"; "required": false; }; }, {}, never, never, false, never>;
|
28
|
+
}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
/**
|
2
|
+
* Automatically unsubscribe from an Observable when the view is destroyed
|
3
|
+
* Tested with checking the "complete" event of a subscribe method
|
4
|
+
* @description
|
5
|
+
* An Annotation that should be used with an Observable typed variable to handle its subscriptions
|
6
|
+
* @author gergo.asztalos
|
7
|
+
*/
|
8
|
+
export declare function UnsubscribeOnDestroy<ObservableType>(): PropertyDecorator;
|
@@ -0,0 +1,26 @@
|
|
1
|
+
import { ElementRef, OnInit, QueryList } from '@angular/core';
|
2
|
+
import { BaseInput } from '../core/base-input';
|
3
|
+
import { Observable } from 'rxjs';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
export interface SelectOptionType {
|
6
|
+
label: string;
|
7
|
+
value: string | number | null | unknown;
|
8
|
+
}
|
9
|
+
export declare class SelectComponent extends BaseInput<unknown> implements OnInit {
|
10
|
+
/**
|
11
|
+
* In this case, an empty option appears that resets the control, to an empty value state
|
12
|
+
*/
|
13
|
+
emptyOptionLabel?: string;
|
14
|
+
multiple?: boolean;
|
15
|
+
options: SelectOptionType[];
|
16
|
+
asyncOptions: Observable<SelectOptionType[]>;
|
17
|
+
optionElements: QueryList<ElementRef>;
|
18
|
+
/**
|
19
|
+
* Angular Material - Select component comparsion is only '===', does not work with Array values
|
20
|
+
* https://github.com/angular/components/blob/a07c0758a5ec2eb4de1bb822354be08178c66aa4/src/lib/select/select.ts#L242C48-L242C58
|
21
|
+
*/
|
22
|
+
readonly _isEqual: (value: any, other: any) => boolean;
|
23
|
+
ngOnInit(): void;
|
24
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SelectComponent, never>;
|
25
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SelectComponent, "gerandon-select", never, { "emptyOptionLabel": { "alias": "emptyOptionLabel"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "options": { "alias": "options"; "required": false; }; "asyncOptions": { "alias": "asyncOptions"; "required": false; }; }, {}, never, never, true, never>;
|
26
|
+
}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import { BaseTextInput } from "../core/base-text-input";
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export declare class TextareaInputComponent extends BaseTextInput<string> {
|
4
|
+
rows: number;
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TextareaInputComponent, never>;
|
6
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TextareaInputComponent, "gerandon-textarea-input", never, { "rows": { "alias": "rows"; "required": false; }; }, {}, never, never, true, never>;
|
7
|
+
}
|
package/package.json
ADDED
@@ -0,0 +1,56 @@
|
|
1
|
+
{
|
2
|
+
"name": "@gerandon/ngx-widgets",
|
3
|
+
"version": "17.0.0",
|
4
|
+
"description": "Angular widget (components) collection using CVA (ControlValueAccessor)",
|
5
|
+
"keywords": [
|
6
|
+
"CVA",
|
7
|
+
"ControlValueAccessor",
|
8
|
+
"Widgets",
|
9
|
+
"Material",
|
10
|
+
"Basic input",
|
11
|
+
"Material input",
|
12
|
+
"Standalone input",
|
13
|
+
"input component"
|
14
|
+
],
|
15
|
+
"author": {
|
16
|
+
"name": "Gergő Asztalos",
|
17
|
+
"email": "gergo0317@gmail.com"
|
18
|
+
},
|
19
|
+
"maintainers": [
|
20
|
+
{
|
21
|
+
"name": "Gergő Asztalos",
|
22
|
+
"email": "gergo0317@gmail.com"
|
23
|
+
}
|
24
|
+
],
|
25
|
+
"contributors": [],
|
26
|
+
"repository": {
|
27
|
+
"type": "git",
|
28
|
+
"url": "https://github.com/Gerandon/ngx-widgets"
|
29
|
+
},
|
30
|
+
"peerDependencies": {
|
31
|
+
"@angular/common": "^17.3.0",
|
32
|
+
"@angular/core": "^17.3.0",
|
33
|
+
"@angular/material": "^17.3.6",
|
34
|
+
"lodash-es": "^4.17.21"
|
35
|
+
},
|
36
|
+
"dependencies": {
|
37
|
+
"tslib": "^2.3.0"
|
38
|
+
},
|
39
|
+
"publishConfig": {
|
40
|
+
"access": "public"
|
41
|
+
},
|
42
|
+
"sideEffects": false,
|
43
|
+
"module": "fesm2022/gerandon-ngx-widgets.mjs",
|
44
|
+
"typings": "index.d.ts",
|
45
|
+
"exports": {
|
46
|
+
"./package.json": {
|
47
|
+
"default": "./package.json"
|
48
|
+
},
|
49
|
+
".": {
|
50
|
+
"types": "./index.d.ts",
|
51
|
+
"esm2022": "./esm2022/gerandon-ngx-widgets.mjs",
|
52
|
+
"esm": "./esm2022/gerandon-ngx-widgets.mjs",
|
53
|
+
"default": "./fesm2022/gerandon-ngx-widgets.mjs"
|
54
|
+
}
|
55
|
+
}
|
56
|
+
}
|
package/public-api.d.ts
ADDED
@@ -0,0 +1,8 @@
|
|
1
|
+
export * from './lib/core/base-value-accessor';
|
2
|
+
export * from './lib/core/base-input';
|
3
|
+
export * from './lib/core/base-text-input';
|
4
|
+
export * from './lib/core/component-unsubscribe';
|
5
|
+
export * from './lib/basic-input/basic-input.component';
|
6
|
+
export * from './lib/select/select.component';
|
7
|
+
export * from './lib/textarea-input/textarea-input.component';
|
8
|
+
export * from './lib/basic-chips/basic-chips.component';
|