@furystack/shades 7.2.5 → 8.0.0
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/package.json +25 -8
- package/src/component-factory.spec.tsx +2 -1
- package/src/components/lazy-load.spec.tsx +9 -4
- package/src/components/lazy-load.tsx +3 -7
- package/src/components/route-link.spec.tsx +8 -3
- package/src/components/router.spec.tsx +11 -6
- package/src/components/router.tsx +2 -2
- package/src/models/render-options.ts +0 -4
- package/src/models/shade-component.ts +0 -1
- package/src/services/location-service.spec.ts +8 -3
- package/src/services/resource-manager.spec.ts +1 -0
- package/src/services/screen-service.spec.ts +7 -2
- package/src/shade-component.ts +0 -2
- package/src/shade-resources.integration.spec.tsx +8 -3
- package/src/shade.ts +3 -5
- package/src/shades.integration.spec.tsx +11 -6
- package/types/components/lazy-load.d.ts.map +1 -1
- package/types/models/render-options.d.ts +0 -4
- package/types/models/render-options.d.ts.map +1 -1
- package/types/models/shade-component.d.ts +0 -1
- package/types/models/shade-component.d.ts.map +1 -1
- package/types/shade-component.d.ts +0 -2
- package/types/shade-component.d.ts.map +1 -1
- package/types/shade.d.ts +0 -1
- package/types/shade.d.ts.map +1 -1
- package/dist/component-factory.spec.js +0 -81
- package/dist/component-factory.spec.js.map +0 -1
- package/dist/components/index.js +0 -20
- package/dist/components/index.js.map +0 -1
- package/dist/components/lazy-load.js +0 -49
- package/dist/components/lazy-load.js.map +0 -1
- package/dist/components/lazy-load.spec.js +0 -72
- package/dist/components/lazy-load.spec.js.map +0 -1
- package/dist/components/route-link.js +0 -28
- package/dist/components/route-link.js.map +0 -1
- package/dist/components/route-link.spec.js +0 -28
- package/dist/components/route-link.spec.js.map +0 -1
- package/dist/components/router.js +0 -62
- package/dist/components/router.js.map +0 -1
- package/dist/components/router.spec.js +0 -84
- package/dist/components/router.spec.js.map +0 -1
- package/dist/index.js +0 -24
- package/dist/index.js.map +0 -1
- package/dist/initialize.js +0 -9
- package/dist/initialize.js.map +0 -1
- package/dist/jsx.js +0 -3
- package/dist/jsx.js.map +0 -1
- package/dist/models/children-list.js +0 -3
- package/dist/models/children-list.js.map +0 -1
- package/dist/models/index.js +0 -22
- package/dist/models/index.js.map +0 -1
- package/dist/models/partial-element.js +0 -3
- package/dist/models/partial-element.js.map +0 -1
- package/dist/models/render-options.js +0 -3
- package/dist/models/render-options.js.map +0 -1
- package/dist/models/selection-state.js +0 -3
- package/dist/models/selection-state.js.map +0 -1
- package/dist/models/shade-component.js +0 -14
- package/dist/models/shade-component.js.map +0 -1
- package/dist/services/index.js +0 -19
- package/dist/services/index.js.map +0 -1
- package/dist/services/location-service.js +0 -93
- package/dist/services/location-service.js.map +0 -1
- package/dist/services/location-service.spec.js +0 -86
- package/dist/services/location-service.spec.js.map +0 -1
- package/dist/services/resource-manager.js +0 -48
- package/dist/services/resource-manager.js.map +0 -1
- package/dist/services/resource-manager.spec.js +0 -32
- package/dist/services/resource-manager.spec.js.map +0 -1
- package/dist/services/screen-service.js +0 -72
- package/dist/services/screen-service.js.map +0 -1
- package/dist/services/screen-service.spec.js +0 -25
- package/dist/services/screen-service.spec.js.map +0 -1
- package/dist/shade-component.js +0 -101
- package/dist/shade-component.js.map +0 -1
- package/dist/shade-resources.integration.spec.js +0 -55
- package/dist/shade-resources.integration.spec.js.map +0 -1
- package/dist/shade.js +0 -185
- package/dist/shade.js.map +0 -1
- package/dist/shades.integration.spec.js +0 -251
- package/dist/shades.integration.spec.js.map +0 -1
- package/types/component-factory.spec.d.ts +0 -2
- package/types/component-factory.spec.d.ts.map +0 -1
- package/types/components/lazy-load.spec.d.ts +0 -2
- package/types/components/lazy-load.spec.d.ts.map +0 -1
- package/types/components/route-link.spec.d.ts +0 -2
- package/types/components/route-link.spec.d.ts.map +0 -1
- package/types/components/router.spec.d.ts +0 -2
- package/types/components/router.spec.d.ts.map +0 -1
- package/types/services/location-service.spec.d.ts +0 -2
- package/types/services/location-service.spec.d.ts.map +0 -1
- package/types/services/resource-manager.spec.d.ts +0 -2
- package/types/services/resource-manager.spec.d.ts.map +0 -1
- package/types/services/screen-service.spec.d.ts +0 -2
- package/types/services/screen-service.spec.d.ts.map +0 -1
- package/types/shade-resources.integration.spec.d.ts +0 -2
- package/types/shade-resources.integration.spec.d.ts.map +0 -1
- package/types/shades.integration.spec.d.ts +0 -2
- package/types/shades.integration.spec.d.ts.map +0 -1
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.LocationService = void 0;
|
|
13
|
-
const utils_1 = require("@furystack/utils");
|
|
14
|
-
const inject_1 = require("@furystack/inject");
|
|
15
|
-
const rest_1 = require("@furystack/rest");
|
|
16
|
-
let LocationService = class LocationService {
|
|
17
|
-
dispose() {
|
|
18
|
-
window.removeEventListener('popstate', this.updateState);
|
|
19
|
-
window.removeEventListener('hashchange', this.updateState);
|
|
20
|
-
this.pushStateTracer.dispose();
|
|
21
|
-
this.replaceStateTracer.dispose();
|
|
22
|
-
this.onLocationPathChanged.dispose();
|
|
23
|
-
this.onLocationSearchChanged.dispose();
|
|
24
|
-
this.onDeserializedLocationSearchChanged.dispose();
|
|
25
|
-
this.locationDeserializerObserver.dispose();
|
|
26
|
-
}
|
|
27
|
-
updateState() {
|
|
28
|
-
this.onLocationPathChanged.setValue(location.pathname);
|
|
29
|
-
this.onLocationHashChanged.setValue(location.hash);
|
|
30
|
-
this.onLocationSearchChanged.setValue(location.search);
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
*
|
|
34
|
-
* @param key The search param key (e.g. ?search=1 -> search)
|
|
35
|
-
* @param defaultValue The default value if not provided
|
|
36
|
-
* @returns An observable with the current value (or default value) of the search param
|
|
37
|
-
*/
|
|
38
|
-
useSearchParam(key, defaultValue) {
|
|
39
|
-
const actualValue = this.onDeserializedLocationSearchChanged.getValue()[key] ?? defaultValue;
|
|
40
|
-
if (!this.searchParamObservables.has(key)) {
|
|
41
|
-
const newObservable = new utils_1.ObservableValue(actualValue);
|
|
42
|
-
this.searchParamObservables.set(key, newObservable);
|
|
43
|
-
newObservable.subscribe((value) => {
|
|
44
|
-
const params = (0, rest_1.serializeToQueryString)({ ...(0, rest_1.deserializeQueryString)(location.search), [key]: value });
|
|
45
|
-
history.pushState({}, '', `${location.pathname}?${params}`);
|
|
46
|
-
});
|
|
47
|
-
this.onDeserializedLocationSearchChanged.subscribe((search) => {
|
|
48
|
-
const value = search[key] ?? defaultValue;
|
|
49
|
-
this.searchParamObservables.get(key)?.setValue(value);
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
return this.searchParamObservables.get(key);
|
|
53
|
-
}
|
|
54
|
-
constructor() {
|
|
55
|
-
/**
|
|
56
|
-
* Observable value that will be updated when the location pathname (e.g. /page/1) changes
|
|
57
|
-
*/
|
|
58
|
-
this.onLocationPathChanged = new utils_1.ObservableValue(new URL(location.href).pathname);
|
|
59
|
-
/**
|
|
60
|
-
* Observable value that will be updated when the location hash (e.g. #hash) changes
|
|
61
|
-
*/
|
|
62
|
-
this.onLocationHashChanged = new utils_1.ObservableValue(location.hash);
|
|
63
|
-
/**
|
|
64
|
-
* Observable value that will be updated when the location search (e.g. ?search=1) changes
|
|
65
|
-
*/
|
|
66
|
-
this.onLocationSearchChanged = new utils_1.ObservableValue(location.search);
|
|
67
|
-
this.onDeserializedLocationSearchChanged = new utils_1.ObservableValue((0, rest_1.deserializeQueryString)(this.onLocationSearchChanged.getValue()));
|
|
68
|
-
this.locationDeserializerObserver = this.onLocationSearchChanged.subscribe((search) => {
|
|
69
|
-
this.onDeserializedLocationSearchChanged.setValue((0, rest_1.deserializeQueryString)(search));
|
|
70
|
-
});
|
|
71
|
-
this.searchParamObservables = new Map();
|
|
72
|
-
window.addEventListener('popstate', () => this.updateState());
|
|
73
|
-
window.addEventListener('hashchange', () => this.updateState());
|
|
74
|
-
this.pushStateTracer = utils_1.Trace.method({
|
|
75
|
-
object: history,
|
|
76
|
-
method: history.pushState,
|
|
77
|
-
isAsync: false,
|
|
78
|
-
onFinished: () => this.updateState(),
|
|
79
|
-
});
|
|
80
|
-
this.replaceStateTracer = utils_1.Trace.method({
|
|
81
|
-
object: history,
|
|
82
|
-
method: history.replaceState,
|
|
83
|
-
isAsync: false,
|
|
84
|
-
onFinished: () => this.updateState(),
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
};
|
|
88
|
-
LocationService = __decorate([
|
|
89
|
-
(0, inject_1.Injectable)({ lifetime: 'singleton' }),
|
|
90
|
-
__metadata("design:paramtypes", [])
|
|
91
|
-
], LocationService);
|
|
92
|
-
exports.LocationService = LocationService;
|
|
93
|
-
//# sourceMappingURL=location-service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"location-service.js","sourceRoot":"","sources":["../../src/services/location-service.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const util_1 = require("util");
|
|
4
|
-
global.TextEncoder = util_1.TextEncoder;
|
|
5
|
-
global.TextDecoder = util_1.TextDecoder;
|
|
6
|
-
const inject_1 = require("@furystack/inject");
|
|
7
|
-
const utils_1 = require("@furystack/utils");
|
|
8
|
-
const _1 = require("./");
|
|
9
|
-
describe('LocationService', () => {
|
|
10
|
-
beforeEach(() => (document.body.innerHTML = '<div id="root"></div>'));
|
|
11
|
-
afterEach(() => (document.body.innerHTML = ''));
|
|
12
|
-
it('Shuld be constructed', () => {
|
|
13
|
-
(0, utils_1.using)(new inject_1.Injector(), (i) => {
|
|
14
|
-
const s = i.getInstance(_1.LocationService);
|
|
15
|
-
expect(s).toBeInstanceOf(_1.LocationService);
|
|
16
|
-
});
|
|
17
|
-
});
|
|
18
|
-
it('Shuld update state on events', () => {
|
|
19
|
-
(0, utils_1.using)(new inject_1.Injector(), (i) => {
|
|
20
|
-
const onLocaionChanged = jest.fn();
|
|
21
|
-
const s = i.getInstance(_1.LocationService);
|
|
22
|
-
s.onLocationPathChanged.subscribe(onLocaionChanged);
|
|
23
|
-
expect(onLocaionChanged).toBeCalledTimes(0);
|
|
24
|
-
history.pushState(null, '', '/loc1');
|
|
25
|
-
expect(onLocaionChanged).toBeCalledTimes(1);
|
|
26
|
-
history.replaceState(null, '', '/loc2');
|
|
27
|
-
expect(onLocaionChanged).toBeCalledTimes(2);
|
|
28
|
-
// TODO: Figure out testing hashchange and popstate subscriptions
|
|
29
|
-
// window.dispatchEvent(new HashChangeEvent('hashchange', { newURL: '/loc3' }))
|
|
30
|
-
// expect(onLocaionChanged).toBeCalledTimes(3)
|
|
31
|
-
// window.dispatchEvent(new PopStateEvent('popstate', {}))
|
|
32
|
-
// expect(onLocaionChanged).toBeCalledTimes(4)
|
|
33
|
-
});
|
|
34
|
-
});
|
|
35
|
-
describe('useSearchParam', () => {
|
|
36
|
-
it('Should create observables lazily', () => {
|
|
37
|
-
(0, utils_1.using)(new inject_1.Injector(), (i) => {
|
|
38
|
-
const service = i.getInstance(_1.LocationService);
|
|
39
|
-
const observables = service.searchParamObservables;
|
|
40
|
-
const testSearchParam = service.useSearchParam('test', null);
|
|
41
|
-
expect(observables.size).toBe(1);
|
|
42
|
-
const testSearchParam2 = service.useSearchParam('test', null);
|
|
43
|
-
expect(observables.size).toBe(1);
|
|
44
|
-
expect(testSearchParam).toBe(testSearchParam2);
|
|
45
|
-
const testSearchParam3 = service.useSearchParam('test2', undefined);
|
|
46
|
-
expect(observables.size).toBe(2);
|
|
47
|
-
expect(testSearchParam3).not.toBe(testSearchParam2);
|
|
48
|
-
});
|
|
49
|
-
});
|
|
50
|
-
it('Should return the default value, if not present in the query string', () => {
|
|
51
|
-
(0, utils_1.using)(new inject_1.Injector(), (i) => {
|
|
52
|
-
const service = i.getInstance(_1.LocationService);
|
|
53
|
-
const testSearchParam = service.useSearchParam('test', { value: 'foo' });
|
|
54
|
-
expect(testSearchParam.getValue()).toEqual({ value: 'foo' });
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
it('Should return the value from the query string', () => {
|
|
58
|
-
(0, utils_1.using)(new inject_1.Injector(), (i) => {
|
|
59
|
-
const service = i.getInstance(_1.LocationService);
|
|
60
|
-
history.pushState(null, '', '/loc1?test=1');
|
|
61
|
-
const testSearchParam = service.useSearchParam('test', 123);
|
|
62
|
-
expect(testSearchParam.getValue()).toBe(1);
|
|
63
|
-
});
|
|
64
|
-
});
|
|
65
|
-
it('should update the observable value on push / replace states', () => {
|
|
66
|
-
(0, utils_1.using)(new inject_1.Injector(), (i) => {
|
|
67
|
-
const service = i.getInstance(_1.LocationService);
|
|
68
|
-
history.pushState(null, '', '/loc1?test=1');
|
|
69
|
-
const testSearchParam = service.useSearchParam('test', 234);
|
|
70
|
-
expect(testSearchParam.getValue()).toBe(1);
|
|
71
|
-
history.replaceState(null, '', '/loc1?test=2');
|
|
72
|
-
expect(testSearchParam.getValue()).toBe(2);
|
|
73
|
-
});
|
|
74
|
-
});
|
|
75
|
-
it('Should update the URL based on search value change', () => {
|
|
76
|
-
(0, utils_1.using)(new inject_1.Injector(), (i) => {
|
|
77
|
-
const service = i.getInstance(_1.LocationService);
|
|
78
|
-
history.pushState(null, '', '/loc1?test=2');
|
|
79
|
-
const testSearchParam = service.useSearchParam('test', '');
|
|
80
|
-
testSearchParam.setValue('2');
|
|
81
|
-
expect(location.search).toBe('?test=2');
|
|
82
|
-
});
|
|
83
|
-
});
|
|
84
|
-
});
|
|
85
|
-
});
|
|
86
|
-
//# sourceMappingURL=location-service.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"location-service.spec.js","sourceRoot":"","sources":["../../src/services/location-service.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ResourceManager = void 0;
|
|
4
|
-
const utils_1 = require("@furystack/utils");
|
|
5
|
-
/**
|
|
6
|
-
* Class for managing observables and disposables for components, based on key-value maps
|
|
7
|
-
*/
|
|
8
|
-
class ResourceManager {
|
|
9
|
-
constructor() {
|
|
10
|
-
this.disposables = new Map();
|
|
11
|
-
this.observers = new Map();
|
|
12
|
-
this.useObservable = (key, observable, callback, getLast) => {
|
|
13
|
-
const alreadyUsed = this.observers.get(key);
|
|
14
|
-
if (alreadyUsed) {
|
|
15
|
-
return [alreadyUsed.observable.getValue(), alreadyUsed.observable.setValue.bind(alreadyUsed.observable)];
|
|
16
|
-
}
|
|
17
|
-
const observer = observable.subscribe(callback, getLast);
|
|
18
|
-
this.observers.set(key, observer);
|
|
19
|
-
return [observable.getValue(), observable.setValue.bind(observable)];
|
|
20
|
-
};
|
|
21
|
-
this.stateObservers = new Map();
|
|
22
|
-
this.useState = (key, initialValue, callback) => {
|
|
23
|
-
if (!this.stateObservers.has(key)) {
|
|
24
|
-
const newObservable = new utils_1.ObservableValue(initialValue);
|
|
25
|
-
this.stateObservers.set(key, newObservable);
|
|
26
|
-
newObservable.subscribe(callback);
|
|
27
|
-
}
|
|
28
|
-
const observable = this.stateObservers.get(key);
|
|
29
|
-
return [observable.getValue(), observable.setValue.bind(observable)];
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
useDisposable(key, factory) {
|
|
33
|
-
if (!this.disposables.has(key)) {
|
|
34
|
-
this.disposables.set(key, factory());
|
|
35
|
-
}
|
|
36
|
-
return this.disposables.get(key);
|
|
37
|
-
}
|
|
38
|
-
dispose() {
|
|
39
|
-
this.disposables.forEach((r) => r.dispose());
|
|
40
|
-
this.disposables.clear();
|
|
41
|
-
this.observers.forEach((r) => r.dispose());
|
|
42
|
-
this.observers.clear();
|
|
43
|
-
this.stateObservers.forEach((r) => r.dispose());
|
|
44
|
-
this.stateObservers.clear();
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
exports.ResourceManager = ResourceManager;
|
|
48
|
-
//# sourceMappingURL=resource-manager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resource-manager.js","sourceRoot":"","sources":["../../src/services/resource-manager.ts"],"names":[],"mappings":";;;AAAA,4CAAkD;AAIlD;;GAEG;AACH,MAAa,eAAe;IAA5B;QACmB,gBAAW,GAAG,IAAI,GAAG,EAAsB,CAAA;QAS5C,cAAS,GAAG,IAAI,GAAG,EAA8B,CAAA;QAE1D,kBAAa,GAAG,CACrB,GAAW,EACX,UAA8B,EAC9B,QAAgC,EAChC,OAAiB,EAC4B,EAAE;YAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAiC,CAAA;YAC3E,IAAI,WAAW,EAAE;gBACf,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAA;aACzG;YACD,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YACxD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;YACjC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;QACtE,CAAC,CAAA;QAEe,mBAAc,GAAG,IAAI,GAAG,EAAgC,CAAA;QAEjE,aAAQ,GAAG,CAChB,GAAW,EACX,YAAe,EACf,QAAgC,EACa,EAAE;YAC/C,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBACjC,MAAM,aAAa,GAAG,IAAI,uBAAe,CAAI,YAAY,CAAC,CAAA;gBAC1D,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;gBAC3C,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;aAClC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAuB,CAAA;YACrE,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;QACtE,CAAC,CAAA;IAWH,CAAC;IAjDQ,aAAa,CAAuB,GAAW,EAAE,OAAgB;QACtE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC9B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAA;SACrC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAM,CAAA;IACvC,CAAC;IAmCM,OAAO;QACZ,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;QAC5C,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;QACxB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;QAC1C,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;QAEtB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;QAC/C,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAA;IAC7B,CAAC;CACF;AApDD,0CAoDC"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const utils_1 = require("@furystack/utils");
|
|
4
|
-
const resource_manager_1 = require("./resource-manager");
|
|
5
|
-
describe('ResourceManager', () => {
|
|
6
|
-
it('Should return an observable from cache', () => {
|
|
7
|
-
(0, utils_1.using)(new resource_manager_1.ResourceManager(), (rm) => {
|
|
8
|
-
const o = new utils_1.ObservableValue(1);
|
|
9
|
-
const [value1] = rm.useObservable('test', o, () => {
|
|
10
|
-
/** ignore */
|
|
11
|
-
});
|
|
12
|
-
const [value2] = rm.useObservable('test', o, () => {
|
|
13
|
-
/** ignore */
|
|
14
|
-
});
|
|
15
|
-
expect(value1).toBe(value2);
|
|
16
|
-
expect(o.getObservers().length).toBe(1);
|
|
17
|
-
});
|
|
18
|
-
});
|
|
19
|
-
it('Should return a disposable from cache', () => {
|
|
20
|
-
(0, utils_1.using)(new resource_manager_1.ResourceManager(), (rm) => {
|
|
21
|
-
const d = {
|
|
22
|
-
dispose: () => {
|
|
23
|
-
/** ignore */
|
|
24
|
-
},
|
|
25
|
-
};
|
|
26
|
-
const d1 = rm.useDisposable('test', () => d);
|
|
27
|
-
const d2 = rm.useDisposable('test', () => d);
|
|
28
|
-
expect(d1).toBe(d2);
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
//# sourceMappingURL=resource-manager.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resource-manager.spec.js","sourceRoot":"","sources":["../../src/services/resource-manager.spec.ts"],"names":[],"mappings":";;AAAA,4CAAyD;AACzD,yDAAoD;AACpD,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,IAAA,aAAK,EAAC,IAAI,kCAAe,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;YAClC,MAAM,CAAC,GAAG,IAAI,uBAAe,CAAC,CAAC,CAAC,CAAA;YAChC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE;gBAChD,aAAa;YACf,CAAC,CAAC,CAAA;YACF,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE;gBAChD,aAAa;YACf,CAAC,CAAC,CAAA;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAE3B,MAAM,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACzC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,IAAA,aAAK,EAAC,IAAI,kCAAe,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;YAClC,MAAM,CAAC,GAAG;gBACR,OAAO,EAAE,GAAG,EAAE;oBACZ,aAAa;gBACf,CAAC;aACF,CAAA;YACD,MAAM,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;YAC5C,MAAM,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;YAE5C,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACrB,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.ScreenService = exports.ScreenSizes = void 0;
|
|
13
|
-
const inject_1 = require("@furystack/inject");
|
|
14
|
-
const utils_1 = require("@furystack/utils");
|
|
15
|
-
exports.ScreenSizes = ['xs', 'sm', 'md', 'lg', 'xl'];
|
|
16
|
-
/**
|
|
17
|
-
* Service for handling screen size changes
|
|
18
|
-
*/
|
|
19
|
-
let ScreenService = class ScreenService {
|
|
20
|
-
dispose() {
|
|
21
|
-
window.removeEventListener('resize', this.onResizeListener);
|
|
22
|
-
}
|
|
23
|
-
screenSizeAtLeast(size) {
|
|
24
|
-
return window.innerWidth >= this.breakpoints[size].minSize;
|
|
25
|
-
}
|
|
26
|
-
refreshValues() {
|
|
27
|
-
this.orientation.setValue(this.getOrientation());
|
|
28
|
-
exports.ScreenSizes.forEach((size) => {
|
|
29
|
-
this.screenSize.atLeast[size].setValue(this.screenSizeAtLeast(size));
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
constructor() {
|
|
33
|
-
this.getOrientation = () => (window.matchMedia?.('(orientation:landscape').matches ? 'landscape' : 'portrait');
|
|
34
|
-
/**
|
|
35
|
-
* The definitions of the breakpoints
|
|
36
|
-
*/
|
|
37
|
-
this.breakpoints = {
|
|
38
|
-
xl: { minSize: 1920 },
|
|
39
|
-
lg: { minSize: 1280 },
|
|
40
|
-
md: { minSize: 960 },
|
|
41
|
-
sm: { minSize: 600 },
|
|
42
|
-
xs: { minSize: 0 },
|
|
43
|
-
};
|
|
44
|
-
/**
|
|
45
|
-
* Observers for the current screen size. Will refresh on resize
|
|
46
|
-
*/
|
|
47
|
-
this.screenSize = {
|
|
48
|
-
atLeast: {
|
|
49
|
-
xs: new utils_1.ObservableValue(this.screenSizeAtLeast('xs')),
|
|
50
|
-
sm: new utils_1.ObservableValue(this.screenSizeAtLeast('sm')),
|
|
51
|
-
md: new utils_1.ObservableValue(this.screenSizeAtLeast('md')),
|
|
52
|
-
lg: new utils_1.ObservableValue(this.screenSizeAtLeast('lg')),
|
|
53
|
-
xl: new utils_1.ObservableValue(this.screenSizeAtLeast('xl')),
|
|
54
|
-
},
|
|
55
|
-
};
|
|
56
|
-
/**
|
|
57
|
-
* Observable value for tracking the screen orientation
|
|
58
|
-
*/
|
|
59
|
-
this.orientation = new utils_1.ObservableValue(this.getOrientation());
|
|
60
|
-
this.onResizeListener = () => {
|
|
61
|
-
this.refreshValues();
|
|
62
|
-
};
|
|
63
|
-
window.addEventListener('resize', this.onResizeListener);
|
|
64
|
-
this.refreshValues();
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
|
-
ScreenService = __decorate([
|
|
68
|
-
(0, inject_1.Injectable)({ lifetime: 'singleton' }),
|
|
69
|
-
__metadata("design:paramtypes", [])
|
|
70
|
-
], ScreenService);
|
|
71
|
-
exports.ScreenService = ScreenService;
|
|
72
|
-
//# sourceMappingURL=screen-service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"screen-service.js","sourceRoot":"","sources":["../../src/services/screen-service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAA8C;AAE9C,4CAAkD;AAErC,QAAA,WAAW,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAA;AAMlE;;GAEG;AACH,IACa,aAAa,GAD1B,MACa,aAAa;IAcjB,OAAO;QACZ,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;IAC7D,CAAC;IAiBO,iBAAiB,CAAC,IAAgB;QACxC,OAAO,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAA;IAC5D,CAAC;IAWO,aAAa;QACnB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAA;QAChD,mBAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAA;QACtE,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;QApDQ,mBAAc,GAAG,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;QAEjH;;WAEG;QACa,gBAAW,GAA+C;YACxE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;YACrB,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;YACrB,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE;YACpB,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE;YACpB,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;SACnB,CAAA;QAMD;;WAEG;QACa,eAAU,GAEtB;YACF,OAAO,EAAE;gBACP,EAAE,EAAE,IAAI,uBAAe,CAAU,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAC9D,EAAE,EAAE,IAAI,uBAAe,CAAU,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAC9D,EAAE,EAAE,IAAI,uBAAe,CAAU,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAC9D,EAAE,EAAE,IAAI,uBAAe,CAAU,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAC9D,EAAE,EAAE,IAAI,uBAAe,CAAU,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;aAC/D;SACF,CAAA;QAMD;;WAEG;QACI,gBAAW,GAAG,IAAI,uBAAe,CAA2B,IAAI,CAAC,cAAc,EAAE,CAAC,CAAA;QAEjF,qBAAgB,GAAG,GAAG,EAAE;YAC9B,IAAI,CAAC,aAAa,EAAE,CAAA;QACtB,CAAC,CAAA;QAUC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;QACxD,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC;CACF,CAAA;AAzDY,aAAa;IADzB,IAAA,mBAAU,EAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;;GACzB,aAAa,CAyDzB;AAzDY,sCAAa"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const util_1 = require("util");
|
|
4
|
-
global.TextEncoder = util_1.TextEncoder;
|
|
5
|
-
global.TextDecoder = util_1.TextDecoder;
|
|
6
|
-
const inject_1 = require("@furystack/inject");
|
|
7
|
-
const utils_1 = require("@furystack/utils");
|
|
8
|
-
const screen_service_1 = require("./screen-service");
|
|
9
|
-
describe('ScreenService', () => {
|
|
10
|
-
beforeEach(() => (document.body.innerHTML = '<div id="root"></div>'));
|
|
11
|
-
afterEach(() => (document.body.innerHTML = ''));
|
|
12
|
-
it('Shuld be constructed', async () => {
|
|
13
|
-
await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
|
|
14
|
-
const s = i.getInstance(screen_service_1.ScreenService);
|
|
15
|
-
expect(s).toBeInstanceOf(screen_service_1.ScreenService);
|
|
16
|
-
});
|
|
17
|
-
});
|
|
18
|
-
it('Shuld update state on events', async () => {
|
|
19
|
-
await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
|
|
20
|
-
i.getInstance(screen_service_1.ScreenService);
|
|
21
|
-
/** TODO */
|
|
22
|
-
});
|
|
23
|
-
});
|
|
24
|
-
});
|
|
25
|
-
//# sourceMappingURL=screen-service.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"screen-service.spec.js","sourceRoot":"","sources":["../../src/services/screen-service.spec.ts"],"names":[],"mappings":";;AAAA,+BAA+C;AAE/C,MAAM,CAAC,WAAW,GAAG,kBAAW,CAAA;AAChC,MAAM,CAAC,WAAW,GAAG,kBAAkB,CAAA;AAEvC,8CAA4C;AAC5C,4CAA6C;AAC7C,qDAAgD;AAEhD,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,uBAAuB,CAAC,CAAC,CAAA;IACrE,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC,CAAA;IAE/C,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACpC,MAAM,IAAA,kBAAU,EAAC,IAAI,iBAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YAC3C,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,8BAAa,CAAC,CAAA;YACtC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,8BAAa,CAAC,CAAA;QACzC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,IAAA,kBAAU,EAAC,IAAI,iBAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YAC3C,CAAC,CAAC,WAAW,CAAC,8BAAa,CAAC,CAAA;YAC5B,WAAW;QACb,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
package/dist/shade-component.js
DELETED
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createComponent = exports.createFragmentInner = exports.createComponentInner = exports.attachProps = exports.attachDataAttributes = exports.attachStyles = exports.hasStyle = exports.appendChild = void 0;
|
|
4
|
-
const models_1 = require("./models");
|
|
5
|
-
/**
|
|
6
|
-
* Appends a list of items to a HTML element
|
|
7
|
-
*
|
|
8
|
-
* @param el the root element
|
|
9
|
-
* @param children array of items to append
|
|
10
|
-
*/
|
|
11
|
-
const appendChild = (el, children) => {
|
|
12
|
-
for (const child of children) {
|
|
13
|
-
if (typeof child === 'string' || typeof child === 'number') {
|
|
14
|
-
el.appendChild(document.createTextNode(child));
|
|
15
|
-
}
|
|
16
|
-
else {
|
|
17
|
-
if (child instanceof HTMLElement || child instanceof DocumentFragment) {
|
|
18
|
-
el.appendChild(child);
|
|
19
|
-
}
|
|
20
|
-
else if (child instanceof Array) {
|
|
21
|
-
(0, exports.appendChild)(el, child);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
exports.appendChild = appendChild;
|
|
27
|
-
const hasStyle = (props) => {
|
|
28
|
-
return props?.style !== undefined;
|
|
29
|
-
};
|
|
30
|
-
exports.hasStyle = hasStyle;
|
|
31
|
-
/**
|
|
32
|
-
* @param el The Target HTML Element
|
|
33
|
-
* @param props The Properties to fetch The Styles Object
|
|
34
|
-
*/
|
|
35
|
-
const attachStyles = (el, props) => {
|
|
36
|
-
if ((0, exports.hasStyle)(props))
|
|
37
|
-
for (const key in props.style) {
|
|
38
|
-
if (Object.prototype.hasOwnProperty.call(props.style, key)) {
|
|
39
|
-
;
|
|
40
|
-
el.style[key] = props.style[key];
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
exports.attachStyles = attachStyles;
|
|
45
|
-
const attachDataAttributes = (el, props) => {
|
|
46
|
-
props &&
|
|
47
|
-
Object.entries(props)
|
|
48
|
-
.filter(([key]) => key.startsWith('data-'))
|
|
49
|
-
.forEach(([key, value]) => el.setAttribute(key, value || ''));
|
|
50
|
-
};
|
|
51
|
-
exports.attachDataAttributes = attachDataAttributes;
|
|
52
|
-
/**
|
|
53
|
-
*
|
|
54
|
-
* @param el The Target HTML Element
|
|
55
|
-
* @param props The Props to attach
|
|
56
|
-
*/
|
|
57
|
-
const attachProps = (el, props) => {
|
|
58
|
-
Object.assign(el, props);
|
|
59
|
-
if (props && props.style) {
|
|
60
|
-
(0, exports.attachStyles)(el, props);
|
|
61
|
-
}
|
|
62
|
-
(0, exports.attachDataAttributes)(el, props);
|
|
63
|
-
};
|
|
64
|
-
exports.attachProps = attachProps;
|
|
65
|
-
// eslint-disable-next-line jsdoc/require-param
|
|
66
|
-
/**
|
|
67
|
-
* Factory method that creates a component. This should be configured as a default JSX Factory in tsconfig.
|
|
68
|
-
*
|
|
69
|
-
* @returns the created JSX element
|
|
70
|
-
*/
|
|
71
|
-
const createComponentInner = (...[elementType, props, ...children]) => {
|
|
72
|
-
if (typeof elementType === 'string') {
|
|
73
|
-
const el = document.createElement(elementType);
|
|
74
|
-
(0, exports.attachProps)(el, props);
|
|
75
|
-
if (children) {
|
|
76
|
-
(0, exports.appendChild)(el, children);
|
|
77
|
-
}
|
|
78
|
-
return el;
|
|
79
|
-
}
|
|
80
|
-
else if ((0, models_1.isShadeComponent)(elementType)) {
|
|
81
|
-
const el = elementType(props, children);
|
|
82
|
-
(0, exports.attachStyles)(el, props);
|
|
83
|
-
return el;
|
|
84
|
-
}
|
|
85
|
-
return undefined;
|
|
86
|
-
};
|
|
87
|
-
exports.createComponentInner = createComponentInner;
|
|
88
|
-
const createFragmentInner = (...[_props, ...children]) => {
|
|
89
|
-
const fragment = document.createDocumentFragment();
|
|
90
|
-
(0, exports.appendChild)(fragment, children);
|
|
91
|
-
return fragment;
|
|
92
|
-
};
|
|
93
|
-
exports.createFragmentInner = createFragmentInner;
|
|
94
|
-
const createComponent = (...args) => {
|
|
95
|
-
if (args[0] === null) {
|
|
96
|
-
return (0, exports.createFragmentInner)(...args);
|
|
97
|
-
}
|
|
98
|
-
return (0, exports.createComponentInner)(...args);
|
|
99
|
-
};
|
|
100
|
-
exports.createComponent = createComponent;
|
|
101
|
-
//# sourceMappingURL=shade-component.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shade-component.js","sourceRoot":"","sources":["../src/shade-component.ts"],"names":[],"mappings":";;;AACA,qCAA2C;AAE3C;;;;;GAKG;AACI,MAAM,WAAW,GAAG,CAAC,EAAkC,EAAE,QAAsB,EAAE,EAAE;IACxF,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE;QAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC1D,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;SAC/C;aAAM;YACL,IAAI,KAAK,YAAY,WAAW,IAAI,KAAK,YAAY,gBAAgB,EAAE;gBACrE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;aACtB;iBAAM,IAAI,KAAK,YAAY,KAAK,EAAE;gBACjC,IAAA,mBAAW,EAAC,EAAE,EAAE,KAAK,CAAC,CAAA;aACvB;SACF;KACF;AACH,CAAC,CAAA;AAZY,QAAA,WAAW,eAYvB;AAEM,MAAM,QAAQ,GAAG,CAAC,KAAU,EAAoD,EAAE;IACvF,OAAO,KAAK,EAAE,KAAK,KAAK,SAAS,CAAA;AACnC,CAAC,CAAA;AAFY,QAAA,QAAQ,YAEpB;AAED;;;GAGG;AACI,MAAM,YAAY,GAAG,CAAC,EAAe,EAAE,KAAU,EAAE,EAAE;IAC1D,IAAI,IAAA,gBAAQ,EAAC,KAAK,CAAC;QACjB,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE;YAC7B,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE;gBAC1D,CAAC;gBAAC,EAAE,CAAC,KAAa,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;aAC3C;SACF;AACL,CAAC,CAAA;AAPY,QAAA,YAAY,gBAOxB;AAEM,MAAM,oBAAoB,GAAG,CAAC,EAAe,EAAE,KAAU,EAAE,EAAE;IAClE,KAAK;QACH,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;aAClB,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;aAC1C,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,EAAG,KAAgB,IAAI,EAAE,CAAC,CAAC,CAAA;AAC/E,CAAC,CAAA;AALY,QAAA,oBAAoB,wBAKhC;AAED;;;;GAIG;AACI,MAAM,WAAW,GAAG,CAAC,EAAe,EAAE,KAAU,EAAE,EAAE;IACzD,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;IAExB,IAAI,KAAK,IAAK,KAAa,CAAC,KAAK,EAAE;QACjC,IAAA,oBAAY,EAAC,EAAE,EAAE,KAAK,CAAC,CAAA;KACxB;IACD,IAAA,4BAAoB,EAAC,EAAE,EAAE,KAAK,CAAC,CAAA;AACjC,CAAC,CAAA;AAPY,QAAA,WAAW,eAOvB;AAQD,+CAA+C;AAC/C;;;;GAIG;AACI,MAAM,oBAAoB,GAAG,CAAS,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,QAAQ,CAA8B,EAAE,EAAE;IAChH,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;QACnC,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;QAE9C,IAAA,mBAAW,EAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QAEtB,IAAI,QAAQ,EAAE;YACZ,IAAA,mBAAW,EAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;SAC1B;QACD,OAAO,EAAE,CAAA;KACV;SAAM,IAAI,IAAA,yBAAgB,EAAC,WAAW,CAAC,EAAE;QACxC,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QACvC,IAAA,oBAAY,EAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QACvB,OAAO,EAAE,CAAA;KACV;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAhBY,QAAA,oBAAoB,wBAgBhC;AAIM,MAAM,mBAAmB,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAqB,EAAE,EAAE;IAClF,MAAM,QAAQ,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAA;IAClD,IAAA,mBAAW,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC/B,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAJY,QAAA,mBAAmB,uBAI/B;AAEM,MAAM,eAAe,GAAG,CAAS,GAAG,IAAsD,EAAE,EAAE;IACnG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;QACpB,OAAO,IAAA,2BAAmB,EAAC,GAAG,IAAI,CAAC,CAAA;KACpC;IACD,OAAO,IAAA,4BAAoB,EAAC,GAAG,IAAI,CAAC,CAAA;AACtC,CAAC,CAAA;AALY,QAAA,eAAe,mBAK3B"}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const inject_1 = require("@furystack/inject");
|
|
4
|
-
const util_1 = require("util");
|
|
5
|
-
global.TextEncoder = util_1.TextEncoder;
|
|
6
|
-
global.TextDecoder = util_1.TextDecoder;
|
|
7
|
-
const initialize_1 = require("./initialize");
|
|
8
|
-
const shade_1 = require("./shade");
|
|
9
|
-
const shade_component_1 = require("./shade-component");
|
|
10
|
-
const utils_1 = require("@furystack/utils");
|
|
11
|
-
describe('Shade Resources integration tests', () => {
|
|
12
|
-
beforeEach(() => (document.body.innerHTML = '<div id="root"></div>'));
|
|
13
|
-
afterEach(() => (document.body.innerHTML = ''));
|
|
14
|
-
it('Should update the component based on a custom observable value change', () => {
|
|
15
|
-
const injector = new inject_1.Injector();
|
|
16
|
-
const rootElement = document.getElementById('root');
|
|
17
|
-
const renderCounter = jest.fn();
|
|
18
|
-
const obs1 = new utils_1.ObservableValue(0);
|
|
19
|
-
const obs2 = new utils_1.ObservableValue('a');
|
|
20
|
-
const ExampleComponent = (0, shade_1.Shade)({
|
|
21
|
-
render: ({ useObservable }) => {
|
|
22
|
-
const [value1] = useObservable('obs1', obs1);
|
|
23
|
-
const [value2] = useObservable('obs2', obs2);
|
|
24
|
-
renderCounter();
|
|
25
|
-
return ((0, shade_component_1.createComponent)("div", null,
|
|
26
|
-
(0, shade_component_1.createComponent)("div", { id: "val1" }, value1),
|
|
27
|
-
(0, shade_component_1.createComponent)("div", { id: "val2" }, value2)));
|
|
28
|
-
},
|
|
29
|
-
shadowDomName: 'shades-example-resource',
|
|
30
|
-
});
|
|
31
|
-
expect(obs1.getObservers().length).toBe(0);
|
|
32
|
-
expect(obs2.getObservers().length).toBe(0);
|
|
33
|
-
(0, initialize_1.initializeShadeRoot)({
|
|
34
|
-
injector,
|
|
35
|
-
rootElement,
|
|
36
|
-
jsxElement: (0, shade_component_1.createComponent)(ExampleComponent, null),
|
|
37
|
-
});
|
|
38
|
-
expect(document.body.innerHTML).toBe('<div id="root"><shades-example-resource><div><div id="val1">0</div><div id="val2">a</div></div></shades-example-resource></div>');
|
|
39
|
-
expect(obs1.getObservers().length).toBe(1);
|
|
40
|
-
expect(obs2.getObservers().length).toBe(1);
|
|
41
|
-
expect(renderCounter).toBeCalledTimes(1);
|
|
42
|
-
obs1.setValue(1);
|
|
43
|
-
expect(document.body.innerHTML).toBe('<div id="root"><shades-example-resource><div><div id="val1">1</div><div id="val2">a</div></div></shades-example-resource></div>');
|
|
44
|
-
expect(renderCounter).toBeCalledTimes(2);
|
|
45
|
-
obs2.setValue('b');
|
|
46
|
-
expect(document.body.innerHTML).toBe('<div id="root"><shades-example-resource><div><div id="val1">1</div><div id="val2">b</div></div></shades-example-resource></div>');
|
|
47
|
-
const element = document.querySelector('shades-example-resource');
|
|
48
|
-
expect(element.getRenderCount()).toBe(3);
|
|
49
|
-
document.body.innerHTML = '';
|
|
50
|
-
expect(obs1.getObservers().length).toBe(0);
|
|
51
|
-
expect(obs2.getObservers().length).toBe(0);
|
|
52
|
-
expect(renderCounter).toBeCalledTimes(3);
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
//# sourceMappingURL=shade-resources.integration.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shade-resources.integration.spec.js","sourceRoot":"","sources":["../src/shade-resources.integration.spec.tsx"],"names":[],"mappings":"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"}
|