@pepperi/ngx-lib
Version:
Pepperi Angular Components and Services
567 lines • 81.4 kB
JavaScript
import { Component, Input, Output, EventEmitter, ViewChild, ViewContainerRef, ChangeDetectionStrategy } from '@angular/core';
import { PepperiInternalPageService } from './internal-page.service';
import { LAYOUT_TYPE, ObjectSingleData, FIELD_TYPE } from '@pepperi/ngx-lib';
import { PepperiInternalListComponent, VIEW_TYPE } from './internal-list.component';
import * as $ from 'jquery';
import * as i0 from "@angular/core";
import * as i1 from "@angular/forms";
import * as i2 from "./internal-page.service";
import * as i3 from "@pepperi/ngx-lib";
import * as i4 from "@angular/common";
import * as i5 from "./internal-list.component";
import * as i6 from "@angular/material/menu";
import * as i7 from "@angular/material/icon";
import * as i8 from "@pepperi/ngx-lib/icon";
import * as i9 from "@ngx-translate/core";
const _c0 = ["orgCont"];
const _c1 = ["modalCont"];
const _c2 = ["matrixTemplate"];
function PepperiInternalPageComponent_ng_template_0_ng_container_4_span_2_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementStart(0, "span", 19);
i0.ɵɵtext(1);
i0.ɵɵelementEnd();
} if (rf & 2) {
const ctx_r7 = i0.ɵɵnextContext(3);
i0.ɵɵadvance(1);
i0.ɵɵtextInterpolate1("\u00A0", ctx_r7.currentAdditionalApiName == null ? null : ctx_r7.currentAdditionalApiName.Value, "\u00A0");
} }
const _c3 = function (a0) { return { selected: a0 }; };
function PepperiInternalPageComponent_ng_template_0_ng_container_4_button_11_Template(rf, ctx) { if (rf & 1) {
const _r12 = i0.ɵɵgetCurrentView();
i0.ɵɵelementStart(0, "button", 17);
i0.ɵɵlistener("click", function PepperiInternalPageComponent_ng_template_0_ng_container_4_button_11_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r12); const additionalApiName_r10 = ctx.$implicit; const ctx_r11 = i0.ɵɵnextContext(3); return ctx_r11.changeAdditionalApiName(additionalApiName_r10); });
i0.ɵɵelementStart(1, "span");
i0.ɵɵtext(2);
i0.ɵɵelementEnd();
i0.ɵɵelementEnd();
} if (rf & 2) {
const additionalApiName_r10 = ctx.$implicit;
const ctx_r9 = i0.ɵɵnextContext(3);
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(2, _c3, (ctx_r9.currentAdditionalApiName == null ? null : ctx_r9.currentAdditionalApiName.Key) == (additionalApiName_r10 == null ? null : additionalApiName_r10.Key)));
i0.ɵɵadvance(2);
i0.ɵɵtextInterpolate(additionalApiName_r10.Value);
} }
const _c4 = function (a0) { return { "pull-left flip": a0 }; };
function PepperiInternalPageComponent_ng_template_0_ng_container_4_Template(rf, ctx) { if (rf & 1) {
const _r14 = i0.ɵɵgetCurrentView();
i0.ɵɵelementContainerStart(0);
i0.ɵɵelementStart(1, "button", 11);
i0.ɵɵtemplate(2, PepperiInternalPageComponent_ng_template_0_ng_container_4_span_2_Template, 2, 1, "span", 12);
i0.ɵɵelementStart(3, "mat-icon", 13);
i0.ɵɵelement(4, "pep-icon", 14);
i0.ɵɵelementEnd();
i0.ɵɵelementEnd();
i0.ɵɵelementStart(5, "mat-menu", 15, 16);
i0.ɵɵelementStart(7, "button", 17);
i0.ɵɵlistener("click", function PepperiInternalPageComponent_ng_template_0_ng_container_4_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r14); const ctx_r13 = i0.ɵɵnextContext(2); return ctx_r13.changeAdditionalApiName(null); });
i0.ɵɵelementStart(8, "span");
i0.ɵɵtext(9);
i0.ɵɵpipe(10, "translate");
i0.ɵɵelementEnd();
i0.ɵɵelementEnd();
i0.ɵɵtemplate(11, PepperiInternalPageComponent_ng_template_0_ng_container_4_button_11_Template, 3, 4, "button", 18);
i0.ɵɵelementEnd();
i0.ɵɵelementContainerEnd();
} if (rf & 2) {
const _r8 = i0.ɵɵreference(6);
const ctx_r5 = i0.ɵɵnextContext(2);
i0.ɵɵadvance(1);
i0.ɵɵproperty("matMenuTriggerFor", _r8);
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngIf", ctx_r5.currentAdditionalApiName);
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c4, ctx_r5.currentAdditionalApiName));
i0.ɵɵadvance(4);
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c3, ctx_r5.currentAdditionalApiName === null));
i0.ɵɵadvance(2);
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(10, 6, "LIST.NONE"));
i0.ɵɵadvance(2);
i0.ɵɵproperty("ngForOf", ctx_r5.additionalApiNames);
} }
function PepperiInternalPageComponent_ng_template_0_ng_container_5_button_6_pep_icon_2_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelement(0, "pep-icon", 26);
} }
function PepperiInternalPageComponent_ng_template_0_ng_container_5_button_6_pep_icon_3_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelement(0, "pep-icon", 27);
} }
function PepperiInternalPageComponent_ng_template_0_ng_container_5_button_6_pep_icon_4_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelement(0, "pep-icon", 28);
} }
function PepperiInternalPageComponent_ng_template_0_ng_container_5_button_6_Template(rf, ctx) { if (rf & 1) {
const _r22 = i0.ɵɵgetCurrentView();
i0.ɵɵelementStart(0, "button", 17);
i0.ɵɵlistener("click", function PepperiInternalPageComponent_ng_template_0_ng_container_5_button_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r22); const viewType_r17 = ctx.$implicit; const ctx_r21 = i0.ɵɵnextContext(3); return ctx_r21.changeChildrenViewType(viewType_r17 == null ? null : viewType_r17.Key); });
i0.ɵɵelementStart(1, "mat-icon", 22);
i0.ɵɵtemplate(2, PepperiInternalPageComponent_ng_template_0_ng_container_5_button_6_pep_icon_2_Template, 1, 0, "pep-icon", 23);
i0.ɵɵtemplate(3, PepperiInternalPageComponent_ng_template_0_ng_container_5_button_6_pep_icon_3_Template, 1, 0, "pep-icon", 24);
i0.ɵɵtemplate(4, PepperiInternalPageComponent_ng_template_0_ng_container_5_button_6_pep_icon_4_Template, 1, 0, "pep-icon", 25);
i0.ɵɵelementEnd();
i0.ɵɵelementStart(5, "span");
i0.ɵɵtext(6);
i0.ɵɵelementEnd();
i0.ɵɵelementEnd();
} if (rf & 2) {
const viewType_r17 = ctx.$implicit;
const ctx_r16 = i0.ɵɵnextContext(3);
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(6, _c3, (ctx_r16.currentViewType == null ? null : ctx_r16.currentViewType.Key) == (viewType_r17 == null ? null : viewType_r17.Key)));
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngSwitch", viewType_r17 == null ? null : viewType_r17.Key);
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngSwitchCase", "OrderCenterMatrix");
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngSwitchCase", "OrderCenterFlatMatrixGrid");
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngSwitchCase", "OrderCenterFlatMatrixLine");
i0.ɵɵadvance(2);
i0.ɵɵtextInterpolate(viewType_r17 == null ? null : viewType_r17.Value);
} }
function PepperiInternalPageComponent_ng_template_0_ng_container_5_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementContainerStart(0);
i0.ɵɵelementStart(1, "button", 11);
i0.ɵɵelementStart(2, "mat-icon");
i0.ɵɵelement(3, "pep-icon", 20);
i0.ɵɵelementEnd();
i0.ɵɵelementEnd();
i0.ɵɵelementStart(4, "mat-menu", 15, 21);
i0.ɵɵtemplate(6, PepperiInternalPageComponent_ng_template_0_ng_container_5_button_6_Template, 7, 8, "button", 18);
i0.ɵɵelementEnd();
i0.ɵɵelementContainerEnd();
} if (rf & 2) {
const _r15 = i0.ɵɵreference(5);
const ctx_r6 = i0.ɵɵnextContext(2);
i0.ɵɵadvance(1);
i0.ɵɵproperty("matMenuTriggerFor", _r15);
i0.ɵɵadvance(5);
i0.ɵɵproperty("ngForOf", ctx_r6.childViewTypes);
} }
function PepperiInternalPageComponent_ng_template_0_Template(rf, ctx) { if (rf & 1) {
const _r24 = i0.ɵɵgetCurrentView();
i0.ɵɵelementStart(0, "div", 6);
i0.ɵɵelementStart(1, "span", 7);
i0.ɵɵtext(2);
i0.ɵɵelementEnd();
i0.ɵɵelementStart(3, "div", 8);
i0.ɵɵtemplate(4, PepperiInternalPageComponent_ng_template_0_ng_container_4_Template, 12, 12, "ng-container", 9);
i0.ɵɵtemplate(5, PepperiInternalPageComponent_ng_template_0_ng_container_5_Template, 7, 2, "ng-container", 9);
i0.ɵɵelementEnd();
i0.ɵɵelementEnd();
i0.ɵɵelementStart(6, "pep-internal-list", 10);
i0.ɵɵlistener("notifyValueChanged", function PepperiInternalPageComponent_ng_template_0_Template_pep_internal_list_notifyValueChanged_6_listener($event) { i0.ɵɵrestoreView(_r24); const ctx_r23 = i0.ɵɵnextContext(); return ctx_r23.onCustomizeObjectChanged($event); })("notifyFieldClicked", function PepperiInternalPageComponent_ng_template_0_Template_pep_internal_list_notifyFieldClicked_6_listener($event) { i0.ɵɵrestoreView(_r24); const ctx_r25 = i0.ɵɵnextContext(); return ctx_r25.onCustomizeFieldClick($event); });
i0.ɵɵelementEnd();
} if (rf & 2) {
const ctx_r1 = i0.ɵɵnextContext();
i0.ɵɵclassMapInterpolate1("matrix-title-container pepperi-border-bottom align-", ctx_r1.field.xAlignment, "");
i0.ɵɵpropertyInterpolate("title", ctx_r1.field.label);
i0.ɵɵadvance(2);
i0.ɵɵtextInterpolate(ctx_r1.field.label);
i0.ɵɵadvance(2);
i0.ɵɵproperty("ngIf", (ctx_r1.currentViewType == null ? null : ctx_r1.currentViewType.Key) == "OrderCenterMatrix" && ctx_r1.additionalApiNames && ctx_r1.additionalApiNames.length > 0);
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngIf", ctx_r1.childViewTypes && ctx_r1.childViewTypes.length > 1);
i0.ɵɵadvance(1);
i0.ɵɵproperty("totalsRow", ctx_r1.totalsRow);
} }
function PepperiInternalPageComponent_div_4_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelement(0, "div", 29);
} }
function PepperiInternalPageComponent_button_5_Template(rf, ctx) { if (rf & 1) {
const _r27 = i0.ɵɵgetCurrentView();
i0.ɵɵelementStart(0, "button", 30);
i0.ɵɵlistener("click", function PepperiInternalPageComponent_button_5_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r27); const ctx_r26 = i0.ɵɵnextContext(); return ctx_r26.showMatrixDialog(); });
i0.ɵɵtext(1);
i0.ɵɵpipe(2, "translate");
i0.ɵɵelementEnd();
} if (rf & 2) {
i0.ɵɵadvance(1);
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "INTERNAL_PAGE.CLICK_TO_ORDER"));
} }
const _c5 = function (a0, a1) { return { "max-width": a0, "max-height": a1 }; };
export class PepperiInternalPageComponent {
constructor(fb, pepperiInternalPageService, customizationService, elementRef, changeDetectorRef) {
this.fb = fb;
this.pepperiInternalPageService = pepperiInternalPageService;
this.customizationService = customizationService;
this.elementRef = elementRef;
this.changeDetectorRef = changeDetectorRef;
this.controlType = 'internalPage';
this.hasHeightLimit = false;
this.layoutType = LAYOUT_TYPE.PepperiForm;
this.childChanged = new EventEmitter();
this.childClicked = new EventEmitter();
// TODO: Implement
// @ViewChild('childModal') public childModal: ModalDirective;
this.childModal = { isShown: false };
this.LAYOUT_TYPE = LAYOUT_TYPE;
this.checkForChanges = null;
this.childData = null;
this.totalsRow = [];
this.additionalApiNames = null;
this.currentAdditionalApiName = null;
this.focusedQS = false;
this.fieldIdWithFocus = '';
this.columnWidth = 100;
this.coverChildTable = false;
this.currentViewType = null;
this.sumOfMinColWidth = 0;
this.totalRowsWidth = 0;
this.viewWidth = '100%';
this.viewHeight = 'auto';
this.displayQSbtns = true;
this.selectedApiName = '';
this.showSort = false;
this.defaultRowSpan = -1;
}
fillData() {
const view = this.matrixTemplate.createEmbeddedView(null);
if (this.childModal.isShown) {
this.orgCont.clear();
this.modalCont.clear();
this.modalCont.insert(view);
}
else {
this.modalCont.clear();
this.orgCont.clear();
this.orgCont.insert(view);
}
setTimeout(() => {
const buffer = [];
if (this.childData.Rows) {
// for (let i = 0; i < this.childData.Rows.length; i++) {
for (const childDataRow of this.childData.Rows) {
const osd = new ObjectSingleData(this.uiControl, childDataRow);
osd.IsEditable = true;
buffer.push(osd);
}
}
const viewType = this.isTableView() ? VIEW_TYPE.Table : VIEW_TYPE.Line;
this.customList.initListData(this.uiControl, this.childData.TotalRows, buffer, viewType, this.getItemClass());
this.setTotalsRow();
if (!this.childModal.isShown) {
const childrenCount = this.childData.Rows ? this.childData.Rows.length : 0;
const isEven = childrenCount % 2 === 0;
// 3 for matrix & flat matrix because the header + total is 2 more rows.
const rowsToAdd = this.isMatrixView() || this.isFlatMatrixView() ? 3 : 1;
const formRowHeight = this.customizationService.calculateFormFieldHeight() * 16; // convert rem to pixel
// Set the default only if not set yet.
if (this.defaultRowSpan === -1) {
this.defaultRowSpan = this.field.rowSpan;
}
// For line view Add the height of the line (form height).
if (this.currentViewType.Key === 'OrderCenterFlatMatrixLine') {
const maxRow = Math.max.apply(Math, this.uiControl.ControlFields.map((f) => {
return f.Layout.Y + f.Layout.Height;
}));
// * 16 convert rem to pixel
const cardRowsHeight = this.customizationService.calculateCardRowsHeight(maxRow) * 16;
// maxRow * 24 + 60 - 24 for each row in card + 60 for the padding of each card.
// const rowSpanToAdd = Math.floor(childrenCount * ((cardRowsHeight + 56) / formRowHeight) + rowsToAdd);
// + 16 is the 1rem margin outside card.
const rowSpanToAdd = (childrenCount * (cardRowsHeight + 16)) / formRowHeight + rowsToAdd;
this.field.rowSpan = rowSpanToAdd;
}
else {
// const tableRowsHeight = this.customizationService.calculateTableRowsHeight(childrenCount) * 16;
// this.field.rowSpan = Math.ceil((tableRowsHeight + (rowsToAdd * 40)) / formRowHeight);
// * 16 convert rem to pixel
const rowsToAddHeight = this.customizationService.calculateTableRowsHeight(rowsToAdd, false) * 16;
const tableRowsHeight = this.customizationService.calculateTableRowsHeight(childrenCount) * 16;
this.field.rowSpan = (rowsToAddHeight + tableRowsHeight) / formRowHeight;
}
const self = this;
self.sumOfMinColWidth = 0;
self.totalRowsWidth = 0;
this.childData.UIControl.ControlFields.forEach((uiControlField) => {
self.totalRowsWidth += uiControlField.ColumnWidth;
uiControlField.minFieldWidth = self.mmToPx(12); // NEED TO GET THIS PARAM FROM CUSTOMIZATION;
self.sumOfMinColWidth += 12;
});
setTimeout(() => {
self.setViewCover(this.childData.Rows);
}, 0);
}
}, 150);
this.changeDetectorRef.markForCheck();
}
fillChildData(res) {
// TODO: ??
// this.userService.setOptionalValuesDic(res.Rows);
this.childData = res;
this.uiControl = res.UIControl;
this.additionalApiNames = res.AdditionalApiNames;
this.fillData();
}
mmToPx(mm) {
return Math.floor(mm * $('#my1_mm').height()); // JQuery returns sizes in PX
}
isMatrixView() {
return this.currentViewType && this.currentViewType.Key === 'OrderCenterMatrix';
}
isFlatMatrixView() {
return this.currentViewType && this.currentViewType.Key === 'OrderCenterFlatMatrixGrid';
}
isTableView() {
return this.isMatrixView() || this.isFlatMatrixView();
}
getItemClass() {
let res = '';
if (!this.isTableView()) {
res = 'line-view';
}
return res;
}
changeChildrenViewType(viewTypeKey) {
const self = this;
this.rows = [];
this.uiControl = null;
for (const vt of this.childViewTypes) {
if (vt.Key === viewTypeKey) {
this.currentViewType = vt;
break;
}
}
// check if view type changed
// if (this.currentViewType.Key != viewTypeKey) {
$('body').scrollTop(0);
this.currentViewTypeTitle = this.currentViewType.Value;
this.pepperiInternalPageService.changeChildrenViewType(this.currentViewType.Key, (res) => {
if (res.Rows) {
self.fillChildData(res);
}
});
}
setViewCover(rows) {
if (!rows) {
return;
}
const numofrows = rows.length;
const matrixCont = $('#mainViewCont');
const viewWidth = matrixCont.parents('mat-grid-tile').css('width');
const viewHeight = matrixCont.parents('mat-grid-tile').css('height');
this.viewWidth = viewWidth ? viewWidth.toString() : '100%';
this.viewHeight = this.hasHeightLimit ? viewHeight.toString() : 'auto';
// if the matrix located on the bottom / there is nothing under the matrix we dont need to check the height
if (parseInt(viewWidth, 10) < this.mmToPx(this.sumOfMinColWidth) ||
(this.hasHeightLimit && parseInt(viewHeight, 10) < numofrows * 41 + 72)) {
this.coverChildTable = true;
}
else {
this.coverChildTable = false;
}
this.changeDetectorRef.markForCheck();
}
showMatrixDialog() {
// this.childModal.config.ignoreBackdropClick = true;
// TODO: Show modal
// this.childModal.show();
}
// TODO:
// onShown() {
// this.fillData();
// }
// TODO:
// onHidden() {
// this.fillData();
// }
ngOnInit() {
const self = this;
// let field = this.field as PepperiInternalPageField;
this.pepperiInternalPageService.initDetails(this.field.objectId, this.field.parentId, this.field.searchCode, (resViewTypes) => {
// my code DI-7134
resViewTypes.Rows = resViewTypes.Rows.filter((item) => item.Key !== 'OrderCenterView1');
if (resViewTypes.Rows && resViewTypes.Rows.length > 0) {
if (!resViewTypes.Default) {
resViewTypes.Default = resViewTypes.Rows[0].Key;
}
self.childViewTypes = resViewTypes.Rows;
self.currentViewType = resViewTypes.Rows[0];
// for (var i = 0; i < resViewTypes.Rows.length; i++) {
for (const viewTypeRow of resViewTypes.Rows) {
if (viewTypeRow.Value === resViewTypes.Default) {
self.currentViewType = viewTypeRow;
}
}
self.loadLastAdditionalApiName();
self.changeChildrenViewType(self.currentViewType.Key);
}
});
// TODO:
// this.resize = Observable.fromEvent(window, 'resize')
// .debounceTime(10)
// .subscribe((event) => {
// self.setViewCover(self.rows);
// });
}
loadLastAdditionalApiName() {
const daa = sessionStorage.getItem(PepperiInternalPageComponent.CURRENT_ADDITIONAL_API_NAME);
if (daa && daa.length > 0) {
const additionalApiName = JSON.parse(daa);
this.currentAdditionalApiName = additionalApiName;
this.pepperiInternalPageService.additionalApiName = additionalApiName.Key;
}
}
ngOnDestroy() {
if (this.childChanged) {
this.childChanged.unsubscribe();
}
if (this.childClicked) {
this.childClicked.unsubscribe();
}
if (this.resize) {
this.resize.unsubscribe();
}
}
changeAdditionalApiName(additionalApiName) {
const self = this;
this.pepperiInternalPageService.changeAdditionalApiName(additionalApiName ? additionalApiName.Key : '', (res) => {
// for (let index = 0; index < res.Rows.length; index++) {
for (const row of res.Rows) {
self.updateChanges(row);
}
self.changeDetectorRef.markForCheck();
});
sessionStorage.setItem(PepperiInternalPageComponent.CURRENT_ADDITIONAL_API_NAME, JSON.stringify(additionalApiName));
setTimeout(() => {
this.currentAdditionalApiName = additionalApiName;
}, 0);
}
setTotalsRow() {
this.totalsRow = [];
if (this.isMatrixView() || this.isFlatMatrixView()) {
let totalCol = 0;
if (this.customList.items) {
for (let col = 0; col < this.customList.items[0].Data.Fields.length; col++) {
const field = this.customList.items[0].Data.Fields[col];
if (field.FieldType === FIELD_TYPE.NumberIntegerForMatrix ||
field.FieldType === FIELD_TYPE.NumberIntegerQuantitySelector ||
field.FieldType === FIELD_TYPE.NumberRealForMatrix ||
field.FieldType === FIELD_TYPE.NumberRealQuantitySelector ||
field.FieldType === FIELD_TYPE.CalculatedInt ||
field.FieldType === FIELD_TYPE.NumberInteger ||
field.FieldType === FIELD_TYPE.CalculatedReal ||
field.FieldType === FIELD_TYPE.NumberReal) {
totalCol = 0;
// for (var i = 0; i < this.customList.items.length; i++) {
for (const listItem of this.customList.items) {
if (listItem.Data.Fields[col] && listItem.Data.Fields[col].Value) {
const num = parseFloat(listItem.Data.Fields[col].Value);
totalCol += isNaN(num) ? 0 : num;
}
}
this.totalsRow.push(totalCol);
}
else {
this.totalsRow.push('');
}
}
}
}
}
updateChanges(elementToUpdate) {
this.customList.updateListItem(elementToUpdate);
// Update memory data
for (let index = 0; index < this.childData.Rows.length; index++) {
if (this.childData.Rows[index].UID === elementToUpdate.UID) {
this.childData.Rows[index] = elementToUpdate;
}
}
}
setValueCallback(id, res) {
if (res.Rows.length === 1) {
this.updateChanges(res.Rows[0]);
}
this.setTotalsRow();
this.checkForChanges = new Date();
// DI-15985
this.childChanged.emit(res);
this.changeDetectorRef.markForCheck();
}
onCustomizeObjectChanged(customizeObjectChangedData) {
let handledEvent = false;
const boundSetValueCallback = this.setValueCallback.bind(this); // .bind() to have this in the bound function.
// For the new custom form, the plus and minus events transform in the PepperiObjectChangedData
if (customizeObjectChangedData.ControlType === 'qs') {
if (customizeObjectChangedData.Value === '+') {
handledEvent = true;
this.pepperiInternalPageService.childPlusClick(customizeObjectChangedData.Id, customizeObjectChangedData.ApiName, (res) => {
boundSetValueCallback(customizeObjectChangedData.Id, res);
});
}
else if (customizeObjectChangedData.Value === '-') {
handledEvent = true;
this.pepperiInternalPageService.childMinusClick(customizeObjectChangedData.Id, customizeObjectChangedData.ApiName, (res) => {
boundSetValueCallback(customizeObjectChangedData.Id, res);
});
}
}
if (!handledEvent) {
this.pepperiInternalPageService.childValueChanged(customizeObjectChangedData.Id, customizeObjectChangedData.ApiName, customizeObjectChangedData.Value, (res) => {
boundSetValueCallback(customizeObjectChangedData.Id, res);
});
}
}
onCustomizeFieldClick(fieldClickEvent) {
this.childClicked.emit(fieldClickEvent);
}
}
PepperiInternalPageComponent.CURRENT_ADDITIONAL_API_NAME = 'item_details_currentAdditionalApiName';
PepperiInternalPageComponent.ɵfac = function PepperiInternalPageComponent_Factory(t) { return new (t || PepperiInternalPageComponent)(i0.ɵɵdirectiveInject(i1.FormBuilder), i0.ɵɵdirectiveInject(i2.PepperiInternalPageService), i0.ɵɵdirectiveInject(i3.CustomizationService), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
PepperiInternalPageComponent.ɵcmp = i0.ɵɵdefineComponent({ type: PepperiInternalPageComponent, selectors: [["pep-internal-page"]], viewQuery: function PepperiInternalPageComponent_Query(rf, ctx) { if (rf & 1) {
i0.ɵɵviewQuery(_c0, true, ViewContainerRef);
i0.ɵɵviewQuery(_c1, true, ViewContainerRef);
i0.ɵɵviewQuery(_c2, true);
i0.ɵɵviewQuery(PepperiInternalListComponent, true);
} if (rf & 2) {
var _t;
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.orgCont = _t.first);
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.modalCont = _t.first);
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.matrixTemplate = _t.first);
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.customList = _t.first);
} }, inputs: { field: "field", hasHeightLimit: "hasHeightLimit", layoutType: "layoutType" }, outputs: { childChanged: "childChanged", childClicked: "childClicked" }, features: [i0.ɵɵProvidersFeature([PepperiInternalPageService])], decls: 8, vars: 6, consts: [["matrixTemplate", ""], ["id", "mainViewCont", 3, "ngStyle"], ["id", "my1_mm", 2, "height", "1mm", "width", "1mm", "display", "none"], ["class", "table-cover", 4, "ngIf"], ["class", "pepperi-button strong sm table-cover-button", 3, "click", 4, "ngIf"], ["orgCont", ""], [3, "title"], [1, "block-with-text", "body-md"], [1, "buttons-container", "spacing-element-negative", "pull-right", "flip"], [4, "ngIf"], [3, "totalsRow", "notifyValueChanged", "notifyFieldClicked"], ["mat-button", "", "menu-blur", "", 1, "spacing-element", "pepperi-button", "icon-button", "sm", "weak", 3, "matMenuTriggerFor"], ["class", "pull-left flip", 4, "ngIf"], [3, "ngClass"], ["name", "system_info"], ["xPosition", "before"], ["menu", "matMenu"], ["mat-menu-item", "", 3, "ngClass", "click"], ["mat-menu-item", "", 3, "ngClass", "click", 4, "ngFor", "ngForOf"], [1, "pull-left", "flip"], ["name", "view_card_md"], ["viewsMenu", "matMenu"], [3, "ngSwitch"], ["name", "view_matrix", 4, "ngSwitchCase"], ["name", "view_table", 4, "ngSwitchCase"], ["name", "view_line", 4, "ngSwitchCase"], ["name", "view_matrix"], ["name", "view_table"], ["name", "view_line"], [1, "table-cover"], [1, "pepperi-button", "strong", "sm", "table-cover-button", 3, "click"]], template: function PepperiInternalPageComponent_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵtemplate(0, PepperiInternalPageComponent_ng_template_0_Template, 7, 8, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
i0.ɵɵelementStart(2, "div", 1);
i0.ɵɵelement(3, "div", 2);
i0.ɵɵtemplate(4, PepperiInternalPageComponent_div_4_Template, 1, 0, "div", 3);
i0.ɵɵtemplate(5, PepperiInternalPageComponent_button_5_Template, 3, 3, "button", 4);
i0.ɵɵelementContainer(6, null, 5);
i0.ɵɵelementEnd();
} if (rf & 2) {
i0.ɵɵadvance(2);
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction2(3, _c5, ctx.viewWidth, ctx.viewHeight));
i0.ɵɵadvance(2);
i0.ɵɵproperty("ngIf", ctx.coverChildTable && ctx.uiControl != null);
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngIf", ctx.coverChildTable && ctx.uiControl != null);
} }, directives: [i4.NgStyle, i4.NgIf, i5.PepperiInternalListComponent, i6.MatMenuTrigger, i7.MatIcon, i4.NgClass, i8.PepperiIconComponent, i6._MatMenu, i6.MatMenuItem, i4.NgForOf, i4.NgSwitch, i4.NgSwitchCase], pipes: [i9.TranslatePipe], styles: [".matrix-title-container[_ngcontent-%COMP%]{align-items:flex-end;display:flex;height:var(--pep-form-field-height,2.5rem);padding:0}.matrix-title-container[_ngcontent-%COMP%] .block-with-text[_ngcontent-%COMP%]{-ms-text-overflow:ellipsis;display:block;font-weight:var(--pep-font-weight-bold,600);max-height:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.matrix-title-container[_ngcontent-%COMP%] .buttons-container[_ngcontent-%COMP%]{align-self:center;display:flex}#mainViewCont[_ngcontent-%COMP%]{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;margin-bottom:1.5rem;width:100%}#mainViewCont[_ngcontent-%COMP%] .table-cover[_ngcontent-%COMP%]{background-color:#fff;height:100%;opacity:.5;position:absolute;top:0;width:99%;z-index:101}#mainViewCont[_ngcontent-%COMP%] .table-cover-button[_ngcontent-%COMP%]{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:102}#mainViewCont[_ngcontent-%COMP%] .underCover[_ngcontent-%COMP%]{max-height:inherit;overflow:hidden}#mainViewCont[_ngcontent-%COMP%] .table-header{top:unset!important}.modal-dialog[_ngcontent-%COMP%]{margin:.5rem 0;position:relative}.modal-dialog[_ngcontent-%COMP%] .matrix-dialog-body[_ngcontent-%COMP%]{height:100%;overflow:auto;padding:.5rem}.modal-dialog[_ngcontent-%COMP%] .matrix-dialog-body[_ngcontent-%COMP%] .table-header{top:unset!important}"], changeDetection: 0 });
/*@__PURE__*/ (function () { i0.ɵsetClassMetadata(PepperiInternalPageComponent, [{
type: Component,
args: [{
selector: 'pep-internal-page',
templateUrl: './internal-page.component.html',
styleUrls: ['./internal-page.component.scss'],
providers: [PepperiInternalPageService],
changeDetection: ChangeDetectionStrategy.OnPush,
}]
}], function () { return [{ type: i1.FormBuilder }, { type: i2.PepperiInternalPageService }, { type: i3.CustomizationService }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, { field: [{
type: Input
}], hasHeightLimit: [{
type: Input
}], layoutType: [{
type: Input
}], childChanged: [{
type: Output
}], childClicked: [{
type: Output
}], orgCont: [{
type: ViewChild,
args: ['orgCont', { read: ViewContainerRef }]
}], modalCont: [{
type: ViewChild,
args: ['modalCont', { read: ViewContainerRef }]
}], matrixTemplate: [{
type: ViewChild,
args: ['matrixTemplate']
}], customList: [{
type: ViewChild,
args: [PepperiInternalListComponent]
}] }); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwtcGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2Zvcm0vaW50ZXJuYWwtcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2Zvcm0vaW50ZXJuYWwtcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUdULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLFNBQVMsRUFFVCxnQkFBZ0IsRUFFaEIsdUJBQXVCLEVBRTFCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXJFLE9BQU8sRUFBRSxXQUFXLEVBQWlELGdCQUFnQixFQUNwRCxVQUFVLEVBQXFELE1BQU0seUJBQXlCLENBQUM7QUFDaEksT0FBTyxFQUFFLDRCQUE0QixFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXBGLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7SUNaUixnQ0FDcUM7SUFBQSxZQUFpRDtJQUFBLGlCQUFPOzs7SUFBeEQsZUFBaUQ7SUFBakQsaUlBQWlEOzs7OztJQVd0RixrQ0FJSTtJQURBLG9UQUFvRDtJQUNwRCw0QkFBTTtJQUFBLFlBQTZCO0lBQUEsaUJBQU87SUFDOUMsaUJBQVM7Ozs7SUFKTCxrTkFBaUY7SUFHM0UsZUFBNkI7SUFBN0IsaURBQTZCOzs7OztJQXBCL0MsNkJBRUk7SUFBQSxrQ0FFSTtJQUFBLDZHQUNxQztJQUVyQyxvQ0FDSTtJQUFBLCtCQUF3QztJQUM1QyxpQkFBVztJQUNmLGlCQUFTO0lBQ1Qsd0NBQ0k7SUFBQSxrQ0FFSTtJQURBLG1PQUFpQyxJQUFJLEtBQUU7SUFDdkMsNEJBQU07SUFBQSxZQUE2Qjs7SUFBQSxpQkFBTztJQUM5Qyxp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