angular-three 1.0.0-beta.6 → 1.0.0-beta.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/index.mjs +2 -1
- package/esm2020/lib/pipes/push.mjs +54 -0
- package/fesm2015/angular-three.mjs +53 -2
- package/fesm2015/angular-three.mjs.map +1 -1
- package/fesm2020/angular-three.mjs +53 -2
- package/fesm2020/angular-three.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/lib/pipes/push.d.ts +15 -0
- package/package.json +1 -1
package/esm2020/index.mjs
CHANGED
|
@@ -11,4 +11,5 @@ export * from './lib/utils/is';
|
|
|
11
11
|
export * from './lib/loader';
|
|
12
12
|
export * from './lib/di/ref';
|
|
13
13
|
export * from './lib/di/destroy';
|
|
14
|
-
|
|
14
|
+
export * from './lib/pipes/push';
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdGhyZWUvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9jYW52YXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGkvY2F0YWxvZ3VlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvYXJncyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL3JlcGVhdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdG9yZXMvc3RvcmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RvcmVzL3J4LXN0b3JlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzL2luc3RhbmNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzL3VwZGF0ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlscy9pcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9sb2FkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGkvcmVmJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpL2Rlc3Ryb3knO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvcHVzaCc7XG4iXX0=
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { ChangeDetectorRef, inject, Pipe } from '@angular/core';
|
|
2
|
+
import { isObservable } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
function isPromise(value) {
|
|
5
|
+
return ((value instanceof Promise || Object.prototype.toString.call(value) === '[object Promise]') &&
|
|
6
|
+
typeof value['then'] === 'function');
|
|
7
|
+
}
|
|
8
|
+
export class NgtPush {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.cdr = inject(ChangeDetectorRef);
|
|
11
|
+
this.parentCdr = inject(ChangeDetectorRef, { skipSelf: true, optional: true });
|
|
12
|
+
}
|
|
13
|
+
transform(value, defaultValue = null) {
|
|
14
|
+
if (this.obj === value) {
|
|
15
|
+
return this.latestValue;
|
|
16
|
+
}
|
|
17
|
+
this.obj = value;
|
|
18
|
+
this.latestValue = defaultValue;
|
|
19
|
+
if (this.sub) {
|
|
20
|
+
this.sub.unsubscribe();
|
|
21
|
+
}
|
|
22
|
+
if (isObservable(this.obj)) {
|
|
23
|
+
this.sub = this.obj.subscribe(this.updateValue.bind(this));
|
|
24
|
+
}
|
|
25
|
+
else if (isPromise(this.obj)) {
|
|
26
|
+
this.obj.then(this.updateValue.bind(this));
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
throw new Error(`[NGT] Invalid value passed to ngtPush pipe`);
|
|
30
|
+
}
|
|
31
|
+
return this.latestValue;
|
|
32
|
+
}
|
|
33
|
+
updateValue(val) {
|
|
34
|
+
this.latestValue = val;
|
|
35
|
+
this.cdr.detectChanges();
|
|
36
|
+
if (this.parentCdr) {
|
|
37
|
+
this.parentCdr.detectChanges();
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
ngOnDestroy() {
|
|
41
|
+
if (this.sub) {
|
|
42
|
+
this.sub.unsubscribe();
|
|
43
|
+
}
|
|
44
|
+
this.latestValue = undefined;
|
|
45
|
+
this.obj = undefined;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
NgtPush.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: NgtPush, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
49
|
+
NgtPush.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: NgtPush, isStandalone: true, name: "ngtPush", pure: false });
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: NgtPush, decorators: [{
|
|
51
|
+
type: Pipe,
|
|
52
|
+
args: [{ name: 'ngtPush', pure: false, standalone: true }]
|
|
53
|
+
}] });
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci10aHJlZS9zcmMvbGliL3BpcGVzL3B1c2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBYSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxZQUFZLEVBQWlDLE1BQU0sTUFBTSxDQUFDOztBQUVuRSxTQUFTLFNBQVMsQ0FBQyxLQUFjO0lBQzdCLE9BQU8sQ0FDSCxDQUFDLEtBQUssWUFBWSxPQUFPLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLGtCQUFrQixDQUFDO1FBQzFGLE9BQVEsS0FBMEIsQ0FBQyxNQUFNLENBQUMsS0FBSyxVQUFVLENBQzVELENBQUM7QUFDTixDQUFDO0FBR0QsTUFBTSxPQUFPLE9BQU87SUFEcEI7UUFFcUIsUUFBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2hDLGNBQVMsR0FBRyxNQUFNLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0tBMkM5RjtJQXJDRyxTQUFTLENBQUMsS0FBeUIsRUFBRSxlQUFrQixJQUFLO1FBQ3hELElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxLQUFLLEVBQUU7WUFDcEIsT0FBTyxJQUFJLENBQUMsV0FBZ0IsQ0FBQztTQUNoQztRQUNELElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxXQUFXLEdBQUcsWUFBWSxDQUFDO1FBRWhDLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNWLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDMUI7UUFFRCxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDeEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQzlEO2FBQU0sSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzNCLElBQUksQ0FBQyxHQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQzlEO2FBQU07WUFDSCxNQUFNLElBQUksS0FBSyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7U0FDakU7UUFFRCxPQUFPLElBQUksQ0FBQyxXQUFnQixDQUFDO0lBQ2pDLENBQUM7SUFFRCxXQUFXLENBQUMsR0FBTTtRQUNkLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDbEM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNWLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDMUI7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQztRQUM3QixJQUFJLENBQUMsR0FBRyxHQUFHLFNBQVMsQ0FBQztJQUN6QixDQUFDOztvR0E1Q1EsT0FBTztrR0FBUCxPQUFPOzJGQUFQLE9BQU87a0JBRG5CLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBpbmplY3QsIE9uRGVzdHJveSwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNPYnNlcnZhYmxlLCBPYnNlcnZhYmxlSW5wdXQsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5mdW5jdGlvbiBpc1Byb21pc2UodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBQcm9taXNlPHVua25vd24+IHtcbiAgICByZXR1cm4gKFxuICAgICAgICAodmFsdWUgaW5zdGFuY2VvZiBQcm9taXNlIHx8IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2YWx1ZSkgPT09ICdbb2JqZWN0IFByb21pc2VdJykgJiZcbiAgICAgICAgdHlwZW9mICh2YWx1ZSBhcyBQcm9taXNlPHVua25vd24+KVsndGhlbiddID09PSAnZnVuY3Rpb24nXG4gICAgKTtcbn1cblxuQFBpcGUoeyBuYW1lOiAnbmd0UHVzaCcsIHB1cmU6IGZhbHNlLCBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgTmd0UHVzaDxUPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0sIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcGFyZW50Q2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmLCB7IHNraXBTZWxmOiB0cnVlLCBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICAgIHByaXZhdGUgc3ViPzogU3Vic2NyaXB0aW9uO1xuICAgIHByaXZhdGUgb2JqPzogT2JzZXJ2YWJsZUlucHV0PFQ+O1xuICAgIHByaXZhdGUgbGF0ZXN0VmFsdWU/OiBUO1xuXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBPYnNlcnZhYmxlSW5wdXQ8VD4sIGRlZmF1bHRWYWx1ZTogVCA9IG51bGwhKTogVCB7XG4gICAgICAgIGlmICh0aGlzLm9iaiA9PT0gdmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmxhdGVzdFZhbHVlIGFzIFQ7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vYmogPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5sYXRlc3RWYWx1ZSA9IGRlZmF1bHRWYWx1ZTtcblxuICAgICAgICBpZiAodGhpcy5zdWIpIHtcbiAgICAgICAgICAgIHRoaXMuc3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNPYnNlcnZhYmxlKHRoaXMub2JqKSkge1xuICAgICAgICAgICAgdGhpcy5zdWIgPSB0aGlzLm9iai5zdWJzY3JpYmUodGhpcy51cGRhdGVWYWx1ZS5iaW5kKHRoaXMpKTtcbiAgICAgICAgfSBlbHNlIGlmIChpc1Byb21pc2UodGhpcy5vYmopKSB7XG4gICAgICAgICAgICAodGhpcy5vYmogYXMgUHJvbWlzZTxUPikudGhlbih0aGlzLnVwZGF0ZVZhbHVlLmJpbmQodGhpcykpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBbTkdUXSBJbnZhbGlkIHZhbHVlIHBhc3NlZCB0byBuZ3RQdXNoIHBpcGVgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmxhdGVzdFZhbHVlIGFzIFQ7XG4gICAgfVxuXG4gICAgdXBkYXRlVmFsdWUodmFsOiBUKSB7XG4gICAgICAgIHRoaXMubGF0ZXN0VmFsdWUgPSB2YWw7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgaWYgKHRoaXMucGFyZW50Q2RyKSB7XG4gICAgICAgICAgICB0aGlzLnBhcmVudENkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgaWYgKHRoaXMuc3ViKSB7XG4gICAgICAgICAgICB0aGlzLnN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubGF0ZXN0VmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMub2JqID0gdW5kZWZpbmVkO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { ElementRef, Injectable, inject, InjectionToken, ViewContainerRef, TemplateRef, Directive, Input, EventEmitter, getDebugNode, ChangeDetectorRef, RendererFactory2, Component, Output, EnvironmentInjector, createEnvironmentInjector, HostBinding, ViewChild } from '@angular/core';
|
|
2
|
+
import { ElementRef, Injectable, inject, InjectionToken, ViewContainerRef, TemplateRef, Directive, Input, EventEmitter, getDebugNode, ChangeDetectorRef, RendererFactory2, Component, Output, EnvironmentInjector, createEnvironmentInjector, HostBinding, ViewChild, Pipe } from '@angular/core';
|
|
3
3
|
import { injectNgxResize, provideNgxResizeOptions } from 'ngx-resize';
|
|
4
4
|
import { BehaviorSubject, startWith, tap, isObservable, of, map, from, retry, catchError, share, ReplaySubject, switchMap, forkJoin, take, filter, distinctUntilChanged, takeUntil, merge } from 'rxjs';
|
|
5
5
|
import { __rest } from 'tslib';
|
|
@@ -2557,9 +2557,60 @@ function injectNgtRef(initialValue = null) {
|
|
|
2557
2557
|
return Object.assign(ref, { subscribe, $, children$, useCDR: (cdr) => void cdRefs.push(cdr) });
|
|
2558
2558
|
}
|
|
2559
2559
|
|
|
2560
|
+
function isPromise(value) {
|
|
2561
|
+
return ((value instanceof Promise || Object.prototype.toString.call(value) === '[object Promise]') &&
|
|
2562
|
+
typeof value['then'] === 'function');
|
|
2563
|
+
}
|
|
2564
|
+
class NgtPush {
|
|
2565
|
+
constructor() {
|
|
2566
|
+
this.cdr = inject(ChangeDetectorRef);
|
|
2567
|
+
this.parentCdr = inject(ChangeDetectorRef, { skipSelf: true, optional: true });
|
|
2568
|
+
}
|
|
2569
|
+
transform(value, defaultValue = null) {
|
|
2570
|
+
if (this.obj === value) {
|
|
2571
|
+
return this.latestValue;
|
|
2572
|
+
}
|
|
2573
|
+
this.obj = value;
|
|
2574
|
+
this.latestValue = defaultValue;
|
|
2575
|
+
if (this.sub) {
|
|
2576
|
+
this.sub.unsubscribe();
|
|
2577
|
+
}
|
|
2578
|
+
if (isObservable(this.obj)) {
|
|
2579
|
+
this.sub = this.obj.subscribe(this.updateValue.bind(this));
|
|
2580
|
+
}
|
|
2581
|
+
else if (isPromise(this.obj)) {
|
|
2582
|
+
this.obj.then(this.updateValue.bind(this));
|
|
2583
|
+
}
|
|
2584
|
+
else {
|
|
2585
|
+
throw new Error(`[NGT] Invalid value passed to ngtPush pipe`);
|
|
2586
|
+
}
|
|
2587
|
+
return this.latestValue;
|
|
2588
|
+
}
|
|
2589
|
+
updateValue(val) {
|
|
2590
|
+
this.latestValue = val;
|
|
2591
|
+
this.cdr.detectChanges();
|
|
2592
|
+
if (this.parentCdr) {
|
|
2593
|
+
this.parentCdr.detectChanges();
|
|
2594
|
+
}
|
|
2595
|
+
}
|
|
2596
|
+
ngOnDestroy() {
|
|
2597
|
+
if (this.sub) {
|
|
2598
|
+
this.sub.unsubscribe();
|
|
2599
|
+
}
|
|
2600
|
+
this.latestValue = undefined;
|
|
2601
|
+
this.obj = undefined;
|
|
2602
|
+
}
|
|
2603
|
+
}
|
|
2604
|
+
NgtPush.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: NgtPush, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
2605
|
+
NgtPush.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: NgtPush, isStandalone: true, name: "ngtPush", pure: false });
|
|
2606
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: NgtPush, decorators: [{
|
|
2607
|
+
type: Pipe,
|
|
2608
|
+
args: [{ name: 'ngtPush', pure: false, standalone: true }]
|
|
2609
|
+
}] });
|
|
2610
|
+
|
|
2560
2611
|
/**
|
|
2561
2612
|
* Generated bundle index. Do not edit.
|
|
2562
2613
|
*/
|
|
2563
2614
|
|
|
2564
|
-
export { NGT_CATALOGUE, NgtArgs, NgtCanvas, NgtCanvasContainer, NgtRepeat, NgtRxStore, NgtStore, checkNeedsUpdate, checkUpdate, extend, getLocalState, injectNgtDestroy, injectNgtLoader, injectNgtRef, invalidateInstance, is, prepare, rootStateMap, startWithUndefined, updateCamera };
|
|
2615
|
+
export { NGT_CATALOGUE, NgtArgs, NgtCanvas, NgtCanvasContainer, NgtPush, NgtRepeat, NgtRxStore, NgtStore, checkNeedsUpdate, checkUpdate, extend, getLocalState, injectNgtDestroy, injectNgtLoader, injectNgtRef, invalidateInstance, is, prepare, rootStateMap, startWithUndefined, updateCamera };
|
|
2565
2616
|
//# sourceMappingURL=angular-three.mjs.map
|