@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
package/dist/native.js
CHANGED
|
@@ -3700,6 +3700,108 @@ var ContentTile = Object.assign(ContentTileRoot, {
|
|
|
3700
3700
|
});
|
|
3701
3701
|
var ContentTile$1 = withTileFetching(ContentTile);
|
|
3702
3702
|
|
|
3703
|
+
var useGroupRefresh = function (_a) {
|
|
3704
|
+
var id = _a.id, _b = _a.enabled, enabled = _b === void 0 ? false : _b, setGroupData = _a.setGroupData;
|
|
3705
|
+
var sdk = useWllSdk();
|
|
3706
|
+
React.useEffect(function () {
|
|
3707
|
+
if (!enabled || !(sdk === null || sdk === void 0 ? void 0 : sdk.subscribeToDataChange)) {
|
|
3708
|
+
return;
|
|
3709
|
+
}
|
|
3710
|
+
var unsubscribe = sdk.subscribeToDataChange('GROUP_DATA_CHANGED', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
3711
|
+
var res, err_1;
|
|
3712
|
+
return __generator(this, function (_a) {
|
|
3713
|
+
switch (_a.label) {
|
|
3714
|
+
case 0:
|
|
3715
|
+
if (!id || !sdk || !sdk.refreshGroup) {
|
|
3716
|
+
return [2 /*return*/];
|
|
3717
|
+
}
|
|
3718
|
+
_a.label = 1;
|
|
3719
|
+
case 1:
|
|
3720
|
+
_a.trys.push([1, 3, , 4]);
|
|
3721
|
+
return [4 /*yield*/, sdk.refreshGroup(id)];
|
|
3722
|
+
case 2:
|
|
3723
|
+
res = _a.sent();
|
|
3724
|
+
if ((res === null || res === void 0 ? void 0 : res.status) === 'success' && res.data) {
|
|
3725
|
+
setGroupData(res.data);
|
|
3726
|
+
}
|
|
3727
|
+
return [3 /*break*/, 4];
|
|
3728
|
+
case 3:
|
|
3729
|
+
err_1 = _a.sent();
|
|
3730
|
+
console.error('Error during silent refresh:', err_1);
|
|
3731
|
+
return [3 /*break*/, 4];
|
|
3732
|
+
case 4: return [2 /*return*/];
|
|
3733
|
+
}
|
|
3734
|
+
});
|
|
3735
|
+
}); });
|
|
3736
|
+
return function () {
|
|
3737
|
+
unsubscribe();
|
|
3738
|
+
};
|
|
3739
|
+
}, [id, sdk, enabled, setGroupData]);
|
|
3740
|
+
};
|
|
3741
|
+
|
|
3742
|
+
var useInitialGroupFetch = function (_a) {
|
|
3743
|
+
var id = _a.id, setGroupData = _a.setGroupData;
|
|
3744
|
+
var sdk = useWllSdk();
|
|
3745
|
+
var _b = React.useState(true), isLoading = _b[0], setIsLoading = _b[1];
|
|
3746
|
+
var _c = React.useState(null), error = _c[0], setError = _c[1];
|
|
3747
|
+
var fetchInProgressRef = React.useRef(false);
|
|
3748
|
+
React.useEffect(function () {
|
|
3749
|
+
var isMounted = true;
|
|
3750
|
+
var fetch = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
3751
|
+
var response;
|
|
3752
|
+
var _a;
|
|
3753
|
+
return __generator(this, function (_b) {
|
|
3754
|
+
switch (_b.label) {
|
|
3755
|
+
case 0:
|
|
3756
|
+
if (fetchInProgressRef.current) {
|
|
3757
|
+
return [2 /*return*/];
|
|
3758
|
+
}
|
|
3759
|
+
fetchInProgressRef.current = true;
|
|
3760
|
+
if (!id || !sdk || !sdk.refreshGroup) {
|
|
3761
|
+
setError('Unable to fetch group data: invalid configuration');
|
|
3762
|
+
setIsLoading(false);
|
|
3763
|
+
return [2 /*return*/];
|
|
3764
|
+
}
|
|
3765
|
+
setIsLoading(true);
|
|
3766
|
+
setError(null);
|
|
3767
|
+
_b.label = 1;
|
|
3768
|
+
case 1:
|
|
3769
|
+
_b.trys.push([1, 3, 4, 5]);
|
|
3770
|
+
return [4 /*yield*/, sdk.refreshGroup(id)];
|
|
3771
|
+
case 2:
|
|
3772
|
+
response = _b.sent();
|
|
3773
|
+
if (!isMounted)
|
|
3774
|
+
return [2 /*return*/];
|
|
3775
|
+
if ((response === null || response === void 0 ? void 0 : response.status) === 'success' && response.data) {
|
|
3776
|
+
setGroupData(response.data);
|
|
3777
|
+
}
|
|
3778
|
+
else {
|
|
3779
|
+
setError((_a = response === null || response === void 0 ? void 0 : response.error) !== null && _a !== void 0 ? _a : 'Failed to fetch group data');
|
|
3780
|
+
}
|
|
3781
|
+
return [3 /*break*/, 5];
|
|
3782
|
+
case 3:
|
|
3783
|
+
_b.sent();
|
|
3784
|
+
if (isMounted) {
|
|
3785
|
+
setError('An unexpected error occurred.');
|
|
3786
|
+
}
|
|
3787
|
+
return [3 /*break*/, 5];
|
|
3788
|
+
case 4:
|
|
3789
|
+
if (isMounted) {
|
|
3790
|
+
setIsLoading(false);
|
|
3791
|
+
}
|
|
3792
|
+
return [7 /*endfinally*/];
|
|
3793
|
+
case 5: return [2 /*return*/];
|
|
3794
|
+
}
|
|
3795
|
+
});
|
|
3796
|
+
}); };
|
|
3797
|
+
fetch();
|
|
3798
|
+
return function () {
|
|
3799
|
+
isMounted = false;
|
|
3800
|
+
};
|
|
3801
|
+
}, [id, sdk, setGroupData]);
|
|
3802
|
+
return { isLoading: isLoading, error: error };
|
|
3803
|
+
};
|
|
3804
|
+
|
|
3703
3805
|
exports.SectionType = void 0;
|
|
3704
3806
|
(function (SectionType) {
|
|
3705
3807
|
SectionType["Grid"] = "GRID";
|
|
@@ -4255,91 +4357,14 @@ var useGroupContext = function () {
|
|
|
4255
4357
|
* @returns {Object} Object containing group data, loading state, and any error
|
|
4256
4358
|
*/
|
|
4257
4359
|
var useGroupData = function (id) {
|
|
4258
|
-
var sdk = useWllSdk();
|
|
4259
4360
|
var _a = React.useState(null), groupData = _a[0], setGroupData = _a[1];
|
|
4260
|
-
var _b =
|
|
4261
|
-
|
|
4262
|
-
|
|
4263
|
-
|
|
4264
|
-
|
|
4265
|
-
|
|
4266
|
-
|
|
4267
|
-
case 0:
|
|
4268
|
-
if (!id || !sdk || !sdk.getGroupByID) {
|
|
4269
|
-
setError('Unable to fetch group data: invalid configuration');
|
|
4270
|
-
setIsLoading(false);
|
|
4271
|
-
setIsInitialFetchDone(true);
|
|
4272
|
-
return [2 /*return*/];
|
|
4273
|
-
}
|
|
4274
|
-
setIsLoading(true);
|
|
4275
|
-
setError(null);
|
|
4276
|
-
_a.label = 1;
|
|
4277
|
-
case 1:
|
|
4278
|
-
_a.trys.push([1, 3, 4, 5]);
|
|
4279
|
-
return [4 /*yield*/, sdk.refreshGroup(id)];
|
|
4280
|
-
case 2:
|
|
4281
|
-
response = _a.sent();
|
|
4282
|
-
if (response && response.status === 'success' && response.data) {
|
|
4283
|
-
setGroupData(response.data);
|
|
4284
|
-
}
|
|
4285
|
-
else {
|
|
4286
|
-
setError((response && response.error) || 'Failed to fetch group data.');
|
|
4287
|
-
}
|
|
4288
|
-
return [3 /*break*/, 5];
|
|
4289
|
-
case 3:
|
|
4290
|
-
err_1 = _a.sent();
|
|
4291
|
-
setError('Failed to fetch group data. Please try again later.');
|
|
4292
|
-
console.error('Error fetching group:', err_1);
|
|
4293
|
-
return [3 /*break*/, 5];
|
|
4294
|
-
case 4:
|
|
4295
|
-
setIsLoading(false);
|
|
4296
|
-
setIsInitialFetchDone(true);
|
|
4297
|
-
return [7 /*endfinally*/];
|
|
4298
|
-
case 5: return [2 /*return*/];
|
|
4299
|
-
}
|
|
4300
|
-
});
|
|
4301
|
-
}); }, [id, sdk]);
|
|
4302
|
-
var silentRefresh = React.useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
4303
|
-
var response, err_2;
|
|
4304
|
-
return __generator(this, function (_a) {
|
|
4305
|
-
switch (_a.label) {
|
|
4306
|
-
case 0:
|
|
4307
|
-
if (!id || !sdk || !sdk.getGroupByID || !isInitialFetchDone) {
|
|
4308
|
-
return [2 /*return*/];
|
|
4309
|
-
}
|
|
4310
|
-
_a.label = 1;
|
|
4311
|
-
case 1:
|
|
4312
|
-
_a.trys.push([1, 3, , 4]);
|
|
4313
|
-
return [4 /*yield*/, sdk.refreshGroup(id)];
|
|
4314
|
-
case 2:
|
|
4315
|
-
response = _a.sent();
|
|
4316
|
-
if (response && response.status === 'success' && response.data) {
|
|
4317
|
-
setGroupData(response.data);
|
|
4318
|
-
}
|
|
4319
|
-
return [3 /*break*/, 4];
|
|
4320
|
-
case 3:
|
|
4321
|
-
err_2 = _a.sent();
|
|
4322
|
-
console.error('Error during silent refresh:', err_2);
|
|
4323
|
-
return [3 /*break*/, 4];
|
|
4324
|
-
case 4: return [2 /*return*/];
|
|
4325
|
-
}
|
|
4326
|
-
});
|
|
4327
|
-
}); }, [id, sdk, isInitialFetchDone]);
|
|
4328
|
-
var refreshGroup = React.useCallback(function () {
|
|
4329
|
-
return silentRefresh();
|
|
4330
|
-
}, [silentRefresh]);
|
|
4331
|
-
React.useEffect(function () {
|
|
4332
|
-
if (sdk) {
|
|
4333
|
-
initialFetch();
|
|
4334
|
-
var unsubscribeGroup_1 = sdk.subscribeToDataChange('GROUP_DATA_CHANGED', function () {
|
|
4335
|
-
silentRefresh();
|
|
4336
|
-
});
|
|
4337
|
-
return function () {
|
|
4338
|
-
unsubscribeGroup_1();
|
|
4339
|
-
};
|
|
4340
|
-
}
|
|
4341
|
-
}, [initialFetch, id, sdk, silentRefresh]);
|
|
4342
|
-
return { groupData: groupData, isLoading: isLoading, error: error, refreshGroup: refreshGroup };
|
|
4361
|
+
var _b = useInitialGroupFetch({ id: id, setGroupData: setGroupData }), isLoading = _b.isLoading, error = _b.error;
|
|
4362
|
+
useGroupRefresh({
|
|
4363
|
+
id: id,
|
|
4364
|
+
enabled: Boolean(groupData),
|
|
4365
|
+
setGroupData: setGroupData,
|
|
4366
|
+
});
|
|
4367
|
+
return { groupData: groupData, isLoading: isLoading, error: error };
|
|
4343
4368
|
};
|
|
4344
4369
|
/**
|
|
4345
4370
|
* Component to display an empty state with a message
|