@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,231 @@
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 { BarChartDatasetFormat } from './Format';
27
+ import { updateChartLayoutDetails } from '../../../Utility/Main';
28
+ var BarConfigForm = 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, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14;
30
+ var _15 = useState((_a = props === null || props === void 0 ? void 0 : props.data) === null || _a === void 0 ? void 0 : _a.gData), data = _15[0], setData = _15[1];
31
+ var _16 = useState((_b = props === null || props === void 0 ? void 0 : props.data) === null || _b === void 0 ? void 0 : _b.gOptions), options = _16[0], setOptions = _16[1];
32
+ var _17 = useContext(GraphContext), setDrawData = _17.setDrawData, setGraphOptions = _17.setGraphOptions;
33
+ var _18 = useContext(PopUpContext), layout = _18.layout, setLayout = _18.setLayout;
34
+ var _19 = useState(0), activeDataset = _19[0], setActiveDataset = _19[1];
35
+ var excludeInputFields = ['data', 'type', 'borderDash', 'borderDashOffset', 'addPointLabel'];
36
+ var excludeInputFieldsAPI = ['success'];
37
+ var checkboxFields = ['borderSkipped', 'fill'];
38
+ var DataLablesCheckboxFields = ['display'];
39
+ var addNewFormat = BarChartDatasetFormat(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 === 'title' || name === 'url' || name === 'urlTitle') {
49
+ data[name] = value;
50
+ }
51
+ else if (name === 'datalabels') {
52
+ data['datasets'][i]['datalabels'][no] = value;
53
+ }
54
+ else if (name === 'styles') {
55
+ data[name][e.target.name] = value;
56
+ }
57
+ else if (name === 'filtersName') {
58
+ data['filters'][i]['filter'] = value;
59
+ }
60
+ else if (name === 'filtersType') {
61
+ data['filters'][i]['type'] = value;
62
+ }
63
+ else if (name === 'filtersValues') {
64
+ data['filters'][i]['values'][no] = value;
65
+ }
66
+ else if (name === 'apiCall') {
67
+ if (no === 'xAxisField' || no === 'yAxisField') {
68
+ data[name][no][i] = value;
69
+ }
70
+ else {
71
+ data[name][no] = value;
72
+ }
73
+ }
74
+ else {
75
+ data['datasets'][i][name] = value;
76
+ }
77
+ setData(__assign({}, data));
78
+ setDrawData(__assign({}, data));
79
+ updateLayoutDetails(['labels', 'datasets', 'title', 'styles', 'url', 'apiCall', 'urlTitle'], data);
80
+ };
81
+ var handleCheckbox = function (e, i, name) {
82
+ var checked = e.target.checked;
83
+ if (name === 'datalabels') {
84
+ data['datasets'][i][name]['display'] = checked;
85
+ }
86
+ else if (name === 'apiCall') {
87
+ data[name]['display'] = checked;
88
+ }
89
+ else {
90
+ data['datasets'][i][name] = checked;
91
+ }
92
+ setData(__assign({}, data));
93
+ setDrawData(__assign({}, data));
94
+ updateLayoutDetails(['datasets', 'apiCall'], data);
95
+ };
96
+ var AddNewRow = function (e, i) {
97
+ data['datasets'][i]['data'] = __spreadArray(__spreadArray([], data['datasets'][i]['data'], true), [0], false);
98
+ data['labels'] = __spreadArray(__spreadArray([], data['labels'], true), [''], false);
99
+ setData(__assign({}, data));
100
+ setDrawData(__assign({}, data));
101
+ updateLayoutDetails(['labels', 'datasets'], data);
102
+ };
103
+ var AddNewDataset = function (e) {
104
+ e.preventDefault();
105
+ data['datasets'] = __spreadArray(__spreadArray([], data['datasets'], true), [addNewFormat], false);
106
+ setData(__assign({}, data));
107
+ setDrawData(__assign({}, data));
108
+ updateLayoutDetails(['datasets'], data);
109
+ };
110
+ var RemoveRow = function (e, i, no) {
111
+ data['datasets'][i]['data'].splice(no, 1);
112
+ data['labels'].splice(no, 1);
113
+ setData(__assign({}, data));
114
+ setDrawData(__assign({}, data));
115
+ updateLayoutDetails(['labels', 'datasets'], data);
116
+ };
117
+ // OPTIONS
118
+ var handleOptionCheckbox = function (e, field, name) {
119
+ var checked = e.target.checked;
120
+ switch (field) {
121
+ case 'legend':
122
+ options['plugins'][field][name] = checked;
123
+ break;
124
+ case 'scales':
125
+ if (name === 'xgrid') {
126
+ options[field]['x']['grid']['display'] = checked;
127
+ }
128
+ else if (name === 'ygrid') {
129
+ options[field]['y']['grid']['display'] = checked;
130
+ }
131
+ else if (name === 'xstacked') {
132
+ options[field]['x']['stacked'] = checked;
133
+ }
134
+ else if (name === 'ystacked') {
135
+ options[field]['y']['stacked'] = checked;
136
+ }
137
+ else if (name === 'ydisplay') {
138
+ options[field]['y']['display'] = checked;
139
+ }
140
+ else if (name === 'xdisplay') {
141
+ options[field]['x']['display'] = checked;
142
+ }
143
+ break;
144
+ default:
145
+ name = '';
146
+ field = '';
147
+ }
148
+ setOptions(__assign({}, options));
149
+ setGraphOptions(__assign({}, options));
150
+ updateLayoutDetails(['options'], options);
151
+ };
152
+ var handleOptionChange = function (e, field, name) {
153
+ var value = e.target.value;
154
+ options['plugins'][field][name] = value;
155
+ setOptions(__assign({}, options));
156
+ setGraphOptions(__assign({}, options));
157
+ updateLayoutDetails(['options'], options);
158
+ };
159
+ var updateLayoutDetails = function (field, data) {
160
+ var _a;
161
+ var updtDtls = updateChartLayoutDetails(field, data, layout, (_a = props === null || props === void 0 ? void 0 : props.data) === null || _a === void 0 ? void 0 : _a.layoutId);
162
+ setLayout(updtDtls);
163
+ };
164
+ var addNewFilterRow = function (e, i, type) {
165
+ e.preventDefault();
166
+ if (type === 'TABLE_ROW') {
167
+ data['filters'][i]['values'] = __spreadArray(__spreadArray([], data['filters'][i]['values'], true), [null], false);
168
+ }
169
+ else {
170
+ data['filters'] = __spreadArray(__spreadArray([], data['filters'], true), [{ filter: '', values: [null] }], false);
171
+ }
172
+ setData(__assign({}, data));
173
+ setDrawData(__assign({}, data));
174
+ updateLayoutDetails(['filters'], data);
175
+ };
176
+ var RemoveFilterRow = function (e, i) {
177
+ data['filters'].splice(i, 1);
178
+ setData(__assign({}, data));
179
+ setDrawData(__assign({}, data));
180
+ updateLayoutDetails(['filters'], data);
181
+ };
182
+ var emptyFilters = function (e) {
183
+ data['filters'] = [];
184
+ setData(__assign({}, data));
185
+ setDrawData(__assign({}, data));
186
+ updateLayoutDetails(['filters'], data);
187
+ };
188
+ 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) &&
189
+ _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) {
190
+ var _a;
191
+ 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));
192
+ }), ((_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) {
193
+ var _a, _b;
194
+ 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));
195
+ }), " "] })), ((_j = data === null || data === void 0 ? void 0 : data.datasets) === null || _j === void 0 ? void 0 : _j.length) > 0 &&
196
+ _jsxs(React.Fragment, { children: [((_k = data === null || data === void 0 ? void 0 : data.labels) === null || _k === void 0 ? void 0 : _k.length) > 0 ?
197
+ _jsxs("table", __assign({ className: 'table' }, { children: [_jsxs("thead", { children: [_jsx("th", { children: "SRNO." }), _jsx("th", { children: "Labels" }), _jsx("th", { children: "Values" }), _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) {
198
+ var _a, _b, _c, _d, _e;
199
+ 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: activeDataset === 0 ? no === ((_e = data === null || data === void 0 ? void 0 : data.labels) === null || _e === void 0 ? void 0 : _e.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));
200
+ }) })] })) : _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) {
201
+ var _a, _b, _c, _d, _e, _f;
202
+ return (!(excludeInputFields === null || excludeInputFields === void 0 ? void 0 : excludeInputFields.includes(key)) &&
203
+ (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) {
204
+ var _a, _b, _c, _d, _e, _f, _g;
205
+ 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); } }) :
206
+ _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));
207
+ }) :
208
+ _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); } }) :
209
+ _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)));
210
+ }), _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: "Stacked:" }), _jsxs("div", __assign({ className: 'd-flex grid' }, { children: [_jsxs("div", __assign({ className: 'form-group' }, { children: [_jsx("input", { type: 'checkbox', name: 'scales[]', checked: (_y = (_x = options === null || options === void 0 ? void 0 : options.scales) === null || _x === void 0 ? void 0 : _x.x) === null || _y === void 0 ? void 0 : _y.stacked, onChange: function (e) { return handleOptionCheckbox(e, 'scales', 'xstacked'); } }), " X Axis"] })), _jsxs("div", __assign({ className: 'form-group' }, { children: [_jsx("input", { type: 'checkbox', name: 'scales[]', checked: (_0 = (_z = options === null || options === void 0 ? void 0 : options.scales) === null || _z === void 0 ? void 0 : _z.y) === null || _0 === void 0 ? void 0 : _0.stacked, onChange: function (e) { return handleOptionCheckbox(e, 'scales', 'ystacked'); } }), " Y Axis"] }))] }))] })), _jsxs("div", __assign({ className: 'form-group d-flex' }, { children: [_jsx("label", { children: "Display Axis Line:" }), _jsxs("div", __assign({ className: 'd-flex grid' }, { children: [_jsxs("div", __assign({ className: 'form-group' }, { children: [_jsx("input", { type: 'checkbox', name: 'scales[]', checked: (_2 = (_1 = options === null || options === void 0 ? void 0 : options.scales) === null || _1 === void 0 ? void 0 : _1.x) === null || _2 === void 0 ? void 0 : _2.display, onChange: function (e) { return handleOptionCheckbox(e, 'scales', 'xdisplay'); } }), " X Axis"] })), _jsxs("div", __assign({ className: 'form-group' }, { children: [_jsx("input", { type: 'checkbox', name: 'scales[]', checked: (_4 = (_3 = options === null || options === void 0 ? void 0 : options.scales) === null || _3 === void 0 ? void 0 : _3.y) === null || _4 === void 0 ? void 0 : _4.display, onChange: function (e) { return handleOptionCheckbox(e, 'scales', 'ydisplay'); } }), " Y Axis"] }))] }))] })), _jsxs("div", __assign({ className: 'form-group d-flex' }, { children: [_jsx("label", { children: "Display Grid:" }), _jsxs("div", __assign({ className: 'd-flex grid' }, { children: [_jsxs("div", __assign({ className: 'form-group' }, { children: [_jsx("input", { type: 'checkbox', name: 'scales[]', checked: (_7 = (_6 = (_5 = options === null || options === void 0 ? void 0 : options.scales) === null || _5 === void 0 ? void 0 : _5.x) === null || _6 === void 0 ? void 0 : _6.grid) === null || _7 === void 0 ? void 0 : _7.display, onChange: function (e) { return handleOptionCheckbox(e, 'scales', 'xgrid'); } }), " X Axis"] })), _jsxs("div", __assign({ className: 'form-group' }, { children: [_jsx("input", { type: 'checkbox', name: 'scales[]', checked: (_10 = (_9 = (_8 = options === null || options === void 0 ? void 0 : options.scales) === null || _8 === void 0 ? void 0 : _8.y) === null || _9 === void 0 ? void 0 : _9.grid) === null || _10 === void 0 ? void 0 : _10.display, onChange: function (e) { return handleOptionCheckbox(e, 'scales', 'ygrid'); } }), " Y Axis"] }))] }))] })), _jsx("p", __assign({ className: 'subtitle' }, { children: "Api Call:" })), ((_11 = data === null || data === void 0 ? void 0 : data.apiCall) === null || _11 === void 0 ? void 0 : _11.display) && ((_12 = Object.keys(data === null || data === void 0 ? void 0 : data.apiCall)) === null || _12 === void 0 ? void 0 : _12.map(function (it, a) {
211
+ var _a, _b, _c, _d, _e;
212
+ return (!(excludeInputFieldsAPI === null || excludeInputFieldsAPI === void 0 ? void 0 : excludeInputFieldsAPI.includes(it)) &&
213
+ _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'); } }) :
214
+ (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'); } }) :
215
+ (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) {
216
+ var _a, _b;
217
+ 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));
218
+ }), " "] })) :
219
+ _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));
220
+ })), _jsx("div", __assign({ className: 'form-group d-flex' }, { children: ((data === null || data === void 0 ? void 0 : data.filters) && ((_13 = data === null || data === void 0 ? void 0 : data.filters) === null || _13 === void 0 ? void 0 : _13.length) > 0) ?
221
+ _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"] })), (_14 = data === null || data === void 0 ? void 0 : data.filters) === null || _14 === void 0 ? void 0 : _14.map(function (dt, f) {
222
+ var _a, _b, _c, _d, _e;
223
+ 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) {
224
+ var _a, _b, _c, _d, _e, _f;
225
+ 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));
226
+ }) })] }))] }, f));
227
+ })] })
228
+ :
229
+ _jsxs("button", __assign({ className: 'btn active', onClick: function (e) { return addNewFilterRow(e, 0, null); } }, { children: [_jsx(FontAwesomeIcon, { icon: faPlusCircle, style: { marginRight: 5 } }), " Add Filters"] })) }))] })));
230
+ };
231
+ export default BarConfigForm;
@@ -0,0 +1,43 @@
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 { ChartTypes, GraphConfigs } from "../../../Utility/Main";
13
+ export var BarChartDatasetFormat = function (data) {
14
+ if (!data) {
15
+ return __assign({ type: ChartTypes.BAR, data: [] }, OptionalBarDatasets());
16
+ }
17
+ else {
18
+ return data;
19
+ }
20
+ };
21
+ export var OptionalBarDatasets = function () {
22
+ return {
23
+ label: 'My First Dataset',
24
+ backgroundColor: GraphConfigs === null || GraphConfigs === void 0 ? void 0 : GraphConfigs.DEFAULT_BGCOLOR[0],
25
+ borderColor: GraphConfigs === null || GraphConfigs === void 0 ? void 0 : GraphConfigs.DEFAULT_BGCOLOR[1],
26
+ borderWidth: 1,
27
+ barThickness: 30,
28
+ borderRadius: 5,
29
+ borderSkipped: false,
30
+ stack: 'none',
31
+ order: 1,
32
+ datalabels: {
33
+ color: '#000',
34
+ anchor: 'end',
35
+ align: 'top',
36
+ display: true,
37
+ rotation: 0,
38
+ font: {
39
+ size: GraphConfigs === null || GraphConfigs === void 0 ? void 0 : GraphConfigs.POINT_FONT_SIZE
40
+ }
41
+ }
42
+ };
43
+ };
@@ -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 { GraphContext, PopUpContext } from '../../../Utility/Contexts';
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 { BarChartDatasetFormat } from './Format';
57
+ import '../Chart.css';
58
+ import { faTrashAlt } from '@fortawesome/free-regular-svg-icons';
59
+ import MultipleSelectDropdown from '../../Common/MultipleSelectDropdown';
60
+ import NotFoundComponent from '../../Common/NotFound';
61
+ var Bar = 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 BarChartDatasetFormat(it); }) : [BarChartDatasetFormat(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.BAR, showPopup, graphOptions)];
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%', background: '#fff' } }, { 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.BAR, 'Configure Bar Chart 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: ChartTypes === null || ChartTypes === void 0 ? void 0 : ChartTypes.BAR, 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 Bar;
@@ -0,0 +1,203 @@
1
+ .chart-container {
2
+ border: 1px solid #dedede;
3
+ background: #fff;
4
+ border-radius: 5px;
5
+ box-shadow: 0 0 5px #dedede;
6
+
7
+ .chart-title {
8
+ box-sizing: border-box;
9
+ box-shadow: 0 0 5px #dedede;
10
+ border-radius: 5px;
11
+ padding: 8px;
12
+ text-align: left;
13
+ display: flex;
14
+ justify-content: space-between;
15
+ align-items: center;
16
+
17
+ h5 {
18
+ margin-bottom: 0;
19
+ font-size: 15px;
20
+ }
21
+ }
22
+
23
+ .graph-container {
24
+ width: 100%;
25
+ height: 85%;
26
+ padding: 5px;
27
+ }
28
+ }
29
+
30
+ /* FORMS */
31
+ .popup-model-form {
32
+ padding: 15px;
33
+
34
+ .subtitle {
35
+ font-size: 13px;
36
+ font-weight: 600;
37
+ text-align: left;
38
+ margin-bottom: 15px;
39
+ margin-top: 15px;
40
+ position: relative;
41
+ }
42
+
43
+ .subtitle::after {
44
+ content: '';
45
+ position: absolute;
46
+ bottom: -5px;
47
+ left: 0;
48
+ width: 20px;
49
+ background: #000;
50
+ height: 1px;
51
+ }
52
+
53
+ .dataset-div {
54
+ flex-wrap: wrap;
55
+ align-items: center;
56
+ justify-content: flex-start;
57
+ }
58
+
59
+ .active {
60
+ background-color: #ff9068;
61
+ color: #fff;
62
+ font-size: 12px;
63
+ }
64
+
65
+ .addnew-btn {
66
+ border: 1px solid #ff9068;
67
+ color: #ff9068;
68
+ font-size: 12px;
69
+ margin-bottom: 5px;
70
+ width: 100%;
71
+ }
72
+
73
+ .dtsts {
74
+ font-size: 12px;
75
+ border: 1px solid #ccc;
76
+ margin: 5px;
77
+ }
78
+
79
+ .table thead th,
80
+ .table tbody td {
81
+ font-size: 12px;
82
+ padding: 5px;
83
+ }
84
+
85
+ .table thead th {
86
+ font-weight: 600;
87
+ }
88
+
89
+ .table thead {
90
+ background: #eee;
91
+ border-radius: 5px;
92
+ }
93
+
94
+ .table tbody td input {
95
+ font-size: 12px;
96
+ }
97
+
98
+ .form-group {
99
+ flex-wrap: wrap;
100
+ justify-content: space-between;
101
+ align-items: center;
102
+ margin-bottom: 5px;
103
+ }
104
+
105
+ .form-group label {
106
+ width: 50%;
107
+ font-size: 12px;
108
+ font-weight: 500;
109
+ text-align: left;
110
+ margin-bottom: 5px;
111
+ }
112
+
113
+ .form-group input,
114
+ .form-group select, .form-group textarea {
115
+ font-size: 12px;
116
+ width: 50%;
117
+ }
118
+
119
+ .grid {
120
+ width: 50%;
121
+
122
+ .form-group {
123
+ width: 50%;
124
+ margin-bottom: 0;
125
+ }
126
+ }
127
+
128
+ .updt-btn {
129
+ position: absolute;
130
+ bottom: 0;
131
+ left: 0;
132
+ width: 100%;
133
+ height: 50px;
134
+ background: #fff;
135
+ border-radius: 5px;
136
+ box-shadow: 0 0 5px #dedede;
137
+ padding: 8px;
138
+ text-align: left;
139
+
140
+ button {
141
+ background: #ff9068;
142
+ color: #fff;
143
+ font-size: 13px;
144
+ width: 30%;
145
+ text-transform: uppercase;
146
+ }
147
+ }
148
+ }
149
+
150
+ .box-2 {
151
+ display: flex;
152
+ flex-direction: row;
153
+ justify-content: space-around;
154
+ align-items: center;
155
+ margin-top: 9px;
156
+ margin-bottom: 9px;
157
+
158
+ p {
159
+ width: 20%;
160
+ height: 20px;
161
+ margin-bottom: 0;
162
+ font-size: 12px;
163
+ text-align: left;
164
+ font-weight: 500;
165
+ }
166
+
167
+ p:last-child {
168
+ width: 15%;
169
+ text-align: right;
170
+ }
171
+
172
+ .indicator-box {
173
+ width: 65%;
174
+ height: 10px;
175
+ border-radius: 5px;
176
+ background-color: #dedede;
177
+ position: relative;
178
+ transition: .1s all linear;
179
+ }
180
+
181
+ .indicator-box p {
182
+ margin-bottom: 0;
183
+ height: 10px;
184
+ position: relative;
185
+ border-radius: 5px;
186
+ transition: .1s all linear;
187
+ }
188
+
189
+ .indicator-box p::after {
190
+ content: '';
191
+ position: absolute;
192
+ right: -10px;
193
+ width: 15px;
194
+ height: 15px;
195
+ top: -2.5px;
196
+ background-color: #fff;
197
+ border-radius: 100%;
198
+ box-shadow: 0 0 2px #4a4a4a;
199
+ }
200
+ }
201
+ .pad-15{
202
+ padding: 15px;
203
+ }