@dataclouder/ngx-core 0.1.1 → 0.1.2
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.
|
@@ -412,11 +412,11 @@ class DCProgressToastComponent {
|
|
|
412
412
|
this.processClosed.emit();
|
|
413
413
|
}
|
|
414
414
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: DCProgressToastComponent, deps: [{ token: i1$1.MessageService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
415
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.1", type: DCProgressToastComponent, isStandalone: true, selector: "dc-progress-toast", inputs: { visible: "visible", progress: "progress" }, outputs: { processCompleted: "processCompleted", processClosed: "processClosed" }, providers: [MessageService], usesOnChanges: true, ngImport: i0, template: "<div class=\"card flex justify-center\">\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onClose()\" [baseZIndex]=\"
|
|
415
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.1", type: DCProgressToastComponent, isStandalone: true, selector: "dc-progress-toast", inputs: { visible: "visible", progress: "progress" }, outputs: { processCompleted: "processCompleted", processClosed: "processClosed" }, providers: [MessageService], usesOnChanges: true, ngImport: i0, template: "<div class=\"card flex justify-center\">\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onClose()\" [baseZIndex]=\"9000\">\n <ng-template let-message #headless let-closeFn=\"closeFn\">\n <section style=\"padding: 15px\">\n <div>\n <i class=\"pi pi-cloud-upload\"></i>\n <span>{{ message.summary }}</span>\n </div>\n <div>\n <p-progressbar [value]=\"progress\" [showValue]=\"false\" [style]=\"{ height: '6px' }\" />\n\n <label style=\"color: beige\">{{ progress }}% uploaded</label>\n </div>\n <div>\n <p-button label=\"Another Upload?\" (click)=\"closeFn($event)\" size=\"small\" />\n <p-button label=\"Cancel\" (click)=\"closeFn($event)\" size=\"small\" />\n </div>\n </section>\n </ng-template>\n </p-toast>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i2.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ToastModule }, { kind: "component", type: i3$1.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "ngmodule", type: ProgressBarModule }, { kind: "component", type: i4$1.ProgressBar, selector: "p-progressBar, p-progressbar, p-progress-bar", inputs: ["value", "showValue", "styleClass", "valueStyleClass", "style", "unit", "mode", "color"] }] }); }
|
|
416
416
|
}
|
|
417
417
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: DCProgressToastComponent, decorators: [{
|
|
418
418
|
type: Component,
|
|
419
|
-
args: [{ selector: 'dc-progress-toast', standalone: true, providers: [MessageService], imports: [ButtonModule, CommonModule, ToastModule, ProgressBarModule, Toast, ButtonModule, ProgressBar], template: "<div class=\"card flex justify-center\">\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onClose()\" [baseZIndex]=\"
|
|
419
|
+
args: [{ selector: 'dc-progress-toast', standalone: true, providers: [MessageService], imports: [ButtonModule, CommonModule, ToastModule, ProgressBarModule, Toast, ButtonModule, ProgressBar], template: "<div class=\"card flex justify-center\">\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onClose()\" [baseZIndex]=\"9000\">\n <ng-template let-message #headless let-closeFn=\"closeFn\">\n <section style=\"padding: 15px\">\n <div>\n <i class=\"pi pi-cloud-upload\"></i>\n <span>{{ message.summary }}</span>\n </div>\n <div>\n <p-progressbar [value]=\"progress\" [showValue]=\"false\" [style]=\"{ height: '6px' }\" />\n\n <label style=\"color: beige\">{{ progress }}% uploaded</label>\n </div>\n <div>\n <p-button label=\"Another Upload?\" (click)=\"closeFn($event)\" size=\"small\" />\n <p-button label=\"Cancel\" (click)=\"closeFn($event)\" size=\"small\" />\n </div>\n </section>\n </ng-template>\n </p-toast>\n</div>\n" }]
|
|
420
420
|
}], ctorParameters: () => [{ type: i1$1.MessageService }, { type: i0.ChangeDetectorRef }], propDecorators: { visible: [{
|
|
421
421
|
type: Input
|
|
422
422
|
}], progress: [{
|
|
@@ -427,6 +427,83 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImpor
|
|
|
427
427
|
type: Output
|
|
428
428
|
}] } });
|
|
429
429
|
|
|
430
|
+
class LoadingBarService {
|
|
431
|
+
constructor() {
|
|
432
|
+
this.isShowing = false;
|
|
433
|
+
this.progress = 0;
|
|
434
|
+
this.mode = 'indeterminate';
|
|
435
|
+
this.color = 'primary';
|
|
436
|
+
}
|
|
437
|
+
showProgressBar() {
|
|
438
|
+
this.isShowing = true;
|
|
439
|
+
this.mode = 'determinate';
|
|
440
|
+
this.progress = 0;
|
|
441
|
+
}
|
|
442
|
+
showIndeterminate() {
|
|
443
|
+
this.isShowing = true;
|
|
444
|
+
this.mode = 'indeterminate';
|
|
445
|
+
this.progress = 0;
|
|
446
|
+
}
|
|
447
|
+
showProgressBarWithProgress(progress) {
|
|
448
|
+
this.isShowing = true;
|
|
449
|
+
this.mode = 'determinate';
|
|
450
|
+
this.progress = progress;
|
|
451
|
+
}
|
|
452
|
+
hideProgressBar() {
|
|
453
|
+
this.isShowing = false;
|
|
454
|
+
this.mode = null;
|
|
455
|
+
this.progress = 0;
|
|
456
|
+
this.color = 'primary';
|
|
457
|
+
}
|
|
458
|
+
successAndHide() {
|
|
459
|
+
this.isShowing = true;
|
|
460
|
+
this.mode = 'indeterminate';
|
|
461
|
+
this.progress = 100;
|
|
462
|
+
this.color = '#4BBD97';
|
|
463
|
+
setTimeout(() => {
|
|
464
|
+
this.hideProgressBar();
|
|
465
|
+
}, 1600);
|
|
466
|
+
}
|
|
467
|
+
exampleProgress() {
|
|
468
|
+
this.showProgressBarWithProgress(0);
|
|
469
|
+
setTimeout(() => {
|
|
470
|
+
this.showProgressBarWithProgress(20);
|
|
471
|
+
}, 1000);
|
|
472
|
+
setTimeout(() => {
|
|
473
|
+
this.showProgressBarWithProgress(40);
|
|
474
|
+
}, 2000);
|
|
475
|
+
setTimeout(() => {
|
|
476
|
+
this.showProgressBarWithProgress(60);
|
|
477
|
+
}, 3000);
|
|
478
|
+
setTimeout(() => {
|
|
479
|
+
this.showProgressBarWithProgress(80);
|
|
480
|
+
}, 4000);
|
|
481
|
+
setTimeout(() => {
|
|
482
|
+
this.showProgressBarWithProgress(100);
|
|
483
|
+
}, 5000);
|
|
484
|
+
}
|
|
485
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: LoadingBarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
486
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: LoadingBarService, providedIn: 'root' }); }
|
|
487
|
+
}
|
|
488
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: LoadingBarService, decorators: [{
|
|
489
|
+
type: Injectable,
|
|
490
|
+
args: [{
|
|
491
|
+
providedIn: 'root',
|
|
492
|
+
}]
|
|
493
|
+
}], ctorParameters: () => [] });
|
|
494
|
+
|
|
495
|
+
class LoadingBarComponent {
|
|
496
|
+
constructor(loadingBarService) {
|
|
497
|
+
this.loadingBarService = loadingBarService;
|
|
498
|
+
}
|
|
499
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: LoadingBarComponent, deps: [{ token: LoadingBarService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
500
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.1", type: LoadingBarComponent, isStandalone: true, selector: "dc-loading-bar", providers: [MessageService], ngImport: i0, template: "@if (loadingBarService.isShowing) {\n<p-progressbar [color]=\"loadingBarService.color\" [mode]=\"loadingBarService.mode\" [style]=\"{ height: '4px' }\" [value]=\"loadingBarService.progress\" />\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ToastModule }, { kind: "ngmodule", type: ProgressBarModule }, { kind: "component", type: i4$1.ProgressBar, selector: "p-progressBar, p-progressbar, p-progress-bar", inputs: ["value", "showValue", "styleClass", "valueStyleClass", "style", "unit", "mode", "color"] }] }); }
|
|
501
|
+
}
|
|
502
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: LoadingBarComponent, decorators: [{
|
|
503
|
+
type: Component,
|
|
504
|
+
args: [{ selector: 'dc-loading-bar', standalone: true, providers: [MessageService], imports: [ButtonModule, CommonModule, ToastModule, ProgressBarModule, ButtonModule, ProgressBar], template: "@if (loadingBarService.isShowing) {\n<p-progressbar [color]=\"loadingBarService.color\" [mode]=\"loadingBarService.mode\" [style]=\"{ height: '4px' }\" [value]=\"loadingBarService.progress\" />\n}\n" }]
|
|
505
|
+
}], ctorParameters: () => [{ type: LoadingBarService }] });
|
|
506
|
+
|
|
430
507
|
/*
|
|
431
508
|
* Public API Surface of core-components
|
|
432
509
|
*/
|
|
@@ -435,5 +512,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImpor
|
|
|
435
512
|
* Generated bundle index. Do not edit.
|
|
436
513
|
*/
|
|
437
514
|
|
|
438
|
-
export { AudioSpeed, ConfirmComponent, ConfirmService, DCFilterBarComponent, DCProgressToastComponent, EmptyStateComponent, OptionValue, PaginationBase, TOAST_ALERTS_TOKEN, ToastAlertsAbstractService, availibleFilters, extractJsonFromString, provideToastAlert, sortOptions, sortTypes };
|
|
515
|
+
export { AudioSpeed, ConfirmComponent, ConfirmService, DCFilterBarComponent, DCProgressToastComponent, EmptyStateComponent, LoadingBarComponent, LoadingBarService, OptionValue, PaginationBase, TOAST_ALERTS_TOKEN, ToastAlertsAbstractService, availibleFilters, extractJsonFromString, provideToastAlert, sortOptions, sortTypes };
|
|
439
516
|
//# sourceMappingURL=dataclouder-ngx-core.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataclouder-ngx-core.mjs","sources":["../../../../projects/dataclouder/ngx-core/src/lib/components/empty-state/empty-state.component.ts","../../../../projects/dataclouder/ngx-core/src/lib/components/empty-state/empty-state.component.html","../../../../projects/dataclouder/ngx-core/src/lib/models/filter.models.ts","../../../../projects/dataclouder/ngx-core/src/lib/components/list-filter-bar/dc-list-filter-bar.component.ts","../../../../projects/dataclouder/ngx-core/src/lib/components/list-filter-bar/dc-list-filter-bar.component.html","../../../../projects/dataclouder/ngx-core/src/lib/components/confirm/confirm.component.ts","../../../../projects/dataclouder/ngx-core/src/lib/components/confirm/confirm.component.html","../../../../projects/dataclouder/ngx-core/src/lib/models/classes.ts","../../../../projects/dataclouder/ngx-core/src/lib/models/pagination.abstract.ts","../../../../projects/dataclouder/ngx-core/src/lib/services/confirm.service.ts","../../../../projects/dataclouder/ngx-core/src/lib/utils/utils.ts","../../../../projects/dataclouder/ngx-core/src/lib/components/progress-toast/progress-toast.ts","../../../../projects/dataclouder/ngx-core/src/lib/components/progress-toast/progress-toast.html","../../../../projects/dataclouder/ngx-core/src/public-api.ts","../../../../projects/dataclouder/ngx-core/src/dataclouder-ngx-core.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\nimport { NgIf } from '@angular/common';\n\n@Component({\n selector: 'dc-empty-state',\n templateUrl: './empty-state.component.html',\n styleUrls: ['./empty-state.component.scss'],\n standalone: true,\n imports: [NgIf],\n})\nexport class EmptyStateComponent {\n @Input()\n public headingText = 'No existe el recurso que buscas';\n @Input()\n public subHeadingText = 'Intenta más tarde';\n @Input()\n public mainIconSrcString = 'assets/img/empty-states/empty-box.png';\n}\n","<div class=\"grid justify-content-center\">\r\n <div class=\"empty-state-content\">\r\n <h5 class=\"text-center\" *ngIf=\"headingText\">{{ headingText }}</h5>\r\n <img width=\"180px\" class=\"image-empty-state\" src=\"{{ mainIconSrcString }}\" />\r\n <h6 *ngIf=\"subHeadingText\">{{ subHeadingText }}</h6>\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n","export interface SortOption {\n label: string;\n value: string;\n}\n\nexport const availibleFilters = [\n { name: 'Tomadas', code: 'taken' },\n { name: 'Recomendadas', code: 'suggested' },\n { name: 'Nivel Básico', code: 'basicLevel' },\n { name: 'Nivel Intermedio', code: 'mediumLevel' },\n { name: 'Nivel Avanzado', code: 'advancedLevel' },\n];\n\nexport enum OptionValue {\n Newest = 'newest',\n Oldest = 'oldest',\n Alphabetical = 'alphabetical',\n ReverseAlphabetical = 'reverseAlphabetical',\n}\n\nexport const sortOptions: SortOption[] = [\n { label: 'Más reciente', value: OptionValue.Newest },\n { label: 'Más antiguo', value: OptionValue.Oldest },\n { label: 'A-Z', value: OptionValue.Alphabetical },\n { label: 'Z-A', value: OptionValue.ReverseAlphabetical },\n];\n\nexport const sortTypes = [\n { name: 'Recientes', code: 'newest', sort: { createdDate: -1 } },\n { name: 'Antiguas', code: 'oldest', sort: { createdDate: 1 } },\n { name: 'Populares', code: 'popular', sort: { takenCount: -1 } },\n];\n\nexport interface ICustomFilter {\n name: string;\n type: 'string' | 'number' | 'boolean' | 'date' | 'select';\n options?: any[];\n}\n\nexport interface FiltersConfig {\n page?: number;\n rowsPerPage?: number;\n sort?: { [key: string]: number };\n filters?: { [key: string]: any };\n text?: string;\n returnProps?: Record<string, 0 | 1>;\n}\n\nexport interface IFilterQueryResponse<T> {\n rows: T[];\n count: number;\n skip: number;\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ButtonModule } from 'primeng/button';\nimport { DialogModule } from 'primeng/dialog';\nimport { SelectModule } from 'primeng/select';\nimport { MultiSelectModule } from 'primeng/multiselect';\nimport { CalendarModule } from 'primeng/calendar';\nimport { availibleFilters, FiltersConfig, ICustomFilter, SortOption, sortOptions } from '../../models/filter.models';\n\nconst DEFAULT_FILTERS: FiltersConfig = { filters: {}, page: 0, rowsPerPage: 10, sort: { _id: -1 } };\n\n@Component({\n selector: 'dc-filter-bar',\n standalone: true,\n imports: [CommonModule, FormsModule, ButtonModule, DialogModule, SelectModule, MultiSelectModule, CalendarModule],\n templateUrl: './dc-list-filter-bar.component.html',\n styleUrl: './dc-list-filter-bar.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DCFilterBarComponent implements OnInit {\n @Input() public isAdmin: any = true; // TODO: create a solution for is admin\n @Input() public customFilters: ICustomFilter[] = [];\n @Output() public onChangeSort: any = new EventEmitter();\n @Output() public onNew: any = new EventEmitter();\n @Output() public onSearch: any = new EventEmitter();\n @Output() public onFilterChange = new EventEmitter<FiltersConfig>();\n\n public customFilterModels = [];\n constructor() {}\n ngOnInit(): void {\n console.log('customFilters', this.customFilters);\n\n if (this.customFilters.length > 0) {\n console.log('customFilters', this.customFilters);\n for (const filter of this.customFilters) {\n console.log('Deberia agregar un filtro nuevo', filter);\n // this.availibleFilters.push({\n // name: filter.name,\n // type: filter.type,\n // options: filter.options,\n // });\n }\n }\n }\n\n public availibleFilters = availibleFilters;\n public sortOptions = sortOptions;\n\n public isSearchVisible = false;\n public isFilterVisible = false;\n public placeholder = '';\n\n public filter: FiltersConfig = { ...DEFAULT_FILTERS };\n\n selectedFilters: (typeof availibleFilters)[] = [];\n selectedSort: SortOption | null = null;\n dateRange: Date[] = [];\n\n public changeFilter(event) {\n console.log('Filter changed');\n }\n\n public changeSort(event) {\n console.log('Sort changed', event.value);\n this.onChangeSort.emit(event.value);\n }\n\n public createNew() {\n // this.router.navigate(['edit/'], { relativeTo: this.route });\n console.log('createNew from core components');\n this.onNew.emit();\n }\n\n public search(text: string = null): void {\n if (!text) {\n this.placeholder = '';\n this.clearFilters();\n } else {\n this.onSearch.emit(text);\n }\n this.isSearchVisible = false;\n }\n\n clearFilters() {\n this.filter = { ...DEFAULT_FILTERS };\n this.onFilterChange.emit(this.filter);\n }\n\n applyFilters() {\n this.onFilterChange.emit(this.filter);\n this.isFilterVisible = false;\n }\n}\n","<div class=\"background-bar\">\n <div class=\"button-flex\">\n <div>\n <p-button icon=\"pi pi-search\" label=\"buscar\" severity=\"secondary\" (click)=\"isSearchVisible = true\" />\n </div>\n\n @if (isAdmin) {\n <span class=\"admin\">\n <p-button icon=\"pi pi-plus\" label=\"Crear Nueva\" severity=\"secondary\" (click)=\"createNew()\" />\n </span>\n }\n </div>\n\n <div class=\"button-flex\">\n <p-button icon=\"pi pi-filter\" label=\"Filtrar\" severity=\"secondary\" (click)=\"isFilterVisible = true\" />\n </div>\n</div>\n\n@if (placeholder) {\n<span class=\"search-flex\" (click)=\"search(null)\"> <i class=\"pi pi-times\"></i>{{ placeholder }} </span>\n}\n\n<p-dialog [(visible)]=\"isSearchVisible\" [dismissableMask]=\"true\" [modal]=\"true\" [showHeader]=\"false\" (onHide)=\"isSearchVisible = false\">\n <p>Haz una búsqueda (Enter)</p>\n <div>\n <span>\n <input (keydown.enter)=\"search(placeholder)\" type=\"text\" pInputText [(ngModel)]=\"placeholder\" />\n </span>\n </div>\n</p-dialog>\n\n<p-dialog [(visible)]=\"isFilterVisible\" [modal]=\"true\" [style]=\"{ width: '70vw', height: '70vh' }\" [header]=\"'Filtros'\">\n <div class=\"flex flex-column gap-4\">\n <!-- Sort Options -->\n <div class=\"field\">\n <label class=\"font-semibold block mb-2\">Ordenar por</label>\n <p-select [options]=\"sortOptions\" [(ngModel)]=\"selectedSort\" optionLabel=\"label\" [style]=\"{ width: '100%' }\" placeholder=\"Seleccionar orden\"> </p-select>\n </div>\n\n <p-multiselect\n [options]=\"availibleFilters\"\n [(ngModel)]=\"selectedFilters\"\n optionLabel=\"name\"\n placeholder=\"Filtros Rápidos\"\n [maxSelectedLabels]=\"3\"\n styleClass=\"w-full md:w-80\" />\n\n <!-- Date Filter -->\n <div class=\"field\">\n <label class=\"font-semibold block mb-2\">Rango de fechas</label>\n <p-calendar\n [(ngModel)]=\"dateRange\"\n selectionMode=\"range\"\n [showButtonBar]=\"true\"\n [style]=\"{ width: '100%' }\"\n placeholder=\"Seleccionar fechas\"\n dateFormat=\"dd/mm/yy\">\n </p-calendar>\n </div>\n\n @if (customFilters?.length > 0) {\n <h4>Filtros Personalizados (No terminado...) </h4>\n <h6>Encontrar la forma de que cada custom filter se renderize como un nuevo form.</h6>\n @for (filter of customFilters; track filter.name) {\n <div class=\"field\">\n <label class=\"font-semibold block mb-2\">{{ filter.name }}</label>\n </div>\n } }\n\n <!-- Recent/All Toggle -->\n </div>\n\n <ng-template pTemplate=\"footer\">\n <div class=\"flex justify-content-end gap-2\">\n <p-button label=\"Limpiar\" icon=\"pi pi-trash\" (click)=\"clearFilters()\" styleClass=\"p-button-text\"> </p-button>\n <p-button label=\"Aplicar\" icon=\"pi pi-check\" (click)=\"applyFilters()\" severity=\"primary\"> </p-button>\n </div>\n </ng-template>\n</p-dialog>\n","import { NgIf } from '@angular/common';\r\nimport { Component, OnInit, Input, HostListener } from '@angular/core';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';\r\nimport { MessageModule } from 'primeng/message';\r\n\r\n@Component({\r\n selector: 'app-confirm',\r\n templateUrl: './confirm.component.html',\r\n styleUrls: ['./confirm.component.scss'],\r\n standalone: true,\r\n imports: [NgIf, ButtonModule, MessageModule],\r\n})\r\nexport class ConfirmComponent implements OnInit {\r\n @Input() title: string = 'Confirmación';\r\n @Input() message: string;\r\n @Input() warning: string;\r\n\r\n @Input() oneBotton: boolean;\r\n\r\n @Input() acceptText: string;\r\n @Input() cancelText: string;\r\n\r\n @Input() piIcon: string;\r\n\r\n @HostListener('window:keyup.enter', ['$event'])\r\n onEnter(_event: any) {\r\n this.confirm();\r\n }\r\n\r\n @HostListener('window:keyup.escape', ['$event'])\r\n onEscapte(_event: any) {\r\n this.cancel();\r\n }\r\n\r\n constructor(private dynamicDialogConfig: DynamicDialogConfig, public ref: DynamicDialogRef) {\r\n if (this.dynamicDialogConfig.data) {\r\n this.title = this.dynamicDialogConfig.data.title;\r\n this.message = this.dynamicDialogConfig.data.message;\r\n this.warning = this.dynamicDialogConfig.data.warning;\r\n this.oneBotton = this.dynamicDialogConfig.data.oneBotton;\r\n this.acceptText = this.dynamicDialogConfig.data.acceptText ?? 'Aceptar';\r\n this.cancelText = this.dynamicDialogConfig.data.cancelText ?? 'Cancelar';\r\n this.piIcon = this.dynamicDialogConfig.data.piIcon;\r\n }\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n public cancel(): void {\r\n this.ref.close(false);\r\n }\r\n\r\n public confirm(): void {\r\n this.ref.close(true);\r\n }\r\n}\r\n","<div class=\"form-input-card\">\r\n <p-message severity=\"secondary\"> {{ title }}</p-message>\r\n\r\n <div style=\"text-align: center; padding: 1rem\">\r\n <i style=\"font-size: 4rem; color: #ff0040\" class=\"pi {{ piIcon }}\"></i>\r\n </div>\r\n\r\n <div>{{ message }} </div>\r\n\r\n @if (warning) {\r\n <p-message severity=\"warn\">\r\n <i class=\"pi pi-exclamation-triangle\"></i>\r\n {{ warning }}</p-message\r\n >\r\n }\r\n\r\n <br /><br />\r\n\r\n <div>\r\n <div style=\"float: right\">\r\n <p-button *ngIf=\"oneBotton\" label=\"Ok\" (click)=\"confirm()\"></p-button>\r\n </div>\r\n\r\n <div *ngIf=\"!oneBotton\" class=\"options\">\r\n <p-button [label]=\"cancelText\" (click)=\"cancel()\" severity=\"secondary\"></p-button>\r\n <p-button [label]=\"acceptText\" (click)=\"confirm()\" severity=\"danger\"></p-button>\r\n </div>\r\n </div>\r\n</div>\r\n","import { InjectionToken, Provider, Type } from '@angular/core';\n\nexport const TOAST_ALERTS_TOKEN = new InjectionToken<ToastAlertsAbstractService>('Toast alerts Service');\n\nexport interface ToastData {\n title: string;\n subtitle: string;\n}\n\nexport abstract class ToastAlertsAbstractService {\n abstract success(data: ToastData): void;\n abstract info(data: ToastData): void;\n abstract warn(data: ToastData): void;\n abstract error(data: ToastData): void;\n}\n\nexport function provideToastAlert(serviceImplementation: Type<ToastAlertsAbstractService>): Provider[] {\n return [\n {\n provide: TOAST_ALERTS_TOKEN,\n useExisting: serviceImplementation,\n },\n ];\n}\n\nexport enum AudioSpeed {\n VerySlow = 'verySlow',\n Slow = 'slow',\n Regular = 'regular',\n Fast = 'fast',\n VeryFast = 'veryFast',\n}\n","import { ActivatedRoute, Router } from '@angular/router';\nimport { FiltersConfig } from './filter.models';\n\nexport abstract class PaginationBase {\n public paginatorFirst: number = 0;\n public paginatorRows: number = 10;\n public totalRecords: number = 0;\n\n public filterConfig: FiltersConfig = { page: 0, rowsPerPage: this.paginatorRows, sort: { _id: -1 }, filters: {} };\n\n constructor(protected route: ActivatedRoute, protected router: Router) {\n this.initializePagination();\n }\n\n private initializePagination(): void {\n const page = this.route.snapshot.queryParamMap.get('page');\n if (page) {\n this.filterConfig.page = +page - 1;\n this.paginatorFirst = this.filterConfig.page * this.paginatorRows;\n }\n }\n\n public async onPageChange(pageEvent: any) {\n this.paginatorRows = pageEvent.rows;\n this.filterConfig = {\n ...this.filterConfig,\n page: pageEvent.page,\n rowsPerPage: this.paginatorRows,\n };\n\n await this.loadData();\n this.updatePageParam(pageEvent.page + 1);\n }\n\n private updatePageParam(newPage: number) {\n const queryParams = { page: newPage };\n this.router.navigate([], {\n relativeTo: this.route,\n queryParams: queryParams,\n queryParamsHandling: 'merge',\n });\n }\n\n // Abstract method that needs to be implemented by child classes\n protected abstract loadData(): Promise<void>;\n}\n","import { Injectable } from '@angular/core';\nimport { DialogService } from 'primeng/dynamicdialog';\n\nimport { ConfirmComponent } from '../components/confirm/confirm.component';\nimport { firstValueFrom } from 'rxjs';\n\nexport interface ConfirmOptions {\n title?: string;\n message?: string;\n acceptText?: string;\n cancelText?: string;\n warning?: string;\n oneBotton?: boolean;\n piIcon?: string;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfirmService {\n constructor(public pdialogService: DialogService) {}\n\n openConfirm(title: string = '', message: string = '', acceptText: string = 'Aceptar') {\n const dialogRef = this.pdialogService.open(ConfirmComponent, {\n data: {\n message: message,\n title: title,\n acceptText,\n },\n closable: true,\n modal: true,\n });\n\n return dialogRef.onClose;\n }\n\n confirm(options: ConfirmOptions) {\n const dialogRef = this.pdialogService.open(ConfirmComponent, {\n data: {\n message: options.message || '',\n title: options.title || 'Confirmación',\n acceptText: options.acceptText || 'Aceptar',\n cancelText: options.cancelText || 'Cancelar',\n warning: options.warning || null,\n oneBotton: options.oneBotton || false,\n piIcon: options.piIcon || null,\n },\n closable: true,\n modal: true,\n });\n\n return firstValueFrom(dialogRef.onClose);\n }\n}\n","/**\n * Extracts and parses the first JSON object or array found within a string.\n *\n * @param content - The input string that may contain JSON data\n * @returns {any} The parsed JSON data if found and valid, or null if:\n * - No JSON object/array is found in the string\n * - The found JSON is invalid and cannot be parsed\n *\n * @example\n * // Returns {name: \"John\"}\n * extractJsonFromString('Some text {\"name\": \"John\"} more text');\n *\n * // Returns [1, 2, 3]\n * extractJsonFromString('Before [1,2,3] after');\n *\n * // Returns null\n * extractJsonFromString('No JSON here');\n */\nexport function extractJsonFromString(content: string): any {\n console.log(content);\n try {\n // First try to parse the entire string as JSON\n return JSON.parse(content);\n } catch {\n try {\n // If that fails, try to find the first valid JSON object or array in the string\n const matches = content.match(/(\\{[\\s\\S]*\\}|\\[[\\s\\S]*\\])/g);\n if (!matches) return null;\n\n // Try each matched potential JSON string until we find a valid one\n for (const match of matches) {\n try {\n return JSON.parse(match);\n } catch {\n continue;\n }\n }\n return null;\n } catch (error) {\n console.error('Error parsing JSON:', error);\n return null;\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectorRef, Component, EventEmitter, Input, OnChanges, OnDestroy, Output, SimpleChanges } from '@angular/core';\nimport { MessageService } from 'primeng/api';\nimport { ButtonModule } from 'primeng/button';\nimport { ProgressBar, ProgressBarModule } from 'primeng/progressbar';\nimport { Toast, ToastModule } from 'primeng/toast';\n\n@Component({\n selector: 'dc-progress-toast',\n templateUrl: './progress-toast.html',\n styleUrls: ['./progress-toast.css'],\n standalone: true,\n providers: [MessageService],\n imports: [ButtonModule, CommonModule, ToastModule, ProgressBarModule, Toast, ButtonModule, ProgressBar],\n})\nexport class DCProgressToastComponent implements OnChanges, OnDestroy {\n @Input()\n visible: boolean = false;\n\n @Input()\n progress: number = 0;\n\n @Output()\n processCompleted = new EventEmitter<void>();\n\n @Output()\n processClosed = new EventEmitter<void>();\n\n constructor(private messageService: MessageService, private cdr: ChangeDetectorRef) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['visible'] && changes['visible'].currentValue) {\n this.showConfirm();\n } else if (changes['visible'] && !changes['visible'].currentValue) {\n this.onClose();\n }\n\n // Handle progress changes\n if (changes['progress']) {\n if (this.progress >= 100) {\n this.onComplete();\n }\n this.cdr.markForCheck();\n }\n }\n\n ngOnDestroy(): void {\n this.messageService.clear('confirm');\n }\n\n private showConfirm() {\n if (this.visible) {\n this.messageService.add({ key: 'confirm', sticky: true, severity: 'info', summary: 'Working on it...' });\n }\n }\n\n private onComplete() {\n this.messageService.clear('confirm');\n this.messageService.add({\n severity: 'success',\n summary: 'Process Completed',\n detail: 'The process has finished successfully!',\n life: 3000,\n });\n this.processCompleted.emit();\n this.visible = false;\n }\n\n public onClose() {\n this.visible = false;\n this.messageService.add({\n severity: 'info',\n summary: 'Process Cancelled',\n detail: 'The process was cancelled by the user',\n life: 3000,\n });\n this.messageService.clear('confirm');\n this.processClosed.emit();\n }\n}\n","<div class=\"card flex justify-center\">\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onClose()\" [baseZIndex]=\"5000\">\n <ng-template let-message #headless let-closeFn=\"closeFn\">\n <section style=\"padding: 15px\">\n <div>\n <i class=\"pi pi-cloud-upload\"></i>\n <span>{{ message.summary }}</span>\n </div>\n <div>\n <p-progressbar [value]=\"progress\" [showValue]=\"false\" [style]=\"{ height: '6px' }\" />\n\n <label style=\"color: beige\">{{ progress }}% uploaded</label>\n </div>\n <div>\n <p-button label=\"Another Upload?\" (click)=\"closeFn($event)\" size=\"small\" />\n <p-button label=\"Cancel\" (click)=\"closeFn($event)\" size=\"small\" />\n </div>\n </section>\n </ng-template>\n </p-toast>\n</div>\n","/*\n * Public API Surface of core-components\n */\n\nexport * from './lib/components/empty-state/empty-state.component';\nexport * from './lib/components/list-filter-bar/dc-list-filter-bar.component';\nexport * from './lib/components/confirm/confirm.component';\nexport * from './lib/models/classes';\nexport * from './lib/models/pagination.abstract';\nexport * from './lib/models/filter.models';\nexport * from './lib/services/confirm.service';\nexport * from './lib/utils/utils';\nexport * from './lib/components/progress-toast/progress-toast';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3","i1","i4"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dataclouder-ngx-core.mjs","sources":["../../../../projects/dataclouder/ngx-core/src/lib/components/empty-state/empty-state.component.ts","../../../../projects/dataclouder/ngx-core/src/lib/components/empty-state/empty-state.component.html","../../../../projects/dataclouder/ngx-core/src/lib/models/filter.models.ts","../../../../projects/dataclouder/ngx-core/src/lib/components/list-filter-bar/dc-list-filter-bar.component.ts","../../../../projects/dataclouder/ngx-core/src/lib/components/list-filter-bar/dc-list-filter-bar.component.html","../../../../projects/dataclouder/ngx-core/src/lib/components/confirm/confirm.component.ts","../../../../projects/dataclouder/ngx-core/src/lib/components/confirm/confirm.component.html","../../../../projects/dataclouder/ngx-core/src/lib/models/classes.ts","../../../../projects/dataclouder/ngx-core/src/lib/models/pagination.abstract.ts","../../../../projects/dataclouder/ngx-core/src/lib/services/confirm.service.ts","../../../../projects/dataclouder/ngx-core/src/lib/utils/utils.ts","../../../../projects/dataclouder/ngx-core/src/lib/components/progress-toast/progress-toast.ts","../../../../projects/dataclouder/ngx-core/src/lib/components/progress-toast/progress-toast.html","../../../../projects/dataclouder/ngx-core/src/lib/components/loading-bar/loading-bar.service.ts","../../../../projects/dataclouder/ngx-core/src/lib/components/loading-bar/loading-bar.ts","../../../../projects/dataclouder/ngx-core/src/lib/components/loading-bar/loading-bar.html","../../../../projects/dataclouder/ngx-core/src/public-api.ts","../../../../projects/dataclouder/ngx-core/src/dataclouder-ngx-core.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\nimport { NgIf } from '@angular/common';\n\n@Component({\n selector: 'dc-empty-state',\n templateUrl: './empty-state.component.html',\n styleUrls: ['./empty-state.component.scss'],\n standalone: true,\n imports: [NgIf],\n})\nexport class EmptyStateComponent {\n @Input()\n public headingText = 'No existe el recurso que buscas';\n @Input()\n public subHeadingText = 'Intenta más tarde';\n @Input()\n public mainIconSrcString = 'assets/img/empty-states/empty-box.png';\n}\n","<div class=\"grid justify-content-center\">\r\n <div class=\"empty-state-content\">\r\n <h5 class=\"text-center\" *ngIf=\"headingText\">{{ headingText }}</h5>\r\n <img width=\"180px\" class=\"image-empty-state\" src=\"{{ mainIconSrcString }}\" />\r\n <h6 *ngIf=\"subHeadingText\">{{ subHeadingText }}</h6>\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n","export interface SortOption {\n label: string;\n value: string;\n}\n\nexport const availibleFilters = [\n { name: 'Tomadas', code: 'taken' },\n { name: 'Recomendadas', code: 'suggested' },\n { name: 'Nivel Básico', code: 'basicLevel' },\n { name: 'Nivel Intermedio', code: 'mediumLevel' },\n { name: 'Nivel Avanzado', code: 'advancedLevel' },\n];\n\nexport enum OptionValue {\n Newest = 'newest',\n Oldest = 'oldest',\n Alphabetical = 'alphabetical',\n ReverseAlphabetical = 'reverseAlphabetical',\n}\n\nexport const sortOptions: SortOption[] = [\n { label: 'Más reciente', value: OptionValue.Newest },\n { label: 'Más antiguo', value: OptionValue.Oldest },\n { label: 'A-Z', value: OptionValue.Alphabetical },\n { label: 'Z-A', value: OptionValue.ReverseAlphabetical },\n];\n\nexport const sortTypes = [\n { name: 'Recientes', code: 'newest', sort: { createdDate: -1 } },\n { name: 'Antiguas', code: 'oldest', sort: { createdDate: 1 } },\n { name: 'Populares', code: 'popular', sort: { takenCount: -1 } },\n];\n\nexport interface ICustomFilter {\n name: string;\n type: 'string' | 'number' | 'boolean' | 'date' | 'select';\n options?: any[];\n}\n\nexport interface FiltersConfig {\n page?: number;\n rowsPerPage?: number;\n sort?: { [key: string]: number };\n filters?: { [key: string]: any };\n text?: string;\n returnProps?: Record<string, 0 | 1>;\n}\n\nexport interface IFilterQueryResponse<T> {\n rows: T[];\n count: number;\n skip: number;\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ButtonModule } from 'primeng/button';\nimport { DialogModule } from 'primeng/dialog';\nimport { SelectModule } from 'primeng/select';\nimport { MultiSelectModule } from 'primeng/multiselect';\nimport { CalendarModule } from 'primeng/calendar';\nimport { availibleFilters, FiltersConfig, ICustomFilter, SortOption, sortOptions } from '../../models/filter.models';\n\nconst DEFAULT_FILTERS: FiltersConfig = { filters: {}, page: 0, rowsPerPage: 10, sort: { _id: -1 } };\n\n@Component({\n selector: 'dc-filter-bar',\n standalone: true,\n imports: [CommonModule, FormsModule, ButtonModule, DialogModule, SelectModule, MultiSelectModule, CalendarModule],\n templateUrl: './dc-list-filter-bar.component.html',\n styleUrl: './dc-list-filter-bar.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DCFilterBarComponent implements OnInit {\n @Input() public isAdmin: any = true; // TODO: create a solution for is admin\n @Input() public customFilters: ICustomFilter[] = [];\n @Output() public onChangeSort: any = new EventEmitter();\n @Output() public onNew: any = new EventEmitter();\n @Output() public onSearch: any = new EventEmitter();\n @Output() public onFilterChange = new EventEmitter<FiltersConfig>();\n\n public customFilterModels = [];\n constructor() {}\n ngOnInit(): void {\n console.log('customFilters', this.customFilters);\n\n if (this.customFilters.length > 0) {\n console.log('customFilters', this.customFilters);\n for (const filter of this.customFilters) {\n console.log('Deberia agregar un filtro nuevo', filter);\n // this.availibleFilters.push({\n // name: filter.name,\n // type: filter.type,\n // options: filter.options,\n // });\n }\n }\n }\n\n public availibleFilters = availibleFilters;\n public sortOptions = sortOptions;\n\n public isSearchVisible = false;\n public isFilterVisible = false;\n public placeholder = '';\n\n public filter: FiltersConfig = { ...DEFAULT_FILTERS };\n\n selectedFilters: (typeof availibleFilters)[] = [];\n selectedSort: SortOption | null = null;\n dateRange: Date[] = [];\n\n public changeFilter(event) {\n console.log('Filter changed');\n }\n\n public changeSort(event) {\n console.log('Sort changed', event.value);\n this.onChangeSort.emit(event.value);\n }\n\n public createNew() {\n // this.router.navigate(['edit/'], { relativeTo: this.route });\n console.log('createNew from core components');\n this.onNew.emit();\n }\n\n public search(text: string = null): void {\n if (!text) {\n this.placeholder = '';\n this.clearFilters();\n } else {\n this.onSearch.emit(text);\n }\n this.isSearchVisible = false;\n }\n\n clearFilters() {\n this.filter = { ...DEFAULT_FILTERS };\n this.onFilterChange.emit(this.filter);\n }\n\n applyFilters() {\n this.onFilterChange.emit(this.filter);\n this.isFilterVisible = false;\n }\n}\n","<div class=\"background-bar\">\n <div class=\"button-flex\">\n <div>\n <p-button icon=\"pi pi-search\" label=\"buscar\" severity=\"secondary\" (click)=\"isSearchVisible = true\" />\n </div>\n\n @if (isAdmin) {\n <span class=\"admin\">\n <p-button icon=\"pi pi-plus\" label=\"Crear Nueva\" severity=\"secondary\" (click)=\"createNew()\" />\n </span>\n }\n </div>\n\n <div class=\"button-flex\">\n <p-button icon=\"pi pi-filter\" label=\"Filtrar\" severity=\"secondary\" (click)=\"isFilterVisible = true\" />\n </div>\n</div>\n\n@if (placeholder) {\n<span class=\"search-flex\" (click)=\"search(null)\"> <i class=\"pi pi-times\"></i>{{ placeholder }} </span>\n}\n\n<p-dialog [(visible)]=\"isSearchVisible\" [dismissableMask]=\"true\" [modal]=\"true\" [showHeader]=\"false\" (onHide)=\"isSearchVisible = false\">\n <p>Haz una búsqueda (Enter)</p>\n <div>\n <span>\n <input (keydown.enter)=\"search(placeholder)\" type=\"text\" pInputText [(ngModel)]=\"placeholder\" />\n </span>\n </div>\n</p-dialog>\n\n<p-dialog [(visible)]=\"isFilterVisible\" [modal]=\"true\" [style]=\"{ width: '70vw', height: '70vh' }\" [header]=\"'Filtros'\">\n <div class=\"flex flex-column gap-4\">\n <!-- Sort Options -->\n <div class=\"field\">\n <label class=\"font-semibold block mb-2\">Ordenar por</label>\n <p-select [options]=\"sortOptions\" [(ngModel)]=\"selectedSort\" optionLabel=\"label\" [style]=\"{ width: '100%' }\" placeholder=\"Seleccionar orden\"> </p-select>\n </div>\n\n <p-multiselect\n [options]=\"availibleFilters\"\n [(ngModel)]=\"selectedFilters\"\n optionLabel=\"name\"\n placeholder=\"Filtros Rápidos\"\n [maxSelectedLabels]=\"3\"\n styleClass=\"w-full md:w-80\" />\n\n <!-- Date Filter -->\n <div class=\"field\">\n <label class=\"font-semibold block mb-2\">Rango de fechas</label>\n <p-calendar\n [(ngModel)]=\"dateRange\"\n selectionMode=\"range\"\n [showButtonBar]=\"true\"\n [style]=\"{ width: '100%' }\"\n placeholder=\"Seleccionar fechas\"\n dateFormat=\"dd/mm/yy\">\n </p-calendar>\n </div>\n\n @if (customFilters?.length > 0) {\n <h4>Filtros Personalizados (No terminado...) </h4>\n <h6>Encontrar la forma de que cada custom filter se renderize como un nuevo form.</h6>\n @for (filter of customFilters; track filter.name) {\n <div class=\"field\">\n <label class=\"font-semibold block mb-2\">{{ filter.name }}</label>\n </div>\n } }\n\n <!-- Recent/All Toggle -->\n </div>\n\n <ng-template pTemplate=\"footer\">\n <div class=\"flex justify-content-end gap-2\">\n <p-button label=\"Limpiar\" icon=\"pi pi-trash\" (click)=\"clearFilters()\" styleClass=\"p-button-text\"> </p-button>\n <p-button label=\"Aplicar\" icon=\"pi pi-check\" (click)=\"applyFilters()\" severity=\"primary\"> </p-button>\n </div>\n </ng-template>\n</p-dialog>\n","import { NgIf } from '@angular/common';\r\nimport { Component, OnInit, Input, HostListener } from '@angular/core';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';\r\nimport { MessageModule } from 'primeng/message';\r\n\r\n@Component({\r\n selector: 'app-confirm',\r\n templateUrl: './confirm.component.html',\r\n styleUrls: ['./confirm.component.scss'],\r\n standalone: true,\r\n imports: [NgIf, ButtonModule, MessageModule],\r\n})\r\nexport class ConfirmComponent implements OnInit {\r\n @Input() title: string = 'Confirmación';\r\n @Input() message: string;\r\n @Input() warning: string;\r\n\r\n @Input() oneBotton: boolean;\r\n\r\n @Input() acceptText: string;\r\n @Input() cancelText: string;\r\n\r\n @Input() piIcon: string;\r\n\r\n @HostListener('window:keyup.enter', ['$event'])\r\n onEnter(_event: any) {\r\n this.confirm();\r\n }\r\n\r\n @HostListener('window:keyup.escape', ['$event'])\r\n onEscapte(_event: any) {\r\n this.cancel();\r\n }\r\n\r\n constructor(private dynamicDialogConfig: DynamicDialogConfig, public ref: DynamicDialogRef) {\r\n if (this.dynamicDialogConfig.data) {\r\n this.title = this.dynamicDialogConfig.data.title;\r\n this.message = this.dynamicDialogConfig.data.message;\r\n this.warning = this.dynamicDialogConfig.data.warning;\r\n this.oneBotton = this.dynamicDialogConfig.data.oneBotton;\r\n this.acceptText = this.dynamicDialogConfig.data.acceptText ?? 'Aceptar';\r\n this.cancelText = this.dynamicDialogConfig.data.cancelText ?? 'Cancelar';\r\n this.piIcon = this.dynamicDialogConfig.data.piIcon;\r\n }\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n public cancel(): void {\r\n this.ref.close(false);\r\n }\r\n\r\n public confirm(): void {\r\n this.ref.close(true);\r\n }\r\n}\r\n","<div class=\"form-input-card\">\r\n <p-message severity=\"secondary\"> {{ title }}</p-message>\r\n\r\n <div style=\"text-align: center; padding: 1rem\">\r\n <i style=\"font-size: 4rem; color: #ff0040\" class=\"pi {{ piIcon }}\"></i>\r\n </div>\r\n\r\n <div>{{ message }} </div>\r\n\r\n @if (warning) {\r\n <p-message severity=\"warn\">\r\n <i class=\"pi pi-exclamation-triangle\"></i>\r\n {{ warning }}</p-message\r\n >\r\n }\r\n\r\n <br /><br />\r\n\r\n <div>\r\n <div style=\"float: right\">\r\n <p-button *ngIf=\"oneBotton\" label=\"Ok\" (click)=\"confirm()\"></p-button>\r\n </div>\r\n\r\n <div *ngIf=\"!oneBotton\" class=\"options\">\r\n <p-button [label]=\"cancelText\" (click)=\"cancel()\" severity=\"secondary\"></p-button>\r\n <p-button [label]=\"acceptText\" (click)=\"confirm()\" severity=\"danger\"></p-button>\r\n </div>\r\n </div>\r\n</div>\r\n","import { InjectionToken, Provider, Type } from '@angular/core';\n\nexport const TOAST_ALERTS_TOKEN = new InjectionToken<ToastAlertsAbstractService>('Toast alerts Service');\n\nexport interface ToastData {\n title: string;\n subtitle: string;\n}\n\nexport abstract class ToastAlertsAbstractService {\n abstract success(data: ToastData): void;\n abstract info(data: ToastData): void;\n abstract warn(data: ToastData): void;\n abstract error(data: ToastData): void;\n}\n\nexport function provideToastAlert(serviceImplementation: Type<ToastAlertsAbstractService>): Provider[] {\n return [\n {\n provide: TOAST_ALERTS_TOKEN,\n useExisting: serviceImplementation,\n },\n ];\n}\n\nexport enum AudioSpeed {\n VerySlow = 'verySlow',\n Slow = 'slow',\n Regular = 'regular',\n Fast = 'fast',\n VeryFast = 'veryFast',\n}\n","import { ActivatedRoute, Router } from '@angular/router';\nimport { FiltersConfig } from './filter.models';\n\nexport abstract class PaginationBase {\n public paginatorFirst: number = 0;\n public paginatorRows: number = 10;\n public totalRecords: number = 0;\n\n public filterConfig: FiltersConfig = { page: 0, rowsPerPage: this.paginatorRows, sort: { _id: -1 }, filters: {} };\n\n constructor(protected route: ActivatedRoute, protected router: Router) {\n this.initializePagination();\n }\n\n private initializePagination(): void {\n const page = this.route.snapshot.queryParamMap.get('page');\n if (page) {\n this.filterConfig.page = +page - 1;\n this.paginatorFirst = this.filterConfig.page * this.paginatorRows;\n }\n }\n\n public async onPageChange(pageEvent: any) {\n this.paginatorRows = pageEvent.rows;\n this.filterConfig = {\n ...this.filterConfig,\n page: pageEvent.page,\n rowsPerPage: this.paginatorRows,\n };\n\n await this.loadData();\n this.updatePageParam(pageEvent.page + 1);\n }\n\n private updatePageParam(newPage: number) {\n const queryParams = { page: newPage };\n this.router.navigate([], {\n relativeTo: this.route,\n queryParams: queryParams,\n queryParamsHandling: 'merge',\n });\n }\n\n // Abstract method that needs to be implemented by child classes\n protected abstract loadData(): Promise<void>;\n}\n","import { Injectable } from '@angular/core';\nimport { DialogService } from 'primeng/dynamicdialog';\n\nimport { ConfirmComponent } from '../components/confirm/confirm.component';\nimport { firstValueFrom } from 'rxjs';\n\nexport interface ConfirmOptions {\n title?: string;\n message?: string;\n acceptText?: string;\n cancelText?: string;\n warning?: string;\n oneBotton?: boolean;\n piIcon?: string;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfirmService {\n constructor(public pdialogService: DialogService) {}\n\n openConfirm(title: string = '', message: string = '', acceptText: string = 'Aceptar') {\n const dialogRef = this.pdialogService.open(ConfirmComponent, {\n data: {\n message: message,\n title: title,\n acceptText,\n },\n closable: true,\n modal: true,\n });\n\n return dialogRef.onClose;\n }\n\n confirm(options: ConfirmOptions) {\n const dialogRef = this.pdialogService.open(ConfirmComponent, {\n data: {\n message: options.message || '',\n title: options.title || 'Confirmación',\n acceptText: options.acceptText || 'Aceptar',\n cancelText: options.cancelText || 'Cancelar',\n warning: options.warning || null,\n oneBotton: options.oneBotton || false,\n piIcon: options.piIcon || null,\n },\n closable: true,\n modal: true,\n });\n\n return firstValueFrom(dialogRef.onClose);\n }\n}\n","/**\n * Extracts and parses the first JSON object or array found within a string.\n *\n * @param content - The input string that may contain JSON data\n * @returns {any} The parsed JSON data if found and valid, or null if:\n * - No JSON object/array is found in the string\n * - The found JSON is invalid and cannot be parsed\n *\n * @example\n * // Returns {name: \"John\"}\n * extractJsonFromString('Some text {\"name\": \"John\"} more text');\n *\n * // Returns [1, 2, 3]\n * extractJsonFromString('Before [1,2,3] after');\n *\n * // Returns null\n * extractJsonFromString('No JSON here');\n */\nexport function extractJsonFromString(content: string): any {\n console.log(content);\n try {\n // First try to parse the entire string as JSON\n return JSON.parse(content);\n } catch {\n try {\n // If that fails, try to find the first valid JSON object or array in the string\n const matches = content.match(/(\\{[\\s\\S]*\\}|\\[[\\s\\S]*\\])/g);\n if (!matches) return null;\n\n // Try each matched potential JSON string until we find a valid one\n for (const match of matches) {\n try {\n return JSON.parse(match);\n } catch {\n continue;\n }\n }\n return null;\n } catch (error) {\n console.error('Error parsing JSON:', error);\n return null;\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectorRef, Component, EventEmitter, Input, OnChanges, OnDestroy, Output, SimpleChanges } from '@angular/core';\nimport { MessageService } from 'primeng/api';\nimport { ButtonModule } from 'primeng/button';\nimport { ProgressBar, ProgressBarModule } from 'primeng/progressbar';\nimport { Toast, ToastModule } from 'primeng/toast';\n\n@Component({\n selector: 'dc-progress-toast',\n templateUrl: './progress-toast.html',\n styleUrls: ['./progress-toast.css'],\n standalone: true,\n providers: [MessageService],\n imports: [ButtonModule, CommonModule, ToastModule, ProgressBarModule, Toast, ButtonModule, ProgressBar],\n})\nexport class DCProgressToastComponent implements OnChanges, OnDestroy {\n @Input()\n visible: boolean = false;\n\n @Input()\n progress: number = 0;\n\n @Output()\n processCompleted = new EventEmitter<void>();\n\n @Output()\n processClosed = new EventEmitter<void>();\n\n constructor(private messageService: MessageService, private cdr: ChangeDetectorRef) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['visible'] && changes['visible'].currentValue) {\n this.showConfirm();\n } else if (changes['visible'] && !changes['visible'].currentValue) {\n this.onClose();\n }\n\n // Handle progress changes\n if (changes['progress']) {\n if (this.progress >= 100) {\n this.onComplete();\n }\n this.cdr.markForCheck();\n }\n }\n\n ngOnDestroy(): void {\n this.messageService.clear('confirm');\n }\n\n private showConfirm() {\n if (this.visible) {\n this.messageService.add({ key: 'confirm', sticky: true, severity: 'info', summary: 'Working on it...' });\n }\n }\n\n private onComplete() {\n this.messageService.clear('confirm');\n this.messageService.add({\n severity: 'success',\n summary: 'Process Completed',\n detail: 'The process has finished successfully!',\n life: 3000,\n });\n this.processCompleted.emit();\n this.visible = false;\n }\n\n public onClose() {\n this.visible = false;\n this.messageService.add({\n severity: 'info',\n summary: 'Process Cancelled',\n detail: 'The process was cancelled by the user',\n life: 3000,\n });\n this.messageService.clear('confirm');\n this.processClosed.emit();\n }\n}\n","<div class=\"card flex justify-center\">\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onClose()\" [baseZIndex]=\"9000\">\n <ng-template let-message #headless let-closeFn=\"closeFn\">\n <section style=\"padding: 15px\">\n <div>\n <i class=\"pi pi-cloud-upload\"></i>\n <span>{{ message.summary }}</span>\n </div>\n <div>\n <p-progressbar [value]=\"progress\" [showValue]=\"false\" [style]=\"{ height: '6px' }\" />\n\n <label style=\"color: beige\">{{ progress }}% uploaded</label>\n </div>\n <div>\n <p-button label=\"Another Upload?\" (click)=\"closeFn($event)\" size=\"small\" />\n <p-button label=\"Cancel\" (click)=\"closeFn($event)\" size=\"small\" />\n </div>\n </section>\n </ng-template>\n </p-toast>\n</div>\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LoadingBarService {\n public isShowing: boolean = false;\n public progress: number = 0;\n public mode: 'indeterminate' | 'determinate' = 'indeterminate';\n public color: string = 'primary';\n constructor() {}\n\n public showProgressBar() {\n this.isShowing = true;\n this.mode = 'determinate';\n this.progress = 0;\n }\n\n public showIndeterminate() {\n this.isShowing = true;\n this.mode = 'indeterminate';\n this.progress = 0;\n }\n\n public showProgressBarWithProgress(progress: number) {\n this.isShowing = true;\n this.mode = 'determinate';\n this.progress = progress;\n }\n\n public hideProgressBar() {\n this.isShowing = false;\n this.mode = null;\n this.progress = 0;\n this.color = 'primary';\n }\n\n public successAndHide() {\n this.isShowing = true;\n this.mode = 'indeterminate';\n this.progress = 100;\n this.color = '#4BBD97';\n setTimeout(() => {\n this.hideProgressBar();\n }, 1600);\n }\n\n public exampleProgress() {\n this.showProgressBarWithProgress(0);\n setTimeout(() => {\n this.showProgressBarWithProgress(20);\n }, 1000);\n setTimeout(() => {\n this.showProgressBarWithProgress(40);\n }, 2000);\n setTimeout(() => {\n this.showProgressBarWithProgress(60);\n }, 3000);\n setTimeout(() => {\n this.showProgressBarWithProgress(80);\n }, 4000);\n setTimeout(() => {\n this.showProgressBarWithProgress(100);\n }, 5000);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { MessageService } from 'primeng/api';\nimport { ButtonModule } from 'primeng/button';\nimport { ProgressBar, ProgressBarModule } from 'primeng/progressbar';\nimport { ToastModule } from 'primeng/toast';\nimport { LoadingBarService } from './loading-bar.service';\n\n@Component({\n selector: 'dc-loading-bar',\n templateUrl: './loading-bar.html',\n styleUrls: ['./loading-bar.css'],\n standalone: true,\n providers: [MessageService],\n imports: [ButtonModule, CommonModule, ToastModule, ProgressBarModule, ButtonModule, ProgressBar],\n})\nexport class LoadingBarComponent {\n constructor(public loadingBarService: LoadingBarService) {}\n}\n","@if (loadingBarService.isShowing) {\n<p-progressbar [color]=\"loadingBarService.color\" [mode]=\"loadingBarService.mode\" [style]=\"{ height: '4px' }\" [value]=\"loadingBarService.progress\" />\n}\n","/*\n * Public API Surface of core-components\n */\n\nexport * from './lib/components/empty-state/empty-state.component';\nexport * from './lib/components/list-filter-bar/dc-list-filter-bar.component';\nexport * from './lib/components/confirm/confirm.component';\nexport * from './lib/models/classes';\nexport * from './lib/models/pagination.abstract';\nexport * from './lib/models/filter.models';\nexport * from './lib/services/confirm.service';\nexport * from './lib/utils/utils';\nexport * from './lib/components/progress-toast/progress-toast';\nexport * from './lib/components/loading-bar/loading-bar';\nexport * from './lib/components/loading-bar/loading-bar.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3","i1","i4","i1.LoadingBarService","i2"],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { LoadingBarService } from './loading-bar.service';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class LoadingBarComponent {
|
|
4
|
+
loadingBarService: LoadingBarService;
|
|
5
|
+
constructor(loadingBarService: LoadingBarService);
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LoadingBarComponent, never>;
|
|
7
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LoadingBarComponent, "dc-loading-bar", never, {}, {}, never, never, true, never>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class LoadingBarService {
|
|
3
|
+
isShowing: boolean;
|
|
4
|
+
progress: number;
|
|
5
|
+
mode: 'indeterminate' | 'determinate';
|
|
6
|
+
color: string;
|
|
7
|
+
constructor();
|
|
8
|
+
showProgressBar(): void;
|
|
9
|
+
showIndeterminate(): void;
|
|
10
|
+
showProgressBarWithProgress(progress: number): void;
|
|
11
|
+
hideProgressBar(): void;
|
|
12
|
+
successAndHide(): void;
|
|
13
|
+
exampleProgress(): void;
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LoadingBarService, never>;
|
|
15
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<LoadingBarService>;
|
|
16
|
+
}
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED
|
@@ -7,3 +7,5 @@ export * from './lib/models/filter.models';
|
|
|
7
7
|
export * from './lib/services/confirm.service';
|
|
8
8
|
export * from './lib/utils/utils';
|
|
9
9
|
export * from './lib/components/progress-toast/progress-toast';
|
|
10
|
+
export * from './lib/components/loading-bar/loading-bar';
|
|
11
|
+
export * from './lib/components/loading-bar/loading-bar.service';
|