@neovici/cosmoz-queue 2.11.1 → 2.11.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -10,7 +10,7 @@ export { default as omnitable } from './omnitable';
10
10
  export { usePagination } from './pagination';
11
11
  export { queue } from './queue';
12
12
  export { base, default as renderStyles } from './style';
13
- export { actions$, default as useFetchActions } from './use-fetch-actions';
13
+ export { actions$, mapActions, noActions, default as useFetchActions, } from './use-fetch-actions';
14
14
  export type { Item, Props } from './use-fetch-actions';
15
15
  export { useListSSE } from './use-list-sse';
16
16
  export { default as useDataNav } from './use-data-nav';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/queue/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAEzC,cAAc,UAAU,CAAC;AAEzB,mBAAmB,SAAS,CAAC;AAC7B,mBAAmB,aAAa,CAAC;AAGjC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AAGnD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,SAAS,CAAC;AAGxD,OAAO,EAAE,QAAQ,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3E,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG5C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,YAAY,CAAC;AAGhD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/queue/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAEzC,cAAc,UAAU,CAAC;AAEzB,mBAAmB,SAAS,CAAC;AAC7B,mBAAmB,aAAa,CAAC;AAGjC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AAGnD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,SAAS,CAAC;AAGxD,OAAO,EACN,QAAQ,EACR,UAAU,EACV,SAAS,EACT,OAAO,IAAI,eAAe,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG5C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,YAAY,CAAC;AAGhD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
@@ -14,7 +14,7 @@ export { queue } from './queue';
14
14
  // Styling
15
15
  export { base, default as renderStyles } from './style';
16
16
  // Fetch actions
17
- export { actions$, default as useFetchActions } from './use-fetch-actions';
17
+ export { actions$, mapActions, noActions, default as useFetchActions, } from './use-fetch-actions';
18
18
  // SSE
19
19
  export { useListSSE } from './use-list-sse';
20
20
  // Navigation & layout hooks
@@ -0,0 +1,14 @@
1
+ import { Performable } from '../types/performable';
2
+ export interface Data<TAvailableAction> {
3
+ [key: string]: Performable<TAvailableAction>[];
4
+ }
5
+ export type TMapActions<T> = {
6
+ actions: Data<T>;
7
+ actionRows: {
8
+ id: string;
9
+ actions: Performable<T>[];
10
+ }[];
11
+ };
12
+ export declare const noActions: TMapActions<never>;
13
+ export declare const mapActions: <TAvailableAction>(ids: string[], data?: Data<TAvailableAction>) => TMapActions<TAvailableAction>;
14
+ //# sourceMappingURL=map-actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-actions.d.ts","sourceRoot":"","sources":["../../src/queue/map-actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,WAAW,IAAI,CAAC,gBAAgB;IACrC,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC,gBAAgB,CAAC,EAAE,CAAC;CAC/C;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAC5B,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,UAAU,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAA;KAAE,EAAE,CAAC;CACxD,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,WAAW,CAAC,KAAK,CAGxC,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,gBAAgB,EAC1C,KAAK,MAAM,EAAE,EACb,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAC3B,WAAW,CAAC,gBAAgB,CAQ9B,CAAC"}
@@ -0,0 +1,14 @@
1
+ export const noActions = {
2
+ actions: {},
3
+ actionRows: [],
4
+ };
5
+ export const mapActions = (ids, data) => {
6
+ if (!data)
7
+ return noActions;
8
+ const acts = { ...data };
9
+ const rows = ids.map((id) => {
10
+ const ac = (acts[id] ??= []);
11
+ return { id, actions: ac };
12
+ });
13
+ return { actions: acts, actionRows: rows };
14
+ };
@@ -1,7 +1,5 @@
1
- import { Performable } from '../types/performable';
2
- interface Data<TAvailableAction> {
3
- [key: string]: Performable<TAvailableAction>[];
4
- }
1
+ import { mapActions, TMapActions } from './map-actions';
2
+ export { Data, mapActions, noActions, TMapActions } from './map-actions';
5
3
  export interface Item {
6
4
  id: string;
7
5
  }
@@ -10,21 +8,7 @@ export interface Props<I extends Item> {
10
8
  selected: I[];
11
9
  api: string;
12
10
  }
13
- declare const mapActions: <TAvailableAction>(ids: string[], data?: Data<TAvailableAction>) => {
14
- actions: {
15
- [key: string]: Performable<TAvailableAction>[];
16
- };
17
- actionRows: {
18
- id: string;
19
- actions: Performable<TAvailableAction>[];
20
- }[];
21
- };
22
- declare const _default: <I extends Item, TAvailableAction>({ pathLocator, selected, api: url, }: Props<I>) => {
23
- actions: Data<TAvailableAction>;
24
- actionRows: {
25
- id: string;
26
- actions: Performable<TAvailableAction>[];
27
- }[];
11
+ declare const _default: <I extends Item, TAvailableAction>({ pathLocator, selected, api: url, }: Props<I>) => TMapActions<TAvailableAction> & {
28
12
  actionsFetching: boolean | undefined;
29
13
  };
30
14
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"use-fetch-actions.d.ts","sourceRoot":"","sources":["../../src/queue/use-fetch-actions.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,UAAU,IAAI,CAAC,gBAAgB;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC,gBAAgB,CAAC,EAAE,CAAC;CAC/C;AACD,MAAM,WAAW,IAAI;IACpB,EAAE,EAAE,MAAM,CAAC;CACX;AACD,MAAM,WAAW,KAAK,CAAC,CAAC,SAAS,IAAI;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,CAAC,EAAE,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACZ;AAQD,QAAA,MAAM,UAAU,GAAI,gBAAgB,EACnC,KAAK,MAAM,EAAE,EACb,OAAO,IAAI,CAAC,gBAAgB,CAAC;;;;;;;;CAQ7B,CAAC;yBAEc,CAAC,SAAS,IAAI,EAAE,gBAAgB,EAAE,sCAI/C,KAAK,CAAC,CAAC,CAAC,KAAG;IACb,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAChC,UAAU,EAAE;QACX,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,WAAW,CAAC,gBAAgB,CAAC,EAAE,CAAC;KACzC,EAAE,CAAC;IACJ,eAAe,EAAE,OAAO,GAAG,SAAS,CAAC;CACrC;AAXD,wBA4CE;AAEF,eAAO,MAAM,QAAQ,GAAI,gBAAgB,EAAE,iDAMxC;IACF,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,aAAa,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,KAAK,OAAO,CAAC;IAChE,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;CACjB;;;;cAiBC,CAAC"}
1
+ {"version":3,"file":"use-fetch-actions.d.ts","sourceRoot":"","sources":["../../src/queue/use-fetch-actions.ts"],"names":[],"mappings":"AASA,OAAO,EAAQ,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEzE,MAAM,WAAW,IAAI;IACpB,EAAE,EAAE,MAAM,CAAC;CACX;AACD,MAAM,WAAW,KAAK,CAAC,CAAC,SAAS,IAAI;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,CAAC,EAAE,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACZ;yBAQe,CAAC,SAAS,IAAI,EAAE,gBAAgB,EAAE,sCAI/C,KAAK,CAAC,CAAC,CAAC,KAAG,WAAW,CAAC,gBAAgB,CAAC,GAAG;IAC7C,eAAe,EAAE,OAAO,GAAG,SAAS,CAAC;CACrC;AAND,wBA2CE;AAEF,eAAO,MAAM,QAAQ,GAAI,gBAAgB,EAAE,iDAMxC;IACF,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,aAAa,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,KAAK,OAAO,CAAC;IAChE,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;CACjB;;;;cAiBC,CAAC"}
@@ -6,14 +6,8 @@ import { nothing } from 'lit-html';
6
6
  import { guard } from 'lit-html/directives/guard.js';
7
7
  import { until } from 'lit-html/directives/until.js';
8
8
  import { when } from 'lit-html/directives/when.js';
9
- const mapActions = (ids, data) => {
10
- const acts = { ...data };
11
- const rows = ids.map((id) => {
12
- const ac = (acts[id] ??= []);
13
- return { id, actions: ac };
14
- });
15
- return { actions: acts, actionRows: rows };
16
- };
9
+ import { mapActions } from './map-actions';
10
+ export { mapActions, noActions } from './map-actions';
17
11
  export default ({ pathLocator, selected, api: url, }) => {
18
12
  const [{ fetching: actionsFetching, data }, setApi$] = useState({}), ids = useMemo(() => selected?.map((i) => i.id) ?? [], [selected]), { actions, actionRows } = useMemo(() => mapActions(ids, data), [ids.length, ...ids, data]);
19
13
  const post$ = useMemo(() => debounce$(jsonPost, 320), []);
@@ -26,8 +20,13 @@ export default ({ pathLocator, selected, api: url, }) => {
26
20
  setApi$(() => ({
27
21
  api$: post$(apiUrl(url, { pathLocator }), ids, {
28
22
  signal: ac.signal,
29
- }).then((data) => setApi$((api) => ({ ...api, fetching: false, data })), (err) => setApi$({ error: err })),
23
+ }).then((data) => setApi$((api) => ({ ...api, fetching: false, data })), (err) => {
24
+ if (err?.name === 'AbortError')
25
+ return;
26
+ setApi$({ error: err });
27
+ }),
30
28
  fetching: true,
29
+ data: undefined,
31
30
  }));
32
31
  return () => ac.abort();
33
32
  }, [ids.length, pathLocator, ...ids]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neovici/cosmoz-queue",
3
- "version": "2.11.1",
3
+ "version": "2.11.2",
4
4
  "description": "A reusable queue component for master-detail views with list, split, and queue modes",
5
5
  "keywords": [
6
6
  "web-components",