@pepperi-addons/ngx-composite-lib 0.0.16-beta.4 → 0.0.16-beta.5

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.
@@ -2,7 +2,7 @@
2
2
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@pepperi-addons/ngx-lib'), require('@pepperi-addons/ngx-lib/form'), require('@pepperi-addons/ngx-lib/menu'), require('@pepperi-addons/ngx-lib/page-layout'), require('@pepperi-addons/ngx-lib/top-bar'), require('@pepperi-addons/data-views')) :
3
3
  typeof define === 'function' && define.amd ? define('@pepperi-addons/ngx-composite-lib/generic-form', ['exports', '@angular/core', '@angular/common', '@pepperi-addons/ngx-lib', '@pepperi-addons/ngx-lib/form', '@pepperi-addons/ngx-lib/menu', '@pepperi-addons/ngx-lib/page-layout', '@pepperi-addons/ngx-lib/top-bar', '@pepperi-addons/data-views'], factory) :
4
4
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["pepperi-addons"] = global["pepperi-addons"] || {}, global["pepperi-addons"]["ngx-composite-lib"] = global["pepperi-addons"]["ngx-composite-lib"] || {}, global["pepperi-addons"]["ngx-composite-lib"]["generic-form"] = {}), global.ng.core, global.ng.common, global["ngx-lib"], global["ngx-lib/form"], global["ngx-lib/menu"], global["ngx-lib/page-layout"], global["ngx-lib/top-bar"], global.dataViews));
5
- })(this, (function (exports, i0, i6, i1, i5, menu, i3, i4, dataViews) { 'use strict';
5
+ })(this, (function (exports, i0, i5, i1, form, menu, i3, i4, dataViews) { 'use strict';
6
6
 
7
7
  function _interopNamespace(e) {
8
8
  if (e && e.__esModule) return e;
@@ -23,9 +23,8 @@
23
23
  }
24
24
 
25
25
  var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
26
- var i6__namespace = /*#__PURE__*/_interopNamespace(i6);
27
- var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
28
26
  var i5__namespace = /*#__PURE__*/_interopNamespace(i5);
27
+ var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
29
28
  var i3__namespace = /*#__PURE__*/_interopNamespace(i3);
30
29
  var i4__namespace = /*#__PURE__*/_interopNamespace(i4);
31
30
 
@@ -414,7 +413,8 @@
414
413
  }
415
414
 
416
415
  var GenericFormComponent = /** @class */ (function () {
417
- function GenericFormComponent(layoutService, _genericFormService) {
416
+ function GenericFormComponent(_resolver, layoutService, _genericFormService) {
417
+ this._resolver = _resolver;
418
418
  this.layoutService = layoutService;
419
419
  this._genericFormService = _genericFormService;
420
420
  this._optionalValues = [];
@@ -428,28 +428,52 @@
428
428
  this.layoutService.onResize$.pipe().subscribe(function (size) {
429
429
  //
430
430
  });
431
- this.formData = new i1.ObjectsDataRow();
432
- this.uiControl = new i1.UIControl();
431
+ this._formData = new i1.ObjectsDataRow();
432
+ this._uiControl = new i1.UIControl();
433
433
  }
434
+ Object.defineProperty(GenericFormComponent.prototype, "pepListContainer", {
435
+ set: function (val) {
436
+ this._pepFormContainer = val;
437
+ },
438
+ enumerable: false,
439
+ configurable: true
440
+ });
434
441
  Object.defineProperty(GenericFormComponent.prototype, "dataSource", {
435
442
  set: function (val) {
436
443
  this._data = val;
437
- this.createFormFields();
438
444
  },
439
445
  enumerable: false,
440
446
  configurable: true
441
447
  });
442
448
  Object.defineProperty(GenericFormComponent.prototype, "dataView", {
443
449
  set: function (val) {
444
- var _this = this;
445
- var _a;
446
- if (val) {
447
- this.formData.IsEditable = !this.isLocked;
448
- this.formData.UID = val.UID || i1.PepGuid.newGuid();
449
- var uiControlData = dataViews.DataViewConverter.toUIControlData(val);
450
+ this.initForm(val);
451
+ },
452
+ enumerable: false,
453
+ configurable: true
454
+ });
455
+ GenericFormComponent.prototype.ngOnInit = function () {
456
+ //
457
+ };
458
+ GenericFormComponent.prototype.initForm = function (dataView) {
459
+ var _this = this;
460
+ setTimeout(function () {
461
+ var _a, _b;
462
+ if (_this._pepFormContainer) {
463
+ if (_this._pepFormContainer.length) {
464
+ _this._pepFormContainer.remove();
465
+ _this._formData = new i1.ObjectsDataRow();
466
+ _this._uiControl = new i1.UIControl();
467
+ }
468
+ var factory = _this._resolver.resolveComponentFactory(form.PepFormComponent);
469
+ var componentRef = _this._pepFormContainer.createComponent(factory);
470
+ _this._pepForm = componentRef.instance;
471
+ _this._formData.IsEditable = !_this.isLocked;
472
+ _this._formData.UID = dataView.UID || i1.PepGuid.newGuid();
473
+ var uiControlData = dataViews.DataViewConverter.toUIControlData(dataView);
450
474
  if (uiControlData) {
451
475
  if (uiControlData === null || uiControlData === void 0 ? void 0 : uiControlData.ControlFields) {
452
- (_a = val.Fields) === null || _a === void 0 ? void 0 : _a.forEach(function (field) {
476
+ (_a = dataView.Fields) === null || _a === void 0 ? void 0 : _a.forEach(function (field) {
453
477
  var _a;
454
478
  if ((_a = field.OptionalValues) === null || _a === void 0 ? void 0 : _a.length) {
455
479
  _this._optionalValues.push({
@@ -458,32 +482,36 @@
458
482
  });
459
483
  }
460
484
  });
461
- this.uiControl.ControlFields = uiControlData.ControlFields.map(function (field) { return _this._genericFormService.convertToUiControlField(field); });
485
+ _this._uiControl.ControlFields = uiControlData.ControlFields.map(function (field) { return _this._genericFormService.convertToUiControlField(field); });
486
+ }
487
+ _this._uiControl.Columns = uiControlData.Columns;
488
+ if ((_b = _this._uiControl.ControlFields) === null || _b === void 0 ? void 0 : _b.length) {
489
+ _this._formData.Fields = [];
490
+ _this._uiControl.ControlFields.forEach(function (item) {
491
+ var value = '';
492
+ if (_this._genericFormService.hasProperty(_this._data, item.ApiName)) {
493
+ value = _this._data[item.ApiName];
494
+ }
495
+ _this._formData.Fields.push(_this._genericFormService.createFormField(item, value, _this.getOptionalValues(item.ApiName)));
496
+ });
497
+ componentRef.instance.layoutType = 'form';
498
+ componentRef.instance.layout = _this._uiControl;
499
+ componentRef.instance.data = _this._formData;
500
+ componentRef.instance.isInternal = false;
501
+ componentRef.instance.lockFields = _this.isLocked;
502
+ componentRef.instance.valueChange.subscribe(function ($event) {
503
+ _this.onValueChanged($event);
504
+ });
505
+ componentRef.instance.fieldClick.subscribe(function ($event) {
506
+ _this.onfieldClicked($event);
507
+ });
508
+ componentRef.instance.formValidationChange.subscribe(function ($event) {
509
+ _this.onFormValidationChanged($event);
510
+ });
462
511
  }
463
- this.uiControl.Columns = uiControlData.Columns;
464
- this.createFormFields();
465
512
  }
466
513
  }
467
- },
468
- enumerable: false,
469
- configurable: true
470
- });
471
- GenericFormComponent.prototype.ngOnInit = function () {
472
- //
473
- };
474
- GenericFormComponent.prototype.createFormFields = function () {
475
- var _this = this;
476
- var _a, _b;
477
- if (this._data && ((_b = (_a = this.uiControl) === null || _a === void 0 ? void 0 : _a.ControlFields) === null || _b === void 0 ? void 0 : _b.length)) {
478
- this.formData.Fields = [];
479
- this.uiControl.ControlFields.forEach(function (item) {
480
- var value = '';
481
- if (_this._genericFormService.hasProperty(_this._data, item.ApiName)) {
482
- value = _this._data[item.ApiName];
483
- }
484
- _this.formData.Fields.push(_this._genericFormService.createFormField(item, value, _this.getOptionalValues(item.ApiName)));
485
- });
486
- }
514
+ }, 0);
487
515
  };
488
516
  /**
489
517
  * updates form field's value
@@ -498,7 +526,7 @@
498
526
  };
499
527
  GenericFormComponent.prototype.getData = function () {
500
528
  return {
501
- UID: this.formData.UID,
529
+ UID: this._formData.UID,
502
530
  Values: this._data
503
531
  };
504
532
  };
@@ -510,13 +538,13 @@
510
538
  var _this = this;
511
539
  fields.forEach(function (field) {
512
540
  var e_1, _c;
513
- var index = _this.formData.Fields.findIndex(function (item) { return item.ApiName === field.FieldId; });
541
+ var index = _this._formData.Fields.findIndex(function (item) { return item.ApiName === field.FieldId; });
514
542
  if (index >= 0) {
515
543
  try {
516
544
  for (var _d = __values(Object.entries(field.Params)), _e = _d.next(); !_e.done; _e = _d.next()) {
517
545
  var _f = __read(_e.value, 2), key = _f[0], value = _f[1];
518
- if (_this._genericFormService.hasProperty(_this.formData.Fields[index], key)) {
519
- var item = _this.formData.Fields[index];
546
+ if (_this._genericFormService.hasProperty(_this._formData.Fields[index], key)) {
547
+ var item = _this._formData.Fields[index];
520
548
  item[key] = value;
521
549
  }
522
550
  }
@@ -530,6 +558,8 @@
530
558
  }
531
559
  }
532
560
  });
561
+ this._pepForm.ReloadForm();
562
+ this._pepForm.data = this._formData;
533
563
  };
534
564
  GenericFormComponent.prototype.onValueChanged = function (event) {
535
565
  var field = {
@@ -554,8 +584,8 @@
554
584
  };
555
585
  return GenericFormComponent;
556
586
  }());
557
- GenericFormComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0__namespace, type: GenericFormComponent, deps: [{ token: i1__namespace.PepLayoutService }, { token: PepGenericFormService }], target: i0__namespace.ɵɵFactoryTarget.Component });
558
- GenericFormComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: GenericFormComponent, selector: "pep-generic-form", inputs: { dataSource: "dataSource", dataView: "dataView", isLocked: "isLocked", inline: "inline", showTopBar: "showTopBar", addPadding: "addPadding" }, outputs: { valueChange: "valueChange", fieldClick: "fieldClick", formValidationChange: "formValidationChange" }, providers: [PepGenericFormService], ngImport: i0__namespace, template: "<div *ngIf=\"inline\" class=\"inline-container form-view\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div *ngIf=\"showTopBar\" class=\"inline-top-bar-container\">\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"formTemplate\"></ng-container>\n</div>\n\n<pep-page-layout *ngIf=\"!inline\" [addPadding]=\"addPadding\">\n <ng-container *ngIf=\"showTopBar\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </ng-container>\n <div pep-main-area class=\"main-area-container form-view\">\n <ng-container *ngTemplateOutlet=\"formTemplate\"></ng-container>\n </div>\n</pep-page-layout>\n\n<ng-template #topBarTemplate>\n <pep-top-bar [inline]=\"inline\"> \n <div header-start-content>\n <ng-content select=\"[left-buttons]\"></ng-content>\n </div>\n <div header-end-content>\n <ng-content select=\"[right-buttons]\"></ng-content>\n </div>\n\n <!-- <div footer-start-content>\n <ng-content select=\"[bottom-left-buttons]\"></ng-content>\n </div>\n <div footer-end-content>\n <ng-content select=\"[bottom-right-buttons]\"></ng-content>\n </div> -->\n </pep-top-bar>\n</ng-template>\n\n<ng-template #formTemplate>\n <pep-form [layoutType]=\"'form'\" [layout]=\"uiControl\" [data]=\"formData\" [isInternal]=\"false\" [lockFields]=\"isLocked\"\n (valueChange)=\"onValueChanged($event)\" (fieldClick)=\"onfieldClicked($event)\"\n (formValidationChange)=\"onFormValidationChanged($event)\">\n </pep-form>\n</ng-template>\n", styles: [":host{height:inherit;display:block}.main-area-container{display:grid;height:inherit}.inline-container{height:inherit;display:grid;grid-template-rows:auto 1fr}.inline-container.add-padding{padding-inline:var(--pep-spacing-lg, 1rem)}\n"], components: [{ type: i3__namespace.PepPageLayoutComponent, selector: "pep-page-layout", inputs: ["addPadding", "showShadow"] }, { type: i4__namespace.PepTopBarComponent, selector: "pep-top-bar", inputs: ["inline", "title"], outputs: ["footerStateChange"] }, { type: i5__namespace.PepFormComponent, selector: "pep-form", inputs: ["isInternal", "isReport", "lockEvents", "canEditObject", "isActive", "layoutType", "objectId", "parentId", "searchCode", "showTitle", "firstFieldAsLink", "checkForChanges", "data", "lockFields", "layout"], outputs: ["valueChange", "formValidationChange", "fieldClick", "internalFormFieldClick", "internalFormFieldChange"] }], directives: [{ type: i6__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
587
+ GenericFormComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0__namespace, type: GenericFormComponent, deps: [{ token: i0__namespace.ComponentFactoryResolver }, { token: i1__namespace.PepLayoutService }, { token: PepGenericFormService }], target: i0__namespace.ɵɵFactoryTarget.Component });
588
+ GenericFormComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: GenericFormComponent, selector: "pep-generic-form", inputs: { dataSource: "dataSource", dataView: "dataView", isLocked: "isLocked", inline: "inline", showTopBar: "showTopBar", addPadding: "addPadding" }, outputs: { valueChange: "valueChange", fieldClick: "fieldClick", formValidationChange: "formValidationChange" }, providers: [PepGenericFormService], viewQueries: [{ propertyName: "pepListContainer", first: true, predicate: ["pepFormContainer"], descendants: true, read: i0.ViewContainerRef }], ngImport: i0__namespace, template: "<div *ngIf=\"inline\" class=\"inline-container form-view\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div *ngIf=\"showTopBar\" class=\"inline-top-bar-container\">\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"formTemplate\"></ng-container>\n</div>\n\n<pep-page-layout *ngIf=\"!inline\" [addPadding]=\"addPadding\">\n <ng-container *ngIf=\"showTopBar\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </ng-container>\n <div pep-main-area class=\"main-area-container form-view\">\n <ng-container *ngTemplateOutlet=\"formTemplate\"></ng-container>\n </div>\n</pep-page-layout>\n\n<ng-template #topBarTemplate>\n <pep-top-bar [inline]=\"inline\"> \n <div header-start-content>\n <ng-content select=\"[left-buttons]\"></ng-content>\n </div>\n <div header-end-content>\n <ng-content select=\"[right-buttons]\"></ng-content>\n </div>\n\n <!-- <div footer-start-content>\n <ng-content select=\"[bottom-left-buttons]\"></ng-content>\n </div>\n <div footer-end-content>\n <ng-content select=\"[bottom-right-buttons]\"></ng-content>\n </div> -->\n </pep-top-bar>\n</ng-template>\n\n<ng-template #formTemplate>\n <ng-container #pepFormContainer></ng-container>\n</ng-template>\n", styles: [":host{height:inherit;display:block}.main-area-container{display:grid;height:inherit}.inline-container{height:inherit;display:grid;grid-template-rows:auto 1fr}.inline-container.add-padding{padding-inline:var(--pep-spacing-lg, 1rem)}\n"], components: [{ type: i3__namespace.PepPageLayoutComponent, selector: "pep-page-layout", inputs: ["addPadding", "showShadow"] }, { type: i4__namespace.PepTopBarComponent, selector: "pep-top-bar", inputs: ["inline", "title"], outputs: ["footerStateChange"] }], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
559
589
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0__namespace, type: GenericFormComponent, decorators: [{
560
590
  type: i0.Component,
561
591
  args: [{
@@ -564,7 +594,10 @@
564
594
  styleUrls: ['./generic-form.component.scss'],
565
595
  providers: [PepGenericFormService]
566
596
  }]
567
- }], ctorParameters: function () { return [{ type: i1__namespace.PepLayoutService }, { type: PepGenericFormService }]; }, propDecorators: { dataSource: [{
597
+ }], ctorParameters: function () { return [{ type: i0__namespace.ComponentFactoryResolver }, { type: i1__namespace.PepLayoutService }, { type: PepGenericFormService }]; }, propDecorators: { pepListContainer: [{
598
+ type: i0.ViewChild,
599
+ args: ['pepFormContainer', { read: i0.ViewContainerRef }]
600
+ }], dataSource: [{
568
601
  type: i0.Input
569
602
  }], dataView: [{
570
603
  type: i0.Input
@@ -590,24 +623,24 @@
590
623
  return PepGenericFormModule;
591
624
  }());
592
625
  PepGenericFormModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0__namespace, type: PepGenericFormModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
593
- PepGenericFormModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0__namespace, type: PepGenericFormModule, declarations: [GenericFormComponent], imports: [i6.CommonModule,
626
+ PepGenericFormModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0__namespace, type: PepGenericFormModule, declarations: [GenericFormComponent], imports: [i5.CommonModule,
594
627
  // MatFormFieldModule,
595
628
  // ReactiveFormsModule,
596
629
  i1.PepNgxLibModule,
597
630
  // PepListModule,
598
- i5.PepFormModule,
631
+ form.PepFormModule,
599
632
  menu.PepMenuModule,
600
633
  i3.PepPageLayoutModule,
601
634
  i4.PepTopBarModule], exports: [GenericFormComponent] });
602
635
  PepGenericFormModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0__namespace, type: PepGenericFormModule, providers: [
603
636
  PepGenericFormService
604
637
  ], imports: [[
605
- i6.CommonModule,
638
+ i5.CommonModule,
606
639
  // MatFormFieldModule,
607
640
  // ReactiveFormsModule,
608
641
  i1.PepNgxLibModule,
609
642
  // PepListModule,
610
- i5.PepFormModule,
643
+ form.PepFormModule,
611
644
  menu.PepMenuModule,
612
645
  i3.PepPageLayoutModule,
613
646
  i4.PepTopBarModule,
@@ -623,12 +656,12 @@
623
656
  GenericFormComponent
624
657
  ],
625
658
  imports: [
626
- i6.CommonModule,
659
+ i5.CommonModule,
627
660
  // MatFormFieldModule,
628
661
  // ReactiveFormsModule,
629
662
  i1.PepNgxLibModule,
630
663
  // PepListModule,
631
- i5.PepFormModule,
664
+ form.PepFormModule,
632
665
  menu.PepMenuModule,
633
666
  i3.PepPageLayoutModule,
634
667
  i4.PepTopBarModule,
@@ -1 +1 @@
1
- {"version":3,"file":"pepperi-addons-ngx-composite-lib-generic-form.umd.js","sources":["../../../projects/ngx-composite-lib/generic-form/generic-form.service.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/ngx-composite-lib/generic-form/generic-form.component.ts","../../../projects/ngx-composite-lib/generic-form/generic-form.component.html","../../../projects/ngx-composite-lib/generic-form/generic-form.module.ts","../../../projects/ngx-composite-lib/generic-form/public-api.ts","../../../projects/ngx-composite-lib/generic-form/pepperi-addons-ngx-composite-lib-generic-form.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { ObjectsDataRowCell } from '@pepperi-addons/ngx-lib';\n\n\n@Injectable()\nexport class PepGenericFormService { \n\n constructor() {\n // \n }\n \n /**\n * checks if the object contains property\n * @param obj object\n * @param prop property name\n * @returns true if contains, false otherwise\n */\n hasProperty(obj: any, prop: string) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n }\n\n createFormField(controlField: any, value: any, optionalValues: any[]) {\n const field = new ObjectsDataRowCell();\n \n field.ApiName = controlField.ApiName;\n field.Value = value;\n field.FieldType = controlField.FieldType;\n field.Enabled = !controlField.ReadOnly;\n field.Visible = !controlField.Hidden;\n /* field.Accessory = \"\";\n field.AdditionalValue = \"\";\n field.BackgroundColor = \"\";\n field.FormattedValue = \"\";*/\n field.GroupFields = [];\n field.Highlighted = false;\n // field.NotificationInfo = \"\";\n field.OptionalValues = optionalValues;\n /* field.ReferenceObjectInternalType = \"\";\n field.ReferenceObjectSubType = \"\";\n field.ReferenceObjectType = '0';\n field.TextColor = \"\";\n field.UiPageKey = \"\";*/\n\n return field;\n }\n\n convertToUiControlField(field: any): any {\n return {\n ApiName: field.ApiName,\n FieldType: field.FieldType,\n Title: field.Title,\n ReadOnly: field.ReadOnlyField,\n Mandatory: field.MandatoryField,\n Hidden: field.Hidden,\n ColumnWidth: field.ColumnWidth,\n ColumnWidthType: 1,\n MaxFieldCharacters: field.MaxCharacters,\n MinValue: field.MinValue,\n MaxValue: field.MaxValue,\n Layout: {\n X: field.Layout.X,\n Y: field.Layout.Y,\n Width: field.Layout.Width,\n Height: field.Layout.Field_Height,\n XAlignment: field.Layout.xAlignment,\n YAlignment: field.Layout.yAlignment,\n }\n }\n }\n\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import {\n Component,\n OnInit,\n Input,\n Output,\n EventEmitter,\n} from '@angular/core';\nimport { PepLayoutService } from '@pepperi-addons/ngx-lib';\nimport {\n IPepGenericFormDataView,\n IPepGenericFormValueChange,\n IPepGenericFormFieldUpdate,\n IPepGenericFormDataSource\n} from './generic-form.model';\nimport {\n UIControl,\n ObjectsDataRow,\n ObjectsDataRowCell,\n PepGuid\n} from '@pepperi-addons/ngx-lib';\nimport { DataViewConverter } from '@pepperi-addons/data-views';\nimport { PepGenericFormService } from './generic-form.service';\n\n\n@Component({\n selector: 'pep-generic-form',\n templateUrl: './generic-form.component.html',\n styleUrls: ['./generic-form.component.scss'],\n providers: [PepGenericFormService]\n})\nexport class GenericFormComponent implements OnInit {\n private _data: any;\n @Input()\n set dataSource(val: any) {\n this._data = val;\n this.createFormFields(); \n }\n\n private _optionalValues: any[] = [];\n formData: ObjectsDataRow;\n uiControl: UIControl;\n @Input()\n set dataView(val: IPepGenericFormDataView) {\n if (val) { \n this.formData.IsEditable = !this.isLocked;\n this.formData.UID = val.UID || PepGuid.newGuid();\n const uiControlData = DataViewConverter.toUIControlData(val);\n if (uiControlData) {\n if (uiControlData?.ControlFields) {\n val.Fields?.forEach((field: any) => {\n if (field.OptionalValues?.length) {\n this._optionalValues.push({\n fieldId: field.FieldID,\n optionalValues: field.OptionalValues\n });\n }\n });\n this.uiControl.ControlFields = uiControlData.ControlFields.map((field: any) => this._genericFormService.convertToUiControlField(field));\n \n }\n this.uiControl.Columns = uiControlData.Columns;\n this.createFormFields();\n }\n } \n }\n\n @Input()\n isLocked = false; \n\n @Input()\n inline = false;\n\n @Input()\n showTopBar = false;\n\n @Input()\n addPadding = false;\n\n @Output()\n valueChange: EventEmitter<IPepGenericFormValueChange> = new EventEmitter<IPepGenericFormValueChange>();\n\n @Output()\n fieldClick: EventEmitter<IPepGenericFormValueChange> = new EventEmitter<IPepGenericFormValueChange>();\n\n @Output()\n formValidationChange: EventEmitter<boolean> = new EventEmitter<boolean>(); \n\n constructor(\n private layoutService: PepLayoutService,\n public _genericFormService: PepGenericFormService\n ) {\n this.layoutService.onResize$.pipe().subscribe((size) => {\n // \n });\n this.formData = new ObjectsDataRow(); \n this.uiControl = new UIControl();\n }\n\n ngOnInit() {\n //\n }\n\n private createFormFields() {\n if (this._data && this.uiControl?.ControlFields?.length) {\n this.formData.Fields = [];\n this.uiControl.ControlFields.forEach((item) => {\n let value = '';\n if (this._genericFormService.hasProperty(this._data, item.ApiName)) {\n value = this._data[item.ApiName];\n }\n this.formData.Fields.push(this._genericFormService.createFormField(item, value, this.getOptionalValues(item.ApiName)) as ObjectsDataRowCell);\n });\n }\n } \n\n /**\n * updates form field's value\n * @param field object containing the data of the required update\n */\n private updateFieldValue(fieldChanged: IPepGenericFormValueChange) {\n this._data[fieldChanged.apiName] = fieldChanged.value;\n }\n\n private getOptionalValues(fieldId: string) {\n const item = this._optionalValues.find((item: any) => item.fieldId === fieldId);\n return item?.optionalValues || [];\n }\n\n getData() {\n return {\n UID: this.formData.UID,\n Values: this._data\n };\n } \n\n /**\n * updates form field(s) params\n * @param fields\n */\n updateFields(fields: Array<IPepGenericFormFieldUpdate>) {\n fields.forEach((field) => {\n const index = this.formData.Fields.findIndex((item) => item.ApiName === field.FieldId);\n if (index >= 0) {\n for (const [key, value] of Object.entries(field.Params)) {\n if (this._genericFormService.hasProperty(this.formData.Fields[index], key)) {\n const item = this.formData.Fields[index] as { [k: string]: any };\n item[key] = value;\n }\n }\n }\n });\n }\n\n onValueChanged(event: any) {\n const field: IPepGenericFormValueChange = {\n uid: event.id,\n apiName: event.key,\n value: event.value\n };\n this.updateFieldValue(field);\n this.valueChange.emit(field);\n }\n\n onfieldClicked(event: any) {\n const field: IPepGenericFormValueChange = {\n uid: event.id,\n apiName: event.key,\n value: event.value\n };\n this.updateFieldValue(field);\n this.fieldClick.emit(field);\n }\n\n onFormValidationChanged(event: any) {\n this.formValidationChange.emit(event);\n }\n\n\n}\n","<div *ngIf=\"inline\" class=\"inline-container form-view\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div *ngIf=\"showTopBar\" class=\"inline-top-bar-container\">\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"formTemplate\"></ng-container>\n</div>\n\n<pep-page-layout *ngIf=\"!inline\" [addPadding]=\"addPadding\">\n <ng-container *ngIf=\"showTopBar\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </ng-container>\n <div pep-main-area class=\"main-area-container form-view\">\n <ng-container *ngTemplateOutlet=\"formTemplate\"></ng-container>\n </div>\n</pep-page-layout>\n\n<ng-template #topBarTemplate>\n <pep-top-bar [inline]=\"inline\"> \n <div header-start-content>\n <ng-content select=\"[left-buttons]\"></ng-content>\n </div>\n <div header-end-content>\n <ng-content select=\"[right-buttons]\"></ng-content>\n </div>\n\n <!-- <div footer-start-content>\n <ng-content select=\"[bottom-left-buttons]\"></ng-content>\n </div>\n <div footer-end-content>\n <ng-content select=\"[bottom-right-buttons]\"></ng-content>\n </div> -->\n </pep-top-bar>\n</ng-template>\n\n<ng-template #formTemplate>\n <pep-form [layoutType]=\"'form'\" [layout]=\"uiControl\" [data]=\"formData\" [isInternal]=\"false\" [lockFields]=\"isLocked\"\n (valueChange)=\"onValueChanged($event)\" (fieldClick)=\"onfieldClicked($event)\"\n (formValidationChange)=\"onFormValidationChanged($event)\">\n </pep-form>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n//import { MatFormFieldModule } from '@angular/material/form-field';\n//import { MaterialModule } from '@pepperi-addons/ngx-lib/';\n//import { ReactiveFormsModule } from '@angular/forms';\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { PepFormModule } from '@pepperi-addons/ngx-lib/form';\nimport { PepMenuModule } from '@pepperi-addons/ngx-lib/menu';\nimport { PepPageLayoutModule } from '@pepperi-addons/ngx-lib/page-layout';\nimport { PepTopBarModule } from '@pepperi-addons/ngx-lib/top-bar';\n//import { PepTextboxModule } from '@pepperi-addons/ngx-lib/textbox';\n//import { PepDateModule } from '@pepperi-addons/ngx-lib/date';\n\nimport { PepGenericFormService } from './generic-form.service';\n\nimport { GenericFormComponent } from './generic-form.component';\n\n@NgModule({\n declarations: [\n GenericFormComponent\n ],\n imports: [\n CommonModule, \n\n // MatFormFieldModule,\n // ReactiveFormsModule,\n\n PepNgxLibModule,\n // PepListModule,\n PepFormModule,\n PepMenuModule,\n PepPageLayoutModule,\n PepTopBarModule,\n // PepTextboxModule,\n // PepDateModule\n // PepSearchModule,\n // PepBreadCrumbsModule\n ],\n exports: [\n GenericFormComponent\n ],\n providers: [\n PepGenericFormService\n ]\n})\nexport class PepGenericFormModule { }\n","/*\n* Public API Surface of ngx-composite-lib/generic-form\n*/\nexport * from './generic-form.module';\nexport * from './generic-form.component';\nexport * from './generic-form.model';\nexport * from './generic-form.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ObjectsDataRowCell","Injectable","EventEmitter","ObjectsDataRow","UIControl","PepGuid","DataViewConverter","Component","Input","Output","CommonModule","PepNgxLibModule","PepFormModule","PepMenuModule","PepPageLayoutModule","PepTopBarModule","NgModule"],"mappings":"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"}
1
+ {"version":3,"file":"pepperi-addons-ngx-composite-lib-generic-form.umd.js","sources":["../../../projects/ngx-composite-lib/generic-form/generic-form.service.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/ngx-composite-lib/generic-form/generic-form.component.ts","../../../projects/ngx-composite-lib/generic-form/generic-form.component.html","../../../projects/ngx-composite-lib/generic-form/generic-form.module.ts","../../../projects/ngx-composite-lib/generic-form/public-api.ts","../../../projects/ngx-composite-lib/generic-form/pepperi-addons-ngx-composite-lib-generic-form.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { ObjectsDataRowCell } from '@pepperi-addons/ngx-lib';\n\n\n@Injectable()\nexport class PepGenericFormService { \n\n constructor() {\n // \n }\n \n /**\n * checks if the object contains property\n * @param obj object\n * @param prop property name\n * @returns true if contains, false otherwise\n */\n hasProperty(obj: any, prop: string) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n }\n\n createFormField(controlField: any, value: any, optionalValues: any[]) {\n const field = new ObjectsDataRowCell();\n \n field.ApiName = controlField.ApiName;\n field.Value = value;\n field.FieldType = controlField.FieldType;\n field.Enabled = !controlField.ReadOnly;\n field.Visible = !controlField.Hidden;\n /* field.Accessory = \"\";\n field.AdditionalValue = \"\";\n field.BackgroundColor = \"\";\n field.FormattedValue = \"\";*/\n field.GroupFields = [];\n field.Highlighted = false;\n // field.NotificationInfo = \"\";\n field.OptionalValues = optionalValues;\n /* field.ReferenceObjectInternalType = \"\";\n field.ReferenceObjectSubType = \"\";\n field.ReferenceObjectType = '0';\n field.TextColor = \"\";\n field.UiPageKey = \"\";*/\n\n return field;\n }\n\n convertToUiControlField(field: any): any {\n return {\n ApiName: field.ApiName,\n FieldType: field.FieldType,\n Title: field.Title,\n ReadOnly: field.ReadOnlyField,\n Mandatory: field.MandatoryField,\n Hidden: field.Hidden,\n ColumnWidth: field.ColumnWidth,\n ColumnWidthType: 1,\n MaxFieldCharacters: field.MaxCharacters,\n MinValue: field.MinValue,\n MaxValue: field.MaxValue,\n Layout: {\n X: field.Layout.X,\n Y: field.Layout.Y,\n Width: field.Layout.Width,\n Height: field.Layout.Field_Height,\n XAlignment: field.Layout.xAlignment,\n YAlignment: field.Layout.yAlignment,\n }\n }\n }\n\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import {\n Component,\n OnInit,\n Input,\n Output,\n ViewChild,\n ViewContainerRef,\n EventEmitter,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { PepFormComponent } from '@pepperi-addons/ngx-lib/form';\nimport {\n IPepGenericFormDataView,\n IPepGenericFormValueChange,\n IPepGenericFormFieldUpdate,\n IPepGenericFormDataSource\n} from './generic-form.model';\nimport {\n UIControl,\n ObjectsDataRow,\n ObjectsDataRowCell,\n PepGuid,\n PepLayoutService\n} from '@pepperi-addons/ngx-lib';\nimport { DataViewConverter } from '@pepperi-addons/data-views';\nimport { PepGenericFormService } from './generic-form.service';\nimport { } from './'\n\n\n@Component({\n selector: 'pep-generic-form',\n templateUrl: './generic-form.component.html',\n styleUrls: ['./generic-form.component.scss'],\n providers: [PepGenericFormService]\n})\nexport class GenericFormComponent implements OnInit {\n private _pepFormContainer: ViewContainerRef | undefined;\n @ViewChild('pepFormContainer', { read: ViewContainerRef })\n set pepListContainer(val: ViewContainerRef) {\n this._pepFormContainer = val;\n }\n\n private _data: any;\n @Input()\n set dataSource(val: any) {\n this._data = val;\n }\n \n private _optionalValues: any[] = [];\n private _formData: ObjectsDataRow;\n private _uiControl: UIControl;\n @Input()\n set dataView(val: IPepGenericFormDataView) {\n this.initForm(val);\n }\n\n @Input()\n isLocked = false;\n\n @Input()\n inline = false;\n\n @Input()\n showTopBar = false;\n\n @Input()\n addPadding = false;\n\n @Output()\n valueChange: EventEmitter<IPepGenericFormValueChange> = new EventEmitter<IPepGenericFormValueChange>();\n\n @Output()\n fieldClick: EventEmitter<IPepGenericFormValueChange> = new EventEmitter<IPepGenericFormValueChange>();\n\n @Output()\n formValidationChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n private _pepForm: any;\n\n constructor(\n private _resolver: ComponentFactoryResolver,\n private layoutService: PepLayoutService,\n public _genericFormService: PepGenericFormService\n ) {\n this.layoutService.onResize$.pipe().subscribe((size) => {\n // \n });\n this._formData = new ObjectsDataRow();\n this._uiControl = new UIControl();\n }\n\n ngOnInit() {\n //\n }\n\n private initForm(dataView: IPepGenericFormDataView) {\n setTimeout(() => {\n if (this._pepFormContainer) {\n if (this._pepFormContainer.length) {\n this._pepFormContainer.remove();\n this._formData = new ObjectsDataRow();\n this._uiControl = new UIControl();\n }\n\n const factory = this._resolver.resolveComponentFactory(PepFormComponent);\n const componentRef = this._pepFormContainer.createComponent(factory);\n this._pepForm = componentRef.instance;\n\n this._formData.IsEditable = !this.isLocked;\n this._formData.UID = dataView.UID || PepGuid.newGuid();\n const uiControlData = DataViewConverter.toUIControlData(dataView);\n if (uiControlData) {\n if (uiControlData?.ControlFields) {\n dataView.Fields?.forEach((field: any) => {\n if (field.OptionalValues?.length) {\n this._optionalValues.push({\n fieldId: field.FieldID,\n optionalValues: field.OptionalValues\n });\n }\n });\n this._uiControl.ControlFields = uiControlData.ControlFields.map((field: any) => this._genericFormService.convertToUiControlField(field));\n\n }\n this._uiControl.Columns = uiControlData.Columns;\n\n if (this._uiControl.ControlFields?.length) {\n this._formData.Fields = [];\n this._uiControl.ControlFields.forEach((item) => {\n let value = '';\n if (this._genericFormService.hasProperty(this._data, item.ApiName)) {\n value = this._data[item.ApiName];\n }\n this._formData.Fields.push(this._genericFormService.createFormField(item, value, this.getOptionalValues(item.ApiName)) as ObjectsDataRowCell);\n });\n\n componentRef.instance.layoutType = 'form';\n componentRef.instance.layout = this._uiControl;\n componentRef.instance.data = this._formData;\n componentRef.instance.isInternal = false;\n componentRef.instance.lockFields = this.isLocked;\n componentRef.instance.valueChange.subscribe(($event) => {\n this.onValueChanged($event);\n });\n componentRef.instance.fieldClick.subscribe(($event) => {\n this.onfieldClicked($event);\n });\n componentRef.instance.formValidationChange.subscribe(($event) => {\n this.onFormValidationChanged($event);\n });\n }\n }\n\n }\n\n }, 0);\n }\n\n /**\n * updates form field's value\n * @param field object containing the data of the required update\n */\n private updateFieldValue(fieldChanged: IPepGenericFormValueChange) {\n this._data[fieldChanged.apiName] = fieldChanged.value;\n }\n\n private getOptionalValues(fieldId: string) {\n const item = this._optionalValues.find((item: any) => item.fieldId === fieldId);\n return item?.optionalValues || [];\n }\n\n getData() {\n return {\n UID: this._formData.UID,\n Values: this._data\n };\n }\n\n /**\n * updates form field(s) params\n * @param fields\n */\n updateFields(fields: Array<IPepGenericFormFieldUpdate>) {\n fields.forEach((field) => {\n const index = this._formData.Fields.findIndex((item) => item.ApiName === field.FieldId);\n if (index >= 0) {\n for (const [key, value] of Object.entries(field.Params)) {\n if (this._genericFormService.hasProperty(this._formData.Fields[index], key)) {\n const item = this._formData.Fields[index] as { [k: string]: any };\n item[key] = value;\n }\n }\n }\n });\n this._pepForm.ReloadForm()\n this._pepForm.data = this._formData;\n }\n\n onValueChanged(event: any) {\n const field: IPepGenericFormValueChange = {\n uid: event.id,\n apiName: event.key,\n value: event.value\n };\n this.updateFieldValue(field);\n this.valueChange.emit(field);\n }\n\n onfieldClicked(event: any) {\n const field: IPepGenericFormValueChange = {\n uid: event.id,\n apiName: event.key,\n value: event.value\n };\n this.updateFieldValue(field);\n this.fieldClick.emit(field);\n }\n\n onFormValidationChanged(event: any) {\n this.formValidationChange.emit(event);\n }\n\n\n}\n","<div *ngIf=\"inline\" class=\"inline-container form-view\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div *ngIf=\"showTopBar\" class=\"inline-top-bar-container\">\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"formTemplate\"></ng-container>\n</div>\n\n<pep-page-layout *ngIf=\"!inline\" [addPadding]=\"addPadding\">\n <ng-container *ngIf=\"showTopBar\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </ng-container>\n <div pep-main-area class=\"main-area-container form-view\">\n <ng-container *ngTemplateOutlet=\"formTemplate\"></ng-container>\n </div>\n</pep-page-layout>\n\n<ng-template #topBarTemplate>\n <pep-top-bar [inline]=\"inline\"> \n <div header-start-content>\n <ng-content select=\"[left-buttons]\"></ng-content>\n </div>\n <div header-end-content>\n <ng-content select=\"[right-buttons]\"></ng-content>\n </div>\n\n <!-- <div footer-start-content>\n <ng-content select=\"[bottom-left-buttons]\"></ng-content>\n </div>\n <div footer-end-content>\n <ng-content select=\"[bottom-right-buttons]\"></ng-content>\n </div> -->\n </pep-top-bar>\n</ng-template>\n\n<ng-template #formTemplate>\n <ng-container #pepFormContainer></ng-container>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n//import { MatFormFieldModule } from '@angular/material/form-field';\n//import { MaterialModule } from '@pepperi-addons/ngx-lib/';\n//import { ReactiveFormsModule } from '@angular/forms';\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { PepFormModule } from '@pepperi-addons/ngx-lib/form';\nimport { PepMenuModule } from '@pepperi-addons/ngx-lib/menu';\nimport { PepPageLayoutModule } from '@pepperi-addons/ngx-lib/page-layout';\nimport { PepTopBarModule } from '@pepperi-addons/ngx-lib/top-bar';\n//import { PepTextboxModule } from '@pepperi-addons/ngx-lib/textbox';\n//import { PepDateModule } from '@pepperi-addons/ngx-lib/date';\n\nimport { PepGenericFormService } from './generic-form.service';\n\nimport { GenericFormComponent } from './generic-form.component';\n\n@NgModule({\n declarations: [\n GenericFormComponent\n ],\n imports: [\n CommonModule, \n\n // MatFormFieldModule,\n // ReactiveFormsModule,\n\n PepNgxLibModule,\n // PepListModule,\n PepFormModule,\n PepMenuModule,\n PepPageLayoutModule,\n PepTopBarModule,\n // PepTextboxModule,\n // PepDateModule\n // PepSearchModule,\n // PepBreadCrumbsModule\n ],\n exports: [\n GenericFormComponent\n ],\n providers: [\n PepGenericFormService\n ]\n})\nexport class PepGenericFormModule { }\n","/*\n* Public API Surface of ngx-composite-lib/generic-form\n*/\nexport * from './generic-form.module';\nexport * from './generic-form.component';\nexport * from './generic-form.model';\nexport * from './generic-form.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ObjectsDataRowCell","Injectable","EventEmitter","ObjectsDataRow","UIControl","PepFormComponent","PepGuid","DataViewConverter","ViewContainerRef","Component","ViewChild","Input","Output","CommonModule","PepNgxLibModule","PepFormModule","PepMenuModule","PepPageLayoutModule","PepTopBarModule","NgModule"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { Component, Input, Output, EventEmitter, } from '@angular/core';
1
+ import { Component, Input, Output, ViewChild, ViewContainerRef, EventEmitter, } from '@angular/core';
2
+ import { PepFormComponent } from '@pepperi-addons/ngx-lib/form';
2
3
  import { UIControl, ObjectsDataRow, PepGuid } from '@pepperi-addons/ngx-lib';
3
4
  import { DataViewConverter } from '@pepperi-addons/data-views';
4
5
  import { PepGenericFormService } from './generic-form.service';
@@ -7,10 +8,10 @@ import * as i1 from "@pepperi-addons/ngx-lib";
7
8
  import * as i2 from "./generic-form.service";
8
9
  import * as i3 from "@pepperi-addons/ngx-lib/page-layout";
9
10
  import * as i4 from "@pepperi-addons/ngx-lib/top-bar";
10
- import * as i5 from "@pepperi-addons/ngx-lib/form";
11
- import * as i6 from "@angular/common";
11
+ import * as i5 from "@angular/common";
12
12
  export class GenericFormComponent {
13
- constructor(layoutService, _genericFormService) {
13
+ constructor(_resolver, layoutService, _genericFormService) {
14
+ this._resolver = _resolver;
14
15
  this.layoutService = layoutService;
15
16
  this._genericFormService = _genericFormService;
16
17
  this._optionalValues = [];
@@ -24,52 +25,77 @@ export class GenericFormComponent {
24
25
  this.layoutService.onResize$.pipe().subscribe((size) => {
25
26
  //
26
27
  });
27
- this.formData = new ObjectsDataRow();
28
- this.uiControl = new UIControl();
28
+ this._formData = new ObjectsDataRow();
29
+ this._uiControl = new UIControl();
30
+ }
31
+ set pepListContainer(val) {
32
+ this._pepFormContainer = val;
29
33
  }
30
34
  set dataSource(val) {
31
35
  this._data = val;
32
- this.createFormFields();
33
36
  }
34
37
  set dataView(val) {
35
- var _a;
36
- if (val) {
37
- this.formData.IsEditable = !this.isLocked;
38
- this.formData.UID = val.UID || PepGuid.newGuid();
39
- const uiControlData = DataViewConverter.toUIControlData(val);
40
- if (uiControlData) {
41
- if (uiControlData === null || uiControlData === void 0 ? void 0 : uiControlData.ControlFields) {
42
- (_a = val.Fields) === null || _a === void 0 ? void 0 : _a.forEach((field) => {
43
- var _a;
44
- if ((_a = field.OptionalValues) === null || _a === void 0 ? void 0 : _a.length) {
45
- this._optionalValues.push({
46
- fieldId: field.FieldID,
47
- optionalValues: field.OptionalValues
48
- });
49
- }
50
- });
51
- this.uiControl.ControlFields = uiControlData.ControlFields.map((field) => this._genericFormService.convertToUiControlField(field));
52
- }
53
- this.uiControl.Columns = uiControlData.Columns;
54
- this.createFormFields();
55
- }
56
- }
38
+ this.initForm(val);
57
39
  }
58
40
  ngOnInit() {
59
41
  //
60
42
  }
61
- createFormFields() {
62
- var _a, _b;
63
- if (this._data && ((_b = (_a = this.uiControl) === null || _a === void 0 ? void 0 : _a.ControlFields) === null || _b === void 0 ? void 0 : _b.length)) {
64
- this.formData.Fields = [];
65
- this.uiControl.ControlFields.forEach((item) => {
66
- let value = '';
67
- if (this._genericFormService.hasProperty(this._data, item.ApiName)) {
68
- value = this._data[item.ApiName];
43
+ initForm(dataView) {
44
+ setTimeout(() => {
45
+ var _a, _b;
46
+ if (this._pepFormContainer) {
47
+ if (this._pepFormContainer.length) {
48
+ this._pepFormContainer.remove();
49
+ this._formData = new ObjectsDataRow();
50
+ this._uiControl = new UIControl();
69
51
  }
70
- this.formData.Fields.push(this._genericFormService.createFormField(item, value, this.getOptionalValues(item.ApiName)));
71
- });
72
- }
52
+ const factory = this._resolver.resolveComponentFactory(PepFormComponent);
53
+ const componentRef = this._pepFormContainer.createComponent(factory);
54
+ this._pepForm = componentRef.instance;
55
+ this._formData.IsEditable = !this.isLocked;
56
+ this._formData.UID = dataView.UID || PepGuid.newGuid();
57
+ const uiControlData = DataViewConverter.toUIControlData(dataView);
58
+ if (uiControlData) {
59
+ if (uiControlData === null || uiControlData === void 0 ? void 0 : uiControlData.ControlFields) {
60
+ (_a = dataView.Fields) === null || _a === void 0 ? void 0 : _a.forEach((field) => {
61
+ var _a;
62
+ if ((_a = field.OptionalValues) === null || _a === void 0 ? void 0 : _a.length) {
63
+ this._optionalValues.push({
64
+ fieldId: field.FieldID,
65
+ optionalValues: field.OptionalValues
66
+ });
67
+ }
68
+ });
69
+ this._uiControl.ControlFields = uiControlData.ControlFields.map((field) => this._genericFormService.convertToUiControlField(field));
70
+ }
71
+ this._uiControl.Columns = uiControlData.Columns;
72
+ if ((_b = this._uiControl.ControlFields) === null || _b === void 0 ? void 0 : _b.length) {
73
+ this._formData.Fields = [];
74
+ this._uiControl.ControlFields.forEach((item) => {
75
+ let value = '';
76
+ if (this._genericFormService.hasProperty(this._data, item.ApiName)) {
77
+ value = this._data[item.ApiName];
78
+ }
79
+ this._formData.Fields.push(this._genericFormService.createFormField(item, value, this.getOptionalValues(item.ApiName)));
80
+ });
81
+ componentRef.instance.layoutType = 'form';
82
+ componentRef.instance.layout = this._uiControl;
83
+ componentRef.instance.data = this._formData;
84
+ componentRef.instance.isInternal = false;
85
+ componentRef.instance.lockFields = this.isLocked;
86
+ componentRef.instance.valueChange.subscribe(($event) => {
87
+ this.onValueChanged($event);
88
+ });
89
+ componentRef.instance.fieldClick.subscribe(($event) => {
90
+ this.onfieldClicked($event);
91
+ });
92
+ componentRef.instance.formValidationChange.subscribe(($event) => {
93
+ this.onFormValidationChanged($event);
94
+ });
95
+ }
96
+ }
97
+ }
98
+ }, 0);
73
99
  }
74
100
  /**
75
101
  * updates form field's value
@@ -84,7 +110,7 @@ export class GenericFormComponent {
84
110
  }
85
111
  getData() {
86
112
  return {
87
- UID: this.formData.UID,
113
+ UID: this._formData.UID,
88
114
  Values: this._data
89
115
  };
90
116
  }
@@ -94,16 +120,18 @@ export class GenericFormComponent {
94
120
  */
95
121
  updateFields(fields) {
96
122
  fields.forEach((field) => {
97
- const index = this.formData.Fields.findIndex((item) => item.ApiName === field.FieldId);
123
+ const index = this._formData.Fields.findIndex((item) => item.ApiName === field.FieldId);
98
124
  if (index >= 0) {
99
125
  for (const [key, value] of Object.entries(field.Params)) {
100
- if (this._genericFormService.hasProperty(this.formData.Fields[index], key)) {
101
- const item = this.formData.Fields[index];
126
+ if (this._genericFormService.hasProperty(this._formData.Fields[index], key)) {
127
+ const item = this._formData.Fields[index];
102
128
  item[key] = value;
103
129
  }
104
130
  }
105
131
  }
106
132
  });
133
+ this._pepForm.ReloadForm();
134
+ this._pepForm.data = this._formData;
107
135
  }
108
136
  onValueChanged(event) {
109
137
  const field = {
@@ -127,8 +155,8 @@ export class GenericFormComponent {
127
155
  this.formValidationChange.emit(event);
128
156
  }
129
157
  }
130
- GenericFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: GenericFormComponent, deps: [{ token: i1.PepLayoutService }, { token: i2.PepGenericFormService }], target: i0.ɵɵFactoryTarget.Component });
131
- GenericFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: GenericFormComponent, selector: "pep-generic-form", inputs: { dataSource: "dataSource", dataView: "dataView", isLocked: "isLocked", inline: "inline", showTopBar: "showTopBar", addPadding: "addPadding" }, outputs: { valueChange: "valueChange", fieldClick: "fieldClick", formValidationChange: "formValidationChange" }, providers: [PepGenericFormService], ngImport: i0, template: "<div *ngIf=\"inline\" class=\"inline-container form-view\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div *ngIf=\"showTopBar\" class=\"inline-top-bar-container\">\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"formTemplate\"></ng-container>\n</div>\n\n<pep-page-layout *ngIf=\"!inline\" [addPadding]=\"addPadding\">\n <ng-container *ngIf=\"showTopBar\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </ng-container>\n <div pep-main-area class=\"main-area-container form-view\">\n <ng-container *ngTemplateOutlet=\"formTemplate\"></ng-container>\n </div>\n</pep-page-layout>\n\n<ng-template #topBarTemplate>\n <pep-top-bar [inline]=\"inline\"> \n <div header-start-content>\n <ng-content select=\"[left-buttons]\"></ng-content>\n </div>\n <div header-end-content>\n <ng-content select=\"[right-buttons]\"></ng-content>\n </div>\n\n <!-- <div footer-start-content>\n <ng-content select=\"[bottom-left-buttons]\"></ng-content>\n </div>\n <div footer-end-content>\n <ng-content select=\"[bottom-right-buttons]\"></ng-content>\n </div> -->\n </pep-top-bar>\n</ng-template>\n\n<ng-template #formTemplate>\n <pep-form [layoutType]=\"'form'\" [layout]=\"uiControl\" [data]=\"formData\" [isInternal]=\"false\" [lockFields]=\"isLocked\"\n (valueChange)=\"onValueChanged($event)\" (fieldClick)=\"onfieldClicked($event)\"\n (formValidationChange)=\"onFormValidationChanged($event)\">\n </pep-form>\n</ng-template>\n", styles: [":host{height:inherit;display:block}.main-area-container{display:grid;height:inherit}.inline-container{height:inherit;display:grid;grid-template-rows:auto 1fr}.inline-container.add-padding{padding-inline:var(--pep-spacing-lg, 1rem)}\n"], components: [{ type: i3.PepPageLayoutComponent, selector: "pep-page-layout", inputs: ["addPadding", "showShadow"] }, { type: i4.PepTopBarComponent, selector: "pep-top-bar", inputs: ["inline", "title"], outputs: ["footerStateChange"] }, { type: i5.PepFormComponent, selector: "pep-form", inputs: ["isInternal", "isReport", "lockEvents", "canEditObject", "isActive", "layoutType", "objectId", "parentId", "searchCode", "showTitle", "firstFieldAsLink", "checkForChanges", "data", "lockFields", "layout"], outputs: ["valueChange", "formValidationChange", "fieldClick", "internalFormFieldClick", "internalFormFieldChange"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
158
+ GenericFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: GenericFormComponent, deps: [{ token: i0.ComponentFactoryResolver }, { token: i1.PepLayoutService }, { token: i2.PepGenericFormService }], target: i0.ɵɵFactoryTarget.Component });
159
+ GenericFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: GenericFormComponent, selector: "pep-generic-form", inputs: { dataSource: "dataSource", dataView: "dataView", isLocked: "isLocked", inline: "inline", showTopBar: "showTopBar", addPadding: "addPadding" }, outputs: { valueChange: "valueChange", fieldClick: "fieldClick", formValidationChange: "formValidationChange" }, providers: [PepGenericFormService], viewQueries: [{ propertyName: "pepListContainer", first: true, predicate: ["pepFormContainer"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div *ngIf=\"inline\" class=\"inline-container form-view\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div *ngIf=\"showTopBar\" class=\"inline-top-bar-container\">\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"formTemplate\"></ng-container>\n</div>\n\n<pep-page-layout *ngIf=\"!inline\" [addPadding]=\"addPadding\">\n <ng-container *ngIf=\"showTopBar\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </ng-container>\n <div pep-main-area class=\"main-area-container form-view\">\n <ng-container *ngTemplateOutlet=\"formTemplate\"></ng-container>\n </div>\n</pep-page-layout>\n\n<ng-template #topBarTemplate>\n <pep-top-bar [inline]=\"inline\"> \n <div header-start-content>\n <ng-content select=\"[left-buttons]\"></ng-content>\n </div>\n <div header-end-content>\n <ng-content select=\"[right-buttons]\"></ng-content>\n </div>\n\n <!-- <div footer-start-content>\n <ng-content select=\"[bottom-left-buttons]\"></ng-content>\n </div>\n <div footer-end-content>\n <ng-content select=\"[bottom-right-buttons]\"></ng-content>\n </div> -->\n </pep-top-bar>\n</ng-template>\n\n<ng-template #formTemplate>\n <ng-container #pepFormContainer></ng-container>\n</ng-template>\n", styles: [":host{height:inherit;display:block}.main-area-container{display:grid;height:inherit}.inline-container{height:inherit;display:grid;grid-template-rows:auto 1fr}.inline-container.add-padding{padding-inline:var(--pep-spacing-lg, 1rem)}\n"], components: [{ type: i3.PepPageLayoutComponent, selector: "pep-page-layout", inputs: ["addPadding", "showShadow"] }, { type: i4.PepTopBarComponent, selector: "pep-top-bar", inputs: ["inline", "title"], outputs: ["footerStateChange"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
132
160
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: GenericFormComponent, decorators: [{
133
161
  type: Component,
134
162
  args: [{
@@ -137,7 +165,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
137
165
  styleUrls: ['./generic-form.component.scss'],
138
166
  providers: [PepGenericFormService]
139
167
  }]
140
- }], ctorParameters: function () { return [{ type: i1.PepLayoutService }, { type: i2.PepGenericFormService }]; }, propDecorators: { dataSource: [{
168
+ }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i1.PepLayoutService }, { type: i2.PepGenericFormService }]; }, propDecorators: { pepListContainer: [{
169
+ type: ViewChild,
170
+ args: ['pepFormContainer', { read: ViewContainerRef }]
171
+ }], dataSource: [{
141
172
  type: Input
142
173
  }], dataView: [{
143
174
  type: Input
@@ -156,4 +187,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
156
187
  }], formValidationChange: [{
157
188
  type: Output
158
189
  }] } });
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb3NpdGUtbGliL2dlbmVyaWMtZm9ybS9nZW5lcmljLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvZ2VuZXJpYy1mb3JtL2dlbmVyaWMtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUVULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxHQUNmLE1BQU0sZUFBZSxDQUFDO0FBUXZCLE9BQU8sRUFDSCxTQUFTLEVBQ1QsY0FBYyxFQUVkLE9BQU8sRUFDVixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7OztBQVMvRCxNQUFNLE9BQU8sb0JBQW9CO0lBeUQ3QixZQUNZLGFBQStCLEVBQ2hDLG1CQUEwQztRQUR6QyxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDaEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUF1QjtRQW5EN0Msb0JBQWUsR0FBVSxFQUFFLENBQUM7UUE2QnBDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFHakIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUdmLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFHbkIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUduQixnQkFBVyxHQUE2QyxJQUFJLFlBQVksRUFBOEIsQ0FBQztRQUd2RyxlQUFVLEdBQTZDLElBQUksWUFBWSxFQUE4QixDQUFDO1FBR3RHLHlCQUFvQixHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBTXRFLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxD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O2dCQVVGLFFBQVE7c0JBRFgsS0FBSztnQkEwQk4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLE1BQU07c0JBREwsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFdBQVc7c0JBRFYsTUFBTTtnQkFJUCxVQUFVO3NCQURULE1BQU07Z0JBSVAsb0JBQW9CO3NCQURuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgT25Jbml0LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGVwTGF5b3V0U2VydmljZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliJztcbmltcG9ydCB7XG4gICAgSVBlcEdlbmVyaWNGb3JtRGF0YVZpZXcsXG4gICAgSVBlcEdlbmVyaWNGb3JtVmFsdWVDaGFuZ2UsXG4gICAgSVBlcEdlbmVyaWNGb3JtRmllbGRVcGRhdGUsXG4gICAgSVBlcEdlbmVyaWNGb3JtRGF0YVNvdXJjZVxufSBmcm9tICcuL2dlbmVyaWMtZm9ybS5tb2RlbCc7XG5pbXBvcnQge1xuICAgIFVJQ29udHJvbCxcbiAgICBPYmplY3RzRGF0YVJvdyxcbiAgICBPYmplY3RzRGF0YVJvd0NlbGwsXG4gICAgUGVwR3VpZFxufSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5pbXBvcnQgeyBEYXRhVmlld0NvbnZlcnRlciB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9kYXRhLXZpZXdzJztcbmltcG9ydCB7IFBlcEdlbmVyaWNGb3JtU2VydmljZSB9IGZyb20gJy4vZ2VuZXJpYy1mb3JtLnNlcnZpY2UnO1xuXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGVwLWdlbmVyaWMtZm9ybScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2dlbmVyaWMtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZ2VuZXJpYy1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbUGVwR2VuZXJpY0Zvcm1TZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBHZW5lcmljRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcHJpdmF0ZSBfZGF0YTogYW55O1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGRhdGFTb3VyY2UodmFsOiBhbnkpIHtcbiAgICAgICAgdGhpcy5fZGF0YSA9IHZhbDtcbiAgICAgICAgdGhpcy5jcmVhdGVGb3JtRmllbGRzKCk7ICAgICAgXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfb3B0aW9uYWxWYWx1ZXM6IGFueVtdID0gW107XG4gICAgZm9ybURhdGE6IE9iamVjdHNEYXRhUm93O1xuICAgIHVpQ29udHJvbDogVUlDb250cm9sO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGRhdGFWaWV3KHZhbDogSVBlcEdlbmVyaWNGb3JtRGF0YVZpZXcpIHtcbiAgICAgICAgaWYgKHZhbCkgeyAgICBcbiAgICAgICAgICAgIHRoaXMuZm9ybURhdGEuSXNFZGl0YWJsZSA9ICF0aGlzLmlzTG9ja2VkO1xuICAgICAgICAgICAgdGhpcy5mb3JtRGF0YS5VSUQgPSB2YWwuVUlEIHx8IFBlcEd1aWQubmV3R3VpZCgpO1xuICAgICAgICAgICAgY29uc3QgdWlDb250cm9sRGF0YSA9IERhdGFWaWV3Q29udmVydGVyLnRvVUlDb250cm9sRGF0YSh2YWwpO1xuICAgICAgICAgICAgaWYgKHVpQ29udHJvbERhdGEpIHtcbiAgICAgICAgICAgICAgICBpZiAodWlDb250cm9sRGF0YT8uQ29udHJvbEZpZWxkcykge1xuICAgICAgICAgICAgICAgICAgICB2YWwuRmllbGRzPy5mb3JFYWNoKChmaWVsZDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmllbGQuT3B0aW9uYWxWYWx1ZXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX29wdGlvbmFsVmFsdWVzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZElkOiBmaWVsZC5GaWVsZElELFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbFZhbHVlczogZmllbGQuT3B0aW9uYWxWYWx1ZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudWlDb250cm9sLkNvbnRyb2xGaWVsZHMgPSB1aUNvbnRyb2xEYXRhLkNvbnRyb2xGaWVsZHMubWFwKChmaWVsZDogYW55KSA9PiB0aGlzLl9nZW5lcmljRm9ybVNlcnZpY2UuY29udmVydFRvVWlDb250cm9sRmllbGQoZmllbGQpKTtcbiAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy51aUNvbnRyb2wuQ29sdW1ucyA9IHVpQ29udHJvbERhdGEuQ29sdW1ucztcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUZvcm1GaWVsZHMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSAgICAgICAgXG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBpc0xvY2tlZCA9IGZhbHNlOyAgICBcblxuICAgIEBJbnB1dCgpXG4gICAgaW5saW5lID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHNob3dUb3BCYXIgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgYWRkUGFkZGluZyA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpXG4gICAgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxJUGVwR2VuZXJpY0Zvcm1WYWx1ZUNoYW5nZT4gPSBuZXcgRXZlbnRFbWl0dGVyPElQZXBHZW5lcmljRm9ybVZhbHVlQ2hhbmdlPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgZmllbGRDbGljazogRXZlbnRFbWl0dGVyPElQZXBHZW5lcmljRm9ybVZhbHVlQ2hhbmdlPiA9IG5ldyBFdmVudEVtaXR0ZXI8SVBlcEdlbmVyaWNGb3JtVmFsdWVDaGFuZ2U+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBmb3JtVmFsaWRhdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpOyAgXG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBsYXlvdXRTZXJ2aWNlOiBQZXBMYXlvdXRTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgX2dlbmVyaWNGb3JtU2VydmljZTogUGVwR2VuZXJpY0Zvcm1TZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHRoaXMubGF5b3V0U2VydmljZS5vblJlc2l6ZSQucGlwZSgpLnN1YnNjcmliZSgoc2l6ZSkgPT4ge1xuICAgICAgICAgICAgLy8gICAgICAgICAgICBcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZm9ybURhdGEgPSBuZXcgT2JqZWN0c0RhdGFSb3coKTsgIFxuICAgICAgICB0aGlzLnVpQ29udHJvbCA9IG5ldyBVSUNvbnRyb2woKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgLy9cbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUZvcm1GaWVsZHMoKSB7XG4gICAgICAgIGlmICh0aGlzLl9kYXRhICYmIHRoaXMudWlDb250cm9sPy5Db250cm9sRmllbGRzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybURhdGEuRmllbGRzID0gW107XG4gICAgICAgICAgICB0aGlzLnVpQ29udHJvbC5Db250cm9sRmllbGRzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSAnJztcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fZ2VuZXJpY0Zvcm1TZXJ2aWNlLmhhc1Byb3BlcnR5KHRoaXMuX2RhdGEsIGl0ZW0uQXBpTmFtZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSB0aGlzLl9kYXRhW2l0ZW0uQXBpTmFtZV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuZm9ybURhdGEuRmllbGRzLnB1c2godGhpcy5fZ2VuZXJpY0Zvcm1TZXJ2aWNlLmNyZWF0ZUZvcm1GaWVsZChpdGVtLCB2YWx1ZSwgdGhpcy5nZXRPcHRpb25hbFZhbHVlcyhpdGVtLkFwaU5hbWUpKSBhcyBPYmplY3RzRGF0YVJvd0NlbGwpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9ICAgIFxuXG4gICAgLyoqXG4gICAgICogdXBkYXRlcyBmb3JtIGZpZWxkJ3MgdmFsdWVcbiAgICAgKiBAcGFyYW0gZmllbGQgb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGRhdGEgb2YgdGhlIHJlcXVpcmVkIHVwZGF0ZVxuICAgICAqL1xuICAgICBwcml2YXRlIHVwZGF0ZUZpZWxkVmFsdWUoZmllbGRDaGFuZ2VkOiBJUGVwR2VuZXJpY0Zvcm1WYWx1ZUNoYW5nZSkge1xuICAgICAgICB0aGlzLl9kYXRhW2ZpZWxkQ2hhbmdlZC5hcGlOYW1lXSA9IGZpZWxkQ2hhbmdlZC52YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE9wdGlvbmFsVmFsdWVzKGZpZWxkSWQ6IHN0cmluZykge1xuICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5fb3B0aW9uYWxWYWx1ZXMuZmluZCgoaXRlbTogYW55KSA9PiBpdGVtLmZpZWxkSWQgPT09IGZpZWxkSWQpO1xuICAgICAgICByZXR1cm4gaXRlbT8ub3B0aW9uYWxWYWx1ZXMgfHwgW107XG4gICAgfVxuXG4gICAgZ2V0RGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIFVJRDogdGhpcy5mb3JtRGF0YS5VSUQsXG4gICAgICAgICAgICBWYWx1ZXM6IHRoaXMuX2RhdGFcbiAgICAgICAgfTtcbiAgICB9ICAgXG5cbiAgICAvKipcbiAgICAqIHVwZGF0ZXMgZm9ybSBmaWVsZChzKSBwYXJhbXNcbiAgICAqIEBwYXJhbSBmaWVsZHNcbiAgICAqL1xuICAgIHVwZGF0ZUZpZWxkcyhmaWVsZHM6IEFycmF5PElQZXBHZW5lcmljRm9ybUZpZWxkVXBkYXRlPikge1xuICAgICAgICBmaWVsZHMuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5mb3JtRGF0YS5GaWVsZHMuZmluZEluZGV4KChpdGVtKSA9PiBpdGVtLkFwaU5hbWUgPT09IGZpZWxkLkZpZWxkSWQpO1xuICAgICAgICAgICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhmaWVsZC5QYXJhbXMpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl9nZW5lcmljRm9ybVNlcnZpY2UuaGFzUHJvcGVydHkodGhpcy5mb3JtRGF0YS5GaWVsZHNbaW5kZXhdLCBrZXkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5mb3JtRGF0YS5GaWVsZHNbaW5kZXhdIGFzIHsgW2s6IHN0cmluZ106IGFueSB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVtrZXldID0gdmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uVmFsdWVDaGFuZ2VkKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgY29uc3QgZmllbGQ6IElQZXBHZW5lcmljRm9ybVZhbHVlQ2hhbmdlID0ge1xuICAgICAgICAgICAgdWlkOiBldmVudC5pZCxcbiAgICAgICAgICAgIGFwaU5hbWU6IGV2ZW50LmtleSxcbiAgICAgICAgICAgIHZhbHVlOiBldmVudC52YWx1ZVxuICAgICAgICB9O1xuICAgICAgICB0aGlzLnVwZGF0ZUZpZWxkVmFsdWUoZmllbGQpO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoZmllbGQpO1xuICAgIH1cblxuICAgIG9uZmllbGRDbGlja2VkKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgY29uc3QgZmllbGQ6IElQZXBHZW5lcmljRm9ybVZhbHVlQ2hhbmdlID0ge1xuICAgICAgICAgICAgdWlkOiBldmVudC5pZCxcbiAgICAgICAgICAgIGFwaU5hbWU6IGV2ZW50LmtleSxcbiAgICAgICAgICAgIHZhbHVlOiBldmVudC52YWx1ZVxuICAgICAgICB9O1xuICAgICAgICB0aGlzLnVwZGF0ZUZpZWxkVmFsdWUoZmllbGQpO1xuICAgICAgICB0aGlzLmZpZWxkQ2xpY2suZW1pdChmaWVsZCk7XG4gICAgfVxuXG4gICAgb25Gb3JtVmFsaWRhdGlvbkNoYW5nZWQoZXZlbnQ6IGFueSkge1xuICAgICAgICB0aGlzLmZvcm1WYWxpZGF0aW9uQ2hhbmdlLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuXG59XG4iLCI8ZGl2ICpuZ0lmPVwiaW5saW5lXCIgY2xhc3M9XCJpbmxpbmUtY29udGFpbmVyIGZvcm0tdmlld1wiIFtuZ0NsYXNzXT1cInsgJ2FkZC1wYWRkaW5nJzogYWRkUGFkZGluZyB9XCI+XG4gICAgPGRpdiAqbmdJZj1cInNob3dUb3BCYXJcIiBjbGFzcz1cImlubGluZS10b3AtYmFyLWNvbnRhaW5lclwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidG9wQmFyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZm9ybVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPHBlcC1wYWdlLWxheW91dCAqbmdJZj1cIiFpbmxpbmVcIiBbYWRkUGFkZGluZ109XCJhZGRQYWRkaW5nXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dUb3BCYXJcIiBwZXAtdG9wLWFyZWE+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0b3BCYXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxkaXYgcGVwLW1haW4tYXJlYSBjbGFzcz1cIm1haW4tYXJlYS1jb250YWluZXIgZm9ybS12aWV3XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmb3JtVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbjwvcGVwLXBhZ2UtbGF5b3V0PlxuXG48bmctdGVtcGxhdGUgI3RvcEJhclRlbXBsYXRlPlxuICAgIDxwZXAtdG9wLWJhciBbaW5saW5lXT1cImlubGluZVwiPiBcbiAgICAgICAgPGRpdiBoZWFkZXItc3RhcnQtY29udGVudD5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltsZWZ0LWJ1dHRvbnNdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBoZWFkZXItZW5kLWNvbnRlbnQ+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbcmlnaHQtYnV0dG9uc11cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwhLS0gPGRpdiBmb290ZXItc3RhcnQtY29udGVudD5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltib3R0b20tbGVmdC1idXR0b25zXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgZm9vdGVyLWVuZC1jb250ZW50PlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2JvdHRvbS1yaWdodC1idXR0b25zXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+IC0tPlxuICAgIDwvcGVwLXRvcC1iYXI+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2Zvcm1UZW1wbGF0ZT5cbiAgICA8cGVwLWZvcm0gW2xheW91dFR5cGVdPVwiJ2Zvcm0nXCIgW2xheW91dF09XCJ1aUNvbnRyb2xcIiBbZGF0YV09XCJmb3JtRGF0YVwiIFtpc0ludGVybmFsXT1cImZhbHNlXCIgW2xvY2tGaWVsZHNdPVwiaXNMb2NrZWRcIlxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZWQoJGV2ZW50KVwiIChmaWVsZENsaWNrKT1cIm9uZmllbGRDbGlja2VkKCRldmVudClcIlxuICAgICAgICAoZm9ybVZhbGlkYXRpb25DaGFuZ2UpPVwib25Gb3JtVmFsaWRhdGlvbkNoYW5nZWQoJGV2ZW50KVwiPlxuICAgIDwvcGVwLWZvcm0+XG48L25nLXRlbXBsYXRlPlxuIl19
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb3NpdGUtbGliL2dlbmVyaWMtZm9ybS9nZW5lcmljLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvZ2VuZXJpYy1mb3JtL2dlbmVyaWMtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUVULEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULGdCQUFnQixFQUNoQixZQUFZLEdBRWYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFPaEUsT0FBTyxFQUNILFNBQVMsRUFDVCxjQUFjLEVBRWQsT0FBTyxFQUVWLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7QUFVL0QsTUFBTSxPQUFPLG9CQUFvQjtJQTRDN0IsWUFDWSxTQUFtQyxFQUNuQyxhQUErQixFQUNoQyxtQkFBMEM7UUFGekMsY0FBUyxHQUFULFNBQVMsQ0FBMEI7UUFDbkMsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQ2hDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBdUI7UUFsQzdDLG9CQUFlLEdBQVUsRUFBRSxDQUFDO1FBU3BDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFHakIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUdmLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFHbkIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUduQixnQkFBVyxHQUE2QyxJQUFJLFlBQVksRUFBOEIsQ0FBQztRQUd2RyxlQUFVLEdBQTZDLElB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Q3JCLENBQUM7UUFDRixJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELHVCQUF1QixDQUFDLEtBQVU7UUFDOUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQyxDQUFDOztpSEF6TFEsb0JBQW9CO3FHQUFwQixvQkFBb0Isb1RBRmxCLENBQUMscUJBQXFCLENBQUMsMkhBSUssZ0JBQWdCLDZCQ3JDM0QscTVDQXFDQTsyRkRGYSxvQkFBb0I7a0JBTmhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsV0FBVyxFQUFFLCtCQUErQjtvQkFDNUMsU0FBUyxFQUFFLENBQUMsK0JBQStCLENBQUM7b0JBQzVDLFNBQVMsRUFBRSxDQUFDLHFCQUFxQixDQUFDO2lCQUNyQztrTEFJTyxnQkFBZ0I7c0JBRG5CLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBT3JELFVBQVU7c0JBRGIsS0FBSztnQkFTRixRQUFRO3NCQURYLEtBQUs7Z0JBTU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLE1BQU07c0JBREwsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFdBQVc7c0JBRFYsTUFBTTtnQkFJUCxVQUFVO3NCQURULE1BQU07Z0JBSVAsb0JBQW9CO3NCQURuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgT25Jbml0LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBlcEZvcm1Db21wb25lbnQgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9mb3JtJztcbmltcG9ydCB7XG4gICAgSVBlcEdlbmVyaWNGb3JtRGF0YVZpZXcsXG4gICAgSVBlcEdlbmVyaWNGb3JtVmFsdWVDaGFuZ2UsXG4gICAgSVBlcEdlbmVyaWNGb3JtRmllbGRVcGRhdGUsXG4gICAgSVBlcEdlbmVyaWNGb3JtRGF0YVNvdXJjZVxufSBmcm9tICcuL2dlbmVyaWMtZm9ybS5tb2RlbCc7XG5pbXBvcnQge1xuICAgIFVJQ29udHJvbCxcbiAgICBPYmplY3RzRGF0YVJvdyxcbiAgICBPYmplY3RzRGF0YVJvd0NlbGwsXG4gICAgUGVwR3VpZCxcbiAgICBQZXBMYXlvdXRTZXJ2aWNlXG59IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliJztcbmltcG9ydCB7IERhdGFWaWV3Q29udmVydGVyIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL2RhdGEtdmlld3MnO1xuaW1wb3J0IHsgUGVwR2VuZXJpY0Zvcm1TZXJ2aWNlIH0gZnJvbSAnLi9nZW5lcmljLWZvcm0uc2VydmljZSc7XG5pbXBvcnQgeyB9IGZyb20gJy4vJ1xuXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGVwLWdlbmVyaWMtZm9ybScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2dlbmVyaWMtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZ2VuZXJpYy1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbUGVwR2VuZXJpY0Zvcm1TZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBHZW5lcmljRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcHJpdmF0ZSBfcGVwRm9ybUNvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZiB8IHVuZGVmaW5lZDtcbiAgICBAVmlld0NoaWxkKCdwZXBGb3JtQ29udGFpbmVyJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pXG4gICAgc2V0IHBlcExpc3RDb250YWluZXIodmFsOiBWaWV3Q29udGFpbmVyUmVmKSB7XG4gICAgICAgIHRoaXMuX3BlcEZvcm1Db250YWluZXIgPSB2YWw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZGF0YTogYW55O1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGRhdGFTb3VyY2UodmFsOiBhbnkpIHtcbiAgICAgICAgdGhpcy5fZGF0YSA9IHZhbDtcbiAgICB9XG4gICAgXG4gICAgcHJpdmF0ZSBfb3B0aW9uYWxWYWx1ZXM6IGFueVtdID0gW107XG4gICAgcHJpdmF0ZSBfZm9ybURhdGE6IE9iamVjdHNEYXRhUm93O1xuICAgIHByaXZhdGUgX3VpQ29udHJvbDogVUlDb250cm9sO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGRhdGFWaWV3KHZhbDogSVBlcEdlbmVyaWNGb3JtRGF0YVZpZXcpIHtcbiAgICAgICAgdGhpcy5pbml0Rm9ybSh2YWwpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgaXNMb2NrZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgaW5saW5lID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHNob3dUb3BCYXIgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgYWRkUGFkZGluZyA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpXG4gICAgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxJUGVwR2VuZXJpY0Zvcm1WYWx1ZUNoYW5nZT4gPSBuZXcgRXZlbnRFbWl0dGVyPElQZXBHZW5lcmljRm9ybVZhbHVlQ2hhbmdlPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgZmllbGRDbGljazogRXZlbnRFbWl0dGVyPElQZXBHZW5lcmljRm9ybVZhbHVlQ2hhbmdlPiA9IG5ldyBFdmVudEVtaXR0ZXI8SVBlcEdlbmVyaWNGb3JtVmFsdWVDaGFuZ2U+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBmb3JtVmFsaWRhdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgcHJpdmF0ZSBfcGVwRm9ybTogYW55O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX3Jlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICAgIHByaXZhdGUgbGF5b3V0U2VydmljZTogUGVwTGF5b3V0U2VydmljZSxcbiAgICAgICAgcHVibGljIF9nZW5lcmljRm9ybVNlcnZpY2U6IFBlcEdlbmVyaWNGb3JtU2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLmxheW91dFNlcnZpY2Uub25SZXNpemUkLnBpcGUoKS5zdWJzY3JpYmUoKHNpemUpID0+IHtcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9mb3JtRGF0YSA9IG5ldyBPYmplY3RzRGF0YVJvdygpO1xuICAgICAgICB0aGlzLl91aUNvbnRyb2wgPSBuZXcgVUlDb250cm9sKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIC8vXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0Rm9ybShkYXRhVmlldzogSVBlcEdlbmVyaWNGb3JtRGF0YVZpZXcpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5fcGVwRm9ybUNvbnRhaW5lcikge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9wZXBGb3JtQ29udGFpbmVyLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9wZXBGb3JtQ29udGFpbmVyLnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9mb3JtRGF0YSA9IG5ldyBPYmplY3RzRGF0YVJvdygpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl91aUNvbnRyb2wgPSBuZXcgVUlDb250cm9sKCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgZmFjdG9yeSA9IHRoaXMuX3Jlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KFBlcEZvcm1Db21wb25lbnQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuX3BlcEZvcm1Db250YWluZXIuY3JlYXRlQ29tcG9uZW50KGZhY3RvcnkpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3BlcEZvcm0gPSBjb21wb25lbnRSZWYuaW5zdGFuY2U7XG5cbiAgICAgICAgICAgICAgICB0aGlzLl9mb3JtRGF0YS5Jc0VkaXRhYmxlID0gIXRoaXMuaXNMb2NrZWQ7XG4gICAgICAgICAgICAgICAgdGhpcy5fZm9ybURhdGEuVUlEID0gZGF0YVZpZXcuVUlEIHx8IFBlcEd1aWQubmV3R3VpZCgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHVpQ29udHJvbERhdGEgPSBEYXRhVmlld0NvbnZlcnRlci50b1VJQ29udHJvbERhdGEoZGF0YVZpZXcpO1xuICAgICAgICAgICAgICAgIGlmICh1aUNvbnRyb2xEYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh1aUNvbnRyb2xEYXRhPy5Db250cm9sRmllbGRzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhVmlldy5GaWVsZHM/LmZvckVhY2goKGZpZWxkOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmllbGQuT3B0aW9uYWxWYWx1ZXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9vcHRpb25hbFZhbHVlcy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkSWQ6IGZpZWxkLkZpZWxkSUQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbFZhbHVlczogZmllbGQuT3B0aW9uYWxWYWx1ZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl91aUNvbnRyb2wuQ29udHJvbEZpZWxkcyA9IHVpQ29udHJvbERhdGEuQ29udHJvbEZpZWxkcy5tYXAoKGZpZWxkOiBhbnkpID0+IHRoaXMuX2dlbmVyaWNGb3JtU2VydmljZS5jb252ZXJ0VG9VaUNvbnRyb2xGaWVsZChmaWVsZCkpO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdWlDb250cm9sLkNvbHVtbnMgPSB1aUNvbnRyb2xEYXRhLkNvbHVtbnM7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX3VpQ29udHJvbC5Db250cm9sRmllbGRzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2Zvcm1EYXRhLkZpZWxkcyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fdWlDb250cm9sLkNvbnRyb2xGaWVsZHMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl9nZW5lcmljRm9ybVNlcnZpY2UuaGFzUHJvcGVydHkodGhpcy5fZGF0YSwgaXRlbS5BcGlOYW1lKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IHRoaXMuX2RhdGFbaXRlbS5BcGlOYW1lXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fZm9ybURhdGEuRmllbGRzLnB1c2godGhpcy5fZ2VuZXJpY0Zvcm1TZXJ2aWNlLmNyZWF0ZUZvcm1GaWVsZChpdGVtLCB2YWx1ZSwgdGhpcy5nZXRPcHRpb25hbFZhbHVlcyhpdGVtLkFwaU5hbWUpKSBhcyBPYmplY3RzRGF0YVJvd0NlbGwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5sYXlvdXRUeXBlID0gJ2Zvcm0nO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmxheW91dCA9IHRoaXMuX3VpQ29udHJvbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5kYXRhID0gdGhpcy5fZm9ybURhdGE7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuaXNJbnRlcm5hbCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmxvY2tGaWVsZHMgPSB0aGlzLmlzTG9ja2VkO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLnZhbHVlQ2hhbmdlLnN1YnNjcmliZSgoJGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vblZhbHVlQ2hhbmdlZCgkZXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuZmllbGRDbGljay5zdWJzY3JpYmUoKCRldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25maWVsZENsaWNrZWQoJGV2ZW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmZvcm1WYWxpZGF0aW9uQ2hhbmdlLnN1YnNjcmliZSgoJGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkZvcm1WYWxpZGF0aW9uQ2hhbmdlZCgkZXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9LCAwKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiB1cGRhdGVzIGZvcm0gZmllbGQncyB2YWx1ZVxuICAgICAqIEBwYXJhbSBmaWVsZCBvYmplY3QgY29udGFpbmluZyB0aGUgZGF0YSBvZiB0aGUgcmVxdWlyZWQgdXBkYXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSB1cGRhdGVGaWVsZFZhbHVlKGZpZWxkQ2hhbmdlZDogSVBlcEdlbmVyaWNGb3JtVmFsdWVDaGFuZ2UpIHtcbiAgICAgICAgdGhpcy5fZGF0YVtmaWVsZENoYW5nZWQuYXBpTmFtZV0gPSBmaWVsZENoYW5nZWQudmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRPcHRpb25hbFZhbHVlcyhmaWVsZElkOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMuX29wdGlvbmFsVmFsdWVzLmZpbmQoKGl0ZW06IGFueSkgPT4gaXRlbS5maWVsZElkID09PSBmaWVsZElkKTtcbiAgICAgICAgcmV0dXJuIGl0ZW0/Lm9wdGlvbmFsVmFsdWVzIHx8IFtdO1xuICAgIH1cblxuICAgIGdldERhdGEoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBVSUQ6IHRoaXMuX2Zvcm1EYXRhLlVJRCxcbiAgICAgICAgICAgIFZhbHVlczogdGhpcy5fZGF0YVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICogdXBkYXRlcyBmb3JtIGZpZWxkKHMpIHBhcmFtc1xuICAgICogQHBhcmFtIGZpZWxkc1xuICAgICovXG4gICAgdXBkYXRlRmllbGRzKGZpZWxkczogQXJyYXk8SVBlcEdlbmVyaWNGb3JtRmllbGRVcGRhdGU+KSB7XG4gICAgICAgIGZpZWxkcy5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLl9mb3JtRGF0YS5GaWVsZHMuZmluZEluZGV4KChpdGVtKSA9PiBpdGVtLkFwaU5hbWUgPT09IGZpZWxkLkZpZWxkSWQpO1xuICAgICAgICAgICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhmaWVsZC5QYXJhbXMpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl9nZW5lcmljRm9ybVNlcnZpY2UuaGFzUHJvcGVydHkodGhpcy5fZm9ybURhdGEuRmllbGRzW2luZGV4XSwga2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMuX2Zvcm1EYXRhLkZpZWxkc1tpbmRleF0gYXMgeyBbazogc3RyaW5nXTogYW55IH07XG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtW2tleV0gPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX3BlcEZvcm0uUmVsb2FkRm9ybSgpXG4gICAgICAgIHRoaXMuX3BlcEZvcm0uZGF0YSA9IHRoaXMuX2Zvcm1EYXRhO1xuICAgIH1cblxuICAgIG9uVmFsdWVDaGFuZ2VkKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgY29uc3QgZmllbGQ6IElQZXBHZW5lcmljRm9ybVZhbHVlQ2hhbmdlID0ge1xuICAgICAgICAgICAgdWlkOiBldmVudC5pZCxcbiAgICAgICAgICAgIGFwaU5hbWU6IGV2ZW50LmtleSxcbiAgICAgICAgICAgIHZhbHVlOiBldmVudC52YWx1ZVxuICAgICAgICB9O1xuICAgICAgICB0aGlzLnVwZGF0ZUZpZWxkVmFsdWUoZmllbGQpO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoZmllbGQpO1xuICAgIH1cblxuICAgIG9uZmllbGRDbGlja2VkKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgY29uc3QgZmllbGQ6IElQZXBHZW5lcmljRm9ybVZhbHVlQ2hhbmdlID0ge1xuICAgICAgICAgICAgdWlkOiBldmVudC5pZCxcbiAgICAgICAgICAgIGFwaU5hbWU6IGV2ZW50LmtleSxcbiAgICAgICAgICAgIHZhbHVlOiBldmVudC52YWx1ZVxuICAgICAgICB9O1xuICAgICAgICB0aGlzLnVwZGF0ZUZpZWxkVmFsdWUoZmllbGQpO1xuICAgICAgICB0aGlzLmZpZWxkQ2xpY2suZW1pdChmaWVsZCk7XG4gICAgfVxuXG4gICAgb25Gb3JtVmFsaWRhdGlvbkNoYW5nZWQoZXZlbnQ6IGFueSkge1xuICAgICAgICB0aGlzLmZvcm1WYWxpZGF0aW9uQ2hhbmdlLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuXG59XG4iLCI8ZGl2ICpuZ0lmPVwiaW5saW5lXCIgY2xhc3M9XCJpbmxpbmUtY29udGFpbmVyIGZvcm0tdmlld1wiIFtuZ0NsYXNzXT1cInsgJ2FkZC1wYWRkaW5nJzogYWRkUGFkZGluZyB9XCI+XG4gICAgPGRpdiAqbmdJZj1cInNob3dUb3BCYXJcIiBjbGFzcz1cImlubGluZS10b3AtYmFyLWNvbnRhaW5lclwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidG9wQmFyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZm9ybVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPHBlcC1wYWdlLWxheW91dCAqbmdJZj1cIiFpbmxpbmVcIiBbYWRkUGFkZGluZ109XCJhZGRQYWRkaW5nXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dUb3BCYXJcIiBwZXAtdG9wLWFyZWE+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0b3BCYXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxkaXYgcGVwLW1haW4tYXJlYSBjbGFzcz1cIm1haW4tYXJlYS1jb250YWluZXIgZm9ybS12aWV3XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmb3JtVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbjwvcGVwLXBhZ2UtbGF5b3V0PlxuXG48bmctdGVtcGxhdGUgI3RvcEJhclRlbXBsYXRlPlxuICAgIDxwZXAtdG9wLWJhciBbaW5saW5lXT1cImlubGluZVwiPiBcbiAgICAgICAgPGRpdiBoZWFkZXItc3RhcnQtY29udGVudD5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltsZWZ0LWJ1dHRvbnNdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBoZWFkZXItZW5kLWNvbnRlbnQ+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbcmlnaHQtYnV0dG9uc11cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwhLS0gPGRpdiBmb290ZXItc3RhcnQtY29udGVudD5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltib3R0b20tbGVmdC1idXR0b25zXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgZm9vdGVyLWVuZC1jb250ZW50PlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2JvdHRvbS1yaWdodC1idXR0b25zXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+IC0tPlxuICAgIDwvcGVwLXRvcC1iYXI+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2Zvcm1UZW1wbGF0ZT5cbiAgICA8bmctY29udGFpbmVyICNwZXBGb3JtQ29udGFpbmVyPjwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1mb3JtLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvZ2VuZXJpYy1mb3JtL2dlbmVyaWMtZm9ybS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBQZXBEYXRhQ29udmVydG9yU2VydmljZSxcbiAgICBQZXBMYXlvdXRTZXJ2aWNlLFxuICAgIFVJQ29udHJvbCxcbiAgICBPYmplY3RzRGF0YVJvdyxcbiAgICBPYmplY3RzRGF0YVJvd0NlbGwsXG4gICAgUGVwR3VpZCxcbiAgICBLZXlWYWx1ZVBhaXJcbn0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuaW1wb3J0IHsgRm9ybURhdGFWaWV3IH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL3BhcGktc2RrL2Rpc3QvZW50aXRpZXMvZGF0YS12aWV3JztcblxuLyoqXG4gKiBJbnRlcmZhY2UgcmVwcmVzZW50aW5nIHRoZSBmb3JtIGRhdGFcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUGVwR2VuZXJpY0Zvcm1EYXRhU291cmNlIHtcbiAgICAvKlVJRDogc3RyaW5nO1xuICAgIElzRW5hYmxlZD86IGJvb2xlYW47XG4gICAgVmFsdWVzOiBhbnk7Ki9cbiAgICBWYWx1ZXM6IEFycmF5PEtleVZhbHVlUGFpcjxhbnk+Pjtcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgcmVwcmVzZW5kaW5nIHRoZSBmb3JtIGRhdGEgdmlld1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElQZXBHZW5lcmljRm9ybURhdGFWaWV3IGV4dGVuZHMgRm9ybURhdGFWaWV3IHtcbiAgICBVSUQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIGNvbnRhaW5pbmcgZm9ybSBkYXRhIGFuZCBkYXRhIHZpZXdcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUGVwR2VuZXJpY0Zvcm1EYXRhIHtcbiAgICBkYXRhOiBJUGVwR2VuZXJpY0Zvcm1EYXRhU291cmNlO1xuICAgIGRhdGFWaWV3OiBJUGVwR2VuZXJpY0Zvcm1EYXRhVmlldztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGVwR2VuZXJpY0Zvcm1WYWx1ZUNoYW5nZSB7XG4gICAgdWlkOiBzdHJpbmc7XG4gICAgYXBpTmFtZTogc3RyaW5nO1xuICAgIHZhbHVlOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBlcEdlbmVyaWNGb3JtRmllbGRVcGRhdGUge1xuICAgIEZpZWxkSWQ6IHN0cmluZztcbiAgICBQYXJhbXM6IElQZXBHZW5lcmljRm9ybURhdGFQYXJhbXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBlcEdlbmVyaWNGb3JtRGF0YVBhcmFtcyB7ICAgICAgXG4gICAgVmlzaWJsZT86IGJvb2xlYW47ICAgICBcbiAgICBFbmFibGVkPzogYm9vbGVhbjsgICAgICAgICBcbiAgICBPcHRpb25hbFZhbHVlcz86IFtdOyAgIFxufSJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1mb3JtLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvZ2VuZXJpYy1mb3JtL2dlbmVyaWMtZm9ybS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBQZXBEYXRhQ29udmVydG9yU2VydmljZSxcbiAgICBQZXBMYXlvdXRTZXJ2aWNlLFxuICAgIFVJQ29udHJvbCxcbiAgICBPYmplY3RzRGF0YVJvdyxcbiAgICBPYmplY3RzRGF0YVJvd0NlbGwsXG4gICAgUGVwR3VpZCxcbiAgICBLZXlWYWx1ZVBhaXJcbn0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuaW1wb3J0IHsgRm9ybURhdGFWaWV3IH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL3BhcGktc2RrL2Rpc3QvZW50aXRpZXMvZGF0YS12aWV3JztcblxuLyoqXG4gKiBJbnRlcmZhY2UgcmVwcmVzZW50aW5nIHRoZSBmb3JtIGRhdGFcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUGVwR2VuZXJpY0Zvcm1EYXRhU291cmNlIHtcbiAgICAvKlVJRDogc3RyaW5nO1xuICAgIElzRW5hYmxlZD86IGJvb2xlYW47XG4gICAgVmFsdWVzOiBhbnk7Ki9cbiAgICBWYWx1ZXM6IEFycmF5PEtleVZhbHVlUGFpcjxhbnk+Pjtcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgcmVwcmVzZW5kaW5nIHRoZSBmb3JtIGRhdGEgdmlld1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElQZXBHZW5lcmljRm9ybURhdGFWaWV3IGV4dGVuZHMgRm9ybURhdGFWaWV3IHtcbiAgICBVSUQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIGNvbnRhaW5pbmcgZm9ybSBkYXRhIGFuZCBkYXRhIHZpZXdcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUGVwR2VuZXJpY0Zvcm1EYXRhIHtcbiAgICBkYXRhOiBJUGVwR2VuZXJpY0Zvcm1EYXRhU291cmNlO1xuICAgIGRhdGFWaWV3OiBJUGVwR2VuZXJpY0Zvcm1EYXRhVmlldztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGVwR2VuZXJpY0Zvcm1WYWx1ZUNoYW5nZSB7XG4gICAgdWlkOiBzdHJpbmc7XG4gICAgYXBpTmFtZTogc3RyaW5nO1xuICAgIHZhbHVlOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBlcEdlbmVyaWNGb3JtRmllbGRVcGRhdGUge1xuICAgIEZpZWxkSWQ6IHN0cmluZztcbiAgICBQYXJhbXM6IElQZXBHZW5lcmljRm9ybURhdGFQYXJhbXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBlcEdlbmVyaWNGb3JtRGF0YVBhcmFtcyB7ICAgXG4gICAgVmFsdWU/OiBhbnk7ICAgXG4gICAgVmlzaWJsZT86IGJvb2xlYW47ICAgICBcbiAgICBFbmFibGVkPzogYm9vbGVhbjsgICAgICBcbiAgICBCYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gICAgVGV4dENvbG9yPzogc3RyaW5nO1xuICAgIEhpZ2hsaWdodGVkPzogYm9vbGVhbjsgICBcbiAgICBPcHRpb25hbFZhbHVlcz86IFtdOyAgIFxufSJdfQ==
@@ -0,0 +1,5 @@
1
+ /*
2
+ * export from ngx-composite-lib/generic-form
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9zaXRlLWxpYi9nZW5lcmljLWZvcm0vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBleHBvcnQgZnJvbSBuZ3gtY29tcG9zaXRlLWxpYi9nZW5lcmljLWZvcm1cbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJzsiXX0=
@@ -1,11 +1,10 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, EventEmitter, Component, Input, Output, NgModule } from '@angular/core';
3
- import * as i6 from '@angular/common';
2
+ import { Injectable, EventEmitter, ViewContainerRef, Component, ViewChild, Input, Output, NgModule } from '@angular/core';
3
+ import * as i5 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i1 from '@pepperi-addons/ngx-lib';
6
6
  import { ObjectsDataRowCell, ObjectsDataRow, UIControl, PepGuid, PepNgxLibModule } from '@pepperi-addons/ngx-lib';
7
- import * as i5 from '@pepperi-addons/ngx-lib/form';
8
- import { PepFormModule } from '@pepperi-addons/ngx-lib/form';
7
+ import { PepFormComponent, PepFormModule } from '@pepperi-addons/ngx-lib/form';
9
8
  import { PepMenuModule } from '@pepperi-addons/ngx-lib/menu';
10
9
  import * as i3 from '@pepperi-addons/ngx-lib/page-layout';
11
10
  import { PepPageLayoutModule } from '@pepperi-addons/ngx-lib/page-layout';
@@ -79,7 +78,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
79
78
  }], ctorParameters: function () { return []; } });
80
79
 
81
80
  class GenericFormComponent {
82
- constructor(layoutService, _genericFormService) {
81
+ constructor(_resolver, layoutService, _genericFormService) {
82
+ this._resolver = _resolver;
83
83
  this.layoutService = layoutService;
84
84
  this._genericFormService = _genericFormService;
85
85
  this._optionalValues = [];
@@ -93,52 +93,77 @@ class GenericFormComponent {
93
93
  this.layoutService.onResize$.pipe().subscribe((size) => {
94
94
  //
95
95
  });
96
- this.formData = new ObjectsDataRow();
97
- this.uiControl = new UIControl();
96
+ this._formData = new ObjectsDataRow();
97
+ this._uiControl = new UIControl();
98
+ }
99
+ set pepListContainer(val) {
100
+ this._pepFormContainer = val;
98
101
  }
99
102
  set dataSource(val) {
100
103
  this._data = val;
101
- this.createFormFields();
102
104
  }
103
105
  set dataView(val) {
104
- var _a;
105
- if (val) {
106
- this.formData.IsEditable = !this.isLocked;
107
- this.formData.UID = val.UID || PepGuid.newGuid();
108
- const uiControlData = DataViewConverter.toUIControlData(val);
109
- if (uiControlData) {
110
- if (uiControlData === null || uiControlData === void 0 ? void 0 : uiControlData.ControlFields) {
111
- (_a = val.Fields) === null || _a === void 0 ? void 0 : _a.forEach((field) => {
112
- var _a;
113
- if ((_a = field.OptionalValues) === null || _a === void 0 ? void 0 : _a.length) {
114
- this._optionalValues.push({
115
- fieldId: field.FieldID,
116
- optionalValues: field.OptionalValues
117
- });
118
- }
119
- });
120
- this.uiControl.ControlFields = uiControlData.ControlFields.map((field) => this._genericFormService.convertToUiControlField(field));
121
- }
122
- this.uiControl.Columns = uiControlData.Columns;
123
- this.createFormFields();
124
- }
125
- }
106
+ this.initForm(val);
126
107
  }
127
108
  ngOnInit() {
128
109
  //
129
110
  }
130
- createFormFields() {
131
- var _a, _b;
132
- if (this._data && ((_b = (_a = this.uiControl) === null || _a === void 0 ? void 0 : _a.ControlFields) === null || _b === void 0 ? void 0 : _b.length)) {
133
- this.formData.Fields = [];
134
- this.uiControl.ControlFields.forEach((item) => {
135
- let value = '';
136
- if (this._genericFormService.hasProperty(this._data, item.ApiName)) {
137
- value = this._data[item.ApiName];
111
+ initForm(dataView) {
112
+ setTimeout(() => {
113
+ var _a, _b;
114
+ if (this._pepFormContainer) {
115
+ if (this._pepFormContainer.length) {
116
+ this._pepFormContainer.remove();
117
+ this._formData = new ObjectsDataRow();
118
+ this._uiControl = new UIControl();
138
119
  }
139
- this.formData.Fields.push(this._genericFormService.createFormField(item, value, this.getOptionalValues(item.ApiName)));
140
- });
141
- }
120
+ const factory = this._resolver.resolveComponentFactory(PepFormComponent);
121
+ const componentRef = this._pepFormContainer.createComponent(factory);
122
+ this._pepForm = componentRef.instance;
123
+ this._formData.IsEditable = !this.isLocked;
124
+ this._formData.UID = dataView.UID || PepGuid.newGuid();
125
+ const uiControlData = DataViewConverter.toUIControlData(dataView);
126
+ if (uiControlData) {
127
+ if (uiControlData === null || uiControlData === void 0 ? void 0 : uiControlData.ControlFields) {
128
+ (_a = dataView.Fields) === null || _a === void 0 ? void 0 : _a.forEach((field) => {
129
+ var _a;
130
+ if ((_a = field.OptionalValues) === null || _a === void 0 ? void 0 : _a.length) {
131
+ this._optionalValues.push({
132
+ fieldId: field.FieldID,
133
+ optionalValues: field.OptionalValues
134
+ });
135
+ }
136
+ });
137
+ this._uiControl.ControlFields = uiControlData.ControlFields.map((field) => this._genericFormService.convertToUiControlField(field));
138
+ }
139
+ this._uiControl.Columns = uiControlData.Columns;
140
+ if ((_b = this._uiControl.ControlFields) === null || _b === void 0 ? void 0 : _b.length) {
141
+ this._formData.Fields = [];
142
+ this._uiControl.ControlFields.forEach((item) => {
143
+ let value = '';
144
+ if (this._genericFormService.hasProperty(this._data, item.ApiName)) {
145
+ value = this._data[item.ApiName];
146
+ }
147
+ this._formData.Fields.push(this._genericFormService.createFormField(item, value, this.getOptionalValues(item.ApiName)));
148
+ });
149
+ componentRef.instance.layoutType = 'form';
150
+ componentRef.instance.layout = this._uiControl;
151
+ componentRef.instance.data = this._formData;
152
+ componentRef.instance.isInternal = false;
153
+ componentRef.instance.lockFields = this.isLocked;
154
+ componentRef.instance.valueChange.subscribe(($event) => {
155
+ this.onValueChanged($event);
156
+ });
157
+ componentRef.instance.fieldClick.subscribe(($event) => {
158
+ this.onfieldClicked($event);
159
+ });
160
+ componentRef.instance.formValidationChange.subscribe(($event) => {
161
+ this.onFormValidationChanged($event);
162
+ });
163
+ }
164
+ }
165
+ }
166
+ }, 0);
142
167
  }
143
168
  /**
144
169
  * updates form field's value
@@ -153,7 +178,7 @@ class GenericFormComponent {
153
178
  }
154
179
  getData() {
155
180
  return {
156
- UID: this.formData.UID,
181
+ UID: this._formData.UID,
157
182
  Values: this._data
158
183
  };
159
184
  }
@@ -163,16 +188,18 @@ class GenericFormComponent {
163
188
  */
164
189
  updateFields(fields) {
165
190
  fields.forEach((field) => {
166
- const index = this.formData.Fields.findIndex((item) => item.ApiName === field.FieldId);
191
+ const index = this._formData.Fields.findIndex((item) => item.ApiName === field.FieldId);
167
192
  if (index >= 0) {
168
193
  for (const [key, value] of Object.entries(field.Params)) {
169
- if (this._genericFormService.hasProperty(this.formData.Fields[index], key)) {
170
- const item = this.formData.Fields[index];
194
+ if (this._genericFormService.hasProperty(this._formData.Fields[index], key)) {
195
+ const item = this._formData.Fields[index];
171
196
  item[key] = value;
172
197
  }
173
198
  }
174
199
  }
175
200
  });
201
+ this._pepForm.ReloadForm();
202
+ this._pepForm.data = this._formData;
176
203
  }
177
204
  onValueChanged(event) {
178
205
  const field = {
@@ -196,8 +223,8 @@ class GenericFormComponent {
196
223
  this.formValidationChange.emit(event);
197
224
  }
198
225
  }
199
- GenericFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: GenericFormComponent, deps: [{ token: i1.PepLayoutService }, { token: PepGenericFormService }], target: i0.ɵɵFactoryTarget.Component });
200
- GenericFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: GenericFormComponent, selector: "pep-generic-form", inputs: { dataSource: "dataSource", dataView: "dataView", isLocked: "isLocked", inline: "inline", showTopBar: "showTopBar", addPadding: "addPadding" }, outputs: { valueChange: "valueChange", fieldClick: "fieldClick", formValidationChange: "formValidationChange" }, providers: [PepGenericFormService], ngImport: i0, template: "<div *ngIf=\"inline\" class=\"inline-container form-view\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div *ngIf=\"showTopBar\" class=\"inline-top-bar-container\">\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"formTemplate\"></ng-container>\n</div>\n\n<pep-page-layout *ngIf=\"!inline\" [addPadding]=\"addPadding\">\n <ng-container *ngIf=\"showTopBar\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </ng-container>\n <div pep-main-area class=\"main-area-container form-view\">\n <ng-container *ngTemplateOutlet=\"formTemplate\"></ng-container>\n </div>\n</pep-page-layout>\n\n<ng-template #topBarTemplate>\n <pep-top-bar [inline]=\"inline\"> \n <div header-start-content>\n <ng-content select=\"[left-buttons]\"></ng-content>\n </div>\n <div header-end-content>\n <ng-content select=\"[right-buttons]\"></ng-content>\n </div>\n\n <!-- <div footer-start-content>\n <ng-content select=\"[bottom-left-buttons]\"></ng-content>\n </div>\n <div footer-end-content>\n <ng-content select=\"[bottom-right-buttons]\"></ng-content>\n </div> -->\n </pep-top-bar>\n</ng-template>\n\n<ng-template #formTemplate>\n <pep-form [layoutType]=\"'form'\" [layout]=\"uiControl\" [data]=\"formData\" [isInternal]=\"false\" [lockFields]=\"isLocked\"\n (valueChange)=\"onValueChanged($event)\" (fieldClick)=\"onfieldClicked($event)\"\n (formValidationChange)=\"onFormValidationChanged($event)\">\n </pep-form>\n</ng-template>\n", styles: [":host{height:inherit;display:block}.main-area-container{display:grid;height:inherit}.inline-container{height:inherit;display:grid;grid-template-rows:auto 1fr}.inline-container.add-padding{padding-inline:var(--pep-spacing-lg, 1rem)}\n"], components: [{ type: i3.PepPageLayoutComponent, selector: "pep-page-layout", inputs: ["addPadding", "showShadow"] }, { type: i4.PepTopBarComponent, selector: "pep-top-bar", inputs: ["inline", "title"], outputs: ["footerStateChange"] }, { type: i5.PepFormComponent, selector: "pep-form", inputs: ["isInternal", "isReport", "lockEvents", "canEditObject", "isActive", "layoutType", "objectId", "parentId", "searchCode", "showTitle", "firstFieldAsLink", "checkForChanges", "data", "lockFields", "layout"], outputs: ["valueChange", "formValidationChange", "fieldClick", "internalFormFieldClick", "internalFormFieldChange"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
226
+ GenericFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: GenericFormComponent, deps: [{ token: i0.ComponentFactoryResolver }, { token: i1.PepLayoutService }, { token: PepGenericFormService }], target: i0.ɵɵFactoryTarget.Component });
227
+ GenericFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: GenericFormComponent, selector: "pep-generic-form", inputs: { dataSource: "dataSource", dataView: "dataView", isLocked: "isLocked", inline: "inline", showTopBar: "showTopBar", addPadding: "addPadding" }, outputs: { valueChange: "valueChange", fieldClick: "fieldClick", formValidationChange: "formValidationChange" }, providers: [PepGenericFormService], viewQueries: [{ propertyName: "pepListContainer", first: true, predicate: ["pepFormContainer"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div *ngIf=\"inline\" class=\"inline-container form-view\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div *ngIf=\"showTopBar\" class=\"inline-top-bar-container\">\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"formTemplate\"></ng-container>\n</div>\n\n<pep-page-layout *ngIf=\"!inline\" [addPadding]=\"addPadding\">\n <ng-container *ngIf=\"showTopBar\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </ng-container>\n <div pep-main-area class=\"main-area-container form-view\">\n <ng-container *ngTemplateOutlet=\"formTemplate\"></ng-container>\n </div>\n</pep-page-layout>\n\n<ng-template #topBarTemplate>\n <pep-top-bar [inline]=\"inline\"> \n <div header-start-content>\n <ng-content select=\"[left-buttons]\"></ng-content>\n </div>\n <div header-end-content>\n <ng-content select=\"[right-buttons]\"></ng-content>\n </div>\n\n <!-- <div footer-start-content>\n <ng-content select=\"[bottom-left-buttons]\"></ng-content>\n </div>\n <div footer-end-content>\n <ng-content select=\"[bottom-right-buttons]\"></ng-content>\n </div> -->\n </pep-top-bar>\n</ng-template>\n\n<ng-template #formTemplate>\n <ng-container #pepFormContainer></ng-container>\n</ng-template>\n", styles: [":host{height:inherit;display:block}.main-area-container{display:grid;height:inherit}.inline-container{height:inherit;display:grid;grid-template-rows:auto 1fr}.inline-container.add-padding{padding-inline:var(--pep-spacing-lg, 1rem)}\n"], components: [{ type: i3.PepPageLayoutComponent, selector: "pep-page-layout", inputs: ["addPadding", "showShadow"] }, { type: i4.PepTopBarComponent, selector: "pep-top-bar", inputs: ["inline", "title"], outputs: ["footerStateChange"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
201
228
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: GenericFormComponent, decorators: [{
202
229
  type: Component,
203
230
  args: [{
@@ -206,7 +233,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
206
233
  styleUrls: ['./generic-form.component.scss'],
207
234
  providers: [PepGenericFormService]
208
235
  }]
209
- }], ctorParameters: function () { return [{ type: i1.PepLayoutService }, { type: PepGenericFormService }]; }, propDecorators: { dataSource: [{
236
+ }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i1.PepLayoutService }, { type: PepGenericFormService }]; }, propDecorators: { pepListContainer: [{
237
+ type: ViewChild,
238
+ args: ['pepFormContainer', { read: ViewContainerRef }]
239
+ }], dataSource: [{
210
240
  type: Input
211
241
  }], dataView: [{
212
242
  type: Input
@@ -1 +1 @@
1
- {"version":3,"file":"pepperi-addons-ngx-composite-lib-generic-form.js","sources":["../../../projects/ngx-composite-lib/generic-form/generic-form.service.ts","../../../projects/ngx-composite-lib/generic-form/generic-form.component.ts","../../../projects/ngx-composite-lib/generic-form/generic-form.component.html","../../../projects/ngx-composite-lib/generic-form/generic-form.module.ts","../../../projects/ngx-composite-lib/generic-form/public-api.ts","../../../projects/ngx-composite-lib/generic-form/pepperi-addons-ngx-composite-lib-generic-form.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { ObjectsDataRowCell } from '@pepperi-addons/ngx-lib';\n\n\n@Injectable()\nexport class PepGenericFormService { \n\n constructor() {\n // \n }\n \n /**\n * checks if the object contains property\n * @param obj object\n * @param prop property name\n * @returns true if contains, false otherwise\n */\n hasProperty(obj: any, prop: string) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n }\n\n createFormField(controlField: any, value: any, optionalValues: any[]) {\n const field = new ObjectsDataRowCell();\n \n field.ApiName = controlField.ApiName;\n field.Value = value;\n field.FieldType = controlField.FieldType;\n field.Enabled = !controlField.ReadOnly;\n field.Visible = !controlField.Hidden;\n /* field.Accessory = \"\";\n field.AdditionalValue = \"\";\n field.BackgroundColor = \"\";\n field.FormattedValue = \"\";*/\n field.GroupFields = [];\n field.Highlighted = false;\n // field.NotificationInfo = \"\";\n field.OptionalValues = optionalValues;\n /* field.ReferenceObjectInternalType = \"\";\n field.ReferenceObjectSubType = \"\";\n field.ReferenceObjectType = '0';\n field.TextColor = \"\";\n field.UiPageKey = \"\";*/\n\n return field;\n }\n\n convertToUiControlField(field: any): any {\n return {\n ApiName: field.ApiName,\n FieldType: field.FieldType,\n Title: field.Title,\n ReadOnly: field.ReadOnlyField,\n Mandatory: field.MandatoryField,\n Hidden: field.Hidden,\n ColumnWidth: field.ColumnWidth,\n ColumnWidthType: 1,\n MaxFieldCharacters: field.MaxCharacters,\n MinValue: field.MinValue,\n MaxValue: field.MaxValue,\n Layout: {\n X: field.Layout.X,\n Y: field.Layout.Y,\n Width: field.Layout.Width,\n Height: field.Layout.Field_Height,\n XAlignment: field.Layout.xAlignment,\n YAlignment: field.Layout.yAlignment,\n }\n }\n }\n\n}\n","import {\n Component,\n OnInit,\n Input,\n Output,\n EventEmitter,\n} from '@angular/core';\nimport { PepLayoutService } from '@pepperi-addons/ngx-lib';\nimport {\n IPepGenericFormDataView,\n IPepGenericFormValueChange,\n IPepGenericFormFieldUpdate,\n IPepGenericFormDataSource\n} from './generic-form.model';\nimport {\n UIControl,\n ObjectsDataRow,\n ObjectsDataRowCell,\n PepGuid\n} from '@pepperi-addons/ngx-lib';\nimport { DataViewConverter } from '@pepperi-addons/data-views';\nimport { PepGenericFormService } from './generic-form.service';\n\n\n@Component({\n selector: 'pep-generic-form',\n templateUrl: './generic-form.component.html',\n styleUrls: ['./generic-form.component.scss'],\n providers: [PepGenericFormService]\n})\nexport class GenericFormComponent implements OnInit {\n private _data: any;\n @Input()\n set dataSource(val: any) {\n this._data = val;\n this.createFormFields(); \n }\n\n private _optionalValues: any[] = [];\n formData: ObjectsDataRow;\n uiControl: UIControl;\n @Input()\n set dataView(val: IPepGenericFormDataView) {\n if (val) { \n this.formData.IsEditable = !this.isLocked;\n this.formData.UID = val.UID || PepGuid.newGuid();\n const uiControlData = DataViewConverter.toUIControlData(val);\n if (uiControlData) {\n if (uiControlData?.ControlFields) {\n val.Fields?.forEach((field: any) => {\n if (field.OptionalValues?.length) {\n this._optionalValues.push({\n fieldId: field.FieldID,\n optionalValues: field.OptionalValues\n });\n }\n });\n this.uiControl.ControlFields = uiControlData.ControlFields.map((field: any) => this._genericFormService.convertToUiControlField(field));\n \n }\n this.uiControl.Columns = uiControlData.Columns;\n this.createFormFields();\n }\n } \n }\n\n @Input()\n isLocked = false; \n\n @Input()\n inline = false;\n\n @Input()\n showTopBar = false;\n\n @Input()\n addPadding = false;\n\n @Output()\n valueChange: EventEmitter<IPepGenericFormValueChange> = new EventEmitter<IPepGenericFormValueChange>();\n\n @Output()\n fieldClick: EventEmitter<IPepGenericFormValueChange> = new EventEmitter<IPepGenericFormValueChange>();\n\n @Output()\n formValidationChange: EventEmitter<boolean> = new EventEmitter<boolean>(); \n\n constructor(\n private layoutService: PepLayoutService,\n public _genericFormService: PepGenericFormService\n ) {\n this.layoutService.onResize$.pipe().subscribe((size) => {\n // \n });\n this.formData = new ObjectsDataRow(); \n this.uiControl = new UIControl();\n }\n\n ngOnInit() {\n //\n }\n\n private createFormFields() {\n if (this._data && this.uiControl?.ControlFields?.length) {\n this.formData.Fields = [];\n this.uiControl.ControlFields.forEach((item) => {\n let value = '';\n if (this._genericFormService.hasProperty(this._data, item.ApiName)) {\n value = this._data[item.ApiName];\n }\n this.formData.Fields.push(this._genericFormService.createFormField(item, value, this.getOptionalValues(item.ApiName)) as ObjectsDataRowCell);\n });\n }\n } \n\n /**\n * updates form field's value\n * @param field object containing the data of the required update\n */\n private updateFieldValue(fieldChanged: IPepGenericFormValueChange) {\n this._data[fieldChanged.apiName] = fieldChanged.value;\n }\n\n private getOptionalValues(fieldId: string) {\n const item = this._optionalValues.find((item: any) => item.fieldId === fieldId);\n return item?.optionalValues || [];\n }\n\n getData() {\n return {\n UID: this.formData.UID,\n Values: this._data\n };\n } \n\n /**\n * updates form field(s) params\n * @param fields\n */\n updateFields(fields: Array<IPepGenericFormFieldUpdate>) {\n fields.forEach((field) => {\n const index = this.formData.Fields.findIndex((item) => item.ApiName === field.FieldId);\n if (index >= 0) {\n for (const [key, value] of Object.entries(field.Params)) {\n if (this._genericFormService.hasProperty(this.formData.Fields[index], key)) {\n const item = this.formData.Fields[index] as { [k: string]: any };\n item[key] = value;\n }\n }\n }\n });\n }\n\n onValueChanged(event: any) {\n const field: IPepGenericFormValueChange = {\n uid: event.id,\n apiName: event.key,\n value: event.value\n };\n this.updateFieldValue(field);\n this.valueChange.emit(field);\n }\n\n onfieldClicked(event: any) {\n const field: IPepGenericFormValueChange = {\n uid: event.id,\n apiName: event.key,\n value: event.value\n };\n this.updateFieldValue(field);\n this.fieldClick.emit(field);\n }\n\n onFormValidationChanged(event: any) {\n this.formValidationChange.emit(event);\n }\n\n\n}\n","<div *ngIf=\"inline\" class=\"inline-container form-view\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div *ngIf=\"showTopBar\" class=\"inline-top-bar-container\">\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"formTemplate\"></ng-container>\n</div>\n\n<pep-page-layout *ngIf=\"!inline\" [addPadding]=\"addPadding\">\n <ng-container *ngIf=\"showTopBar\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </ng-container>\n <div pep-main-area class=\"main-area-container form-view\">\n <ng-container *ngTemplateOutlet=\"formTemplate\"></ng-container>\n </div>\n</pep-page-layout>\n\n<ng-template #topBarTemplate>\n <pep-top-bar [inline]=\"inline\"> \n <div header-start-content>\n <ng-content select=\"[left-buttons]\"></ng-content>\n </div>\n <div header-end-content>\n <ng-content select=\"[right-buttons]\"></ng-content>\n </div>\n\n <!-- <div footer-start-content>\n <ng-content select=\"[bottom-left-buttons]\"></ng-content>\n </div>\n <div footer-end-content>\n <ng-content select=\"[bottom-right-buttons]\"></ng-content>\n </div> -->\n </pep-top-bar>\n</ng-template>\n\n<ng-template #formTemplate>\n <pep-form [layoutType]=\"'form'\" [layout]=\"uiControl\" [data]=\"formData\" [isInternal]=\"false\" [lockFields]=\"isLocked\"\n (valueChange)=\"onValueChanged($event)\" (fieldClick)=\"onfieldClicked($event)\"\n (formValidationChange)=\"onFormValidationChanged($event)\">\n </pep-form>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n//import { MatFormFieldModule } from '@angular/material/form-field';\n//import { MaterialModule } from '@pepperi-addons/ngx-lib/';\n//import { ReactiveFormsModule } from '@angular/forms';\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { PepFormModule } from '@pepperi-addons/ngx-lib/form';\nimport { PepMenuModule } from '@pepperi-addons/ngx-lib/menu';\nimport { PepPageLayoutModule } from '@pepperi-addons/ngx-lib/page-layout';\nimport { PepTopBarModule } from '@pepperi-addons/ngx-lib/top-bar';\n//import { PepTextboxModule } from '@pepperi-addons/ngx-lib/textbox';\n//import { PepDateModule } from '@pepperi-addons/ngx-lib/date';\n\nimport { PepGenericFormService } from './generic-form.service';\n\nimport { GenericFormComponent } from './generic-form.component';\n\n@NgModule({\n declarations: [\n GenericFormComponent\n ],\n imports: [\n CommonModule, \n\n // MatFormFieldModule,\n // ReactiveFormsModule,\n\n PepNgxLibModule,\n // PepListModule,\n PepFormModule,\n PepMenuModule,\n PepPageLayoutModule,\n PepTopBarModule,\n // PepTextboxModule,\n // PepDateModule\n // PepSearchModule,\n // PepBreadCrumbsModule\n ],\n exports: [\n GenericFormComponent\n ],\n providers: [\n PepGenericFormService\n ]\n})\nexport class PepGenericFormModule { }\n","/*\n* Public API Surface of ngx-composite-lib/generic-form\n*/\nexport * from './generic-form.module';\nexport * from './generic-form.component';\nexport * from './generic-form.model';\nexport * from './generic-form.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pepperi-addons-ngx-composite-lib-generic-form.js","sources":["../../../projects/ngx-composite-lib/generic-form/generic-form.service.ts","../../../projects/ngx-composite-lib/generic-form/generic-form.component.ts","../../../projects/ngx-composite-lib/generic-form/generic-form.component.html","../../../projects/ngx-composite-lib/generic-form/generic-form.module.ts","../../../projects/ngx-composite-lib/generic-form/public-api.ts","../../../projects/ngx-composite-lib/generic-form/pepperi-addons-ngx-composite-lib-generic-form.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { ObjectsDataRowCell } from '@pepperi-addons/ngx-lib';\n\n\n@Injectable()\nexport class PepGenericFormService { \n\n constructor() {\n // \n }\n \n /**\n * checks if the object contains property\n * @param obj object\n * @param prop property name\n * @returns true if contains, false otherwise\n */\n hasProperty(obj: any, prop: string) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n }\n\n createFormField(controlField: any, value: any, optionalValues: any[]) {\n const field = new ObjectsDataRowCell();\n \n field.ApiName = controlField.ApiName;\n field.Value = value;\n field.FieldType = controlField.FieldType;\n field.Enabled = !controlField.ReadOnly;\n field.Visible = !controlField.Hidden;\n /* field.Accessory = \"\";\n field.AdditionalValue = \"\";\n field.BackgroundColor = \"\";\n field.FormattedValue = \"\";*/\n field.GroupFields = [];\n field.Highlighted = false;\n // field.NotificationInfo = \"\";\n field.OptionalValues = optionalValues;\n /* field.ReferenceObjectInternalType = \"\";\n field.ReferenceObjectSubType = \"\";\n field.ReferenceObjectType = '0';\n field.TextColor = \"\";\n field.UiPageKey = \"\";*/\n\n return field;\n }\n\n convertToUiControlField(field: any): any {\n return {\n ApiName: field.ApiName,\n FieldType: field.FieldType,\n Title: field.Title,\n ReadOnly: field.ReadOnlyField,\n Mandatory: field.MandatoryField,\n Hidden: field.Hidden,\n ColumnWidth: field.ColumnWidth,\n ColumnWidthType: 1,\n MaxFieldCharacters: field.MaxCharacters,\n MinValue: field.MinValue,\n MaxValue: field.MaxValue,\n Layout: {\n X: field.Layout.X,\n Y: field.Layout.Y,\n Width: field.Layout.Width,\n Height: field.Layout.Field_Height,\n XAlignment: field.Layout.xAlignment,\n YAlignment: field.Layout.yAlignment,\n }\n }\n }\n\n}\n","import {\n Component,\n OnInit,\n Input,\n Output,\n ViewChild,\n ViewContainerRef,\n EventEmitter,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { PepFormComponent } from '@pepperi-addons/ngx-lib/form';\nimport {\n IPepGenericFormDataView,\n IPepGenericFormValueChange,\n IPepGenericFormFieldUpdate,\n IPepGenericFormDataSource\n} from './generic-form.model';\nimport {\n UIControl,\n ObjectsDataRow,\n ObjectsDataRowCell,\n PepGuid,\n PepLayoutService\n} from '@pepperi-addons/ngx-lib';\nimport { DataViewConverter } from '@pepperi-addons/data-views';\nimport { PepGenericFormService } from './generic-form.service';\nimport { } from './'\n\n\n@Component({\n selector: 'pep-generic-form',\n templateUrl: './generic-form.component.html',\n styleUrls: ['./generic-form.component.scss'],\n providers: [PepGenericFormService]\n})\nexport class GenericFormComponent implements OnInit {\n private _pepFormContainer: ViewContainerRef | undefined;\n @ViewChild('pepFormContainer', { read: ViewContainerRef })\n set pepListContainer(val: ViewContainerRef) {\n this._pepFormContainer = val;\n }\n\n private _data: any;\n @Input()\n set dataSource(val: any) {\n this._data = val;\n }\n \n private _optionalValues: any[] = [];\n private _formData: ObjectsDataRow;\n private _uiControl: UIControl;\n @Input()\n set dataView(val: IPepGenericFormDataView) {\n this.initForm(val);\n }\n\n @Input()\n isLocked = false;\n\n @Input()\n inline = false;\n\n @Input()\n showTopBar = false;\n\n @Input()\n addPadding = false;\n\n @Output()\n valueChange: EventEmitter<IPepGenericFormValueChange> = new EventEmitter<IPepGenericFormValueChange>();\n\n @Output()\n fieldClick: EventEmitter<IPepGenericFormValueChange> = new EventEmitter<IPepGenericFormValueChange>();\n\n @Output()\n formValidationChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n private _pepForm: any;\n\n constructor(\n private _resolver: ComponentFactoryResolver,\n private layoutService: PepLayoutService,\n public _genericFormService: PepGenericFormService\n ) {\n this.layoutService.onResize$.pipe().subscribe((size) => {\n // \n });\n this._formData = new ObjectsDataRow();\n this._uiControl = new UIControl();\n }\n\n ngOnInit() {\n //\n }\n\n private initForm(dataView: IPepGenericFormDataView) {\n setTimeout(() => {\n if (this._pepFormContainer) {\n if (this._pepFormContainer.length) {\n this._pepFormContainer.remove();\n this._formData = new ObjectsDataRow();\n this._uiControl = new UIControl();\n }\n\n const factory = this._resolver.resolveComponentFactory(PepFormComponent);\n const componentRef = this._pepFormContainer.createComponent(factory);\n this._pepForm = componentRef.instance;\n\n this._formData.IsEditable = !this.isLocked;\n this._formData.UID = dataView.UID || PepGuid.newGuid();\n const uiControlData = DataViewConverter.toUIControlData(dataView);\n if (uiControlData) {\n if (uiControlData?.ControlFields) {\n dataView.Fields?.forEach((field: any) => {\n if (field.OptionalValues?.length) {\n this._optionalValues.push({\n fieldId: field.FieldID,\n optionalValues: field.OptionalValues\n });\n }\n });\n this._uiControl.ControlFields = uiControlData.ControlFields.map((field: any) => this._genericFormService.convertToUiControlField(field));\n\n }\n this._uiControl.Columns = uiControlData.Columns;\n\n if (this._uiControl.ControlFields?.length) {\n this._formData.Fields = [];\n this._uiControl.ControlFields.forEach((item) => {\n let value = '';\n if (this._genericFormService.hasProperty(this._data, item.ApiName)) {\n value = this._data[item.ApiName];\n }\n this._formData.Fields.push(this._genericFormService.createFormField(item, value, this.getOptionalValues(item.ApiName)) as ObjectsDataRowCell);\n });\n\n componentRef.instance.layoutType = 'form';\n componentRef.instance.layout = this._uiControl;\n componentRef.instance.data = this._formData;\n componentRef.instance.isInternal = false;\n componentRef.instance.lockFields = this.isLocked;\n componentRef.instance.valueChange.subscribe(($event) => {\n this.onValueChanged($event);\n });\n componentRef.instance.fieldClick.subscribe(($event) => {\n this.onfieldClicked($event);\n });\n componentRef.instance.formValidationChange.subscribe(($event) => {\n this.onFormValidationChanged($event);\n });\n }\n }\n\n }\n\n }, 0);\n }\n\n /**\n * updates form field's value\n * @param field object containing the data of the required update\n */\n private updateFieldValue(fieldChanged: IPepGenericFormValueChange) {\n this._data[fieldChanged.apiName] = fieldChanged.value;\n }\n\n private getOptionalValues(fieldId: string) {\n const item = this._optionalValues.find((item: any) => item.fieldId === fieldId);\n return item?.optionalValues || [];\n }\n\n getData() {\n return {\n UID: this._formData.UID,\n Values: this._data\n };\n }\n\n /**\n * updates form field(s) params\n * @param fields\n */\n updateFields(fields: Array<IPepGenericFormFieldUpdate>) {\n fields.forEach((field) => {\n const index = this._formData.Fields.findIndex((item) => item.ApiName === field.FieldId);\n if (index >= 0) {\n for (const [key, value] of Object.entries(field.Params)) {\n if (this._genericFormService.hasProperty(this._formData.Fields[index], key)) {\n const item = this._formData.Fields[index] as { [k: string]: any };\n item[key] = value;\n }\n }\n }\n });\n this._pepForm.ReloadForm()\n this._pepForm.data = this._formData;\n }\n\n onValueChanged(event: any) {\n const field: IPepGenericFormValueChange = {\n uid: event.id,\n apiName: event.key,\n value: event.value\n };\n this.updateFieldValue(field);\n this.valueChange.emit(field);\n }\n\n onfieldClicked(event: any) {\n const field: IPepGenericFormValueChange = {\n uid: event.id,\n apiName: event.key,\n value: event.value\n };\n this.updateFieldValue(field);\n this.fieldClick.emit(field);\n }\n\n onFormValidationChanged(event: any) {\n this.formValidationChange.emit(event);\n }\n\n\n}\n","<div *ngIf=\"inline\" class=\"inline-container form-view\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div *ngIf=\"showTopBar\" class=\"inline-top-bar-container\">\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"formTemplate\"></ng-container>\n</div>\n\n<pep-page-layout *ngIf=\"!inline\" [addPadding]=\"addPadding\">\n <ng-container *ngIf=\"showTopBar\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </ng-container>\n <div pep-main-area class=\"main-area-container form-view\">\n <ng-container *ngTemplateOutlet=\"formTemplate\"></ng-container>\n </div>\n</pep-page-layout>\n\n<ng-template #topBarTemplate>\n <pep-top-bar [inline]=\"inline\"> \n <div header-start-content>\n <ng-content select=\"[left-buttons]\"></ng-content>\n </div>\n <div header-end-content>\n <ng-content select=\"[right-buttons]\"></ng-content>\n </div>\n\n <!-- <div footer-start-content>\n <ng-content select=\"[bottom-left-buttons]\"></ng-content>\n </div>\n <div footer-end-content>\n <ng-content select=\"[bottom-right-buttons]\"></ng-content>\n </div> -->\n </pep-top-bar>\n</ng-template>\n\n<ng-template #formTemplate>\n <ng-container #pepFormContainer></ng-container>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n//import { MatFormFieldModule } from '@angular/material/form-field';\n//import { MaterialModule } from '@pepperi-addons/ngx-lib/';\n//import { ReactiveFormsModule } from '@angular/forms';\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { PepFormModule } from '@pepperi-addons/ngx-lib/form';\nimport { PepMenuModule } from '@pepperi-addons/ngx-lib/menu';\nimport { PepPageLayoutModule } from '@pepperi-addons/ngx-lib/page-layout';\nimport { PepTopBarModule } from '@pepperi-addons/ngx-lib/top-bar';\n//import { PepTextboxModule } from '@pepperi-addons/ngx-lib/textbox';\n//import { PepDateModule } from '@pepperi-addons/ngx-lib/date';\n\nimport { PepGenericFormService } from './generic-form.service';\n\nimport { GenericFormComponent } from './generic-form.component';\n\n@NgModule({\n declarations: [\n GenericFormComponent\n ],\n imports: [\n CommonModule, \n\n // MatFormFieldModule,\n // ReactiveFormsModule,\n\n PepNgxLibModule,\n // PepListModule,\n PepFormModule,\n PepMenuModule,\n PepPageLayoutModule,\n PepTopBarModule,\n // PepTextboxModule,\n // PepDateModule\n // PepSearchModule,\n // PepBreadCrumbsModule\n ],\n exports: [\n GenericFormComponent\n ],\n providers: [\n PepGenericFormService\n ]\n})\nexport class PepGenericFormModule { }\n","/*\n* Public API Surface of ngx-composite-lib/generic-form\n*/\nexport * from './generic-form.module';\nexport * from './generic-form.component';\nexport * from './generic-form.model';\nexport * from './generic-form.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,17 +1,19 @@
1
- import { OnInit, EventEmitter } from '@angular/core';
2
- import { PepLayoutService } from '@pepperi-addons/ngx-lib';
1
+ import { OnInit, ViewContainerRef, EventEmitter, ComponentFactoryResolver } from '@angular/core';
3
2
  import { IPepGenericFormDataView, IPepGenericFormValueChange, IPepGenericFormFieldUpdate } from './generic-form.model';
4
- import { UIControl, ObjectsDataRow } from '@pepperi-addons/ngx-lib';
3
+ import { PepLayoutService } from '@pepperi-addons/ngx-lib';
5
4
  import { PepGenericFormService } from './generic-form.service';
6
5
  import * as i0 from "@angular/core";
7
6
  export declare class GenericFormComponent implements OnInit {
7
+ private _resolver;
8
8
  private layoutService;
9
9
  _genericFormService: PepGenericFormService;
10
+ private _pepFormContainer;
11
+ set pepListContainer(val: ViewContainerRef);
10
12
  private _data;
11
13
  set dataSource(val: any);
12
14
  private _optionalValues;
13
- formData: ObjectsDataRow;
14
- uiControl: UIControl;
15
+ private _formData;
16
+ private _uiControl;
15
17
  set dataView(val: IPepGenericFormDataView);
16
18
  isLocked: boolean;
17
19
  inline: boolean;
@@ -20,9 +22,10 @@ export declare class GenericFormComponent implements OnInit {
20
22
  valueChange: EventEmitter<IPepGenericFormValueChange>;
21
23
  fieldClick: EventEmitter<IPepGenericFormValueChange>;
22
24
  formValidationChange: EventEmitter<boolean>;
23
- constructor(layoutService: PepLayoutService, _genericFormService: PepGenericFormService);
25
+ private _pepForm;
26
+ constructor(_resolver: ComponentFactoryResolver, layoutService: PepLayoutService, _genericFormService: PepGenericFormService);
24
27
  ngOnInit(): void;
25
- private createFormFields;
28
+ private initForm;
26
29
  /**
27
30
  * updates form field's value
28
31
  * @param field object containing the data of the required update
@@ -29,7 +29,11 @@ export interface IPepGenericFormFieldUpdate {
29
29
  Params: IPepGenericFormDataParams;
30
30
  }
31
31
  export interface IPepGenericFormDataParams {
32
+ Value?: any;
32
33
  Visible?: boolean;
33
34
  Enabled?: boolean;
35
+ BackgroundColor?: string;
36
+ TextColor?: string;
37
+ Highlighted?: boolean;
34
38
  OptionalValues?: [];
35
39
  }
@@ -0,0 +1 @@
1
+ export * from './public-api';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pepperi-addons/ngx-composite-lib",
3
- "version": "0.0.16-beta.4",
3
+ "version": "0.0.16-beta.5",
4
4
  "peerDependencies": {
5
5
  "@angular/animations": ">= 12.0.0",
6
6
  "@angular/cdk": ">= 12.0.0",