@gobizweb/core 0.0.7
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +56 -0
- package/assets/icons/arrow_left.svg +1 -0
- package/assets/icons/right_pointing.svg +1 -0
- package/assets/icons/thumb-up.svg +1 -0
- package/assets/images/server_error_dino.svg +1 -0
- package/assets/images/spot_hero_empty_list.svg +1 -0
- package/lib/bootstrap.js +39 -0
- package/lib/components/AccordionSelect/AccordionSelect.component.js +131 -0
- package/lib/components/AccordionSelect/AccordionSelect.styled.js +18 -0
- package/lib/components/AccordionSelect/index.js +13 -0
- package/lib/components/AlertBox/AlertBox.component.js +54 -0
- package/lib/components/AlertBox/AlertBox.styled.js +32 -0
- package/lib/components/AlertBox/index.js +13 -0
- package/lib/components/AlertDialog/AlertDialog.js +66 -0
- package/lib/components/AlertDialog/AlertDialog.styled.js +13 -0
- package/lib/components/AlertDialog/index.js +13 -0
- package/lib/components/Asphalt/Input.component.js +59 -0
- package/lib/components/Asphalt/index.js +13 -0
- package/lib/components/AsphaltPolyfill/AsphaltPolyfill.component.js +26 -0
- package/lib/components/AsphaltPolyfill/AsphaltPolyfill.loader.js +8 -0
- package/lib/components/AsphaltPolyfill/index.js +13 -0
- package/lib/components/Box/index.js +51 -0
- package/lib/components/Breakpoint/Breakpoint.component.js +63 -0
- package/lib/components/Breakpoint/index.js +13 -0
- package/lib/components/Button/Button.js +109 -0
- package/lib/components/Button/index.js +13 -0
- package/lib/components/Card/Card.js +75 -0
- package/lib/components/Card/Card.styled.js +60 -0
- package/lib/components/Card/index.js +13 -0
- package/lib/components/CardList/CardList.component.js +55 -0
- package/lib/components/CardList/index.js +13 -0
- package/lib/components/Checkbox/Checkbox.js +60 -0
- package/lib/components/Checkbox/index.js +13 -0
- package/lib/components/Container/Container.js +74 -0
- package/lib/components/Container/index.js +13 -0
- package/lib/components/DatePicker/Datepicker.component.js +57 -0
- package/lib/components/DatePicker/index.js +13 -0
- package/lib/components/Dropdown/Dropdown.component.js +63 -0
- package/lib/components/Dropdown/index.js +13 -0
- package/lib/components/EmptyState/EmptyState.component.js +47 -0
- package/lib/components/EmptyState/index.js +13 -0
- package/lib/components/ErrorModal/ErrorModal.component.js +41 -0
- package/lib/components/ErrorModal/ErrorModal.store.js +43 -0
- package/lib/components/ErrorModal/index.js +14 -0
- package/lib/components/ErrorScreen/ErrorScreen.js +19 -0
- package/lib/components/ErrorScreen/index.js +13 -0
- package/lib/components/FilterModal/FilterModal.js +41 -0
- package/lib/components/FilterModal/FilterModal.state.js +139 -0
- package/lib/components/FilterModal/index.js +13 -0
- package/lib/components/GlobalFilter/GlobalFilter.component.js +32 -0
- package/lib/components/GlobalFilter/GlobalFilter.component.state.js +116 -0
- package/lib/components/GlobalFilter/GlobalFilter.constant.js +17 -0
- package/lib/components/GlobalFilter/GlobalFilter.date.component.js +34 -0
- package/lib/components/GlobalFilter/GlobalFilter.interface.js +2 -0
- package/lib/components/GlobalFilter/GlobalFilter.provider.js +169 -0
- package/lib/components/GlobalFilter/GlobalFilter.styled.js +16 -0
- package/lib/components/GlobalFilter/index.js +16 -0
- package/lib/components/Guard/Guard.component.js +18 -0
- package/lib/components/Guard/index.js +13 -0
- package/lib/components/IframeLoader/IframeLoader.js +47 -0
- package/lib/components/IframeLoader/index.js +13 -0
- package/lib/components/Input/Input.component.js +167 -0
- package/lib/components/Input/index.js +13 -0
- package/lib/components/LanguageSwitcher/LanguageSwitcher.component.js +78 -0
- package/lib/components/LanguageSwitcher/LanguageSwitcher.state.js +20 -0
- package/lib/components/LanguageSwitcher/LanguageSwitcher.styled.js +40 -0
- package/lib/components/LanguageSwitcher/index.js +13 -0
- package/lib/components/List/List.js +46 -0
- package/lib/components/List/index.js +13 -0
- package/lib/components/ListSelector/ListSelector.component.js +22 -0
- package/lib/components/ListSelector/ListSelector.state.js +11 -0
- package/lib/components/ListSelector/ListSelector.styled.js +15 -0
- package/lib/components/ListSelector/index.js +13 -0
- package/lib/components/Loading/Loading.js +52 -0
- package/lib/components/Loading/Loading.styled.js +45 -0
- package/lib/components/Loading/index.js +13 -0
- package/lib/components/LoadingModule/LoadingModule.component.js +49 -0
- package/lib/components/LoadingModule/index.js +13 -0
- package/lib/components/MobileAppBar/MobileAppBar.js +90 -0
- package/lib/components/MobileAppBar/MobileAppBar.styled.js +36 -0
- package/lib/components/MobileAppBar/WithMobileAppBar.js +43 -0
- package/lib/components/MobileAppBar/index.js +14 -0
- package/lib/components/Modal/Modal.js +149 -0
- package/lib/components/Modal/ModalManager.context.js +6 -0
- package/lib/components/Modal/ModalManager.js +118 -0
- package/lib/components/Modal/index.js +15 -0
- package/lib/components/Navigation/Navigation.component.js +25 -0
- package/lib/components/Navigation/Navigation.provider.js +69 -0
- package/lib/components/Navigation/Navigation.styled.js +33 -0
- package/lib/components/Navigation/index.js +14 -0
- package/lib/components/PageTitle/PageTitle.component.js +47 -0
- package/lib/components/PageTitle/index.js +13 -0
- package/lib/components/Pagination/Pagination.component.js +49 -0
- package/lib/components/Pagination/index.js +13 -0
- package/lib/components/Radio/Radio.component.js +69 -0
- package/lib/components/Radio/Radio.styled.js +44 -0
- package/lib/components/Radio/RadioGroup.component.js +24 -0
- package/lib/components/Radio/RadioGroup.context.js +6 -0
- package/lib/components/Radio/index.js +15 -0
- package/lib/components/Separator/Separator.component.js +59 -0
- package/lib/components/Separator/index.js +13 -0
- package/lib/components/Skeleton/SkeletonApp.component.js +90 -0
- package/lib/components/Skeleton/SkeletonTable.component.js +36 -0
- package/lib/components/Skeleton/SkeletonText.component.js +62 -0
- package/lib/components/Skeleton/SkeletonWrapper.component.js +46 -0
- package/lib/components/Skeleton/index.js +16 -0
- package/lib/components/Stepper/Stepper.component.js +126 -0
- package/lib/components/Stepper/WithStepper.js +65 -0
- package/lib/components/Stepper/index.js +16 -0
- package/lib/components/Table/Table.component.js +71 -0
- package/lib/components/Table/Table.styled.js +51 -0
- package/lib/components/Table/index.js +13 -0
- package/lib/components/TableContainer/TableContainer.js +32 -0
- package/lib/components/TableContainer/index.js +13 -0
- package/lib/components/Text/Text.component.js +90 -0
- package/lib/components/Text/index.js +13 -0
- package/lib/components/Toast/Toast.component.js +65 -0
- package/lib/components/Toast/Toast.interface.js +2 -0
- package/lib/components/Toast/Toast.manager.js +61 -0
- package/lib/components/Toast/Toast.provider.js +85 -0
- package/lib/components/Toast/Toast.styled.js +18 -0
- package/lib/components/Toast/index.js +15 -0
- package/lib/components/Tours/index.js +100 -0
- package/lib/components/index.js +51 -0
- package/lib/constants/AndroidVersions.js +6 -0
- package/lib/constants/AppNames.js +10 -0
- package/lib/constants/AsphaltTheme.js +43 -0
- package/lib/constants/GobizApp.js +11 -0
- package/lib/constants/MediaQueries.js +30 -0
- package/lib/constants/PostalCodes.js +8382 -0
- package/lib/constants/PubsubEvents.js +12 -0
- package/lib/constants/TnCFiles.js +77 -0
- package/lib/constants/ValidationRegex.js +6 -0
- package/lib/constants/cookies.js +38 -0
- package/lib/constants/datetime.js +103 -0
- package/lib/constants/index.js +24 -0
- package/lib/constants/roles.js +17 -0
- package/lib/contexts/AppTheme.js +221 -0
- package/lib/decorators/utility-classes.js +78 -0
- package/lib/decorators/withStyles.js +73 -0
- package/lib/helpers/BrowserEnvironment.js +22 -0
- package/lib/helpers/ESQuery.js +98 -0
- package/lib/helpers/chart.js +251 -0
- package/lib/helpers/cleanObject.js +15 -0
- package/lib/helpers/conversion.js +4 -0
- package/lib/helpers/cookies.js +54 -0
- package/lib/helpers/copywrite.js +15 -0
- package/lib/helpers/currency.js +73 -0
- package/lib/helpers/dateFormat.js +47 -0
- package/lib/helpers/datePresets.js +77 -0
- package/lib/helpers/debounce.js +31 -0
- package/lib/helpers/deepMerge.js +81 -0
- package/lib/helpers/downloadURL.js +11 -0
- package/lib/helpers/enumReverseMap.js +12 -0
- package/lib/helpers/env.js +18 -0
- package/lib/helpers/fileDownloader.js +33 -0
- package/lib/helpers/formatNumber.js +10 -0
- package/lib/helpers/formatPercentage.js +13 -0
- package/lib/helpers/gobizApp.js +27 -0
- package/lib/helpers/identityValidator.js +6 -0
- package/lib/helpers/index.js +50 -0
- package/lib/helpers/json.js +17 -0
- package/lib/helpers/logger.js +93 -0
- package/lib/helpers/maskAccount.js +26 -0
- package/lib/helpers/numbers.js +6 -0
- package/lib/helpers/path.js +27 -0
- package/lib/helpers/paymentTypeHuman.js +62 -0
- package/lib/helpers/refreshConfig.js +12 -0
- package/lib/helpers/refreshToken.js +108 -0
- package/lib/helpers/safeParse.js +31 -0
- package/lib/helpers/scrollToTop.js +9 -0
- package/lib/helpers/shortID.js +17 -0
- package/lib/helpers/textParser.js +10 -0
- package/lib/helpers/time.js +54 -0
- package/lib/helpers/tour.js +38 -0
- package/lib/helpers/transform.js +24 -0
- package/lib/helpers/url.js +30 -0
- package/lib/helpers/wildcardToRegEx.js +15 -0
- package/lib/hooks/index.js +26 -0
- package/lib/hooks/useBreakpoint.js +35 -0
- package/lib/hooks/useCurrency.js +27 -0
- package/lib/hooks/useDatesFromTimeRange.js +40 -0
- package/lib/hooks/useEventListener.js +24 -0
- package/lib/hooks/useFormValidator.js +38 -0
- package/lib/hooks/useHttpOptions.js +104 -0
- package/lib/hooks/useLogger.js +57 -0
- package/lib/hooks/useNavigation.js +16 -0
- package/lib/hooks/usePhone.js +14 -0
- package/lib/hooks/useQueryInit.js +21 -0
- package/lib/hooks/useQueryParams.js +95 -0
- package/lib/hooks/useShowGlobalFilter.js +101 -0
- package/lib/hooks/useWebview.js +48 -0
- package/lib/hooks/useWindow.js +19 -0
- package/lib/models/AuthUser.model.js +159 -0
- package/lib/models/Outlet.model.js +274 -0
- package/lib/models/User.model.js +106 -0
- package/lib/models/index.js +15 -0
- package/lib/providers/Alert.provider.js +65 -0
- package/lib/providers/AppTheme.provider.js +75 -0
- package/lib/providers/Auth.provider.js +239 -0
- package/lib/providers/Clevertap.provider.js +117 -0
- package/lib/providers/GoogleAnalytics.provider.js +113 -0
- package/lib/providers/Host.provider.js +71 -0
- package/lib/providers/Language.provider.js +127 -0
- package/lib/providers/Logger.provider.js +32 -0
- package/lib/providers/MicroApp.provider.js +63 -0
- package/lib/providers/Outlets.provider.js +180 -0
- package/lib/providers/Token.provider.js +101 -0
- package/lib/providers/Translation.provider.js +56 -0
- package/lib/providers/index.js +24 -0
- package/package.json +47 -0
@@ -0,0 +1,32 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
exports.GlobalFilter = void 0;
|
7
|
+
var react_1 = __importDefault(require("react"));
|
8
|
+
var mobx_react_lite_1 = require("mobx-react-lite");
|
9
|
+
var button_1 = __importDefault(require("@asphalt-react/button"));
|
10
|
+
var providers_1 = require("../../providers");
|
11
|
+
var Dropdown_1 = require("../Dropdown");
|
12
|
+
var GlobalFilter_styled_1 = require("./GlobalFilter.styled");
|
13
|
+
var GlobalFilter_provider_1 = require("./GlobalFilter.provider");
|
14
|
+
var GlobalFilter_component_state_1 = require("./GlobalFilter.component.state");
|
15
|
+
var GlobalFilter_date_component_1 = require("./GlobalFilter.date.component");
|
16
|
+
exports.GlobalFilter = mobx_react_lite_1.observer(function () {
|
17
|
+
var textFiles = require("./translations.json");
|
18
|
+
var translate = providers_1.useTranslation(textFiles);
|
19
|
+
var _a = GlobalFilter_provider_1.useGlobalFilter(), applyFilter = _a.applyFilter, config = _a.config;
|
20
|
+
var _b = GlobalFilter_component_state_1.useGlobalFilterComponent(), showFilter = _b.showFilter, showOutletFilter = _b.showOutletFilter, outletsSelection = _b.outletsSelection, dateRanges = _b.dateRanges, onOutletChange = _b.onOutletChange, onDateRangeChange = _b.onDateRangeChange;
|
21
|
+
if (!showFilter)
|
22
|
+
return null;
|
23
|
+
return (react_1.default.createElement(GlobalFilter_styled_1.WrapperEl, null,
|
24
|
+
showOutletFilter && (react_1.default.createElement(GlobalFilter_styled_1.InputWrapperEl, null,
|
25
|
+
react_1.default.createElement(Dropdown_1.Dropdown, { typeahead: true, items: outletsSelection, onChange: onOutletChange, size: "s", placeholder: translate("label.placeholder") }))),
|
26
|
+
config.showDateFilter && (react_1.default.createElement(react_1.default.Fragment, null,
|
27
|
+
react_1.default.createElement(GlobalFilter_styled_1.InputWrapperEl, null,
|
28
|
+
react_1.default.createElement(Dropdown_1.Dropdown, { items: dateRanges, onChange: onDateRangeChange, size: "s" })),
|
29
|
+
react_1.default.createElement(GlobalFilter_date_component_1.GlobalFilterDatePicker, null))),
|
30
|
+
react_1.default.createElement(GlobalFilter_styled_1.InputWrapperEl, null,
|
31
|
+
react_1.default.createElement(button_1.default, { stretch: true, size: "s", onClick: applyFilter }, translate("label.apply")))));
|
32
|
+
});
|
@@ -0,0 +1,116 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __spreadArrays = (this && this.__spreadArrays) || function () {
|
3
|
+
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
|
4
|
+
for (var r = Array(s), k = 0, i = 0; i < il; i++)
|
5
|
+
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
|
6
|
+
r[k] = a[j];
|
7
|
+
return r;
|
8
|
+
};
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
10
|
+
exports.useGlobalFilterComponent = void 0;
|
11
|
+
var react_1 = require("react");
|
12
|
+
var datetime_1 = require("../../constants/datetime");
|
13
|
+
var providers_1 = require("../../providers");
|
14
|
+
var GlobalFilter_provider_1 = require("./GlobalFilter.provider");
|
15
|
+
exports.useGlobalFilterComponent = function () {
|
16
|
+
var textFiles = require("./translations.json");
|
17
|
+
var translate = providers_1.useTranslation(textFiles);
|
18
|
+
var outlets = providers_1.useOutlets().outlets;
|
19
|
+
var language = providers_1.useLanguage().language;
|
20
|
+
var _a = GlobalFilter_provider_1.useGlobalFilter(), setMerchantId = _a.setMerchantId, setDateRange = _a.setDateRange, config = _a.config, _b = _a.internalFilter, merchant_id = _b.merchant_id, date_range = _b.date_range, filter_merchant_id = _a.filter.merchant_id;
|
21
|
+
var activeDates = datetime_1.DATE_RANGES[language].date;
|
22
|
+
var _c = react_1.useState(activeDates), dateRanges = _c[0], setDateRanges = _c[1];
|
23
|
+
var _outlets = __spreadArrays([
|
24
|
+
{ id: "all", key: "" + translate("label.all_outlets"), selected: true }
|
25
|
+
], outlets.map(function (merchant) { return ({
|
26
|
+
id: merchant.json.id,
|
27
|
+
key: merchant.json.outlet_name,
|
28
|
+
selected: false,
|
29
|
+
}); }));
|
30
|
+
var _d = react_1.useState(_outlets), outletsSelection = _d[0], setOutletsSelection = _d[1];
|
31
|
+
var showOutletFilter = config.showOutletFilter && outlets.length > 1;
|
32
|
+
var onOutletChange = function (item) {
|
33
|
+
setMerchantId(item === null || item === void 0 ? void 0 : item.id);
|
34
|
+
};
|
35
|
+
var onDateRangeChange = function (item) {
|
36
|
+
setDateRange((item === null || item === void 0 ? void 0 : item.id) || "today");
|
37
|
+
};
|
38
|
+
//Remove "All Outlet" option based on config
|
39
|
+
react_1.useEffect(function () {
|
40
|
+
if (config.hideAllOutlet) {
|
41
|
+
var outletsWithoutAll = _outlets.slice(1);
|
42
|
+
setOutletsSelection(outletsWithoutAll);
|
43
|
+
}
|
44
|
+
else {
|
45
|
+
setOutletsSelection(_outlets);
|
46
|
+
}
|
47
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
48
|
+
}, [config.hideAllOutlet]);
|
49
|
+
react_1.useEffect(function () {
|
50
|
+
setOutletsSelection(function (prev) {
|
51
|
+
var _outletsSelection = prev.map(function (item) {
|
52
|
+
var isNoMerchantSelected = !filter_merchant_id && !merchant_id;
|
53
|
+
var isOptionSelected = isNoMerchantSelected
|
54
|
+
? item.id === "all"
|
55
|
+
: merchant_id === item.id;
|
56
|
+
return { id: item.id, key: item.key, selected: isOptionSelected };
|
57
|
+
});
|
58
|
+
return _outletsSelection;
|
59
|
+
});
|
60
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
61
|
+
}, [merchant_id]);
|
62
|
+
react_1.useEffect(function () {
|
63
|
+
var _activeDate = activeDates.filter(function (date) {
|
64
|
+
if (!date_range)
|
65
|
+
return date;
|
66
|
+
if (date.id === date_range) {
|
67
|
+
date.selected = true;
|
68
|
+
}
|
69
|
+
else {
|
70
|
+
date.selected = false;
|
71
|
+
}
|
72
|
+
return date;
|
73
|
+
});
|
74
|
+
setDateRanges(_activeDate);
|
75
|
+
}, [language, date_range, activeDates]);
|
76
|
+
react_1.useEffect(function () {
|
77
|
+
var outlets = _outlets.filter(function (outlet) {
|
78
|
+
if (outlet.id === merchant_id || outlet.id === filter_merchant_id) {
|
79
|
+
outlet.selected = true;
|
80
|
+
}
|
81
|
+
else if (!merchant_id && !filter_merchant_id && outlet.id === "all") {
|
82
|
+
outlet.selected = true;
|
83
|
+
}
|
84
|
+
else {
|
85
|
+
outlet.selected = false;
|
86
|
+
}
|
87
|
+
return outlet;
|
88
|
+
});
|
89
|
+
setOutletsSelection(outlets);
|
90
|
+
// eslint-disable-next-line
|
91
|
+
}, [language]);
|
92
|
+
react_1.useEffect(function () {
|
93
|
+
var outlets = _outlets.filter(function (outlet) {
|
94
|
+
if (outlet.id === merchant_id || outlet.id === filter_merchant_id) {
|
95
|
+
outlet.selected = true;
|
96
|
+
}
|
97
|
+
else if (!merchant_id && !filter_merchant_id && outlet.id === "all") {
|
98
|
+
outlet.selected = true;
|
99
|
+
}
|
100
|
+
else {
|
101
|
+
outlet.selected = false;
|
102
|
+
}
|
103
|
+
return outlet;
|
104
|
+
});
|
105
|
+
setOutletsSelection(outlets);
|
106
|
+
// eslint-disable-next-line
|
107
|
+
}, [language]);
|
108
|
+
return {
|
109
|
+
showFilter: config.showDateFilter || showOutletFilter,
|
110
|
+
showOutletFilter: showOutletFilter,
|
111
|
+
dateRanges: dateRanges,
|
112
|
+
outletsSelection: outletsSelection,
|
113
|
+
onOutletChange: onOutletChange,
|
114
|
+
onDateRangeChange: onDateRangeChange,
|
115
|
+
};
|
116
|
+
};
|
@@ -0,0 +1,17 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
exports.DEFAULT_GLOBAL_FILTER_PARAMS = exports.DEFAULT_GLOBAL_FILTER_CONFIG = void 0;
|
7
|
+
var moment_1 = __importDefault(require("moment"));
|
8
|
+
exports.DEFAULT_GLOBAL_FILTER_CONFIG = {
|
9
|
+
showDateFilter: false,
|
10
|
+
showOutletFilter: false,
|
11
|
+
hideAllOutlet: false,
|
12
|
+
};
|
13
|
+
exports.DEFAULT_GLOBAL_FILTER_PARAMS = {
|
14
|
+
date_range: "today",
|
15
|
+
start_time: moment_1.default().startOf("day").toISOString(),
|
16
|
+
end_time: moment_1.default().endOf("day").toISOString(),
|
17
|
+
};
|
@@ -0,0 +1,34 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
exports.GlobalFilterDatePicker = void 0;
|
7
|
+
var mobx_react_lite_1 = require("mobx-react-lite");
|
8
|
+
var moment_1 = __importDefault(require("moment"));
|
9
|
+
var react_1 = __importDefault(require("react"));
|
10
|
+
var GlobalFilter_styled_1 = require("./GlobalFilter.styled");
|
11
|
+
var GlobalFilter_component_state_1 = require("./GlobalFilter.component.state");
|
12
|
+
var GlobalFilter_provider_1 = require("./GlobalFilter.provider");
|
13
|
+
var DatePicker_1 = require("../DatePicker");
|
14
|
+
exports.GlobalFilterDatePicker = mobx_react_lite_1.observer(function () {
|
15
|
+
var _a = GlobalFilter_provider_1.useGlobalFilter(), setDate = _a.setDate, config = _a.config, internalFilter = _a.internalFilter;
|
16
|
+
var showOutletFilter = GlobalFilter_component_state_1.useGlobalFilterComponent().showOutletFilter;
|
17
|
+
var onStartDateChange = function (date) {
|
18
|
+
setDate("start_time", date.toISOString());
|
19
|
+
};
|
20
|
+
var onEndDateChange = function (date) {
|
21
|
+
setDate("end_time", date.toISOString());
|
22
|
+
};
|
23
|
+
if (!config.showDateFilter && !showOutletFilter) {
|
24
|
+
return null;
|
25
|
+
}
|
26
|
+
if (!(config.showDateFilter && internalFilter.date_range === "custom")) {
|
27
|
+
return null;
|
28
|
+
}
|
29
|
+
return (react_1.default.createElement(GlobalFilter_styled_1.DateRangeWrapperEl, null,
|
30
|
+
react_1.default.createElement(GlobalFilter_styled_1.InputWrapperEl, null,
|
31
|
+
react_1.default.createElement(DatePicker_1.DatePicker, { showTimeSelect: true, maxDate: moment_1.default(), onChange: onStartDateChange, selected: moment_1.default(internalFilter.start_time), minDate: moment_1.default().subtract(6, "months") })),
|
32
|
+
react_1.default.createElement(GlobalFilter_styled_1.InputWrapperEl, null,
|
33
|
+
react_1.default.createElement(DatePicker_1.DatePicker, { showTimeSelect: true, maxDate: moment_1.default(), onChange: onEndDateChange, selected: moment_1.default(internalFilter.end_time), minDate: moment_1.default(internalFilter.start_time) }))));
|
34
|
+
});
|
@@ -0,0 +1,169 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
3
|
+
__assign = Object.assign || function(t) {
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
5
|
+
s = arguments[i];
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
7
|
+
t[p] = s[p];
|
8
|
+
}
|
9
|
+
return t;
|
10
|
+
};
|
11
|
+
return __assign.apply(this, arguments);
|
12
|
+
};
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
14
|
+
if (k2 === undefined) k2 = k;
|
15
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
16
|
+
}) : (function(o, m, k, k2) {
|
17
|
+
if (k2 === undefined) k2 = k;
|
18
|
+
o[k2] = m[k];
|
19
|
+
}));
|
20
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
21
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
22
|
+
}) : function(o, v) {
|
23
|
+
o["default"] = v;
|
24
|
+
});
|
25
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
26
|
+
if (mod && mod.__esModule) return mod;
|
27
|
+
var result = {};
|
28
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
29
|
+
__setModuleDefault(result, mod);
|
30
|
+
return result;
|
31
|
+
};
|
32
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
33
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
34
|
+
};
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
36
|
+
exports.useGlobalFilter = exports.GlobalFilterContext = exports.GlobalFilterProvider = void 0;
|
37
|
+
var react_1 = __importStar(require("react"));
|
38
|
+
var moment_1 = __importDefault(require("moment"));
|
39
|
+
var query_string_1 = __importDefault(require("query-string"));
|
40
|
+
var GlobalFilter_constant_1 = require("./GlobalFilter.constant");
|
41
|
+
var datePresets_1 = require("../../helpers/datePresets");
|
42
|
+
var PubsubEvents_1 = require("../../constants/PubsubEvents");
|
43
|
+
exports.GlobalFilterProvider = function (_a) {
|
44
|
+
var children = _a.children, context = _a.context, _b = _a.asMicroApp, asMicroApp = _b === void 0 ? false : _b;
|
45
|
+
var CONFIG_TOPIC = asMicroApp
|
46
|
+
? PubsubEvents_1.GLOBALFILTER_PF_CONFIG
|
47
|
+
: PubsubEvents_1.GLOBALFILTER_MF_CONFIG;
|
48
|
+
var FILTER_TOPIC = asMicroApp
|
49
|
+
? PubsubEvents_1.GLOBALFILTER_PF_FILTER
|
50
|
+
: PubsubEvents_1.GLOBALFILTER_MF_FILTER;
|
51
|
+
var _c = react_1.useState(GlobalFilter_constant_1.DEFAULT_GLOBAL_FILTER_PARAMS), filter = _c[0], setFilter = _c[1];
|
52
|
+
var _d = react_1.useState(GlobalFilter_constant_1.DEFAULT_GLOBAL_FILTER_CONFIG), config = _d[0], setConfig = _d[1];
|
53
|
+
var _e = react_1.useState(GlobalFilter_constant_1.DEFAULT_GLOBAL_FILTER_PARAMS), internalFilter = _e[0], setInternalFilter = _e[1];
|
54
|
+
var isConsolidatedView = !(filter === null || filter === void 0 ? void 0 : filter.merchant_id) || filter.merchant_id === "all";
|
55
|
+
var enableFilter = function (config) {
|
56
|
+
var _a;
|
57
|
+
if (config === void 0) { config = GlobalFilter_constant_1.DEFAULT_GLOBAL_FILTER_CONFIG; }
|
58
|
+
var _config = __assign(__assign({}, GlobalFilter_constant_1.DEFAULT_GLOBAL_FILTER_CONFIG), config);
|
59
|
+
var newConfig = {
|
60
|
+
showDateFilter: _config.showDateFilter,
|
61
|
+
showOutletFilter: _config.showOutletFilter,
|
62
|
+
hideAllOutlet: _config.hideAllOutlet,
|
63
|
+
};
|
64
|
+
setConfig(newConfig);
|
65
|
+
(_a = window.$pubsubPublish) === null || _a === void 0 ? void 0 : _a.call(window, CONFIG_TOPIC, {
|
66
|
+
config: newConfig,
|
67
|
+
});
|
68
|
+
};
|
69
|
+
var setDate = function (key, value) {
|
70
|
+
var _a;
|
71
|
+
setInternalFilter(__assign(__assign({}, internalFilter), (_a = {}, _a[key] = value !== null && value !== void 0 ? value : internalFilter[key], _a)));
|
72
|
+
};
|
73
|
+
var setMerchantId = function (merchantId) {
|
74
|
+
setInternalFilter(__assign(__assign({}, internalFilter), { merchant_id: merchantId }));
|
75
|
+
};
|
76
|
+
var setDateRange = function (range) {
|
77
|
+
var _a = datePresets_1.datesFromTimeRange({
|
78
|
+
timeRange: range,
|
79
|
+
previousEndTime: moment_1.default(internalFilter.end_time),
|
80
|
+
previousStartTime: moment_1.default(internalFilter.start_time),
|
81
|
+
}), startTime = _a.startTime, endTime = _a.endTime;
|
82
|
+
setInternalFilter(__assign(__assign({}, internalFilter), { date_range: range, start_time: startTime.toISOString(), end_time: endTime.toISOString() }));
|
83
|
+
};
|
84
|
+
var applyFilter = function () {
|
85
|
+
var _a;
|
86
|
+
setFilter(internalFilter);
|
87
|
+
(_a = window.$pubsubPublish) === null || _a === void 0 ? void 0 : _a.call(window, FILTER_TOPIC, {
|
88
|
+
filter: internalFilter,
|
89
|
+
});
|
90
|
+
};
|
91
|
+
var resetFilter = function () {
|
92
|
+
setInternalFilter(filter);
|
93
|
+
};
|
94
|
+
var initFilter = function (_filter) {
|
95
|
+
var _a;
|
96
|
+
setInternalFilter(_filter);
|
97
|
+
setFilter(_filter);
|
98
|
+
(_a = window.$pubsubPublish) === null || _a === void 0 ? void 0 : _a.call(window, FILTER_TOPIC, {
|
99
|
+
filter: _filter,
|
100
|
+
});
|
101
|
+
};
|
102
|
+
var disableFilter = function () {
|
103
|
+
var _a;
|
104
|
+
setConfig(GlobalFilter_constant_1.DEFAULT_GLOBAL_FILTER_CONFIG);
|
105
|
+
(_a = window.$pubsubPublish) === null || _a === void 0 ? void 0 : _a.call(window, CONFIG_TOPIC, {
|
106
|
+
config: GlobalFilter_constant_1.DEFAULT_GLOBAL_FILTER_CONFIG,
|
107
|
+
});
|
108
|
+
};
|
109
|
+
var toQuery = function () {
|
110
|
+
var toSet = {
|
111
|
+
merchant_id: filter === null || filter === void 0 ? void 0 : filter.merchant_id,
|
112
|
+
date_range: filter === null || filter === void 0 ? void 0 : filter.date_range,
|
113
|
+
};
|
114
|
+
if (toSet.merchant_id === "all") {
|
115
|
+
toSet.merchant_id = undefined;
|
116
|
+
}
|
117
|
+
if (toSet.date_range === "custom") {
|
118
|
+
toSet.start_time = filter === null || filter === void 0 ? void 0 : filter.start_time;
|
119
|
+
toSet.end_time = filter === null || filter === void 0 ? void 0 : filter.end_time;
|
120
|
+
}
|
121
|
+
// Do not show date_range if it's set to today or custom
|
122
|
+
if (toSet.date_range === "today" || toSet.date_range === "custom") {
|
123
|
+
toSet.date_range = undefined;
|
124
|
+
}
|
125
|
+
return "?" + query_string_1.default.stringify(toSet);
|
126
|
+
};
|
127
|
+
var onPubSubFilter = function (data) {
|
128
|
+
setInternalFilter(data.filter);
|
129
|
+
setFilter(data.filter);
|
130
|
+
};
|
131
|
+
var onPubSubConfig = function (data) {
|
132
|
+
setConfig(data.config);
|
133
|
+
};
|
134
|
+
react_1.useEffect(function () {
|
135
|
+
var _a, _b;
|
136
|
+
var SUBSCRIBER_CONFIG_TOPIC = asMicroApp
|
137
|
+
? PubsubEvents_1.GLOBALFILTER_MF_CONFIG
|
138
|
+
: PubsubEvents_1.GLOBALFILTER_PF_CONFIG;
|
139
|
+
(_a = window.$pubsubSubscribe) === null || _a === void 0 ? void 0 : _a.call(window, SUBSCRIBER_CONFIG_TOPIC, onPubSubConfig);
|
140
|
+
var SUBSCRIBER_FILTER_TOPIC = asMicroApp
|
141
|
+
? PubsubEvents_1.GLOBALFILTER_MF_FILTER
|
142
|
+
: PubsubEvents_1.GLOBALFILTER_PF_FILTER;
|
143
|
+
(_b = window.$pubsubSubscribe) === null || _b === void 0 ? void 0 : _b.call(window, SUBSCRIBER_FILTER_TOPIC, onPubSubFilter);
|
144
|
+
return function () {
|
145
|
+
var _a, _b;
|
146
|
+
(_a = window.$pubsubUnsubscribe) === null || _a === void 0 ? void 0 : _a.call(window, SUBSCRIBER_CONFIG_TOPIC, onPubSubConfig);
|
147
|
+
(_b = window.$pubsubUnsubscribe) === null || _b === void 0 ? void 0 : _b.call(window, SUBSCRIBER_FILTER_TOPIC, onPubSubFilter);
|
148
|
+
};
|
149
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
150
|
+
}, []);
|
151
|
+
var _context = {
|
152
|
+
filter: filter,
|
153
|
+
config: config,
|
154
|
+
internalFilter: internalFilter,
|
155
|
+
enableFilter: enableFilter,
|
156
|
+
setDate: setDate,
|
157
|
+
setMerchantId: setMerchantId,
|
158
|
+
setDateRange: setDateRange,
|
159
|
+
applyFilter: applyFilter,
|
160
|
+
resetFilter: resetFilter,
|
161
|
+
disableFilter: disableFilter,
|
162
|
+
toQuery: toQuery,
|
163
|
+
isConsolidatedView: isConsolidatedView,
|
164
|
+
initFilter: initFilter,
|
165
|
+
};
|
166
|
+
return (react_1.default.createElement(exports.GlobalFilterContext.Provider, { value: (context || _context), children: children }));
|
167
|
+
};
|
168
|
+
exports.GlobalFilterContext = react_1.createContext({});
|
169
|
+
exports.useGlobalFilter = function () { return react_1.useContext(exports.GlobalFilterContext); };
|
@@ -0,0 +1,16 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
3
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
4
|
+
return cooked;
|
5
|
+
};
|
6
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
7
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
8
|
+
};
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
10
|
+
exports.DateRangeWrapperEl = exports.InputWrapperEl = exports.WrapperEl = void 0;
|
11
|
+
var styled_components_1 = __importDefault(require("styled-components"));
|
12
|
+
var constants_1 = require("../../constants");
|
13
|
+
exports.WrapperEl = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n padding: 16px;\n\n ", " {\n flex-direction: row;\n padding: 16px 24px;\n }\n"], ["\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n padding: 16px;\n\n ", " {\n flex-direction: row;\n padding: 16px 24px;\n }\n"])), constants_1.MediaQueries.screen.medium.minWidth);
|
14
|
+
exports.InputWrapperEl = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n margin-bottom: 8px;\n min-width: 128px;\n\n ", " {\n margin-bottom: 0;\n margin-left: 8px;\n }\n"], ["\n margin-bottom: 8px;\n min-width: 128px;\n\n ", " {\n margin-bottom: 0;\n margin-left: 8px;\n }\n"])), constants_1.MediaQueries.screen.medium.minWidth);
|
15
|
+
exports.DateRangeWrapperEl = styled_components_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n\n ", " {\n flex-direction: row;\n }\n"], ["\n display: flex;\n flex-direction: column;\n\n ", " {\n flex-direction: row;\n }\n"])), constants_1.MediaQueries.screen.medium.minWidth);
|
16
|
+
var templateObject_1, templateObject_2, templateObject_3;
|
@@ -0,0 +1,16 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
5
|
+
}) : (function(o, m, k, k2) {
|
6
|
+
if (k2 === undefined) k2 = k;
|
7
|
+
o[k2] = m[k];
|
8
|
+
}));
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
10
|
+
for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
|
11
|
+
};
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
13
|
+
__exportStar(require("./GlobalFilter.component.state"), exports);
|
14
|
+
__exportStar(require("./GlobalFilter.component"), exports);
|
15
|
+
__exportStar(require("./GlobalFilter.provider"), exports);
|
16
|
+
__exportStar(require("./GlobalFilter.interface"), exports);
|
@@ -0,0 +1,18 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
exports.Guard = void 0;
|
7
|
+
var react_1 = __importDefault(require("react"));
|
8
|
+
var mobx_react_lite_1 = require("mobx-react-lite");
|
9
|
+
var Auth_provider_1 = require("../../providers/Auth.provider");
|
10
|
+
exports.Guard = mobx_react_lite_1.observer(function (props) {
|
11
|
+
var isPermitted = props.isPermitted || Auth_provider_1.useAuth().isPermitted;
|
12
|
+
var access = props.access, actions = props.actions, _a = props.validation, validation = _a === void 0 ? true : _a;
|
13
|
+
if (!validation)
|
14
|
+
return react_1.default.createElement(react_1.default.Fragment, null, props.fallback);
|
15
|
+
if (!!(access && actions) && !isPermitted(access, actions))
|
16
|
+
return react_1.default.createElement(react_1.default.Fragment, null, props.fallback);
|
17
|
+
return react_1.default.createElement(react_1.default.Fragment, null, props.children);
|
18
|
+
});
|
@@ -0,0 +1,13 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
5
|
+
}) : (function(o, m, k, k2) {
|
6
|
+
if (k2 === undefined) k2 = k;
|
7
|
+
o[k2] = m[k];
|
8
|
+
}));
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
10
|
+
for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
|
11
|
+
};
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
13
|
+
__exportStar(require("./Guard.component"), exports);
|
@@ -0,0 +1,47 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
3
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
4
|
+
return cooked;
|
5
|
+
};
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
7
|
+
if (k2 === undefined) k2 = k;
|
8
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
+
}) : function(o, v) {
|
16
|
+
o["default"] = v;
|
17
|
+
});
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
19
|
+
if (mod && mod.__esModule) return mod;
|
20
|
+
var result = {};
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
22
|
+
__setModuleDefault(result, mod);
|
23
|
+
return result;
|
24
|
+
};
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
27
|
+
};
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
29
|
+
exports.IframeLoader = void 0;
|
30
|
+
var React = __importStar(require("react"));
|
31
|
+
var styled_components_1 = __importDefault(require("styled-components"));
|
32
|
+
var react_1 = require("react");
|
33
|
+
var Box_1 = require("../Box");
|
34
|
+
var Loading_1 = require("../Loading");
|
35
|
+
var IframeContent = styled_components_1.default.iframe(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n width: 100%;\n height: 100%;\n border: none;\n"], ["\n width: 100%;\n height: 100%;\n border: none;\n"])));
|
36
|
+
exports.IframeLoader = function (_a) {
|
37
|
+
var src = _a.src, _b = _a.onLoad, onLoad = _b === void 0 ? function () { } : _b;
|
38
|
+
var _c = react_1.useState(true), isLoading = _c[0], setLoading = _c[1];
|
39
|
+
var onLoaded = function (event) {
|
40
|
+
setLoading(false);
|
41
|
+
onLoad(event);
|
42
|
+
};
|
43
|
+
return (React.createElement(Box_1.Box, { style: { width: "100%", height: "100vh" }, "data-testid": "iframe-loader" },
|
44
|
+
isLoading && React.createElement(Loading_1.Loading, null),
|
45
|
+
React.createElement(IframeContent, { src: src, onLoad: onLoaded, style: { display: isLoading ? "none" : "block" } })));
|
46
|
+
};
|
47
|
+
var templateObject_1;
|
@@ -0,0 +1,13 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
5
|
+
}) : (function(o, m, k, k2) {
|
6
|
+
if (k2 === undefined) k2 = k;
|
7
|
+
o[k2] = m[k];
|
8
|
+
}));
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
10
|
+
for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
|
11
|
+
};
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
13
|
+
__exportStar(require("./IframeLoader"), exports);
|