@dataclouder/ngx-core 0.1.36 → 0.1.38
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/fesm2022/dataclouder-ngx-core.mjs +212 -50
- package/fesm2022/dataclouder-ngx-core.mjs.map +1 -1
- package/index.d.ts +72 -8
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { input,
|
|
2
|
+
import { input, Component, inject, output, Input, ChangeDetectionStrategy, HostListener, ChangeDetectorRef, Injectable, Pipe, signal, effect, ViewChild, Directive, InjectionToken, Optional, Inject } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/forms';
|
|
4
4
|
import { FormBuilder, FormsModule, ReactiveFormsModule, FormControl, ControlContainer, FormGroup, FormArray } from '@angular/forms';
|
|
5
5
|
import * as i2 from 'primeng/button';
|
|
@@ -12,6 +12,11 @@ import * as i6 from 'primeng/multiselect';
|
|
|
12
12
|
import { MultiSelectModule } from 'primeng/multiselect';
|
|
13
13
|
import * as i7 from 'primeng/datepicker';
|
|
14
14
|
import { DatePickerModule } from 'primeng/datepicker';
|
|
15
|
+
import * as i8 from 'primeng/inputtext';
|
|
16
|
+
import { InputTextModule } from 'primeng/inputtext';
|
|
17
|
+
import * as i9 from 'primeng/inputgroup';
|
|
18
|
+
import { InputGroupModule } from 'primeng/inputgroup';
|
|
19
|
+
import { InputGroupAddonModule } from 'primeng/inputgroupaddon';
|
|
15
20
|
import * as i3 from 'primeng/api';
|
|
16
21
|
import { MessageService, FilterMatchMode } from 'primeng/api';
|
|
17
22
|
import { DynamicDialogConfig, DynamicDialogRef, DialogService } from 'primeng/dynamicdialog';
|
|
@@ -22,8 +27,6 @@ import { ProgressBarModule, ProgressBar } from 'primeng/progressbar';
|
|
|
22
27
|
import * as i2$2 from 'primeng/toast';
|
|
23
28
|
import { ToastModule, Toast } from 'primeng/toast';
|
|
24
29
|
import { CardModule } from 'primeng/card';
|
|
25
|
-
import * as i4$1 from 'primeng/inputtext';
|
|
26
|
-
import { InputTextModule } from 'primeng/inputtext';
|
|
27
30
|
import { RouterModule, ActivatedRoute, Router } from '@angular/router';
|
|
28
31
|
import { SpeedDialModule } from 'primeng/speeddial';
|
|
29
32
|
import { PaginatorModule } from 'primeng/paginator';
|
|
@@ -41,34 +44,30 @@ import { ChipModule } from 'primeng/chip';
|
|
|
41
44
|
import { AvatarModule } from 'primeng/avatar';
|
|
42
45
|
import * as i2$3 from 'primeng/checkbox';
|
|
43
46
|
import { CheckboxModule } from 'primeng/checkbox';
|
|
44
|
-
import * as i4$
|
|
47
|
+
import * as i4$1 from 'primeng/tooltip';
|
|
45
48
|
import { TooltipModule } from 'primeng/tooltip';
|
|
46
49
|
import * as i2$4 from 'primeng/inputnumber';
|
|
47
50
|
import { InputNumberModule } from 'primeng/inputnumber';
|
|
48
51
|
import { toSignal } from '@angular/core/rxjs-interop';
|
|
49
52
|
import { map } from 'rxjs/operators';
|
|
50
53
|
import { firstValueFrom, tap, catchError, lastValueFrom, throwError, map as map$1 } from 'rxjs';
|
|
51
|
-
import * as i4$
|
|
54
|
+
import * as i4$2 from 'primeng/textarea';
|
|
52
55
|
import { TextareaModule } from 'primeng/textarea';
|
|
53
56
|
import { HttpClient, HttpEventType } from '@angular/common/http';
|
|
54
57
|
|
|
55
58
|
class EmptyStateComponent {
|
|
56
59
|
constructor() {
|
|
57
|
-
this.headingText = 'No existe el recurso que buscas';
|
|
58
|
-
this.subHeadingText = 'Intenta más tarde';
|
|
60
|
+
this.headingText = input('No existe el recurso que buscas', ...(ngDevMode ? [{ debugName: "headingText" }] : []));
|
|
61
|
+
this.subHeadingText = input('Intenta más tarde', ...(ngDevMode ? [{ debugName: "subHeadingText" }] : []));
|
|
59
62
|
this.mainIconSrcString = input('assets/img/empty-states/empty-box.png', ...(ngDevMode ? [{ debugName: "mainIconSrcString" }] : []));
|
|
60
63
|
}
|
|
61
64
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: EmptyStateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
62
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.6", type: EmptyStateComponent, isStandalone: true, selector: "dc-empty-state", inputs: { headingText: { classPropertyName: "headingText", publicName: "headingText", isSignal:
|
|
65
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.6", type: EmptyStateComponent, isStandalone: true, selector: "dc-empty-state", inputs: { headingText: { classPropertyName: "headingText", publicName: "headingText", isSignal: true, isRequired: false, transformFunction: null }, subHeadingText: { classPropertyName: "subHeadingText", publicName: "subHeadingText", isSignal: true, isRequired: false, transformFunction: null }, mainIconSrcString: { classPropertyName: "mainIconSrcString", publicName: "mainIconSrcString", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"empty-state-container\">\n @if (headingText()) {\n <h5 class=\"text-center\">{{ headingText() }}</h5>\n }\n <img width=\"180px\" class=\"image-empty-state\" [src]=\"mainIconSrcString()\" />\n @if (subHeadingText()) {\n <h6 class=\"text-center\">{{ subHeadingText() }}</h6>\n }\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:block;width:100%;height:100%}.empty-state-container{padding:20px;text-align:center;height:100%;flex-direction:column;display:flex;align-items:center}.empty-state-container .image-empty-state{filter:grayscale(40%);margin:15px 0}.empty-state-container h5{margin-bottom:10px}.empty-state-container h6{color:var(--text-color-secondary);margin-top:0}\n"] }); }
|
|
63
66
|
}
|
|
64
67
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: EmptyStateComponent, decorators: [{
|
|
65
68
|
type: Component,
|
|
66
|
-
args: [{ selector: 'dc-empty-state', standalone: true, imports: [], template: "<div class=\"
|
|
67
|
-
}]
|
|
68
|
-
type: Input
|
|
69
|
-
}], subHeadingText: [{
|
|
70
|
-
type: Input
|
|
71
|
-
}] } });
|
|
69
|
+
args: [{ selector: 'dc-empty-state', standalone: true, imports: [], template: "<div class=\"empty-state-container\">\n @if (headingText()) {\n <h5 class=\"text-center\">{{ headingText() }}</h5>\n }\n <img width=\"180px\" class=\"image-empty-state\" [src]=\"mainIconSrcString()\" />\n @if (subHeadingText()) {\n <h6 class=\"text-center\">{{ subHeadingText() }}</h6>\n }\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:block;width:100%;height:100%}.empty-state-container{padding:20px;text-align:center;height:100%;flex-direction:column;display:flex;align-items:center}.empty-state-container .image-empty-state{filter:grayscale(40%);margin:15px 0}.empty-state-container h5{margin-bottom:10px}.empty-state-container h6{color:var(--text-color-secondary);margin-top:0}\n"] }]
|
|
70
|
+
}] });
|
|
72
71
|
|
|
73
72
|
const availibleFilters = [
|
|
74
73
|
{ name: 'Tomadas', code: 'taken' },
|
|
@@ -96,7 +95,6 @@ const sortTypes = [
|
|
|
96
95
|
{ name: 'Populares', code: 'popular', sort: { takenCount: -1 } },
|
|
97
96
|
];
|
|
98
97
|
|
|
99
|
-
// import { UserService } from '@dataclouder/ngx-users';
|
|
100
98
|
const DEFAULT_FILTERS = { filters: {}, page: 0, rowsPerPage: 10, sort: { _id: -1 } };
|
|
101
99
|
class DCFilterBarComponent {
|
|
102
100
|
constructor() {
|
|
@@ -178,11 +176,22 @@ class DCFilterBarComponent {
|
|
|
178
176
|
this.onFilterAction.emit(filterEvent);
|
|
179
177
|
}
|
|
180
178
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: DCFilterBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
181
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.6", type: DCFilterBarComponent, isStandalone: true, selector: "dc-filter-bar", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, customFilters: { classPropertyName: "customFilters", publicName: "customFilters", isSignal: false, isRequired: false, transformFunction: null }, isAdmin: { classPropertyName: "isAdmin", publicName: "isAdmin", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onFilterAction: "onFilterAction", onChangeSort: "onChangeSort", onNew: "onNew" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"background-bar\">\n <div class=\"button-flex\">\n <p-button icon=\"pi pi-search\" label=\"buscar\" severity=\"secondary\" (click)=\"isSearchVisible = true\" />\n\n @if (isAdmin) {\n <span class=\"admin\">\n <i style=\"position: absolute; right: -5px; top: -5px; z-index: 2; color: grey\" class=\"pi pi-key\"></i>\n <p-button icon=\"pi pi-plus\" label=\"Crear Nueva\" severity=\"secondary\" (click)=\"createNew()\" />\n </span>\n }\n </div>\n\n @if (isAdmin) {\n <p-button icon=\"pi pi-objects-column\" variant=\"text\" (click)=\"doItemAction({ action: 'changeView', item: null })\" severity=\"secondary\"></p-button>\n } @if(options()?.showActions){ @for(item of items(); track $index) {\n <p-button [icon]=\"item.icon\" variant=\"text\" (click)=\"doItemAction({ action: item.title, item: item })\" severity=\"secondary\"></p-button>\n } @if(isAdmin) {\n <div class=\"button-flex\">\n <p-button icon=\"pi pi-filter\" label=\"Filtrar\" severity=\"secondary\" (click)=\"isFilterVisible = true\" />\n </div>\n } }\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\u00FAsqueda (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\u00E1pidos\"\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-datepicker\n [(ngModel)]=\"dateRange\"\n selectionMode=\"range\"\n [showButtonBar]=\"true\"\n [style]=\"{ width: '100%' }\"\n placeholder=\"Seleccionar fechas\"\n dateFormat=\"dd/mm/yy\">\n </p-datepicker>\n </div>\n\n @if (customFilters?.length > 0) {\n <form [formGroup]=\"customFiltersForm\">\n <h4>Filtros Personalizados</h4>\n @for (customFilter of customFilters; track customFilter.field) {\n <div class=\"field\">\n <label class=\"font-semibold block mb-2\">{{ customFilter.name }}</label>\n @switch (customFilter.type) { @case ('select') {\n <p-select\n [options]=\"customFilter.options\"\n [formControlName]=\"customFilter.field\"\n optionLabel=\"label\"\n optionValue=\"value\"\n [style]=\"{ width: '100%' }\"\n placeholder=\"Seleccionar {{ customFilter.name }}\" />\n } @case ('string') {\n <input type=\"text\" pInputText [formControlName]=\"customFilter.field\" class=\"w-full\" />\n } @case ('date') {\n <p-datepicker [formControlName]=\"customFilter.field\" [style]=\"{ width: '100%' }\" dateFormat=\"dd/mm/yy\"></p-datepicker>\n } }\n </div>\n }\n </form>\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", styles: [":host{display:block}.admin{margin-left:10px;position:relative}.background-bar{background-color:var(--p-primary-color);display:flex;border-radius:10px;justify-content:space-between;padding:10px}.button-flex{display:flex;margin-right:10px}.white{color:#fff}.search-flex{margin-left:10px}.search-dialog{width:750px;-webkit-backdrop-filter:blur(70px);backdrop-filter:blur(70px)}.border-none{border:none}.bg-black-alpha-50{background-color:var(--p-primary-color)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { 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", "buttonProps", "autofocus", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i4.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "closeButtonProps", "maximizeButtonProps", "visible", "style", "position", "role", "appendTo", "content", "contentTemplate", "footerTemplate", "closeIconTemplate", "maximizeIconTemplate", "minimizeIconTemplate", "headlessTemplate"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i5.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "panelStyle", "styleClass", "panelStyleClass", "readonly", "editable", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "filterValue", "options", "appendTo"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: MultiSelectModule }, { kind: "component", type: i6.MultiSelect, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: ["id", "ariaLabel", "styleClass", "panelStyle", "panelStyleClass", "inputId", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "dataKey", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "chipIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "placeholder", "options", "filterValue", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus", "highlightOnSelect", "size", "variant", "fluid", "appendTo"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "ngmodule", type: DatePickerModule }, { kind: "component", type: i7.DatePicker, selector: "p-datePicker, p-datepicker, p-date-picker", inputs: ["iconDisplay", "styleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "readonlyInput", "shortYearCutoff", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "minDate", "maxDate", "disabledDates", "disabledDays", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "view", "defaultDate", "appendTo"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
179
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.6", type: DCFilterBarComponent, isStandalone: true, selector: "dc-filter-bar", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, customFilters: { classPropertyName: "customFilters", publicName: "customFilters", isSignal: false, isRequired: false, transformFunction: null }, isAdmin: { classPropertyName: "isAdmin", publicName: "isAdmin", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onFilterAction: "onFilterAction", onChangeSort: "onChangeSort", onNew: "onNew" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"background-bar\">\n <div class=\"button-flex\">\n <p-button icon=\"pi pi-search\" label=\"buscar\" severity=\"secondary\" (click)=\"isSearchVisible = true\" />\n\n @if (isAdmin) {\n <span class=\"admin\">\n <i style=\"position: absolute; right: -5px; top: -5px; z-index: 2; color: grey\" class=\"pi pi-key\"></i>\n <p-button icon=\"pi pi-plus\" label=\"Crear Nueva\" severity=\"secondary\" (click)=\"createNew()\" />\n </span>\n }\n </div>\n\n @if (isAdmin) {\n <p-button icon=\"pi pi-objects-column\" variant=\"text\" (click)=\"doItemAction({ action: 'changeView', item: null })\" severity=\"secondary\"></p-button>\n } @if(options()?.showActions){ @for(item of items(); track $index) {\n <p-button [icon]=\"item.icon\" variant=\"text\" (click)=\"doItemAction({ action: item.title, item: item })\" severity=\"secondary\"></p-button>\n } @if(isAdmin) {\n <div class=\"button-flex\">\n <p-button icon=\"pi pi-filter\" label=\"Filtrar\" severity=\"secondary\" (click)=\"isFilterVisible = true\" />\n </div>\n } }\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 <h4>Qu\u00E9 vamos a buscar? (Enter)</h4>\n <div>\n <p-inputgroup>\n <input (keydown.enter)=\"search(placeholder)\" type=\"text\" pInputText [(ngModel)]=\"placeholder\" />\n\n <p-button label=\"Buscar\" icon=\"pi pi-search\" (click)=\"search(placeholder)\" />\n </p-inputgroup>\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\u00E1pidos\"\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-datepicker\n [(ngModel)]=\"dateRange\"\n selectionMode=\"range\"\n [showButtonBar]=\"true\"\n [style]=\"{ width: '100%' }\"\n placeholder=\"Seleccionar fechas\"\n dateFormat=\"dd/mm/yy\">\n </p-datepicker>\n </div>\n\n @if (customFilters?.length > 0) {\n <form [formGroup]=\"customFiltersForm\">\n <h4>Filtros Personalizados</h4>\n @for (customFilter of customFilters; track customFilter.field) {\n <div class=\"field\">\n <label class=\"font-semibold block mb-2\">{{ customFilter.name }}</label>\n @switch (customFilter.type) { @case ('select') {\n <p-select\n [options]=\"customFilter.options\"\n [formControlName]=\"customFilter.field\"\n optionLabel=\"label\"\n optionValue=\"value\"\n [style]=\"{ width: '100%' }\"\n placeholder=\"Seleccionar {{ customFilter.name }}\" />\n } @case ('string') {\n <input type=\"text\" pInputText [formControlName]=\"customFilter.field\" class=\"w-full\" />\n } @case ('date') {\n <p-datepicker [formControlName]=\"customFilter.field\" [style]=\"{ width: '100%' }\" dateFormat=\"dd/mm/yy\"></p-datepicker>\n } }\n </div>\n }\n </form>\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", styles: [":host{display:block}.admin{margin-left:10px;position:relative}.background-bar{background-color:var(--p-primary-color);display:flex;border-radius:10px;justify-content:space-between;padding:10px}.button-flex{display:flex;margin-right:10px}.white{color:#fff}.search-flex{margin-left:10px}.search-dialog{width:750px;-webkit-backdrop-filter:blur(70px);backdrop-filter:blur(70px)}.border-none{border:none}.bg-black-alpha-50{background-color:var(--p-primary-color)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { 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", "buttonProps", "autofocus", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i4.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "closeButtonProps", "maximizeButtonProps", "visible", "style", "position", "role", "appendTo", "content", "contentTemplate", "footerTemplate", "closeIconTemplate", "maximizeIconTemplate", "minimizeIconTemplate", "headlessTemplate"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i5.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "panelStyle", "styleClass", "panelStyleClass", "readonly", "editable", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "filterValue", "options", "appendTo"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: MultiSelectModule }, { kind: "component", type: i6.MultiSelect, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: ["id", "ariaLabel", "styleClass", "panelStyle", "panelStyleClass", "inputId", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "dataKey", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "chipIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "placeholder", "options", "filterValue", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus", "highlightOnSelect", "size", "variant", "fluid", "appendTo"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "ngmodule", type: DatePickerModule }, { kind: "component", type: i7.DatePicker, selector: "p-datePicker, p-datepicker, p-date-picker", inputs: ["iconDisplay", "styleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "readonlyInput", "shortYearCutoff", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "minDate", "maxDate", "disabledDates", "disabledDays", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "view", "defaultDate", "appendTo"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i8.InputText, selector: "[pInputText]", inputs: ["pSize", "variant", "fluid", "invalid"] }, { kind: "ngmodule", type: InputGroupModule }, { kind: "component", type: i9.InputGroup, selector: "p-inputgroup, p-inputGroup, p-input-group", inputs: ["styleClass"] }, { kind: "ngmodule", type: InputGroupAddonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
182
180
|
}
|
|
183
181
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: DCFilterBarComponent, decorators: [{
|
|
184
182
|
type: Component,
|
|
185
|
-
args: [{ selector: 'dc-filter-bar', standalone: true, imports: [
|
|
183
|
+
args: [{ selector: 'dc-filter-bar', standalone: true, imports: [
|
|
184
|
+
FormsModule,
|
|
185
|
+
ReactiveFormsModule,
|
|
186
|
+
ButtonModule,
|
|
187
|
+
DialogModule,
|
|
188
|
+
SelectModule,
|
|
189
|
+
MultiSelectModule,
|
|
190
|
+
DatePickerModule,
|
|
191
|
+
InputTextModule,
|
|
192
|
+
InputGroupModule,
|
|
193
|
+
InputGroupAddonModule,
|
|
194
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"background-bar\">\n <div class=\"button-flex\">\n <p-button icon=\"pi pi-search\" label=\"buscar\" severity=\"secondary\" (click)=\"isSearchVisible = true\" />\n\n @if (isAdmin) {\n <span class=\"admin\">\n <i style=\"position: absolute; right: -5px; top: -5px; z-index: 2; color: grey\" class=\"pi pi-key\"></i>\n <p-button icon=\"pi pi-plus\" label=\"Crear Nueva\" severity=\"secondary\" (click)=\"createNew()\" />\n </span>\n }\n </div>\n\n @if (isAdmin) {\n <p-button icon=\"pi pi-objects-column\" variant=\"text\" (click)=\"doItemAction({ action: 'changeView', item: null })\" severity=\"secondary\"></p-button>\n } @if(options()?.showActions){ @for(item of items(); track $index) {\n <p-button [icon]=\"item.icon\" variant=\"text\" (click)=\"doItemAction({ action: item.title, item: item })\" severity=\"secondary\"></p-button>\n } @if(isAdmin) {\n <div class=\"button-flex\">\n <p-button icon=\"pi pi-filter\" label=\"Filtrar\" severity=\"secondary\" (click)=\"isFilterVisible = true\" />\n </div>\n } }\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 <h4>Qu\u00E9 vamos a buscar? (Enter)</h4>\n <div>\n <p-inputgroup>\n <input (keydown.enter)=\"search(placeholder)\" type=\"text\" pInputText [(ngModel)]=\"placeholder\" />\n\n <p-button label=\"Buscar\" icon=\"pi pi-search\" (click)=\"search(placeholder)\" />\n </p-inputgroup>\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\u00E1pidos\"\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-datepicker\n [(ngModel)]=\"dateRange\"\n selectionMode=\"range\"\n [showButtonBar]=\"true\"\n [style]=\"{ width: '100%' }\"\n placeholder=\"Seleccionar fechas\"\n dateFormat=\"dd/mm/yy\">\n </p-datepicker>\n </div>\n\n @if (customFilters?.length > 0) {\n <form [formGroup]=\"customFiltersForm\">\n <h4>Filtros Personalizados</h4>\n @for (customFilter of customFilters; track customFilter.field) {\n <div class=\"field\">\n <label class=\"font-semibold block mb-2\">{{ customFilter.name }}</label>\n @switch (customFilter.type) { @case ('select') {\n <p-select\n [options]=\"customFilter.options\"\n [formControlName]=\"customFilter.field\"\n optionLabel=\"label\"\n optionValue=\"value\"\n [style]=\"{ width: '100%' }\"\n placeholder=\"Seleccionar {{ customFilter.name }}\" />\n } @case ('string') {\n <input type=\"text\" pInputText [formControlName]=\"customFilter.field\" class=\"w-full\" />\n } @case ('date') {\n <p-datepicker [formControlName]=\"customFilter.field\" [style]=\"{ width: '100%' }\" dateFormat=\"dd/mm/yy\"></p-datepicker>\n } }\n </div>\n }\n </form>\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", styles: [":host{display:block}.admin{margin-left:10px;position:relative}.background-bar{background-color:var(--p-primary-color);display:flex;border-radius:10px;justify-content:space-between;padding:10px}.button-flex{display:flex;margin-right:10px}.white{color:#fff}.search-flex{margin-left:10px}.search-dialog{width:750px;-webkit-backdrop-filter:blur(70px);backdrop-filter:blur(70px)}.border-none{border:none}.bg-black-alpha-50{background-color:var(--p-primary-color)}\n"] }]
|
|
186
195
|
}], propDecorators: { customFilters: [{
|
|
187
196
|
type: Input
|
|
188
197
|
}], isAdmin: [{
|
|
@@ -629,7 +638,7 @@ class QuickTableComponent {
|
|
|
629
638
|
}
|
|
630
639
|
}
|
|
631
640
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: QuickTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
632
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.6", type: QuickTableComponent, isStandalone: true, selector: "app-quick-table", inputs: { columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, tableData: { classPropertyName: "tableData", publicName: "tableData", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onAction: "onAction" }, viewQueries: [{ propertyName: "tableRef", first: true, predicate: ["tableRef"], descendants: true }], ngImport: i0, template: "<p-table\n [tableStyle]=\"{ 'min-width': '20rem' }\"\n #tableRef\n [value]=\"_tableData()\"\n [columns]=\"_columns()\"\n [globalFilterFields]=\"globalFilterFields()\"\n [filters]=\"filters()\"\n (onFilter)=\"onFilterLocal($event)\">\n <ng-template pTemplate=\"caption\">\n <div class=\"flex justify-content-between align-items-center\">\n <h5 class=\"m-0\">Table Data</h5>\n <span class=\"p-input-icon-left\">\n <i class=\"pi pi-search\"></i>\n <input pInputText type=\"text\" (input)=\"onGlobalFilter($event)\" placeholder=\"Search keyword\" />\n </span>\n </div>\n </ng-template>\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n @for (column of columns; track column) {\n <th [pSortableColumn]=\"column.field\">{{ column.header }} <p-sortIcon [field]=\"column.field\"></p-sortIcon></th>\n }\n </tr>\n <tr>\n @for (column of columns; track column) { @if(column.type === 'tags') {\n <th>\n <p-multiselect\n [options]=\"filters()?.[column.field]?.['options']\"\n placeholder=\"Selecciona\"\n (onChange)=\"filterOutsideTable('tags', column.field, $event.value)\"\n [style]=\"{ minWidth: '14rem' }\"\n [panelStyle]=\"{ minWidth: '16rem' }\">\n <ng-template let-option #item>\n <div class=\"flex items-center gap-2\">\n <span>{{ option }}</span>\n </div>\n </ng-template>\n </p-multiselect>\n </th>\n\n } @else {\n <th>\n <p-columnFilter [type]=\"getFilterType(column)\" [field]=\"column.field\" placeholder=\"Search\" [showMenu]=\"false\"></p-columnFilter>\n </th>\n } }\n </tr>\n </ng-template>\n <!-- @if(tableData()){ -->\n <ng-template pTemplate=\"body\" let-item let-columns=\"columns\">\n <tr>\n @for (column of columns; track column) {\n <td>\n @if(column.type === 'image'){\n <div class=\"image-container\">\n <img [src]=\"item | getPath: column\" alt=\"Image\" class=\"image\" />\n </div>\n } @else if(column.type === 'tags') {\n <div class=\"tags-container\">\n @for (tag of item[column.field]; track tag) {\n <p-tag [rounded]=\"true\" [value]=\"tag\"></p-tag>\n }\n </div>\n } @else if(column.type === 'actions') {\n <div style=\"display: flex; gap: 2px\">\n @for (actionBtn of _actions(); track actionBtn) {\n <p-button (click)=\"selectItem(item, actionBtn)\" [icon]=\"actionBtn.icon\" [severity]=\"actionBtn['severity']\" />\n }\n </div>\n } @else {\n <span>{{ item | getPath: column}} </span>\n }\n </td>\n }\n </tr>\n </ng-template>\n <!-- } -->\n</p-table>\n", styles: [":host{display:block;height:100%;overflow:auto}.generic-list-container{display:flex;flex-direction:column;height:100%}.generic-list-content{margin-top:10px;flex:1;overflow-y:auto;padding-bottom:10px}.card-source{margin-bottom:10px;position:relative}.paginator-container{margin-top:auto;padding-top:10px}.image-container{width:50px;height:50px;border-radius:50%;overflow:hidden;display:flex;justify-content:center;align-items:center}.image-container img{width:100%;height:100%;object-fit:cover}\n"], dependencies: [{ kind: "ngmodule", type: CardModule }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { 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", "buttonProps", "autofocus", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: SpeedDialModule }, { kind: "ngmodule", type: PaginatorModule }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i3$2.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "size", "showGridlines", "stripedRows", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i3$2.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "component", type: i3$2.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i3$2.ColumnFilter, selector: "p-columnFilter, p-column-filter, p-columnfilter", inputs: ["field", "type", "display", "showMenu", "matchMode", "operator", "showOperator", "showClearButton", "showApplyButton", "showMatchModes", "showAddButton", "hideOnClear", "placeholder", "matchModeOptions", "maxConstraints", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "filterOn", "useGrouping", "showButtons", "ariaLabel", "filterButtonProps"], outputs: ["onShow", "onHide"] }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type:
|
|
641
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.6", type: QuickTableComponent, isStandalone: true, selector: "app-quick-table", inputs: { columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, tableData: { classPropertyName: "tableData", publicName: "tableData", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onAction: "onAction" }, viewQueries: [{ propertyName: "tableRef", first: true, predicate: ["tableRef"], descendants: true }], ngImport: i0, template: "<p-table\n [tableStyle]=\"{ 'min-width': '20rem' }\"\n #tableRef\n [value]=\"_tableData()\"\n [columns]=\"_columns()\"\n [globalFilterFields]=\"globalFilterFields()\"\n [filters]=\"filters()\"\n (onFilter)=\"onFilterLocal($event)\">\n <ng-template pTemplate=\"caption\">\n <div class=\"flex justify-content-between align-items-center\">\n <h5 class=\"m-0\">Table Data</h5>\n <span class=\"p-input-icon-left\">\n <i class=\"pi pi-search\"></i>\n <input pInputText type=\"text\" (input)=\"onGlobalFilter($event)\" placeholder=\"Search keyword\" />\n </span>\n </div>\n </ng-template>\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n @for (column of columns; track column) {\n <th [pSortableColumn]=\"column.field\">{{ column.header }} <p-sortIcon [field]=\"column.field\"></p-sortIcon></th>\n }\n </tr>\n <tr>\n @for (column of columns; track column) { @if(column.type === 'tags') {\n <th>\n <p-multiselect\n [options]=\"filters()?.[column.field]?.['options']\"\n placeholder=\"Selecciona\"\n (onChange)=\"filterOutsideTable('tags', column.field, $event.value)\"\n [style]=\"{ minWidth: '14rem' }\"\n [panelStyle]=\"{ minWidth: '16rem' }\">\n <ng-template let-option #item>\n <div class=\"flex items-center gap-2\">\n <span>{{ option }}</span>\n </div>\n </ng-template>\n </p-multiselect>\n </th>\n\n } @else {\n <th>\n <p-columnFilter [type]=\"getFilterType(column)\" [field]=\"column.field\" placeholder=\"Search\" [showMenu]=\"false\"></p-columnFilter>\n </th>\n } }\n </tr>\n </ng-template>\n <!-- @if(tableData()){ -->\n <ng-template pTemplate=\"body\" let-item let-columns=\"columns\">\n <tr>\n @for (column of columns; track column) {\n <td>\n @if(column.type === 'image'){\n <div class=\"image-container\">\n <img [src]=\"item | getPath: column\" alt=\"Image\" class=\"image\" />\n </div>\n } @else if(column.type === 'tags') {\n <div class=\"tags-container\">\n @for (tag of item[column.field]; track tag) {\n <p-tag [rounded]=\"true\" [value]=\"tag\"></p-tag>\n }\n </div>\n } @else if(column.type === 'actions') {\n <div style=\"display: flex; gap: 2px\">\n @for (actionBtn of _actions(); track actionBtn) {\n <p-button (click)=\"selectItem(item, actionBtn)\" [icon]=\"actionBtn.icon\" [severity]=\"actionBtn['severity']\" />\n }\n </div>\n } @else {\n <span>{{ item | getPath: column}} </span>\n }\n </td>\n }\n </tr>\n </ng-template>\n <!-- } -->\n</p-table>\n", styles: [":host{display:block;height:100%;overflow:auto}.generic-list-container{display:flex;flex-direction:column;height:100%}.generic-list-content{margin-top:10px;flex:1;overflow-y:auto;padding-bottom:10px}.card-source{margin-bottom:10px;position:relative}.paginator-container{margin-top:auto;padding-top:10px}.image-container{width:50px;height:50px;border-radius:50%;overflow:hidden;display:flex;justify-content:center;align-items:center}.image-container img{width:100%;height:100%;object-fit:cover}\n"], dependencies: [{ kind: "ngmodule", type: CardModule }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { 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", "buttonProps", "autofocus", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: SpeedDialModule }, { kind: "ngmodule", type: PaginatorModule }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i3$2.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "size", "showGridlines", "stripedRows", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i3$2.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "component", type: i3$2.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i3$2.ColumnFilter, selector: "p-columnFilter, p-column-filter, p-columnfilter", inputs: ["field", "type", "display", "showMenu", "matchMode", "operator", "showOperator", "showClearButton", "showApplyButton", "showMatchModes", "showAddButton", "hideOnClear", "placeholder", "matchModeOptions", "maxConstraints", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "filterOn", "useGrouping", "showButtons", "ariaLabel", "filterButtonProps"], outputs: ["onShow", "onHide"] }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i8.InputText, selector: "[pInputText]", inputs: ["pSize", "variant", "fluid", "invalid"] }, { kind: "ngmodule", type: TagModule }, { kind: "component", type: i5$1.Tag, selector: "p-tag", inputs: ["styleClass", "severity", "value", "icon", "rounded"] }, { kind: "ngmodule", type: SelectModule }, { kind: "ngmodule", type: MultiSelectModule }, { kind: "component", type: i6.MultiSelect, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: ["id", "ariaLabel", "styleClass", "panelStyle", "panelStyleClass", "inputId", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "dataKey", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "chipIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "placeholder", "options", "filterValue", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus", "highlightOnSelect", "size", "variant", "fluid", "appendTo"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "pipe", type: GetPathPipe, name: "getPath" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
633
642
|
}
|
|
634
643
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: QuickTableComponent, decorators: [{
|
|
635
644
|
type: Component,
|
|
@@ -839,7 +848,7 @@ class DcManageableFormComponent {
|
|
|
839
848
|
];
|
|
840
849
|
}
|
|
841
850
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: DcManageableFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
842
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.1.6", type: DcManageableFormComponent, isStandalone: true, selector: "dc-manageable-form", inputs: { form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div [formGroup]=\"form()\">\n <div style=\"display: flex; justify-content: space-between\">\n <div class=\"form-field checkbox\">\n <label>\n <p-checkbox [binary]=\"true\" formControlName=\"isPublic\" />\n Public <span pTooltip=\"Is this content visible to all users?\">\u2139\uFE0F</span>\n </label>\n </div>\n\n <div class=\"form-field\">\n <label for=\"status\">Status <span pTooltip=\"Status of the content\">\u2139\uFE0F</span></label>\n <p-select\n id=\"status\"\n [options]=\"statusOptions\"\n formControlName=\"status\"\n optionLabel=\"label\"\n optionValue=\"value\"\n [placeholder]=\"'Select Status'\"></p-select>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: CardModule }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: i2$3.Checkbox, selector: "p-checkbox, p-checkBox, p-check-box", inputs: ["value", "binary", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "inputStyle", "styleClass", "inputClass", "indeterminate", "formControl", "checkboxIcon", "readonly", "autofocus", "trueValue", "falseValue", "variant", "size"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i5.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "panelStyle", "styleClass", "panelStyleClass", "readonly", "editable", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "filterValue", "options", "appendTo"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i4$
|
|
851
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.1.6", type: DcManageableFormComponent, isStandalone: true, selector: "dc-manageable-form", inputs: { form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div [formGroup]=\"form()\">\n <div style=\"display: flex; justify-content: space-between\">\n <div class=\"form-field checkbox\">\n <label>\n <p-checkbox [binary]=\"true\" formControlName=\"isPublic\" />\n Public <span pTooltip=\"Is this content visible to all users?\">\u2139\uFE0F</span>\n </label>\n </div>\n\n <div class=\"form-field\">\n <label for=\"status\">Status <span pTooltip=\"Status of the content\">\u2139\uFE0F</span></label>\n <p-select\n id=\"status\"\n [options]=\"statusOptions\"\n formControlName=\"status\"\n optionLabel=\"label\"\n optionValue=\"value\"\n [placeholder]=\"'Select Status'\"></p-select>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: CardModule }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: i2$3.Checkbox, selector: "p-checkbox, p-checkBox, p-check-box", inputs: ["value", "binary", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "inputStyle", "styleClass", "inputClass", "indeterminate", "formControl", "checkboxIcon", "readonly", "autofocus", "trueValue", "falseValue", "variant", "size"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i5.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "panelStyle", "styleClass", "panelStyleClass", "readonly", "editable", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "filterValue", "options", "appendTo"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i4$1.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo"] }] }); }
|
|
843
852
|
}
|
|
844
853
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: DcManageableFormComponent, decorators: [{
|
|
845
854
|
type: Component,
|
|
@@ -868,7 +877,7 @@ class DcTagsFormComponent {
|
|
|
868
877
|
this.arrayForm.removeAt(index);
|
|
869
878
|
}
|
|
870
879
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: DcTagsFormComponent, deps: [{ token: i1.ControlContainer }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
871
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.6", type: DcTagsFormComponent, isStandalone: true, selector: "dc-tags-form", ngImport: i0, template: "<div [formGroup]=\"form\">\n <div formArrayName=\"tags\">\n <div class=\"flex flex-wrap gap-2\">\n @for (tagControl of arrayForm.controls; track tagControl; let i = $index) {\n <p-chip [label]=\"tagControl.value\" [removable]=\"true\" (onRemove)=\"removeTag(i)\"></p-chip>\n }\n </div>\n </div>\n</div>\n\n<div class=\"flex mt-2\">\n <input pInputText type=\"text\" [formControl]=\"newTagControl\" placeholder=\"New tag\" (keydown.enter)=\"addTag(); $event.preventDefault()\" />\n <p-button label=\"Add Tag\" icon=\"pi pi-plus\" (click)=\"addTag()\" [disabled]=\"!newTagControl.value\"></p-button>\n</div>\n", styles: [".tag-field{display:flex;align-items:center;margin-bottom:.5rem}.tag-field input{margin-right:.5rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { 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", "buttonProps", "autofocus", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type:
|
|
880
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.6", type: DcTagsFormComponent, isStandalone: true, selector: "dc-tags-form", ngImport: i0, template: "<div [formGroup]=\"form\">\n <div formArrayName=\"tags\">\n <div class=\"flex flex-wrap gap-2\">\n @for (tagControl of arrayForm.controls; track tagControl; let i = $index) {\n <p-chip [label]=\"tagControl.value\" [removable]=\"true\" (onRemove)=\"removeTag(i)\"></p-chip>\n }\n </div>\n </div>\n</div>\n\n<div class=\"flex mt-2\">\n <input pInputText type=\"text\" [formControl]=\"newTagControl\" placeholder=\"New tag\" (keydown.enter)=\"addTag(); $event.preventDefault()\" />\n <p-button label=\"Add Tag\" icon=\"pi pi-plus\" (click)=\"addTag()\" [disabled]=\"!newTagControl.value\"></p-button>\n</div>\n", styles: [".tag-field{display:flex;align-items:center;margin-bottom:.5rem}.tag-field input{margin-right:.5rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { 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", "buttonProps", "autofocus", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i8.InputText, selector: "[pInputText]", inputs: ["pSize", "variant", "fluid", "invalid"] }, { kind: "ngmodule", type: ChipModule }, { kind: "component", type: i3$3.Chip, selector: "p-chip", inputs: ["label", "icon", "image", "alt", "styleClass", "removable", "removeIcon", "chipProps"], outputs: ["onRemove", "onImageError"] }], viewProviders: [
|
|
872
881
|
{
|
|
873
882
|
provide: ControlContainer,
|
|
874
883
|
useFactory: () => inject(ControlContainer, { skipSelf: true }),
|
|
@@ -890,7 +899,7 @@ class DcLearnableFormComponent {
|
|
|
890
899
|
this.form = input.required(...(ngDevMode ? [{ debugName: "form" }] : []));
|
|
891
900
|
}
|
|
892
901
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: DcLearnableFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
893
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.1.6", type: DcLearnableFormComponent, isStandalone: true, selector: "dc-learnable-form", inputs: { form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div [formGroup]=\"form()\">\n <div class=\"form-grid\">\n <div class=\"row\">\n <div class=\"form-field\">\n <label for=\"level\">Level <span pTooltip=\"Difficulty level\">\u2139\uFE0F</span></label>\n <p-inputNumber id=\"level\" formControlName=\"level\" [min]=\"0\" [max]=\"10\"></p-inputNumber>\n </div>\n <div class=\"form-field\">\n <label for=\"takenCount\">Taken Count <span pTooltip=\"How many times this has been taken\">\u2139\uFE0F</span></label>\n <p-inputNumber id=\"takenCount\" formControlName=\"takenCount\" [min]=\"0\"></p-inputNumber>\n </div>\n </div>\n <div class=\"form-field\">\n <label for=\"tags\">Tags <span pTooltip=\"Relevant tags for this content\">\u2139\uFE0F</span></label>\n <dc-tags-form />\n </div>\n </div>\n</div>\n", styles: [".form-grid{display:grid;gap:1rem}.row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.form-field{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: CardModule }, { kind: "ngmodule", type: InputNumberModule }, { kind: "component", type: i2$4.InputNumber, selector: "p-inputNumber, p-inputnumber, p-input-number", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "placeholder", "tabindex", "title", "ariaLabelledBy", "ariaDescribedBy", "ariaLabel", "ariaRequired", "autocomplete", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "autofocus"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i4$
|
|
902
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.1.6", type: DcLearnableFormComponent, isStandalone: true, selector: "dc-learnable-form", inputs: { form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div [formGroup]=\"form()\">\n <div class=\"form-grid\">\n <div class=\"row\">\n <div class=\"form-field\">\n <label for=\"level\">Level <span pTooltip=\"Difficulty level\">\u2139\uFE0F</span></label>\n <p-inputNumber id=\"level\" formControlName=\"level\" [min]=\"0\" [max]=\"10\"></p-inputNumber>\n </div>\n <div class=\"form-field\">\n <label for=\"takenCount\">Taken Count <span pTooltip=\"How many times this has been taken\">\u2139\uFE0F</span></label>\n <p-inputNumber id=\"takenCount\" formControlName=\"takenCount\" [min]=\"0\"></p-inputNumber>\n </div>\n </div>\n <div class=\"form-field\">\n <label for=\"tags\">Tags <span pTooltip=\"Relevant tags for this content\">\u2139\uFE0F</span></label>\n <dc-tags-form />\n </div>\n </div>\n</div>\n", styles: [".form-grid{display:grid;gap:1rem}.row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.form-field{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: CardModule }, { kind: "ngmodule", type: InputNumberModule }, { kind: "component", type: i2$4.InputNumber, selector: "p-inputNumber, p-inputnumber, p-input-number", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "placeholder", "tabindex", "title", "ariaLabelledBy", "ariaDescribedBy", "ariaLabel", "ariaRequired", "autocomplete", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "autofocus"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i4$1.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "component", type: DcTagsFormComponent, selector: "dc-tags-form" }] }); }
|
|
894
903
|
}
|
|
895
904
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: DcLearnableFormComponent, decorators: [{
|
|
896
905
|
type: Component,
|
|
@@ -1332,6 +1341,7 @@ const LANGUAGES = {
|
|
|
1332
1341
|
flag: '🇺🇸', // Using US flag as a primary example
|
|
1333
1342
|
flagImg: 'assets/flags/us.svg',
|
|
1334
1343
|
code: 'en',
|
|
1344
|
+
defaultLocale: 'en-US',
|
|
1335
1345
|
i: 1,
|
|
1336
1346
|
llmKnowledge: 100,
|
|
1337
1347
|
countries: ['United Kingdom', 'United States', 'Canada', 'Australia', 'New Zealand', 'Ireland', 'South Africa', 'India', 'and many others.'],
|
|
@@ -1347,6 +1357,7 @@ const LANGUAGES = {
|
|
|
1347
1357
|
flag: '🇪🇸', // Using Spain flag as a primary example
|
|
1348
1358
|
flagImg: 'assets/flags/es.svg',
|
|
1349
1359
|
code: 'es',
|
|
1360
|
+
defaultLocale: 'es-ES',
|
|
1350
1361
|
i: 2,
|
|
1351
1362
|
llmKnowledge: 99,
|
|
1352
1363
|
countries: [
|
|
@@ -1383,6 +1394,7 @@ const LANGUAGES = {
|
|
|
1383
1394
|
flag: '🇩🇪',
|
|
1384
1395
|
flagImg: 'assets/flags/de.svg',
|
|
1385
1396
|
code: 'de',
|
|
1397
|
+
defaultLocale: 'de-DE',
|
|
1386
1398
|
i: 3,
|
|
1387
1399
|
llmKnowledge: 97,
|
|
1388
1400
|
countries: ['Germany', 'Austria', 'Switzerland', 'Belgium', 'Luxembourg', 'Liechtenstein.'],
|
|
@@ -1398,6 +1410,7 @@ const LANGUAGES = {
|
|
|
1398
1410
|
flag: '🇫🇷',
|
|
1399
1411
|
flagImg: 'assets/flags/fr.svg',
|
|
1400
1412
|
code: 'fr',
|
|
1413
|
+
defaultLocale: 'fr-FR',
|
|
1401
1414
|
i: 4,
|
|
1402
1415
|
llmKnowledge: 96,
|
|
1403
1416
|
countries: ['France', 'Canada', 'Belgium', 'Switzerland', 'Haiti', 'Ivory Coast', 'Senegal', 'Cameroon', 'Madagascar', 'and many others.'],
|
|
@@ -1413,6 +1426,7 @@ const LANGUAGES = {
|
|
|
1413
1426
|
flag: '🇮🇹',
|
|
1414
1427
|
flagImg: 'assets/flags/it.svg',
|
|
1415
1428
|
code: 'it',
|
|
1429
|
+
defaultLocale: 'it-IT',
|
|
1416
1430
|
i: 6,
|
|
1417
1431
|
llmKnowledge: 93,
|
|
1418
1432
|
countries: ['Italy', 'Switzerland', 'San Marino', 'Vatican City.'],
|
|
@@ -1428,6 +1442,7 @@ const LANGUAGES = {
|
|
|
1428
1442
|
flag: '🇧🇷',
|
|
1429
1443
|
flagImg: 'assets/flags/br.svg',
|
|
1430
1444
|
code: 'pt',
|
|
1445
|
+
defaultLocale: 'pt-BR',
|
|
1431
1446
|
i: 7,
|
|
1432
1447
|
llmKnowledge: 92,
|
|
1433
1448
|
countries: ['Portugal', 'Brazil', 'Angola', 'Mozambique', 'Cape Verde', 'Guinea-Bissau', 'Sao Tome and Principe', 'East Timor', 'Macau.'],
|
|
@@ -1443,6 +1458,7 @@ const LANGUAGES = {
|
|
|
1443
1458
|
flag: '🇯🇵',
|
|
1444
1459
|
flagImg: 'assets/flags/jp.svg',
|
|
1445
1460
|
code: 'ja',
|
|
1461
|
+
defaultLocale: 'ja-JP',
|
|
1446
1462
|
i: 8,
|
|
1447
1463
|
llmKnowledge: 91,
|
|
1448
1464
|
countries: ['Japan.'],
|
|
@@ -1458,6 +1474,7 @@ const LANGUAGES = {
|
|
|
1458
1474
|
flag: '🇳🇱',
|
|
1459
1475
|
flagImg: 'assets/flags/nl.svg',
|
|
1460
1476
|
code: 'nl',
|
|
1477
|
+
defaultLocale: 'nl-NL',
|
|
1461
1478
|
i: 9,
|
|
1462
1479
|
llmKnowledge: 90,
|
|
1463
1480
|
countries: ['Netherlands', 'Belgium', 'Suriname', 'Aruba', 'Curaçao', 'Sint Maarten.'],
|
|
@@ -1474,6 +1491,7 @@ const LANGUAGES = {
|
|
|
1474
1491
|
flag: '🇨🇳',
|
|
1475
1492
|
flagImg: 'assets/flags/cn.svg',
|
|
1476
1493
|
code: 'zh',
|
|
1494
|
+
defaultLocale: 'zh-CN',
|
|
1477
1495
|
i: 5,
|
|
1478
1496
|
llmKnowledge: 94,
|
|
1479
1497
|
countries: ['China', 'Singapore', 'Taiwan.'],
|
|
@@ -1490,6 +1508,7 @@ const LANGUAGES = {
|
|
|
1490
1508
|
flag: '🇷🇺',
|
|
1491
1509
|
flagImg: 'assets/flags/ru.svg',
|
|
1492
1510
|
code: 'ru',
|
|
1511
|
+
defaultLocale: 'ru-RU',
|
|
1493
1512
|
i: 10, // Adjusted index
|
|
1494
1513
|
llmKnowledge: 89,
|
|
1495
1514
|
countries: ['Russia', 'Belarus', 'Kazakhstan', 'Kyrgyzstan', 'Tajikistan (co-official)', 'Abkhazia', 'South Ossetia', 'Transnistria.'],
|
|
@@ -1506,6 +1525,7 @@ const LANGUAGES = {
|
|
|
1506
1525
|
flag: '🇰🇷',
|
|
1507
1526
|
flagImg: 'assets/flags/kr.svg',
|
|
1508
1527
|
code: 'ko',
|
|
1528
|
+
defaultLocale: 'ko-KR',
|
|
1509
1529
|
i: 11,
|
|
1510
1530
|
llmKnowledge: 87,
|
|
1511
1531
|
countries: ['South Korea', 'North Korea.'],
|
|
@@ -1522,6 +1542,7 @@ const LANGUAGES = {
|
|
|
1522
1542
|
flag: '🇵🇱',
|
|
1523
1543
|
flagImg: 'assets/flags/pl.svg',
|
|
1524
1544
|
code: 'pl',
|
|
1545
|
+
defaultLocale: 'pl-PL',
|
|
1525
1546
|
i: 12,
|
|
1526
1547
|
llmKnowledge: 86,
|
|
1527
1548
|
countries: ['Poland.'],
|
|
@@ -1538,6 +1559,7 @@ const LANGUAGES = {
|
|
|
1538
1559
|
flag: '🇸🇪',
|
|
1539
1560
|
flagImg: 'assets/flags/se.svg',
|
|
1540
1561
|
code: 'sv',
|
|
1562
|
+
defaultLocale: 'sv-SE',
|
|
1541
1563
|
i: 13,
|
|
1542
1564
|
llmKnowledge: 85,
|
|
1543
1565
|
countries: ['Sweden', 'Finland (co-official).'],
|
|
@@ -1554,6 +1576,7 @@ const LANGUAGES = {
|
|
|
1554
1576
|
flag: '🇹🇷',
|
|
1555
1577
|
flagImg: 'assets/flags/tr.svg',
|
|
1556
1578
|
code: 'tr',
|
|
1579
|
+
defaultLocale: 'tr-TR',
|
|
1557
1580
|
i: 14,
|
|
1558
1581
|
llmKnowledge: 84,
|
|
1559
1582
|
countries: ['Turkey', 'Cyprus (North).'],
|
|
@@ -1570,6 +1593,7 @@ const LANGUAGES = {
|
|
|
1570
1593
|
flag: '🇸🇦',
|
|
1571
1594
|
flagImg: 'assets/flags/sa.svg',
|
|
1572
1595
|
code: 'ar',
|
|
1596
|
+
defaultLocale: 'ar-SA',
|
|
1573
1597
|
i: 15,
|
|
1574
1598
|
llmKnowledge: 83,
|
|
1575
1599
|
countries: [
|
|
@@ -1612,6 +1636,7 @@ const LANGUAGES = {
|
|
|
1612
1636
|
flag: '🇻🇳',
|
|
1613
1637
|
flagImg: 'assets/flags/vn.svg',
|
|
1614
1638
|
code: 'vi',
|
|
1639
|
+
defaultLocale: 'vi-VN',
|
|
1615
1640
|
i: 16,
|
|
1616
1641
|
llmKnowledge: 82,
|
|
1617
1642
|
countries: ['Vietnam.'],
|
|
@@ -1628,6 +1653,7 @@ const LANGUAGES = {
|
|
|
1628
1653
|
flag: '🇮🇩',
|
|
1629
1654
|
flagImg: 'assets/flags/id.svg',
|
|
1630
1655
|
code: 'id',
|
|
1656
|
+
defaultLocale: 'id-ID',
|
|
1631
1657
|
i: 17,
|
|
1632
1658
|
llmKnowledge: 81,
|
|
1633
1659
|
countries: ['Indonesia.'],
|
|
@@ -1644,6 +1670,7 @@ const LANGUAGES = {
|
|
|
1644
1670
|
flag: '🇩🇰',
|
|
1645
1671
|
flagImg: 'assets/flags/dk.svg',
|
|
1646
1672
|
code: 'da',
|
|
1673
|
+
defaultLocale: 'da-DK',
|
|
1647
1674
|
i: 18,
|
|
1648
1675
|
llmKnowledge: 80,
|
|
1649
1676
|
countries: ['Denmark', 'Faroe Islands (co-official)', 'Greenland (co-official).'],
|
|
@@ -1660,6 +1687,7 @@ const LANGUAGES = {
|
|
|
1660
1687
|
flag: '🇳🇴',
|
|
1661
1688
|
flagImg: 'assets/flags/no.svg',
|
|
1662
1689
|
code: 'no',
|
|
1690
|
+
defaultLocale: 'no-NO',
|
|
1663
1691
|
i: 19,
|
|
1664
1692
|
llmKnowledge: 79,
|
|
1665
1693
|
countries: ['Norway.'],
|
|
@@ -1676,6 +1704,7 @@ const LANGUAGES = {
|
|
|
1676
1704
|
flag: '🇫🇮',
|
|
1677
1705
|
flagImg: 'assets/flags/fi.svg',
|
|
1678
1706
|
code: 'fi',
|
|
1707
|
+
defaultLocale: 'fi-FI',
|
|
1679
1708
|
i: 20,
|
|
1680
1709
|
llmKnowledge: 78,
|
|
1681
1710
|
countries: ['Finland.'],
|
|
@@ -1692,6 +1721,7 @@ const LANGUAGES = {
|
|
|
1692
1721
|
flag: '🇨🇿',
|
|
1693
1722
|
flagImg: 'assets/flags/cz.svg',
|
|
1694
1723
|
code: 'cs',
|
|
1724
|
+
defaultLocale: 'cs-CZ',
|
|
1695
1725
|
i: 21,
|
|
1696
1726
|
llmKnowledge: 77,
|
|
1697
1727
|
countries: ['Czech Republic.'],
|
|
@@ -1708,6 +1738,7 @@ const LANGUAGES = {
|
|
|
1708
1738
|
flag: '🇬🇷',
|
|
1709
1739
|
flagImg: 'assets/flags/gr.svg',
|
|
1710
1740
|
code: 'el',
|
|
1741
|
+
defaultLocale: 'el-GR',
|
|
1711
1742
|
i: 22,
|
|
1712
1743
|
llmKnowledge: 76,
|
|
1713
1744
|
countries: ['Greece', 'Cyprus.'],
|
|
@@ -1724,6 +1755,7 @@ const LANGUAGES = {
|
|
|
1724
1755
|
flag: '🇭🇺',
|
|
1725
1756
|
flagImg: 'assets/flags/hu.svg',
|
|
1726
1757
|
code: 'hu',
|
|
1758
|
+
defaultLocale: 'hu-HU',
|
|
1727
1759
|
i: 23,
|
|
1728
1760
|
llmKnowledge: 75,
|
|
1729
1761
|
countries: ['Hungary.'],
|
|
@@ -1740,6 +1772,7 @@ const LANGUAGES = {
|
|
|
1740
1772
|
flag: '🇷🇴',
|
|
1741
1773
|
flagImg: 'assets/flags/ro.svg',
|
|
1742
1774
|
code: 'ro',
|
|
1775
|
+
defaultLocale: 'ro-RO',
|
|
1743
1776
|
i: 24,
|
|
1744
1777
|
llmKnowledge: 74,
|
|
1745
1778
|
countries: ['Romania', 'Moldova (as Moldovan).'],
|
|
@@ -1756,6 +1789,7 @@ const LANGUAGES = {
|
|
|
1756
1789
|
flag: '🇺🇦',
|
|
1757
1790
|
flagImg: 'assets/flags/ua.svg',
|
|
1758
1791
|
code: 'uk',
|
|
1792
|
+
defaultLocale: 'uk-UA',
|
|
1759
1793
|
i: 25,
|
|
1760
1794
|
llmKnowledge: 73,
|
|
1761
1795
|
countries: ['Ukraine.'],
|
|
@@ -1772,6 +1806,7 @@ const LANGUAGES = {
|
|
|
1772
1806
|
flag: '🇮🇱',
|
|
1773
1807
|
flagImg: 'assets/flags/il.svg',
|
|
1774
1808
|
code: 'he',
|
|
1809
|
+
defaultLocale: 'he-IL',
|
|
1775
1810
|
i: 26,
|
|
1776
1811
|
llmKnowledge: 72,
|
|
1777
1812
|
countries: ['Israel.'],
|
|
@@ -1788,6 +1823,7 @@ const LANGUAGES = {
|
|
|
1788
1823
|
flag: '🇹🇭',
|
|
1789
1824
|
flagImg: 'assets/flags/th.svg',
|
|
1790
1825
|
code: 'th',
|
|
1826
|
+
defaultLocale: 'th-TH',
|
|
1791
1827
|
i: 27,
|
|
1792
1828
|
llmKnowledge: 71,
|
|
1793
1829
|
countries: ['Thailand.'],
|
|
@@ -1804,6 +1840,7 @@ const LANGUAGES = {
|
|
|
1804
1840
|
flag: '🇮🇳',
|
|
1805
1841
|
flagImg: 'assets/flags/in.svg',
|
|
1806
1842
|
code: 'hi',
|
|
1843
|
+
defaultLocale: 'hi-IN',
|
|
1807
1844
|
i: 28,
|
|
1808
1845
|
llmKnowledge: 70,
|
|
1809
1846
|
countries: ['India (co-official)', 'Fiji (co-official).'],
|
|
@@ -1820,6 +1857,7 @@ const LANGUAGES = {
|
|
|
1820
1857
|
flag: '🇪🇸',
|
|
1821
1858
|
flagImg: 'assets/flags/es.svg',
|
|
1822
1859
|
code: 'ca',
|
|
1860
|
+
defaultLocale: 'ca-ES',
|
|
1823
1861
|
i: 29,
|
|
1824
1862
|
llmKnowledge: 69,
|
|
1825
1863
|
countries: ['Spain (Catalonia, Valencia, Balearic Islands)', 'Andorra.'],
|
|
@@ -1836,6 +1874,7 @@ const LANGUAGES = {
|
|
|
1836
1874
|
flag: '🇧🇬',
|
|
1837
1875
|
flagImg: 'assets/flags/bg.svg',
|
|
1838
1876
|
code: 'bg',
|
|
1877
|
+
defaultLocale: 'bg-BG',
|
|
1839
1878
|
i: 30,
|
|
1840
1879
|
llmKnowledge: 68,
|
|
1841
1880
|
countries: ['Bulgaria.'],
|
|
@@ -1852,6 +1891,7 @@ const LANGUAGES = {
|
|
|
1852
1891
|
flag: '🇺🇳', // Usando la bandera de la ONU por su naturaleza internacional
|
|
1853
1892
|
flagImg: 'assets/flags/eo.svg',
|
|
1854
1893
|
code: 'eo',
|
|
1894
|
+
defaultLocale: 'eo',
|
|
1855
1895
|
i: 59,
|
|
1856
1896
|
llmKnowledge: 90,
|
|
1857
1897
|
countries: ['Worldwide (constructed language)'],
|
|
@@ -1868,6 +1908,7 @@ const LANGUAGES = {
|
|
|
1868
1908
|
flag: '🇺🇳', // Usando la bandera de la ONU por su naturaleza internacional
|
|
1869
1909
|
flagImg: 'assets/flags/ia.svg',
|
|
1870
1910
|
code: 'ia',
|
|
1911
|
+
defaultLocale: 'ia',
|
|
1871
1912
|
i: 60,
|
|
1872
1913
|
llmKnowledge: 85,
|
|
1873
1914
|
countries: ['Worldwide (constructed language)'],
|
|
@@ -1884,6 +1925,7 @@ const LANGUAGES = {
|
|
|
1884
1925
|
flag: '🇭🇷',
|
|
1885
1926
|
flagImg: 'assets/flags/hr.svg',
|
|
1886
1927
|
code: 'hr',
|
|
1928
|
+
defaultLocale: 'hr-HR',
|
|
1887
1929
|
i: 31,
|
|
1888
1930
|
llmKnowledge: 67,
|
|
1889
1931
|
countries: ['Croatia', 'Bosnia and Herzegovina (co-official)', 'Serbia (Vojvodina).'],
|
|
@@ -1900,6 +1942,7 @@ const LANGUAGES = {
|
|
|
1900
1942
|
flag: '🇸🇰',
|
|
1901
1943
|
flagImg: 'assets/flags/sk.svg',
|
|
1902
1944
|
code: 'sk',
|
|
1945
|
+
defaultLocale: 'sk-SK',
|
|
1903
1946
|
i: 32,
|
|
1904
1947
|
llmKnowledge: 66,
|
|
1905
1948
|
countries: ['Slovakia.'],
|
|
@@ -1916,6 +1959,7 @@ const LANGUAGES = {
|
|
|
1916
1959
|
flag: '🇵🇭',
|
|
1917
1960
|
flagImg: 'assets/flags/ph.svg',
|
|
1918
1961
|
code: 'fil',
|
|
1962
|
+
defaultLocale: 'fil-PH',
|
|
1919
1963
|
i: 33,
|
|
1920
1964
|
llmKnowledge: 65,
|
|
1921
1965
|
countries: ['Philippines (co-official).'],
|
|
@@ -1933,6 +1977,7 @@ const LANGUAGES = {
|
|
|
1933
1977
|
flag: '🇵🇭',
|
|
1934
1978
|
flagImg: 'assets/flags/ph.svg',
|
|
1935
1979
|
code: 'tl',
|
|
1980
|
+
defaultLocale: 'tl-PH',
|
|
1936
1981
|
i: 34,
|
|
1937
1982
|
llmKnowledge: 64,
|
|
1938
1983
|
countries: ['Philippines (base of Filipino).'],
|
|
@@ -1949,6 +1994,7 @@ const LANGUAGES = {
|
|
|
1949
1994
|
flag: '🇱🇹',
|
|
1950
1995
|
flagImg: 'assets/flags/lt.svg',
|
|
1951
1996
|
code: 'lt',
|
|
1997
|
+
defaultLocale: 'lt-LT',
|
|
1952
1998
|
i: 35,
|
|
1953
1999
|
llmKnowledge: 63,
|
|
1954
2000
|
countries: ['Lithuania.'],
|
|
@@ -1965,6 +2011,7 @@ const LANGUAGES = {
|
|
|
1965
2011
|
flag: '🇱🇻',
|
|
1966
2012
|
flagImg: 'assets/flags/lv.svg',
|
|
1967
2013
|
code: 'lv',
|
|
2014
|
+
defaultLocale: 'lv-LV',
|
|
1968
2015
|
i: 36,
|
|
1969
2016
|
llmKnowledge: 62,
|
|
1970
2017
|
countries: ['Latvia.'],
|
|
@@ -1981,6 +2028,7 @@ const LANGUAGES = {
|
|
|
1981
2028
|
flag: '🇸🇮',
|
|
1982
2029
|
flagImg: 'assets/flags/si.svg',
|
|
1983
2030
|
code: 'sl',
|
|
2031
|
+
defaultLocale: 'sl-SI',
|
|
1984
2032
|
i: 37,
|
|
1985
2033
|
llmKnowledge: 61,
|
|
1986
2034
|
countries: ['Slovenia.'],
|
|
@@ -1997,6 +2045,7 @@ const LANGUAGES = {
|
|
|
1997
2045
|
flag: '🇪🇪',
|
|
1998
2046
|
flagImg: 'assets/flags/ee.svg',
|
|
1999
2047
|
code: 'et',
|
|
2048
|
+
defaultLocale: 'et-EE',
|
|
2000
2049
|
i: 38,
|
|
2001
2050
|
llmKnowledge: 60,
|
|
2002
2051
|
countries: ['Estonia.'],
|
|
@@ -2013,6 +2062,7 @@ const LANGUAGES = {
|
|
|
2013
2062
|
flag: '🇲🇾',
|
|
2014
2063
|
flagImg: 'assets/flags/my.svg',
|
|
2015
2064
|
code: 'ms',
|
|
2065
|
+
defaultLocale: 'ms-MY',
|
|
2016
2066
|
i: 39,
|
|
2017
2067
|
llmKnowledge: 59,
|
|
2018
2068
|
countries: ['Malaysia', 'Brunei', 'Singapore (co-official).'],
|
|
@@ -2029,6 +2079,7 @@ const LANGUAGES = {
|
|
|
2029
2079
|
flag: '🇹🇿',
|
|
2030
2080
|
flagImg: 'assets/flags/tz.svg',
|
|
2031
2081
|
code: 'sw',
|
|
2082
|
+
defaultLocale: 'sw-TZ',
|
|
2032
2083
|
i: 40,
|
|
2033
2084
|
llmKnowledge: 58,
|
|
2034
2085
|
countries: ['Tanzania', 'Kenya', 'Uganda', 'Rwanda', 'Democratic Republic of the Congo (national language).'],
|
|
@@ -2045,6 +2096,7 @@ const LANGUAGES = {
|
|
|
2045
2096
|
flag: '🇮🇷',
|
|
2046
2097
|
flagImg: 'assets/flags/ir.svg',
|
|
2047
2098
|
code: 'fa',
|
|
2099
|
+
defaultLocale: 'fa-IR',
|
|
2048
2100
|
i: 41,
|
|
2049
2101
|
llmKnowledge: 57,
|
|
2050
2102
|
countries: ['Iran', 'Afghanistan (as Dari)', 'Tajikistan (as Tajik).'],
|
|
@@ -2061,6 +2113,7 @@ const LANGUAGES = {
|
|
|
2061
2113
|
flag: '🇧🇩',
|
|
2062
2114
|
flagImg: 'assets/flags/bd.svg',
|
|
2063
2115
|
code: 'bn',
|
|
2116
|
+
defaultLocale: 'bn-BD',
|
|
2064
2117
|
i: 42,
|
|
2065
2118
|
llmKnowledge: 56,
|
|
2066
2119
|
countries: ['Bangladesh', 'India (West Bengal, Tripura).'],
|
|
@@ -2076,6 +2129,7 @@ const LANGUAGES = {
|
|
|
2076
2129
|
flag: '🇵🇰',
|
|
2077
2130
|
flagImg: 'assets/flags/pk.svg',
|
|
2078
2131
|
code: 'ur',
|
|
2132
|
+
defaultLocale: 'ur-PK',
|
|
2079
2133
|
i: 43,
|
|
2080
2134
|
llmKnowledge: 55,
|
|
2081
2135
|
countries: ['Pakistan (co-official)', 'India (recognized).'],
|
|
@@ -2091,6 +2145,7 @@ const LANGUAGES = {
|
|
|
2091
2145
|
flag: '🇷🇸',
|
|
2092
2146
|
flagImg: 'assets/flags/rs.svg',
|
|
2093
2147
|
code: 'sr',
|
|
2148
|
+
defaultLocale: 'sr-RS',
|
|
2094
2149
|
i: 44,
|
|
2095
2150
|
llmKnowledge: 54,
|
|
2096
2151
|
countries: ['Serbia', 'Bosnia and Herzegovina (co-official)', 'Montenegro (co-official)', 'Kosovo (co-official).'],
|
|
@@ -2106,6 +2161,7 @@ const LANGUAGES = {
|
|
|
2106
2161
|
flag: '🇮🇸',
|
|
2107
2162
|
flagImg: 'assets/flags/is.svg',
|
|
2108
2163
|
code: 'is',
|
|
2164
|
+
defaultLocale: 'is-IS',
|
|
2109
2165
|
i: 45,
|
|
2110
2166
|
llmKnowledge: 53,
|
|
2111
2167
|
countries: ['Iceland.'],
|
|
@@ -2121,6 +2177,7 @@ const LANGUAGES = {
|
|
|
2121
2177
|
flag: '🇱🇰',
|
|
2122
2178
|
flagImg: 'assets/flags/lk.svg',
|
|
2123
2179
|
code: 'ta',
|
|
2180
|
+
defaultLocale: 'ta-LK',
|
|
2124
2181
|
i: 46,
|
|
2125
2182
|
llmKnowledge: 52,
|
|
2126
2183
|
countries: ['Sri Lanka', 'Singapore', 'India (Tamil Nadu, Puducherry).'],
|
|
@@ -2136,6 +2193,7 @@ const LANGUAGES = {
|
|
|
2136
2193
|
flag: '🇮🇳',
|
|
2137
2194
|
flagImg: 'assets/flags/in.svg',
|
|
2138
2195
|
code: 'mr',
|
|
2196
|
+
defaultLocale: 'mr-IN',
|
|
2139
2197
|
i: 47,
|
|
2140
2198
|
llmKnowledge: 51,
|
|
2141
2199
|
countries: ['India (Maharashtra).'],
|
|
@@ -2151,6 +2209,7 @@ const LANGUAGES = {
|
|
|
2151
2209
|
flag: '🇲🇲',
|
|
2152
2210
|
flagImg: 'assets/flags/mm.svg',
|
|
2153
2211
|
code: 'my',
|
|
2212
|
+
defaultLocale: 'my-MM',
|
|
2154
2213
|
i: 48,
|
|
2155
2214
|
llmKnowledge: 50,
|
|
2156
2215
|
countries: ['Myanmar.'],
|
|
@@ -2166,6 +2225,7 @@ const LANGUAGES = {
|
|
|
2166
2225
|
flag: '🏴',
|
|
2167
2226
|
flagImg: 'assets/flags/cy.svg',
|
|
2168
2227
|
code: 'cy',
|
|
2228
|
+
defaultLocale: 'cy-GB',
|
|
2169
2229
|
i: 49,
|
|
2170
2230
|
llmKnowledge: 49,
|
|
2171
2231
|
countries: ['United Kingdom (Wales).'],
|
|
@@ -2181,6 +2241,7 @@ const LANGUAGES = {
|
|
|
2181
2241
|
flag: '🇳🇬',
|
|
2182
2242
|
flagImg: 'assets/flags/ng.svg',
|
|
2183
2243
|
code: 'ha',
|
|
2244
|
+
defaultLocale: 'ha-NG',
|
|
2184
2245
|
i: 50,
|
|
2185
2246
|
llmKnowledge: 48,
|
|
2186
2247
|
countries: ['Nigeria (major language)', 'Niger', 'Ghana', 'Cameroon', 'Benin', 'Chad', 'Sudan.'],
|
|
@@ -2196,6 +2257,7 @@ const LANGUAGES = {
|
|
|
2196
2257
|
flag: '🇪🇸',
|
|
2197
2258
|
flagImg: 'assets/flags/es.svg',
|
|
2198
2259
|
code: 'eu',
|
|
2260
|
+
defaultLocale: 'eu-ES',
|
|
2199
2261
|
i: 51,
|
|
2200
2262
|
llmKnowledge: 47,
|
|
2201
2263
|
countries: ['Spain (Basque Country, Navarre)', 'France (French Basque Country).'],
|
|
@@ -2211,6 +2273,7 @@ const LANGUAGES = {
|
|
|
2211
2273
|
flag: '🇮🇪',
|
|
2212
2274
|
flagImg: 'assets/flags/ie.svg',
|
|
2213
2275
|
code: 'ga',
|
|
2276
|
+
defaultLocale: 'ga-IE',
|
|
2214
2277
|
i: 52,
|
|
2215
2278
|
llmKnowledge: 46,
|
|
2216
2279
|
countries: ['Ireland', 'United Kingdom (Northern Ireland).'],
|
|
@@ -2226,6 +2289,7 @@ const LANGUAGES = {
|
|
|
2226
2289
|
flag: '🇵🇰',
|
|
2227
2290
|
flagImg: 'assets/flags/pk.svg',
|
|
2228
2291
|
code: 'sd',
|
|
2292
|
+
defaultLocale: 'sd-PK',
|
|
2229
2293
|
i: 53,
|
|
2230
2294
|
llmKnowledge: 45,
|
|
2231
2295
|
countries: ['Pakistan (Sindh)', 'India (recognized).'],
|
|
@@ -2241,6 +2305,7 @@ const LANGUAGES = {
|
|
|
2241
2305
|
flag: '🇪🇹',
|
|
2242
2306
|
flagImg: 'assets/flags/et.svg',
|
|
2243
2307
|
code: 'am',
|
|
2308
|
+
defaultLocale: 'am-ET',
|
|
2244
2309
|
i: 54,
|
|
2245
2310
|
llmKnowledge: 44,
|
|
2246
2311
|
countries: ['Ethiopia.'],
|
|
@@ -2256,6 +2321,7 @@ const LANGUAGES = {
|
|
|
2256
2321
|
flag: '🇮🇩',
|
|
2257
2322
|
flagImg: 'assets/flags/id.svg',
|
|
2258
2323
|
code: 'jv',
|
|
2324
|
+
defaultLocale: 'jv-ID',
|
|
2259
2325
|
i: 55,
|
|
2260
2326
|
llmKnowledge: 43,
|
|
2261
2327
|
countries: ['Indonesia (important regional language).'],
|
|
@@ -2271,6 +2337,7 @@ const LANGUAGES = {
|
|
|
2271
2337
|
flag: '🇰🇭',
|
|
2272
2338
|
flagImg: 'assets/flags/kh.svg',
|
|
2273
2339
|
code: 'km',
|
|
2340
|
+
defaultLocale: 'km-KH',
|
|
2274
2341
|
i: 56,
|
|
2275
2342
|
llmKnowledge: 42,
|
|
2276
2343
|
countries: ['Cambodia.'],
|
|
@@ -2286,6 +2353,7 @@ const LANGUAGES = {
|
|
|
2286
2353
|
flag: '🇳🇬',
|
|
2287
2354
|
flagImg: 'assets/flags/ng.svg',
|
|
2288
2355
|
code: 'yo',
|
|
2356
|
+
defaultLocale: 'yo-NG',
|
|
2289
2357
|
i: 57,
|
|
2290
2358
|
llmKnowledge: 41,
|
|
2291
2359
|
countries: ['Nigeria', 'Benin', 'Togo.'],
|
|
@@ -2301,6 +2369,7 @@ const LANGUAGES = {
|
|
|
2301
2369
|
flag: '🇪🇸',
|
|
2302
2370
|
flagImg: 'assets/flags/es.svg',
|
|
2303
2371
|
code: 'gl',
|
|
2372
|
+
defaultLocale: 'gl-ES',
|
|
2304
2373
|
i: 58,
|
|
2305
2374
|
llmKnowledge: 40,
|
|
2306
2375
|
countries: ['Spain (Galicia).'],
|
|
@@ -2312,7 +2381,7 @@ const LANGUAGES = {
|
|
|
2312
2381
|
speakers: 2400000,
|
|
2313
2382
|
},
|
|
2314
2383
|
};
|
|
2315
|
-
function getLangDesc(langCode, lang) {
|
|
2384
|
+
function getLangDesc(langCode, lang = 'en') {
|
|
2316
2385
|
return LANGUAGES[langCode]?.translations[lang] || langCode;
|
|
2317
2386
|
}
|
|
2318
2387
|
function getSupportedLanguageOptions(lang = 'es') {
|
|
@@ -2423,7 +2492,7 @@ class PromptComponent {
|
|
|
2423
2492
|
this.ref.close(null);
|
|
2424
2493
|
}
|
|
2425
2494
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: PromptComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2426
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.6", type: PromptComponent, isStandalone: true, selector: "dc-prompt", ngImport: i0, template: "<div class=\"form-input-card p-4\">\n <p-message severity=\"secondary\"> {{ title() }}</p-message>\n\n <div class=\"my-4\">{{ message() }}</div>\n\n <div class=\"p-field mb-4\">\n <textarea rows=\"5\" cols=\"30\" pTextarea [(ngModel)]=\"inputValue\" class=\"w-full\"></textarea>\n </div>\n\n <div class=\"flex justify-content-end gap-2\">\n <p-button [label]=\"cancelText()\" (click)=\"cancel()\" severity=\"secondary\"></p-button>\n <p-button [label]=\"acceptText()\" (click)=\"accept()\"></p-button>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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", "buttonProps", "autofocus", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MessageModule }, { kind: "component", type: i2$1.Message, selector: "p-message", inputs: ["severity", "text", "escape", "style", "styleClass", "closable", "icon", "closeIcon", "life", "showTransitionOptions", "hideTransitionOptions", "size", "variant"], outputs: ["onClose"] }, { kind: "ngmodule", type: TextareaModule }, { kind: "directive", type: i4$
|
|
2495
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.6", type: PromptComponent, isStandalone: true, selector: "dc-prompt", ngImport: i0, template: "<div class=\"form-input-card p-4\">\n <p-message severity=\"secondary\"> {{ title() }}</p-message>\n\n <div class=\"my-4\">{{ message() }}</div>\n\n <div class=\"p-field mb-4\">\n <textarea rows=\"5\" cols=\"30\" pTextarea [(ngModel)]=\"inputValue\" class=\"w-full\"></textarea>\n </div>\n\n <div class=\"flex justify-content-end gap-2\">\n <p-button [label]=\"cancelText()\" (click)=\"cancel()\" severity=\"secondary\"></p-button>\n <p-button [label]=\"acceptText()\" (click)=\"accept()\"></p-button>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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", "buttonProps", "autofocus", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MessageModule }, { kind: "component", type: i2$1.Message, selector: "p-message", inputs: ["severity", "text", "escape", "style", "styleClass", "closable", "icon", "closeIcon", "life", "showTransitionOptions", "hideTransitionOptions", "size", "variant"], outputs: ["onClose"] }, { kind: "ngmodule", type: TextareaModule }, { kind: "directive", type: i4$2.Textarea, selector: "[pTextarea], [pInputTextarea]", inputs: ["autoResize", "pSize", "variant", "fluid", "invalid"], outputs: ["onResize"] }] }); }
|
|
2427
2496
|
}
|
|
2428
2497
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: PromptComponent, decorators: [{
|
|
2429
2498
|
type: Component,
|
|
@@ -2466,6 +2535,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
|
|
|
2466
2535
|
}]
|
|
2467
2536
|
}] });
|
|
2468
2537
|
|
|
2538
|
+
const AppHttpCode = {
|
|
2539
|
+
GoodRefreshToken: 211,
|
|
2540
|
+
GoodPlanExpired: 212,
|
|
2541
|
+
ErrorRefreshToken: 411,
|
|
2542
|
+
GoodWelcome: 213, // welcome to premium
|
|
2543
|
+
ErrorAndLogout: 412,
|
|
2544
|
+
};
|
|
2469
2545
|
/**
|
|
2470
2546
|
* Injection token for HttpCoreService configuration
|
|
2471
2547
|
*/
|
|
@@ -2759,6 +2835,7 @@ class HttpCoreService {
|
|
|
2759
2835
|
}
|
|
2760
2836
|
/**
|
|
2761
2837
|
* Upload a file to the specified service
|
|
2838
|
+
* @Deprecated use postFile
|
|
2762
2839
|
* @param service The service endpoint
|
|
2763
2840
|
* @param file The file to upload
|
|
2764
2841
|
* @param metadata Optional metadata to send with the file
|
|
@@ -2785,6 +2862,34 @@ class HttpCoreService {
|
|
|
2785
2862
|
throw error;
|
|
2786
2863
|
}
|
|
2787
2864
|
}
|
|
2865
|
+
/**
|
|
2866
|
+
* Upload a file to the specified service
|
|
2867
|
+
* @param service The service endpoint
|
|
2868
|
+
* @param file The file to upload
|
|
2869
|
+
* @param metadata Optional metadata to send with the file
|
|
2870
|
+
* @param host The host to use (primary or secondary)
|
|
2871
|
+
* @returns A promise with the response
|
|
2872
|
+
*/
|
|
2873
|
+
async postFile({ service, file, metadata, host }) {
|
|
2874
|
+
this.isLoading.set(true);
|
|
2875
|
+
try {
|
|
2876
|
+
const url = this.getHostUrl(host) + '/' + service;
|
|
2877
|
+
const formData = new FormData();
|
|
2878
|
+
formData.append('file', file);
|
|
2879
|
+
let headers = {};
|
|
2880
|
+
if (metadata) {
|
|
2881
|
+
headers = { metadata: JSON.stringify(metadata) };
|
|
2882
|
+
}
|
|
2883
|
+
const response$ = this.httpClient.post(url, formData, { headers });
|
|
2884
|
+
const result = await lastValueFrom(response$);
|
|
2885
|
+
this.isLoading.set(false);
|
|
2886
|
+
return result;
|
|
2887
|
+
}
|
|
2888
|
+
catch (error) {
|
|
2889
|
+
this.isLoading.set(false);
|
|
2890
|
+
throw error;
|
|
2891
|
+
}
|
|
2892
|
+
}
|
|
2788
2893
|
/**
|
|
2789
2894
|
* Download a file from the specified service
|
|
2790
2895
|
* @param service The service endpoint
|
|
@@ -3022,6 +3127,11 @@ class EntityCommunicationService {
|
|
|
3022
3127
|
query(filterConfig) {
|
|
3023
3128
|
return this.httpService.postHttp({ service: `api/${this.serviceName}/query`, data: filterConfig, host: this.customHost });
|
|
3024
3129
|
}
|
|
3130
|
+
update(id, update) {
|
|
3131
|
+
// NEW METHOD, i'm not used yet.
|
|
3132
|
+
// Este método da más control porque no esta validado, puede actualizar por ejemplo un objeto anidado 'assets.motions' o creo que tambien mandando el update de mongo {$push...}
|
|
3133
|
+
return this.httpService.putHttp({ service: `api/${this.serviceName}/${id}`, data: update, host: this.customHost });
|
|
3134
|
+
}
|
|
3025
3135
|
partialUpdate(id, partialUpdates) {
|
|
3026
3136
|
// In backend object is flattened, so Convert nested objects to dot notation eg. { "video.captions.remotion": captions.captions }
|
|
3027
3137
|
return this.httpService.putHttp({ service: `api/${this.serviceName}/${id}`, data: partialUpdates, host: this.customHost });
|
|
@@ -3104,44 +3214,96 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
|
|
|
3104
3214
|
}]
|
|
3105
3215
|
}], ctorParameters: () => [] });
|
|
3106
3216
|
|
|
3217
|
+
class AudioNotificationService {
|
|
3218
|
+
playFinishNotification() {
|
|
3219
|
+
const audio = new Audio('assets/sounds/accomplished.mp3');
|
|
3220
|
+
audio.load();
|
|
3221
|
+
audio.play();
|
|
3222
|
+
}
|
|
3223
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AudioNotificationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3224
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AudioNotificationService, providedIn: 'root' }); }
|
|
3225
|
+
}
|
|
3226
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AudioNotificationService, decorators: [{
|
|
3227
|
+
type: Injectable,
|
|
3228
|
+
args: [{
|
|
3229
|
+
providedIn: 'root',
|
|
3230
|
+
}]
|
|
3231
|
+
}] });
|
|
3232
|
+
|
|
3233
|
+
var MoodState;
|
|
3234
|
+
(function (MoodState) {
|
|
3235
|
+
MoodState["HAPPY"] = "happy";
|
|
3236
|
+
MoodState["SAD"] = "sad";
|
|
3237
|
+
MoodState["ANGRY"] = "angry";
|
|
3238
|
+
MoodState["FEAR"] = "fear";
|
|
3239
|
+
MoodState["SURPRISED"] = "surprised";
|
|
3240
|
+
MoodState["DISGUSTED"] = "disgusted";
|
|
3241
|
+
MoodState["PROUD"] = "proud";
|
|
3242
|
+
MoodState["ASHAMED"] = "ashamed";
|
|
3243
|
+
MoodState["GUILTY"] = "guilty";
|
|
3244
|
+
MoodState["JEALOUS"] = "jealous";
|
|
3245
|
+
MoodState["LOVE"] = "love";
|
|
3246
|
+
MoodState["CONTEMPT"] = "contempt";
|
|
3247
|
+
MoodState["COMIC"] = "comic";
|
|
3248
|
+
MoodState["BLUSHING"] = "blushing";
|
|
3249
|
+
MoodState["CONFUSED"] = "confused";
|
|
3250
|
+
MoodState["CURIOUS"] = "curious";
|
|
3251
|
+
MoodState["BORED"] = "bored";
|
|
3252
|
+
MoodState["FRUSTRATED"] = "frustrated";
|
|
3253
|
+
MoodState["OVERWHELMED"] = "overwhelmed";
|
|
3254
|
+
MoodState["FOCUSED"] = "focused";
|
|
3255
|
+
MoodState["CHALLENGE"] = "challenge";
|
|
3256
|
+
MoodState["SERIOUS"] = "serious";
|
|
3257
|
+
MoodState["SLEEPY"] = "sleepy";
|
|
3258
|
+
MoodState["HORNY"] = "horny";
|
|
3259
|
+
MoodState["ANXIOUS"] = "anxious";
|
|
3260
|
+
MoodState["RELAXED"] = "relaxed";
|
|
3261
|
+
})(MoodState || (MoodState = {}));
|
|
3107
3262
|
const MoodStateOptions = [
|
|
3108
3263
|
// Emociones básicas y fundamentales
|
|
3109
|
-
{ value:
|
|
3110
|
-
{ value:
|
|
3111
|
-
{ value:
|
|
3112
|
-
{ value:
|
|
3113
|
-
{ value:
|
|
3114
|
-
{ value:
|
|
3264
|
+
{ value: MoodState.HAPPY, label: '1) Alegría - Felicidad, gozo, satisfacción', emoji: '😊' },
|
|
3265
|
+
{ value: MoodState.SAD, label: '2) Tristeza - Pena, melancolía, desánimo', emoji: '😢' },
|
|
3266
|
+
{ value: MoodState.ANGRY, label: '3) Enojo - Ira, furia, irritación', emoji: '😠' },
|
|
3267
|
+
{ value: MoodState.FEAR, label: '4) Miedo - Temor, pánico, terror', emoji: '😨' },
|
|
3268
|
+
{ value: MoodState.SURPRISED, label: '5) Sorpresa - Asombro, desconcierto', emoji: '😮' },
|
|
3269
|
+
{ value: MoodState.DISGUSTED, label: '6) Asco - Repugnancia, aversión', emoji: '🤢' },
|
|
3115
3270
|
// { value: 'excited', label: '27) Entusiasmo - Emoción, euforia, anticipación' },
|
|
3116
3271
|
// Emociones sociales y autoconscientes
|
|
3117
|
-
{ value:
|
|
3118
|
-
{ value:
|
|
3119
|
-
{ value:
|
|
3120
|
-
{ value:
|
|
3121
|
-
{ value:
|
|
3272
|
+
{ value: MoodState.PROUD, label: '7) Orgullo - Satisfacción por logros propios o ajenos', emoji: '😎' },
|
|
3273
|
+
{ value: MoodState.ASHAMED, label: '8) Vergüenza - Humillado', emoji: '😰' },
|
|
3274
|
+
{ value: MoodState.GUILTY, label: '9) Culpa - Remordimiento, arrepentimiento', emoji: '😔' },
|
|
3275
|
+
{ value: MoodState.JEALOUS, label: '10) Celos - Envidia, desconfianza', emoji: '😒' },
|
|
3276
|
+
{ value: MoodState.LOVE, label: '11) Amor - Cariño, afecto, ternura', emoji: '❤️' },
|
|
3122
3277
|
// { value: 'grateful', label: '12) Agradecimiento - Gratitud, aprecio' },
|
|
3123
|
-
{ value:
|
|
3124
|
-
{ value:
|
|
3125
|
-
{ value:
|
|
3278
|
+
{ value: MoodState.CONTEMPT, label: '30) Desprecio - Desdén, menosprecio', emoji: '🙃' },
|
|
3279
|
+
{ value: MoodState.COMIC, label: '32) Cómico - Divertido, gracioso', emoji: '😂' },
|
|
3280
|
+
{ value: MoodState.BLUSHING, label: '33) Apenado - Sonrojado, avergonzado', emoji: '😳' },
|
|
3126
3281
|
// Estados cognitivos y mentales
|
|
3127
3282
|
// { value: 'neutral', label: '13) Neutral - Calma, imparcialidad' },
|
|
3128
|
-
{ value:
|
|
3129
|
-
{ value:
|
|
3130
|
-
{ value:
|
|
3283
|
+
{ value: MoodState.CONFUSED, label: '14) Confusión - Desorientación, perplejidad', emoji: '😕' },
|
|
3284
|
+
{ value: MoodState.CURIOUS, label: '15) Curiosidad - Interés, intriga, exploración', emoji: '🤔' },
|
|
3285
|
+
{ value: MoodState.BORED, label: '16) Aburrimiento - Desinterés, tedio, apatía', emoji: '😑' },
|
|
3131
3286
|
// { value: 'hopeful', label: '17) Esperanza - Optimismo, fe, expectativa positiva' },
|
|
3132
|
-
{ value:
|
|
3133
|
-
{ value:
|
|
3287
|
+
{ value: MoodState.FRUSTRATED, label: '18) Frustración - Decepción, impotencia', emoji: '😤' },
|
|
3288
|
+
{ value: MoodState.OVERWHELMED, label: '19) Abrumado - Agobio, exceso de carga', emoji: '😫' },
|
|
3134
3289
|
// { value: 'lonely', label: '20) Soledad - Aislamiento, desamparo' },
|
|
3135
|
-
{ value:
|
|
3136
|
-
{ value:
|
|
3290
|
+
{ value: MoodState.FOCUSED, label: '21) Concentración - Enfoque, atención plena', emoji: '🤓' },
|
|
3291
|
+
{ value: MoodState.CHALLENGE, label: '28) Desafío - Reto, provocación, competitividad', emoji: '😏' },
|
|
3137
3292
|
// { value: 'satisfied', label: '29) Satisfacción - Contentamiento, plenitud' },
|
|
3138
|
-
{ value:
|
|
3293
|
+
{ value: MoodState.SERIOUS, label: '31) Serenidad - Actitud seria', emoji: '😐' },
|
|
3139
3294
|
// Estados corporales y fisiológicos
|
|
3140
|
-
{ value:
|
|
3295
|
+
{ value: MoodState.SLEEPY, label: '22) Cansancio - Somnolencia, agotamiento, fatiga', emoji: '😴' },
|
|
3141
3296
|
// { value: 'energetic', label: '23) Energía - Vitalidad, vigor, dinamismo' },
|
|
3142
|
-
{ value:
|
|
3143
|
-
{ value:
|
|
3144
|
-
{ value:
|
|
3297
|
+
{ value: MoodState.HORNY, label: '24) Excitación sexual - Lujuria, deseo sexual', emoji: '😈' },
|
|
3298
|
+
{ value: MoodState.ANXIOUS, label: '25) Ansiedad - Nerviosismo, preocupación, inquietud', emoji: '😟' },
|
|
3299
|
+
{ value: MoodState.RELAXED, label: '26) Relajación - Paz, serenidad, tranquilidad', emoji: '😌' },
|
|
3300
|
+
];
|
|
3301
|
+
|
|
3302
|
+
const CharacterEventActions = [
|
|
3303
|
+
// Emociones básicas y fundamentales
|
|
3304
|
+
{ value: 'intro', label: 'Al iniciar la conversación' },
|
|
3305
|
+
{ value: 'outro', label: 'Al finalizar la conversación' },
|
|
3306
|
+
{ value: 'goalCompleted', label: 'Al completar el objetivo' },
|
|
3145
3307
|
];
|
|
3146
3308
|
|
|
3147
3309
|
/*
|
|
@@ -3153,5 +3315,5 @@ const MoodStateOptions = [
|
|
|
3153
3315
|
* Generated bundle index. Do not edit.
|
|
3154
3316
|
*/
|
|
3155
3317
|
|
|
3156
|
-
export { APP_CONFIG, AppConfigService, AudioSpeed, AudioSpeedReverse, ChatUserSettings, ConfirmComponent, ConfirmService, DCFilterBarComponent, DCProgressToastComponent, DcAuditableViewerComponent, DcExtensionsViewerComponent, DcLearnableFormComponent, DcLearnableViewerComponent, DcManageableFormComponent, DcManageableViewerComponent, DcReactionsViewerComponent, EModelQuality, EmptyStateComponent, EntityBaseFormComponent, EntityBaseListComponent, EntityCommunicationService, FlagPipe, FormUtilsService, GetPathPipe, HTTP_CORE_CONFIG, HttpCoreService, IAIModel, LANGUAGES, LangDescTranslation, LoadingBarComponent, LoadingBarService, ModelQualityOptions, MoodStateOptions, OptionValue, PaginationBase, PromptService, QuickTableComponent, SUPPORTED_LANGUAGES, TOAST_ALERTS_TOKEN, ToastAlertsAbstractService, UiStateService, availibleFilters, extractJsonFromString, formatCamelCaseString, getLangDesc, getSupportedLanguageOptions, provideToastAlert, sortOptions, sortTypes };
|
|
3318
|
+
export { APP_CONFIG, AppConfigService, AppHttpCode, AudioNotificationService, AudioSpeed, AudioSpeedReverse, CharacterEventActions, ChatUserSettings, ConfirmComponent, ConfirmService, DCFilterBarComponent, DCProgressToastComponent, DcAuditableViewerComponent, DcExtensionsViewerComponent, DcLearnableFormComponent, DcLearnableViewerComponent, DcManageableFormComponent, DcManageableViewerComponent, DcReactionsViewerComponent, EModelQuality, EmptyStateComponent, EntityBaseFormComponent, EntityBaseListComponent, EntityCommunicationService, FlagPipe, FormUtilsService, GetPathPipe, HTTP_CORE_CONFIG, HttpCoreService, IAIModel, LANGUAGES, LangDescTranslation, LoadingBarComponent, LoadingBarService, ModelQualityOptions, MoodState, MoodStateOptions, OptionValue, PaginationBase, PromptService, QuickTableComponent, SUPPORTED_LANGUAGES, TOAST_ALERTS_TOKEN, ToastAlertsAbstractService, UiStateService, availibleFilters, extractJsonFromString, formatCamelCaseString, getLangDesc, getSupportedLanguageOptions, provideToastAlert, sortOptions, sortTypes };
|
|
3157
3319
|
//# sourceMappingURL=dataclouder-ngx-core.mjs.map
|