@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,232 @@
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 __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
13
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
14
+ if (ar || !(i in from)) {
15
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
16
+ ar[i] = from[i];
17
+ }
18
+ }
19
+ return to.concat(ar || Array.prototype.slice.call(from));
20
+ };
21
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
22
+ import React, { useContext, useState } from 'react';
23
+ import { GraphContext, PopUpContext } from '../../../Utility/Contexts';
24
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
25
+ import { faMinus, faPlusCircle } from '@fortawesome/free-solid-svg-icons';
26
+ import { DouhgnutDatasetFormat } from './Format';
27
+ import { updateChartLayoutDetails } from '../../../Utility/Main';
28
+ var DoughnutConfigForm = function (props) {
29
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0;
30
+ var _1 = useState((_a = props === null || props === void 0 ? void 0 : props.data) === null || _a === void 0 ? void 0 : _a.gData), data = _1[0], setData = _1[1];
31
+ var _2 = useState((_b = props === null || props === void 0 ? void 0 : props.data) === null || _b === void 0 ? void 0 : _b.gOptions), options = _2[0], setOptions = _2[1];
32
+ var _3 = useContext(GraphContext), setDrawData = _3.setDrawData, setGraphOptions = _3.setGraphOptions;
33
+ var _4 = useContext(PopUpContext), layout = _4.layout, setLayout = _4.setLayout;
34
+ var _5 = useState(0), activeDataset = _5[0], setActiveDataset = _5[1];
35
+ var excludeInputFields = ['data', 'borderDash', 'borderDashOffset', 'hoverBorderDash', 'hoverBorderDashOffset', 'backgroundColor', 'addPointLabel'];
36
+ var excludeInputFieldsAPI = ['success'];
37
+ var checkboxFields = [];
38
+ var DataLablesCheckboxFields = ['display'];
39
+ var addNewFormat = DouhgnutDatasetFormat(null);
40
+ var handleChange = function (e, i, no, name) {
41
+ var value = e.target.value;
42
+ if (name === 'datasets') {
43
+ data['datasets'][i]['data'][no] = value;
44
+ }
45
+ else if (name === 'labels') {
46
+ data[name][no] = value;
47
+ }
48
+ else if (name === 'backgroundColor') {
49
+ data['datasets'][i]['backgroundColor'][no] = value;
50
+ }
51
+ else if (name === 'title' || name === 'url' || name === 'urlTitle') {
52
+ data[name] = value;
53
+ }
54
+ else if (name === 'datalabels') {
55
+ data['datasets'][i]['datalabels'][no] = value;
56
+ }
57
+ else if (name === 'styles') {
58
+ data[name][e.target.name] = value;
59
+ }
60
+ else if (name === 'filtersName') {
61
+ data['filters'][i]['filter'] = value;
62
+ }
63
+ else if (name === 'filtersType') {
64
+ data['filters'][i]['type'] = value;
65
+ }
66
+ else if (name === 'filtersValues') {
67
+ data['filters'][i]['values'][no] = value;
68
+ }
69
+ else if (name === 'apiCall') {
70
+ if (no === 'xAxisField' || no === 'yAxisField') {
71
+ data[name][no][i] = value;
72
+ }
73
+ else {
74
+ data[name][no] = value;
75
+ }
76
+ }
77
+ else {
78
+ data['datasets'][i][name] = value;
79
+ }
80
+ setData(__assign({}, data));
81
+ setDrawData(__assign({}, data));
82
+ updateLayoutDetails(['labels', 'datasets', 'title', 'styles', 'url', 'apiCall', 'urlTitle'], data);
83
+ };
84
+ var handleCheckbox = function (e, i, name) {
85
+ var checked = e.target.checked;
86
+ if (name === 'datalabels') {
87
+ data['datasets'][i][name]['display'] = checked;
88
+ }
89
+ else if (name === 'apiCall') {
90
+ data[name]['display'] = checked;
91
+ }
92
+ else {
93
+ data['datasets'][i][name] = checked;
94
+ }
95
+ setData(__assign({}, data));
96
+ setDrawData(__assign({}, data));
97
+ updateLayoutDetails(['datasets', 'apiCall'], data);
98
+ };
99
+ var AddNewRow = function (e, i) {
100
+ data['datasets'][i]['data'] = __spreadArray(__spreadArray([], data['datasets'][i]['data'], true), [0], false);
101
+ data['labels'] = __spreadArray(__spreadArray([], data['labels'], true), [''], false);
102
+ setData(__assign({}, data));
103
+ setDrawData(__assign({}, data));
104
+ updateLayoutDetails(['labels', 'datasets'], data);
105
+ };
106
+ var AddNewDataset = function (e) {
107
+ e.preventDefault();
108
+ data['datasets'] = __spreadArray(__spreadArray([], data['datasets'], true), [addNewFormat], false);
109
+ setData(__assign({}, data));
110
+ setDrawData(__assign({}, data));
111
+ updateLayoutDetails(['datasets'], data);
112
+ };
113
+ var RemoveRow = function (e, i, no) {
114
+ data['datasets'][i]['data'].splice(no, 1);
115
+ data['labels'].splice(no, 1);
116
+ setData(__assign({}, data));
117
+ setDrawData(__assign({}, data));
118
+ updateLayoutDetails(['labels', 'datasets'], data);
119
+ };
120
+ // OPTIONS
121
+ var handleOptionCheckbox = function (e, field, name) {
122
+ var checked = e.target.checked;
123
+ switch (field) {
124
+ case 'legend':
125
+ options['plugins'][field][name] = checked;
126
+ break;
127
+ case 'scales':
128
+ if (name === 'xgrid') {
129
+ options[field]['x']['grid']['display'] = checked;
130
+ }
131
+ else if (name === 'ygrid') {
132
+ options[field]['y']['grid']['display'] = checked;
133
+ }
134
+ else if (name === 'xstacked') {
135
+ options[field]['x']['stacked'] = checked;
136
+ }
137
+ else if (name === 'ystacked') {
138
+ options[field]['y']['stacked'] = checked;
139
+ }
140
+ break;
141
+ default:
142
+ name = '';
143
+ field = '';
144
+ }
145
+ setOptions(__assign({}, options));
146
+ setGraphOptions(__assign({}, options));
147
+ updateLayoutDetails(['options'], options);
148
+ };
149
+ var handleOptionChange = function (e, field, name) {
150
+ var value = e.target.value;
151
+ if (name === 'cutout') {
152
+ options[name] = value;
153
+ }
154
+ else {
155
+ options['plugins'][field][name] = value;
156
+ }
157
+ setOptions(__assign({}, options));
158
+ setGraphOptions(__assign({}, options));
159
+ updateLayoutDetails(['options'], options);
160
+ };
161
+ var updateLayoutDetails = function (field, data) {
162
+ var _a;
163
+ var updtDtls = updateChartLayoutDetails(field, data, layout, (_a = props === null || props === void 0 ? void 0 : props.data) === null || _a === void 0 ? void 0 : _a.layoutId);
164
+ setLayout(updtDtls);
165
+ };
166
+ var addNewFilterRow = function (e, i, type) {
167
+ e.preventDefault();
168
+ if (type === 'TABLE_ROW') {
169
+ data['filters'][i]['values'] = __spreadArray(__spreadArray([], data['filters'][i]['values'], true), [null], false);
170
+ }
171
+ else {
172
+ data['filters'] = __spreadArray(__spreadArray([], data['filters'], true), [{ filter: '', values: [null] }], false);
173
+ }
174
+ setData(__assign({}, data));
175
+ setDrawData(__assign({}, data));
176
+ updateLayoutDetails(['filters'], data);
177
+ };
178
+ var RemoveFilterRow = function (e, i) {
179
+ data['filters'].splice(i, 1);
180
+ setData(__assign({}, data));
181
+ setDrawData(__assign({}, data));
182
+ updateLayoutDetails(['filters'], data);
183
+ };
184
+ var emptyFilters = function (e) {
185
+ data['filters'] = [];
186
+ setData(__assign({}, data));
187
+ setDrawData(__assign({}, data));
188
+ updateLayoutDetails(['filters'], data);
189
+ };
190
+ return (_jsxs("div", __assign({ className: 'popup-model-form' }, { children: [((_d = (_c = props === null || props === void 0 ? void 0 : props.data) === null || _c === void 0 ? void 0 : _c.gData) === null || _d === void 0 ? void 0 : _d.title) &&
191
+ _jsxs(React.Fragment, { children: [_jsxs("div", __assign({ className: 'form-group d-flex' }, { children: [_jsx("label", __assign({ className: 'subtitle' }, { children: "Title:" })), _jsx("input", { type: 'text', name: 'title', value: data === null || data === void 0 ? void 0 : data.title, className: 'form-control', onChange: function (e) { return handleChange(e, 0, 0, 'title'); } })] })), _jsxs("div", __assign({ className: 'form-group d-flex' }, { children: [_jsx("label", { children: "URL:" }), _jsx("input", { type: 'text', name: 'url', value: data === null || data === void 0 ? void 0 : data.url, className: 'form-control', onChange: function (e) { return handleChange(e, 0, 0, 'url'); } })] })), _jsxs("div", __assign({ className: 'form-group d-flex' }, { children: [_jsx("label", { children: "URL Title:" }), _jsx("input", { type: 'text', name: 'urlTitle', value: data === null || data === void 0 ? void 0 : data.urlTitle, className: 'form-control', onChange: function (e) { return handleChange(e, 0, 0, 'urlTitle'); } })] }))] }), (_e = Object.keys(data === null || data === void 0 ? void 0 : data.styles)) === null || _e === void 0 ? void 0 : _e.map(function (st, sn) {
192
+ var _a;
193
+ return (_jsxs("div", __assign({ className: 'form-group d-flex' }, { children: [_jsxs("label", { children: ["Title ", st, ":"] }), _jsx("input", { type: 'text', name: st, value: (_a = data === null || data === void 0 ? void 0 : data.styles) === null || _a === void 0 ? void 0 : _a[st], className: 'form-control', onChange: function (e) { return handleChange(e, 0, 0, 'styles'); } })] }), sn));
194
+ }), ((_f = data === null || data === void 0 ? void 0 : data.labels) === null || _f === void 0 ? void 0 : _f.length) > 0 && _jsx("p", __assign({ className: 'subtitle' }, { children: "Visualize Data:" })), ((_g = data === null || data === void 0 ? void 0 : data.datasets) === null || _g === void 0 ? void 0 : _g.length) > 0 && _jsxs("div", __assign({ className: 'd-flex dataset-div' }, { children: [" ", (_h = data === null || data === void 0 ? void 0 : data.datasets) === null || _h === void 0 ? void 0 : _h.map(function (it, i) {
195
+ var _a, _b;
196
+ return (_jsxs(React.Fragment, { children: [_jsxs("button", __assign({ className: "btn dtsts ".concat(activeDataset === i ? 'active' : ''), onClick: function () { return setActiveDataset(i); } }, { children: ["Dataset ", i] })), (((_a = data === null || data === void 0 ? void 0 : data.labels) === null || _a === void 0 ? void 0 : _a.length) > 0 && i === ((_b = data === null || data === void 0 ? void 0 : data.datasets) === null || _b === void 0 ? void 0 : _b.length) - 1) && _jsx(FontAwesomeIcon, { icon: faPlusCircle, color: '#ff9068', onClick: function (e) { return AddNewDataset(e); }, cursor: 'pointer' })] }, i));
197
+ }), " "] })), ((_j = data === null || data === void 0 ? void 0 : data.datasets) === null || _j === void 0 ? void 0 : _j.length) > 0 &&
198
+ _jsxs(React.Fragment, { children: [((_k = data === null || data === void 0 ? void 0 : data.labels) === null || _k === void 0 ? void 0 : _k.length) > 0 ?
199
+ _jsxs("table", __assign({ className: 'table' }, { children: [_jsxs("thead", { children: [_jsx("th", { children: "SRNO." }), _jsx("th", { children: "Labels" }), _jsx("th", { children: "Values" }), _jsx("th", { children: "Background Color" }), _jsx("th", { children: "Action" })] }), _jsx("tbody", { children: (_l = data === null || data === void 0 ? void 0 : data.labels) === null || _l === void 0 ? void 0 : _l.map(function (dt, no) {
200
+ var _a, _b, _c, _d, _e, _f, _g, _h;
201
+ return (_jsxs("tr", { children: [_jsx("td", { children: no + 1 }), _jsx("td", { children: _jsx("input", { type: 'text', name: 'labels', className: 'form-control', value: (_a = data === null || data === void 0 ? void 0 : data['labels']) === null || _a === void 0 ? void 0 : _a[no], disabled: activeDataset > 0 ? true : false, onChange: function (e) { return handleChange(e, activeDataset, no, 'labels'); } }) }), _jsx("td", { children: _jsx("input", { type: 'text', name: 'datasets', className: 'form-control', value: (_d = (_c = (_b = data === null || data === void 0 ? void 0 : data['datasets']) === null || _b === void 0 ? void 0 : _b[activeDataset]) === null || _c === void 0 ? void 0 : _c['data']) === null || _d === void 0 ? void 0 : _d[no], onChange: function (e) { return handleChange(e, activeDataset, no, 'datasets'); } }) }), _jsx("td", { children: _jsx("input", { type: 'text', name: 'backgroundColor', className: 'form-control', value: (_g = (_f = (_e = data === null || data === void 0 ? void 0 : data['datasets']) === null || _e === void 0 ? void 0 : _e[activeDataset]) === null || _f === void 0 ? void 0 : _f['backgroundColor']) === null || _g === void 0 ? void 0 : _g[no], onChange: function (e) { return handleChange(e, activeDataset, no, 'backgroundColor'); } }) }), _jsx("td", { children: activeDataset === 0 ? no === ((_h = data === null || data === void 0 ? void 0 : data.labels) === null || _h === void 0 ? void 0 : _h.length) - 1 ? _jsx(FontAwesomeIcon, { icon: faPlusCircle, color: '#ff9068', onClick: function (e) { return AddNewRow(e, activeDataset); }, cursor: 'pointer' }) : _jsx(FontAwesomeIcon, { icon: faMinus, color: 'red', cursor: 'pointer', onClick: function (e) { return RemoveRow(e, activeDataset, no); } }) : '' })] }, no));
202
+ }) })] })) : _jsxs("button", __assign({ className: 'btn addnew-btn', onClick: function (e) { return AddNewRow(e, activeDataset); } }, { children: [_jsx(FontAwesomeIcon, { icon: faPlusCircle, color: '#ff9068', cursor: 'pointer' }), " Add New Row"] })), (_o = Object.keys((_m = data === null || data === void 0 ? void 0 : data.datasets) === null || _m === void 0 ? void 0 : _m[activeDataset])) === null || _o === void 0 ? void 0 : _o.map(function (key, no) {
203
+ var _a, _b, _c, _d, _e, _f;
204
+ return (!(excludeInputFields === null || excludeInputFields === void 0 ? void 0 : excludeInputFields.includes(key)) &&
205
+ (key === 'datalabels' ? (_b = Object.keys((_a = data === null || data === void 0 ? void 0 : data.datasets) === null || _a === void 0 ? void 0 : _a[activeDataset][key])) === null || _b === void 0 ? void 0 : _b.map(function (ky, n) {
206
+ var _a, _b, _c, _d, _e, _f, _g;
207
+ return (!((_a = ['font', 'formatter']) === null || _a === void 0 ? void 0 : _a.includes(ky)) && _jsxs("div", __assign({ className: 'form-group d-flex' }, { children: [_jsxs("label", { children: ["Data Label ", ky, ":"] }), (DataLablesCheckboxFields === null || DataLablesCheckboxFields === void 0 ? void 0 : DataLablesCheckboxFields.includes(ky)) ? _jsx("input", { type: 'checkbox', name: 'datalabels[]', checked: (_d = (_c = (_b = data === null || data === void 0 ? void 0 : data.datasets) === null || _b === void 0 ? void 0 : _b[activeDataset]) === null || _c === void 0 ? void 0 : _c[key]) === null || _d === void 0 ? void 0 : _d[ky], onChange: function (e) { return handleCheckbox(e, activeDataset, key); } }) :
208
+ _jsx("input", { type: 'text', name: 'datalabels[]', value: (_g = (_f = (_e = data === null || data === void 0 ? void 0 : data.datasets) === null || _e === void 0 ? void 0 : _e[activeDataset]) === null || _f === void 0 ? void 0 : _f[key]) === null || _g === void 0 ? void 0 : _g[ky], className: 'form-control', onChange: function (e) { return handleChange(e, activeDataset, ky, key); } })] }), n));
209
+ }) : _jsxs("div", __assign({ className: 'form-group d-flex' }, { children: [_jsxs("label", { children: [key, ":"] }), (checkboxFields === null || checkboxFields === void 0 ? void 0 : checkboxFields.includes(key)) ? _jsx("input", { type: 'checkbox', name: key, checked: (_d = (_c = data === null || data === void 0 ? void 0 : data.datasets) === null || _c === void 0 ? void 0 : _c[activeDataset]) === null || _d === void 0 ? void 0 : _d[key], onChange: function (e) { return handleCheckbox(e, activeDataset, key); } }) :
210
+ _jsx("input", { type: 'text', name: key, value: (_f = (_e = data === null || data === void 0 ? void 0 : data.datasets) === null || _e === void 0 ? void 0 : _e[activeDataset]) === null || _f === void 0 ? void 0 : _f[key], className: 'form-control', onChange: function (e) { return handleChange(e, activeDataset, 0, key); } })] }), no)));
211
+ }), _jsxs("div", __assign({ className: 'form-group d-flex' }, { children: [_jsx("label", { children: "Add. Point Label:" }), _jsx("input", { type: 'text', name: 'addPointLabel', value: (_q = (_p = data === null || data === void 0 ? void 0 : data.datasets) === null || _p === void 0 ? void 0 : _p[activeDataset]) === null || _q === void 0 ? void 0 : _q['addPointLabel'], className: 'form-control', onChange: function (e) { return handleChange(e, activeDataset, 0, 'addPointLabel'); } })] }))] }), _jsx("p", __assign({ className: 'subtitle' }, { children: "Options:" })), _jsxs("div", __assign({ className: 'form-group d-flex' }, { children: [_jsx("label", { children: "Legends:" }), _jsx("input", { type: 'checkbox', name: 'legend[]', checked: (_s = (_r = options === null || options === void 0 ? void 0 : options.plugins) === null || _r === void 0 ? void 0 : _r.legend) === null || _s === void 0 ? void 0 : _s.display, onChange: function (e) { return handleOptionCheckbox(e, 'legend', 'display'); } })] })), _jsxs("div", __assign({ className: 'form-group d-flex' }, { children: [_jsx("label", { children: "Legends Position:" }), _jsxs("select", __assign({ name: 'legend[]', className: 'form-control', value: (_u = (_t = options === null || options === void 0 ? void 0 : options.plugins) === null || _t === void 0 ? void 0 : _t.legend) === null || _u === void 0 ? void 0 : _u.position, onChange: function (e) { return handleOptionChange(e, 'legend', 'position'); } }, { children: [_jsx("option", { children: "top" }), _jsx("option", { children: "bottom" }), _jsx("option", { children: "right" }), _jsx("option", { children: "left" })] }))] })), _jsxs("div", __assign({ className: 'form-group d-flex' }, { children: [_jsx("label", { children: "Legends Align:" }), _jsxs("select", __assign({ name: 'legend[]', className: 'form-control', value: (_w = (_v = options === null || options === void 0 ? void 0 : options.plugins) === null || _v === void 0 ? void 0 : _v.legend) === null || _w === void 0 ? void 0 : _w.align, onChange: function (e) { return handleOptionChange(e, 'legend', 'align'); } }, { children: [_jsx("option", { children: "start" }), _jsx("option", { children: "end" }), _jsx("option", { children: "center" })] }))] })), _jsxs("div", __assign({ className: 'form-group d-flex' }, { children: [_jsx("label", { children: "Cut Out:" }), _jsx("input", { type: 'text', name: 'cutout', className: 'form-control', value: options === null || options === void 0 ? void 0 : options.cutout, onChange: function (e) { return handleOptionChange(e, null, 'cutout'); } })] })), _jsx("p", __assign({ className: 'subtitle' }, { children: "Api Call:" })), ((_x = data === null || data === void 0 ? void 0 : data.apiCall) === null || _x === void 0 ? void 0 : _x.display) && ((_y = Object.keys(data === null || data === void 0 ? void 0 : data.apiCall)) === null || _y === void 0 ? void 0 : _y.map(function (it, a) {
212
+ var _a, _b, _c, _d, _e;
213
+ return (!(excludeInputFieldsAPI === null || excludeInputFieldsAPI === void 0 ? void 0 : excludeInputFieldsAPI.includes(it)) &&
214
+ _jsxs("div", __assign({ className: 'form-group d-flex' }, { children: [_jsx("label", { children: it }), (DataLablesCheckboxFields === null || DataLablesCheckboxFields === void 0 ? void 0 : DataLablesCheckboxFields.includes(it)) ? _jsx("input", { type: 'checkbox', name: it, checked: (_a = data === null || data === void 0 ? void 0 : data.apiCall) === null || _a === void 0 ? void 0 : _a[it], onChange: function (e) { return handleCheckbox(e, null, 'apiCall'); } }) :
215
+ (it === 'body' || it === 'headers') ? _jsx("textarea", { name: it, value: (_b = data === null || data === void 0 ? void 0 : data.apiCall) === null || _b === void 0 ? void 0 : _b[it], className: 'form-control', rows: 2, cols: 5, onChange: function (e) { return handleChange(e, null, it, 'apiCall'); } }) :
216
+ (it === 'yAxisField' || it === 'xAxisField') ? _jsxs("div", __assign({ style: { width: '50%', display: 'flex', flexWrap: 'wrap' } }, { children: [" ", (_d = (_c = data === null || data === void 0 ? void 0 : data.apiCall) === null || _c === void 0 ? void 0 : _c[it]) === null || _d === void 0 ? void 0 : _d.map(function (f, fi) {
217
+ var _a, _b;
218
+ return (_jsx("input", { type: 'text', name: it, value: (_b = (_a = data === null || data === void 0 ? void 0 : data.apiCall) === null || _a === void 0 ? void 0 : _a[it]) === null || _b === void 0 ? void 0 : _b[fi], className: 'form-control', style: { width: '30%' }, onChange: function (e) { return handleChange(e, fi, it, 'apiCall'); } }, fi));
219
+ }), " "] })) :
220
+ _jsx("input", { type: 'text', name: it, value: (_e = data === null || data === void 0 ? void 0 : data.apiCall) === null || _e === void 0 ? void 0 : _e[it], className: 'form-control', onChange: function (e) { return handleChange(e, null, it, 'apiCall'); } })] }), a));
221
+ })), _jsx("div", __assign({ className: 'form-group d-flex' }, { children: ((data === null || data === void 0 ? void 0 : data.filters) && ((_z = data === null || data === void 0 ? void 0 : data.filters) === null || _z === void 0 ? void 0 : _z.length) > 0) ?
222
+ _jsxs(_Fragment, { children: [_jsxs("button", __assign({ className: 'btn btn-danger', style: { fontSize: 13, marginBottom: 10 }, onClick: function (e) { return emptyFilters(e); } }, { children: [_jsx(FontAwesomeIcon, { icon: faMinus, style: { marginRight: 5 } }), "Remove Filters"] })), (_0 = data === null || data === void 0 ? void 0 : data.filters) === null || _0 === void 0 ? void 0 : _0.map(function (dt, f) {
223
+ var _a, _b, _c, _d, _e;
224
+ return (_jsxs(React.Fragment, { children: [_jsxs("div", __assign({ className: 'w-50 d-flex flex-wrap' }, { children: [_jsx("input", { type: 'text', name: 'filters', className: 'form-control', value: (_b = (_a = data === null || data === void 0 ? void 0 : data['filters']) === null || _a === void 0 ? void 0 : _a[f]) === null || _b === void 0 ? void 0 : _b['filter'], onChange: function (e) { return handleChange(e, f, null, 'filtersName'); } }), _jsxs("select", __assign({ name: 'filters', className: 'form-control', value: (_d = (_c = data === null || data === void 0 ? void 0 : data['filters']) === null || _c === void 0 ? void 0 : _c[f]) === null || _d === void 0 ? void 0 : _d['type'], onChange: function (e) { return handleChange(e, f, null, 'filtersType'); } }, { children: [_jsx("option", __assign({ value: 0 }, { children: "Select" })), _jsx("option", __assign({ value: 1 }, { children: "Single Select" })), _jsx("option", __assign({ value: 2 }, { children: "Multiple Select" }))] }))] })), _jsxs("table", __assign({ className: 'table' }, { children: [_jsxs("thead", { children: [_jsx("th", { children: "SRNO." }), _jsx("th", { children: "Labels" }), _jsx("th", { children: "Action" })] }), _jsx("tbody", { children: (_e = dt === null || dt === void 0 ? void 0 : dt.values) === null || _e === void 0 ? void 0 : _e.map(function (fv, k) {
225
+ var _a, _b, _c, _d, _e, _f;
226
+ return (_jsxs("tr", { children: [_jsx("td", { children: k + 1 }), _jsx("td", { children: _jsx("input", { type: 'text', name: 'filters', className: 'form-control', value: (_c = (_b = (_a = data === null || data === void 0 ? void 0 : data['filters']) === null || _a === void 0 ? void 0 : _a[f]) === null || _b === void 0 ? void 0 : _b['values']) === null || _c === void 0 ? void 0 : _c[k], onChange: function (e) { return handleChange(e, f, k, 'filtersValues'); } }) }), _jsx("td", { children: k === ((_f = (_e = (_d = data === null || data === void 0 ? void 0 : data.filters) === null || _d === void 0 ? void 0 : _d[f]) === null || _e === void 0 ? void 0 : _e.values) === null || _f === void 0 ? void 0 : _f.length) - 1 ? _jsx(FontAwesomeIcon, { icon: faPlusCircle, color: '#ff9068', onClick: function (e) { return addNewFilterRow(e, f, 'TABLE_ROW'); }, cursor: 'pointer' }) : _jsx(FontAwesomeIcon, { icon: faMinus, color: 'red', cursor: 'pointer', onClick: function (e) { return RemoveFilterRow(e, f); } }) })] }, k));
227
+ }) })] }))] }, f));
228
+ })] })
229
+ :
230
+ _jsxs("button", __assign({ className: 'btn active', onClick: function (e) { return addNewFilterRow(e, 0, null); } }, { children: [_jsx(FontAwesomeIcon, { icon: faPlusCircle, style: { marginRight: 5 } }), " Add Filters"] })) }))] })));
231
+ };
232
+ export default DoughnutConfigForm;
@@ -0,0 +1,52 @@
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
+ import { GraphConfigs } from "../../../Utility/Main";
13
+ export var DouhgnutDatasetFormat = function (data) {
14
+ if (!data) {
15
+ return __assign({ data: [] }, OptionalDoughnutDatasets());
16
+ }
17
+ else {
18
+ return data;
19
+ }
20
+ };
21
+ export var OptionalDoughnutDatasets = function () {
22
+ return {
23
+ label: 'My First Dataset',
24
+ backgroundColor: [GraphConfigs === null || GraphConfigs === void 0 ? void 0 : GraphConfigs.DEFAULT_BGCOLOR[1]],
25
+ borderColor: '#fff',
26
+ borderWidth: 2,
27
+ borderDash: [],
28
+ borderDashOffset: 0,
29
+ borderJoinStyle: 'round',
30
+ borderRadius: 5,
31
+ offset: 0,
32
+ circumference: undefined,
33
+ hoverBackgroundColor: GraphConfigs === null || GraphConfigs === void 0 ? void 0 : GraphConfigs.DEFAULT_BGCOLOR[1],
34
+ hoverBorderColor: GraphConfigs === null || GraphConfigs === void 0 ? void 0 : GraphConfigs.DEFAULT_BGCOLOR[0],
35
+ hoverBorderWidth: 1,
36
+ hoverBorderDash: [],
37
+ hoverBorderDashOffset: 0,
38
+ hoverBorderJoinStyle: 'round',
39
+ hoverOffset: 5,
40
+ rotation: undefined,
41
+ datalabels: {
42
+ display: true,
43
+ color: '#000',
44
+ anchor: 'end',
45
+ align: 'top',
46
+ rotation: 0,
47
+ font: {
48
+ size: GraphConfigs === null || GraphConfigs === void 0 ? void 0 : GraphConfigs.POINT_FONT_SIZE
49
+ }
50
+ }
51
+ };
52
+ };
@@ -0,0 +1,106 @@
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
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
49
+ import { useContext, useEffect, useState } from 'react';
50
+ import DrawChart from '../DrawGraph';
51
+ import { chartDrawData, ChartTypes, fetchApi, ModelTypes } from '../../../Utility/Main';
52
+ import '../Chart.css';
53
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
54
+ import { faEllipsisVertical, faLink } from '@fortawesome/free-solid-svg-icons';
55
+ import Model from '../../Common/Model/Model';
56
+ import { GraphContext, PopUpContext } from '../../../Utility/Contexts';
57
+ import { DouhgnutDatasetFormat } from './Format';
58
+ import { faTrashAlt } from '@fortawesome/free-regular-svg-icons';
59
+ import MultipleSelectDropdown from '../../Common/MultipleSelectDropdown';
60
+ import NotFoundComponent from '../../Common/NotFound';
61
+ var DoughnutAndPie = function (props) {
62
+ var _a, _b, _c, _d, _e;
63
+ var _f = useContext(PopUpContext), layout = _f.layout, setLayout = _f.setLayout, removeChart = _f.removeChart;
64
+ var addNewFormat = ((_a = props === null || props === void 0 ? void 0 : props.datasets) === null || _a === void 0 ? void 0 : _a.length) > 0 ? (_b = props === null || props === void 0 ? void 0 : props.datasets) === null || _b === void 0 ? void 0 : _b.map(function (it) { return DouhgnutDatasetFormat(it); }) : [DouhgnutDatasetFormat(null)];
65
+ var _g = useState(chartDrawData(props, layout, addNewFormat)), drawData = _g[0], setDrawData = _g[1];
66
+ var _h = useState(props === null || props === void 0 ? void 0 : props.chartOptions), graphOptions = _h[0], setGraphOptions = _h[1];
67
+ var _j = useState(false), showPopup = _j[0], setshowPopup = _j[1];
68
+ var _k = useState({}), gData = _k[0], setgData = _k[1];
69
+ var _l = useState({
70
+ headTitle: '',
71
+ chart: '',
72
+ data: {},
73
+ type: ''
74
+ }), modelData = _l[0], setModelData = _l[1];
75
+ var showForm = function (formName, title, data, type) {
76
+ setshowPopup(true);
77
+ setModelData({
78
+ headTitle: title,
79
+ chart: formName,
80
+ data: data,
81
+ type: type
82
+ });
83
+ };
84
+ var fetchResult = function () { return __awaiter(void 0, void 0, void 0, function () {
85
+ var result, error_1;
86
+ return __generator(this, function (_a) {
87
+ switch (_a.label) {
88
+ case 0:
89
+ _a.trys.push([0, 2, , 3]);
90
+ return [4 /*yield*/, fetchApi(props === null || props === void 0 ? void 0 : props.apiCall, drawData, ChartTypes === null || ChartTypes === void 0 ? void 0 : ChartTypes.DOUGHNUT, showPopup)];
91
+ case 1:
92
+ result = _a.sent();
93
+ setgData(result);
94
+ return [3 /*break*/, 3];
95
+ case 2:
96
+ error_1 = _a.sent();
97
+ console.debug(error_1 === null || error_1 === void 0 ? void 0 : error_1.toString());
98
+ return [3 /*break*/, 3];
99
+ case 3: return [2 /*return*/];
100
+ }
101
+ });
102
+ }); };
103
+ useEffect(function () { fetchResult(); }, [drawData, graphOptions]);
104
+ return (_jsx(GraphContext.Provider, __assign({ value: { drawData: drawData, setDrawData: setDrawData, graphOptions: graphOptions, setGraphOptions: setGraphOptions } }, { children: _jsxs(PopUpContext.Provider, __assign({ value: { showPopup: showPopup, setshowPopup: setshowPopup, modelData: modelData, setModelData: setModelData, layout: layout, setLayout: setLayout } }, { children: [_jsxs("div", __assign({ className: 'chart-container', style: { width: '100%', height: '100%' } }, { children: [_jsxs("div", __assign({ className: 'chart-title', style: __assign({}, drawData === null || drawData === void 0 ? void 0 : drawData.styles) }, { children: [_jsxs("h5", { children: [drawData === null || drawData === void 0 ? void 0 : drawData.title, " ", (drawData === null || drawData === void 0 ? void 0 : drawData.url) && _jsx("span", { children: _jsx(FontAwesomeIcon, { className: 'disable', icon: faLink, cursor: 'pointer', title: drawData === null || drawData === void 0 ? void 0 : drawData.urlTitle, style: { marginLeft: 5, color: '#0d6efd' }, onClick: function () { return window.open(drawData === null || drawData === void 0 ? void 0 : drawData.url, '_blank'); } }) })] }), ((_c = drawData === null || drawData === void 0 ? void 0 : drawData.filters) === null || _c === void 0 ? void 0 : _c.length) > 0 && _jsx(MultipleSelectDropdown, { existFilter: ((_d = props === null || props === void 0 ? void 0 : props.apiCall) === null || _d === void 0 ? void 0 : _d.body) || '{}', isEdit: props === null || props === void 0 ? void 0 : props.isConfigEdit }), (props === null || props === void 0 ? void 0 : props.isConfigEdit) && _jsxs("div", { children: [_jsx(FontAwesomeIcon, { className: 'disable', icon: faTrashAlt, color: 'red', style: { marginRight: 15 }, cursor: 'pointer', onClick: function () { return removeChart(props === null || props === void 0 ? void 0 : props.layoutId); } }), _jsx(FontAwesomeIcon, { className: 'settings disable', icon: faEllipsisVertical, cursor: 'pointer', onClick: function (e) { return showForm(ChartTypes === null || ChartTypes === void 0 ? void 0 : ChartTypes.DOUGHNUT, 'Configure Doughnut Data', { gData: drawData, gOptions: graphOptions, layoutId: props === null || props === void 0 ? void 0 : props.layoutId }, ModelTypes === null || ModelTypes === void 0 ? void 0 : ModelTypes.CONFIGURE); } })] })] })), _jsx("div", __assign({ className: "graph-container" }, { children: ((_e = drawData === null || drawData === void 0 ? void 0 : drawData.datasets) === null || _e === void 0 ? void 0 : _e.length) > 0 ? _jsx(DrawChart, { type: props === null || props === void 0 ? void 0 : props.chart, data: gData }) : _jsx(NotFoundComponent, {}) }))] })), showPopup && _jsx(Model, { headTitle: modelData === null || modelData === void 0 ? void 0 : modelData.headTitle, chart: modelData === null || modelData === void 0 ? void 0 : modelData.chart, data: modelData === null || modelData === void 0 ? void 0 : modelData.data, type: modelData === null || modelData === void 0 ? void 0 : modelData.type })] })) })));
105
+ };
106
+ export default DoughnutAndPie;
@@ -0,0 +1,32 @@
1
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
2
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
3
+ if (ar || !(i in from)) {
4
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
5
+ ar[i] = from[i];
6
+ }
7
+ }
8
+ return to.concat(ar || Array.prototype.slice.call(from));
9
+ };
10
+ import { jsx as _jsx } from "react/jsx-runtime";
11
+ import { Chart, registerables } from 'chart.js';
12
+ import ChartDataLabels from 'chartjs-plugin-datalabels';
13
+ import { useContext, useEffect, useRef } from 'react';
14
+ import { GraphContext } from '../../Utility/Contexts';
15
+ var DrawChart = function (props) {
16
+ Chart.register.apply(Chart, __spreadArray(__spreadArray([], registerables, false), [ChartDataLabels], false));
17
+ var chartid = useRef('chart');
18
+ var _a = useContext(GraphContext), drawData = _a.drawData, graphOptions = _a.graphOptions;
19
+ useEffect(function () {
20
+ var config = {
21
+ type: props === null || props === void 0 ? void 0 : props.type,
22
+ data: (props === null || props === void 0 ? void 0 : props.data) || drawData,
23
+ options: graphOptions
24
+ };
25
+ var myChart = new Chart(chartid.current, config);
26
+ return function () {
27
+ myChart.destroy();
28
+ };
29
+ }, [props === null || props === void 0 ? void 0 : props.type, drawData, graphOptions, props === null || props === void 0 ? void 0 : props.data]);
30
+ return (_jsx("canvas", { ref: chartid, className: 'disable' }));
31
+ };
32
+ export default DrawChart;