@solcre-org/core-ui 2.12.36 → 2.12.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.
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { HostBinding, Directive, input, Component, inject, output, computed, signal, effect, Pipe, Injectable, ViewChild, ViewContainerRef, TemplateRef, InjectionToken, ContentChild, ChangeDetectionStrategy, ElementRef,
|
|
2
|
+
import { HostBinding, Directive, input, Component, inject, output, computed, signal, effect, Pipe, Injectable, ViewChild, ViewContainerRef, TemplateRef, InjectionToken, ContentChild, ChangeDetectionStrategy, ElementRef, HostListener, viewChild, ChangeDetectorRef, afterNextRender, importProvidersFrom } from '@angular/core';
|
|
3
3
|
import * as i2 from '@angular/common';
|
|
4
4
|
import { CommonModule, DatePipe } from '@angular/common';
|
|
5
5
|
import * as i3 from '@ngx-translate/core';
|
|
@@ -2229,7 +2229,9 @@ class SelectFieldComponent extends BaseFieldComponent {
|
|
|
2229
2229
|
String(opt.value) === String(currentInitialValue));
|
|
2230
2230
|
if (matchingOption) {
|
|
2231
2231
|
setTimeout(() => {
|
|
2232
|
-
this.formControl().setValue(currentInitialValue, { emitEvent:
|
|
2232
|
+
this.formControl().setValue(currentInitialValue, { emitEvent: true });
|
|
2233
|
+
this.valueChange.emit(currentInitialValue);
|
|
2234
|
+
this.hasValue.set(true);
|
|
2233
2235
|
this.isInitialized.set(true);
|
|
2234
2236
|
}, 0);
|
|
2235
2237
|
}
|
|
@@ -2243,9 +2245,15 @@ class SelectFieldComponent extends BaseFieldComponent {
|
|
|
2243
2245
|
if (newValue !== null && newValue !== undefined && newValue !== currentValue) {
|
|
2244
2246
|
this.formControl().setValue(newValue, { emitEvent: true });
|
|
2245
2247
|
this.valueChange.emit(newValue);
|
|
2248
|
+
this.hasValue.set(true);
|
|
2246
2249
|
}
|
|
2247
2250
|
}
|
|
2248
|
-
|
|
2251
|
+
const finalValue = this.formControl().value;
|
|
2252
|
+
if (finalValue !== null && finalValue !== undefined && finalValue !== '') {
|
|
2253
|
+
const hasValidValue = !Array.isArray(finalValue) || finalValue.length > 0;
|
|
2254
|
+
this.hasValue.set(hasValidValue);
|
|
2255
|
+
}
|
|
2256
|
+
}, 100);
|
|
2249
2257
|
}
|
|
2250
2258
|
compareWith = (item, selected) => {
|
|
2251
2259
|
if (!item || selected === null || selected === undefined) {
|
|
@@ -2285,6 +2293,11 @@ class SelectFieldComponent extends BaseFieldComponent {
|
|
|
2285
2293
|
else {
|
|
2286
2294
|
finalValue = newValue;
|
|
2287
2295
|
}
|
|
2296
|
+
const hasValidValue = finalValue !== null &&
|
|
2297
|
+
finalValue !== undefined &&
|
|
2298
|
+
finalValue !== '' &&
|
|
2299
|
+
(!Array.isArray(finalValue) || finalValue.length > 0);
|
|
2300
|
+
this.hasValue.set(hasValidValue);
|
|
2288
2301
|
const fieldConfig = this.field();
|
|
2289
2302
|
if (fieldConfig.onSelectionChange && this.formValue()) {
|
|
2290
2303
|
try {
|
|
@@ -5397,6 +5410,11 @@ class GenericModalComponent {
|
|
|
5397
5410
|
this.hasUnsavedChanges.set(false);
|
|
5398
5411
|
return;
|
|
5399
5412
|
}
|
|
5413
|
+
const availableFields = this.allFields();
|
|
5414
|
+
const hasTemplate = !!this.customTemplate();
|
|
5415
|
+
if (!hasTemplate && availableFields.length === 0) {
|
|
5416
|
+
return;
|
|
5417
|
+
}
|
|
5400
5418
|
if (!this.isInitialized()) {
|
|
5401
5419
|
this.initializeData();
|
|
5402
5420
|
this.initializeActiveTabAndStep();
|
|
@@ -5455,14 +5473,17 @@ class GenericModalComponent {
|
|
|
5455
5473
|
const payloadKey = (field.keyToPayload ?? field.key);
|
|
5456
5474
|
const modeConfig = field.modes?.[this.mode()];
|
|
5457
5475
|
const defaultValue = modeConfig?.defaultValue ?? field.defaultValue;
|
|
5476
|
+
let initialValue = newInstance[fieldKey];
|
|
5458
5477
|
if (this.mode() === ModalMode.CREATE) {
|
|
5459
|
-
if (defaultValue !== undefined
|
|
5478
|
+
if (defaultValue !== undefined) {
|
|
5460
5479
|
if (typeof defaultValue === 'function') {
|
|
5461
5480
|
const computedValue = defaultValue(newInstance);
|
|
5462
5481
|
newInstance[payloadKey] = computedValue;
|
|
5482
|
+
initialValue = computedValue;
|
|
5463
5483
|
}
|
|
5464
5484
|
else {
|
|
5465
5485
|
newInstance[payloadKey] = defaultValue;
|
|
5486
|
+
initialValue = defaultValue;
|
|
5466
5487
|
}
|
|
5467
5488
|
}
|
|
5468
5489
|
}
|
|
@@ -5470,42 +5491,49 @@ class GenericModalComponent {
|
|
|
5470
5491
|
if (typeof defaultValue === 'function') {
|
|
5471
5492
|
const computedValue = defaultValue(newInstance);
|
|
5472
5493
|
newInstance[payloadKey] = computedValue;
|
|
5494
|
+
initialValue = computedValue;
|
|
5473
5495
|
}
|
|
5474
5496
|
}
|
|
5475
5497
|
const validators = modeConfig?.validators ?? field.validators ?? [];
|
|
5476
|
-
formGroup[fieldKey] = [
|
|
5498
|
+
formGroup[fieldKey] = [initialValue, validators];
|
|
5477
5499
|
});
|
|
5478
5500
|
this.form.set(this.formBuilder.group(formGroup));
|
|
5479
|
-
|
|
5480
|
-
|
|
5481
|
-
|
|
5482
|
-
|
|
5483
|
-
|
|
5484
|
-
|
|
5485
|
-
|
|
5486
|
-
|
|
5487
|
-
|
|
5488
|
-
control
|
|
5501
|
+
setTimeout(() => {
|
|
5502
|
+
this.allFields().forEach(field => {
|
|
5503
|
+
const fieldKey = field.key;
|
|
5504
|
+
const payloadKey = (field.keyToPayload ?? field.key);
|
|
5505
|
+
if ('dynamicValue' in field && typeof field.dynamicValue === 'function') {
|
|
5506
|
+
const dynamicVal = field.dynamicValue(newInstance);
|
|
5507
|
+
if (dynamicVal !== undefined && dynamicVal !== null) {
|
|
5508
|
+
newInstance[payloadKey] = dynamicVal;
|
|
5509
|
+
const control = this.form().get(fieldKey);
|
|
5510
|
+
if (control) {
|
|
5511
|
+
control.setValue(dynamicVal, { emitEvent: true });
|
|
5512
|
+
}
|
|
5489
5513
|
}
|
|
5490
5514
|
}
|
|
5491
|
-
}
|
|
5492
|
-
|
|
5493
|
-
|
|
5515
|
+
});
|
|
5516
|
+
this.allFields().forEach(field => {
|
|
5517
|
+
const fieldKey = field.key;
|
|
5518
|
+
const control = this.form().get(fieldKey);
|
|
5519
|
+
if (control && control.value !== undefined && control.value !== null) {
|
|
5520
|
+
const payloadKey = (field.keyToPayload ?? field.key);
|
|
5521
|
+
newInstance[payloadKey] = control.value;
|
|
5522
|
+
}
|
|
5523
|
+
});
|
|
5494
5524
|
Object.values(this.form().controls).forEach(control => {
|
|
5495
5525
|
control.markAsUntouched();
|
|
5496
5526
|
});
|
|
5497
5527
|
this.fieldErrors.set({});
|
|
5498
5528
|
this.internalErrors.set([]);
|
|
5499
|
-
|
|
5500
|
-
|
|
5501
|
-
|
|
5502
|
-
|
|
5503
|
-
|
|
5504
|
-
|
|
5505
|
-
}
|
|
5506
|
-
setTimeout(() => {
|
|
5529
|
+
this.editedData.set(newInstance);
|
|
5530
|
+
if (this.mode() !== ModalMode.VIEW) {
|
|
5531
|
+
const originalCopy = Object.create(Object.getPrototypeOf(newInstance));
|
|
5532
|
+
Object.assign(originalCopy, newInstance);
|
|
5533
|
+
this.originalData.set(originalCopy);
|
|
5534
|
+
}
|
|
5507
5535
|
this.modalData.emit(newInstance);
|
|
5508
|
-
},
|
|
5536
|
+
}, 50);
|
|
5509
5537
|
}
|
|
5510
5538
|
initializeActiveTabAndStep() {
|
|
5511
5539
|
if (this.hasTabs()) {
|
|
@@ -8036,17 +8064,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
|
8036
8064
|
class GenericPaginationComponent {
|
|
8037
8065
|
paginationService;
|
|
8038
8066
|
tableDataService;
|
|
8039
|
-
tableId;
|
|
8040
|
-
isServerSide = false;
|
|
8067
|
+
tableId = input();
|
|
8068
|
+
isServerSide = input(false);
|
|
8041
8069
|
subscription = null;
|
|
8042
8070
|
constructor(paginationService, tableDataService) {
|
|
8043
8071
|
this.paginationService = paginationService;
|
|
8044
8072
|
this.tableDataService = tableDataService;
|
|
8045
8073
|
}
|
|
8046
8074
|
ngOnInit() {
|
|
8047
|
-
if (this.isServerSide) {
|
|
8075
|
+
if (this.isServerSide()) {
|
|
8048
8076
|
this.subscription = this.paginationService.paginationChange$.subscribe(event => {
|
|
8049
|
-
if (event.tableId === this.tableId) {
|
|
8077
|
+
if (event.tableId === this.tableId()) {
|
|
8050
8078
|
this.tableDataService.updatePagination(event.page, event.size);
|
|
8051
8079
|
}
|
|
8052
8080
|
});
|
|
@@ -8058,29 +8086,29 @@ class GenericPaginationComponent {
|
|
|
8058
8086
|
}
|
|
8059
8087
|
}
|
|
8060
8088
|
getCurrentPage() {
|
|
8061
|
-
return this.paginationService.getCurrentPage(this.tableId)();
|
|
8089
|
+
return this.paginationService.getCurrentPage(this.tableId())();
|
|
8062
8090
|
}
|
|
8063
8091
|
getPageSize() {
|
|
8064
|
-
return this.paginationService.getPageSize(this.tableId)();
|
|
8092
|
+
return this.paginationService.getPageSize(this.tableId())();
|
|
8065
8093
|
}
|
|
8066
8094
|
getTotalItems() {
|
|
8067
|
-
return this.paginationService.getTotalItems(this.tableId)();
|
|
8095
|
+
return this.paginationService.getTotalItems(this.tableId())();
|
|
8068
8096
|
}
|
|
8069
8097
|
getTotalPages() {
|
|
8070
|
-
return this.paginationService.getTotalPages(this.tableId)();
|
|
8098
|
+
return this.paginationService.getTotalPages(this.tableId())();
|
|
8071
8099
|
}
|
|
8072
8100
|
getPageSizeOptions() {
|
|
8073
|
-
return this.paginationService.getPageSizeOptions(this.tableId);
|
|
8101
|
+
return this.paginationService.getPageSizeOptions(this.tableId());
|
|
8074
8102
|
}
|
|
8075
8103
|
onPageChange(page) {
|
|
8076
|
-
this.paginationService.setCurrentPage(this.tableId, page);
|
|
8104
|
+
this.paginationService.setCurrentPage(this.tableId(), page);
|
|
8077
8105
|
}
|
|
8078
8106
|
handlePageSizeChange(event) {
|
|
8079
8107
|
const select = event.target;
|
|
8080
8108
|
if (select) {
|
|
8081
8109
|
const newSize = parseInt(select.value, 10);
|
|
8082
8110
|
if (!isNaN(newSize)) {
|
|
8083
|
-
this.paginationService.setPageSize(this.tableId, newSize);
|
|
8111
|
+
this.paginationService.setPageSize(this.tableId(), newSize);
|
|
8084
8112
|
}
|
|
8085
8113
|
}
|
|
8086
8114
|
}
|
|
@@ -8129,16 +8157,12 @@ class GenericPaginationComponent {
|
|
|
8129
8157
|
return pages;
|
|
8130
8158
|
}
|
|
8131
8159
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: GenericPaginationComponent, deps: [{ token: PaginationService }, { token: TableDataService }], target: i0.ɵɵFactoryTarget.Component });
|
|
8132
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: GenericPaginationComponent, isStandalone: true, selector: "core-generic-pagination", inputs: { tableId: "tableId", isServerSide: "isServerSide" }, hostDirectives: [{ directive: CoreHostDirective }], ngImport: i0, template: "@if (getTotalItems() > 0) {\n <div class=\"c-pagination\">\n <p class=\"c-pagination__summary\">\n {{ 'pagination.viewing' | translate }} \n <span>{{ getDisplayedRange().start }}-{{ getDisplayedRange().end }}</span> \n {{ 'pagination.of' | translate }} \n <span>{{ getTotalItems() }}</span>\n </p>\n <div class=\"c-pagination__controls\">\n <label for=\"page-size-{{ tableId }}\" class=\"c-pagination__summary\">\n {{ 'pagination.itemsPerPage' | translate }}:\n </label>\n <select \n id=\"page-size-{{ tableId }}\"\n class=\"c-input \"\n [value]=\"getPageSize()\"\n (change)=\"handlePageSizeChange($event)\">\n @for (option of getPageSizeOptions(); track option) {\n <option [value]=\"option\">{{ option }}</option>\n }\n </select>\n </div>\n\n <nav class=\"c-pager\">\n <ul class=\"c-pager__list\">\n <li class=\"c-pager__item\">\n <a class=\"c-pager__link\" \n [class.disabled]=\"getCurrentPage() === 1\" \n (click)=\"onPageChange(getCurrentPage() - 1)\">\n <span class=\"icon-arrow-left\"></span>\n </a>\n </li>\n\n <ng-container *ngFor=\"let page of getVisiblePages()\">\n <li class=\"c-pager__item\">\n @if (page === '...') {\n <span class=\"c-pager__link\">...</span>\n } @else {\n <a class=\"c-pager__link\" \n [class.is-active]=\"getCurrentPage() === page\"\n (click)=\"onPageChange(+page)\">\n {{ page }}\n </a>\n }\n </li>\n </ng-container>\n\n <li class=\"c-pager__item\">\n <a class=\"c-pager__link\" \n [class.disabled]=\"getCurrentPage() === getTotalPages()\"\n (click)=\"onPageChange(getCurrentPage() + 1)\">\n <span class=\"icon-arrow-right\"></span>\n </a>\n </li>\n </ul>\n </nav>\n </div>\n}", styles: [".ng-select .ng-select-container .ng-value-container{flex-wrap:wrap}.c-entry-input--ng-select.is-placeholder ::ng-deep .ng-select .ng-select-container .ng-value-container .ng-input input::placeholder{color:var(--_entry-input-placeholder-color);opacity:1}.c-entry-input--ng-select.is-placeholder ::ng-deep .ng-select .ng-select-container .ng-value-container .ng-input input{color:var(--_entry-input-placeholder-color)}.c-entry-input--ng-select:not(.is-placeholder) ::ng-deep .ng-select .ng-select-container .ng-value-container .ng-input input::placeholder{opacity:0}::ng-deep .ng-select{width:100%!important;display:contents}.c-entry-input--ng-select{position:relative}::ng-deep .ng-dropdown-panel{top:0;right:0}::ng-deep .ng-select .ng-select-container .ng-value-container .ng-value{background-color:var(--form-highlighted-color, var(--color-neutral-300));color:#3f4e6a;border-radius:var(--_entry-input-br);padding:.2em .8em;margin:.2em;border:none;border-radius:4px}::ng-deep .ng-select .ng-select-container .ng-value-container .ng-value .ng-value-icon{border:none;padding-right:.4em;color:#3f4e6a}::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items{border:none;min-height:auto;padding:0;position:relative;right:0;margin-top:3em;box-shadow:1em 2.4em 3.4em -2em hsl(var(--color-neutral-900-hsl)/25%);background-color:var(--color-neutral-100)}::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{padding:.6em .8em;color:#6a788c;cursor:pointer;transition:background-color .1s ease-out}::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{color:var(--color-primary-400)}::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected{color:var(--color-primary-400);font-weight:500}::ng-deep .ng-dropdown-panel .scrollable-content{background:#f2f5fa}::ng-deep .ng-dropdown-panel-items.scroll-host{background:#f2f5fa;padding:1em;border-radius:var(--_entry-input-br)}::ng-deep app-server-select-field .ng-select:not(.ng-select-filtered):not(.ng-select-opened) .ng-dropdown-panel{opacity:0!important}::ng-deep .c-entry-input--ng-select{--_entry-input-padd-y: .76em}::ng-deep .c-entry-input--ng-select:has(.ng-value-container .ng-value){--_entry-input-padd-y: .35em}::ng-deep .c-entry-input--ng-select:has(.ng-value-container .ng-value) .ng-select .ng-select-container .ng-value-container .ng-input{margin-left:8px}::ng-deep .c-entry-input--ng-select:has(.ng-value-container .ng-value) .ng-select .ng-select-container .ng-value-container .ng-input>input{height:100%}::ng-deep .ng-dropdown-panel-items.scroll-host:has(.ng-select-notfound){background-color:hsl(from hsl(var(--color-context-error-hsl)) h s 94%);color:hsl(from hsl(var(--color-context-error-hsl)) h s 60%)}::ng-deep .ng-dropdown-panel-items.scroll-host:has(.ng-select-loading){background-color:hsl(from hsl(var(--color-alternative-800-hsl)) h s 96%);color:hsl(from hsl(var(--color-alternative-800-hsl)) h 90% 70%)}::ng-deep .ng-select.ng-select-single .ng-select-container .ng-value-container,.ng-select.ng-select-single .ng-select-container .ng-value-container{display:grid;justify-content:start}::ng-deep .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{height:-webkit-fill-available}::ng-deep .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input>input{height:98%}::ng-deep .ng-select.ng-select-single .ng-select-container{overflow:visible;position:relative;cursor:pointer}::ng-deep .ng-select.ng-select-single .ng-select-container:before{content:\"\";position:absolute;left:calc(var(--_entry-input-padd-x) * -1);right:calc(var(--_entry-input-padd-x) * -1 - var(--_entry-input-addon-gap) - var(--_entry-input-addon-icon-fz));top:calc(max(var(--_entry-input-padd-y) * var(--_size-factor, 1),2px)*-1);bottom:calc(max(var(--_entry-input-padd-y) * var(--_size-factor, 1),2px)*-1)}::ng-deep .ng-select .ng-clear-wrapper .ng-clear{position:absolute;top:50%;transform:translateY(-50%)}@media (hover: hover){::ng-deep .ng-select .ng-clear-wrapper:is(:hover,:focus-visible){color:var(--color-hover)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
|
|
8160
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: GenericPaginationComponent, isStandalone: true, selector: "core-generic-pagination", inputs: { tableId: { classPropertyName: "tableId", publicName: "tableId", isSignal: true, isRequired: false, transformFunction: null }, isServerSide: { classPropertyName: "isServerSide", publicName: "isServerSide", isSignal: true, isRequired: false, transformFunction: null } }, hostDirectives: [{ directive: CoreHostDirective }], ngImport: i0, template: "@if (getTotalItems() > 0) {\n <div class=\"c-pagination\">\n <p class=\"c-pagination__summary\">\n {{ 'pagination.viewing' | translate }} \n <span>{{ getDisplayedRange().start }}-{{ getDisplayedRange().end }}</span> \n {{ 'pagination.of' | translate }} \n <span>{{ getTotalItems() }}</span>\n </p>\n <div class=\"c-pagination__controls\">\n <label for=\"page-size-{{ tableId }}\" class=\"c-pagination__summary\">\n {{ 'pagination.itemsPerPage' | translate }}:\n </label>\n <select \n id=\"page-size-{{ tableId }}\"\n class=\"c-input \"\n [value]=\"getPageSize()\"\n (change)=\"handlePageSizeChange($event)\">\n @for (option of getPageSizeOptions(); track option) {\n <option [value]=\"option\">{{ option }}</option>\n }\n </select>\n </div>\n\n <nav class=\"c-pager\">\n <ul class=\"c-pager__list\">\n <li class=\"c-pager__item\">\n <a class=\"c-pager__link\" \n [class.disabled]=\"getCurrentPage() === 1\" \n (click)=\"onPageChange(getCurrentPage() - 1)\">\n <span class=\"icon-arrow-left\"></span>\n </a>\n </li>\n\n <ng-container *ngFor=\"let page of getVisiblePages()\">\n <li class=\"c-pager__item\">\n @if (page === '...') {\n <span class=\"c-pager__link\">...</span>\n } @else {\n <a class=\"c-pager__link\" \n [class.is-active]=\"getCurrentPage() === page\"\n (click)=\"onPageChange(+page)\">\n {{ page }}\n </a>\n }\n </li>\n </ng-container>\n\n <li class=\"c-pager__item\">\n <a class=\"c-pager__link\" \n [class.disabled]=\"getCurrentPage() === getTotalPages()\"\n (click)=\"onPageChange(getCurrentPage() + 1)\">\n <span class=\"icon-arrow-right\"></span>\n </a>\n </li>\n </ul>\n </nav>\n </div>\n}", styles: [".ng-select .ng-select-container .ng-value-container{flex-wrap:wrap}.c-entry-input--ng-select.is-placeholder ::ng-deep .ng-select .ng-select-container .ng-value-container .ng-input input::placeholder{color:var(--_entry-input-placeholder-color);opacity:1}.c-entry-input--ng-select.is-placeholder ::ng-deep .ng-select .ng-select-container .ng-value-container .ng-input input{color:var(--_entry-input-placeholder-color)}.c-entry-input--ng-select:not(.is-placeholder) ::ng-deep .ng-select .ng-select-container .ng-value-container .ng-input input::placeholder{opacity:0}::ng-deep .ng-select{width:100%!important;display:contents}.c-entry-input--ng-select{position:relative}::ng-deep .ng-dropdown-panel{top:0;right:0}::ng-deep .ng-select .ng-select-container .ng-value-container .ng-value{background-color:var(--form-highlighted-color, var(--color-neutral-300));color:#3f4e6a;border-radius:var(--_entry-input-br);padding:.2em .8em;margin:.2em;border:none;border-radius:4px}::ng-deep .ng-select .ng-select-container .ng-value-container .ng-value .ng-value-icon{border:none;padding-right:.4em;color:#3f4e6a}::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items{border:none;min-height:auto;padding:0;position:relative;right:0;margin-top:3em;box-shadow:1em 2.4em 3.4em -2em hsl(var(--color-neutral-900-hsl)/25%);background-color:var(--color-neutral-100)}::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{padding:.6em .8em;color:#6a788c;cursor:pointer;transition:background-color .1s ease-out}::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{color:var(--color-primary-400)}::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected{color:var(--color-primary-400);font-weight:500}::ng-deep .ng-dropdown-panel .scrollable-content{background:#f2f5fa}::ng-deep .ng-dropdown-panel-items.scroll-host{background:#f2f5fa;padding:1em;border-radius:var(--_entry-input-br)}::ng-deep app-server-select-field .ng-select:not(.ng-select-filtered):not(.ng-select-opened) .ng-dropdown-panel{opacity:0!important}::ng-deep .c-entry-input--ng-select{--_entry-input-padd-y: .76em}::ng-deep .c-entry-input--ng-select:has(.ng-value-container .ng-value){--_entry-input-padd-y: .35em}::ng-deep .c-entry-input--ng-select:has(.ng-value-container .ng-value) .ng-select .ng-select-container .ng-value-container .ng-input{margin-left:8px}::ng-deep .c-entry-input--ng-select:has(.ng-value-container .ng-value) .ng-select .ng-select-container .ng-value-container .ng-input>input{height:100%}::ng-deep .ng-dropdown-panel-items.scroll-host:has(.ng-select-notfound){background-color:hsl(from hsl(var(--color-context-error-hsl)) h s 94%);color:hsl(from hsl(var(--color-context-error-hsl)) h s 60%)}::ng-deep .ng-dropdown-panel-items.scroll-host:has(.ng-select-loading){background-color:hsl(from hsl(var(--color-alternative-800-hsl)) h s 96%);color:hsl(from hsl(var(--color-alternative-800-hsl)) h 90% 70%)}::ng-deep .ng-select.ng-select-single .ng-select-container .ng-value-container,.ng-select.ng-select-single .ng-select-container .ng-value-container{display:grid;justify-content:start}::ng-deep .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{height:-webkit-fill-available}::ng-deep .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input>input{height:98%}::ng-deep .ng-select.ng-select-single .ng-select-container{overflow:visible;position:relative;cursor:pointer}::ng-deep .ng-select.ng-select-single .ng-select-container:before{content:\"\";position:absolute;left:calc(var(--_entry-input-padd-x) * -1);right:calc(var(--_entry-input-padd-x) * -1 - var(--_entry-input-addon-gap) - var(--_entry-input-addon-icon-fz));top:calc(max(var(--_entry-input-padd-y) * var(--_size-factor, 1),2px)*-1);bottom:calc(max(var(--_entry-input-padd-y) * var(--_size-factor, 1),2px)*-1)}::ng-deep .ng-select .ng-clear-wrapper .ng-clear{position:absolute;top:50%;transform:translateY(-50%)}@media (hover: hover){::ng-deep .ng-select .ng-clear-wrapper:is(:hover,:focus-visible){color:var(--color-hover)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
|
|
8133
8161
|
}
|
|
8134
8162
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: GenericPaginationComponent, decorators: [{
|
|
8135
8163
|
type: Component,
|
|
8136
8164
|
args: [{ selector: 'core-generic-pagination', standalone: true, imports: [CommonModule, TranslateModule], hostDirectives: [CoreHostDirective], template: "@if (getTotalItems() > 0) {\n <div class=\"c-pagination\">\n <p class=\"c-pagination__summary\">\n {{ 'pagination.viewing' | translate }} \n <span>{{ getDisplayedRange().start }}-{{ getDisplayedRange().end }}</span> \n {{ 'pagination.of' | translate }} \n <span>{{ getTotalItems() }}</span>\n </p>\n <div class=\"c-pagination__controls\">\n <label for=\"page-size-{{ tableId }}\" class=\"c-pagination__summary\">\n {{ 'pagination.itemsPerPage' | translate }}:\n </label>\n <select \n id=\"page-size-{{ tableId }}\"\n class=\"c-input \"\n [value]=\"getPageSize()\"\n (change)=\"handlePageSizeChange($event)\">\n @for (option of getPageSizeOptions(); track option) {\n <option [value]=\"option\">{{ option }}</option>\n }\n </select>\n </div>\n\n <nav class=\"c-pager\">\n <ul class=\"c-pager__list\">\n <li class=\"c-pager__item\">\n <a class=\"c-pager__link\" \n [class.disabled]=\"getCurrentPage() === 1\" \n (click)=\"onPageChange(getCurrentPage() - 1)\">\n <span class=\"icon-arrow-left\"></span>\n </a>\n </li>\n\n <ng-container *ngFor=\"let page of getVisiblePages()\">\n <li class=\"c-pager__item\">\n @if (page === '...') {\n <span class=\"c-pager__link\">...</span>\n } @else {\n <a class=\"c-pager__link\" \n [class.is-active]=\"getCurrentPage() === page\"\n (click)=\"onPageChange(+page)\">\n {{ page }}\n </a>\n }\n </li>\n </ng-container>\n\n <li class=\"c-pager__item\">\n <a class=\"c-pager__link\" \n [class.disabled]=\"getCurrentPage() === getTotalPages()\"\n (click)=\"onPageChange(getCurrentPage() + 1)\">\n <span class=\"icon-arrow-right\"></span>\n </a>\n </li>\n </ul>\n </nav>\n </div>\n}", styles: [".ng-select .ng-select-container .ng-value-container{flex-wrap:wrap}.c-entry-input--ng-select.is-placeholder ::ng-deep .ng-select .ng-select-container .ng-value-container .ng-input input::placeholder{color:var(--_entry-input-placeholder-color);opacity:1}.c-entry-input--ng-select.is-placeholder ::ng-deep .ng-select .ng-select-container .ng-value-container .ng-input input{color:var(--_entry-input-placeholder-color)}.c-entry-input--ng-select:not(.is-placeholder) ::ng-deep .ng-select .ng-select-container .ng-value-container .ng-input input::placeholder{opacity:0}::ng-deep .ng-select{width:100%!important;display:contents}.c-entry-input--ng-select{position:relative}::ng-deep .ng-dropdown-panel{top:0;right:0}::ng-deep .ng-select .ng-select-container .ng-value-container .ng-value{background-color:var(--form-highlighted-color, var(--color-neutral-300));color:#3f4e6a;border-radius:var(--_entry-input-br);padding:.2em .8em;margin:.2em;border:none;border-radius:4px}::ng-deep .ng-select .ng-select-container .ng-value-container .ng-value .ng-value-icon{border:none;padding-right:.4em;color:#3f4e6a}::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items{border:none;min-height:auto;padding:0;position:relative;right:0;margin-top:3em;box-shadow:1em 2.4em 3.4em -2em hsl(var(--color-neutral-900-hsl)/25%);background-color:var(--color-neutral-100)}::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{padding:.6em .8em;color:#6a788c;cursor:pointer;transition:background-color .1s ease-out}::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{color:var(--color-primary-400)}::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected{color:var(--color-primary-400);font-weight:500}::ng-deep .ng-dropdown-panel .scrollable-content{background:#f2f5fa}::ng-deep .ng-dropdown-panel-items.scroll-host{background:#f2f5fa;padding:1em;border-radius:var(--_entry-input-br)}::ng-deep app-server-select-field .ng-select:not(.ng-select-filtered):not(.ng-select-opened) .ng-dropdown-panel{opacity:0!important}::ng-deep .c-entry-input--ng-select{--_entry-input-padd-y: .76em}::ng-deep .c-entry-input--ng-select:has(.ng-value-container .ng-value){--_entry-input-padd-y: .35em}::ng-deep .c-entry-input--ng-select:has(.ng-value-container .ng-value) .ng-select .ng-select-container .ng-value-container .ng-input{margin-left:8px}::ng-deep .c-entry-input--ng-select:has(.ng-value-container .ng-value) .ng-select .ng-select-container .ng-value-container .ng-input>input{height:100%}::ng-deep .ng-dropdown-panel-items.scroll-host:has(.ng-select-notfound){background-color:hsl(from hsl(var(--color-context-error-hsl)) h s 94%);color:hsl(from hsl(var(--color-context-error-hsl)) h s 60%)}::ng-deep .ng-dropdown-panel-items.scroll-host:has(.ng-select-loading){background-color:hsl(from hsl(var(--color-alternative-800-hsl)) h s 96%);color:hsl(from hsl(var(--color-alternative-800-hsl)) h 90% 70%)}::ng-deep .ng-select.ng-select-single .ng-select-container .ng-value-container,.ng-select.ng-select-single .ng-select-container .ng-value-container{display:grid;justify-content:start}::ng-deep .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{height:-webkit-fill-available}::ng-deep .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input>input{height:98%}::ng-deep .ng-select.ng-select-single .ng-select-container{overflow:visible;position:relative;cursor:pointer}::ng-deep .ng-select.ng-select-single .ng-select-container:before{content:\"\";position:absolute;left:calc(var(--_entry-input-padd-x) * -1);right:calc(var(--_entry-input-padd-x) * -1 - var(--_entry-input-addon-gap) - var(--_entry-input-addon-icon-fz));top:calc(max(var(--_entry-input-padd-y) * var(--_size-factor, 1),2px)*-1);bottom:calc(max(var(--_entry-input-padd-y) * var(--_size-factor, 1),2px)*-1)}::ng-deep .ng-select .ng-clear-wrapper .ng-clear{position:absolute;top:50%;transform:translateY(-50%)}@media (hover: hover){::ng-deep .ng-select .ng-clear-wrapper:is(:hover,:focus-visible){color:var(--color-hover)}}\n"] }]
|
|
8137
|
-
}], ctorParameters: () => [{ type: PaginationService }, { type: TableDataService }]
|
|
8138
|
-
type: Input
|
|
8139
|
-
}], isServerSide: [{
|
|
8140
|
-
type: Input
|
|
8141
|
-
}] } });
|
|
8165
|
+
}], ctorParameters: () => [{ type: PaginationService }, { type: TableDataService }] });
|
|
8142
8166
|
|
|
8143
8167
|
class ConfirmationDialogComponent {
|
|
8144
8168
|
popupElement;
|
|
@@ -13266,11 +13290,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
|
13266
13290
|
// Este archivo es generado automáticamente por scripts/update-version.js
|
|
13267
13291
|
// No edites manualmente este archivo
|
|
13268
13292
|
const VERSION = {
|
|
13269
|
-
full: '2.12.
|
|
13293
|
+
full: '2.12.38',
|
|
13270
13294
|
major: 2,
|
|
13271
13295
|
minor: 12,
|
|
13272
|
-
patch:
|
|
13273
|
-
timestamp: '2025-09-
|
|
13296
|
+
patch: 38,
|
|
13297
|
+
timestamp: '2025-09-17T14:27:53.302Z',
|
|
13274
13298
|
buildDate: '17/9/2025'
|
|
13275
13299
|
};
|
|
13276
13300
|
|