ngx-wapp-components 1.0.1 → 1.0.3
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/esm2020/lib/misc/w-filter-panel/w-filter-panel.component.mjs +2 -2
- package/esm2020/lib/search/w-input-search/w-input-search.component.mjs +6 -45
- package/esm2020/lib/tables/w-table-lazy/w-table-lazy.component.mjs +3 -3
- package/esm2020/lib/wapp-components.module.mjs +1 -9
- package/fesm2015/ngx-wapp-components.mjs +8 -55
- package/fesm2015/ngx-wapp-components.mjs.map +1 -1
- package/fesm2020/ngx-wapp-components.mjs +8 -55
- package/fesm2020/ngx-wapp-components.mjs.map +1 -1
- package/lib/search/w-input-search/w-input-search.component.d.ts +2 -13
- package/lib/wapp-components.module.d.ts +27 -29
- package/package.json +1 -1
|
@@ -4,10 +4,8 @@ import * as i1 from '@angular/forms';
|
|
|
4
4
|
import { NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
5
5
|
import * as i2$1 from '@angular/common';
|
|
6
6
|
import { CommonModule } from '@angular/common';
|
|
7
|
-
import { BrowserModule } from '@angular/platform-browser';
|
|
8
7
|
import * as i1$4 from '@angular/common/http';
|
|
9
8
|
import { HttpHeaders, HttpClientModule } from '@angular/common/http';
|
|
10
|
-
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
11
9
|
import * as i1$3 from '@angular/router';
|
|
12
10
|
import { NavigationEnd, RouterModule } from '@angular/router';
|
|
13
11
|
import * as i2 from 'primeng/inputtext';
|
|
@@ -1138,10 +1136,10 @@ class WTableLazyComponent {
|
|
|
1138
1136
|
}
|
|
1139
1137
|
}
|
|
1140
1138
|
WTableLazyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: WTableLazyComponent, deps: [{ token: i1$2.ConfirmationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1141
|
-
WTableLazyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: WTableLazyComponent, selector: "w-table-lazy", inputs: { loading: "loading", elements: "elements", rowsPerPage: "rowsPerPage", allElements: "allElements", totalRecords: "totalRecords", maxRowsPerPage: "maxRowsPerPage", wappTableLazyLoadingObject: "wappTableLazyLoadingObject" }, outputs: { queryElements: "queryElements", onElementSelect: "onElementSelect", onViewElementSelect: "onViewElementSelect", onCustomElementSelect: "onCustomElementSelect", onCopyElementSelect: "onCopyElementSelect", onEditElementSelect: "onEditElementSelect", onDeleteElementSelect: "onDeleteElementSelect", onAllElementSelect: "onAllElementSelect" }, viewQueries: [{ propertyName: "dataTable", first: true, predicate: ["table"], descendants: true }], ngImport: i0, template: "<ng-content select=\".filter-panel\"></ng-content>\r\n<div *ngIf=\"wappTableLazyLoadingObject\" [class.table-container]=\"wappTableLazyLoadingObject.tableContainer\">\r\n <p-table class=\"wapp-table-styles\"\r\n #table [value]=\"elements\" [lazy]=\"true\" (onLazyLoad)=\"loadElements($event)\" dataKey=\"{{wappTableLazyLoadingObject.identificator}}\"\r\n [tableStyle]=\"{'min-width': '70rem'}\"\r\n [selection]=\"selectedElements\" (selectionChange)=\"onSelectionChange($event)\"\r\n [selectAll]=\"selectAll\" (selectAllChange)=\"onSelectAllChange($event)\"\r\n [paginator]=\"true\"\r\n [rows]=\"rowsPerPage\" \r\n [currentPageReportTemplate]=\"wappTableLazyLoadingObject.currentPageReportTemplate ? wappTableLazyLoadingObject.currentPageReportTemplate + ' ' + rowsPerPage + ' de ' + totalRecords! : 'Showing ' + rowsPerPage + ' of ' + totalRecords!\"\r\n [totalRecords]=\"totalRecords\"\r\n [showCurrentPageReport]=\"true\"\r\n [loading]=\"loading\"\r\n [showLoader]=\"false\"\r\n [globalFilterFields]=\"wappTableLazyLoadingObject.globalFilterFields!\"\r\n styleClass=\"p-datatable-striped\">\r\n <ng-template *ngIf=\"wappTableLazyLoadingObject.hasClearButton || wappTableLazyLoadingObject.hasGlobalSearch\" pTemplate=\"caption\">\r\n <span class=\"flex align-items-center table-paginator p-0\">\r\n <!-- <button *ngIf=\"wappTableLazyLoadingObject.hasClearButton\" pButton [label]=\"wappTableLazyLoadingObject.clearPlaceholder!\" class=\"p-button-outlined\" icon=\"pi pi-filter-slash\" (click)=\"clear(table)\"></button> -->\r\n <span class=\"showing-per-page\"> {{wappTableLazyLoadingObject.currentPageReportTemplate}} </span>\r\n <p-inputNumber \r\n class=\"pl-2 showing-per-page\" [size]=\"1\" [(ngModel)]=\"rowsPerPage\" [showButtons]=\"true\" \r\n buttonLayout=\"horizontal\" inputId=\"horizontal\" spinnerMode=\"horizontal\" [step]=\"1\" [min]=\"1\" [max]=\"maxRowsPerPage\"\r\n decrementButtonClass=\"p-button-outlined\" \r\n incrementButtonClass=\"p-button-outlined\" \r\n incrementButtonIcon=\"pi pi-plus\" \r\n decrementButtonIcon=\"pi pi-minus\" \r\n mode=\"decimal\"\r\n (ngModelChange)=\"reloadElements()\">\r\n </p-inputNumber>\r\n <span *ngIf=\"wappTableLazyLoadingObject?.hasGlobalSearch\" class=\"p-input-icon-left ml-auto\">\r\n <i class=\"pi pi-search\"></i>\r\n <input class=\"height-input wapp-input\" pInputText type=\"text\" (input)=\"table.filterGlobal($event, 'contains')\" placeholder=\"{{wappTableLazyLoadingObject.searchPlaceholder}}\" />\r\n </span>\r\n </span>\r\n </ng-template>\r\n <ng-template pTemplate=\"header\">\r\n <tr>\r\n <th *ngIf=\"!wappTableLazyLoadingObject.hasColumnFilters && wappTableLazyLoadingObject.hasCheckbox; else noCheckbox\">\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n </th>\r\n <ng-template #noCheckbox><th *ngIf=\"wappTableLazyLoadingObject.hasCheckbox\"></th></ng-template>\r\n <ng-container *ngIf=\"!wappTableLazyLoadingObject.hasSortableColumns; else something\">\r\n <th *ngFor=\"let header of wappTableLazyLoadingObject?.headers\">\r\n {{header}}\r\n </th>\r\n </ng-container>\r\n <ng-template #something>\r\n <ng-template #something ngFor let-filterType [ngForOf]=\"wappTableLazyLoadingObject.headers\" let-i=\"index\"> \r\n <th [pSortableColumn]=\"wappTableLazyLoadingObject.sortableNames[i]\">\r\n {{wappTableLazyLoadingObject.headers[i]}} \r\n <p-sortIcon *ngIf=\"wappTableLazyLoadingObject.sortableNames[i] != null\" [field]=\"wappTableLazyLoadingObject.sortableNames[i]\"></p-sortIcon>\r\n </th>\r\n </ng-template>\r\n </ng-template>\r\n <th *ngIf=\"wappTableLazyLoadingObject.hasDeleteButton || wappTableLazyLoadingObject.hasEditButton\"></th>\r\n </tr>\r\n <tr *ngIf=\"wappTableLazyLoadingObject.hasColumnFilters\">\r\n <th *ngIf=\"wappTableLazyLoadingObject.hasCheckbox\">\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n </th>\r\n <th *ngIf=\"wappTableLazyLoadingObject.hasImage\"></th>\r\n <ng-template ngFor let-filterType [ngForOf]=\"wappTableLazyLoadingObject.columnFilterTypes\" let-i=\"index\">\r\n <th *ngIf=\"filterType == tableColumnFilterTypes.Text\">\r\n <p-columnFilter type=\"text\" [field]=\"wappTableLazyLoadingObject.filterNames[i]\"></p-columnFilter>\r\n </th>\r\n <th *ngIf=\"filterType == tableColumnFilterTypes.Multiselect\">\r\n <p-columnFilter [field]=\"wappTableLazyLoadingObject.filterNames[i]\" matchMode=\"in\" [showMenu]=\"false\">\r\n <ng-template pTemplate=\"filter\" let-value let-filter=\"filterCallback\">\r\n <p-multiSelect [ngModel]=\"value\" appendTo=\"body\" [options]=\"wappTableLazyLoadingObject.selectFilterElements[i]\" placeholder=\"Any\" (onChange)=\"filter($event.value)\" optionLabel=\"name\" [maxSelectedLabels]=\"1\" [selectedItemsLabel]=\"'{0} items'\">\r\n <ng-template let-option pTemplate=\"item\">\r\n <div class=\"p-multiselect-representative-option\">\r\n <span class=\"ml-1\">{{option.name}}</span>\r\n </div>\r\n </ng-template>\r\n </p-multiSelect>\r\n </ng-template>\r\n </p-columnFilter>\r\n </th>\r\n <th *ngIf=\"filterType == tableColumnFilterTypes.None\"></th>\r\n <th *ngIf=\"filterType == tableColumnFilterTypes.Boolean\">\r\n <p-columnFilter type=\"boolean\" [field]=\"wappTableLazyLoadingObject.filterNames[i]\"></p-columnFilter>\r\n </th>\r\n <th *ngIf=\"filterType == tableColumnFilterTypes.Date\">\r\n <p-columnFilter type=\"date\" [field]=\"wappTableLazyLoadingObject.filterNames[i]\"></p-columnFilter>\r\n </th>\r\n </ng-template>\r\n <th *ngIf=\"wappTableLazyLoadingObject.hasDeleteButton || wappTableLazyLoadingObject.hasEditButton\"></th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-element let-index=\"index\">\r\n <tr *ngIf=\"!loading\">\r\n <ng-template ngFor let-columnType [ngForOf]=\"wappTableLazyLoadingObject.columnTypes\" let-i=\"index\">\r\n <td *ngIf=\"columnType == tableColumnTypes.Checkbox && wappTableLazyLoadingObject.hasCheckbox\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\">\r\n <div *ngIf=\"wappTableLazyLoadingObject.disableCheckbox; else activeCheckbox\">\r\n <p-tableCheckbox [value]=\"element\" [disabled]=\"readProperty(element, wappTableLazyLoadingObject.disableCheckbox)\"></p-tableCheckbox>\r\n </div>\r\n <ng-template #activeCheckbox>\r\n <p-tableCheckbox [value]=\"element\"></p-tableCheckbox>\r\n </ng-template>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Image\" class=\"text-center\">\r\n <img *ngIf=\"readProperty(element, wappTableLazyLoadingObject.elementObjectRoutes[i])\" \r\n [src]=\"readProperty(element, wappTableLazyLoadingObject.elementObjectRoutes[i])\" \r\n class=\"shadow-4 element-image-width\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\"/>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Text\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\">\r\n {{ readProperty(element, wappTableLazyLoadingObject.elementObjectRoutes[i]) }}\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Currency\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\">\r\n {{ readProperty(element, wappTableLazyLoadingObject.elementObjectRoutes[i]) | currency }}\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Badge\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\">\r\n <p>ToDo wapp view badge</p>\r\n <!-- <wapp-view-badge [label]=\"readProperty(element, wappTableLazyLoadingObject.elementObjectRoutes[i])\"\r\n [color]=\"'cyan'\">\r\n </wapp-view-badge> -->\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Boolean\">\r\n <i class=\"pi\" [ngClass]=\"getBooleanColumnClass(i, readProperty(element, wappTableLazyLoadingObject.elementObjectRoutes[i]))\"></i>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Date\">\r\n {{ readProperty(element, wappTableLazyLoadingObject.elementObjectRoutes[i]) | date }}\r\n </td>\r\n </ng-template>\r\n <td>\r\n <div class=\"flex justify-content-end align-items-end\">\r\n <button *ngIf=\"wappTableLazyLoadingObject?.hasViewButton\" \r\n pButton pRipple (click)=\"viewElement(element)\" \r\n icon=\"pi pi-eye\" class=\"p-button-text p-button-info mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableLazyLoadingObject.customButtonConfig?.hasCustomButton\"\r\n pButton pRipple (click)=\"customElement($event)\"\r\n [icon]=\"wappTableLazyLoadingObject.customButtonConfig?.icon!\"\r\n class=\"p-button-text p-button-info mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableLazyLoadingObject.hasEditButton && !wappTableLazyLoadingObject.disableEditProperty\" \r\n pButton pRipple (click)=\"editElement(element)\"\r\n icon=\"pi pi-pencil\" class=\"p-button-text p-button-success mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableLazyLoadingObject.disableEditProperty\" \r\n pButton pRipple (click)=\"editElement(element)\" [disabled]=\"readProperty(element, wappTableLazyLoadingObject.disableEditProperty)\"\r\n icon=\"pi pi-pencil\" class=\"p-button-text p-button-success mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableLazyLoadingObject?.hasCopyButton\" \r\n pButton pRipple (click)=\"confirmCopy($event, element)\" \r\n icon=\"pi pi-copy\" class=\"p-button-text p-button-help mr-2\">\r\n </button>\r\n <button *ngIf=\"!wappTableLazyLoadingObject?.disableDelete && wappTableLazyLoadingObject.hasDeleteButton && !wappTableLazyLoadingObject.disableDeleteProperty\" \r\n pButton pRipple (click)=\"confirmDelete($event, element)\"\r\n icon=\"pi pi-trash\" class=\"p-button-text p-button-danger\">\r\n </button>\r\n <button *ngIf=\"!wappTableLazyLoadingObject?.disableDelete && wappTableLazyLoadingObject.disableDeleteProperty\" \r\n pButton pRipple (click)=\"confirmDelete($event, element)\" [disabled]=\"readProperty(element, wappTableLazyLoadingObject.disableDeleteProperty)\"\r\n icon=\"pi pi-trash\" class=\"p-button-text p-button-danger\">\r\n </button>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"loadingbody\">\r\n <tr height=\"70px\" *ngFor=\"let n of [0,1,2,3,4]\">\r\n <td *ngFor=\"let item of wappTableLazyLoadingObject.columnTypes\" [style.width]=\"item == tableColumnTypes.Checkbox ? '8rem' : ''\" >\r\n <p-tableCheckbox *ngIf=\"item == tableColumnTypes.Checkbox && wappTableLazyLoadingObject.hasCheckbox\"></p-tableCheckbox>\r\n <p-skeleton *ngIf=\"item == tableColumnTypes.Image\" width=\"6rem\" height=\"4rem\"></p-skeleton>\r\n <p-skeleton *ngIf=\"item != tableColumnTypes.Checkbox && item != tableColumnTypes.Image\"></p-skeleton>\r\n </td>\r\n <td *ngIf=\"wappTableLazyLoadingObject.hasEditButton || wappTableLazyLoadingObject.hasDeleteButton\">\r\n <div class=\"flex justify-content-end\">\r\n <button *ngIf=\"wappTableLazyLoadingObject?.hasEditButton\" \r\n pButton pRipple\r\n icon=\"pi pi-pencil\" class=\"p-button-text p-button-success mr-2\">\r\n </button>\r\n <button *ngIf=\"!wappTableLazyLoadingObject?.disableDelete && wappTableLazyLoadingObject?.hasDeleteButton\" \r\n pButton pRipple\r\n icon=\"pi pi-trash\" class=\"p-button-text p-button-danger\">\r\n </button>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n</div>\r\n<p-confirmPopup></p-confirmPopup>", styles: [".heading1{font-size:3.1428571429rem;line-height:3.4285714286rem;font-weight:700}.heading2{font-size:2.8571428571rem;line-height:3.1428571429rem;font-weight:700}.heading3{font-size:2.5714285714rem;line-height:2.8571428571rem;font-weight:700}.heading4{font-size:2.2857142857rem;line-height:2.5714285714rem;font-weight:700}.heading5{font-size:2rem;line-height:2.2857142857rem;font-weight:700}.heading6{font-size:1.7142857143rem;line-height:2rem;font-weight:700}.subtitle1{font-size:1.4285714286rem;line-height:1.7142857143rem;font-weight:700}.subtitle2{font-size:1.1428571429rem;line-height:1.4285714286rem;font-weight:700}.body,.input-generic-placeholder-small,.input-generic-small{font-size:1rem;line-height:1.1428571429rem;font-weight:600}.caption{font-size:.8571428571rem;line-height:1.1428571429rem;font-weight:600}.icon-small-size{font-size:8px}.icon-small-x-size{font-size:12px}.icon-medium-size{font-size:16px}.icon-large-size{font-size:24px}.spacingXXS{padding:4px}.spacingXSM{padding:6px}.spacingXS{padding:8px}.spacingS{padding:12px}.spacingM{padding:16px}.spacingL{padding:20px}.spacingXL{padding:24px}.spacingXXL{padding:28px}.spacingXXXL{padding:32px}.focus{box-shadow:0 0 8px #00a6e980}.hover{border-radius:8px;border:2px solid #0085c7}.button-large-typography{font-size:20px;line-height:24px;font-weight:700}.button-medium-typography{font-size:16px;line-height:16px;font-weight:700}.button-small-typography{font-size:12px;line-height:16px;font-weight:700}.button-text-typography,.input-generic-label{font-size:14px;line-height:16px;font-weight:700}.input-generic-placeholder,.input-generic{font-size:16px;line-height:24px;font-weight:600}.input-generic-placeholder-small{padding:8px 12px 12px}.input-generic-valid{border-radius:8px;border:2px solid #B3FFD3}.input-generic-valid-focus{border-radius:8px;border:2px solid #B3FFD3!important;box-shadow:0 0 2px 2px #b3ffd3!important;padding-left:16px}.input-generic-warning{border-radius:8px;border:2px solid #FFECB8!important}.input-generic-warning-focus{border-radius:8px;border:2px solid #FFECB8!important;box-shadow:0 0 2px 2px #ffecb8!important;padding-left:16px}.input-generic-error{border-radius:8px;border:2px solid #FFBDBD}.tag-generic{font-size:14px;line-height:16px;font-weight:700}.tag-generic-small{font-size:12px;line-height:16px;font-weight:700}.table-container{padding:0 20px;background-color:#fff;border-radius:8px;box-shadow:0 4px 8px #0000001a}.showing-per-page{color:#bdc1c6;font-weight:600}::ng-deep .showing-per-page .p-button{border-radius:8px}::ng-deep .wapp-table-styles .p-paginator-bottom>span:first-child{margin-right:auto}::ng-deep .wapp-table-styles .p-paginator .p-paginator-pages .p-paginator-page{color:#bdc1c6;border-radius:8px;height:32px;width:32px;max-width:32px;min-width:32px}::ng-deep .wapp-table-styles .p-paginator{border-width:0px;padding:16px 20px}::ng-deep .wapp-table-styles .p-paginator .p-paginator-pages .p-paginator-page.p-highlight{background-color:#e0f5fc;color:#2e3134;height:32px;width:32px;max-width:32px;min-width:32px}::ng-deep .wapp-table-styles .p-paginator .p-paginator-pages .p-paginator-page:not(.p-highlight):hover{background:#f1f5f9;border-color:transparent;color:#2e3134;height:32px;width:32px;max-width:32px;min-width:32px}::ng-deep .wapp-table-styles .p-paginator .p-paginator-current{color:#bdc1c6;padding:0}::ng-deep .wapp-table-styles .p-datatable .p-sortable-column .p-sortable-column-icon{color:#bdc1c6;margin-left:.5rem}::ng-deep .p-datatable .p-sortable-column.p-highlight:hover .p-sortable-column-icon{color:#000}::ng-deep .wapp-table-styles .p-datatable .p-sortable-column:focus{box-shadow:inset 0 0;outline:0 none}::ng-deep .wapp-table-styles .p-datatable .p-datatable-thead>tr>th{color:#bdc1c6;background:#ffffff}::ng-deep .wapp-table-styles .p-datatable.p-datatable-striped .p-datatable-tbody>tr:nth-child(even){background:#f8f9fa}::ng-deep .wapp-table-styles .p-datatable .p-paginator-bottom{justify-content:normal!important}::ng-deep .wapp-table-styles .p-datatable .p-paginator-bottom>button{color:#bdc1c6}::ng-deep .wapp-table-styles .p-datatable .p-datatable-header{background:#ffffff;border-width:0px;padding:16px 0!important;font-weight:600}::ng-deep .wapp-table-styles p-inputnumber,.p-inputnumber{height:32px}::ng-deep .wapp-table-styles .p-inputnumber-buttons-horizontal .p-button.p-inputnumber-button-up{width:32px}::ng-deep .wapp-table-styles .p-inputnumber-buttons-horizontal .p-button.p-inputnumber-button-down{width:32px}::ng-deep .wapp-table-styles .p-inputnumber-buttons-horizontal .p-inputnumber-input{border-width:2px 0px 2px 0px;border-color:#e8eaed;color:#dadce0;text-align:center}::ng-deep .wapp-table-styles .p-button.p-button-outlined{color:#e8eaed;border-width:2px}::ng-deep .wapp-table-styles .p-datatable .p-datatable-tbody>tr>td{columns:#2E3134;font-weight:600;text-align:left;border:1px solid #e2e8f0;border-width:0 0 1px 0;padding:8px}::ng-deep .wapp-table-styles .p-checkbox .p-checkbox-box{border:2px solid #e8eaed;width:16px;height:16px;color:#e8eaed;border-radius:4px;align-self:center}::ng-deep .wapp-table-styles .p-checkbox .p-checkbox-box .p-checkbox-icon{font-size:8px;font-weight:bolder}::ng-deep .wapp-table-styles .p-checkbox .p-checkbox-box.p-highlight{border-color:#0085c7!important;background:#0085c7;color:#0085c7!important}::ng-deep .wapp-table-styles .p-inputtext:enabled:focus{outline:0 none;outline-offset:0;box-shadow:0 0 #000;background-color:#f1f3f4;border-color:#f1f3f4;color:#000}::ng-deep .wapp-table-styles .p-inputtext:enabled:hover{border-color:#e8eaed}::ng-deep .wapp-table-styles .p-button.p-button-outlined:enabled:hover{color:#e8eaed;border:2px solid;background-color:#f1f3f4}::ng-deep .wapp-table-styles .p-button.p-button-outlined:enabled:hover>.p-button-icon{color:#2e3134}::ng-deep .wapp-table-styles .p-button.p-button-outlined>.pi{font-size:.7rem;font-weight:bolder}::ng-deep .wapp-table-styles .p-datatable .p-datatable-thead>tr>th:hover{color:#000;background:#ffffff}.height-input{height:32px}.wapp-input{border-radius:8px;border-width:2px;border-color:#e8eaed;font-size:16px;line-height:5px;font-weight:100;gap:16px}::-webkit-input-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}::-moz-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}:-ms-input-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}:-moz-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}.wapp-input:hover{border:2px solid #0085c7!important}.wapp-input:focus{box-shadow:0 0 3px 3px #e0f5fc!important;background-color:transparent!important}.pi-search{left:.75rem;color:#bdc1c6!important}::ng-deep .wapp-table-styles .p-avatar img{width:32px!important;height:32px!important}:host ::ng-deep .wapp-table-styles .p-avatar{border:1px solid #e8eaed}\n"], dependencies: [{ kind: "directive", type: i2.InputText, selector: "[pInputText]" }, { 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: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "directive", type: i1$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i6.Ripple, selector: "[pRipple]" }, { kind: "component", type: i7.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "component", type: i8.MultiSelect, selector: "p-multiSelect", inputs: ["style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "appendTo", "dataKey", "name", "label", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove"] }, { kind: "component", type: i9.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "component", type: i10.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "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", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "virtualRowHeight", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["selectAllChange", "selectionChange", "contextMenuSelectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i10.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "component", type: i10.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i10.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "component", type: i10.TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }, { kind: "component", type: i10.ColumnFilter, selector: "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", "useGrouping", "showButtons"] }, { kind: "component", type: i10$1.ConfirmPopup, selector: "p-confirmPopup", inputs: ["key", "defaultFocus", "showTransitionOptions", "hideTransitionOptions", "autoZIndex", "baseZIndex", "style", "styleClass", "visible"] }, { kind: "pipe", type: i2$1.CurrencyPipe, name: "currency" }, { kind: "pipe", type: i2$1.DatePipe, name: "date" }] });
|
|
1139
|
+
WTableLazyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: WTableLazyComponent, selector: "w-table-lazy", inputs: { loading: "loading", elements: "elements", rowsPerPage: "rowsPerPage", allElements: "allElements", totalRecords: "totalRecords", maxRowsPerPage: "maxRowsPerPage", wappTableLazyLoadingObject: "wappTableLazyLoadingObject" }, outputs: { queryElements: "queryElements", onElementSelect: "onElementSelect", onViewElementSelect: "onViewElementSelect", onCustomElementSelect: "onCustomElementSelect", onCopyElementSelect: "onCopyElementSelect", onEditElementSelect: "onEditElementSelect", onDeleteElementSelect: "onDeleteElementSelect", onAllElementSelect: "onAllElementSelect" }, viewQueries: [{ propertyName: "dataTable", first: true, predicate: ["table"], descendants: true }], ngImport: i0, template: "<ng-content select=\".filter-panel\"></ng-content>\r\n<div *ngIf=\"wappTableLazyLoadingObject\" [class.table-container]=\"wappTableLazyLoadingObject.tableContainer\">\r\n <p-table class=\"wapp-table-styles\"\r\n #table [value]=\"elements\" [lazy]=\"true\" (onLazyLoad)=\"loadElements($event)\" dataKey=\"{{wappTableLazyLoadingObject.identificator}}\"\r\n [tableStyle]=\"{'min-width': '70rem'}\"\r\n [selection]=\"selectedElements\" (selectionChange)=\"onSelectionChange($event)\"\r\n [selectAll]=\"selectAll\" (selectAllChange)=\"onSelectAllChange($event)\"\r\n [paginator]=\"true\"\r\n [rows]=\"rowsPerPage\" \r\n [currentPageReportTemplate]=\"wappTableLazyLoadingObject.currentPageReportTemplate ? wappTableLazyLoadingObject.currentPageReportTemplate + ' ' + rowsPerPage + ' de ' + totalRecords! : 'Showing ' + rowsPerPage + ' of ' + totalRecords!\"\r\n [totalRecords]=\"totalRecords\"\r\n [showCurrentPageReport]=\"true\"\r\n [loading]=\"loading\"\r\n [showLoader]=\"false\"\r\n [globalFilterFields]=\"wappTableLazyLoadingObject.globalFilterFields!\"\r\n styleClass=\"p-datatable-striped\">\r\n <ng-template *ngIf=\"wappTableLazyLoadingObject.hasClearButton || wappTableLazyLoadingObject.hasGlobalSearch\" pTemplate=\"caption\">\r\n <span class=\"flex align-items-center table-paginator p-0\">\r\n <!-- <button *ngIf=\"wappTableLazyLoadingObject.hasClearButton\" pButton [label]=\"wappTableLazyLoadingObject.clearPlaceholder!\" class=\"p-button-outlined\" icon=\"pi pi-filter-slash\" (click)=\"clear(table)\"></button> -->\r\n <span class=\"showing-per-page\"> {{wappTableLazyLoadingObject.currentPageReportTemplate}} </span>\r\n <p-inputNumber \r\n class=\"pl-2 showing-per-page\" [size]=\"1\" [(ngModel)]=\"rowsPerPage\" [showButtons]=\"true\" \r\n buttonLayout=\"horizontal\" inputId=\"horizontal\" spinnerMode=\"horizontal\" [step]=\"1\" [min]=\"1\" [max]=\"maxRowsPerPage\"\r\n decrementButtonClass=\"p-button-outlined\" \r\n incrementButtonClass=\"p-button-outlined\" \r\n incrementButtonIcon=\"pi pi-plus\" \r\n decrementButtonIcon=\"pi pi-minus\" \r\n mode=\"decimal\"\r\n (ngModelChange)=\"reloadElements()\">\r\n </p-inputNumber>\r\n <span *ngIf=\"wappTableLazyLoadingObject?.hasGlobalSearch\" class=\"p-input-icon-left ml-auto\">\r\n <i class=\"pi pi-search\"></i>\r\n <input class=\"height-input wapp-input\" pInputText type=\"text\" (input)=\"table.filterGlobal($event, 'contains')\" placeholder=\"{{wappTableLazyLoadingObject.searchPlaceholder}}\" />\r\n </span>\r\n </span>\r\n </ng-template>\r\n <ng-template pTemplate=\"header\">\r\n <tr>\r\n <th *ngIf=\"!wappTableLazyLoadingObject.hasColumnFilters && wappTableLazyLoadingObject.hasCheckbox; else noCheckbox\">\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n </th>\r\n <ng-template #noCheckbox><th *ngIf=\"wappTableLazyLoadingObject.hasCheckbox\"></th></ng-template>\r\n <ng-container *ngIf=\"!wappTableLazyLoadingObject.hasSortableColumns; else something\">\r\n <th *ngFor=\"let header of wappTableLazyLoadingObject?.headers\">\r\n {{header}}\r\n </th>\r\n </ng-container>\r\n <ng-template #something>\r\n <ng-template #something ngFor let-filterType [ngForOf]=\"wappTableLazyLoadingObject.headers\" let-i=\"index\"> \r\n <th [pSortableColumn]=\"wappTableLazyLoadingObject.sortableNames[i]\">\r\n {{wappTableLazyLoadingObject.headers[i]}} \r\n <p-sortIcon *ngIf=\"wappTableLazyLoadingObject.sortableNames[i] != null\" [field]=\"wappTableLazyLoadingObject.sortableNames[i]\"></p-sortIcon>\r\n </th>\r\n </ng-template>\r\n </ng-template>\r\n <th *ngIf=\"wappTableLazyLoadingObject.hasDeleteButton || wappTableLazyLoadingObject.hasEditButton\"></th>\r\n </tr>\r\n <tr *ngIf=\"wappTableLazyLoadingObject.hasColumnFilters\">\r\n <th *ngIf=\"wappTableLazyLoadingObject.hasCheckbox\">\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n </th>\r\n <th *ngIf=\"wappTableLazyLoadingObject.hasImage\"></th>\r\n <ng-template ngFor let-filterType [ngForOf]=\"wappTableLazyLoadingObject.columnFilterTypes\" let-i=\"index\">\r\n <th *ngIf=\"filterType == tableColumnFilterTypes.Text\">\r\n <p-columnFilter type=\"text\" [field]=\"wappTableLazyLoadingObject.filterNames[i]\"></p-columnFilter>\r\n </th>\r\n <th *ngIf=\"filterType == tableColumnFilterTypes.Multiselect\">\r\n <p-columnFilter [field]=\"wappTableLazyLoadingObject.filterNames[i]\" matchMode=\"in\" [showMenu]=\"false\">\r\n <ng-template pTemplate=\"filter\" let-value let-filter=\"filterCallback\">\r\n <p-multiSelect [ngModel]=\"value\" appendTo=\"body\" [options]=\"wappTableLazyLoadingObject.selectFilterElements[i]\" placeholder=\"Any\" (onChange)=\"filter($event.value)\" optionLabel=\"name\" [maxSelectedLabels]=\"1\" [selectedItemsLabel]=\"'{0} items'\">\r\n <ng-template let-option pTemplate=\"item\">\r\n <div class=\"p-multiselect-representative-option\">\r\n <span class=\"ml-1\">{{option.name}}</span>\r\n </div>\r\n </ng-template>\r\n </p-multiSelect>\r\n </ng-template>\r\n </p-columnFilter>\r\n </th>\r\n <th *ngIf=\"filterType == tableColumnFilterTypes.None\"></th>\r\n <th *ngIf=\"filterType == tableColumnFilterTypes.Boolean\">\r\n <p-columnFilter type=\"boolean\" [field]=\"wappTableLazyLoadingObject.filterNames[i]\"></p-columnFilter>\r\n </th>\r\n <th *ngIf=\"filterType == tableColumnFilterTypes.Date\">\r\n <p-columnFilter type=\"date\" [field]=\"wappTableLazyLoadingObject.filterNames[i]\"></p-columnFilter>\r\n </th>\r\n </ng-template>\r\n <th *ngIf=\"wappTableLazyLoadingObject.hasDeleteButton || wappTableLazyLoadingObject.hasEditButton\"></th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-element let-index=\"index\">\r\n <tr *ngIf=\"!loading\">\r\n <ng-template ngFor let-columnType [ngForOf]=\"wappTableLazyLoadingObject.columnTypes\" let-i=\"index\">\r\n <td *ngIf=\"columnType == tableColumnTypes.Checkbox && wappTableLazyLoadingObject.hasCheckbox\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\">\r\n <div *ngIf=\"wappTableLazyLoadingObject.disableCheckbox; else activeCheckbox\">\r\n <p-tableCheckbox [value]=\"element\" [disabled]=\"readProperty(element, wappTableLazyLoadingObject.disableCheckbox)\"></p-tableCheckbox>\r\n </div>\r\n <ng-template #activeCheckbox>\r\n <p-tableCheckbox [value]=\"element\"></p-tableCheckbox>\r\n </ng-template>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Image\" class=\"text-center\">\r\n <img *ngIf=\"readProperty(element, wappTableLazyLoadingObject.elementObjectRoutes[i])\" \r\n [src]=\"readProperty(element, wappTableLazyLoadingObject.elementObjectRoutes[i])\" \r\n class=\"shadow-4 element-image-width\" />\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Text\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\">\r\n {{ readProperty(element, wappTableLazyLoadingObject.elementObjectRoutes[i]) }}\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Currency\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\">\r\n {{ readProperty(element, wappTableLazyLoadingObject.elementObjectRoutes[i]) | currency }}\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Badge\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\">\r\n <p>ToDo wapp view badge</p>\r\n <!-- <wapp-view-badge [label]=\"readProperty(element, wappTableLazyLoadingObject.elementObjectRoutes[i])\"\r\n [color]=\"'cyan'\">\r\n </wapp-view-badge> -->\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Boolean\">\r\n <i class=\"pi\" [ngClass]=\"getBooleanColumnClass(i, readProperty(element, wappTableLazyLoadingObject.elementObjectRoutes[i]))\"></i>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Date\">\r\n {{ readProperty(element, wappTableLazyLoadingObject.elementObjectRoutes[i]) | date }}\r\n </td>\r\n </ng-template>\r\n <td>\r\n <div class=\"flex justify-content-end align-items-end\">\r\n <button *ngIf=\"wappTableLazyLoadingObject?.hasViewButton\" \r\n pButton pRipple (click)=\"viewElement(element)\" \r\n icon=\"pi pi-eye\" class=\"p-button-text p-button-info mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableLazyLoadingObject.customButtonConfig?.hasCustomButton\"\r\n pButton pRipple (click)=\"customElement($event)\"\r\n [icon]=\"wappTableLazyLoadingObject.customButtonConfig?.icon!\"\r\n class=\"p-button-text p-button-info mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableLazyLoadingObject.hasEditButton && !wappTableLazyLoadingObject.disableEditProperty\" \r\n pButton pRipple (click)=\"editElement(element)\"\r\n icon=\"pi pi-pencil\" class=\"p-button-text p-button-success mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableLazyLoadingObject.disableEditProperty\" \r\n pButton pRipple (click)=\"editElement(element)\" [disabled]=\"readProperty(element, wappTableLazyLoadingObject.disableEditProperty)\"\r\n icon=\"pi pi-pencil\" class=\"p-button-text p-button-success mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableLazyLoadingObject?.hasCopyButton\" \r\n pButton pRipple (click)=\"confirmCopy($event, element)\" \r\n icon=\"pi pi-copy\" class=\"p-button-text p-button-help mr-2\">\r\n </button>\r\n <button *ngIf=\"!wappTableLazyLoadingObject?.disableDelete && wappTableLazyLoadingObject.hasDeleteButton && !wappTableLazyLoadingObject.disableDeleteProperty\" \r\n pButton pRipple (click)=\"confirmDelete($event, element)\"\r\n icon=\"pi pi-trash\" class=\"p-button-text p-button-danger\">\r\n </button>\r\n <button *ngIf=\"!wappTableLazyLoadingObject?.disableDelete && wappTableLazyLoadingObject.disableDeleteProperty\" \r\n pButton pRipple (click)=\"confirmDelete($event, element)\" [disabled]=\"readProperty(element, wappTableLazyLoadingObject.disableDeleteProperty)\"\r\n icon=\"pi pi-trash\" class=\"p-button-text p-button-danger\">\r\n </button>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"loadingbody\">\r\n <tr height=\"70px\" *ngFor=\"let n of [0,1,2,3,4]\">\r\n <td *ngFor=\"let item of wappTableLazyLoadingObject.columnTypes\" [style.width]=\"item == tableColumnTypes.Checkbox ? '8rem' : ''\" >\r\n <p-tableCheckbox *ngIf=\"item == tableColumnTypes.Checkbox && wappTableLazyLoadingObject.hasCheckbox\"></p-tableCheckbox>\r\n <p-skeleton *ngIf=\"item == tableColumnTypes.Image\" width=\"6rem\" height=\"4rem\"></p-skeleton>\r\n <p-skeleton *ngIf=\"item != tableColumnTypes.Checkbox && item != tableColumnTypes.Image\"></p-skeleton>\r\n </td>\r\n <td *ngIf=\"wappTableLazyLoadingObject.hasEditButton || wappTableLazyLoadingObject.hasDeleteButton\">\r\n <div class=\"flex justify-content-end\">\r\n <button *ngIf=\"wappTableLazyLoadingObject?.hasEditButton\" \r\n pButton pRipple\r\n icon=\"pi pi-pencil\" class=\"p-button-text p-button-success mr-2\">\r\n </button>\r\n <button *ngIf=\"!wappTableLazyLoadingObject?.disableDelete && wappTableLazyLoadingObject?.hasDeleteButton\" \r\n pButton pRipple\r\n icon=\"pi pi-trash\" class=\"p-button-text p-button-danger\">\r\n </button>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n</div>\r\n<p-confirmPopup></p-confirmPopup>", styles: [".heading1{font-size:3.1428571429rem;line-height:3.4285714286rem;font-weight:700}.heading2{font-size:2.8571428571rem;line-height:3.1428571429rem;font-weight:700}.heading3{font-size:2.5714285714rem;line-height:2.8571428571rem;font-weight:700}.heading4{font-size:2.2857142857rem;line-height:2.5714285714rem;font-weight:700}.heading5{font-size:2rem;line-height:2.2857142857rem;font-weight:700}.heading6{font-size:1.7142857143rem;line-height:2rem;font-weight:700}.subtitle1{font-size:1.4285714286rem;line-height:1.7142857143rem;font-weight:700}.subtitle2{font-size:1.1428571429rem;line-height:1.4285714286rem;font-weight:700}.body,.input-generic-placeholder-small,.input-generic-small{font-size:1rem;line-height:1.1428571429rem;font-weight:600}.caption{font-size:.8571428571rem;line-height:1.1428571429rem;font-weight:600}.icon-small-size{font-size:8px}.icon-small-x-size{font-size:12px}.icon-medium-size{font-size:16px}.icon-large-size{font-size:24px}.spacingXXS{padding:4px}.spacingXSM{padding:6px}.spacingXS{padding:8px}.spacingS{padding:12px}.spacingM{padding:16px}.spacingL{padding:20px}.spacingXL{padding:24px}.spacingXXL{padding:28px}.spacingXXXL{padding:32px}.focus{box-shadow:0 0 8px #00a6e980}.hover{border-radius:8px;border:2px solid #0085c7}.button-large-typography{font-size:20px;line-height:24px;font-weight:700}.button-medium-typography{font-size:16px;line-height:16px;font-weight:700}.button-small-typography{font-size:12px;line-height:16px;font-weight:700}.button-text-typography,.input-generic-label{font-size:14px;line-height:16px;font-weight:700}.input-generic-placeholder,.input-generic{font-size:16px;line-height:24px;font-weight:600}.input-generic-placeholder-small{padding:8px 12px 12px}.input-generic-valid{border-radius:8px;border:2px solid #B3FFD3}.input-generic-valid-focus{border-radius:8px;border:2px solid #B3FFD3!important;box-shadow:0 0 2px 2px #b3ffd3!important;padding-left:16px}.input-generic-warning{border-radius:8px;border:2px solid #FFECB8!important}.input-generic-warning-focus{border-radius:8px;border:2px solid #FFECB8!important;box-shadow:0 0 2px 2px #ffecb8!important;padding-left:16px}.input-generic-error{border-radius:8px;border:2px solid #FFBDBD}.tag-generic{font-size:14px;line-height:16px;font-weight:700}.tag-generic-small{font-size:12px;line-height:16px;font-weight:700}.table-container{padding:0 20px;background-color:#fff;border-radius:8px;box-shadow:0 4px 8px #0000001a}.showing-per-page{color:#bdc1c6;font-weight:600}::ng-deep .showing-per-page .p-button{border-radius:8px}::ng-deep .wapp-table-styles .p-paginator-bottom>span:first-child{margin-right:auto}::ng-deep .wapp-table-styles .p-paginator .p-paginator-pages .p-paginator-page{color:#bdc1c6;border-radius:8px;height:32px;width:32px;max-width:32px;min-width:32px}::ng-deep .wapp-table-styles .p-paginator{border-width:0px;padding:16px 20px}::ng-deep .wapp-table-styles .p-paginator .p-paginator-pages .p-paginator-page.p-highlight{background-color:#e0f5fc;color:#2e3134;height:32px;width:32px;max-width:32px;min-width:32px}::ng-deep .wapp-table-styles .p-paginator .p-paginator-pages .p-paginator-page:not(.p-highlight):hover{background:#f1f5f9;border-color:transparent;color:#2e3134;height:32px;width:32px;max-width:32px;min-width:32px}::ng-deep .wapp-table-styles .p-paginator .p-paginator-current{color:#bdc1c6;padding:0}::ng-deep .wapp-table-styles .p-datatable .p-sortable-column .p-sortable-column-icon{color:#bdc1c6;margin-left:.5rem}::ng-deep .p-datatable .p-sortable-column.p-highlight:hover .p-sortable-column-icon{color:#000}::ng-deep .wapp-table-styles .p-datatable .p-sortable-column:focus{box-shadow:inset 0 0;outline:0 none}::ng-deep .wapp-table-styles .p-datatable .p-datatable-thead>tr>th{color:#bdc1c6;background:#ffffff}::ng-deep .wapp-table-styles .p-datatable.p-datatable-striped .p-datatable-tbody>tr:nth-child(even){background:#f8f9fa}::ng-deep .wapp-table-styles .p-datatable .p-paginator-bottom{justify-content:normal!important}::ng-deep .wapp-table-styles .p-datatable .p-paginator-bottom>button{color:#bdc1c6}::ng-deep .wapp-table-styles .p-datatable .p-datatable-header{background:#ffffff;border-width:0px;padding:16px 0!important;font-weight:600}::ng-deep .wapp-table-styles p-inputnumber,.p-inputnumber{height:32px}::ng-deep .wapp-table-styles .p-inputnumber-buttons-horizontal .p-button.p-inputnumber-button-up{width:32px}::ng-deep .wapp-table-styles .p-inputnumber-buttons-horizontal .p-button.p-inputnumber-button-down{width:32px}::ng-deep .wapp-table-styles .p-inputnumber-buttons-horizontal .p-inputnumber-input{border-width:2px 0px 2px 0px;border-color:#e8eaed;color:#dadce0;text-align:center}::ng-deep .wapp-table-styles .p-button.p-button-outlined{color:#e8eaed;border-width:2px}::ng-deep .wapp-table-styles .p-datatable .p-datatable-tbody>tr>td{columns:#2E3134;font-weight:600;text-align:left;border:1px solid #e2e8f0;border-width:0 0 1px 0;padding:8px}::ng-deep .wapp-table-styles .p-checkbox .p-checkbox-box{border:2px solid #e8eaed;width:16px;height:16px;color:#e8eaed;border-radius:4px;align-self:center}::ng-deep .wapp-table-styles .p-checkbox .p-checkbox-box .p-checkbox-icon{font-size:8px;font-weight:bolder}::ng-deep .wapp-table-styles .p-checkbox .p-checkbox-box.p-highlight{border-color:#0085c7!important;background:#0085c7;color:#0085c7!important}::ng-deep .wapp-table-styles .p-inputtext:enabled:focus{outline:0 none;outline-offset:0;box-shadow:0 0 #000;background-color:#f1f3f4;border-color:#f1f3f4;color:#000}::ng-deep .wapp-table-styles .p-inputtext:enabled:hover{border-color:#e8eaed}::ng-deep .wapp-table-styles .p-button.p-button-outlined:enabled:hover{color:#e8eaed;border:2px solid;background-color:#f1f3f4}::ng-deep .wapp-table-styles .p-button.p-button-outlined:enabled:hover>.p-button-icon{color:#2e3134}::ng-deep .wapp-table-styles .p-button.p-button-outlined>.pi{font-size:.7rem;font-weight:bolder}::ng-deep .wapp-table-styles .p-datatable .p-datatable-thead>tr>th:hover{color:#000;background:#ffffff}.element-image-width{height:32px;width:auto}.height-input{height:32px}.wapp-input{border-radius:8px;border-width:2px;border-color:#e8eaed;font-size:16px;line-height:5px;font-weight:100;gap:16px}::-webkit-input-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}::-moz-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}:-ms-input-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}:-moz-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}.wapp-input:hover{border:2px solid #0085c7!important}.wapp-input:focus{box-shadow:0 0 3px 3px #e0f5fc!important;background-color:transparent!important}.pi-search{left:.75rem;color:#bdc1c6!important}::ng-deep .wapp-table-styles .p-avatar img{width:32px!important;height:32px!important}:host ::ng-deep .wapp-table-styles .p-avatar{border:1px solid #e8eaed}\n"], dependencies: [{ kind: "directive", type: i2.InputText, selector: "[pInputText]" }, { 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: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "directive", type: i1$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i6.Ripple, selector: "[pRipple]" }, { kind: "component", type: i7.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "component", type: i8.MultiSelect, selector: "p-multiSelect", inputs: ["style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "appendTo", "dataKey", "name", "label", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove"] }, { kind: "component", type: i9.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "component", type: i10.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "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", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "virtualRowHeight", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["selectAllChange", "selectionChange", "contextMenuSelectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i10.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "component", type: i10.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i10.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "component", type: i10.TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }, { kind: "component", type: i10.ColumnFilter, selector: "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", "useGrouping", "showButtons"] }, { kind: "component", type: i10$1.ConfirmPopup, selector: "p-confirmPopup", inputs: ["key", "defaultFocus", "showTransitionOptions", "hideTransitionOptions", "autoZIndex", "baseZIndex", "style", "styleClass", "visible"] }, { kind: "pipe", type: i2$1.CurrencyPipe, name: "currency" }, { kind: "pipe", type: i2$1.DatePipe, name: "date" }] });
|
|
1142
1140
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: WTableLazyComponent, decorators: [{
|
|
1143
1141
|
type: Component,
|
|
1144
|
-
args: [{ selector: 'w-table-lazy', template: "<ng-content select=\".filter-panel\"></ng-content>\r\n<div *ngIf=\"wappTableLazyLoadingObject\" [class.table-container]=\"wappTableLazyLoadingObject.tableContainer\">\r\n <p-table class=\"wapp-table-styles\"\r\n #table [value]=\"elements\" [lazy]=\"true\" (onLazyLoad)=\"loadElements($event)\" dataKey=\"{{wappTableLazyLoadingObject.identificator}}\"\r\n [tableStyle]=\"{'min-width': '70rem'}\"\r\n [selection]=\"selectedElements\" (selectionChange)=\"onSelectionChange($event)\"\r\n [selectAll]=\"selectAll\" (selectAllChange)=\"onSelectAllChange($event)\"\r\n [paginator]=\"true\"\r\n [rows]=\"rowsPerPage\" \r\n [currentPageReportTemplate]=\"wappTableLazyLoadingObject.currentPageReportTemplate ? wappTableLazyLoadingObject.currentPageReportTemplate + ' ' + rowsPerPage + ' de ' + totalRecords! : 'Showing ' + rowsPerPage + ' of ' + totalRecords!\"\r\n [totalRecords]=\"totalRecords\"\r\n [showCurrentPageReport]=\"true\"\r\n [loading]=\"loading\"\r\n [showLoader]=\"false\"\r\n [globalFilterFields]=\"wappTableLazyLoadingObject.globalFilterFields!\"\r\n styleClass=\"p-datatable-striped\">\r\n <ng-template *ngIf=\"wappTableLazyLoadingObject.hasClearButton || wappTableLazyLoadingObject.hasGlobalSearch\" pTemplate=\"caption\">\r\n <span class=\"flex align-items-center table-paginator p-0\">\r\n <!-- <button *ngIf=\"wappTableLazyLoadingObject.hasClearButton\" pButton [label]=\"wappTableLazyLoadingObject.clearPlaceholder!\" class=\"p-button-outlined\" icon=\"pi pi-filter-slash\" (click)=\"clear(table)\"></button> -->\r\n <span class=\"showing-per-page\"> {{wappTableLazyLoadingObject.currentPageReportTemplate}} </span>\r\n <p-inputNumber \r\n class=\"pl-2 showing-per-page\" [size]=\"1\" [(ngModel)]=\"rowsPerPage\" [showButtons]=\"true\" \r\n buttonLayout=\"horizontal\" inputId=\"horizontal\" spinnerMode=\"horizontal\" [step]=\"1\" [min]=\"1\" [max]=\"maxRowsPerPage\"\r\n decrementButtonClass=\"p-button-outlined\" \r\n incrementButtonClass=\"p-button-outlined\" \r\n incrementButtonIcon=\"pi pi-plus\" \r\n decrementButtonIcon=\"pi pi-minus\" \r\n mode=\"decimal\"\r\n (ngModelChange)=\"reloadElements()\">\r\n </p-inputNumber>\r\n <span *ngIf=\"wappTableLazyLoadingObject?.hasGlobalSearch\" class=\"p-input-icon-left ml-auto\">\r\n <i class=\"pi pi-search\"></i>\r\n <input class=\"height-input wapp-input\" pInputText type=\"text\" (input)=\"table.filterGlobal($event, 'contains')\" placeholder=\"{{wappTableLazyLoadingObject.searchPlaceholder}}\" />\r\n </span>\r\n </span>\r\n </ng-template>\r\n <ng-template pTemplate=\"header\">\r\n <tr>\r\n <th *ngIf=\"!wappTableLazyLoadingObject.hasColumnFilters && wappTableLazyLoadingObject.hasCheckbox; else noCheckbox\">\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n </th>\r\n <ng-template #noCheckbox><th *ngIf=\"wappTableLazyLoadingObject.hasCheckbox\"></th></ng-template>\r\n <ng-container *ngIf=\"!wappTableLazyLoadingObject.hasSortableColumns; else something\">\r\n <th *ngFor=\"let header of wappTableLazyLoadingObject?.headers\">\r\n {{header}}\r\n </th>\r\n </ng-container>\r\n <ng-template #something>\r\n <ng-template #something ngFor let-filterType [ngForOf]=\"wappTableLazyLoadingObject.headers\" let-i=\"index\"> \r\n <th [pSortableColumn]=\"wappTableLazyLoadingObject.sortableNames[i]\">\r\n {{wappTableLazyLoadingObject.headers[i]}} \r\n <p-sortIcon *ngIf=\"wappTableLazyLoadingObject.sortableNames[i] != null\" [field]=\"wappTableLazyLoadingObject.sortableNames[i]\"></p-sortIcon>\r\n </th>\r\n </ng-template>\r\n </ng-template>\r\n <th *ngIf=\"wappTableLazyLoadingObject.hasDeleteButton || wappTableLazyLoadingObject.hasEditButton\"></th>\r\n </tr>\r\n <tr *ngIf=\"wappTableLazyLoadingObject.hasColumnFilters\">\r\n <th *ngIf=\"wappTableLazyLoadingObject.hasCheckbox\">\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n </th>\r\n <th *ngIf=\"wappTableLazyLoadingObject.hasImage\"></th>\r\n <ng-template ngFor let-filterType [ngForOf]=\"wappTableLazyLoadingObject.columnFilterTypes\" let-i=\"index\">\r\n <th *ngIf=\"filterType == tableColumnFilterTypes.Text\">\r\n <p-columnFilter type=\"text\" [field]=\"wappTableLazyLoadingObject.filterNames[i]\"></p-columnFilter>\r\n </th>\r\n <th *ngIf=\"filterType == tableColumnFilterTypes.Multiselect\">\r\n <p-columnFilter [field]=\"wappTableLazyLoadingObject.filterNames[i]\" matchMode=\"in\" [showMenu]=\"false\">\r\n <ng-template pTemplate=\"filter\" let-value let-filter=\"filterCallback\">\r\n <p-multiSelect [ngModel]=\"value\" appendTo=\"body\" [options]=\"wappTableLazyLoadingObject.selectFilterElements[i]\" placeholder=\"Any\" (onChange)=\"filter($event.value)\" optionLabel=\"name\" [maxSelectedLabels]=\"1\" [selectedItemsLabel]=\"'{0} items'\">\r\n <ng-template let-option pTemplate=\"item\">\r\n <div class=\"p-multiselect-representative-option\">\r\n <span class=\"ml-1\">{{option.name}}</span>\r\n </div>\r\n </ng-template>\r\n </p-multiSelect>\r\n </ng-template>\r\n </p-columnFilter>\r\n </th>\r\n <th *ngIf=\"filterType == tableColumnFilterTypes.None\"></th>\r\n <th *ngIf=\"filterType == tableColumnFilterTypes.Boolean\">\r\n <p-columnFilter type=\"boolean\" [field]=\"wappTableLazyLoadingObject.filterNames[i]\"></p-columnFilter>\r\n </th>\r\n <th *ngIf=\"filterType == tableColumnFilterTypes.Date\">\r\n <p-columnFilter type=\"date\" [field]=\"wappTableLazyLoadingObject.filterNames[i]\"></p-columnFilter>\r\n </th>\r\n </ng-template>\r\n <th *ngIf=\"wappTableLazyLoadingObject.hasDeleteButton || wappTableLazyLoadingObject.hasEditButton\"></th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-element let-index=\"index\">\r\n <tr *ngIf=\"!loading\">\r\n <ng-template ngFor let-columnType [ngForOf]=\"wappTableLazyLoadingObject.columnTypes\" let-i=\"index\">\r\n <td *ngIf=\"columnType == tableColumnTypes.Checkbox && wappTableLazyLoadingObject.hasCheckbox\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\">\r\n <div *ngIf=\"wappTableLazyLoadingObject.disableCheckbox; else activeCheckbox\">\r\n <p-tableCheckbox [value]=\"element\" [disabled]=\"readProperty(element, wappTableLazyLoadingObject.disableCheckbox)\"></p-tableCheckbox>\r\n </div>\r\n <ng-template #activeCheckbox>\r\n <p-tableCheckbox [value]=\"element\"></p-tableCheckbox>\r\n </ng-template>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Image\" class=\"text-center\">\r\n <img *ngIf=\"readProperty(element, wappTableLazyLoadingObject.elementObjectRoutes[i])\" \r\n [src]=\"readProperty(element, wappTableLazyLoadingObject.elementObjectRoutes[i])\" \r\n class=\"shadow-4 element-image-width\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\"/>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Text\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\">\r\n {{ readProperty(element, wappTableLazyLoadingObject.elementObjectRoutes[i]) }}\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Currency\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\">\r\n {{ readProperty(element, wappTableLazyLoadingObject.elementObjectRoutes[i]) | currency }}\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Badge\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\">\r\n <p>ToDo wapp view badge</p>\r\n <!-- <wapp-view-badge [label]=\"readProperty(element, wappTableLazyLoadingObject.elementObjectRoutes[i])\"\r\n [color]=\"'cyan'\">\r\n </wapp-view-badge> -->\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Boolean\">\r\n <i class=\"pi\" [ngClass]=\"getBooleanColumnClass(i, readProperty(element, wappTableLazyLoadingObject.elementObjectRoutes[i]))\"></i>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Date\">\r\n {{ readProperty(element, wappTableLazyLoadingObject.elementObjectRoutes[i]) | date }}\r\n </td>\r\n </ng-template>\r\n <td>\r\n <div class=\"flex justify-content-end align-items-end\">\r\n <button *ngIf=\"wappTableLazyLoadingObject?.hasViewButton\" \r\n pButton pRipple (click)=\"viewElement(element)\" \r\n icon=\"pi pi-eye\" class=\"p-button-text p-button-info mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableLazyLoadingObject.customButtonConfig?.hasCustomButton\"\r\n pButton pRipple (click)=\"customElement($event)\"\r\n [icon]=\"wappTableLazyLoadingObject.customButtonConfig?.icon!\"\r\n class=\"p-button-text p-button-info mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableLazyLoadingObject.hasEditButton && !wappTableLazyLoadingObject.disableEditProperty\" \r\n pButton pRipple (click)=\"editElement(element)\"\r\n icon=\"pi pi-pencil\" class=\"p-button-text p-button-success mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableLazyLoadingObject.disableEditProperty\" \r\n pButton pRipple (click)=\"editElement(element)\" [disabled]=\"readProperty(element, wappTableLazyLoadingObject.disableEditProperty)\"\r\n icon=\"pi pi-pencil\" class=\"p-button-text p-button-success mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableLazyLoadingObject?.hasCopyButton\" \r\n pButton pRipple (click)=\"confirmCopy($event, element)\" \r\n icon=\"pi pi-copy\" class=\"p-button-text p-button-help mr-2\">\r\n </button>\r\n <button *ngIf=\"!wappTableLazyLoadingObject?.disableDelete && wappTableLazyLoadingObject.hasDeleteButton && !wappTableLazyLoadingObject.disableDeleteProperty\" \r\n pButton pRipple (click)=\"confirmDelete($event, element)\"\r\n icon=\"pi pi-trash\" class=\"p-button-text p-button-danger\">\r\n </button>\r\n <button *ngIf=\"!wappTableLazyLoadingObject?.disableDelete && wappTableLazyLoadingObject.disableDeleteProperty\" \r\n pButton pRipple (click)=\"confirmDelete($event, element)\" [disabled]=\"readProperty(element, wappTableLazyLoadingObject.disableDeleteProperty)\"\r\n icon=\"pi pi-trash\" class=\"p-button-text p-button-danger\">\r\n </button>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"loadingbody\">\r\n <tr height=\"70px\" *ngFor=\"let n of [0,1,2,3,4]\">\r\n <td *ngFor=\"let item of wappTableLazyLoadingObject.columnTypes\" [style.width]=\"item == tableColumnTypes.Checkbox ? '8rem' : ''\" >\r\n <p-tableCheckbox *ngIf=\"item == tableColumnTypes.Checkbox && wappTableLazyLoadingObject.hasCheckbox\"></p-tableCheckbox>\r\n <p-skeleton *ngIf=\"item == tableColumnTypes.Image\" width=\"6rem\" height=\"4rem\"></p-skeleton>\r\n <p-skeleton *ngIf=\"item != tableColumnTypes.Checkbox && item != tableColumnTypes.Image\"></p-skeleton>\r\n </td>\r\n <td *ngIf=\"wappTableLazyLoadingObject.hasEditButton || wappTableLazyLoadingObject.hasDeleteButton\">\r\n <div class=\"flex justify-content-end\">\r\n <button *ngIf=\"wappTableLazyLoadingObject?.hasEditButton\" \r\n pButton pRipple\r\n icon=\"pi pi-pencil\" class=\"p-button-text p-button-success mr-2\">\r\n </button>\r\n <button *ngIf=\"!wappTableLazyLoadingObject?.disableDelete && wappTableLazyLoadingObject?.hasDeleteButton\" \r\n pButton pRipple\r\n icon=\"pi pi-trash\" class=\"p-button-text p-button-danger\">\r\n </button>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n</div>\r\n<p-confirmPopup></p-confirmPopup>", styles: [".heading1{font-size:3.1428571429rem;line-height:3.4285714286rem;font-weight:700}.heading2{font-size:2.8571428571rem;line-height:3.1428571429rem;font-weight:700}.heading3{font-size:2.5714285714rem;line-height:2.8571428571rem;font-weight:700}.heading4{font-size:2.2857142857rem;line-height:2.5714285714rem;font-weight:700}.heading5{font-size:2rem;line-height:2.2857142857rem;font-weight:700}.heading6{font-size:1.7142857143rem;line-height:2rem;font-weight:700}.subtitle1{font-size:1.4285714286rem;line-height:1.7142857143rem;font-weight:700}.subtitle2{font-size:1.1428571429rem;line-height:1.4285714286rem;font-weight:700}.body,.input-generic-placeholder-small,.input-generic-small{font-size:1rem;line-height:1.1428571429rem;font-weight:600}.caption{font-size:.8571428571rem;line-height:1.1428571429rem;font-weight:600}.icon-small-size{font-size:8px}.icon-small-x-size{font-size:12px}.icon-medium-size{font-size:16px}.icon-large-size{font-size:24px}.spacingXXS{padding:4px}.spacingXSM{padding:6px}.spacingXS{padding:8px}.spacingS{padding:12px}.spacingM{padding:16px}.spacingL{padding:20px}.spacingXL{padding:24px}.spacingXXL{padding:28px}.spacingXXXL{padding:32px}.focus{box-shadow:0 0 8px #00a6e980}.hover{border-radius:8px;border:2px solid #0085c7}.button-large-typography{font-size:20px;line-height:24px;font-weight:700}.button-medium-typography{font-size:16px;line-height:16px;font-weight:700}.button-small-typography{font-size:12px;line-height:16px;font-weight:700}.button-text-typography,.input-generic-label{font-size:14px;line-height:16px;font-weight:700}.input-generic-placeholder,.input-generic{font-size:16px;line-height:24px;font-weight:600}.input-generic-placeholder-small{padding:8px 12px 12px}.input-generic-valid{border-radius:8px;border:2px solid #B3FFD3}.input-generic-valid-focus{border-radius:8px;border:2px solid #B3FFD3!important;box-shadow:0 0 2px 2px #b3ffd3!important;padding-left:16px}.input-generic-warning{border-radius:8px;border:2px solid #FFECB8!important}.input-generic-warning-focus{border-radius:8px;border:2px solid #FFECB8!important;box-shadow:0 0 2px 2px #ffecb8!important;padding-left:16px}.input-generic-error{border-radius:8px;border:2px solid #FFBDBD}.tag-generic{font-size:14px;line-height:16px;font-weight:700}.tag-generic-small{font-size:12px;line-height:16px;font-weight:700}.table-container{padding:0 20px;background-color:#fff;border-radius:8px;box-shadow:0 4px 8px #0000001a}.showing-per-page{color:#bdc1c6;font-weight:600}::ng-deep .showing-per-page .p-button{border-radius:8px}::ng-deep .wapp-table-styles .p-paginator-bottom>span:first-child{margin-right:auto}::ng-deep .wapp-table-styles .p-paginator .p-paginator-pages .p-paginator-page{color:#bdc1c6;border-radius:8px;height:32px;width:32px;max-width:32px;min-width:32px}::ng-deep .wapp-table-styles .p-paginator{border-width:0px;padding:16px 20px}::ng-deep .wapp-table-styles .p-paginator .p-paginator-pages .p-paginator-page.p-highlight{background-color:#e0f5fc;color:#2e3134;height:32px;width:32px;max-width:32px;min-width:32px}::ng-deep .wapp-table-styles .p-paginator .p-paginator-pages .p-paginator-page:not(.p-highlight):hover{background:#f1f5f9;border-color:transparent;color:#2e3134;height:32px;width:32px;max-width:32px;min-width:32px}::ng-deep .wapp-table-styles .p-paginator .p-paginator-current{color:#bdc1c6;padding:0}::ng-deep .wapp-table-styles .p-datatable .p-sortable-column .p-sortable-column-icon{color:#bdc1c6;margin-left:.5rem}::ng-deep .p-datatable .p-sortable-column.p-highlight:hover .p-sortable-column-icon{color:#000}::ng-deep .wapp-table-styles .p-datatable .p-sortable-column:focus{box-shadow:inset 0 0;outline:0 none}::ng-deep .wapp-table-styles .p-datatable .p-datatable-thead>tr>th{color:#bdc1c6;background:#ffffff}::ng-deep .wapp-table-styles .p-datatable.p-datatable-striped .p-datatable-tbody>tr:nth-child(even){background:#f8f9fa}::ng-deep .wapp-table-styles .p-datatable .p-paginator-bottom{justify-content:normal!important}::ng-deep .wapp-table-styles .p-datatable .p-paginator-bottom>button{color:#bdc1c6}::ng-deep .wapp-table-styles .p-datatable .p-datatable-header{background:#ffffff;border-width:0px;padding:16px 0!important;font-weight:600}::ng-deep .wapp-table-styles p-inputnumber,.p-inputnumber{height:32px}::ng-deep .wapp-table-styles .p-inputnumber-buttons-horizontal .p-button.p-inputnumber-button-up{width:32px}::ng-deep .wapp-table-styles .p-inputnumber-buttons-horizontal .p-button.p-inputnumber-button-down{width:32px}::ng-deep .wapp-table-styles .p-inputnumber-buttons-horizontal .p-inputnumber-input{border-width:2px 0px 2px 0px;border-color:#e8eaed;color:#dadce0;text-align:center}::ng-deep .wapp-table-styles .p-button.p-button-outlined{color:#e8eaed;border-width:2px}::ng-deep .wapp-table-styles .p-datatable .p-datatable-tbody>tr>td{columns:#2E3134;font-weight:600;text-align:left;border:1px solid #e2e8f0;border-width:0 0 1px 0;padding:8px}::ng-deep .wapp-table-styles .p-checkbox .p-checkbox-box{border:2px solid #e8eaed;width:16px;height:16px;color:#e8eaed;border-radius:4px;align-self:center}::ng-deep .wapp-table-styles .p-checkbox .p-checkbox-box .p-checkbox-icon{font-size:8px;font-weight:bolder}::ng-deep .wapp-table-styles .p-checkbox .p-checkbox-box.p-highlight{border-color:#0085c7!important;background:#0085c7;color:#0085c7!important}::ng-deep .wapp-table-styles .p-inputtext:enabled:focus{outline:0 none;outline-offset:0;box-shadow:0 0 #000;background-color:#f1f3f4;border-color:#f1f3f4;color:#000}::ng-deep .wapp-table-styles .p-inputtext:enabled:hover{border-color:#e8eaed}::ng-deep .wapp-table-styles .p-button.p-button-outlined:enabled:hover{color:#e8eaed;border:2px solid;background-color:#f1f3f4}::ng-deep .wapp-table-styles .p-button.p-button-outlined:enabled:hover>.p-button-icon{color:#2e3134}::ng-deep .wapp-table-styles .p-button.p-button-outlined>.pi{font-size:.7rem;font-weight:bolder}::ng-deep .wapp-table-styles .p-datatable .p-datatable-thead>tr>th:hover{color:#000;background:#ffffff}.height-input{height:32px}.wapp-input{border-radius:8px;border-width:2px;border-color:#e8eaed;font-size:16px;line-height:5px;font-weight:100;gap:16px}::-webkit-input-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}::-moz-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}:-ms-input-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}:-moz-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}.wapp-input:hover{border:2px solid #0085c7!important}.wapp-input:focus{box-shadow:0 0 3px 3px #e0f5fc!important;background-color:transparent!important}.pi-search{left:.75rem;color:#bdc1c6!important}::ng-deep .wapp-table-styles .p-avatar img{width:32px!important;height:32px!important}:host ::ng-deep .wapp-table-styles .p-avatar{border:1px solid #e8eaed}\n"] }]
|
|
1142
|
+
args: [{ selector: 'w-table-lazy', template: "<ng-content select=\".filter-panel\"></ng-content>\r\n<div *ngIf=\"wappTableLazyLoadingObject\" [class.table-container]=\"wappTableLazyLoadingObject.tableContainer\">\r\n <p-table class=\"wapp-table-styles\"\r\n #table [value]=\"elements\" [lazy]=\"true\" (onLazyLoad)=\"loadElements($event)\" dataKey=\"{{wappTableLazyLoadingObject.identificator}}\"\r\n [tableStyle]=\"{'min-width': '70rem'}\"\r\n [selection]=\"selectedElements\" (selectionChange)=\"onSelectionChange($event)\"\r\n [selectAll]=\"selectAll\" (selectAllChange)=\"onSelectAllChange($event)\"\r\n [paginator]=\"true\"\r\n [rows]=\"rowsPerPage\" \r\n [currentPageReportTemplate]=\"wappTableLazyLoadingObject.currentPageReportTemplate ? wappTableLazyLoadingObject.currentPageReportTemplate + ' ' + rowsPerPage + ' de ' + totalRecords! : 'Showing ' + rowsPerPage + ' of ' + totalRecords!\"\r\n [totalRecords]=\"totalRecords\"\r\n [showCurrentPageReport]=\"true\"\r\n [loading]=\"loading\"\r\n [showLoader]=\"false\"\r\n [globalFilterFields]=\"wappTableLazyLoadingObject.globalFilterFields!\"\r\n styleClass=\"p-datatable-striped\">\r\n <ng-template *ngIf=\"wappTableLazyLoadingObject.hasClearButton || wappTableLazyLoadingObject.hasGlobalSearch\" pTemplate=\"caption\">\r\n <span class=\"flex align-items-center table-paginator p-0\">\r\n <!-- <button *ngIf=\"wappTableLazyLoadingObject.hasClearButton\" pButton [label]=\"wappTableLazyLoadingObject.clearPlaceholder!\" class=\"p-button-outlined\" icon=\"pi pi-filter-slash\" (click)=\"clear(table)\"></button> -->\r\n <span class=\"showing-per-page\"> {{wappTableLazyLoadingObject.currentPageReportTemplate}} </span>\r\n <p-inputNumber \r\n class=\"pl-2 showing-per-page\" [size]=\"1\" [(ngModel)]=\"rowsPerPage\" [showButtons]=\"true\" \r\n buttonLayout=\"horizontal\" inputId=\"horizontal\" spinnerMode=\"horizontal\" [step]=\"1\" [min]=\"1\" [max]=\"maxRowsPerPage\"\r\n decrementButtonClass=\"p-button-outlined\" \r\n incrementButtonClass=\"p-button-outlined\" \r\n incrementButtonIcon=\"pi pi-plus\" \r\n decrementButtonIcon=\"pi pi-minus\" \r\n mode=\"decimal\"\r\n (ngModelChange)=\"reloadElements()\">\r\n </p-inputNumber>\r\n <span *ngIf=\"wappTableLazyLoadingObject?.hasGlobalSearch\" class=\"p-input-icon-left ml-auto\">\r\n <i class=\"pi pi-search\"></i>\r\n <input class=\"height-input wapp-input\" pInputText type=\"text\" (input)=\"table.filterGlobal($event, 'contains')\" placeholder=\"{{wappTableLazyLoadingObject.searchPlaceholder}}\" />\r\n </span>\r\n </span>\r\n </ng-template>\r\n <ng-template pTemplate=\"header\">\r\n <tr>\r\n <th *ngIf=\"!wappTableLazyLoadingObject.hasColumnFilters && wappTableLazyLoadingObject.hasCheckbox; else noCheckbox\">\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n </th>\r\n <ng-template #noCheckbox><th *ngIf=\"wappTableLazyLoadingObject.hasCheckbox\"></th></ng-template>\r\n <ng-container *ngIf=\"!wappTableLazyLoadingObject.hasSortableColumns; else something\">\r\n <th *ngFor=\"let header of wappTableLazyLoadingObject?.headers\">\r\n {{header}}\r\n </th>\r\n </ng-container>\r\n <ng-template #something>\r\n <ng-template #something ngFor let-filterType [ngForOf]=\"wappTableLazyLoadingObject.headers\" let-i=\"index\"> \r\n <th [pSortableColumn]=\"wappTableLazyLoadingObject.sortableNames[i]\">\r\n {{wappTableLazyLoadingObject.headers[i]}} \r\n <p-sortIcon *ngIf=\"wappTableLazyLoadingObject.sortableNames[i] != null\" [field]=\"wappTableLazyLoadingObject.sortableNames[i]\"></p-sortIcon>\r\n </th>\r\n </ng-template>\r\n </ng-template>\r\n <th *ngIf=\"wappTableLazyLoadingObject.hasDeleteButton || wappTableLazyLoadingObject.hasEditButton\"></th>\r\n </tr>\r\n <tr *ngIf=\"wappTableLazyLoadingObject.hasColumnFilters\">\r\n <th *ngIf=\"wappTableLazyLoadingObject.hasCheckbox\">\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n </th>\r\n <th *ngIf=\"wappTableLazyLoadingObject.hasImage\"></th>\r\n <ng-template ngFor let-filterType [ngForOf]=\"wappTableLazyLoadingObject.columnFilterTypes\" let-i=\"index\">\r\n <th *ngIf=\"filterType == tableColumnFilterTypes.Text\">\r\n <p-columnFilter type=\"text\" [field]=\"wappTableLazyLoadingObject.filterNames[i]\"></p-columnFilter>\r\n </th>\r\n <th *ngIf=\"filterType == tableColumnFilterTypes.Multiselect\">\r\n <p-columnFilter [field]=\"wappTableLazyLoadingObject.filterNames[i]\" matchMode=\"in\" [showMenu]=\"false\">\r\n <ng-template pTemplate=\"filter\" let-value let-filter=\"filterCallback\">\r\n <p-multiSelect [ngModel]=\"value\" appendTo=\"body\" [options]=\"wappTableLazyLoadingObject.selectFilterElements[i]\" placeholder=\"Any\" (onChange)=\"filter($event.value)\" optionLabel=\"name\" [maxSelectedLabels]=\"1\" [selectedItemsLabel]=\"'{0} items'\">\r\n <ng-template let-option pTemplate=\"item\">\r\n <div class=\"p-multiselect-representative-option\">\r\n <span class=\"ml-1\">{{option.name}}</span>\r\n </div>\r\n </ng-template>\r\n </p-multiSelect>\r\n </ng-template>\r\n </p-columnFilter>\r\n </th>\r\n <th *ngIf=\"filterType == tableColumnFilterTypes.None\"></th>\r\n <th *ngIf=\"filterType == tableColumnFilterTypes.Boolean\">\r\n <p-columnFilter type=\"boolean\" [field]=\"wappTableLazyLoadingObject.filterNames[i]\"></p-columnFilter>\r\n </th>\r\n <th *ngIf=\"filterType == tableColumnFilterTypes.Date\">\r\n <p-columnFilter type=\"date\" [field]=\"wappTableLazyLoadingObject.filterNames[i]\"></p-columnFilter>\r\n </th>\r\n </ng-template>\r\n <th *ngIf=\"wappTableLazyLoadingObject.hasDeleteButton || wappTableLazyLoadingObject.hasEditButton\"></th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-element let-index=\"index\">\r\n <tr *ngIf=\"!loading\">\r\n <ng-template ngFor let-columnType [ngForOf]=\"wappTableLazyLoadingObject.columnTypes\" let-i=\"index\">\r\n <td *ngIf=\"columnType == tableColumnTypes.Checkbox && wappTableLazyLoadingObject.hasCheckbox\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\">\r\n <div *ngIf=\"wappTableLazyLoadingObject.disableCheckbox; else activeCheckbox\">\r\n <p-tableCheckbox [value]=\"element\" [disabled]=\"readProperty(element, wappTableLazyLoadingObject.disableCheckbox)\"></p-tableCheckbox>\r\n </div>\r\n <ng-template #activeCheckbox>\r\n <p-tableCheckbox [value]=\"element\"></p-tableCheckbox>\r\n </ng-template>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Image\" class=\"text-center\">\r\n <img *ngIf=\"readProperty(element, wappTableLazyLoadingObject.elementObjectRoutes[i])\" \r\n [src]=\"readProperty(element, wappTableLazyLoadingObject.elementObjectRoutes[i])\" \r\n class=\"shadow-4 element-image-width\" />\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Text\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\">\r\n {{ readProperty(element, wappTableLazyLoadingObject.elementObjectRoutes[i]) }}\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Currency\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\">\r\n {{ readProperty(element, wappTableLazyLoadingObject.elementObjectRoutes[i]) | currency }}\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Badge\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\">\r\n <p>ToDo wapp view badge</p>\r\n <!-- <wapp-view-badge [label]=\"readProperty(element, wappTableLazyLoadingObject.elementObjectRoutes[i])\"\r\n [color]=\"'cyan'\">\r\n </wapp-view-badge> -->\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Boolean\">\r\n <i class=\"pi\" [ngClass]=\"getBooleanColumnClass(i, readProperty(element, wappTableLazyLoadingObject.elementObjectRoutes[i]))\"></i>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Date\">\r\n {{ readProperty(element, wappTableLazyLoadingObject.elementObjectRoutes[i]) | date }}\r\n </td>\r\n </ng-template>\r\n <td>\r\n <div class=\"flex justify-content-end align-items-end\">\r\n <button *ngIf=\"wappTableLazyLoadingObject?.hasViewButton\" \r\n pButton pRipple (click)=\"viewElement(element)\" \r\n icon=\"pi pi-eye\" class=\"p-button-text p-button-info mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableLazyLoadingObject.customButtonConfig?.hasCustomButton\"\r\n pButton pRipple (click)=\"customElement($event)\"\r\n [icon]=\"wappTableLazyLoadingObject.customButtonConfig?.icon!\"\r\n class=\"p-button-text p-button-info mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableLazyLoadingObject.hasEditButton && !wappTableLazyLoadingObject.disableEditProperty\" \r\n pButton pRipple (click)=\"editElement(element)\"\r\n icon=\"pi pi-pencil\" class=\"p-button-text p-button-success mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableLazyLoadingObject.disableEditProperty\" \r\n pButton pRipple (click)=\"editElement(element)\" [disabled]=\"readProperty(element, wappTableLazyLoadingObject.disableEditProperty)\"\r\n icon=\"pi pi-pencil\" class=\"p-button-text p-button-success mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableLazyLoadingObject?.hasCopyButton\" \r\n pButton pRipple (click)=\"confirmCopy($event, element)\" \r\n icon=\"pi pi-copy\" class=\"p-button-text p-button-help mr-2\">\r\n </button>\r\n <button *ngIf=\"!wappTableLazyLoadingObject?.disableDelete && wappTableLazyLoadingObject.hasDeleteButton && !wappTableLazyLoadingObject.disableDeleteProperty\" \r\n pButton pRipple (click)=\"confirmDelete($event, element)\"\r\n icon=\"pi pi-trash\" class=\"p-button-text p-button-danger\">\r\n </button>\r\n <button *ngIf=\"!wappTableLazyLoadingObject?.disableDelete && wappTableLazyLoadingObject.disableDeleteProperty\" \r\n pButton pRipple (click)=\"confirmDelete($event, element)\" [disabled]=\"readProperty(element, wappTableLazyLoadingObject.disableDeleteProperty)\"\r\n icon=\"pi pi-trash\" class=\"p-button-text p-button-danger\">\r\n </button>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"loadingbody\">\r\n <tr height=\"70px\" *ngFor=\"let n of [0,1,2,3,4]\">\r\n <td *ngFor=\"let item of wappTableLazyLoadingObject.columnTypes\" [style.width]=\"item == tableColumnTypes.Checkbox ? '8rem' : ''\" >\r\n <p-tableCheckbox *ngIf=\"item == tableColumnTypes.Checkbox && wappTableLazyLoadingObject.hasCheckbox\"></p-tableCheckbox>\r\n <p-skeleton *ngIf=\"item == tableColumnTypes.Image\" width=\"6rem\" height=\"4rem\"></p-skeleton>\r\n <p-skeleton *ngIf=\"item != tableColumnTypes.Checkbox && item != tableColumnTypes.Image\"></p-skeleton>\r\n </td>\r\n <td *ngIf=\"wappTableLazyLoadingObject.hasEditButton || wappTableLazyLoadingObject.hasDeleteButton\">\r\n <div class=\"flex justify-content-end\">\r\n <button *ngIf=\"wappTableLazyLoadingObject?.hasEditButton\" \r\n pButton pRipple\r\n icon=\"pi pi-pencil\" class=\"p-button-text p-button-success mr-2\">\r\n </button>\r\n <button *ngIf=\"!wappTableLazyLoadingObject?.disableDelete && wappTableLazyLoadingObject?.hasDeleteButton\" \r\n pButton pRipple\r\n icon=\"pi pi-trash\" class=\"p-button-text p-button-danger\">\r\n </button>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n</div>\r\n<p-confirmPopup></p-confirmPopup>", styles: [".heading1{font-size:3.1428571429rem;line-height:3.4285714286rem;font-weight:700}.heading2{font-size:2.8571428571rem;line-height:3.1428571429rem;font-weight:700}.heading3{font-size:2.5714285714rem;line-height:2.8571428571rem;font-weight:700}.heading4{font-size:2.2857142857rem;line-height:2.5714285714rem;font-weight:700}.heading5{font-size:2rem;line-height:2.2857142857rem;font-weight:700}.heading6{font-size:1.7142857143rem;line-height:2rem;font-weight:700}.subtitle1{font-size:1.4285714286rem;line-height:1.7142857143rem;font-weight:700}.subtitle2{font-size:1.1428571429rem;line-height:1.4285714286rem;font-weight:700}.body,.input-generic-placeholder-small,.input-generic-small{font-size:1rem;line-height:1.1428571429rem;font-weight:600}.caption{font-size:.8571428571rem;line-height:1.1428571429rem;font-weight:600}.icon-small-size{font-size:8px}.icon-small-x-size{font-size:12px}.icon-medium-size{font-size:16px}.icon-large-size{font-size:24px}.spacingXXS{padding:4px}.spacingXSM{padding:6px}.spacingXS{padding:8px}.spacingS{padding:12px}.spacingM{padding:16px}.spacingL{padding:20px}.spacingXL{padding:24px}.spacingXXL{padding:28px}.spacingXXXL{padding:32px}.focus{box-shadow:0 0 8px #00a6e980}.hover{border-radius:8px;border:2px solid #0085c7}.button-large-typography{font-size:20px;line-height:24px;font-weight:700}.button-medium-typography{font-size:16px;line-height:16px;font-weight:700}.button-small-typography{font-size:12px;line-height:16px;font-weight:700}.button-text-typography,.input-generic-label{font-size:14px;line-height:16px;font-weight:700}.input-generic-placeholder,.input-generic{font-size:16px;line-height:24px;font-weight:600}.input-generic-placeholder-small{padding:8px 12px 12px}.input-generic-valid{border-radius:8px;border:2px solid #B3FFD3}.input-generic-valid-focus{border-radius:8px;border:2px solid #B3FFD3!important;box-shadow:0 0 2px 2px #b3ffd3!important;padding-left:16px}.input-generic-warning{border-radius:8px;border:2px solid #FFECB8!important}.input-generic-warning-focus{border-radius:8px;border:2px solid #FFECB8!important;box-shadow:0 0 2px 2px #ffecb8!important;padding-left:16px}.input-generic-error{border-radius:8px;border:2px solid #FFBDBD}.tag-generic{font-size:14px;line-height:16px;font-weight:700}.tag-generic-small{font-size:12px;line-height:16px;font-weight:700}.table-container{padding:0 20px;background-color:#fff;border-radius:8px;box-shadow:0 4px 8px #0000001a}.showing-per-page{color:#bdc1c6;font-weight:600}::ng-deep .showing-per-page .p-button{border-radius:8px}::ng-deep .wapp-table-styles .p-paginator-bottom>span:first-child{margin-right:auto}::ng-deep .wapp-table-styles .p-paginator .p-paginator-pages .p-paginator-page{color:#bdc1c6;border-radius:8px;height:32px;width:32px;max-width:32px;min-width:32px}::ng-deep .wapp-table-styles .p-paginator{border-width:0px;padding:16px 20px}::ng-deep .wapp-table-styles .p-paginator .p-paginator-pages .p-paginator-page.p-highlight{background-color:#e0f5fc;color:#2e3134;height:32px;width:32px;max-width:32px;min-width:32px}::ng-deep .wapp-table-styles .p-paginator .p-paginator-pages .p-paginator-page:not(.p-highlight):hover{background:#f1f5f9;border-color:transparent;color:#2e3134;height:32px;width:32px;max-width:32px;min-width:32px}::ng-deep .wapp-table-styles .p-paginator .p-paginator-current{color:#bdc1c6;padding:0}::ng-deep .wapp-table-styles .p-datatable .p-sortable-column .p-sortable-column-icon{color:#bdc1c6;margin-left:.5rem}::ng-deep .p-datatable .p-sortable-column.p-highlight:hover .p-sortable-column-icon{color:#000}::ng-deep .wapp-table-styles .p-datatable .p-sortable-column:focus{box-shadow:inset 0 0;outline:0 none}::ng-deep .wapp-table-styles .p-datatable .p-datatable-thead>tr>th{color:#bdc1c6;background:#ffffff}::ng-deep .wapp-table-styles .p-datatable.p-datatable-striped .p-datatable-tbody>tr:nth-child(even){background:#f8f9fa}::ng-deep .wapp-table-styles .p-datatable .p-paginator-bottom{justify-content:normal!important}::ng-deep .wapp-table-styles .p-datatable .p-paginator-bottom>button{color:#bdc1c6}::ng-deep .wapp-table-styles .p-datatable .p-datatable-header{background:#ffffff;border-width:0px;padding:16px 0!important;font-weight:600}::ng-deep .wapp-table-styles p-inputnumber,.p-inputnumber{height:32px}::ng-deep .wapp-table-styles .p-inputnumber-buttons-horizontal .p-button.p-inputnumber-button-up{width:32px}::ng-deep .wapp-table-styles .p-inputnumber-buttons-horizontal .p-button.p-inputnumber-button-down{width:32px}::ng-deep .wapp-table-styles .p-inputnumber-buttons-horizontal .p-inputnumber-input{border-width:2px 0px 2px 0px;border-color:#e8eaed;color:#dadce0;text-align:center}::ng-deep .wapp-table-styles .p-button.p-button-outlined{color:#e8eaed;border-width:2px}::ng-deep .wapp-table-styles .p-datatable .p-datatable-tbody>tr>td{columns:#2E3134;font-weight:600;text-align:left;border:1px solid #e2e8f0;border-width:0 0 1px 0;padding:8px}::ng-deep .wapp-table-styles .p-checkbox .p-checkbox-box{border:2px solid #e8eaed;width:16px;height:16px;color:#e8eaed;border-radius:4px;align-self:center}::ng-deep .wapp-table-styles .p-checkbox .p-checkbox-box .p-checkbox-icon{font-size:8px;font-weight:bolder}::ng-deep .wapp-table-styles .p-checkbox .p-checkbox-box.p-highlight{border-color:#0085c7!important;background:#0085c7;color:#0085c7!important}::ng-deep .wapp-table-styles .p-inputtext:enabled:focus{outline:0 none;outline-offset:0;box-shadow:0 0 #000;background-color:#f1f3f4;border-color:#f1f3f4;color:#000}::ng-deep .wapp-table-styles .p-inputtext:enabled:hover{border-color:#e8eaed}::ng-deep .wapp-table-styles .p-button.p-button-outlined:enabled:hover{color:#e8eaed;border:2px solid;background-color:#f1f3f4}::ng-deep .wapp-table-styles .p-button.p-button-outlined:enabled:hover>.p-button-icon{color:#2e3134}::ng-deep .wapp-table-styles .p-button.p-button-outlined>.pi{font-size:.7rem;font-weight:bolder}::ng-deep .wapp-table-styles .p-datatable .p-datatable-thead>tr>th:hover{color:#000;background:#ffffff}.element-image-width{height:32px;width:auto}.height-input{height:32px}.wapp-input{border-radius:8px;border-width:2px;border-color:#e8eaed;font-size:16px;line-height:5px;font-weight:100;gap:16px}::-webkit-input-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}::-moz-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}:-ms-input-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}:-moz-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}.wapp-input:hover{border:2px solid #0085c7!important}.wapp-input:focus{box-shadow:0 0 3px 3px #e0f5fc!important;background-color:transparent!important}.pi-search{left:.75rem;color:#bdc1c6!important}::ng-deep .wapp-table-styles .p-avatar img{width:32px!important;height:32px!important}:host ::ng-deep .wapp-table-styles .p-avatar{border:1px solid #e8eaed}\n"] }]
|
|
1145
1143
|
}], ctorParameters: function () { return [{ type: i1$2.ConfirmationService }]; }, propDecorators: { loading: [{
|
|
1146
1144
|
type: Input,
|
|
1147
1145
|
args: ['loading']
|
|
@@ -1626,18 +1624,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
1626
1624
|
|
|
1627
1625
|
class WInputSearchComponent {
|
|
1628
1626
|
constructor() {
|
|
1629
|
-
this.inputValue = "";
|
|
1630
|
-
this.onValueEvent = new EventEmitter();
|
|
1631
1627
|
this.label = "Default Label";
|
|
1632
1628
|
this.placeholder = "";
|
|
1633
|
-
this.rows = 4;
|
|
1634
|
-
this.autoResize = true;
|
|
1635
1629
|
this.isRequired = false;
|
|
1636
1630
|
this.isDisabled = false;
|
|
1637
|
-
this.successMessage = "Default success message";
|
|
1638
|
-
this.requiredErrorDescription = "Default required error description";
|
|
1639
|
-
this.minlengthErrorDescription = "Mensaje default min";
|
|
1640
|
-
this.maxlengthErrorDescription = "Mensaje default max";
|
|
1641
1631
|
this.size = "medium";
|
|
1642
1632
|
this.items = [
|
|
1643
1633
|
{ "name": "Afghanistan", "code": "AF" },
|
|
@@ -1646,7 +1636,6 @@ class WInputSearchComponent {
|
|
|
1646
1636
|
{ "name": "Estados unidos", "code": "EU" },
|
|
1647
1637
|
];
|
|
1648
1638
|
this.suggestions = [];
|
|
1649
|
-
this.value = '';
|
|
1650
1639
|
this.isTouched = false;
|
|
1651
1640
|
this.onChange = (_) => { };
|
|
1652
1641
|
this.onTouch = () => { };
|
|
@@ -1692,13 +1681,13 @@ class WInputSearchComponent {
|
|
|
1692
1681
|
}
|
|
1693
1682
|
}
|
|
1694
1683
|
WInputSearchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: WInputSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1695
|
-
WInputSearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: WInputSearchComponent, selector: "w-input-search", inputs: {
|
|
1684
|
+
WInputSearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: WInputSearchComponent, selector: "w-input-search", inputs: { label: "label", placeholder: "placeholder", isRequired: "isRequired", isDisabled: "isDisabled", size: "size", items: "items", formControl: "formControl" }, providers: [
|
|
1696
1685
|
{
|
|
1697
1686
|
provide: NG_VALUE_ACCESSOR,
|
|
1698
1687
|
useExisting: forwardRef(() => WInputSearchComponent),
|
|
1699
1688
|
multi: true
|
|
1700
1689
|
}
|
|
1701
|
-
], ngImport: i0, template: "<div *ngIf=\"formControl != null; else noNgControl\">\r\n <div *ngIf=\"getSizeName(sizeType.medium) == size; else inputSmall\">\r\n <span class=\"p-input-icon-left w-container w-full\">\r\n <i class=\"pi pi-search\"></i>\r\n <p-autoComplete\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\"\r\n class=\"wapp-autocomplete\"\r\n [suggestions]=\"suggestions\"\r\n (completeMethod)=\"search($event)\"\r\n [formControl]=\"formControl\"\r\n [placeholder]=\"placeholder\"\r\n field=\"name\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <div class=\"flex align-items-center gap-2\">\r\n <i class=\"pi pi-search\"></i>\r\n <div class=\"item-content\">{{item.name}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n </span>\r\n </div>\r\n <ng-template #inputSmall>\r\n <span class=\"p-input-icon-left w-container-small w-full\">\r\n <i class=\"pi pi-search\"></i>\r\n <p-autoComplete\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\"\r\n class=\"wapp-autocomplete-small\"\r\n [suggestions]=\"suggestions\"\r\n (completeMethod)=\"search($event)\"\r\n [formControl]=\"formControl\"\r\n [placeholder]=\"placeholder\"\r\n field=\"name\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <div class=\"flex align-items-center gap-2\">\r\n <i class=\"pi pi-search\"></i>\r\n <div class=\"item-content-small\">{{item.name}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n </span>\r\n </ng-template>\r\n</div>\r\n<ng-template #noNgControl>\r\n <div *ngIf=\"getSizeName(sizeType.medium) == size; else inputSmall\">\r\n <span class=\"p-input-icon-left w-container w-full\">\r\n <i class=\"pi pi-search\"></i>\r\n <p-autoComplete\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\"\r\n class=\"wapp-autocomplete\"\r\n [suggestions]=\"suggestions\"\r\n (completeMethod)=\"search($event)\"\r\n [placeholder]=\"placeholder\"\r\n [(ngModel)]=\"value\" \r\n (input)=\"onValueChanged()\" \r\n [disabled]=\"isDisabled\"\r\n field=\"name\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <div class=\"flex align-items-center gap-2\">\r\n <i class=\"pi pi-search\"></i>\r\n <div class=\"item-content\">{{item.name}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n </span>\r\n </div>\r\n <ng-template #inputSmall>\r\n <span class=\"p-input-icon-left w-container-small w-full\">\r\n <i class=\"pi pi-search\"></i>\r\n <p-autoComplete\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\"\r\n class=\"wapp-autocomplete-small\"\r\n [suggestions]=\"suggestions\"\r\n [(ngModel)]=\"value\" \r\n (input)=\"onValueChanged()\" \r\n [disabled]=\"isDisabled\"\r\n (completeMethod)=\"search($event)\"\r\n [placeholder]=\"placeholder\"\r\n field=\"name\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <div class=\"flex align-items-center gap-2\">\r\n <i class=\"pi pi-search\"></i>\r\n <div class=\"item-content-small\">{{item.name}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n </span>\r\n </ng-template>\r\n</ng-template>", styles: [".heading1{font-size:3.1428571429rem;line-height:3.4285714286rem;font-weight:700}.heading2{font-size:2.8571428571rem;line-height:3.1428571429rem;font-weight:700}.heading3{font-size:2.5714285714rem;line-height:2.8571428571rem;font-weight:700}.heading4{font-size:2.2857142857rem;line-height:2.5714285714rem;font-weight:700}.heading5{font-size:2rem;line-height:2.2857142857rem;font-weight:700}.heading6{font-size:1.7142857143rem;line-height:2rem;font-weight:700}.subtitle1{font-size:1.4285714286rem;line-height:1.7142857143rem;font-weight:700}.subtitle2{font-size:1.1428571429rem;line-height:1.4285714286rem;font-weight:700}.body,.input-generic-placeholder-small,:host ::ng-deep .wapp-autocomplete-small .p-autocomplete .p-autocomplete-input::-moz-placeholder,.input-generic-small,:host ::ng-deep .wapp-autocomplete-small .p-autocomplete-panel,:host ::ng-deep .wapp-autocomplete-small .p-autocomplete .p-autocomplete-input{font-size:1rem;line-height:1.1428571429rem;font-weight:600}.caption{font-size:.8571428571rem;line-height:1.1428571429rem;font-weight:600}.icon-small-size{font-size:8px}.icon-small-x-size{font-size:12px}.icon-medium-size{font-size:16px}.icon-large-size{font-size:24px}.spacingXXS{padding:4px}.spacingXSM{padding:6px}.spacingXS{padding:8px}.spacingS{padding:12px}.spacingM{padding:16px}.spacingL{padding:20px}.spacingXL{padding:24px}.spacingXXL{padding:28px}.spacingXXXL{padding:32px}.focus{box-shadow:0 0 8px #00a6e980}.hover,:host ::ng-deep .wapp-autocomplete-small .p-autocomplete .p-autocomplete-input:hover,:host ::ng-deep .wapp-autocomplete .p-autocomplete .p-autocomplete-input:hover{border-radius:8px;border:2px solid #0085c7}.button-large-typography{font-size:20px;line-height:24px;font-weight:700}.button-medium-typography{font-size:16px;line-height:16px;font-weight:700}.button-small-typography{font-size:12px;line-height:16px;font-weight:700}.button-text-typography,.input-generic-label{font-size:14px;line-height:16px;font-weight:700}.input-generic-placeholder,:host ::ng-deep .wapp-autocomplete .p-autocomplete .p-autocomplete-input::-moz-placeholder{font-size:16px;line-height:24px;font-weight:600}.input-generic,:host ::ng-deep .wapp-autocomplete .p-autocomplete-panel,:host ::ng-deep .wapp-autocomplete .p-autocomplete .p-autocomplete-input{font-size:16px;line-height:24px;font-weight:600}.input-generic-placeholder-small,:host ::ng-deep .wapp-autocomplete-small .p-autocomplete .p-autocomplete-input::-moz-placeholder{padding:8px 12px 12px}.input-generic-valid{border-radius:8px;border:2px solid #B3FFD3}.input-generic-valid-focus{border-radius:8px;border:2px solid #B3FFD3!important;box-shadow:0 0 2px 2px #b3ffd3!important;padding-left:16px}.input-generic-warning{border-radius:8px;border:2px solid #FFECB8!important}.input-generic-warning-focus{border-radius:8px;border:2px solid #FFECB8!important;box-shadow:0 0 2px 2px #ffecb8!important;padding-left:16px}.input-generic-error{border-radius:8px;border:2px solid #FFBDBD}.tag-generic{font-size:14px;line-height:16px;font-weight:700}.tag-generic-small{font-size:12px;line-height:16px;font-weight:700}:host ::ng-deep .wapp-autocomplete .p-autocomplete .p-autocomplete-input{height:40px;padding-left:38px;border:2px solid #e8eaed;border-radius:8px}:host ::ng-deep .wapp-autocomplete .p-autocomplete .p-autocomplete-input:focus{border-radius:8px;border:2px #e0f5fc;box-shadow:0 0 4px 4px #00a6e940!important;padding-left:40px!important}:host ::ng-deep .wapp-autocomplete .p-autocomplete .p-autocomplete-input:focus::-moz-placeholder{color:transparent}:host ::ng-deep .wapp-autocomplete .p-autocomplete .p-autocomplete-input::-moz-placeholder{color:#bdc1c6}.w-container>i:last-of-type{color:#bdc1c6;left:16px!important;z-index:1}:host ::ng-deep .wapp-autocomplete .p-autocomplete-panel{margin-top:4px;padding:8px 8px 16px;border-radius:8px}:host ::ng-deep .wapp-autocomplete .p-autocomplete-panel i:last-of-type{left:16px}:host ::ng-deep .wapp-autocomplete .p-autocomplete-panel ul{padding:0!important}:host ::ng-deep .wapp-autocomplete .p-autocomplete-panel .p-autocomplete-item{border-radius:8px;height:40px;padding-bottom:8px;padding-top:8px;padding-left:16px}:host ::ng-deep .wapp-autocomplete .p-autocomplete-panel .p-autocomplete-item:hover{background-color:#e0f5fc}:host ::ng-deep .wapp-autocomplete .p-autocomplete-panel .p-autocomplete-item .item-content{padding-left:8px}:host ::ng-deep .p-element .p-overlay{width:100%}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete .p-autocomplete-input{height:32px;padding-left:32px;border:2px solid #e8eaed;border-radius:8px}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete .p-autocomplete-input:focus{border-radius:8px;border:2px #e0f5fc;box-shadow:0 0 4px 4px #00a6e940!important;padding-left:34px!important}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete .p-autocomplete-input:focus::-moz-placeholder{color:transparent}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete .p-autocomplete-input::-moz-placeholder{color:#bdc1c6}.w-container-small>i:last-of-type{color:#bdc1c6;left:12px!important;z-index:1}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete-panel{margin-top:4px;padding:8px 8px 12px;border-radius:8px}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete-panel i:last-of-type{left:8px}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete-panel ul{padding:0!important}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete-panel .p-autocomplete-item{border-radius:8px;height:28px;padding-bottom:8px;padding-top:8px;padding-left:16px}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete-panel .p-autocomplete-item:hover{background-color:#e0f5fc}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete-panel .p-autocomplete-item .item-content{padding-left:8px}\n"], dependencies: [{ 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: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i4.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "field", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "itemSize", "suggestions"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }] });
|
|
1690
|
+
], ngImport: i0, template: "<div *ngIf=\"formControl != null; else noNgControl\">\r\n <div *ngIf=\"getSizeName(sizeType.medium) == size; else inputSmall\">\r\n <span class=\"p-input-icon-left w-container w-full\">\r\n <i class=\"pi pi-search\"></i>\r\n <p-autoComplete\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\"\r\n class=\"wapp-autocomplete\"\r\n [suggestions]=\"suggestions\"\r\n (completeMethod)=\"search($event)\"\r\n [formControl]=\"formControl\"\r\n [placeholder]=\"placeholder\"\r\n field=\"name\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <div class=\"flex align-items-center gap-2\">\r\n <i class=\"pi pi-search\"></i>\r\n <div class=\"item-content\">{{item.name}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n </span>\r\n </div>\r\n <ng-template #inputSmall>\r\n <span class=\"p-input-icon-left w-container-small w-full\">\r\n <i class=\"pi pi-search\"></i>\r\n <p-autoComplete\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\"\r\n class=\"wapp-autocomplete-small\"\r\n [suggestions]=\"suggestions\"\r\n (completeMethod)=\"search($event)\"\r\n [formControl]=\"formControl\"\r\n [placeholder]=\"placeholder\"\r\n field=\"name\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <div class=\"flex align-items-center gap-2\">\r\n <i class=\"pi pi-search\"></i>\r\n <div class=\"item-content-small\">{{item.name}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n </span>\r\n </ng-template>\r\n</div>\r\n<ng-template #noNgControl>\r\n <div *ngIf=\"getSizeName(sizeType.medium) == size; else inputSmall\">\r\n <span class=\"p-input-icon-left w-container w-full\">\r\n <i class=\"pi pi-search\"></i>\r\n <p-autoComplete\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\"\r\n class=\"wapp-autocomplete\"\r\n [suggestions]=\"suggestions\"\r\n (completeMethod)=\"search($event)\"\r\n [placeholder]=\"placeholder\"\r\n [(ngModel)]=\"value\" \r\n (ngModelChange)=\"onValueChanged()\" \r\n [disabled]=\"isDisabled\"\r\n field=\"name\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <div class=\"flex align-items-center gap-2\">\r\n <i class=\"pi pi-search\"></i>\r\n <div class=\"item-content\">{{item.name}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n </span>\r\n </div>\r\n <ng-template #inputSmall>\r\n <span class=\"p-input-icon-left w-container-small w-full\">\r\n <i class=\"pi pi-search\"></i>\r\n <p-autoComplete\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\"\r\n class=\"wapp-autocomplete-small\"\r\n [suggestions]=\"suggestions\"\r\n [(ngModel)]=\"value\" \r\n (input)=\"onValueChanged()\" \r\n [disabled]=\"isDisabled\"\r\n (completeMethod)=\"search($event)\"\r\n [placeholder]=\"placeholder\"\r\n field=\"name\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <div class=\"flex align-items-center gap-2\">\r\n <i class=\"pi pi-search\"></i>\r\n <div class=\"item-content-small\">{{item.name}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n </span>\r\n </ng-template>\r\n</ng-template>", styles: [".heading1{font-size:3.1428571429rem;line-height:3.4285714286rem;font-weight:700}.heading2{font-size:2.8571428571rem;line-height:3.1428571429rem;font-weight:700}.heading3{font-size:2.5714285714rem;line-height:2.8571428571rem;font-weight:700}.heading4{font-size:2.2857142857rem;line-height:2.5714285714rem;font-weight:700}.heading5{font-size:2rem;line-height:2.2857142857rem;font-weight:700}.heading6{font-size:1.7142857143rem;line-height:2rem;font-weight:700}.subtitle1{font-size:1.4285714286rem;line-height:1.7142857143rem;font-weight:700}.subtitle2{font-size:1.1428571429rem;line-height:1.4285714286rem;font-weight:700}.body,.input-generic-placeholder-small,:host ::ng-deep .wapp-autocomplete-small .p-autocomplete .p-autocomplete-input::-moz-placeholder,.input-generic-small,:host ::ng-deep .wapp-autocomplete-small .p-autocomplete-panel,:host ::ng-deep .wapp-autocomplete-small .p-autocomplete .p-autocomplete-input{font-size:1rem;line-height:1.1428571429rem;font-weight:600}.caption{font-size:.8571428571rem;line-height:1.1428571429rem;font-weight:600}.icon-small-size{font-size:8px}.icon-small-x-size{font-size:12px}.icon-medium-size{font-size:16px}.icon-large-size{font-size:24px}.spacingXXS{padding:4px}.spacingXSM{padding:6px}.spacingXS{padding:8px}.spacingS{padding:12px}.spacingM{padding:16px}.spacingL{padding:20px}.spacingXL{padding:24px}.spacingXXL{padding:28px}.spacingXXXL{padding:32px}.focus{box-shadow:0 0 8px #00a6e980}.hover,:host ::ng-deep .wapp-autocomplete-small .p-autocomplete .p-autocomplete-input:hover,:host ::ng-deep .wapp-autocomplete .p-autocomplete .p-autocomplete-input:hover{border-radius:8px;border:2px solid #0085c7}.button-large-typography{font-size:20px;line-height:24px;font-weight:700}.button-medium-typography{font-size:16px;line-height:16px;font-weight:700}.button-small-typography{font-size:12px;line-height:16px;font-weight:700}.button-text-typography,.input-generic-label{font-size:14px;line-height:16px;font-weight:700}.input-generic-placeholder,:host ::ng-deep .wapp-autocomplete .p-autocomplete .p-autocomplete-input::-moz-placeholder{font-size:16px;line-height:24px;font-weight:600}.input-generic,:host ::ng-deep .wapp-autocomplete .p-autocomplete-panel,:host ::ng-deep .wapp-autocomplete .p-autocomplete .p-autocomplete-input{font-size:16px;line-height:24px;font-weight:600}.input-generic-placeholder-small,:host ::ng-deep .wapp-autocomplete-small .p-autocomplete .p-autocomplete-input::-moz-placeholder{padding:8px 12px 12px}.input-generic-valid{border-radius:8px;border:2px solid #B3FFD3}.input-generic-valid-focus{border-radius:8px;border:2px solid #B3FFD3!important;box-shadow:0 0 2px 2px #b3ffd3!important;padding-left:16px}.input-generic-warning{border-radius:8px;border:2px solid #FFECB8!important}.input-generic-warning-focus{border-radius:8px;border:2px solid #FFECB8!important;box-shadow:0 0 2px 2px #ffecb8!important;padding-left:16px}.input-generic-error{border-radius:8px;border:2px solid #FFBDBD}.tag-generic{font-size:14px;line-height:16px;font-weight:700}.tag-generic-small{font-size:12px;line-height:16px;font-weight:700}:host ::ng-deep .wapp-autocomplete .p-autocomplete .p-autocomplete-input{height:40px;padding-left:38px;border:2px solid #e8eaed;border-radius:8px}:host ::ng-deep .wapp-autocomplete .p-autocomplete .p-autocomplete-input:focus{border-radius:8px;border:2px #e0f5fc;box-shadow:0 0 4px 4px #00a6e940!important;padding-left:40px!important}:host ::ng-deep .wapp-autocomplete .p-autocomplete .p-autocomplete-input:focus::-moz-placeholder{color:transparent}:host ::ng-deep .wapp-autocomplete .p-autocomplete .p-autocomplete-input::-moz-placeholder{color:#bdc1c6}.w-container>i:last-of-type{color:#bdc1c6;left:16px!important;z-index:1}:host ::ng-deep .wapp-autocomplete .p-autocomplete-panel{margin-top:4px;padding:8px 8px 16px;border-radius:8px}:host ::ng-deep .wapp-autocomplete .p-autocomplete-panel i:last-of-type{left:16px}:host ::ng-deep .wapp-autocomplete .p-autocomplete-panel ul{padding:0!important}:host ::ng-deep .wapp-autocomplete .p-autocomplete-panel .p-autocomplete-item{border-radius:8px;height:40px;padding-bottom:8px;padding-top:8px;padding-left:16px}:host ::ng-deep .wapp-autocomplete .p-autocomplete-panel .p-autocomplete-item:hover{background-color:#e0f5fc}:host ::ng-deep .wapp-autocomplete .p-autocomplete-panel .p-autocomplete-item .item-content{padding-left:8px}:host ::ng-deep .p-element .p-overlay{width:100%}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete .p-autocomplete-input{height:32px;padding-left:32px;border:2px solid #e8eaed;border-radius:8px}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete .p-autocomplete-input:focus{border-radius:8px;border:2px #e0f5fc;box-shadow:0 0 4px 4px #00a6e940!important;padding-left:34px!important}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete .p-autocomplete-input:focus::-moz-placeholder{color:transparent}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete .p-autocomplete-input::-moz-placeholder{color:#bdc1c6}.w-container-small>i:last-of-type{color:#bdc1c6;left:12px!important;z-index:1}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete-panel{margin-top:4px;padding:8px 8px 12px;border-radius:8px}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete-panel i:last-of-type{left:8px}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete-panel ul{padding:0!important}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete-panel .p-autocomplete-item{border-radius:8px;height:28px;padding-bottom:8px;padding-top:8px;padding-left:16px}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete-panel .p-autocomplete-item:hover{background-color:#e0f5fc}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete-panel .p-autocomplete-item .item-content{padding-left:8px}\n"], dependencies: [{ 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: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i4.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "field", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "itemSize", "suggestions"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }] });
|
|
1702
1691
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: WInputSearchComponent, decorators: [{
|
|
1703
1692
|
type: Component,
|
|
1704
1693
|
args: [{ selector: 'w-input-search', providers: [
|
|
@@ -1707,49 +1696,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
1707
1696
|
useExisting: forwardRef(() => WInputSearchComponent),
|
|
1708
1697
|
multi: true
|
|
1709
1698
|
}
|
|
1710
|
-
], template: "<div *ngIf=\"formControl != null; else noNgControl\">\r\n <div *ngIf=\"getSizeName(sizeType.medium) == size; else inputSmall\">\r\n <span class=\"p-input-icon-left w-container w-full\">\r\n <i class=\"pi pi-search\"></i>\r\n <p-autoComplete\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\"\r\n class=\"wapp-autocomplete\"\r\n [suggestions]=\"suggestions\"\r\n (completeMethod)=\"search($event)\"\r\n [formControl]=\"formControl\"\r\n [placeholder]=\"placeholder\"\r\n field=\"name\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <div class=\"flex align-items-center gap-2\">\r\n <i class=\"pi pi-search\"></i>\r\n <div class=\"item-content\">{{item.name}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n </span>\r\n </div>\r\n <ng-template #inputSmall>\r\n <span class=\"p-input-icon-left w-container-small w-full\">\r\n <i class=\"pi pi-search\"></i>\r\n <p-autoComplete\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\"\r\n class=\"wapp-autocomplete-small\"\r\n [suggestions]=\"suggestions\"\r\n (completeMethod)=\"search($event)\"\r\n [formControl]=\"formControl\"\r\n [placeholder]=\"placeholder\"\r\n field=\"name\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <div class=\"flex align-items-center gap-2\">\r\n <i class=\"pi pi-search\"></i>\r\n <div class=\"item-content-small\">{{item.name}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n </span>\r\n </ng-template>\r\n</div>\r\n<ng-template #noNgControl>\r\n <div *ngIf=\"getSizeName(sizeType.medium) == size; else inputSmall\">\r\n <span class=\"p-input-icon-left w-container w-full\">\r\n <i class=\"pi pi-search\"></i>\r\n <p-autoComplete\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\"\r\n class=\"wapp-autocomplete\"\r\n [suggestions]=\"suggestions\"\r\n (completeMethod)=\"search($event)\"\r\n [placeholder]=\"placeholder\"\r\n [(ngModel)]=\"value\" \r\n (input)=\"onValueChanged()\" \r\n [disabled]=\"isDisabled\"\r\n field=\"name\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <div class=\"flex align-items-center gap-2\">\r\n <i class=\"pi pi-search\"></i>\r\n <div class=\"item-content\">{{item.name}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n </span>\r\n </div>\r\n <ng-template #inputSmall>\r\n <span class=\"p-input-icon-left w-container-small w-full\">\r\n <i class=\"pi pi-search\"></i>\r\n <p-autoComplete\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\"\r\n class=\"wapp-autocomplete-small\"\r\n [suggestions]=\"suggestions\"\r\n [(ngModel)]=\"value\" \r\n (input)=\"onValueChanged()\" \r\n [disabled]=\"isDisabled\"\r\n (completeMethod)=\"search($event)\"\r\n [placeholder]=\"placeholder\"\r\n field=\"name\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <div class=\"flex align-items-center gap-2\">\r\n <i class=\"pi pi-search\"></i>\r\n <div class=\"item-content-small\">{{item.name}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n </span>\r\n </ng-template>\r\n</ng-template>", styles: [".heading1{font-size:3.1428571429rem;line-height:3.4285714286rem;font-weight:700}.heading2{font-size:2.8571428571rem;line-height:3.1428571429rem;font-weight:700}.heading3{font-size:2.5714285714rem;line-height:2.8571428571rem;font-weight:700}.heading4{font-size:2.2857142857rem;line-height:2.5714285714rem;font-weight:700}.heading5{font-size:2rem;line-height:2.2857142857rem;font-weight:700}.heading6{font-size:1.7142857143rem;line-height:2rem;font-weight:700}.subtitle1{font-size:1.4285714286rem;line-height:1.7142857143rem;font-weight:700}.subtitle2{font-size:1.1428571429rem;line-height:1.4285714286rem;font-weight:700}.body,.input-generic-placeholder-small,:host ::ng-deep .wapp-autocomplete-small .p-autocomplete .p-autocomplete-input::-moz-placeholder,.input-generic-small,:host ::ng-deep .wapp-autocomplete-small .p-autocomplete-panel,:host ::ng-deep .wapp-autocomplete-small .p-autocomplete .p-autocomplete-input{font-size:1rem;line-height:1.1428571429rem;font-weight:600}.caption{font-size:.8571428571rem;line-height:1.1428571429rem;font-weight:600}.icon-small-size{font-size:8px}.icon-small-x-size{font-size:12px}.icon-medium-size{font-size:16px}.icon-large-size{font-size:24px}.spacingXXS{padding:4px}.spacingXSM{padding:6px}.spacingXS{padding:8px}.spacingS{padding:12px}.spacingM{padding:16px}.spacingL{padding:20px}.spacingXL{padding:24px}.spacingXXL{padding:28px}.spacingXXXL{padding:32px}.focus{box-shadow:0 0 8px #00a6e980}.hover,:host ::ng-deep .wapp-autocomplete-small .p-autocomplete .p-autocomplete-input:hover,:host ::ng-deep .wapp-autocomplete .p-autocomplete .p-autocomplete-input:hover{border-radius:8px;border:2px solid #0085c7}.button-large-typography{font-size:20px;line-height:24px;font-weight:700}.button-medium-typography{font-size:16px;line-height:16px;font-weight:700}.button-small-typography{font-size:12px;line-height:16px;font-weight:700}.button-text-typography,.input-generic-label{font-size:14px;line-height:16px;font-weight:700}.input-generic-placeholder,:host ::ng-deep .wapp-autocomplete .p-autocomplete .p-autocomplete-input::-moz-placeholder{font-size:16px;line-height:24px;font-weight:600}.input-generic,:host ::ng-deep .wapp-autocomplete .p-autocomplete-panel,:host ::ng-deep .wapp-autocomplete .p-autocomplete .p-autocomplete-input{font-size:16px;line-height:24px;font-weight:600}.input-generic-placeholder-small,:host ::ng-deep .wapp-autocomplete-small .p-autocomplete .p-autocomplete-input::-moz-placeholder{padding:8px 12px 12px}.input-generic-valid{border-radius:8px;border:2px solid #B3FFD3}.input-generic-valid-focus{border-radius:8px;border:2px solid #B3FFD3!important;box-shadow:0 0 2px 2px #b3ffd3!important;padding-left:16px}.input-generic-warning{border-radius:8px;border:2px solid #FFECB8!important}.input-generic-warning-focus{border-radius:8px;border:2px solid #FFECB8!important;box-shadow:0 0 2px 2px #ffecb8!important;padding-left:16px}.input-generic-error{border-radius:8px;border:2px solid #FFBDBD}.tag-generic{font-size:14px;line-height:16px;font-weight:700}.tag-generic-small{font-size:12px;line-height:16px;font-weight:700}:host ::ng-deep .wapp-autocomplete .p-autocomplete .p-autocomplete-input{height:40px;padding-left:38px;border:2px solid #e8eaed;border-radius:8px}:host ::ng-deep .wapp-autocomplete .p-autocomplete .p-autocomplete-input:focus{border-radius:8px;border:2px #e0f5fc;box-shadow:0 0 4px 4px #00a6e940!important;padding-left:40px!important}:host ::ng-deep .wapp-autocomplete .p-autocomplete .p-autocomplete-input:focus::-moz-placeholder{color:transparent}:host ::ng-deep .wapp-autocomplete .p-autocomplete .p-autocomplete-input::-moz-placeholder{color:#bdc1c6}.w-container>i:last-of-type{color:#bdc1c6;left:16px!important;z-index:1}:host ::ng-deep .wapp-autocomplete .p-autocomplete-panel{margin-top:4px;padding:8px 8px 16px;border-radius:8px}:host ::ng-deep .wapp-autocomplete .p-autocomplete-panel i:last-of-type{left:16px}:host ::ng-deep .wapp-autocomplete .p-autocomplete-panel ul{padding:0!important}:host ::ng-deep .wapp-autocomplete .p-autocomplete-panel .p-autocomplete-item{border-radius:8px;height:40px;padding-bottom:8px;padding-top:8px;padding-left:16px}:host ::ng-deep .wapp-autocomplete .p-autocomplete-panel .p-autocomplete-item:hover{background-color:#e0f5fc}:host ::ng-deep .wapp-autocomplete .p-autocomplete-panel .p-autocomplete-item .item-content{padding-left:8px}:host ::ng-deep .p-element .p-overlay{width:100%}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete .p-autocomplete-input{height:32px;padding-left:32px;border:2px solid #e8eaed;border-radius:8px}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete .p-autocomplete-input:focus{border-radius:8px;border:2px #e0f5fc;box-shadow:0 0 4px 4px #00a6e940!important;padding-left:34px!important}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete .p-autocomplete-input:focus::-moz-placeholder{color:transparent}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete .p-autocomplete-input::-moz-placeholder{color:#bdc1c6}.w-container-small>i:last-of-type{color:#bdc1c6;left:12px!important;z-index:1}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete-panel{margin-top:4px;padding:8px 8px 12px;border-radius:8px}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete-panel i:last-of-type{left:8px}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete-panel ul{padding:0!important}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete-panel .p-autocomplete-item{border-radius:8px;height:28px;padding-bottom:8px;padding-top:8px;padding-left:16px}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete-panel .p-autocomplete-item:hover{background-color:#e0f5fc}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete-panel .p-autocomplete-item .item-content{padding-left:8px}\n"] }]
|
|
1711
|
-
}], propDecorators: {
|
|
1712
|
-
type: Input,
|
|
1713
|
-
args: ['inputValue']
|
|
1714
|
-
}], onValueEvent: [{
|
|
1715
|
-
type: Output,
|
|
1716
|
-
args: ['onValue']
|
|
1717
|
-
}], label: [{
|
|
1699
|
+
], template: "<div *ngIf=\"formControl != null; else noNgControl\">\r\n <div *ngIf=\"getSizeName(sizeType.medium) == size; else inputSmall\">\r\n <span class=\"p-input-icon-left w-container w-full\">\r\n <i class=\"pi pi-search\"></i>\r\n <p-autoComplete\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\"\r\n class=\"wapp-autocomplete\"\r\n [suggestions]=\"suggestions\"\r\n (completeMethod)=\"search($event)\"\r\n [formControl]=\"formControl\"\r\n [placeholder]=\"placeholder\"\r\n field=\"name\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <div class=\"flex align-items-center gap-2\">\r\n <i class=\"pi pi-search\"></i>\r\n <div class=\"item-content\">{{item.name}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n </span>\r\n </div>\r\n <ng-template #inputSmall>\r\n <span class=\"p-input-icon-left w-container-small w-full\">\r\n <i class=\"pi pi-search\"></i>\r\n <p-autoComplete\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\"\r\n class=\"wapp-autocomplete-small\"\r\n [suggestions]=\"suggestions\"\r\n (completeMethod)=\"search($event)\"\r\n [formControl]=\"formControl\"\r\n [placeholder]=\"placeholder\"\r\n field=\"name\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <div class=\"flex align-items-center gap-2\">\r\n <i class=\"pi pi-search\"></i>\r\n <div class=\"item-content-small\">{{item.name}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n </span>\r\n </ng-template>\r\n</div>\r\n<ng-template #noNgControl>\r\n <div *ngIf=\"getSizeName(sizeType.medium) == size; else inputSmall\">\r\n <span class=\"p-input-icon-left w-container w-full\">\r\n <i class=\"pi pi-search\"></i>\r\n <p-autoComplete\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\"\r\n class=\"wapp-autocomplete\"\r\n [suggestions]=\"suggestions\"\r\n (completeMethod)=\"search($event)\"\r\n [placeholder]=\"placeholder\"\r\n [(ngModel)]=\"value\" \r\n (ngModelChange)=\"onValueChanged()\" \r\n [disabled]=\"isDisabled\"\r\n field=\"name\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <div class=\"flex align-items-center gap-2\">\r\n <i class=\"pi pi-search\"></i>\r\n <div class=\"item-content\">{{item.name}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n </span>\r\n </div>\r\n <ng-template #inputSmall>\r\n <span class=\"p-input-icon-left w-container-small w-full\">\r\n <i class=\"pi pi-search\"></i>\r\n <p-autoComplete\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\"\r\n class=\"wapp-autocomplete-small\"\r\n [suggestions]=\"suggestions\"\r\n [(ngModel)]=\"value\" \r\n (input)=\"onValueChanged()\" \r\n [disabled]=\"isDisabled\"\r\n (completeMethod)=\"search($event)\"\r\n [placeholder]=\"placeholder\"\r\n field=\"name\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <div class=\"flex align-items-center gap-2\">\r\n <i class=\"pi pi-search\"></i>\r\n <div class=\"item-content-small\">{{item.name}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n </span>\r\n </ng-template>\r\n</ng-template>", styles: [".heading1{font-size:3.1428571429rem;line-height:3.4285714286rem;font-weight:700}.heading2{font-size:2.8571428571rem;line-height:3.1428571429rem;font-weight:700}.heading3{font-size:2.5714285714rem;line-height:2.8571428571rem;font-weight:700}.heading4{font-size:2.2857142857rem;line-height:2.5714285714rem;font-weight:700}.heading5{font-size:2rem;line-height:2.2857142857rem;font-weight:700}.heading6{font-size:1.7142857143rem;line-height:2rem;font-weight:700}.subtitle1{font-size:1.4285714286rem;line-height:1.7142857143rem;font-weight:700}.subtitle2{font-size:1.1428571429rem;line-height:1.4285714286rem;font-weight:700}.body,.input-generic-placeholder-small,:host ::ng-deep .wapp-autocomplete-small .p-autocomplete .p-autocomplete-input::-moz-placeholder,.input-generic-small,:host ::ng-deep .wapp-autocomplete-small .p-autocomplete-panel,:host ::ng-deep .wapp-autocomplete-small .p-autocomplete .p-autocomplete-input{font-size:1rem;line-height:1.1428571429rem;font-weight:600}.caption{font-size:.8571428571rem;line-height:1.1428571429rem;font-weight:600}.icon-small-size{font-size:8px}.icon-small-x-size{font-size:12px}.icon-medium-size{font-size:16px}.icon-large-size{font-size:24px}.spacingXXS{padding:4px}.spacingXSM{padding:6px}.spacingXS{padding:8px}.spacingS{padding:12px}.spacingM{padding:16px}.spacingL{padding:20px}.spacingXL{padding:24px}.spacingXXL{padding:28px}.spacingXXXL{padding:32px}.focus{box-shadow:0 0 8px #00a6e980}.hover,:host ::ng-deep .wapp-autocomplete-small .p-autocomplete .p-autocomplete-input:hover,:host ::ng-deep .wapp-autocomplete .p-autocomplete .p-autocomplete-input:hover{border-radius:8px;border:2px solid #0085c7}.button-large-typography{font-size:20px;line-height:24px;font-weight:700}.button-medium-typography{font-size:16px;line-height:16px;font-weight:700}.button-small-typography{font-size:12px;line-height:16px;font-weight:700}.button-text-typography,.input-generic-label{font-size:14px;line-height:16px;font-weight:700}.input-generic-placeholder,:host ::ng-deep .wapp-autocomplete .p-autocomplete .p-autocomplete-input::-moz-placeholder{font-size:16px;line-height:24px;font-weight:600}.input-generic,:host ::ng-deep .wapp-autocomplete .p-autocomplete-panel,:host ::ng-deep .wapp-autocomplete .p-autocomplete .p-autocomplete-input{font-size:16px;line-height:24px;font-weight:600}.input-generic-placeholder-small,:host ::ng-deep .wapp-autocomplete-small .p-autocomplete .p-autocomplete-input::-moz-placeholder{padding:8px 12px 12px}.input-generic-valid{border-radius:8px;border:2px solid #B3FFD3}.input-generic-valid-focus{border-radius:8px;border:2px solid #B3FFD3!important;box-shadow:0 0 2px 2px #b3ffd3!important;padding-left:16px}.input-generic-warning{border-radius:8px;border:2px solid #FFECB8!important}.input-generic-warning-focus{border-radius:8px;border:2px solid #FFECB8!important;box-shadow:0 0 2px 2px #ffecb8!important;padding-left:16px}.input-generic-error{border-radius:8px;border:2px solid #FFBDBD}.tag-generic{font-size:14px;line-height:16px;font-weight:700}.tag-generic-small{font-size:12px;line-height:16px;font-weight:700}:host ::ng-deep .wapp-autocomplete .p-autocomplete .p-autocomplete-input{height:40px;padding-left:38px;border:2px solid #e8eaed;border-radius:8px}:host ::ng-deep .wapp-autocomplete .p-autocomplete .p-autocomplete-input:focus{border-radius:8px;border:2px #e0f5fc;box-shadow:0 0 4px 4px #00a6e940!important;padding-left:40px!important}:host ::ng-deep .wapp-autocomplete .p-autocomplete .p-autocomplete-input:focus::-moz-placeholder{color:transparent}:host ::ng-deep .wapp-autocomplete .p-autocomplete .p-autocomplete-input::-moz-placeholder{color:#bdc1c6}.w-container>i:last-of-type{color:#bdc1c6;left:16px!important;z-index:1}:host ::ng-deep .wapp-autocomplete .p-autocomplete-panel{margin-top:4px;padding:8px 8px 16px;border-radius:8px}:host ::ng-deep .wapp-autocomplete .p-autocomplete-panel i:last-of-type{left:16px}:host ::ng-deep .wapp-autocomplete .p-autocomplete-panel ul{padding:0!important}:host ::ng-deep .wapp-autocomplete .p-autocomplete-panel .p-autocomplete-item{border-radius:8px;height:40px;padding-bottom:8px;padding-top:8px;padding-left:16px}:host ::ng-deep .wapp-autocomplete .p-autocomplete-panel .p-autocomplete-item:hover{background-color:#e0f5fc}:host ::ng-deep .wapp-autocomplete .p-autocomplete-panel .p-autocomplete-item .item-content{padding-left:8px}:host ::ng-deep .p-element .p-overlay{width:100%}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete .p-autocomplete-input{height:32px;padding-left:32px;border:2px solid #e8eaed;border-radius:8px}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete .p-autocomplete-input:focus{border-radius:8px;border:2px #e0f5fc;box-shadow:0 0 4px 4px #00a6e940!important;padding-left:34px!important}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete .p-autocomplete-input:focus::-moz-placeholder{color:transparent}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete .p-autocomplete-input::-moz-placeholder{color:#bdc1c6}.w-container-small>i:last-of-type{color:#bdc1c6;left:12px!important;z-index:1}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete-panel{margin-top:4px;padding:8px 8px 12px;border-radius:8px}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete-panel i:last-of-type{left:8px}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete-panel ul{padding:0!important}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete-panel .p-autocomplete-item{border-radius:8px;height:28px;padding-bottom:8px;padding-top:8px;padding-left:16px}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete-panel .p-autocomplete-item:hover{background-color:#e0f5fc}:host ::ng-deep .wapp-autocomplete-small .p-autocomplete-panel .p-autocomplete-item .item-content{padding-left:8px}\n"] }]
|
|
1700
|
+
}], propDecorators: { label: [{
|
|
1718
1701
|
type: Input,
|
|
1719
1702
|
args: ['label']
|
|
1720
1703
|
}], placeholder: [{
|
|
1721
1704
|
type: Input,
|
|
1722
1705
|
args: ['placeholder']
|
|
1723
|
-
}], rows: [{
|
|
1724
|
-
type: Input,
|
|
1725
|
-
args: ['rows']
|
|
1726
|
-
}], minlength: [{
|
|
1727
|
-
type: Input,
|
|
1728
|
-
args: ['minlength']
|
|
1729
|
-
}], maxlength: [{
|
|
1730
|
-
type: Input,
|
|
1731
|
-
args: ['maxlength']
|
|
1732
|
-
}], autoResize: [{
|
|
1733
|
-
type: Input,
|
|
1734
|
-
args: ['autoResize']
|
|
1735
1706
|
}], isRequired: [{
|
|
1736
1707
|
type: Input,
|
|
1737
1708
|
args: ['isRequired']
|
|
1738
1709
|
}], isDisabled: [{
|
|
1739
1710
|
type: Input,
|
|
1740
1711
|
args: ['isDisabled']
|
|
1741
|
-
}], successMessage: [{
|
|
1742
|
-
type: Input,
|
|
1743
|
-
args: ['successMessage']
|
|
1744
|
-
}], requiredErrorDescription: [{
|
|
1745
|
-
type: Input,
|
|
1746
|
-
args: ['requiredErrorDescription']
|
|
1747
|
-
}], minlengthErrorDescription: [{
|
|
1748
|
-
type: Input,
|
|
1749
|
-
args: ['minlengthErrorDescription']
|
|
1750
|
-
}], maxlengthErrorDescription: [{
|
|
1751
|
-
type: Input,
|
|
1752
|
-
args: ['maxlengthErrorDescription']
|
|
1753
1712
|
}], size: [{
|
|
1754
1713
|
type: Input,
|
|
1755
1714
|
args: ['size']
|
|
@@ -2232,10 +2191,10 @@ class WFilterPanelComponent {
|
|
|
2232
2191
|
}
|
|
2233
2192
|
}
|
|
2234
2193
|
WFilterPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: WFilterPanelComponent, deps: [{ token: i1.FormBuilder }, { token: ApiService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2235
|
-
WFilterPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: WFilterPanelComponent, selector: "w-filter-panel", inputs: { authorizationApiUrl: ["apiUrl", "authorizationApiUrl"], commonDataApiUrl: "commonDataApiUrl", token: "token", commonDataToken: "commonDataToken", filterId: "filterId", dataIsLoadingSearchButton: "dataIsLoadingSearchButton", translationsObject: "translationsObject" }, outputs: { searchClicked: "searchClicked", clearClicked: "clearClicked" }, ngImport: i0, template: "<div *ngIf=\"queryConfigReady\" class=\"wapp-filter-panel-styles\">\r\n <div *ngIf=\"!filterPanelObject.allowAdvancedSearch; else baiscAndAdvanced\">\r\n <div class=\"filter-panel-container\">\r\n <ng-container *ngTemplateOutlet=\"basic\"></ng-container>\r\n <div class=\"flex justify-content-end button-gap\">\r\n <p-button [label]=\"translationsObject.clearButtonLabel\" styleClass=\"p-button-outlined\" (click)=\"onClearClicked()\"></p-button>\r\n <p-button [label]=\"translationsObject.searchButtonLabel\" (click)=\"onSearchClicked()\"></p-button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-template #baiscAndAdvanced>\r\n <div class=\"filter-panel-container\">\r\n <div *ngIf=\"!isAdvancedSearch; else advancedView\">\r\n <ng-container *ngTemplateOutlet=\"basic\"></ng-container>\r\n </div>\r\n <ng-template #advancedView>\r\n <ng-container *ngTemplateOutlet=\"advanced\"></ng-container>\r\n </ng-template>\r\n\r\n <div class=\"flex justify-content-end button-gap\" [class.pt-3]=\"isAdvancedSearch\">\r\n <p-button [label]=\"translationsObject.clearButtonLabel\" styleClass=\"p-button-outlined\" (click)=\"onClearClicked()\"></p-button>\r\n <p-button [label]=\"translationsObject.searchButtonLabel\" (click)=\"onSearchClicked()\" [loading]=\"dataIsLoadingSearchButton\"></p-button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </div>\r\n\r\n <ng-template #basic>\r\n <div *ngIf=\"filterPanelObject.allowAdvancedSearch\" class=\"flex justify-content-end flex-wrap\">\r\n <p-button [label]=\"translationsObject.advancedSearchTabLabel\" styleClass=\"p-button-text\" (click)=\"updateSearchType()\"></p-button>\r\n </div>\r\n <div class=\"basic-filter-panel query-builder-style fadein animation-duration-500\">\r\n <query-builder [formControl]='queryCtrl' [config]='basicQueryConfig' [allowRuleset]='filterPanelObject.allowRuleSet' [allowRuleset]=\"filterPanelObject.allowRuleSet\" [persistValueOnFieldChange]='persistValueOnFieldChange'>\r\n <ng-container *queryButtonGroup=\"let ruleset;\">\r\n </ng-container>\r\n\r\n <ng-container *queryRemoveButton=\"let rule; let removeRule=removeRule\">\r\n </ng-container>\r\n\r\n <ng-container *querySwitchGroup=\"let ruleset; let onChange=onChange\">\r\n </ng-container>\r\n\r\n <ng-container *queryEntity=\"let rule; let entities=entities; let onChange=onChange\">\r\n <p-dropdown [disabled]=\"true\" class=\"field-gap w-edit-select-input-small\" *ngIf=\"false\" appendTo=\"body\" [options]=\"entities\" [(ngModel)]=\"rule.entity\" optionLabel=\"name\" optionValue=\"value\" (ngModelChange)=\"onChange($event, rule)\"></p-dropdown>\r\n </ng-container>\r\n\r\n <ng-container *queryField=\"let rule; let fields=fields; let onChange=onChange; let getFields = getFields\">\r\n <span class=\"query-builder-field-width\">\r\n <p-dropdown [disabled]=\"true\" class=\"field-gap w-edit-select-input-small select-disabled\" appendTo=\"body\" [options]=\"getFields(rule.entity)\" [(ngModel)]=\"rule.field\" optionLabel=\"name\" optionValue=\"value\" (ngModelChange)=\"onChange($event, rule)\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryOperator=\"let rule; let operators=operators; let onChange=onChange\">\r\n <span class=\"query-builder-operator-width\">\r\n <p-dropdown class=\"field-gap w-edit-select-input-small\" *ngIf=\"isAdvancedSearch\" appendTo=\"body\" [(ngModel)]=\"rule.operator\" [options]=\"operators\" (ngModelChange)=\"onChange(rule)\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; type: qbDataTypeEnum.Boolean.toString(); let onChange=onChange\">\r\n <p-toggleButton class=\"field-gap toggle-button-align\" [(ngModel)]=\"rule.value\" onLabel=\"True\" offLabel=\"False\" (ngModelChange)=\"onChange()\"></p-toggleButton>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; type: qbDataTypeEnum.Datetime.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-calendar class=\"field-gap\" appendTo=\"body\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" [showTime]=\"true\" [showSeconds]=\"true\" [placeholder]=\"translationsObject.fieldsPlaceholders.datetime\"></p-calendar>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Decimal.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-inputNumber inputStyleClass=\"flex flex-1\" styleClass=\"flex flex-1\" class=\"field-gap wapp-input-number height-input\" [(ngModel)]=\"rule.value\" inputId=\"minmax\" inputId=\"minmax\" mode=\"decimal\" [minFractionDigits]=\"2\" [maxFractionDigits]=\"5\" [min]=\"0\" [max]=\"100\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.decimal\"> </p-inputNumber>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.List.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-dropdown class=\"field-gap w-edit-select-input-small\" appendTo=\"body\" [options]=\"options\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" optionLabel=\"name\" optionValue=\"value\" [placeholder]=\"translationsObject.fieldsPlaceholders.list\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Number.toString(); let onChange=onChange\">\r\n <p-inputNumber inputStyleClass=\"flex flex-1\" styleClass=\"flex flex-1\" class=\"field-gap wapp-input-number height-input\" [(ngModel)]=\"rule.value\" inputId=\"minmax\" inputId=\"minmax\" [min]=\"0\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.number\"> </p-inputNumber>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Text.toString(); let onChange=onChange\">\r\n <input class=\"field-gap query-builder-input-width height-input wapp-input\" type=\"text\" pInputText [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.text\"/>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.List.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-multiSelect class=\"field-gap\" [appendTo]=\"'body'\" [options]=\"options\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" optionLabel=\"name\" optionValue=\"value\" display=\"chip\" [placeholder]=\"translationsObject.fieldsPlaceholders.list\"></p-multiSelect>\r\n </span>\r\n </ng-container>\r\n </query-builder>\r\n </div>\r\n\r\n <ng-container *ngIf=\"!isAdvancedSearch && basicQuery.rules.length==0\" >\r\n <ng-container *ngTemplateOutlet=\"noQueryData\"></ng-container>\r\n </ng-container>\r\n\r\n </ng-template>\r\n\r\n <ng-template #advanced>\r\n <div [class.query-builder-style]=\"!filterPanelObject.allowRuleSet\" class=\"wapp-filter-panel-container fadein animation-duration-500\">\r\n <div *ngIf=\"filterPanelObject.allowRuleSet\" class=\"flex justify-content-end flex-wrap\">\r\n <p-button class=\"mb-2\" [label]=\"translationsObject.basicSearchTabLabel\" styleClass=\"p-button-text\" (click)=\"updateSearchType()\"></p-button>\r\n </div>\r\n <query-builder [formControl]='advancedQueryCtrl' [config]='advancedQueryConfig' [allowRuleset]='filterPanelObject.allowRuleSet' [allowCollapse]='filterPanelObject.allowColapse' [allowRuleset]=\"filterPanelObject.allowRuleSet\" [persistValueOnFieldChange]='persistValueOnFieldChange'>\r\n <div *ngIf=\"filterPanelObject.allowRuleSet; else noRuleSet\">\r\n <ng-container *queryButtonGroup=\"let ruleset; let addRule=addRule; let addRuleSet=addRuleSet; let removeRuleSet=removeRuleSet\">\r\n <p-button class=\"mr-2\" [label]=\"translationsObject.advancedSearch.addRuleButtonLabel\" styleClass=\"p-button-outlined\" (click)=\"addRule()\"></p-button>\r\n <p-button class=\"mr-2\" [label]=\"translationsObject.advancedSearch.addRuleSetButtonLabel\" styleClass=\"p-button-outlined\" icon=\"pi pi-plus\" *ngIf=\"addRuleSet\" (click)=\"addRuleSet()\"></p-button>\r\n <p-button class=\"mr-2\" [label]=\"translationsObject.advancedSearch.removeRuleSetButtonLabel\" styleClass=\"p-button-outlined p-button-danger\" icon=\"pi pi-minus\" *ngIf=\"removeRuleSet\" (click)=\"removeRuleSet()\"></p-button>\r\n </ng-container>\r\n </div>\r\n\r\n <ng-template #noRuleSet>\r\n <ng-container *queryButtonGroup=\"let ruleset; let addRule=addRule; let addRuleSet=addRuleSet; let removeRuleSet=removeRuleSet\">\r\n <div class=\"flex justify-content-end flex-wrap\">\r\n <p-button [label]=\"translationsObject.basicSearchTabLabel\" styleClass=\"p-button-text\" (click)=\"updateSearchType()\"></p-button>\r\n </div>\r\n <span class=\"advanced-query-button-group gap-3\">\r\n <p-button [label]=\"translationsObject.advancedSearch.addRuleButtonLabel\" styleClass=\"p-button-outlined\" (click)=\"addRule()\"></p-button>\r\n <p-button [label]=\"translationsObject.advancedSearch.addRuleSetButtonLabel\" styleClass=\"p-button-outlined\" icon=\"pi pi-plus\" *ngIf=\"addRuleSet\" (click)=\"addRuleSet()\"></p-button>\r\n <p-button [label]=\"translationsObject.advancedSearch.removeRuleSetButtonLabel\" styleClass=\"p-button-outlined p-button-danger\" icon=\"pi pi-minus\" *ngIf=\"removeRuleSet\" (click)=\"removeRuleSet()\"></p-button>\r\n </span>\r\n </ng-container>\r\n </ng-template>\r\n <ng-container *queryArrowIcon>\r\n <button pButton pRipple type=\"button\" icon=\"pi pi-angle-right\" class=\"p-button-rounded p-button-text\"></button>\r\n </ng-container>\r\n\r\n <ng-container *queryRemoveButton=\"let rule; let removeRule=removeRule\">\r\n <p-button label=\"\" styleClass=\"p-button-outlined p-button-danger\" icon=\"pi pi-times\" (click)=\"removeRule(rule)\"></p-button>\r\n </ng-container>\r\n\r\n <ng-container *querySwitchGroup=\"let ruleset; let onChange=onChange\">\r\n <div *ngIf=\"ruleset\" class=\"switch-group-padding\">\r\n <p-selectButton *ngIf=\"filterPanelObject.allowLogicalRule\" [options]=\"stateOptions\" [(ngModel)]=\"ruleset.condition\" optionLabel=\"label\" optionValue=\"value\"></p-selectButton>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *queryEntity=\"let rule; let entities=entities; let onChange=onChange\">\r\n <p-dropdown *ngIf=\"filterPanelObject.enityMode\" class=\"field-gap w-edit-select-input-small\" appendTo=\"body\" [options]=\"entities\" [(ngModel)]=\"rule.entity\" optionLabel=\"name\" optionValue=\"value\" (ngModelChange)=\"onChange($event, rule)\"></p-dropdown>\r\n </ng-container>\r\n\r\n <ng-container *queryField=\"let rule; let fields=fields; let onChange=onChange; let getFields = getFields\">\r\n <span class=\"query-builder-field-width\">\r\n <p-dropdown class=\"field-gap w-edit-select-input-small\" appendTo=\"body\" [options]=\"getFields(rule.entity)\" [(ngModel)]=\"rule.field\" optionLabel=\"name\" optionValue=\"value\" (ngModelChange)=\"onChange($event, rule)\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryOperator=\"let rule; let operators=operators; let onChange=onChange\">\r\n <span class=\"query-builder-operator-width\">\r\n <p-dropdown class=\"field-gap w-edit-select-input-small\" appendTo=\"body\" [(ngModel)]=\"rule.operator\" [options]=\"operators\" (ngModelChange)=\"onChange(rule)\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; type: qbDataTypeEnum.Boolean.toString(); let onChange=onChange\">\r\n <p-toggleButton class=\"field-gap toggle-button-align\" [(ngModel)]=\"rule.value\" onLabel=\"True\" offLabel=\"False\" (ngModelChange)=\"onChange()\"></p-toggleButton>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; type: qbDataTypeEnum.Datetime.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-calendar class=\"field-gap\" appendTo=\"body\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" [showTime]=\"true\" [showSeconds]=\"true\" [placeholder]=\"translationsObject.fieldsPlaceholders.datetime\"></p-calendar>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Decimal.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-inputNumber inputStyleClass=\"flex flex-1\" styleClass=\"flex flex-1\" class=\"field-gap wapp-input-number height-input\" [(ngModel)]=\"rule.value\" inputId=\"minmax\" inputId=\"minmax\" mode=\"decimal\" [minFractionDigits]=\"2\" [maxFractionDigits]=\"5\" [min]=\"0\" [max]=\"100\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.decimal\"> </p-inputNumber>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.List.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width field-gap\">\r\n <w-list-field [options]=\"options\" [(ngModel)]=\"rule.value\" [operator]=\"rule.operator\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.list\"></w-list-field>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Number.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-inputNumber inputStyleClass=\"flex flex-1\" styleClass=\"flex flex-1\" class=\"field-gap wapp-input-number height-input\" [(ngModel)]=\"rule.value\" inputId=\"minmax\" inputId=\"minmax\" [min]=\"0\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.number\"> </p-inputNumber>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Text.toString(); let onChange=onChange\">\r\n <input class=\"field-gap query-builder-input-width height-input wapp-input\" type=\"text\" pInputText [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.text\"/>\r\n </ng-container>\r\n </query-builder>\r\n\r\n <ng-container *ngIf=\"isAdvancedSearch && advancedQuery.rules.length==0\" >\r\n <ng-container *ngTemplateOutlet=\"noQueryData\"></ng-container>\r\n </ng-container>\r\n\r\n <!-- Grouped filter -->\r\n <div *ngIf=\"filterPanelObject.allowGrouped\">\r\n <div class=\"py-5\">\r\n <wapp-view-card-title-text [cardTitle]=\"translationsObject.groupedFilterTitle\"></wapp-view-card-title-text>\r\n </div>\r\n\r\n <query-builder [formControl]='groupedQueryCtrl' [config]='advancedQueryConfig' [allowRuleset]='filterPanelObject.allowRuleSet' [allowCollapse]='filterPanelObject.allowColapse' [allowRuleset]=\"filterPanelObject.allowRuleSet\" [persistValueOnFieldChange]='persistValueOnFieldChange'>\r\n <ng-container *queryButtonGroup=\"let ruleset; let addRule=addRule; let addRuleSet=addRuleSet; let removeRuleSet=removeRuleSet\">\r\n <div class=\"flex gap-3 mb-3\">\r\n <p-button [label]=\"translationsObject.advancedSearch.addRuleButtonLabel\" styleClass=\"p-button-outlined\" (click)=\"addRule()\"></p-button>\r\n <p-button [label]=\"translationsObject.advancedSearch.addRuleSetButtonLabel\" styleClass=\"p-button-outlined\" icon=\"pi pi-plus\" *ngIf=\"addRuleSet\" (click)=\"addRuleSet()\"></p-button>\r\n <p-button [label]=\"translationsObject.advancedSearch.removeRuleSetButtonLabel\" styleClass=\"p-button-outlined p-button-danger\" icon=\"pi pi-minus\" *ngIf=\"removeRuleSet\" (click)=\"removeRuleSet()\"></p-button>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *queryArrowIcon>\r\n <button pButton pRipple type=\"button\" icon=\"pi pi-angle-right\" class=\"p-button-rounded p-button-text\"></button>\r\n </ng-container>\r\n\r\n <ng-container *queryRemoveButton=\"let rule; let removeRule=removeRule\">\r\n <p-button label=\"\" styleClass=\"p-button-outlined p-button-danger\" icon=\"pi pi-times\" (click)=\"removeRule(rule)\"></p-button>\r\n </ng-container>\r\n\r\n <ng-container *querySwitchGroup=\"let ruleset; let onChange=onChange\">\r\n <div *ngIf=\"ruleset\">\r\n <p-selectButton *ngIf=\"filterPanelObject.allowLogicalRule\" [options]=\"stateOptions\" [(ngModel)]=\"ruleset.condition\" optionLabel=\"label\" optionValue=\"value\"></p-selectButton>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *queryEntity=\"let rule; let entities=entities; let onChange=onChange\">\r\n <p-dropdown class=\"mr-3 w-edit-select-input-small\" *ngIf=\"filterPanelObject.enityMode\" appendTo=\"body\" [options]=\"entities\" [(ngModel)]=\"rule.entity\" optionLabel=\"name\" optionValue=\"value\" (ngModelChange)=\"onChange($event, rule)\"></p-dropdown>\r\n </ng-container>\r\n\r\n <ng-container *queryField=\"let rule; let fields=fields; let onChange=onChange; let getFields = getFields\">\r\n <span class=\"query-builder-field-width\">\r\n <p-dropdown class=\"mr-3 w-edit-select-input-small\" appendTo=\"body\" [options]=\"getFields(rule.entity)\" [(ngModel)]=\"rule.field\" optionLabel=\"name\" optionValue=\"value\" (ngModelChange)=\"onChange($event, rule)\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryOperator=\"let rule; let operators=operators; let onChange=onChange\">\r\n <span class=\"query-builder-operator-width\">\r\n <p-dropdown class=\"mr-3 w-edit-select-input-small\" appendTo=\"body\" [(ngModel)]=\"rule.operator\" [options]=\"operators\" (ngModelChange)=\"onChange(rule)\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; type: qbDataTypeEnum.Boolean.toString(); let onChange=onChange\">\r\n <p-toggleButton class=\"mr-3\" [(ngModel)]=\"rule.value\" onLabel=\"True\" offLabel=\"False\" (ngModelChange)=\"onChange()\"></p-toggleButton>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; type: qbDataTypeEnum.Datetime.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-calendar class=\"mr-3\" appendTo=\"body\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" [showTime]=\"true\" [showSeconds]=\"true\" [placeholder]=\"translationsObject.fieldsPlaceholders.datetime\"></p-calendar>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Decimal.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-inputNumber class=\"mr-3\" [(ngModel)]=\"rule.value\" inputId=\"minmax\" inputId=\"minmax\" mode=\"decimal\" [minFractionDigits]=\"2\" [maxFractionDigits]=\"5\" [min]=\"0\" [max]=\"100\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.decimal\"> </p-inputNumber>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.List.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <w-list-field [options]=\"options\" [(ngModel)]=\"rule.value\" [operator]=\"rule.operator\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.list\"></w-list-field>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Number.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-inputNumber class=\"mr-3\" [(ngModel)]=\"rule.value\" inputId=\"minmax\" inputId=\"minmax\" [min]=\"0\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.number\"> </p-inputNumber>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Text.toString(); let onChange=onChange\">\r\n <input class=\"mr-3 query-builder-input-width height-input wapp-input\" type=\"text\" pInputText [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.text\"/>\r\n </ng-container>\r\n\r\n </query-builder>\r\n\r\n <ng-container *ngIf=\"isAdvancedSearch && groupedQuery.rules.length==0\" >\r\n <ng-container *ngTemplateOutlet=\"noQueryData\"></ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #noQueryData>\r\n <div class=\"flex justify-content-center flex-wrap card-container surface-50 mb-3\">\r\n <div class=\"flex align-items-center justify-content-center w-full h-4rem text-gray-900 border-round m-2\">\r\n {{translationsObject.noRulesLabel}}\r\n </div>\r\n </div>\r\n </ng-template>\r\n", styles: [".heading1{font-size:3.1428571429rem;line-height:3.4285714286rem;font-weight:700}.heading2{font-size:2.8571428571rem;line-height:3.1428571429rem;font-weight:700}.heading3{font-size:2.5714285714rem;line-height:2.8571428571rem;font-weight:700}.heading4{font-size:2.2857142857rem;line-height:2.5714285714rem;font-weight:700}.heading5{font-size:2rem;line-height:2.2857142857rem;font-weight:700}.heading6{font-size:1.7142857143rem;line-height:2rem;font-weight:700}.subtitle1{font-size:1.4285714286rem;line-height:1.7142857143rem;font-weight:700}.subtitle2{font-size:1.1428571429rem;line-height:1.4285714286rem;font-weight:700}.body,.input-generic-placeholder-small,.input-generic-small{font-size:1rem;line-height:1.1428571429rem;font-weight:600}.caption{font-size:.8571428571rem;line-height:1.1428571429rem;font-weight:600}.icon-small-size{font-size:8px}.icon-small-x-size{font-size:12px}.icon-medium-size{font-size:16px}.icon-large-size{font-size:24px}.spacingXXS{padding:4px}.spacingXSM{padding:6px}.spacingXS{padding:8px}.spacingS{padding:12px}.spacingM{padding:16px}.spacingL{padding:20px}.spacingXL{padding:24px}.spacingXXL{padding:28px}.spacingXXXL{padding:32px}.focus{box-shadow:0 0 8px #00a6e980}.hover{border-radius:8px;border:2px solid #0085c7}.button-large-typography{font-size:20px;line-height:24px;font-weight:700}.button-medium-typography{font-size:16px;line-height:16px;font-weight:700}.button-small-typography{font-size:12px;line-height:16px;font-weight:700}.button-text-typography,.input-generic-label{font-size:14px;line-height:16px;font-weight:700}.input-generic-placeholder,.input-generic{font-size:16px;line-height:24px;font-weight:600}.input-generic-placeholder-small{padding:8px 12px 12px}.input-generic-valid{border-radius:8px;border:2px solid #B3FFD3}.input-generic-valid-focus{border-radius:8px;border:2px solid #B3FFD3!important;box-shadow:0 0 2px 2px #b3ffd3!important;padding-left:16px}.input-generic-warning{border-radius:8px;border:2px solid #FFECB8!important}.input-generic-warning-focus{border-radius:8px;border:2px solid #FFECB8!important;box-shadow:0 0 2px 2px #ffecb8!important;padding-left:16px}.input-generic-error{border-radius:8px;border:2px solid #FFBDBD}.tag-generic{font-size:14px;line-height:16px;font-weight:700}.tag-generic-small{font-size:12px;line-height:16px;font-weight:700}.filter-panel-container{padding:16px;background-color:#fff;border-radius:8px;box-shadow:0 4px 8px #0000001a;margin-bottom:16px}::ng-deep .basic-filter-panel .q-row{padding:0!important;margin-bottom:8px!important}::ng-deep .wapp-filter-panel-container .q-row{padding:0!important;margin-bottom:8px!important}.field-gap{margin-right:8px}.button-gap{gap:16px}.switch-group-padding{padding-bottom:8px}::ng-deep .query-builder-style ul li{border:none!important;background:transparent!important;padding-left:0!important}::ng-deep .query-builder-style .q-connector:before{content:none!important}::ng-deep .query-builder-style .q-connector:after{border-width:0px!important}::ng-deep .query-builder-style .q-tree{padding:0!important}::ng-deep .query-builder-field-width .p-dropdown{width:20%}::ng-deep .query-builder-operator-width .p-dropdown{width:10%}.query-builder-input-width{width:40%}::ng-deep .query-builder-input-width .p-dropdown{width:40%}::ng-deep .query-builder-input-width .p-calendar{width:40%}.basic-filter-panel.query-builder-style,.wapp-filter-panel-container.query-builder-style{display:flex;flex-direction:column;justify-content:space-between;position:relative}.advanced-query-button-group{position:absolute;bottom:0;left:0;margin-bottom:-46px}.height-input{height:32px}.wapp-input{border-radius:8px;border-width:2px;border-color:#e8eaed;font-size:16px;line-height:5px;font-weight:600;gap:16px;margin:4px}::ng-deep .p-inputtext{padding:.75rem 12px}.wapp-input:hover{border:2px solid #0085c7!important}.wapp-input:focus{border-radius:8px;border:2px #e0f5fc;box-shadow:0 0 3px 3px #00a6e940!important}::ng-deep .wapp-filter-panel-styles .p-button{height:32px;border-radius:8px;gap:8px}.toggle-button-align{display:inline-block;vertical-align:middle;margin-bottom:6px;margin-left:4px}::ng-deep .p-togglebutton.p-button{margin:4px}::ng-deep .wapp-filter-panel-styles .p-button.p-button-danger.p-button-outlined,.p-buttonset.p-button-danger>.p-button.p-button-outlined,.p-splitbutton.p-button-danger>.p-button.p-button-outlined{background-color:transparent;color:#ef4444;border:1px solid;width:32px;height:32px}::ng-deep .wapp-filter-panel-styles .p-button.p-button-danger.p-button-outlined:enabled:hover,.p-buttonset.p-button-danger>.p-button.p-button-outlined:enabled:hover,.p-splitbutton.p-button-danger>.p-button.p-button-outlined:enabled:hover{background:rgba(239,68,68,.04);color:#ef4444;border:1px solid;width:32px;height:32px}::ng-deep .wapp-filter-panel-styles .pi-times:before{padding-left:8px}::ng-deep .wapp-filter-panel-styles .p-togglebutton.p-button{background:#ffffff;border:2px solid #e8eaed;color:#1e293b;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s}::ng-deep .wapp-filter-panel-styles .p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover{border:2px solid #0085c7}::ng-deep .wapp-filter-panel-styles .p-button:focus{box-shadow:0 0 3px 3px #00a6e940!important}:host ::ng-deep .w-edit-select-input-small .p-dropdown{font-weight:600;border-width:2px;border-radius:8px;border-color:#e8eaed;height:32px;margin:4px}:host ::ng-deep .w-edit-select-input-small .p-dropdown:not(.p-disabled):hover{border-width:2px;border:2px solid #0085c7!important}:host ::ng-deep .w-edit-select-input-small .p-dropdown:not(.p-disabled).p-focus{box-shadow:0 0 8px #00a6e980;border:2px solid #e0f5fc}:host ::ng-deep .w-edit-select-input-small .p-dropdown .p-placeholder{color:#bdc1c6}:host ::ng-deep .w-edit-select-input-small .p-inputtext{padding:6px 0 6px 12px}:host ::ng-deep .w-edit-select-input-small .p-dropdown .pi{font-size:.8rem}:host ::ng-deep .w-edit-select-input-small .p-dropdown-panel{padding:8px}:host ::ng-deep .w-edit-select-input-small .p-dropdown-panel .p-dropdown-items{padding:0}:host ::ng-deep .w-edit-select-input-small .p-dropdown-panel .p-dropdown-items .p-dropdown-item{padding:8px;margin-bottom:4px;font-weight:600}:host ::ng-deep .w-edit-select-input-small .p-dropdown-panel .p-dropdown-items .p-dropdown-item:hover{background:#e0f5fc;border-radius:8px}:host ::ng-deep .w-edit-select-input-small .p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight{background:#e0f5fc;border-radius:8px;color:#000}:host ::ng-deep .w-edit-select-input-small .p-disabled{background:#ffffff;opacity:1}:host ::ng-deep .w-edit-select-input-small .p-disabled .p-inputtext{color:#bdc1c6}::ng-deep .select-disabled .p-dropdown .p-dropdown-trigger{display:none}:host ::ng-deep .height-input .p-inputnumber .p-inputnumber-input{height:32px!important}.wapp-input-number{width:40%!important}:host ::ng-deep .wapp-input-number .p-inputnumber .p-inputnumber-input{border-radius:8px;border-width:2px;border-color:#e8eaed;font-size:16px;line-height:5px;font-weight:600;gap:16px;margin:4px}::-webkit-input-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}::-moz-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}:-ms-input-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}:-moz-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}:host ::ng-deep .wapp-input-number .p-inputnumber .p-inputnumber-input:hover{border-radius:8px;border:2px solid #0085c7!important}:host ::ng-deep .wapp-input-number .p-inputnumber .p-inputnumber-input:focus{border-radius:8px;border:2px #e0f5fc;box-shadow:0 0 3px 3px #00a6e940!important}:host ::ng-deep .wapp-input-number .p-inputnumber .p-inputnumber-input::-moz-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}:host ::ng-deep .wapp-input-number .p-inputnumber .p-inputnumber-input::-webkit-input-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}:host ::ng-deep .wapp-input-number .p-inputnumber .p-inputnumber-input:-ms-input-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}:host ::ng-deep .wapp-input-number .p-inputnumber .p-inputnumber-input:-moz-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}:host ::ng-deep .wapp-input-number .p-inputnumber .p-inputnumber-input:disabled{background-color:#e8eaed}:host ::ng-deep .wapp-input-number-valid .p-inputnumber .p-inputnumber-input{border-radius:8px;border:2px solid #B3FFD3!important}:host ::ng-deep .wapp-input-number-valid .p-inputnumber .p-inputnumber-input:focus{border-radius:8px;border:2px solid #B3FFD3!important;box-shadow:0 0 2px 2px #b3ffd3!important;padding-left:16px}:host ::ng-deep .wapp-input-number-warning .p-inputnumber .p-inputnumber-input{border-radius:8px;border:2px solid #FFECB8!important}:host ::ng-deep .wapp-input-number-warning .p-inputnumber .p-inputnumber-input:focus{border-radius:8px;border:2px solid #FFECB8!important;box-shadow:0 0 2px 2px #ffecb8!important;padding-left:16px}:host ::ng-deep .wapp-input-number-error .p-inputnumber .p-inputnumber-input{border-radius:8px;border:2px solid #FFBDBD}:host ::ng-deep .wapp-input-number-error .p-inputnumber .p-inputnumber-input:focus{border-radius:8px;border:2px solid #FFBDBD;box-shadow:0 0 2px 2px #ffbdbd!important;padding-left:16px}.success-alert-text{color:#00db5d;padding:8px}.warning-alert-text{color:#eeae00;padding:8px}.error-alert-text{color:#e50000;padding:8px}.alert-message-height{height:35px}\n"], dependencies: [{ kind: "directive", type: i2.InputText, selector: "[pInputText]" }, { 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: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i5.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass", "ariaLabel"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i6.Ripple, selector: "[pRipple]" }, { kind: "component", type: i3$1.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "overlayDirection", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "component", type: i8.MultiSelect, selector: "p-multiSelect", inputs: ["style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "appendTo", "dataKey", "name", "label", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove"] }, { kind: "component", type: i9.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "component", type: i10$2.Calendar, selector: "p-calendar", inputs: ["style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "view", "defaultDate", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "component", type: i11.ToggleButton, selector: "p-toggleButton", inputs: ["onLabel", "offLabel", "onIcon", "offIcon", "ariaLabelledBy", "disabled", "style", "styleClass", "inputId", "tabindex", "iconPos"], outputs: ["onChange"] }, { kind: "component", type: i12.QueryBuilderComponent, selector: "query-builder", inputs: ["data", "allowRuleset", "allowCollapse", "emptyMessage", "config", "persistValueOnFieldChange", "value", "disabled", "classNames", "operatorMap", "parentValue", "parentArrowIconTemplate", "parentInputTemplates", "parentOperatorTemplate", "parentFieldTemplate", "parentEntityTemplate", "parentSwitchGroupTemplate", "parentButtonGroupTemplate", "parentRemoveButtonTemplate", "parentEmptyWarningTemplate", "parentChangeCallback", "parentTouchedCallback"] }, { kind: "directive", type: i12.QueryInputDirective, selector: "[queryInput]", inputs: ["queryInputType"] }, { kind: "directive", type: i12.QueryOperatorDirective, selector: "[queryOperator]" }, { kind: "directive", type: i12.QueryFieldDirective, selector: "[queryField]" }, { kind: "directive", type: i12.QueryEntityDirective, selector: "[queryEntity]" }, { kind: "directive", type: i12.QueryButtonGroupDirective, selector: "[queryButtonGroup]" }, { kind: "directive", type: i12.QuerySwitchGroupDirective, selector: "[querySwitchGroup]" }, { kind: "directive", type: i12.QueryRemoveButtonDirective, selector: "[queryRemoveButton]" }, { kind: "directive", type: i12.QueryArrowIconDirective, selector: "[queryArrowIcon]" }, { kind: "component", type: i13.SelectButton, selector: "p-selectButton", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "tabindex", "multiple", "style", "styleClass", "ariaLabelledBy", "disabled", "dataKey"], outputs: ["onOptionClick", "onChange"] }, { kind: "component", type: WListFieldComponent, selector: "w-list-field", inputs: ["options", "operator", "placeholder", "onlyDropdown"] }, { kind: "component", type: WappViewCardTitleTextComponent, selector: "wapp-view-card-title-text", inputs: ["cardTitle"] }] });
|
|
2194
|
+
WFilterPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: WFilterPanelComponent, selector: "w-filter-panel", inputs: { authorizationApiUrl: ["apiUrl", "authorizationApiUrl"], commonDataApiUrl: "commonDataApiUrl", token: "token", commonDataToken: "commonDataToken", filterId: "filterId", dataIsLoadingSearchButton: "dataIsLoadingSearchButton", translationsObject: "translationsObject" }, outputs: { searchClicked: "searchClicked", clearClicked: "clearClicked" }, ngImport: i0, template: "<div *ngIf=\"queryConfigReady\" class=\"wapp-filter-panel-styles\">\r\n <div *ngIf=\"!filterPanelObject.allowAdvancedSearch; else baiscAndAdvanced\">\r\n <div class=\"filter-panel-container\">\r\n <ng-container *ngTemplateOutlet=\"basic\"></ng-container>\r\n <div class=\"flex justify-content-end button-gap\">\r\n <p-button [label]=\"translationsObject.clearButtonLabel\" styleClass=\"p-button-outlined\" (click)=\"onClearClicked()\"></p-button>\r\n <p-button [label]=\"translationsObject.searchButtonLabel\" (click)=\"onSearchClicked()\"></p-button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-template #baiscAndAdvanced>\r\n <div class=\"filter-panel-container\">\r\n <div *ngIf=\"!isAdvancedSearch; else advancedView\">\r\n <ng-container *ngTemplateOutlet=\"basic\"></ng-container>\r\n </div>\r\n <ng-template #advancedView>\r\n <ng-container *ngTemplateOutlet=\"advanced\"></ng-container>\r\n </ng-template>\r\n\r\n <div class=\"flex justify-content-end button-gap\" [class.pt-3]=\"isAdvancedSearch\">\r\n <p-button [label]=\"translationsObject.clearButtonLabel\" styleClass=\"p-button-outlined\" (click)=\"onClearClicked()\"></p-button>\r\n <p-button [label]=\"translationsObject.searchButtonLabel\" (click)=\"onSearchClicked()\" [loading]=\"dataIsLoadingSearchButton\"></p-button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </div>\r\n\r\n <ng-template #basic>\r\n <div *ngIf=\"filterPanelObject.allowAdvancedSearch\" class=\"flex justify-content-end flex-wrap\">\r\n <p-button [label]=\"translationsObject.advancedSearchTabLabel\" styleClass=\"p-button-text\" (click)=\"updateSearchType()\"></p-button>\r\n </div>\r\n <div class=\"basic-filter-panel query-builder-style fadein animation-duration-500\">\r\n <query-builder [formControl]='queryCtrl' [config]='basicQueryConfig' [allowRuleset]='filterPanelObject.allowRuleSet' [allowRuleset]=\"filterPanelObject.allowRuleSet\" [persistValueOnFieldChange]='persistValueOnFieldChange'>\r\n <ng-container *queryButtonGroup=\"let ruleset;\">\r\n </ng-container>\r\n\r\n <ng-container *queryRemoveButton=\"let rule; let removeRule=removeRule\">\r\n </ng-container>\r\n\r\n <ng-container *querySwitchGroup=\"let ruleset; let onChange=onChange\">\r\n </ng-container>\r\n\r\n <ng-container *queryEntity=\"let rule; let entities=entities; let onChange=onChange\">\r\n <p-dropdown [disabled]=\"true\" class=\"field-gap w-edit-select-input-small\" *ngIf=\"false\" appendTo=\"body\" [options]=\"entities\" [(ngModel)]=\"rule.entity\" optionLabel=\"name\" optionValue=\"value\" (ngModelChange)=\"onChange($event, rule)\"></p-dropdown>\r\n </ng-container>\r\n\r\n <ng-container *queryField=\"let rule; let fields=fields; let onChange=onChange; let getFields = getFields\">\r\n <span class=\"query-builder-field-width\">\r\n <p-dropdown [disabled]=\"true\" class=\"field-gap w-edit-select-input-small select-disabled\" appendTo=\"body\" [options]=\"getFields(rule.entity)\" [(ngModel)]=\"rule.field\" optionLabel=\"name\" optionValue=\"value\" (ngModelChange)=\"onChange($event, rule)\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryOperator=\"let rule; let operators=operators; let onChange=onChange\">\r\n <span class=\"query-builder-operator-width\">\r\n <p-dropdown class=\"field-gap w-edit-select-input-small\" *ngIf=\"isAdvancedSearch\" appendTo=\"body\" [(ngModel)]=\"rule.operator\" [options]=\"operators\" (ngModelChange)=\"onChange(rule)\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; type: qbDataTypeEnum.Boolean.toString(); let onChange=onChange\">\r\n <p-toggleButton class=\"field-gap toggle-button-align\" [(ngModel)]=\"rule.value\" onLabel=\"True\" offLabel=\"False\" (ngModelChange)=\"onChange()\"></p-toggleButton>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; type: qbDataTypeEnum.Datetime.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-calendar class=\"field-gap\" appendTo=\"body\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" [showTime]=\"true\" [showSeconds]=\"true\" [placeholder]=\"translationsObject.fieldsPlaceholders.datetime\"></p-calendar>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Decimal.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-inputNumber inputStyleClass=\"flex flex-1\" styleClass=\"flex flex-1\" class=\"field-gap wapp-input-number height-input\" [(ngModel)]=\"rule.value\" inputId=\"minmax\" inputId=\"minmax\" mode=\"decimal\" [minFractionDigits]=\"2\" [maxFractionDigits]=\"5\" [min]=\"0\" [max]=\"100\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.decimal\"> </p-inputNumber>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.List.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-dropdown class=\"field-gap w-edit-select-input-small\" appendTo=\"body\" [options]=\"options\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" optionLabel=\"name\" optionValue=\"value\" [placeholder]=\"translationsObject.fieldsPlaceholders.list\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Number.toString(); let onChange=onChange\">\r\n <p-inputNumber inputStyleClass=\"flex flex-1\" styleClass=\"flex flex-1\" class=\"field-gap wapp-input-number height-input\" [(ngModel)]=\"rule.value\" inputId=\"minmax\" inputId=\"minmax\" [min]=\"0\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.number\"> </p-inputNumber>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Text.toString(); let onChange=onChange\">\r\n <input class=\"field-gap query-builder-input-width height-input wapp-input\" type=\"text\" pInputText [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.text\"/>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.List.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-multiSelect class=\"field-gap\" [appendTo]=\"'body'\" [options]=\"options\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" optionLabel=\"name\" optionValue=\"value\" display=\"chip\" [placeholder]=\"translationsObject.fieldsPlaceholders.list\"></p-multiSelect>\r\n </span>\r\n </ng-container>\r\n </query-builder>\r\n </div>\r\n\r\n <ng-container *ngIf=\"!isAdvancedSearch && basicQuery.rules.length==0\" >\r\n <ng-container *ngTemplateOutlet=\"noQueryData\"></ng-container>\r\n </ng-container>\r\n\r\n </ng-template>\r\n\r\n <ng-template #advanced>\r\n <div [class.query-builder-style]=\"!filterPanelObject.allowRuleSet\" class=\"wapp-filter-panel-container fadein animation-duration-500\">\r\n <div *ngIf=\"filterPanelObject.allowRuleSet\" class=\"flex justify-content-end flex-wrap\">\r\n <p-button class=\"mb-2\" [label]=\"translationsObject.basicSearchTabLabel\" styleClass=\"p-button-text\" (click)=\"updateSearchType()\"></p-button>\r\n </div>\r\n <query-builder [formControl]='advancedQueryCtrl' [config]='advancedQueryConfig' [allowRuleset]='filterPanelObject.allowRuleSet' [allowCollapse]='filterPanelObject.allowColapse' [allowRuleset]=\"filterPanelObject.allowRuleSet\" [persistValueOnFieldChange]='persistValueOnFieldChange'>\r\n <div *ngIf=\"filterPanelObject.allowRuleSet; else noRuleSet\">\r\n <ng-container *queryButtonGroup=\"let ruleset; let addRule=addRule; let addRuleSet=addRuleSet; let removeRuleSet=removeRuleSet\">\r\n <p-button class=\"mr-2\" [label]=\"translationsObject.advancedSearch.addRuleButtonLabel\" styleClass=\"p-button-outlined\" (click)=\"addRule()\"></p-button>\r\n <p-button class=\"mr-2\" [label]=\"translationsObject.advancedSearch.addRuleSetButtonLabel\" styleClass=\"p-button-outlined\" icon=\"pi pi-plus\" *ngIf=\"addRuleSet\" (click)=\"addRuleSet()\"></p-button>\r\n <p-button class=\"mr-2\" [label]=\"translationsObject.advancedSearch.removeRuleSetButtonLabel\" styleClass=\"p-button-outlined p-button-danger\" icon=\"pi pi-minus\" *ngIf=\"removeRuleSet\" (click)=\"removeRuleSet()\"></p-button>\r\n </ng-container>\r\n </div>\r\n\r\n <ng-template #noRuleSet>\r\n <ng-container *queryButtonGroup=\"let ruleset; let addRule=addRule; let addRuleSet=addRuleSet; let removeRuleSet=removeRuleSet\">\r\n <div class=\"flex justify-content-end flex-wrap\">\r\n <p-button [label]=\"translationsObject.basicSearchTabLabel\" styleClass=\"p-button-text\" (click)=\"updateSearchType()\"></p-button>\r\n </div>\r\n <span class=\"advanced-query-button-group gap-3\">\r\n <p-button [label]=\"translationsObject.advancedSearch.addRuleButtonLabel\" styleClass=\"p-button-outlined\" (click)=\"addRule()\"></p-button>\r\n <p-button [label]=\"translationsObject.advancedSearch.addRuleSetButtonLabel\" styleClass=\"p-button-outlined\" icon=\"pi pi-plus\" *ngIf=\"addRuleSet\" (click)=\"addRuleSet()\"></p-button>\r\n <p-button [label]=\"translationsObject.advancedSearch.removeRuleSetButtonLabel\" styleClass=\"p-button-outlined p-button-danger\" icon=\"pi pi-minus\" *ngIf=\"removeRuleSet\" (click)=\"removeRuleSet()\"></p-button>\r\n </span>\r\n </ng-container>\r\n </ng-template>\r\n <ng-container *queryArrowIcon>\r\n <button pButton pRipple type=\"button\" icon=\"pi pi-angle-right\" class=\"p-button-rounded p-button-text\"></button>\r\n </ng-container>\r\n\r\n <ng-container *queryRemoveButton=\"let rule; let removeRule=removeRule\">\r\n <p-button label=\"\" styleClass=\"p-button-outlined p-button-danger\" icon=\"pi pi-times\" (click)=\"removeRule(rule)\"></p-button>\r\n </ng-container>\r\n\r\n <ng-container *querySwitchGroup=\"let ruleset; let onChange=onChange\">\r\n <div *ngIf=\"ruleset\" class=\"switch-group-padding\">\r\n <p-selectButton *ngIf=\"filterPanelObject.allowLogicalRule\" [options]=\"stateOptions\" [(ngModel)]=\"ruleset.condition\" optionLabel=\"label\" optionValue=\"value\"></p-selectButton>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *queryEntity=\"let rule; let entities=entities; let onChange=onChange\">\r\n <p-dropdown *ngIf=\"filterPanelObject.enityMode\" class=\"field-gap w-edit-select-input-small\" appendTo=\"body\" [options]=\"entities\" [(ngModel)]=\"rule.entity\" optionLabel=\"name\" optionValue=\"value\" (ngModelChange)=\"onChange($event, rule)\"></p-dropdown>\r\n </ng-container>\r\n\r\n <ng-container *queryField=\"let rule; let fields=fields; let onChange=onChange; let getFields = getFields\">\r\n <span class=\"query-builder-field-width\">\r\n <p-dropdown class=\"field-gap w-edit-select-input-small\" appendTo=\"body\" [options]=\"getFields(rule.entity)\" [(ngModel)]=\"rule.field\" optionLabel=\"name\" optionValue=\"value\" (ngModelChange)=\"onChange($event, rule)\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryOperator=\"let rule; let operators=operators; let onChange=onChange\">\r\n <span class=\"query-builder-operator-width\">\r\n <p-dropdown class=\"field-gap w-edit-select-input-small\" appendTo=\"body\" [(ngModel)]=\"rule.operator\" [options]=\"operators\" (ngModelChange)=\"onChange(rule)\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; type: qbDataTypeEnum.Boolean.toString(); let onChange=onChange\">\r\n <p-toggleButton class=\"field-gap toggle-button-align\" [(ngModel)]=\"rule.value\" onLabel=\"True\" offLabel=\"False\" (ngModelChange)=\"onChange()\"></p-toggleButton>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; type: qbDataTypeEnum.Datetime.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-calendar class=\"field-gap\" appendTo=\"body\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" [showTime]=\"true\" [showSeconds]=\"true\" [placeholder]=\"translationsObject.fieldsPlaceholders.datetime\"></p-calendar>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Decimal.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-inputNumber inputStyleClass=\"flex flex-1\" styleClass=\"flex flex-1\" class=\"field-gap wapp-input-number height-input\" [(ngModel)]=\"rule.value\" inputId=\"minmax\" inputId=\"minmax\" mode=\"decimal\" [minFractionDigits]=\"2\" [maxFractionDigits]=\"5\" [min]=\"0\" [max]=\"100\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.decimal\"> </p-inputNumber>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.List.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width field-gap\">\r\n <w-list-field [options]=\"options\" [(ngModel)]=\"rule.value\" [operator]=\"rule.operator\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.list\"></w-list-field>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Number.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-inputNumber inputStyleClass=\"flex flex-1\" styleClass=\"flex flex-1\" class=\"field-gap wapp-input-number height-input\" [(ngModel)]=\"rule.value\" inputId=\"minmax\" inputId=\"minmax\" [min]=\"0\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.number\"> </p-inputNumber>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Text.toString(); let onChange=onChange\">\r\n <input class=\"field-gap query-builder-input-width height-input wapp-input\" type=\"text\" pInputText [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.text\"/>\r\n </ng-container>\r\n </query-builder>\r\n\r\n <ng-container *ngIf=\"isAdvancedSearch && advancedQuery.rules.length==0\" >\r\n <ng-container *ngTemplateOutlet=\"noQueryData\"></ng-container>\r\n </ng-container>\r\n\r\n <!-- Grouped filter -->\r\n <div *ngIf=\"filterPanelObject.allowGrouped\">\r\n <div class=\"py-5\">\r\n <wapp-view-card-title-text [cardTitle]=\"translationsObject.groupedFilterTitle\"></wapp-view-card-title-text>\r\n </div>\r\n\r\n <query-builder [formControl]='groupedQueryCtrl' [config]='advancedQueryConfig' [allowRuleset]='filterPanelObject.allowRuleSet' [allowCollapse]='filterPanelObject.allowColapse' [allowRuleset]=\"filterPanelObject.allowRuleSet\" [persistValueOnFieldChange]='persistValueOnFieldChange'>\r\n <ng-container *queryButtonGroup=\"let ruleset; let addRule=addRule; let addRuleSet=addRuleSet; let removeRuleSet=removeRuleSet\">\r\n <div class=\"flex gap-3 mb-3\">\r\n <p-button [label]=\"translationsObject.advancedSearch.addRuleButtonLabel\" styleClass=\"p-button-outlined\" (click)=\"addRule()\"></p-button>\r\n <p-button [label]=\"translationsObject.advancedSearch.addRuleSetButtonLabel\" styleClass=\"p-button-outlined\" icon=\"pi pi-plus\" *ngIf=\"addRuleSet\" (click)=\"addRuleSet()\"></p-button>\r\n <p-button [label]=\"translationsObject.advancedSearch.removeRuleSetButtonLabel\" styleClass=\"p-button-outlined p-button-danger\" icon=\"pi pi-minus\" *ngIf=\"removeRuleSet\" (click)=\"removeRuleSet()\"></p-button>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *queryArrowIcon>\r\n <button pButton pRipple type=\"button\" icon=\"pi pi-angle-right\" class=\"p-button-rounded p-button-text\"></button>\r\n </ng-container>\r\n\r\n <ng-container *queryRemoveButton=\"let rule; let removeRule=removeRule\">\r\n <p-button label=\"\" styleClass=\"p-button-outlined p-button-danger\" icon=\"pi pi-times\" (click)=\"removeRule(rule)\"></p-button>\r\n </ng-container>\r\n\r\n <ng-container *querySwitchGroup=\"let ruleset; let onChange=onChange\">\r\n <div *ngIf=\"ruleset\">\r\n <p-selectButton *ngIf=\"filterPanelObject.allowLogicalRule\" [options]=\"stateOptions\" [(ngModel)]=\"ruleset.condition\" optionLabel=\"label\" optionValue=\"value\"></p-selectButton>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *queryEntity=\"let rule; let entities=entities; let onChange=onChange\">\r\n <p-dropdown class=\"mr-3 w-edit-select-input-small\" *ngIf=\"filterPanelObject.enityMode\" appendTo=\"body\" [options]=\"entities\" [(ngModel)]=\"rule.entity\" optionLabel=\"name\" optionValue=\"value\" (ngModelChange)=\"onChange($event, rule)\"></p-dropdown>\r\n </ng-container>\r\n\r\n <ng-container *queryField=\"let rule; let fields=fields; let onChange=onChange; let getFields = getFields\">\r\n <span class=\"query-builder-field-width\">\r\n <p-dropdown class=\"mr-3 w-edit-select-input-small\" appendTo=\"body\" [options]=\"getFields(rule.entity)\" [(ngModel)]=\"rule.field\" optionLabel=\"name\" optionValue=\"value\" (ngModelChange)=\"onChange($event, rule)\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryOperator=\"let rule; let operators=operators; let onChange=onChange\">\r\n <span class=\"query-builder-operator-width\">\r\n <p-dropdown class=\"mr-3 w-edit-select-input-small\" appendTo=\"body\" [(ngModel)]=\"rule.operator\" [options]=\"operators\" (ngModelChange)=\"onChange(rule)\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; type: qbDataTypeEnum.Boolean.toString(); let onChange=onChange\">\r\n <p-toggleButton class=\"mr-3\" [(ngModel)]=\"rule.value\" onLabel=\"True\" offLabel=\"False\" (ngModelChange)=\"onChange()\"></p-toggleButton>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; type: qbDataTypeEnum.Datetime.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-calendar class=\"mr-3\" appendTo=\"body\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" [showTime]=\"true\" [showSeconds]=\"true\" [placeholder]=\"translationsObject.fieldsPlaceholders.datetime\"></p-calendar>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Decimal.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-inputNumber class=\"mr-3\" [(ngModel)]=\"rule.value\" inputId=\"minmax\" inputId=\"minmax\" mode=\"decimal\" [minFractionDigits]=\"2\" [maxFractionDigits]=\"5\" [min]=\"0\" [max]=\"100\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.decimal\"> </p-inputNumber>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.List.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <w-list-field [options]=\"options\" [(ngModel)]=\"rule.value\" [operator]=\"rule.operator\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.list\"></w-list-field>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Number.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-inputNumber class=\"mr-3\" [(ngModel)]=\"rule.value\" inputId=\"minmax\" inputId=\"minmax\" [min]=\"0\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.number\"> </p-inputNumber>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Text.toString(); let onChange=onChange\">\r\n <input class=\"mr-3 query-builder-input-width height-input wapp-input\" type=\"text\" pInputText [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.text\"/>\r\n </ng-container>\r\n\r\n </query-builder>\r\n\r\n <ng-container *ngIf=\"isAdvancedSearch && groupedQuery.rules.length==0\" >\r\n <ng-container *ngTemplateOutlet=\"noQueryData\"></ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #noQueryData>\r\n <div class=\"flex justify-content-center flex-wrap card-container surface-50 mb-3\">\r\n <div class=\"flex align-items-center justify-content-center w-full h-4rem text-gray-900 border-round m-2\">\r\n {{translationsObject.noRulesLabel}}\r\n </div>\r\n </div>\r\n </ng-template>\r\n", styles: [".heading1{font-size:3.1428571429rem;line-height:3.4285714286rem;font-weight:700}.heading2{font-size:2.8571428571rem;line-height:3.1428571429rem;font-weight:700}.heading3{font-size:2.5714285714rem;line-height:2.8571428571rem;font-weight:700}.heading4{font-size:2.2857142857rem;line-height:2.5714285714rem;font-weight:700}.heading5{font-size:2rem;line-height:2.2857142857rem;font-weight:700}.heading6{font-size:1.7142857143rem;line-height:2rem;font-weight:700}.subtitle1{font-size:1.4285714286rem;line-height:1.7142857143rem;font-weight:700}.subtitle2{font-size:1.1428571429rem;line-height:1.4285714286rem;font-weight:700}.body,.input-generic-placeholder-small,.input-generic-small{font-size:1rem;line-height:1.1428571429rem;font-weight:600}.caption{font-size:.8571428571rem;line-height:1.1428571429rem;font-weight:600}.icon-small-size{font-size:8px}.icon-small-x-size{font-size:12px}.icon-medium-size{font-size:16px}.icon-large-size{font-size:24px}.spacingXXS{padding:4px}.spacingXSM{padding:6px}.spacingXS{padding:8px}.spacingS{padding:12px}.spacingM{padding:16px}.spacingL{padding:20px}.spacingXL{padding:24px}.spacingXXL{padding:28px}.spacingXXXL{padding:32px}.focus{box-shadow:0 0 8px #00a6e980}.hover{border-radius:8px;border:2px solid #0085c7}.button-large-typography{font-size:20px;line-height:24px;font-weight:700}.button-medium-typography{font-size:16px;line-height:16px;font-weight:700}.button-small-typography{font-size:12px;line-height:16px;font-weight:700}.button-text-typography,.input-generic-label{font-size:14px;line-height:16px;font-weight:700}.input-generic-placeholder,.input-generic{font-size:16px;line-height:24px;font-weight:600}.input-generic-placeholder-small{padding:8px 12px 12px}.input-generic-valid{border-radius:8px;border:2px solid #B3FFD3}.input-generic-valid-focus{border-radius:8px;border:2px solid #B3FFD3!important;box-shadow:0 0 2px 2px #b3ffd3!important;padding-left:16px}.input-generic-warning{border-radius:8px;border:2px solid #FFECB8!important}.input-generic-warning-focus{border-radius:8px;border:2px solid #FFECB8!important;box-shadow:0 0 2px 2px #ffecb8!important;padding-left:16px}.input-generic-error{border-radius:8px;border:2px solid #FFBDBD}.tag-generic{font-size:14px;line-height:16px;font-weight:700}.tag-generic-small{font-size:12px;line-height:16px;font-weight:700}.filter-panel-container{padding:16px;background-color:#fff;border-radius:8px;box-shadow:0 4px 8px #0000001a;margin-bottom:8px}::ng-deep .basic-filter-panel .q-row{padding:0!important;margin-bottom:8px!important}::ng-deep .wapp-filter-panel-container .q-row{padding:0!important;margin-bottom:8px!important}.field-gap{margin-right:8px}.button-gap{gap:16px}.switch-group-padding{padding-bottom:8px}::ng-deep .query-builder-style ul li{border:none!important;background:transparent!important;padding-left:0!important}::ng-deep .query-builder-style .q-connector:before{content:none!important}::ng-deep .query-builder-style .q-connector:after{border-width:0px!important}::ng-deep .query-builder-style .q-tree{padding:0!important}::ng-deep .query-builder-field-width .p-dropdown{width:20%}::ng-deep .query-builder-operator-width .p-dropdown{width:10%}.query-builder-input-width{width:40%}::ng-deep .query-builder-input-width .p-dropdown{width:40%}::ng-deep .query-builder-input-width .p-calendar{width:40%}.basic-filter-panel.query-builder-style,.wapp-filter-panel-container.query-builder-style{display:flex;flex-direction:column;justify-content:space-between;position:relative}.advanced-query-button-group{position:absolute;bottom:0;left:0;margin-bottom:-46px}.height-input{height:32px}.wapp-input{border-radius:8px;border-width:2px;border-color:#e8eaed;font-size:16px;line-height:5px;font-weight:600;gap:16px;margin:4px}::ng-deep .p-inputtext{padding:.75rem 12px}.wapp-input:hover{border:2px solid #0085c7!important}.wapp-input:focus{border-radius:8px;border:2px #e0f5fc;box-shadow:0 0 3px 3px #00a6e940!important}::ng-deep .wapp-filter-panel-styles .p-button{height:32px;border-radius:8px;gap:8px}.toggle-button-align{display:inline-block;vertical-align:middle;margin-bottom:6px;margin-left:4px}::ng-deep .p-togglebutton.p-button{margin:4px}::ng-deep .wapp-filter-panel-styles .p-button.p-button-danger.p-button-outlined,.p-buttonset.p-button-danger>.p-button.p-button-outlined,.p-splitbutton.p-button-danger>.p-button.p-button-outlined{background-color:transparent;color:#ef4444;border:1px solid;width:32px;height:32px}::ng-deep .wapp-filter-panel-styles .p-button.p-button-danger.p-button-outlined:enabled:hover,.p-buttonset.p-button-danger>.p-button.p-button-outlined:enabled:hover,.p-splitbutton.p-button-danger>.p-button.p-button-outlined:enabled:hover{background:rgba(239,68,68,.04);color:#ef4444;border:1px solid;width:32px;height:32px}::ng-deep .wapp-filter-panel-styles .pi-times:before{padding-left:8px}::ng-deep .wapp-filter-panel-styles .p-togglebutton.p-button{background:#ffffff;border:2px solid #e8eaed;color:#1e293b;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s}::ng-deep .wapp-filter-panel-styles .p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover{border:2px solid #0085c7}::ng-deep .wapp-filter-panel-styles .p-button:focus{box-shadow:0 0 3px 3px #00a6e940!important}:host ::ng-deep .w-edit-select-input-small .p-dropdown{font-weight:600;border-width:2px;border-radius:8px;border-color:#e8eaed;height:32px;margin:4px}:host ::ng-deep .w-edit-select-input-small .p-dropdown:not(.p-disabled):hover{border-width:2px;border:2px solid #0085c7!important}:host ::ng-deep .w-edit-select-input-small .p-dropdown:not(.p-disabled).p-focus{box-shadow:0 0 8px #00a6e980;border:2px solid #e0f5fc}:host ::ng-deep .w-edit-select-input-small .p-dropdown .p-placeholder{color:#bdc1c6}:host ::ng-deep .w-edit-select-input-small .p-inputtext{padding:6px 0 6px 12px}:host ::ng-deep .w-edit-select-input-small .p-dropdown .pi{font-size:.8rem}:host ::ng-deep .w-edit-select-input-small .p-dropdown-panel{padding:8px}:host ::ng-deep .w-edit-select-input-small .p-dropdown-panel .p-dropdown-items{padding:0}:host ::ng-deep .w-edit-select-input-small .p-dropdown-panel .p-dropdown-items .p-dropdown-item{padding:8px;margin-bottom:4px;font-weight:600}:host ::ng-deep .w-edit-select-input-small .p-dropdown-panel .p-dropdown-items .p-dropdown-item:hover{background:#e0f5fc;border-radius:8px}:host ::ng-deep .w-edit-select-input-small .p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight{background:#e0f5fc;border-radius:8px;color:#000}:host ::ng-deep .w-edit-select-input-small .p-disabled{background:#ffffff;opacity:1}:host ::ng-deep .w-edit-select-input-small .p-disabled .p-inputtext{color:#bdc1c6}::ng-deep .select-disabled .p-dropdown .p-dropdown-trigger{display:none}:host ::ng-deep .height-input .p-inputnumber .p-inputnumber-input{height:32px!important}.wapp-input-number{width:40%!important}:host ::ng-deep .wapp-input-number .p-inputnumber .p-inputnumber-input{border-radius:8px;border-width:2px;border-color:#e8eaed;font-size:16px;line-height:5px;font-weight:600;gap:16px;margin:4px}::-webkit-input-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}::-moz-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}:-ms-input-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}:-moz-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}:host ::ng-deep .wapp-input-number .p-inputnumber .p-inputnumber-input:hover{border-radius:8px;border:2px solid #0085c7!important}:host ::ng-deep .wapp-input-number .p-inputnumber .p-inputnumber-input:focus{border-radius:8px;border:2px #e0f5fc;box-shadow:0 0 3px 3px #00a6e940!important}:host ::ng-deep .wapp-input-number .p-inputnumber .p-inputnumber-input::-moz-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}:host ::ng-deep .wapp-input-number .p-inputnumber .p-inputnumber-input::-webkit-input-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}:host ::ng-deep .wapp-input-number .p-inputnumber .p-inputnumber-input:-ms-input-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}:host ::ng-deep .wapp-input-number .p-inputnumber .p-inputnumber-input:-moz-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}:host ::ng-deep .wapp-input-number .p-inputnumber .p-inputnumber-input:disabled{background-color:#e8eaed}:host ::ng-deep .wapp-input-number-valid .p-inputnumber .p-inputnumber-input{border-radius:8px;border:2px solid #B3FFD3!important}:host ::ng-deep .wapp-input-number-valid .p-inputnumber .p-inputnumber-input:focus{border-radius:8px;border:2px solid #B3FFD3!important;box-shadow:0 0 2px 2px #b3ffd3!important;padding-left:16px}:host ::ng-deep .wapp-input-number-warning .p-inputnumber .p-inputnumber-input{border-radius:8px;border:2px solid #FFECB8!important}:host ::ng-deep .wapp-input-number-warning .p-inputnumber .p-inputnumber-input:focus{border-radius:8px;border:2px solid #FFECB8!important;box-shadow:0 0 2px 2px #ffecb8!important;padding-left:16px}:host ::ng-deep .wapp-input-number-error .p-inputnumber .p-inputnumber-input{border-radius:8px;border:2px solid #FFBDBD}:host ::ng-deep .wapp-input-number-error .p-inputnumber .p-inputnumber-input:focus{border-radius:8px;border:2px solid #FFBDBD;box-shadow:0 0 2px 2px #ffbdbd!important;padding-left:16px}.success-alert-text{color:#00db5d;padding:8px}.warning-alert-text{color:#eeae00;padding:8px}.error-alert-text{color:#e50000;padding:8px}.alert-message-height{height:35px}\n"], dependencies: [{ kind: "directive", type: i2.InputText, selector: "[pInputText]" }, { 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: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i5.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass", "ariaLabel"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i6.Ripple, selector: "[pRipple]" }, { kind: "component", type: i3$1.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "overlayDirection", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "component", type: i8.MultiSelect, selector: "p-multiSelect", inputs: ["style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "appendTo", "dataKey", "name", "label", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove"] }, { kind: "component", type: i9.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "component", type: i10$2.Calendar, selector: "p-calendar", inputs: ["style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "view", "defaultDate", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "component", type: i11.ToggleButton, selector: "p-toggleButton", inputs: ["onLabel", "offLabel", "onIcon", "offIcon", "ariaLabelledBy", "disabled", "style", "styleClass", "inputId", "tabindex", "iconPos"], outputs: ["onChange"] }, { kind: "component", type: i12.QueryBuilderComponent, selector: "query-builder", inputs: ["data", "allowRuleset", "allowCollapse", "emptyMessage", "config", "persistValueOnFieldChange", "value", "disabled", "classNames", "operatorMap", "parentValue", "parentArrowIconTemplate", "parentInputTemplates", "parentOperatorTemplate", "parentFieldTemplate", "parentEntityTemplate", "parentSwitchGroupTemplate", "parentButtonGroupTemplate", "parentRemoveButtonTemplate", "parentEmptyWarningTemplate", "parentChangeCallback", "parentTouchedCallback"] }, { kind: "directive", type: i12.QueryInputDirective, selector: "[queryInput]", inputs: ["queryInputType"] }, { kind: "directive", type: i12.QueryOperatorDirective, selector: "[queryOperator]" }, { kind: "directive", type: i12.QueryFieldDirective, selector: "[queryField]" }, { kind: "directive", type: i12.QueryEntityDirective, selector: "[queryEntity]" }, { kind: "directive", type: i12.QueryButtonGroupDirective, selector: "[queryButtonGroup]" }, { kind: "directive", type: i12.QuerySwitchGroupDirective, selector: "[querySwitchGroup]" }, { kind: "directive", type: i12.QueryRemoveButtonDirective, selector: "[queryRemoveButton]" }, { kind: "directive", type: i12.QueryArrowIconDirective, selector: "[queryArrowIcon]" }, { kind: "component", type: i13.SelectButton, selector: "p-selectButton", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "tabindex", "multiple", "style", "styleClass", "ariaLabelledBy", "disabled", "dataKey"], outputs: ["onOptionClick", "onChange"] }, { kind: "component", type: WListFieldComponent, selector: "w-list-field", inputs: ["options", "operator", "placeholder", "onlyDropdown"] }, { kind: "component", type: WappViewCardTitleTextComponent, selector: "wapp-view-card-title-text", inputs: ["cardTitle"] }] });
|
|
2236
2195
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: WFilterPanelComponent, decorators: [{
|
|
2237
2196
|
type: Component,
|
|
2238
|
-
args: [{ selector: 'w-filter-panel', template: "<div *ngIf=\"queryConfigReady\" class=\"wapp-filter-panel-styles\">\r\n <div *ngIf=\"!filterPanelObject.allowAdvancedSearch; else baiscAndAdvanced\">\r\n <div class=\"filter-panel-container\">\r\n <ng-container *ngTemplateOutlet=\"basic\"></ng-container>\r\n <div class=\"flex justify-content-end button-gap\">\r\n <p-button [label]=\"translationsObject.clearButtonLabel\" styleClass=\"p-button-outlined\" (click)=\"onClearClicked()\"></p-button>\r\n <p-button [label]=\"translationsObject.searchButtonLabel\" (click)=\"onSearchClicked()\"></p-button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-template #baiscAndAdvanced>\r\n <div class=\"filter-panel-container\">\r\n <div *ngIf=\"!isAdvancedSearch; else advancedView\">\r\n <ng-container *ngTemplateOutlet=\"basic\"></ng-container>\r\n </div>\r\n <ng-template #advancedView>\r\n <ng-container *ngTemplateOutlet=\"advanced\"></ng-container>\r\n </ng-template>\r\n\r\n <div class=\"flex justify-content-end button-gap\" [class.pt-3]=\"isAdvancedSearch\">\r\n <p-button [label]=\"translationsObject.clearButtonLabel\" styleClass=\"p-button-outlined\" (click)=\"onClearClicked()\"></p-button>\r\n <p-button [label]=\"translationsObject.searchButtonLabel\" (click)=\"onSearchClicked()\" [loading]=\"dataIsLoadingSearchButton\"></p-button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </div>\r\n\r\n <ng-template #basic>\r\n <div *ngIf=\"filterPanelObject.allowAdvancedSearch\" class=\"flex justify-content-end flex-wrap\">\r\n <p-button [label]=\"translationsObject.advancedSearchTabLabel\" styleClass=\"p-button-text\" (click)=\"updateSearchType()\"></p-button>\r\n </div>\r\n <div class=\"basic-filter-panel query-builder-style fadein animation-duration-500\">\r\n <query-builder [formControl]='queryCtrl' [config]='basicQueryConfig' [allowRuleset]='filterPanelObject.allowRuleSet' [allowRuleset]=\"filterPanelObject.allowRuleSet\" [persistValueOnFieldChange]='persistValueOnFieldChange'>\r\n <ng-container *queryButtonGroup=\"let ruleset;\">\r\n </ng-container>\r\n\r\n <ng-container *queryRemoveButton=\"let rule; let removeRule=removeRule\">\r\n </ng-container>\r\n\r\n <ng-container *querySwitchGroup=\"let ruleset; let onChange=onChange\">\r\n </ng-container>\r\n\r\n <ng-container *queryEntity=\"let rule; let entities=entities; let onChange=onChange\">\r\n <p-dropdown [disabled]=\"true\" class=\"field-gap w-edit-select-input-small\" *ngIf=\"false\" appendTo=\"body\" [options]=\"entities\" [(ngModel)]=\"rule.entity\" optionLabel=\"name\" optionValue=\"value\" (ngModelChange)=\"onChange($event, rule)\"></p-dropdown>\r\n </ng-container>\r\n\r\n <ng-container *queryField=\"let rule; let fields=fields; let onChange=onChange; let getFields = getFields\">\r\n <span class=\"query-builder-field-width\">\r\n <p-dropdown [disabled]=\"true\" class=\"field-gap w-edit-select-input-small select-disabled\" appendTo=\"body\" [options]=\"getFields(rule.entity)\" [(ngModel)]=\"rule.field\" optionLabel=\"name\" optionValue=\"value\" (ngModelChange)=\"onChange($event, rule)\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryOperator=\"let rule; let operators=operators; let onChange=onChange\">\r\n <span class=\"query-builder-operator-width\">\r\n <p-dropdown class=\"field-gap w-edit-select-input-small\" *ngIf=\"isAdvancedSearch\" appendTo=\"body\" [(ngModel)]=\"rule.operator\" [options]=\"operators\" (ngModelChange)=\"onChange(rule)\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; type: qbDataTypeEnum.Boolean.toString(); let onChange=onChange\">\r\n <p-toggleButton class=\"field-gap toggle-button-align\" [(ngModel)]=\"rule.value\" onLabel=\"True\" offLabel=\"False\" (ngModelChange)=\"onChange()\"></p-toggleButton>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; type: qbDataTypeEnum.Datetime.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-calendar class=\"field-gap\" appendTo=\"body\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" [showTime]=\"true\" [showSeconds]=\"true\" [placeholder]=\"translationsObject.fieldsPlaceholders.datetime\"></p-calendar>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Decimal.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-inputNumber inputStyleClass=\"flex flex-1\" styleClass=\"flex flex-1\" class=\"field-gap wapp-input-number height-input\" [(ngModel)]=\"rule.value\" inputId=\"minmax\" inputId=\"minmax\" mode=\"decimal\" [minFractionDigits]=\"2\" [maxFractionDigits]=\"5\" [min]=\"0\" [max]=\"100\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.decimal\"> </p-inputNumber>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.List.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-dropdown class=\"field-gap w-edit-select-input-small\" appendTo=\"body\" [options]=\"options\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" optionLabel=\"name\" optionValue=\"value\" [placeholder]=\"translationsObject.fieldsPlaceholders.list\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Number.toString(); let onChange=onChange\">\r\n <p-inputNumber inputStyleClass=\"flex flex-1\" styleClass=\"flex flex-1\" class=\"field-gap wapp-input-number height-input\" [(ngModel)]=\"rule.value\" inputId=\"minmax\" inputId=\"minmax\" [min]=\"0\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.number\"> </p-inputNumber>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Text.toString(); let onChange=onChange\">\r\n <input class=\"field-gap query-builder-input-width height-input wapp-input\" type=\"text\" pInputText [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.text\"/>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.List.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-multiSelect class=\"field-gap\" [appendTo]=\"'body'\" [options]=\"options\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" optionLabel=\"name\" optionValue=\"value\" display=\"chip\" [placeholder]=\"translationsObject.fieldsPlaceholders.list\"></p-multiSelect>\r\n </span>\r\n </ng-container>\r\n </query-builder>\r\n </div>\r\n\r\n <ng-container *ngIf=\"!isAdvancedSearch && basicQuery.rules.length==0\" >\r\n <ng-container *ngTemplateOutlet=\"noQueryData\"></ng-container>\r\n </ng-container>\r\n\r\n </ng-template>\r\n\r\n <ng-template #advanced>\r\n <div [class.query-builder-style]=\"!filterPanelObject.allowRuleSet\" class=\"wapp-filter-panel-container fadein animation-duration-500\">\r\n <div *ngIf=\"filterPanelObject.allowRuleSet\" class=\"flex justify-content-end flex-wrap\">\r\n <p-button class=\"mb-2\" [label]=\"translationsObject.basicSearchTabLabel\" styleClass=\"p-button-text\" (click)=\"updateSearchType()\"></p-button>\r\n </div>\r\n <query-builder [formControl]='advancedQueryCtrl' [config]='advancedQueryConfig' [allowRuleset]='filterPanelObject.allowRuleSet' [allowCollapse]='filterPanelObject.allowColapse' [allowRuleset]=\"filterPanelObject.allowRuleSet\" [persistValueOnFieldChange]='persistValueOnFieldChange'>\r\n <div *ngIf=\"filterPanelObject.allowRuleSet; else noRuleSet\">\r\n <ng-container *queryButtonGroup=\"let ruleset; let addRule=addRule; let addRuleSet=addRuleSet; let removeRuleSet=removeRuleSet\">\r\n <p-button class=\"mr-2\" [label]=\"translationsObject.advancedSearch.addRuleButtonLabel\" styleClass=\"p-button-outlined\" (click)=\"addRule()\"></p-button>\r\n <p-button class=\"mr-2\" [label]=\"translationsObject.advancedSearch.addRuleSetButtonLabel\" styleClass=\"p-button-outlined\" icon=\"pi pi-plus\" *ngIf=\"addRuleSet\" (click)=\"addRuleSet()\"></p-button>\r\n <p-button class=\"mr-2\" [label]=\"translationsObject.advancedSearch.removeRuleSetButtonLabel\" styleClass=\"p-button-outlined p-button-danger\" icon=\"pi pi-minus\" *ngIf=\"removeRuleSet\" (click)=\"removeRuleSet()\"></p-button>\r\n </ng-container>\r\n </div>\r\n\r\n <ng-template #noRuleSet>\r\n <ng-container *queryButtonGroup=\"let ruleset; let addRule=addRule; let addRuleSet=addRuleSet; let removeRuleSet=removeRuleSet\">\r\n <div class=\"flex justify-content-end flex-wrap\">\r\n <p-button [label]=\"translationsObject.basicSearchTabLabel\" styleClass=\"p-button-text\" (click)=\"updateSearchType()\"></p-button>\r\n </div>\r\n <span class=\"advanced-query-button-group gap-3\">\r\n <p-button [label]=\"translationsObject.advancedSearch.addRuleButtonLabel\" styleClass=\"p-button-outlined\" (click)=\"addRule()\"></p-button>\r\n <p-button [label]=\"translationsObject.advancedSearch.addRuleSetButtonLabel\" styleClass=\"p-button-outlined\" icon=\"pi pi-plus\" *ngIf=\"addRuleSet\" (click)=\"addRuleSet()\"></p-button>\r\n <p-button [label]=\"translationsObject.advancedSearch.removeRuleSetButtonLabel\" styleClass=\"p-button-outlined p-button-danger\" icon=\"pi pi-minus\" *ngIf=\"removeRuleSet\" (click)=\"removeRuleSet()\"></p-button>\r\n </span>\r\n </ng-container>\r\n </ng-template>\r\n <ng-container *queryArrowIcon>\r\n <button pButton pRipple type=\"button\" icon=\"pi pi-angle-right\" class=\"p-button-rounded p-button-text\"></button>\r\n </ng-container>\r\n\r\n <ng-container *queryRemoveButton=\"let rule; let removeRule=removeRule\">\r\n <p-button label=\"\" styleClass=\"p-button-outlined p-button-danger\" icon=\"pi pi-times\" (click)=\"removeRule(rule)\"></p-button>\r\n </ng-container>\r\n\r\n <ng-container *querySwitchGroup=\"let ruleset; let onChange=onChange\">\r\n <div *ngIf=\"ruleset\" class=\"switch-group-padding\">\r\n <p-selectButton *ngIf=\"filterPanelObject.allowLogicalRule\" [options]=\"stateOptions\" [(ngModel)]=\"ruleset.condition\" optionLabel=\"label\" optionValue=\"value\"></p-selectButton>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *queryEntity=\"let rule; let entities=entities; let onChange=onChange\">\r\n <p-dropdown *ngIf=\"filterPanelObject.enityMode\" class=\"field-gap w-edit-select-input-small\" appendTo=\"body\" [options]=\"entities\" [(ngModel)]=\"rule.entity\" optionLabel=\"name\" optionValue=\"value\" (ngModelChange)=\"onChange($event, rule)\"></p-dropdown>\r\n </ng-container>\r\n\r\n <ng-container *queryField=\"let rule; let fields=fields; let onChange=onChange; let getFields = getFields\">\r\n <span class=\"query-builder-field-width\">\r\n <p-dropdown class=\"field-gap w-edit-select-input-small\" appendTo=\"body\" [options]=\"getFields(rule.entity)\" [(ngModel)]=\"rule.field\" optionLabel=\"name\" optionValue=\"value\" (ngModelChange)=\"onChange($event, rule)\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryOperator=\"let rule; let operators=operators; let onChange=onChange\">\r\n <span class=\"query-builder-operator-width\">\r\n <p-dropdown class=\"field-gap w-edit-select-input-small\" appendTo=\"body\" [(ngModel)]=\"rule.operator\" [options]=\"operators\" (ngModelChange)=\"onChange(rule)\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; type: qbDataTypeEnum.Boolean.toString(); let onChange=onChange\">\r\n <p-toggleButton class=\"field-gap toggle-button-align\" [(ngModel)]=\"rule.value\" onLabel=\"True\" offLabel=\"False\" (ngModelChange)=\"onChange()\"></p-toggleButton>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; type: qbDataTypeEnum.Datetime.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-calendar class=\"field-gap\" appendTo=\"body\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" [showTime]=\"true\" [showSeconds]=\"true\" [placeholder]=\"translationsObject.fieldsPlaceholders.datetime\"></p-calendar>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Decimal.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-inputNumber inputStyleClass=\"flex flex-1\" styleClass=\"flex flex-1\" class=\"field-gap wapp-input-number height-input\" [(ngModel)]=\"rule.value\" inputId=\"minmax\" inputId=\"minmax\" mode=\"decimal\" [minFractionDigits]=\"2\" [maxFractionDigits]=\"5\" [min]=\"0\" [max]=\"100\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.decimal\"> </p-inputNumber>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.List.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width field-gap\">\r\n <w-list-field [options]=\"options\" [(ngModel)]=\"rule.value\" [operator]=\"rule.operator\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.list\"></w-list-field>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Number.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-inputNumber inputStyleClass=\"flex flex-1\" styleClass=\"flex flex-1\" class=\"field-gap wapp-input-number height-input\" [(ngModel)]=\"rule.value\" inputId=\"minmax\" inputId=\"minmax\" [min]=\"0\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.number\"> </p-inputNumber>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Text.toString(); let onChange=onChange\">\r\n <input class=\"field-gap query-builder-input-width height-input wapp-input\" type=\"text\" pInputText [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.text\"/>\r\n </ng-container>\r\n </query-builder>\r\n\r\n <ng-container *ngIf=\"isAdvancedSearch && advancedQuery.rules.length==0\" >\r\n <ng-container *ngTemplateOutlet=\"noQueryData\"></ng-container>\r\n </ng-container>\r\n\r\n <!-- Grouped filter -->\r\n <div *ngIf=\"filterPanelObject.allowGrouped\">\r\n <div class=\"py-5\">\r\n <wapp-view-card-title-text [cardTitle]=\"translationsObject.groupedFilterTitle\"></wapp-view-card-title-text>\r\n </div>\r\n\r\n <query-builder [formControl]='groupedQueryCtrl' [config]='advancedQueryConfig' [allowRuleset]='filterPanelObject.allowRuleSet' [allowCollapse]='filterPanelObject.allowColapse' [allowRuleset]=\"filterPanelObject.allowRuleSet\" [persistValueOnFieldChange]='persistValueOnFieldChange'>\r\n <ng-container *queryButtonGroup=\"let ruleset; let addRule=addRule; let addRuleSet=addRuleSet; let removeRuleSet=removeRuleSet\">\r\n <div class=\"flex gap-3 mb-3\">\r\n <p-button [label]=\"translationsObject.advancedSearch.addRuleButtonLabel\" styleClass=\"p-button-outlined\" (click)=\"addRule()\"></p-button>\r\n <p-button [label]=\"translationsObject.advancedSearch.addRuleSetButtonLabel\" styleClass=\"p-button-outlined\" icon=\"pi pi-plus\" *ngIf=\"addRuleSet\" (click)=\"addRuleSet()\"></p-button>\r\n <p-button [label]=\"translationsObject.advancedSearch.removeRuleSetButtonLabel\" styleClass=\"p-button-outlined p-button-danger\" icon=\"pi pi-minus\" *ngIf=\"removeRuleSet\" (click)=\"removeRuleSet()\"></p-button>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *queryArrowIcon>\r\n <button pButton pRipple type=\"button\" icon=\"pi pi-angle-right\" class=\"p-button-rounded p-button-text\"></button>\r\n </ng-container>\r\n\r\n <ng-container *queryRemoveButton=\"let rule; let removeRule=removeRule\">\r\n <p-button label=\"\" styleClass=\"p-button-outlined p-button-danger\" icon=\"pi pi-times\" (click)=\"removeRule(rule)\"></p-button>\r\n </ng-container>\r\n\r\n <ng-container *querySwitchGroup=\"let ruleset; let onChange=onChange\">\r\n <div *ngIf=\"ruleset\">\r\n <p-selectButton *ngIf=\"filterPanelObject.allowLogicalRule\" [options]=\"stateOptions\" [(ngModel)]=\"ruleset.condition\" optionLabel=\"label\" optionValue=\"value\"></p-selectButton>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *queryEntity=\"let rule; let entities=entities; let onChange=onChange\">\r\n <p-dropdown class=\"mr-3 w-edit-select-input-small\" *ngIf=\"filterPanelObject.enityMode\" appendTo=\"body\" [options]=\"entities\" [(ngModel)]=\"rule.entity\" optionLabel=\"name\" optionValue=\"value\" (ngModelChange)=\"onChange($event, rule)\"></p-dropdown>\r\n </ng-container>\r\n\r\n <ng-container *queryField=\"let rule; let fields=fields; let onChange=onChange; let getFields = getFields\">\r\n <span class=\"query-builder-field-width\">\r\n <p-dropdown class=\"mr-3 w-edit-select-input-small\" appendTo=\"body\" [options]=\"getFields(rule.entity)\" [(ngModel)]=\"rule.field\" optionLabel=\"name\" optionValue=\"value\" (ngModelChange)=\"onChange($event, rule)\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryOperator=\"let rule; let operators=operators; let onChange=onChange\">\r\n <span class=\"query-builder-operator-width\">\r\n <p-dropdown class=\"mr-3 w-edit-select-input-small\" appendTo=\"body\" [(ngModel)]=\"rule.operator\" [options]=\"operators\" (ngModelChange)=\"onChange(rule)\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; type: qbDataTypeEnum.Boolean.toString(); let onChange=onChange\">\r\n <p-toggleButton class=\"mr-3\" [(ngModel)]=\"rule.value\" onLabel=\"True\" offLabel=\"False\" (ngModelChange)=\"onChange()\"></p-toggleButton>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; type: qbDataTypeEnum.Datetime.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-calendar class=\"mr-3\" appendTo=\"body\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" [showTime]=\"true\" [showSeconds]=\"true\" [placeholder]=\"translationsObject.fieldsPlaceholders.datetime\"></p-calendar>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Decimal.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-inputNumber class=\"mr-3\" [(ngModel)]=\"rule.value\" inputId=\"minmax\" inputId=\"minmax\" mode=\"decimal\" [minFractionDigits]=\"2\" [maxFractionDigits]=\"5\" [min]=\"0\" [max]=\"100\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.decimal\"> </p-inputNumber>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.List.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <w-list-field [options]=\"options\" [(ngModel)]=\"rule.value\" [operator]=\"rule.operator\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.list\"></w-list-field>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Number.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-inputNumber class=\"mr-3\" [(ngModel)]=\"rule.value\" inputId=\"minmax\" inputId=\"minmax\" [min]=\"0\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.number\"> </p-inputNumber>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Text.toString(); let onChange=onChange\">\r\n <input class=\"mr-3 query-builder-input-width height-input wapp-input\" type=\"text\" pInputText [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.text\"/>\r\n </ng-container>\r\n\r\n </query-builder>\r\n\r\n <ng-container *ngIf=\"isAdvancedSearch && groupedQuery.rules.length==0\" >\r\n <ng-container *ngTemplateOutlet=\"noQueryData\"></ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #noQueryData>\r\n <div class=\"flex justify-content-center flex-wrap card-container surface-50 mb-3\">\r\n <div class=\"flex align-items-center justify-content-center w-full h-4rem text-gray-900 border-round m-2\">\r\n {{translationsObject.noRulesLabel}}\r\n </div>\r\n </div>\r\n </ng-template>\r\n", styles: [".heading1{font-size:3.1428571429rem;line-height:3.4285714286rem;font-weight:700}.heading2{font-size:2.8571428571rem;line-height:3.1428571429rem;font-weight:700}.heading3{font-size:2.5714285714rem;line-height:2.8571428571rem;font-weight:700}.heading4{font-size:2.2857142857rem;line-height:2.5714285714rem;font-weight:700}.heading5{font-size:2rem;line-height:2.2857142857rem;font-weight:700}.heading6{font-size:1.7142857143rem;line-height:2rem;font-weight:700}.subtitle1{font-size:1.4285714286rem;line-height:1.7142857143rem;font-weight:700}.subtitle2{font-size:1.1428571429rem;line-height:1.4285714286rem;font-weight:700}.body,.input-generic-placeholder-small,.input-generic-small{font-size:1rem;line-height:1.1428571429rem;font-weight:600}.caption{font-size:.8571428571rem;line-height:1.1428571429rem;font-weight:600}.icon-small-size{font-size:8px}.icon-small-x-size{font-size:12px}.icon-medium-size{font-size:16px}.icon-large-size{font-size:24px}.spacingXXS{padding:4px}.spacingXSM{padding:6px}.spacingXS{padding:8px}.spacingS{padding:12px}.spacingM{padding:16px}.spacingL{padding:20px}.spacingXL{padding:24px}.spacingXXL{padding:28px}.spacingXXXL{padding:32px}.focus{box-shadow:0 0 8px #00a6e980}.hover{border-radius:8px;border:2px solid #0085c7}.button-large-typography{font-size:20px;line-height:24px;font-weight:700}.button-medium-typography{font-size:16px;line-height:16px;font-weight:700}.button-small-typography{font-size:12px;line-height:16px;font-weight:700}.button-text-typography,.input-generic-label{font-size:14px;line-height:16px;font-weight:700}.input-generic-placeholder,.input-generic{font-size:16px;line-height:24px;font-weight:600}.input-generic-placeholder-small{padding:8px 12px 12px}.input-generic-valid{border-radius:8px;border:2px solid #B3FFD3}.input-generic-valid-focus{border-radius:8px;border:2px solid #B3FFD3!important;box-shadow:0 0 2px 2px #b3ffd3!important;padding-left:16px}.input-generic-warning{border-radius:8px;border:2px solid #FFECB8!important}.input-generic-warning-focus{border-radius:8px;border:2px solid #FFECB8!important;box-shadow:0 0 2px 2px #ffecb8!important;padding-left:16px}.input-generic-error{border-radius:8px;border:2px solid #FFBDBD}.tag-generic{font-size:14px;line-height:16px;font-weight:700}.tag-generic-small{font-size:12px;line-height:16px;font-weight:700}.filter-panel-container{padding:16px;background-color:#fff;border-radius:8px;box-shadow:0 4px 8px #0000001a;margin-bottom:16px}::ng-deep .basic-filter-panel .q-row{padding:0!important;margin-bottom:8px!important}::ng-deep .wapp-filter-panel-container .q-row{padding:0!important;margin-bottom:8px!important}.field-gap{margin-right:8px}.button-gap{gap:16px}.switch-group-padding{padding-bottom:8px}::ng-deep .query-builder-style ul li{border:none!important;background:transparent!important;padding-left:0!important}::ng-deep .query-builder-style .q-connector:before{content:none!important}::ng-deep .query-builder-style .q-connector:after{border-width:0px!important}::ng-deep .query-builder-style .q-tree{padding:0!important}::ng-deep .query-builder-field-width .p-dropdown{width:20%}::ng-deep .query-builder-operator-width .p-dropdown{width:10%}.query-builder-input-width{width:40%}::ng-deep .query-builder-input-width .p-dropdown{width:40%}::ng-deep .query-builder-input-width .p-calendar{width:40%}.basic-filter-panel.query-builder-style,.wapp-filter-panel-container.query-builder-style{display:flex;flex-direction:column;justify-content:space-between;position:relative}.advanced-query-button-group{position:absolute;bottom:0;left:0;margin-bottom:-46px}.height-input{height:32px}.wapp-input{border-radius:8px;border-width:2px;border-color:#e8eaed;font-size:16px;line-height:5px;font-weight:600;gap:16px;margin:4px}::ng-deep .p-inputtext{padding:.75rem 12px}.wapp-input:hover{border:2px solid #0085c7!important}.wapp-input:focus{border-radius:8px;border:2px #e0f5fc;box-shadow:0 0 3px 3px #00a6e940!important}::ng-deep .wapp-filter-panel-styles .p-button{height:32px;border-radius:8px;gap:8px}.toggle-button-align{display:inline-block;vertical-align:middle;margin-bottom:6px;margin-left:4px}::ng-deep .p-togglebutton.p-button{margin:4px}::ng-deep .wapp-filter-panel-styles .p-button.p-button-danger.p-button-outlined,.p-buttonset.p-button-danger>.p-button.p-button-outlined,.p-splitbutton.p-button-danger>.p-button.p-button-outlined{background-color:transparent;color:#ef4444;border:1px solid;width:32px;height:32px}::ng-deep .wapp-filter-panel-styles .p-button.p-button-danger.p-button-outlined:enabled:hover,.p-buttonset.p-button-danger>.p-button.p-button-outlined:enabled:hover,.p-splitbutton.p-button-danger>.p-button.p-button-outlined:enabled:hover{background:rgba(239,68,68,.04);color:#ef4444;border:1px solid;width:32px;height:32px}::ng-deep .wapp-filter-panel-styles .pi-times:before{padding-left:8px}::ng-deep .wapp-filter-panel-styles .p-togglebutton.p-button{background:#ffffff;border:2px solid #e8eaed;color:#1e293b;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s}::ng-deep .wapp-filter-panel-styles .p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover{border:2px solid #0085c7}::ng-deep .wapp-filter-panel-styles .p-button:focus{box-shadow:0 0 3px 3px #00a6e940!important}:host ::ng-deep .w-edit-select-input-small .p-dropdown{font-weight:600;border-width:2px;border-radius:8px;border-color:#e8eaed;height:32px;margin:4px}:host ::ng-deep .w-edit-select-input-small .p-dropdown:not(.p-disabled):hover{border-width:2px;border:2px solid #0085c7!important}:host ::ng-deep .w-edit-select-input-small .p-dropdown:not(.p-disabled).p-focus{box-shadow:0 0 8px #00a6e980;border:2px solid #e0f5fc}:host ::ng-deep .w-edit-select-input-small .p-dropdown .p-placeholder{color:#bdc1c6}:host ::ng-deep .w-edit-select-input-small .p-inputtext{padding:6px 0 6px 12px}:host ::ng-deep .w-edit-select-input-small .p-dropdown .pi{font-size:.8rem}:host ::ng-deep .w-edit-select-input-small .p-dropdown-panel{padding:8px}:host ::ng-deep .w-edit-select-input-small .p-dropdown-panel .p-dropdown-items{padding:0}:host ::ng-deep .w-edit-select-input-small .p-dropdown-panel .p-dropdown-items .p-dropdown-item{padding:8px;margin-bottom:4px;font-weight:600}:host ::ng-deep .w-edit-select-input-small .p-dropdown-panel .p-dropdown-items .p-dropdown-item:hover{background:#e0f5fc;border-radius:8px}:host ::ng-deep .w-edit-select-input-small .p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight{background:#e0f5fc;border-radius:8px;color:#000}:host ::ng-deep .w-edit-select-input-small .p-disabled{background:#ffffff;opacity:1}:host ::ng-deep .w-edit-select-input-small .p-disabled .p-inputtext{color:#bdc1c6}::ng-deep .select-disabled .p-dropdown .p-dropdown-trigger{display:none}:host ::ng-deep .height-input .p-inputnumber .p-inputnumber-input{height:32px!important}.wapp-input-number{width:40%!important}:host ::ng-deep .wapp-input-number .p-inputnumber .p-inputnumber-input{border-radius:8px;border-width:2px;border-color:#e8eaed;font-size:16px;line-height:5px;font-weight:600;gap:16px;margin:4px}::-webkit-input-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}::-moz-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}:-ms-input-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}:-moz-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}:host ::ng-deep .wapp-input-number .p-inputnumber .p-inputnumber-input:hover{border-radius:8px;border:2px solid #0085c7!important}:host ::ng-deep .wapp-input-number .p-inputnumber .p-inputnumber-input:focus{border-radius:8px;border:2px #e0f5fc;box-shadow:0 0 3px 3px #00a6e940!important}:host ::ng-deep .wapp-input-number .p-inputnumber .p-inputnumber-input::-moz-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}:host ::ng-deep .wapp-input-number .p-inputnumber .p-inputnumber-input::-webkit-input-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}:host ::ng-deep .wapp-input-number .p-inputnumber .p-inputnumber-input:-ms-input-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}:host ::ng-deep .wapp-input-number .p-inputnumber .p-inputnumber-input:-moz-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}:host ::ng-deep .wapp-input-number .p-inputnumber .p-inputnumber-input:disabled{background-color:#e8eaed}:host ::ng-deep .wapp-input-number-valid .p-inputnumber .p-inputnumber-input{border-radius:8px;border:2px solid #B3FFD3!important}:host ::ng-deep .wapp-input-number-valid .p-inputnumber .p-inputnumber-input:focus{border-radius:8px;border:2px solid #B3FFD3!important;box-shadow:0 0 2px 2px #b3ffd3!important;padding-left:16px}:host ::ng-deep .wapp-input-number-warning .p-inputnumber .p-inputnumber-input{border-radius:8px;border:2px solid #FFECB8!important}:host ::ng-deep .wapp-input-number-warning .p-inputnumber .p-inputnumber-input:focus{border-radius:8px;border:2px solid #FFECB8!important;box-shadow:0 0 2px 2px #ffecb8!important;padding-left:16px}:host ::ng-deep .wapp-input-number-error .p-inputnumber .p-inputnumber-input{border-radius:8px;border:2px solid #FFBDBD}:host ::ng-deep .wapp-input-number-error .p-inputnumber .p-inputnumber-input:focus{border-radius:8px;border:2px solid #FFBDBD;box-shadow:0 0 2px 2px #ffbdbd!important;padding-left:16px}.success-alert-text{color:#00db5d;padding:8px}.warning-alert-text{color:#eeae00;padding:8px}.error-alert-text{color:#e50000;padding:8px}.alert-message-height{height:35px}\n"] }]
|
|
2197
|
+
args: [{ selector: 'w-filter-panel', template: "<div *ngIf=\"queryConfigReady\" class=\"wapp-filter-panel-styles\">\r\n <div *ngIf=\"!filterPanelObject.allowAdvancedSearch; else baiscAndAdvanced\">\r\n <div class=\"filter-panel-container\">\r\n <ng-container *ngTemplateOutlet=\"basic\"></ng-container>\r\n <div class=\"flex justify-content-end button-gap\">\r\n <p-button [label]=\"translationsObject.clearButtonLabel\" styleClass=\"p-button-outlined\" (click)=\"onClearClicked()\"></p-button>\r\n <p-button [label]=\"translationsObject.searchButtonLabel\" (click)=\"onSearchClicked()\"></p-button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-template #baiscAndAdvanced>\r\n <div class=\"filter-panel-container\">\r\n <div *ngIf=\"!isAdvancedSearch; else advancedView\">\r\n <ng-container *ngTemplateOutlet=\"basic\"></ng-container>\r\n </div>\r\n <ng-template #advancedView>\r\n <ng-container *ngTemplateOutlet=\"advanced\"></ng-container>\r\n </ng-template>\r\n\r\n <div class=\"flex justify-content-end button-gap\" [class.pt-3]=\"isAdvancedSearch\">\r\n <p-button [label]=\"translationsObject.clearButtonLabel\" styleClass=\"p-button-outlined\" (click)=\"onClearClicked()\"></p-button>\r\n <p-button [label]=\"translationsObject.searchButtonLabel\" (click)=\"onSearchClicked()\" [loading]=\"dataIsLoadingSearchButton\"></p-button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </div>\r\n\r\n <ng-template #basic>\r\n <div *ngIf=\"filterPanelObject.allowAdvancedSearch\" class=\"flex justify-content-end flex-wrap\">\r\n <p-button [label]=\"translationsObject.advancedSearchTabLabel\" styleClass=\"p-button-text\" (click)=\"updateSearchType()\"></p-button>\r\n </div>\r\n <div class=\"basic-filter-panel query-builder-style fadein animation-duration-500\">\r\n <query-builder [formControl]='queryCtrl' [config]='basicQueryConfig' [allowRuleset]='filterPanelObject.allowRuleSet' [allowRuleset]=\"filterPanelObject.allowRuleSet\" [persistValueOnFieldChange]='persistValueOnFieldChange'>\r\n <ng-container *queryButtonGroup=\"let ruleset;\">\r\n </ng-container>\r\n\r\n <ng-container *queryRemoveButton=\"let rule; let removeRule=removeRule\">\r\n </ng-container>\r\n\r\n <ng-container *querySwitchGroup=\"let ruleset; let onChange=onChange\">\r\n </ng-container>\r\n\r\n <ng-container *queryEntity=\"let rule; let entities=entities; let onChange=onChange\">\r\n <p-dropdown [disabled]=\"true\" class=\"field-gap w-edit-select-input-small\" *ngIf=\"false\" appendTo=\"body\" [options]=\"entities\" [(ngModel)]=\"rule.entity\" optionLabel=\"name\" optionValue=\"value\" (ngModelChange)=\"onChange($event, rule)\"></p-dropdown>\r\n </ng-container>\r\n\r\n <ng-container *queryField=\"let rule; let fields=fields; let onChange=onChange; let getFields = getFields\">\r\n <span class=\"query-builder-field-width\">\r\n <p-dropdown [disabled]=\"true\" class=\"field-gap w-edit-select-input-small select-disabled\" appendTo=\"body\" [options]=\"getFields(rule.entity)\" [(ngModel)]=\"rule.field\" optionLabel=\"name\" optionValue=\"value\" (ngModelChange)=\"onChange($event, rule)\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryOperator=\"let rule; let operators=operators; let onChange=onChange\">\r\n <span class=\"query-builder-operator-width\">\r\n <p-dropdown class=\"field-gap w-edit-select-input-small\" *ngIf=\"isAdvancedSearch\" appendTo=\"body\" [(ngModel)]=\"rule.operator\" [options]=\"operators\" (ngModelChange)=\"onChange(rule)\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; type: qbDataTypeEnum.Boolean.toString(); let onChange=onChange\">\r\n <p-toggleButton class=\"field-gap toggle-button-align\" [(ngModel)]=\"rule.value\" onLabel=\"True\" offLabel=\"False\" (ngModelChange)=\"onChange()\"></p-toggleButton>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; type: qbDataTypeEnum.Datetime.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-calendar class=\"field-gap\" appendTo=\"body\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" [showTime]=\"true\" [showSeconds]=\"true\" [placeholder]=\"translationsObject.fieldsPlaceholders.datetime\"></p-calendar>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Decimal.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-inputNumber inputStyleClass=\"flex flex-1\" styleClass=\"flex flex-1\" class=\"field-gap wapp-input-number height-input\" [(ngModel)]=\"rule.value\" inputId=\"minmax\" inputId=\"minmax\" mode=\"decimal\" [minFractionDigits]=\"2\" [maxFractionDigits]=\"5\" [min]=\"0\" [max]=\"100\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.decimal\"> </p-inputNumber>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.List.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-dropdown class=\"field-gap w-edit-select-input-small\" appendTo=\"body\" [options]=\"options\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" optionLabel=\"name\" optionValue=\"value\" [placeholder]=\"translationsObject.fieldsPlaceholders.list\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Number.toString(); let onChange=onChange\">\r\n <p-inputNumber inputStyleClass=\"flex flex-1\" styleClass=\"flex flex-1\" class=\"field-gap wapp-input-number height-input\" [(ngModel)]=\"rule.value\" inputId=\"minmax\" inputId=\"minmax\" [min]=\"0\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.number\"> </p-inputNumber>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Text.toString(); let onChange=onChange\">\r\n <input class=\"field-gap query-builder-input-width height-input wapp-input\" type=\"text\" pInputText [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.text\"/>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.List.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-multiSelect class=\"field-gap\" [appendTo]=\"'body'\" [options]=\"options\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" optionLabel=\"name\" optionValue=\"value\" display=\"chip\" [placeholder]=\"translationsObject.fieldsPlaceholders.list\"></p-multiSelect>\r\n </span>\r\n </ng-container>\r\n </query-builder>\r\n </div>\r\n\r\n <ng-container *ngIf=\"!isAdvancedSearch && basicQuery.rules.length==0\" >\r\n <ng-container *ngTemplateOutlet=\"noQueryData\"></ng-container>\r\n </ng-container>\r\n\r\n </ng-template>\r\n\r\n <ng-template #advanced>\r\n <div [class.query-builder-style]=\"!filterPanelObject.allowRuleSet\" class=\"wapp-filter-panel-container fadein animation-duration-500\">\r\n <div *ngIf=\"filterPanelObject.allowRuleSet\" class=\"flex justify-content-end flex-wrap\">\r\n <p-button class=\"mb-2\" [label]=\"translationsObject.basicSearchTabLabel\" styleClass=\"p-button-text\" (click)=\"updateSearchType()\"></p-button>\r\n </div>\r\n <query-builder [formControl]='advancedQueryCtrl' [config]='advancedQueryConfig' [allowRuleset]='filterPanelObject.allowRuleSet' [allowCollapse]='filterPanelObject.allowColapse' [allowRuleset]=\"filterPanelObject.allowRuleSet\" [persistValueOnFieldChange]='persistValueOnFieldChange'>\r\n <div *ngIf=\"filterPanelObject.allowRuleSet; else noRuleSet\">\r\n <ng-container *queryButtonGroup=\"let ruleset; let addRule=addRule; let addRuleSet=addRuleSet; let removeRuleSet=removeRuleSet\">\r\n <p-button class=\"mr-2\" [label]=\"translationsObject.advancedSearch.addRuleButtonLabel\" styleClass=\"p-button-outlined\" (click)=\"addRule()\"></p-button>\r\n <p-button class=\"mr-2\" [label]=\"translationsObject.advancedSearch.addRuleSetButtonLabel\" styleClass=\"p-button-outlined\" icon=\"pi pi-plus\" *ngIf=\"addRuleSet\" (click)=\"addRuleSet()\"></p-button>\r\n <p-button class=\"mr-2\" [label]=\"translationsObject.advancedSearch.removeRuleSetButtonLabel\" styleClass=\"p-button-outlined p-button-danger\" icon=\"pi pi-minus\" *ngIf=\"removeRuleSet\" (click)=\"removeRuleSet()\"></p-button>\r\n </ng-container>\r\n </div>\r\n\r\n <ng-template #noRuleSet>\r\n <ng-container *queryButtonGroup=\"let ruleset; let addRule=addRule; let addRuleSet=addRuleSet; let removeRuleSet=removeRuleSet\">\r\n <div class=\"flex justify-content-end flex-wrap\">\r\n <p-button [label]=\"translationsObject.basicSearchTabLabel\" styleClass=\"p-button-text\" (click)=\"updateSearchType()\"></p-button>\r\n </div>\r\n <span class=\"advanced-query-button-group gap-3\">\r\n <p-button [label]=\"translationsObject.advancedSearch.addRuleButtonLabel\" styleClass=\"p-button-outlined\" (click)=\"addRule()\"></p-button>\r\n <p-button [label]=\"translationsObject.advancedSearch.addRuleSetButtonLabel\" styleClass=\"p-button-outlined\" icon=\"pi pi-plus\" *ngIf=\"addRuleSet\" (click)=\"addRuleSet()\"></p-button>\r\n <p-button [label]=\"translationsObject.advancedSearch.removeRuleSetButtonLabel\" styleClass=\"p-button-outlined p-button-danger\" icon=\"pi pi-minus\" *ngIf=\"removeRuleSet\" (click)=\"removeRuleSet()\"></p-button>\r\n </span>\r\n </ng-container>\r\n </ng-template>\r\n <ng-container *queryArrowIcon>\r\n <button pButton pRipple type=\"button\" icon=\"pi pi-angle-right\" class=\"p-button-rounded p-button-text\"></button>\r\n </ng-container>\r\n\r\n <ng-container *queryRemoveButton=\"let rule; let removeRule=removeRule\">\r\n <p-button label=\"\" styleClass=\"p-button-outlined p-button-danger\" icon=\"pi pi-times\" (click)=\"removeRule(rule)\"></p-button>\r\n </ng-container>\r\n\r\n <ng-container *querySwitchGroup=\"let ruleset; let onChange=onChange\">\r\n <div *ngIf=\"ruleset\" class=\"switch-group-padding\">\r\n <p-selectButton *ngIf=\"filterPanelObject.allowLogicalRule\" [options]=\"stateOptions\" [(ngModel)]=\"ruleset.condition\" optionLabel=\"label\" optionValue=\"value\"></p-selectButton>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *queryEntity=\"let rule; let entities=entities; let onChange=onChange\">\r\n <p-dropdown *ngIf=\"filterPanelObject.enityMode\" class=\"field-gap w-edit-select-input-small\" appendTo=\"body\" [options]=\"entities\" [(ngModel)]=\"rule.entity\" optionLabel=\"name\" optionValue=\"value\" (ngModelChange)=\"onChange($event, rule)\"></p-dropdown>\r\n </ng-container>\r\n\r\n <ng-container *queryField=\"let rule; let fields=fields; let onChange=onChange; let getFields = getFields\">\r\n <span class=\"query-builder-field-width\">\r\n <p-dropdown class=\"field-gap w-edit-select-input-small\" appendTo=\"body\" [options]=\"getFields(rule.entity)\" [(ngModel)]=\"rule.field\" optionLabel=\"name\" optionValue=\"value\" (ngModelChange)=\"onChange($event, rule)\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryOperator=\"let rule; let operators=operators; let onChange=onChange\">\r\n <span class=\"query-builder-operator-width\">\r\n <p-dropdown class=\"field-gap w-edit-select-input-small\" appendTo=\"body\" [(ngModel)]=\"rule.operator\" [options]=\"operators\" (ngModelChange)=\"onChange(rule)\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; type: qbDataTypeEnum.Boolean.toString(); let onChange=onChange\">\r\n <p-toggleButton class=\"field-gap toggle-button-align\" [(ngModel)]=\"rule.value\" onLabel=\"True\" offLabel=\"False\" (ngModelChange)=\"onChange()\"></p-toggleButton>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; type: qbDataTypeEnum.Datetime.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-calendar class=\"field-gap\" appendTo=\"body\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" [showTime]=\"true\" [showSeconds]=\"true\" [placeholder]=\"translationsObject.fieldsPlaceholders.datetime\"></p-calendar>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Decimal.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-inputNumber inputStyleClass=\"flex flex-1\" styleClass=\"flex flex-1\" class=\"field-gap wapp-input-number height-input\" [(ngModel)]=\"rule.value\" inputId=\"minmax\" inputId=\"minmax\" mode=\"decimal\" [minFractionDigits]=\"2\" [maxFractionDigits]=\"5\" [min]=\"0\" [max]=\"100\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.decimal\"> </p-inputNumber>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.List.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width field-gap\">\r\n <w-list-field [options]=\"options\" [(ngModel)]=\"rule.value\" [operator]=\"rule.operator\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.list\"></w-list-field>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Number.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-inputNumber inputStyleClass=\"flex flex-1\" styleClass=\"flex flex-1\" class=\"field-gap wapp-input-number height-input\" [(ngModel)]=\"rule.value\" inputId=\"minmax\" inputId=\"minmax\" [min]=\"0\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.number\"> </p-inputNumber>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Text.toString(); let onChange=onChange\">\r\n <input class=\"field-gap query-builder-input-width height-input wapp-input\" type=\"text\" pInputText [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.text\"/>\r\n </ng-container>\r\n </query-builder>\r\n\r\n <ng-container *ngIf=\"isAdvancedSearch && advancedQuery.rules.length==0\" >\r\n <ng-container *ngTemplateOutlet=\"noQueryData\"></ng-container>\r\n </ng-container>\r\n\r\n <!-- Grouped filter -->\r\n <div *ngIf=\"filterPanelObject.allowGrouped\">\r\n <div class=\"py-5\">\r\n <wapp-view-card-title-text [cardTitle]=\"translationsObject.groupedFilterTitle\"></wapp-view-card-title-text>\r\n </div>\r\n\r\n <query-builder [formControl]='groupedQueryCtrl' [config]='advancedQueryConfig' [allowRuleset]='filterPanelObject.allowRuleSet' [allowCollapse]='filterPanelObject.allowColapse' [allowRuleset]=\"filterPanelObject.allowRuleSet\" [persistValueOnFieldChange]='persistValueOnFieldChange'>\r\n <ng-container *queryButtonGroup=\"let ruleset; let addRule=addRule; let addRuleSet=addRuleSet; let removeRuleSet=removeRuleSet\">\r\n <div class=\"flex gap-3 mb-3\">\r\n <p-button [label]=\"translationsObject.advancedSearch.addRuleButtonLabel\" styleClass=\"p-button-outlined\" (click)=\"addRule()\"></p-button>\r\n <p-button [label]=\"translationsObject.advancedSearch.addRuleSetButtonLabel\" styleClass=\"p-button-outlined\" icon=\"pi pi-plus\" *ngIf=\"addRuleSet\" (click)=\"addRuleSet()\"></p-button>\r\n <p-button [label]=\"translationsObject.advancedSearch.removeRuleSetButtonLabel\" styleClass=\"p-button-outlined p-button-danger\" icon=\"pi pi-minus\" *ngIf=\"removeRuleSet\" (click)=\"removeRuleSet()\"></p-button>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *queryArrowIcon>\r\n <button pButton pRipple type=\"button\" icon=\"pi pi-angle-right\" class=\"p-button-rounded p-button-text\"></button>\r\n </ng-container>\r\n\r\n <ng-container *queryRemoveButton=\"let rule; let removeRule=removeRule\">\r\n <p-button label=\"\" styleClass=\"p-button-outlined p-button-danger\" icon=\"pi pi-times\" (click)=\"removeRule(rule)\"></p-button>\r\n </ng-container>\r\n\r\n <ng-container *querySwitchGroup=\"let ruleset; let onChange=onChange\">\r\n <div *ngIf=\"ruleset\">\r\n <p-selectButton *ngIf=\"filterPanelObject.allowLogicalRule\" [options]=\"stateOptions\" [(ngModel)]=\"ruleset.condition\" optionLabel=\"label\" optionValue=\"value\"></p-selectButton>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *queryEntity=\"let rule; let entities=entities; let onChange=onChange\">\r\n <p-dropdown class=\"mr-3 w-edit-select-input-small\" *ngIf=\"filterPanelObject.enityMode\" appendTo=\"body\" [options]=\"entities\" [(ngModel)]=\"rule.entity\" optionLabel=\"name\" optionValue=\"value\" (ngModelChange)=\"onChange($event, rule)\"></p-dropdown>\r\n </ng-container>\r\n\r\n <ng-container *queryField=\"let rule; let fields=fields; let onChange=onChange; let getFields = getFields\">\r\n <span class=\"query-builder-field-width\">\r\n <p-dropdown class=\"mr-3 w-edit-select-input-small\" appendTo=\"body\" [options]=\"getFields(rule.entity)\" [(ngModel)]=\"rule.field\" optionLabel=\"name\" optionValue=\"value\" (ngModelChange)=\"onChange($event, rule)\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryOperator=\"let rule; let operators=operators; let onChange=onChange\">\r\n <span class=\"query-builder-operator-width\">\r\n <p-dropdown class=\"mr-3 w-edit-select-input-small\" appendTo=\"body\" [(ngModel)]=\"rule.operator\" [options]=\"operators\" (ngModelChange)=\"onChange(rule)\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; type: qbDataTypeEnum.Boolean.toString(); let onChange=onChange\">\r\n <p-toggleButton class=\"mr-3\" [(ngModel)]=\"rule.value\" onLabel=\"True\" offLabel=\"False\" (ngModelChange)=\"onChange()\"></p-toggleButton>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; type: qbDataTypeEnum.Datetime.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-calendar class=\"mr-3\" appendTo=\"body\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" [showTime]=\"true\" [showSeconds]=\"true\" [placeholder]=\"translationsObject.fieldsPlaceholders.datetime\"></p-calendar>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Decimal.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-inputNumber class=\"mr-3\" [(ngModel)]=\"rule.value\" inputId=\"minmax\" inputId=\"minmax\" mode=\"decimal\" [minFractionDigits]=\"2\" [maxFractionDigits]=\"5\" [min]=\"0\" [max]=\"100\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.decimal\"> </p-inputNumber>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.List.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <w-list-field [options]=\"options\" [(ngModel)]=\"rule.value\" [operator]=\"rule.operator\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.list\"></w-list-field>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Number.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-inputNumber class=\"mr-3\" [(ngModel)]=\"rule.value\" inputId=\"minmax\" inputId=\"minmax\" [min]=\"0\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.number\"> </p-inputNumber>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Text.toString(); let onChange=onChange\">\r\n <input class=\"mr-3 query-builder-input-width height-input wapp-input\" type=\"text\" pInputText [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.text\"/>\r\n </ng-container>\r\n\r\n </query-builder>\r\n\r\n <ng-container *ngIf=\"isAdvancedSearch && groupedQuery.rules.length==0\" >\r\n <ng-container *ngTemplateOutlet=\"noQueryData\"></ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #noQueryData>\r\n <div class=\"flex justify-content-center flex-wrap card-container surface-50 mb-3\">\r\n <div class=\"flex align-items-center justify-content-center w-full h-4rem text-gray-900 border-round m-2\">\r\n {{translationsObject.noRulesLabel}}\r\n </div>\r\n </div>\r\n </ng-template>\r\n", styles: [".heading1{font-size:3.1428571429rem;line-height:3.4285714286rem;font-weight:700}.heading2{font-size:2.8571428571rem;line-height:3.1428571429rem;font-weight:700}.heading3{font-size:2.5714285714rem;line-height:2.8571428571rem;font-weight:700}.heading4{font-size:2.2857142857rem;line-height:2.5714285714rem;font-weight:700}.heading5{font-size:2rem;line-height:2.2857142857rem;font-weight:700}.heading6{font-size:1.7142857143rem;line-height:2rem;font-weight:700}.subtitle1{font-size:1.4285714286rem;line-height:1.7142857143rem;font-weight:700}.subtitle2{font-size:1.1428571429rem;line-height:1.4285714286rem;font-weight:700}.body,.input-generic-placeholder-small,.input-generic-small{font-size:1rem;line-height:1.1428571429rem;font-weight:600}.caption{font-size:.8571428571rem;line-height:1.1428571429rem;font-weight:600}.icon-small-size{font-size:8px}.icon-small-x-size{font-size:12px}.icon-medium-size{font-size:16px}.icon-large-size{font-size:24px}.spacingXXS{padding:4px}.spacingXSM{padding:6px}.spacingXS{padding:8px}.spacingS{padding:12px}.spacingM{padding:16px}.spacingL{padding:20px}.spacingXL{padding:24px}.spacingXXL{padding:28px}.spacingXXXL{padding:32px}.focus{box-shadow:0 0 8px #00a6e980}.hover{border-radius:8px;border:2px solid #0085c7}.button-large-typography{font-size:20px;line-height:24px;font-weight:700}.button-medium-typography{font-size:16px;line-height:16px;font-weight:700}.button-small-typography{font-size:12px;line-height:16px;font-weight:700}.button-text-typography,.input-generic-label{font-size:14px;line-height:16px;font-weight:700}.input-generic-placeholder,.input-generic{font-size:16px;line-height:24px;font-weight:600}.input-generic-placeholder-small{padding:8px 12px 12px}.input-generic-valid{border-radius:8px;border:2px solid #B3FFD3}.input-generic-valid-focus{border-radius:8px;border:2px solid #B3FFD3!important;box-shadow:0 0 2px 2px #b3ffd3!important;padding-left:16px}.input-generic-warning{border-radius:8px;border:2px solid #FFECB8!important}.input-generic-warning-focus{border-radius:8px;border:2px solid #FFECB8!important;box-shadow:0 0 2px 2px #ffecb8!important;padding-left:16px}.input-generic-error{border-radius:8px;border:2px solid #FFBDBD}.tag-generic{font-size:14px;line-height:16px;font-weight:700}.tag-generic-small{font-size:12px;line-height:16px;font-weight:700}.filter-panel-container{padding:16px;background-color:#fff;border-radius:8px;box-shadow:0 4px 8px #0000001a;margin-bottom:8px}::ng-deep .basic-filter-panel .q-row{padding:0!important;margin-bottom:8px!important}::ng-deep .wapp-filter-panel-container .q-row{padding:0!important;margin-bottom:8px!important}.field-gap{margin-right:8px}.button-gap{gap:16px}.switch-group-padding{padding-bottom:8px}::ng-deep .query-builder-style ul li{border:none!important;background:transparent!important;padding-left:0!important}::ng-deep .query-builder-style .q-connector:before{content:none!important}::ng-deep .query-builder-style .q-connector:after{border-width:0px!important}::ng-deep .query-builder-style .q-tree{padding:0!important}::ng-deep .query-builder-field-width .p-dropdown{width:20%}::ng-deep .query-builder-operator-width .p-dropdown{width:10%}.query-builder-input-width{width:40%}::ng-deep .query-builder-input-width .p-dropdown{width:40%}::ng-deep .query-builder-input-width .p-calendar{width:40%}.basic-filter-panel.query-builder-style,.wapp-filter-panel-container.query-builder-style{display:flex;flex-direction:column;justify-content:space-between;position:relative}.advanced-query-button-group{position:absolute;bottom:0;left:0;margin-bottom:-46px}.height-input{height:32px}.wapp-input{border-radius:8px;border-width:2px;border-color:#e8eaed;font-size:16px;line-height:5px;font-weight:600;gap:16px;margin:4px}::ng-deep .p-inputtext{padding:.75rem 12px}.wapp-input:hover{border:2px solid #0085c7!important}.wapp-input:focus{border-radius:8px;border:2px #e0f5fc;box-shadow:0 0 3px 3px #00a6e940!important}::ng-deep .wapp-filter-panel-styles .p-button{height:32px;border-radius:8px;gap:8px}.toggle-button-align{display:inline-block;vertical-align:middle;margin-bottom:6px;margin-left:4px}::ng-deep .p-togglebutton.p-button{margin:4px}::ng-deep .wapp-filter-panel-styles .p-button.p-button-danger.p-button-outlined,.p-buttonset.p-button-danger>.p-button.p-button-outlined,.p-splitbutton.p-button-danger>.p-button.p-button-outlined{background-color:transparent;color:#ef4444;border:1px solid;width:32px;height:32px}::ng-deep .wapp-filter-panel-styles .p-button.p-button-danger.p-button-outlined:enabled:hover,.p-buttonset.p-button-danger>.p-button.p-button-outlined:enabled:hover,.p-splitbutton.p-button-danger>.p-button.p-button-outlined:enabled:hover{background:rgba(239,68,68,.04);color:#ef4444;border:1px solid;width:32px;height:32px}::ng-deep .wapp-filter-panel-styles .pi-times:before{padding-left:8px}::ng-deep .wapp-filter-panel-styles .p-togglebutton.p-button{background:#ffffff;border:2px solid #e8eaed;color:#1e293b;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s}::ng-deep .wapp-filter-panel-styles .p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover{border:2px solid #0085c7}::ng-deep .wapp-filter-panel-styles .p-button:focus{box-shadow:0 0 3px 3px #00a6e940!important}:host ::ng-deep .w-edit-select-input-small .p-dropdown{font-weight:600;border-width:2px;border-radius:8px;border-color:#e8eaed;height:32px;margin:4px}:host ::ng-deep .w-edit-select-input-small .p-dropdown:not(.p-disabled):hover{border-width:2px;border:2px solid #0085c7!important}:host ::ng-deep .w-edit-select-input-small .p-dropdown:not(.p-disabled).p-focus{box-shadow:0 0 8px #00a6e980;border:2px solid #e0f5fc}:host ::ng-deep .w-edit-select-input-small .p-dropdown .p-placeholder{color:#bdc1c6}:host ::ng-deep .w-edit-select-input-small .p-inputtext{padding:6px 0 6px 12px}:host ::ng-deep .w-edit-select-input-small .p-dropdown .pi{font-size:.8rem}:host ::ng-deep .w-edit-select-input-small .p-dropdown-panel{padding:8px}:host ::ng-deep .w-edit-select-input-small .p-dropdown-panel .p-dropdown-items{padding:0}:host ::ng-deep .w-edit-select-input-small .p-dropdown-panel .p-dropdown-items .p-dropdown-item{padding:8px;margin-bottom:4px;font-weight:600}:host ::ng-deep .w-edit-select-input-small .p-dropdown-panel .p-dropdown-items .p-dropdown-item:hover{background:#e0f5fc;border-radius:8px}:host ::ng-deep .w-edit-select-input-small .p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight{background:#e0f5fc;border-radius:8px;color:#000}:host ::ng-deep .w-edit-select-input-small .p-disabled{background:#ffffff;opacity:1}:host ::ng-deep .w-edit-select-input-small .p-disabled .p-inputtext{color:#bdc1c6}::ng-deep .select-disabled .p-dropdown .p-dropdown-trigger{display:none}:host ::ng-deep .height-input .p-inputnumber .p-inputnumber-input{height:32px!important}.wapp-input-number{width:40%!important}:host ::ng-deep .wapp-input-number .p-inputnumber .p-inputnumber-input{border-radius:8px;border-width:2px;border-color:#e8eaed;font-size:16px;line-height:5px;font-weight:600;gap:16px;margin:4px}::-webkit-input-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}::-moz-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}:-ms-input-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}:-moz-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}:host ::ng-deep .wapp-input-number .p-inputnumber .p-inputnumber-input:hover{border-radius:8px;border:2px solid #0085c7!important}:host ::ng-deep .wapp-input-number .p-inputnumber .p-inputnumber-input:focus{border-radius:8px;border:2px #e0f5fc;box-shadow:0 0 3px 3px #00a6e940!important}:host ::ng-deep .wapp-input-number .p-inputnumber .p-inputnumber-input::-moz-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}:host ::ng-deep .wapp-input-number .p-inputnumber .p-inputnumber-input::-webkit-input-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}:host ::ng-deep .wapp-input-number .p-inputnumber .p-inputnumber-input:-ms-input-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}:host ::ng-deep .wapp-input-number .p-inputnumber .p-inputnumber-input:-moz-placeholder{font-size:1rem;line-height:1.1428571429rem;font-weight:600;color:#bdc1c6}:host ::ng-deep .wapp-input-number .p-inputnumber .p-inputnumber-input:disabled{background-color:#e8eaed}:host ::ng-deep .wapp-input-number-valid .p-inputnumber .p-inputnumber-input{border-radius:8px;border:2px solid #B3FFD3!important}:host ::ng-deep .wapp-input-number-valid .p-inputnumber .p-inputnumber-input:focus{border-radius:8px;border:2px solid #B3FFD3!important;box-shadow:0 0 2px 2px #b3ffd3!important;padding-left:16px}:host ::ng-deep .wapp-input-number-warning .p-inputnumber .p-inputnumber-input{border-radius:8px;border:2px solid #FFECB8!important}:host ::ng-deep .wapp-input-number-warning .p-inputnumber .p-inputnumber-input:focus{border-radius:8px;border:2px solid #FFECB8!important;box-shadow:0 0 2px 2px #ffecb8!important;padding-left:16px}:host ::ng-deep .wapp-input-number-error .p-inputnumber .p-inputnumber-input{border-radius:8px;border:2px solid #FFBDBD}:host ::ng-deep .wapp-input-number-error .p-inputnumber .p-inputnumber-input:focus{border-radius:8px;border:2px solid #FFBDBD;box-shadow:0 0 2px 2px #ffbdbd!important;padding-left:16px}.success-alert-text{color:#00db5d;padding:8px}.warning-alert-text{color:#eeae00;padding:8px}.error-alert-text{color:#e50000;padding:8px}.alert-message-height{height:35px}\n"] }]
|
|
2239
2198
|
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: ApiService }]; }, propDecorators: { authorizationApiUrl: [{
|
|
2240
2199
|
type: Input,
|
|
2241
2200
|
args: ['apiUrl']
|
|
@@ -2298,9 +2257,7 @@ WappComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", ve
|
|
|
2298
2257
|
FormsModule,
|
|
2299
2258
|
ReactiveFormsModule,
|
|
2300
2259
|
CommonModule,
|
|
2301
|
-
BrowserModule,
|
|
2302
2260
|
HttpClientModule,
|
|
2303
|
-
BrowserAnimationsModule,
|
|
2304
2261
|
RouterModule,
|
|
2305
2262
|
ButtonModule,
|
|
2306
2263
|
HighlightModule,
|
|
@@ -2364,9 +2321,7 @@ WappComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", ve
|
|
|
2364
2321
|
FormsModule,
|
|
2365
2322
|
ReactiveFormsModule,
|
|
2366
2323
|
CommonModule,
|
|
2367
|
-
BrowserModule,
|
|
2368
2324
|
HttpClientModule,
|
|
2369
|
-
BrowserAnimationsModule,
|
|
2370
2325
|
RouterModule,
|
|
2371
2326
|
ButtonModule,
|
|
2372
2327
|
HighlightModule,
|
|
@@ -2431,9 +2386,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
2431
2386
|
FormsModule,
|
|
2432
2387
|
ReactiveFormsModule,
|
|
2433
2388
|
CommonModule,
|
|
2434
|
-
BrowserModule,
|
|
2435
2389
|
HttpClientModule,
|
|
2436
|
-
BrowserAnimationsModule,
|
|
2437
2390
|
RouterModule,
|
|
2438
2391
|
ButtonModule,
|
|
2439
2392
|
HighlightModule,
|