UNPKG

5.11 kBJavaScriptView Raw
1import { Directive, Input } from '@angular/core';
2import { reaction } from 'mobx';
3import { MobxAutorunDirective } from './mobx-autorun.directive';
4import * as i0 from "@angular/core";
5export class MobxReactionDirective extends MobxAutorunDirective {
6 constructor(templateRef, viewContainer) {
7 super(templateRef, viewContainer);
8 Object.defineProperty(this, "templateRef", {
9 enumerable: true,
10 configurable: true,
11 writable: true,
12 value: templateRef
13 });
14 Object.defineProperty(this, "viewContainer", {
15 enumerable: true,
16 configurable: true,
17 writable: true,
18 value: viewContainer
19 });
20 Object.defineProperty(this, "mobxReaction", {
21 enumerable: true,
22 configurable: true,
23 writable: true,
24 value: void 0
25 });
26 Object.defineProperty(this, "mobxReactionOptions", {
27 enumerable: true,
28 configurable: true,
29 writable: true,
30 value: void 0
31 });
32 }
33 autoDetect(view) {
34 const opts = Object.assign({ fireImmediately: true }, this.mobxReactionOptions);
35 this.dispose = reaction(this.mobxReaction, () => {
36 view.detectChanges();
37 }, opts);
38 }
39}
40Object.defineProperty(MobxReactionDirective, "\u0275fac", {
41 enumerable: true,
42 configurable: true,
43 writable: true,
44 value: i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: MobxReactionDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive })
45});
46Object.defineProperty(MobxReactionDirective, "\u0275dir", {
47 enumerable: true,
48 configurable: true,
49 writable: true,
50 value: i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0", type: MobxReactionDirective, selector: "[mobxReaction]", inputs: { mobxReaction: "mobxReaction", mobxReactionOptions: "mobxReactionOptions" }, usesInheritance: true, ngImport: i0 })
51});
52i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: MobxReactionDirective, decorators: [{
53 type: Directive,
54 args: [{ selector: '[mobxReaction]' }]
55 }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; }, propDecorators: { mobxReaction: [{
56 type: Input
57 }], mobxReactionOptions: [{
58 type: Input
59 }] } });
60//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ieC1yZWFjdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tb2J4LWFuZ3VsYXIvc3JjL2xpYi9tb2J4LXJlYWN0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFpQyxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFvQixRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBR2hFLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxvQkFBb0I7SUFJN0QsWUFDWSxXQUE2QixFQUM3QixhQUErQjtRQUV6QyxLQUFLLENBQUMsV0FBVyxFQUFFLGFBQWEsQ0FBQyxDQUFDOzs7OzttQkFIeEI7Ozs7OzttQkFDQTs7UUFMWjs7Ozs7V0FBc0I7UUFDdEI7Ozs7O1dBQXlEO0lBT3pELENBQUM7SUFFRCxVQUFVLENBQUMsSUFBSTtRQUNiLE1BQU0sSUFBSSxHQUErQixNQUFNLENBQUMsTUFBTSxDQUNwRCxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsRUFDekIsSUFBSSxDQUFDLG1CQUFtQixDQUN6QixDQUFDO1FBRUYsSUFBSSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQ3JCLElBQUksQ0FBQyxZQUFZLEVBQ2pCLEdBQUcsRUFBRTtZQUNILElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QixDQUFDLEVBQ0QsSUFBSSxDQUNMLENBQUM7SUFDSixDQUFDOzs7Ozs7Z0dBeEJVLHFCQUFxQjs7Ozs7O29GQUFyQixxQkFBcUI7OzJGQUFyQixxQkFBcUI7a0JBRGpDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUU7aUlBRTlCLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBWaWV3Q29udGFpbmVyUmVmLCBUZW1wbGF0ZVJlZiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSVJlYWN0aW9uT3B0aW9ucywgcmVhY3Rpb24gfSBmcm9tICdtb2J4JztcclxuaW1wb3J0IHsgTW9ieEF1dG9ydW5EaXJlY3RpdmUgfSBmcm9tICcuL21vYngtYXV0b3J1bi5kaXJlY3RpdmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW21vYnhSZWFjdGlvbl0nIH0pXHJcbmV4cG9ydCBjbGFzcyBNb2J4UmVhY3Rpb25EaXJlY3RpdmUgZXh0ZW5kcyBNb2J4QXV0b3J1bkRpcmVjdGl2ZSB7XHJcbiAgQElucHV0KCkgbW9ieFJlYWN0aW9uO1xyXG4gIEBJbnB1dCgpIG1vYnhSZWFjdGlvbk9wdGlvbnM6IElSZWFjdGlvbk9wdGlvbnM8YW55LCBhbnk+O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcclxuICAgIHByb3RlY3RlZCB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmXHJcbiAgKSB7XHJcbiAgICBzdXBlcih0ZW1wbGF0ZVJlZiwgdmlld0NvbnRhaW5lcik7XHJcbiAgfVxyXG5cclxuICBhdXRvRGV0ZWN0KHZpZXcpIHtcclxuICAgIGNvbnN0IG9wdHM6IElSZWFjdGlvbk9wdGlvbnM8YW55LCBhbnk+ID0gT2JqZWN0LmFzc2lnbihcclxuICAgICAgeyBmaXJlSW1tZWRpYXRlbHk6IHRydWUgfSxcclxuICAgICAgdGhpcy5tb2J4UmVhY3Rpb25PcHRpb25zXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuZGlzcG9zZSA9IHJlYWN0aW9uKFxyXG4gICAgICB0aGlzLm1vYnhSZWFjdGlvbixcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIHZpZXcuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9LFxyXG4gICAgICBvcHRzXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
\No newline at end of file