@micropermit/client-angular 0.4.4 → 0.4.5-alpha2

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.
Files changed (55) hide show
  1. package/{fesm2015/micropermit-client-angular.js → fesm2022/micropermit-client-angular.mjs} +354 -1513
  2. package/fesm2022/micropermit-client-angular.mjs.map +1 -0
  3. package/{micropermit-client-angular.d.ts → index.d.ts} +1 -0
  4. package/lib/components/errorindicator.component.d.ts +3 -0
  5. package/lib/components/loadingindicator.component.d.ts +3 -0
  6. package/lib/directives/call-link.directive.d.ts +3 -0
  7. package/lib/directives/linkfield.directive.d.ts +7 -4
  8. package/lib/directives/micro-link-validate.directive.d.ts +3 -0
  9. package/lib/link-field-paging-support.d.ts +1 -1
  10. package/lib/microclient.module.d.ts +10 -0
  11. package/lib/microclient.service.d.ts +3 -0
  12. package/lib/pipes/linkfield.pipe.d.ts +3 -0
  13. package/package.json +14 -12
  14. package/bundles/micropermit-client-angular.umd.js +0 -3315
  15. package/bundles/micropermit-client-angular.umd.js.map +0 -1
  16. package/bundles/micropermit-client-angular.umd.min.js +0 -16
  17. package/bundles/micropermit-client-angular.umd.min.js.map +0 -1
  18. package/esm2015/lib/components/errorindicator.component.js +0 -53
  19. package/esm2015/lib/components/loadingindicator.component.js +0 -49
  20. package/esm2015/lib/directives/call-link.directive.js +0 -110
  21. package/esm2015/lib/directives/linkfield.directive.js +0 -363
  22. package/esm2015/lib/directives/micro-link-validate.directive.js +0 -141
  23. package/esm2015/lib/error/microerror.js +0 -27
  24. package/esm2015/lib/link-field-paging-support.js +0 -318
  25. package/esm2015/lib/links/callablelink.js +0 -265
  26. package/esm2015/lib/links/linkfield.js +0 -289
  27. package/esm2015/lib/links/mock-linkfield.js +0 -42
  28. package/esm2015/lib/microclient.module.js +0 -54
  29. package/esm2015/lib/microclient.service.js +0 -515
  30. package/esm2015/lib/microobject.js +0 -222
  31. package/esm2015/lib/paramutils.js +0 -176
  32. package/esm2015/lib/pipes/linkfield.pipe.js +0 -53
  33. package/esm2015/micropermit-client-angular.js +0 -9
  34. package/esm2015/public_api.js +0 -23
  35. package/esm5/lib/components/errorindicator.component.js +0 -36
  36. package/esm5/lib/components/loadingindicator.component.js +0 -19
  37. package/esm5/lib/directives/call-link.directive.js +0 -112
  38. package/esm5/lib/directives/linkfield.directive.js +0 -420
  39. package/esm5/lib/directives/micro-link-validate.directive.js +0 -152
  40. package/esm5/lib/error/microerror.js +0 -31
  41. package/esm5/lib/link-field-paging-support.js +0 -387
  42. package/esm5/lib/links/callablelink.js +0 -336
  43. package/esm5/lib/links/linkfield.js +0 -369
  44. package/esm5/lib/links/mock-linkfield.js +0 -56
  45. package/esm5/lib/microclient.module.js +0 -61
  46. package/esm5/lib/microclient.service.js +0 -616
  47. package/esm5/lib/microobject.js +0 -296
  48. package/esm5/lib/paramutils.js +0 -228
  49. package/esm5/lib/pipes/linkfield.pipe.js +0 -60
  50. package/esm5/micropermit-client-angular.js +0 -9
  51. package/esm5/public_api.js +0 -23
  52. package/fesm2015/micropermit-client-angular.js.map +0 -1
  53. package/fesm5/micropermit-client-angular.js +0 -3116
  54. package/fesm5/micropermit-client-angular.js.map +0 -1
  55. package/micropermit-client-angular.metadata.json +0 -1
@@ -1,112 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';
6
- import { CallableLink } from '../links/callablelink';
7
- var CallLinkDirective = /** @class */ (function () {
8
- function CallLinkDirective() {
9
- this.callStatusChange = new EventEmitter();
10
- this.callSucess = new EventEmitter();
11
- this.callFinish = new EventEmitter();
12
- this.callError = new EventEmitter();
13
- this.callStart = new EventEmitter();
14
- }
15
- /**
16
- * @return {?}
17
- */
18
- CallLinkDirective.prototype.onClick = /**
19
- * @return {?}
20
- */
21
- function () {
22
- var _this = this;
23
- this.callLink.callWithObs(this.callParameters, this.callOptions).subscribe((/**
24
- * @param {?} response
25
- * @return {?}
26
- */
27
- function (response) {
28
- _this.callSucess.emit(response);
29
- _this.callStatusChange.emit(new CallStatus(_this.callLink, CallState.SUCCESS, response, null));
30
- }), (/**
31
- * @param {?} error
32
- * @return {?}
33
- */
34
- function (error) {
35
- _this.callError.emit(error);
36
- _this.callStatusChange.emit(new CallStatus(_this.callLink, CallState.ERROR, null, error));
37
- }), (/**
38
- * @return {?}
39
- */
40
- function () {
41
- _this.callFinish.emit();
42
- }));
43
- this.callStatusChange.emit(new CallStatus(this.callLink, CallState.CALLING, null, null));
44
- };
45
- CallLinkDirective.decorators = [
46
- { type: Directive, args: [{
47
- selector: '[callLink]'
48
- },] }
49
- ];
50
- CallLinkDirective.propDecorators = {
51
- callLink: [{ type: Input }],
52
- callStatusChange: [{ type: Output }],
53
- callSucess: [{ type: Output }],
54
- callFinish: [{ type: Output }],
55
- callError: [{ type: Output }],
56
- callStart: [{ type: Output }],
57
- callOptions: [{ type: Input }],
58
- callParameters: [{ type: Input }],
59
- onClick: [{ type: HostListener, args: ['click',] }]
60
- };
61
- return CallLinkDirective;
62
- }());
63
- export { CallLinkDirective };
64
- if (false) {
65
- /** @type {?} */
66
- CallLinkDirective.prototype.callLink;
67
- /** @type {?} */
68
- CallLinkDirective.prototype.callStatusChange;
69
- /** @type {?} */
70
- CallLinkDirective.prototype.callSucess;
71
- /** @type {?} */
72
- CallLinkDirective.prototype.callFinish;
73
- /** @type {?} */
74
- CallLinkDirective.prototype.callError;
75
- /** @type {?} */
76
- CallLinkDirective.prototype.callStart;
77
- /** @type {?} */
78
- CallLinkDirective.prototype.callOptions;
79
- /** @type {?} */
80
- CallLinkDirective.prototype.callParameters;
81
- }
82
- var CallStatus = /** @class */ (function () {
83
- function CallStatus(link, state, response, error) {
84
- this.link = link;
85
- this.state = state;
86
- this.response = response;
87
- this.error = error;
88
- }
89
- return CallStatus;
90
- }());
91
- export { CallStatus };
92
- if (false) {
93
- /** @type {?} */
94
- CallStatus.prototype.link;
95
- /** @type {?} */
96
- CallStatus.prototype.state;
97
- /** @type {?} */
98
- CallStatus.prototype.response;
99
- /** @type {?} */
100
- CallStatus.prototype.error;
101
- }
102
- /** @enum {number} */
103
- var CallState = {
104
- CALLING: 0,
105
- SUCCESS: 1,
106
- ERROR: 2,
107
- };
108
- export { CallState };
109
- CallState[CallState.CALLING] = 'CALLING';
110
- CallState[CallState.SUCCESS] = 'SUCCESS';
111
- CallState[CallState.ERROR] = 'ERROR';
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsbC1saW5rLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtaWNyb3Blcm1pdC9jbGllbnQtYW5ndWxhci8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL2NhbGwtbGluay5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFHSCxTQUFTLEVBQ1QsWUFBWSxFQUFFLFlBQVksRUFDMUIsS0FBSyxFQUNMLE1BQU0sRUFHVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFHbkQ7SUFBQTtRQVFJLHFCQUFnQixHQUE2QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBR2hFLGVBQVUsR0FBOEMsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUczRSxlQUFVLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7UUFHcEQsY0FBUyxHQUE2QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBR3pELGNBQVMsR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQXFCdkQsQ0FBQzs7OztJQVpHLG1DQUFPOzs7SUFEUDtRQUFBLGlCQVlDO1FBVkcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsU0FBUzs7OztRQUFDLFVBQUMsUUFBUTtZQUNoRixLQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMvQixLQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksVUFBVSxDQUFDLEtBQUksQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNqRyxDQUFDOzs7O1FBQUUsVUFBQyxLQUFLO1lBQ0wsS0FBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDM0IsS0FBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLFVBQVUsQ0FBQyxLQUFJLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDNUYsQ0FBQzs7O1FBQUU7WUFDQyxLQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzNCLENBQUMsRUFBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDN0YsQ0FBQzs7Z0JBeENKLFNBQVMsU0FBQztvQkFDUCxRQUFRLEVBQUUsWUFBWTtpQkFDekI7OzsyQkFFSSxLQUFLO21DQUdMLE1BQU07NkJBR04sTUFBTTs2QkFHTixNQUFNOzRCQUdOLE1BQU07NEJBR04sTUFBTTs4QkFHTixLQUFLO2lDQUdMLEtBQUs7MEJBR0wsWUFBWSxTQUFDLE9BQU87O0lBYXpCLHdCQUFDO0NBQUEsQUF6Q0QsSUF5Q0M7U0F0Q1ksaUJBQWlCOzs7SUFDMUIscUNBQ29EOztJQUVwRCw2Q0FDZ0U7O0lBRWhFLHVDQUMyRTs7SUFFM0UsdUNBQ29EOztJQUVwRCxzQ0FDeUQ7O0lBRXpELHNDQUNtRDs7SUFFbkQsd0NBQ29COztJQUVwQiwyQ0FDdUI7O0FBaUIzQjtJQUNJLG9CQUNXLElBQStDLEVBQy9DLEtBQWdCLEVBQ2hCLFFBQXFDLEVBQ3JDLEtBQWlCO1FBSGpCLFNBQUksR0FBSixJQUFJLENBQTJDO1FBQy9DLFVBQUssR0FBTCxLQUFLLENBQVc7UUFDaEIsYUFBUSxHQUFSLFFBQVEsQ0FBNkI7UUFDckMsVUFBSyxHQUFMLEtBQUssQ0FBWTtJQUU1QixDQUFDO0lBQ0wsaUJBQUM7QUFBRCxDQUFDLEFBUkQsSUFRQzs7OztJQU5PLDBCQUFzRDs7SUFDdEQsMkJBQXVCOztJQUN2Qiw4QkFBNEM7O0lBQzVDLDJCQUF3Qjs7OztJQU01QixVQUFPO0lBQ1AsVUFBTztJQUNQLFFBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudEZhY3RvcnksXG4gICAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRW1iZWRkZWRWaWV3UmVmLFxuICAgIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCxcbiAgICBPdXRwdXQsIFJlbmRlcmVyMixcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNaWNyb09iamVjdH0gZnJvbSAnLi4vbWljcm9vYmplY3QnO1xuaW1wb3J0IHtDYWxsYWJsZUxpbmt9IGZyb20gJy4uL2xpbmtzL2NhbGxhYmxlbGluayc7XG5pbXBvcnQge01pY3JvRXJyb3J9IGZyb20gJy4uL2Vycm9yL21pY3JvZXJyb3InO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tjYWxsTGlua10nXG59KVxuZXhwb3J0IGNsYXNzIENhbGxMaW5rRGlyZWN0aXZlIHtcbiAgICBASW5wdXQoKVxuICAgIGNhbGxMaW5rOiBDYWxsYWJsZUxpbms8TWljcm9PYmplY3QgfCBNaWNyb09iamVjdFtdPjtcblxuICAgIEBPdXRwdXQoKVxuICAgIGNhbGxTdGF0dXNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDYWxsU3RhdHVzPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIGNhbGxTdWNlc3M6IEV2ZW50RW1pdHRlcjxNaWNyb09iamVjdCB8IE1pY3JvT2JqZWN0W10+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgY2FsbEZpbmlzaDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgY2FsbEVycm9yOiBFdmVudEVtaXR0ZXI8TWljcm9FcnJvcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBjYWxsU3RhcnQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBJbnB1dCgpXG4gICAgY2FsbE9wdGlvbnM6IG9iamVjdDtcblxuICAgIEBJbnB1dCgpXG4gICAgY2FsbFBhcmFtZXRlcnM6IG9iamVjdDtcblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgICBvbkNsaWNrKCkge1xuICAgICAgICB0aGlzLmNhbGxMaW5rLmNhbGxXaXRoT2JzKHRoaXMuY2FsbFBhcmFtZXRlcnMsIHRoaXMuY2FsbE9wdGlvbnMpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2FsbFN1Y2Vzcy5lbWl0KHJlc3BvbnNlKTtcbiAgICAgICAgICAgIHRoaXMuY2FsbFN0YXR1c0NoYW5nZS5lbWl0KG5ldyBDYWxsU3RhdHVzKHRoaXMuY2FsbExpbmssIENhbGxTdGF0ZS5TVUNDRVNTLCByZXNwb25zZSwgbnVsbCkpO1xuICAgICAgICB9LCAoZXJyb3IpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2FsbEVycm9yLmVtaXQoZXJyb3IpO1xuICAgICAgICAgICAgdGhpcy5jYWxsU3RhdHVzQ2hhbmdlLmVtaXQobmV3IENhbGxTdGF0dXModGhpcy5jYWxsTGluaywgQ2FsbFN0YXRlLkVSUk9SLCBudWxsLCBlcnJvcikpO1xuICAgICAgICB9LCAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNhbGxGaW5pc2guZW1pdCgpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jYWxsU3RhdHVzQ2hhbmdlLmVtaXQobmV3IENhbGxTdGF0dXModGhpcy5jYWxsTGluaywgQ2FsbFN0YXRlLkNBTExJTkcsIG51bGwsIG51bGwpKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDYWxsU3RhdHVzIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGxpbms6IENhbGxhYmxlTGluazxNaWNyb09iamVjdCB8IE1pY3JvT2JqZWN0W10+LFxuICAgICAgICBwdWJsaWMgc3RhdGU6IENhbGxTdGF0ZSxcbiAgICAgICAgcHVibGljIHJlc3BvbnNlOiBNaWNyb09iamVjdCB8IE1pY3JvT2JqZWN0W10sXG4gICAgICAgIHB1YmxpYyBlcnJvcjogTWljcm9FcnJvclxuICAgICkge1xuICAgIH1cbn1cblxuZXhwb3J0IGVudW0gQ2FsbFN0YXRlIHtcbiAgICBDQUxMSU5HLFxuICAgIFNVQ0NFU1MsXG4gICAgRVJST1Jcbn1cbiJdfQ==
@@ -1,420 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { Directive, Input, TemplateRef, ViewContainerRef, ComponentFactoryResolver, ChangeDetectorRef } from '@angular/core';
6
- import { LinkField } from '../links/linkfield';
7
- import { MicroClientLoadingIndicatorComponent } from '../components/loadingindicator.component';
8
- import { MicroClientErrorIndicatorComponent } from '../components/errorindicator.component';
9
- import { finalize } from 'rxjs/operators';
10
- /**
11
- * @template T
12
- */
13
- var LinkFieldDirective = /** @class */ (function () {
14
- function LinkFieldDirective(_viewContainer, _template, componentResolver, changeDetectorRef) {
15
- this._viewContainer = _viewContainer;
16
- this._template = _template;
17
- this.componentResolver = componentResolver;
18
- this.changeDetectorRef = changeDetectorRef;
19
- this.isDirty = true;
20
- this.isLoading = false;
21
- this.loadedResult = null;
22
- this.hasResult = false;
23
- this.subscription = null;
24
- this.linkFieldDefaultErrorHandling = false;
25
- this.linkFieldParams = null;
26
- this._defaultLoadingComponent = componentResolver.resolveComponentFactory(MicroClientLoadingIndicatorComponent);
27
- this._defaultErrorComponent = componentResolver.resolveComponentFactory(MicroClientErrorIndicatorComponent);
28
- }
29
- Object.defineProperty(LinkFieldDirective.prototype, "linkFieldFrom", {
30
- set: /**
31
- * @param {?} from
32
- * @return {?}
33
- */
34
- function (from) {
35
- this._from = from;
36
- },
37
- enumerable: true,
38
- configurable: true
39
- });
40
- Object.defineProperty(LinkFieldDirective.prototype, "linkFieldLoadingTemplate", {
41
- set: /**
42
- * @param {?} loadingTemplate
43
- * @return {?}
44
- */
45
- function (loadingTemplate) {
46
- if (loadingTemplate) {
47
- this._loadingTemplate = loadingTemplate;
48
- }
49
- this.updateIfDirty(true);
50
- },
51
- enumerable: true,
52
- configurable: true
53
- });
54
- Object.defineProperty(LinkFieldDirective.prototype, "linkFieldErrorTemplate", {
55
- set: /**
56
- * @param {?} errorTemplate
57
- * @return {?}
58
- */
59
- function (errorTemplate) {
60
- if (errorTemplate) {
61
- this._errorTemplate = errorTemplate;
62
- }
63
- this.updateIfDirty(true);
64
- },
65
- enumerable: true,
66
- configurable: true
67
- });
68
- Object.defineProperty(LinkFieldDirective.prototype, "linkFieldTemplate", {
69
- set: /**
70
- * @param {?} value
71
- * @return {?}
72
- */
73
- function (value) {
74
- if (value) {
75
- this._template = value;
76
- }
77
- },
78
- enumerable: true,
79
- configurable: true
80
- });
81
- /**
82
- * @private
83
- * @return {?}
84
- */
85
- LinkFieldDirective.prototype.load = /**
86
- * @private
87
- * @return {?}
88
- */
89
- function () {
90
- var _this = this;
91
- if (this._from) {
92
- if (this._from instanceof LinkField) {
93
- this.setLoading(true);
94
- this.lastObs = this._from.listenObs();
95
- if (this.subscription) {
96
- this.subscription.unsubscribe();
97
- }
98
- this.subscription = this.lastObs.pipe(finalize((/**
99
- * @return {?}
100
- */
101
- function () {
102
- _this.setLoading(false);
103
- }))).subscribe((/**
104
- * @param {?} loadedResult
105
- * @return {?}
106
- */
107
- function (loadedResult) {
108
- _this.setLoadedResult(loadedResult);
109
- if (_this.linkFieldValueChange) {
110
- _this.linkFieldValueChange(loadedResult);
111
- }
112
- }), (/**
113
- * @param {?} loadError
114
- * @return {?}
115
- */
116
- function (loadError) {
117
- if (!_this.linkFieldDefaultErrorHandling) {
118
- loadError.preventDefault();
119
- }
120
- _this.setError(loadError);
121
- }));
122
- }
123
- else {
124
- this.setLoadedResult(this._from);
125
- // this.setLoadedResult(this._from);
126
- // throw new Error('Can\'t use the linkField directive with a from value which isn\'t an instance of LinkField');
127
- }
128
- }
129
- };
130
- /**
131
- * @return {?}
132
- */
133
- LinkFieldDirective.prototype.ngDoCheck = /**
134
- * @return {?}
135
- */
136
- function () {
137
- this.updateIfDirty();
138
- };
139
- /**
140
- * @return {?}
141
- */
142
- LinkFieldDirective.prototype.ngOnDestroy = /**
143
- * @return {?}
144
- */
145
- function () {
146
- this.clear();
147
- };
148
- /**
149
- * @param {?} changes
150
- * @return {?}
151
- */
152
- LinkFieldDirective.prototype.ngOnChanges = /**
153
- * @param {?} changes
154
- * @return {?}
155
- */
156
- function (changes) {
157
- if (changes.linkFieldFrom) {
158
- if (!(this._from instanceof LinkField)) {
159
- this._from = LinkField.from((/** @type {?} */ (this._from)));
160
- }
161
- if (changes.linkFieldFrom.previousValue !== changes.linkFieldFrom.currentValue) {
162
- this.clear();
163
- this.load();
164
- }
165
- }
166
- if (changes.linkFieldParams && this.linkFieldParams) {
167
- /** @type {?} */
168
- var link = (/** @type {?} */ (this._from));
169
- this._from = link.withCallParams(this.linkFieldParams);
170
- }
171
- };
172
- /**
173
- * @private
174
- * @param {?} error
175
- * @return {?}
176
- */
177
- LinkFieldDirective.prototype.setError = /**
178
- * @private
179
- * @param {?} error
180
- * @return {?}
181
- */
182
- function (error) {
183
- this._viewContainer.remove();
184
- if (this._errorTemplate) {
185
- this._viewContainer.createEmbeddedView(this._errorTemplate, {
186
- $implicit: error
187
- });
188
- }
189
- else {
190
- /** @type {?} */
191
- var errorComponentInstance = this._viewContainer.createComponent(this._defaultErrorComponent);
192
- errorComponentInstance.instance['error'] = error;
193
- }
194
- };
195
- /**
196
- * @private
197
- * @param {?} loading
198
- * @return {?}
199
- */
200
- LinkFieldDirective.prototype.setLoading = /**
201
- * @private
202
- * @param {?} loading
203
- * @return {?}
204
- */
205
- function (loading) {
206
- this.isLoading = loading;
207
- if (this.isLoading) {
208
- if (this._loadingTemplate) {
209
- this._viewContainer.remove();
210
- this._viewContainer.createEmbeddedView(this._loadingTemplate);
211
- }
212
- else {
213
- this._viewContainer.remove();
214
- this._viewContainer.createComponent(this._defaultLoadingComponent);
215
- }
216
- }
217
- };
218
- /**
219
- * @private
220
- * @param {?} result
221
- * @return {?}
222
- */
223
- LinkFieldDirective.prototype.setLoadedResult = /**
224
- * @private
225
- * @param {?} result
226
- * @return {?}
227
- */
228
- function (result) {
229
- this.hasResult = true;
230
- this.loadedResult = result;
231
- if (this.currentContext == null) {
232
- this.currentContext = new LinkFieldContext(result);
233
- this.isDirty = true;
234
- }
235
- else {
236
- this.currentContext.$implicit = result;
237
- this.changeDetectorRef.markForCheck();
238
- }
239
- if (!this._viewContainer || !this._template) {
240
- this.isDirty = true;
241
- }
242
- else {
243
- if (this.isDirty) {
244
- this._viewContainer.remove();
245
- this._viewContainer.createEmbeddedView(this._template, this.currentContext);
246
- this.isDirty = false;
247
- }
248
- }
249
- };
250
- /**
251
- * @private
252
- * @param {?=} ignoreDirty
253
- * @return {?}
254
- */
255
- LinkFieldDirective.prototype.updateIfDirty = /**
256
- * @private
257
- * @param {?=} ignoreDirty
258
- * @return {?}
259
- */
260
- function (ignoreDirty) {
261
- if (ignoreDirty === void 0) { ignoreDirty = false; }
262
- if ((this.isDirty || ignoreDirty) && this._loadingTemplate && this._from && this._template && this._viewContainer) {
263
- if (this.hasResult) {
264
- this.setLoadedResult(this.loadedResult);
265
- }
266
- this.isDirty = false;
267
- }
268
- };
269
- /**
270
- * @private
271
- * @return {?}
272
- */
273
- LinkFieldDirective.prototype.clear = /**
274
- * @private
275
- * @return {?}
276
- */
277
- function () {
278
- this.hasResult = false;
279
- this.loadedResult = null;
280
- this.isDirty = false;
281
- if (this.subscription) {
282
- this.subscription.unsubscribe();
283
- this.subscription = null;
284
- }
285
- this.lastObs = null;
286
- this.currentContext = null;
287
- };
288
- LinkFieldDirective.decorators = [
289
- { type: Directive, args: [{
290
- selector: '[linkField][linkFieldFrom]'
291
- },] }
292
- ];
293
- /** @nocollapse */
294
- LinkFieldDirective.ctorParameters = function () { return [
295
- { type: ViewContainerRef },
296
- { type: TemplateRef },
297
- { type: ComponentFactoryResolver },
298
- { type: ChangeDetectorRef }
299
- ]; };
300
- LinkFieldDirective.propDecorators = {
301
- linkFieldFrom: [{ type: Input }],
302
- linkFieldLoadingTemplate: [{ type: Input }],
303
- linkFieldErrorTemplate: [{ type: Input }],
304
- linkFieldTemplate: [{ type: Input }],
305
- linkFieldDefaultErrorHandling: [{ type: Input }],
306
- linkFieldValueChange: [{ type: Input }],
307
- linkFieldParams: [{ type: Input }]
308
- };
309
- return LinkFieldDirective;
310
- }());
311
- export { LinkFieldDirective };
312
- if (false) {
313
- /**
314
- * @type {?}
315
- * @private
316
- */
317
- LinkFieldDirective.prototype._from;
318
- /**
319
- * @type {?}
320
- * @private
321
- */
322
- LinkFieldDirective.prototype._loadingTemplate;
323
- /**
324
- * @type {?}
325
- * @private
326
- */
327
- LinkFieldDirective.prototype._errorTemplate;
328
- /**
329
- * @type {?}
330
- * @private
331
- */
332
- LinkFieldDirective.prototype._defaultLoadingComponent;
333
- /**
334
- * @type {?}
335
- * @private
336
- */
337
- LinkFieldDirective.prototype._defaultErrorComponent;
338
- /**
339
- * @type {?}
340
- * @private
341
- */
342
- LinkFieldDirective.prototype.isDirty;
343
- /**
344
- * @type {?}
345
- * @private
346
- */
347
- LinkFieldDirective.prototype.isLoading;
348
- /**
349
- * @type {?}
350
- * @private
351
- */
352
- LinkFieldDirective.prototype.loadedResult;
353
- /**
354
- * @type {?}
355
- * @private
356
- */
357
- LinkFieldDirective.prototype.hasResult;
358
- /**
359
- * @type {?}
360
- * @private
361
- */
362
- LinkFieldDirective.prototype.lastObs;
363
- /**
364
- * @type {?}
365
- * @private
366
- */
367
- LinkFieldDirective.prototype.subscription;
368
- /**
369
- * @type {?}
370
- * @private
371
- */
372
- LinkFieldDirective.prototype.currentContext;
373
- /** @type {?} */
374
- LinkFieldDirective.prototype.linkFieldDefaultErrorHandling;
375
- /** @type {?} */
376
- LinkFieldDirective.prototype.linkFieldValueChange;
377
- /** @type {?} */
378
- LinkFieldDirective.prototype.linkFieldParams;
379
- /**
380
- * @type {?}
381
- * @private
382
- */
383
- LinkFieldDirective.prototype._viewContainer;
384
- /**
385
- * @type {?}
386
- * @private
387
- */
388
- LinkFieldDirective.prototype._template;
389
- /**
390
- * @type {?}
391
- * @private
392
- */
393
- LinkFieldDirective.prototype.componentResolver;
394
- /**
395
- * @type {?}
396
- * @private
397
- */
398
- LinkFieldDirective.prototype.changeDetectorRef;
399
- }
400
- /**
401
- * @template T
402
- */
403
- var /**
404
- * @template T
405
- */
406
- LinkFieldContext = /** @class */ (function () {
407
- function LinkFieldContext($implicit) {
408
- this.$implicit = $implicit;
409
- }
410
- return LinkFieldContext;
411
- }());
412
- /**
413
- * @template T
414
- */
415
- export { LinkFieldContext };
416
- if (false) {
417
- /** @type {?} */
418
- LinkFieldContext.prototype.$implicit;
419
- }
420
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2ZpZWxkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtaWNyb3Blcm1pdC9jbGllbnQtYW5ndWxhci8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL2xpbmtmaWVsZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFdBQVcsRUFDWCxnQkFBZ0IsRUFDaEIsd0JBQXdCLEVBR2IsaUJBQWlCLEVBQy9CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUc3QyxPQUFPLEVBQUMsb0NBQW9DLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUM5RixPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFHeEM7SUFvQkksNEJBQ1ksY0FBZ0MsRUFDaEMsU0FBMkMsRUFDM0MsaUJBQTJDLEVBQzNDLGlCQUFvQztRQUhwQyxtQkFBYyxHQUFkLGNBQWMsQ0FBa0I7UUFDaEMsY0FBUyxHQUFULFNBQVMsQ0FBa0M7UUFDM0Msc0JBQWlCLEdBQWpCLGlCQUFpQixDQUEwQjtRQUMzQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBZHhDLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDZixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGlCQUFZLEdBQU0sSUFBSSxDQUFDO1FBQ3ZCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFHbEIsaUJBQVksR0FBaUIsSUFBSSxDQUFDO1FBMkMxQyxrQ0FBNkIsR0FBRyxLQUFLLENBQUM7UUFNdEMsb0JBQWUsR0FBVyxJQUFJLENBQUM7UUF2QzNCLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1FBQ2hILElBQUks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QUN6RixvREFBcUY7Ozs7O0lBRXJGLHFDQUF1Qjs7Ozs7SUFDdkIsdUNBQTBCOzs7OztJQUMxQiwwQ0FBK0I7Ozs7O0lBQy9CLHVDQUEwQjs7Ozs7SUFFMUIscUNBQStCOzs7OztJQUMvQiwwQ0FBMEM7Ozs7O0lBRTFDLDRDQUE0Qzs7SUF3QzVDLDJEQUNzQzs7SUFFdEMsa0RBQ2tDOztJQUVsQyw2Q0FDK0I7Ozs7O0lBNUMzQiw0Q0FBd0M7Ozs7O0lBQ3hDLHVDQUFtRDs7Ozs7SUFDbkQsK0NBQW1EOzs7OztJQUNuRCwrQ0FBNEM7Ozs7O0FBeUtwRDs7OztJQUVJLDBCQUFtQixTQUFZO1FBQVosY0FBUyxHQUFULFNBQVMsQ0FBRztJQUMvQixDQUFDO0lBQ0wsdUJBQUM7QUFBRCxDQUFDLEFBSkQsSUFJQzs7Ozs7OztJQUZlLHFDQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgRGlyZWN0aXZlLFxuICAgIElucHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG4gICAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIENvbXBvbmVudEZhY3RvcnksXG4gICAgRG9DaGVjayxcbiAgICBPbkRlc3Ryb3ksIENoYW5nZURldGVjdG9yUmVmLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMaW5rRmllbGR9IGZyb20gJy4uL2xpbmtzL2xpbmtmaWVsZCc7XG5pbXBvcnQge01pY3JvT2JqZWN0fSBmcm9tICcuLi9taWNyb29iamVjdCc7XG5pbXBvcnQge09ic2VydmFibGUsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge01pY3JvQ2xpZW50TG9hZGluZ0luZGljYXRvckNvbXBvbmVudH0gZnJvbSAnLi4vY29tcG9uZW50cy9sb2FkaW5naW5kaWNhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQge01pY3JvQ2xpZW50RXJyb3JJbmRpY2F0b3JDb21wb25lbnR9IGZyb20gJy4uL2NvbXBvbmVudHMvZXJyb3JpbmRpY2F0b3IuY29tcG9uZW50JztcbmltcG9ydCB7ZmluYWxpemV9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7TWljcm9DbGllbnRMb2FkRXJyb3J9IGZyb20gJy4uL21pY3JvY2xpZW50LnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tsaW5rRmllbGRdW2xpbmtGaWVsZEZyb21dJ1xufSlcbmV4cG9ydCBjbGFzcyBMaW5rRmllbGREaXJlY3RpdmU8VD4gaW1wbGVtZW50cyBEb0NoZWNrLCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG4gICAgcHJpdmF0ZSBfZnJvbTogTGlua0ZpZWxkPFQ+IHwgVDtcbiAgICBwcml2YXRlIF9sb2FkaW5nVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgcHJpdmF0ZSBfZXJyb3JUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBwcml2YXRlIF9kZWZhdWx0TG9hZGluZ0NvbXBvbmVudDogQ29tcG9uZW50RmFjdG9yeTxNaWNyb0NsaWVudExvYWRpbmdJbmRpY2F0b3JDb21wb25lbnQ+O1xuICAgIHByaXZhdGUgX2RlZmF1bHRFcnJvckNvbXBvbmVudDogQ29tcG9uZW50RmFjdG9yeTxNaWNyb0NsaWVudEVycm9ySW5kaWNhdG9yQ29tcG9uZW50PjtcblxuICAgIHByaXZhdGUgaXNEaXJ0eSA9IHRydWU7XG4gICAgcHJpdmF0ZSBpc0xvYWRpbmcgPSBmYWxzZTtcbiAgICBwcml2YXRlIGxvYWRlZFJlc3VsdDogVCA9IG51bGw7XG4gICAgcHJpdmF0ZSBoYXNSZXN1bHQgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgbGFzdE9iczogT2JzZXJ2YWJsZTxUPjtcbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gbnVsbDtcblxuICAgIHByaXZhdGUgY3VycmVudENvbnRleHQ6IExpbmtGaWVsZENvbnRleHQ8VD47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHJpdmF0ZSBfdGVtcGxhdGU6IFRlbXBsYXRlUmVmPExpbmtGaWVsZENvbnRleHQ8VD4+LFxuICAgICAgICBwcml2YXRlIGNvbXBvbmVudFJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICAgKSB7XG4gICAgICAgIHRoaXMuX2RlZmF1bHRMb2FkaW5nQ29tcG9uZW50ID0gY29tcG9uZW50UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoTWljcm9DbGllbnRMb2FkaW5nSW5kaWNhdG9yQ29tcG9uZW50KTtcbiAgICAgICAgdGhpcy5fZGVmYXVsdEVycm9yQ29tcG9uZW50ID0gY29tcG9uZW50UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoTWljcm9DbGllbnRFcnJvckluZGljYXRvckNvbXBvbmVudCk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgbGlua0ZpZWxkRnJvbShmcm9tOiBMaW5rRmllbGQ8VD4gfCBUKSB7XG4gICAgICAgIHRoaXMuX2Zyb20gPSBmcm9tO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGxpbmtGaWVsZExvYWRpbmdUZW1wbGF0ZShsb2FkaW5nVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICAgICAgaWYgKGxvYWRpbmdUZW1wbGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5fbG9hZGluZ1RlbXBsYXRlID0gbG9hZGluZ1RlbXBsYXRlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudXBkYXRlSWZEaXJ0eSh0cnVlKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBsaW5rRmllbGRFcnJvclRlbXBsYXRlKGVycm9yVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICAgICAgaWYgKGVycm9yVGVtcGxhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuX2Vycm9yVGVtcGxhdGUgPSBlcnJvclRlbXBsYXRlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudXBkYXRlSWZEaXJ0eSh0cnVlKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBsaW5rRmllbGRUZW1wbGF0ZSh2YWx1ZTogVGVtcGxhdGVSZWY8TGlua0ZpZWxkQ29udGV4dDxUPj4pIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl90ZW1wbGF0ZSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBsaW5rRmllbGREZWZhdWx0RXJyb3JIYW5kbGluZyA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBsaW5rRmllbGRWYWx1ZUNoYW5nZTogKFQpID0+IHZvaWQ7XG5cbiAgICBASW5wdXQoKVxuICAgIGxpbmtGaWVsZFBhcmFtczogb2JqZWN0ID0gbnVsbDtcblxuICAgIHByaXZhdGUgbG9hZCgpIHtcbiAgICAgICAgaWYgKHRoaXMuX2Zyb20pIHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9mcm9tIGluc3RhbmNlb2YgTGlua0ZpZWxkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRMb2FkaW5nKHRydWUpO1xuICAgICAgICAgICAgICAgIHRoaXMubGFzdE9icyA9IHRoaXMuX2Zyb20ubGlzdGVuT2JzKCk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5sYXN0T2JzLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgKS5zdWJzY3JpYmUoKGxvYWRlZFJlc3VsdDogVCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldExvYWRlZFJlc3VsdChsb2FkZWRSZXN1bHQpO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5saW5rRmllbGRWYWx1ZUNoYW5nZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5saW5rRmllbGRWYWx1ZUNoYW5nZShsb2FkZWRSZXN1bHQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSwgKGxvYWRFcnJvcjogTWljcm9DbGllbnRMb2FkRXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmxpbmtGaWVsZERlZmF1bHRFcnJvckhhbmRsaW5nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsb2FkRXJyb3IucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldEVycm9yKGxvYWRFcnJvcik7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0TG9hZGVkUmVzdWx0KHRoaXMuX2Zyb20pO1xuICAgICAgICAgICAgICAgIC8vIHRoaXMuc2V0TG9hZGVkUmVzdWx0KHRoaXMuX2Zyb20pO1xuICAgICAgICAgICAgICAgIC8vIHRocm93IG5ldyBFcnJvcignQ2FuXFwndCB1c2UgdGhlIGxpbmtGaWVsZCBkaXJlY3RpdmUgd2l0aCBhIGZyb20gdmFsdWUgd2hpY2ggaXNuXFwndCBhbiBpbnN0YW5jZSBvZiBMaW5rRmllbGQnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgbmdEb0NoZWNrKCkge1xuICAgICAgICB0aGlzLnVwZGF0ZUlmRGlydHkoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5jbGVhcigpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXMubGlua0ZpZWxkRnJvbSkge1xuICAgICAgICAgICAgaWYgKCEodGhpcy5fZnJvbSBpbnN0YW5jZW9mIExpbmtGaWVsZCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9mcm9tID0gTGlua0ZpZWxkLmZyb20odGhpcy5fZnJvbSBhcyBhbnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGNoYW5nZXMubGlua0ZpZWxkRnJvbS5wcmV2aW91c1ZhbHVlICE9PSBjaGFuZ2VzLmxpbmtGaWVsZEZyb20uY3VycmVudFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbGVhcigpO1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNoYW5nZXMubGlua0ZpZWxkUGFyYW1zICYmIHRoaXMubGlua0ZpZWxkUGFyYW1zKSB7XG4gICAgICAgICAgICBsZXQgbGluayA9IHRoaXMuX2Zyb20gYXMgTGlua0ZpZWxkPFQ+O1xuICAgICAgICAgICAgdGhpcy5fZnJvbSA9IGxpbmsud2l0aENhbGxQYXJhbXModGhpcy5saW5rRmllbGRQYXJhbXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRFcnJvcihlcnJvcjogTWljcm9DbGllbnRMb2FkRXJyb3IpIHtcbiAgICAgICAgdGhpcy5fdmlld0NvbnRhaW5lci5yZW1vdmUoKTtcbiAgICAgICAgaWYgKHRoaXMuX2Vycm9yVGVtcGxhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuX3ZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMuX2Vycm9yVGVtcGxhdGUsIHtcbiAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGVycm9yXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxldCBlcnJvckNvbXBvbmVudEluc3RhbmNlID0gdGhpcy5fdmlld0NvbnRhaW5lci5jcmVhdGVDb21wb25lbnQodGhpcy5fZGVmYXVsdEVycm9yQ29tcG9uZW50KTtcbiAgICAgICAgICAgIGVycm9yQ29tcG9uZW50SW5zdGFuY2UuaW5zdGFuY2VbJ2Vycm9yJ10gPSBlcnJvcjtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgcHJpdmF0ZSBzZXRMb2FkaW5nKGxvYWRpbmc6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBsb2FkaW5nO1xuICAgICAgICBpZiAodGhpcy5pc0xvYWRpbmcpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9sb2FkaW5nVGVtcGxhdGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl92aWV3Q29udGFpbmVyLnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3ZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMuX2xvYWRpbmdUZW1wbGF0ZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX3ZpZXdDb250YWluZXIucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fdmlld0NvbnRhaW5lci5jcmVhdGVDb21wb25lbnQodGhpcy5fZGVmYXVsdExvYWRpbmdDb21wb25lbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRMb2FkZWRSZXN1bHQocmVzdWx0OiBUKSB7XG4gICAgICAgIHRoaXMuaGFzUmVzdWx0ID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5sb2FkZWRSZXN1bHQgPSByZXN1bHQ7XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRDb250ZXh0ID09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudENvbnRleHQgPSBuZXcgTGlua0ZpZWxkQ29udGV4dDxUPihyZXN1bHQpO1xuICAgICAgICAgICAgdGhpcy5pc0RpcnR5ID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudENvbnRleHQuJGltcGxpY2l0ID0gcmVzdWx0O1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuX3ZpZXdDb250YWluZXIgfHwgIXRoaXMuX3RlbXBsYXRlKSB7XG4gICAgICAgICAgICB0aGlzLmlzRGlydHkgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNEaXJ0eSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3ZpZXdDb250YWluZXIucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fdmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5fdGVtcGxhdGUsIHRoaXMuY3VycmVudENvbnRleHQpO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNEaXJ0eSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVJZkRpcnR5KGlnbm9yZURpcnR5OiBib29sZWFuID0gZmFsc2UpIHtcbiAgICAgICAgaWYgKCh0aGlzLmlzRGlydHkgfHwgaWdub3JlRGlydHkpICYmIHRoaXMuX2xvYWRpbmdUZW1wbGF0ZSAmJiB0aGlzLl9mcm9tICYmIHRoaXMuX3RlbXBsYXRlICYmIHRoaXMuX3ZpZXdDb250YWluZXIpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmhhc1Jlc3VsdCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0TG9hZGVkUmVzdWx0KHRoaXMubG9hZGVkUmVzdWx0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuaXNEaXJ0eSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbGVhcigpIHtcbiAgICAgICAgdGhpcy5oYXNSZXN1bHQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5sb2FkZWRSZXN1bHQgPSBudWxsO1xuICAgICAgICB0aGlzLmlzRGlydHkgPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubGFzdE9icyA9IG51bGw7XG4gICAgICAgIHRoaXMuY3VycmVudENvbnRleHQgPSBudWxsO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIExpbmtGaWVsZENvbnRleHQ8VD4ge1xuXG4gICAgY29uc3RydWN0b3IocHVibGljICRpbXBsaWNpdDogVCkge1xuICAgIH1cbn1cbiJdfQ==