@ssv/ngx.command 2.2.0-dev268 → 2.3.0-dev.2
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 +7 -7
- package/command-ref.directive.d.ts +3 -0
- package/command.directive.d.ts +3 -0
- package/esm2020/command-ref.directive.mjs +54 -0
- package/esm2020/command.directive.mjs +166 -0
- package/esm2020/command.mjs +127 -0
- package/esm2020/command.model.mjs +2 -0
- package/esm2020/command.util.mjs +29 -0
- package/esm2020/config.mjs +8 -0
- package/esm2020/index.mjs +8 -0
- package/esm2020/module.mjs +49 -0
- package/esm2020/ssv-ngx.command.mjs +5 -0
- package/esm2020/version.mjs +2 -0
- package/fesm2015/{ssv-ngx.command.js → ssv-ngx.command.mjs} +66 -45
- package/fesm2015/ssv-ngx.command.mjs.map +1 -0
- package/fesm2020/ssv-ngx.command.mjs +424 -0
- package/fesm2020/ssv-ngx.command.mjs.map +1 -0
- package/module.d.ts +6 -0
- package/package.json +23 -13
- package/version.d.ts +1 -1
- package/CHANGELOG.md +0 -216
- package/bundles/ssv-ngx.command.umd.js +0 -759
- package/bundles/ssv-ngx.command.umd.js.map +0 -1
- package/bundles/ssv-ngx.command.umd.min.js +0 -16
- package/bundles/ssv-ngx.command.umd.min.js.map +0 -1
- package/esm2015/command-ref.directive.js +0 -50
- package/esm2015/command.directive.js +0 -156
- package/esm2015/command.js +0 -127
- package/esm2015/command.model.js +0 -2
- package/esm2015/command.util.js +0 -28
- package/esm2015/config.js +0 -8
- package/esm2015/index.js +0 -8
- package/esm2015/module.js +0 -36
- package/esm2015/ssv-ngx.command.js +0 -5
- package/esm2015/version.js +0 -2
- package/fesm2015/ssv-ngx.command.js.map +0 -1
- package/ssv-ngx.command.d.ts +0 -4
- package/ssv-ngx.command.metadata.json +0 -1
package/esm2015/command.js
DELETED
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
import { combineLatest, Subscription, Subject, BehaviorSubject, of, EMPTY } from "rxjs";
|
|
3
|
-
import { tap, map, filter, switchMap, catchError, finalize, take } from "rxjs/operators";
|
|
4
|
-
/**
|
|
5
|
-
* Command object used to encapsulate information which is needed to perform an action.
|
|
6
|
-
*/
|
|
7
|
-
export class Command {
|
|
8
|
-
/**
|
|
9
|
-
* Creates an instance of Command.
|
|
10
|
-
*
|
|
11
|
-
* @param execute Execute function to invoke - use `isAsync: true` when `Observable<any>`.
|
|
12
|
-
* @param canExecute Observable which determines whether it can execute or not.
|
|
13
|
-
* @param isAsync Indicates that the execute function is async e.g. Observable.
|
|
14
|
-
*/
|
|
15
|
-
constructor(execute, canExecute$, isAsync) {
|
|
16
|
-
/** Determines whether to auto destroy when having 0 subscribers. */
|
|
17
|
-
this.autoDestroy = true;
|
|
18
|
-
this._isExecuting$ = new BehaviorSubject(false);
|
|
19
|
-
this._isExecuting = false;
|
|
20
|
-
this._canExecute = true;
|
|
21
|
-
this.executionPipe$ = new Subject();
|
|
22
|
-
this.isExecuting$$ = Subscription.EMPTY;
|
|
23
|
-
this.canExecute$$ = Subscription.EMPTY;
|
|
24
|
-
this.executionPipe$$ = Subscription.EMPTY;
|
|
25
|
-
this.subscribersCount = 0;
|
|
26
|
-
if (canExecute$) {
|
|
27
|
-
this.canExecute$ = combineLatest([
|
|
28
|
-
this._isExecuting$,
|
|
29
|
-
canExecute$
|
|
30
|
-
]).pipe(map(([isExecuting, canExecuteResult]) => {
|
|
31
|
-
// console.log("[command::combineLatest$] update!", { isExecuting, canExecuteResult });
|
|
32
|
-
this._isExecuting = isExecuting;
|
|
33
|
-
this._canExecute = !isExecuting && !!canExecuteResult;
|
|
34
|
-
return this._canExecute;
|
|
35
|
-
}));
|
|
36
|
-
this.canExecute$$ = this.canExecute$.subscribe();
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
this.canExecute$ = this._isExecuting$.pipe(map(x => {
|
|
40
|
-
const canExecute = !x;
|
|
41
|
-
this._canExecute = canExecute;
|
|
42
|
-
return canExecute;
|
|
43
|
-
}));
|
|
44
|
-
this.isExecuting$$ = this._isExecuting$
|
|
45
|
-
.pipe(tap(x => this._isExecuting = x))
|
|
46
|
-
.subscribe();
|
|
47
|
-
}
|
|
48
|
-
this.executionPipe$$ = this.buildExecutionPipe(execute, isAsync).subscribe();
|
|
49
|
-
}
|
|
50
|
-
/** Determines whether the command is currently executing, as a snapshot value. */
|
|
51
|
-
get isExecuting() {
|
|
52
|
-
return this._isExecuting;
|
|
53
|
-
}
|
|
54
|
-
/** Determines whether the command can execute or not, as a snapshot value. */
|
|
55
|
-
get canExecute() {
|
|
56
|
-
return this._canExecute;
|
|
57
|
-
}
|
|
58
|
-
/** Determines whether the command is currently executing, as an observable. */
|
|
59
|
-
get isExecuting$() {
|
|
60
|
-
return this._isExecuting$.asObservable();
|
|
61
|
-
}
|
|
62
|
-
/** Execute function to invoke. */
|
|
63
|
-
execute(...args) {
|
|
64
|
-
// console.warn("[command::execute]", args);
|
|
65
|
-
this.executionPipe$.next(args);
|
|
66
|
-
}
|
|
67
|
-
/** Disposes all resources held by subscriptions. */
|
|
68
|
-
destroy() {
|
|
69
|
-
// console.warn("[command::destroy]");
|
|
70
|
-
this.executionPipe$$.unsubscribe();
|
|
71
|
-
this.canExecute$$.unsubscribe();
|
|
72
|
-
this.isExecuting$$.unsubscribe();
|
|
73
|
-
}
|
|
74
|
-
subscribe() {
|
|
75
|
-
this.subscribersCount++;
|
|
76
|
-
}
|
|
77
|
-
unsubscribe() {
|
|
78
|
-
this.subscribersCount--;
|
|
79
|
-
// console.log("[command::unsubscribe]", { autoDestroy: this.autoDestroy, subscribersCount: this.subscribersCount });
|
|
80
|
-
if (this.autoDestroy && this.subscribersCount <= 0) {
|
|
81
|
-
this.destroy();
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
buildExecutionPipe(execute, isAsync) {
|
|
85
|
-
let pipe$ = this.executionPipe$.pipe(
|
|
86
|
-
// tap(x => console.warn(">>>> executionPipe", this._canExecute)),
|
|
87
|
-
filter(() => this._canExecute), tap(() => {
|
|
88
|
-
// console.log("[command::executionPipe$] do#1 - set execute", { args: x });
|
|
89
|
-
this._isExecuting$.next(true);
|
|
90
|
-
}));
|
|
91
|
-
const execFn = isAsync
|
|
92
|
-
? switchMap(args => {
|
|
93
|
-
if (args) {
|
|
94
|
-
return execute(...args);
|
|
95
|
-
}
|
|
96
|
-
return execute();
|
|
97
|
-
})
|
|
98
|
-
: tap((args) => {
|
|
99
|
-
if (args) {
|
|
100
|
-
execute(...args);
|
|
101
|
-
return;
|
|
102
|
-
}
|
|
103
|
-
execute();
|
|
104
|
-
});
|
|
105
|
-
pipe$ = pipe$.pipe(switchMap(args => of(args).pipe(execFn, finalize(() => {
|
|
106
|
-
// console.log("[command::executionPipe$] finalize inner#1 - set idle");
|
|
107
|
-
this._isExecuting$.next(false);
|
|
108
|
-
}), take(1), catchError(error => {
|
|
109
|
-
console.error("Unhandled execute error", error);
|
|
110
|
-
return EMPTY;
|
|
111
|
-
}))), tap(() => {
|
|
112
|
-
// console.log("[command::executionPipe$] tap#2 - set idle");
|
|
113
|
-
this._isExecuting$.next(false);
|
|
114
|
-
}));
|
|
115
|
-
return pipe$;
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* Async Command object used to encapsulate information which is needed to perform an action,
|
|
120
|
-
* which takes an execute function as Observable/Promise.
|
|
121
|
-
*/
|
|
122
|
-
export class CommandAsync extends Command {
|
|
123
|
-
constructor(execute, canExecute$) {
|
|
124
|
-
super(execute, canExecute$, true);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9jaXJjbGVjaS9yZXBvL3NyYy8iLCJzb3VyY2VzIjpbImNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBYyxhQUFhLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwRyxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHekY7O0dBRUc7QUFDSCxNQUFNLE9BQU8sT0FBTztJQWdDbkI7Ozs7OztPQU1HO0lBQ0gsWUFDQyxPQUF3QyxFQUN4QyxXQUFpQyxFQUNqQyxPQUFpQjtRQXpCbEIsb0VBQW9FO1FBQ3BFLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBS1gsa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNwRCxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixnQkFBVyxHQUFHLElBQUksQ0FBQztRQUNuQixtQkFBYyxHQUFHLElBQUksT0FBTyxFQUF5QixDQUFDO1FBQ3RELGtCQUFhLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQztRQUNuQyxpQkFBWSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDbEMsb0JBQWUsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDO1FBQ3JDLHFCQUFnQixHQUFHLENBQUMsQ0FBQztRQWM1QixJQUFJLFdBQVcsRUFBRTtZQUNoQixJQUFJLENBQUMsV0FBVyxHQUFHLGFBQWEsQ0FBQztnQkFDaEMsSUFBSSxDQUFDLGFBQWE7Z0JBQ2xCLFdBQVc7YUFDWCxDQUFDLENBQUMsSUFBSSxDQUNOLEdBQUcsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLGdCQUFnQixDQUFDLEVBQUUsRUFBRTtnQkFDdkMsdUZBQXVGO2dCQUN2RixJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztnQkFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUMsZ0JBQWdCLENBQUM7Z0JBQ3RELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUN6QixDQUFDLENBQUMsQ0FDRixDQUFDO1lBQ0YsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ2pEO2FBQU07WUFDTixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUN6QyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ1AsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO2dCQUM5QixPQUFPLFVBQVUsQ0FBQztZQUNuQixDQUFDLENBQUMsQ0FDRixDQUFDO1lBQ0YsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYTtpQkFDckMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUM7aUJBQ3JDLFNBQVMsRUFBRSxDQUFDO1NBQ2Q7UUFDRCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDOUUsQ0FBQztJQXBFRCxrRkFBa0Y7SUFDbEYsSUFBSSxXQUFXO1FBQ2QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzFCLENBQUM7SUFFRCw4RUFBOEU7SUFDOUUsSUFBSSxVQUFVO1FBQ2IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQ3pCLENBQUM7SUFFRCwrRUFBK0U7SUFDL0UsSUFBSSxZQUFZO1FBQ2YsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFDLENBQUM7SUF5REQsa0NBQWtDO0lBQ2xDLE9BQU8sQ0FBQyxHQUFHLElBQWU7UUFDekIsNENBQTRDO1FBQzVDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxvREFBb0Q7SUFDcEQsT0FBTztRQUNOLHNDQUFzQztRQUN0QyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsU0FBUztRQUNSLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxXQUFXO1FBQ1YsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIscUhBQXFIO1FBQ3JILElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxFQUFFO1lBQ25ELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNmO0lBQ0YsQ0FBQztJQUVPLGtCQUFrQixDQUFDLE9BQW9DLEVBQUUsT0FBaUI7UUFDakYsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJO1FBQ25DLGtFQUFrRTtRQUNsRSxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUM5QixHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1IsNEVBQTRFO1lBQzVFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUNGLENBQUM7UUFFRixNQUFNLE1BQU0sR0FBRyxPQUFPO1lBQ3JCLENBQUMsQ0FBQyxTQUFTLENBQStCLElBQUksQ0FBQyxFQUFFO2dCQUNoRCxJQUFJLElBQUksRUFBRTtvQkFDVCxPQUFPLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO2lCQUN4QjtnQkFDRCxPQUFPLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLENBQUMsQ0FBQztZQUNGLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUEyQixFQUFFLEVBQUU7Z0JBQ3JDLElBQUksSUFBSSxFQUFFO29CQUNULE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO29CQUNqQixPQUFPO2lCQUNQO2dCQUNELE9BQU8sRUFBRSxDQUFDO1lBQ1gsQ0FBQyxDQUFDLENBQUM7UUFFSixLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FDakIsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDOUIsTUFBTSxFQUNOLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDYix5RUFBeUU7WUFDekUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLEVBQ0YsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNsQixPQUFPLENBQUMsS0FBSyxDQUFDLHlCQUF5QixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ2hELE9BQU8sS0FBSyxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQ0YsQ0FBQyxFQUNGLEdBQUcsQ0FDRixHQUFHLEVBQUU7WUFDSiw2REFBNkQ7WUFDN0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUNELENBQ0QsQ0FBQztRQUNGLE9BQU8sS0FBSyxDQUFDO0lBQ2QsQ0FBQztDQUVEO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLFlBQWEsU0FBUSxPQUFPO0lBRXhDLFlBQ0MsT0FBdUUsRUFDdkUsV0FBaUM7UUFFakMsS0FBSyxDQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQztDQUVEIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCwgU3Vic2NyaXB0aW9uLCBTdWJqZWN0LCBCZWhhdmlvclN1YmplY3QsIG9mLCBFTVBUWSB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyB0YXAsIG1hcCwgZmlsdGVyLCBzd2l0Y2hNYXAsIGNhdGNoRXJyb3IsIGZpbmFsaXplLCB0YWtlIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBJQ29tbWFuZCB9IGZyb20gXCIuL2NvbW1hbmQubW9kZWxcIjtcblxuLyoqXG4gKiBDb21tYW5kIG9iamVjdCB1c2VkIHRvIGVuY2Fwc3VsYXRlIGluZm9ybWF0aW9uIHdoaWNoIGlzIG5lZWRlZCB0byBwZXJmb3JtIGFuIGFjdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIENvbW1hbmQgaW1wbGVtZW50cyBJQ29tbWFuZCB7XG5cblx0LyoqIERldGVybWluZXMgd2hldGhlciB0aGUgY29tbWFuZCBpcyBjdXJyZW50bHkgZXhlY3V0aW5nLCBhcyBhIHNuYXBzaG90IHZhbHVlLiAqL1xuXHRnZXQgaXNFeGVjdXRpbmcoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuX2lzRXhlY3V0aW5nO1xuXHR9XG5cblx0LyoqIERldGVybWluZXMgd2hldGhlciB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZSBvciBub3QsIGFzIGEgc25hcHNob3QgdmFsdWUuICovXG5cdGdldCBjYW5FeGVjdXRlKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLl9jYW5FeGVjdXRlO1xuXHR9XG5cblx0LyoqIERldGVybWluZXMgd2hldGhlciB0aGUgY29tbWFuZCBpcyBjdXJyZW50bHkgZXhlY3V0aW5nLCBhcyBhbiBvYnNlcnZhYmxlLiAqL1xuXHRnZXQgaXNFeGVjdXRpbmckKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuXHRcdHJldHVybiB0aGlzLl9pc0V4ZWN1dGluZyQuYXNPYnNlcnZhYmxlKCk7XG5cdH1cblxuXHQvKiogRGV0ZXJtaW5lcyB3aGV0aGVyIHRvIGF1dG8gZGVzdHJveSB3aGVuIGhhdmluZyAwIHN1YnNjcmliZXJzLiAqL1xuXHRhdXRvRGVzdHJveSA9IHRydWU7XG5cblx0LyoqIERldGVybWluZXMgd2hldGhlciB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZSBvciBub3QsIGFzIGFuIG9ic2VydmFibGUuICovXG5cdHJlYWRvbmx5IGNhbkV4ZWN1dGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG5cdHByaXZhdGUgX2lzRXhlY3V0aW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXHRwcml2YXRlIF9pc0V4ZWN1dGluZyA9IGZhbHNlO1xuXHRwcml2YXRlIF9jYW5FeGVjdXRlID0gdHJ1ZTtcblx0cHJpdmF0ZSBleGVjdXRpb25QaXBlJCA9IG5ldyBTdWJqZWN0PHVua25vd25bXSB8IHVuZGVmaW5lZD4oKTtcblx0cHJpdmF0ZSBpc0V4ZWN1dGluZyQkID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuXHRwcml2YXRlIGNhbkV4ZWN1dGUkJCA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcblx0cHJpdmF0ZSBleGVjdXRpb25QaXBlJCQgPSBTdWJzY3JpcHRpb24uRU1QVFk7XG5cdHByaXZhdGUgc3Vic2NyaWJlcnNDb3VudCA9IDA7XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgQ29tbWFuZC5cblx0ICpcblx0ICogQHBhcmFtIGV4ZWN1dGUgRXhlY3V0ZSBmdW5jdGlvbiB0byBpbnZva2UgLSB1c2UgYGlzQXN5bmM6IHRydWVgIHdoZW4gYE9ic2VydmFibGU8YW55PmAuXG5cdCAqIEBwYXJhbSBjYW5FeGVjdXRlIE9ic2VydmFibGUgd2hpY2ggZGV0ZXJtaW5lcyB3aGV0aGVyIGl0IGNhbiBleGVjdXRlIG9yIG5vdC5cblx0ICogQHBhcmFtIGlzQXN5bmMgSW5kaWNhdGVzIHRoYXQgdGhlIGV4ZWN1dGUgZnVuY3Rpb24gaXMgYXN5bmMgZS5nLiBPYnNlcnZhYmxlLlxuXHQgKi9cblx0Y29uc3RydWN0b3IoXG5cdFx0ZXhlY3V0ZTogKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gdW5rbm93bixcblx0XHRjYW5FeGVjdXRlJD86IE9ic2VydmFibGU8Ym9vbGVhbj4sXG5cdFx0aXNBc3luYz86IGJvb2xlYW4sXG5cdCkge1xuXHRcdGlmIChjYW5FeGVjdXRlJCkge1xuXHRcdFx0dGhpcy5jYW5FeGVjdXRlJCA9IGNvbWJpbmVMYXRlc3QoW1xuXHRcdFx0XHR0aGlzLl9pc0V4ZWN1dGluZyQsXG5cdFx0XHRcdGNhbkV4ZWN1dGUkXG5cdFx0XHRdKS5waXBlKFxuXHRcdFx0XHRtYXAoKFtpc0V4ZWN1dGluZywgY2FuRXhlY3V0ZVJlc3VsdF0pID0+IHtcblx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhcIltjb21tYW5kOjpjb21iaW5lTGF0ZXN0JF0gdXBkYXRlIVwiLCB7IGlzRXhlY3V0aW5nLCBjYW5FeGVjdXRlUmVzdWx0IH0pO1xuXHRcdFx0XHRcdHRoaXMuX2lzRXhlY3V0aW5nID0gaXNFeGVjdXRpbmc7XG5cdFx0XHRcdFx0dGhpcy5fY2FuRXhlY3V0ZSA9ICFpc0V4ZWN1dGluZyAmJiAhIWNhbkV4ZWN1dGVSZXN1bHQ7XG5cdFx0XHRcdFx0cmV0dXJuIHRoaXMuX2NhbkV4ZWN1dGU7XG5cdFx0XHRcdH0pLFxuXHRcdFx0KTtcblx0XHRcdHRoaXMuY2FuRXhlY3V0ZSQkID0gdGhpcy5jYW5FeGVjdXRlJC5zdWJzY3JpYmUoKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5jYW5FeGVjdXRlJCA9IHRoaXMuX2lzRXhlY3V0aW5nJC5waXBlKFxuXHRcdFx0XHRtYXAoeCA9PiB7XG5cdFx0XHRcdFx0Y29uc3QgY2FuRXhlY3V0ZSA9ICF4O1xuXHRcdFx0XHRcdHRoaXMuX2NhbkV4ZWN1dGUgPSBjYW5FeGVjdXRlO1xuXHRcdFx0XHRcdHJldHVybiBjYW5FeGVjdXRlO1xuXHRcdFx0XHR9KVxuXHRcdFx0KTtcblx0XHRcdHRoaXMuaXNFeGVjdXRpbmckJCA9IHRoaXMuX2lzRXhlY3V0aW5nJFxuXHRcdFx0XHQucGlwZSh0YXAoeCA9PiB0aGlzLl9pc0V4ZWN1dGluZyA9IHgpKVxuXHRcdFx0XHQuc3Vic2NyaWJlKCk7XG5cdFx0fVxuXHRcdHRoaXMuZXhlY3V0aW9uUGlwZSQkID0gdGhpcy5idWlsZEV4ZWN1dGlvblBpcGUoZXhlY3V0ZSwgaXNBc3luYykuc3Vic2NyaWJlKCk7XG5cdH1cblxuXHQvKiogRXhlY3V0ZSBmdW5jdGlvbiB0byBpbnZva2UuICovXG5cdGV4ZWN1dGUoLi4uYXJnczogdW5rbm93bltdKTogdm9pZCB7XG5cdFx0Ly8gY29uc29sZS53YXJuKFwiW2NvbW1hbmQ6OmV4ZWN1dGVdXCIsIGFyZ3MpO1xuXHRcdHRoaXMuZXhlY3V0aW9uUGlwZSQubmV4dChhcmdzKTtcblx0fVxuXG5cdC8qKiBEaXNwb3NlcyBhbGwgcmVzb3VyY2VzIGhlbGQgYnkgc3Vic2NyaXB0aW9ucy4gKi9cblx0ZGVzdHJveSgpOiB2b2lkIHtcblx0XHQvLyBjb25zb2xlLndhcm4oXCJbY29tbWFuZDo6ZGVzdHJveV1cIik7XG5cdFx0dGhpcy5leGVjdXRpb25QaXBlJCQudW5zdWJzY3JpYmUoKTtcblx0XHR0aGlzLmNhbkV4ZWN1dGUkJC51bnN1YnNjcmliZSgpO1xuXHRcdHRoaXMuaXNFeGVjdXRpbmckJC51bnN1YnNjcmliZSgpO1xuXHR9XG5cblx0c3Vic2NyaWJlKCk6IHZvaWQge1xuXHRcdHRoaXMuc3Vic2NyaWJlcnNDb3VudCsrO1xuXHR9XG5cblx0dW5zdWJzY3JpYmUoKTogdm9pZCB7XG5cdFx0dGhpcy5zdWJzY3JpYmVyc0NvdW50LS07XG5cdFx0Ly8gY29uc29sZS5sb2coXCJbY29tbWFuZDo6dW5zdWJzY3JpYmVdXCIsIHsgYXV0b0Rlc3Ryb3k6IHRoaXMuYXV0b0Rlc3Ryb3ksIHN1YnNjcmliZXJzQ291bnQ6IHRoaXMuc3Vic2NyaWJlcnNDb3VudCB9KTtcblx0XHRpZiAodGhpcy5hdXRvRGVzdHJveSAmJiB0aGlzLnN1YnNjcmliZXJzQ291bnQgPD0gMCkge1xuXHRcdFx0dGhpcy5kZXN0cm95KCk7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBidWlsZEV4ZWN1dGlvblBpcGUoZXhlY3V0ZTogKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gYW55LCBpc0FzeW5jPzogYm9vbGVhbik6IE9ic2VydmFibGU8dW5rbm93bj4ge1xuXHRcdGxldCBwaXBlJCA9IHRoaXMuZXhlY3V0aW9uUGlwZSQucGlwZShcblx0XHRcdC8vIHRhcCh4ID0+IGNvbnNvbGUud2FybihcIj4+Pj4gZXhlY3V0aW9uUGlwZVwiLCB0aGlzLl9jYW5FeGVjdXRlKSksXG5cdFx0XHRmaWx0ZXIoKCkgPT4gdGhpcy5fY2FuRXhlY3V0ZSksXG5cdFx0XHR0YXAoKCkgPT4ge1xuXHRcdFx0XHQvLyBjb25zb2xlLmxvZyhcIltjb21tYW5kOjpleGVjdXRpb25QaXBlJF0gZG8jMSAtIHNldCBleGVjdXRlXCIsIHsgYXJnczogeCB9KTtcblx0XHRcdFx0dGhpcy5faXNFeGVjdXRpbmckLm5leHQodHJ1ZSk7XG5cdFx0XHR9KVxuXHRcdCk7XG5cblx0XHRjb25zdCBleGVjRm4gPSBpc0FzeW5jXG5cdFx0XHQ/IHN3aXRjaE1hcDx1bmtub3duW10gfCB1bmRlZmluZWQsIGFueVtdPihhcmdzID0+IHtcblx0XHRcdFx0aWYgKGFyZ3MpIHtcblx0XHRcdFx0XHRyZXR1cm4gZXhlY3V0ZSguLi5hcmdzKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gZXhlY3V0ZSgpO1xuXHRcdFx0fSlcblx0XHRcdDogdGFwKChhcmdzOiB1bmtub3duW10gfCB1bmRlZmluZWQpID0+IHtcblx0XHRcdFx0aWYgKGFyZ3MpIHtcblx0XHRcdFx0XHRleGVjdXRlKC4uLmFyZ3MpO1xuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0fVxuXHRcdFx0XHRleGVjdXRlKCk7XG5cdFx0XHR9KTtcblxuXHRcdHBpcGUkID0gcGlwZSQucGlwZShcblx0XHRcdHN3aXRjaE1hcChhcmdzID0+IG9mKGFyZ3MpLnBpcGUoXG5cdFx0XHRcdGV4ZWNGbixcblx0XHRcdFx0ZmluYWxpemUoKCkgPT4ge1xuXHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKFwiW2NvbW1hbmQ6OmV4ZWN1dGlvblBpcGUkXSAgZmluYWxpemUgaW5uZXIjMSAtIHNldCBpZGxlXCIpO1xuXHRcdFx0XHRcdHRoaXMuX2lzRXhlY3V0aW5nJC5uZXh0KGZhbHNlKTtcblx0XHRcdFx0fSksXG5cdFx0XHRcdHRha2UoMSksXG5cdFx0XHRcdGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuXHRcdFx0XHRcdGNvbnNvbGUuZXJyb3IoXCJVbmhhbmRsZWQgZXhlY3V0ZSBlcnJvclwiLCBlcnJvcik7XG5cdFx0XHRcdFx0cmV0dXJuIEVNUFRZO1xuXHRcdFx0XHR9KSxcblx0XHRcdCkpLFxuXHRcdFx0dGFwKFxuXHRcdFx0XHQoKSA9PiB7XG5cdFx0XHRcdFx0Ly8gY29uc29sZS5sb2coXCJbY29tbWFuZDo6ZXhlY3V0aW9uUGlwZSRdIHRhcCMyIC0gc2V0IGlkbGVcIik7XG5cdFx0XHRcdFx0dGhpcy5faXNFeGVjdXRpbmckLm5leHQoZmFsc2UpO1xuXHRcdFx0XHR9LFxuXHRcdFx0KVxuXHRcdCk7XG5cdFx0cmV0dXJuIHBpcGUkO1xuXHR9XG5cbn1cblxuLyoqXG4gKiBBc3luYyBDb21tYW5kIG9iamVjdCB1c2VkIHRvIGVuY2Fwc3VsYXRlIGluZm9ybWF0aW9uIHdoaWNoIGlzIG5lZWRlZCB0byBwZXJmb3JtIGFuIGFjdGlvbixcbiAqIHdoaWNoIHRha2VzIGFuIGV4ZWN1dGUgZnVuY3Rpb24gYXMgT2JzZXJ2YWJsZS9Qcm9taXNlLlxuICovXG5leHBvcnQgY2xhc3MgQ29tbWFuZEFzeW5jIGV4dGVuZHMgQ29tbWFuZCB7XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0ZXhlY3V0ZTogKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gT2JzZXJ2YWJsZTx1bmtub3duPiB8IFByb21pc2U8dW5rbm93bj4sXG5cdFx0Y2FuRXhlY3V0ZSQ/OiBPYnNlcnZhYmxlPGJvb2xlYW4+LFxuXHQpIHtcblx0XHRzdXBlcihleGVjdXRlLCBjYW5FeGVjdXRlJCwgdHJ1ZSk7XG5cdH1cblxufVxuIl19
|
package/esm2015/command.model.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9jaXJjbGVjaS9yZXBvL3NyYy8iLCJzb3VyY2VzIjpbImNvbW1hbmQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIElDb21tYW5kIHtcblx0LyoqIERldGVybWluZXMgd2hldGhlciB0aGUgY29tbWFuZCBpcyBjdXJyZW50bHkgZXhlY3V0aW5nLCBhcyBhIHNuYXBzaG90IHZhbHVlLiAqL1xuXHRyZWFkb25seSBpc0V4ZWN1dGluZzogYm9vbGVhbjtcblx0LyoqIERldGVybWluZXMgd2hldGhlciB0aGUgY29tbWFuZCBpcyBjdXJyZW50bHkgZXhlY3V0aW5nLCBhcyBhbiBvYnNlcnZhYmxlLiAqL1xuXHRyZWFkb25seSBpc0V4ZWN1dGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cdC8qKiBEZXRlcm1pbmVzIHdoZXRoZXIgdGhlIGNvbW1hbmQgY2FuIGV4ZWN1dGUgb3Igbm90LCBhcyBhIHNuYXBzaG90IHZhbHVlLiAqL1xuXHRyZWFkb25seSBjYW5FeGVjdXRlOiBib29sZWFuO1xuXHQvKiogRGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBjb21tYW5kIGNhbiBleGVjdXRlIG9yIG5vdCwgYXMgYW4gb2JzZXJ2YWJsZS4gKi9cblx0cmVhZG9ubHkgY2FuRXhlY3V0ZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cblx0LyoqIERldGVybWluZXMgd2hldGhlciB0byBhdXRvIGRlc3Ryb3kgd2hlbiBoYXZpbmcgMCBzdWJzY3JpYmVycyAoZGVmYXVsdHMgdG8gYHRydWVgKS4gKi9cblx0YXV0b0Rlc3Ryb3k6IGJvb2xlYW47XG5cblx0LyoqIEV4ZWN1dGUgZnVuY3Rpb24gdG8gaW52b2tlLiAqL1xuXHRleGVjdXRlKC4uLmFyZ3M6IHVua25vd25bXSk6IHZvaWQ7XG5cblx0LyoqIERpc3Bvc2VzIGFsbCByZXNvdXJjZXMgaGVsZCBieSBzdWJzY3JpcHRpb25zLiAqL1xuXHRkZXN0cm95KCk6IHZvaWQ7XG5cblx0LyoqIFN1YnNjcmliZSBsaXN0ZW5lciwgaW4gb3JkZXIgdG8gaGFuZGxlIGF1dG8gZGlzcG9zaW5nLiAqL1xuXHRzdWJzY3JpYmUoKTogdm9pZDtcblxuXHQvKiogVW5zdWJzY3JpYmUgbGlzdGVuZXIsIGluIG9yZGVyIHRvIGhhbmRsZSBhdXRvIGRpc3Bvc2luZy4gKi9cblx0dW5zdWJzY3JpYmUoKTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb21tYW5kQ3JlYXRvciB7XG5cdGV4ZWN1dGU6ICguLi5hcmdzOiB1bmtub3duW10pID0+IE9ic2VydmFibGU8dW5rbm93bj4gfCBQcm9taXNlPHVua25vd24+IHwgdm9pZDtcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcblx0Y2FuRXhlY3V0ZT86IE9ic2VydmFibGU8Ym9vbGVhbj4gfCBGdW5jdGlvbjtcblx0cGFyYW1zOiB1bmtub3duIHwgdW5rbm93bltdO1xuXHRpc0FzeW5jPzogYm9vbGVhbjtcblx0aG9zdDogdW5rbm93bjtcbn1cbiJdfQ==
|
package/esm2015/command.util.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { of } from "rxjs";
|
|
2
|
-
import { map, distinctUntilChanged, startWith, delay } from "rxjs/operators";
|
|
3
|
-
import { Command } from "./command";
|
|
4
|
-
/** Determines whether the arg object is of type `Command`. */
|
|
5
|
-
export function isCommand(arg) {
|
|
6
|
-
return arg instanceof Command;
|
|
7
|
-
}
|
|
8
|
-
/** Determines whether the arg object is of type `CommandCreator`. */
|
|
9
|
-
export function isCommandCreator(arg) {
|
|
10
|
-
if (arg instanceof Command) {
|
|
11
|
-
return false;
|
|
12
|
-
}
|
|
13
|
-
else if (isAssumedType(arg) && arg.execute && arg.host) {
|
|
14
|
-
return true;
|
|
15
|
-
}
|
|
16
|
-
return false;
|
|
17
|
-
}
|
|
18
|
-
/** Get form is valid as an observable. */
|
|
19
|
-
export function canExecuteFromNgForm(form, options) {
|
|
20
|
-
const opts = Object.assign({ validity: true, dirty: true }, options);
|
|
21
|
-
return form.statusChanges
|
|
22
|
-
? form.statusChanges.pipe(delay(0), startWith(form.valid), map(() => !!(!opts.validity || form.valid) && !!(!opts.dirty || form.dirty)), distinctUntilChanged())
|
|
23
|
-
: of(true);
|
|
24
|
-
}
|
|
25
|
-
function isAssumedType(x) {
|
|
26
|
-
return x !== null && typeof x === "object";
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC51dGlsLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL2NpcmNsZWNpL3JlcG8vc3JjLyIsInNvdXJjZXMiOlsiY29tbWFuZC51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHN0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVwQyw4REFBOEQ7QUFDOUQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxHQUFZO0lBQ3JDLE9BQU8sR0FBRyxZQUFZLE9BQU8sQ0FBQztBQUMvQixDQUFDO0FBRUQscUVBQXFFO0FBQ3JFLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxHQUFZO0lBQzVDLElBQUksR0FBRyxZQUFZLE9BQU8sRUFBRTtRQUMzQixPQUFPLEtBQUssQ0FBQztLQUNiO1NBQU0sSUFBSSxhQUFhLENBQWlCLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxPQUFPLElBQUksR0FBRyxDQUFDLElBQUksRUFBRTtRQUN6RSxPQUFPLElBQUksQ0FBQztLQUNaO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZCxDQUFDO0FBVUQsMENBQTBDO0FBQzFDLE1BQU0sVUFBVSxvQkFBb0IsQ0FDbkMsSUFBZ0QsRUFDaEQsT0FBK0I7SUFFL0IsTUFBTSxJQUFJLG1CQUE0QixRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLElBQUssT0FBTyxDQUFFLENBQUM7SUFFaEYsT0FBTyxJQUFJLENBQUMsYUFBYTtRQUN4QixDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ3hCLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFDUixTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUNyQixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQzVFLG9CQUFvQixFQUFFLENBQ3RCO1FBQ0QsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNiLENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBOEIsQ0FBVTtJQUM3RCxPQUFPLENBQUMsS0FBSyxJQUFJLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFDO0FBQzVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEFic3RyYWN0Q29udHJvbERpcmVjdGl2ZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgbWFwLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgc3RhcnRXaXRoLCBkZWxheSB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5pbXBvcnQgeyBDb21tYW5kQ3JlYXRvciwgSUNvbW1hbmQgfSBmcm9tIFwiLi9jb21tYW5kLm1vZGVsXCI7XG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSBcIi4vY29tbWFuZFwiO1xuXG4vKiogRGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBhcmcgb2JqZWN0IGlzIG9mIHR5cGUgYENvbW1hbmRgLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQ29tbWFuZChhcmc6IHVua25vd24pOiBhcmcgaXMgSUNvbW1hbmQge1xuXHRyZXR1cm4gYXJnIGluc3RhbmNlb2YgQ29tbWFuZDtcbn1cblxuLyoqIERldGVybWluZXMgd2hldGhlciB0aGUgYXJnIG9iamVjdCBpcyBvZiB0eXBlIGBDb21tYW5kQ3JlYXRvcmAuICovXG5leHBvcnQgZnVuY3Rpb24gaXNDb21tYW5kQ3JlYXRvcihhcmc6IHVua25vd24pOiBhcmcgaXMgQ29tbWFuZENyZWF0b3Ige1xuXHRpZiAoYXJnIGluc3RhbmNlb2YgQ29tbWFuZCkge1xuXHRcdHJldHVybiBmYWxzZTtcblx0fSBlbHNlIGlmIChpc0Fzc3VtZWRUeXBlPENvbW1hbmRDcmVhdG9yPihhcmcpICYmIGFyZy5leGVjdXRlICYmIGFyZy5ob3N0KSB7XG5cdFx0cmV0dXJuIHRydWU7XG5cdH1cblx0cmV0dXJuIGZhbHNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhbkV4ZWN1dGVGb3JtT3B0aW9ucyB7XG5cdC8qKiBEZXRlcm1pbmVzIHdoZXRoZXIgdG8gY2hlY2sgZm9yIHZhbGlkaXR5LiAoZGVmYXVsdHM6IHRydWUpICovXG5cdHZhbGlkaXR5PzogYm9vbGVhbjtcblxuXHQvKiogRGV0ZXJtaW5lcyB3aGV0aGVyIHRvIGNoZWNrIHdoZXRoZXIgVUkgaGFzIGJlZW4gdG91Y2hlZC4gKGRlZmF1bHRzOiB0cnVlKSAqL1xuXHRkaXJ0eT86IGJvb2xlYW47XG59XG5cbi8qKiBHZXQgZm9ybSBpcyB2YWxpZCBhcyBhbiBvYnNlcnZhYmxlLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNhbkV4ZWN1dGVGcm9tTmdGb3JtKFxuXHRmb3JtOiBBYnN0cmFjdENvbnRyb2wgfCBBYnN0cmFjdENvbnRyb2xEaXJlY3RpdmUsXG5cdG9wdGlvbnM/OiBDYW5FeGVjdXRlRm9ybU9wdGlvbnNcbik6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuXHRjb25zdCBvcHRzOiBDYW5FeGVjdXRlRm9ybU9wdGlvbnMgPSB7IHZhbGlkaXR5OiB0cnVlLCBkaXJ0eTogdHJ1ZSwgLi4ub3B0aW9ucyB9O1xuXG5cdHJldHVybiBmb3JtLnN0YXR1c0NoYW5nZXNcblx0XHQ/IGZvcm0uc3RhdHVzQ2hhbmdlcy5waXBlKFxuXHRcdFx0ZGVsYXkoMCksXG5cdFx0XHRzdGFydFdpdGgoZm9ybS52YWxpZCksXG5cdFx0XHRtYXAoKCkgPT4gISEoIW9wdHMudmFsaWRpdHkgfHwgZm9ybS52YWxpZCkgJiYgISEoIW9wdHMuZGlydHkgfHwgZm9ybS5kaXJ0eSkpLFxuXHRcdFx0ZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcblx0XHQpXG5cdFx0OiBvZih0cnVlKTtcbn1cblxuZnVuY3Rpb24gaXNBc3N1bWVkVHlwZTxUID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4+KHg6IHVua25vd24pOiB4IGlzIFBhcnRpYWw8VD4ge1xuXHRyZXR1cm4geCAhPT0gbnVsbCAmJiB0eXBlb2YgeCA9PT0gXCJvYmplY3RcIjtcbn1cbiJdfQ==
|
package/esm2015/config.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { InjectionToken } from "@angular/core";
|
|
2
|
-
export const COMMAND_DEFAULT_CONFIG = Object.freeze({
|
|
3
|
-
executingCssClass: "executing",
|
|
4
|
-
handleDisabled: true,
|
|
5
|
-
hasDisabledDelay: false,
|
|
6
|
-
});
|
|
7
|
-
export const COMMAND_CONFIG = new InjectionToken("command-config");
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL2NpcmNsZWNpL3JlcG8vc3JjLyIsInNvdXJjZXMiOlsiY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFvQi9DLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDbkQsaUJBQWlCLEVBQUUsV0FBVztJQUM5QixjQUFjLEVBQUUsSUFBSTtJQUNwQixnQkFBZ0IsRUFBRSxLQUFLO0NBQ0wsQ0FBQyxDQUFDO0FBRXJCLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBaUIsZ0JBQWdCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuZXhwb3J0IGludGVyZmFjZSBDb21tYW5kT3B0aW9ucyB7XG5cdC8qKlxuXHQgKiBDc3MgQ2xhc3Mgd2hpY2ggZ2V0cyBhZGRlZC9yZW1vdmVkIG9uIHRoZSBDb21tYW5kIGVsZW1lbnQncyBob3N0IHdoaWxlIENvbW1hbmQgYGlzRXhlY3V0aW5nJGAuXG5cdCAqL1xuXHRleGVjdXRpbmdDc3NDbGFzczogc3RyaW5nO1xuXG5cdC8qKiBEZXRlcm1pbmVzIHdoZXRoZXIgdGhlIGRpc2FibGVkIHdpbGwgYmUgaGFuZGxlZCBieSB0aGUgZGlyZWN0aXZlIG9yIG5vdC5cblx0ICogRGlzYWJsZSBoYW5kbGVkIGJ5IGRpcmVjdGl2ZSdzIGRvZXNuJ3QgYWx3YXlzIHBsYXkgbmljZSB3aGVuIHVzZWQgd2l0aCBvdGhlciBjb21wb25lbnQvcGlwZS9kaXJlY3RpdmUgYW5kIHRoZXkgYWxzbyBoYW5kbGUgZGlzYWJsZWQuXG5cdCAqIFRoaXMgZGlzYWJsZXMgdGhlIGhhbmRsaW5nIG1hbnVhbGx5IGFuZCBuZWVkIHRvIHBhc3MgZXhwbGljaXRseSBgW2Rpc2FibGVkXT1cIiFzYXZlQ21kLmNhbkV4ZWN1dGVcImAuXG5cdCAqL1xuXHRoYW5kbGVEaXNhYmxlZDogYm9vbGVhbjtcblxuXHQvKiogRGV0ZXJtaW5lIHdoZXRoZXIgdG8gc2V0IGEgYGRlbGF5KDEpYCB3aGVuIHNldHRpbmcgdGhlIGRpc2FibGVkLiBXaGljaCBtaWdodCBiZSBuZWVkZWQgd2hlbiB3b3JraW5nIHdpdGggZXh0ZXJuYWxcblx0ICogY29tcG9uZW50cy9kaXJlY3RpdmVzIChzdWNoIGFzIG1hdGVyaWFsIGJ1dHRvbilcblx0ICovXG5cdGhhc0Rpc2FibGVkRGVsYXk6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBDT01NQU5EX0RFRkFVTFRfQ09ORklHID0gT2JqZWN0LmZyZWV6ZSh7XG5cdGV4ZWN1dGluZ0Nzc0NsYXNzOiBcImV4ZWN1dGluZ1wiLFxuXHRoYW5kbGVEaXNhYmxlZDogdHJ1ZSxcblx0aGFzRGlzYWJsZWREZWxheTogZmFsc2UsXG59IGFzIENvbW1hbmRPcHRpb25zKTtcblxuZXhwb3J0IGNvbnN0IENPTU1BTkRfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPENvbW1hbmRPcHRpb25zPihcImNvbW1hbmQtY29uZmlnXCIpO1xuIl19
|
package/esm2015/index.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export * from "./command";
|
|
2
|
-
export * from "./command.directive";
|
|
3
|
-
export * from "./command-ref.directive";
|
|
4
|
-
export * from "./command.util";
|
|
5
|
-
export * from "./config";
|
|
6
|
-
export * from "./module";
|
|
7
|
-
export * from "./version";
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL2hvbWUvY2lyY2xlY2kvcmVwby9zcmMvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUUvQixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2NvbW1hbmRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbW1hbmQuZGlyZWN0aXZlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21tYW5kLXJlZi5kaXJlY3RpdmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbW1hbmQudXRpbFwiO1xuZXhwb3J0IHsgQ29tbWFuZENyZWF0b3IsIElDb21tYW5kIH0gZnJvbSBcIi4vY29tbWFuZC5tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29uZmlnXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9tb2R1bGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3ZlcnNpb25cIjtcbiJdfQ==
|
package/esm2015/module.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { NgModule, InjectionToken, Optional } from "@angular/core";
|
|
2
|
-
import { CommandDirective } from "./command.directive";
|
|
3
|
-
import { CommandRefDirective } from "./command-ref.directive";
|
|
4
|
-
import { COMMAND_DEFAULT_CONFIG, COMMAND_CONFIG } from "./config";
|
|
5
|
-
/** @internal */
|
|
6
|
-
export const MODULE_CONFIG_DATA = new InjectionToken("@ssv/ngx.command/configData");
|
|
7
|
-
const components = [
|
|
8
|
-
CommandDirective,
|
|
9
|
-
CommandRefDirective
|
|
10
|
-
];
|
|
11
|
-
export class SsvCommandModule {
|
|
12
|
-
static forRoot(config) {
|
|
13
|
-
return {
|
|
14
|
-
ngModule: SsvCommandModule,
|
|
15
|
-
providers: [
|
|
16
|
-
{ provide: MODULE_CONFIG_DATA, useValue: config },
|
|
17
|
-
],
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
SsvCommandModule.decorators = [
|
|
22
|
-
{ type: NgModule, args: [{
|
|
23
|
-
declarations: components,
|
|
24
|
-
providers: [
|
|
25
|
-
{ provide: COMMAND_CONFIG, useFactory: _moduleConfigFactory, deps: [[MODULE_CONFIG_DATA, new Optional()]] },
|
|
26
|
-
],
|
|
27
|
-
exports: [...components],
|
|
28
|
-
},] }
|
|
29
|
-
];
|
|
30
|
-
/** @internal */
|
|
31
|
-
export function _moduleConfigFactory(config) {
|
|
32
|
-
const cfg = typeof config === "function" ? config() : config;
|
|
33
|
-
return cfg
|
|
34
|
-
? Object.assign(Object.assign({}, COMMAND_DEFAULT_CONFIG), cfg) : COMMAND_DEFAULT_CONFIG;
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL2NpcmNsZWNpL3JlcG8vc3JjLyIsInNvdXJjZXMiOlsibW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFrQixzQkFBc0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFbEYsZ0JBQWdCO0FBQ2hCLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUFpQiw2QkFBNkIsQ0FBQyxDQUFDO0FBRXBHLE1BQU0sVUFBVSxHQUFHO0lBQ2xCLGdCQUFnQjtJQUNoQixtQkFBbUI7Q0FDbkIsQ0FBQztBQVNGLE1BQU0sT0FBTyxnQkFBZ0I7SUFFNUIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFrRTtRQUNoRixPQUFPO1lBQ04sUUFBUSxFQUFFLGdCQUFnQjtZQUMxQixTQUFTLEVBQUU7Z0JBQ1YsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRTthQUNqRDtTQUNELENBQUM7SUFDSCxDQUFDOzs7WUFoQkQsUUFBUSxTQUFDO2dCQUNULFlBQVksRUFBRSxVQUFVO2dCQUN4QixTQUFTLEVBQUU7b0JBQ1YsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxvQkFBb0IsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLGtCQUFrQixFQUFFLElBQUksUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFO2lCQUMzRztnQkFDRCxPQUFPLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQzthQUN4Qjs7QUFjRCxnQkFBZ0I7QUFDaEIsTUFBTSxVQUFVLG9CQUFvQixDQUFDLE1BQStDO0lBQ25GLE1BQU0sR0FBRyxHQUFHLE9BQU8sTUFBTSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUM3RCxPQUFPLEdBQUc7UUFDVCxDQUFDLGlDQUNHLHNCQUFzQixHQUN0QixHQUFHLEVBRVAsQ0FBQyxDQUFDLHNCQUFzQixDQUFDO0FBQzNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycywgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuaW1wb3J0IHsgQ29tbWFuZERpcmVjdGl2ZSB9IGZyb20gXCIuL2NvbW1hbmQuZGlyZWN0aXZlXCI7XG5pbXBvcnQgeyBDb21tYW5kUmVmRGlyZWN0aXZlIH0gZnJvbSBcIi4vY29tbWFuZC1yZWYuZGlyZWN0aXZlXCI7XG5pbXBvcnQgeyBDb21tYW5kT3B0aW9ucywgQ09NTUFORF9ERUZBVUxUX0NPTkZJRywgQ09NTUFORF9DT05GSUcgfSBmcm9tIFwiLi9jb25maWdcIjtcblxuLyoqIEBpbnRlcm5hbCAqL1xuZXhwb3J0IGNvbnN0IE1PRFVMRV9DT05GSUdfREFUQSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxDb21tYW5kT3B0aW9ucz4oXCJAc3N2L25neC5jb21tYW5kL2NvbmZpZ0RhdGFcIik7XG5cbmNvbnN0IGNvbXBvbmVudHMgPSBbXG5cdENvbW1hbmREaXJlY3RpdmUsXG5cdENvbW1hbmRSZWZEaXJlY3RpdmVcbl07XG5cbkBOZ01vZHVsZSh7XG5cdGRlY2xhcmF0aW9uczogY29tcG9uZW50cyxcblx0cHJvdmlkZXJzOiBbXG5cdFx0eyBwcm92aWRlOiBDT01NQU5EX0NPTkZJRywgdXNlRmFjdG9yeTogX21vZHVsZUNvbmZpZ0ZhY3RvcnksIGRlcHM6IFtbTU9EVUxFX0NPTkZJR19EQVRBLCBuZXcgT3B0aW9uYWwoKV1dIH0sXG5cdF0sXG5cdGV4cG9ydHM6IFsuLi5jb21wb25lbnRzXSxcbn0pXG5leHBvcnQgY2xhc3MgU3N2Q29tbWFuZE1vZHVsZSB7XG5cblx0c3RhdGljIGZvclJvb3QoY29uZmlnPzogUGFydGlhbDxDb21tYW5kT3B0aW9ucz4gfCAoKCkgPT4gUGFydGlhbDxDb21tYW5kT3B0aW9ucz4pKTogTW9kdWxlV2l0aFByb3ZpZGVyczxTc3ZDb21tYW5kTW9kdWxlPiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdG5nTW9kdWxlOiBTc3ZDb21tYW5kTW9kdWxlLFxuXHRcdFx0cHJvdmlkZXJzOiBbXG5cdFx0XHRcdHsgcHJvdmlkZTogTU9EVUxFX0NPTkZJR19EQVRBLCB1c2VWYWx1ZTogY29uZmlnIH0sXG5cdFx0XHRdLFxuXHRcdH07XG5cdH1cblxufVxuXG4vKiogQGludGVybmFsICovXG5leHBvcnQgZnVuY3Rpb24gX21vZHVsZUNvbmZpZ0ZhY3RvcnkoY29uZmlnOiBDb21tYW5kT3B0aW9ucyB8ICgoKSA9PiBDb21tYW5kT3B0aW9ucykpOiBDb21tYW5kT3B0aW9ucyB7XG5cdGNvbnN0IGNmZyA9IHR5cGVvZiBjb25maWcgPT09IFwiZnVuY3Rpb25cIiA/IGNvbmZpZygpIDogY29uZmlnO1xuXHRyZXR1cm4gY2ZnXG5cdFx0PyB7XG5cdFx0XHQuLi5DT01NQU5EX0RFRkFVTFRfQ09ORklHLFxuXHRcdFx0Li4uY2ZnLFxuXHRcdH1cblx0XHQ6IENPTU1BTkRfREVGQVVMVF9DT05GSUc7XG59XG4iXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3N2LW5neC5jb21tYW5kLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL2NpcmNsZWNpL3JlcG8vc3JjLyIsInNvdXJjZXMiOlsic3N2LW5neC5jb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
package/esm2015/version.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const VERSION = "2.2.0-dev268";
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9jaXJjbGVjaS9yZXBvL3NyYy8iLCJzb3VyY2VzIjpbInZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBWRVJTSU9OID0gXCIyLjIuMC1kZXYyNjhcIjtcbiJdfQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ssv-ngx.command.js","sources":["../../src/command.ts","../../src/config.ts","../../src/command.util.ts","../../src/command.directive.ts","../../src/command-ref.directive.ts","../../src/module.ts","../../src/version.ts","../../src/ssv-ngx.command.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Observable, combineLatest, Subscription, Subject, BehaviorSubject, of, EMPTY } from \"rxjs\";\nimport { tap, map, filter, switchMap, catchError, finalize, take } from \"rxjs/operators\";\nimport { ICommand } from \"./command.model\";\n\n/**\n * Command object used to encapsulate information which is needed to perform an action.\n */\nexport class Command implements ICommand {\n\n\t/** Determines whether the command is currently executing, as a snapshot value. */\n\tget isExecuting(): boolean {\n\t\treturn this._isExecuting;\n\t}\n\n\t/** Determines whether the command can execute or not, as a snapshot value. */\n\tget canExecute(): boolean {\n\t\treturn this._canExecute;\n\t}\n\n\t/** Determines whether the command is currently executing, as an observable. */\n\tget isExecuting$(): Observable<boolean> {\n\t\treturn this._isExecuting$.asObservable();\n\t}\n\n\t/** Determines whether to auto destroy when having 0 subscribers. */\n\tautoDestroy = true;\n\n\t/** Determines whether the command can execute or not, as an observable. */\n\treadonly canExecute$: Observable<boolean>;\n\n\tprivate _isExecuting$ = new BehaviorSubject<boolean>(false);\n\tprivate _isExecuting = false;\n\tprivate _canExecute = true;\n\tprivate executionPipe$ = new Subject<unknown[] | undefined>();\n\tprivate isExecuting$$ = Subscription.EMPTY;\n\tprivate canExecute$$ = Subscription.EMPTY;\n\tprivate executionPipe$$ = Subscription.EMPTY;\n\tprivate subscribersCount = 0;\n\n\t/**\n\t * Creates an instance of Command.\n\t *\n\t * @param execute Execute function to invoke - use `isAsync: true` when `Observable<any>`.\n\t * @param canExecute Observable which determines whether it can execute or not.\n\t * @param isAsync Indicates that the execute function is async e.g. Observable.\n\t */\n\tconstructor(\n\t\texecute: (...args: unknown[]) => unknown,\n\t\tcanExecute$?: Observable<boolean>,\n\t\tisAsync?: boolean,\n\t) {\n\t\tif (canExecute$) {\n\t\t\tthis.canExecute$ = combineLatest([\n\t\t\t\tthis._isExecuting$,\n\t\t\t\tcanExecute$\n\t\t\t]).pipe(\n\t\t\t\tmap(([isExecuting, canExecuteResult]) => {\n\t\t\t\t\t// console.log(\"[command::combineLatest$] update!\", { isExecuting, canExecuteResult });\n\t\t\t\t\tthis._isExecuting = isExecuting;\n\t\t\t\t\tthis._canExecute = !isExecuting && !!canExecuteResult;\n\t\t\t\t\treturn this._canExecute;\n\t\t\t\t}),\n\t\t\t);\n\t\t\tthis.canExecute$$ = this.canExecute$.subscribe();\n\t\t} else {\n\t\t\tthis.canExecute$ = this._isExecuting$.pipe(\n\t\t\t\tmap(x => {\n\t\t\t\t\tconst canExecute = !x;\n\t\t\t\t\tthis._canExecute = canExecute;\n\t\t\t\t\treturn canExecute;\n\t\t\t\t})\n\t\t\t);\n\t\t\tthis.isExecuting$$ = this._isExecuting$\n\t\t\t\t.pipe(tap(x => this._isExecuting = x))\n\t\t\t\t.subscribe();\n\t\t}\n\t\tthis.executionPipe$$ = this.buildExecutionPipe(execute, isAsync).subscribe();\n\t}\n\n\t/** Execute function to invoke. */\n\texecute(...args: unknown[]): void {\n\t\t// console.warn(\"[command::execute]\", args);\n\t\tthis.executionPipe$.next(args);\n\t}\n\n\t/** Disposes all resources held by subscriptions. */\n\tdestroy(): void {\n\t\t// console.warn(\"[command::destroy]\");\n\t\tthis.executionPipe$$.unsubscribe();\n\t\tthis.canExecute$$.unsubscribe();\n\t\tthis.isExecuting$$.unsubscribe();\n\t}\n\n\tsubscribe(): void {\n\t\tthis.subscribersCount++;\n\t}\n\n\tunsubscribe(): void {\n\t\tthis.subscribersCount--;\n\t\t// console.log(\"[command::unsubscribe]\", { autoDestroy: this.autoDestroy, subscribersCount: this.subscribersCount });\n\t\tif (this.autoDestroy && this.subscribersCount <= 0) {\n\t\t\tthis.destroy();\n\t\t}\n\t}\n\n\tprivate buildExecutionPipe(execute: (...args: unknown[]) => any, isAsync?: boolean): Observable<unknown> {\n\t\tlet pipe$ = this.executionPipe$.pipe(\n\t\t\t// tap(x => console.warn(\">>>> executionPipe\", this._canExecute)),\n\t\t\tfilter(() => this._canExecute),\n\t\t\ttap(() => {\n\t\t\t\t// console.log(\"[command::executionPipe$] do#1 - set execute\", { args: x });\n\t\t\t\tthis._isExecuting$.next(true);\n\t\t\t})\n\t\t);\n\n\t\tconst execFn = isAsync\n\t\t\t? switchMap<unknown[] | undefined, any[]>(args => {\n\t\t\t\tif (args) {\n\t\t\t\t\treturn execute(...args);\n\t\t\t\t}\n\t\t\t\treturn execute();\n\t\t\t})\n\t\t\t: tap((args: unknown[] | undefined) => {\n\t\t\t\tif (args) {\n\t\t\t\t\texecute(...args);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\texecute();\n\t\t\t});\n\n\t\tpipe$ = pipe$.pipe(\n\t\t\tswitchMap(args => of(args).pipe(\n\t\t\t\texecFn,\n\t\t\t\tfinalize(() => {\n\t\t\t\t\t// console.log(\"[command::executionPipe$] finalize inner#1 - set idle\");\n\t\t\t\t\tthis._isExecuting$.next(false);\n\t\t\t\t}),\n\t\t\t\ttake(1),\n\t\t\t\tcatchError(error => {\n\t\t\t\t\tconsole.error(\"Unhandled execute error\", error);\n\t\t\t\t\treturn EMPTY;\n\t\t\t\t}),\n\t\t\t)),\n\t\t\ttap(\n\t\t\t\t() => {\n\t\t\t\t\t// console.log(\"[command::executionPipe$] tap#2 - set idle\");\n\t\t\t\t\tthis._isExecuting$.next(false);\n\t\t\t\t},\n\t\t\t)\n\t\t);\n\t\treturn pipe$;\n\t}\n\n}\n\n/**\n * Async Command object used to encapsulate information which is needed to perform an action,\n * which takes an execute function as Observable/Promise.\n */\nexport class CommandAsync extends Command {\n\n\tconstructor(\n\t\texecute: (...args: unknown[]) => Observable<unknown> | Promise<unknown>,\n\t\tcanExecute$?: Observable<boolean>,\n\t) {\n\t\tsuper(execute, canExecute$, true);\n\t}\n\n}\n","import { InjectionToken } from \"@angular/core\";\n\nexport interface CommandOptions {\n\t/**\n\t * Css Class which gets added/removed on the Command element's host while Command `isExecuting$`.\n\t */\n\texecutingCssClass: string;\n\n\t/** Determines whether the disabled will be handled by the directive or not.\n\t * Disable handled by directive's doesn't always play nice when used with other component/pipe/directive and they also handle disabled.\n\t * This disables the handling manually and need to pass explicitly `[disabled]=\"!saveCmd.canExecute\"`.\n\t */\n\thandleDisabled: boolean;\n\n\t/** Determine whether to set a `delay(1)` when setting the disabled. Which might be needed when working with external\n\t * components/directives (such as material button)\n\t */\n\thasDisabledDelay: boolean;\n}\n\nexport const COMMAND_DEFAULT_CONFIG = Object.freeze({\n\texecutingCssClass: \"executing\",\n\thandleDisabled: true,\n\thasDisabledDelay: false,\n} as CommandOptions);\n\nexport const COMMAND_CONFIG = new InjectionToken<CommandOptions>(\"command-config\");\n","import { AbstractControl, AbstractControlDirective } from \"@angular/forms\";\nimport { Observable, of } from \"rxjs\";\nimport { map, distinctUntilChanged, startWith, delay } from \"rxjs/operators\";\n\nimport { CommandCreator, ICommand } from \"./command.model\";\nimport { Command } from \"./command\";\n\n/** Determines whether the arg object is of type `Command`. */\nexport function isCommand(arg: unknown): arg is ICommand {\n\treturn arg instanceof Command;\n}\n\n/** Determines whether the arg object is of type `CommandCreator`. */\nexport function isCommandCreator(arg: unknown): arg is CommandCreator {\n\tif (arg instanceof Command) {\n\t\treturn false;\n\t} else if (isAssumedType<CommandCreator>(arg) && arg.execute && arg.host) {\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nexport interface CanExecuteFormOptions {\n\t/** Determines whether to check for validity. (defaults: true) */\n\tvalidity?: boolean;\n\n\t/** Determines whether to check whether UI has been touched. (defaults: true) */\n\tdirty?: boolean;\n}\n\n/** Get form is valid as an observable. */\nexport function canExecuteFromNgForm(\n\tform: AbstractControl | AbstractControlDirective,\n\toptions?: CanExecuteFormOptions\n): Observable<boolean> {\n\tconst opts: CanExecuteFormOptions = { validity: true, dirty: true, ...options };\n\n\treturn form.statusChanges\n\t\t? form.statusChanges.pipe(\n\t\t\tdelay(0),\n\t\t\tstartWith(form.valid),\n\t\t\tmap(() => !!(!opts.validity || form.valid) && !!(!opts.dirty || form.dirty)),\n\t\t\tdistinctUntilChanged(),\n\t\t)\n\t\t: of(true);\n}\n\nfunction isAssumedType<T = Record<string, unknown>>(x: unknown): x is Partial<T> {\n\treturn x !== null && typeof x === \"object\";\n}\n","import {\n\tDirective,\n\tOnInit,\n\tOnDestroy,\n\tInput,\n\tHostListener,\n\tElementRef,\n\tInject,\n\tRenderer2,\n\tChangeDetectorRef,\n} from \"@angular/core\";\nimport { Subject } from \"rxjs\";\nimport { tap, delay, takeUntil } from \"rxjs/operators\";\n\nimport { CommandOptions, COMMAND_CONFIG } from \"./config\";\nimport { Command } from \"./command\";\nimport { isCommand, isCommandCreator } from \"./command.util\";\nimport { CommandCreator, ICommand } from \"./command.model\";\n\n/**\n * Controls the state of a component in sync with `Command`.\n *\n * @example\n * ### Most common usage\n * ```html\n * <button [ssvCommand]=\"saveCmd\">Save</button>\n * ```\n *\n *\n * ### Usage with options\n * ```html\n * <button [ssvCommand]=\"saveCmd\" [ssvCommandOptions]=\"{executingCssClass: 'in-progress'}\">Save</button>\n * ```\n *\n *\n * ### Usage with params\n * This is useful for collections (loops) or using multiple actions with different args.\n * *NOTE: This will share the `isExecuting` when used with multiple controls.*\n *\n * #### With single param\n *\n * ```html\n * <button [ssvCommand]=\"saveCmd\" [ssvCommandParams]=\"{id: 1}\">Save</button>\n * ```\n * *NOTE: if you have only 1 argument as an array, it should be enclosed within an array e.g. `[['apple', 'banana']]`,\n * else it will spread and you will `arg1: \"apple\", arg2: \"banana\"`*\n *\n * #### With multi params\n * ```html\n * <button [ssvCommand]=\"saveCmd\" [ssvCommandParams]=\"[{id: 1}, 'hello', hero]\">Save</button>\n * ```\n *\n * ### Usage with Command Creator\n * This is useful for collections (loops) or using multiple actions with different args, whilst not sharing `isExecuting`.\n *\n *\n * ```html\n * <button [ssvCommand]=\"{host: this, execute: removeHero$, canExecute: isValid$, params: [hero, 1337, 'xx']}\">Save</button>\n * ```\n *\n */\n\nconst NAME_CAMEL = \"ssvCommand\";\n\n// let nextUniqueId = 0;\n\n@Directive({\n\tselector: `[${NAME_CAMEL}]`,\n\texportAs: NAME_CAMEL\n})\nexport class CommandDirective implements OnInit, OnDestroy {\n\n\t// readonly id = `${NAME_CAMEL}-${nextUniqueId++}`;\n\n\t@Input(NAME_CAMEL) commandOrCreator: ICommand | CommandCreator | undefined;\n\n\t@Input(`${NAME_CAMEL}Options`)\n\tget commandOptions(): CommandOptions { return this._commandOptions; }\n\tset commandOptions(value: CommandOptions) {\n\t\tif (value === this._commandOptions) {\n\t\t\treturn;\n\t\t}\n\t\tthis._commandOptions = {\n\t\t\t...this.config,\n\t\t\t...value,\n\t\t};\n\t}\n\n\t@Input(`${NAME_CAMEL}Params`) commandParams: unknown | unknown[];\n\n\tget command(): ICommand { return this._command; }\n\tprivate _command!: ICommand;\n\tprivate _commandOptions: CommandOptions = this.config;\n\tprivate _destroy$ = new Subject<void>();\n\n\tconstructor(\n\t\t@Inject(COMMAND_CONFIG) private config: CommandOptions,\n\t\tprivate renderer: Renderer2,\n\t\tprivate element: ElementRef,\n\t\tprivate cdr: ChangeDetectorRef,\n\t) { }\n\n\tngOnInit(): void {\n\t\t// console.log(\"[ssvCommand::init]\", this.config);\n\t\tif (!this.commandOrCreator) {\n\t\t\tthrow new Error(`${NAME_CAMEL}: [${NAME_CAMEL}] should be defined!`);\n\t\t} else if (isCommand(this.commandOrCreator)) {\n\t\t\tthis._command = this.commandOrCreator;\n\t\t} else if (isCommandCreator(this.commandOrCreator)) {\n\t\t\tconst isAsync = this.commandOrCreator.isAsync || this.commandOrCreator.isAsync === undefined;\n\n\t\t\t// todo: find something like this for ivy (or angular10+)\n\t\t\t// const hostComponent = (this.viewContainer as any)._view.component;\n\n\t\t\tconst execFn = this.commandOrCreator.execute.bind(this.commandOrCreator.host);\n\t\t\tthis.commandParams = this.commandParams || this.commandOrCreator.params;\n\n\t\t\tconst canExec = this.commandOrCreator.canExecute instanceof Function\n\t\t\t\t? this.commandOrCreator.canExecute.bind(this.commandOrCreator.host, this.commandParams)()\n\t\t\t\t: this.commandOrCreator.canExecute;\n\n\t\t\t// console.log(\"[ssvCommand::init] command creator\", {\n\t\t\t// \tfirstParam: this.commandParams ? this.commandParams[0] : null,\n\t\t\t// \tparams: this.commandParams\n\t\t\t// });\n\t\t\tthis._command = new Command(execFn, canExec, isAsync);\n\t\t} else {\n\t\t\tthrow new Error(`${NAME_CAMEL}: [${NAME_CAMEL}] is not defined properly!`);\n\t\t}\n\n\t\tthis._command.subscribe();\n\t\tthis._command.canExecute$.pipe(\n\t\t\tthis.commandOptions.hasDisabledDelay\n\t\t\t\t? delay(1)\n\t\t\t\t: tap(() => { /* stub */ }),\n\t\t\ttap(x => {\n\t\t\t\tthis.trySetDisabled(!x);\n\t\t\t\t// console.log(\"[ssvCommand::canExecute$]\", { canExecute: x });\n\t\t\t\tthis.cdr.markForCheck();\n\t\t\t}),\n\t\t\ttakeUntil(this._destroy$),\n\t\t).subscribe();\n\n\t\tif (this._command.isExecuting$) {\n\t\t\tthis._command.isExecuting$.pipe(\n\t\t\t\ttap(x => {\n\t\t\t\t\t// console.log(\"[ssvCommand::isExecuting$]\", x, this.commandOptions);\n\t\t\t\t\tif (x) {\n\t\t\t\t\t\tthis.renderer.addClass(\n\t\t\t\t\t\t\tthis.element.nativeElement,\n\t\t\t\t\t\t\tthis.commandOptions.executingCssClass\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.renderer.removeClass(\n\t\t\t\t\t\t\tthis.element.nativeElement,\n\t\t\t\t\t\t\tthis.commandOptions.executingCssClass\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\ttakeUntil(this._destroy$),\n\t\t\t).subscribe();\n\t\t}\n\t}\n\n\t@HostListener(\"click\")\n\tonClick(): void {\n\t\t// console.log(\"[ssvCommand::onClick]\", this.commandParams);\n\t\tif (Array.isArray(this.commandParams)) {\n\t\t\tthis._command.execute(...this.commandParams);\n\t\t} else {\n\t\t\tthis._command.execute(this.commandParams);\n\t\t}\n\t}\n\n\tngOnDestroy(): void {\n\t\t// console.log(\"[ssvCommand::destroy]\");\n\t\tthis._destroy$.next();\n\t\tthis._destroy$.complete();\n\t\tif (this._command) {\n\t\t\tthis._command.unsubscribe();\n\t\t}\n\t}\n\n\tprivate trySetDisabled(disabled: boolean) {\n\t\tif (this.commandOptions.handleDisabled) {\n\t\t\t// console.warn(\">>>> disabled\", { id: this.id, disabled });\n\t\t\tthis.renderer.setProperty(this.element.nativeElement, \"disabled\", disabled);\n\t\t}\n\t}\n\n}\n\n","import { Observable } from \"rxjs\";\nimport { Directive, OnInit, OnDestroy, Input } from \"@angular/core\";\n\nimport { ICommand, CommandCreator } from \"./command.model\";\nimport { isCommandCreator } from \"./command.util\";\nimport { Command } from \"./command\";\n\nconst NAME_CAMEL = \"ssvCommandRef\";\n\n/**\n * Command creator ref, directive which allows creating Command in the template\n * and associate it to a command (in order to share executions).\n * @example\n * ### Most common usage\n * ```html\n * <div #actionCmd=\"ssvCommandRef\" [ssvCommandRef]=\"{host: this, execute: removeHero$, canExecute: isValid$}\">\n * <button [ssvCommand]=\"actionCmd.command\" [ssvCommandParams]=\"hero\">\n * Remove\n * </button>\n * <button [ssvCommand]=\"actionCmd.command\" [ssvCommandParams]=\"hero\">\n * Remove\n * </button>\n * </div>\n * ```\n *\n */\n@Directive({\n\tselector: `[${NAME_CAMEL}]`,\n\texportAs: NAME_CAMEL\n})\nexport class CommandRefDirective implements OnInit, OnDestroy {\n\n\t@Input(NAME_CAMEL) commandCreator: CommandCreator | undefined;\n\n\tget command(): ICommand { return this._command; }\n\tprivate _command!: ICommand;\n\n\tngOnInit(): void {\n\t\tif (isCommandCreator(this.commandCreator)) {\n\t\t\tconst isAsync = this.commandCreator.isAsync || this.commandCreator.isAsync === undefined;\n\n\t\t\tconst execFn = this.commandCreator.execute.bind(this.commandCreator.host);\n\t\t\tthis._command = new Command(execFn, this.commandCreator.canExecute as Observable<boolean> | undefined, isAsync);\n\t\t} else {\n\t\t\tthrow new Error(`${NAME_CAMEL}: [${NAME_CAMEL}] is not defined properly!`);\n\t\t}\n\t}\n\n\tngOnDestroy(): void {\n\t\t// console.log(\"[commandRef::destroy]\");\n\t\tif (this._command) {\n\t\t\tthis._command.destroy();\n\t\t}\n\t}\n\n}\n","import { NgModule, ModuleWithProviders, InjectionToken, Optional } from \"@angular/core\";\n\nimport { CommandDirective } from \"./command.directive\";\nimport { CommandRefDirective } from \"./command-ref.directive\";\nimport { CommandOptions, COMMAND_DEFAULT_CONFIG, COMMAND_CONFIG } from \"./config\";\n\n/** @internal */\nexport const MODULE_CONFIG_DATA = new InjectionToken<CommandOptions>(\"@ssv/ngx.command/configData\");\n\nconst components = [\n\tCommandDirective,\n\tCommandRefDirective\n];\n\n@NgModule({\n\tdeclarations: components,\n\tproviders: [\n\t\t{ provide: COMMAND_CONFIG, useFactory: _moduleConfigFactory, deps: [[MODULE_CONFIG_DATA, new Optional()]] },\n\t],\n\texports: [...components],\n})\nexport class SsvCommandModule {\n\n\tstatic forRoot(config?: Partial<CommandOptions> | (() => Partial<CommandOptions>)): ModuleWithProviders<SsvCommandModule> {\n\t\treturn {\n\t\t\tngModule: SsvCommandModule,\n\t\t\tproviders: [\n\t\t\t\t{ provide: MODULE_CONFIG_DATA, useValue: config },\n\t\t\t],\n\t\t};\n\t}\n\n}\n\n/** @internal */\nexport function _moduleConfigFactory(config: CommandOptions | (() => CommandOptions)): CommandOptions {\n\tconst cfg = typeof config === \"function\" ? config() : config;\n\treturn cfg\n\t\t? {\n\t\t\t...COMMAND_DEFAULT_CONFIG,\n\t\t\t...cfg,\n\t\t}\n\t\t: COMMAND_DEFAULT_CONFIG;\n}\n","export const VERSION = \"2.2.0-dev268\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["NAME_CAMEL"],"mappings":"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"}
|
package/ssv-ngx.command.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"metadata":{"Command":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":48,"character":11,"module":"./command"},{"__symbolic":"reference","name":"Observable","module":"rxjs","arguments":[{"__symbolic":"reference","name":"boolean"}]},{"__symbolic":"reference","name":"boolean"}]}],"execute":[{"__symbolic":"method"}],"destroy":[{"__symbolic":"method"}],"subscribe":[{"__symbolic":"method"}],"unsubscribe":[{"__symbolic":"method"}],"buildExecutionPipe":[{"__symbolic":"method"}]}},"CommandAsync":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Command"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":163,"character":11,"module":"./command"},{"__symbolic":"reference","name":"Observable","module":"rxjs","arguments":[{"__symbolic":"reference","name":"boolean"}]}]}]}},"CommandDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":66,"character":1},"arguments":[{"selector":"[ssvCommand]","exportAs":"ssvCommand"}]}],"members":{"commandOrCreator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":74,"character":2},"arguments":["ssvCommand"]}]}],"commandOptions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":76,"character":2},"arguments":["ssvCommandOptions"]}]}],"commandParams":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":88,"character":2},"arguments":["ssvCommandParams"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":96,"character":3},"arguments":[{"__symbolic":"reference","name":"COMMAND_CONFIG"}]}],null,null,null],"parameters":[{"__symbolic":"reference","name":"CommandOptions"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":97,"character":20},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":98,"character":19},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":99,"character":15}]}],"ngOnInit":[{"__symbolic":"method"}],"onClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":164,"character":2},"arguments":["click"]}]}],"ngOnDestroy":[{"__symbolic":"method"}],"trySetDisabled":[{"__symbolic":"method"}]}},"CommandRefDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":26,"character":1},"arguments":[{"selector":"[ssvCommandRef]","exportAs":"ssvCommandRef"}]}],"members":{"commandCreator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":2},"arguments":["ssvCommandRef"]}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"isCommand":{"__symbolic":"function","parameters":["arg"],"value":{"__symbolic":"binop","operator":"instanceof","left":{"__symbolic":"reference","name":"arg"},"right":{"__symbolic":"reference","name":"Command"}}},"isCommandCreator":{"__symbolic":"function"},"CanExecuteFormOptions":{"__symbolic":"interface"},"canExecuteFromNgForm":{"__symbolic":"function"},"CommandCreator":{"__symbolic":"interface"},"ICommand":{"__symbolic":"interface"},"CommandOptions":{"__symbolic":"interface"},"COMMAND_DEFAULT_CONFIG":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Object"},"member":"freeze"},"arguments":[{"executingCssClass":"executing","handleDisabled":true,"hasDisabledDelay":false}]},"COMMAND_CONFIG":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":26,"character":34},"arguments":["command-config"]},"MODULE_CONFIG_DATA":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":7,"character":38},"arguments":["@ssv/ngx.command/configData"]},"SsvCommandModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":14,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"CommandDirective"},{"__symbolic":"reference","name":"CommandRefDirective"}],"providers":[{"provide":{"__symbolic":"reference","name":"COMMAND_CONFIG"},"useFactory":{"__symbolic":"reference","name":"_moduleConfigFactory"},"deps":[[{"__symbolic":"reference","name":"MODULE_CONFIG_DATA"},{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":17,"character":95}}]]}],"exports":[{"__symbolic":"reference","name":"CommandDirective"},{"__symbolic":"reference","name":"CommandRefDirective"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["config"],"value":{"ngModule":{"__symbolic":"reference","name":"SsvCommandModule"},"providers":[{"provide":{"__symbolic":"reference","name":"MODULE_CONFIG_DATA"},"useValue":{"__symbolic":"reference","name":"config"}}]}}}},"_moduleConfigFactory":{"__symbolic":"function"},"VERSION":"2.2.0-dev268"},"origins":{"Command":"./command","CommandAsync":"./command","CommandDirective":"./command.directive","CommandRefDirective":"./command-ref.directive","isCommand":"./command.util","isCommandCreator":"./command.util","CanExecuteFormOptions":"./command.util","canExecuteFromNgForm":"./command.util","CommandCreator":"./command.model","ICommand":"./command.model","CommandOptions":"./config","COMMAND_DEFAULT_CONFIG":"./config","COMMAND_CONFIG":"./config","MODULE_CONFIG_DATA":"./module","SsvCommandModule":"./module","_moduleConfigFactory":"./module","VERSION":"./version"},"importAs":"@ssv/ngx.command"}
|