ngx-form-draft 2.2.9 → 2.2.11
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/LICENSE +21 -21
- package/README.md +206 -206
- package/esm2020/form-draft-banner.component.mjs +84 -84
- package/esm2020/form-draft.directive.mjs +268 -259
- package/esm2020/form-draft.service.mjs +92 -67
- package/esm2020/index.mjs +4 -4
- package/esm2020/ngx-form-draft.mjs +4 -4
- package/esm2020/ngx-form-draft.module.mjs +19 -19
- package/fesm2015/ngx-form-draft.mjs +446 -411
- package/fesm2015/ngx-form-draft.mjs.map +1 -1
- package/fesm2020/ngx-form-draft.mjs +439 -405
- package/fesm2020/ngx-form-draft.mjs.map +1 -1
- package/form-draft-banner.component.d.ts +14 -14
- package/form-draft.directive.d.ts +56 -51
- package/form-draft.service.d.ts +35 -17
- package/index.d.ts +4 -4
- package/ngx-form-draft.module.d.ts +9 -9
- package/package.json +24 -2
|
@@ -1,67 +1,92 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class FormDraftService {
|
|
4
|
-
constructor() {
|
|
5
|
-
this.STORAGE_PREFIX = 'form_draft_';
|
|
6
|
-
this.MAX_AGE_MS = 7 * 24 * 60 * 60 * 1000;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
localStorage.
|
|
40
|
-
}
|
|
41
|
-
catch (e) {
|
|
42
|
-
console.warn('[FormDraft] Could not
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class FormDraftService {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.STORAGE_PREFIX = 'form_draft_';
|
|
6
|
+
this.MAX_AGE_MS = 7 * 24 * 60 * 60 * 1000;
|
|
7
|
+
/** Registry of formId -> reset callback (used by directive to reset form + banner) */
|
|
8
|
+
this.resetRegistry = new Map();
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Register a callback to reset the form and draft UI for the given formId.
|
|
12
|
+
* Called by the directive; apps should use clearAndReset(formId) instead.
|
|
13
|
+
*/
|
|
14
|
+
registerReset(formId, resetFn) {
|
|
15
|
+
this.resetRegistry.set(formId, resetFn);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Unregister the reset callback for the given formId.
|
|
19
|
+
* Called by the directive on destroy.
|
|
20
|
+
*/
|
|
21
|
+
unregisterReset(formId) {
|
|
22
|
+
this.resetRegistry.delete(formId);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Clear the draft from storage and, if a directive is registered for this formId,
|
|
26
|
+
* reset the form and dismiss the draft banner in one call.
|
|
27
|
+
* Use this on form submit to clear local storage and reset the form in one line.
|
|
28
|
+
*/
|
|
29
|
+
clearAndReset(formId) {
|
|
30
|
+
this.clear(formId);
|
|
31
|
+
this.resetRegistry.get(formId)?.();
|
|
32
|
+
}
|
|
33
|
+
buildKey(formId) {
|
|
34
|
+
return `${this.STORAGE_PREFIX}${formId}`;
|
|
35
|
+
}
|
|
36
|
+
save(formId, values) {
|
|
37
|
+
try {
|
|
38
|
+
const draft = { values, savedAt: Date.now(), formId };
|
|
39
|
+
localStorage.setItem(this.buildKey(formId), JSON.stringify(draft));
|
|
40
|
+
}
|
|
41
|
+
catch (e) {
|
|
42
|
+
console.warn('[FormDraft] Could not save draft:', e);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
load(formId) {
|
|
46
|
+
try {
|
|
47
|
+
const raw = localStorage.getItem(this.buildKey(formId));
|
|
48
|
+
if (!raw)
|
|
49
|
+
return null;
|
|
50
|
+
const draft = JSON.parse(raw);
|
|
51
|
+
if (Date.now() - draft.savedAt > this.MAX_AGE_MS) {
|
|
52
|
+
this.clear(formId);
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
return draft;
|
|
56
|
+
}
|
|
57
|
+
catch (e) {
|
|
58
|
+
console.warn('[FormDraft] Could not load draft:', e);
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
clear(formId) {
|
|
63
|
+
try {
|
|
64
|
+
localStorage.removeItem(this.buildKey(formId));
|
|
65
|
+
}
|
|
66
|
+
catch (e) {
|
|
67
|
+
console.warn('[FormDraft] Could not clear draft:', e);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
formatTimestamp(timestamp) {
|
|
71
|
+
const seconds = Math.floor((Date.now() - timestamp) / 1000);
|
|
72
|
+
if (seconds < 60)
|
|
73
|
+
return 'just now';
|
|
74
|
+
const minutes = Math.floor(seconds / 60);
|
|
75
|
+
if (minutes < 60)
|
|
76
|
+
return `${minutes}m ago`;
|
|
77
|
+
const hours = Math.floor(minutes / 60);
|
|
78
|
+
if (hours < 24)
|
|
79
|
+
return `${hours}h ago`;
|
|
80
|
+
const days = Math.floor(hours / 24);
|
|
81
|
+
return `${days}d ago`;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
FormDraftService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FormDraftService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
85
|
+
FormDraftService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FormDraftService, providedIn: 'root' });
|
|
86
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FormDraftService, decorators: [{
|
|
87
|
+
type: Injectable,
|
|
88
|
+
args: [{
|
|
89
|
+
providedIn: 'root'
|
|
90
|
+
}]
|
|
91
|
+
}] });
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1kcmFmdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Zvcm0tZHJhZnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVczQyxNQUFNLE9BQU8sZ0JBQWdCO0lBSDdCO1FBSW1CLG1CQUFjLEdBQUcsYUFBYSxDQUFDO1FBQy9CLGVBQVUsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBRXRELHNGQUFzRjtRQUM5RSxrQkFBYSxHQUFHLElBQUksR0FBRyxFQUFzQixDQUFDO0tBNEV2RDtJQTFFQzs7O09BR0c7SUFDSCxhQUFhLENBQUMsTUFBYyxFQUFFLE9BQW1CO1FBQy9DLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsZUFBZSxDQUFDLE1BQWM7UUFDNUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxhQUFhLENBQUMsTUFBYztRQUMxQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRU8sUUFBUSxDQUFDLE1BQWM7UUFDN0IsT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQUksQ0FBQyxNQUFjLEVBQUUsTUFBMkI7UUFDOUMsSUFBSTtZQUNGLE1BQU0sS0FBSyxHQUFrQixFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3JFLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDcEU7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUNBQW1DLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDdEQ7SUFDSCxDQUFDO0lBRUQsSUFBSSxDQUFDLE1BQWM7UUFDakIsSUFBSTtZQUNGLE1BQU0sR0FBRyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ3hELElBQUksQ0FBQyxHQUFHO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1lBRXRCLE1BQU0sS0FBSyxHQUFrQixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzdDLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDaEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDbkIsT0FBTyxJQUFJLENBQUM7YUFDYjtZQUNELE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUNBQW1DLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDckQsT0FBTyxJQUFJLENBQUM7U0FDYjtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsTUFBYztRQUNsQixJQUFJO1lBQ0YsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7U0FDaEQ7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLE9BQU8sQ0FBQyxJQUFJLENBQUMsb0NBQW9DLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDdkQ7SUFDSCxDQUFDO0lBRUQsZUFBZSxDQUFDLFNBQWlCO1FBQy9CLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDNUQsSUFBSSxPQUFPLEdBQUcsRUFBRTtZQUFFLE9BQU8sVUFBVSxDQUFDO1FBQ3BDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLElBQUksT0FBTyxHQUFHLEVBQUU7WUFBRSxPQUFPLEdBQUcsT0FBTyxPQUFPLENBQUM7UUFDM0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDdkMsSUFBSSxLQUFLLEdBQUcsRUFBRTtZQUFFLE9BQU8sR0FBRyxLQUFLLE9BQU8sQ0FBQztRQUN2QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNwQyxPQUFPLEdBQUcsSUFBSSxPQUFPLENBQUM7SUFDeEIsQ0FBQzs7NkdBaEZVLGdCQUFnQjtpSEFBaEIsZ0JBQWdCLGNBRmYsTUFBTTsyRkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGb3JtRHJhZnREYXRhIHtcclxuICB2YWx1ZXM6IFJlY29yZDxzdHJpbmcsIGFueT47XHJcbiAgc2F2ZWRBdDogbnVtYmVyO1xyXG4gIGZvcm1JZDogc3RyaW5nO1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtRHJhZnRTZXJ2aWNlIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IFNUT1JBR0VfUFJFRklYID0gJ2Zvcm1fZHJhZnRfJztcclxuICBwcml2YXRlIHJlYWRvbmx5IE1BWF9BR0VfTVMgPSA3ICogMjQgKiA2MCAqIDYwICogMTAwMDtcclxuXHJcbiAgLyoqIFJlZ2lzdHJ5IG9mIGZvcm1JZCAtPiByZXNldCBjYWxsYmFjayAodXNlZCBieSBkaXJlY3RpdmUgdG8gcmVzZXQgZm9ybSArIGJhbm5lcikgKi9cclxuICBwcml2YXRlIHJlc2V0UmVnaXN0cnkgPSBuZXcgTWFwPHN0cmluZywgKCkgPT4gdm9pZD4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogUmVnaXN0ZXIgYSBjYWxsYmFjayB0byByZXNldCB0aGUgZm9ybSBhbmQgZHJhZnQgVUkgZm9yIHRoZSBnaXZlbiBmb3JtSWQuXHJcbiAgICogQ2FsbGVkIGJ5IHRoZSBkaXJlY3RpdmU7IGFwcHMgc2hvdWxkIHVzZSBjbGVhckFuZFJlc2V0KGZvcm1JZCkgaW5zdGVhZC5cclxuICAgKi9cclxuICByZWdpc3RlclJlc2V0KGZvcm1JZDogc3RyaW5nLCByZXNldEZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlc2V0UmVnaXN0cnkuc2V0KGZvcm1JZCwgcmVzZXRGbik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVbnJlZ2lzdGVyIHRoZSByZXNldCBjYWxsYmFjayBmb3IgdGhlIGdpdmVuIGZvcm1JZC5cclxuICAgKiBDYWxsZWQgYnkgdGhlIGRpcmVjdGl2ZSBvbiBkZXN0cm95LlxyXG4gICAqL1xyXG4gIHVucmVnaXN0ZXJSZXNldChmb3JtSWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5yZXNldFJlZ2lzdHJ5LmRlbGV0ZShmb3JtSWQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2xlYXIgdGhlIGRyYWZ0IGZyb20gc3RvcmFnZSBhbmQsIGlmIGEgZGlyZWN0aXZlIGlzIHJlZ2lzdGVyZWQgZm9yIHRoaXMgZm9ybUlkLFxyXG4gICAqIHJlc2V0IHRoZSBmb3JtIGFuZCBkaXNtaXNzIHRoZSBkcmFmdCBiYW5uZXIgaW4gb25lIGNhbGwuXHJcbiAgICogVXNlIHRoaXMgb24gZm9ybSBzdWJtaXQgdG8gY2xlYXIgbG9jYWwgc3RvcmFnZSBhbmQgcmVzZXQgdGhlIGZvcm0gaW4gb25lIGxpbmUuXHJcbiAgICovXHJcbiAgY2xlYXJBbmRSZXNldChmb3JtSWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5jbGVhcihmb3JtSWQpO1xyXG4gICAgdGhpcy5yZXNldFJlZ2lzdHJ5LmdldChmb3JtSWQpPy4oKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRLZXkoZm9ybUlkOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGAke3RoaXMuU1RPUkFHRV9QUkVGSVh9JHtmb3JtSWR9YDtcclxuICB9XHJcblxyXG4gIHNhdmUoZm9ybUlkOiBzdHJpbmcsIHZhbHVlczogUmVjb3JkPHN0cmluZywgYW55Pik6IHZvaWQge1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgZHJhZnQ6IEZvcm1EcmFmdERhdGEgPSB7IHZhbHVlcywgc2F2ZWRBdDogRGF0ZS5ub3coKSwgZm9ybUlkIH07XHJcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuYnVpbGRLZXkoZm9ybUlkKSwgSlNPTi5zdHJpbmdpZnkoZHJhZnQpKTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgY29uc29sZS53YXJuKCdbRm9ybURyYWZ0XSBDb3VsZCBub3Qgc2F2ZSBkcmFmdDonLCBlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGxvYWQoZm9ybUlkOiBzdHJpbmcpOiBGb3JtRHJhZnREYXRhIHwgbnVsbCB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCByYXcgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmJ1aWxkS2V5KGZvcm1JZCkpO1xyXG4gICAgICBpZiAoIXJhdykgcmV0dXJuIG51bGw7XHJcblxyXG4gICAgICBjb25zdCBkcmFmdDogRm9ybURyYWZ0RGF0YSA9IEpTT04ucGFyc2UocmF3KTtcclxuICAgICAgaWYgKERhdGUubm93KCkgLSBkcmFmdC5zYXZlZEF0ID4gdGhpcy5NQVhfQUdFX01TKSB7XHJcbiAgICAgICAgdGhpcy5jbGVhcihmb3JtSWQpO1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBkcmFmdDtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgY29uc29sZS53YXJuKCdbRm9ybURyYWZ0XSBDb3VsZCBub3QgbG9hZCBkcmFmdDonLCBlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbGVhcihmb3JtSWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdHJ5IHtcclxuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy5idWlsZEtleShmb3JtSWQpKTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgY29uc29sZS53YXJuKCdbRm9ybURyYWZ0XSBDb3VsZCBub3QgY2xlYXIgZHJhZnQ6JywgZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmb3JtYXRUaW1lc3RhbXAodGltZXN0YW1wOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgY29uc3Qgc2Vjb25kcyA9IE1hdGguZmxvb3IoKERhdGUubm93KCkgLSB0aW1lc3RhbXApIC8gMTAwMCk7XHJcbiAgICBpZiAoc2Vjb25kcyA8IDYwKSByZXR1cm4gJ2p1c3Qgbm93JztcclxuICAgIGNvbnN0IG1pbnV0ZXMgPSBNYXRoLmZsb29yKHNlY29uZHMgLyA2MCk7XHJcbiAgICBpZiAobWludXRlcyA8IDYwKSByZXR1cm4gYCR7bWludXRlc31tIGFnb2A7XHJcbiAgICBjb25zdCBob3VycyA9IE1hdGguZmxvb3IobWludXRlcyAvIDYwKTtcclxuICAgIGlmIChob3VycyA8IDI0KSByZXR1cm4gYCR7aG91cnN9aCBhZ29gO1xyXG4gICAgY29uc3QgZGF5cyA9IE1hdGguZmxvb3IoaG91cnMgLyAyNCk7XHJcbiAgICByZXR1cm4gYCR7ZGF5c31kIGFnb2A7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
package/esm2020/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from './form-draft.directive';
|
|
2
|
-
export * from './form-draft-banner.component';
|
|
3
|
-
export * from './form-draft.service';
|
|
4
|
-
export * from './ngx-form-draft.module';
|
|
1
|
+
export * from './form-draft.directive';
|
|
2
|
+
export * from './form-draft-banner.component';
|
|
3
|
+
export * from './form-draft.service';
|
|
4
|
+
export * from './ngx-form-draft.module';
|
|
5
5
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZm9ybS1kcmFmdC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWRyYWZ0LWJhbm5lci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWRyYWZ0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9uZ3gtZm9ybS1kcmFmdC5tb2R1bGUnO1xuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
5
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWZvcm0tZHJhZnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbmd4LWZvcm0tZHJhZnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { FormDraftDirective } from './form-draft.directive';
|
|
4
|
-
import { FormDraftBannerComponent } from './form-draft-banner.component';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class NgxFormDraftModule {
|
|
7
|
-
}
|
|
8
|
-
NgxFormDraftModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgxFormDraftModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
-
NgxFormDraftModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: NgxFormDraftModule, declarations: [FormDraftDirective, FormDraftBannerComponent], imports: [CommonModule], exports: [FormDraftDirective, FormDraftBannerComponent] });
|
|
10
|
-
NgxFormDraftModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgxFormDraftModule, imports: [CommonModule] });
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgxFormDraftModule, decorators: [{
|
|
12
|
-
type: NgModule,
|
|
13
|
-
args: [{
|
|
14
|
-
declarations: [FormDraftDirective, FormDraftBannerComponent],
|
|
15
|
-
imports: [CommonModule],
|
|
16
|
-
exports: [FormDraftDirective, FormDraftBannerComponent],
|
|
17
|
-
}]
|
|
18
|
-
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FormDraftDirective } from './form-draft.directive';
|
|
4
|
+
import { FormDraftBannerComponent } from './form-draft-banner.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class NgxFormDraftModule {
|
|
7
|
+
}
|
|
8
|
+
NgxFormDraftModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgxFormDraftModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
NgxFormDraftModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: NgxFormDraftModule, declarations: [FormDraftDirective, FormDraftBannerComponent], imports: [CommonModule], exports: [FormDraftDirective, FormDraftBannerComponent] });
|
|
10
|
+
NgxFormDraftModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgxFormDraftModule, imports: [CommonModule] });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgxFormDraftModule, decorators: [{
|
|
12
|
+
type: NgModule,
|
|
13
|
+
args: [{
|
|
14
|
+
declarations: [FormDraftDirective, FormDraftBannerComponent],
|
|
15
|
+
imports: [CommonModule],
|
|
16
|
+
exports: [FormDraftDirective, FormDraftBannerComponent],
|
|
17
|
+
}]
|
|
18
|
+
}] });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWZvcm0tZHJhZnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL25neC1mb3JtLWRyYWZ0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFPekUsTUFBTSxPQUFPLGtCQUFrQjs7K0dBQWxCLGtCQUFrQjtnSEFBbEIsa0JBQWtCLGlCQUpkLGtCQUFrQixFQUFFLHdCQUF3QixhQUNqRCxZQUFZLGFBQ1osa0JBQWtCLEVBQUUsd0JBQXdCO2dIQUUzQyxrQkFBa0IsWUFIbkIsWUFBWTsyRkFHWCxrQkFBa0I7a0JBTDlCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsa0JBQWtCLEVBQUUsd0JBQXdCLENBQUM7b0JBQzVELE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMsa0JBQWtCLEVBQUUsd0JBQXdCLENBQUM7aUJBQ3hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybURyYWZ0RGlyZWN0aXZlIH0gZnJvbSAnLi9mb3JtLWRyYWZ0LmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEZvcm1EcmFmdEJhbm5lckNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1kcmFmdC1iYW5uZXIuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbRm9ybURyYWZ0RGlyZWN0aXZlLCBGb3JtRHJhZnRCYW5uZXJDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxyXG4gIGV4cG9ydHM6IFtGb3JtRHJhZnREaXJlY3RpdmUsIEZvcm1EcmFmdEJhbm5lckNvbXBvbmVudF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ3hGb3JtRHJhZnRNb2R1bGUge31cclxuIl19
|