@wlloyalty/wll-react-sdk 1.0.111 → 1.0.112
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/dist/native.js +109 -84
- package/dist/native.js.map +1 -1
- package/dist/types/hooks/useGroupRefresh.d.ts +8 -0
- package/dist/types/hooks/useInitialGroupFetch.d.ts +10 -0
- package/dist/web.js +129 -96
- package/dist/web.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TGroup } from '../types/group';
|
|
2
|
+
type UseGroupRefreshProps = {
|
|
3
|
+
id: string;
|
|
4
|
+
enabled?: boolean;
|
|
5
|
+
setGroupData: (g: TGroup) => void;
|
|
6
|
+
};
|
|
7
|
+
export declare const useGroupRefresh: ({ id, enabled, setGroupData, }: UseGroupRefreshProps) => void;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { TGroup } from '../types/group';
|
|
2
|
+
type UseInitialGroupFetchProps = {
|
|
3
|
+
id: string;
|
|
4
|
+
setGroupData: (group: TGroup) => void;
|
|
5
|
+
};
|
|
6
|
+
export declare const useInitialGroupFetch: ({ id, setGroupData, }: UseInitialGroupFetchProps) => {
|
|
7
|
+
isLoading: boolean;
|
|
8
|
+
error: string | null;
|
|
9
|
+
};
|
|
10
|
+
export {};
|
package/dist/web.js
CHANGED
|
@@ -20595,6 +20595,123 @@ var ContentTile = Object.assign(ContentTileRoot, {
|
|
|
20595
20595
|
});
|
|
20596
20596
|
var ContentTile$1 = withTileFetching(ContentTile);
|
|
20597
20597
|
|
|
20598
|
+
var useGroupRefresh = function (_a) {
|
|
20599
|
+
var id = _a.id,
|
|
20600
|
+
_b = _a.enabled,
|
|
20601
|
+
enabled = _b === void 0 ? false : _b,
|
|
20602
|
+
setGroupData = _a.setGroupData;
|
|
20603
|
+
var sdk = useWllSdk();
|
|
20604
|
+
React.useEffect(function () {
|
|
20605
|
+
if (!enabled || !(sdk === null || sdk === void 0 ? void 0 : sdk.subscribeToDataChange)) {
|
|
20606
|
+
return;
|
|
20607
|
+
}
|
|
20608
|
+
var unsubscribe = sdk.subscribeToDataChange('GROUP_DATA_CHANGED', function () {
|
|
20609
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
20610
|
+
var res, err_1;
|
|
20611
|
+
return __generator(this, function (_a) {
|
|
20612
|
+
switch (_a.label) {
|
|
20613
|
+
case 0:
|
|
20614
|
+
if (!id || !sdk || !sdk.refreshGroup) {
|
|
20615
|
+
return [2 /*return*/];
|
|
20616
|
+
}
|
|
20617
|
+
_a.label = 1;
|
|
20618
|
+
case 1:
|
|
20619
|
+
_a.trys.push([1, 3,, 4]);
|
|
20620
|
+
return [4 /*yield*/, sdk.refreshGroup(id)];
|
|
20621
|
+
case 2:
|
|
20622
|
+
res = _a.sent();
|
|
20623
|
+
if ((res === null || res === void 0 ? void 0 : res.status) === 'success' && res.data) {
|
|
20624
|
+
setGroupData(res.data);
|
|
20625
|
+
}
|
|
20626
|
+
return [3 /*break*/, 4];
|
|
20627
|
+
case 3:
|
|
20628
|
+
err_1 = _a.sent();
|
|
20629
|
+
console.error('Error during silent refresh:', err_1);
|
|
20630
|
+
return [3 /*break*/, 4];
|
|
20631
|
+
case 4:
|
|
20632
|
+
return [2 /*return*/];
|
|
20633
|
+
}
|
|
20634
|
+
});
|
|
20635
|
+
});
|
|
20636
|
+
});
|
|
20637
|
+
return function () {
|
|
20638
|
+
unsubscribe();
|
|
20639
|
+
};
|
|
20640
|
+
}, [id, sdk, enabled, setGroupData]);
|
|
20641
|
+
};
|
|
20642
|
+
|
|
20643
|
+
var useInitialGroupFetch = function (_a) {
|
|
20644
|
+
var id = _a.id,
|
|
20645
|
+
setGroupData = _a.setGroupData;
|
|
20646
|
+
var sdk = useWllSdk();
|
|
20647
|
+
var _b = React.useState(true),
|
|
20648
|
+
isLoading = _b[0],
|
|
20649
|
+
setIsLoading = _b[1];
|
|
20650
|
+
var _c = React.useState(null),
|
|
20651
|
+
error = _c[0],
|
|
20652
|
+
setError = _c[1];
|
|
20653
|
+
var fetchInProgressRef = React.useRef(false);
|
|
20654
|
+
React.useEffect(function () {
|
|
20655
|
+
var isMounted = true;
|
|
20656
|
+
var fetch = function () {
|
|
20657
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
20658
|
+
var response;
|
|
20659
|
+
var _a;
|
|
20660
|
+
return __generator(this, function (_b) {
|
|
20661
|
+
switch (_b.label) {
|
|
20662
|
+
case 0:
|
|
20663
|
+
if (fetchInProgressRef.current) {
|
|
20664
|
+
return [2 /*return*/];
|
|
20665
|
+
}
|
|
20666
|
+
fetchInProgressRef.current = true;
|
|
20667
|
+
if (!id || !sdk || !sdk.refreshGroup) {
|
|
20668
|
+
setError('Unable to fetch group data: invalid configuration');
|
|
20669
|
+
setIsLoading(false);
|
|
20670
|
+
return [2 /*return*/];
|
|
20671
|
+
}
|
|
20672
|
+
setIsLoading(true);
|
|
20673
|
+
setError(null);
|
|
20674
|
+
_b.label = 1;
|
|
20675
|
+
case 1:
|
|
20676
|
+
_b.trys.push([1, 3, 4, 5]);
|
|
20677
|
+
return [4 /*yield*/, sdk.refreshGroup(id)];
|
|
20678
|
+
case 2:
|
|
20679
|
+
response = _b.sent();
|
|
20680
|
+
if (!isMounted) return [2 /*return*/];
|
|
20681
|
+
if ((response === null || response === void 0 ? void 0 : response.status) === 'success' && response.data) {
|
|
20682
|
+
setGroupData(response.data);
|
|
20683
|
+
} else {
|
|
20684
|
+
setError((_a = response === null || response === void 0 ? void 0 : response.error) !== null && _a !== void 0 ? _a : 'Failed to fetch group data');
|
|
20685
|
+
}
|
|
20686
|
+
return [3 /*break*/, 5];
|
|
20687
|
+
case 3:
|
|
20688
|
+
_b.sent();
|
|
20689
|
+
if (isMounted) {
|
|
20690
|
+
setError('An unexpected error occurred.');
|
|
20691
|
+
}
|
|
20692
|
+
return [3 /*break*/, 5];
|
|
20693
|
+
case 4:
|
|
20694
|
+
if (isMounted) {
|
|
20695
|
+
setIsLoading(false);
|
|
20696
|
+
}
|
|
20697
|
+
return [7 /*endfinally*/];
|
|
20698
|
+
case 5:
|
|
20699
|
+
return [2 /*return*/];
|
|
20700
|
+
}
|
|
20701
|
+
});
|
|
20702
|
+
});
|
|
20703
|
+
};
|
|
20704
|
+
fetch();
|
|
20705
|
+
return function () {
|
|
20706
|
+
isMounted = false;
|
|
20707
|
+
};
|
|
20708
|
+
}, [id, sdk, setGroupData]);
|
|
20709
|
+
return {
|
|
20710
|
+
isLoading: isLoading,
|
|
20711
|
+
error: error
|
|
20712
|
+
};
|
|
20713
|
+
};
|
|
20714
|
+
|
|
20598
20715
|
exports.SectionType = void 0;
|
|
20599
20716
|
(function (SectionType) {
|
|
20600
20717
|
SectionType["Grid"] = "GRID";
|
|
@@ -21313,108 +21430,24 @@ var useGroupContext = function () {
|
|
|
21313
21430
|
* @returns {Object} Object containing group data, loading state, and any error
|
|
21314
21431
|
*/
|
|
21315
21432
|
var useGroupData = function (id) {
|
|
21316
|
-
var sdk = useWllSdk();
|
|
21317
21433
|
var _a = React.useState(null),
|
|
21318
21434
|
groupData = _a[0],
|
|
21319
21435
|
setGroupData = _a[1];
|
|
21320
|
-
var _b =
|
|
21321
|
-
|
|
21322
|
-
|
|
21323
|
-
|
|
21324
|
-
isLoading =
|
|
21325
|
-
|
|
21326
|
-
|
|
21327
|
-
|
|
21328
|
-
|
|
21329
|
-
|
|
21330
|
-
|
|
21331
|
-
var response, err_1;
|
|
21332
|
-
return __generator(this, function (_a) {
|
|
21333
|
-
switch (_a.label) {
|
|
21334
|
-
case 0:
|
|
21335
|
-
if (!id || !sdk || !sdk.getGroupByID) {
|
|
21336
|
-
setError('Unable to fetch group data: invalid configuration');
|
|
21337
|
-
setIsLoading(false);
|
|
21338
|
-
setIsInitialFetchDone(true);
|
|
21339
|
-
return [2 /*return*/];
|
|
21340
|
-
}
|
|
21341
|
-
setIsLoading(true);
|
|
21342
|
-
setError(null);
|
|
21343
|
-
_a.label = 1;
|
|
21344
|
-
case 1:
|
|
21345
|
-
_a.trys.push([1, 3, 4, 5]);
|
|
21346
|
-
return [4 /*yield*/, sdk.refreshGroup(id)];
|
|
21347
|
-
case 2:
|
|
21348
|
-
response = _a.sent();
|
|
21349
|
-
if (response && response.status === 'success' && response.data) {
|
|
21350
|
-
setGroupData(response.data);
|
|
21351
|
-
} else {
|
|
21352
|
-
setError(response && response.error || 'Failed to fetch group data.');
|
|
21353
|
-
}
|
|
21354
|
-
return [3 /*break*/, 5];
|
|
21355
|
-
case 3:
|
|
21356
|
-
err_1 = _a.sent();
|
|
21357
|
-
setError('Failed to fetch group data. Please try again later.');
|
|
21358
|
-
console.error('Error fetching group:', err_1);
|
|
21359
|
-
return [3 /*break*/, 5];
|
|
21360
|
-
case 4:
|
|
21361
|
-
setIsLoading(false);
|
|
21362
|
-
setIsInitialFetchDone(true);
|
|
21363
|
-
return [7 /*endfinally*/];
|
|
21364
|
-
case 5:
|
|
21365
|
-
return [2 /*return*/];
|
|
21366
|
-
}
|
|
21367
|
-
});
|
|
21368
|
-
});
|
|
21369
|
-
}, [id, sdk]);
|
|
21370
|
-
var silentRefresh = React.useCallback(function () {
|
|
21371
|
-
return __awaiter(void 0, void 0, void 0, function () {
|
|
21372
|
-
var response, err_2;
|
|
21373
|
-
return __generator(this, function (_a) {
|
|
21374
|
-
switch (_a.label) {
|
|
21375
|
-
case 0:
|
|
21376
|
-
if (!id || !sdk || !sdk.getGroupByID || !isInitialFetchDone) {
|
|
21377
|
-
return [2 /*return*/];
|
|
21378
|
-
}
|
|
21379
|
-
_a.label = 1;
|
|
21380
|
-
case 1:
|
|
21381
|
-
_a.trys.push([1, 3,, 4]);
|
|
21382
|
-
return [4 /*yield*/, sdk.refreshGroup(id)];
|
|
21383
|
-
case 2:
|
|
21384
|
-
response = _a.sent();
|
|
21385
|
-
if (response && response.status === 'success' && response.data) {
|
|
21386
|
-
setGroupData(response.data);
|
|
21387
|
-
}
|
|
21388
|
-
return [3 /*break*/, 4];
|
|
21389
|
-
case 3:
|
|
21390
|
-
err_2 = _a.sent();
|
|
21391
|
-
console.error('Error during silent refresh:', err_2);
|
|
21392
|
-
return [3 /*break*/, 4];
|
|
21393
|
-
case 4:
|
|
21394
|
-
return [2 /*return*/];
|
|
21395
|
-
}
|
|
21396
|
-
});
|
|
21397
|
-
});
|
|
21398
|
-
}, [id, sdk, isInitialFetchDone]);
|
|
21399
|
-
var refreshGroup = React.useCallback(function () {
|
|
21400
|
-
return silentRefresh();
|
|
21401
|
-
}, [silentRefresh]);
|
|
21402
|
-
React.useEffect(function () {
|
|
21403
|
-
if (sdk) {
|
|
21404
|
-
initialFetch();
|
|
21405
|
-
var unsubscribeGroup_1 = sdk.subscribeToDataChange('GROUP_DATA_CHANGED', function () {
|
|
21406
|
-
silentRefresh();
|
|
21407
|
-
});
|
|
21408
|
-
return function () {
|
|
21409
|
-
unsubscribeGroup_1();
|
|
21410
|
-
};
|
|
21411
|
-
}
|
|
21412
|
-
}, [initialFetch, id, sdk, silentRefresh]);
|
|
21436
|
+
var _b = useInitialGroupFetch({
|
|
21437
|
+
id: id,
|
|
21438
|
+
setGroupData: setGroupData
|
|
21439
|
+
}),
|
|
21440
|
+
isLoading = _b.isLoading,
|
|
21441
|
+
error = _b.error;
|
|
21442
|
+
useGroupRefresh({
|
|
21443
|
+
id: id,
|
|
21444
|
+
enabled: Boolean(groupData),
|
|
21445
|
+
setGroupData: setGroupData
|
|
21446
|
+
});
|
|
21413
21447
|
return {
|
|
21414
21448
|
groupData: groupData,
|
|
21415
21449
|
isLoading: isLoading,
|
|
21416
|
-
error: error
|
|
21417
|
-
refreshGroup: refreshGroup
|
|
21450
|
+
error: error
|
|
21418
21451
|
};
|
|
21419
21452
|
};
|
|
21420
21453
|
/**
|