@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.
- package/bundles/pepperi-addons-ngx-composite-lib-generic-form.umd.js +83 -50
- package/bundles/pepperi-addons-ngx-composite-lib-generic-form.umd.js.map +1 -1
- package/esm2015/generic-form/generic-form.component.js +79 -48
- package/esm2015/generic-form/generic-form.model.js +1 -1
- package/esm2015/generic-form/index.js +5 -0
- package/fesm2015/pepperi-addons-ngx-composite-lib-generic-form.js +78 -48
- package/fesm2015/pepperi-addons-ngx-composite-lib-generic-form.js.map +1 -1
- package/generic-form/generic-form.component.d.ts +10 -7
- package/generic-form/generic-form.model.d.ts +4 -0
- package/generic-form/index.d.ts +1 -0
- package/package.json +1 -1
|
@@ -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,
|
|
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.
|
|
432
|
-
this.
|
|
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
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
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 =
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
519
|
-
var item = _this.
|
|
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 <
|
|
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: {
|
|
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: [
|
|
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
|
-
|
|
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
|
-
|
|
638
|
+
i5.CommonModule,
|
|
606
639
|
// MatFormFieldModule,
|
|
607
640
|
// ReactiveFormsModule,
|
|
608
641
|
i1.PepNgxLibModule,
|
|
609
642
|
// PepListModule,
|
|
610
|
-
|
|
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
|
-
|
|
659
|
+
i5.CommonModule,
|
|
627
660
|
// MatFormFieldModule,
|
|
628
661
|
// ReactiveFormsModule,
|
|
629
662
|
i1.PepNgxLibModule,
|
|
630
663
|
// PepListModule,
|
|
631
|
-
|
|
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 "@
|
|
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.
|
|
28
|
-
this.
|
|
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
|
-
|
|
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
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
this.
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
101
|
-
const item = this.
|
|
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 <
|
|
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: {
|
|
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/
|
|
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
|
|
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
|
|
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.
|
|
97
|
-
this.
|
|
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
|
-
|
|
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
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
this.
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
170
|
-
const item = this.
|
|
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 <
|
|
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: {
|
|
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 {
|
|
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
|
-
|
|
14
|
-
|
|
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
|
-
|
|
25
|
+
private _pepForm;
|
|
26
|
+
constructor(_resolver: ComponentFactoryResolver, layoutService: PepLayoutService, _genericFormService: PepGenericFormService);
|
|
24
27
|
ngOnInit(): void;
|
|
25
|
-
private
|
|
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';
|