@msrajawat298/do-graphs 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/README.md +73 -0
  2. package/dist/App.css +72 -0
  3. package/dist/App.js +124 -0
  4. package/dist/App.test.js +8 -0
  5. package/dist/Assets/Fonts/NotoSans-Bold.ttf +0 -0
  6. package/dist/Assets/Fonts/NotoSans-Medium.ttf +0 -0
  7. package/dist/Assets/Fonts/NotoSans-Regular.ttf +0 -0
  8. package/dist/Assets/Fonts/NotoSans-SemiBold.ttf +0 -0
  9. package/dist/Assets/Images/analytic-graph.png +0 -0
  10. package/dist/Assets/Images/bar-graph.png +0 -0
  11. package/dist/Assets/Images/bubble-chart.png +0 -0
  12. package/dist/Assets/Images/coding.png +0 -0
  13. package/dist/Assets/Images/doughnut.png +0 -0
  14. package/dist/Assets/Images/horizontal-bar-graph.png +0 -0
  15. package/dist/Assets/Images/line-chart.png +0 -0
  16. package/dist/Assets/Images/mixed-chart.png +0 -0
  17. package/dist/Assets/Images/pie-chart.png +0 -0
  18. package/dist/Assets/Images/polar-chart.png +0 -0
  19. package/dist/Assets/Images/progress-bar.png +0 -0
  20. package/dist/Assets/Images/scatter-graph.png +0 -0
  21. package/dist/Assets/Images/table.png +0 -0
  22. package/dist/Assets/Images/travel.png +0 -0
  23. package/dist/Bootstrap.min.css +2 -0
  24. package/dist/Components/Charts/Bar/Form.js +231 -0
  25. package/dist/Components/Charts/Bar/Format.js +43 -0
  26. package/dist/Components/Charts/Bar/index.js +106 -0
  27. package/dist/Components/Charts/Chart.css +203 -0
  28. package/dist/Components/Charts/DoughnutAndPie/Form.js +232 -0
  29. package/dist/Components/Charts/DoughnutAndPie/Format.js +52 -0
  30. package/dist/Components/Charts/DoughnutAndPie/index.js +106 -0
  31. package/dist/Components/Charts/DrawGraph.js +32 -0
  32. package/dist/Components/Charts/Line/Form.js +231 -0
  33. package/dist/Components/Charts/Line/Format.js +47 -0
  34. package/dist/Components/Charts/Line/index.js +106 -0
  35. package/dist/Components/Charts/MixedChart/index.js +107 -0
  36. package/dist/Components/Charts/Options.js +139 -0
  37. package/dist/Components/Charts/PolarArea/Form.js +225 -0
  38. package/dist/Components/Charts/PolarArea/Format.js +42 -0
  39. package/dist/Components/Charts/PolarArea/index.js +106 -0
  40. package/dist/Components/Charts/Progess/Form.js +107 -0
  41. package/dist/Components/Charts/Progess/index.js +119 -0
  42. package/dist/Components/Charts/Scatter/Form.js +225 -0
  43. package/dist/Components/Charts/Scatter/Format.js +45 -0
  44. package/dist/Components/Charts/Scatter/index.js +106 -0
  45. package/dist/Components/Charts/Table/Form.js +70 -0
  46. package/dist/Components/Charts/Table/Styles.js +27 -0
  47. package/dist/Components/Charts/Table/index.js +56 -0
  48. package/dist/Components/Common/CustomComponent/index.js +83 -0
  49. package/dist/Components/Common/Menu/DynamicMenu/List.js +43 -0
  50. package/dist/Components/Common/Menu/DynamicMenu/index.css +109 -0
  51. package/dist/Components/Common/Menu/DynamicMenu/index.js +155 -0
  52. package/dist/Components/Common/Menu/index.css +74 -0
  53. package/dist/Components/Common/Menu/index.js +24 -0
  54. package/dist/Components/Common/Model/Model.css +112 -0
  55. package/dist/Components/Common/Model/Model.js +56 -0
  56. package/dist/Components/Common/MultipleSelectDropdown/index.js +124 -0
  57. package/dist/Components/Common/NotFound/index.css +16 -0
  58. package/dist/Components/Common/NotFound/index.js +19 -0
  59. package/dist/Components/Common/Title/Form.js +36 -0
  60. package/dist/Components/Common/Title/Styles.js +16 -0
  61. package/dist/Components/Common/Title/index.js +41 -0
  62. package/dist/Components/Common/Widget/index.css +435 -0
  63. package/dist/Components/Common/Widget/index.js +407 -0
  64. package/dist/Pages/Dashboard/CreatePage.css +23 -0
  65. package/dist/Pages/Dashboard/CreatePage.js +115 -0
  66. package/dist/Pages/Dashboard/index.css +114 -0
  67. package/dist/Pages/Dashboard/index.js +150 -0
  68. package/dist/Pages/LayoutPages/index.css +80 -0
  69. package/dist/Pages/LayoutPages/index.js +143 -0
  70. package/dist/Pages/Layouts/index.js +52 -0
  71. package/dist/Services/Menu.js +58 -0
  72. package/dist/Services/Routing.js +80 -0
  73. package/dist/Utility/Contexts.js +20 -0
  74. package/dist/Utility/Main.js +368 -0
  75. package/dist/Utility/Routes.js +10 -0
  76. package/dist/index.css +13 -0
  77. package/dist/index.js +15 -0
  78. package/dist/reportWebVitals.js +13 -0
  79. package/dist/setupTests.js +5 -0
  80. package/package.json +72 -0
@@ -0,0 +1,407 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
23
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
28
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
48
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
49
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
50
+ if (ar || !(i in from)) {
51
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
52
+ ar[i] = from[i];
53
+ }
54
+ }
55
+ return to.concat(ar || Array.prototype.slice.call(from));
56
+ };
57
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
58
+ import React, { useContext, useRef, useState } from 'react';
59
+ import './index.css';
60
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
61
+ import { faCaretRight, faLongArrowAltRight, faPlusCircle, faUpload } from '@fortawesome/free-solid-svg-icons';
62
+ import * as XLSX from 'xlsx';
63
+ import { APIRequestMethods, ChartCategories, ChartTypes, getLocal, ModelTypes, Modules, storeLocal } from '../../../Utility/Main';
64
+ import { PopUpContext } from '../../../Utility/Contexts';
65
+ import { faCheckCircle, faEye, faSave } from '@fortawesome/free-regular-svg-icons';
66
+ import { update } from '../../../Services/Routing';
67
+ import { toast } from 'react-toastify';
68
+ import { OptionalBarDatasets } from '../../Charts/Bar/Format';
69
+ import { ChartOptions, DoughnutAndPieOptions } from '../../Charts/Options';
70
+ import { OptionalLineDatasets } from '../../Charts/Line/Format';
71
+ import { OptionalDoughnutDatasets } from '../../Charts/DoughnutAndPie/Format';
72
+ import { OptionalPolarDatasets } from '../../Charts/PolarArea/Format';
73
+ import { TableStyles } from '../../Charts/Table/Styles';
74
+ import { OptionalScatterDatasets } from '../../Charts/Scatter/Format';
75
+ import Model from '../Model/Model';
76
+ import { useNavigate } from 'react-router-dom';
77
+ var Widget = function (props) {
78
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
79
+ var navigate = useNavigate();
80
+ var inputFile = useRef(null);
81
+ var _k = useContext(PopUpContext), setLayout = _k.setLayout, layout = _k.layout, menu = _k.menu, setMenu = _k.setMenu, menuVal = _k.menuVal, setMenuVal = _k.setMenuVal, title = _k.title;
82
+ var getJSONData = getLocal('importedFile');
83
+ var getAxisColumns = getLocal('columnNames');
84
+ var _l = useState(1), activeTab = _l[0], setActiveTab = _l[1];
85
+ var _m = useState(getJSONData ? JSON.parse(getJSONData) : []), jsonData = _m[0], setJsonData = _m[1];
86
+ var _o = useState(0), chartType = _o[0], setChartType = _o[1];
87
+ var _p = useState(getAxisColumns ? JSON.parse(getAxisColumns) : []), axisColumns = _p[0], setAxisColumns = _p[1];
88
+ var _q = useState({
89
+ title: '',
90
+ xLabel: [],
91
+ apiCall: {
92
+ display: false,
93
+ uri: '',
94
+ body: '',
95
+ method: '',
96
+ headers: '',
97
+ yAxisField: [],
98
+ xAxisField: [],
99
+ success: false
100
+ }
101
+ }), defaultConfig = _q[0], setDefaultConfig = _q[1];
102
+ var _r = useState(''), yAxisVal = _r[0], setYAxisVal = _r[1];
103
+ var _s = useState(''), chtYpe = _s[0], setchtYpe = _s[1];
104
+ var configureChartTypesIds = [1, 2, 3, 4, 5, 6, 7, 8, 11];
105
+ var _t = useState([{ type: '', data: [] }]), datasets = _t[0], setDatasets = _t[1];
106
+ var _u = useState({ cols: [], rows: [] }), colsValues = _u[0], setColsValues = _u[1];
107
+ var _v = useState(0), activeDataset = _v[0], setActiveDataset = _v[1];
108
+ var _w = useState(true), showWidDiv = _w[0], setshowWidDiv = _w[1];
109
+ var _x = useState(false), showPopup = _x[0], setshowPopup = _x[1];
110
+ var _y = useState({
111
+ headTitle: '',
112
+ module: '',
113
+ data: {},
114
+ type: ''
115
+ }), modelData = _y[0], setModelData = _y[1];
116
+ var _z = useState(''), customFiles = _z[0], setCustomFiles = _z[1];
117
+ var showForm = function (formName, title, data, type) {
118
+ setshowPopup(true);
119
+ setModelData({
120
+ headTitle: title,
121
+ module: formName,
122
+ data: data,
123
+ type: type
124
+ });
125
+ };
126
+ var openFileBrowser = function () {
127
+ inputFile.current.click();
128
+ };
129
+ var handleFileChange = function (e) {
130
+ XlsxToJson(e.target.files[0]);
131
+ setActiveTab(2);
132
+ };
133
+ var handleChartType = function (id) {
134
+ setChartType(id);
135
+ setActiveTab(3);
136
+ setDatasets([{ type: '', data: [] }]);
137
+ setYAxisVal('');
138
+ setchtYpe('');
139
+ };
140
+ var handleDefault = function (e) {
141
+ var _a, _b;
142
+ var _c, _d, _e;
143
+ var _f = e.target, name = _f.name, value = _f.value;
144
+ var labels = [];
145
+ if (name === 'xLabel') {
146
+ for (var i = 0; i < (jsonData === null || jsonData === void 0 ? void 0 : jsonData.length); i++) {
147
+ labels === null || labels === void 0 ? void 0 : labels.push(jsonData[i][value]);
148
+ }
149
+ if ((_c = defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.apiCall) === null || _c === void 0 ? void 0 : _c.display) {
150
+ defaultConfig['apiCall']['xAxisField'][activeDataset] = value;
151
+ }
152
+ setDefaultConfig(__assign(__assign({}, defaultConfig), (_a = {}, _a[name] = labels, _a)));
153
+ }
154
+ else if (name === 'yValue') {
155
+ setYAxisVal(value);
156
+ for (var i = 0; i < (jsonData === null || jsonData === void 0 ? void 0 : jsonData.length); i++) {
157
+ labels === null || labels === void 0 ? void 0 : labels.push((_d = Number(jsonData[i][value])) === null || _d === void 0 ? void 0 : _d.toFixed(1));
158
+ }
159
+ for (var i = 0; i < (datasets === null || datasets === void 0 ? void 0 : datasets.length); i++) {
160
+ datasets[activeDataset]['data'] = labels;
161
+ }
162
+ if ((_e = defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.apiCall) === null || _e === void 0 ? void 0 : _e.display) {
163
+ defaultConfig['apiCall']['yAxisField'][activeDataset] = value;
164
+ setDefaultConfig(__assign({}, defaultConfig));
165
+ }
166
+ setDatasets(__spreadArray([], datasets, true));
167
+ }
168
+ else if (name === 'type') {
169
+ setchtYpe(value);
170
+ for (var i = 0; i < (datasets === null || datasets === void 0 ? void 0 : datasets.length); i++) {
171
+ datasets[activeDataset]['type'] = value;
172
+ }
173
+ setDatasets(__spreadArray([], datasets, true));
174
+ }
175
+ else {
176
+ setDefaultConfig(__assign(__assign({}, defaultConfig), (_b = {}, _b[name] = value, _b)));
177
+ }
178
+ };
179
+ var handleColumns = function (cols) {
180
+ var _a, _b, _c;
181
+ var checkIfAlreadyPresent = ((_a = colsValues['cols']) === null || _a === void 0 ? void 0 : _a.find(function (it) { return it === cols; })) || null;
182
+ if (!checkIfAlreadyPresent) {
183
+ colsValues['cols'] = __spreadArray(__spreadArray([], colsValues['cols'], true), [cols], false);
184
+ }
185
+ // VALUES MAP
186
+ var row = jsonData.map(function (it) { return it[cols]; });
187
+ if (((_b = colsValues === null || colsValues === void 0 ? void 0 : colsValues.rows) === null || _b === void 0 ? void 0 : _b.length) > 0) {
188
+ for (var i = 0; i < ((_c = colsValues.rows) === null || _c === void 0 ? void 0 : _c.length); i++) {
189
+ colsValues['rows'][i] += ',' + row[i];
190
+ colsValues['rows'][i] = colsValues['rows'][i].split(',');
191
+ }
192
+ }
193
+ else {
194
+ colsValues['rows'] = row;
195
+ }
196
+ setColsValues(__assign({}, colsValues));
197
+ };
198
+ var handleApiChanges = function (e, field) {
199
+ if (field === 'display') {
200
+ var _a = e.target, name_1 = _a.name, checked = _a.checked;
201
+ defaultConfig[name_1][field] = checked;
202
+ }
203
+ else {
204
+ var _b = e.target, name_2 = _b.name, value = _b.value;
205
+ defaultConfig[name_2][field] = value;
206
+ }
207
+ setDefaultConfig(__assign({}, defaultConfig));
208
+ };
209
+ var renderChartTypeForms = function (e, chartType) {
210
+ e.preventDefault();
211
+ if (!(defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.title)) {
212
+ toast.error('Please enter chart title.');
213
+ }
214
+ else {
215
+ var mapKey = layout === null || layout === void 0 ? void 0 : layout.map(function (it) { return Number(it === null || it === void 0 ? void 0 : it.i); });
216
+ var getKey = (mapKey === null || mapKey === void 0 ? void 0 : mapKey.length) > 0 ? Math.max.apply(Math, mapKey) : 0;
217
+ var options_1 = {};
218
+ var chartOptions = void 0;
219
+ var mapDatasetsConfig = void 0;
220
+ switch (chartType) {
221
+ case 1:
222
+ options_1 = OptionalBarDatasets();
223
+ chartOptions = ChartOptions(ChartTypes.BAR, { indexAxis: 'x' });
224
+ mapDatasetsConfig = datasets === null || datasets === void 0 ? void 0 : datasets.map(function (it) { return __assign(__assign(__assign({}, it), options_1), { type: ChartTypes.BAR }); });
225
+ layout && setLayout(__spreadArray(__spreadArray([], layout, true), [{ i: "".concat(getKey + 1), x: 0, y: 0, w: 4, h: 6, isDraggable: true, isResizable: true, static: false, resizeHandles: ['se'], component: ChartTypes.BAR, props: { title: defaultConfig.title, labels: defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.xLabel, datasets: mapDatasetsConfig, chartOptions: chartOptions, id: "".concat(getKey + 1), apiCall: defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.apiCall } }], false));
226
+ break;
227
+ case 2:
228
+ options_1 = OptionalLineDatasets();
229
+ chartOptions = ChartOptions(ChartTypes.LINE);
230
+ mapDatasetsConfig = datasets === null || datasets === void 0 ? void 0 : datasets.map(function (it) { return __assign(__assign(__assign({}, it), options_1), { type: ChartTypes.LINE }); });
231
+ layout && setLayout(__spreadArray(__spreadArray([], layout, true), [{ i: "".concat(getKey + 1), x: 0, y: 0, w: 4, h: 6, isDraggable: true, isResizable: true, static: false, resizeHandles: ['se'], component: ChartTypes === null || ChartTypes === void 0 ? void 0 : ChartTypes.LINE, props: { title: defaultConfig.title, labels: defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.xLabel, datasets: mapDatasetsConfig, chartOptions: chartOptions, id: "".concat(getKey + 1), apiCall: defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.apiCall } }], false));
232
+ break;
233
+ case 3:
234
+ options_1 = OptionalBarDatasets();
235
+ chartOptions = ChartOptions(ChartTypes.BAR, { indexAxis: 'y' });
236
+ mapDatasetsConfig = datasets === null || datasets === void 0 ? void 0 : datasets.map(function (it) { return __assign(__assign(__assign({}, it), options_1), { type: ChartTypes.BAR }); });
237
+ layout && setLayout(__spreadArray(__spreadArray([], layout, true), [{ i: "".concat(getKey + 1), x: 0, y: 0, w: 4, h: 6, isDraggable: true, isResizable: true, static: false, resizeHandles: ['se'], component: ChartTypes.BAR, props: { title: defaultConfig.title, labels: defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.xLabel, datasets: mapDatasetsConfig, chartOptions: chartOptions, id: "".concat(getKey + 1), apiCall: defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.apiCall } }], false));
238
+ break;
239
+ case 4:
240
+ chartOptions = ChartOptions(ChartTypes.BAR);
241
+ mapDatasetsConfig = datasets === null || datasets === void 0 ? void 0 : datasets.map(function (it) { var chartObj; (it === null || it === void 0 ? void 0 : it.type) === ChartTypes.BAR ? chartObj = __assign(__assign({}, it), OptionalBarDatasets()) : chartObj = __assign(__assign({}, it), OptionalLineDatasets()); return chartObj; });
242
+ layout && setLayout(__spreadArray(__spreadArray([], layout, true), [{ i: "".concat(getKey + 1), x: 0, y: 0, w: 4, h: 6, isDraggable: true, isResizable: true, static: false, resizeHandles: ['se'], component: ChartTypes.MIXED, props: { title: defaultConfig.title, labels: defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.xLabel, datasets: mapDatasetsConfig, chartOptions: chartOptions, id: "".concat(getKey + 1), apiCall: defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.apiCall } }], false));
243
+ break;
244
+ case 5:
245
+ options_1 = OptionalDoughnutDatasets();
246
+ chartOptions = DoughnutAndPieOptions(ChartTypes.DOUGHNUT);
247
+ mapDatasetsConfig = datasets === null || datasets === void 0 ? void 0 : datasets.map(function (it) { return __assign(__assign(__assign({}, it), options_1), { type: ChartTypes.DOUGHNUT }); });
248
+ layout && setLayout(__spreadArray(__spreadArray([], layout, true), [{ i: "".concat(getKey + 1), x: 0, y: 0, w: 4, h: 6, isDraggable: true, isResizable: true, static: false, resizeHandles: ['se'], component: ChartTypes.DOUGHNUT, props: { title: defaultConfig.title, labels: defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.xLabel, datasets: mapDatasetsConfig, chartOptions: chartOptions, chart: ChartTypes === null || ChartTypes === void 0 ? void 0 : ChartTypes.DOUGHNUT, id: "".concat(getKey + 1), apiCall: defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.apiCall } }], false));
249
+ break;
250
+ case 6:
251
+ options_1 = OptionalDoughnutDatasets();
252
+ chartOptions = DoughnutAndPieOptions(ChartTypes.PIE);
253
+ mapDatasetsConfig = datasets === null || datasets === void 0 ? void 0 : datasets.map(function (it) { return __assign(__assign(__assign({}, it), options_1), { type: ChartTypes.PIE }); });
254
+ layout && setLayout(__spreadArray(__spreadArray([], layout, true), [{ i: "".concat(getKey + 1), x: 0, y: 0, w: 4, h: 6, isDraggable: true, isResizable: true, static: false, resizeHandles: ['se'], component: ChartTypes.PIE, props: { title: defaultConfig.title, labels: defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.xLabel, datasets: mapDatasetsConfig, chartOptions: chartOptions, chart: ChartTypes === null || ChartTypes === void 0 ? void 0 : ChartTypes.PIE, id: "".concat(getKey + 1), apiCall: defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.apiCall } }], false));
255
+ break;
256
+ case 7:
257
+ options_1 = OptionalPolarDatasets();
258
+ chartOptions = ChartOptions(ChartTypes.POLAR);
259
+ mapDatasetsConfig = datasets === null || datasets === void 0 ? void 0 : datasets.map(function (it) { return __assign(__assign(__assign({}, it), options_1), { type: ChartTypes.POLAR }); });
260
+ layout && setLayout(__spreadArray(__spreadArray([], layout, true), [{ i: "".concat(getKey + 1), x: 0, y: 0, w: 4, h: 6, isDraggable: true, isResizable: true, static: false, resizeHandles: ['se'], component: ChartTypes.POLAR, props: { title: defaultConfig.title, labels: defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.xLabel, datasets: mapDatasetsConfig, chartOptions: chartOptions, id: "".concat(getKey + 1), apiCall: defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.apiCall } }], false));
261
+ break;
262
+ case 8:
263
+ options_1 = OptionalScatterDatasets();
264
+ chartOptions = ChartOptions(ChartTypes.SCATTER);
265
+ mapDatasetsConfig = datasets === null || datasets === void 0 ? void 0 : datasets.map(function (it) { return __assign(__assign(__assign({}, it), options_1), { type: ChartTypes.SCATTER }); });
266
+ layout && setLayout(__spreadArray(__spreadArray([], layout, true), [{ i: "".concat(getKey + 1), x: 0, y: 0, w: 4, h: 6, isDraggable: true, isResizable: true, static: false, resizeHandles: ['se'], component: ChartTypes.SCATTER, props: { title: defaultConfig.title, labels: defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.xLabel, datasets: mapDatasetsConfig, chartOptions: chartOptions, id: "".concat(getKey + 1), apiCall: defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.apiCall } }], false));
267
+ break;
268
+ case 10:
269
+ chartOptions = TableStyles();
270
+ layout && setLayout(__spreadArray(__spreadArray([], layout, true), [{ i: "".concat(getKey + 1), x: 0, y: 0, w: 4, h: 6, isDraggable: true, isResizable: true, static: false, resizeHandles: ['se'], component: ChartTypes.TABLE, props: { title: defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.title, tableData: colsValues, chartOptions: chartOptions, id: "".concat(getKey + 1), apiCall: defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.apiCall } }], false));
271
+ break;
272
+ case 11:
273
+ layout && setLayout(__spreadArray(__spreadArray([], layout, true), [{ i: "".concat(getKey + 1), x: 0, y: 0, w: 4, h: 6, isDraggable: true, isResizable: true, static: false, resizeHandles: ['se'], component: ChartTypes.PROGRESS, props: { title: defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.title, labels: defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.xLabel, datasets: datasets === null || datasets === void 0 ? void 0 : datasets[0], id: "".concat(getKey + 1), apiCall: defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.apiCall } }], false));
274
+ break;
275
+ case 12:
276
+ layout && setLayout(__spreadArray(__spreadArray([], layout, true), [{ i: "".concat(getKey + 1), x: 0, y: 0, w: 4, h: 6, isDraggable: true, isResizable: true, static: false, resizeHandles: ['se'], component: 'custom', props: { component: customFiles, id: "".concat(getKey + 1) } }], false));
277
+ break;
278
+ default:
279
+ setLayout([]);
280
+ }
281
+ setActiveTab(1);
282
+ setDefaultConfig({ title: '', xLabel: [], apiCall: {
283
+ display: false,
284
+ uri: '',
285
+ body: '',
286
+ method: '',
287
+ headers: '',
288
+ yAxisField: [],
289
+ success: false
290
+ } });
291
+ setDatasets([{ type: '', data: [] }]);
292
+ setChartType(0);
293
+ setCustomFiles('');
294
+ }
295
+ };
296
+ var AddNewDataset = function (e) {
297
+ e.preventDefault();
298
+ setDatasets(__spreadArray(__spreadArray([], datasets, true), [{ type: '', data: [] }], false));
299
+ };
300
+ var XlsxToJson = function (file) {
301
+ if (file) {
302
+ var reader = new FileReader();
303
+ reader.onload = function (e) {
304
+ var data = e.target.result;
305
+ var workbook = XLSX.read(data, { type: "binary" });
306
+ var sheetName = workbook.SheetNames[0];
307
+ var worksheet = workbook.Sheets[sheetName];
308
+ var json = XLSX.utils.sheet_to_json(worksheet);
309
+ var columns = XLSX.utils.sheet_to_json(worksheet, { header: 1 })[0];
310
+ setAxisColumns(columns);
311
+ setJsonData(json);
312
+ storeLocal('importedFile', JSON.stringify(json));
313
+ storeLocal('columnNames', JSON.stringify(columns));
314
+ };
315
+ reader.readAsBinaryString(file);
316
+ }
317
+ };
318
+ var handleGetApiData = function () { return __awaiter(void 0, void 0, void 0, function () {
319
+ var config, result, getColumns, error_1;
320
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
321
+ return __generator(this, function (_k) {
322
+ switch (_k.label) {
323
+ case 0:
324
+ _k.trys.push([0, 4, , 5]);
325
+ if (!(((_a = defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.apiCall) === null || _a === void 0 ? void 0 : _a.method) && ((_b = defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.apiCall) === null || _b === void 0 ? void 0 : _b.uri))) return [3 /*break*/, 2];
326
+ config = {
327
+ method: (_c = defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.apiCall) === null || _c === void 0 ? void 0 : _c.method
328
+ };
329
+ if ((_d = defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.apiCall) === null || _d === void 0 ? void 0 : _d.headers) {
330
+ config['headers'] = __assign(__assign({}, props === null || props === void 0 ? void 0 : props.headers), JSON.parse((_e = defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.apiCall) === null || _e === void 0 ? void 0 : _e.headers));
331
+ }
332
+ else {
333
+ config['headers'] = props === null || props === void 0 ? void 0 : props.headers;
334
+ }
335
+ if (((_f = defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.apiCall) === null || _f === void 0 ? void 0 : _f.method) !== (APIRequestMethods === null || APIRequestMethods === void 0 ? void 0 : APIRequestMethods.GET)) {
336
+ config['body'] = (_g = defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.apiCall) === null || _g === void 0 ? void 0 : _g.body;
337
+ }
338
+ return [4 /*yield*/, fetch((_h = defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.apiCall) === null || _h === void 0 ? void 0 : _h.uri, config).then(function (res) { return res.json(); })];
339
+ case 1:
340
+ result = _k.sent();
341
+ if ((result === null || result === void 0 ? void 0 : result.status) === 'OK') {
342
+ getColumns = Object.keys((_j = result === null || result === void 0 ? void 0 : result.message) === null || _j === void 0 ? void 0 : _j[0]);
343
+ setAxisColumns(getColumns);
344
+ defaultConfig['apiCall']['success'] = true;
345
+ setDefaultConfig(__assign({}, defaultConfig));
346
+ setJsonData(result === null || result === void 0 ? void 0 : result.message);
347
+ }
348
+ return [3 /*break*/, 3];
349
+ case 2:
350
+ toast.error('please enter api method and uri.');
351
+ _k.label = 3;
352
+ case 3: return [3 /*break*/, 5];
353
+ case 4:
354
+ error_1 = _k.sent();
355
+ toast.error(error_1 === null || error_1 === void 0 ? void 0 : error_1.toString());
356
+ return [3 /*break*/, 5];
357
+ case 5: return [2 /*return*/];
358
+ }
359
+ });
360
+ }); };
361
+ var handleShowDiv = function () {
362
+ if (showWidDiv) {
363
+ setshowWidDiv(false);
364
+ }
365
+ else {
366
+ setshowWidDiv(true);
367
+ }
368
+ };
369
+ var saveUpdates = function () { return __awaiter(void 0, void 0, void 0, function () {
370
+ var bodyData, config, result, error_2;
371
+ return __generator(this, function (_a) {
372
+ switch (_a.label) {
373
+ case 0:
374
+ _a.trys.push([0, 2, , 3]);
375
+ bodyData = {
376
+ title: title,
377
+ layout: layout,
378
+ menuId: (menuVal === null || menuVal === void 0 ? void 0 : menuVal.prevState) !== menuVal.currState ? Number(menuVal === null || menuVal === void 0 ? void 0 : menuVal.currState) : Number(menuVal === null || menuVal === void 0 ? void 0 : menuVal.prevState)
379
+ };
380
+ config = {
381
+ method: 'PATCH',
382
+ body: JSON.stringify(bodyData),
383
+ headers: __assign({ 'Content-Type': 'application/json' }, props === null || props === void 0 ? void 0 : props.headers)
384
+ };
385
+ return [4 /*yield*/, update(props === null || props === void 0 ? void 0 : props.routeBackendUrl, config, Number(props === null || props === void 0 ? void 0 : props.id))];
386
+ case 1:
387
+ result = _a.sent();
388
+ toast.success(result === null || result === void 0 ? void 0 : result.message);
389
+ return [3 /*break*/, 3];
390
+ case 2:
391
+ error_2 = _a.sent();
392
+ toast.error(error_2 === null || error_2 === void 0 ? void 0 : error_2.toString());
393
+ return [3 /*break*/, 3];
394
+ case 3: return [2 /*return*/];
395
+ }
396
+ });
397
+ }); };
398
+ var handleNav = function (uri) {
399
+ window.open(uri, '_blank');
400
+ };
401
+ var handleCustomFile = function (e) {
402
+ setCustomFiles(e.target.value);
403
+ };
404
+ return (_jsxs(PopUpContext.Provider, __assign({ value: { showPopup: showPopup, setshowPopup: setshowPopup, modelData: modelData, setModelData: setModelData, menu: menu, setMenu: setMenu } }, { children: [_jsx("div", __assign({ className: 'hide-widget-btn', onClick: handleShowDiv }, { children: _jsx("button", __assign({ className: 'btn' }, { children: _jsx(FontAwesomeIcon, { icon: faCaretRight }) })) })), _jsxs("div", __assign({ className: props === null || props === void 0 ? void 0 : props.addCustomCss, style: { display: showWidDiv ? 'block' : 'none' } }, { children: [_jsxs("div", __assign({ className: 'text-start' }, { children: [_jsxs("button", __assign({ className: 'btn btn-primary sv-btn', onClick: function () { return saveUpdates(); } }, { children: [_jsx(FontAwesomeIcon, { icon: faSave, style: { marginRight: 5 } }), " Save"] })), _jsxs("button", __assign({ className: 'btn sv-btn pv-btn', onClick: function () { return handleNav(props === null || props === void 0 ? void 0 : props.preview); } }, { children: [_jsx(FontAwesomeIcon, { icon: faEye, style: { marginRight: 5 } }), "Preview"] })), _jsx("p", __assign({ className: 'add-nc' }, { children: "Add New Chart" }))] })), _jsxs("div", __assign({ className: 'widget-top' }, { children: [_jsx("h5", __assign({ className: "main-title mar-b-0 mar-t-0" }, { children: "Select File to Generate Chart" })), _jsxs("p", __assign({ className: 'note' }, { children: ["Note", _jsx("span", __assign({ style: { color: 'red' } }, { children: "*" })), ": File should be of xlsx type. "] })), _jsxs("button", __assign({ className: "btn ch-file mar-t-20", onClick: openFileBrowser }, { children: [_jsx(FontAwesomeIcon, { icon: faUpload, style: { marginRight: 5 } }), " Choose File"] })), _jsx("input", { type: 'file', name: 'file', id: 'file', ref: inputFile, accept: 'xlsx', style: { display: 'none' }, onChange: function (e) { return handleFileChange(e); } })] })), _jsx("p", __assign({ className: 'or-txt' }, { children: "OR" })), _jsxs("div", __assign({ className: 'chart-select-section' }, { children: [_jsx("h5", __assign({ className: "main-title ".concat(!(props === null || props === void 0 ? void 0 : props.isHalfWidget) && 'mar-b-50') }, { children: "Select Chart Type" })), _jsx("div", __assign({ className: 'row cht-box-section' }, { children: ChartCategories === null || ChartCategories === void 0 ? void 0 : ChartCategories.map(function (it, i) { return (_jsx("div", __assign({ className: "chart-box ".concat(chartType === (it === null || it === void 0 ? void 0 : it.id) ? 'chart-active' : 'not-active', " col-md-2"), onClick: function () { return handleChartType(it === null || it === void 0 ? void 0 : it.id); } }, { children: _jsx("img", { src: it === null || it === void 0 ? void 0 : it.image, alt: it === null || it === void 0 ? void 0 : it.name, title: it === null || it === void 0 ? void 0 : it.title }) }), i)); }) }))] })), activeTab === 3 && _jsxs("div", __assign({ className: 'configure-section' }, { children: [_jsx("h5", __assign({ className: "main-title ".concat((props === null || props === void 0 ? void 0 : props.isHalfWidget) ? 'mar-b-0' : 'mar-b-50') }, { children: "Configure Excel Data For Chart" })), _jsxs("div", __assign({ className: 'cft-section' }, { children: [_jsxs("div", __assign({ className: 'form-group d-flex' }, { children: [_jsx("label", { children: "Title:" }), _jsx("input", { type: 'text', name: 'title', placeholder: 'Enter Title for Chart', className: 'form-control', onChange: function (e) { return handleDefault(e); } })] })), chartType !== 12 && _jsxs("div", __assign({ className: 'form-group d-flex' }, { children: [_jsx("label", { children: "API:" }), _jsx("input", { type: 'checkbox', name: 'apiCall', value: (_a = defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.apiCall) === null || _a === void 0 ? void 0 : _a.display, style: { width: 'auto' }, onChange: function (e) { return handleApiChanges(e, 'display'); } })] })), ((_b = defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.apiCall) === null || _b === void 0 ? void 0 : _b.display) && _jsxs(React.Fragment, { children: [_jsxs("div", __assign({ className: 'form-group d-flex' }, { children: [_jsx("label", { children: "API Method:" }), _jsxs("select", __assign({ className: 'form-control', name: 'apiCall', value: (_c = defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.apiCall) === null || _c === void 0 ? void 0 : _c.method, onChange: function (e) { return handleApiChanges(e, 'method'); } }, { children: [_jsx("option", __assign({ value: '' }, { children: "Select Request Method" })), _jsx("option", { children: "GET" }), _jsx("option", { children: "POST" }), _jsx("option", { children: "PATCH" }), _jsx("option", { children: "DELETE" }), _jsx("option", { children: "PUT" })] }))] })), _jsxs("div", __assign({ className: 'form-group d-flex' }, { children: [_jsx("label", { children: "API URI:" }), _jsx("input", { type: 'text', name: 'apiCall', className: 'form-control', value: (_d = defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.apiCall) === null || _d === void 0 ? void 0 : _d.uri, onChange: function (e) { return handleApiChanges(e, 'uri'); } })] })), _jsxs("div", __assign({ className: 'form-group d-flex' }, { children: [_jsx("label", { children: "API Headers:" }), _jsx("textarea", { name: 'apiCall', rows: 2, cols: 5, className: 'form-control', value: (_e = defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.apiCall) === null || _e === void 0 ? void 0 : _e.headers, style: { width: '60%', fontSize: 12 }, onChange: function (e) { return handleApiChanges(e, 'headers'); } })] })), ((_f = defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.apiCall) === null || _f === void 0 ? void 0 : _f.method) && ((_g = defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.apiCall) === null || _g === void 0 ? void 0 : _g.method) !== (APIRequestMethods === null || APIRequestMethods === void 0 ? void 0 : APIRequestMethods.GET) && _jsxs("div", __assign({ className: 'form-group d-flex' }, { children: [_jsx("label", { children: "API Body:" }), _jsx("textarea", { name: 'apiCall', className: 'form-control', value: (_h = defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.apiCall) === null || _h === void 0 ? void 0 : _h.body, rows: 2, cols: 5, style: { width: '60%', fontSize: 12 }, onChange: function (e) { return handleApiChanges(e, 'body'); } })] })), _jsxs("div", __assign({ className: 'button mar-b-15' }, { children: [_jsx("button", __assign({ className: 'btn gad btn-primary', onClick: function () { return handleGetApiData(); } }, { children: "Get API Data" })), " ", ((_j = defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.apiCall) === null || _j === void 0 ? void 0 : _j.success) && _jsx(FontAwesomeIcon, { icon: faCheckCircle, color: 'green', style: { marginLeft: 5 }, size: 'lg' })] }))] }), configureChartTypesIds.includes(chartType) && _jsxs(React.Fragment, { children: [_jsxs("div", __assign({ className: 'form-group d-flex' }, { children: [_jsx("label", { children: "Select X Axis Label:" }), _jsxs("select", __assign({ name: 'xLabel', className: 'form-control', onChange: function (e) { return handleDefault(e); } }, { children: [_jsx("option", { children: "-- Select --" }), axisColumns === null || axisColumns === void 0 ? void 0 : axisColumns.map(function (it, i) { return (_jsx("option", { children: it }, i)); })] }))] })), chartType !== 11 &&
405
+ _jsxs("div", __assign({ className: 'form-group d-flex' }, { children: [_jsx("label", { children: "Datasets:" }), _jsx("div", __assign({ className: 'd-flex dt-frmgrp' }, { children: datasets === null || datasets === void 0 ? void 0 : datasets.map(function (item, i) { return (_jsxs(React.Fragment, { children: [_jsxs("button", __assign({ className: "btn dtsts ".concat(activeDataset === i ? 'active' : ''), onClick: function () { setActiveDataset(i); setYAxisVal(''); setchtYpe(''); } }, { children: ["Dataset ", i] })), i === (datasets === null || datasets === void 0 ? void 0 : datasets.length) - 1 && _jsx(FontAwesomeIcon, { icon: faPlusCircle, color: '#ff9068', onClick: function (e) { return AddNewDataset(e); }, cursor: 'pointer' })] }, i)); }) }))] })), chartType === 4 && _jsxs("div", __assign({ className: 'form-group d-flex' }, { children: [_jsx("label", { children: "Select Chart:" }), _jsx("div", __assign({ className: 'd-flex dt-frmgrp' }, { children: _jsxs("select", __assign({ name: 'type', value: chtYpe, className: 'form-control', onChange: function (e) { return handleDefault(e); } }, { children: [_jsx("option", { children: "-- Select --" }), _jsx("option", { children: ChartTypes.BAR }), _jsx("option", { children: ChartTypes.LINE })] })) }))] })), _jsxs("div", __assign({ className: 'form-group d-flex' }, { children: [_jsx("label", { children: "Select Y Axis Value:" }), _jsxs("select", __assign({ name: 'yValue', className: 'form-control', value: yAxisVal, onChange: function (e) { return handleDefault(e); } }, { children: [_jsx("option", { children: "-- Select --" }), axisColumns === null || axisColumns === void 0 ? void 0 : axisColumns.map(function (it, i) { return (_jsx("option", { children: it }, i)); })] }))] }))] }), chartType === 10 && _jsxs("div", __assign({ className: 'form-group d-flex' }, { children: [_jsx("label", { children: "Select Columns:" }), _jsx("div", __assign({ className: 'd-flex cols-btn' }, { children: axisColumns === null || axisColumns === void 0 ? void 0 : axisColumns.map(function (it, i) { return (_jsx("button", __assign({ className: 'btn', onClick: function () { return handleColumns(it); } }, { children: it }), i)); }) }))] })), chartType === 12 && _jsxs("div", __assign({ className: 'form-group d-flex' }, { children: [_jsx("label", { children: "Enter React Component Path:" }), _jsx("input", { type: 'text', name: 'customFiles', className: 'form-control', onChange: function (e) { return handleCustomFile(e); } })] })), _jsxs("button", __assign({ className: 'btn ch-file', onClick: function (e) { return renderChartTypeForms(e, chartType); } }, { children: ["Generate Chart ", _jsx(FontAwesomeIcon, { icon: faLongArrowAltRight, style: { marginLeft: 5 } })] }))] }))] })), _jsx("h5", __assign({ className: 'main-title mar-b-0' }, { children: "Menu" })), _jsx("p", __assign({ className: 'note' }, { children: "Select or create dynamic menu for this page." })), _jsxs("div", __assign({ className: 'd-flex wid-menu' }, { children: [_jsxs("select", __assign({ className: 'form-control', name: 'menu', value: (menuVal === null || menuVal === void 0 ? void 0 : menuVal.currState) || '', onChange: function (e) { return setMenuVal(function (prev) { return { prevState: prev === null || prev === void 0 ? void 0 : prev.currState, currState: e.target.value }; }); } }, { children: [_jsx("option", __assign({ value: '' }, { children: "-- Select Menu --" })), menu === null || menu === void 0 ? void 0 : menu.map(function (it, i) { return (_jsx("option", __assign({ value: it === null || it === void 0 ? void 0 : it.id }, { children: it === null || it === void 0 ? void 0 : it.name }), i)); })] })), _jsxs("button", __assign({ className: 'btn', onClick: function () { return showForm(Modules === null || Modules === void 0 ? void 0 : Modules.MENU, 'Configure Menu', menu, ModelTypes === null || ModelTypes === void 0 ? void 0 : ModelTypes.FORM); } }, { children: [_jsx(FontAwesomeIcon, { icon: faPlusCircle }), " Create New Menu"] }))] }))] })), showPopup && _jsx(Model, { headTitle: modelData === null || modelData === void 0 ? void 0 : modelData.headTitle, module: modelData === null || modelData === void 0 ? void 0 : modelData.module, data: modelData === null || modelData === void 0 ? void 0 : modelData.data, type: modelData === null || modelData === void 0 ? void 0 : modelData.type, headers: props === null || props === void 0 ? void 0 : props.headers, backendUrl: props === null || props === void 0 ? void 0 : props.menuBackendUrl })] })));
406
+ };
407
+ export default Widget;
@@ -0,0 +1,23 @@
1
+ .crt-pge-st{
2
+ margin-top: 15px;
3
+ margin-bottom: 15px;
4
+ .form-group{
5
+ margin-bottom: 15px;
6
+ label{
7
+ font-size: 13px;
8
+ font-weight: 500;
9
+ opacity: .8;
10
+ }
11
+ input{
12
+ font-size: 13px;
13
+ }
14
+ }
15
+ .add-btn{
16
+ width: 50%;
17
+ background: linear-gradient(45deg, #fd746c, #ff9068);
18
+ padding: 8px;
19
+ font-size: 13px;
20
+ color: #fff;
21
+ text-transform: uppercase;
22
+ }
23
+ }
@@ -0,0 +1,115 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
23
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
28
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
48
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
49
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
50
+ if (ar || !(i in from)) {
51
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
52
+ ar[i] = from[i];
53
+ }
54
+ }
55
+ return to.concat(ar || Array.prototype.slice.call(from));
56
+ };
57
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
58
+ import { useContext, useState } from "react";
59
+ import './CreatePage.css';
60
+ import { create } from "../../Services/Routing";
61
+ import { toast } from "react-toastify";
62
+ import { PopUpContext } from "../../Utility/Contexts";
63
+ export var CreatePage = function (props) {
64
+ var _a;
65
+ var _b = useState(props === null || props === void 0 ? void 0 : props.data), data = _b[0], setData = _b[1];
66
+ var _c = useContext(PopUpContext), setshowPopup = _c.setshowPopup, setRoutePages = _c.setRoutePages, routePages = _c.routePages;
67
+ var handleChange = function (e) {
68
+ var _a;
69
+ var _b = e.target, name = _b.name, value = _b.value;
70
+ if (name === 'title') {
71
+ data['title'] = __assign(__assign({}, data['title']), { name: value });
72
+ setData(__assign({}, data));
73
+ }
74
+ else {
75
+ setData(__assign(__assign({}, data), (_a = {}, _a[name] = value, _a)));
76
+ }
77
+ };
78
+ var handleSubmit = function (e) { return __awaiter(void 0, void 0, void 0, function () {
79
+ var config, result, obj, getIds, getMaxId, error_1;
80
+ return __generator(this, function (_a) {
81
+ switch (_a.label) {
82
+ case 0:
83
+ e.preventDefault();
84
+ _a.label = 1;
85
+ case 1:
86
+ _a.trys.push([1, 4, , 5]);
87
+ if (!((data === null || data === void 0 ? void 0 : data.title) && (data === null || data === void 0 ? void 0 : data.route))) return [3 /*break*/, 3];
88
+ config = {
89
+ method: 'POST',
90
+ body: JSON.stringify(data),
91
+ headers: __assign({ "Content-Type": "application/json" }, props === null || props === void 0 ? void 0 : props.headers)
92
+ };
93
+ return [4 /*yield*/, create(props === null || props === void 0 ? void 0 : props.backendUrl, config)];
94
+ case 2:
95
+ result = _a.sent();
96
+ toast.success(result === null || result === void 0 ? void 0 : result.message);
97
+ obj = data;
98
+ getIds = (routePages === null || routePages === void 0 ? void 0 : routePages.map(function (it) { return it === null || it === void 0 ? void 0 : it.id; })) || [];
99
+ getMaxId = (getIds === null || getIds === void 0 ? void 0 : getIds.length) > 0 ? Math.max.apply(Math, getIds) : 0;
100
+ obj['id'] = (result === null || result === void 0 ? void 0 : result.id) || getMaxId + 1;
101
+ setRoutePages(__spreadArray(__spreadArray([], routePages, true), [obj], false));
102
+ setshowPopup(false);
103
+ _a.label = 3;
104
+ case 3: return [3 /*break*/, 5];
105
+ case 4:
106
+ error_1 = _a.sent();
107
+ toast.error(error_1 === null || error_1 === void 0 ? void 0 : error_1.toString());
108
+ return [3 /*break*/, 5];
109
+ case 5: return [2 /*return*/];
110
+ }
111
+ });
112
+ }); };
113
+ return (_jsxs("div", __assign({ className: "crt-pge-st col-md-6" }, { children: [_jsxs("div", __assign({ className: "form-group" }, { children: [_jsx("label", { children: "Title:" }), _jsx("input", { type: "text", name: "title", className: "form-control", value: (_a = data === null || data === void 0 ? void 0 : data.title) === null || _a === void 0 ? void 0 : _a.name, onChange: function (e) { return handleChange(e); } })] })), _jsxs("div", __assign({ className: "form-group" }, { children: [_jsx("label", { children: "Route:" }), _jsx("input", { type: "text", name: "route", className: "form-control", value: data === null || data === void 0 ? void 0 : data.route, onChange: function (e) { return handleChange(e); } })] })), _jsx("div", __assign({ className: "button" }, { children: _jsx("button", __assign({ className: "btn add-btn", onClick: function (e) { return handleSubmit(e); } }, { children: "Submit" })) }))] })));
114
+ };
115
+ export default CreatePage;