empower-container 0.1.12 → 0.1.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. package/package.json +1 -1
  2. package/public/favicon.ico +0 -0
  3. package/public/index.html +43 -0
  4. package/public/logo192.png +0 -0
  5. package/public/logo512.png +0 -0
  6. package/public/manifest.json +25 -0
  7. package/public/robots.txt +3 -0
  8. package/src/index.tsx +15 -0
  9. package/{dist/cjs → src/main}/DatetimeFormatter.d.ts +0 -0
  10. package/{dist/cjs → src/main}/DatetimeFormatter.js +0 -0
  11. package/{dist/esm/DatetimeFormatter.js → src/main/DatetimeFormatter.tsx} +139 -132
  12. package/{dist/cjs → src/main}/Information.d.ts +0 -0
  13. package/src/main/Information.js +65 -0
  14. package/src/main/Information.tsx +112 -0
  15. package/{dist/cjs → src/main}/MenuBar.d.ts +0 -0
  16. package/src/main/MenuBar.js +651 -0
  17. package/src/main/MenuBar.tsx +1074 -0
  18. package/{dist/cjs → src/main}/Modal.d.ts +0 -0
  19. package/src/main/Modal.js +24 -0
  20. package/src/main/Modal.tsx +83 -0
  21. package/{dist → src/main}/assets/Asset.d.ts +0 -0
  22. package/{dist → src/main}/assets/Asset.js +0 -0
  23. package/{dist → src/main}/assets/Asset.tsx +0 -0
  24. package/{dist → src/main}/assets/icons/icon-check-white-sm.svg +0 -0
  25. package/{dist → src/main}/assets/images/icon-arrowdown-graydark.svg +0 -0
  26. package/{dist → src/main}/assets/images/icon-arrowleft-graydark.svg +0 -0
  27. package/{dist → src/main}/assets/images/icon-arrowright-graydark.svg +0 -0
  28. package/{dist → src/main}/assets/images/icon-arrowup-graydark.svg +0 -0
  29. package/{dist → src/main}/assets/images/icon-check-graydark.svg +0 -0
  30. package/{dist/cjs → src/main}/constants/Constant.d.ts +0 -0
  31. package/{dist/esm → src/main}/constants/Constant.js +21 -9
  32. package/{dist/cjs → src/main}/index.d.ts +0 -0
  33. package/{dist/cjs → src/main}/index.js +0 -0
  34. package/{dist/esm/index.d.ts → src/main/index.tsx} +3 -1
  35. package/{dist/cjs → src/main}/inputs/Input.d.ts +0 -0
  36. package/{dist/cjs → src/main}/inputs/Input.js +36 -7
  37. package/src/main/inputs/Input.tsx +193 -0
  38. package/{dist/cjs → src/main}/inputs/InputSelectionHandler.d.ts +0 -0
  39. package/{dist/cjs → src/main}/inputs/InputSelectionHandler.js +3 -3
  40. package/src/main/inputs/InputSelectionHandler.tsx +21 -0
  41. package/{dist/cjs → src/main}/inputs/Select.d.ts +0 -0
  42. package/{dist/cjs → src/main}/inputs/Select.js +64 -11
  43. package/src/main/inputs/Select.tsx +654 -0
  44. package/src/main/tsconfig.common.json +34 -0
  45. package/src/main/tsconfig.json +35 -0
  46. package/src/sample/App.css +38 -0
  47. package/src/sample/App.d.ts +3 -0
  48. package/src/sample/App.js +13 -0
  49. package/src/sample/App.test.d.ts +1 -0
  50. package/src/sample/App.test.js +13 -0
  51. package/src/sample/App.test.tsx +9 -0
  52. package/src/sample/App.tsx +15 -0
  53. package/src/sample/TestMenuBar.d.ts +3 -0
  54. package/src/sample/TestMenuBar.js +529 -0
  55. package/src/sample/TestMenuBar.tsx +380 -0
  56. package/src/sample/react-app-env.d.ts +1 -0
  57. package/src/sample/reportWebVitals.d.ts +3 -0
  58. package/src/sample/reportWebVitals.js +38 -0
  59. package/src/sample/reportWebVitals.ts +15 -0
  60. package/src/sample/setupTests.d.ts +1 -0
  61. package/src/sample/setupTests.js +7 -0
  62. package/src/sample/setupTests.ts +5 -0
  63. package/src/sample/tsconfig.json +36 -0
  64. package/{dist → src}/scss/components/_modal.scss +0 -0
  65. package/{dist → src}/scss/elements/_button.scss +0 -0
  66. package/{dist → src}/scss/elements/_index.scss +0 -0
  67. package/{dist → src}/scss/elements/_popover.scss +0 -0
  68. package/{dist → src}/scss/foundation/_colors.scss +0 -0
  69. package/{dist → src}/scss/foundation/_mixins.scss +0 -0
  70. package/{dist → src}/scss/foundation/_normalize.scss +0 -0
  71. package/{dist → src}/scss/foundation/_settings.scss +0 -0
  72. package/{dist → src}/scss/foundation/_typography.scss +0 -0
  73. package/{dist → src}/scss/library/_information.scss +0 -0
  74. package/{dist → src}/scss/library/_input.scss +0 -0
  75. package/{dist → src}/scss/library/_menubar.scss +0 -0
  76. package/{dist → src}/scss/library/_select.scss +0 -0
  77. package/{dist → src}/scss/style.scss +0 -0
  78. package/dist/cjs/Information.js +0 -63
  79. package/dist/cjs/MenuBar.js +0 -537
  80. package/dist/cjs/Modal.js +0 -32
  81. package/dist/cjs/assets/Asset.d.ts +0 -16
  82. package/dist/cjs/assets/Asset.js +0 -30
  83. package/dist/cjs/constants/Constant.js +0 -35
  84. package/dist/esm/DatetimeFormatter.d.ts +0 -3
  85. package/dist/esm/Information.d.ts +0 -10
  86. package/dist/esm/Information.js +0 -38
  87. package/dist/esm/MenuBar.d.ts +0 -24
  88. package/dist/esm/MenuBar.js +0 -532
  89. package/dist/esm/Modal.d.ts +0 -33
  90. package/dist/esm/Modal.js +0 -27
  91. package/dist/esm/assets/Asset.d.ts +0 -16
  92. package/dist/esm/assets/Asset.js +0 -27
  93. package/dist/esm/constants/Constant.d.ts +0 -15
  94. package/dist/esm/index.js +0 -3
  95. package/dist/esm/inputs/Input.d.ts +0 -25
  96. package/dist/esm/inputs/Input.js +0 -104
  97. package/dist/esm/inputs/InputSelectionHandler.d.ts +0 -3
  98. package/dist/esm/inputs/InputSelectionHandler.js +0 -31
  99. package/dist/esm/inputs/Select.d.ts +0 -28
  100. package/dist/esm/inputs/Select.js +0 -399
@@ -0,0 +1,651 @@
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
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
37
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
38
+ if (ar || !(i in from)) {
39
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
40
+ ar[i] = from[i];
41
+ }
42
+ }
43
+ return to.concat(ar || Array.prototype.slice.call(from));
44
+ };
45
+ var __importDefault = (this && this.__importDefault) || function (mod) {
46
+ return (mod && mod.__esModule) ? mod : { "default": mod };
47
+ };
48
+ Object.defineProperty(exports, "__esModule", { value: true });
49
+ /* eslint-disable no-useless-concat */
50
+ /* eslint-disable jsx-a11y/anchor-is-valid */
51
+ var react_1 = __importStar(require("react"));
52
+ require("../scss/style.scss");
53
+ // Imports
54
+ var Asset_1 = require("./assets/Asset");
55
+ var Constant_1 = require("./constants/Constant");
56
+ var Information_1 = __importDefault(require("./Information"));
57
+ var InputSelectionHandler_1 = __importDefault(require("./inputs/InputSelectionHandler"));
58
+ var DatetimeFormatter_1 = __importDefault(require("./DatetimeFormatter"));
59
+ var Select_1 = require("./inputs/Select");
60
+ // Package
61
+ var react_date_range_1 = require("react-date-range");
62
+ var MenuBar = function (_a) {
63
+ var config = _a.config, info = _a.info, button = _a.button, getActions = _a.getActions, dropdown = _a.dropdown, search = _a.search, pagination = _a.pagination, pivot = _a.pivot, check = _a.check, toggle = _a.toggle, mainButton = _a.mainButton, buttonFooter = _a.buttonFooter, undoButton = _a.undoButton, customClass = _a.customClass, children = _a.children;
64
+ // React Hooks Popover
65
+ var _b = (0, react_1.useState)(null), infoPopover = _b[0], setInfoPopover = _b[1];
66
+ var _c = (0, react_1.useState)(null), mainButtonPopover = _c[0], setMainButtonPopover = _c[1];
67
+ var _d = (0, react_1.useState)(null), dropdownPopover = _d[0], setDropdownPopover = _d[1];
68
+ var _e = (0, react_1.useState)(null), paginationSummaryPopover = _e[0], setPaginationSummaryPopover = _e[1];
69
+ var _f = (0, react_1.useState)(null), pivotPopover = _f[0], setPivotPopover = _f[1];
70
+ var _g = (0, react_1.useState)(null), filterPopover = _g[0], setFilterPopover = _g[1];
71
+ var _h = (0, react_1.useState)(""), calendarYear = _h[0], setCalendarYear = _h[1];
72
+ var _j = (0, react_1.useState)(null), minMonthIdx = _j[0], setMinMonthIdx = _j[1];
73
+ var _k = (0, react_1.useState)(null), maxMonthIdx = _k[0], setMaxMonthIdx = _k[1];
74
+ // React Hooks Variables
75
+ var _l = (0, react_1.useState)(''), searchTemporaryValue = _l[0], setSearchTemporaryValue = _l[1];
76
+ var _m = (0, react_1.useState)(1), goToPage = _m[0], setGoToPage = _m[1];
77
+ var _o = (0, react_1.useState)(""), perPageTemporaryValue = _o[0], setPerPageTemporaryValue = _o[1];
78
+ var _p = (0, react_1.useState)([]), paginationSummaryFormError = _p[0], setPaginationSummaryFormError = _p[1];
79
+ var _q = (0, react_1.useState)(false), loaded = _q[0], setLoaded = _q[1];
80
+ var _r = (0, react_1.useState)(0), seconds = _r[0], setSeconds = _r[1];
81
+ var _s = (0, react_1.useState)(undoButton && undoButton.show ? true : false), undoShow = _s[0], setUndoShow = _s[1];
82
+ var _t = (0, react_1.useState)(false), doneTimer = _t[0], setDoneTimer = _t[1];
83
+ (0, react_1.useEffect)(function () {
84
+ var filteredMonthList = [];
85
+ if (dropdown && dropdown.minMonth) {
86
+ filteredMonthList = __spreadArray([], Constant_1.MONTH_LIST, true).filter(function (item) { return (item.value.toLowerCase() === dropdown.minMonth.toLowerCase()); });
87
+ if (filteredMonthList.length > 0) {
88
+ minMonthIdx = Constant_1.MONTH_LIST.indexOf(filteredMonthList[0]);
89
+ setMinMonthIdx(minMonthIdx);
90
+ }
91
+ }
92
+ if (dropdown && dropdown.maxMonth) {
93
+ filteredMonthList = __spreadArray([], Constant_1.MONTH_LIST, true).filter(function (item) { return (item.value.toLowerCase() === dropdown.maxMonth.toLowerCase()); });
94
+ if (filteredMonthList.length > 0) {
95
+ maxMonthIdx = Constant_1.MONTH_LIST.indexOf(filteredMonthList[0]);
96
+ setMaxMonthIdx(maxMonthIdx);
97
+ }
98
+ }
99
+ if (search && search.value && loaded === false) {
100
+ setSearchTemporaryValue(search.value);
101
+ setLoaded(true);
102
+ }
103
+ if (undoButton && undoButton.show) {
104
+ var buttonWithTimer_1 = undoButton.actions && undoButton.actions.constructor === Array && undoButton.actions.length > 0 ? (undoButton.actions.filter(function (item) { return (item.hasOwnProperty('timer') && item.timer !== undefined && item.timer.constructor === Number); })) : [];
105
+ if (buttonWithTimer_1.length > 0) {
106
+ if (undoShow !== undoButton.show) {
107
+ if (buttonWithTimer_1[0] && buttonWithTimer_1[0].hasOwnProperty('timer')) {
108
+ buttonWithTimer_1[0].timer && setSeconds(buttonWithTimer_1[0].timer);
109
+ }
110
+ setDoneTimer(false);
111
+ setUndoShow(undoButton.show ? true : false);
112
+ }
113
+ var myInterval_1 = setInterval(function () {
114
+ if (seconds > 0) {
115
+ setSeconds(seconds - 1);
116
+ }
117
+ else {
118
+ if (!doneTimer) {
119
+ clearInterval(myInterval_1);
120
+ setDoneTimer(true);
121
+ returnValues('button', buttonWithTimer_1[0].action, null);
122
+ }
123
+ }
124
+ }, 1000);
125
+ return function () {
126
+ clearInterval(myInterval_1);
127
+ };
128
+ }
129
+ }
130
+ else {
131
+ setUndoShow(false);
132
+ }
133
+ });
134
+ // Belt Configuration Variables
135
+ info = info ? (info.constructor === Object && info.infoDetails ? (info) : info.constructor === String ? (info) : Constant_1.INFO_LOADER) : Constant_1.INFO_LOADER;
136
+ var dropdownTitle = dropdown && (dropdown.type === 'list' || dropdown.type === 'button') ? (dropdown.title ? dropdown.title : "") : dropdown && dropdown.type === 'date-picker-weekly' ? (dropdown.selection && dropdown.selection.startDate && dropdown.selection.endDate ? (dropdown.selection.startDate + ' to ' + dropdown.selection.endDate) : "") : dropdown && dropdown.type === 'date-picker-monthly' ? dropdown.selection.startDate : "";
137
+ /**
138
+ * popoverRequestHandler
139
+ * hide and show the popover of specific action
140
+ * @param {*} e - event of the click item
141
+ * @param {*} popover - popover type
142
+ */
143
+ var popoverRequestHandler = function (e, popover, hide) {
144
+ if (hide === void 0) { hide = false; }
145
+ switch (popover) {
146
+ case 'info':
147
+ var currentTarget_1 = e.currentTarget;
148
+ if (hide === false && info.constructor === String && info === Constant_1.INFO_LOADER) {
149
+ actionRequestHandler(e, 'icon', 'info');
150
+ setInfoPopover(e.currentTarget);
151
+ setTimeout(function () {
152
+ setInfoPopover(null);
153
+ setInfoPopover(currentTarget_1);
154
+ }, 2000);
155
+ }
156
+ else {
157
+ infoPopover ? setInfoPopover(null) : setInfoPopover(e.currentTarget);
158
+ }
159
+ break;
160
+ case 'dropdown':
161
+ if (dropdown.type === 'date-picker-monthly' && !dropdownPopover) {
162
+ dropdown.selection && dropdown.selection.startDate ? setCalendarYear((0, DatetimeFormatter_1.default)(dropdown.selection.startDate, 'full-year')) : setCalendarYear(new Date());
163
+ }
164
+ else if (dropdown.type === 'date-picker-cutoff' && !dropdownPopover) {
165
+ setCalendarYear(dropdown.currentYear); //need to improve on this one
166
+ }
167
+ dropdownPopover ? setDropdownPopover(null) : setDropdownPopover(e.currentTarget);
168
+ break;
169
+ case 'pagination-summary':
170
+ if (!Boolean(paginationSummaryPopover)) {
171
+ pagination && pagination.page ? setGoToPage(pagination.page) : setGoToPage(1);
172
+ setPerPageTemporaryValue(pagination.perPage ? pagination.perPage.toString() : '');
173
+ }
174
+ paginationSummaryPopover ? setPaginationSummaryPopover(null) : setPaginationSummaryPopover(e.currentTarget);
175
+ break;
176
+ case 'pivot':
177
+ pivotPopover ? setPivotPopover(null) : setPivotPopover(e.currentTarget);
178
+ break;
179
+ case 'filter':
180
+ filterPopover ? setFilterPopover(null) : setFilterPopover(e.currentTarget);
181
+ break;
182
+ case 'main-button':
183
+ if (hide) {
184
+ setMainButtonPopover(null);
185
+ }
186
+ else {
187
+ mainButtonPopover ? setMainButtonPopover(null) : setMainButtonPopover(e.currentTarget);
188
+ }
189
+ break;
190
+ default:
191
+ break;
192
+ }
193
+ };
194
+ /**
195
+ * actionRequestHandler
196
+ * manipulate the action and data of each action
197
+ * @param {*} e - event
198
+ * @param {*} type - action type / can be the action itself
199
+ * @param {*} action - it can be action type / data depends on the used actions
200
+ */
201
+ var actionRequestHandler = function (e, type, action, hidePopover) {
202
+ if (hidePopover === void 0) { hidePopover = true; }
203
+ if (e.preventDefault) {
204
+ e.preventDefault();
205
+ }
206
+ var data = null;
207
+ var addedParam = null;
208
+ if (type === 'search') {
209
+ data = searchTemporaryValue;
210
+ }
211
+ else if (type === 'pagination' || type === 'pagination-summary') {
212
+ data = pagination;
213
+ }
214
+ else if (type === 'dropdown' || type === 'pivot' || type === 'main-button' || type === 'button' || type === 'icon' || type === 'check' || type === 'tab' || type === 'toggle') {
215
+ data = action;
216
+ action = type;
217
+ if (dropdown && dropdown.type === 'date-picker-cutoff') {
218
+ addedParam = calendarYear;
219
+ }
220
+ }
221
+ else if (type === 'undo-button') {
222
+ data = action;
223
+ action = type;
224
+ }
225
+ if (hidePopover) {
226
+ popoverRequestHandler(e, type, true);
227
+ }
228
+ setTimeout(function () {
229
+ returnValues(action, data, addedParam);
230
+ }, 200);
231
+ };
232
+ /**
233
+ * handleChangeFormValue
234
+ * manipulate the inputs temporary values
235
+ * @param {*} e - event
236
+ * @param {*} type - type of the input that has been changed
237
+ */
238
+ var handleChangeFormValue = function (e, type) {
239
+ switch (type) {
240
+ case 'search':
241
+ e.target.value ? setSearchTemporaryValue(e.target.value) : setSearchTemporaryValue("");
242
+ break;
243
+ case 'show-per-page':
244
+ setPerPageTemporaryValue(e.target.value.toString());
245
+ setGoToPage(1);
246
+ if (paginationSummaryFormError.indexOf('perPageTemporaryValue') >= 0 && (e !== "")) {
247
+ paginationSummaryFormError = paginationSummaryFormError.filter(function (item) { return item !== 'perPageTemporaryValue'; });
248
+ setPaginationSummaryFormError(paginationSummaryFormError);
249
+ }
250
+ break;
251
+ case 'go-to-page':
252
+ setGoToPage(e.target.value);
253
+ if (paginationSummaryFormError.indexOf('goToPage') >= 0 && (e.currentTarget.value !== "" || e.currentTarget.value > 1)) {
254
+ paginationSummaryFormError = paginationSummaryFormError.filter(function (item) { return item !== 'goToPage'; });
255
+ setPaginationSummaryFormError(paginationSummaryFormError);
256
+ }
257
+ break;
258
+ case 'advanced-filter':
259
+ returnValues(type, e);
260
+ break;
261
+ default:
262
+ break;
263
+ }
264
+ };
265
+ /**
266
+ * paginationRequestHandler
267
+ * manipulate the paginations value depend on the action
268
+ * @param {*} e - event
269
+ * @param {*} action - action that the user do
270
+ */
271
+ var paginationRequestHandler = function (e, action) {
272
+ e.preventDefault();
273
+ var paginationCopy = __assign({}, pagination);
274
+ switch (action) {
275
+ case 'check-pagination-required':
276
+ var formError = [];
277
+ if (goToPage === "" || goToPage < 1) {
278
+ formError.push('goToPage');
279
+ }
280
+ if (perPageTemporaryValue === "") {
281
+ formError.push('perPageTemporaryValue');
282
+ }
283
+ return formError;
284
+ case 'submit':
285
+ var errorFields = paginationRequestHandler(e, 'check-pagination-required');
286
+ if (errorFields.length > 0) {
287
+ setPaginationSummaryFormError(errorFields);
288
+ }
289
+ else {
290
+ pagination.perPage = perPageTemporaryValue ? parseInt(perPageTemporaryValue) : pagination.perPage;
291
+ pagination.page = goToPage ? ((pagination.perPage * goToPage) > pagination.total ? (Math.floor(pagination.total / pagination.perPage) + 1) : parseInt(goToPage)) : 1;
292
+ pagination.counter = (pagination.page * pagination.perPage) > pagination.total ? pagination.total : (pagination.page * pagination.perPage);
293
+ // if (paginationCopy.perPage !== pagination.perPage || paginationCopy.page !== pagination.page || paginationCopy.counter !== pagination.counter) {
294
+ actionRequestHandler(e, 'pagination-summary', 'pagination');
295
+ // }
296
+ }
297
+ break;
298
+ case 'next':
299
+ pagination.page = ((pagination.page++) * pagination.perPage) > pagination.total ? (Math.floor(pagination.total / pagination.perPage) + 1) : pagination.page++;
300
+ pagination.counter = (pagination.page * pagination.perPage) > pagination.total ? pagination.total : (pagination.page * pagination.perPage);
301
+ if (paginationCopy.page !== pagination.page || paginationCopy.counter !== pagination.counter) {
302
+ actionRequestHandler(e, 'pagination', 'pagination');
303
+ }
304
+ break;
305
+ case 'prev':
306
+ pagination.page = pagination.page > 1 ? pagination.page -= 1 : pagination.page;
307
+ pagination.counter = pagination.page * pagination.perPage;
308
+ if (paginationCopy.page !== pagination.page || paginationCopy.counter !== pagination.counter) {
309
+ actionRequestHandler(e, 'pagination', 'pagination');
310
+ }
311
+ break;
312
+ default:
313
+ break;
314
+ }
315
+ };
316
+ /**
317
+ * checkboxRequestHandler
318
+ * select all / unselect all items
319
+ * @param {*} e - event
320
+ * @param {*} action - action of the checkbox
321
+ */
322
+ var checkboxRequestHandler = function (e, action) {
323
+ // e.preventDefault();
324
+ if (check.disabled !== true) {
325
+ if (action === 'all') {
326
+ actionRequestHandler(e, 'check', 'all');
327
+ }
328
+ else {
329
+ actionRequestHandler(e, 'check', 'none');
330
+ }
331
+ }
332
+ };
333
+ /**
334
+ * onDatePickerChange
335
+ * change the datepicker value
336
+ * @param {*} e - event
337
+ * @param {*} type - action type
338
+ */
339
+ var onDatePickerChange = function (e, type) {
340
+ if (dropdown.type === 'date-picker-weekly') {
341
+ dropdown.selection.startDate = (0, DatetimeFormatter_1.default)(e, 'start-of-Week');
342
+ dropdown.selection.endDate = (0, DatetimeFormatter_1.default)(e, 'end-of-Week');
343
+ }
344
+ actionRequestHandler(e, type, dropdown.selection);
345
+ };
346
+ /**
347
+ * dateMonthlyPickerHandler
348
+ * selection of month on a calendar and changing of year
349
+ * @param {*} e - event
350
+ * @param {*} action - action type
351
+ */
352
+ var dateMonthlyPickerHandler = function (e, action, data) {
353
+ if (data === void 0) { data = ''; }
354
+ var _a = __assign({}, dropdown), maxYear = _a.maxYear, minYear = _a.minYear;
355
+ var newDateValue = null;
356
+ var standardDate = null;
357
+ var selectedMonthDate = null;
358
+ var monthIdx = null;
359
+ var fullYear = null;
360
+ if (action === 'next') {
361
+ if (!maxYear || (maxYear && parseInt(maxYear) >= calendarYear + 1)) {
362
+ calendarYear += 1;
363
+ setCalendarYear(calendarYear);
364
+ }
365
+ }
366
+ else if (action === 'prev') {
367
+ if (!minYear || (minYear && parseInt(minYear) <= calendarYear - 1)) {
368
+ calendarYear -= 1;
369
+ setCalendarYear(calendarYear);
370
+ }
371
+ }
372
+ else if (action === 'month-selection') {
373
+ newDateValue = (0, DatetimeFormatter_1.default)(data + ' ' + calendarYear, 'month-year');
374
+ actionRequestHandler(e, 'dropdown', newDateValue);
375
+ }
376
+ else if (action === 'next-month') {
377
+ standardDate = (0, DatetimeFormatter_1.default)(dropdown.selection.startDate, 'date-standard');
378
+ selectedMonthDate = new Date(new Date(standardDate).toLocaleString('en-US', { timeZone: 'Asia/Manila' })); //making the date picked as the default gmt so that the new date wont adjust by timezone;
379
+ monthIdx = selectedMonthDate.getMonth();
380
+ fullYear = selectedMonthDate.getFullYear();
381
+ if (monthIdx + 1 < 12) {
382
+ monthIdx = monthIdx + 1;
383
+ }
384
+ else {
385
+ monthIdx = 0;
386
+ fullYear = fullYear + 1;
387
+ }
388
+ if ((!maxYear && !maxMonthIdx) || fullYear < parseInt(maxYear) || (fullYear === parseInt(maxYear) && monthIdx <= parseInt(maxMonthIdx))) {
389
+ newDateValue = (0, DatetimeFormatter_1.default)(Constant_1.MONTH_LIST[monthIdx].value + ' ' + fullYear, 'month-year');
390
+ actionRequestHandler(e, 'dropdown', newDateValue, false);
391
+ }
392
+ }
393
+ else if (action === 'prev-month') {
394
+ standardDate = (0, DatetimeFormatter_1.default)(dropdown.selection.startDate, 'date-standard');
395
+ selectedMonthDate = new Date(new Date(standardDate).toLocaleString('en-US', { timeZone: 'Asia/Manila' })); //making the date picked as the default gmt so that the new date wont adjust by timezone;
396
+ monthIdx = selectedMonthDate.getMonth();
397
+ fullYear = selectedMonthDate.getFullYear();
398
+ if (monthIdx - 1 >= 0) {
399
+ monthIdx = monthIdx - 1;
400
+ }
401
+ else {
402
+ monthIdx = 11;
403
+ fullYear = fullYear - 1;
404
+ }
405
+ if ((!minYear && !minMonthIdx) || fullYear > parseInt(minYear) || (fullYear === parseInt(minYear) && monthIdx >= parseInt(minMonthIdx))) {
406
+ var newDateValue_1 = (0, DatetimeFormatter_1.default)(Constant_1.MONTH_LIST[monthIdx].value + ' ' + fullYear, 'month-year');
407
+ actionRequestHandler(e, 'dropdown', newDateValue_1, false);
408
+ }
409
+ }
410
+ };
411
+ var dateCutoffPickerHandler = function (e, label, value) {
412
+ var cutOffVal = {
413
+ "label": label,
414
+ "value": value,
415
+ };
416
+ actionRequestHandler(e, 'dropdown', cutOffVal);
417
+ };
418
+ /**
419
+ * returnValues
420
+ * return manipulated value from beltConfig to the parent component
421
+ * @param {*} action - done action on beltConfig
422
+ * @param {*} data - manipulated data from the action
423
+ */
424
+ var returnValues = function (action, data, addedParam) {
425
+ if (addedParam === void 0) { addedParam = null; }
426
+ return getActions ? getActions(action, data, addedParam) : false;
427
+ };
428
+ /**
429
+ * dateMonthlyPickerIsSelected
430
+ * determine if month is selected
431
+ * @param {*} month - month value
432
+ */
433
+ var dateMonthlyPickerIsSelected = function (month) {
434
+ var isSelected = false;
435
+ if (dropdown && dropdown.selection && dropdown.selection.startDate && calendarYear) {
436
+ var monthYear = month + ' ' + calendarYear;
437
+ isSelected = (0, DatetimeFormatter_1.default)(dropdown.selection.startDate.toString(), 'month-year') === (0, DatetimeFormatter_1.default)(monthYear, 'month-year') ? true : false;
438
+ }
439
+ return isSelected;
440
+ };
441
+ var isDisabledDropdownPagination = function (action) {
442
+ var _a = __assign({}, dropdown), maxYear = _a.maxYear, minYear = _a.minYear, selection = _a.selection;
443
+ var selectedMonthDate = new Date(selection.startDate);
444
+ var monthIdx = selectedMonthDate.getMonth();
445
+ var fullYear = selectedMonthDate.getFullYear();
446
+ if (action === 'prev') {
447
+ if (minYear && minMonthIdx && fullYear === parseInt(minYear) && monthIdx === parseInt(minMonthIdx)) {
448
+ return ' is-disabled';
449
+ }
450
+ else {
451
+ return '';
452
+ }
453
+ }
454
+ else if (action === 'next') {
455
+ if (maxYear && maxMonthIdx && fullYear === parseInt(maxYear) && monthIdx === parseInt(maxMonthIdx)) {
456
+ return ' is-disabled';
457
+ }
458
+ else {
459
+ return '';
460
+ }
461
+ }
462
+ };
463
+ var toggleSelectionHandler = function (event, value) {
464
+ event.preventDefault();
465
+ actionRequestHandler(event, 'toggle', value, false);
466
+ };
467
+ return (react_1.default.createElement("div", { className: customClass && customClass.constructor === String ? customClass : 'custom-card' },
468
+ react_1.default.createElement("div", { className: "em-card-belt" },
469
+ react_1.default.createElement("div", { className: "em-belt-left" },
470
+ react_1.default.createElement("div", { className: "em-beltleft-container" },
471
+ // Back Icon Configuration
472
+ config && config.iconType && ((config.iconType.constructor === Array && config.iconType.length > 0 && config.iconType.indexOf("back") >= 0) || (config.iconType === 'back')) ? (react_1.default.createElement("a", { className: "belt-icon icon-back", href: "#", onClick: function (event) { return actionRequestHandler(event, 'icon', 'back'); }, "data-testid": "menubar-back" }, Asset_1.SVG_BACK)) : null,
473
+ // Check Icon Configuration
474
+ config && config.iconType && ((config.iconType.constructor === Array && config.iconType.length > 0 && config.iconType.indexOf("check") >= 0) || (config.iconType === 'check')) ? (react_1.default.createElement("div", { className: "belt-icon-check", "data-testid": "menubar-checkbox" }, check ? (check.selected === 0 ? (react_1.default.createElement("div", { onClick: function (event) { return checkboxRequestHandler(event, 'all'); } }, Constant_1.CHECKBOX.NONE)) : check.selected > 0 && check.selected < check.total ? (react_1.default.createElement("div", { onClick: function (event) { return checkboxRequestHandler(event, 'all'); } }, Constant_1.CHECKBOX.FEW)) : check.selected === check.total ? (react_1.default.createElement("div", { onClick: function (event) { return checkboxRequestHandler(event, 'none'); } }, Constant_1.CHECKBOX.ALL)) : react_1.default.createElement("div", null, Constant_1.CHECKBOX.NONE)) : react_1.default.createElement("div", null, Constant_1.CHECKBOX.NONE))) : null,
475
+ // Standard Icon Configuration
476
+ config && config.iconType && ((config.iconType.constructor === Array && config.iconType.length > 0 && config.iconType.indexOf("standard") >= 0) || (config.iconType === 'standard')) ? (react_1.default.createElement("div", { className: "belt-icon", "data-testid": "menubar-standard-icon" }, config.icon)) : null,
477
+ react_1.default.createElement("div", { className: "belt-title" },
478
+ // Title Configuration
479
+ check && check.selected && check.selected > 0 && check.selected < check.total ? (react_1.default.createElement("h6", null, "".concat(check.selected, " ").concat(check.selected === 1 ? 'item selected' : 'items selected'))) : check && check.selected && check.selected === check.total ? (react_1.default.createElement("h6", null, "All item(s) selected")) : config && config.title && (config.title.constructor === String || config.title.constructor === Object) ? (react_1.default.createElement("h6", { className: "config-title", "data-testid": "menubar-title" }, config.title)) : null,
480
+ // Title Information Configuration
481
+ config && config.titleDescription ? (react_1.default.createElement("p", null, config.titleDescription)) : null),
482
+ // Information Configuration
483
+ config && config.showInfo.constructor === Boolean && config.showInfo === true ? (react_1.default.createElement(react_1.Fragment, null,
484
+ react_1.default.createElement("div", { className: "em-belt-info" },
485
+ react_1.default.createElement("a", { href: "#", onClick: function (event) { return popoverRequestHandler(event, 'info'); }, "data-testid": "menubar-information" },
486
+ react_1.default.createElement("div", { className: "em-info-icon" }, Asset_1.SVG_INFORMATION)),
487
+ react_1.default.createElement(Select_1.Popover, { id: "InfoPopOver", open: Boolean(infoPopover), className: Boolean(dropdownPopover) ? 'open-popover' : '', onClick: function (event) { return popoverRequestHandler(event, 'info'); } },
488
+ react_1.default.createElement(Information_1.default, { items: info && info.infoDetails ? info.infoDetails : info, listRow: info && info.listRow ? info.listRow : [], desc: info && info.listRow && info.listRow.length > 0 ? false : true, title: config && config.title ? config.title : null, hide: function (event) { return popoverRequestHandler(event, 'info', true); } }))))) : null,
489
+ // Additional title on the modal
490
+ config && config.addedTitle ? (react_1.default.createElement("p", null, config.addedTitle)) : null),
491
+ react_1.default.createElement("div", { className: "em-beltleft-cta" },
492
+ mainButton && mainButton.show ? (mainButton.actions && mainButton.actions.constructor === Array && mainButton.actions.length > 1 ? (react_1.default.createElement(react_1.Fragment, null,
493
+ react_1.default.createElement("div", { className: "em-dropdown" },
494
+ react_1.default.createElement("a", { className: "em-button belt-action-main", id: "main-button", href: "#", onClick: function (event) { return popoverRequestHandler(event, 'main-button'); } },
495
+ react_1.default.createElement("div", { className: "belt-icon" }, mainButton.icon ? mainButton.icon : ''),
496
+ react_1.default.createElement("span", null, mainButton.label ? mainButton.label : 'File a Request')),
497
+ react_1.default.createElement(Select_1.Popover, { id: "mainButtonPopover", open: Boolean(mainButtonPopover), onClick: function (event) { return popoverRequestHandler(event, 'main-button'); }, className: Boolean(dropdownPopover) ? 'open-popover' : '' },
498
+ react_1.default.createElement("div", { className: "popover em-popover-list" }, mainButton.actions.map(function (btn, idx) {
499
+ return react_1.default.createElement("a", { href: "#", key: idx, onClick: function (event) { return actionRequestHandler(event, 'main-button', btn.action); } }, btn.label);
500
+ })))))) : mainButton.actions && mainButton.actions.constructor === Array && mainButton.actions.length === 1 ? (mainButton.actions.map(function (btn, idx) {
501
+ return (react_1.default.createElement("a", { className: btn.class ? 'belt-action ' + btn.class : 'belt-action', href: "#", key: idx, onClick: function (event) { return actionRequestHandler(event, 'main-button', btn.action); } },
502
+ react_1.default.createElement("div", { className: "belt-icon " }, btn.icon ? btn.icon : ''),
503
+ react_1.default.createElement("span", null, btn.label ? btn.label : '')));
504
+ })) : null) : null,
505
+ // Button Actions Configuration
506
+ button && button.show && button.show.constructor === Boolean &&
507
+ button.actions && button.actions.constructor === Array && button.actions.length > 0 ? (button.actions.map(function (btn, idx) {
508
+ return (react_1.default.createElement("a", { className: btn.class ? btn.class : ' belt-action' + ' ' + (idx === 0 ? 'is-primary' : ''), href: "#", key: idx, onClick: function (event) { return actionRequestHandler(event, 'button', btn.action); }, "data-testid": "menubar-button" },
509
+ react_1.default.createElement("div", { className: "belt-icon belt-buttons" }, btn.icon ? btn.icon : ''),
510
+ react_1.default.createElement("span", { "data-testid": 'button-action-' + btn.action }, btn.label ? btn.label : '')));
511
+ })) : null,
512
+ // UndoButton Actions Configuration
513
+ undoButton && undoButton.show && !undoButton.isFooter &&
514
+ undoButton.actions && undoButton.actions.constructor === Array && undoButton.actions.length > 0 ? (undoButton.actions.map(function (btn, idx) {
515
+ return seconds > 0 || (btn.timer !== undefined) ? (react_1.default.createElement("a", __assign({ className: btn.class ? btn.class : 'belt-action' + ' ' + (idx === 0 ? 'is-primary' : '') + (btn.disabled === true ? ' is-disabled' : ' em-button outline button-undo'), href: "#", "data-testid": "undo-button-".concat(btn.action), key: idx }, (btn.disabled === true ? { onClick: function (event) { event.preventDefault(); } } : { onClick: function (event) { return actionRequestHandler(event, 'undo-button', btn.action); } })),
516
+ react_1.default.createElement("div", { className: "belt-icon" }, btn.icon ? btn.icon : ''),
517
+ react_1.default.createElement("span", { "data-testid": "undo-button-text" }, btn.label ? ("".concat(btn.label, " ").concat(btn.timer !== undefined && btn.timer.constructor === Number && seconds > 0 ? ("in ".concat(seconds, "s")) : '')) : ''))) : null;
518
+ })) : null)),
519
+ react_1.default.createElement("div", { className: "em-belt-right" },
520
+ // Dropdown Actions Configuration
521
+ dropdown && dropdown.show && dropdown.show.constructor === Boolean ? (react_1.default.createElement(react_1.Fragment, null,
522
+ react_1.default.createElement("div", { className: "em-dropdown" },
523
+ dropdown.type === 'list' ? (react_1.default.createElement("a", { className: "belt-dropdown", id: "add", href: "#", onClick: function (event) { return popoverRequestHandler(event, 'dropdown'); } },
524
+ react_1.default.createElement("div", { className: "icon-add" }, dropdown.icon ? dropdown.icon : ''),
525
+ react_1.default.createElement("span", null, dropdownTitle))) : dropdown.type === 'date-picker-weekly' ? (react_1.default.createElement("a", { id: "months", className: "belt-dropdown ".concat(Boolean(dropdownPopover) ? 'is-active' : ''), href: "#", onClick: function (event) { return popoverRequestHandler(event, 'dropdown'); } },
526
+ react_1.default.createElement("span", null, dropdownTitle),
527
+ react_1.default.createElement("div", { className: "icon-arrowdown" }, Asset_1.SVG_ARROWDOWN))) : dropdown.type === 'date-picker-monthly' ? (react_1.default.createElement(react_1.Fragment, null,
528
+ react_1.default.createElement("a", { id: "months", className: "belt-dropdown ".concat(Boolean(dropdownPopover) ? 'is-active' : ''), href: "#", onClick: function (event) { return popoverRequestHandler(event, 'dropdown'); } },
529
+ react_1.default.createElement("span", null, dropdownTitle),
530
+ react_1.default.createElement("div", { className: "icon-arrowdown" }, Asset_1.SVG_ARROWDOWN)),
531
+ dropdown.showPagination ? (react_1.default.createElement(react_1.Fragment, null,
532
+ react_1.default.createElement("a", { className: 'belt-prev' + isDisabledDropdownPagination('prev'), href: "#", onClick: function (event) { return dateMonthlyPickerHandler(event, 'prev-month'); } },
533
+ react_1.default.createElement("div", { className: "belt-icon" }, Asset_1.SVG_ARROWLEFT)),
534
+ react_1.default.createElement("a", { className: 'belt-next' + isDisabledDropdownPagination('next'), href: "#", onClick: function (event) { return dateMonthlyPickerHandler(event, 'next-month'); } },
535
+ react_1.default.createElement("div", { className: "belt-icon" }, Asset_1.SVG_ARROWRIGHT)))) : null)) : dropdown.type === 'date-picker-cutoff' ? ((react_1.default.createElement("a", { className: "belt-dropdown", id: "add", href: "#", onClick: function (event) { return popoverRequestHandler(event, 'dropdown'); } },
536
+ react_1.default.createElement("span", null, dropdown.cutoffValue && dropdown.cutoffValue.label ? dropdown.cutoffValue.label : '')))) : dropdown.type === 'button' ? (react_1.default.createElement("a", { className: "belt-dropdown", id: "add", href: "#", onClick: function (event) { return actionRequestHandler(event, 'button', dropdown.action); } },
537
+ react_1.default.createElement("div", { className: "belt-icon" }, dropdown.icon ? dropdown.icon : ''),
538
+ react_1.default.createElement("span", null, dropdownTitle))) : (react_1.default.createElement("a", { className: "belt-dropdown", id: "add", href: "#", onClick: function (event) { return popoverRequestHandler(event, 'dropdown'); } },
539
+ react_1.default.createElement("span", null, dropdownTitle))),
540
+ react_1.default.createElement(Select_1.Popover, { id: "dropdownPopover", className: Boolean(dropdownPopover) ? 'open-popover' : '', open: Boolean(dropdownPopover), onClick: function (event) { return popoverRequestHandler(event, 'dropdown'); } }, dropdown.type === 'list' ? (dropdown.actions && dropdown.actions.constructor === Array && dropdown.actions.length > 0 ? (react_1.default.createElement("div", { className: "popover em-popover-list" }, dropdown.actions.map(function (drpdwn, idx) {
541
+ return react_1.default.createElement("a", { href: "#", key: idx, onClick: function (event) { return actionRequestHandler(event, 'dropdown', drpdwn.value); } }, drpdwn.label);
542
+ }))) : null) : dropdown.type === 'date-picker-weekly' ? (react_1.default.createElement("div", { className: "popover" },
543
+ react_1.default.createElement(react_date_range_1.Calendar, { className: "dateRangePickerInput", onChange: function (event) { return onDatePickerChange(event, 'dropdown'); } }))) : dropdown.type === 'date-picker-monthly' ? (react_1.default.createElement("div", { className: "popover em-popover-months" },
544
+ react_1.default.createElement("div", { className: "list-years" },
545
+ react_1.default.createElement("button", { onClick: function (event) { return dateMonthlyPickerHandler(event, 'prev'); } }, Asset_1.SVG_ARROWLEFT),
546
+ react_1.default.createElement("div", null, calendarYear),
547
+ react_1.default.createElement("button", { onClick: function (event) { return dateMonthlyPickerHandler(event, 'next'); } }, Asset_1.SVG_ARROWRIGHT)),
548
+ react_1.default.createElement("div", { className: "list-months" }, Constant_1.MONTH_LIST.map(function (action, idx) {
549
+ return dropdown.minYear && dropdown.minYear.toString() === calendarYear.toString() && minMonthIdx && minMonthIdx > idx ? (react_1.default.createElement("a", { href: "#", key: idx, className: 'is-disabled', onClick: function (event) { event.preventDefault(); } }, action.label)) : dropdown.maxYear && dropdown.maxYear.toString() === calendarYear.toString() && maxMonthIdx && maxMonthIdx < idx ? (react_1.default.createElement("a", { href: "#", key: idx, className: 'is-disabled', onClick: function (event) { event.preventDefault(); } }, action.label)) : (react_1.default.createElement("a", { className: dateMonthlyPickerIsSelected(action.label) ? 'is-selected' : '', href: "#", key: idx, onClick: function (event) { return dateMonthlyPickerHandler(event, 'month-selection', action.value); } }, action.label));
550
+ })))) : dropdown.type === 'date-picker-cutoff' ? (react_1.default.createElement("div", { className: "popover em-popover-months" },
551
+ react_1.default.createElement("div", { className: "list-years" },
552
+ react_1.default.createElement("button", { onClick: function (event) { return dateMonthlyPickerHandler(event, 'prev'); } },
553
+ react_1.default.createElement("img", { src: "/images/icons/icon-arrowleft-white.svg", alt: "" })),
554
+ react_1.default.createElement("div", null, calendarYear),
555
+ react_1.default.createElement("button", { onClick: function (event) { return dateMonthlyPickerHandler(event, 'next'); } },
556
+ react_1.default.createElement("img", { src: "/images/icons/icon-arrowright-white.svg", alt: "" }))),
557
+ react_1.default.createElement("div", { className: "list-months" }, dropdown.cutoffDates !== null && dropdown.cutoffDates.length > 0 ? (dropdown.cutoffDates.map(function (action, idx) {
558
+ var classSelect;
559
+ if (JSON.stringify(action.label) === JSON.stringify(dropdown.cutoffValue.label)) {
560
+ if (dropdown.currentYear === calendarYear) {
561
+ classSelect = 'is-selected';
562
+ }
563
+ else {
564
+ classSelect = '';
565
+ }
566
+ // classSelect = 'is-selected';
567
+ }
568
+ else {
569
+ classSelect = '';
570
+ }
571
+ return react_1.default.createElement("a", { className: classSelect, href: "#", key: idx, onClick: function (event) { return dateCutoffPickerHandler(event, action.label, action.value); } }, action.label);
572
+ })) : null))) : null)))) : null,
573
+ pagination && pagination.show && pagination.show.constructor === Boolean ? (react_1.default.createElement(react_1.Fragment, null,
574
+ !pagination.hideSummary || pagination.hideSummary === false ? (react_1.default.createElement(react_1.Fragment, null,
575
+ react_1.default.createElement("div", { className: "em-dropdown" },
576
+ react_1.default.createElement("a", { className: "pagination-summary", href: "#", id: "pagination", onClick: function (event) { return popoverRequestHandler(event, 'pagination-summary'); }, "data-testid": "menubar-pagination" },
577
+ (pagination.counter > 0 ? (((pagination.page - 1) * pagination.perPage) + 1) : 0)
578
+ + ' - ' +
579
+ (pagination.page * pagination.perPage > pagination.total ?
580
+ (pagination.total ? pagination.total : pagination.counter) :
581
+ pagination.page * pagination.perPage),
582
+ " of ",
583
+ pagination.total ? pagination.total : 0),
584
+ react_1.default.createElement(Select_1.Popover, { id: "paginationSummaryPopover", className: Boolean(dropdownPopover) ? 'open-popover' : '', open: Boolean(paginationSummaryPopover), onClick: function (event) { return popoverRequestHandler(event, 'pagination-summary'); } }, react_1.default.createElement("div", { className: "popover em-popover-input" },
585
+ react_1.default.createElement("div", { className: 'e-field field field-input' + (paginationSummaryFormError.indexOf('perPageTemporaryValue') >= 0 ? ' is-invalid' : '') },
586
+ react_1.default.createElement("label", { className: 'e-input-label' }, "SHOW"),
587
+ react_1.default.createElement(InputSelectionHandler_1.default, { config: {
588
+ id: 'paginationPerPage',
589
+ type: 'select',
590
+ placeholder: '-',
591
+ value: perPageTemporaryValue,
592
+ options: Constant_1.PAGE_OPTION
593
+ }, onChanged: function (event) { return handleChangeFormValue(event, 'show-per-page'); } })),
594
+ react_1.default.createElement("div", { className: 'e-field field field-input' + (paginationSummaryFormError.indexOf('goToPage') >= 0 ? ' is-invalid' : '') },
595
+ react_1.default.createElement("label", { className: 'e-input-label' }, "GO TO PAGE"),
596
+ react_1.default.createElement("div", { className: "e-input" },
597
+ react_1.default.createElement(InputSelectionHandler_1.default, { config: {
598
+ id: 'goToPage',
599
+ type: 'number',
600
+ value: goToPage,
601
+ placeholder: '-',
602
+ maxLength: 5,
603
+ min: '1',
604
+ }, onChanged: function (event) { return handleChangeFormValue(event, 'go-to-page'); } }))),
605
+ react_1.default.createElement("button", { className: "button-check", onClick: function (event) { return paginationRequestHandler(event, 'submit'); } }, Asset_1.SVG_CHECK)))))) : null,
606
+ react_1.default.createElement("a", __assign({ className: (pagination.page * pagination.perPage) > pagination.perPage ? 'belt-prev' : 'belt-prev is-disabled', href: "#" }, (((pagination.page * pagination.perPage) > pagination.perPage) ? { onClick: function (event) { return paginationRequestHandler(event, 'prev'); } } : { onClick: function (event) { event.preventDefault(); } })),
607
+ react_1.default.createElement("div", { className: "belt-icon" }, Asset_1.SVG_ARROWLEFT)),
608
+ react_1.default.createElement("a", __assign({ className: pagination.total <= (pagination.page * pagination.perPage) ? 'belt-next is-disabled' : 'belt-next', href: "#" }, ((pagination.total <= (pagination.page * pagination.perPage)) ? { onClick: function (event) { event.preventDefault(); } } : { onClick: function (event) { return paginationRequestHandler(event, 'next'); } })),
609
+ react_1.default.createElement("div", { className: "belt-icon" }, Asset_1.SVG_ARROWRIGHT)))) : null,
610
+ // Pivot Configuration
611
+ pivot && pivot.show ? (react_1.default.createElement(react_1.Fragment, null,
612
+ react_1.default.createElement("div", { className: "em-dropdown" },
613
+ react_1.default.createElement("a", { id: "months", className: "belt-dropdown ", href: "#", onClick: function (event) { return popoverRequestHandler(event, 'pivot'); }, "data-testid": "menubar-pivot" },
614
+ react_1.default.createElement("span", null, pivot.selected && pivot.actions &&
615
+ pivot.actions.constructor === Array && pivot.actions.length > 0 ? (pivot.actions.filter(function (item) { return (item.value === pivot.selected); }).length > 0 ? (pivot.actions.filter(function (item) { return (item.value === pivot.selected); })[0].label) : 'None') : 'None'),
616
+ react_1.default.createElement("div", { className: "icon-arrowdown" }, Asset_1.SVG_ARROWDOWN)),
617
+ react_1.default.createElement(Select_1.Popover, { id: "pivotPopover", className: Boolean(dropdownPopover) ? 'open-popover' : '', open: Boolean(pivotPopover), onClick: function (event) { return popoverRequestHandler(event, 'pivot'); } }, pivot.actions && pivot.actions.constructor === Array && pivot.actions.length > 0 ? (react_1.default.createElement("div", { className: "popover em-popover-list" }, pivot.actions.map(function (pvt, idx) {
618
+ return react_1.default.createElement("a", { href: "#", key: idx, onClick: function (event) { return actionRequestHandler(event, 'pivot', pvt.value); } }, pvt.label);
619
+ }))) : null)))) : null,
620
+ // Close Icon Configuration
621
+ config && config.iconType && ((config.iconType.constructor === Array && config.iconType.length > 0 && config.iconType.indexOf("close") >= 0) || (config.iconType === 'close')) ? (react_1.default.createElement("a", { className: "modal-close", href: "#", onClick: function (event) { return actionRequestHandler(event, 'icon', 'close'); }, "date-testid": "menubar-close" }, Asset_1.SVG_CLOSE_GRAY)) : null,
622
+ toggle && toggle.show && toggle.buttons && toggle.buttons.constructor === Array ? (react_1.default.createElement(react_1.Fragment, null,
623
+ react_1.default.createElement("div", { className: "belt-toggle" }, toggle.buttons.map(function (item, idx) { return (react_1.default.createElement("a", { className: "belt-icon icon-calendar " + (item.value === toggle.value ? ' is-active' : ''), key: 'toggle-' + idx, href: "#", onClick: function (event) { return toggleSelectionHandler(event, item.value); } }, item.value === toggle.value ? item.selectedIconDisplay : item.icon)); })))) : null)),
624
+ // Search Configuration
625
+ search && search.show && search.show.constructor === Boolean ? (react_1.default.createElement("div", { className: "field em-card-search" },
626
+ react_1.default.createElement("div", { className: "e-input" },
627
+ react_1.default.createElement(InputSelectionHandler_1.default, { config: {
628
+ id: 'search',
629
+ type: 'text',
630
+ placeholder: search.placeholder ? search.placeholder : 'Search',
631
+ maxLength: 30,
632
+ readOnly: false,
633
+ disabled: false,
634
+ value: searchTemporaryValue ? searchTemporaryValue : ''
635
+ }, onChanged: function (event) { return handleChangeFormValue(event, 'search'); }, keyPressed: function (event) { return actionRequestHandler(event, 'search', 'search'); } })))) : null,
636
+ children,
637
+ react_1.default.createElement("div", { className: "em-card-footer" },
638
+ buttonFooter && buttonFooter.show && buttonFooter.actions.length > 0 &&
639
+ react_1.default.createElement("div", { className: buttonFooter.className }, buttonFooter.actions.map(function (btn, idx) { return (btn.show &&
640
+ react_1.default.createElement("a", __assign({ className: 'em-button ' + btn.className, href: "#", key: idx }, (btn.disabled === true ? { onClick: function (event) { event.preventDefault(); } } : { onClick: function (event) { return actionRequestHandler(event, 'button', btn.action); } }), { "data-testid": btn.id && btn.id.constructor === String ? btn.id : 'default-button-footer' }),
641
+ react_1.default.createElement("div", { className: "icon" }, btn.icon ? btn.icon : ''),
642
+ react_1.default.createElement("span", { "data-testid": 'button-action-' + btn.action }, btn.label ? btn.label : ''))); })),
643
+ // UndoButton Actions Configuration
644
+ undoButton && undoButton.show && undoButton.isFooter &&
645
+ undoButton.actions && undoButton.actions.constructor === Array && undoButton.actions.length > 0 ? (undoButton.actions.map(function (btn, idx) {
646
+ return seconds > 0 || (btn.timer !== undefined) ? (react_1.default.createElement("a", __assign({ className: btn.class ? btn.class : 'em-button ' + ' ' + (idx === 0 ? 'disabled' : 'outline button-undo') + (btn.disabled === true ? ' is-disabled button-undo' : ''), href: "#", "data-testid": "undo-button-".concat(btn.action), key: idx }, (btn.disabled === true ? { onClick: function (event) { event.preventDefault(); } } : { onClick: function (event) { return actionRequestHandler(event, 'undo-button', btn.action); } })),
647
+ react_1.default.createElement("div", { className: "belt-icon" }, btn.icon ? btn.icon : ''),
648
+ react_1.default.createElement("span", { "data-testid": "undo-button-text" }, btn.label ? ("".concat(btn.label, " ").concat(btn.timer !== undefined && btn.timer.constructor === Number && seconds > 0 ? ("in ".concat(seconds, "s")) : '')) : ''))) : null;
649
+ })) : null)));
650
+ };
651
+ exports.default = MenuBar;