@jvsoft/utils 0.0.13-alpha.5 → 1.0.0-alpha.10
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/README.md +5 -0
- package/directives/auto-select-first.directive.d.ts +13 -0
- package/directives/autocomplete-match-validator.directive.d.ts +10 -0
- package/directives/autocomplete.directive.d.ts +23 -0
- package/{src/functions → directives}/index.d.ts +1 -1
- package/directives/popover/popover-listener.directive.d.ts +12 -0
- package/directives/popover/popover-panel.component.d.ts +13 -0
- package/directives/popover/popover.directive.d.ts +23 -0
- package/directives/popover/popover.interface.d.ts +8 -0
- package/directives/popover/popover.service.d.ts +17 -0
- package/directives/public-api.d.ts +8 -0
- package/fesm2022/jvsoft-utils-directives.mjs +459 -0
- package/fesm2022/jvsoft-utils-directives.mjs.map +1 -0
- package/fesm2022/{jvsoft-utils-src-functions.mjs → jvsoft-utils-functions.mjs} +543 -190
- package/fesm2022/jvsoft-utils-functions.mjs.map +1 -0
- package/fesm2022/{jvsoft-utils-src-interfaces.mjs → jvsoft-utils-interfaces.mjs} +1 -1
- package/fesm2022/jvsoft-utils-interfaces.mjs.map +1 -0
- package/fesm2022/{jvsoft-utils-src-pipes.mjs → jvsoft-utils-pipes.mjs} +57 -2
- package/fesm2022/jvsoft-utils-pipes.mjs.map +1 -0
- package/fesm2022/jvsoft-utils-services.mjs +105 -0
- package/fesm2022/jvsoft-utils-services.mjs.map +1 -0
- package/fesm2022/jvsoft-utils.mjs +1142 -196
- package/fesm2022/jvsoft-utils.mjs.map +1 -1
- package/functions/base64.d.ts +87 -0
- package/functions/dev-log.d.ts +97 -0
- package/functions/index.d.ts +4 -0
- package/functions/mat-form-controls/autocomplete.d.ts +43 -27
- package/functions/objects-arrays.d.ts +13 -97
- package/functions/public-api.d.ts +1 -0
- package/interfaces/index.d.ts +4 -0
- package/package.json +27 -17
- package/pipes/display-with.pipe.d.ts +14 -0
- package/pipes/index.d.ts +4 -0
- package/pipes/public-api.d.ts +1 -0
- package/public-api.d.ts +6 -4
- package/{src/pipes → services}/index.d.ts +1 -1
- package/services/public-api.d.ts +1 -0
- package/services/reloj.service.d.ts +31 -0
- package/fesm2022/jvsoft-utils-src-functions.mjs.map +0 -1
- package/fesm2022/jvsoft-utils-src-interfaces.mjs.map +0 -1
- package/fesm2022/jvsoft-utils-src-pipes.mjs.map +0 -1
- package/src/functions/base64.d.ts +0 -2
- package/src/functions/browser.d.ts +0 -1
- package/src/functions/crypto-js.d.ts +0 -2
- package/src/functions/date.d.ts +0 -3
- package/src/functions/email.d.ts +0 -2
- package/src/functions/file.d.ts +0 -10
- package/src/functions/forms.d.ts +0 -23
- package/src/functions/http-client.d.ts +0 -2
- package/src/functions/local-storage.d.ts +0 -29
- package/src/functions/mat-form-controls/autocomplete.d.ts +0 -51
- package/src/functions/mat-form-controls/index.d.ts +0 -2
- package/src/functions/number.d.ts +0 -2
- package/src/functions/object-transformation.d.ts +0 -2
- package/src/functions/objects-arrays.d.ts +0 -147
- package/src/functions/public-api.d.ts +0 -16
- package/src/functions/string.d.ts +0 -23
- package/src/functions/sweetalert.d.ts +0 -5
- package/src/functions/utiles.d.ts +0 -1
- package/src/interfaces/datos.d.ts +0 -4
- package/src/interfaces/index.d.ts +0 -5
- package/src/interfaces/public-api.d.ts +0 -1
- package/src/pipes/data-en-lista.pipe.d.ts +0 -8
- package/src/pipes/date-diff-string.pipe.d.ts +0 -17
- package/src/pipes/filtro.pipe.d.ts +0 -18
- package/src/pipes/form-control-is-required.pipe.d.ts +0 -9
- package/src/pipes/json-parse.pipe.d.ts +0 -7
- package/src/pipes/no-sanitize.pipe.d.ts +0 -10
- package/src/pipes/public-api.d.ts +0 -8
- package/src/pipes/tipo-valor-funcion.pipe.d.ts +0 -9
- package/src/pipes/zero-fill.pipe.d.ts +0 -8
- /package/{classes → src/classes}/data-model.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jvsoft-utils-directives.mjs","sources":["../../../projects/utils/directives/autocomplete-match-validator.directive.ts","../../../projects/utils/directives/popover/popover-panel.component.ts","../../../projects/utils/directives/popover/popover.service.ts","../../../projects/utils/directives/popover/popover.directive.ts","../../../projects/utils/directives/popover/popover-listener.directive.ts","../../../projects/utils/directives/autocomplete.directive.ts","../../../projects/utils/directives/auto-select-first.directive.ts","../../../projects/utils/directives/jvsoft-utils-directives.ts"],"sourcesContent":["import { Directive, forwardRef, input } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, ValidationErrors, Validator } from '@angular/forms';\n\n@Directive({\n selector: '[jvsAutocompleteMatch]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => AutocompleteMatchValidatorDirective),\n multi: true,\n },\n ],\n standalone: true\n})\nexport class AutocompleteMatchValidatorDirective implements Validator {\n opciones = input<any[]>([], { alias: 'jvsAutocompleteMatch' });\n formControlName = input<any>();\n idLista = input<string>();\n\n validate(control: AbstractControl): ValidationErrors | null {\n const idLista = this.idLista() ?? this.formControlName();\n const value = control.value;\n const opciones = this.opciones();\n\n if (!value) return null;\n\n if (!opciones) {\n console.error('Debe definir opciones para el validador jvsAutocompleteMatch');\n return { itemSelected: true };\n }\n\n const encontrado = opciones.some(item =>\n typeof value === 'object'\n ? item[idLista] === value[idLista]\n : item[idLista] === value\n );\n\n return encontrado ? null : { itemSelected: true };\n }\n}\n","import { Component, computed, input, TemplateRef } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'jvs-popover-panel',\n standalone: true,\n imports: [CommonModule],\n template: `\n <div [class]=\"combinedClasses()\">\n <ng-container *ngIf=\"isTemplate(); else htmlContent\">\n <ng-container *ngTemplateOutlet=\"templateContent(); context: context()\"></ng-container>\n </ng-container>\n <ng-template #htmlContent>\n <div [innerHTML]=\"content()\"></div>\n </ng-template>\n </div>\n `,\n styles: [`\n :host {\n display: block;\n }\n `]\n})\nexport class JvsPopoverPanelComponent {\n content = input<string | null>(null);\n templateContent = input<TemplateRef<any> | null>(null);\n context = input<any>(null);\n customClass = input<string>('');\n\n private readonly baseClasses = 'bg-white shadow-md rounded border-sm border-gray-700 p-1 mat-elevation-z4';\n\n combinedClasses = computed(() => {\n return `${this.baseClasses} ${this.customClass()}`.trim();\n });\n\n isTemplate(): boolean {\n return !!this.templateContent();\n }\n}\n","import { inject, Injectable, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { Overlay, OverlayPositionBuilder, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { JvsPopoverPanelComponent } from './popover-panel.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class JvsPopoverService {\n private readonly overlay = inject(Overlay);\n private readonly overlayPositionBuilder = inject(OverlayPositionBuilder);\n private overlayRef: OverlayRef | null = null;\n\n open(element: HTMLElement, content: string | TemplateRef<any>, options: { \n position?: 'top' | 'bottom' | 'left' | 'right',\n customClass?: string,\n viewContainerRef?: ViewContainerRef,\n context?: any\n } = {}) {\n this.close();\n\n const positionStrategy = this.overlayPositionBuilder\n .flexibleConnectedTo(element)\n .withPositions([\n {\n originX: 'center',\n originY: options.position === 'top' ? 'top' : 'bottom',\n overlayX: 'center',\n overlayY: options.position === 'top' ? 'bottom' : 'top',\n offsetY: options.position === 'top' ? -8 : 8\n }\n ]);\n\n this.overlayRef = this.overlay.create({\n positionStrategy,\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n hasBackdrop: false\n });\n\n const portal = new ComponentPortal(JvsPopoverPanelComponent, options.viewContainerRef);\n const containerRef = this.overlayRef.attach(portal);\n\n if (content instanceof TemplateRef) {\n containerRef.setInput('templateContent', content);\n } else {\n containerRef.setInput('content', content);\n }\n\n if (options.customClass) {\n containerRef.setInput('customClass', options.customClass);\n }\n\n if (options.context) {\n containerRef.setInput('context', options.context);\n }\n\n return this.overlayRef;\n }\n\n close() {\n if (this.overlayRef) {\n this.overlayRef.detach();\n this.overlayRef.dispose();\n this.overlayRef = null;\n }\n }\n}\n","import { \n Directive, \n ElementRef, \n HostListener, \n inject, \n input, \n OnDestroy, \n TemplateRef, \n ViewContainerRef \n} from '@angular/core';\nimport { JvsPopoverService } from './popover.service';\nimport { JvsPopoverTrigger } from './popover.interface';\n\n@Directive({\n selector: '[jvsPopover]',\n standalone: true\n})\nexport class JvsPopoverDirective implements OnDestroy {\n private readonly popoverService = inject(JvsPopoverService);\n private readonly elementRef = inject(ElementRef);\n private readonly viewContainerRef = inject(ViewContainerRef);\n\n content = input<string | TemplateRef<any> | null>(null, { alias: 'jvsPopover' });\n context = input<any>(null);\n trigger = input<JvsPopoverTrigger>('hover');\n position = input<'top' | 'bottom' | 'left' | 'right'>('bottom');\n customClass = input<string>('');\n\n @HostListener('mouseenter')\n onMouseEnter() {\n if (this.trigger() === 'hover') {\n this.show();\n }\n }\n\n @HostListener('mouseleave')\n onMouseLeave() {\n if (this.trigger() === 'hover') {\n this.hide();\n }\n }\n\n @HostListener('click')\n onClick() {\n if (this.trigger() === 'click') {\n this.show();\n }\n }\n\n @HostListener('focusin')\n onFocus() {\n if (this.trigger() === 'focus') {\n this.show();\n }\n }\n\n @HostListener('focusout')\n onBlur() {\n if (this.trigger() === 'focus') {\n this.hide();\n }\n }\n\n ngOnDestroy() {\n this.hide();\n }\n\n show() {\n const content = this.content();\n if (!content) return;\n\n this.popoverService.open(this.elementRef.nativeElement, content, {\n position: this.position(),\n customClass: this.customClass(),\n viewContainerRef: this.viewContainerRef,\n context: this.context()\n });\n }\n\n hide() {\n this.popoverService.close();\n }\n}\n","import { Directive, ElementRef, HostListener, inject, input } from '@angular/core';\nimport { JvsPopoverService } from './popover.service';\n\n@Directive({\n selector: '[jvsPopoverListener]',\n standalone: true\n})\nexport class JvsPopoverListenerDirective {\n private readonly popoverService = inject(JvsPopoverService);\n private readonly elementRef = inject(ElementRef);\n\n trigger = input<'hover' | 'click' | 'focus'>('hover');\n\n @HostListener('mouseover', ['$event'])\n onMouseOver(event: MouseEvent) {\n if (this.trigger() !== 'hover') return;\n \n const target = this.findPopoverTarget(event.target as HTMLElement);\n if (target) {\n const content = target.getAttribute('data-jvs-popover');\n if (content) {\n this.popoverService.open(target, content, {\n position: (target.getAttribute('data-jvs-position') as any) || 'bottom',\n customClass: target.getAttribute('data-jvs-class') || ''\n });\n }\n }\n }\n\n @HostListener('mouseout', ['$event'])\n onMouseOut(event: MouseEvent) {\n if (this.trigger() !== 'hover') return;\n this.popoverService.close();\n }\n\n @HostListener('click', ['$event'])\n onClick(event: MouseEvent) {\n if (this.trigger() !== 'click') return;\n \n const target = this.findPopoverTarget(event.target as HTMLElement);\n if (target) {\n const content = target.getAttribute('data-jvs-popover');\n if (content) {\n this.popoverService.open(target, content, {\n position: (target.getAttribute('data-jvs-position') as any) || 'bottom',\n customClass: target.getAttribute('data-jvs-class') || ''\n });\n }\n }\n }\n\n private findPopoverTarget(el: HTMLElement): HTMLElement | null {\n while (el && el !== this.elementRef.nativeElement) {\n if (el.hasAttribute('data-jvs-popover')) {\n return el;\n }\n el = el.parentElement as HTMLElement;\n }\n return null;\n }\n}\n","import { Directive, ElementRef, EventEmitter, inject, OnInit, DestroyRef, HostListener, input, output } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { debounceTime, distinctUntilChanged, isObservable, of, switchMap, takeUntil, tap, finalize, map, Observable, startWith, merge, Subject } from 'rxjs';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n@Directive({\n selector: '[jvsAutocomplete]',\n standalone: true\n})\nexport class JvsAutocompleteDirective implements OnInit {\n private readonly destroyRef = inject(DestroyRef);\n private readonly ngControl = inject(NgControl, { optional: true });\n private readonly focus$ = new Subject<void>();\n \n // Signal-based Inputs\n data = input<any[] | null>(null);\n fields = input<string | string[]>('');\n typeReq = input<string>('');\n queryService = input<any>(null);\n minLength = input<number>(3);\n dataExtra = input<any>({});\n anonimo = input<boolean>(false);\n debounce = input<number>(300);\n \n // Modern Outputs\n filtered = output<any[]>();\n loading = output<boolean>();\n\n @HostListener('focus')\n onFocus() {\n this.focus$.next();\n }\n\n ngOnInit(): void {\n const control = this.ngControl;\n if (!control || !control.valueChanges) {\n console.warn('JvsAutocompleteDirective: No se encontró ngControl o valueChanges. Asegúrate de que el input tenga un formControl o formControlName.');\n return;\n }\n\n // Si es data local, bajamos el debounce por defecto a 0 si no se ha especificado\n const isLocal = this.data() && !this.typeReq();\n const actualDebounce = (isLocal && this.debounce() === 300) ? 0 : this.debounce();\n\n merge(\n control.valueChanges.pipe(debounceTime(actualDebounce)),\n this.focus$\n ).pipe(\n takeUntilDestroyed(this.destroyRef),\n startWith(control.value),\n distinctUntilChanged(),\n tap(() => {\n if (this.typeReq()) this.loading.emit(true);\n }),\n switchMap((): Observable<any[] | null> => {\n const value = control.value;\n // Si el valor es un objeto (proviene de seleccionar una opción), no volvemos a filtrar\n if (typeof value === 'object' && value !== null) {\n if (this.typeReq()) this.loading.emit(false);\n return of(null);\n }\n\n if (this.typeReq() && this.queryService()) {\n return this.fetchApi(value?.toString() || '');\n } else if (this.data()) {\n const res = this.filterLocal(value?.toString() || '');\n return of(res);\n }\n \n if (this.typeReq()) this.loading.emit(false);\n return of([]);\n })\n ).subscribe((result) => {\n if (result !== null) {\n this.filtered.emit(result);\n }\n });\n }\n\n private filterLocal(value: string): any[] {\n const data = this.data();\n if (!value) return data || [];\n \n const search = value.toLowerCase();\n const rawFields = this.fields();\n const fields = Array.isArray(rawFields) ? rawFields : [rawFields];\n\n return (data || []).filter(item => {\n return fields.some(field => {\n const val = item[field];\n return val && val.toString().toLowerCase().includes(search);\n });\n });\n }\n\n private fetchApi(value: string): Observable<any[]> {\n const typeReq = this.typeReq();\n const queryService = this.queryService();\n\n if (!value || value.length < this.minLength()) {\n this.loading.emit(false);\n return of([]);\n }\n\n return queryService.getDataMethod('GET', typeReq, {\n ...this.dataExtra(),\n txtBuscar: value\n }, this.anonimo()).pipe(\n map((res: any) => res[typeReq] ?? []),\n finalize(() => this.loading.emit(false))\n );\n }\n}\n","import {Directive, effect, inject, input, output, untracked} from '@angular/core';\nimport {FormControlName, NgControl} from '@angular/forms';\nimport {ToastrService} from 'ngx-toastr';\n\n@Directive({\n selector: '[jvsAutoSelectFirst]',\n standalone: true\n})\nexport class AutoSelectFirstDirective {\n private readonly ngControl = inject(NgControl, {optional: true});\n private readonly fcName = inject(FormControlName, {optional: true});\n private readonly toastr = inject(ToastrService, {optional: true});\n\n // Inputs using Signals\n options = input<any[] | null>(null, { alias: 'jvsAutoSelectFirst' });\n jvsIdKey = input<string | string[] | null>(null);\n jvsEmptyMsg = input<string>('Lista sin elementos');\n \n onAutoSelect = output<any>();\n\n constructor() {\n effect(() => {\n const currentOptions = this.options();\n const idKey = this.jvsIdKey();\n const emptyMsg = this.jvsEmptyMsg();\n\n if (currentOptions === null) return;\n\n const optionsArray = Array.isArray(currentOptions) ? currentOptions : [];\n\n if (optionsArray.length > 0) {\n untracked(() => {\n const control = this.ngControl?.control;\n const currentValue = control?.value;\n\n // Only autoselect if empty\n if (control && (currentValue === null || currentValue === undefined || currentValue === '')) {\n const firstItem = optionsArray[0];\n let valueToSet: any;\n\n // Resolve key\n let effectiveKey = idKey;\n // Default to formControlName if not provided\n if (!effectiveKey && this.fcName) {\n effectiveKey = this.fcName.name as string;\n }\n\n if (effectiveKey) {\n if (Array.isArray(effectiveKey)) {\n // Composite key: build an object with the specified keys\n valueToSet = {};\n effectiveKey.forEach(key => {\n valueToSet[key] = firstItem[key];\n });\n } else {\n valueToSet = firstItem[effectiveKey];\n }\n } else {\n // Use whole item if no key resolution possible\n valueToSet = firstItem;\n }\n\n control.setValue(valueToSet);\n this.onAutoSelect.emit(firstItem);\n }\n });\n } else if (emptyMsg && this.toastr) {\n this.toastr.warning(emptyMsg, 'Filtrado');\n }\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|