@gobizweb/core 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (211) hide show
  1. package/README.md +56 -0
  2. package/assets/icons/arrow_left.svg +1 -0
  3. package/assets/icons/right_pointing.svg +1 -0
  4. package/assets/icons/thumb-up.svg +1 -0
  5. package/assets/images/server_error_dino.svg +1 -0
  6. package/assets/images/spot_hero_empty_list.svg +1 -0
  7. package/lib/bootstrap.js +39 -0
  8. package/lib/components/AccordionSelect/AccordionSelect.component.js +131 -0
  9. package/lib/components/AccordionSelect/AccordionSelect.styled.js +18 -0
  10. package/lib/components/AccordionSelect/index.js +13 -0
  11. package/lib/components/AlertBox/AlertBox.component.js +54 -0
  12. package/lib/components/AlertBox/AlertBox.styled.js +32 -0
  13. package/lib/components/AlertBox/index.js +13 -0
  14. package/lib/components/AlertDialog/AlertDialog.js +66 -0
  15. package/lib/components/AlertDialog/AlertDialog.styled.js +13 -0
  16. package/lib/components/AlertDialog/index.js +13 -0
  17. package/lib/components/Asphalt/Input.component.js +59 -0
  18. package/lib/components/Asphalt/index.js +13 -0
  19. package/lib/components/AsphaltPolyfill/AsphaltPolyfill.component.js +26 -0
  20. package/lib/components/AsphaltPolyfill/AsphaltPolyfill.loader.js +8 -0
  21. package/lib/components/AsphaltPolyfill/index.js +13 -0
  22. package/lib/components/Box/index.js +51 -0
  23. package/lib/components/Breakpoint/Breakpoint.component.js +63 -0
  24. package/lib/components/Breakpoint/index.js +13 -0
  25. package/lib/components/Button/Button.js +109 -0
  26. package/lib/components/Button/index.js +13 -0
  27. package/lib/components/Card/Card.js +75 -0
  28. package/lib/components/Card/Card.styled.js +60 -0
  29. package/lib/components/Card/index.js +13 -0
  30. package/lib/components/CardList/CardList.component.js +55 -0
  31. package/lib/components/CardList/index.js +13 -0
  32. package/lib/components/Checkbox/Checkbox.js +60 -0
  33. package/lib/components/Checkbox/index.js +13 -0
  34. package/lib/components/Container/Container.js +74 -0
  35. package/lib/components/Container/index.js +13 -0
  36. package/lib/components/DatePicker/Datepicker.component.js +57 -0
  37. package/lib/components/DatePicker/index.js +13 -0
  38. package/lib/components/Dropdown/Dropdown.component.js +63 -0
  39. package/lib/components/Dropdown/index.js +13 -0
  40. package/lib/components/EmptyState/EmptyState.component.js +47 -0
  41. package/lib/components/EmptyState/index.js +13 -0
  42. package/lib/components/ErrorModal/ErrorModal.component.js +41 -0
  43. package/lib/components/ErrorModal/ErrorModal.store.js +43 -0
  44. package/lib/components/ErrorModal/index.js +14 -0
  45. package/lib/components/ErrorScreen/ErrorScreen.js +19 -0
  46. package/lib/components/ErrorScreen/index.js +13 -0
  47. package/lib/components/FilterModal/FilterModal.js +41 -0
  48. package/lib/components/FilterModal/FilterModal.state.js +139 -0
  49. package/lib/components/FilterModal/index.js +13 -0
  50. package/lib/components/GlobalFilter/GlobalFilter.component.js +32 -0
  51. package/lib/components/GlobalFilter/GlobalFilter.component.state.js +116 -0
  52. package/lib/components/GlobalFilter/GlobalFilter.constant.js +17 -0
  53. package/lib/components/GlobalFilter/GlobalFilter.date.component.js +34 -0
  54. package/lib/components/GlobalFilter/GlobalFilter.interface.js +2 -0
  55. package/lib/components/GlobalFilter/GlobalFilter.provider.js +169 -0
  56. package/lib/components/GlobalFilter/GlobalFilter.styled.js +16 -0
  57. package/lib/components/GlobalFilter/index.js +16 -0
  58. package/lib/components/Guard/Guard.component.js +18 -0
  59. package/lib/components/Guard/index.js +13 -0
  60. package/lib/components/IframeLoader/IframeLoader.js +47 -0
  61. package/lib/components/IframeLoader/index.js +13 -0
  62. package/lib/components/Input/Input.component.js +167 -0
  63. package/lib/components/Input/index.js +13 -0
  64. package/lib/components/LanguageSwitcher/LanguageSwitcher.component.js +78 -0
  65. package/lib/components/LanguageSwitcher/LanguageSwitcher.state.js +20 -0
  66. package/lib/components/LanguageSwitcher/LanguageSwitcher.styled.js +40 -0
  67. package/lib/components/LanguageSwitcher/index.js +13 -0
  68. package/lib/components/List/List.js +46 -0
  69. package/lib/components/List/index.js +13 -0
  70. package/lib/components/ListSelector/ListSelector.component.js +22 -0
  71. package/lib/components/ListSelector/ListSelector.state.js +11 -0
  72. package/lib/components/ListSelector/ListSelector.styled.js +15 -0
  73. package/lib/components/ListSelector/index.js +13 -0
  74. package/lib/components/Loading/Loading.js +52 -0
  75. package/lib/components/Loading/Loading.styled.js +45 -0
  76. package/lib/components/Loading/index.js +13 -0
  77. package/lib/components/LoadingModule/LoadingModule.component.js +49 -0
  78. package/lib/components/LoadingModule/index.js +13 -0
  79. package/lib/components/MobileAppBar/MobileAppBar.js +90 -0
  80. package/lib/components/MobileAppBar/MobileAppBar.styled.js +36 -0
  81. package/lib/components/MobileAppBar/WithMobileAppBar.js +43 -0
  82. package/lib/components/MobileAppBar/index.js +14 -0
  83. package/lib/components/Modal/Modal.js +149 -0
  84. package/lib/components/Modal/ModalManager.context.js +6 -0
  85. package/lib/components/Modal/ModalManager.js +118 -0
  86. package/lib/components/Modal/index.js +15 -0
  87. package/lib/components/Navigation/Navigation.component.js +25 -0
  88. package/lib/components/Navigation/Navigation.provider.js +69 -0
  89. package/lib/components/Navigation/Navigation.styled.js +33 -0
  90. package/lib/components/Navigation/index.js +14 -0
  91. package/lib/components/PageTitle/PageTitle.component.js +47 -0
  92. package/lib/components/PageTitle/index.js +13 -0
  93. package/lib/components/Pagination/Pagination.component.js +49 -0
  94. package/lib/components/Pagination/index.js +13 -0
  95. package/lib/components/Radio/Radio.component.js +69 -0
  96. package/lib/components/Radio/Radio.styled.js +44 -0
  97. package/lib/components/Radio/RadioGroup.component.js +24 -0
  98. package/lib/components/Radio/RadioGroup.context.js +6 -0
  99. package/lib/components/Radio/index.js +15 -0
  100. package/lib/components/Separator/Separator.component.js +59 -0
  101. package/lib/components/Separator/index.js +13 -0
  102. package/lib/components/Skeleton/SkeletonApp.component.js +90 -0
  103. package/lib/components/Skeleton/SkeletonTable.component.js +36 -0
  104. package/lib/components/Skeleton/SkeletonText.component.js +62 -0
  105. package/lib/components/Skeleton/SkeletonWrapper.component.js +46 -0
  106. package/lib/components/Skeleton/index.js +16 -0
  107. package/lib/components/Stepper/Stepper.component.js +126 -0
  108. package/lib/components/Stepper/WithStepper.js +65 -0
  109. package/lib/components/Stepper/index.js +16 -0
  110. package/lib/components/Table/Table.component.js +71 -0
  111. package/lib/components/Table/Table.styled.js +51 -0
  112. package/lib/components/Table/index.js +13 -0
  113. package/lib/components/TableContainer/TableContainer.js +32 -0
  114. package/lib/components/TableContainer/index.js +13 -0
  115. package/lib/components/Text/Text.component.js +90 -0
  116. package/lib/components/Text/index.js +13 -0
  117. package/lib/components/Toast/Toast.component.js +65 -0
  118. package/lib/components/Toast/Toast.interface.js +2 -0
  119. package/lib/components/Toast/Toast.manager.js +61 -0
  120. package/lib/components/Toast/Toast.provider.js +85 -0
  121. package/lib/components/Toast/Toast.styled.js +18 -0
  122. package/lib/components/Toast/index.js +15 -0
  123. package/lib/components/Tours/index.js +100 -0
  124. package/lib/components/index.js +51 -0
  125. package/lib/constants/AndroidVersions.js +6 -0
  126. package/lib/constants/AppNames.js +10 -0
  127. package/lib/constants/AsphaltTheme.js +43 -0
  128. package/lib/constants/GobizApp.js +11 -0
  129. package/lib/constants/MediaQueries.js +30 -0
  130. package/lib/constants/PostalCodes.js +8382 -0
  131. package/lib/constants/PubsubEvents.js +12 -0
  132. package/lib/constants/TnCFiles.js +77 -0
  133. package/lib/constants/ValidationRegex.js +6 -0
  134. package/lib/constants/cookies.js +38 -0
  135. package/lib/constants/datetime.js +103 -0
  136. package/lib/constants/index.js +24 -0
  137. package/lib/constants/roles.js +17 -0
  138. package/lib/contexts/AppTheme.js +221 -0
  139. package/lib/decorators/utility-classes.js +78 -0
  140. package/lib/decorators/withStyles.js +73 -0
  141. package/lib/helpers/BrowserEnvironment.js +22 -0
  142. package/lib/helpers/ESQuery.js +98 -0
  143. package/lib/helpers/chart.js +251 -0
  144. package/lib/helpers/cleanObject.js +15 -0
  145. package/lib/helpers/conversion.js +4 -0
  146. package/lib/helpers/cookies.js +54 -0
  147. package/lib/helpers/copywrite.js +15 -0
  148. package/lib/helpers/currency.js +73 -0
  149. package/lib/helpers/dateFormat.js +47 -0
  150. package/lib/helpers/datePresets.js +77 -0
  151. package/lib/helpers/debounce.js +31 -0
  152. package/lib/helpers/deepMerge.js +81 -0
  153. package/lib/helpers/downloadURL.js +11 -0
  154. package/lib/helpers/enumReverseMap.js +12 -0
  155. package/lib/helpers/env.js +18 -0
  156. package/lib/helpers/fileDownloader.js +33 -0
  157. package/lib/helpers/formatNumber.js +10 -0
  158. package/lib/helpers/formatPercentage.js +13 -0
  159. package/lib/helpers/gobizApp.js +27 -0
  160. package/lib/helpers/identityValidator.js +6 -0
  161. package/lib/helpers/index.js +50 -0
  162. package/lib/helpers/json.js +17 -0
  163. package/lib/helpers/logger.js +93 -0
  164. package/lib/helpers/maskAccount.js +26 -0
  165. package/lib/helpers/numbers.js +6 -0
  166. package/lib/helpers/path.js +27 -0
  167. package/lib/helpers/paymentTypeHuman.js +62 -0
  168. package/lib/helpers/refreshConfig.js +12 -0
  169. package/lib/helpers/refreshToken.js +108 -0
  170. package/lib/helpers/safeParse.js +31 -0
  171. package/lib/helpers/scrollToTop.js +9 -0
  172. package/lib/helpers/shortID.js +17 -0
  173. package/lib/helpers/textParser.js +10 -0
  174. package/lib/helpers/time.js +54 -0
  175. package/lib/helpers/tour.js +38 -0
  176. package/lib/helpers/transform.js +24 -0
  177. package/lib/helpers/url.js +30 -0
  178. package/lib/helpers/wildcardToRegEx.js +15 -0
  179. package/lib/hooks/index.js +26 -0
  180. package/lib/hooks/useBreakpoint.js +35 -0
  181. package/lib/hooks/useCurrency.js +27 -0
  182. package/lib/hooks/useDatesFromTimeRange.js +40 -0
  183. package/lib/hooks/useEventListener.js +24 -0
  184. package/lib/hooks/useFormValidator.js +38 -0
  185. package/lib/hooks/useHttpOptions.js +104 -0
  186. package/lib/hooks/useLogger.js +57 -0
  187. package/lib/hooks/useNavigation.js +16 -0
  188. package/lib/hooks/usePhone.js +14 -0
  189. package/lib/hooks/useQueryInit.js +21 -0
  190. package/lib/hooks/useQueryParams.js +95 -0
  191. package/lib/hooks/useShowGlobalFilter.js +101 -0
  192. package/lib/hooks/useWebview.js +48 -0
  193. package/lib/hooks/useWindow.js +19 -0
  194. package/lib/models/AuthUser.model.js +159 -0
  195. package/lib/models/Outlet.model.js +274 -0
  196. package/lib/models/User.model.js +106 -0
  197. package/lib/models/index.js +15 -0
  198. package/lib/providers/Alert.provider.js +65 -0
  199. package/lib/providers/AppTheme.provider.js +75 -0
  200. package/lib/providers/Auth.provider.js +239 -0
  201. package/lib/providers/Clevertap.provider.js +117 -0
  202. package/lib/providers/GoogleAnalytics.provider.js +113 -0
  203. package/lib/providers/Host.provider.js +71 -0
  204. package/lib/providers/Language.provider.js +127 -0
  205. package/lib/providers/Logger.provider.js +32 -0
  206. package/lib/providers/MicroApp.provider.js +63 -0
  207. package/lib/providers/Outlets.provider.js +180 -0
  208. package/lib/providers/Token.provider.js +101 -0
  209. package/lib/providers/Translation.provider.js +56 -0
  210. package/lib/providers/index.js +24 -0
  211. 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,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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);