@furystack/shades-common-components 5.0.20 → 6.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/esm/components/noty-list.d.ts.map +1 -1
- package/esm/components/noty-list.js +6 -6
- package/esm/components/noty-list.js.map +1 -1
- package/esm/components/suggest/index.js +2 -2
- package/esm/components/suggest/index.js.map +1 -1
- package/esm/components/suggest/suggest-manager.d.ts +4 -3
- package/esm/components/suggest/suggest-manager.d.ts.map +1 -1
- package/esm/components/suggest/suggest-manager.js +5 -5
- package/esm/components/suggest/suggest-manager.js.map +1 -1
- package/esm/services/collection-service.d.ts.map +1 -1
- package/esm/services/collection-service.js +1 -1
- package/esm/services/collection-service.js.map +1 -1
- package/esm/services/collection-service.spec.d.ts +2 -0
- package/esm/services/collection-service.spec.d.ts.map +1 -0
- package/esm/services/collection-service.spec.js +28 -0
- package/esm/services/collection-service.spec.js.map +1 -0
- package/esm/services/noty-service.d.ts +11 -7
- package/esm/services/noty-service.d.ts.map +1 -1
- package/esm/services/noty-service.js +25 -14
- package/esm/services/noty-service.js.map +1 -1
- package/esm/services/noty-service.spec.d.ts +2 -0
- package/esm/services/noty-service.spec.d.ts.map +1 -0
- package/esm/services/noty-service.spec.js +20 -0
- package/esm/services/noty-service.spec.js.map +1 -0
- package/package.json +6 -6
- package/src/components/noty-list.tsx +16 -12
- package/src/components/suggest/index.tsx +2 -2
- package/src/components/suggest/suggest-manager.ts +5 -5
- package/src/services/collection-service.spec.ts +37 -0
- package/src/services/collection-service.ts +1 -1
- package/src/services/noty-service.spec.ts +26 -0
- package/src/services/noty-service.ts +23 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noty-list.d.ts","sourceRoot":"","sources":["../../src/components/noty-list.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAM5D,eAAO,MAAM,sBAAsB,SAAU,SAAS,CAAC,MAAM,CAAC,qBAa7D,CAAA;AAED,eAAO,MAAM,aAAa;WAAkB,SAAS;eAAa,MAAM,IAAI;;;uFA4G1E,CAAA;AAEF,eAAO,MAAM,QAAQ;;
|
|
1
|
+
{"version":3,"file":"noty-list.d.ts","sourceRoot":"","sources":["../../src/components/noty-list.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAM5D,eAAO,MAAM,sBAAsB,SAAU,SAAS,CAAC,MAAM,CAAC,qBAa7D,CAAA;AAED,eAAO,MAAM,aAAa;WAAkB,SAAS;eAAa,MAAM,IAAI;;;uFA4G1E,CAAA;AAEF,eAAO,MAAM,QAAQ;;uFAsCnB,CAAA"}
|
|
@@ -102,18 +102,18 @@ export const NotyList = Shade({
|
|
|
102
102
|
display: 'flex',
|
|
103
103
|
flexDirection: 'column',
|
|
104
104
|
},
|
|
105
|
-
render: ({
|
|
105
|
+
render: ({ useDisposable, injector, element }) => {
|
|
106
106
|
const notyService = injector.getInstance(NotyService);
|
|
107
|
-
const currentNotys = notyService.
|
|
108
|
-
|
|
109
|
-
|
|
107
|
+
const currentNotys = notyService.getNotyList();
|
|
108
|
+
useDisposable('addNoty', () => notyService.subscribe('onNotyAdded', (n) => element.append(createComponent(NotyComponent, { model: n, onDismiss: () => notyService.emit('onNotyRemoved', n) }))));
|
|
109
|
+
useDisposable('removeNoty', () => notyService.subscribe('onNotyRemoved', (n) => {
|
|
110
110
|
element.querySelectorAll('shade-noty').forEach((e) => {
|
|
111
111
|
if (e.props.model === n) {
|
|
112
112
|
e.remove();
|
|
113
113
|
}
|
|
114
114
|
});
|
|
115
|
-
});
|
|
116
|
-
return (createComponent(createComponent, null, currentNotys.map((n) => (createComponent(NotyComponent, { model: n, onDismiss: () => injector.getInstance(NotyService).
|
|
115
|
+
}));
|
|
116
|
+
return (createComponent(createComponent, null, currentNotys.map((n) => (createComponent(NotyComponent, { model: n, onDismiss: () => injector.getInstance(NotyService).emit('onNotyRemoved', n) })))));
|
|
117
117
|
},
|
|
118
118
|
});
|
|
119
119
|
//# sourceMappingURL=noty-list.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noty-list.js","sourceRoot":"","sources":["../../src/components/noty-list.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"noty-list.js","sourceRoot":"","sources":["../../src/components/noty-list.tsx"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ export const Suggest = Shade({
|
|
|
14
14
|
style: {
|
|
15
15
|
flexGrow: '1',
|
|
16
16
|
},
|
|
17
|
-
render: ({ props, injector, element, useDisposable
|
|
17
|
+
render: ({ props, injector, element, useDisposable }) => {
|
|
18
18
|
const manager = useDisposable('manager', () => new SuggestManager(props.getEntries, props.getSuggestionEntry));
|
|
19
19
|
const { theme } = injector.getInstance(ThemeProviderService);
|
|
20
20
|
const inputContainer = element.querySelector('.input-container');
|
|
@@ -69,7 +69,7 @@ export const Suggest = Shade({
|
|
|
69
69
|
});
|
|
70
70
|
}
|
|
71
71
|
});
|
|
72
|
-
|
|
72
|
+
useDisposable('onSelectSuggestion', () => manager.subscribe('onSelectSuggestion', props.onSelectSuggestion));
|
|
73
73
|
return (createComponent("div", { style: { display: 'flex', flexDirection: 'column' }, onkeyup: (ev) => {
|
|
74
74
|
if (ev.key === 'Enter') {
|
|
75
75
|
ev.preventDefault();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/suggest/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAA;AAE/E,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AAUtC,MAAM,CAAC,MAAM,OAAO,GAA4E,KAAK,CAEnG;IACA,aAAa,EAAE,eAAe;IAC9B,KAAK,EAAE;QACL,QAAQ,EAAE,GAAG;KACd;IACD,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/suggest/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import type { Injector } from '@furystack/inject';
|
|
2
2
|
import type { Disposable } from '@furystack/utils';
|
|
3
|
-
import { ObservableValue } from '@furystack/utils';
|
|
3
|
+
import { EventHub, ObservableValue } from '@furystack/utils';
|
|
4
4
|
import type { SuggestionResult } from './suggestion-result.js';
|
|
5
|
-
export declare class SuggestManager<T>
|
|
5
|
+
export declare class SuggestManager<T> extends EventHub<'onSelectSuggestion', {
|
|
6
|
+
onSelectSuggestion: T;
|
|
7
|
+
}> implements Disposable {
|
|
6
8
|
private readonly getEntries;
|
|
7
9
|
private readonly getSuggestionEntry;
|
|
8
10
|
isOpened: ObservableValue<boolean>;
|
|
@@ -13,7 +15,6 @@ export declare class SuggestManager<T> implements Disposable {
|
|
|
13
15
|
entry: T;
|
|
14
16
|
suggestion: SuggestionResult;
|
|
15
17
|
}[]>;
|
|
16
|
-
onSelectSuggestion: ObservableValue<T>;
|
|
17
18
|
keyPressListener: (ev: KeyboardEvent) => void;
|
|
18
19
|
element?: HTMLElement;
|
|
19
20
|
clickOutsideListener: (ev: MouseEvent) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suggest-manager.d.ts","sourceRoot":"","sources":["../../../src/components/suggest/suggest-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAY,eAAe,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"suggest-manager.d.ts","sourceRoot":"","sources":["../../../src/components/suggest/suggest-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAY,QAAQ,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAE9D,qBACa,cAAc,CAAC,CAAC,CAAE,SAAQ,QAAQ,CAAC,oBAAoB,EAAE;IAAE,kBAAkB,EAAE,CAAC,CAAA;CAAE,CAAE,YAAW,UAAU;IAiElH,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAjE9B,QAAQ,2BAA6B;IACrC,SAAS,2BAA6B;IACtC,IAAI,0BAA0B;IAC9B,aAAa,0BAAyB;IACtC,kBAAkB;eAAsC,CAAC;oBAAc,gBAAgB;SAAQ;IAE/F,gBAAgB,OAAS,aAAa,UAIhC;IAEN,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,oBAAoB,OAAS,UAAU,UAQjC;IAEN,OAAO;IAWP,gBAAgB,CAAC,KAAK,GAAE,MAAsC;IAMrE,OAAO,CAAC,wBAAwB,CAAC,CAAsC;IAChE,aAAa;kBAAwC,QAAQ;cAAQ,MAAM;wBAoB3E;gBAGY,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,EAC1C,kBAAkB,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,gBAAgB;CAMtE"}
|
|
@@ -8,8 +8,8 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
10
|
import { Injectable } from '@furystack/inject';
|
|
11
|
-
import { debounce, ObservableValue } from '@furystack/utils';
|
|
12
|
-
let SuggestManager = class SuggestManager {
|
|
11
|
+
import { debounce, EventHub, ObservableValue } from '@furystack/utils';
|
|
12
|
+
let SuggestManager = class SuggestManager extends EventHub {
|
|
13
13
|
getEntries;
|
|
14
14
|
getSuggestionEntry;
|
|
15
15
|
isOpened = new ObservableValue(false);
|
|
@@ -17,7 +17,6 @@ let SuggestManager = class SuggestManager {
|
|
|
17
17
|
term = new ObservableValue('');
|
|
18
18
|
selectedIndex = new ObservableValue(0);
|
|
19
19
|
currentSuggestions = new ObservableValue([]);
|
|
20
|
-
onSelectSuggestion = new ObservableValue();
|
|
21
20
|
keyPressListener = ((ev) => {
|
|
22
21
|
if (ev.key === 'Escape') {
|
|
23
22
|
this.isOpened.setValue(false);
|
|
@@ -39,12 +38,12 @@ let SuggestManager = class SuggestManager {
|
|
|
39
38
|
this.term.dispose();
|
|
40
39
|
this.selectedIndex.dispose();
|
|
41
40
|
this.currentSuggestions.dispose();
|
|
42
|
-
|
|
41
|
+
super.dispose();
|
|
43
42
|
}
|
|
44
43
|
selectSuggestion(index = this.selectedIndex.getValue()) {
|
|
45
44
|
const selectedSuggestion = this.currentSuggestions.getValue()[index];
|
|
46
45
|
this.isOpened.setValue(false);
|
|
47
|
-
this.onSelectSuggestion
|
|
46
|
+
this.emit('onSelectSuggestion', selectedSuggestion.entry);
|
|
48
47
|
}
|
|
49
48
|
lastGetSuggestionOptions;
|
|
50
49
|
getSuggestion = debounce(async (options) => {
|
|
@@ -65,6 +64,7 @@ let SuggestManager = class SuggestManager {
|
|
|
65
64
|
}
|
|
66
65
|
}, 250);
|
|
67
66
|
constructor(getEntries, getSuggestionEntry) {
|
|
67
|
+
super();
|
|
68
68
|
this.getEntries = getEntries;
|
|
69
69
|
this.getSuggestionEntry = getSuggestionEntry;
|
|
70
70
|
window.addEventListener('keyup', this.keyPressListener, true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suggest-manager.js","sourceRoot":"","sources":["../../../src/components/suggest/suggest-manager.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE9C,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"suggest-manager.js","sourceRoot":"","sources":["../../../src/components/suggest/suggest-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection-service.d.ts","sourceRoot":"","sources":["../../src/services/collection-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAEjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAY,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAE5D,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,OAAO,EAAE,CAAC,EAAE,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,OAAO,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,EAC1D,aAAa,EAAE,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC,KACnC,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;AAEvD,MAAM,WAAW,wBAAwB,CAAC,CAAC;IACzC;;OAEG;IACH,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAA;IACtB;;OAEG;IACH,eAAe,EAAE,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC/C;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,CAAA;IAErB;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAA;IAE/B;;;OAGG;IAEH,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAA;IAErC;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,qBAAa,iBAAiB,CAAC,CAAC,CAAE,YAAW,UAAU;IAoJzC,OAAO,CAAC,OAAO;IAnJpB,OAAO;IAOP,UAAU,UAAW,CAAC,aAA8C;IAEpE,cAAc,UAAW,CAAC,UAEhC;IAEM,mBAAmB,UAAW,CAAC,UAErC;IAEM,eAAe,UAAW,CAAC,UAEjC;IAED,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;IAE/B,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,CAAA;IAE1B,IAAI,qCAAoE;IAExE,KAAK,2BAAsD;IAE3D,SAAS,2BAAsC;IAE/C,aAAa,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAE9D,YAAY,
|
|
1
|
+
{"version":3,"file":"collection-service.d.ts","sourceRoot":"","sources":["../../src/services/collection-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAEjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAY,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAE5D,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,OAAO,EAAE,CAAC,EAAE,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,OAAO,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,EAC1D,aAAa,EAAE,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC,KACnC,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;AAEvD,MAAM,WAAW,wBAAwB,CAAC,CAAC;IACzC;;OAEG;IACH,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAA;IACtB;;OAEG;IACH,eAAe,EAAE,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC/C;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,CAAA;IAErB;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAA;IAE/B;;;OAGG;IAEH,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAA;IAErC;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,qBAAa,iBAAiB,CAAC,CAAC,CAAE,YAAW,UAAU;IAoJzC,OAAO,CAAC,OAAO;IAnJpB,OAAO;IAOP,UAAU,UAAW,CAAC,aAA8C;IAEpE,cAAc,UAAW,CAAC,UAEhC;IAEM,mBAAmB,UAAW,CAAC,UAErC;IAEM,eAAe,UAAW,CAAC,UAEjC;IAED,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;IAE/B,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,CAAA;IAE1B,IAAI,qCAAoE;IAExE,KAAK,2BAAsD;IAE3D,SAAS,2BAAsC;IAE/C,aAAa,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAE9D,YAAY,iCAAgD;IAE5D,SAAS,uBAA+B;IAExC,UAAU,0BAA0B;IAEpC,QAAQ,2BAA6B;IAErC,aAAa,CAAC,EAAE,EAAE,aAAa;IA6E/B,cAAc,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,UAAU;gBA6B1B,OAAO,EAAE,wBAAwB,CAAC,CAAC,CAAC;IA2B3C,oBAAoB,CAAC,KAAK,EAAE,CAAC;CAG3C"}
|
|
@@ -24,7 +24,7 @@ export class CollectionService {
|
|
|
24
24
|
error = new ObservableValue(undefined);
|
|
25
25
|
isLoading = new ObservableValue(false);
|
|
26
26
|
querySettings;
|
|
27
|
-
focusedEntry = new ObservableValue();
|
|
27
|
+
focusedEntry = new ObservableValue(undefined);
|
|
28
28
|
selection = new ObservableValue([]);
|
|
29
29
|
searchTerm = new ObservableValue('');
|
|
30
30
|
hasFocus = new ObservableValue(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection-service.js","sourceRoot":"","sources":["../../src/services/collection-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAE5C,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AA4C5D,MAAM,OAAO,iBAAiB;IAoJR;IAnJb,OAAO;QACZ,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAA;QAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;QACnB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;QACpB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;IAEM,UAAU,GAAG,CAAC,KAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEpE,cAAc,GAAG,CAAC,KAAQ,EAAE,EAAE;QACnC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC,CAAA;IAChE,CAAC,CAAA;IAEM,mBAAmB,GAAG,CAAC,KAAQ,EAAE,EAAE;QACxC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAA;IAC/E,CAAC,CAAA;IAEM,eAAe,GAAG,CAAC,KAAQ,EAAE,EAAE;QACpC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IACvF,CAAC,CAAA;IAEgB,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAA;IAE/B,UAAU,CAAgB;IAE1B,IAAI,GAAG,IAAI,eAAe,CAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAA;IAExE,KAAK,GAAG,IAAI,eAAe,CAAsB,SAAS,CAAC,CAAA;IAE3D,SAAS,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAA;IAE/C,aAAa,CAAiD;IAE9D,YAAY,GAAG,IAAI,eAAe,
|
|
1
|
+
{"version":3,"file":"collection-service.js","sourceRoot":"","sources":["../../src/services/collection-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collection-service.spec.d.ts","sourceRoot":"","sources":["../../src/services/collection-service.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { usingAsync } from '@furystack/utils';
|
|
2
|
+
import { describe, expect, it } from 'vitest';
|
|
3
|
+
import { CollectionService } from './collection-service.js';
|
|
4
|
+
const testEntries = [{ foo: 1 }, { foo: 2 }, { foo: 3 }];
|
|
5
|
+
describe('CollectionService', () => {
|
|
6
|
+
describe('Selection', () => {
|
|
7
|
+
it('Should add and remove selection', async () => {
|
|
8
|
+
await usingAsync(new CollectionService({
|
|
9
|
+
defaultSettings: {},
|
|
10
|
+
loader: async () => ({ count: 3, entries: testEntries }),
|
|
11
|
+
}), async (collectionService) => {
|
|
12
|
+
await collectionService.getEntries({});
|
|
13
|
+
testEntries.forEach((entry) => {
|
|
14
|
+
expect(collectionService.isSelected(entry)).toBe(false);
|
|
15
|
+
});
|
|
16
|
+
collectionService.addToSelection(testEntries[0]);
|
|
17
|
+
expect(collectionService.isSelected(testEntries[0])).toBe(true);
|
|
18
|
+
expect(collectionService.isSelected(testEntries[1])).toBe(false);
|
|
19
|
+
expect(collectionService.isSelected(testEntries[2])).toBe(false);
|
|
20
|
+
collectionService.removeFromSelection(testEntries[0]);
|
|
21
|
+
expect(collectionService.isSelected(testEntries[0])).toBe(false);
|
|
22
|
+
collectionService.toggleSelection(testEntries[1]);
|
|
23
|
+
expect(collectionService.isSelected(testEntries[1])).toBe(true);
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=collection-service.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collection-service.spec.js","sourceRoot":"","sources":["../../src/services/collection-service.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAE3D,MAAM,WAAW,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;AAExD,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;YAC/C,MAAM,UAAU,CACd,IAAI,iBAAiB,CAAC;gBACpB,eAAe,EAAE,EAAE;gBACnB,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;aACzD,CAAC,EACF,KAAK,EAAE,iBAAiB,EAAE,EAAE;gBAC1B,MAAM,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;gBACtC,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBAC5B,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACzD,CAAC,CAAC,CAAA;gBAEF,iBAAiB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;gBAEhD,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC/D,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBAChE,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBAEhE,iBAAiB,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;gBAErD,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBAEhE,iBAAiB,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;gBACjD,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACjE,CAAC,CACF,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1,15 +1,19 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { EventHub } from '@furystack/utils';
|
|
2
2
|
export interface NotyModel {
|
|
3
3
|
type: 'error' | 'warning' | 'info' | 'success';
|
|
4
4
|
title: string;
|
|
5
5
|
body: any;
|
|
6
6
|
timeout?: number;
|
|
7
7
|
}
|
|
8
|
-
export declare class NotyService {
|
|
9
|
-
onNotyAdded:
|
|
10
|
-
onNotyRemoved:
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
export declare class NotyService extends EventHub<'onNotyAdded' | 'onNotyRemoved', {
|
|
9
|
+
onNotyAdded: NotyModel;
|
|
10
|
+
onNotyRemoved: NotyModel;
|
|
11
|
+
}> {
|
|
12
|
+
private notyList;
|
|
13
|
+
getNotyList: () => NotyModel[];
|
|
14
|
+
private onNotyAddListener;
|
|
15
|
+
private onNotyRemoveListener;
|
|
16
|
+
dispose(): void;
|
|
17
|
+
constructor();
|
|
14
18
|
}
|
|
15
19
|
//# sourceMappingURL=noty-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noty-service.d.ts","sourceRoot":"","sources":["../../src/services/noty-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"noty-service.d.ts","sourceRoot":"","sources":["../../src/services/noty-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAG3C,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAA;IAC9C,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,GAAG,CAAA;IACT,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,qBACa,WAAY,SAAQ,QAAQ,CACvC,aAAa,GAAG,eAAe,EAC/B;IAAE,WAAW,EAAE,SAAS,CAAC;IAAC,aAAa,EAAE,SAAS,CAAA;CAAE,CACrD;IACC,OAAO,CAAC,QAAQ,CAAkB;IAE3B,WAAW,oBAA2B;IAE7C,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,oBAAoB;IAIrB,OAAO,IAAI,IAAI;;CAWvB"}
|
|
@@ -4,23 +4,34 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
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;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { EventHub } from '@furystack/utils';
|
|
8
11
|
import { Injectable } from '@furystack/inject';
|
|
9
|
-
let NotyService = class NotyService {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
this.
|
|
20
|
-
|
|
12
|
+
let NotyService = class NotyService extends EventHub {
|
|
13
|
+
notyList = [];
|
|
14
|
+
getNotyList = () => [...this.notyList];
|
|
15
|
+
onNotyAddListener(newNoty) {
|
|
16
|
+
this.notyList = [...this.notyList, newNoty];
|
|
17
|
+
}
|
|
18
|
+
onNotyRemoveListener(removedNoty) {
|
|
19
|
+
this.notyList = this.notyList.filter((noty) => noty !== removedNoty);
|
|
20
|
+
}
|
|
21
|
+
dispose() {
|
|
22
|
+
this.notyList = [];
|
|
23
|
+
this.removeListener('onNotyAdded', this.onNotyAddListener.bind(this));
|
|
24
|
+
this.removeListener('onNotyRemoved', this.onNotyRemoveListener.bind(this));
|
|
25
|
+
}
|
|
26
|
+
constructor() {
|
|
27
|
+
super();
|
|
28
|
+
this.addListener('onNotyAdded', this.onNotyAddListener.bind(this));
|
|
29
|
+
this.addListener('onNotyRemoved', this.onNotyRemoveListener.bind(this));
|
|
30
|
+
}
|
|
21
31
|
};
|
|
22
32
|
NotyService = __decorate([
|
|
23
|
-
Injectable({ lifetime: 'singleton' })
|
|
33
|
+
Injectable({ lifetime: 'singleton' }),
|
|
34
|
+
__metadata("design:paramtypes", [])
|
|
24
35
|
], NotyService);
|
|
25
36
|
export { NotyService };
|
|
26
37
|
//# sourceMappingURL=noty-service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noty-service.js","sourceRoot":"","sources":["../../src/services/noty-service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"noty-service.js","sourceRoot":"","sources":["../../src/services/noty-service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAUvC,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,QAGhC;IACS,QAAQ,GAAgB,EAAE,CAAA;IAE3B,WAAW,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;IAErC,iBAAiB,CAAC,OAAkB;QAC1C,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC7C,CAAC;IAEO,oBAAoB,CAAC,WAAsB;QACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,WAAW,CAAC,CAAA;IACtE,CAAC;IAEM,OAAO;QACZ,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;QAClB,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QACrE,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAC5E,CAAC;IAED;QACE,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QAClE,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACzE,CAAC;CACF,CAAA;AA3BY,WAAW;IADvB,UAAU,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;;GACzB,WAAW,CA2BvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"noty-service.spec.d.ts","sourceRoot":"","sources":["../../src/services/noty-service.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest';
|
|
2
|
+
import { NotyService } from './noty-service.js';
|
|
3
|
+
import { using } from '@furystack/utils';
|
|
4
|
+
describe('NotyService', () => {
|
|
5
|
+
it('Should add and removea noty', () => {
|
|
6
|
+
using(new NotyService(), (notyService) => {
|
|
7
|
+
expect(notyService.getNotyList()).toEqual([]);
|
|
8
|
+
const exampleNoty = {
|
|
9
|
+
type: 'info',
|
|
10
|
+
title: 'Test',
|
|
11
|
+
body: 'Test',
|
|
12
|
+
};
|
|
13
|
+
notyService.emit('onNotyAdded', exampleNoty);
|
|
14
|
+
expect(notyService.getNotyList()).toEqual([exampleNoty]);
|
|
15
|
+
notyService.emit('onNotyRemoved', exampleNoty);
|
|
16
|
+
expect(notyService.getNotyList()).toEqual([]);
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
//# sourceMappingURL=noty-service.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"noty-service.spec.js","sourceRoot":"","sources":["../../src/services/noty-service.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAExC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,KAAK,CAAC,IAAI,WAAW,EAAE,EAAE,CAAC,WAAW,EAAE,EAAE;YACvC,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YAE7C,MAAM,WAAW,GAAc;gBAC7B,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,MAAM;aACb,CAAA;YAED,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAA;YAE5C,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;YAExD,WAAW,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,CAAA;YAE9C,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAC/C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@furystack/shades-common-components",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -32,13 +32,13 @@
|
|
|
32
32
|
"license": "GPL-2.0",
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"typescript": "^5.4.2",
|
|
35
|
-
"vitest": "^1.
|
|
35
|
+
"vitest": "^1.4.0"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@furystack/core": "^
|
|
39
|
-
"@furystack/inject": "^
|
|
40
|
-
"@furystack/shades": "^
|
|
41
|
-
"@furystack/utils": "^
|
|
38
|
+
"@furystack/core": "^13.0.0",
|
|
39
|
+
"@furystack/inject": "^9.0.0",
|
|
40
|
+
"@furystack/shades": "^9.0.0",
|
|
41
|
+
"@furystack/utils": "^5.0.0",
|
|
42
42
|
"path-to-regexp": "^6.2.1",
|
|
43
43
|
"semaphore-async-await": "^1.5.1"
|
|
44
44
|
},
|
|
@@ -139,27 +139,31 @@ export const NotyList = Shade({
|
|
|
139
139
|
display: 'flex',
|
|
140
140
|
flexDirection: 'column',
|
|
141
141
|
},
|
|
142
|
-
render: ({
|
|
142
|
+
render: ({ useDisposable, injector, element }) => {
|
|
143
143
|
const notyService = injector.getInstance(NotyService)
|
|
144
144
|
|
|
145
|
-
const currentNotys = notyService.
|
|
145
|
+
const currentNotys = notyService.getNotyList()
|
|
146
146
|
|
|
147
|
-
|
|
148
|
-
|
|
147
|
+
useDisposable('addNoty', () =>
|
|
148
|
+
notyService.subscribe('onNotyAdded', (n) =>
|
|
149
|
+
element.append(<NotyComponent model={n} onDismiss={() => notyService.emit('onNotyRemoved', n)} />),
|
|
150
|
+
),
|
|
149
151
|
)
|
|
150
152
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
e.
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
153
|
+
useDisposable('removeNoty', () =>
|
|
154
|
+
notyService.subscribe('onNotyRemoved', (n) => {
|
|
155
|
+
element.querySelectorAll('shade-noty').forEach((e) => {
|
|
156
|
+
if ((e as JSX.Element).props.model === n) {
|
|
157
|
+
e.remove()
|
|
158
|
+
}
|
|
159
|
+
})
|
|
160
|
+
}),
|
|
161
|
+
)
|
|
158
162
|
|
|
159
163
|
return (
|
|
160
164
|
<>
|
|
161
165
|
{currentNotys.map((n) => (
|
|
162
|
-
<NotyComponent model={n} onDismiss={() => injector.getInstance(NotyService).
|
|
166
|
+
<NotyComponent model={n} onDismiss={() => injector.getInstance(NotyService).emit('onNotyRemoved', n)} />
|
|
163
167
|
))}
|
|
164
168
|
</>
|
|
165
169
|
)
|
|
@@ -28,7 +28,7 @@ export const Suggest: <T>(props: SuggestProps<T>, children: ChildrenList) => JSX
|
|
|
28
28
|
style: {
|
|
29
29
|
flexGrow: '1',
|
|
30
30
|
},
|
|
31
|
-
render: ({ props, injector, element, useDisposable
|
|
31
|
+
render: ({ props, injector, element, useDisposable }) => {
|
|
32
32
|
const manager = useDisposable('manager', () => new SuggestManager(props.getEntries, props.getSuggestionEntry))
|
|
33
33
|
const { theme } = injector.getInstance(ThemeProviderService)
|
|
34
34
|
const inputContainer = element.querySelector('.input-container') as HTMLDivElement
|
|
@@ -85,7 +85,7 @@ export const Suggest: <T>(props: SuggestProps<T>, children: ChildrenList) => JSX
|
|
|
85
85
|
})
|
|
86
86
|
}
|
|
87
87
|
})
|
|
88
|
-
|
|
88
|
+
useDisposable('onSelectSuggestion', () => manager.subscribe('onSelectSuggestion', props.onSelectSuggestion))
|
|
89
89
|
return (
|
|
90
90
|
<div
|
|
91
91
|
style={{ display: 'flex', flexDirection: 'column' }}
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
import type { Injector } from '@furystack/inject'
|
|
2
2
|
import { Injectable } from '@furystack/inject'
|
|
3
3
|
import type { Disposable } from '@furystack/utils'
|
|
4
|
-
import { debounce, ObservableValue } from '@furystack/utils'
|
|
4
|
+
import { debounce, EventHub, ObservableValue } from '@furystack/utils'
|
|
5
5
|
import type { SuggestionResult } from './suggestion-result.js'
|
|
6
6
|
|
|
7
7
|
@Injectable({ lifetime: 'singleton' })
|
|
8
|
-
export class SuggestManager<T> implements Disposable {
|
|
8
|
+
export class SuggestManager<T> extends EventHub<'onSelectSuggestion', { onSelectSuggestion: T }> implements Disposable {
|
|
9
9
|
public isOpened = new ObservableValue(false)
|
|
10
10
|
public isLoading = new ObservableValue(false)
|
|
11
11
|
public term = new ObservableValue('')
|
|
12
12
|
public selectedIndex = new ObservableValue(0)
|
|
13
13
|
public currentSuggestions = new ObservableValue<Array<{ entry: T; suggestion: SuggestionResult }>>([])
|
|
14
|
-
public onSelectSuggestion = new ObservableValue<T>()
|
|
15
14
|
|
|
16
15
|
public keyPressListener = ((ev: KeyboardEvent) => {
|
|
17
16
|
if (ev.key === 'Escape') {
|
|
@@ -38,13 +37,13 @@ export class SuggestManager<T> implements Disposable {
|
|
|
38
37
|
this.term.dispose()
|
|
39
38
|
this.selectedIndex.dispose()
|
|
40
39
|
this.currentSuggestions.dispose()
|
|
41
|
-
|
|
40
|
+
super.dispose()
|
|
42
41
|
}
|
|
43
42
|
|
|
44
43
|
public selectSuggestion(index: number = this.selectedIndex.getValue()) {
|
|
45
44
|
const selectedSuggestion = this.currentSuggestions.getValue()[index]
|
|
46
45
|
this.isOpened.setValue(false)
|
|
47
|
-
this.onSelectSuggestion
|
|
46
|
+
this.emit('onSelectSuggestion', selectedSuggestion.entry)
|
|
48
47
|
}
|
|
49
48
|
|
|
50
49
|
private lastGetSuggestionOptions?: { injector: Injector; term: string }
|
|
@@ -74,6 +73,7 @@ export class SuggestManager<T> implements Disposable {
|
|
|
74
73
|
private readonly getEntries: (term: string) => Promise<T[]>,
|
|
75
74
|
private readonly getSuggestionEntry: (entry: T) => SuggestionResult,
|
|
76
75
|
) {
|
|
76
|
+
super()
|
|
77
77
|
window.addEventListener('keyup', this.keyPressListener, true)
|
|
78
78
|
window.addEventListener('click', this.clickOutsideListener, true)
|
|
79
79
|
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { usingAsync } from '@furystack/utils'
|
|
2
|
+
import { describe, expect, it } from 'vitest'
|
|
3
|
+
import { CollectionService } from './collection-service.js'
|
|
4
|
+
|
|
5
|
+
const testEntries = [{ foo: 1 }, { foo: 2 }, { foo: 3 }]
|
|
6
|
+
|
|
7
|
+
describe('CollectionService', () => {
|
|
8
|
+
describe('Selection', () => {
|
|
9
|
+
it('Should add and remove selection', async () => {
|
|
10
|
+
await usingAsync(
|
|
11
|
+
new CollectionService({
|
|
12
|
+
defaultSettings: {},
|
|
13
|
+
loader: async () => ({ count: 3, entries: testEntries }),
|
|
14
|
+
}),
|
|
15
|
+
async (collectionService) => {
|
|
16
|
+
await collectionService.getEntries({})
|
|
17
|
+
testEntries.forEach((entry) => {
|
|
18
|
+
expect(collectionService.isSelected(entry)).toBe(false)
|
|
19
|
+
})
|
|
20
|
+
|
|
21
|
+
collectionService.addToSelection(testEntries[0])
|
|
22
|
+
|
|
23
|
+
expect(collectionService.isSelected(testEntries[0])).toBe(true)
|
|
24
|
+
expect(collectionService.isSelected(testEntries[1])).toBe(false)
|
|
25
|
+
expect(collectionService.isSelected(testEntries[2])).toBe(false)
|
|
26
|
+
|
|
27
|
+
collectionService.removeFromSelection(testEntries[0])
|
|
28
|
+
|
|
29
|
+
expect(collectionService.isSelected(testEntries[0])).toBe(false)
|
|
30
|
+
|
|
31
|
+
collectionService.toggleSelection(testEntries[1])
|
|
32
|
+
expect(collectionService.isSelected(testEntries[1])).toBe(true)
|
|
33
|
+
},
|
|
34
|
+
)
|
|
35
|
+
})
|
|
36
|
+
})
|
|
37
|
+
})
|
|
@@ -79,7 +79,7 @@ export class CollectionService<T> implements Disposable {
|
|
|
79
79
|
|
|
80
80
|
public querySettings: ObservableValue<FindOptions<T, Array<keyof T>>>
|
|
81
81
|
|
|
82
|
-
public focusedEntry = new ObservableValue<T | undefined>()
|
|
82
|
+
public focusedEntry = new ObservableValue<T | undefined>(undefined)
|
|
83
83
|
|
|
84
84
|
public selection = new ObservableValue<T[]>([])
|
|
85
85
|
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest'
|
|
2
|
+
import type { NotyModel } from './noty-service.js'
|
|
3
|
+
import { NotyService } from './noty-service.js'
|
|
4
|
+
import { using } from '@furystack/utils'
|
|
5
|
+
|
|
6
|
+
describe('NotyService', () => {
|
|
7
|
+
it('Should add and removea noty', () => {
|
|
8
|
+
using(new NotyService(), (notyService) => {
|
|
9
|
+
expect(notyService.getNotyList()).toEqual([])
|
|
10
|
+
|
|
11
|
+
const exampleNoty: NotyModel = {
|
|
12
|
+
type: 'info',
|
|
13
|
+
title: 'Test',
|
|
14
|
+
body: 'Test',
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
notyService.emit('onNotyAdded', exampleNoty)
|
|
18
|
+
|
|
19
|
+
expect(notyService.getNotyList()).toEqual([exampleNoty])
|
|
20
|
+
|
|
21
|
+
notyService.emit('onNotyRemoved', exampleNoty)
|
|
22
|
+
|
|
23
|
+
expect(notyService.getNotyList()).toEqual([])
|
|
24
|
+
})
|
|
25
|
+
})
|
|
26
|
+
})
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { EventHub } from '@furystack/utils'
|
|
2
2
|
import { Injectable } from '@furystack/inject'
|
|
3
3
|
|
|
4
4
|
export interface NotyModel {
|
|
@@ -9,19 +9,31 @@ export interface NotyModel {
|
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
@Injectable({ lifetime: 'singleton' })
|
|
12
|
-
export class NotyService
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
export class NotyService extends EventHub<
|
|
13
|
+
'onNotyAdded' | 'onNotyRemoved',
|
|
14
|
+
{ onNotyAdded: NotyModel; onNotyRemoved: NotyModel }
|
|
15
|
+
> {
|
|
16
|
+
private notyList: NotyModel[] = []
|
|
15
17
|
|
|
16
|
-
public
|
|
18
|
+
public getNotyList = () => [...this.notyList]
|
|
17
19
|
|
|
18
|
-
|
|
19
|
-
this.
|
|
20
|
-
this.notys.setValue([...this.notys.getValue(), noty])
|
|
20
|
+
private onNotyAddListener(newNoty: NotyModel) {
|
|
21
|
+
this.notyList = [...this.notyList, newNoty]
|
|
21
22
|
}
|
|
22
23
|
|
|
23
|
-
|
|
24
|
-
this.
|
|
25
|
-
|
|
24
|
+
private onNotyRemoveListener(removedNoty: NotyModel) {
|
|
25
|
+
this.notyList = this.notyList.filter((noty) => noty !== removedNoty)
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
public dispose(): void {
|
|
29
|
+
this.notyList = []
|
|
30
|
+
this.removeListener('onNotyAdded', this.onNotyAddListener.bind(this))
|
|
31
|
+
this.removeListener('onNotyRemoved', this.onNotyRemoveListener.bind(this))
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
constructor() {
|
|
35
|
+
super()
|
|
36
|
+
this.addListener('onNotyAdded', this.onNotyAddListener.bind(this))
|
|
37
|
+
this.addListener('onNotyRemoved', this.onNotyRemoveListener.bind(this))
|
|
26
38
|
}
|
|
27
39
|
}
|