@onepercentio/one-ui 0.8.3 → 0.8.4

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.
@@ -30,12 +30,10 @@ const throttle_1 = __importDefault(require("lodash/throttle"));
30
30
  function usePagination(request, paginationId = () => "default") {
31
31
  const paginationDataRef = (0, react_1.useRef)({});
32
32
  const { current: paginationData } = paginationDataRef;
33
- const currentPageRef = (0, react_1.useRef)({});
34
- const { current: currentPage } = currentPageRef;
35
33
  const [items, setItems] = (0, react_1.useState)();
36
34
  const _a = (0, useAsyncControl_1.default)(), { process } = _a, control = __rest(_a, ["process"]);
37
35
  function updateItems(cb) {
38
- setItems(prev => [prev[0], cb()]);
36
+ setItems(prev => [prev[0], cb(), prev[2]]);
39
37
  }
40
38
  const _requestPage = (0, react_1.useCallback)(function (page, ...args) {
41
39
  var _a;
@@ -44,17 +42,22 @@ function usePagination(request, paginationId = () => "default") {
44
42
  return;
45
43
  process(() => __awaiter(this, void 0, void 0, function* () {
46
44
  const result = yield request(page, (items === null || items === void 0 ? void 0 : items[0]) === id ? items === null || items === void 0 ? void 0 : items[1] : undefined, ...args);
47
- currentPage[id] = page;
48
45
  paginationData[id] = {
49
46
  finished: result.finished,
50
47
  totalItems: result.totalItems,
51
48
  };
52
- setItems([id, result.items]);
49
+ setItems((prev) => {
50
+ if (page === 0)
51
+ return [id, result.items, page];
52
+ else if (!prev || id === prev[0])
53
+ return [id, result.items, page];
54
+ return prev;
55
+ });
53
56
  }));
54
57
  }, [items, request]);
55
58
  return {
56
59
  updateItems,
57
- getNextPage: (...args) => _requestPage((currentPage[paginationId(...args)] || 0) + 1, ...args),
60
+ getNextPage: (...args) => _requestPage(((items === null || items === void 0 ? void 0 : items[2]) || 0) + 1, ...args),
58
61
  getPage: _requestPage,
59
62
  totalItems: (...args) => { var _a; return (_a = paginationData[paginationId(...args)]) === null || _a === void 0 ? void 0 : _a.totalItems; },
60
63
  loading: control.loading,
@@ -98,16 +101,17 @@ exports.useContainerPagination = useContainerPagination;
98
101
  * This function receives an amount of local instances and paginates it
99
102
  */
100
103
  function useLocalPagination(items, pageSize) {
104
+ const instanceID = (0, react_1.useMemo)(() => Date.now(), [items]);
101
105
  const cb = (0, react_1.useCallback)((page, currItems = []) => {
102
106
  const from = pageSize * page;
103
107
  const newArray = [...currItems, ...items.slice(from, from + pageSize)];
108
+ console.log(`For page ${page}, resolving ${newArray.length} from the ${items.length} items of ${instanceID}`);
104
109
  return Promise.resolve({
105
110
  finished: newArray.length === items.length,
106
111
  totalItems: items.length,
107
112
  items: newArray
108
113
  });
109
114
  }, [pageSize, items]);
110
- const instanceID = (0, react_1.useMemo)(() => Date.now(), [items]);
111
115
  const pagination = usePagination(cb, () => `${instanceID}`);
112
116
  return pagination;
113
117
  }
@@ -1 +1 @@
1
- {"version":3,"file":"usePagination.js","sourceRoot":"","sources":["../../src/hooks/usePagination.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAA0E;AAC1E,wEAAgD;AAChD,+DAAuC;AAQvC,SAAwB,aAAa,CACnC,OAA6E,EAC7E,eAAuC,GAAG,EAAE,CAAC,SAAS;IAEtD,MAAM,iBAAiB,GAAG,IAAA,cAAM,EAO7B,EAAE,CAAC,CAAC;IACP,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,iBAAiB,CAAC;IAEtD,MAAM,cAAc,GAAG,IAAA,cAAM,EAA0B,EAAE,CAAC,CAAC;IAC3D,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,cAAc,CAAC;IAEhD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,GAAe,CAAC;IAClD,MAAM,KAA0B,IAAA,yBAAe,GAAE,EAA3C,EAAE,OAAO,OAAkC,EAA7B,OAAO,cAArB,WAAuB,CAAoB,CAAC;IAElD,SAAS,WAAW,CAAC,EAA8C;QACjE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,YAAY,GAAG,IAAA,mBAAW,EAAC,UAAU,IAAY,EAAE,GAAG,IAAO;;QACjE,MAAM,EAAE,GAAG,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC;QACjC,IAAI,MAAA,cAAc,CAAC,EAAE,CAAC,0CAAE,QAAQ;YAAE,OAAO;QACzC,OAAO,CAAC,GAAS,EAAE;YACjB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,MAAK,EAAE,CAAC,CAAC,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;YACxF,WAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;YACvB,cAAc,CAAC,EAAE,CAAC,GAAG;gBACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,UAAU,EAAE,MAAM,CAAC,UAAU;aAC9B,CAAC;YACF,QAAQ,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/B,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;IAGpB,OAAO;QACL,WAAW;QACX,WAAW,EAAE,CAAC,GAAG,IAAO,EAAE,EAAE,CAC1B,YAAY,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC;QACtE,OAAO,EAAE,YAAY;QACrB,UAAU,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,WAAC,OAAA,MAAA,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC,0CAAE,UAAU,CAAA,EAAA;QAC1E,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC;QACjB,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC;AACJ,CAAC;AAlDD,gCAkDC;AAaD;;GAEG;AACH,SAAgB,sBAAsB,CAAC,EAAc;IACnD,MAAM,aAAa,GAAG,IAAA,cAAM,EAAiB,IAAI,CAAC,CAAC;IACnD,MAAM,gBAAgB,GAAG,IAAA,cAAM,GAAoC,CAAC;IAEpE,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,aAAa,CAAC,OAAQ,CAAA;QACjC,MAAM,aAAa,GAAI,EAAwC,CAAC,gBAAgB,IAAI,EAAE,CAAC;QACvF,MAAM,uBAAuB,GAAG,IAAA,kBAAQ,EAAC,GAAG,EAAE;;YAC5C,MAAM,aAAa,GAAG,CAAA,MAAA,gBAAgB,CAAC,OAAO,gEAAI,KAAI,EAAE,YAAY,EAAE,CAAC,EAAE,CAAA;YACzE,MAAM,WAAW,GAAG,aAAa,CAAC,YAAY,GAAG,aAAa,CAAC,YAAY,GAAG,aAAa,CAAC,YAAY,GAAG,GAAG,CAAC;YAC/G,MAAM,MAAM,GAAG,aAAa,CAAC,YAAY,GAAG,aAAa,CAAC,SAAS,CAAC;YACpE,IAAI,MAAM,IAAI,WAAW,EAAE;gBACzB,EAAE,EAAE,CAAC;aACN;QACH,CAAC,EAAE,GAAG,EAAE;YACN,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,IAAI;SACf,CAAC,CAAA;QAEF,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAA;QACtD,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC;IACzE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAER,OAAO;QACL,aAAa;QACb,gBAAgB;KACjB,CAAA;AACH,CAAC;AA3BD,wDA2BC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAI,KAAU,EAAE,QAAgB;IAChE,MAAM,EAAE,GAAG,IAAA,mBAAW,EAAC,CAAC,IAAY,EAAE,YAAiB,EAAE,EAAE,EAAE;QAC3D,MAAM,IAAI,GAAG,QAAQ,GAAG,IAAI,CAAC;QAC7B,MAAM,QAAQ,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAA;QACtE,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,QAAQ,EAAE,QAAQ,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;YAC1C,UAAU,EAAE,KAAK,CAAC,MAAM;YACxB,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;IACrB,MAAM,UAAU,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,aAAa,CAAU,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,CAAC;IAErE,OAAO,UAAU,CAAA;AACnB,CAAC;AAdD,gDAcC"}
1
+ {"version":3,"file":"usePagination.js","sourceRoot":"","sources":["../../src/hooks/usePagination.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onepercentio/one-ui",
3
- "version": "0.8.3",
3
+ "version": "0.8.4",
4
4
  "description": "A set of reusable components created through the development of Onepercent projects",
5
5
  "files": [
6
6
  "dist",