@ngxs/form-plugin 3.8.1 → 3.8.2-dev.master-a75608e
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/README.md +1 -1
- package/esm2020/src/actions.mjs +61 -0
- package/esm2020/src/directive.mjs +176 -0
- package/esm2020/src/form.module.mjs +33 -0
- package/esm2020/src/form.plugin.mjs +64 -0
- package/esm2020/src/public_api.mjs +5 -0
- package/fesm2015/{ngxs-form-plugin.js → ngxs-form-plugin.mjs} +34 -63
- package/fesm2015/ngxs-form-plugin.mjs.map +1 -0
- package/fesm2020/ngxs-form-plugin.mjs +334 -0
- package/fesm2020/ngxs-form-plugin.mjs.map +1 -0
- package/package.json +26 -14
- package/src/actions.d.ts +10 -10
- package/src/directive.d.ts +3 -3
- package/src/form.module.d.ts +3 -3
- package/src/public_api.d.ts +2 -2
- package/bundles/ngxs-form-plugin.umd.js +0 -469
- package/bundles/ngxs-form-plugin.umd.js.map +0 -1
- package/esm2015/src/actions.js +0 -91
- package/esm2015/src/directive.js +0 -176
- package/esm2015/src/form.module.js +0 -32
- package/esm2015/src/form.plugin.js +0 -61
- package/esm2015/src/public_api.js +0 -5
- package/fesm2015/ngxs-form-plugin.js.map +0 -1
- package/ngxs-form-plugin.d.ts +0 -5
- /package/{esm2015/index.js → esm2020/index.mjs} +0 -0
- /package/{esm2015/ngxs-form-plugin.js → esm2020/ngxs-form-plugin.mjs} +0 -0
|
@@ -1,469 +0,0 @@
|
|
|
1
|
-
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@ngxs/store'), require('@angular/forms'), require('rxjs'), require('rxjs/operators')) :
|
|
3
|
-
typeof define === 'function' && define.amd ? define('@ngxs/form-plugin', ['exports', '@angular/core', '@ngxs/store', '@angular/forms', 'rxjs', 'rxjs/operators'], factory) :
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.ngxs = global.ngxs || {}, global.ngxs["form-plugin"] = {}), global.ng.core, global["ngxs-store"], global.ng.forms, global.rxjs, global.rxjs.operators));
|
|
5
|
-
})(this, (function (exports, i0, i1, i2, rxjs, operators) { 'use strict';
|
|
6
|
-
|
|
7
|
-
function _interopNamespace(e) {
|
|
8
|
-
if (e && e.__esModule) return e;
|
|
9
|
-
var n = Object.create(null);
|
|
10
|
-
if (e) {
|
|
11
|
-
Object.keys(e).forEach(function (k) {
|
|
12
|
-
if (k !== 'default') {
|
|
13
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
14
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
15
|
-
enumerable: true,
|
|
16
|
-
get: function () { return e[k]; }
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
n["default"] = e;
|
|
22
|
-
return Object.freeze(n);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
|
|
26
|
-
var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
|
|
27
|
-
var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
|
|
28
|
-
|
|
29
|
-
var UpdateFormStatus = /** @class */ (function () {
|
|
30
|
-
function UpdateFormStatus(payload) {
|
|
31
|
-
this.payload = payload;
|
|
32
|
-
}
|
|
33
|
-
Object.defineProperty(UpdateFormStatus, "type", {
|
|
34
|
-
get: function () {
|
|
35
|
-
// NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138
|
|
36
|
-
return '[Forms] Update Form Status';
|
|
37
|
-
},
|
|
38
|
-
enumerable: false,
|
|
39
|
-
configurable: true
|
|
40
|
-
});
|
|
41
|
-
return UpdateFormStatus;
|
|
42
|
-
}());
|
|
43
|
-
var UpdateFormValue = /** @class */ (function () {
|
|
44
|
-
function UpdateFormValue(payload) {
|
|
45
|
-
this.payload = payload;
|
|
46
|
-
}
|
|
47
|
-
Object.defineProperty(UpdateFormValue, "type", {
|
|
48
|
-
get: function () {
|
|
49
|
-
// NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138
|
|
50
|
-
return '[Forms] Update Form Value';
|
|
51
|
-
},
|
|
52
|
-
enumerable: false,
|
|
53
|
-
configurable: true
|
|
54
|
-
});
|
|
55
|
-
return UpdateFormValue;
|
|
56
|
-
}());
|
|
57
|
-
var UpdateForm = /** @class */ (function () {
|
|
58
|
-
function UpdateForm(payload) {
|
|
59
|
-
this.payload = payload;
|
|
60
|
-
}
|
|
61
|
-
Object.defineProperty(UpdateForm, "type", {
|
|
62
|
-
get: function () {
|
|
63
|
-
// NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138
|
|
64
|
-
return '[Forms] Update Form';
|
|
65
|
-
},
|
|
66
|
-
enumerable: false,
|
|
67
|
-
configurable: true
|
|
68
|
-
});
|
|
69
|
-
return UpdateForm;
|
|
70
|
-
}());
|
|
71
|
-
var UpdateFormDirty = /** @class */ (function () {
|
|
72
|
-
function UpdateFormDirty(payload) {
|
|
73
|
-
this.payload = payload;
|
|
74
|
-
}
|
|
75
|
-
Object.defineProperty(UpdateFormDirty, "type", {
|
|
76
|
-
get: function () {
|
|
77
|
-
// NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138
|
|
78
|
-
return '[Forms] Update Form Dirty';
|
|
79
|
-
},
|
|
80
|
-
enumerable: false,
|
|
81
|
-
configurable: true
|
|
82
|
-
});
|
|
83
|
-
return UpdateFormDirty;
|
|
84
|
-
}());
|
|
85
|
-
var SetFormDirty = /** @class */ (function () {
|
|
86
|
-
function SetFormDirty(payload) {
|
|
87
|
-
this.payload = payload;
|
|
88
|
-
}
|
|
89
|
-
Object.defineProperty(SetFormDirty, "type", {
|
|
90
|
-
get: function () {
|
|
91
|
-
// NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138
|
|
92
|
-
return '[Forms] Set Form Dirty';
|
|
93
|
-
},
|
|
94
|
-
enumerable: false,
|
|
95
|
-
configurable: true
|
|
96
|
-
});
|
|
97
|
-
return SetFormDirty;
|
|
98
|
-
}());
|
|
99
|
-
var SetFormPristine = /** @class */ (function () {
|
|
100
|
-
function SetFormPristine(payload) {
|
|
101
|
-
this.payload = payload;
|
|
102
|
-
}
|
|
103
|
-
Object.defineProperty(SetFormPristine, "type", {
|
|
104
|
-
get: function () {
|
|
105
|
-
// NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138
|
|
106
|
-
return '[Forms] Set Form Pristine';
|
|
107
|
-
},
|
|
108
|
-
enumerable: false,
|
|
109
|
-
configurable: true
|
|
110
|
-
});
|
|
111
|
-
return SetFormPristine;
|
|
112
|
-
}());
|
|
113
|
-
var UpdateFormErrors = /** @class */ (function () {
|
|
114
|
-
function UpdateFormErrors(payload) {
|
|
115
|
-
this.payload = payload;
|
|
116
|
-
}
|
|
117
|
-
Object.defineProperty(UpdateFormErrors, "type", {
|
|
118
|
-
get: function () {
|
|
119
|
-
// NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138
|
|
120
|
-
return '[Forms] Update Form Errors';
|
|
121
|
-
},
|
|
122
|
-
enumerable: false,
|
|
123
|
-
configurable: true
|
|
124
|
-
});
|
|
125
|
-
return UpdateFormErrors;
|
|
126
|
-
}());
|
|
127
|
-
var SetFormDisabled = /** @class */ (function () {
|
|
128
|
-
function SetFormDisabled(payload) {
|
|
129
|
-
this.payload = payload;
|
|
130
|
-
}
|
|
131
|
-
Object.defineProperty(SetFormDisabled, "type", {
|
|
132
|
-
get: function () {
|
|
133
|
-
// NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138
|
|
134
|
-
return '[Forms] Set Form Disabled';
|
|
135
|
-
},
|
|
136
|
-
enumerable: false,
|
|
137
|
-
configurable: true
|
|
138
|
-
});
|
|
139
|
-
return SetFormDisabled;
|
|
140
|
-
}());
|
|
141
|
-
var SetFormEnabled = /** @class */ (function () {
|
|
142
|
-
function SetFormEnabled(payload) {
|
|
143
|
-
this.payload = payload;
|
|
144
|
-
}
|
|
145
|
-
Object.defineProperty(SetFormEnabled, "type", {
|
|
146
|
-
get: function () {
|
|
147
|
-
// NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138
|
|
148
|
-
return '[Forms] Set Form Enabled';
|
|
149
|
-
},
|
|
150
|
-
enumerable: false,
|
|
151
|
-
configurable: true
|
|
152
|
-
});
|
|
153
|
-
return SetFormEnabled;
|
|
154
|
-
}());
|
|
155
|
-
var ResetForm = /** @class */ (function () {
|
|
156
|
-
function ResetForm(payload) {
|
|
157
|
-
this.payload = payload;
|
|
158
|
-
}
|
|
159
|
-
Object.defineProperty(ResetForm, "type", {
|
|
160
|
-
get: function () {
|
|
161
|
-
// NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138
|
|
162
|
-
return '[Forms] Reset Form';
|
|
163
|
-
},
|
|
164
|
-
enumerable: false,
|
|
165
|
-
configurable: true
|
|
166
|
-
});
|
|
167
|
-
return ResetForm;
|
|
168
|
-
}());
|
|
169
|
-
|
|
170
|
-
var NgxsFormPlugin = /** @class */ (function () {
|
|
171
|
-
function NgxsFormPlugin() {
|
|
172
|
-
}
|
|
173
|
-
NgxsFormPlugin.prototype.handle = function (state, event, next) {
|
|
174
|
-
var type = i1.getActionTypeFromInstance(event);
|
|
175
|
-
var nextState = state;
|
|
176
|
-
if (type === UpdateFormValue.type || type === UpdateForm.type || type === ResetForm.type) {
|
|
177
|
-
var value = event.payload.value;
|
|
178
|
-
var payloadValue = Array.isArray(value)
|
|
179
|
-
? value.slice()
|
|
180
|
-
: isObjectLike(value)
|
|
181
|
-
? Object.assign({}, value) : value;
|
|
182
|
-
var path = this.joinPathWithPropertyPath(event);
|
|
183
|
-
nextState = i1.setValue(nextState, path, payloadValue);
|
|
184
|
-
}
|
|
185
|
-
if (type === ResetForm.type) {
|
|
186
|
-
var model = i1.getValue(nextState, event.payload.path + ".model");
|
|
187
|
-
nextState = i1.setValue(nextState, "" + event.payload.path, { model: model });
|
|
188
|
-
}
|
|
189
|
-
if (type === UpdateFormStatus.type || type === UpdateForm.type) {
|
|
190
|
-
nextState = i1.setValue(nextState, event.payload.path + ".status", event.payload.status);
|
|
191
|
-
}
|
|
192
|
-
if (type === UpdateFormErrors.type || type === UpdateForm.type) {
|
|
193
|
-
nextState = i1.setValue(nextState, event.payload.path + ".errors", Object.assign({}, event.payload.errors));
|
|
194
|
-
}
|
|
195
|
-
if (type === UpdateFormDirty.type || type === UpdateForm.type) {
|
|
196
|
-
nextState = i1.setValue(nextState, event.payload.path + ".dirty", event.payload.dirty);
|
|
197
|
-
}
|
|
198
|
-
if (type === SetFormDirty.type) {
|
|
199
|
-
nextState = i1.setValue(nextState, event.payload + ".dirty", true);
|
|
200
|
-
}
|
|
201
|
-
if (type === SetFormPristine.type) {
|
|
202
|
-
nextState = i1.setValue(nextState, event.payload + ".dirty", false);
|
|
203
|
-
}
|
|
204
|
-
if (type === SetFormDisabled.type) {
|
|
205
|
-
nextState = i1.setValue(nextState, event.payload + ".disabled", true);
|
|
206
|
-
}
|
|
207
|
-
if (type === SetFormEnabled.type) {
|
|
208
|
-
nextState = i1.setValue(nextState, event.payload + ".disabled", false);
|
|
209
|
-
}
|
|
210
|
-
return next(nextState, event);
|
|
211
|
-
};
|
|
212
|
-
NgxsFormPlugin.prototype.joinPathWithPropertyPath = function (_a) {
|
|
213
|
-
var payload = _a.payload;
|
|
214
|
-
var path = payload.path + ".model";
|
|
215
|
-
if (payload.propertyPath) {
|
|
216
|
-
path += "." + payload.propertyPath;
|
|
217
|
-
}
|
|
218
|
-
return path;
|
|
219
|
-
};
|
|
220
|
-
return NgxsFormPlugin;
|
|
221
|
-
}());
|
|
222
|
-
/** @nocollapse */ NgxsFormPlugin.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NgxsFormPlugin, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
|
223
|
-
/** @nocollapse */ NgxsFormPlugin.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NgxsFormPlugin });
|
|
224
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NgxsFormPlugin, decorators: [{
|
|
225
|
-
type: i0.Injectable
|
|
226
|
-
}] });
|
|
227
|
-
function isObjectLike(target) {
|
|
228
|
-
return target !== null && typeof target === 'object';
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
var FormDirective = /** @class */ (function () {
|
|
232
|
-
function FormDirective(_actions$, _store, _formGroupDirective, _cd) {
|
|
233
|
-
this._actions$ = _actions$;
|
|
234
|
-
this._store = _store;
|
|
235
|
-
this._formGroupDirective = _formGroupDirective;
|
|
236
|
-
this._cd = _cd;
|
|
237
|
-
this.path = null;
|
|
238
|
-
this._debounce = 100;
|
|
239
|
-
this._clearDestroy = false;
|
|
240
|
-
this._updating = false;
|
|
241
|
-
this._destroy$ = new rxjs.Subject();
|
|
242
|
-
}
|
|
243
|
-
Object.defineProperty(FormDirective.prototype, "debounce", {
|
|
244
|
-
get: function () {
|
|
245
|
-
return this._debounce;
|
|
246
|
-
},
|
|
247
|
-
set: function (debounce) {
|
|
248
|
-
this._debounce = Number(debounce);
|
|
249
|
-
},
|
|
250
|
-
enumerable: false,
|
|
251
|
-
configurable: true
|
|
252
|
-
});
|
|
253
|
-
Object.defineProperty(FormDirective.prototype, "clearDestroy", {
|
|
254
|
-
get: function () {
|
|
255
|
-
return this._clearDestroy;
|
|
256
|
-
},
|
|
257
|
-
set: function (val) {
|
|
258
|
-
this._clearDestroy = val != null && "" + val !== 'false';
|
|
259
|
-
},
|
|
260
|
-
enumerable: false,
|
|
261
|
-
configurable: true
|
|
262
|
-
});
|
|
263
|
-
FormDirective.prototype.ngOnInit = function () {
|
|
264
|
-
var _this = this;
|
|
265
|
-
this._actions$
|
|
266
|
-
.pipe(i1.ofActionDispatched(ResetForm), operators.filter(function (action) { return action.payload.path === _this.path; }), operators.takeUntil(this._destroy$))
|
|
267
|
-
.subscribe(function (_a) {
|
|
268
|
-
var value = _a.payload.value;
|
|
269
|
-
_this.form.reset(value);
|
|
270
|
-
_this.updateFormStateWithRawValue(true);
|
|
271
|
-
_this._cd.markForCheck();
|
|
272
|
-
});
|
|
273
|
-
this.getStateStream(this.path + ".model").subscribe(function (model) {
|
|
274
|
-
if (_this._updating || !model) {
|
|
275
|
-
return;
|
|
276
|
-
}
|
|
277
|
-
_this.form.patchValue(model);
|
|
278
|
-
_this._cd.markForCheck();
|
|
279
|
-
});
|
|
280
|
-
this.getStateStream(this.path + ".dirty").subscribe(function (dirty) {
|
|
281
|
-
if (_this.form.dirty === dirty || typeof dirty !== 'boolean') {
|
|
282
|
-
return;
|
|
283
|
-
}
|
|
284
|
-
if (dirty) {
|
|
285
|
-
_this.form.markAsDirty();
|
|
286
|
-
}
|
|
287
|
-
else {
|
|
288
|
-
_this.form.markAsPristine();
|
|
289
|
-
}
|
|
290
|
-
_this._cd.markForCheck();
|
|
291
|
-
});
|
|
292
|
-
// On first state change, sync form model, status and dirty with state
|
|
293
|
-
this._store
|
|
294
|
-
.selectOnce(function (state) { return i1.getValue(state, _this.path); })
|
|
295
|
-
.subscribe(function () {
|
|
296
|
-
_this._store.dispatch([
|
|
297
|
-
new UpdateFormValue({
|
|
298
|
-
path: _this.path,
|
|
299
|
-
value: _this.form.getRawValue()
|
|
300
|
-
}),
|
|
301
|
-
new UpdateFormStatus({
|
|
302
|
-
path: _this.path,
|
|
303
|
-
status: _this.form.status
|
|
304
|
-
}),
|
|
305
|
-
new UpdateFormDirty({
|
|
306
|
-
path: _this.path,
|
|
307
|
-
dirty: _this.form.dirty
|
|
308
|
-
})
|
|
309
|
-
]);
|
|
310
|
-
});
|
|
311
|
-
this.getStateStream(this.path + ".disabled").subscribe(function (disabled) {
|
|
312
|
-
if (_this.form.disabled === disabled || typeof disabled !== 'boolean') {
|
|
313
|
-
return;
|
|
314
|
-
}
|
|
315
|
-
if (disabled) {
|
|
316
|
-
_this.form.disable();
|
|
317
|
-
}
|
|
318
|
-
else {
|
|
319
|
-
_this.form.enable();
|
|
320
|
-
}
|
|
321
|
-
_this._cd.markForCheck();
|
|
322
|
-
});
|
|
323
|
-
this._formGroupDirective
|
|
324
|
-
.valueChanges.pipe(operators.distinctUntilChanged(function (a, b) { return JSON.stringify(a) === JSON.stringify(b); }), this.debounceChange())
|
|
325
|
-
.subscribe(function () {
|
|
326
|
-
_this.updateFormStateWithRawValue();
|
|
327
|
-
});
|
|
328
|
-
this._formGroupDirective
|
|
329
|
-
.statusChanges.pipe(operators.distinctUntilChanged(), this.debounceChange())
|
|
330
|
-
.subscribe(function (status) {
|
|
331
|
-
_this._store.dispatch(new UpdateFormStatus({
|
|
332
|
-
status: status,
|
|
333
|
-
path: _this.path
|
|
334
|
-
}));
|
|
335
|
-
});
|
|
336
|
-
};
|
|
337
|
-
FormDirective.prototype.updateFormStateWithRawValue = function (withFormStatus) {
|
|
338
|
-
var _this = this;
|
|
339
|
-
if (this._updating)
|
|
340
|
-
return;
|
|
341
|
-
var value = this._formGroupDirective.control.getRawValue();
|
|
342
|
-
var actions = [
|
|
343
|
-
new UpdateFormValue({
|
|
344
|
-
path: this.path,
|
|
345
|
-
value: value
|
|
346
|
-
}),
|
|
347
|
-
new UpdateFormDirty({
|
|
348
|
-
path: this.path,
|
|
349
|
-
dirty: this._formGroupDirective.dirty
|
|
350
|
-
}),
|
|
351
|
-
new UpdateFormErrors({
|
|
352
|
-
path: this.path,
|
|
353
|
-
errors: this._formGroupDirective.errors
|
|
354
|
-
})
|
|
355
|
-
];
|
|
356
|
-
if (withFormStatus) {
|
|
357
|
-
actions.push(new UpdateFormStatus({
|
|
358
|
-
path: this.path,
|
|
359
|
-
status: this._formGroupDirective.status
|
|
360
|
-
}));
|
|
361
|
-
}
|
|
362
|
-
this._updating = true;
|
|
363
|
-
this._store.dispatch(actions).subscribe({
|
|
364
|
-
error: function () { return (_this._updating = false); },
|
|
365
|
-
complete: function () { return (_this._updating = false); }
|
|
366
|
-
});
|
|
367
|
-
};
|
|
368
|
-
FormDirective.prototype.ngOnDestroy = function () {
|
|
369
|
-
this._destroy$.next();
|
|
370
|
-
if (this.clearDestroy) {
|
|
371
|
-
this._store.dispatch(new UpdateForm({
|
|
372
|
-
path: this.path,
|
|
373
|
-
value: null,
|
|
374
|
-
dirty: null,
|
|
375
|
-
status: null,
|
|
376
|
-
errors: null
|
|
377
|
-
}));
|
|
378
|
-
}
|
|
379
|
-
};
|
|
380
|
-
FormDirective.prototype.debounceChange = function () {
|
|
381
|
-
var _this = this;
|
|
382
|
-
var skipDebounceTime = this._formGroupDirective.control.updateOn !== 'change' || this._debounce < 0;
|
|
383
|
-
return skipDebounceTime
|
|
384
|
-
? function (change) { return change.pipe(operators.takeUntil(_this._destroy$)); }
|
|
385
|
-
: function (change) { return change.pipe(operators.debounceTime(_this._debounce), operators.takeUntil(_this._destroy$)); };
|
|
386
|
-
};
|
|
387
|
-
Object.defineProperty(FormDirective.prototype, "form", {
|
|
388
|
-
get: function () {
|
|
389
|
-
return this._formGroupDirective.form;
|
|
390
|
-
},
|
|
391
|
-
enumerable: false,
|
|
392
|
-
configurable: true
|
|
393
|
-
});
|
|
394
|
-
FormDirective.prototype.getStateStream = function (path) {
|
|
395
|
-
return this._store.select(function (state) { return i1.getValue(state, path); }).pipe(operators.takeUntil(this._destroy$));
|
|
396
|
-
};
|
|
397
|
-
return FormDirective;
|
|
398
|
-
}());
|
|
399
|
-
/** @nocollapse */ FormDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FormDirective, deps: [{ token: i1__namespace.Actions }, { token: i1__namespace.Store }, { token: i2__namespace.FormGroupDirective }, { token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Directive });
|
|
400
|
-
/** @nocollapse */ FormDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: FormDirective, selector: "[ngxsForm]", inputs: { path: ["ngxsForm", "path"], debounce: ["ngxsFormDebounce", "debounce"], clearDestroy: ["ngxsFormClearOnDestroy", "clearDestroy"] }, ngImport: i0__namespace });
|
|
401
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FormDirective, decorators: [{
|
|
402
|
-
type: i0.Directive,
|
|
403
|
-
args: [{ selector: '[ngxsForm]' }]
|
|
404
|
-
}], ctorParameters: function () { return [{ type: i1__namespace.Actions }, { type: i1__namespace.Store }, { type: i2__namespace.FormGroupDirective }, { type: i0__namespace.ChangeDetectorRef }]; }, propDecorators: { path: [{
|
|
405
|
-
type: i0.Input,
|
|
406
|
-
args: ['ngxsForm']
|
|
407
|
-
}], debounce: [{
|
|
408
|
-
type: i0.Input,
|
|
409
|
-
args: ['ngxsFormDebounce']
|
|
410
|
-
}], clearDestroy: [{
|
|
411
|
-
type: i0.Input,
|
|
412
|
-
args: ['ngxsFormClearOnDestroy']
|
|
413
|
-
}] } });
|
|
414
|
-
|
|
415
|
-
var NgxsFormPluginModule = /** @class */ (function () {
|
|
416
|
-
function NgxsFormPluginModule() {
|
|
417
|
-
}
|
|
418
|
-
NgxsFormPluginModule.forRoot = function () {
|
|
419
|
-
return {
|
|
420
|
-
ngModule: NgxsFormPluginModule,
|
|
421
|
-
providers: [
|
|
422
|
-
{
|
|
423
|
-
provide: i1.NGXS_PLUGINS,
|
|
424
|
-
useClass: NgxsFormPlugin,
|
|
425
|
-
multi: true
|
|
426
|
-
}
|
|
427
|
-
]
|
|
428
|
-
};
|
|
429
|
-
};
|
|
430
|
-
return NgxsFormPluginModule;
|
|
431
|
-
}());
|
|
432
|
-
/** @nocollapse */ NgxsFormPluginModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NgxsFormPluginModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
|
|
433
|
-
/** @nocollapse */ NgxsFormPluginModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NgxsFormPluginModule, declarations: [FormDirective], imports: [i2.ReactiveFormsModule], exports: [FormDirective] });
|
|
434
|
-
/** @nocollapse */ NgxsFormPluginModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NgxsFormPluginModule, imports: [[i2.ReactiveFormsModule]] });
|
|
435
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NgxsFormPluginModule, decorators: [{
|
|
436
|
-
type: i0.NgModule,
|
|
437
|
-
args: [{
|
|
438
|
-
imports: [i2.ReactiveFormsModule],
|
|
439
|
-
declarations: [FormDirective],
|
|
440
|
-
exports: [FormDirective]
|
|
441
|
-
}]
|
|
442
|
-
}] });
|
|
443
|
-
|
|
444
|
-
/**
|
|
445
|
-
* The public api for consumers of @ngxs/form-plugin
|
|
446
|
-
*/
|
|
447
|
-
|
|
448
|
-
/**
|
|
449
|
-
* Generated bundle index. Do not edit.
|
|
450
|
-
*/
|
|
451
|
-
|
|
452
|
-
exports.NgxsFormPlugin = NgxsFormPlugin;
|
|
453
|
-
exports.NgxsFormPluginModule = NgxsFormPluginModule;
|
|
454
|
-
exports.ResetForm = ResetForm;
|
|
455
|
-
exports.SetFormDirty = SetFormDirty;
|
|
456
|
-
exports.SetFormDisabled = SetFormDisabled;
|
|
457
|
-
exports.SetFormEnabled = SetFormEnabled;
|
|
458
|
-
exports.SetFormPristine = SetFormPristine;
|
|
459
|
-
exports.UpdateForm = UpdateForm;
|
|
460
|
-
exports.UpdateFormDirty = UpdateFormDirty;
|
|
461
|
-
exports.UpdateFormErrors = UpdateFormErrors;
|
|
462
|
-
exports.UpdateFormStatus = UpdateFormStatus;
|
|
463
|
-
exports.UpdateFormValue = UpdateFormValue;
|
|
464
|
-
exports["ɵFormDirective"] = FormDirective;
|
|
465
|
-
|
|
466
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
467
|
-
|
|
468
|
-
}));
|
|
469
|
-
//# sourceMappingURL=ngxs-form-plugin.umd.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ngxs-form-plugin.umd.js","sources":["../../../packages/form-plugin/src/actions.ts","../../../packages/form-plugin/src/form.plugin.ts","../../../packages/form-plugin/src/directive.ts","../../../packages/form-plugin/src/form.module.ts","../../../packages/form-plugin/index.ts","../../../packages/form-plugin/ngxs-form-plugin.ts"],"sourcesContent":["export class UpdateFormStatus {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Update Form Status';\n }\n constructor(\n public payload: {\n status: string | null;\n path: string;\n }\n ) {}\n}\n\nexport class UpdateFormValue {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Update Form Value';\n }\n constructor(public payload: { value: any; path: string; propertyPath?: string }) {}\n}\n\nexport class UpdateForm {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Update Form';\n }\n constructor(\n public payload: {\n value: any;\n errors: { [k: string]: string } | null;\n dirty: boolean | null;\n status: string | null;\n path: string;\n }\n ) {}\n}\n\nexport class UpdateFormDirty {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Update Form Dirty';\n }\n constructor(public payload: { dirty: boolean | null; path: string }) {}\n}\n\nexport class SetFormDirty {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Set Form Dirty';\n }\n constructor(public payload: string) {}\n}\n\nexport class SetFormPristine {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Set Form Pristine';\n }\n constructor(public payload: string) {}\n}\n\nexport class UpdateFormErrors {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Update Form Errors';\n }\n constructor(public payload: { errors: { [k: string]: string } | null; path: string }) {}\n}\n\nexport class SetFormDisabled {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Set Form Disabled';\n }\n constructor(public payload: string) {}\n}\n\nexport class SetFormEnabled {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Set Form Enabled';\n }\n constructor(public payload: string) {}\n}\n\nexport class ResetForm {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Reset Form';\n }\n constructor(public payload: { path: string; value?: any }) {}\n}\n","import { Injectable } from '@angular/core';\nimport {\n getActionTypeFromInstance,\n getValue,\n NgxsNextPluginFn,\n NgxsPlugin,\n setValue\n} from '@ngxs/store';\nimport {\n ResetForm,\n SetFormDirty,\n SetFormDisabled,\n SetFormEnabled,\n SetFormPristine,\n UpdateForm,\n UpdateFormDirty,\n UpdateFormErrors,\n UpdateFormStatus,\n UpdateFormValue\n} from './actions';\n\n@Injectable()\nexport class NgxsFormPlugin implements NgxsPlugin {\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n const type = getActionTypeFromInstance(event);\n\n let nextState = state;\n\n if (type === UpdateFormValue.type || type === UpdateForm.type || type === ResetForm.type) {\n const { value } = event.payload;\n const payloadValue = Array.isArray(value)\n ? value.slice()\n : isObjectLike(value)\n ? { ...value }\n : value;\n const path = this.joinPathWithPropertyPath(event);\n nextState = setValue(nextState, path, payloadValue);\n }\n\n if (type === ResetForm.type) {\n const model = getValue(nextState, `${event.payload.path}.model`);\n nextState = setValue(nextState, `${event.payload.path}`, { model: model });\n }\n\n if (type === UpdateFormStatus.type || type === UpdateForm.type) {\n nextState = setValue(nextState, `${event.payload.path}.status`, event.payload.status);\n }\n\n if (type === UpdateFormErrors.type || type === UpdateForm.type) {\n nextState = setValue(nextState, `${event.payload.path}.errors`, {\n ...event.payload.errors\n });\n }\n\n if (type === UpdateFormDirty.type || type === UpdateForm.type) {\n nextState = setValue(nextState, `${event.payload.path}.dirty`, event.payload.dirty);\n }\n\n if (type === SetFormDirty.type) {\n nextState = setValue(nextState, `${event.payload}.dirty`, true);\n }\n\n if (type === SetFormPristine.type) {\n nextState = setValue(nextState, `${event.payload}.dirty`, false);\n }\n\n if (type === SetFormDisabled.type) {\n nextState = setValue(nextState, `${event.payload}.disabled`, true);\n }\n\n if (type === SetFormEnabled.type) {\n nextState = setValue(nextState, `${event.payload}.disabled`, false);\n }\n\n return next(nextState, event);\n }\n\n private joinPathWithPropertyPath({ payload }: UpdateFormValue): string {\n let path = `${payload.path}.model`;\n\n if (payload.propertyPath) {\n path += `.${payload.propertyPath}`;\n }\n\n return path;\n }\n}\n\nfunction isObjectLike(target: unknown): target is object {\n return target !== null && typeof target === 'object';\n}\n","import { ChangeDetectorRef, Directive, Input, OnDestroy, OnInit } from '@angular/core';\nimport { FormGroup, FormGroupDirective } from '@angular/forms';\nimport { Actions, getValue, ofActionDispatched, Store } from '@ngxs/store';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, filter, takeUntil } from 'rxjs/operators';\nimport {\n ResetForm,\n UpdateForm,\n UpdateFormDirty,\n UpdateFormErrors,\n UpdateFormStatus,\n UpdateFormValue\n} from './actions';\n\n@Directive({ selector: '[ngxsForm]' })\nexport class FormDirective implements OnInit, OnDestroy {\n @Input('ngxsForm')\n path: string = null!;\n\n @Input('ngxsFormDebounce')\n set debounce(debounce: string | number) {\n this._debounce = Number(debounce);\n }\n get debounce() {\n return this._debounce;\n }\n private _debounce = 100;\n\n @Input('ngxsFormClearOnDestroy')\n set clearDestroy(val: boolean) {\n this._clearDestroy = val != null && `${val}` !== 'false';\n }\n get clearDestroy(): boolean {\n return this._clearDestroy;\n }\n private _clearDestroy = false;\n\n private _updating = false;\n\n private readonly _destroy$ = new Subject<void>();\n\n constructor(\n private _actions$: Actions,\n private _store: Store,\n private _formGroupDirective: FormGroupDirective,\n private _cd: ChangeDetectorRef\n ) {}\n\n ngOnInit() {\n this._actions$\n .pipe(\n ofActionDispatched(ResetForm),\n filter((action: ResetForm) => action.payload.path === this.path),\n takeUntil(this._destroy$)\n )\n .subscribe(({ payload: { value } }: ResetForm) => {\n this.form.reset(value);\n this.updateFormStateWithRawValue(true);\n this._cd.markForCheck();\n });\n\n this.getStateStream(`${this.path}.model`).subscribe(model => {\n if (this._updating || !model) {\n return;\n }\n\n this.form.patchValue(model);\n this._cd.markForCheck();\n });\n\n this.getStateStream(`${this.path}.dirty`).subscribe(dirty => {\n if (this.form.dirty === dirty || typeof dirty !== 'boolean') {\n return;\n }\n\n if (dirty) {\n this.form.markAsDirty();\n } else {\n this.form.markAsPristine();\n }\n\n this._cd.markForCheck();\n });\n\n // On first state change, sync form model, status and dirty with state\n this._store\n .selectOnce(state => getValue(state, this.path))\n .subscribe(() => {\n this._store.dispatch([\n new UpdateFormValue({\n path: this.path,\n value: this.form.getRawValue()\n }),\n new UpdateFormStatus({\n path: this.path,\n status: this.form.status\n }),\n new UpdateFormDirty({\n path: this.path,\n dirty: this.form.dirty\n })\n ]);\n });\n\n this.getStateStream(`${this.path}.disabled`).subscribe(disabled => {\n if (this.form.disabled === disabled || typeof disabled !== 'boolean') {\n return;\n }\n\n if (disabled) {\n this.form.disable();\n } else {\n this.form.enable();\n }\n\n this._cd.markForCheck();\n });\n\n this._formGroupDirective\n .valueChanges!.pipe(\n distinctUntilChanged((a, b) => JSON.stringify(a) === JSON.stringify(b)),\n this.debounceChange()\n )\n .subscribe(() => {\n this.updateFormStateWithRawValue();\n });\n\n this._formGroupDirective\n .statusChanges!.pipe(distinctUntilChanged(), this.debounceChange())\n .subscribe((status: string) => {\n this._store.dispatch(\n new UpdateFormStatus({\n status,\n path: this.path\n })\n );\n });\n }\n\n updateFormStateWithRawValue(withFormStatus?: boolean) {\n if (this._updating) return;\n\n const value = this._formGroupDirective.control.getRawValue();\n\n const actions: any[] = [\n new UpdateFormValue({\n path: this.path,\n value\n }),\n new UpdateFormDirty({\n path: this.path,\n dirty: this._formGroupDirective.dirty\n }),\n new UpdateFormErrors({\n path: this.path,\n errors: this._formGroupDirective.errors\n })\n ];\n\n if (withFormStatus) {\n actions.push(\n new UpdateFormStatus({\n path: this.path,\n status: this._formGroupDirective.status\n })\n );\n }\n\n this._updating = true;\n this._store.dispatch(actions).subscribe({\n error: () => (this._updating = false),\n complete: () => (this._updating = false)\n });\n }\n\n ngOnDestroy() {\n this._destroy$.next();\n\n if (this.clearDestroy) {\n this._store.dispatch(\n new UpdateForm({\n path: this.path,\n value: null,\n dirty: null,\n status: null,\n errors: null\n })\n );\n }\n }\n\n private debounceChange() {\n const skipDebounceTime =\n this._formGroupDirective.control.updateOn !== 'change' || this._debounce < 0;\n\n return skipDebounceTime\n ? (change: Observable<any>) => change.pipe(takeUntil(this._destroy$))\n : (change: Observable<any>) =>\n change.pipe(debounceTime(this._debounce), takeUntil(this._destroy$));\n }\n\n private get form(): FormGroup {\n return this._formGroupDirective.form;\n }\n\n private getStateStream(path: string) {\n return this._store.select(state => getValue(state, path)).pipe(takeUntil(this._destroy$));\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { NGXS_PLUGINS } from '@ngxs/store';\nimport { NgxsFormPlugin } from './form.plugin';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FormDirective } from './directive';\n\n@NgModule({\n imports: [ReactiveFormsModule],\n declarations: [FormDirective],\n exports: [FormDirective]\n})\nexport class NgxsFormPluginModule {\n static forRoot(): ModuleWithProviders<NgxsFormPluginModule> {\n return {\n ngModule: NgxsFormPluginModule,\n providers: [\n {\n provide: NGXS_PLUGINS,\n useClass: NgxsFormPlugin,\n multi: true\n }\n ]\n };\n }\n}\n","/**\n * The public api for consumers of @ngxs/form-plugin\n */\nexport * from './src/public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["getActionTypeFromInstance","setValue","getValue","i0","Injectable","Subject","ofActionDispatched","filter","takeUntil","distinctUntilChanged","debounceTime","i1","i2","Directive","Input","NGXS_PLUGINS","ReactiveFormsModule","NgModule"],"mappings":"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"}
|
package/esm2015/src/actions.js
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
export class UpdateFormStatus {
|
|
2
|
-
constructor(payload) {
|
|
3
|
-
this.payload = payload;
|
|
4
|
-
}
|
|
5
|
-
static get type() {
|
|
6
|
-
// NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138
|
|
7
|
-
return '[Forms] Update Form Status';
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
export class UpdateFormValue {
|
|
11
|
-
constructor(payload) {
|
|
12
|
-
this.payload = payload;
|
|
13
|
-
}
|
|
14
|
-
static get type() {
|
|
15
|
-
// NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138
|
|
16
|
-
return '[Forms] Update Form Value';
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
export class UpdateForm {
|
|
20
|
-
constructor(payload) {
|
|
21
|
-
this.payload = payload;
|
|
22
|
-
}
|
|
23
|
-
static get type() {
|
|
24
|
-
// NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138
|
|
25
|
-
return '[Forms] Update Form';
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
export class UpdateFormDirty {
|
|
29
|
-
constructor(payload) {
|
|
30
|
-
this.payload = payload;
|
|
31
|
-
}
|
|
32
|
-
static get type() {
|
|
33
|
-
// NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138
|
|
34
|
-
return '[Forms] Update Form Dirty';
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
export class SetFormDirty {
|
|
38
|
-
constructor(payload) {
|
|
39
|
-
this.payload = payload;
|
|
40
|
-
}
|
|
41
|
-
static get type() {
|
|
42
|
-
// NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138
|
|
43
|
-
return '[Forms] Set Form Dirty';
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
export class SetFormPristine {
|
|
47
|
-
constructor(payload) {
|
|
48
|
-
this.payload = payload;
|
|
49
|
-
}
|
|
50
|
-
static get type() {
|
|
51
|
-
// NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138
|
|
52
|
-
return '[Forms] Set Form Pristine';
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
export class UpdateFormErrors {
|
|
56
|
-
constructor(payload) {
|
|
57
|
-
this.payload = payload;
|
|
58
|
-
}
|
|
59
|
-
static get type() {
|
|
60
|
-
// NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138
|
|
61
|
-
return '[Forms] Update Form Errors';
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
export class SetFormDisabled {
|
|
65
|
-
constructor(payload) {
|
|
66
|
-
this.payload = payload;
|
|
67
|
-
}
|
|
68
|
-
static get type() {
|
|
69
|
-
// NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138
|
|
70
|
-
return '[Forms] Set Form Disabled';
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
export class SetFormEnabled {
|
|
74
|
-
constructor(payload) {
|
|
75
|
-
this.payload = payload;
|
|
76
|
-
}
|
|
77
|
-
static get type() {
|
|
78
|
-
// NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138
|
|
79
|
-
return '[Forms] Set Form Enabled';
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
export class ResetForm {
|
|
83
|
-
constructor(payload) {
|
|
84
|
-
this.payload = payload;
|
|
85
|
-
}
|
|
86
|
-
static get type() {
|
|
87
|
-
// NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138
|
|
88
|
-
return '[Forms] Reset Form';
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2Zvcm0tcGx1Z2luL3NyYy9hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxnQkFBZ0I7SUFLM0IsWUFDUyxPQUdOO1FBSE0sWUFBTyxHQUFQLE9BQU8sQ0FHYjtJQUNBLENBQUM7SUFUSixNQUFNLEtBQUssSUFBSTtRQUNiLHNJQUFzSTtRQUN0SSxPQUFPLDRCQUE0QixDQUFDO0lBQ3RDLENBQUM7Q0FPRjtBQUVELE1BQU0sT0FBTyxlQUFlO0lBSzFCLFlBQW1CLE9BQTREO1FBQTVELFlBQU8sR0FBUCxPQUFPLENBQXFEO0lBQUcsQ0FBQztJQUpuRixNQUFNLEtBQUssSUFBSTtRQUNiLHNJQUFzSTtRQUN0SSxPQUFPLDJCQUEyQixDQUFDO0lBQ3JDLENBQUM7Q0FFRjtBQUVELE1BQU0sT0FBTyxVQUFVO0lBS3JCLFlBQ1MsT0FNTjtRQU5NLFlBQU8sR0FBUCxPQUFPLENBTWI7SUFDQSxDQUFDO0lBWkosTUFBTSxLQUFLLElBQUk7UUFDYixzSUFBc0k7UUFDdEksT0FBTyxxQkFBcUIsQ0FBQztJQUMvQixDQUFDO0NBVUY7QUFFRCxNQUFNLE9BQU8sZUFBZTtJQUsxQixZQUFtQixPQUFnRDtRQUFoRCxZQUFPLEdBQVAsT0FBTyxDQUF5QztJQUFHLENBQUM7SUFKdkUsTUFBTSxLQUFLLElBQUk7UUFDYixzSUFBc0k7UUFDdEksT0FBTywyQkFBMkIsQ0FBQztJQUNyQyxDQUFDO0NBRUY7QUFFRCxNQUFNLE9BQU8sWUFBWTtJQUt2QixZQUFtQixPQUFlO1FBQWYsWUFBTyxHQUFQLE9BQU8sQ0FBUTtJQUFHLENBQUM7SUFKdEMsTUFBTSxLQUFLLElBQUk7UUFDYixzSUFBc0k7UUFDdEksT0FBTyx3QkFBd0IsQ0FBQztJQUNsQyxDQUFDO0NBRUY7QUFFRCxNQUFNLE9BQU8sZUFBZTtJQUsxQixZQUFtQixPQUFlO1FBQWYsWUFBTyxHQUFQLE9BQU8sQ0FBUTtJQUFHLENBQUM7SUFKdEMsTUFBTSxLQUFLLElBQUk7UUFDYixzSUFBc0k7UUFDdEksT0FBTywyQkFBMkIsQ0FBQztJQUNyQyxDQUFDO0NBRUY7QUFFRCxNQUFNLE9BQU8sZ0JBQWdCO0lBSzNCLFlBQW1CLE9BQWlFO1FBQWpFLFlBQU8sR0FBUCxPQUFPLENBQTBEO0lBQUcsQ0FBQztJQUp4RixNQUFNLEtBQUssSUFBSTtRQUNiLHNJQUFzSTtRQUN0SSxPQUFPLDRCQUE0QixDQUFDO0lBQ3RDLENBQUM7Q0FFRjtBQUVELE1BQU0sT0FBTyxlQUFlO0lBSzFCLFlBQW1CLE9BQWU7UUFBZixZQUFPLEdBQVAsT0FBTyxDQUFRO0lBQUcsQ0FBQztJQUp0QyxNQUFNLEtBQUssSUFBSTtRQUNiLHNJQUFzSTtRQUN0SSxPQUFPLDJCQUEyQixDQUFDO0lBQ3JDLENBQUM7Q0FFRjtBQUVELE1BQU0sT0FBTyxjQUFjO0lBS3pCLFlBQW1CLE9BQWU7UUFBZixZQUFPLEdBQVAsT0FBTyxDQUFRO0lBQUcsQ0FBQztJQUp0QyxNQUFNLEtBQUssSUFBSTtRQUNiLHNJQUFzSTtRQUN0SSxPQUFPLDBCQUEwQixDQUFDO0lBQ3BDLENBQUM7Q0FFRjtBQUVELE1BQU0sT0FBTyxTQUFTO0lBS3BCLFlBQW1CLE9BQXNDO1FBQXRDLFlBQU8sR0FBUCxPQUFPLENBQStCO0lBQUcsQ0FBQztJQUo3RCxNQUFNLEtBQUssSUFBSTtRQUNiLHNJQUFzSTtRQUN0SSxPQUFPLG9CQUFvQixDQUFDO0lBQzlCLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBVcGRhdGVGb3JtU3RhdHVzIHtcbiAgc3RhdGljIGdldCB0eXBlKCkge1xuICAgIC8vIE5PVEU6IE5vdCBuZWNlc3NhcnkgdG8gZGVjbGFyZSB0aGUgdHlwZSBpbiB0aGlzIHdheSBpbiB5b3VyIGNvZGUuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vbmd4cy9zdG9yZS9wdWxsLzY0NCNpc3N1ZWNvbW1lbnQtNDM2MDAzMTM4XG4gICAgcmV0dXJuICdbRm9ybXNdIFVwZGF0ZSBGb3JtIFN0YXR1cyc7XG4gIH1cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHBheWxvYWQ6IHtcbiAgICAgIHN0YXR1czogc3RyaW5nIHwgbnVsbDtcbiAgICAgIHBhdGg6IHN0cmluZztcbiAgICB9XG4gICkge31cbn1cblxuZXhwb3J0IGNsYXNzIFVwZGF0ZUZvcm1WYWx1ZSB7XG4gIHN0YXRpYyBnZXQgdHlwZSgpIHtcbiAgICAvLyBOT1RFOiBOb3QgbmVjZXNzYXJ5IHRvIGRlY2xhcmUgdGhlIHR5cGUgaW4gdGhpcyB3YXkgaW4geW91ciBjb2RlLiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL25neHMvc3RvcmUvcHVsbC82NDQjaXNzdWVjb21tZW50LTQzNjAwMzEzOFxuICAgIHJldHVybiAnW0Zvcm1zXSBVcGRhdGUgRm9ybSBWYWx1ZSc7XG4gIH1cbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IHsgdmFsdWU6IGFueTsgcGF0aDogc3RyaW5nOyBwcm9wZXJ0eVBhdGg/OiBzdHJpbmcgfSkge31cbn1cblxuZXhwb3J0IGNsYXNzIFVwZGF0ZUZvcm0ge1xuICBzdGF0aWMgZ2V0IHR5cGUoKSB7XG4gICAgLy8gTk9URTogTm90IG5lY2Vzc2FyeSB0byBkZWNsYXJlIHRoZSB0eXBlIGluIHRoaXMgd2F5IGluIHlvdXIgY29kZS4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9uZ3hzL3N0b3JlL3B1bGwvNjQ0I2lzc3VlY29tbWVudC00MzYwMDMxMzhcbiAgICByZXR1cm4gJ1tGb3Jtc10gVXBkYXRlIEZvcm0nO1xuICB9XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBwYXlsb2FkOiB7XG4gICAgICB2YWx1ZTogYW55O1xuICAgICAgZXJyb3JzOiB7IFtrOiBzdHJpbmddOiBzdHJpbmcgfSB8IG51bGw7XG4gICAgICBkaXJ0eTogYm9vbGVhbiB8IG51bGw7XG4gICAgICBzdGF0dXM6IHN0cmluZyB8IG51bGw7XG4gICAgICBwYXRoOiBzdHJpbmc7XG4gICAgfVxuICApIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBVcGRhdGVGb3JtRGlydHkge1xuICBzdGF0aWMgZ2V0IHR5cGUoKSB7XG4gICAgLy8gTk9URTogTm90IG5lY2Vzc2FyeSB0byBkZWNsYXJlIHRoZSB0eXBlIGluIHRoaXMgd2F5IGluIHlvdXIgY29kZS4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9uZ3hzL3N0b3JlL3B1bGwvNjQ0I2lzc3VlY29tbWVudC00MzYwMDMxMzhcbiAgICByZXR1cm4gJ1tGb3Jtc10gVXBkYXRlIEZvcm0gRGlydHknO1xuICB9XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiB7IGRpcnR5OiBib29sZWFuIHwgbnVsbDsgcGF0aDogc3RyaW5nIH0pIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBTZXRGb3JtRGlydHkge1xuICBzdGF0aWMgZ2V0IHR5cGUoKSB7XG4gICAgLy8gTk9URTogTm90IG5lY2Vzc2FyeSB0byBkZWNsYXJlIHRoZSB0eXBlIGluIHRoaXMgd2F5IGluIHlvdXIgY29kZS4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9uZ3hzL3N0b3JlL3B1bGwvNjQ0I2lzc3VlY29tbWVudC00MzYwMDMxMzhcbiAgICByZXR1cm4gJ1tGb3Jtc10gU2V0IEZvcm0gRGlydHknO1xuICB9XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBzdHJpbmcpIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBTZXRGb3JtUHJpc3RpbmUge1xuICBzdGF0aWMgZ2V0IHR5cGUoKSB7XG4gICAgLy8gTk9URTogTm90IG5lY2Vzc2FyeSB0byBkZWNsYXJlIHRoZSB0eXBlIGluIHRoaXMgd2F5IGluIHlvdXIgY29kZS4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9uZ3hzL3N0b3JlL3B1bGwvNjQ0I2lzc3VlY29tbWVudC00MzYwMDMxMzhcbiAgICByZXR1cm4gJ1tGb3Jtc10gU2V0IEZvcm0gUHJpc3RpbmUnO1xuICB9XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBzdHJpbmcpIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBVcGRhdGVGb3JtRXJyb3JzIHtcbiAgc3RhdGljIGdldCB0eXBlKCkge1xuICAgIC8vIE5PVEU6IE5vdCBuZWNlc3NhcnkgdG8gZGVjbGFyZSB0aGUgdHlwZSBpbiB0aGlzIHdheSBpbiB5b3VyIGNvZGUuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vbmd4cy9zdG9yZS9wdWxsLzY0NCNpc3N1ZWNvbW1lbnQtNDM2MDAzMTM4XG4gICAgcmV0dXJuICdbRm9ybXNdIFVwZGF0ZSBGb3JtIEVycm9ycyc7XG4gIH1cbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IHsgZXJyb3JzOiB7IFtrOiBzdHJpbmddOiBzdHJpbmcgfSB8IG51bGw7IHBhdGg6IHN0cmluZyB9KSB7fVxufVxuXG5leHBvcnQgY2xhc3MgU2V0Rm9ybURpc2FibGVkIHtcbiAgc3RhdGljIGdldCB0eXBlKCkge1xuICAgIC8vIE5PVEU6IE5vdCBuZWNlc3NhcnkgdG8gZGVjbGFyZSB0aGUgdHlwZSBpbiB0aGlzIHdheSBpbiB5b3VyIGNvZGUuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vbmd4cy9zdG9yZS9wdWxsLzY0NCNpc3N1ZWNvbW1lbnQtNDM2MDAzMTM4XG4gICAgcmV0dXJuICdbRm9ybXNdIFNldCBGb3JtIERpc2FibGVkJztcbiAgfVxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogc3RyaW5nKSB7fVxufVxuXG5leHBvcnQgY2xhc3MgU2V0Rm9ybUVuYWJsZWQge1xuICBzdGF0aWMgZ2V0IHR5cGUoKSB7XG4gICAgLy8gTk9URTogTm90IG5lY2Vzc2FyeSB0byBkZWNsYXJlIHRoZSB0eXBlIGluIHRoaXMgd2F5IGluIHlvdXIgY29kZS4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9uZ3hzL3N0b3JlL3B1bGwvNjQ0I2lzc3VlY29tbWVudC00MzYwMDMxMzhcbiAgICByZXR1cm4gJ1tGb3Jtc10gU2V0IEZvcm0gRW5hYmxlZCc7XG4gIH1cbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IHN0cmluZykge31cbn1cblxuZXhwb3J0IGNsYXNzIFJlc2V0Rm9ybSB7XG4gIHN0YXRpYyBnZXQgdHlwZSgpIHtcbiAgICAvLyBOT1RFOiBOb3QgbmVjZXNzYXJ5IHRvIGRlY2xhcmUgdGhlIHR5cGUgaW4gdGhpcyB3YXkgaW4geW91ciBjb2RlLiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL25neHMvc3RvcmUvcHVsbC82NDQjaXNzdWVjb21tZW50LTQzNjAwMzEzOFxuICAgIHJldHVybiAnW0Zvcm1zXSBSZXNldCBGb3JtJztcbiAgfVxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogeyBwYXRoOiBzdHJpbmc7IHZhbHVlPzogYW55IH0pIHt9XG59XG4iXX0=
|