@firestitch/form 9.7.3 → 9.7.7
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/app/components/form-dialog-actions/form-dialog-actions.component.d.ts +18 -15
- package/app/consts/error-messages.const.d.ts +19 -19
- package/app/directives/form/form.directive.d.ts +102 -100
- package/app/directives/form-dialog-close.directive.d.ts +9 -9
- package/app/directives/submit-button.directive.d.ts +28 -28
- package/app/directives/validators/compare.directive.d.ts +12 -12
- package/app/directives/validators/control.directive.d.ts +45 -45
- package/app/directives/validators/daterange.directive.d.ts +10 -10
- package/app/directives/validators/email.directive.d.ts +10 -10
- package/app/directives/validators/emails.directive.d.ts +10 -10
- package/app/directives/validators/function.directive.d.ts +11 -11
- package/app/directives/validators/greater.directive.d.ts +10 -10
- package/app/directives/validators/integer.directive.d.ts +10 -10
- package/app/directives/validators/lesser.directive.d.ts +10 -10
- package/app/directives/validators/max.directive.d.ts +10 -10
- package/app/directives/validators/maxlength.directive.d.ts +10 -10
- package/app/directives/validators/min.directive.d.ts +10 -10
- package/app/directives/validators/minlength.directive.d.ts +10 -10
- package/app/directives/validators/numeric.directive.d.ts +10 -10
- package/app/directives/validators/pattern.directive.d.ts +10 -10
- package/app/directives/validators/phone.directive.d.ts +10 -10
- package/app/directives/validators/required.directive.d.ts +13 -13
- package/app/directives/validators/url.directive.d.ts +11 -11
- package/app/directives/validators/validate.directive.d.ts +11 -11
- package/app/enums/confirm-result.d.ts +7 -7
- package/app/enums/form-status.d.ts +9 -9
- package/app/fs-form.module.d.ts +4 -4
- package/app/guards/form-deactivate.guard.d.ts +9 -9
- package/app/helpers/confirm-result-continue.d.ts +1 -1
- package/app/helpers/confirm-unsaved.d.ts +5 -5
- package/app/helpers/get-form-errors.d.ts +2 -2
- package/app/helpers/index.d.ts +2 -2
- package/app/helpers/is-enabled.d.ts +1 -1
- package/app/interfaces/async-validator.d.ts +14 -14
- package/app/interfaces/confirm-config.d.ts +7 -7
- package/app/interfaces/confirm-tab-group.d.ts +10 -10
- package/app/interfaces/form-deactivate.d.ts +4 -4
- package/app/interfaces/index.d.ts +4 -4
- package/app/interfaces/submit-event.d.ts +5 -5
- package/app/interfaces/submitted-event.d.ts +6 -6
- package/app/interfaces/validator.d.ts +13 -13
- package/app/providers/validate-messages.provider.d.ts +25 -25
- package/app/services/fsform.service.d.ts +7 -7
- package/app/validators/validators.d.ts +12 -12
- package/bundles/firestitch-form.umd.js +2300 -2267
- package/bundles/firestitch-form.umd.js.map +1 -1
- package/bundles/firestitch-form.umd.min.js +2 -2
- package/bundles/firestitch-form.umd.min.js.map +1 -1
- package/esm2015/app/components/form-dialog-actions/form-dialog-actions.component.js +93 -67
- package/esm2015/app/consts/error-messages.const.js +19 -19
- package/esm2015/app/directives/form/form.directive.js +665 -656
- package/esm2015/app/directives/form-dialog-close.directive.js +32 -32
- package/esm2015/app/directives/submit-button.directive.js +137 -137
- package/esm2015/app/directives/validators/compare.directive.js +48 -48
- package/esm2015/app/directives/validators/control.directive.js +272 -272
- package/esm2015/app/directives/validators/daterange.directive.js +40 -40
- package/esm2015/app/directives/validators/email.directive.js +40 -40
- package/esm2015/app/directives/validators/emails.directive.js +40 -40
- package/esm2015/app/directives/validators/function.directive.js +30 -30
- package/esm2015/app/directives/validators/greater.directive.js +39 -39
- package/esm2015/app/directives/validators/integer.directive.js +40 -40
- package/esm2015/app/directives/validators/lesser.directive.js +39 -39
- package/esm2015/app/directives/validators/max.directive.js +35 -35
- package/esm2015/app/directives/validators/maxlength.directive.js +34 -34
- package/esm2015/app/directives/validators/min.directive.js +35 -35
- package/esm2015/app/directives/validators/minlength.directive.js +34 -34
- package/esm2015/app/directives/validators/numeric.directive.js +40 -40
- package/esm2015/app/directives/validators/pattern.directive.js +34 -34
- package/esm2015/app/directives/validators/phone.directive.js +40 -40
- package/esm2015/app/directives/validators/required.directive.js +72 -72
- package/esm2015/app/directives/validators/url.directive.js +48 -48
- package/esm2015/app/directives/validators/validate.directive.js +30 -30
- package/esm2015/app/enums/confirm-result.js +8 -8
- package/esm2015/app/enums/form-status.js +10 -10
- package/esm2015/app/fs-form.module.js +106 -106
- package/esm2015/app/guards/form-deactivate.guard.js +43 -43
- package/esm2015/app/helpers/confirm-result-continue.js +4 -4
- package/esm2015/app/helpers/confirm-unsaved.js +70 -70
- package/esm2015/app/helpers/get-form-errors.js +24 -24
- package/esm2015/app/helpers/index.js +2 -2
- package/esm2015/app/helpers/is-enabled.js +3 -3
- package/esm2015/app/providers/validate-messages.provider.js +10 -10
- package/esm2015/app/services/fsform.service.js +25 -25
- package/esm2015/app/validators/validators.js +96 -96
- package/esm2015/firestitch-form.js +27 -28
- package/esm2015/public_api.js +13 -13
- package/esm5/app/components/form-dialog-actions/form-dialog-actions.component.js +96 -69
- package/esm5/app/consts/error-messages.const.js +19 -19
- package/esm5/app/directives/form/form.directive.js +706 -697
- package/esm5/app/directives/form-dialog-close.directive.js +33 -33
- package/esm5/app/directives/submit-button.directive.js +143 -143
- package/esm5/app/directives/validators/compare.directive.js +59 -59
- package/esm5/app/directives/validators/control.directive.js +278 -278
- package/esm5/app/directives/validators/daterange.directive.js +49 -49
- package/esm5/app/directives/validators/email.directive.js +49 -49
- package/esm5/app/directives/validators/emails.directive.js +49 -49
- package/esm5/app/directives/validators/function.directive.js +35 -35
- package/esm5/app/directives/validators/greater.directive.js +48 -48
- package/esm5/app/directives/validators/integer.directive.js +49 -49
- package/esm5/app/directives/validators/lesser.directive.js +48 -48
- package/esm5/app/directives/validators/max.directive.js +44 -44
- package/esm5/app/directives/validators/maxlength.directive.js +43 -43
- package/esm5/app/directives/validators/min.directive.js +44 -44
- package/esm5/app/directives/validators/minlength.directive.js +43 -43
- package/esm5/app/directives/validators/numeric.directive.js +49 -49
- package/esm5/app/directives/validators/pattern.directive.js +43 -43
- package/esm5/app/directives/validators/phone.directive.js +49 -49
- package/esm5/app/directives/validators/required.directive.js +87 -87
- package/esm5/app/directives/validators/url.directive.js +55 -55
- package/esm5/app/directives/validators/validate.directive.js +35 -35
- package/esm5/app/enums/confirm-result.js +8 -8
- package/esm5/app/enums/form-status.js +10 -10
- package/esm5/app/fs-form.module.js +110 -110
- package/esm5/app/guards/form-deactivate.guard.js +44 -44
- package/esm5/app/helpers/confirm-result-continue.js +4 -4
- package/esm5/app/helpers/confirm-unsaved.js +70 -70
- package/esm5/app/helpers/get-form-errors.js +27 -27
- package/esm5/app/helpers/index.js +2 -2
- package/esm5/app/helpers/is-enabled.js +3 -3
- package/esm5/app/providers/validate-messages.provider.js +11 -11
- package/esm5/app/services/fsform.service.js +26 -26
- package/esm5/app/validators/validators.js +101 -101
- package/esm5/firestitch-form.js +27 -28
- package/esm5/public_api.js +13 -13
- package/fesm2015/firestitch-form.js +2075 -2042
- package/fesm2015/firestitch-form.js.map +1 -1
- package/fesm5/firestitch-form.js +2304 -2270
- package/fesm5/firestitch-form.js.map +1 -1
- package/firestitch-form.d.ts +26 -27
- package/firestitch-form.metadata.json +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +12 -12
- package/app/components/form-dialog-actions/index.d.ts +0 -1
- package/esm2015/app/components/form-dialog-actions/index.js +0 -2
- package/esm5/app/components/form-dialog-actions/index.js +0 -2
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
import { __decorate, __metadata } from "tslib";
|
|
2
|
-
import { Directive, HostListener, HostBinding } from '@angular/core';
|
|
3
|
-
import { Subject } from 'rxjs';
|
|
4
|
-
var FsFormDialogCloseDirective = /** @class */ (function () {
|
|
5
|
-
function FsFormDialogCloseDirective() {
|
|
6
|
-
this.clicked$ = new Subject();
|
|
7
|
-
this.registered = false;
|
|
8
|
-
this.type = 'button';
|
|
9
|
-
}
|
|
10
|
-
FsFormDialogCloseDirective.prototype.click = function () {
|
|
11
|
-
this.clicked$.next();
|
|
12
|
-
};
|
|
13
|
-
FsFormDialogCloseDirective.prototype.ngOnDestroy = function () {
|
|
14
|
-
this.clicked$.complete();
|
|
15
|
-
};
|
|
16
|
-
__decorate([
|
|
17
|
-
HostBinding('attr.type'),
|
|
18
|
-
__metadata("design:type", Object)
|
|
19
|
-
], FsFormDialogCloseDirective.prototype, "type", void 0);
|
|
20
|
-
__decorate([
|
|
21
|
-
HostListener('click', ['$event.target']),
|
|
22
|
-
__metadata("design:type", Function),
|
|
23
|
-
__metadata("design:paramtypes", []),
|
|
24
|
-
__metadata("design:returntype", void 0)
|
|
25
|
-
], FsFormDialogCloseDirective.prototype, "click", null);
|
|
26
|
-
FsFormDialogCloseDirective = __decorate([
|
|
27
|
-
Directive({
|
|
28
|
-
selector: '[fsFormDialogClose],[fs-form-dialog-close]'
|
|
29
|
-
})
|
|
30
|
-
], FsFormDialogCloseDirective);
|
|
31
|
-
return FsFormDialogCloseDirective;
|
|
32
|
-
}());
|
|
33
|
-
export { FsFormDialogCloseDirective };
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { Directive, HostListener, HostBinding } from '@angular/core';
|
|
3
|
+
import { Subject } from 'rxjs';
|
|
4
|
+
var FsFormDialogCloseDirective = /** @class */ (function () {
|
|
5
|
+
function FsFormDialogCloseDirective() {
|
|
6
|
+
this.clicked$ = new Subject();
|
|
7
|
+
this.registered = false;
|
|
8
|
+
this.type = 'button';
|
|
9
|
+
}
|
|
10
|
+
FsFormDialogCloseDirective.prototype.click = function () {
|
|
11
|
+
this.clicked$.next();
|
|
12
|
+
};
|
|
13
|
+
FsFormDialogCloseDirective.prototype.ngOnDestroy = function () {
|
|
14
|
+
this.clicked$.complete();
|
|
15
|
+
};
|
|
16
|
+
__decorate([
|
|
17
|
+
HostBinding('attr.type'),
|
|
18
|
+
__metadata("design:type", Object)
|
|
19
|
+
], FsFormDialogCloseDirective.prototype, "type", void 0);
|
|
20
|
+
__decorate([
|
|
21
|
+
HostListener('click', ['$event.target']),
|
|
22
|
+
__metadata("design:type", Function),
|
|
23
|
+
__metadata("design:paramtypes", []),
|
|
24
|
+
__metadata("design:returntype", void 0)
|
|
25
|
+
], FsFormDialogCloseDirective.prototype, "click", null);
|
|
26
|
+
FsFormDialogCloseDirective = __decorate([
|
|
27
|
+
Directive({
|
|
28
|
+
selector: '[fsFormDialogClose],[fs-form-dialog-close]'
|
|
29
|
+
})
|
|
30
|
+
], FsFormDialogCloseDirective);
|
|
31
|
+
return FsFormDialogCloseDirective;
|
|
32
|
+
}());
|
|
33
|
+
export { FsFormDialogCloseDirective };
|
|
34
34
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1kaWFsb2ctY2xvc2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGZpcmVzdGl0Y2gvZm9ybS8iLCJzb3VyY2VzIjpbImFwcC9kaXJlY3RpdmVzL2Zvcm0tZGlhbG9nLWNsb3NlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQWEsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFNL0I7SUFBQTtRQUVTLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3pCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFQSxTQUFJLEdBQUcsUUFBUSxDQUFDO0lBVTVDLENBQUM7SUFQUSwwQ0FBSyxHQUFaO1FBQ0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU0sZ0RBQVcsR0FBbEI7UUFDRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFUeUI7UUFBekIsV0FBVyxDQUFDLFdBQVcsQ0FBQzs7NERBQWlCO0lBRzFDO1FBREMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDOzs7OzJEQUd4QztJQVZVLDBCQUEwQjtRQUh0QyxTQUFTLENBQUM7WUFDVCxRQUFRLEVBQUUsNENBQTRDO1NBQ3ZELENBQUM7T0FDVywwQkFBMEIsQ0FldEM7SUFBRCxpQ0FBQztDQUFBLEFBZkQsSUFlQztTQWZZLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBPbkRlc3Ryb3ksIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2ZzRm9ybURpYWxvZ0Nsb3NlXSxbZnMtZm9ybS1kaWFsb2ctY2xvc2VdJ1xufSlcbmV4cG9ydCBjbGFzcyBGc0Zvcm1EaWFsb2dDbG9zZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgcHVibGljIGNsaWNrZWQkID0gbmV3IFN1YmplY3QoKTtcbiAgcHVibGljIHJlZ2lzdGVyZWQgPSBmYWxzZTtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIudHlwZScpIHR5cGUgPSAnYnV0dG9uJztcblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50LnRhcmdldCddKVxuICBwdWJsaWMgY2xpY2soKSB7XG4gICAgdGhpcy5jbGlja2VkJC5uZXh0KCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5jbGlja2VkJC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,144 +1,144 @@
|
|
|
1
|
-
import { __decorate, __metadata, __param } from "tslib";
|
|
2
|
-
import { Directive, OnInit, Host, ElementRef, HostBinding, Optional, Input, OnDestroy, ChangeDetectorRef } from '@angular/core';
|
|
3
|
-
import { MatButton } from '@angular/material/button';
|
|
4
|
-
import { FsFormDirective } from '../directives/form/form.directive';
|
|
5
|
-
import { fromEvent, Subject } from 'rxjs';
|
|
6
|
-
import { takeUntil } from 'rxjs/operators';
|
|
7
|
-
var FsSubmitButtonDirective = /** @class */ (function () {
|
|
8
|
-
function FsSubmitButtonDirective(_matButton, _form, _elementRef, _cdRef) {
|
|
9
|
-
this._matButton = _matButton;
|
|
10
|
-
this._form = _form;
|
|
11
|
-
this._elementRef = _elementRef;
|
|
12
|
-
this._cdRef = _cdRef;
|
|
13
|
-
this.dirtySubmit = true;
|
|
14
|
-
this.transitionStyle = null;
|
|
15
|
-
this.active = false;
|
|
16
|
-
this._destroy$ = new Subject();
|
|
17
|
-
}
|
|
18
|
-
FsSubmitButtonDirective.prototype.ngOnInit = function () {
|
|
19
|
-
var _this = this;
|
|
20
|
-
if (this._form) {
|
|
21
|
-
this._form.addSubmitButton(this);
|
|
22
|
-
fromEvent(this.element, 'click')
|
|
23
|
-
.pipe(takeUntil(this._destroy$))
|
|
24
|
-
.subscribe(function () {
|
|
25
|
-
_this.active = true;
|
|
26
|
-
});
|
|
27
|
-
if (this.dirtySubmit) {
|
|
28
|
-
if (this._form.dirtySubmitButton) {
|
|
29
|
-
if (!this._form.ngForm.dirty) {
|
|
30
|
-
this.disable();
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
this.transitionStyle = 'none';
|
|
35
|
-
setTimeout(function () {
|
|
36
|
-
_this.transitionStyle = null;
|
|
37
|
-
}, 500);
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
FsSubmitButtonDirective.prototype.disable = function () {
|
|
41
|
-
if (this._matButton) {
|
|
42
|
-
this._matButton.disabled = true;
|
|
43
|
-
this._cdRef.markForCheck();
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
FsSubmitButtonDirective.prototype.enable = function () {
|
|
47
|
-
if (this._matButton) {
|
|
48
|
-
this._matButton.disabled = false;
|
|
49
|
-
this._matButton.disableRipple = true;
|
|
50
|
-
this._cdRef.markForCheck();
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
FsSubmitButtonDirective.prototype.process = function () {
|
|
54
|
-
this.setClass('process');
|
|
55
|
-
this._matButton.disableRipple = true;
|
|
56
|
-
};
|
|
57
|
-
FsSubmitButtonDirective.prototype.success = function () {
|
|
58
|
-
this.setClass('success');
|
|
59
|
-
this._matButton.disableRipple = false;
|
|
60
|
-
};
|
|
61
|
-
FsSubmitButtonDirective.prototype.error = function () {
|
|
62
|
-
this.setClass('error');
|
|
63
|
-
this._matButton.disableRipple = false;
|
|
64
|
-
};
|
|
65
|
-
FsSubmitButtonDirective.prototype.setClass = function (cls) {
|
|
66
|
-
var svg = this._getSvg(cls);
|
|
67
|
-
this._resetClass();
|
|
68
|
-
this._disableShadowAnimation();
|
|
69
|
-
this.element.classList.add("submit-" + cls);
|
|
70
|
-
this.element.append(svg);
|
|
71
|
-
};
|
|
72
|
-
Object.defineProperty(FsSubmitButtonDirective.prototype, "element", {
|
|
73
|
-
get: function () {
|
|
74
|
-
return this._elementRef.nativeElement;
|
|
75
|
-
},
|
|
76
|
-
enumerable: true,
|
|
77
|
-
configurable: true
|
|
78
|
-
});
|
|
79
|
-
FsSubmitButtonDirective.prototype.reset = function () {
|
|
80
|
-
this.active = false;
|
|
81
|
-
this.enable();
|
|
82
|
-
this.element.querySelectorAll('.svg-icon')
|
|
83
|
-
.forEach(function (el) {
|
|
84
|
-
el.remove();
|
|
85
|
-
});
|
|
86
|
-
this._matButton.disableRipple = false;
|
|
87
|
-
this._resetClass();
|
|
88
|
-
};
|
|
89
|
-
FsSubmitButtonDirective.prototype.ngOnDestroy = function () {
|
|
90
|
-
this._destroy$.next();
|
|
91
|
-
this._destroy$.complete();
|
|
92
|
-
this._form.removeSubmitButton(this);
|
|
93
|
-
};
|
|
94
|
-
FsSubmitButtonDirective.prototype._disableShadowAnimation = function () {
|
|
95
|
-
// .mat-elevation-z2 removes the click shadow animation
|
|
96
|
-
//this.element.classList.add('mat-elevation-z2');
|
|
97
|
-
};
|
|
98
|
-
FsSubmitButtonDirective.prototype._resetClass = function () {
|
|
99
|
-
this.element.classList.remove('submit-success', 'submit-error', 'submit-process', 'mat-elevation-z2');
|
|
100
|
-
};
|
|
101
|
-
FsSubmitButtonDirective.prototype._getSvg = function (type) {
|
|
102
|
-
if (type === 'success') {
|
|
103
|
-
return new DOMParser().parseFromString("<svg class=\"svg-icon svg-icon-success\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"1.1\" x=\"0px\" y=\"0px\" viewBox=\"0 0 38 38\" style=\"enable-background:new 0 0 38 38;\" xml:space=\"preserve\" width=\"38px\" height=\"38px\">\n <g>\n <g class=\"check\">\n <g>\n <path d=\"M29.6,11.9c-0.5-0.5-1.3-0.5-1.8,0L16.3,23.4l-6.1-6.1c-0.5-0.5-1.3-0.5-1.8,0s-0.5,1.3,0,1.8l7,7c0.3,0.3,0.6,0.4,0.9,0.4s0.7-0.1,0.9-0.4l12.4-12.4C30.1,13.2,30.1,12.4,29.6,11.9z\"/>\n </g>\n </g>\n </g>\n </svg>", 'text/xml').firstChild;
|
|
104
|
-
}
|
|
105
|
-
if (type === 'process') {
|
|
106
|
-
return new DOMParser().parseFromString("<svg class=\"svg-icon svg-icon-process\" width=\"38\" height=\"38\" viewBox=\"0 0 38 38\" xmlns=\"http://www.w3.org/2000/svg\">\n <g fill=\"none\" fill-rule=\"evenodd\">\n <g transform=\"translate(1 1)\" stroke-width=\"2\"><circle stroke-opacity=\".5\" cx=\"18\" cy=\"18\" r=\"18\"/>\n <path d=\"M36 18c0-9.94-8.06-18-18-18\"><animateTransform attributeName=\"transform\" type=\"rotate\" from=\"0 18 18\" to=\"360 18 18\" dur=\".7s\" repeatCount=\"indefinite\"/></path>\n </g>\n </g>\n </svg>", 'text/xml').firstChild;
|
|
107
|
-
}
|
|
108
|
-
if (type === 'error') {
|
|
109
|
-
return new DOMParser().parseFromString("<svg class=\"svg-icon svg-icon-error\" xmlns=\"http://www.w3.org/2000/svg\" width=\"38px\" height=\"38px\" viewBox=\"0 0 16 16\"><g><path d=\"M8 1c3.9 0 7 3.1 7 7s-3.1 7-7 7-7-3.1-7-7 3.1-7 7-7zM8 0c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8v0z\" data-original=\"#444444\" data-old_color=\"#444444\"/><path d=\"M12.2 10.8l-2.8-2.8 2.8-2.8-1.4-1.4-2.8 2.8-2.8-2.8-1.4 1.4 2.8 2.8-2.8 2.8 1.4 1.4 2.8-2.8 2.8 2.8z\"/></g> </svg>", 'text/xml').firstChild;
|
|
110
|
-
}
|
|
111
|
-
};
|
|
112
|
-
FsSubmitButtonDirective.ctorParameters = function () { return [
|
|
113
|
-
{ type: MatButton, decorators: [{ type: Optional }, { type: Host }] },
|
|
114
|
-
{ type: FsFormDirective, decorators: [{ type: Optional }] },
|
|
115
|
-
{ type: ElementRef },
|
|
116
|
-
{ type: ChangeDetectorRef }
|
|
117
|
-
]; };
|
|
118
|
-
__decorate([
|
|
119
|
-
Input(),
|
|
120
|
-
__metadata("design:type", Object)
|
|
121
|
-
], FsSubmitButtonDirective.prototype, "name", void 0);
|
|
122
|
-
__decorate([
|
|
123
|
-
Input(),
|
|
124
|
-
__metadata("design:type", Object)
|
|
125
|
-
], FsSubmitButtonDirective.prototype, "dirtySubmit", void 0);
|
|
126
|
-
__decorate([
|
|
127
|
-
HostBinding('style.transition'),
|
|
128
|
-
__metadata("design:type", Object)
|
|
129
|
-
], FsSubmitButtonDirective.prototype, "transitionStyle", void 0);
|
|
130
|
-
FsSubmitButtonDirective = __decorate([
|
|
131
|
-
Directive({
|
|
132
|
-
selector: 'button[type="submit"]',
|
|
133
|
-
}),
|
|
134
|
-
__param(0, Optional()), __param(0, Host()),
|
|
135
|
-
__param(1, Optional()),
|
|
136
|
-
__metadata("design:paramtypes", [MatButton,
|
|
137
|
-
FsFormDirective,
|
|
138
|
-
ElementRef,
|
|
139
|
-
ChangeDetectorRef])
|
|
140
|
-
], FsSubmitButtonDirective);
|
|
141
|
-
return FsSubmitButtonDirective;
|
|
142
|
-
}());
|
|
143
|
-
export { FsSubmitButtonDirective };
|
|
1
|
+
import { __decorate, __metadata, __param } from "tslib";
|
|
2
|
+
import { Directive, OnInit, Host, ElementRef, HostBinding, Optional, Input, OnDestroy, ChangeDetectorRef } from '@angular/core';
|
|
3
|
+
import { MatButton } from '@angular/material/button';
|
|
4
|
+
import { FsFormDirective } from '../directives/form/form.directive';
|
|
5
|
+
import { fromEvent, Subject } from 'rxjs';
|
|
6
|
+
import { takeUntil } from 'rxjs/operators';
|
|
7
|
+
var FsSubmitButtonDirective = /** @class */ (function () {
|
|
8
|
+
function FsSubmitButtonDirective(_matButton, _form, _elementRef, _cdRef) {
|
|
9
|
+
this._matButton = _matButton;
|
|
10
|
+
this._form = _form;
|
|
11
|
+
this._elementRef = _elementRef;
|
|
12
|
+
this._cdRef = _cdRef;
|
|
13
|
+
this.dirtySubmit = true;
|
|
14
|
+
this.transitionStyle = null;
|
|
15
|
+
this.active = false;
|
|
16
|
+
this._destroy$ = new Subject();
|
|
17
|
+
}
|
|
18
|
+
FsSubmitButtonDirective.prototype.ngOnInit = function () {
|
|
19
|
+
var _this = this;
|
|
20
|
+
if (this._form) {
|
|
21
|
+
this._form.addSubmitButton(this);
|
|
22
|
+
fromEvent(this.element, 'click')
|
|
23
|
+
.pipe(takeUntil(this._destroy$))
|
|
24
|
+
.subscribe(function () {
|
|
25
|
+
_this.active = true;
|
|
26
|
+
});
|
|
27
|
+
if (this.dirtySubmit) {
|
|
28
|
+
if (this._form.dirtySubmitButton) {
|
|
29
|
+
if (!this._form.ngForm.dirty) {
|
|
30
|
+
this.disable();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
this.transitionStyle = 'none';
|
|
35
|
+
setTimeout(function () {
|
|
36
|
+
_this.transitionStyle = null;
|
|
37
|
+
}, 500);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
FsSubmitButtonDirective.prototype.disable = function () {
|
|
41
|
+
if (this._matButton) {
|
|
42
|
+
this._matButton.disabled = true;
|
|
43
|
+
this._cdRef.markForCheck();
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
FsSubmitButtonDirective.prototype.enable = function () {
|
|
47
|
+
if (this._matButton) {
|
|
48
|
+
this._matButton.disabled = false;
|
|
49
|
+
this._matButton.disableRipple = true;
|
|
50
|
+
this._cdRef.markForCheck();
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
FsSubmitButtonDirective.prototype.process = function () {
|
|
54
|
+
this.setClass('process');
|
|
55
|
+
this._matButton.disableRipple = true;
|
|
56
|
+
};
|
|
57
|
+
FsSubmitButtonDirective.prototype.success = function () {
|
|
58
|
+
this.setClass('success');
|
|
59
|
+
this._matButton.disableRipple = false;
|
|
60
|
+
};
|
|
61
|
+
FsSubmitButtonDirective.prototype.error = function () {
|
|
62
|
+
this.setClass('error');
|
|
63
|
+
this._matButton.disableRipple = false;
|
|
64
|
+
};
|
|
65
|
+
FsSubmitButtonDirective.prototype.setClass = function (cls) {
|
|
66
|
+
var svg = this._getSvg(cls);
|
|
67
|
+
this._resetClass();
|
|
68
|
+
this._disableShadowAnimation();
|
|
69
|
+
this.element.classList.add("submit-" + cls);
|
|
70
|
+
this.element.append(svg);
|
|
71
|
+
};
|
|
72
|
+
Object.defineProperty(FsSubmitButtonDirective.prototype, "element", {
|
|
73
|
+
get: function () {
|
|
74
|
+
return this._elementRef.nativeElement;
|
|
75
|
+
},
|
|
76
|
+
enumerable: true,
|
|
77
|
+
configurable: true
|
|
78
|
+
});
|
|
79
|
+
FsSubmitButtonDirective.prototype.reset = function () {
|
|
80
|
+
this.active = false;
|
|
81
|
+
this.enable();
|
|
82
|
+
this.element.querySelectorAll('.svg-icon')
|
|
83
|
+
.forEach(function (el) {
|
|
84
|
+
el.remove();
|
|
85
|
+
});
|
|
86
|
+
this._matButton.disableRipple = false;
|
|
87
|
+
this._resetClass();
|
|
88
|
+
};
|
|
89
|
+
FsSubmitButtonDirective.prototype.ngOnDestroy = function () {
|
|
90
|
+
this._destroy$.next();
|
|
91
|
+
this._destroy$.complete();
|
|
92
|
+
this._form.removeSubmitButton(this);
|
|
93
|
+
};
|
|
94
|
+
FsSubmitButtonDirective.prototype._disableShadowAnimation = function () {
|
|
95
|
+
// .mat-elevation-z2 removes the click shadow animation
|
|
96
|
+
//this.element.classList.add('mat-elevation-z2');
|
|
97
|
+
};
|
|
98
|
+
FsSubmitButtonDirective.prototype._resetClass = function () {
|
|
99
|
+
this.element.classList.remove('submit-success', 'submit-error', 'submit-process', 'mat-elevation-z2');
|
|
100
|
+
};
|
|
101
|
+
FsSubmitButtonDirective.prototype._getSvg = function (type) {
|
|
102
|
+
if (type === 'success') {
|
|
103
|
+
return new DOMParser().parseFromString("<svg class=\"svg-icon svg-icon-success\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"1.1\" x=\"0px\" y=\"0px\" viewBox=\"0 0 38 38\" style=\"enable-background:new 0 0 38 38;\" xml:space=\"preserve\" width=\"38px\" height=\"38px\">\n <g>\n <g class=\"check\">\n <g>\n <path d=\"M29.6,11.9c-0.5-0.5-1.3-0.5-1.8,0L16.3,23.4l-6.1-6.1c-0.5-0.5-1.3-0.5-1.8,0s-0.5,1.3,0,1.8l7,7c0.3,0.3,0.6,0.4,0.9,0.4s0.7-0.1,0.9-0.4l12.4-12.4C30.1,13.2,30.1,12.4,29.6,11.9z\"/>\n </g>\n </g>\n </g>\n </svg>", 'text/xml').firstChild;
|
|
104
|
+
}
|
|
105
|
+
if (type === 'process') {
|
|
106
|
+
return new DOMParser().parseFromString("<svg class=\"svg-icon svg-icon-process\" width=\"38\" height=\"38\" viewBox=\"0 0 38 38\" xmlns=\"http://www.w3.org/2000/svg\">\n <g fill=\"none\" fill-rule=\"evenodd\">\n <g transform=\"translate(1 1)\" stroke-width=\"2\"><circle stroke-opacity=\".5\" cx=\"18\" cy=\"18\" r=\"18\"/>\n <path d=\"M36 18c0-9.94-8.06-18-18-18\"><animateTransform attributeName=\"transform\" type=\"rotate\" from=\"0 18 18\" to=\"360 18 18\" dur=\".7s\" repeatCount=\"indefinite\"/></path>\n </g>\n </g>\n </svg>", 'text/xml').firstChild;
|
|
107
|
+
}
|
|
108
|
+
if (type === 'error') {
|
|
109
|
+
return new DOMParser().parseFromString("<svg class=\"svg-icon svg-icon-error\" xmlns=\"http://www.w3.org/2000/svg\" width=\"38px\" height=\"38px\" viewBox=\"0 0 16 16\"><g><path d=\"M8 1c3.9 0 7 3.1 7 7s-3.1 7-7 7-7-3.1-7-7 3.1-7 7-7zM8 0c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8v0z\" data-original=\"#444444\" data-old_color=\"#444444\"/><path d=\"M12.2 10.8l-2.8-2.8 2.8-2.8-1.4-1.4-2.8 2.8-2.8-2.8-1.4 1.4 2.8 2.8-2.8 2.8 1.4 1.4 2.8-2.8 2.8 2.8z\"/></g> </svg>", 'text/xml').firstChild;
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
FsSubmitButtonDirective.ctorParameters = function () { return [
|
|
113
|
+
{ type: MatButton, decorators: [{ type: Optional }, { type: Host }] },
|
|
114
|
+
{ type: FsFormDirective, decorators: [{ type: Optional }] },
|
|
115
|
+
{ type: ElementRef },
|
|
116
|
+
{ type: ChangeDetectorRef }
|
|
117
|
+
]; };
|
|
118
|
+
__decorate([
|
|
119
|
+
Input(),
|
|
120
|
+
__metadata("design:type", Object)
|
|
121
|
+
], FsSubmitButtonDirective.prototype, "name", void 0);
|
|
122
|
+
__decorate([
|
|
123
|
+
Input(),
|
|
124
|
+
__metadata("design:type", Object)
|
|
125
|
+
], FsSubmitButtonDirective.prototype, "dirtySubmit", void 0);
|
|
126
|
+
__decorate([
|
|
127
|
+
HostBinding('style.transition'),
|
|
128
|
+
__metadata("design:type", Object)
|
|
129
|
+
], FsSubmitButtonDirective.prototype, "transitionStyle", void 0);
|
|
130
|
+
FsSubmitButtonDirective = __decorate([
|
|
131
|
+
Directive({
|
|
132
|
+
selector: 'button[type="submit"]',
|
|
133
|
+
}),
|
|
134
|
+
__param(0, Optional()), __param(0, Host()),
|
|
135
|
+
__param(1, Optional()),
|
|
136
|
+
__metadata("design:paramtypes", [MatButton,
|
|
137
|
+
FsFormDirective,
|
|
138
|
+
ElementRef,
|
|
139
|
+
ChangeDetectorRef])
|
|
140
|
+
], FsSubmitButtonDirective);
|
|
141
|
+
return FsSubmitButtonDirective;
|
|
142
|
+
}());
|
|
143
|
+
export { FsSubmitButtonDirective };
|
|
144
144
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibWl0LWJ1dHRvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZmlyZXN0aXRjaC9mb3JtLyIsInNvdXJjZXMiOlsiYXBwL2RpcmVjdGl2ZXMvc3VibWl0LWJ1dHRvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhJLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTTNDO0lBZUUsaUNBQzhCLFVBQXFCLEVBQzdCLEtBQXNCLEVBQ2xDLFdBQXVCLEVBQ3ZCLE1BQXlCO1FBSEwsZUFBVSxHQUFWLFVBQVUsQ0FBVztRQUM3QixVQUFLLEdBQUwsS0FBSyxDQUFpQjtRQUNsQyxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQWI1QixnQkFBVyxHQUFHLElBQUksQ0FBQztRQUduQixvQkFBZSxHQUFHLElBQUksQ0FBQztRQUV2QixXQUFNLEdBQUcsS0FBSyxDQUFDO1FBRWQsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFPL0IsQ0FBQztJQUVHLDBDQUFRLEdBQWY7UUFBQSxpQkF5QkM7UUF4QkMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2QsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFakMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDO2lCQUM3QixJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7aUJBQ0EsU0FBUyxDQUFDO2dCQUNULEtBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLENBQUMsQ0FBQyxDQUFDO1lBRUwsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNwQixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUU7b0JBQ2hDLElBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7d0JBQzNCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztxQkFDaEI7aUJBQ0Y7YUFDRjtZQUVELElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDO1lBQzlCLFVBQVUsQ0FBQztnQkFDVCxLQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztZQUM5QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDVDtJQUNILENBQUM7SUFFTSx5Q0FBTyxHQUFkO1FBQ0UsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQzVCO0lBQ0gsQ0FBQztJQUVNLHdDQUFNLEdBQWI7UUFDRSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztZQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQzVCO0lBQ0gsQ0FBQztJQUVNLHlDQUFPLEdBQWQ7UUFDRSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUN2QyxDQUFDO0lBRU0seUNBQU8sR0FBZDtRQUNFLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQ3hDLENBQUM7SUFFTSx1Q0FBSyxHQUFaO1FBQ0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDeEMsQ0FBQztJQUVNLDBDQUFRLEdBQWYsVUFBZ0IsR0FBRztRQUNqQixJQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsWUFBVSxHQUFLLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsc0JBQVcsNENBQU87YUFBbEI7WUFDRSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDO1FBQ3hDLENBQUM7OztPQUFBO0lBRU0sdUNBQUssR0FBWjtRQUNFLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNkLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDO2FBQ3ZDLE9BQU8sQ0FBQyxVQUFDLEVBQUU7WUFDVixFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztRQUNMLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUN0QyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVNLDZDQUFXLEdBQWxCO1FBQ0UsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVPLHlEQUF1QixHQUEvQjtRQUNFLHVEQUF1RDtRQUN2RCxpREFBaUQ7SUFDbkQsQ0FBQztJQUVPLDZDQUFXLEdBQW5CO1FBQ0UsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3hHLENBQUM7SUFFTyx5Q0FBTyxHQUFmLFVBQWdCLElBQUk7UUFDbEIsSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFO1lBQ3RCLE9BQU8sSUFBSSxTQUFTLEVBQUUsQ0FBQyxlQUFlLENBQUMsa2xCQVFoQyxFQUFFLFVBQVUsQ0FBQyxDQUFDLFVBQVUsQ0FBQztTQUNqQztRQUVELElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRTtZQUN0QixPQUFPLElBQUksU0FBUyxFQUFFLENBQUMsZUFBZSxDQUFDLG9oQkFNaEMsRUFBRSxVQUFVLENBQUMsQ0FBQyxVQUFVLENBQUM7U0FDakM7UUFFRCxJQUFJLElBQUksS0FBSyxPQUFPLEVBQUU7WUFDcEIsT0FBTyxJQUFJLFNBQVMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxnYkFBOFosRUFBRSxVQUFVLENBQUMsQ0FBQyxVQUFVLENBQUM7U0FDL2Q7SUFDSCxDQUFDOztnQkEvSHlDLFNBQVMsdUJBQWhELFFBQVEsWUFBSSxJQUFJO2dCQUNVLGVBQWUsdUJBQXpDLFFBQVE7Z0JBQ1ksVUFBVTtnQkFDZixpQkFBaUI7O0lBaEJuQztRQURDLEtBQUssRUFBRTs7eURBQ0k7SUFHWjtRQURDLEtBQUssRUFBRTs7Z0VBQ2tCO0lBRzFCO1FBREMsV0FBVyxDQUFDLGtCQUFrQixDQUFDOztvRUFDRjtJQVRuQix1QkFBdUI7UUFIbkMsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLHVCQUF1QjtTQUNsQyxDQUFDO1FBaUJHLFdBQUEsUUFBUSxFQUFFLENBQUEsRUFBRSxXQUFBLElBQUksRUFBRSxDQUFBO1FBQ2xCLFdBQUEsUUFBUSxFQUFFLENBQUE7eUNBRDZCLFNBQVM7WUFDdEIsZUFBZTtZQUNyQixVQUFVO1lBQ2YsaUJBQWlCO09BbkJ4Qix1QkFBdUIsQ0FnSm5DO0lBQUQsOEJBQUM7Q0FBQSxBQWhKRCxJQWdKQztTQWhKWSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE9uSW5pdCwgSG9zdCwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIE9wdGlvbmFsLCBJbnB1dCwgT25EZXN0cm95LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBNYXRCdXR0b24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgRnNGb3JtRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9mb3JtL2Zvcm0uZGlyZWN0aXZlJztcblxuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0nLFxufSlcbmV4cG9ydCBjbGFzcyBGc1N1Ym1pdEJ1dHRvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbmFtZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZGlydHlTdWJtaXQgPSB0cnVlO1xuXG4gIEBIb3N0QmluZGluZygnc3R5bGUudHJhbnNpdGlvbicpXG4gIHB1YmxpYyB0cmFuc2l0aW9uU3R5bGUgPSBudWxsO1xuXG4gIHB1YmxpYyBhY3RpdmUgPSBmYWxzZTtcblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEhvc3QoKSBwcml2YXRlIF9tYXRCdXR0b246IE1hdEJ1dHRvbixcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9mb3JtOiBGc0Zvcm1EaXJlY3RpdmUsXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIF9jZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuX2Zvcm0pIHtcbiAgICAgIHRoaXMuX2Zvcm0uYWRkU3VibWl0QnV0dG9uKHRoaXMpOyBcblxuICAgICAgZnJvbUV2ZW50KHRoaXMuZWxlbWVudCwgJ2NsaWNrJylcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgIH0pO1xuXG4gICAgICBpZiAodGhpcy5kaXJ0eVN1Ym1pdCkge1xuICAgICAgICBpZiAodGhpcy5fZm9ybS5kaXJ0eVN1Ym1pdEJ1dHRvbikge1xuICAgICAgICAgIGlmKCF0aGlzLl9mb3JtLm5nRm9ybS5kaXJ0eSkge1xuICAgICAgICAgICAgdGhpcy5kaXNhYmxlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IFxuXG4gICAgICB0aGlzLnRyYW5zaXRpb25TdHlsZSA9ICdub25lJztcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnRyYW5zaXRpb25TdHlsZSA9IG51bGw7XG4gICAgICB9LCA1MDApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkaXNhYmxlKCkge1xuICAgIGlmICh0aGlzLl9tYXRCdXR0b24pIHtcbiAgICAgIHRoaXMuX21hdEJ1dHRvbi5kaXNhYmxlZCA9IHRydWU7XG4gICAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZW5hYmxlKCkge1xuICAgIGlmICh0aGlzLl9tYXRCdXR0b24pIHtcbiAgICAgIHRoaXMuX21hdEJ1dHRvbi5kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5fbWF0QnV0dG9uLmRpc2FibGVSaXBwbGUgPSB0cnVlO1xuICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHByb2Nlc3MoKSB7XG4gICAgdGhpcy5zZXRDbGFzcygncHJvY2VzcycpO1xuICAgIHRoaXMuX21hdEJ1dHRvbi5kaXNhYmxlUmlwcGxlID0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBzdWNjZXNzKCkge1xuICAgIHRoaXMuc2V0Q2xhc3MoJ3N1Y2Nlc3MnKTtcbiAgICB0aGlzLl9tYXRCdXR0b24uZGlzYWJsZVJpcHBsZSA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGVycm9yKCkge1xuICAgIHRoaXMuc2V0Q2xhc3MoJ2Vycm9yJyk7XG4gICAgdGhpcy5fbWF0QnV0dG9uLmRpc2FibGVSaXBwbGUgPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRDbGFzcyhjbHMpIHtcbiAgICBjb25zdCBzdmcgPSB0aGlzLl9nZXRTdmcoY2xzKTtcbiAgICB0aGlzLl9yZXNldENsYXNzKCk7XG4gICAgdGhpcy5fZGlzYWJsZVNoYWRvd0FuaW1hdGlvbigpO1xuICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKGBzdWJtaXQtJHtjbHN9YCk7XG4gICAgdGhpcy5lbGVtZW50LmFwcGVuZChzdmcpO1xuICB9XG5cbiAgcHVibGljIGdldCBlbGVtZW50KCkge1xuICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgcmVzZXQoKSB7XG4gICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcbiAgICB0aGlzLmVuYWJsZSgpO1xuICAgIHRoaXMuZWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuc3ZnLWljb24nKVxuICAgICAgLmZvckVhY2goKGVsKSA9PiB7XG4gICAgICAgIGVsLnJlbW92ZSgpO1xuICAgICAgfSk7XG4gICAgdGhpcy5fbWF0QnV0dG9uLmRpc2FibGVSaXBwbGUgPSBmYWxzZTtcbiAgICB0aGlzLl9yZXNldENsYXNzKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fZm9ybS5yZW1vdmVTdWJtaXRCdXR0b24odGhpcyk7XG4gIH1cblxuICBwcml2YXRlIF9kaXNhYmxlU2hhZG93QW5pbWF0aW9uKCkge1xuICAgIC8vIC5tYXQtZWxldmF0aW9uLXoyIHJlbW92ZXMgdGhlIGNsaWNrIHNoYWRvdyBhbmltYXRpb25cbiAgICAvL3RoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKCdtYXQtZWxldmF0aW9uLXoyJyk7XG4gIH1cblxuICBwcml2YXRlIF9yZXNldENsYXNzKCkge1xuICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdzdWJtaXQtc3VjY2VzcycsICdzdWJtaXQtZXJyb3InLCAnc3VibWl0LXByb2Nlc3MnLCAnbWF0LWVsZXZhdGlvbi16MicpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0U3ZnKHR5cGUpIHtcbiAgICBpZiAodHlwZSA9PT0gJ3N1Y2Nlc3MnKSB7XG4gICAgICByZXR1cm4gbmV3IERPTVBhcnNlcigpLnBhcnNlRnJvbVN0cmluZyhgPHN2ZyBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLXN1Y2Nlc3NcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgdmVyc2lvbj1cIjEuMVwiIHg9XCIwcHhcIiB5PVwiMHB4XCIgdmlld0JveD1cIjAgMCAzOCAzOFwiIHN0eWxlPVwiZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAzOCAzODtcIiB4bWw6c3BhY2U9XCJwcmVzZXJ2ZVwiIHdpZHRoPVwiMzhweFwiIGhlaWdodD1cIjM4cHhcIj5cbiAgICAgIDxnPlxuICAgICAgICA8ZyBjbGFzcz1cImNoZWNrXCI+XG4gICAgICAgICAgPGc+XG4gICAgICAgICAgICA8cGF0aCBkPVwiTTI5LjYsMTEuOWMtMC41LTAuNS0xLjMtMC41LTEuOCwwTDE2LjMsMjMuNGwtNi4xLTYuMWMtMC41LTAuNS0xLjMtMC41LTEuOCwwcy0wLjUsMS4zLDAsMS44bDcsN2MwLjMsMC4zLDAuNiwwLjQsMC45LDAuNHMwLjctMC4xLDAuOS0wLjRsMTIuNC0xMi40QzMwLjEsMTMuMiwzMC4xLDEyLjQsMjkuNiwxMS45elwiLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgIDwvZz5cbiAgICAgIDwvc3ZnPmAsICd0ZXh0L3htbCcpLmZpcnN0Q2hpbGQ7XG4gICAgfVxuXG4gICAgaWYgKHR5cGUgPT09ICdwcm9jZXNzJykge1xuICAgICAgcmV0dXJuIG5ldyBET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcoYDxzdmcgY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi1wcm9jZXNzXCIgd2lkdGg9XCIzOFwiIGhlaWdodD1cIjM4XCIgdmlld0JveD1cIjAgMCAzOCAzOFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgIDxnIGZpbGw9XCJub25lXCIgZmlsbC1ydWxlPVwiZXZlbm9kZFwiPlxuICAgICAgICA8ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMSAxKVwiIHN0cm9rZS13aWR0aD1cIjJcIj48Y2lyY2xlIHN0cm9rZS1vcGFjaXR5PVwiLjVcIiBjeD1cIjE4XCIgY3k9XCIxOFwiIHI9XCIxOFwiLz5cbiAgICAgICAgICA8cGF0aCBkPVwiTTM2IDE4YzAtOS45NC04LjA2LTE4LTE4LTE4XCI+PGFuaW1hdGVUcmFuc2Zvcm0gYXR0cmlidXRlTmFtZT1cInRyYW5zZm9ybVwiIHR5cGU9XCJyb3RhdGVcIiBmcm9tPVwiMCAxOCAxOFwiIHRvPVwiMzYwIDE4IDE4XCIgZHVyPVwiLjdzXCIgcmVwZWF0Q291bnQ9XCJpbmRlZmluaXRlXCIvPjwvcGF0aD5cbiAgICAgICAgPC9nPlxuICAgICAgPC9nPlxuICAgICAgPC9zdmc+YCwgJ3RleHQveG1sJykuZmlyc3RDaGlsZDtcbiAgICB9XG5cbiAgICBpZiAodHlwZSA9PT0gJ2Vycm9yJykge1xuICAgICAgcmV0dXJuIG5ldyBET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcoYDxzdmcgY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi1lcnJvclwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjM4cHhcIiBoZWlnaHQ9XCIzOHB4XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiPjxnPjxwYXRoIGQ9XCJNOCAxYzMuOSAwIDcgMy4xIDcgN3MtMy4xIDctNyA3LTctMy4xLTctNyAzLjEtNyA3LTd6TTggMGMtNC40IDAtOCAzLjYtOCA4czMuNiA4IDggOCA4LTMuNiA4LTgtMy42LTgtOC04djB6XCIgZGF0YS1vcmlnaW5hbD1cIiM0NDQ0NDRcIiBkYXRhLW9sZF9jb2xvcj1cIiM0NDQ0NDRcIi8+PHBhdGggZD1cIk0xMi4yIDEwLjhsLTIuOC0yLjggMi44LTIuOC0xLjQtMS40LTIuOCAyLjgtMi44LTIuOC0xLjQgMS40IDIuOCAyLjgtMi44IDIuOCAxLjQgMS40IDIuOC0yLjggMi44IDIuOHpcIi8+PC9nPiA8L3N2Zz5gLCAndGV4dC94bWwnKS5maXJzdENoaWxkO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,60 +1,60 @@
|
|
|
1
|
-
import { __decorate, __extends, __metadata } from "tslib";
|
|
2
|
-
import { Directive, Input } from '@angular/core';
|
|
3
|
-
import { FsControlDirective } from './control.directive';
|
|
4
|
-
import { VALIDATE_MESSAGE_PROVIDER } from '../../providers/validate-messages.provider';
|
|
5
|
-
var FsFormCompareDirective = /** @class */ (function (_super) {
|
|
6
|
-
__extends(FsFormCompareDirective, _super);
|
|
7
|
-
function FsFormCompareDirective() {
|
|
8
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
9
|
-
}
|
|
10
|
-
Object.defineProperty(FsFormCompareDirective.prototype, "validationMessage", {
|
|
11
|
-
set: function (value) {
|
|
12
|
-
this._validateMessages.compare = value;
|
|
13
|
-
},
|
|
14
|
-
enumerable: true,
|
|
15
|
-
configurable: true
|
|
16
|
-
});
|
|
17
|
-
FsFormCompareDirective.prototype.ngOnChanges = function () {
|
|
18
|
-
this._control.updateValueAndValidity();
|
|
19
|
-
};
|
|
20
|
-
FsFormCompareDirective.prototype.validate = function (control) {
|
|
21
|
-
if (this.fsFormCompare.value === this.elementRef.nativeElement.value) {
|
|
22
|
-
return null;
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
return { compare: true };
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
FsFormCompareDirective.prototype.ngAfterViewInit = function () {
|
|
29
|
-
var _this = this;
|
|
30
|
-
this.fsFormCompare.addEventListener('keyup', function () {
|
|
31
|
-
_this._control.updateValueAndValidity();
|
|
32
|
-
}, false);
|
|
33
|
-
};
|
|
34
|
-
FsFormCompareDirective.prototype.ngOnDestroy = function () {
|
|
35
|
-
var _this = this;
|
|
36
|
-
this.fsFormCompare.removeEventListener('keyup', function () {
|
|
37
|
-
_this._control.updateValueAndValidity();
|
|
38
|
-
}, false);
|
|
39
|
-
};
|
|
40
|
-
__decorate([
|
|
41
|
-
Input(),
|
|
42
|
-
__metadata("design:type", Object)
|
|
43
|
-
], FsFormCompareDirective.prototype, "fsFormCompare", void 0);
|
|
44
|
-
__decorate([
|
|
45
|
-
Input('fsFormCompareMessage'),
|
|
46
|
-
__metadata("design:type", String),
|
|
47
|
-
__metadata("design:paramtypes", [String])
|
|
48
|
-
], FsFormCompareDirective.prototype, "validationMessage", null);
|
|
49
|
-
FsFormCompareDirective = __decorate([
|
|
50
|
-
Directive({
|
|
51
|
-
selector: '[fsFormCompare]',
|
|
52
|
-
providers: [
|
|
53
|
-
VALIDATE_MESSAGE_PROVIDER,
|
|
54
|
-
],
|
|
55
|
-
})
|
|
56
|
-
], FsFormCompareDirective);
|
|
57
|
-
return FsFormCompareDirective;
|
|
58
|
-
}(FsControlDirective));
|
|
59
|
-
export { FsFormCompareDirective };
|
|
1
|
+
import { __decorate, __extends, __metadata } from "tslib";
|
|
2
|
+
import { Directive, Input } from '@angular/core';
|
|
3
|
+
import { FsControlDirective } from './control.directive';
|
|
4
|
+
import { VALIDATE_MESSAGE_PROVIDER } from '../../providers/validate-messages.provider';
|
|
5
|
+
var FsFormCompareDirective = /** @class */ (function (_super) {
|
|
6
|
+
__extends(FsFormCompareDirective, _super);
|
|
7
|
+
function FsFormCompareDirective() {
|
|
8
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
9
|
+
}
|
|
10
|
+
Object.defineProperty(FsFormCompareDirective.prototype, "validationMessage", {
|
|
11
|
+
set: function (value) {
|
|
12
|
+
this._validateMessages.compare = value;
|
|
13
|
+
},
|
|
14
|
+
enumerable: true,
|
|
15
|
+
configurable: true
|
|
16
|
+
});
|
|
17
|
+
FsFormCompareDirective.prototype.ngOnChanges = function () {
|
|
18
|
+
this._control.updateValueAndValidity();
|
|
19
|
+
};
|
|
20
|
+
FsFormCompareDirective.prototype.validate = function (control) {
|
|
21
|
+
if (this.fsFormCompare.value === this.elementRef.nativeElement.value) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
return { compare: true };
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
FsFormCompareDirective.prototype.ngAfterViewInit = function () {
|
|
29
|
+
var _this = this;
|
|
30
|
+
this.fsFormCompare.addEventListener('keyup', function () {
|
|
31
|
+
_this._control.updateValueAndValidity();
|
|
32
|
+
}, false);
|
|
33
|
+
};
|
|
34
|
+
FsFormCompareDirective.prototype.ngOnDestroy = function () {
|
|
35
|
+
var _this = this;
|
|
36
|
+
this.fsFormCompare.removeEventListener('keyup', function () {
|
|
37
|
+
_this._control.updateValueAndValidity();
|
|
38
|
+
}, false);
|
|
39
|
+
};
|
|
40
|
+
__decorate([
|
|
41
|
+
Input(),
|
|
42
|
+
__metadata("design:type", Object)
|
|
43
|
+
], FsFormCompareDirective.prototype, "fsFormCompare", void 0);
|
|
44
|
+
__decorate([
|
|
45
|
+
Input('fsFormCompareMessage'),
|
|
46
|
+
__metadata("design:type", String),
|
|
47
|
+
__metadata("design:paramtypes", [String])
|
|
48
|
+
], FsFormCompareDirective.prototype, "validationMessage", null);
|
|
49
|
+
FsFormCompareDirective = __decorate([
|
|
50
|
+
Directive({
|
|
51
|
+
selector: '[fsFormCompare]',
|
|
52
|
+
providers: [
|
|
53
|
+
VALIDATE_MESSAGE_PROVIDER,
|
|
54
|
+
],
|
|
55
|
+
})
|
|
56
|
+
], FsFormCompareDirective);
|
|
57
|
+
return FsFormCompareDirective;
|
|
58
|
+
}(FsControlDirective));
|
|
59
|
+
export { FsFormCompareDirective };
|
|
60
60
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZmlyZXN0aXRjaC9mb3JtLyIsInNvdXJjZXMiOlsiYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9jb21wYXJlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXVDLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3pELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBV3ZGO0lBQTRDLDBDQUFrQjtJQUE5RDs7SUFrQ0EsQ0FBQztJQTNCQyxzQkFBVyxxREFBaUI7YUFBNUIsVUFBNkIsS0FBYTtZQUN4QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUN6QyxDQUFDOzs7T0FBQTtJQUVNLDRDQUFXLEdBQWxCO1FBQ0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFTSx5Q0FBUSxHQUFmLFVBQWdCLE9BQXdCO1FBQ3RDLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFO1lBQ3BFLE9BQU8sSUFBSSxDQUFDO1NBQ2I7YUFBTTtZQUNMLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBRU0sZ0RBQWUsR0FBdEI7UUFBQSxpQkFJQztRQUhDLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO1lBQzNDLEtBQUksQ0FBQyxRQUFRLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUN6QyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDWixDQUFDO0lBRU0sNENBQVcsR0FBbEI7UUFBQSxpQkFJQztRQUhDLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFO1lBQzlDLEtBQUksQ0FBQyxRQUFRLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUN6QyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDWixDQUFDO0lBN0JEO1FBREMsS0FBSyxFQUFFOztpRUFDYTtJQUdyQjtRQURDLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQzs7O21FQUc3QjtJQVRVLHNCQUFzQjtRQU5sQyxTQUFTLENBQUM7WUFDVCxRQUFRLEVBQUUsaUJBQWlCO1lBQzNCLFNBQVMsRUFBRTtnQkFDVCx5QkFBeUI7YUFDMUI7U0FDRixDQUFDO09BQ1csc0JBQXNCLENBa0NsQztJQUFELDZCQUFDO0NBQUEsQUFsQ0QsQ0FBNEMsa0JBQWtCLEdBa0M3RDtTQWxDWSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRnNDb250cm9sRGlyZWN0aXZlIH0gZnJvbSAnLi9jb250cm9sLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBWQUxJREFURV9NRVNTQUdFX1BST1ZJREVSIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL3ZhbGlkYXRlLW1lc3NhZ2VzLnByb3ZpZGVyJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZzVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy92YWxpZGF0b3InO1xuXG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tmc0Zvcm1Db21wYXJlXScsXG4gIHByb3ZpZGVyczogW1xuICAgIFZBTElEQVRFX01FU1NBR0VfUFJPVklERVIsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZzRm9ybUNvbXBhcmVEaXJlY3RpdmUgZXh0ZW5kcyBGc0NvbnRyb2xEaXJlY3RpdmVcbiAgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgRnNWYWxpZGF0b3Ige1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmc0Zvcm1Db21wYXJlO1xuXG4gIEBJbnB1dCgnZnNGb3JtQ29tcGFyZU1lc3NhZ2UnKVxuICBwdWJsaWMgc2V0IHZhbGlkYXRpb25NZXNzYWdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl92YWxpZGF0ZU1lc3NhZ2VzLmNvbXBhcmUgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLl9jb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgfVxuXG4gIHB1YmxpYyB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgaWYgKHRoaXMuZnNGb3JtQ29tcGFyZS52YWx1ZSA9PT0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4geyBjb21wYXJlOiB0cnVlIH07XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmZzRm9ybUNvbXBhcmUuYWRkRXZlbnRMaXN0ZW5lcigna2V5dXAnLCAoKSA9PiB7XG4gICAgICB0aGlzLl9jb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB9LCBmYWxzZSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5mc0Zvcm1Db21wYXJlLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleXVwJywgKCkgPT4ge1xuICAgICAgdGhpcy5fY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgfSwgZmFsc2UpO1xuICB9XG59XG4iXX0=
|