@materialui-reactjs/admin 1.0.4
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.
- package/README.md +453 -0
- package/dist/assets/css/SpinnerLoader.css +1 -0
- package/dist/assets/css/form.css +1 -0
- package/dist/assets/css/index.css +1 -0
- package/dist/assets/css/meta.css +1 -0
- package/dist/chunks/Common-C_ZhT4L6.js +217 -0
- package/dist/chunks/Env-DRXhvUcb.js +16 -0
- package/dist/chunks/HeaderUpdate-lrSYWsKp.js +474 -0
- package/dist/chunks/SortableItem-B4-Zsso3.js +31 -0
- package/dist/chunks/SpinnerLoader-h8RDIarB.js +21 -0
- package/dist/chunks/UDragFile-CAiSfTsp.js +92 -0
- package/dist/chunks/Validator-DjZz2bJs.js +203 -0
- package/dist/chunks/echarts-CRmndsxC.js +322 -0
- package/dist/chunks/form-C8gzkYMW.js +45843 -0
- package/dist/chunks/loader-BUiOnhOH.js +1 -0
- package/dist/chunks/meta-k8MmuQjS.js +758 -0
- package/dist/chunks/sidebar-Dj4Xr9du.js +84 -0
- package/dist/chunks/single-DyPwG6ZR.js +1082 -0
- package/dist/chunks/top-navbar-FBw88y_o.js +78 -0
- package/dist/components/echarts/BarChart.d.ts +11 -0
- package/dist/components/echarts/LineChart.d.ts +10 -0
- package/dist/components/echarts/MultiBarChart.d.ts +14 -0
- package/dist/components/echarts/MultiLineChart.d.ts +14 -0
- package/dist/components/echarts/PieChart.d.ts +12 -0
- package/dist/components/echarts/index.d.ts +5 -0
- package/dist/components/echarts/index.js +2 -0
- package/dist/components/form/AdvancedMultiSelect.d.ts +16 -0
- package/dist/components/form/AsxhUImages.d.ts +15 -0
- package/dist/components/form/BoxAddRow.d.ts +26 -0
- package/dist/components/form/CheckTreeBox.d.ts +18 -0
- package/dist/components/form/CusForm.d.ts +105 -0
- package/dist/components/form/DateInput.d.ts +14 -0
- package/dist/components/form/DateTimeInput.d.ts +11 -0
- package/dist/components/form/Editor.d.ts +12 -0
- package/dist/components/form/EfFile.d.ts +15 -0
- package/dist/components/form/EfImage.d.ts +15 -0
- package/dist/components/form/EfImages.d.ts +14 -0
- package/dist/components/form/PImage.d.ts +15 -0
- package/dist/components/form/SelectAddRowBox.d.ts +17 -0
- package/dist/components/form/SelectAddRowBoxAdvanced.d.ts +16 -0
- package/dist/components/form/SelectBox.d.ts +32 -0
- package/dist/components/form/UDragFile.d.ts +13 -0
- package/dist/components/form/UFile.d.ts +15 -0
- package/dist/components/form/UFiles.d.ts +15 -0
- package/dist/components/form/UImages.d.ts +15 -0
- package/dist/components/form/index.d.ts +19 -0
- package/dist/components/form/index.js +3 -0
- package/dist/components/loader/SpinnerLoader.d.ts +8 -0
- package/dist/components/loader/index.d.ts +1 -0
- package/dist/components/loader/index.js +3 -0
- package/dist/components/meta/BtnGroup.d.ts +8 -0
- package/dist/components/meta/CardTable.d.ts +37 -0
- package/dist/components/meta/CusTooltip.d.ts +7 -0
- package/dist/components/meta/ElfinderModal.d.ts +10 -0
- package/dist/components/meta/Error403.d.ts +8 -0
- package/dist/components/meta/Error404.d.ts +8 -0
- package/dist/components/meta/Head.d.ts +1 -0
- package/dist/components/meta/HeaderDetail.d.ts +9 -0
- package/dist/components/meta/HeaderIndex.d.ts +17 -0
- package/dist/components/meta/HeaderUpdate.d.ts +9 -0
- package/dist/components/meta/ModalForm.d.ts +18 -0
- package/dist/components/meta/Navtabs.d.ts +12 -0
- package/dist/components/meta/PDFEmbed.d.ts +11 -0
- package/dist/components/meta/Pagination.d.ts +7 -0
- package/dist/components/meta/Pdfviewer.d.ts +0 -0
- package/dist/components/meta/ScrollTable.d.ts +16 -0
- package/dist/components/meta/SearchBox.d.ts +9 -0
- package/dist/components/meta/SortableItem.d.ts +1 -0
- package/dist/components/meta/index.d.ts +17 -0
- package/dist/components/meta/index.js +4 -0
- package/dist/components/sidebar/Sidebar.d.ts +3 -0
- package/dist/components/sidebar/Sidebar.types.d.ts +25 -0
- package/dist/components/sidebar/Sidebar.utils.d.ts +2 -0
- package/dist/components/sidebar/SidebarItem.d.ts +10 -0
- package/dist/components/sidebar/index.d.ts +2 -0
- package/dist/components/sidebar/index.js +2 -0
- package/dist/components/single/Detail.d.ts +25 -0
- package/dist/components/single/Fields.d.ts +31 -0
- package/dist/components/single/Import.d.ts +24 -0
- package/dist/components/single/List.d.ts +44 -0
- package/dist/components/single/Update.d.ts +33 -0
- package/dist/components/single/UpdateDetail.d.ts +7 -0
- package/dist/components/single/UpdateTableDetail.d.ts +18 -0
- package/dist/components/single/index.d.ts +7 -0
- package/dist/components/single/index.js +2 -0
- package/dist/components/top-navbar/TopNavbar.d.ts +6 -0
- package/dist/components/top-navbar/index.d.ts +1 -0
- package/dist/components/top-navbar/index.js +2 -0
- package/dist/fontawesome/css/all.css +8 -0
- package/dist/fontawesome/css/all.min.css +1 -0
- package/dist/fontawesome/webfonts/fa-brands-400.ttf +0 -0
- package/dist/fontawesome/webfonts/fa-brands-400.woff2 +0 -0
- package/dist/fontawesome/webfonts/fa-duotone-900.ttf +0 -0
- package/dist/fontawesome/webfonts/fa-duotone-900.woff2 +0 -0
- package/dist/fontawesome/webfonts/fa-light-300.ttf +0 -0
- package/dist/fontawesome/webfonts/fa-light-300.woff2 +0 -0
- package/dist/fontawesome/webfonts/fa-regular-400.ttf +0 -0
- package/dist/fontawesome/webfonts/fa-regular-400.woff2 +0 -0
- package/dist/fontawesome/webfonts/fa-sharp-light-300.ttf +0 -0
- package/dist/fontawesome/webfonts/fa-sharp-light-300.woff2 +0 -0
- package/dist/fontawesome/webfonts/fa-sharp-regular-400.ttf +0 -0
- package/dist/fontawesome/webfonts/fa-sharp-regular-400.woff2 +0 -0
- package/dist/fontawesome/webfonts/fa-sharp-solid-900.ttf +0 -0
- package/dist/fontawesome/webfonts/fa-sharp-solid-900.woff2 +0 -0
- package/dist/fontawesome/webfonts/fa-solid-900.ttf +0 -0
- package/dist/fontawesome/webfonts/fa-solid-900.woff2 +0 -0
- package/dist/fontawesome/webfonts/fa-thin-100.ttf +0 -0
- package/dist/fontawesome/webfonts/fa-thin-100.woff2 +0 -0
- package/dist/fontawesome/webfonts/fa-v4compatibility.ttf +0 -0
- package/dist/fontawesome/webfonts/fa-v4compatibility.woff2 +0 -0
- package/dist/hook/detail.d.ts +14 -0
- package/dist/hook/detail.js +12 -0
- package/dist/hook/fields.d.ts +14 -0
- package/dist/hook/fields.js +12 -0
- package/dist/hook/import.d.ts +15 -0
- package/dist/hook/import.js +0 -0
- package/dist/hook/index.d.ts +61 -0
- package/dist/hook/index.js +41 -0
- package/dist/hook/update.d.ts +24 -0
- package/dist/hook/update.js +29 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +11 -0
- package/dist/utils/Common.d.ts +136 -0
- package/dist/utils/CusRoute.d.ts +7 -0
- package/dist/utils/Env.d.ts +2 -0
- package/dist/utils/Group.d.ts +1 -0
- package/dist/utils/Validator.d.ts +53 -0
- package/dist/utils/index.d.ts +5 -0
- package/dist/utils/index.js +671 -0
- package/package.json +171 -0
- package/scripts/postinstall.cjs +80 -0
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
//#region src/hook/update.ts
|
|
2
|
+
var e = async (e, n) => {
|
|
3
|
+
e.preventDefault();
|
|
4
|
+
let { name: r, type: i, value: a } = t(e, n);
|
|
5
|
+
if (i === "file") {
|
|
6
|
+
let t = e.target.files;
|
|
7
|
+
n[r] = t ? t[0] : null;
|
|
8
|
+
} else n[r] = a;
|
|
9
|
+
return n;
|
|
10
|
+
}, t = (e, t) => {
|
|
11
|
+
let { name: n, type: r, value: i } = e.target, a = n.split(/[\{\}]+/).filter(Boolean), o = a.shift();
|
|
12
|
+
if (!o || a.length === 0) return {
|
|
13
|
+
name: n,
|
|
14
|
+
type: r,
|
|
15
|
+
value: i
|
|
16
|
+
};
|
|
17
|
+
let s = JSON.parse(JSON.stringify(t?.[o] || {})), c = s;
|
|
18
|
+
for (let e = 0; e < a.length - 1; e++) {
|
|
19
|
+
let t = a[e];
|
|
20
|
+
c[t] = { ...c[t] || {} }, c = c[t];
|
|
21
|
+
}
|
|
22
|
+
return c[a[a.length - 1]] = i, {
|
|
23
|
+
name: o,
|
|
24
|
+
type: r,
|
|
25
|
+
value: s
|
|
26
|
+
};
|
|
27
|
+
}, n = window.jQuery, r = class e {
|
|
28
|
+
options;
|
|
29
|
+
validators;
|
|
30
|
+
$element;
|
|
31
|
+
$btn;
|
|
32
|
+
$inputs;
|
|
33
|
+
static VERSION = "0.11.9";
|
|
34
|
+
static INPUT_SELECTOR = ":input:not(.nvali,[type=\"hidden\"], [type=\"submit\"], [type=\"reset\"], button)";
|
|
35
|
+
static FOCUS_OFFSET = 20;
|
|
36
|
+
static DEFAULTS = {
|
|
37
|
+
delay: 500,
|
|
38
|
+
html: !1,
|
|
39
|
+
disable: !0,
|
|
40
|
+
focus: !0,
|
|
41
|
+
custom: {},
|
|
42
|
+
errors: {
|
|
43
|
+
match: "Does not match",
|
|
44
|
+
minlength: "Too short",
|
|
45
|
+
maxlength: "Too long"
|
|
46
|
+
},
|
|
47
|
+
feedback: {
|
|
48
|
+
success: "glyphicon-ok",
|
|
49
|
+
error: "glyphicon-remove"
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
static VALIDATORS = {
|
|
53
|
+
native: function(e) {
|
|
54
|
+
let t = e[0];
|
|
55
|
+
if (t.checkValidity) return !t.checkValidity() && !t.validity.valid && (t.validationMessage || "error!");
|
|
56
|
+
},
|
|
57
|
+
match: function(t) {
|
|
58
|
+
let r = t.attr("data-match");
|
|
59
|
+
return r && t.val() !== n(r).val() && e.DEFAULTS.errors.match;
|
|
60
|
+
},
|
|
61
|
+
minlength: function(t) {
|
|
62
|
+
let n = Number(t.attr("data-minlength"));
|
|
63
|
+
return String(t.val() ?? "").length < n && e.DEFAULTS.errors.minlength;
|
|
64
|
+
},
|
|
65
|
+
maxlength: function(t) {
|
|
66
|
+
let n = Number(t.attr("data-maxlength"));
|
|
67
|
+
return String(t.val() ?? "").length > n && e.DEFAULTS.errors.maxlength;
|
|
68
|
+
},
|
|
69
|
+
filesize: function(e) {
|
|
70
|
+
let t = Number(e.data("filesize")), n = e[0];
|
|
71
|
+
return n?.files?.length ? n.files[0].size > t * 1024 * 1024 : !1;
|
|
72
|
+
},
|
|
73
|
+
accept: function(e) {
|
|
74
|
+
let t = e.attr("data-accept");
|
|
75
|
+
if (!t) return !1;
|
|
76
|
+
let n = e[0];
|
|
77
|
+
if (!n?.files?.length) return !1;
|
|
78
|
+
let r = n.files[0];
|
|
79
|
+
return !new RegExp(t).test(r.name);
|
|
80
|
+
},
|
|
81
|
+
pattern: function(e) {
|
|
82
|
+
let t = e.attr("data-pattern");
|
|
83
|
+
return t ? !new RegExp(t).test(String(e.val() ?? "")) : !1;
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
constructor(t, r = !1) {
|
|
87
|
+
this.options = r || e.DEFAULTS, this.validators = n.extend({}, e.VALIDATORS), this.$element = n(t), this.$btn = this.$element.find("button[type=\"submit\"], input[type=\"submit\"], .submitAjax"), this.$inputs = this.$element.find(e.INPUT_SELECTOR).add(this.$element.find("[data-validate=\"true\"]")).not(this.$element.find("[data-validate=\"false\"]").each((e, t) => {
|
|
88
|
+
this.clearErrors(n(t));
|
|
89
|
+
}));
|
|
90
|
+
}
|
|
91
|
+
static getValue(e) {
|
|
92
|
+
return e.is("[type=\"checkbox\"]") ? !!e.prop("checked") : e.is("[type=\"radio\"]") ? n(`[name="${e.attr("name")}"]:checked`).length > 0 : e.is("select[multiple]") ? (e.val() ?? []).length : e.val() ?? "";
|
|
93
|
+
}
|
|
94
|
+
update = () => {
|
|
95
|
+
let t = this;
|
|
96
|
+
return this.$inputs = this.$element.find(e.INPUT_SELECTOR).add(this.$element.find("[data-validate=\"true\"]")).not(this.$element.find("[data-validate=\"false\"]").each((e, r) => {
|
|
97
|
+
t.clearErrors(n(r));
|
|
98
|
+
})), this.toggleSubmit(), this;
|
|
99
|
+
};
|
|
100
|
+
onInput = (e) => {
|
|
101
|
+
let t = this, r = n(e.target), i = e.type !== "focusout";
|
|
102
|
+
this.$inputs.is(r) && this.validateInput(r, i)?.done(function() {
|
|
103
|
+
t.toggleSubmit();
|
|
104
|
+
});
|
|
105
|
+
};
|
|
106
|
+
validateInput = (e, t) => {
|
|
107
|
+
let r = e.data("bs.validator.errors");
|
|
108
|
+
e.is("[type=\"radio\"]") && (e = this.$element.find("input[name=\"" + e.attr("name") + "\"]"));
|
|
109
|
+
let i = n.Event("validate.bs.validator", { relatedTarget: e[0] });
|
|
110
|
+
if (this.$element.trigger(i), i.isDefaultPrevented()) return;
|
|
111
|
+
let a = this;
|
|
112
|
+
return this.runValidators(e).done(function(o) {
|
|
113
|
+
e.data("bs.validator.errors", o), o.length ? t ? a.defer(e, a.showErrors) : a.showErrors(e) : a.clearErrors(e), (!r || o.toString() !== r.toString()) && (i = o.length ? n.Event("invalid.bs.validator", {
|
|
114
|
+
relatedTarget: e[0],
|
|
115
|
+
detail: o
|
|
116
|
+
}) : n.Event("valid.bs.validator", {
|
|
117
|
+
relatedTarget: e[0],
|
|
118
|
+
detail: r
|
|
119
|
+
}), a.$element.trigger(i)), a.toggleSubmit(), a.$element.trigger(n.Event("validated.bs.validator", { relatedTarget: e[0] }));
|
|
120
|
+
});
|
|
121
|
+
};
|
|
122
|
+
runValidators = (t) => {
|
|
123
|
+
let r = [], i = n.Deferred();
|
|
124
|
+
t.data("bs.validator.deferred") && t.data("bs.validator.deferred").reject(), t.data("bs.validator.deferred", i);
|
|
125
|
+
function a(e) {
|
|
126
|
+
return t.attr("data-" + e + "-error");
|
|
127
|
+
}
|
|
128
|
+
function o() {
|
|
129
|
+
let e = t[0];
|
|
130
|
+
if (!(e instanceof HTMLInputElement) && !(e instanceof HTMLSelectElement) && !(e instanceof HTMLTextAreaElement)) return null;
|
|
131
|
+
let n = e.validity;
|
|
132
|
+
return n.typeMismatch ? t.attr("data-type-error") ?? null : n.patternMismatch ? t.attr("data-pattern-error") ?? null : n.stepMismatch ? t.attr("data-step-error") ?? null : n.rangeOverflow ? t.attr("data-max-error") ?? null : n.rangeUnderflow ? t.attr("data-min-error") ?? null : n.valueMissing ? t.attr("data-required-error") ?? null : null;
|
|
133
|
+
}
|
|
134
|
+
function s() {
|
|
135
|
+
return t.attr("data-error");
|
|
136
|
+
}
|
|
137
|
+
function c(e) {
|
|
138
|
+
return a(e) || o() || s();
|
|
139
|
+
}
|
|
140
|
+
return n.each(this.validators, n.proxy(function(n, i) {
|
|
141
|
+
let a = null;
|
|
142
|
+
(e.getValue(t) || t.attr("required")) && (t.attr("data-" + n) !== void 0 || n == "native") && (a = i.call(this, t)) && (a = c(n) || a, !~r.indexOf(a) && r.push(a));
|
|
143
|
+
}, this)), i.resolve(r), i.promise();
|
|
144
|
+
};
|
|
145
|
+
validate = () => {
|
|
146
|
+
let e = this;
|
|
147
|
+
return n.when(this.$inputs.map((t, r) => e.validateInput(n(r), !1))).then(function() {
|
|
148
|
+
e.toggleSubmit(), e.focusError();
|
|
149
|
+
}), this;
|
|
150
|
+
};
|
|
151
|
+
focusError = () => {
|
|
152
|
+
if (!this.options.focus) return;
|
|
153
|
+
let t = this.$element.find(".has-error:first :input");
|
|
154
|
+
t.length !== 0 && (n("html, body").animate({ scrollTop: t.offset().top - e.FOCUS_OFFSET }, 250), t.focus());
|
|
155
|
+
};
|
|
156
|
+
showErrors = (e) => {
|
|
157
|
+
this.options.html;
|
|
158
|
+
let t = e.data("bs.validator.errors"), r = e.closest(".form-group, .boxUFile"), i = r.find(".form-control-feedback");
|
|
159
|
+
t.length && (t = n("<ul/>").addClass("list-unstyled").append(n.map(t, (e) => {
|
|
160
|
+
let t = n("<li/>");
|
|
161
|
+
return this.options.html ? t.html(e) : t.text(e);
|
|
162
|
+
})), r.addClass("has-error has-danger"), r.find(".invalid-tooltip, .invalid-feedback").remove(), r.find(".select2,.form-control").removeClass("is-valid").addClass("is-invalid"), r.append(`<div class="invalid-feedback"><ul class="list-unstyled">${t.html()}<ul/></div>`), r.removeClass("has-success"), r.hasClass("has-feedback"), i.removeClass(this.options.feedback?.success), i.addClass(this.options.feedback?.error));
|
|
163
|
+
};
|
|
164
|
+
clearErrors = (e) => {
|
|
165
|
+
let t = e.closest(".form-group, .boxUFile"), n = t.find(".form-control-feedback");
|
|
166
|
+
t.removeClass("has-error has-danger has-success"), t.find(".invalid-tooltip, .invalid-feedback").remove(), t.find(".select2,.form-control").addClass("is-valid").removeClass("is-invalid"), t.addClass("has-success"), t.hasClass("has-feedback"), n.removeClass(this.options.feedback?.error), n.removeClass(this.options.feedback?.success), n.addClass(this.options.feedback?.success);
|
|
167
|
+
};
|
|
168
|
+
hasErrors = () => !!this.$inputs.filter(function() {
|
|
169
|
+
return !!(n(this).data("bs.validator.errors") || []).length;
|
|
170
|
+
}).length;
|
|
171
|
+
isIncomplete = () => !!this.$inputs.filter("[required]").filter((t, r) => {
|
|
172
|
+
let i = e.getValue(n(r));
|
|
173
|
+
return !(typeof i == "string" ? i.trim() : i);
|
|
174
|
+
}).length;
|
|
175
|
+
onSubmit = (e) => {
|
|
176
|
+
this.validate(), (this.isIncomplete() || this.hasErrors()) && e.preventDefault();
|
|
177
|
+
};
|
|
178
|
+
toggleSubmit = () => {
|
|
179
|
+
this.options.disable;
|
|
180
|
+
};
|
|
181
|
+
defer = (e, t) => {
|
|
182
|
+
if (t = t.bind(this, e), !this.options.delay) return t();
|
|
183
|
+
window.clearTimeout(e.data("bs.validator.timeout")), e.data("bs.validator.timeout", window.setTimeout(t, this.options.delay));
|
|
184
|
+
};
|
|
185
|
+
reset = () => (this.$element.find(".form-control-feedback").removeClass(this.options?.feedback.error).removeClass(this.options.feedback.success), this.$inputs.removeData(["bs.validator.errors", "bs.validator.deferred"]).each(() => {
|
|
186
|
+
let e = n(this), t = e.data("bs.validator.timeout");
|
|
187
|
+
window.clearTimeout(t), e.removeData("bs.validator.timeout");
|
|
188
|
+
}), this.$element.find(".invalid-tooltip, .invalid-feedback").each(() => {
|
|
189
|
+
let e = n(this), t = e.data("bs.validator.originalContent");
|
|
190
|
+
e.removeData("bs.validator.originalContent").html(t);
|
|
191
|
+
}), this.$btn.removeClass("disabled"), this.$element.find(".has-error, .has-danger, .has-success, .is-invalid, .is-valid").removeClass("has-error has-danger has-success is-invalid is-valid"), this);
|
|
192
|
+
destroy = () => (this.reset(), this.$element.removeAttr("novalidate").removeData("bs.validator").off(".bs.validator"), this.$inputs.off(".bs.validator"), this.options = null, this.validators = null, this.$element = null, this.$btn = null, this.$inputs = null, this);
|
|
193
|
+
run = () => {
|
|
194
|
+
this.update(), this.$element.on("input.bs.validator change.bs.validator focusout.bs.validator", this.onInput.bind(this)), this.$element.on("submit.bs.validator", this.onSubmit.bind(this)), this.$element.on("reset.bs.validator", this.reset.bind(this)), this.$element.find("[data-match]").each(function() {
|
|
195
|
+
let t = n(this), r = t.attr("data-match");
|
|
196
|
+
r && n(r).on("input.bs.validator", function() {
|
|
197
|
+
e.getValue(t) && t.trigger("input.bs.validator");
|
|
198
|
+
});
|
|
199
|
+
}), this.$inputs.filter((t, r) => e.getValue(n(r)) && !n(this).closest(".has-error").length).trigger("focusout"), this.$element.attr("novalidate", !0);
|
|
200
|
+
};
|
|
201
|
+
};
|
|
202
|
+
//#endregion
|
|
203
|
+
export { e as n, t as r, r as t };
|
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
import { memo as e, useEffect as t, useMemo as n, useRef as r } from "react";
|
|
2
|
+
import { jsx as i } from "react/jsx-runtime";
|
|
3
|
+
import a from "echarts-for-react";
|
|
4
|
+
//#region src/components/echarts/BarChart.tsx
|
|
5
|
+
var o = e(({ title: e = "Bar Chart", labels: o, values: s, color: c = "#5470C6", showGrid: l = !1, visible: u = !1 }) => {
|
|
6
|
+
let d = r(null), f = n(() => ({
|
|
7
|
+
title: {
|
|
8
|
+
text: e,
|
|
9
|
+
left: "center",
|
|
10
|
+
textStyle: {
|
|
11
|
+
fontSize: 18,
|
|
12
|
+
fontFamily: "Roboto, sans-serif"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
textStyle: { fontFamily: "Roboto, sans-serif" },
|
|
16
|
+
tooltip: {
|
|
17
|
+
trigger: "axis",
|
|
18
|
+
axisPointer: { type: "shadow" }
|
|
19
|
+
},
|
|
20
|
+
xAxis: {
|
|
21
|
+
type: "category",
|
|
22
|
+
data: o,
|
|
23
|
+
axisTick: { alignWithLabel: !0 },
|
|
24
|
+
axisLabel: { rotate: 0 }
|
|
25
|
+
},
|
|
26
|
+
yAxis: {
|
|
27
|
+
type: "value",
|
|
28
|
+
splitLine: { show: l }
|
|
29
|
+
},
|
|
30
|
+
series: [{
|
|
31
|
+
data: s,
|
|
32
|
+
type: "bar",
|
|
33
|
+
barWidth: "50%",
|
|
34
|
+
itemStyle: {
|
|
35
|
+
color: c,
|
|
36
|
+
borderRadius: [
|
|
37
|
+
6,
|
|
38
|
+
6,
|
|
39
|
+
0,
|
|
40
|
+
0
|
|
41
|
+
]
|
|
42
|
+
},
|
|
43
|
+
emphasis: { itemStyle: { color: "#91cc75" } }
|
|
44
|
+
}],
|
|
45
|
+
grid: {
|
|
46
|
+
left: "5%",
|
|
47
|
+
right: "5%",
|
|
48
|
+
bottom: "10%",
|
|
49
|
+
containLabel: !0
|
|
50
|
+
},
|
|
51
|
+
animationDuration: 600
|
|
52
|
+
}), [
|
|
53
|
+
e,
|
|
54
|
+
o,
|
|
55
|
+
s,
|
|
56
|
+
c,
|
|
57
|
+
l
|
|
58
|
+
]);
|
|
59
|
+
return t(() => {
|
|
60
|
+
u && d.current?.getEchartsInstance()?.resize();
|
|
61
|
+
}, [u]), /* @__PURE__ */ i(a, {
|
|
62
|
+
ref: d,
|
|
63
|
+
option: f,
|
|
64
|
+
style: {
|
|
65
|
+
height: 400,
|
|
66
|
+
width: "100%"
|
|
67
|
+
},
|
|
68
|
+
notMerge: !0,
|
|
69
|
+
autoResize: !0,
|
|
70
|
+
lazyUpdate: !0
|
|
71
|
+
});
|
|
72
|
+
}), s = e(({ title: e = "Line Chart", labels: o, values: s, color: c = "#5470C6", visible: l = !1 }) => {
|
|
73
|
+
let u = r(null), d = n(() => ({
|
|
74
|
+
title: {
|
|
75
|
+
text: e,
|
|
76
|
+
left: "center",
|
|
77
|
+
textStyle: {
|
|
78
|
+
fontSize: 18,
|
|
79
|
+
fontFamily: "Roboto, sans-serif"
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
textStyle: { fontFamily: "Roboto, sans-serif" },
|
|
83
|
+
tooltip: { trigger: "axis" },
|
|
84
|
+
xAxis: {
|
|
85
|
+
type: "category",
|
|
86
|
+
data: o,
|
|
87
|
+
boundaryGap: !1
|
|
88
|
+
},
|
|
89
|
+
yAxis: {
|
|
90
|
+
type: "value",
|
|
91
|
+
min: (e) => Math.floor(e.min * .9),
|
|
92
|
+
max: (e) => Math.ceil(e.max * 1.1)
|
|
93
|
+
},
|
|
94
|
+
series: [{
|
|
95
|
+
data: s,
|
|
96
|
+
type: "line",
|
|
97
|
+
smooth: !0,
|
|
98
|
+
lineStyle: {
|
|
99
|
+
color: c,
|
|
100
|
+
width: 3
|
|
101
|
+
},
|
|
102
|
+
itemStyle: { color: c },
|
|
103
|
+
areaStyle: { color: `${c}33` }
|
|
104
|
+
}],
|
|
105
|
+
grid: {
|
|
106
|
+
left: "5%",
|
|
107
|
+
right: "5%",
|
|
108
|
+
bottom: "10%",
|
|
109
|
+
containLabel: !0
|
|
110
|
+
}
|
|
111
|
+
}), [
|
|
112
|
+
e,
|
|
113
|
+
o,
|
|
114
|
+
s,
|
|
115
|
+
c
|
|
116
|
+
]);
|
|
117
|
+
return t(() => {
|
|
118
|
+
l && u.current?.getEchartsInstance()?.resize();
|
|
119
|
+
}, [l]), /* @__PURE__ */ i(a, {
|
|
120
|
+
ref: u,
|
|
121
|
+
option: d,
|
|
122
|
+
style: {
|
|
123
|
+
height: 400,
|
|
124
|
+
width: "100%"
|
|
125
|
+
},
|
|
126
|
+
notMerge: !0,
|
|
127
|
+
autoResize: !0,
|
|
128
|
+
lazyUpdate: !0
|
|
129
|
+
});
|
|
130
|
+
}), c = e(({ title: e = "Multi Bar Chart", labels: o, series: s, visible: c = !1 }) => {
|
|
131
|
+
let l = r(null), u = n(() => ({
|
|
132
|
+
title: {
|
|
133
|
+
text: e,
|
|
134
|
+
left: "center",
|
|
135
|
+
textStyle: {
|
|
136
|
+
fontSize: 18,
|
|
137
|
+
fontFamily: "Roboto, sans-serif"
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
textStyle: { fontFamily: "Roboto, sans-serif" },
|
|
141
|
+
tooltip: {
|
|
142
|
+
trigger: "axis",
|
|
143
|
+
axisPointer: { type: "shadow" }
|
|
144
|
+
},
|
|
145
|
+
legend: {
|
|
146
|
+
top: "5%",
|
|
147
|
+
left: "center",
|
|
148
|
+
icon: "circle"
|
|
149
|
+
},
|
|
150
|
+
grid: {
|
|
151
|
+
top: "15%",
|
|
152
|
+
left: "5%",
|
|
153
|
+
right: "5%",
|
|
154
|
+
bottom: "10%",
|
|
155
|
+
containLabel: !0
|
|
156
|
+
},
|
|
157
|
+
xAxis: {
|
|
158
|
+
type: "category",
|
|
159
|
+
data: o,
|
|
160
|
+
axisTick: { alignWithLabel: !0 }
|
|
161
|
+
},
|
|
162
|
+
yAxis: {
|
|
163
|
+
type: "value",
|
|
164
|
+
splitLine: { lineStyle: { color: "#eee" } }
|
|
165
|
+
},
|
|
166
|
+
series: s.map((e) => ({
|
|
167
|
+
name: e.name,
|
|
168
|
+
type: "bar",
|
|
169
|
+
data: e.data,
|
|
170
|
+
barWidth: "40%",
|
|
171
|
+
itemStyle: {
|
|
172
|
+
color: e.color,
|
|
173
|
+
borderRadius: [
|
|
174
|
+
4,
|
|
175
|
+
4,
|
|
176
|
+
0,
|
|
177
|
+
0
|
|
178
|
+
]
|
|
179
|
+
},
|
|
180
|
+
emphasis: { focus: "series" }
|
|
181
|
+
})),
|
|
182
|
+
animationDuration: 600
|
|
183
|
+
}), [
|
|
184
|
+
e,
|
|
185
|
+
o,
|
|
186
|
+
s
|
|
187
|
+
]);
|
|
188
|
+
return t(() => {
|
|
189
|
+
c && l.current?.getEchartsInstance()?.resize();
|
|
190
|
+
}, [c]), /* @__PURE__ */ i(a, {
|
|
191
|
+
ref: l,
|
|
192
|
+
option: u,
|
|
193
|
+
style: {
|
|
194
|
+
height: 400,
|
|
195
|
+
width: "100%"
|
|
196
|
+
},
|
|
197
|
+
notMerge: !0,
|
|
198
|
+
autoResize: !0,
|
|
199
|
+
lazyUpdate: !0
|
|
200
|
+
});
|
|
201
|
+
}), l = e(({ title: e = "Multi-Line Chart", labels: o, series: s, visible: c = !1 }) => {
|
|
202
|
+
let l = r(null), u = n(() => ({
|
|
203
|
+
title: {
|
|
204
|
+
text: e,
|
|
205
|
+
left: "center",
|
|
206
|
+
textStyle: {
|
|
207
|
+
fontSize: 18,
|
|
208
|
+
fontFamily: "Roboto, sans-serif"
|
|
209
|
+
}
|
|
210
|
+
},
|
|
211
|
+
textStyle: { fontFamily: "Roboto, sans-serif" },
|
|
212
|
+
tooltip: {
|
|
213
|
+
trigger: "axis",
|
|
214
|
+
backgroundColor: "rgba(50,50,50,0.8)",
|
|
215
|
+
borderWidth: 0,
|
|
216
|
+
textStyle: { color: "#fff" }
|
|
217
|
+
},
|
|
218
|
+
legend: {
|
|
219
|
+
top: "5%",
|
|
220
|
+
left: "center",
|
|
221
|
+
icon: "circle"
|
|
222
|
+
},
|
|
223
|
+
grid: {
|
|
224
|
+
top: "15%",
|
|
225
|
+
left: "5%",
|
|
226
|
+
right: "5%",
|
|
227
|
+
bottom: "10%",
|
|
228
|
+
containLabel: !0
|
|
229
|
+
},
|
|
230
|
+
xAxis: {
|
|
231
|
+
type: "category",
|
|
232
|
+
data: o,
|
|
233
|
+
boundaryGap: !1,
|
|
234
|
+
axisLine: { lineStyle: { color: "#aaa" } },
|
|
235
|
+
axisLabel: { fontSize: 12 }
|
|
236
|
+
},
|
|
237
|
+
yAxis: {
|
|
238
|
+
type: "value",
|
|
239
|
+
axisLine: { show: !1 },
|
|
240
|
+
splitLine: { lineStyle: { color: "#eee" } }
|
|
241
|
+
},
|
|
242
|
+
series: Array.isArray(s) ? s.map((e) => ({
|
|
243
|
+
name: e.name,
|
|
244
|
+
type: "line",
|
|
245
|
+
data: e.data,
|
|
246
|
+
smooth: !0,
|
|
247
|
+
lineStyle: {
|
|
248
|
+
width: 3,
|
|
249
|
+
color: e.color
|
|
250
|
+
},
|
|
251
|
+
itemStyle: { color: e.color },
|
|
252
|
+
areaStyle: { color: e.color ? `${e.color}33` : void 0 },
|
|
253
|
+
emphasis: { focus: "series" }
|
|
254
|
+
})) : [],
|
|
255
|
+
animationDuration: 600
|
|
256
|
+
}), [
|
|
257
|
+
e,
|
|
258
|
+
o,
|
|
259
|
+
s
|
|
260
|
+
]);
|
|
261
|
+
return t(() => {
|
|
262
|
+
c && l.current?.getEchartsInstance()?.resize();
|
|
263
|
+
}, [c]), /* @__PURE__ */ i(a, {
|
|
264
|
+
ref: l,
|
|
265
|
+
option: u,
|
|
266
|
+
style: {
|
|
267
|
+
height: 400,
|
|
268
|
+
width: "100%"
|
|
269
|
+
},
|
|
270
|
+
notMerge: !0,
|
|
271
|
+
autoResize: !0,
|
|
272
|
+
lazyUpdate: !0
|
|
273
|
+
});
|
|
274
|
+
}), u = e(({ title: e = "Pie Chart", data: o, visible: s = !1 }) => {
|
|
275
|
+
let c = r(null), l = n(() => ({
|
|
276
|
+
title: {
|
|
277
|
+
text: e,
|
|
278
|
+
left: "center",
|
|
279
|
+
textStyle: {
|
|
280
|
+
fontSize: 18,
|
|
281
|
+
fontFamily: "Roboto, sans-serif"
|
|
282
|
+
}
|
|
283
|
+
},
|
|
284
|
+
textStyle: { fontFamily: "Roboto, sans-serif" },
|
|
285
|
+
tooltip: {
|
|
286
|
+
trigger: "item",
|
|
287
|
+
formatter: "{a} <br/>{b}: {c} ({d}%)"
|
|
288
|
+
},
|
|
289
|
+
legend: {
|
|
290
|
+
left: "center",
|
|
291
|
+
top: "top"
|
|
292
|
+
},
|
|
293
|
+
series: [{
|
|
294
|
+
name: e,
|
|
295
|
+
type: "pie",
|
|
296
|
+
radius: "65%",
|
|
297
|
+
center: ["50%", "60%"],
|
|
298
|
+
data: o,
|
|
299
|
+
emphasis: { itemStyle: {
|
|
300
|
+
shadowBlur: 10,
|
|
301
|
+
shadowOffsetX: 0,
|
|
302
|
+
shadowColor: "rgba(0, 0, 0, 0.3)"
|
|
303
|
+
} },
|
|
304
|
+
label: { formatter: "{b}: {d}%" }
|
|
305
|
+
}]
|
|
306
|
+
}), [o, e]);
|
|
307
|
+
return t(() => {
|
|
308
|
+
s && c.current?.getEchartsInstance()?.resize();
|
|
309
|
+
}, [s]), /* @__PURE__ */ i(a, {
|
|
310
|
+
ref: c,
|
|
311
|
+
option: l,
|
|
312
|
+
style: {
|
|
313
|
+
height: 400,
|
|
314
|
+
width: "100%"
|
|
315
|
+
},
|
|
316
|
+
notMerge: !0,
|
|
317
|
+
autoResize: !0,
|
|
318
|
+
lazyUpdate: !0
|
|
319
|
+
});
|
|
320
|
+
});
|
|
321
|
+
//#endregion
|
|
322
|
+
export { o as a, s as i, l as n, c as r, u as t };
|