@arrai-innovations/reactive-helpers 20.1.0 → 20.1.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.
- package/package.json +1 -1
- package/types/use/list.d.ts +3 -3
- package/types/use/list.d.ts.map +1 -1
- package/types/use/listInstance.d.ts +2 -2
- package/types/use/listInstance.d.ts.map +1 -1
- package/types/use/listKeys.d.ts.map +1 -1
- package/types/use/listSubscription.d.ts +1 -1
- package/types/use/paginatedListInstance.d.ts +2 -1
- package/types/use/paginatedListInstance.d.ts.map +1 -1
- package/use/list.js +6 -3
- package/use/listInstance.js +2 -2
- package/use/listKeys.js +1 -0
- package/use/listSubscription.js +1 -1
- package/use/paginatedListInstance.js +9 -7
package/package.json
CHANGED
package/types/use/list.d.ts
CHANGED
|
@@ -102,7 +102,7 @@ export type ListOptions = {
|
|
|
102
102
|
/**
|
|
103
103
|
* - Indicates whether old pages should be kept when paginating.
|
|
104
104
|
*/
|
|
105
|
-
keepOldPages: boolean;
|
|
105
|
+
keepOldPages: import("vue").Ref<boolean> | boolean;
|
|
106
106
|
/**
|
|
107
107
|
* - Indicates whether the list should be cleared when the list intent is triggered.
|
|
108
108
|
*/
|
|
@@ -124,7 +124,7 @@ export type ListOptions = {
|
|
|
124
124
|
* Represents the combined state definitions for all list-related components.
|
|
125
125
|
* This interface aggregates the raw state from multiple list management functionalities.
|
|
126
126
|
*/
|
|
127
|
-
export type ListRawState = (import("./listInstance.js").ListInstanceRawState & import("./listSubscription.js").ListSubscriptionRawState & import("./listRelated.js").ListRelatedRawState & import("./listCalculated.js").ListCalculatedRawState & import("./listFilter.js").ListFilterRawState & import("./listSearch.js").ListSearchRawState & import("./listSort.js").ListSortRawState);
|
|
127
|
+
export type ListRawState = ((import("./listInstance.js").ListInstanceRawState | import("./paginatedListInstance.js").PagedListInstanceRawState) & import("./listSubscription.js").ListSubscriptionRawState & import("./listRelated.js").ListRelatedRawState & import("./listCalculated.js").ListCalculatedRawState & import("./listFilter.js").ListFilterRawState & import("./listSearch.js").ListSearchRawState & import("./listSort.js").ListSortRawState);
|
|
128
128
|
/**
|
|
129
129
|
* Represents the reactive state derived from aggregating states of various list-related components.
|
|
130
130
|
* This state is typically used within Vue components for reactivity and access to updated list properties.
|
|
@@ -134,7 +134,7 @@ export type ListState = import("vue").UnwrapNestedRefs<ListRawState>;
|
|
|
134
134
|
* Holds references to instances of all list-related composables, facilitating direct access and management.
|
|
135
135
|
*/
|
|
136
136
|
export type ListManaged = {
|
|
137
|
-
listInstance: import("./listInstance.js").ListInstance;
|
|
137
|
+
listInstance: import("./listInstance.js").ListInstance | import("./paginatedListInstance.js").PagedListInstance;
|
|
138
138
|
listSubscription: import("./listSubscription.js").ListSubscription;
|
|
139
139
|
listRelated: import("./listRelated.js").ListRelated;
|
|
140
140
|
listCalculated: import("./listCalculated.js").ListCalculated;
|
package/types/use/list.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../use/list.js"],"names":[],"mappings":"AAmBA;;;;;;;GAOG;AAEH;;GAEG;AACH;IACI;;;;;OAKG;IACH,qBAHW,MAAM,QACN,MAAM,EAMhB;IADG,aAAgB;CAEvB;
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../use/list.js"],"names":[],"mappings":"AAmBA;;;;;;;GAOG;AAEH;;GAEG;AACH;IACI;;;;;OAKG;IACH,qBAHW,MAAM,QACN,MAAM,EAMhB;IADG,aAAgB;CAEvB;AAmHM,sCAPI;IACV,CAAO,GAAG,EAAE,MAAM,GAAG,WAAW,CAAA;CAC7B,GACS;IACZ,CAAM,GAAG,EAAE,MAAM,GAAG,WAAW,CAAA;CAC5B,CASH;AAcM,6JAJI,WAAW,GACT,WAAW,CAwHvB;;;;;;;;YAvPa,MAAM;;;;WACN,MAAM;;;;YACN,MAAM;;;;kBACN,OAAO;;;;uBACP,OAAO;;;;yBACP,OAAO,kBAAkB,EAAE,gBAAgB;;;;4BAC3C,OAAO,qBAAqB,EAAE,mBAAmB;;;;mBACjD,OAAO,iBAAiB,EAAE,uBAAuB;;;;oBACjD,OAAO,iBAAiB,EAAE,wBAAwB;;;;qBAClD,OAAO,iBAAiB,EAAE,eAAe;;;;qBACzC,MAAM;;;;2BACN,MAAM;;;;yBACN,MAAM;;;;kBACN,OAAO,eAAe,EAAE,WAAW,EAAE;;;;;;WAKrC,YAAY;;;;cACZ,OAAO,uBAAuB,EAAE,gBAAgB;;;;WAChD,OAAO;;;;kBACP,OAAO,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,GAAC,OAAO;;;;oCAClC,OAAO;;;;oBACP,MAAM;;;;sBACN,MAAM;;;;4BACN,OAAO;;;;;;2BAOR,CACZ,CACA,OAAiB,mBAAmB,EAAE,oBAAoB,GAC1D,OAAiB,4BAA4B,EAAE,yBAAyB,CACjE,GACP,OAAa,uBAAuB,EAAE,wBAAwB,GAC9D,OAAa,kBAAkB,EAAE,mBAAmB,GACpD,OAAa,qBAAqB,EAAE,sBAAsB,GAC1D,OAAa,iBAAiB,EAAE,kBAAkB,GAClD,OAAa,iBAAiB,EAAE,kBAAkB,GAClD,OAAa,eAAe,EAAE,gBAAgB,CAC3C;;;;;wBAOS,OAAO,KAAK,EAAE,gBAAgB,CAAC,YAAY,CAAC;;;;0BAM5C;IACN,YAAY,EAAE,OAAO,mBAAmB,EAAE,YAAY,GAAG,OAAO,4BAA4B,EAAE,iBAAiB,CAAC;IAChH,gBAAgB,EAAE,OAAO,uBAAuB,EAAE,gBAAgB,CAAC;IACnE,WAAW,EAAE,OAAO,kBAAkB,EAAE,WAAW,CAAC;IACpD,cAAc,EAAE,OAAO,qBAAqB,EAAE,cAAc,CAAC;IAC7D,UAAU,EAAE,OAAO,iBAAiB,EAAE,UAAU,CAAC;IACjD,UAAU,EAAE,OAAO,iBAAiB,EAAE,UAAU,CAAC;IACjD,QAAQ,EAAE,OAAO,eAAe,EAAE,QAAQ,CAAA;CAC7C;;;;4BAMS,CACZ,OAAa,mBAAmB,EAAE,qBAAqB,GAC/C,OAAO,uBAAuB,EAAE,yBAAyB,CAC9D;;;;;;;;;aAcU,WAAW;;;;WACX,SAAS;;;;iBACT,OAAO,KAAK,EAAE,WAAW;;;;;;0BAO1B,aAAa,GAAG,qBAAqB"}
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
* function.
|
|
21
21
|
* @property {import('../config/listCrud.js').CrudListSubscribeFn} [handlers.subscribe] - Provide the implementation for the
|
|
22
22
|
* subscribe function.
|
|
23
|
-
* @property {boolean} keepOldPages - If true, pages will not be cleared when defaultPageCallback is called.
|
|
23
|
+
* @property {import('vue').Ref<boolean>|boolean} keepOldPages - If true, pages will not be cleared when defaultPageCallback is called.
|
|
24
24
|
*/
|
|
25
25
|
/**
|
|
26
26
|
* The objects by pk.
|
|
@@ -210,7 +210,7 @@ export type ListInstanceOptions = {
|
|
|
210
210
|
/**
|
|
211
211
|
* - If true, pages will not be cleared when defaultPageCallback is called.
|
|
212
212
|
*/
|
|
213
|
-
keepOldPages: boolean;
|
|
213
|
+
keepOldPages: import("vue").Ref<boolean> | boolean;
|
|
214
214
|
};
|
|
215
215
|
/**
|
|
216
216
|
* The objects by pk.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listInstance.d.ts","sourceRoot":"","sources":["../../use/listInstance.js"],"names":[],"mappings":"AAwCA;;;;;;;GAOG;AAEH;;;;;;;;;;;;;;;GAeG;AAEH;;;;GAIG;AAEH;;;;GAIG;AAEH;;;;GAIG;AAEH;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;GAIG;AAEH;;;;;;;;;;;;;;GAcG;AAEH;;;;GAIG;AAEH;;;;GAIG;AAEH;;;;;GAKG;AACH,mDAHW;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAAA;CAAC,GAClC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAA;CAAC,CASzC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,mEALW,mBAAmB,GAEjB,YAAY,CAmTxB;AAlfD;;;;GAIG;AAEH;;;;;GAKG;AAEH;;;GAGG;AACH;IACI;;;;;OAKG;IACH,qBAHW,MAAM,QACN,MAAM,EAMhB;IADG,aAAgB;CAEvB;;;;;;;;WAMa,MAAM;;;;YACN,MAAM;;;;YACN,MAAM;;;;;;;;;WAON,OAAO,KAAK,EAAE,gBAAgB,CAAC,iBAAiB,CAAC;;;;eAE5D;QAAiE,IAAI,GAA1D,OAAO,uBAAuB,EAAE,UAAU;QAEmB,UAAU,GAAtE,OAAO,uBAAuB,EAAE,gBAAgB;QAEgB,aAAa,GAA5E,OAAO,uBAAuB,EAAE,mBAAmB;QAEU,SAAS,GAAxE,OAAO,uBAAuB,EAAE,mBAAmB;KAE9D;;;;kBAAW,OAAO;;;;;
|
|
1
|
+
{"version":3,"file":"listInstance.d.ts","sourceRoot":"","sources":["../../use/listInstance.js"],"names":[],"mappings":"AAwCA;;;;;;;GAOG;AAEH;;;;;;;;;;;;;;;GAeG;AAEH;;;;GAIG;AAEH;;;;GAIG;AAEH;;;;GAIG;AAEH;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;GAIG;AAEH;;;;;;;;;;;;;;GAcG;AAEH;;;;GAIG;AAEH;;;;GAIG;AAEH;;;;;GAKG;AACH,mDAHW;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAAA;CAAC,GAClC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAA;CAAC,CASzC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,mEALW,mBAAmB,GAEjB,YAAY,CAmTxB;AAlfD;;;;GAIG;AAEH;;;;;GAKG;AAEH;;;GAGG;AACH;IACI;;;;;OAKG;IACH,qBAHW,MAAM,QACN,MAAM,EAMhB;IADG,aAAgB;CAEvB;;;;;;;;WAMa,MAAM;;;;YACN,MAAM;;;;YACN,MAAM;;;;;;;;;WAON,OAAO,KAAK,EAAE,gBAAgB,CAAC,iBAAiB,CAAC;;;;eAE5D;QAAiE,IAAI,GAA1D,OAAO,uBAAuB,EAAE,UAAU;QAEmB,UAAU,GAAtE,OAAO,uBAAuB,EAAE,gBAAgB;QAEgB,aAAa,GAA5E,OAAO,uBAAuB,EAAE,mBAAmB;QAEU,SAAS,GAAxE,OAAO,uBAAuB,EAAE,mBAAmB;KAE9D;;;;kBAAW,OAAO,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,GAAC,OAAO;;;;;0BAMnC;IAAC,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,CAAA;CAAC;;;;6BAM1B,OAAO,KAAK,EAAE,WAAW,CAAC,UAAU,EAAE,CAAC;;;;wBAMvC,OAAO,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC;;;;;;;;UAQ7C;QAAwB,IAAI,EAAjB,MAAM;QACU,IAAI;KAC/B;;;;WAAW,MAAM;;;;YACN,MAAM;;;;aACN,WAAW;;;;aACX,OAAO;;;;cACP,QAAQ,CAAC,OAAO,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;;;;aACpC,QAAQ,CAAC,OAAO,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;;;;WACpC,QAAQ,CAAC,OAAO,KAAK,EAAE,GAAG,CAAC,KAAK,GAAC,IAAI,CAAC,CAAC;;;;WACvC,SAAS;;;;oBACT,cAAc;;;;;gCAMf,OAAO,KAAK,EAAE,gBAAgB,CAAC,oBAAoB,CAAC;;;;;;;;yBAOnD,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,IAAI;;;;kBAClC,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,IAAI;;;;mBAClC,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI;;;;sBAC5B,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI;;;;sBAC5B,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI;;;;eAC1B,MAAM,IAAI;;;;eACV,MAAM,MAAM;;;;UACZ,MAAM,OAAO,gCAAgC,EAAE,uBAAuB,CAAC,OAAO,GAAC,KAAK,CAAC;;;;gBACrF,MAAM,OAAO,CAAC,OAAO,CAAC;;;;mBACtB,MAAM,OAAO,CAAC,MAAM,GAAC,MAAM,GAAC,KAAK,CAAC;;;;;qCAMnC;IAAC,KAAK,EAAE,iBAAiB,CAAA;CAAC;;;;2BAM1B,sBAAsB,GAAG,qBAAqB;;;;;yBAlH9C;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listKeys.d.ts","sourceRoot":"","sources":["../../use/listKeys.js"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"listKeys.d.ts","sourceRoot":"","sources":["../../use/listKeys.js"],"names":[],"mappings":"AAAA,6CAiBE;AACF,6CAYE;AAEF,iDAOE;AACF,iDAAoF;AAEpF,4CAQE;AACF,yCAAuC;AAEvC,+CAME;AACF,4CAA0C;AAE1C,2CAWE;AACF,wCAAsC;AAEtC,2CAcE;AACF,wCAAsC;AACtC,yCAWE;AACF,sCAAoC"}
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
* @typedef {object & import("./listInstance.js").ListInstanceOptions} ListSubscriptionOptions
|
|
48
48
|
* @property {import("./listInstance.js").ListInstance} listInstance - A list instance to use instead of creating one.
|
|
49
49
|
* @property {boolean} clearListOnListIntentTriggered - If true, the list will be cleared when the list intent is triggered. Default is false.
|
|
50
|
-
* @property {boolean} keepOldPages - If true, pages will not be cleared when defaultPageCallback is called.
|
|
50
|
+
* @property {import('vue').Ref<boolean>|boolean} keepOldPages - If true, pages will not be cleared when defaultPageCallback is called.
|
|
51
51
|
*/
|
|
52
52
|
/**
|
|
53
53
|
* A Vue composition function that creates multiple list subscriptions, and returns them as an object.
|
|
@@ -8,7 +8,7 @@ export type PagedListListanceOptions = {
|
|
|
8
8
|
/**
|
|
9
9
|
* - Whether to keep old pages.
|
|
10
10
|
*/
|
|
11
|
-
keepOldPages: boolean;
|
|
11
|
+
keepOldPages: import("vue").Ref<boolean> | boolean;
|
|
12
12
|
};
|
|
13
13
|
export type PaginatedRawState = {
|
|
14
14
|
/**
|
|
@@ -47,6 +47,7 @@ export type PagedListInstanceStateExtension = {
|
|
|
47
47
|
*/
|
|
48
48
|
pageToIds: import("vue").Ref<Map<number, string[]>>;
|
|
49
49
|
};
|
|
50
|
+
export type PagedListInstanceRawState = import("./listInstance.js").ListInstanceRawState & PagedListInstanceStateExtension;
|
|
50
51
|
export type PagedListInstanceState = typeof reactive;
|
|
51
52
|
export type PagedListRawInstance = {
|
|
52
53
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paginatedListInstance.d.ts","sourceRoot":"","sources":["../../use/paginatedListInstance.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"paginatedListInstance.d.ts","sourceRoot":"","sources":["../../use/paginatedListInstance.js"],"names":[],"mappings":"AA4DA;;;;GAIG;AACH,+EAHW,wBAAwB,GAAG,OAAO,mBAAmB,EAAE,mBAAmB,GACxE,iBAAiB,CA8D7B;;;;;kBAnHa,OAAO,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,GAAC,OAAO;;;;;;kBAKlC,MAAM;;;;gBACN,MAAM;;;;aACN,MAAM;;;;eACN,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;;6BAItB,OAAO,KAAK,EAAE,gBAAgB,CAAC,iBAAiB,CAAC;;;;;kBAKhD,OAAO,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC;;;;gBACzB,OAAO,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC;;;;aACzB,OAAO,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC;;;;eACzB,OAAO,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;;wCAIzC,OAAO,mBAAmB,EAAE,oBAAoB,GAAG,+BAA+B;;;;;;WASjF,sBAAsB;;gCAIvB,OAAO,mBAAmB,EAAE,YAAY,GAAG,oBAAoB;yBA9CpC,KAAK"}
|
package/use/list.js
CHANGED
|
@@ -68,7 +68,7 @@ export class ListError extends Error {
|
|
|
68
68
|
* @property {ListRawProps} props - The properties for configuring the list.
|
|
69
69
|
* @property {import('../config/listCrud.js').ListCrudHandlers} handlers - Additional handlers to be included in the list manager.
|
|
70
70
|
* @property {boolean} paged - Indicates whether the list should be paginated.
|
|
71
|
-
* @property {boolean} keepOldPages - Indicates whether old pages should be kept when paginating.
|
|
71
|
+
* @property {import('vue').Ref<boolean>|boolean} keepOldPages - Indicates whether old pages should be kept when paginating.
|
|
72
72
|
* @property {boolean} clearListOnListIntentTriggered - Indicates whether the list should be cleared when the list intent is triggered.
|
|
73
73
|
* @property {number} searchThrottle - The throttle time for text search.
|
|
74
74
|
* @property {number} sortThrottleWait - The throttle time for sorting.
|
|
@@ -80,7 +80,10 @@ export class ListError extends Error {
|
|
|
80
80
|
* This interface aggregates the raw state from multiple list management functionalities.
|
|
81
81
|
*
|
|
82
82
|
* @typedef {(
|
|
83
|
-
*
|
|
83
|
+
* (
|
|
84
|
+
* import('./listInstance.js').ListInstanceRawState |
|
|
85
|
+
* import('./paginatedListInstance.js').PagedListInstanceRawState
|
|
86
|
+
* ) &
|
|
84
87
|
* import('./listSubscription.js').ListSubscriptionRawState &
|
|
85
88
|
* import('./listRelated.js').ListRelatedRawState &
|
|
86
89
|
* import('./listCalculated.js').ListCalculatedRawState &
|
|
@@ -101,7 +104,7 @@ export class ListError extends Error {
|
|
|
101
104
|
* Holds references to instances of all list-related composables, facilitating direct access and management.
|
|
102
105
|
*
|
|
103
106
|
* @typedef {{
|
|
104
|
-
* listInstance: import('./listInstance.js').ListInstance,
|
|
107
|
+
* listInstance: import('./listInstance.js').ListInstance | import('./paginatedListInstance.js').PagedListInstance,
|
|
105
108
|
* listSubscription: import('./listSubscription.js').ListSubscription,
|
|
106
109
|
* listRelated: import('./listRelated.js').ListRelated,
|
|
107
110
|
* listCalculated: import('./listCalculated.js').ListCalculated,
|
package/use/listInstance.js
CHANGED
|
@@ -61,7 +61,7 @@ export class ListInstanceError extends Error {
|
|
|
61
61
|
* function.
|
|
62
62
|
* @property {import('../config/listCrud.js').CrudListSubscribeFn} [handlers.subscribe] - Provide the implementation for the
|
|
63
63
|
* subscribe function.
|
|
64
|
-
* @property {boolean} keepOldPages - If true, pages will not be cleared when defaultPageCallback is called.
|
|
64
|
+
* @property {import('vue').Ref<boolean>|boolean} keepOldPages - If true, pages will not be cleared when defaultPageCallback is called.
|
|
65
65
|
*/
|
|
66
66
|
|
|
67
67
|
/**
|
|
@@ -287,7 +287,7 @@ export function useListInstance({ props, handlers = {}, keepOldPages }) {
|
|
|
287
287
|
|
|
288
288
|
const defaultPageCallback = (/** @type {ListObject[]} */ newObjects) => {
|
|
289
289
|
// with keepOldPages, you are responsible for clearing the list as needed
|
|
290
|
-
if (!keepOldPages) {
|
|
290
|
+
if (!unref(keepOldPages)) {
|
|
291
291
|
// display one page at a time, clear the list
|
|
292
292
|
clearList();
|
|
293
293
|
}
|
package/use/listKeys.js
CHANGED
package/use/listSubscription.js
CHANGED
|
@@ -86,7 +86,7 @@ export class ListSubscriptionError extends Error {
|
|
|
86
86
|
* @typedef {object & import("./listInstance.js").ListInstanceOptions} ListSubscriptionOptions
|
|
87
87
|
* @property {import("./listInstance.js").ListInstance} listInstance - A list instance to use instead of creating one.
|
|
88
88
|
* @property {boolean} clearListOnListIntentTriggered - If true, the list will be cleared when the list intent is triggered. Default is false.
|
|
89
|
-
* @property {boolean} keepOldPages - If true, pages will not be cleared when defaultPageCallback is called.
|
|
89
|
+
* @property {import('vue').Ref<boolean>|boolean} keepOldPages - If true, pages will not be cleared when defaultPageCallback is called.
|
|
90
90
|
*/
|
|
91
91
|
|
|
92
92
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useListInstance } from "./listInstance.js";
|
|
2
|
-
import { reactive, toRefs } from "vue";
|
|
2
|
+
import { reactive, toRefs, unref } from "vue";
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* @module use/paginatedListInstance.js
|
|
@@ -8,7 +8,7 @@ import { reactive, toRefs } from "vue";
|
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* @typedef {object} PagedListListanceOptions
|
|
11
|
-
* @property {boolean} keepOldPages - Whether to keep old pages.
|
|
11
|
+
* @property {import('vue').Ref<boolean>|boolean} keepOldPages - Whether to keep old pages.
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
14
|
/**
|
|
@@ -32,10 +32,11 @@ import { reactive, toRefs } from "vue";
|
|
|
32
32
|
*/
|
|
33
33
|
|
|
34
34
|
/**
|
|
35
|
-
* @typedef {import('
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
* @typedef {import('./listInstance.js').ListInstanceRawState & PagedListInstanceStateExtension} PagedListInstanceRawState
|
|
36
|
+
*/
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* @typedef {import('vue').reactive<PagedListInstanceRawState>} PagedListInstanceState
|
|
39
40
|
*/
|
|
40
41
|
|
|
41
42
|
/**
|
|
@@ -82,6 +83,7 @@ export function usePagedListInstance({ keepOldPages, ...useListInstanceArgs }) {
|
|
|
82
83
|
paginatedState.totalRecords = 0;
|
|
83
84
|
paginatedState.totalPages = 0;
|
|
84
85
|
paginatedState.perPage = 0;
|
|
86
|
+
paginatedState.pageToIds.clear();
|
|
85
87
|
};
|
|
86
88
|
if (keepOldPages === undefined) {
|
|
87
89
|
throw new Error("keepOldPages is required");
|
|
@@ -92,7 +94,7 @@ export function usePagedListInstance({ keepOldPages, ...useListInstanceArgs }) {
|
|
|
92
94
|
/** @type {import('../config/listCrud.js').PaginateInfo} */ { page, totalRecords, totalPages, perPage }
|
|
93
95
|
) => {
|
|
94
96
|
// with keepOldPages, you are responsible for clearing the list as needed
|
|
95
|
-
if (!keepOldPages) {
|
|
97
|
+
if (!unref(keepOldPages)) {
|
|
96
98
|
// display one page at a time, clear the list
|
|
97
99
|
paginatedListInstance.clearList();
|
|
98
100
|
}
|