@nocobase/plugin-charts 0.13.0-alpha.3 → 0.13.0-alpha.5

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.
@@ -1,3234 +1,44 @@
1
- (function(global, factory) {
2
- typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("react"), require("@formily/core"), require("@nocobase/client"), require("antd"), require("@formily/antd-v5"), require("@formily/react"), require("@nocobase/utils/client"), require("react-i18next"), require("@ant-design/icons"), require("react-router-dom"), require("lodash"), require("@formily/shared")) : typeof define === "function" && define.amd ? define(["exports", "react", "@formily/core", "@nocobase/client", "antd", "@formily/antd-v5", "@formily/react", "@nocobase/utils/client", "react-i18next", "@ant-design/icons", "react-router-dom", "lodash", "@formily/shared"], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, factory(global["@nocobase/plugin-charts"] = {}, global.react, global["@formily/core"], global["@nocobase/client"], global.antd, global["@formily/antd-v5"], global["@formily/react"], global["@nocobase/utils"], global["react-i18next"], global["@ant-design/icons"], global["react-router-dom"], global.lodash, global["@formily/shared"]));
3
- })(this, function(exports2, require$$0, core, client, antd, antdV5, react, client$1, reactI18next, icons, reactRouterDom, lodash, shared) {
4
- "use strict";
5
- var jsxRuntime = { exports: {} };
6
- var reactJsxRuntime_production_min = {};
7
- /**
8
- * @license React
9
- * react-jsx-runtime.production.min.js
10
- *
11
- * Copyright (c) Facebook, Inc. and its affiliates.
12
- *
13
- * This source code is licensed under the MIT license found in the
14
- * LICENSE file in the root directory of this source tree.
15
- */
16
- var f = require$$0, k = Symbol.for("react.element"), l = Symbol.for("react.fragment"), m = Object.prototype.hasOwnProperty, n = f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, p = { key: true, ref: true, __self: true, __source: true };
17
- function q(c2, a, g) {
18
- var b, d = {}, e = null, h = null;
19
- void 0 !== g && (e = "" + g);
20
- void 0 !== a.key && (e = "" + a.key);
21
- void 0 !== a.ref && (h = a.ref);
22
- for (b in a)
23
- m.call(a, b) && !p.hasOwnProperty(b) && (d[b] = a[b]);
24
- if (c2 && c2.defaultProps)
25
- for (b in a = c2.defaultProps, a)
26
- void 0 === d[b] && (d[b] = a[b]);
27
- return { $$typeof: k, type: c2, key: e, ref: h, props: d, _owner: n.current };
28
- }
29
- reactJsxRuntime_production_min.Fragment = l;
30
- reactJsxRuntime_production_min.jsx = q;
31
- reactJsxRuntime_production_min.jsxs = q;
32
- {
33
- jsxRuntime.exports = reactJsxRuntime_production_min;
34
- }
35
- var jsxRuntimeExports = jsxRuntime.exports;
36
- var Space_Separator = /[\u1680\u2000-\u200A\u202F\u205F\u3000]/;
37
- var ID_Start = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/;
38
- var ID_Continue = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/;
39
- var unicode = {
40
- Space_Separator,
41
- ID_Start,
42
- ID_Continue
43
- };
44
- var util = {
45
- isSpaceSeparator(c2) {
46
- return typeof c2 === "string" && unicode.Space_Separator.test(c2);
47
- },
48
- isIdStartChar(c2) {
49
- return typeof c2 === "string" && (c2 >= "a" && c2 <= "z" || c2 >= "A" && c2 <= "Z" || c2 === "$" || c2 === "_" || unicode.ID_Start.test(c2));
50
- },
51
- isIdContinueChar(c2) {
52
- return typeof c2 === "string" && (c2 >= "a" && c2 <= "z" || c2 >= "A" && c2 <= "Z" || c2 >= "0" && c2 <= "9" || c2 === "$" || c2 === "_" || c2 === "‌" || c2 === "‍" || unicode.ID_Continue.test(c2));
53
- },
54
- isDigit(c2) {
55
- return typeof c2 === "string" && /[0-9]/.test(c2);
56
- },
57
- isHexDigit(c2) {
58
- return typeof c2 === "string" && /[0-9A-Fa-f]/.test(c2);
59
- }
60
- };
61
- let source;
62
- let parseState;
63
- let stack;
64
- let pos;
65
- let line;
66
- let column;
67
- let token;
68
- let key;
69
- let root;
70
- var parse = function parse2(text, reviver) {
71
- source = String(text);
72
- parseState = "start";
73
- stack = [];
74
- pos = 0;
75
- line = 1;
76
- column = 0;
77
- token = void 0;
78
- key = void 0;
79
- root = void 0;
80
- do {
81
- token = lex();
82
- parseStates[parseState]();
83
- } while (token.type !== "eof");
84
- if (typeof reviver === "function") {
85
- return internalize({ "": root }, "", reviver);
86
- }
87
- return root;
88
- };
89
- function internalize(holder, name, reviver) {
90
- const value = holder[name];
91
- if (value != null && typeof value === "object") {
92
- if (Array.isArray(value)) {
93
- for (let i = 0; i < value.length; i++) {
94
- const key2 = String(i);
95
- const replacement = internalize(value, key2, reviver);
96
- if (replacement === void 0) {
97
- delete value[key2];
98
- } else {
99
- Object.defineProperty(value, key2, {
100
- value: replacement,
101
- writable: true,
102
- enumerable: true,
103
- configurable: true
104
- });
105
- }
106
- }
107
- } else {
108
- for (const key2 in value) {
109
- const replacement = internalize(value, key2, reviver);
110
- if (replacement === void 0) {
111
- delete value[key2];
112
- } else {
113
- Object.defineProperty(value, key2, {
114
- value: replacement,
115
- writable: true,
116
- enumerable: true,
117
- configurable: true
118
- });
119
- }
120
- }
121
- }
122
- }
123
- return reviver.call(holder, name, value);
124
- }
125
- let lexState;
126
- let buffer;
127
- let doubleQuote;
128
- let sign;
129
- let c;
130
- function lex() {
131
- lexState = "default";
132
- buffer = "";
133
- doubleQuote = false;
134
- sign = 1;
135
- for (; ; ) {
136
- c = peek();
137
- const token2 = lexStates[lexState]();
138
- if (token2) {
139
- return token2;
140
- }
141
- }
142
- }
143
- function peek() {
144
- if (source[pos]) {
145
- return String.fromCodePoint(source.codePointAt(pos));
146
- }
147
- }
148
- function read() {
149
- const c2 = peek();
150
- if (c2 === "\n") {
151
- line++;
152
- column = 0;
153
- } else if (c2) {
154
- column += c2.length;
155
- } else {
156
- column++;
157
- }
158
- if (c2) {
159
- pos += c2.length;
160
- }
161
- return c2;
162
- }
163
- const lexStates = {
164
- default() {
165
- switch (c) {
166
- case " ":
167
- case "\v":
168
- case "\f":
169
- case " ":
170
- case " ":
171
- case "\uFEFF":
172
- case "\n":
173
- case "\r":
174
- case "\u2028":
175
- case "\u2029":
176
- read();
177
- return;
178
- case "/":
179
- read();
180
- lexState = "comment";
181
- return;
182
- case void 0:
183
- read();
184
- return newToken("eof");
185
- }
186
- if (util.isSpaceSeparator(c)) {
187
- read();
188
- return;
189
- }
190
- return lexStates[parseState]();
191
- },
192
- comment() {
193
- switch (c) {
194
- case "*":
195
- read();
196
- lexState = "multiLineComment";
197
- return;
198
- case "/":
199
- read();
200
- lexState = "singleLineComment";
201
- return;
202
- }
203
- throw invalidChar(read());
204
- },
205
- multiLineComment() {
206
- switch (c) {
207
- case "*":
208
- read();
209
- lexState = "multiLineCommentAsterisk";
210
- return;
211
- case void 0:
212
- throw invalidChar(read());
213
- }
214
- read();
215
- },
216
- multiLineCommentAsterisk() {
217
- switch (c) {
218
- case "*":
219
- read();
220
- return;
221
- case "/":
222
- read();
223
- lexState = "default";
224
- return;
225
- case void 0:
226
- throw invalidChar(read());
227
- }
228
- read();
229
- lexState = "multiLineComment";
230
- },
231
- singleLineComment() {
232
- switch (c) {
233
- case "\n":
234
- case "\r":
235
- case "\u2028":
236
- case "\u2029":
237
- read();
238
- lexState = "default";
239
- return;
240
- case void 0:
241
- read();
242
- return newToken("eof");
243
- }
244
- read();
245
- },
246
- value() {
247
- switch (c) {
248
- case "{":
249
- case "[":
250
- return newToken("punctuator", read());
251
- case "n":
252
- read();
253
- literal("ull");
254
- return newToken("null", null);
255
- case "t":
256
- read();
257
- literal("rue");
258
- return newToken("boolean", true);
259
- case "f":
260
- read();
261
- literal("alse");
262
- return newToken("boolean", false);
263
- case "-":
264
- case "+":
265
- if (read() === "-") {
266
- sign = -1;
267
- }
268
- lexState = "sign";
269
- return;
270
- case ".":
271
- buffer = read();
272
- lexState = "decimalPointLeading";
273
- return;
274
- case "0":
275
- buffer = read();
276
- lexState = "zero";
277
- return;
278
- case "1":
279
- case "2":
280
- case "3":
281
- case "4":
282
- case "5":
283
- case "6":
284
- case "7":
285
- case "8":
286
- case "9":
287
- buffer = read();
288
- lexState = "decimalInteger";
289
- return;
290
- case "I":
291
- read();
292
- literal("nfinity");
293
- return newToken("numeric", Infinity);
294
- case "N":
295
- read();
296
- literal("aN");
297
- return newToken("numeric", NaN);
298
- case '"':
299
- case "'":
300
- doubleQuote = read() === '"';
301
- buffer = "";
302
- lexState = "string";
303
- return;
304
- }
305
- throw invalidChar(read());
306
- },
307
- identifierNameStartEscape() {
308
- if (c !== "u") {
309
- throw invalidChar(read());
310
- }
311
- read();
312
- const u = unicodeEscape();
313
- switch (u) {
314
- case "$":
315
- case "_":
316
- break;
317
- default:
318
- if (!util.isIdStartChar(u)) {
319
- throw invalidIdentifier();
320
- }
321
- break;
322
- }
323
- buffer += u;
324
- lexState = "identifierName";
325
- },
326
- identifierName() {
327
- switch (c) {
328
- case "$":
329
- case "_":
330
- case "‌":
331
- case "‍":
332
- buffer += read();
333
- return;
334
- case "\\":
335
- read();
336
- lexState = "identifierNameEscape";
337
- return;
338
- }
339
- if (util.isIdContinueChar(c)) {
340
- buffer += read();
341
- return;
342
- }
343
- return newToken("identifier", buffer);
344
- },
345
- identifierNameEscape() {
346
- if (c !== "u") {
347
- throw invalidChar(read());
348
- }
349
- read();
350
- const u = unicodeEscape();
351
- switch (u) {
352
- case "$":
353
- case "_":
354
- case "‌":
355
- case "‍":
356
- break;
357
- default:
358
- if (!util.isIdContinueChar(u)) {
359
- throw invalidIdentifier();
360
- }
361
- break;
362
- }
363
- buffer += u;
364
- lexState = "identifierName";
365
- },
366
- sign() {
367
- switch (c) {
368
- case ".":
369
- buffer = read();
370
- lexState = "decimalPointLeading";
371
- return;
372
- case "0":
373
- buffer = read();
374
- lexState = "zero";
375
- return;
376
- case "1":
377
- case "2":
378
- case "3":
379
- case "4":
380
- case "5":
381
- case "6":
382
- case "7":
383
- case "8":
384
- case "9":
385
- buffer = read();
386
- lexState = "decimalInteger";
387
- return;
388
- case "I":
389
- read();
390
- literal("nfinity");
391
- return newToken("numeric", sign * Infinity);
392
- case "N":
393
- read();
394
- literal("aN");
395
- return newToken("numeric", NaN);
396
- }
397
- throw invalidChar(read());
398
- },
399
- zero() {
400
- switch (c) {
401
- case ".":
402
- buffer += read();
403
- lexState = "decimalPoint";
404
- return;
405
- case "e":
406
- case "E":
407
- buffer += read();
408
- lexState = "decimalExponent";
409
- return;
410
- case "x":
411
- case "X":
412
- buffer += read();
413
- lexState = "hexadecimal";
414
- return;
415
- }
416
- return newToken("numeric", sign * 0);
417
- },
418
- decimalInteger() {
419
- switch (c) {
420
- case ".":
421
- buffer += read();
422
- lexState = "decimalPoint";
423
- return;
424
- case "e":
425
- case "E":
426
- buffer += read();
427
- lexState = "decimalExponent";
428
- return;
429
- }
430
- if (util.isDigit(c)) {
431
- buffer += read();
432
- return;
433
- }
434
- return newToken("numeric", sign * Number(buffer));
435
- },
436
- decimalPointLeading() {
437
- if (util.isDigit(c)) {
438
- buffer += read();
439
- lexState = "decimalFraction";
440
- return;
441
- }
442
- throw invalidChar(read());
443
- },
444
- decimalPoint() {
445
- switch (c) {
446
- case "e":
447
- case "E":
448
- buffer += read();
449
- lexState = "decimalExponent";
450
- return;
451
- }
452
- if (util.isDigit(c)) {
453
- buffer += read();
454
- lexState = "decimalFraction";
455
- return;
456
- }
457
- return newToken("numeric", sign * Number(buffer));
458
- },
459
- decimalFraction() {
460
- switch (c) {
461
- case "e":
462
- case "E":
463
- buffer += read();
464
- lexState = "decimalExponent";
465
- return;
466
- }
467
- if (util.isDigit(c)) {
468
- buffer += read();
469
- return;
470
- }
471
- return newToken("numeric", sign * Number(buffer));
472
- },
473
- decimalExponent() {
474
- switch (c) {
475
- case "+":
476
- case "-":
477
- buffer += read();
478
- lexState = "decimalExponentSign";
479
- return;
480
- }
481
- if (util.isDigit(c)) {
482
- buffer += read();
483
- lexState = "decimalExponentInteger";
484
- return;
485
- }
486
- throw invalidChar(read());
487
- },
488
- decimalExponentSign() {
489
- if (util.isDigit(c)) {
490
- buffer += read();
491
- lexState = "decimalExponentInteger";
492
- return;
493
- }
494
- throw invalidChar(read());
495
- },
496
- decimalExponentInteger() {
497
- if (util.isDigit(c)) {
498
- buffer += read();
499
- return;
500
- }
501
- return newToken("numeric", sign * Number(buffer));
502
- },
503
- hexadecimal() {
504
- if (util.isHexDigit(c)) {
505
- buffer += read();
506
- lexState = "hexadecimalInteger";
507
- return;
508
- }
509
- throw invalidChar(read());
510
- },
511
- hexadecimalInteger() {
512
- if (util.isHexDigit(c)) {
513
- buffer += read();
514
- return;
515
- }
516
- return newToken("numeric", sign * Number(buffer));
517
- },
518
- string() {
519
- switch (c) {
520
- case "\\":
521
- read();
522
- buffer += escape();
523
- return;
524
- case '"':
525
- if (doubleQuote) {
526
- read();
527
- return newToken("string", buffer);
528
- }
529
- buffer += read();
530
- return;
531
- case "'":
532
- if (!doubleQuote) {
533
- read();
534
- return newToken("string", buffer);
535
- }
536
- buffer += read();
537
- return;
538
- case "\n":
539
- case "\r":
540
- throw invalidChar(read());
541
- case "\u2028":
542
- case "\u2029":
543
- separatorChar(c);
544
- break;
545
- case void 0:
546
- throw invalidChar(read());
547
- }
548
- buffer += read();
549
- },
550
- start() {
551
- switch (c) {
552
- case "{":
553
- case "[":
554
- return newToken("punctuator", read());
555
- }
556
- lexState = "value";
557
- },
558
- beforePropertyName() {
559
- switch (c) {
560
- case "$":
561
- case "_":
562
- buffer = read();
563
- lexState = "identifierName";
564
- return;
565
- case "\\":
566
- read();
567
- lexState = "identifierNameStartEscape";
568
- return;
569
- case "}":
570
- return newToken("punctuator", read());
571
- case '"':
572
- case "'":
573
- doubleQuote = read() === '"';
574
- lexState = "string";
575
- return;
576
- }
577
- if (util.isIdStartChar(c)) {
578
- buffer += read();
579
- lexState = "identifierName";
580
- return;
581
- }
582
- throw invalidChar(read());
583
- },
584
- afterPropertyName() {
585
- if (c === ":") {
586
- return newToken("punctuator", read());
587
- }
588
- throw invalidChar(read());
589
- },
590
- beforePropertyValue() {
591
- lexState = "value";
592
- },
593
- afterPropertyValue() {
594
- switch (c) {
595
- case ",":
596
- case "}":
597
- return newToken("punctuator", read());
598
- }
599
- throw invalidChar(read());
600
- },
601
- beforeArrayValue() {
602
- if (c === "]") {
603
- return newToken("punctuator", read());
604
- }
605
- lexState = "value";
606
- },
607
- afterArrayValue() {
608
- switch (c) {
609
- case ",":
610
- case "]":
611
- return newToken("punctuator", read());
612
- }
613
- throw invalidChar(read());
614
- },
615
- end() {
616
- throw invalidChar(read());
617
- }
618
- };
619
- function newToken(type, value) {
620
- return {
621
- type,
622
- value,
623
- line,
624
- column
625
- };
626
- }
627
- function literal(s) {
628
- for (const c2 of s) {
629
- const p2 = peek();
630
- if (p2 !== c2) {
631
- throw invalidChar(read());
632
- }
633
- read();
634
- }
635
- }
636
- function escape() {
637
- const c2 = peek();
638
- switch (c2) {
639
- case "b":
640
- read();
641
- return "\b";
642
- case "f":
643
- read();
644
- return "\f";
645
- case "n":
646
- read();
647
- return "\n";
648
- case "r":
649
- read();
650
- return "\r";
651
- case "t":
652
- read();
653
- return " ";
654
- case "v":
655
- read();
656
- return "\v";
657
- case "0":
658
- read();
659
- if (util.isDigit(peek())) {
660
- throw invalidChar(read());
661
- }
662
- return "\0";
663
- case "x":
664
- read();
665
- return hexEscape();
666
- case "u":
667
- read();
668
- return unicodeEscape();
669
- case "\n":
670
- case "\u2028":
671
- case "\u2029":
672
- read();
673
- return "";
674
- case "\r":
675
- read();
676
- if (peek() === "\n") {
677
- read();
678
- }
679
- return "";
680
- case "1":
681
- case "2":
682
- case "3":
683
- case "4":
684
- case "5":
685
- case "6":
686
- case "7":
687
- case "8":
688
- case "9":
689
- throw invalidChar(read());
690
- case void 0:
691
- throw invalidChar(read());
692
- }
693
- return read();
694
- }
695
- function hexEscape() {
696
- let buffer2 = "";
697
- let c2 = peek();
698
- if (!util.isHexDigit(c2)) {
699
- throw invalidChar(read());
700
- }
701
- buffer2 += read();
702
- c2 = peek();
703
- if (!util.isHexDigit(c2)) {
704
- throw invalidChar(read());
705
- }
706
- buffer2 += read();
707
- return String.fromCodePoint(parseInt(buffer2, 16));
708
- }
709
- function unicodeEscape() {
710
- let buffer2 = "";
711
- let count = 4;
712
- while (count-- > 0) {
713
- const c2 = peek();
714
- if (!util.isHexDigit(c2)) {
715
- throw invalidChar(read());
716
- }
717
- buffer2 += read();
718
- }
719
- return String.fromCodePoint(parseInt(buffer2, 16));
720
- }
721
- const parseStates = {
722
- start() {
723
- if (token.type === "eof") {
724
- throw invalidEOF();
725
- }
726
- push();
727
- },
728
- beforePropertyName() {
729
- switch (token.type) {
730
- case "identifier":
731
- case "string":
732
- key = token.value;
733
- parseState = "afterPropertyName";
734
- return;
735
- case "punctuator":
736
- pop();
737
- return;
738
- case "eof":
739
- throw invalidEOF();
740
- }
741
- },
742
- afterPropertyName() {
743
- if (token.type === "eof") {
744
- throw invalidEOF();
745
- }
746
- parseState = "beforePropertyValue";
747
- },
748
- beforePropertyValue() {
749
- if (token.type === "eof") {
750
- throw invalidEOF();
751
- }
752
- push();
753
- },
754
- beforeArrayValue() {
755
- if (token.type === "eof") {
756
- throw invalidEOF();
757
- }
758
- if (token.type === "punctuator" && token.value === "]") {
759
- pop();
760
- return;
761
- }
762
- push();
763
- },
764
- afterPropertyValue() {
765
- if (token.type === "eof") {
766
- throw invalidEOF();
767
- }
768
- switch (token.value) {
769
- case ",":
770
- parseState = "beforePropertyName";
771
- return;
772
- case "}":
773
- pop();
774
- }
775
- },
776
- afterArrayValue() {
777
- if (token.type === "eof") {
778
- throw invalidEOF();
779
- }
780
- switch (token.value) {
781
- case ",":
782
- parseState = "beforeArrayValue";
783
- return;
784
- case "]":
785
- pop();
786
- }
787
- },
788
- end() {
789
- }
790
- };
791
- function push() {
792
- let value;
793
- switch (token.type) {
794
- case "punctuator":
795
- switch (token.value) {
796
- case "{":
797
- value = {};
798
- break;
799
- case "[":
800
- value = [];
801
- break;
802
- }
803
- break;
804
- case "null":
805
- case "boolean":
806
- case "numeric":
807
- case "string":
808
- value = token.value;
809
- break;
810
- }
811
- if (root === void 0) {
812
- root = value;
813
- } else {
814
- const parent = stack[stack.length - 1];
815
- if (Array.isArray(parent)) {
816
- parent.push(value);
817
- } else {
818
- Object.defineProperty(parent, key, {
819
- value,
820
- writable: true,
821
- enumerable: true,
822
- configurable: true
823
- });
824
- }
825
- }
826
- if (value !== null && typeof value === "object") {
827
- stack.push(value);
828
- if (Array.isArray(value)) {
829
- parseState = "beforeArrayValue";
830
- } else {
831
- parseState = "beforePropertyName";
832
- }
833
- } else {
834
- const current = stack[stack.length - 1];
835
- if (current == null) {
836
- parseState = "end";
837
- } else if (Array.isArray(current)) {
838
- parseState = "afterArrayValue";
839
- } else {
840
- parseState = "afterPropertyValue";
841
- }
842
- }
843
- }
844
- function pop() {
845
- stack.pop();
846
- const current = stack[stack.length - 1];
847
- if (current == null) {
848
- parseState = "end";
849
- } else if (Array.isArray(current)) {
850
- parseState = "afterArrayValue";
851
- } else {
852
- parseState = "afterPropertyValue";
853
- }
854
- }
855
- function invalidChar(c2) {
856
- if (c2 === void 0) {
857
- return syntaxError(`JSON5: invalid end of input at ${line}:${column}`);
858
- }
859
- return syntaxError(`JSON5: invalid character '${formatChar(c2)}' at ${line}:${column}`);
860
- }
861
- function invalidEOF() {
862
- return syntaxError(`JSON5: invalid end of input at ${line}:${column}`);
863
- }
864
- function invalidIdentifier() {
865
- column -= 5;
866
- return syntaxError(`JSON5: invalid identifier character at ${line}:${column}`);
867
- }
868
- function separatorChar(c2) {
869
- console.warn(`JSON5: '${formatChar(c2)}' in strings is not valid ECMAScript; consider escaping`);
870
- }
871
- function formatChar(c2) {
872
- const replacements = {
873
- "'": "\\'",
874
- '"': '\\"',
875
- "\\": "\\\\",
876
- "\b": "\\b",
877
- "\f": "\\f",
878
- "\n": "\\n",
879
- "\r": "\\r",
880
- " ": "\\t",
881
- "\v": "\\v",
882
- "\0": "\\0",
883
- "\u2028": "\\u2028",
884
- "\u2029": "\\u2029"
885
- };
886
- if (replacements[c2]) {
887
- return replacements[c2];
888
- }
889
- if (c2 < " ") {
890
- const hexString = c2.charCodeAt(0).toString(16);
891
- return "\\x" + ("00" + hexString).substring(hexString.length);
892
- }
893
- return c2;
894
- }
895
- function syntaxError(message) {
896
- const err = new SyntaxError(message);
897
- err.lineNumber = line;
898
- err.columnNumber = column;
899
- return err;
900
- }
901
- var stringify = function stringify2(value, replacer, space) {
902
- const stack2 = [];
903
- let indent = "";
904
- let propertyList;
905
- let replacerFunc;
906
- let gap = "";
907
- let quote;
908
- if (replacer != null && typeof replacer === "object" && !Array.isArray(replacer)) {
909
- space = replacer.space;
910
- quote = replacer.quote;
911
- replacer = replacer.replacer;
912
- }
913
- if (typeof replacer === "function") {
914
- replacerFunc = replacer;
915
- } else if (Array.isArray(replacer)) {
916
- propertyList = [];
917
- for (const v of replacer) {
918
- let item;
919
- if (typeof v === "string") {
920
- item = v;
921
- } else if (typeof v === "number" || v instanceof String || v instanceof Number) {
922
- item = String(v);
923
- }
924
- if (item !== void 0 && propertyList.indexOf(item) < 0) {
925
- propertyList.push(item);
926
- }
927
- }
928
- }
929
- if (space instanceof Number) {
930
- space = Number(space);
931
- } else if (space instanceof String) {
932
- space = String(space);
933
- }
934
- if (typeof space === "number") {
935
- if (space > 0) {
936
- space = Math.min(10, Math.floor(space));
937
- gap = " ".substr(0, space);
938
- }
939
- } else if (typeof space === "string") {
940
- gap = space.substr(0, 10);
941
- }
942
- return serializeProperty("", { "": value });
943
- function serializeProperty(key2, holder) {
944
- let value2 = holder[key2];
945
- if (value2 != null) {
946
- if (typeof value2.toJSON5 === "function") {
947
- value2 = value2.toJSON5(key2);
948
- } else if (typeof value2.toJSON === "function") {
949
- value2 = value2.toJSON(key2);
950
- }
951
- }
952
- if (replacerFunc) {
953
- value2 = replacerFunc.call(holder, key2, value2);
954
- }
955
- if (value2 instanceof Number) {
956
- value2 = Number(value2);
957
- } else if (value2 instanceof String) {
958
- value2 = String(value2);
959
- } else if (value2 instanceof Boolean) {
960
- value2 = value2.valueOf();
961
- }
962
- switch (value2) {
963
- case null:
964
- return "null";
965
- case true:
966
- return "true";
967
- case false:
968
- return "false";
969
- }
970
- if (typeof value2 === "string") {
971
- return quoteString(value2);
972
- }
973
- if (typeof value2 === "number") {
974
- return String(value2);
975
- }
976
- if (typeof value2 === "object") {
977
- return Array.isArray(value2) ? serializeArray(value2) : serializeObject(value2);
978
- }
979
- return void 0;
980
- }
981
- function quoteString(value2) {
982
- const quotes = {
983
- "'": 0.1,
984
- '"': 0.2
985
- };
986
- const replacements = {
987
- "'": "\\'",
988
- '"': '\\"',
989
- "\\": "\\\\",
990
- "\b": "\\b",
991
- "\f": "\\f",
992
- "\n": "\\n",
993
- "\r": "\\r",
994
- " ": "\\t",
995
- "\v": "\\v",
996
- "\0": "\\0",
997
- "\u2028": "\\u2028",
998
- "\u2029": "\\u2029"
999
- };
1000
- let product = "";
1001
- for (let i = 0; i < value2.length; i++) {
1002
- const c2 = value2[i];
1003
- switch (c2) {
1004
- case "'":
1005
- case '"':
1006
- quotes[c2]++;
1007
- product += c2;
1008
- continue;
1009
- case "\0":
1010
- if (util.isDigit(value2[i + 1])) {
1011
- product += "\\x00";
1012
- continue;
1013
- }
1014
- }
1015
- if (replacements[c2]) {
1016
- product += replacements[c2];
1017
- continue;
1018
- }
1019
- if (c2 < " ") {
1020
- let hexString = c2.charCodeAt(0).toString(16);
1021
- product += "\\x" + ("00" + hexString).substring(hexString.length);
1022
- continue;
1023
- }
1024
- product += c2;
1025
- }
1026
- const quoteChar = quote || Object.keys(quotes).reduce((a, b) => quotes[a] < quotes[b] ? a : b);
1027
- product = product.replace(new RegExp(quoteChar, "g"), replacements[quoteChar]);
1028
- return quoteChar + product + quoteChar;
1029
- }
1030
- function serializeObject(value2) {
1031
- if (stack2.indexOf(value2) >= 0) {
1032
- throw TypeError("Converting circular structure to JSON5");
1033
- }
1034
- stack2.push(value2);
1035
- let stepback = indent;
1036
- indent = indent + gap;
1037
- let keys = propertyList || Object.keys(value2);
1038
- let partial = [];
1039
- for (const key2 of keys) {
1040
- const propertyString = serializeProperty(key2, value2);
1041
- if (propertyString !== void 0) {
1042
- let member = serializeKey(key2) + ":";
1043
- if (gap !== "") {
1044
- member += " ";
1045
- }
1046
- member += propertyString;
1047
- partial.push(member);
1048
- }
1049
- }
1050
- let final;
1051
- if (partial.length === 0) {
1052
- final = "{}";
1053
- } else {
1054
- let properties;
1055
- if (gap === "") {
1056
- properties = partial.join(",");
1057
- final = "{" + properties + "}";
1058
- } else {
1059
- let separator = ",\n" + indent;
1060
- properties = partial.join(separator);
1061
- final = "{\n" + indent + properties + ",\n" + stepback + "}";
1062
- }
1063
- }
1064
- stack2.pop();
1065
- indent = stepback;
1066
- return final;
1067
- }
1068
- function serializeKey(key2) {
1069
- if (key2.length === 0) {
1070
- return quoteString(key2);
1071
- }
1072
- const firstChar = String.fromCodePoint(key2.codePointAt(0));
1073
- if (!util.isIdStartChar(firstChar)) {
1074
- return quoteString(key2);
1075
- }
1076
- for (let i = firstChar.length; i < key2.length; i++) {
1077
- if (!util.isIdContinueChar(String.fromCodePoint(key2.codePointAt(i)))) {
1078
- return quoteString(key2);
1079
- }
1080
- }
1081
- return key2;
1082
- }
1083
- function serializeArray(value2) {
1084
- if (stack2.indexOf(value2) >= 0) {
1085
- throw TypeError("Converting circular structure to JSON5");
1086
- }
1087
- stack2.push(value2);
1088
- let stepback = indent;
1089
- indent = indent + gap;
1090
- let partial = [];
1091
- for (let i = 0; i < value2.length; i++) {
1092
- const propertyString = serializeProperty(String(i), value2);
1093
- partial.push(propertyString !== void 0 ? propertyString : "null");
1094
- }
1095
- let final;
1096
- if (partial.length === 0) {
1097
- final = "[]";
1098
- } else {
1099
- if (gap === "") {
1100
- let properties = partial.join(",");
1101
- final = "[" + properties + "]";
1102
- } else {
1103
- let separator = ",\n" + indent;
1104
- let properties = partial.join(separator);
1105
- final = "[\n" + indent + properties + ",\n" + stepback + "]";
1106
- }
1107
- }
1108
- stack2.pop();
1109
- indent = stepback;
1110
- return final;
1111
- }
1112
- };
1113
- const JSON5 = {
1114
- parse,
1115
- stringify
1116
- };
1117
- var lib = JSON5;
1118
- const ChartQueryMetadataContext = require$$0.createContext({
1119
- refresh: () => {
1120
- },
1121
- data: []
1122
- });
1123
- const ChartQueryMetadataProvider = (props) => {
1124
- var _a;
1125
- const api2 = client.useAPIClient();
1126
- const options = {
1127
- resource: "chartsQueries",
1128
- action: "listMetadata",
1129
- params: {
1130
- paginate: false,
1131
- sort: ["-id"]
1132
- }
1133
- };
1134
- const location = reactRouterDom.useLocation();
1135
- const service = client.useRequest(options, {
1136
- manual: true
1137
- });
1138
- const isAdminPage = location.pathname.startsWith("/admin");
1139
- const token2 = api2.auth.getToken() || "";
1140
- require$$0.useEffect(() => {
1141
- if (isAdminPage && token2) {
1142
- service.run();
1143
- }
1144
- }, [isAdminPage, token2]);
1145
- const refresh = async () => {
1146
- const { data } = await api2.request(options);
1147
- service.mutate(data);
1148
- return (data == null ? void 0 : data.data) || [];
1149
- };
1150
- if (service.loading) {
1151
- return /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Spin, {});
1152
- }
1153
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
1154
- ChartQueryMetadataContext.Provider,
1155
- {
1156
- value: {
1157
- refresh,
1158
- data: (_a = service.data) == null ? void 0 : _a.data
1159
- },
1160
- children: props.children
1161
- }
1162
- );
1163
- };
1164
- const useChartQueryMetadataContext = () => {
1165
- return require$$0.useContext(ChartQueryMetadataContext);
1166
- };
1167
- const NAMESPACE = "charts";
1168
- function lang(key2) {
1169
- return client.i18n.t(key2, { ns: NAMESPACE });
1170
- }
1171
- const json = {
1172
- type: "object",
1173
- properties: {
1174
- data: {
1175
- title: "JSON",
1176
- required: true,
1177
- "x-component": "Input.TextArea",
1178
- "x-validator": { json5: true },
1179
- "x-component-props": {
1180
- autoSize: {
1181
- maxRows: 20,
1182
- minRows: 10
1183
- }
1184
- },
1185
- "x-decorator": "FormItem"
1186
- }
1187
- }
1188
- };
1189
- const sql = {
1190
- type: "object",
1191
- properties: {
1192
- sql: {
1193
- title: "SQL",
1194
- required: true,
1195
- "x-component": "Input.TextArea",
1196
- "x-decorator": "FormItem",
1197
- "x-validator": {
1198
- triggerType: "onBlur",
1199
- validator: "{{validateSQL}}"
1200
- },
1201
- "x-component-props": {
1202
- autoSize: {
1203
- maxRows: 20,
1204
- minRows: 10
1205
- }
1206
- }
1207
- }
1208
- }
1209
- };
1210
- const api = {
1211
- type: "object",
1212
- properties: {
1213
- api: {
1214
- title: "API",
1215
- required: true,
1216
- "x-component": "Input",
1217
- "x-decorator": "FormItem"
1218
- }
1219
- }
1220
- };
1221
- const types = {
1222
- json,
1223
- sql,
1224
- api
1225
- };
1226
- const getQueryTypeSchema = (type) => {
1227
- return lodash.cloneDeep(types[type]);
1228
- };
1229
- const ChartQueryBlockInitializer = (props) => {
1230
- const { templateWrap, onCreateBlockSchema, componentType, createBlockSchema, insert, ...others } = props;
1231
- const { setVisible } = require$$0.useContext(client.SchemaInitializerButtonContext);
1232
- const apiClient = client.useAPIClient();
1233
- const ctx = useChartQueryMetadataContext();
1234
- const options = require$$0.useContext(react.SchemaOptionsContext);
1235
- const { theme } = client.useGlobalTheme();
1236
- const onAddQuery = require$$0.useCallback(
1237
- (info) => {
1238
- client.FormDialog(
1239
- {
1240
- sql: lang("Add SQL query"),
1241
- json: lang("Add JSON query")
1242
- }[info.key],
1243
- () => {
1244
- return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(client.SchemaComponentOptions, { scope: options.scope, components: { ...options.components }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(antdV5.FormLayout, { layout: "vertical", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
1245
- client.SchemaComponent,
1246
- {
1247
- schema: {
1248
- type: "object",
1249
- properties: {
1250
- title: {
1251
- title: lang("Title"),
1252
- required: true,
1253
- "x-component": "Input",
1254
- "x-decorator": "FormItem"
1255
- },
1256
- options: getQueryTypeSchema(info.key)
1257
- }
1258
- }
1259
- }
1260
- ) }) }) });
1261
- },
1262
- theme
1263
- ).open({
1264
- initialValues: {
1265
- type: info.key
1266
- }
1267
- }).then(async (values) => {
1268
- var _a;
1269
- try {
1270
- if ((_a = apiClient.resource("chartsQueries")) == null ? void 0 : _a.create) {
1271
- const { data } = await apiClient.resource("chartsQueries").create({ values });
1272
- const items2 = await ctx.refresh();
1273
- const item = items2.find((item2) => {
1274
- var _a2;
1275
- return item2.id === ((_a2 = data == null ? void 0 : data.data) == null ? void 0 : _a2.id);
1276
- });
1277
- onCreateBlockSchema({ item });
1278
- }
1279
- setVisible(false);
1280
- } catch (err) {
1281
- client$1.error(err);
1282
- }
1283
- }).catch((err) => {
1284
- client$1.error(err);
1285
- });
1286
- },
1287
- [apiClient, ctx, onCreateBlockSchema, options.components, options.scope, setVisible]
1288
- );
1289
- const items = require$$0.useMemo(() => {
1290
- const defaultItems = [
1291
- {
1292
- type: "itemGroup",
1293
- title: lang("Select query data"),
1294
- children: []
1295
- }
1296
- ];
1297
- const chartQueryMetadata = ctx.data;
1298
- if (chartQueryMetadata && Array.isArray(chartQueryMetadata)) {
1299
- const item1 = chartQueryMetadata.length > 0 ? {
1300
- type: "itemGroup",
1301
- title: '{{t("Select chart query", {ns: "charts"})}}',
1302
- children: chartQueryMetadata
1303
- } : null;
1304
- const item2 = chartQueryMetadata.length > 0 ? {
1305
- type: "divider"
1306
- } : null;
1307
- return [
1308
- item1,
1309
- item2,
1310
- {
1311
- type: "subMenu",
1312
- title: lang("Add chart query"),
1313
- // component: AddChartQuery,
1314
- children: [
1315
- {
1316
- key: "sql",
1317
- type: "item",
1318
- title: "SQL",
1319
- onClick: onAddQuery
1320
- },
1321
- {
1322
- key: "json",
1323
- type: "item",
1324
- title: "JSON",
1325
- onClick: onAddQuery
1326
- }
1327
- ]
1328
- }
1329
- ].filter(Boolean);
1330
- }
1331
- return defaultItems;
1332
- }, [ctx.data, onAddQuery]);
1333
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
1334
- client.SchemaInitializer.Item,
1335
- {
1336
- icon: /* @__PURE__ */ jsxRuntimeExports.jsx(icons.TableOutlined, {}),
1337
- ...others,
1338
- onClick: async ({ item }) => {
1339
- onCreateBlockSchema({ item });
1340
- setVisible(false);
1341
- },
1342
- items
1343
- }
1344
- );
1345
- };
1346
- const DataSetPreviewTable = ({ queryId, fields }) => {
1347
- const { dataSet, loading, error } = useGetDataSet(queryId);
1348
- const columns = {};
1349
- if (fields) {
1350
- for (const field of fields) {
1351
- columns[field.name] = {
1352
- type: "void",
1353
- title: field.name,
1354
- "x-component": "TableV2.Column",
1355
- "x-component-props": {
1356
- // width: 200,
1357
- },
1358
- properties: {
1359
- [field.name]: {
1360
- type: "string",
1361
- "x-component": "Input",
1362
- "x-read-pretty": true
1363
- }
1364
- }
1365
- };
1366
- }
1367
- }
1368
- const schema = {
1369
- type: "void",
1370
- properties: {
1371
- input: {
1372
- type: "array",
1373
- "x-component": "TableV2",
1374
- "x-component-props": {
1375
- scroll: { y: 300 }
1376
- },
1377
- default: dataSet,
1378
- properties: columns
1379
- }
1380
- }
1381
- };
1382
- if (error) {
1383
- return /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Empty, { description: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: "May be this chart block's query data has been deleted,please check!" }) }) });
1384
- }
1385
- if (loading)
1386
- return /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Spin, {}) });
1387
- dataSet.forEach((item) => {
1388
- for (const key2 in item) {
1389
- if (item[key2] && item[key2] instanceof Object) {
1390
- item[key2] = JSON.stringify(item[key2]);
1391
- }
1392
- }
1393
- });
1394
- return /* @__PURE__ */ jsxRuntimeExports.jsx(client.SchemaComponentProvider, { scope: { dataSet }, components: { TableV2: client.TableV2, Input: client.Input, FormItem: client.FormItem }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(client.SchemaComponent, { schema }) });
1395
- };
1396
- const chartConfig$7 = {
1397
- appendPadding: 10,
1398
- angleField: "{{metric}}",
1399
- colorField: "{{dimension}}",
1400
- radius: 0.9,
1401
- label: {
1402
- type: "inner",
1403
- offset: "-30%",
1404
- content: "{{({percent}) => `${(percent * 100).toFixed(0)}%`}}",
1405
- style: {
1406
- fontSize: 14,
1407
- textAlign: "center"
1408
- }
1409
- },
1410
- interactions: [{ type: "element-active" }]
1411
- };
1412
- const pieTemplate = {
1413
- description: "1 「Time」 or 「Order Noun」 field, 1 「Value」 field",
1414
- title: "Pie",
1415
- type: "Pie",
1416
- iconId: "icon-pie",
1417
- group: 2,
1418
- renderComponent: "G2Plot",
1419
- defaultChartOptions: chartConfig$7,
1420
- configurableProperties: {
1421
- type: "void",
1422
- properties: {
1423
- dimension: {
1424
- required: true,
1425
- type: "string",
1426
- title: '{{t("Sector label / Dimensional",{ns:"charts"})}}',
1427
- "x-decorator": "FormItem",
1428
- "x-component": "Select",
1429
- enum: "{{dataSource}}"
1430
- },
1431
- metric: {
1432
- required: true,
1433
- type: "string",
1434
- title: '{{t("Sector Angle / Metric",{ns:"charts"})}}',
1435
- "x-decorator": "FormItem",
1436
- "x-component": "Select",
1437
- enum: "{{dataSource}}"
1438
- },
1439
- jsonConfig: {
1440
- type: "void",
1441
- "x-component": "div",
1442
- properties: {
1443
- template: {
1444
- required: true,
1445
- title: '{{t("JSON config",{ns:"charts"})}}',
1446
- type: "string",
1447
- default: lib.stringify(chartConfig$7, null, 2),
1448
- "x-decorator": "FormItem",
1449
- "x-component": "Input.TextArea",
1450
- "x-component-props": {
1451
- autoSize: { minRows: 8, maxRows: 16 }
1452
- },
1453
- description: '{{jsonConfigDesc("Pie | G2Plot","https://g2plot.antv.antgroup.com/api/plots/pie")}}',
1454
- "x-validator": { json5: true }
1455
- }
1456
- }
1457
- }
1458
- }
1459
- }
1460
- };
1461
- const chartConfig$6 = {
1462
- appendPadding: 10,
1463
- isGroup: true,
1464
- yField: "{{dimension}}",
1465
- xField: "{{metric}}",
1466
- seriesField: "{{category}}",
1467
- label: {
1468
- // 可手动配置 label 数据标签位置
1469
- position: "middle",
1470
- // 'top', 'bottom', 'middle',
1471
- // 配置样式
1472
- style: {
1473
- fill: "#FFFFFF",
1474
- opacity: 0.6
1475
- }
1476
- },
1477
- xAxis: {
1478
- label: {
1479
- autoHide: true,
1480
- autoRotate: false
1481
- }
1482
- }
1483
- };
1484
- const barTemplate = {
1485
- description: "1 「time」 or 「ordered noun」 field, 1 「value」 field, 0~ 1 「unordered noun」",
1486
- type: "Bar",
1487
- title: "Bar",
1488
- iconId: "icon-bar",
1489
- group: 2,
1490
- renderComponent: "G2Plot",
1491
- defaultChartOptions: chartConfig$6,
1492
- configurableProperties: {
1493
- type: "void",
1494
- properties: {
1495
- dimension: {
1496
- required: true,
1497
- type: "string",
1498
- title: '{{t("Category axis / Dimension",{ns:"charts"})}}',
1499
- "x-decorator": "FormItem",
1500
- "x-component": "Select",
1501
- enum: "{{dataSource}}"
1502
- },
1503
- metric: {
1504
- required: true,
1505
- type: "string",
1506
- title: '{{t("Value axis / Metrics",{ns:"charts"})}}',
1507
- "x-decorator": "FormItem",
1508
- "x-component": "Select",
1509
- enum: "{{dataSource}}"
1510
- },
1511
- category: {
1512
- type: "string",
1513
- title: '{{t("Color legend / Dimensional",{ns:"charts"})}}',
1514
- "x-decorator": "FormItem",
1515
- "x-component": "Select",
1516
- enum: "{{dataSource}}"
1517
- },
1518
- jsonConfig: {
1519
- type: "void",
1520
- "x-component": "div",
1521
- properties: {
1522
- template: {
1523
- required: true,
1524
- title: '{{t("JSON config",{ns:"charts"})}}',
1525
- type: "string",
1526
- default: lib.stringify(chartConfig$6, null, 2),
1527
- "x-decorator": "FormItem",
1528
- "x-component": "Input.TextArea",
1529
- "x-component-props": {
1530
- autoSize: { minRows: 8, maxRows: 16 }
1531
- },
1532
- description: '{{jsonConfigDesc("Bar | G2Plot","https://g2plot.antv.antgroup.com/api/plots/bar")}}',
1533
- "x-validator": { json5: true }
1534
- }
1535
- }
1536
- }
1537
- }
1538
- }
1539
- };
1540
- const chartConfig$5 = {
1541
- appendPadding: 10,
1542
- isGroup: true,
1543
- yField: "{{metric}}",
1544
- xField: "{{dimension}}",
1545
- seriesField: "{{category}}",
1546
- label: {
1547
- // 可手动配置 label 数据标签位置
1548
- position: "middle",
1549
- // 'top', 'bottom', 'middle',
1550
- // 配置样式
1551
- style: {
1552
- fill: "#FFFFFF",
1553
- opacity: 0.6
1554
- }
1555
- },
1556
- xAxis: {
1557
- label: {
1558
- autoHide: true,
1559
- autoRotate: false
1560
- }
1561
- }
1562
- };
1563
- const columnTemplate = {
1564
- description: "1 「time」 or 「ordered noun」 field, 1 「value」 field, 0 to 1 「unordered noun」",
1565
- type: "Column",
1566
- title: "Column",
1567
- iconId: "icon-column",
1568
- group: 2,
1569
- renderComponent: "G2Plot",
1570
- defaultChartOptions: chartConfig$5,
1571
- configurableProperties: {
1572
- type: "void",
1573
- properties: {
1574
- dimension: {
1575
- required: true,
1576
- type: "string",
1577
- title: '{{t("Category axis / Dimension",{ns:"charts"})}}',
1578
- "x-decorator": "FormItem",
1579
- "x-component": "Select",
1580
- enum: "{{dataSource}}"
1581
- },
1582
- metric: {
1583
- required: true,
1584
- type: "string",
1585
- title: '{{t("Value axis / Metrics",{ns:"charts"})}}',
1586
- "x-decorator": "FormItem",
1587
- "x-component": "Select",
1588
- enum: "{{dataSource}}"
1589
- },
1590
- category: {
1591
- type: "string",
1592
- title: '{{t("Color legend / Dimensional",{ns:"charts"})}}',
1593
- "x-decorator": "FormItem",
1594
- "x-component": "Select",
1595
- enum: "{{dataSource}}"
1596
- },
1597
- jsonConfig: {
1598
- type: "void",
1599
- "x-component": "div",
1600
- properties: {
1601
- template: {
1602
- required: true,
1603
- title: '{{t("JSON config",{ns:"charts"})}}',
1604
- type: "string",
1605
- default: lib.stringify(chartConfig$5, null, 2),
1606
- "x-decorator": "FormItem",
1607
- "x-component": "Input.TextArea",
1608
- "x-component-props": {
1609
- autoSize: { minRows: 8, maxRows: 16 }
1610
- },
1611
- description: '{{jsonConfigDesc("Column | G2Plot","https://g2plot.antv.antgroup.com/api/plots/column")}}',
1612
- "x-validator": { json5: true }
1613
- }
1614
- }
1615
- }
1616
- }
1617
- }
1618
- };
1619
- const chartConfig$4 = {
1620
- yField: "{{metric}}",
1621
- xField: "{{dimension}}",
1622
- seriesField: "{{category}}",
1623
- xAxis: {
1624
- //type: 'time',
1625
- },
1626
- yAxis: {
1627
- // label: {
1628
- // formatter: '{{(v) => `${v}`.replace(/\d{1,3}(?=(\d{3})+$)/g, (s) => `${s},`)}}',
1629
- // },
1630
- }
1631
- };
1632
- const lineTemplate = {
1633
- description: "1 「Time」 or 「Order Noun」 field, 1 「Value」 field",
1634
- type: "Line",
1635
- title: "Line",
1636
- iconId: "icon-line",
1637
- group: 2,
1638
- renderComponent: "G2Plot",
1639
- defaultChartOptions: chartConfig$4,
1640
- configurableProperties: {
1641
- type: "void",
1642
- properties: {
1643
- dimension: {
1644
- required: true,
1645
- type: "string",
1646
- title: '{{t("Category axis / Dimension",{ns:"charts"})}}',
1647
- "x-decorator": "FormItem",
1648
- "x-component": "Select",
1649
- enum: "{{dataSource}}"
1650
- },
1651
- metric: {
1652
- required: true,
1653
- type: "string",
1654
- title: '{{t("Value axis / Metrics",{ns:"charts"})}}',
1655
- "x-decorator": "FormItem",
1656
- "x-component": "Select",
1657
- enum: "{{dataSource}}"
1658
- },
1659
- category: {
1660
- type: "string",
1661
- title: '{{t("Color legend / Dimensional",{ns:"charts"})}}',
1662
- "x-decorator": "FormItem",
1663
- "x-component": "Select",
1664
- enum: "{{dataSource}}"
1665
- },
1666
- jsonConfig: {
1667
- type: "void",
1668
- "x-component": "div",
1669
- properties: {
1670
- template: {
1671
- required: true,
1672
- title: '{{t("JSON config",{ns:"charts"})}}',
1673
- type: "string",
1674
- default: lib.stringify(chartConfig$4, null, 2),
1675
- "x-decorator": "FormItem",
1676
- "x-component": "Input.TextArea",
1677
- "x-component-props": {
1678
- autoSize: { minRows: 8, maxRows: 16 }
1679
- },
1680
- description: '{{jsonConfigDesc("Line | G2Plot","https://g2plot.antv.antgroup.com/api/plots/line")}}',
1681
- "x-validator": { json5: true }
1682
- }
1683
- }
1684
- }
1685
- }
1686
- }
1687
- };
1688
- const chartConfig$3 = {
1689
- yField: "{{metric}}",
1690
- xField: "{{dimension}}",
1691
- seriesField: "{{category}}"
1692
- };
1693
- const areaTemplate = {
1694
- description: "1 「time」or 「Ordered Noun」 field,1 「Numerical」 field,1 「Unordered Noun」 field (optional)",
1695
- type: "Area",
1696
- title: "Area",
1697
- iconId: "icon-area",
1698
- group: 2,
1699
- renderComponent: "G2Plot",
1700
- defaultChartOptions: chartConfig$3,
1701
- configurableProperties: {
1702
- type: "void",
1703
- properties: {
1704
- dimension: {
1705
- required: true,
1706
- type: "string",
1707
- title: '{{t("Category axis / Dimension",{ns:"charts"})}}',
1708
- "x-decorator": "FormItem",
1709
- "x-component": "Select",
1710
- enum: "{{dataSource}}"
1711
- },
1712
- metric: {
1713
- required: true,
1714
- type: "string",
1715
- title: '{{t("Value axis / Metrics",{ns:"charts"})}}',
1716
- "x-decorator": "FormItem",
1717
- "x-component": "Select",
1718
- enum: "{{dataSource}}"
1719
- },
1720
- category: {
1721
- type: "string",
1722
- title: '{{t("Color legend / Dimensional",{ns:"charts"})}}',
1723
- "x-decorator": "FormItem",
1724
- "x-component": "Select",
1725
- enum: "{{dataSource}}"
1726
- },
1727
- jsonConfig: {
1728
- type: "void",
1729
- "x-component": "div",
1730
- properties: {
1731
- template: {
1732
- required: true,
1733
- title: '{{t("JSON config",{ns:"charts"})}}',
1734
- type: "string",
1735
- default: lib.stringify(chartConfig$3, null, 2),
1736
- "x-decorator": "FormItem",
1737
- "x-component": "Input.TextArea",
1738
- "x-component-props": {
1739
- autoSize: { minRows: 8, maxRows: 16 }
1740
- },
1741
- description: '{{jsonConfigDesc("Area | G2Plot","https://g2plot.antv.antgroup.com/api/plots/area")}}',
1742
- "x-validator": { json5: true }
1743
- }
1744
- }
1745
- }
1746
- }
1747
- }
1748
- };
1749
- const chartConfig$2 = {
1750
- appendPadding: 10,
1751
- xField: "{{metric}}",
1752
- yField: "{{dimension}}",
1753
- colorField: "{{category}}",
1754
- shape: "circle",
1755
- size: 4,
1756
- yAxis: {
1757
- nice: true,
1758
- line: {
1759
- style: {
1760
- stroke: "#aaa"
1761
- }
1762
- }
1763
- },
1764
- xAxis: {
1765
- min: -100,
1766
- grid: {
1767
- line: {
1768
- style: {
1769
- stroke: "#eee"
1770
- }
1771
- }
1772
- },
1773
- line: {
1774
- style: {
1775
- stroke: "#aaa"
1776
- }
1777
- }
1778
- }
1779
- };
1780
- const scatterTemplate = {
1781
- description: "1 「Numeric」 field, 0~ 1 「Unordered Noun」 field",
1782
- type: "Scatter",
1783
- title: "Scatter",
1784
- iconId: "icon-scatter",
1785
- group: 2,
1786
- renderComponent: "G2Plot",
1787
- defaultChartOptions: chartConfig$2,
1788
- configurableProperties: {
1789
- type: "void",
1790
- properties: {
1791
- dimension: {
1792
- required: true,
1793
- type: "string",
1794
- title: '{{t("Category axis / Dimension",{ns:"charts"})}}',
1795
- "x-decorator": "FormItem",
1796
- "x-component": "Select",
1797
- enum: "{{dataSource}}"
1798
- },
1799
- metric: {
1800
- required: true,
1801
- type: "string",
1802
- title: '{{t("Value axis / Metrics",{ns:"charts"})}}',
1803
- "x-decorator": "FormItem",
1804
- "x-component": "Select",
1805
- enum: "{{dataSource}}"
1806
- },
1807
- category: {
1808
- type: "string",
1809
- title: '{{t("Color legend / Dimensional",{ns:"charts"})}}',
1810
- "x-decorator": "FormItem",
1811
- "x-component": "Select",
1812
- enum: "{{dataSource}}"
1813
- },
1814
- jsonConfig: {
1815
- type: "void",
1816
- "x-component": "div",
1817
- properties: {
1818
- template: {
1819
- required: true,
1820
- title: '{{t("JSON config",{ns:"charts"})}}',
1821
- type: "string",
1822
- default: lib.stringify(chartConfig$2, null, 2),
1823
- "x-decorator": "FormItem",
1824
- "x-component": "Input.TextArea",
1825
- "x-component-props": {
1826
- autoSize: { minRows: 8, maxRows: 16 }
1827
- },
1828
- description: '{{jsonConfigDesc("Scatter | G2Plot","https://g2plot.antv.antgroup.com/api/plots/scatter")}}',
1829
- "x-validator": { json5: true }
1830
- }
1831
- }
1832
- }
1833
- }
1834
- }
1835
- };
1836
- const chartConfig$1 = {
1837
- xField: "{{dimension}}",
1838
- yField: "{{metric}}",
1839
- appendPadding: [0, 10, 0, 10],
1840
- xAxis: {
1841
- tickLine: null
1842
- },
1843
- yAxis: {
1844
- label: false,
1845
- grid: {
1846
- alternateColor: "rgba(0, 0, 0, 0.04)"
1847
- }
1848
- },
1849
- // 开启辅助点
1850
- point: {
1851
- size: 2
1852
- },
1853
- area: {}
1854
- };
1855
- const radarTemplate = {
1856
- description: "1~ 2 「Unordered Noun」 fields, 1 「Numeric」 field",
1857
- type: "Radar",
1858
- title: "Radar",
1859
- iconId: "icon-radar",
1860
- group: 1,
1861
- renderComponent: "G2Plot",
1862
- defaultChartOptions: chartConfig$1,
1863
- configurableProperties: {
1864
- type: "void",
1865
- properties: {
1866
- dimension: {
1867
- required: true,
1868
- type: "string",
1869
- title: '{{t("Branch Tags/Dimensions",{ns:"charts"})}}',
1870
- "x-decorator": "FormItem",
1871
- "x-component": "Select",
1872
- enum: "{{dataSource}}"
1873
- },
1874
- metric: {
1875
- required: true,
1876
- type: "string",
1877
- title: '{{t("Branch Length/Metrics",{ns:"charts"})}}',
1878
- "x-decorator": "FormItem",
1879
- "x-component": "Select",
1880
- enum: "{{dataSource}}"
1881
- },
1882
- jsonConfig: {
1883
- type: "void",
1884
- "x-component": "div",
1885
- properties: {
1886
- template: {
1887
- required: true,
1888
- title: '{{t("JSON config",{ns:"charts"})}}',
1889
- type: "string",
1890
- default: lib.stringify(chartConfig$1, null, 2),
1891
- "x-decorator": "FormItem",
1892
- "x-component": "Input.TextArea",
1893
- "x-component-props": {
1894
- autoSize: { minRows: 8, maxRows: 16 }
1895
- },
1896
- description: '{{jsonConfigDesc("Radar | G2Plot","https://g2plot.antv.antgroup.com/api/plots/radar")}}',
1897
- "x-validator": { json5: true }
1898
- }
1899
- }
1900
- }
1901
- }
1902
- }
1903
- };
1904
- const chartConfig = {
1905
- xField: "{{dimension}}",
1906
- yField: "{{metric}}",
1907
- seriesField: "{{category}}",
1908
- legend: false
1909
- };
1910
- const funnelTemplate = {
1911
- description: "1 「Unordered Noun」 field, 1 「Numeric」 field",
1912
- type: "Funnel",
1913
- title: "Funnel",
1914
- iconId: "icon-funnel",
1915
- group: 1,
1916
- renderComponent: "G2Plot",
1917
- defaultChartOptions: chartConfig,
1918
- configurableProperties: {
1919
- type: "void",
1920
- properties: {
1921
- dimension: {
1922
- required: true,
1923
- type: "string",
1924
- title: '{{t("Sector label / Dimensional",{ns:"charts"})}}',
1925
- "x-decorator": "FormItem",
1926
- "x-component": "Select",
1927
- enum: "{{dataSource}}"
1928
- },
1929
- metric: {
1930
- required: true,
1931
- type: "string",
1932
- title: '{{t("Funnel Layer Width/Metrics",{ns:"charts"})}}',
1933
- "x-decorator": "FormItem",
1934
- "x-component": "Select",
1935
- enum: "{{dataSource}}"
1936
- },
1937
- category: {
1938
- type: "string",
1939
- title: '{{t("Color legend / Dimensional",{ns:"charts"})}}',
1940
- "x-decorator": "FormItem",
1941
- "x-component": "Select",
1942
- enum: "{{dataSource}}"
1943
- },
1944
- jsonConfig: {
1945
- type: "void",
1946
- "x-component": "div",
1947
- properties: {
1948
- template: {
1949
- required: true,
1950
- title: '{{t("JSON config",{ns:"charts"})}}',
1951
- type: "string",
1952
- default: lib.stringify(chartConfig, null, 2),
1953
- "x-decorator": "FormItem",
1954
- "x-component": "Input.TextArea",
1955
- "x-component-props": {
1956
- autoSize: { minRows: 8, maxRows: 16 }
1957
- },
1958
- description: '{{jsonConfigDesc("Funnel | G2Plot","https://g2plot.antv.antgroup.com/api/plots/funnel")}}',
1959
- "x-validator": { json5: true }
1960
- }
1961
- }
1962
- }
1963
- }
1964
- }
1965
- };
1966
- const templates = /* @__PURE__ */ new Map();
1967
- templates.set("Pie", pieTemplate);
1968
- templates.set("Line", lineTemplate);
1969
- templates.set("Area", areaTemplate);
1970
- templates.set("Bar", barTemplate);
1971
- templates.set("Column", columnTemplate);
1972
- templates.set("Scatter", scatterTemplate);
1973
- templates.set("Radar", radarTemplate);
1974
- templates.set("Funnel", funnelTemplate);
1975
- const Options = react.observer(
1976
- (props) => {
1977
- const form = react.useForm();
1978
- react.useField();
1979
- const [s, setSchema] = require$$0.useState(new react.Schema({}));
1980
- const [chartType, setChartType] = require$$0.useState(form.values.type);
1981
- require$$0.useEffect(() => {
1982
- var _a, _b;
1983
- setChartType((_a = form == null ? void 0 : form.values) == null ? void 0 : _a.type);
1984
- if (chartType !== ((_b = form == null ? void 0 : form.values) == null ? void 0 : _b.type)) {
1985
- form.clearFormGraph("options.*");
1986
- }
1987
- if (form.values.type) {
1988
- const template = templates.get(form.values.type);
1989
- setSchema(new react.Schema(template.configurableProperties || {}));
1990
- }
1991
- }, [form.values.type]);
1992
- return /* @__PURE__ */ jsxRuntimeExports.jsx(react.RecursionField, { schema: s });
1993
- },
1994
- { displayName: "Options" }
1995
- );
1996
- const ChartBlockInitializer = (props) => {
1997
- const { insert } = props;
1998
- const options = require$$0.useContext(react.SchemaOptionsContext);
1999
- const api2 = client.useAPIClient();
2000
- const compile = client.useCompile();
2001
- const { theme } = client.useGlobalTheme();
2002
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
2003
- ChartQueryBlockInitializer,
2004
- {
2005
- ...props,
2006
- componentType: "Charts",
2007
- onCreateBlockSchema: async ({ item: chartQueryMetadata }) => {
2008
- const dataSource = chartQueryMetadata == null ? void 0 : chartQueryMetadata.fields.map((field) => {
2009
- return {
2010
- label: field.name,
2011
- value: field.name
2012
- };
2013
- });
2014
- const values = await client.FormDialog(
2015
- {
2016
- okText: compile('{{t("Submit")}}'),
2017
- title: lang("Create chart block"),
2018
- width: 1200,
2019
- bodyStyle: { background: "var(--nb-box-bg)", maxHeight: "65vh", overflow: "auto" }
2020
- },
2021
- function Com() {
2022
- var _a, _b;
2023
- const form = react.useForm();
2024
- const [chartBlockEngineMetaData, setChartBlockEngineMetaData] = require$$0.useState(null);
2025
- require$$0.useEffect(() => {
2026
- const chartBlockEngineMetaData2 = {
2027
- query: {
2028
- id: chartQueryMetadata == null ? void 0 : chartQueryMetadata.id
2029
- },
2030
- chart: form.values
2031
- //TODO
2032
- };
2033
- setChartBlockEngineMetaData(chartBlockEngineMetaData2);
2034
- }, [form.values.type]);
2035
- return /* @__PURE__ */ jsxRuntimeExports.jsx(client.APIClientProvider, { apiClient: api2, children: /* @__PURE__ */ jsxRuntimeExports.jsx(client.SchemaComponentOptions, { scope: options.scope, components: { ...options.components }, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
2036
- "section",
2037
- {
2038
- className: client.css`
1
+ (function(A,u){typeof exports=="object"&&typeof module!="undefined"?u(exports,require("react/jsx-runtime"),require("@formily/core"),require("@nocobase/client"),require("react"),require("antd"),require("@formily/antd-v5"),require("@formily/react"),require("@nocobase/utils/client"),require("react-i18next"),require("@ant-design/icons"),require("react-router-dom"),require("lodash"),require("@formily/shared")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","@formily/core","@nocobase/client","react","antd","@formily/antd-v5","@formily/react","@nocobase/utils/client","react-i18next","@ant-design/icons","react-router-dom","lodash","@formily/shared"],u):(A=typeof globalThis!="undefined"?globalThis:A||self,u(A["@nocobase/plugin-charts"]={},A.jsxRuntime,A["@formily/core"],A["@nocobase/client"],A.react,A.antd,A["@formily/antd-v5"],A["@formily/react"],A["@nocobase/utils"],A["react-i18next"],A["@ant-design/icons"],A["react-router-dom"],A.lodash,A["@formily/shared"]))})(this,function(A,u,w,o,B,P,eu,I,G,R,ou,Uu,fu,nu){"use strict";var $e=Object.defineProperty,Qe=Object.defineProperties;var _e=Object.getOwnPropertyDescriptors;var au=Object.getOwnPropertySymbols;var Hu=Object.prototype.hasOwnProperty,Ku=Object.prototype.propertyIsEnumerable;var Zu=(A,u,w)=>u in A?$e(A,u,{enumerable:!0,configurable:!0,writable:!0,value:w}):A[u]=w,b=(A,u)=>{for(var w in u||(u={}))Hu.call(u,w)&&Zu(A,w,u[w]);if(au)for(var w of au(u))Ku.call(u,w)&&Zu(A,w,u[w]);return A},W=(A,u)=>Qe(A,_e(u));var cu=(A,u)=>{var w={};for(var o in A)Hu.call(A,o)&&u.indexOf(o)<0&&(w[o]=A[o]);if(A!=null&&au)for(var o of au(A))u.indexOf(o)<0&&Ku.call(A,o)&&(w[o]=A[o]);return w};var J=(A,u,w)=>new Promise((o,B)=>{var P=G=>{try{I(w.next(G))}catch(R){B(R)}},eu=G=>{try{I(w.throw(G))}catch(R){B(R)}},I=G=>G.done?o(G.value):Promise.resolve(G.value).then(P,eu);I((w=w.apply(A,u)).next())});var Wu=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,Xu=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,Yu=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/,lu={Space_Separator:Wu,ID_Start:Xu,ID_Continue:Yu},q={isSpaceSeparator(e){return typeof e=="string"&&lu.Space_Separator.test(e)},isIdStartChar(e){return typeof e=="string"&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||e==="$"||e==="_"||lu.ID_Start.test(e))},isIdContinueChar(e){return typeof e=="string"&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||e>="0"&&e<="9"||e==="$"||e==="_"||e==="‌"||e==="‍"||lu.ID_Continue.test(e))},isDigit(e){return typeof e=="string"&&/[0-9]/.test(e)},isHexDigit(e){return typeof e=="string"&&/[0-9A-Fa-f]/.test(e)}};let pu,T,_,iu,U,$,L,Cu,tu;var Ru=function(t,n){pu=String(t),T="start",_=[],iu=0,U=1,$=0,L=void 0,Cu=void 0,tu=void 0;do L=ue(),re[T]();while(L.type!=="eof");return typeof n=="function"?du({"":tu},"",n):tu};function du(e,t,n){const i=e[t];if(i!=null&&typeof i=="object")if(Array.isArray(i))for(let c=0;c<i.length;c++){const D=String(c),a=du(i,D,n);a===void 0?delete i[D]:Object.defineProperty(i,D,{value:a,writable:!0,enumerable:!0,configurable:!0})}else for(const c in i){const D=du(i,c,n);D===void 0?delete i[c]:Object.defineProperty(i,c,{value:D,writable:!0,enumerable:!0,configurable:!0})}return n.call(e,t,i)}let E,F,ru,Z,f;function ue(){for(E="default",F="",ru=!1,Z=1;;){f=H();const e=hu[E]();if(e)return e}}function H(){if(pu[iu])return String.fromCodePoint(pu.codePointAt(iu))}function r(){const e=H();return e===`
2
+ `?(U++,$=0):e?$+=e.length:$++,e&&(iu+=e.length),e}const hu={default(){switch(f){case" ":case"\v":case"\f":case" ":case" ":case"\uFEFF":case`
3
+ `:case"\r":case"\u2028":case"\u2029":r();return;case"/":r(),E="comment";return;case void 0:return r(),S("eof")}if(q.isSpaceSeparator(f)){r();return}return hu[T]()},comment(){switch(f){case"*":r(),E="multiLineComment";return;case"/":r(),E="singleLineComment";return}throw v(r())},multiLineComment(){switch(f){case"*":r(),E="multiLineCommentAsterisk";return;case void 0:throw v(r())}r()},multiLineCommentAsterisk(){switch(f){case"*":r();return;case"/":r(),E="default";return;case void 0:throw v(r())}r(),E="multiLineComment"},singleLineComment(){switch(f){case`
4
+ `:case"\r":case"\u2028":case"\u2029":r(),E="default";return;case void 0:return r(),S("eof")}r()},value(){switch(f){case"{":case"[":return S("punctuator",r());case"n":return r(),X("ull"),S("null",null);case"t":return r(),X("rue"),S("boolean",!0);case"f":return r(),X("alse"),S("boolean",!1);case"-":case"+":r()==="-"&&(Z=-1),E="sign";return;case".":F=r(),E="decimalPointLeading";return;case"0":F=r(),E="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":F=r(),E="decimalInteger";return;case"I":return r(),X("nfinity"),S("numeric",1/0);case"N":return r(),X("aN"),S("numeric",NaN);case'"':case"'":ru=r()==='"',F="",E="string";return}throw v(r())},identifierNameStartEscape(){if(f!=="u")throw v(r());r();const e=Fu();switch(e){case"$":case"_":break;default:if(!q.isIdStartChar(e))throw Bu();break}F+=e,E="identifierName"},identifierName(){switch(f){case"$":case"_":case"‌":case"‍":F+=r();return;case"\\":r(),E="identifierNameEscape";return}if(q.isIdContinueChar(f)){F+=r();return}return S("identifier",F)},identifierNameEscape(){if(f!=="u")throw v(r());r();const e=Fu();switch(e){case"$":case"_":case"‌":case"‍":break;default:if(!q.isIdContinueChar(e))throw Bu();break}F+=e,E="identifierName"},sign(){switch(f){case".":F=r(),E="decimalPointLeading";return;case"0":F=r(),E="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":F=r(),E="decimalInteger";return;case"I":return r(),X("nfinity"),S("numeric",Z*(1/0));case"N":return r(),X("aN"),S("numeric",NaN)}throw v(r())},zero(){switch(f){case".":F+=r(),E="decimalPoint";return;case"e":case"E":F+=r(),E="decimalExponent";return;case"x":case"X":F+=r(),E="hexadecimal";return}return S("numeric",Z*0)},decimalInteger(){switch(f){case".":F+=r(),E="decimalPoint";return;case"e":case"E":F+=r(),E="decimalExponent";return}if(q.isDigit(f)){F+=r();return}return S("numeric",Z*Number(F))},decimalPointLeading(){if(q.isDigit(f)){F+=r(),E="decimalFraction";return}throw v(r())},decimalPoint(){switch(f){case"e":case"E":F+=r(),E="decimalExponent";return}if(q.isDigit(f)){F+=r(),E="decimalFraction";return}return S("numeric",Z*Number(F))},decimalFraction(){switch(f){case"e":case"E":F+=r(),E="decimalExponent";return}if(q.isDigit(f)){F+=r();return}return S("numeric",Z*Number(F))},decimalExponent(){switch(f){case"+":case"-":F+=r(),E="decimalExponentSign";return}if(q.isDigit(f)){F+=r(),E="decimalExponentInteger";return}throw v(r())},decimalExponentSign(){if(q.isDigit(f)){F+=r(),E="decimalExponentInteger";return}throw v(r())},decimalExponentInteger(){if(q.isDigit(f)){F+=r();return}return S("numeric",Z*Number(F))},hexadecimal(){if(q.isHexDigit(f)){F+=r(),E="hexadecimalInteger";return}throw v(r())},hexadecimalInteger(){if(q.isHexDigit(f)){F+=r();return}return S("numeric",Z*Number(F))},string(){switch(f){case"\\":r(),F+=ee();return;case'"':if(ru)return r(),S("string",F);F+=r();return;case"'":if(!ru)return r(),S("string",F);F+=r();return;case`
5
+ `:case"\r":throw v(r());case"\u2028":case"\u2029":oe(f);break;case void 0:throw v(r())}F+=r()},start(){switch(f){case"{":case"[":return S("punctuator",r())}E="value"},beforePropertyName(){switch(f){case"$":case"_":F=r(),E="identifierName";return;case"\\":r(),E="identifierNameStartEscape";return;case"}":return S("punctuator",r());case'"':case"'":ru=r()==='"',E="string";return}if(q.isIdStartChar(f)){F+=r(),E="identifierName";return}throw v(r())},afterPropertyName(){if(f===":")return S("punctuator",r());throw v(r())},beforePropertyValue(){E="value"},afterPropertyValue(){switch(f){case",":case"}":return S("punctuator",r())}throw v(r())},beforeArrayValue(){if(f==="]")return S("punctuator",r());E="value"},afterArrayValue(){switch(f){case",":case"]":return S("punctuator",r())}throw v(r())},end(){throw v(r())}};function S(e,t){return{type:e,value:t,line:U,column:$}}function X(e){for(const t of e){if(H()!==t)throw v(r());r()}}function ee(){switch(H()){case"b":return r(),"\b";case"f":return r(),"\f";case"n":return r(),`
6
+ `;case"r":return r(),"\r";case"t":return r()," ";case"v":return r(),"\v";case"0":if(r(),q.isDigit(H()))throw v(r());return"\0";case"x":return r(),te();case"u":return r(),Fu();case`
7
+ `:case"\u2028":case"\u2029":return r(),"";case"\r":return r(),H()===`
8
+ `&&r(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw v(r());case void 0:throw v(r())}return r()}function te(){let e="",t=H();if(!q.isHexDigit(t)||(e+=r(),t=H(),!q.isHexDigit(t)))throw v(r());return e+=r(),String.fromCodePoint(parseInt(e,16))}function Fu(){let e="",t=4;for(;t-- >0;){const n=H();if(!q.isHexDigit(n))throw v(r());e+=r()}return String.fromCodePoint(parseInt(e,16))}const re={start(){if(L.type==="eof")throw Y();Au()},beforePropertyName(){switch(L.type){case"identifier":case"string":Cu=L.value,T="afterPropertyName";return;case"punctuator":Du();return;case"eof":throw Y()}},afterPropertyName(){if(L.type==="eof")throw Y();T="beforePropertyValue"},beforePropertyValue(){if(L.type==="eof")throw Y();Au()},beforeArrayValue(){if(L.type==="eof")throw Y();if(L.type==="punctuator"&&L.value==="]"){Du();return}Au()},afterPropertyValue(){if(L.type==="eof")throw Y();switch(L.value){case",":T="beforePropertyName";return;case"}":Du()}},afterArrayValue(){if(L.type==="eof")throw Y();switch(L.value){case",":T="beforeArrayValue";return;case"]":Du()}},end(){}};function Au(){let e;switch(L.type){case"punctuator":switch(L.value){case"{":e={};break;case"[":e=[];break}break;case"null":case"boolean":case"numeric":case"string":e=L.value;break}if(tu===void 0)tu=e;else{const t=_[_.length-1];Array.isArray(t)?t.push(e):Object.defineProperty(t,Cu,{value:e,writable:!0,enumerable:!0,configurable:!0})}if(e!==null&&typeof e=="object")_.push(e),Array.isArray(e)?T="beforeArrayValue":T="beforePropertyName";else{const t=_[_.length-1];t==null?T="end":Array.isArray(t)?T="afterArrayValue":T="afterPropertyValue"}}function Du(){_.pop();const e=_[_.length-1];e==null?T="end":Array.isArray(e)?T="afterArrayValue":T="afterPropertyValue"}function v(e){return su(e===void 0?`JSON5: invalid end of input at ${U}:${$}`:`JSON5: invalid character '${yu(e)}' at ${U}:${$}`)}function Y(){return su(`JSON5: invalid end of input at ${U}:${$}`)}function Bu(){return $-=5,su(`JSON5: invalid identifier character at ${U}:${$}`)}function oe(e){console.warn(`JSON5: '${yu(e)}' in strings is not valid ECMAScript; consider escaping`)}function yu(e){const t={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(t[e])return t[e];if(e<" "){const n=e.charCodeAt(0).toString(16);return"\\x"+("00"+n).substring(n.length)}return e}function su(e){const t=new SyntaxError(e);return t.lineNumber=U,t.columnNumber=$,t}var ne=function(t,n,i){const c=[];let D="",a,d,s="",h;if(n!=null&&typeof n=="object"&&!Array.isArray(n)&&(i=n.space,h=n.quote,n=n.replacer),typeof n=="function")d=n;else if(Array.isArray(n)){a=[];for(const l of n){let p;typeof l=="string"?p=l:(typeof l=="number"||l instanceof String||l instanceof Number)&&(p=String(l)),p!==void 0&&a.indexOf(p)<0&&a.push(p)}}return i instanceof Number?i=Number(i):i instanceof String&&(i=String(i)),typeof i=="number"?i>0&&(i=Math.min(10,Math.floor(i)),s=" ".substr(0,i)):typeof i=="string"&&(s=i.substr(0,10)),x("",{"":t});function x(l,p){let C=p[l];switch(C!=null&&(typeof C.toJSON5=="function"?C=C.toJSON5(l):typeof C.toJSON=="function"&&(C=C.toJSON(l))),d&&(C=d.call(p,l,C)),C instanceof Number?C=Number(C):C instanceof String?C=String(C):C instanceof Boolean&&(C=C.valueOf()),C){case null:return"null";case!0:return"true";case!1:return"false"}if(typeof C=="string")return M(C);if(typeof C=="number")return String(C);if(typeof C=="object")return Array.isArray(C)?N(C):z(C)}function M(l){const p={"'":.1,'"':.2},C={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};let y="";for(let g=0;g<l.length;g++){const k=l[g];switch(k){case"'":case'"':p[k]++,y+=k;continue;case"\0":if(q.isDigit(l[g+1])){y+="\\x00";continue}}if(C[k]){y+=C[k];continue}if(k<" "){let K=k.charCodeAt(0).toString(16);y+="\\x"+("00"+K).substring(K.length);continue}y+=k}const O=h||Object.keys(p).reduce((g,k)=>p[g]<p[k]?g:k);return y=y.replace(new RegExp(O,"g"),C[O]),O+y+O}function z(l){if(c.indexOf(l)>=0)throw TypeError("Converting circular structure to JSON5");c.push(l);let p=D;D=D+s;let C=a||Object.keys(l),y=[];for(const g of C){const k=x(g,l);if(k!==void 0){let K=Q(g)+":";s!==""&&(K+=" "),K+=k,y.push(K)}}let O;if(y.length===0)O="{}";else{let g;if(s==="")g=y.join(","),O="{"+g+"}";else{let k=`,
9
+ `+D;g=y.join(k),O=`{
10
+ `+D+g+`,
11
+ `+p+"}"}}return c.pop(),D=p,O}function Q(l){if(l.length===0)return M(l);const p=String.fromCodePoint(l.codePointAt(0));if(!q.isIdStartChar(p))return M(l);for(let C=p.length;C<l.length;C++)if(!q.isIdContinueChar(String.fromCodePoint(l.codePointAt(C))))return M(l);return l}function N(l){if(c.indexOf(l)>=0)throw TypeError("Converting circular structure to JSON5");c.push(l);let p=D;D=D+s;let C=[];for(let O=0;O<l.length;O++){const g=x(String(O),l);C.push(g!==void 0?g:"null")}let y;if(C.length===0)y="[]";else if(s==="")y="["+C.join(",")+"]";else{let O=`,
12
+ `+D,g=C.join(O);y=`[
13
+ `+D+g+`,
14
+ `+p+"]"}return c.pop(),D=p,y}},V={parse:Ru,stringify:ne};const gu=B.createContext({refresh:()=>{},data:[]}),ie=e=>{var s;const t=o.useAPIClient(),n={resource:"chartsQueries",action:"listMetadata",params:{paginate:!1,sort:["-id"]}},i=Uu.useLocation(),c=o.useRequest(n,{manual:!0}),D=i.pathname.startsWith("/admin"),a=t.auth.getToken()||"";B.useEffect(()=>{D&&a&&c.run()},[D,a]);const d=()=>J(this,null,function*(){const{data:h}=yield t.request(n);return c.mutate(h),(h==null?void 0:h.data)||[]});return c.loading?u.jsx(P.Spin,{}):u.jsx(gu.Provider,{value:{refresh:d,data:(s=c.data)==null?void 0:s.data},children:e.children})},uu=()=>B.useContext(gu),De="charts";function m(e){return o.i18n.t(e,{ns:De})}const se={json:{type:"object",properties:{data:{title:"JSON",required:!0,"x-component":"Input.TextArea","x-validator":{json5:!0},"x-component-props":{autoSize:{maxRows:20,minRows:10}},"x-decorator":"FormItem"}}},sql:{type:"object",properties:{sql:{title:"SQL",required:!0,"x-component":"Input.TextArea","x-decorator":"FormItem","x-validator":{triggerType:"onBlur",validator:"{{validateSQL}}"},"x-component-props":{autoSize:{maxRows:20,minRows:10}}}}},api:{type:"object",properties:{api:{title:"API",required:!0,"x-component":"Input","x-decorator":"FormItem"}}}},xu=e=>fu.cloneDeep(se[e]),ae=e=>{const N=e,{templateWrap:t,onCreateBlockSchema:n,componentType:i,createBlockSchema:c,insert:D}=N,a=cu(N,["templateWrap","onCreateBlockSchema","componentType","createBlockSchema","insert"]),{setVisible:d}=B.useContext(o.SchemaInitializerButtonContext),s=o.useAPIClient(),h=uu(),x=B.useContext(I.SchemaOptionsContext),{theme:M}=o.useGlobalTheme(),z=B.useCallback(l=>{o.FormDialog({sql:m("Add SQL query"),json:m("Add JSON query")}[l.key],()=>u.jsx("div",{children:u.jsx(o.SchemaComponentOptions,{scope:x.scope,components:b({},x.components),children:u.jsx(eu.FormLayout,{layout:"vertical",children:u.jsx(o.SchemaComponent,{schema:{type:"object",properties:{title:{title:m("Title"),required:!0,"x-component":"Input","x-decorator":"FormItem"},options:xu(l.key)}}})})})}),M).open({initialValues:{type:l.key}}).then(p=>J(this,null,function*(){var C;try{if((C=s.resource("chartsQueries"))!=null&&C.create){const{data:y}=yield s.resource("chartsQueries").create({values:p}),g=(yield h.refresh()).find(k=>{var K;return k.id===((K=y==null?void 0:y.data)==null?void 0:K.id)});n({item:g})}d(!1)}catch(y){G.error(y)}})).catch(p=>{G.error(p)})},[s,h,n,x.components,x.scope,d]),Q=B.useMemo(()=>{const l=[{type:"itemGroup",title:m("Select query data"),children:[]}],p=h.data;if(p&&Array.isArray(p)){const C=p.length>0?{type:"itemGroup",title:'{{t("Select chart query", {ns: "charts"})}}',children:p}:null,y=p.length>0?{type:"divider"}:null;return[C,y,{type:"subMenu",title:m("Add chart query"),children:[{key:"sql",type:"item",title:"SQL",onClick:z},{key:"json",type:"item",title:"JSON",onClick:z}]}].filter(Boolean)}return l},[h.data,z]);return u.jsx(o.SchemaInitializer.Item,W(b({icon:u.jsx(ou.TableOutlined,{})},a),{onClick:p=>J(this,[p],function*({item:l}){n({item:l}),d(!1)}),items:Q}))},Eu=({queryId:e,fields:t})=>{const{dataSet:n,loading:i,error:c}=Lu(e),D={};if(t)for(const d of t)D[d.name]={type:"void",title:d.name,"x-component":"TableV2.Column","x-component-props":{},properties:{[d.name]:{type:"string","x-component":"Input","x-read-pretty":!0}}};const a={type:"void",properties:{input:{type:"array","x-component":"TableV2","x-component-props":{scroll:{y:300}},default:n,properties:D}}};return c?u.jsx(u.Fragment,{children:u.jsx(P.Empty,{description:u.jsx("span",{children:"May be this chart block's query data has been deleted,please check!"})})}):i?u.jsx(u.Fragment,{children:u.jsx(P.Spin,{})}):(n.forEach(d=>{for(const s in d)d[s]&&d[s]instanceof Object&&(d[s]=JSON.stringify(d[s]))}),u.jsx(o.SchemaComponentProvider,{scope:{dataSet:n},components:{TableV2:o.TableV2,Input:o.Input,FormItem:o.FormItem},children:u.jsx(o.SchemaComponent,{schema:a})}))},Su={appendPadding:10,angleField:"{{metric}}",colorField:"{{dimension}}",radius:.9,label:{type:"inner",offset:"-30%",content:"{{({percent}) => `${(percent * 100).toFixed(0)}%`}}",style:{fontSize:14,textAlign:"center"}},interactions:[{type:"element-active"}]},ce={description:"1 「Time」 or 「Order Noun」 field, 1 「Value」 field",title:"Pie",type:"Pie",iconId:"icon-pie",group:2,renderComponent:"G2Plot",defaultChartOptions:Su,configurableProperties:{type:"void",properties:{dimension:{required:!0,type:"string",title:'{{t("Sector label / Dimensional",{ns:"charts"})}}',"x-decorator":"FormItem","x-component":"Select",enum:"{{dataSource}}"},metric:{required:!0,type:"string",title:'{{t("Sector Angle / Metric",{ns:"charts"})}}',"x-decorator":"FormItem","x-component":"Select",enum:"{{dataSource}}"},jsonConfig:{type:"void","x-component":"div",properties:{template:{required:!0,title:'{{t("JSON config",{ns:"charts"})}}',type:"string",default:V.stringify(Su,null,2),"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{autoSize:{minRows:8,maxRows:16}},description:'{{jsonConfigDesc("Pie | G2Plot","https://g2plot.antv.antgroup.com/api/plots/pie")}}',"x-validator":{json5:!0}}}}}}},vu={appendPadding:10,isGroup:!0,yField:"{{dimension}}",xField:"{{metric}}",seriesField:"{{category}}",label:{position:"middle",style:{fill:"#FFFFFF",opacity:.6}},xAxis:{label:{autoHide:!0,autoRotate:!1}}},le={description:"1 「time」 or 「ordered noun」 field, 1 「value」 field, 0~ 1 「unordered noun」",type:"Bar",title:"Bar",iconId:"icon-bar",group:2,renderComponent:"G2Plot",defaultChartOptions:vu,configurableProperties:{type:"void",properties:{dimension:{required:!0,type:"string",title:'{{t("Category axis / Dimension",{ns:"charts"})}}',"x-decorator":"FormItem","x-component":"Select",enum:"{{dataSource}}"},metric:{required:!0,type:"string",title:'{{t("Value axis / Metrics",{ns:"charts"})}}',"x-decorator":"FormItem","x-component":"Select",enum:"{{dataSource}}"},category:{type:"string",title:'{{t("Color legend / Dimensional",{ns:"charts"})}}',"x-decorator":"FormItem","x-component":"Select",enum:"{{dataSource}}"},jsonConfig:{type:"void","x-component":"div",properties:{template:{required:!0,title:'{{t("JSON config",{ns:"charts"})}}',type:"string",default:V.stringify(vu,null,2),"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{autoSize:{minRows:8,maxRows:16}},description:'{{jsonConfigDesc("Bar | G2Plot","https://g2plot.antv.antgroup.com/api/plots/bar")}}',"x-validator":{json5:!0}}}}}}},bu={appendPadding:10,isGroup:!0,yField:"{{metric}}",xField:"{{dimension}}",seriesField:"{{category}}",label:{position:"middle",style:{fill:"#FFFFFF",opacity:.6}},xAxis:{label:{autoHide:!0,autoRotate:!1}}},pe={description:"1 「time」 or 「ordered noun」 field, 1 「value」 field, 0 to 1 「unordered noun」",type:"Column",title:"Column",iconId:"icon-column",group:2,renderComponent:"G2Plot",defaultChartOptions:bu,configurableProperties:{type:"void",properties:{dimension:{required:!0,type:"string",title:'{{t("Category axis / Dimension",{ns:"charts"})}}',"x-decorator":"FormItem","x-component":"Select",enum:"{{dataSource}}"},metric:{required:!0,type:"string",title:'{{t("Value axis / Metrics",{ns:"charts"})}}',"x-decorator":"FormItem","x-component":"Select",enum:"{{dataSource}}"},category:{type:"string",title:'{{t("Color legend / Dimensional",{ns:"charts"})}}',"x-decorator":"FormItem","x-component":"Select",enum:"{{dataSource}}"},jsonConfig:{type:"void","x-component":"div",properties:{template:{required:!0,title:'{{t("JSON config",{ns:"charts"})}}',type:"string",default:V.stringify(bu,null,2),"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{autoSize:{minRows:8,maxRows:16}},description:'{{jsonConfigDesc("Column | G2Plot","https://g2plot.antv.antgroup.com/api/plots/column")}}',"x-validator":{json5:!0}}}}}}},wu={yField:"{{metric}}",xField:"{{dimension}}",seriesField:"{{category}}",xAxis:{},yAxis:{}},Ce={description:"1 「Time」 or 「Order Noun」 field, 1 「Value」 field",type:"Line",title:"Line",iconId:"icon-line",group:2,renderComponent:"G2Plot",defaultChartOptions:wu,configurableProperties:{type:"void",properties:{dimension:{required:!0,type:"string",title:'{{t("Category axis / Dimension",{ns:"charts"})}}',"x-decorator":"FormItem","x-component":"Select",enum:"{{dataSource}}"},metric:{required:!0,type:"string",title:'{{t("Value axis / Metrics",{ns:"charts"})}}',"x-decorator":"FormItem","x-component":"Select",enum:"{{dataSource}}"},category:{type:"string",title:'{{t("Color legend / Dimensional",{ns:"charts"})}}',"x-decorator":"FormItem","x-component":"Select",enum:"{{dataSource}}"},jsonConfig:{type:"void","x-component":"div",properties:{template:{required:!0,title:'{{t("JSON config",{ns:"charts"})}}',type:"string",default:V.stringify(wu,null,2),"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{autoSize:{minRows:8,maxRows:16}},description:'{{jsonConfigDesc("Line | G2Plot","https://g2plot.antv.antgroup.com/api/plots/line")}}',"x-validator":{json5:!0}}}}}}},Iu={yField:"{{metric}}",xField:"{{dimension}}",seriesField:"{{category}}"},de={description:"1 「time」or 「Ordered Noun」 field,1 「Numerical」 field,1 「Unordered Noun」 field (optional)",type:"Area",title:"Area",iconId:"icon-area",group:2,renderComponent:"G2Plot",defaultChartOptions:Iu,configurableProperties:{type:"void",properties:{dimension:{required:!0,type:"string",title:'{{t("Category axis / Dimension",{ns:"charts"})}}',"x-decorator":"FormItem","x-component":"Select",enum:"{{dataSource}}"},metric:{required:!0,type:"string",title:'{{t("Value axis / Metrics",{ns:"charts"})}}',"x-decorator":"FormItem","x-component":"Select",enum:"{{dataSource}}"},category:{type:"string",title:'{{t("Color legend / Dimensional",{ns:"charts"})}}',"x-decorator":"FormItem","x-component":"Select",enum:"{{dataSource}}"},jsonConfig:{type:"void","x-component":"div",properties:{template:{required:!0,title:'{{t("JSON config",{ns:"charts"})}}',type:"string",default:V.stringify(Iu,null,2),"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{autoSize:{minRows:8,maxRows:16}},description:'{{jsonConfigDesc("Area | G2Plot","https://g2plot.antv.antgroup.com/api/plots/area")}}',"x-validator":{json5:!0}}}}}}},Pu={appendPadding:10,xField:"{{metric}}",yField:"{{dimension}}",colorField:"{{category}}",shape:"circle",size:4,yAxis:{nice:!0,line:{style:{stroke:"#aaa"}}},xAxis:{min:-100,grid:{line:{style:{stroke:"#eee"}}},line:{style:{stroke:"#aaa"}}}},Fe={description:"1 「Numeric」 field, 0~ 1 「Unordered Noun」 field",type:"Scatter",title:"Scatter",iconId:"icon-scatter",group:2,renderComponent:"G2Plot",defaultChartOptions:Pu,configurableProperties:{type:"void",properties:{dimension:{required:!0,type:"string",title:'{{t("Category axis / Dimension",{ns:"charts"})}}',"x-decorator":"FormItem","x-component":"Select",enum:"{{dataSource}}"},metric:{required:!0,type:"string",title:'{{t("Value axis / Metrics",{ns:"charts"})}}',"x-decorator":"FormItem","x-component":"Select",enum:"{{dataSource}}"},category:{type:"string",title:'{{t("Color legend / Dimensional",{ns:"charts"})}}',"x-decorator":"FormItem","x-component":"Select",enum:"{{dataSource}}"},jsonConfig:{type:"void","x-component":"div",properties:{template:{required:!0,title:'{{t("JSON config",{ns:"charts"})}}',type:"string",default:V.stringify(Pu,null,2),"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{autoSize:{minRows:8,maxRows:16}},description:'{{jsonConfigDesc("Scatter | G2Plot","https://g2plot.antv.antgroup.com/api/plots/scatter")}}',"x-validator":{json5:!0}}}}}}},Nu={xField:"{{dimension}}",yField:"{{metric}}",appendPadding:[0,10,0,10],xAxis:{tickLine:null},yAxis:{label:!1,grid:{alternateColor:"rgba(0, 0, 0, 0.04)"}},point:{size:2},area:{}},Ae={description:"1~ 2 「Unordered Noun」 fields, 1 「Numeric」 field",type:"Radar",title:"Radar",iconId:"icon-radar",group:1,renderComponent:"G2Plot",defaultChartOptions:Nu,configurableProperties:{type:"void",properties:{dimension:{required:!0,type:"string",title:'{{t("Branch Tags/Dimensions",{ns:"charts"})}}',"x-decorator":"FormItem","x-component":"Select",enum:"{{dataSource}}"},metric:{required:!0,type:"string",title:'{{t("Branch Length/Metrics",{ns:"charts"})}}',"x-decorator":"FormItem","x-component":"Select",enum:"{{dataSource}}"},jsonConfig:{type:"void","x-component":"div",properties:{template:{required:!0,title:'{{t("JSON config",{ns:"charts"})}}',type:"string",default:V.stringify(Nu,null,2),"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{autoSize:{minRows:8,maxRows:16}},description:'{{jsonConfigDesc("Radar | G2Plot","https://g2plot.antv.antgroup.com/api/plots/radar")}}',"x-validator":{json5:!0}}}}}}},qu={xField:"{{dimension}}",yField:"{{metric}}",seriesField:"{{category}}",legend:!1},Ee={description:"1 「Unordered Noun」 field, 1 「Numeric」 field",type:"Funnel",title:"Funnel",iconId:"icon-funnel",group:1,renderComponent:"G2Plot",defaultChartOptions:qu,configurableProperties:{type:"void",properties:{dimension:{required:!0,type:"string",title:'{{t("Sector label / Dimensional",{ns:"charts"})}}',"x-decorator":"FormItem","x-component":"Select",enum:"{{dataSource}}"},metric:{required:!0,type:"string",title:'{{t("Funnel Layer Width/Metrics",{ns:"charts"})}}',"x-decorator":"FormItem","x-component":"Select",enum:"{{dataSource}}"},category:{type:"string",title:'{{t("Color legend / Dimensional",{ns:"charts"})}}',"x-decorator":"FormItem","x-component":"Select",enum:"{{dataSource}}"},jsonConfig:{type:"void","x-component":"div",properties:{template:{required:!0,title:'{{t("JSON config",{ns:"charts"})}}',type:"string",default:V.stringify(qu,null,2),"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{autoSize:{minRows:8,maxRows:16}},description:'{{jsonConfigDesc("Funnel | G2Plot","https://g2plot.antv.antgroup.com/api/plots/funnel")}}',"x-validator":{json5:!0}}}}}}},j=new Map;j.set("Pie",ce),j.set("Line",Ce),j.set("Area",de),j.set("Bar",le),j.set("Column",pe),j.set("Scatter",Fe),j.set("Radar",Ae),j.set("Funnel",Ee);const Ou=I.observer(e=>{const t=I.useForm();I.useField();const[n,i]=B.useState(new I.Schema({})),[c,D]=B.useState(t.values.type);return B.useEffect(()=>{var a,d;if(D((a=t==null?void 0:t.values)==null?void 0:a.type),c!==((d=t==null?void 0:t.values)==null?void 0:d.type)&&t.clearFormGraph("options.*"),t.values.type){const s=j.get(t.values.type);i(new I.Schema(s.configurableProperties||{}))}},[t.values.type]),u.jsx(I.RecursionField,{schema:n})},{displayName:"Options"}),me=e=>{const{insert:t}=e,n=B.useContext(I.SchemaOptionsContext),i=o.useAPIClient(),c=o.useCompile(),{theme:D}=o.useGlobalTheme();return u.jsx(ae,W(b({},e),{componentType:"Charts",onCreateBlockSchema:d=>J(this,[d],function*({item:a}){const s=a==null?void 0:a.fields.map(x=>({label:x.name,value:x.name})),h=yield o.FormDialog({okText:c('{{t("Submit")}}'),title:m("Create chart block"),width:1200,bodyStyle:{background:"var(--nb-box-bg)",maxHeight:"65vh",overflow:"auto"}},function(){var N,l;const M=I.useForm(),[z,Q]=B.useState(null);return B.useEffect(()=>{const p={query:{id:a==null?void 0:a.id},chart:M.values};Q(p)},[M.values.type]),u.jsx(o.APIClientProvider,{apiClient:i,children:u.jsx(o.SchemaComponentOptions,{scope:n.scope,components:b({},n.components),children:u.jsxs("section",{className:o.css`
2039
15
  display: flex;
2040
16
  gap: 24px;
2041
- `,
2042
- children: [
2043
- /* @__PURE__ */ jsxRuntimeExports.jsx(
2044
- antd.Card,
2045
- {
2046
- title: lang("Chart config"),
2047
- size: "default",
2048
- className: client.css`
17
+ `,children:[u.jsx(P.Card,{title:m("Chart config"),size:"default",className:o.css`
2049
18
  flex: 1;
2050
- `,
2051
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(client.FormProvider, { form, children: /* @__PURE__ */ jsxRuntimeExports.jsx(antdV5.FormLayout, { layout: "vertical", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
2052
- client.SchemaComponent,
2053
- {
2054
- scope: { dataSource, JSON5: lib, jsonConfigDesc },
2055
- components: { Options },
2056
- schema: {
2057
- properties: {
2058
- // title: {
2059
- // title: lang('Chart title'),
2060
- // 'x-component': 'Input',
2061
- // 'x-decorator': 'FormItem',
2062
- // },
2063
- type: {
2064
- title: lang("Chart type"),
2065
- required: true,
2066
- "x-component": "CustomSelect",
2067
- "x-decorator": "FormItem",
2068
- enum: [...templates.values()].map((template) => {
2069
- return {
2070
- title: template.title,
2071
- key: template.type,
2072
- description: template.description,
2073
- group: template.group,
2074
- iconId: template.iconId
2075
- };
2076
- })
2077
- },
2078
- options: {
2079
- type: "void",
2080
- "x-component": "Options"
2081
- }
2082
- }
2083
- }
2084
- }
2085
- ) }) })
2086
- }
2087
- ),
2088
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
2089
- "div",
2090
- {
2091
- className: client.css`
19
+ `,children:u.jsx(o.FormProvider,{form:M,children:u.jsx(eu.FormLayout,{layout:"vertical",children:u.jsx(o.SchemaComponent,{scope:{dataSource:s,JSON5:V,jsonConfigDesc:zu},components:{Options:Ou},schema:{properties:{type:{title:m("Chart type"),required:!0,"x-component":"CustomSelect","x-decorator":"FormItem",enum:[...j.values()].map(p=>({title:p.title,key:p.type,description:p.description,group:p.group,iconId:p.iconId}))},options:{type:"void","x-component":"Options"}}}})})})}),u.jsxs("div",{className:o.css`
2092
20
  flex: 1;
2093
21
  min-width: 600px;
2094
- `,
2095
- children: [
2096
- /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Card, { size: "default", title: lang("Chart preview"), children: chartBlockEngineMetaData && /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
2097
- client.SchemaComponent,
2098
- {
2099
- schema: {
2100
- properties: {
2101
- chartPreview: {
2102
- type: "void",
2103
- "x-decorator": "CardItem",
2104
- "x-component": "ChartBlockEngine",
2105
- "x-component-props": {
2106
- chartBlockEngineMetaData
2107
- }
2108
- }
2109
- }
2110
- }
2111
- }
2112
- ) }) }),
2113
- /* @__PURE__ */ jsxRuntimeExports.jsx(
2114
- antd.Card,
2115
- {
2116
- size: "default",
2117
- title: lang("Data preview"),
2118
- className: client.css`
22
+ `,children:[u.jsx(P.Card,{size:"default",title:m("Chart preview"),children:z&&u.jsx(u.Fragment,{children:u.jsx(o.SchemaComponent,{schema:{properties:{chartPreview:{type:"void","x-decorator":"CardItem","x-component":"ChartBlockEngine","x-component-props":{chartBlockEngineMetaData:z}}}}})})}),u.jsx(P.Card,{size:"default",title:m("Data preview"),className:o.css`
2119
23
  margin-top: 24px;
2120
24
  overflow: scroll;
2121
- `,
2122
- children: ((_a = chartBlockEngineMetaData == null ? void 0 : chartBlockEngineMetaData.query) == null ? void 0 : _a.id) && /* @__PURE__ */ jsxRuntimeExports.jsx(
2123
- DataSetPreviewTable,
2124
- {
2125
- queryId: (_b = chartBlockEngineMetaData == null ? void 0 : chartBlockEngineMetaData.query) == null ? void 0 : _b.id,
2126
- fields: chartQueryMetadata == null ? void 0 : chartQueryMetadata.fields
2127
- }
2128
- )
2129
- }
2130
- )
2131
- ]
2132
- }
2133
- )
2134
- ]
2135
- }
2136
- ) }) });
2137
- },
2138
- theme
2139
- ).open({
2140
- initialValues: {}
2141
- });
2142
- if (values) {
2143
- const chartBlockEngineMetaData = {
2144
- query: {
2145
- id: chartQueryMetadata.id
2146
- },
2147
- chart: values
2148
- };
2149
- insert({
2150
- type: "void",
2151
- title: values == null ? void 0 : values.title,
2152
- "x-designer": "ChartBlockEngine.Designer",
2153
- "x-decorator": "CardItem",
2154
- "x-component": "ChartBlockEngine",
2155
- "x-component-props": {
2156
- chartBlockEngineMetaData
2157
- }
2158
- });
2159
- }
2160
- }
2161
- }
2162
- );
2163
- };
2164
- const useFieldsById = (queryId) => {
2165
- const [fields, setFields] = require$$0.useState([]);
2166
- const ctx = useChartQueryMetadataContext();
2167
- require$$0.useEffect(() => {
2168
- const chartQueryList = ctx == null ? void 0 : ctx.data;
2169
- if (chartQueryList && Array.isArray(chartQueryList)) {
2170
- const currentQuery = chartQueryList.find((chartQuery) => chartQuery.id === queryId);
2171
- setFields((currentQuery == null ? void 0 : currentQuery.fields) || []);
2172
- }
2173
- }, [queryId]);
2174
- return {
2175
- fields
2176
- };
2177
- };
2178
- const jsonConfigDesc = (title, link) => {
2179
- return /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { children: [
2180
- lang("Json config references: "),
2181
- /* @__PURE__ */ jsxRuntimeExports.jsx("a", { href: link, target: "_blank", rel: "noreferrer", children: lang(title) })
2182
- ] });
2183
- };
2184
- const ChartBlockEngineDesigner = () => {
2185
- const fieldSchema = react.useFieldSchema();
2186
- const { chartBlockEngineMetaData } = fieldSchema == null ? void 0 : fieldSchema["x-component-props"];
2187
- return /* @__PURE__ */ jsxRuntimeExports.jsxs(client.GeneralSchemaDesigner, { children: [
2188
- /* @__PURE__ */ jsxRuntimeExports.jsx(ChartBlockEngineDesignerInitializer, { chartBlockEngineMetaData }),
2189
- /* @__PURE__ */ jsxRuntimeExports.jsx(client.SchemaSettings.Divider, {}),
2190
- /* @__PURE__ */ jsxRuntimeExports.jsx(
2191
- client.SchemaSettings.Remove,
2192
- {
2193
- removeParentsIfNoChildren: true,
2194
- breakRemoveOn: {
2195
- "x-component": "Grid"
2196
- }
2197
- }
2198
- )
2199
- ] });
2200
- };
2201
- const ChartBlockEngineDesignerInitializer = (props) => {
2202
- const { chartBlockEngineMetaData } = props;
2203
- const { t } = reactI18next.useTranslation();
2204
- const options = require$$0.useContext(react.SchemaOptionsContext);
2205
- const { dn } = client.useDesignable();
2206
- const fieldSchema = react.useFieldSchema();
2207
- const api2 = client.useAPIClient();
2208
- const field = react.useField();
2209
- const compile = client.useCompile();
2210
- const { chart, query } = chartBlockEngineMetaData;
2211
- const { fields } = useFieldsById(query.id);
2212
- const { theme } = client.useGlobalTheme();
2213
- const dataSource = fields.map((field2) => {
2214
- return {
2215
- label: field2.name,
2216
- value: field2.name
2217
- };
2218
- });
2219
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
2220
- client.SchemaSettings.Item,
2221
- {
2222
- onClick: async () => {
2223
- client.FormDialog(
2224
- {
2225
- okText: compile('{{t("Submit")}}'),
2226
- title: lang("Edit chart block"),
2227
- width: 1200,
2228
- bodyStyle: { background: "var(--nb-box-bg)", maxHeight: "65vh", overflow: "auto" }
2229
- },
2230
- function Com(form) {
2231
- var _a, _b;
2232
- const [chartBlockEngineMetaData2, setChartBlockEngineMetaData] = require$$0.useState(null);
2233
- require$$0.useEffect(() => {
2234
- const chartBlockEngineMetaData3 = {
2235
- query: {
2236
- id: query == null ? void 0 : query.id
2237
- },
2238
- chart: form.values
2239
- //TODO
2240
- };
2241
- setChartBlockEngineMetaData(chartBlockEngineMetaData3);
2242
- }, [form.values.type]);
2243
- return /* @__PURE__ */ jsxRuntimeExports.jsx(client.APIClientProvider, { apiClient: api2, children: /* @__PURE__ */ jsxRuntimeExports.jsx(client.SchemaComponentOptions, { scope: options.scope, components: { ...options.components }, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
2244
- "section",
2245
- {
2246
- className: client.css`
25
+ `,children:((N=z==null?void 0:z.query)==null?void 0:N.id)&&u.jsx(Eu,{queryId:(l=z==null?void 0:z.query)==null?void 0:l.id,fields:a==null?void 0:a.fields})})]})]})})})},D).open({initialValues:{}});if(h){const x={query:{id:a.id},chart:h};t({type:"void",title:h==null?void 0:h.title,"x-designer":"ChartBlockEngine.Designer","x-decorator":"CardItem","x-component":"ChartBlockEngine","x-component-props":{chartBlockEngineMetaData:x}})}})}))},fe=e=>{const[t,n]=B.useState([]),i=uu();return B.useEffect(()=>{const c=i==null?void 0:i.data;if(c&&Array.isArray(c)){const D=c.find(a=>a.id===e);n((D==null?void 0:D.fields)||[])}},[e]),{fields:t}},zu=(e,t)=>u.jsxs("span",{children:[m("Json config references: "),u.jsx("a",{href:t,target:"_blank",rel:"noreferrer",children:m(e)})]}),he=()=>{const e=I.useFieldSchema(),{chartBlockEngineMetaData:t}=e==null?void 0:e["x-component-props"];return u.jsxs(o.GeneralSchemaDesigner,{children:[u.jsx(Be,{chartBlockEngineMetaData:t}),u.jsx(o.SchemaSettings.Divider,{}),u.jsx(o.SchemaSettings.Remove,{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}})]})},Be=e=>{const{chartBlockEngineMetaData:t}=e,{t:n}=R.useTranslation(),i=B.useContext(I.SchemaOptionsContext),{dn:c}=o.useDesignable(),D=I.useFieldSchema(),a=o.useAPIClient(),d=I.useField(),s=o.useCompile(),{chart:h,query:x}=t,{fields:M}=fe(x.id),{theme:z}=o.useGlobalTheme(),Q=M.map(N=>({label:N.name,value:N.name}));return u.jsx(o.SchemaSettings.Item,{onClick:()=>J(this,null,function*(){o.FormDialog({okText:s('{{t("Submit")}}'),title:m("Edit chart block"),width:1200,bodyStyle:{background:"var(--nb-box-bg)",maxHeight:"65vh",overflow:"auto"}},function(l){var y,O;const[p,C]=B.useState(null);return B.useEffect(()=>{const g={query:{id:x==null?void 0:x.id},chart:l.values};C(g)},[l.values.type]),u.jsx(o.APIClientProvider,{apiClient:a,children:u.jsx(o.SchemaComponentOptions,{scope:i.scope,components:b({},i.components),children:u.jsxs("section",{className:o.css`
2247
26
  display: flex;
2248
27
  gap: 24px;
2249
- `,
2250
- children: [
2251
- /* @__PURE__ */ jsxRuntimeExports.jsx(
2252
- antd.Card,
2253
- {
2254
- bordered: false,
2255
- title: client.i18n.t("Chart config"),
2256
- size: "default",
2257
- className: client.css`
28
+ `,children:[u.jsx(P.Card,{bordered:!1,title:o.i18n.t("Chart config"),size:"default",className:o.css`
2258
29
  flex: 1;
2259
- `,
2260
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(antdV5.FormLayout, { layout: "vertical", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
2261
- client.SchemaComponent,
2262
- {
2263
- scope: { dataSource, JSON5: lib, jsonConfigDesc },
2264
- components: { Options },
2265
- schema: {
2266
- properties: {
2267
- // title: {
2268
- // title: lang('Chart title'),
2269
- // 'x-component': 'Input',
2270
- // 'x-decorator': 'FormItem',
2271
- // },
2272
- type: {
2273
- title: t("Chart type"),
2274
- required: true,
2275
- "x-component": "CustomSelect",
2276
- "x-decorator": "FormItem",
2277
- enum: [...templates.values()].map((template) => {
2278
- return {
2279
- title: template.title,
2280
- key: template.type,
2281
- description: template.description,
2282
- group: template.group,
2283
- iconId: template.iconId
2284
- };
2285
- })
2286
- },
2287
- options: {
2288
- type: "void",
2289
- "x-component": "Options"
2290
- }
2291
- }
2292
- }
2293
- }
2294
- ) })
2295
- }
2296
- ),
2297
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
2298
- "div",
2299
- {
2300
- className: client.css`
30
+ `,children:u.jsx(eu.FormLayout,{layout:"vertical",children:u.jsx(o.SchemaComponent,{scope:{dataSource:Q,JSON5:V,jsonConfigDesc:zu},components:{Options:Ou},schema:{properties:{type:{title:n("Chart type"),required:!0,"x-component":"CustomSelect","x-decorator":"FormItem",enum:[...j.values()].map(g=>({title:g.title,key:g.type,description:g.description,group:g.group,iconId:g.iconId}))},options:{type:"void","x-component":"Options"}}}})})}),u.jsxs("div",{className:o.css`
2301
31
  flex: 1;
2302
32
  min-width: 600px;
2303
- `,
2304
- children: [
2305
- /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Card, { size: "default", title: lang("Chart preview"), children: chartBlockEngineMetaData2 && /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
2306
- client.SchemaComponent,
2307
- {
2308
- schema: {
2309
- properties: {
2310
- chartPreview: {
2311
- type: "void",
2312
- "x-decorator": "CardItem",
2313
- "x-component": "ChartBlockEngine",
2314
- "x-component-props": {
2315
- chartBlockEngineMetaData: chartBlockEngineMetaData2
2316
- }
2317
- }
2318
- }
2319
- }
2320
- }
2321
- ) }) }),
2322
- /* @__PURE__ */ jsxRuntimeExports.jsx(
2323
- antd.Card,
2324
- {
2325
- size: "default",
2326
- title: lang("Data preview"),
2327
- className: client.css`
33
+ `,children:[u.jsx(P.Card,{size:"default",title:m("Chart preview"),children:p&&u.jsx(u.Fragment,{children:u.jsx(o.SchemaComponent,{schema:{properties:{chartPreview:{type:"void","x-decorator":"CardItem","x-component":"ChartBlockEngine","x-component-props":{chartBlockEngineMetaData:p}}}}})})}),u.jsx(P.Card,{size:"default",title:m("Data preview"),className:o.css`
2328
34
  margin-top: 24px;
2329
35
  overflow: scroll;
2330
- `,
2331
- children: ((_a = chartBlockEngineMetaData2 == null ? void 0 : chartBlockEngineMetaData2.query) == null ? void 0 : _a.id) && /* @__PURE__ */ jsxRuntimeExports.jsx(DataSetPreviewTable, { queryId: (_b = chartBlockEngineMetaData2 == null ? void 0 : chartBlockEngineMetaData2.query) == null ? void 0 : _b.id, fields })
2332
- }
2333
- )
2334
- ]
2335
- }
2336
- )
2337
- ]
2338
- }
2339
- ) }) });
2340
- },
2341
- theme
2342
- ).open({
2343
- initialValues: { ...chart }
2344
- //reset before chartBlockMetaData
2345
- }).then((values) => {
2346
- values = {
2347
- query,
2348
- chart: values
2349
- };
2350
- field.title = values.chart.title;
2351
- fieldSchema["title"] = values.chart.title;
2352
- field.componentProps.chartBlockEngineMetaData = values;
2353
- fieldSchema["x-component-props"].chartBlockEngineMetaData = values;
2354
- dn.emit("patch", {
2355
- schema: {
2356
- "x-uid": fieldSchema["x-uid"],
2357
- "x-component-props": fieldSchema["x-component-props"]
2358
- }
2359
- });
2360
- dn.refresh();
2361
- }).catch((err) => {
2362
- client$1.error(err);
2363
- });
2364
- },
2365
- children: props.children || props.title || lang("Edit chart block")
2366
- }
2367
- );
2368
- };
2369
- const chartRenderComponentsMap = /* @__PURE__ */ new Map();
2370
- chartRenderComponentsMap.set("G2Plot", client.G2Plot);
2371
- chartRenderComponentsMap.set("DataSetPreviewTable", DataSetPreviewTable);
2372
- const ChartRenderComponent = ({
2373
- chartBlockEngineMetaData
2374
- }) => {
2375
- var _a, _b;
2376
- const compile = client.useCompile();
2377
- const chartType = chartBlockEngineMetaData.chart.type;
2378
- const renderComponent = (_a = templates.get(chartType)) == null ? void 0 : _a.renderComponent;
2379
- const RenderComponent = chartRenderComponentsMap.get(renderComponent);
2380
- const chartConfig2 = chartBlockEngineMetaData.chart;
2381
- const { loading, dataSet, error } = useGetDataSet(chartBlockEngineMetaData.query.id);
2382
- const [currentConfig, setCurrentConfig] = require$$0.useState({});
2383
- require$$0.useEffect(() => {
2384
- setCurrentConfig(chartConfig2);
2385
- }, [JSON.stringify(chartConfig2)]);
2386
- if (error) {
2387
- return /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Empty, { description: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: `May be this chart block's query data has been deleted,please check!` }) }) });
2388
- }
2389
- if (currentConfig.type !== chartConfig2.type) {
2390
- return /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, {});
2391
- }
2392
- switch (renderComponent) {
2393
- case "G2Plot": {
2394
- const finalChartOptions = (_b = templates.get(chartType)) == null ? void 0 : _b.defaultChartOptions;
2395
- let template;
2396
- try {
2397
- template = lib.parse(chartConfig2 == null ? void 0 : chartConfig2.template);
2398
- } catch (e) {
2399
- template = {};
2400
- }
2401
- const config = compile(
2402
- {
2403
- ...finalChartOptions,
2404
- ...template,
2405
- data: dataSet
2406
- },
2407
- { ...chartConfig2, category: (chartConfig2 == null ? void 0 : chartConfig2.category) ?? "" }
2408
- );
2409
- if (config && chartConfig2) {
2410
- const { dimension, metric, category } = chartConfig2;
2411
- if (!metric || !dimension) {
2412
- return /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: lang("Please check the chart config") });
2413
- }
2414
- }
2415
- return /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: loading ? /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Spin, {}) : /* @__PURE__ */ jsxRuntimeExports.jsx(RenderComponent, { plot: chartConfig2.type, config }) });
2416
- }
2417
- }
2418
- return /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, {});
2419
- };
2420
- const useGetDataSet = (chartQueryId) => {
2421
- const { data, loading, error } = client.useRequest({
2422
- url: `/chartsQueries:getData/${chartQueryId}`
2423
- });
2424
- const dataSet = data == null ? void 0 : data.data;
2425
- return {
2426
- loading,
2427
- dataSet,
2428
- error
2429
- };
2430
- };
2431
- const ChartBlockEngine = ({ chartBlockEngineMetaData }) => {
2432
- var _a, _b;
2433
- let renderComponent;
2434
- const chartType = (_a = chartBlockEngineMetaData == null ? void 0 : chartBlockEngineMetaData.chart) == null ? void 0 : _a.type;
2435
- if (chartType) {
2436
- renderComponent = (_b = templates.get(chartType)) == null ? void 0 : _b.renderComponent;
2437
- }
2438
- if (!chartType || !renderComponent) {
2439
- return /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: lang("Please check the chart config") });
2440
- }
2441
- return /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(ChartRenderComponent, { chartBlockEngineMetaData }) });
2442
- };
2443
- ChartBlockEngine.Designer = ChartBlockEngineDesigner;
2444
- const RadarChart = () => /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { width: "1em", height: "1em", fill: "currentColor", "aria-hidden": "true", focusable: "false", viewBox: "0 0 1024 1024", children: [
2445
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M523 573.5c-3.9 0.7-7.9 1.1-12 1.1-5.3 0-10.4-0.6-15.2-1.8l-62.2 189.7 167.4-76L523 573.5z" }),
2446
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M398.3 767.3l68.9-210.1c-6.4-6-11.5-13.3-15-21.4l-192.6 52.7L398.3 767.3z" }),
2447
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M528 448.9c4.1 1.1 8 2.6 11.7 4.5l72.5-61.8L528 263.7 528 448.9z" }),
2448
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M259.6 555.4 447.3 504c0.4-4.2 1.3-8.3 2.5-12.2L270.9 373.4 259.6 555.4z" }),
2449
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M655.5 396.7l208.3 185.7 30.2 4.8c4.8-24.6 7.4-49.9 7.4-75.9 0-95.9-34.6-183.7-92-251.6L655.5 396.7z" }),
2450
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M794.4 563.4 630.9 417.7l-67 57.1c5.6 8.3 9.3 18 10.6 28.4L794.4 563.4z" }),
2451
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M496 448.4 496 239.6l-218.8 99.6 189.4 125.4C474.7 456.8 484.8 451.1 496 448.4z" }),
2452
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M619.3 713.3 420 803.8l-19.1 81.6c35 10.3 72.1 15.9 110.4 15.9 74.4 0 143.9-20.8 203-56.9L619.3 713.3z" }),
2453
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M648.7 699.5l92.3 127.2c63.3-46.2 112.2-111 138.6-186.4L648.7 699.5z" }),
2454
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M386.2 804 226.1 597.7l-87.9 27.4c34.9 114.7 121.3 207 232.2 250L386.2 804z" }),
2455
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M226.9 564.3 240.2 353l-64.4-40.5c-34.6 58.2-54.4 126.2-54.4 198.8 0 28.4 3 56.2 8.8 82.9L226.9 564.3z" }),
2456
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M842.8 609.8l-272.7-74.7c-4 9.5-10.1 17.9-17.9 24.4l77.3 112.1L842.8 609.8z" }),
2457
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M528 205.4l108.8 165.2 151-134.5c-67-67.3-158.4-110.2-259.7-114.5L528.1 205.4z" }),
2458
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M245.7 318.4l250.3-114 0-82.8c-125 4.8-234.8 68.5-302.8 164L245.7 318.4z" })
2459
- ] });
2460
- const FunnelChart = () => /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { width: "1em", height: "1em", fill: "currentColor", "aria-hidden": "true", focusable: "false", viewBox: "0 0 1024 1024", children: [
2461
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M533.6 784.5c6.6 16.4-1.3 35-17.6 41.7l0 0c-16.4 6.6-35-1.3-41.7-17.6L129.9 236c-6.6-16.4 1.3-35 17.6-41.7l0 0c16.4-6.6 35 1.3 41.7 17.6L533.6 784.5z" }),
2462
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M536 812.2c-6.9 16.3-25.7 23.9-41.9 17l0 0c-16.3-6.9-23.9-25.7-17-41.9l357.6-575.7c6.9-16.3 25.7-23.9 41.9-17l0 0c16.3 6.9 23.9 25.7 17 41.9L536 812.2z" }),
2463
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M895.4 224c0 17.7-14.3 32-32 32l-704 0c-17.7 0-32-14.3-32-32l0 0c0-17.7 14.3-32 32-32l704 0C881 192 895.4 206.3 895.4 224L895.4 224z" }),
2464
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M278.6 384l465 0 0 64-465 0 0-64Z" }),
2465
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M391.6 576l232.5 0 0 64-232.5 0 0-64Z" })
2466
- ] });
2467
- const ScatterChart = () => /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { width: "1em", height: "1em", fill: "currentColor", "aria-hidden": "true", focusable: "false", viewBox: "0 0 1024 1024", children: [
2468
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M191 864c0 17.7-14.3 32-32 32l0 0c-17.7 0-32-14.3-32-32L127 160c0-17.7 14.3-32 32-32l0 0c17.7 0 32 14.3 32 32L191 864z" }),
2469
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M159 896c-17.7 0-32-14.3-32-32l0 0c0-17.7 14.3-32 32-32l712 0c17.7 0 32 14.3 32 32l0 0c0 17.7-14.3 32-32 32L159 896z" }),
2470
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M745.6 765.9" }),
2471
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M307.6 244.3m-48 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0Z" }),
2472
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M560 479.2m-48 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0Z" }),
2473
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M391.9 387.7m-48 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0Z" }),
2474
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M540.4 244.3m-48 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0Z" }),
2475
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M732.9 292.3m-48 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0Z" }),
2476
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M792.9 717.9m-48 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0Z" }),
2477
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M307.6 527.2m-48 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0Z" }),
2478
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M439.9 662.4m-48 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0Z" })
2479
- ] });
2480
- const ColumnChart = () => /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { width: "1em", height: "1em", fill: "currentColor", "aria-hidden": "true", focusable: "false", viewBox: "0 0 1024 1024", children: [
2481
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M191 864c0 17.7-14.3 32-32 32l0 0c-17.7 0-32-14.3-32-32L127 160c0-17.7 14.3-32 32-32l0 0c17.7 0 32 14.3 32 32L191 864z" }),
2482
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M159 896c-17.7 0-32-14.3-32-32l0 0c0-17.7 14.3-32 32-32l712 0c17.7 0 32 14.3 32 32l0 0c0 17.7-14.3 32-32 32L159 896z" }),
2483
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M745.6 765.9" }),
2484
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M342.1 734.3c0 17.5-14.2 31.7-31.7 31.7l0 0c-17.5 0-31.7-14.2-31.7-31.7L278.7 489c0-17.5 14.2-31.7 31.7-31.7l0 0c17.5 0 31.7 14.2 31.7 31.7L342.1 734.3z" }),
2485
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M493.8 734.3c0 17.5-14.2 31.7-31.7 31.7l0 0c-17.5 0-31.7-14.2-31.7-31.7L430.4 387c0-17.5 14.2-31.7 31.7-31.7l0 0c17.5 0 31.7 14.2 31.7 31.7L493.8 734.3z" }),
2486
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M797.3 734.3c0 17.5-14.2 31.7-31.7 31.7l0 0c-17.5 0-31.7-14.2-31.7-31.7L733.9 234.5c0-17.5 14.2-31.7 31.7-31.7l0 0c17.5 0 31.7 14.2 31.7 31.7L797.3 734.3z" }),
2487
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M645.5 734.3c0 17.5-14.2 31.7-31.7 31.7l0 0c-17.5 0-31.7-14.2-31.7-31.7l0-97.2c0-17.5 14.2-31.7 31.7-31.7l0 0c17.5 0 31.7 14.2 31.7 31.7L645.5 734.3z" })
2488
- ] });
2489
- const BarChart = () => /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { width: "1em", height: "1em", fill: "currentColor", "aria-hidden": "true", focusable: "false", viewBox: "0 0 1024 1024", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M131.072 156.16c0-17.92 14.336-31.744 31.744-31.744 17.92 0 31.744 14.336 31.744 31.744v712.192c0 17.92-14.336 31.744-31.744 31.744-17.92 0-31.744-14.336-31.744-31.744V156.16zM292.864 338.944c-17.408 0-31.744-14.336-31.744-31.744 0-17.408 14.336-31.744 31.744-31.744h245.248c17.408 0 31.744 14.336 31.744 31.744 0 17.408-14.336 31.744-31.744 31.744h-245.248zM292.864 490.496c-17.408 0-31.744-14.336-31.744-31.744 0-17.408 14.336-31.744 31.744-31.744H640c17.408 0 31.744 14.336 31.744 31.744 0 17.408-14.336 31.744-31.744 31.744h-347.136zM292.864 794.112c-17.408 0-31.744-14.336-31.744-31.744 0-17.408 14.336-31.744 31.744-31.744h499.712c17.408 0 31.744 14.336 31.744 31.744 0 17.408-14.336 31.744-31.744 31.744h-499.712zM292.864 642.56c-17.408 0-31.744-14.336-31.744-31.744 0-17.408 14.336-31.744 31.744-31.744h97.28c17.408 0 31.744 14.336 31.744 31.744 0 17.408-14.336 31.744-31.744 31.744h-97.28z" }) });
2490
- const LineChart = () => /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { width: "1em", height: "1em", fill: "currentColor", "aria-hidden": "true", focusable: "false", viewBox: "0 0 1024 1024", children: [
2491
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M191 864c0 17.7-14.3 32-32 32l0 0c-17.7 0-32-14.3-32-32L127 160c0-17.7 14.3-32 32-32l0 0c17.7 0 32 14.3 32 32L191 864z" }),
2492
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M159 896c-17.7 0-32-14.3-32-32l0 0c0-17.7 14.3-32 32-32l712 0c17.7 0 32 14.3 32 32l0 0c0 17.7-14.3 32-32 32L159 896z" }),
2493
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M307.1 686.3c-12.4 12.4-32.4 12.4-44.8 0l0 0c-12.4-12.4-12.4-32.4 0-44.8l173.4-173.4c12.4-12.4 32.4-12.4 44.8 0l0 0c12.4 12.4 12.4 32.4 0 44.8L307.1 686.3z" }),
2494
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M608.8 640c-12.4 12.4-32.4 12.4-44.8 0l0 0c-12.4-12.4-12.4-32.4 0-44.8l212.7-212.7c12.4-12.4 32.4-12.4 44.8 0l0 0c12.4 12.4 12.4 32.4 0 44.8L608.8 640z" }),
2495
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M608 595.3c12.4 12.4 12.4 32.4 0 44.8l0 0c-12.4 12.4-32.4 12.4-44.8 0L436 512.8c-12.4-12.4-12.4-32.4 0-44.8l0 0c12.4-12.4 32.4-12.4 44.8 0L608 595.3z" })
2496
- ] });
2497
- const PieChart = () => /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { width: "1em", height: "1em", fill: "currentColor", "aria-hidden": "true", focusable: "false", viewBox: "0 0 1024 1024", children: [
2498
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M489.7 511 489 511 489 126.9c-201 12.3-360.1 179.2-360.1 383.3 0 212.1 171.9 384 384 384 106.5 0 202.9-43.4 272.5-113.4L489.7 511z" }),
2499
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M773.1 237.2l6-6c-62.7-59.6-143.5-95.8-228.2-104l0 304.7L773.1 237.2z" }),
2500
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M819.5 281.6 564.1 505.1 822 739c3-4 5.9-8.1 8.7-12.3 41.4-61.3 65.6-135.2 65.6-214.7C896.3 425.6 867.7 345.8 819.5 281.6z" })
2501
- ] });
2502
- const AreaChart = () => /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { width: "1em", height: "1em", fill: "currentColor", "aria-hidden": "true", focusable: "false", viewBox: "0 0 1024 1024", children: [
2503
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M191 864c0 17.7-14.3 32-32 32l0 0c-17.7 0-32-14.3-32-32L127 160c0-17.7 14.3-32 32-32l0 0c17.7 0 32 14.3 32 32L191 864z" }),
2504
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M159 896c-17.7 0-32-14.3-32-32l0 0c0-17.7 14.3-32 32-32l712 0c17.7 0 32 14.3 32 32l0 0c0 17.7-14.3 32-32 32L159 896z" }),
2505
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M830.6 338.2 830.6 338.2c0.9-9.2-2.1-18.6-9.1-25.7-12.4-12.4-32.4-12.4-44.8 0L586 503.3 480.8 398.1c-6.2-6.2-14.4-9.3-22.5-9.3-8.1 0-16.3 3.1-22.5 9.3L262.4 571.5c-6 6-9.1 13.8-9.3 21.6 0 0.1 0 0.1 0 0.2l0 111.8c0 35.3 28.7 64 64 64l449.7 0c33.8 0 61.4-26.1 63.8-59.3l0 0 0-0.2c0.1-1.5 0.2-3 0.2-4.5L830.8 593.3c0-0.3-0.1-0.7-0.2-1L830.6 338.2z" })
2506
- ] });
2507
- client.Icon.register({
2508
- "icon-area": (props) => /* @__PURE__ */ jsxRuntimeExports.jsx(client.Icon, { component: AreaChart, ...props }),
2509
- "icon-pie": (props) => /* @__PURE__ */ jsxRuntimeExports.jsx(client.Icon, { component: PieChart, ...props }),
2510
- "icon-radar": (props) => /* @__PURE__ */ jsxRuntimeExports.jsx(client.Icon, { component: RadarChart, ...props }),
2511
- "icon-funnel": (props) => /* @__PURE__ */ jsxRuntimeExports.jsx(client.Icon, { component: FunnelChart, ...props }),
2512
- "icon-line": (props) => /* @__PURE__ */ jsxRuntimeExports.jsx(client.Icon, { component: LineChart, ...props }),
2513
- "icon-bar": (props) => /* @__PURE__ */ jsxRuntimeExports.jsx(client.Icon, { component: BarChart, ...props }),
2514
- "icon-column": (props) => /* @__PURE__ */ jsxRuntimeExports.jsx(client.Icon, { component: ColumnChart, ...props }),
2515
- "icon-scatter": (props) => /* @__PURE__ */ jsxRuntimeExports.jsx(client.Icon, { component: ScatterChart, ...props })
2516
- });
2517
- const defaultFieldNames = {
2518
- label: "label",
2519
- value: "value",
2520
- color: "color",
2521
- options: "children"
2522
- };
2523
- const getCurrentOptions = (values, dataSource, fieldNames) => {
2524
- function flatData(data) {
2525
- const newArr = [];
2526
- for (let i = 0; i < data.length; i++) {
2527
- const children = data[i][fieldNames.options];
2528
- if (Array.isArray(children)) {
2529
- newArr.push(...flatData(children));
2530
- }
2531
- newArr.push({ ...data[i] });
2532
- }
2533
- return newArr;
2534
- }
2535
- const result = flatData(dataSource);
2536
- values = lodash.castArray(values).filter((item) => item != null).map((val) => typeof val === "object" ? val[fieldNames.value] : val);
2537
- const findOptions = (options) => {
2538
- if (!options)
2539
- return [];
2540
- const current = [];
2541
- for (const value of values) {
2542
- const option = options.find((v) => v[fieldNames.value] === value) || { value, label: value };
2543
- current.push(option);
2544
- }
2545
- return current;
2546
- };
2547
- return findOptions(result);
2548
- };
2549
- const ReadPretty = react.observer(
2550
- (props) => {
2551
- var _a;
2552
- const fieldNames = { ...defaultFieldNames, ...props.fieldNames };
2553
- const field = react.useField();
2554
- const compile = client.useCompile();
2555
- if (!shared.isValid(props.value)) {
2556
- return /* @__PURE__ */ jsxRuntimeExports.jsx("div", {});
2557
- }
2558
- if (core.isArrayField(field) && ((_a = field == null ? void 0 : field.value) == null ? void 0 : _a.length) === 0) {
2559
- return /* @__PURE__ */ jsxRuntimeExports.jsx("div", {});
2560
- }
2561
- const dataSource = field.dataSource || props.options || [];
2562
- const options = getCurrentOptions(field.value, dataSource, fieldNames);
2563
- return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: options.map((option, key2) => /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Tag, { color: option[fieldNames.color], icon: option.icon, children: compile(option[fieldNames.label]) }, key2)) });
2564
- },
2565
- { displayName: "ReadPretty" }
2566
- );
2567
- const { Option, OptGroup } = antd.Select;
2568
- const filterOption = (input, option) => ((option == null ? void 0 : option.label) ?? "").toLowerCase().includes((input || "").toLowerCase());
2569
- const InternalSelect = react.connect(
2570
- (props) => {
2571
- const { ...others } = props;
2572
- const { options, ...othersProps } = { ...others };
2573
- const mode = props.mode || props.multiple ? "multiple" : void 0;
2574
- const group1 = options.filter((option) => option.group === 2);
2575
- const group2 = options.filter((option) => option.group === 1);
2576
- return /* @__PURE__ */ jsxRuntimeExports.jsxs(
2577
- antd.Select,
2578
- {
2579
- showSearch: true,
2580
- filterOption,
2581
- allowClear: true,
2582
- ...othersProps,
2583
- onChange: (changed) => {
2584
- var _a;
2585
- (_a = props.onChange) == null ? void 0 : _a.call(props, changed === void 0 ? null : changed);
2586
- },
2587
- mode,
2588
- children: [
2589
- /* @__PURE__ */ jsxRuntimeExports.jsx(OptGroup, { label: lang("Basic charts"), children: group1.map((option) => /* @__PURE__ */ jsxRuntimeExports.jsx(Option, { value: option.key, label: lang(option.title), children: /* @__PURE__ */ jsxRuntimeExports.jsx(
2590
- antd.Popover,
2591
- {
2592
- placement: "right",
2593
- zIndex: 99999999999,
2594
- content: () => {
2595
- var _a;
2596
- return /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: (_a = lang(option == null ? void 0 : option.description)) == null ? void 0 : _a.split(",").map((item) => /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: item })) });
2597
- },
2598
- trigger: "hover",
2599
- children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
2600
- "div",
2601
- {
2602
- className: client.css`
36
+ `,children:((y=p==null?void 0:p.query)==null?void 0:y.id)&&u.jsx(Eu,{queryId:(O=p==null?void 0:p.query)==null?void 0:O.id,fields:M})})]})]})})})},z).open({initialValues:b({},h)}).then(N=>{N={query:x,chart:N},d.title=N.chart.title,D.title=N.chart.title,d.componentProps.chartBlockEngineMetaData=N,D["x-component-props"].chartBlockEngineMetaData=N,c.emit("patch",{schema:{"x-uid":D["x-uid"],"x-component-props":D["x-component-props"]}}),c.refresh()}).catch(N=>{G.error(N)})}),children:e.children||e.title||m("Edit chart block")})},mu=new Map;mu.set("G2Plot",o.G2Plot),mu.set("DataSetPreviewTable",Eu);const ye=({chartBlockEngineMetaData:e})=>{var M,z,Q;const t=o.useCompile(),n=e.chart.type,i=(M=j.get(n))==null?void 0:M.renderComponent,c=mu.get(i),D=e.chart,{loading:a,dataSet:d,error:s}=Lu(e.query.id),[h,x]=B.useState({});if(B.useEffect(()=>{x(D)},[JSON.stringify(D)]),s)return u.jsx(u.Fragment,{children:u.jsx(P.Empty,{description:u.jsx("span",{children:"May be this chart block's query data has been deleted,please check!"})})});if(h.type!==D.type)return u.jsx(u.Fragment,{});switch(i){case"G2Plot":{const N=(z=j.get(n))==null?void 0:z.defaultChartOptions;let l;try{l=V.parse(D==null?void 0:D.template)}catch(C){l={}}const p=t(W(b(b({},N),l),{data:d}),W(b({},D),{category:(Q=D==null?void 0:D.category)!=null?Q:""}));if(p&&D){const{dimension:C,metric:y,category:O}=D;if(!y||!C)return u.jsx(u.Fragment,{children:m("Please check the chart config")})}return u.jsx(u.Fragment,{children:a?u.jsx(P.Spin,{}):u.jsx(c,{plot:D.type,config:p})})}}return u.jsx(u.Fragment,{})},Lu=e=>{const{data:t,loading:n,error:i}=o.useRequest({url:`/chartsQueries:getData/${e}`}),c=t==null?void 0:t.data;return{loading:n,dataSet:c,error:i}},ku=({chartBlockEngineMetaData:e})=>{var i,c;let t;const n=(i=e==null?void 0:e.chart)==null?void 0:i.type;return n&&(t=(c=j.get(n))==null?void 0:c.renderComponent),!n||!t?u.jsx(u.Fragment,{children:m("Please check the chart config")}):u.jsx(u.Fragment,{children:u.jsx(ye,{chartBlockEngineMetaData:e})})};ku.Designer=he;const ge=()=>u.jsxs("svg",{width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true",focusable:"false",viewBox:"0 0 1024 1024",children:[u.jsx("path",{d:"M523 573.5c-3.9 0.7-7.9 1.1-12 1.1-5.3 0-10.4-0.6-15.2-1.8l-62.2 189.7 167.4-76L523 573.5z"}),u.jsx("path",{d:"M398.3 767.3l68.9-210.1c-6.4-6-11.5-13.3-15-21.4l-192.6 52.7L398.3 767.3z"}),u.jsx("path",{d:"M528 448.9c4.1 1.1 8 2.6 11.7 4.5l72.5-61.8L528 263.7 528 448.9z"}),u.jsx("path",{d:"M259.6 555.4 447.3 504c0.4-4.2 1.3-8.3 2.5-12.2L270.9 373.4 259.6 555.4z"}),u.jsx("path",{d:"M655.5 396.7l208.3 185.7 30.2 4.8c4.8-24.6 7.4-49.9 7.4-75.9 0-95.9-34.6-183.7-92-251.6L655.5 396.7z"}),u.jsx("path",{d:"M794.4 563.4 630.9 417.7l-67 57.1c5.6 8.3 9.3 18 10.6 28.4L794.4 563.4z"}),u.jsx("path",{d:"M496 448.4 496 239.6l-218.8 99.6 189.4 125.4C474.7 456.8 484.8 451.1 496 448.4z"}),u.jsx("path",{d:"M619.3 713.3 420 803.8l-19.1 81.6c35 10.3 72.1 15.9 110.4 15.9 74.4 0 143.9-20.8 203-56.9L619.3 713.3z"}),u.jsx("path",{d:"M648.7 699.5l92.3 127.2c63.3-46.2 112.2-111 138.6-186.4L648.7 699.5z"}),u.jsx("path",{d:"M386.2 804 226.1 597.7l-87.9 27.4c34.9 114.7 121.3 207 232.2 250L386.2 804z"}),u.jsx("path",{d:"M226.9 564.3 240.2 353l-64.4-40.5c-34.6 58.2-54.4 126.2-54.4 198.8 0 28.4 3 56.2 8.8 82.9L226.9 564.3z"}),u.jsx("path",{d:"M842.8 609.8l-272.7-74.7c-4 9.5-10.1 17.9-17.9 24.4l77.3 112.1L842.8 609.8z"}),u.jsx("path",{d:"M528 205.4l108.8 165.2 151-134.5c-67-67.3-158.4-110.2-259.7-114.5L528.1 205.4z"}),u.jsx("path",{d:"M245.7 318.4l250.3-114 0-82.8c-125 4.8-234.8 68.5-302.8 164L245.7 318.4z"})]}),xe=()=>u.jsxs("svg",{width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true",focusable:"false",viewBox:"0 0 1024 1024",children:[u.jsx("path",{d:"M533.6 784.5c6.6 16.4-1.3 35-17.6 41.7l0 0c-16.4 6.6-35-1.3-41.7-17.6L129.9 236c-6.6-16.4 1.3-35 17.6-41.7l0 0c16.4-6.6 35 1.3 41.7 17.6L533.6 784.5z"}),u.jsx("path",{d:"M536 812.2c-6.9 16.3-25.7 23.9-41.9 17l0 0c-16.3-6.9-23.9-25.7-17-41.9l357.6-575.7c6.9-16.3 25.7-23.9 41.9-17l0 0c16.3 6.9 23.9 25.7 17 41.9L536 812.2z"}),u.jsx("path",{d:"M895.4 224c0 17.7-14.3 32-32 32l-704 0c-17.7 0-32-14.3-32-32l0 0c0-17.7 14.3-32 32-32l704 0C881 192 895.4 206.3 895.4 224L895.4 224z"}),u.jsx("path",{d:"M278.6 384l465 0 0 64-465 0 0-64Z"}),u.jsx("path",{d:"M391.6 576l232.5 0 0 64-232.5 0 0-64Z"})]}),Se=()=>u.jsxs("svg",{width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true",focusable:"false",viewBox:"0 0 1024 1024",children:[u.jsx("path",{d:"M191 864c0 17.7-14.3 32-32 32l0 0c-17.7 0-32-14.3-32-32L127 160c0-17.7 14.3-32 32-32l0 0c17.7 0 32 14.3 32 32L191 864z"}),u.jsx("path",{d:"M159 896c-17.7 0-32-14.3-32-32l0 0c0-17.7 14.3-32 32-32l712 0c17.7 0 32 14.3 32 32l0 0c0 17.7-14.3 32-32 32L159 896z"}),u.jsx("path",{d:"M745.6 765.9"}),u.jsx("path",{d:"M307.6 244.3m-48 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0Z"}),u.jsx("path",{d:"M560 479.2m-48 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0Z"}),u.jsx("path",{d:"M391.9 387.7m-48 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0Z"}),u.jsx("path",{d:"M540.4 244.3m-48 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0Z"}),u.jsx("path",{d:"M732.9 292.3m-48 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0Z"}),u.jsx("path",{d:"M792.9 717.9m-48 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0Z"}),u.jsx("path",{d:"M307.6 527.2m-48 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0Z"}),u.jsx("path",{d:"M439.9 662.4m-48 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0Z"})]}),ve=()=>u.jsxs("svg",{width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true",focusable:"false",viewBox:"0 0 1024 1024",children:[u.jsx("path",{d:"M191 864c0 17.7-14.3 32-32 32l0 0c-17.7 0-32-14.3-32-32L127 160c0-17.7 14.3-32 32-32l0 0c17.7 0 32 14.3 32 32L191 864z"}),u.jsx("path",{d:"M159 896c-17.7 0-32-14.3-32-32l0 0c0-17.7 14.3-32 32-32l712 0c17.7 0 32 14.3 32 32l0 0c0 17.7-14.3 32-32 32L159 896z"}),u.jsx("path",{d:"M745.6 765.9"}),u.jsx("path",{d:"M342.1 734.3c0 17.5-14.2 31.7-31.7 31.7l0 0c-17.5 0-31.7-14.2-31.7-31.7L278.7 489c0-17.5 14.2-31.7 31.7-31.7l0 0c17.5 0 31.7 14.2 31.7 31.7L342.1 734.3z"}),u.jsx("path",{d:"M493.8 734.3c0 17.5-14.2 31.7-31.7 31.7l0 0c-17.5 0-31.7-14.2-31.7-31.7L430.4 387c0-17.5 14.2-31.7 31.7-31.7l0 0c17.5 0 31.7 14.2 31.7 31.7L493.8 734.3z"}),u.jsx("path",{d:"M797.3 734.3c0 17.5-14.2 31.7-31.7 31.7l0 0c-17.5 0-31.7-14.2-31.7-31.7L733.9 234.5c0-17.5 14.2-31.7 31.7-31.7l0 0c17.5 0 31.7 14.2 31.7 31.7L797.3 734.3z"}),u.jsx("path",{d:"M645.5 734.3c0 17.5-14.2 31.7-31.7 31.7l0 0c-17.5 0-31.7-14.2-31.7-31.7l0-97.2c0-17.5 14.2-31.7 31.7-31.7l0 0c17.5 0 31.7 14.2 31.7 31.7L645.5 734.3z"})]}),be=()=>u.jsx("svg",{width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true",focusable:"false",viewBox:"0 0 1024 1024",children:u.jsx("path",{d:"M131.072 156.16c0-17.92 14.336-31.744 31.744-31.744 17.92 0 31.744 14.336 31.744 31.744v712.192c0 17.92-14.336 31.744-31.744 31.744-17.92 0-31.744-14.336-31.744-31.744V156.16zM292.864 338.944c-17.408 0-31.744-14.336-31.744-31.744 0-17.408 14.336-31.744 31.744-31.744h245.248c17.408 0 31.744 14.336 31.744 31.744 0 17.408-14.336 31.744-31.744 31.744h-245.248zM292.864 490.496c-17.408 0-31.744-14.336-31.744-31.744 0-17.408 14.336-31.744 31.744-31.744H640c17.408 0 31.744 14.336 31.744 31.744 0 17.408-14.336 31.744-31.744 31.744h-347.136zM292.864 794.112c-17.408 0-31.744-14.336-31.744-31.744 0-17.408 14.336-31.744 31.744-31.744h499.712c17.408 0 31.744 14.336 31.744 31.744 0 17.408-14.336 31.744-31.744 31.744h-499.712zM292.864 642.56c-17.408 0-31.744-14.336-31.744-31.744 0-17.408 14.336-31.744 31.744-31.744h97.28c17.408 0 31.744 14.336 31.744 31.744 0 17.408-14.336 31.744-31.744 31.744h-97.28z"})}),we=()=>u.jsxs("svg",{width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true",focusable:"false",viewBox:"0 0 1024 1024",children:[u.jsx("path",{d:"M191 864c0 17.7-14.3 32-32 32l0 0c-17.7 0-32-14.3-32-32L127 160c0-17.7 14.3-32 32-32l0 0c17.7 0 32 14.3 32 32L191 864z"}),u.jsx("path",{d:"M159 896c-17.7 0-32-14.3-32-32l0 0c0-17.7 14.3-32 32-32l712 0c17.7 0 32 14.3 32 32l0 0c0 17.7-14.3 32-32 32L159 896z"}),u.jsx("path",{d:"M307.1 686.3c-12.4 12.4-32.4 12.4-44.8 0l0 0c-12.4-12.4-12.4-32.4 0-44.8l173.4-173.4c12.4-12.4 32.4-12.4 44.8 0l0 0c12.4 12.4 12.4 32.4 0 44.8L307.1 686.3z"}),u.jsx("path",{d:"M608.8 640c-12.4 12.4-32.4 12.4-44.8 0l0 0c-12.4-12.4-12.4-32.4 0-44.8l212.7-212.7c12.4-12.4 32.4-12.4 44.8 0l0 0c12.4 12.4 12.4 32.4 0 44.8L608.8 640z"}),u.jsx("path",{d:"M608 595.3c12.4 12.4 12.4 32.4 0 44.8l0 0c-12.4 12.4-32.4 12.4-44.8 0L436 512.8c-12.4-12.4-12.4-32.4 0-44.8l0 0c12.4-12.4 32.4-12.4 44.8 0L608 595.3z"})]}),Ie=()=>u.jsxs("svg",{width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true",focusable:"false",viewBox:"0 0 1024 1024",children:[u.jsx("path",{d:"M489.7 511 489 511 489 126.9c-201 12.3-360.1 179.2-360.1 383.3 0 212.1 171.9 384 384 384 106.5 0 202.9-43.4 272.5-113.4L489.7 511z"}),u.jsx("path",{d:"M773.1 237.2l6-6c-62.7-59.6-143.5-95.8-228.2-104l0 304.7L773.1 237.2z"}),u.jsx("path",{d:"M819.5 281.6 564.1 505.1 822 739c3-4 5.9-8.1 8.7-12.3 41.4-61.3 65.6-135.2 65.6-214.7C896.3 425.6 867.7 345.8 819.5 281.6z"})]}),Pe=()=>u.jsxs("svg",{width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true",focusable:"false",viewBox:"0 0 1024 1024",children:[u.jsx("path",{d:"M191 864c0 17.7-14.3 32-32 32l0 0c-17.7 0-32-14.3-32-32L127 160c0-17.7 14.3-32 32-32l0 0c17.7 0 32 14.3 32 32L191 864z"}),u.jsx("path",{d:"M159 896c-17.7 0-32-14.3-32-32l0 0c0-17.7 14.3-32 32-32l712 0c17.7 0 32 14.3 32 32l0 0c0 17.7-14.3 32-32 32L159 896z"}),u.jsx("path",{d:"M830.6 338.2 830.6 338.2c0.9-9.2-2.1-18.6-9.1-25.7-12.4-12.4-32.4-12.4-44.8 0L586 503.3 480.8 398.1c-6.2-6.2-14.4-9.3-22.5-9.3-8.1 0-16.3 3.1-22.5 9.3L262.4 571.5c-6 6-9.1 13.8-9.3 21.6 0 0.1 0 0.1 0 0.2l0 111.8c0 35.3 28.7 64 64 64l449.7 0c33.8 0 61.4-26.1 63.8-59.3l0 0 0-0.2c0.1-1.5 0.2-3 0.2-4.5L830.8 593.3c0-0.3-0.1-0.7-0.2-1L830.6 338.2z"})]});o.Icon.register({"icon-area":e=>u.jsx(o.Icon,b({component:Pe},e)),"icon-pie":e=>u.jsx(o.Icon,b({component:Ie},e)),"icon-radar":e=>u.jsx(o.Icon,b({component:ge},e)),"icon-funnel":e=>u.jsx(o.Icon,b({component:xe},e)),"icon-line":e=>u.jsx(o.Icon,b({component:we},e)),"icon-bar":e=>u.jsx(o.Icon,b({component:be},e)),"icon-column":e=>u.jsx(o.Icon,b({component:ve},e)),"icon-scatter":e=>u.jsx(o.Icon,b({component:Se},e))});const Ne={label:"label",value:"value",color:"color",options:"children"},qe=(e,t,n)=>{function i(a){const d=[];for(let s=0;s<a.length;s++){const h=a[s][n.options];Array.isArray(h)&&d.push(...i(h)),d.push(b({},a[s]))}return d}const c=i(t);return e=fu.castArray(e).filter(a=>a!=null).map(a=>typeof a=="object"?a[n.value]:a),(a=>{if(!a)return[];const d=[];for(const s of e){const h=a.find(x=>x[n.value]===s)||{value:s,label:s};d.push(h)}return d})(c)},Mu=I.observer(e=>{var a;const t=b(b({},Ne),e.fieldNames),n=I.useField(),i=o.useCompile();if(!nu.isValid(e.value))return u.jsx("div",{});if(w.isArrayField(n)&&((a=n==null?void 0:n.value)==null?void 0:a.length)===0)return u.jsx("div",{});const c=n.dataSource||e.options||[],D=qe(n.value,c,t);return u.jsx("div",{children:D.map((d,s)=>u.jsx(P.Tag,{color:d[t.color],icon:d.icon,children:i(d[t.label])},s))})},{displayName:"ReadPretty"}),{Option:Tu,OptGroup:ju}=P.Select,Oe=(e,t)=>{var n;return((n=t==null?void 0:t.label)!=null?n:"").toLowerCase().includes((e||"").toLowerCase())},Vu=I.connect(e=>{const t=cu(e,[]),d=b({},t),{options:n}=d,i=cu(d,["options"]),c=e.mode||e.multiple?"multiple":void 0,D=n.filter(s=>s.group===2),a=n.filter(s=>s.group===1);return u.jsxs(P.Select,W(b({showSearch:!0,filterOption:Oe,allowClear:!0},i),{onChange:s=>{var h;(h=e.onChange)==null||h.call(e,s===void 0?null:s)},mode:c,children:[u.jsx(ju,{label:m("Basic charts"),children:D.map(s=>u.jsx(Tu,{value:s.key,label:m(s.title),children:u.jsx(P.Popover,{placement:"right",zIndex:99999999999,content:()=>{var h;return u.jsx("span",{children:(h=m(s==null?void 0:s.description))==null?void 0:h.split(",").map(x=>u.jsx("div",{children:x}))})},trigger:"hover",children:u.jsxs("div",{className:o.css`
2603
37
  display: flex;
2604
38
  gap: 4px;
2605
39
  align-items: center;
2606
- `,
2607
- children: [
2608
- /* @__PURE__ */ jsxRuntimeExports.jsx(client.Icon, { type: option.iconId }),
2609
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { role: "img", "aria-label": lang(option.title), children: lang(option.title) })
2610
- ]
2611
- }
2612
- )
2613
- }
2614
- ) })) }),
2615
- /* @__PURE__ */ jsxRuntimeExports.jsx(OptGroup, { label: lang("More charts"), children: group2.map((option) => /* @__PURE__ */ jsxRuntimeExports.jsx(Option, { value: option.key, label: lang(option.title), children: /* @__PURE__ */ jsxRuntimeExports.jsx(
2616
- antd.Popover,
2617
- {
2618
- placement: "right",
2619
- zIndex: 99999999999,
2620
- content: () => {
2621
- var _a;
2622
- return /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: (_a = lang(option == null ? void 0 : option.description)) == null ? void 0 : _a.split(",").map((item) => /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: item })) });
2623
- },
2624
- trigger: "hover",
2625
- children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
2626
- "div",
2627
- {
2628
- className: client.css`
40
+ `,children:[u.jsx(o.Icon,{type:s.iconId}),u.jsx("span",{role:"img","aria-label":m(s.title),children:m(s.title)})]})})}))}),u.jsx(ju,{label:m("More charts"),children:a.map(s=>u.jsx(Tu,{value:s.key,label:m(s.title),children:u.jsx(P.Popover,{placement:"right",zIndex:99999999999,content:()=>{var h;return u.jsx("span",{children:(h=m(s==null?void 0:s.description))==null?void 0:h.split(",").map(x=>u.jsx("div",{children:x}))})},trigger:"hover",children:u.jsxs("div",{className:o.css`
2629
41
  display: flex;
2630
42
  gap: 4px;
2631
43
  align-items: center;
2632
- `,
2633
- children: [
2634
- /* @__PURE__ */ jsxRuntimeExports.jsx(client.Icon, { type: option.iconId }),
2635
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { role: "img", "aria-label": lang(option.title), children: lang(option.title) })
2636
- ]
2637
- }
2638
- )
2639
- }
2640
- ) })) })
2641
- ]
2642
- }
2643
- );
2644
- },
2645
- react.mapProps(
2646
- {
2647
- dataSource: "options",
2648
- loading: true
2649
- },
2650
- (props, field) => {
2651
- return {
2652
- ...props,
2653
- suffixIcon: (field == null ? void 0 : field["loading"]) || (field == null ? void 0 : field["validating"]) ? /* @__PURE__ */ jsxRuntimeExports.jsx(icons.LoadingOutlined, {}) : props == null ? void 0 : props.suffixIcon
2654
- };
2655
- }
2656
- ),
2657
- react.mapReadPretty(ReadPretty)
2658
- );
2659
- const CustomSelect = InternalSelect;
2660
- CustomSelect.ReadPretty = ReadPretty;
2661
- const useCreateAction = () => {
2662
- const { setVisible } = client.useActionContext();
2663
- const form = react.useForm();
2664
- const { refresh } = client.useResourceActionContext();
2665
- const { resource } = client.useResourceContext();
2666
- const ctx = useChartQueryMetadataContext();
2667
- return {
2668
- async run() {
2669
- await form.submit();
2670
- await resource.create({ values: form.values });
2671
- setVisible(false);
2672
- await form.reset();
2673
- refresh();
2674
- ctx.refresh();
2675
- }
2676
- };
2677
- };
2678
- const useUpdateAction = () => {
2679
- const { setVisible } = client.useActionContext();
2680
- const form = react.useForm();
2681
- const { refresh } = client.useResourceActionContext();
2682
- const { resource, targetKey } = client.useResourceContext();
2683
- const { [targetKey]: filterByTk } = client.useRecord();
2684
- const ctx = useChartQueryMetadataContext();
2685
- return {
2686
- async run() {
2687
- await form.submit();
2688
- await resource.update({ filterByTk, values: form.values });
2689
- setVisible(false);
2690
- await form.reset();
2691
- refresh();
2692
- ctx.refresh();
2693
- }
2694
- };
2695
- };
2696
- const useCloseAction = () => {
2697
- const { setVisible } = client.useActionContext();
2698
- return {
2699
- async run() {
2700
- setVisible(false);
2701
- }
2702
- };
2703
- };
2704
- const getSchema = (initialValue, { form, isNewRecord }) => {
2705
- const type = initialValue.type;
2706
- const schema = {
2707
- type: "void",
2708
- name: shared.uid(),
2709
- "x-component": "Action.Drawer",
2710
- "x-decorator": "Form",
2711
- "x-decorator-props": {
2712
- form
2713
- // initialValue: JSON.parse(JSON.stringify(initialValue)),
2714
- },
2715
- title: isNewRecord ? lang("Add query") : lang("Edit query"),
2716
- properties: {
2717
- title: {
2718
- title: lang("Title"),
2719
- required: true,
2720
- "x-component": "Input",
2721
- "x-decorator": "FormItem"
2722
- },
2723
- options: getQueryTypeSchema(type),
2724
- footer: {
2725
- type: "void",
2726
- "x-component": "Action.Drawer.Footer",
2727
- properties: {
2728
- cancel: {
2729
- "x-component": "Action",
2730
- title: lang("Cancel"),
2731
- "x-component-props": {
2732
- useAction: "{{ useCloseAction }}"
2733
- }
2734
- },
2735
- submit: {
2736
- "x-component": "Action",
2737
- title: lang("Submit"),
2738
- "x-component-props": {
2739
- type: "primary",
2740
- useAction: "{{ useSubmitAction }}"
2741
- }
2742
- }
2743
- }
2744
- }
2745
- }
2746
- };
2747
- return schema;
2748
- };
2749
- const AddNewQuery = () => {
2750
- const [visible, setVisible] = require$$0.useState(false);
2751
- const [schema, setSchema] = require$$0.useState({});
2752
- const form = require$$0.useMemo(() => core.createForm(), []);
2753
- const menu = require$$0.useMemo(() => {
2754
- return {
2755
- onClick: (info) => {
2756
- setVisible(true);
2757
- form.setValues({ type: info.key });
2758
- setSchema(getSchema({ type: info.key }, { form, isNewRecord: true }));
2759
- },
2760
- items: [
2761
- {
2762
- key: "json",
2763
- label: "JSON"
2764
- },
2765
- {
2766
- key: "sql",
2767
- label: "SQL"
2768
- },
2769
- {
2770
- key: "api",
2771
- label: "API",
2772
- disabled: true
2773
- },
2774
- {
2775
- key: "collection",
2776
- label: "Collection",
2777
- disabled: true
2778
- }
2779
- ]
2780
- };
2781
- }, [form]);
2782
- return /* @__PURE__ */ jsxRuntimeExports.jsxs(client.ActionContextProvider, { value: { visible, setVisible }, children: [
2783
- /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Dropdown, { menu, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Button, { icon: /* @__PURE__ */ jsxRuntimeExports.jsx(icons.PlusOutlined, {}), type: "primary", children: [
2784
- lang("Add query"),
2785
- " ",
2786
- /* @__PURE__ */ jsxRuntimeExports.jsx(icons.DownOutlined, {})
2787
- ] }) }),
2788
- /* @__PURE__ */ jsxRuntimeExports.jsx(client.SchemaComponent, { schema, scope: { useCloseAction, useSubmitAction: useCreateAction } })
2789
- ] });
2790
- };
2791
- const EditQuery = () => {
2792
- const [visible, setVisible] = require$$0.useState(false);
2793
- const record = client.useRecord();
2794
- const form = require$$0.useMemo(() => core.createForm(), []);
2795
- const schema = getSchema(record, { form, isNewRecord: false });
2796
- return /* @__PURE__ */ jsxRuntimeExports.jsxs(client.ActionContextProvider, { value: { visible, setVisible }, children: [
2797
- /* @__PURE__ */ jsxRuntimeExports.jsx(
2798
- "a",
2799
- {
2800
- onClick: () => {
2801
- form.setValues(record);
2802
- setVisible(true);
2803
- },
2804
- children: lang("Edit")
2805
- }
2806
- ),
2807
- /* @__PURE__ */ jsxRuntimeExports.jsx(client.SchemaComponent, { schema, scope: { useCloseAction, useSubmitAction: useUpdateAction } })
2808
- ] });
2809
- };
2810
- const ConfigureFields = () => {
2811
- const record = client.useRecord();
2812
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
2813
- antd.Table,
2814
- {
2815
- columns: [
2816
- {
2817
- title: "字段标识",
2818
- dataIndex: "name"
2819
- }
2820
- ],
2821
- dataSource: record.fields || []
2822
- }
2823
- );
2824
- };
2825
- const collection = {
2826
- name: "chartsQueries",
2827
- fields: [
2828
- {
2829
- type: "integer",
2830
- name: "title",
2831
- interface: "input",
2832
- uiSchema: {
2833
- title: '{{t("Title",{ns:"charts"})}}',
2834
- type: "string",
2835
- "x-component": "Input",
2836
- required: true
2837
- }
2838
- },
2839
- {
2840
- type: "string",
2841
- name: "type",
2842
- interface: "select",
2843
- uiSchema: {
2844
- title: '{{t("Type",{ns:"charts"})}}',
2845
- type: "string",
2846
- "x-component": "Select",
2847
- required: true,
2848
- enum: [
2849
- { label: '{{t("API")}}', value: "api" },
2850
- { label: '{{t("SQL")}}', value: "sql" },
2851
- { label: '{{t("JSON")}}', value: "json" }
2852
- ]
2853
- }
2854
- }
2855
- ]
2856
- };
2857
- const useDestroyQueryItemAction = () => {
2858
- const ctx = useChartQueryMetadataContext();
2859
- const { refresh } = client.useResourceActionContext();
2860
- const { resource, targetKey } = client.useResourceContext();
2861
- const { [targetKey]: filterByTk } = client.useRecord();
2862
- return {
2863
- async run() {
2864
- await resource.destroy({ filterByTk });
2865
- refresh();
2866
- ctx.refresh();
2867
- }
2868
- };
2869
- };
2870
- const useDestroyAllSelectedQueriesAction = () => {
2871
- const ctx = useChartQueryMetadataContext();
2872
- const { state, setState, refresh } = client.useResourceActionContext();
2873
- const { resource, targetKey } = client.useResourceContext();
2874
- return {
2875
- async run() {
2876
- await resource.destroy({
2877
- filterByTk: (state == null ? void 0 : state.selectedRowKeys) || []
2878
- });
2879
- setState == null ? void 0 : setState({ selectedRowKeys: [] });
2880
- refresh();
2881
- ctx.refresh();
2882
- }
2883
- };
2884
- };
2885
- const chartsQueriesSchema = {
2886
- type: "object",
2887
- properties: {
2888
- [shared.uid()]: {
2889
- type: "void",
2890
- "x-decorator": "ResourceActionProvider",
2891
- "x-decorator-props": {
2892
- collection,
2893
- resourceName: "chartsQueries",
2894
- request: {
2895
- resource: "chartsQueries",
2896
- action: "list",
2897
- params: {
2898
- pageSize: 50,
2899
- sort: ["-id"],
2900
- appends: []
2901
- }
2902
- }
2903
- },
2904
- "x-component": "CollectionProvider",
2905
- "x-component-props": {
2906
- collection
2907
- },
2908
- properties: {
2909
- actions: {
2910
- type: "void",
2911
- "x-component": "ActionBar",
2912
- "x-component-props": {
2913
- style: {
2914
- marginBottom: 16
2915
- }
2916
- },
2917
- properties: {
2918
- delete: {
2919
- type: "void",
2920
- title: '{{ t("Delete") }}',
2921
- "x-component": "Action",
2922
- "x-component-props": {
2923
- useAction: "{{ useDestroyAllSelectedQueriesAction }}",
2924
- confirm: {
2925
- title: '{{t("Delete queries",{ns:"charts"})}}',
2926
- content: "{{t('Are you sure you want to delete it?')}}"
2927
- }
2928
- }
2929
- },
2930
- create: {
2931
- type: "void",
2932
- title: '{{t("Add query")}}',
2933
- "x-component": "AddNewQuery",
2934
- "x-component-props": {
2935
- type: "primary"
2936
- },
2937
- properties: {
2938
- drawer: {
2939
- type: "void",
2940
- "x-component": "Action.Drawer",
2941
- "x-decorator": "Form",
2942
- "x-decorator-props": {
2943
- useValues(options) {
2944
- const ctx = client.useActionContext();
2945
- return client.useRequest(
2946
- () => Promise.resolve({
2947
- data: {
2948
- name: `s_${shared.uid()}`
2949
- }
2950
- }),
2951
- { ...options, refreshDeps: [ctx.visible] }
2952
- );
2953
- }
2954
- },
2955
- title: '{{t("Add query",{ns:"charts"})}}',
2956
- properties: {
2957
- title: {
2958
- "x-component": "CollectionField",
2959
- "x-decorator": "FormItem"
2960
- },
2961
- type: {
2962
- "x-component": "CollectionField",
2963
- "x-decorator": "FormItem"
2964
- },
2965
- footer: {
2966
- type: "void",
2967
- "x-component": "Action.Drawer.Footer",
2968
- properties: {
2969
- cancel: {
2970
- title: '{{t("Cancel",{ns:"charts"})}}',
2971
- "x-component": "Action",
2972
- "x-component-props": {
2973
- useAction: "{{ cm.useCancelAction }}"
2974
- }
2975
- },
2976
- submit: {
2977
- title: '{{t("Submit",{ns:"charts"})}}',
2978
- "x-component": "Action",
2979
- "x-component-props": {
2980
- type: "primary",
2981
- useAction: "{{ cm.useCreateAction }}"
2982
- }
2983
- }
2984
- }
2985
- }
2986
- }
2987
- }
2988
- }
2989
- }
2990
- }
2991
- },
2992
- table: {
2993
- type: "void",
2994
- "x-uid": "input",
2995
- "x-component": "Table.Void",
2996
- "x-component-props": {
2997
- rowKey: "id",
2998
- rowSelection: {
2999
- type: "checkbox"
3000
- },
3001
- useDataSource: "{{ cm.useDataSourceFromRAC }}"
3002
- },
3003
- properties: {
3004
- title: {
3005
- type: "void",
3006
- "x-decorator": "Table.Column.Decorator",
3007
- "x-component": "Table.Column",
3008
- properties: {
3009
- title: {
3010
- type: "number",
3011
- "x-component": "CollectionField",
3012
- "x-read-pretty": true
3013
- }
3014
- }
3015
- },
3016
- type: {
3017
- type: "void",
3018
- "x-decorator": "Table.Column.Decorator",
3019
- "x-component": "Table.Column",
3020
- properties: {
3021
- type: {
3022
- type: "string",
3023
- "x-component": "CollectionField",
3024
- "x-read-pretty": true
3025
- }
3026
- }
3027
- },
3028
- actions: {
3029
- type: "void",
3030
- title: '{{t("Actions")}}',
3031
- "x-component": "Table.Column",
3032
- properties: {
3033
- actions: {
3034
- type: "void",
3035
- "x-component": "Space",
3036
- "x-component-props": {
3037
- split: "|"
3038
- },
3039
- properties: {
3040
- fields: {
3041
- type: "void",
3042
- title: '{{t("Configure fields")}}',
3043
- "x-component": "Action.Link",
3044
- "x-component-props": {
3045
- type: "primary"
3046
- },
3047
- properties: {
3048
- drawer: {
3049
- type: "void",
3050
- "x-component": "Action.Drawer",
3051
- title: '{{t("Configure fields")}}',
3052
- properties: {
3053
- configure: {
3054
- type: "void",
3055
- "x-component": "ConfigureFields"
3056
- }
3057
- }
3058
- }
3059
- }
3060
- },
3061
- update: {
3062
- type: "void",
3063
- title: '{{t("Edit")}}',
3064
- "x-component": "EditQuery",
3065
- "x-component-props": {
3066
- type: "primary"
3067
- },
3068
- properties: {
3069
- drawer: {
3070
- type: "void",
3071
- "x-component": "Action.Drawer",
3072
- "x-decorator": "Form",
3073
- "x-decorator-props": {
3074
- useValues: "{{ cm.useValuesFromRecord }}"
3075
- },
3076
- title: '{{t("Edit")}}',
3077
- properties: {
3078
- title: {
3079
- "x-component": "CollectionField",
3080
- "x-decorator": "FormItem"
3081
- },
3082
- footer: {
3083
- type: "void",
3084
- "x-component": "Action.Drawer.Footer",
3085
- properties: {
3086
- cancel: {
3087
- title: '{{t("Cancel",{ns:"charts"})}}',
3088
- "x-component": "Action",
3089
- "x-component-props": {
3090
- useAction: "{{ cm.useCancelAction }}"
3091
- }
3092
- },
3093
- submit: {
3094
- title: '{{t("Submit",{ns:"charts"})}}',
3095
- "x-component": "Action",
3096
- "x-component-props": {
3097
- type: "primary",
3098
- useAction: "{{ cm.useUpdateAction }}"
3099
- }
3100
- }
3101
- }
3102
- }
3103
- }
3104
- }
3105
- }
3106
- },
3107
- delete: {
3108
- type: "void",
3109
- title: '{{ t("Delete") }}',
3110
- "x-component": "Action.Link",
3111
- "x-component-props": {
3112
- confirm: {
3113
- title: '{{t("Delete query",{ns:"charts"})}}',
3114
- content: "{{t('Are you sure you want to delete it?')}}"
3115
- },
3116
- useAction: "{{ useDestroyQueryItemAction }}"
3117
- }
3118
- }
3119
- }
3120
- }
3121
- }
3122
- }
3123
- }
3124
- }
3125
- }
3126
- }
3127
- }
3128
- };
3129
- const QueriesTable = () => {
3130
- require$$0.useState(false);
3131
- reactI18next.useTranslation();
3132
- return /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Card, { bordered: false, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
3133
- client.SchemaComponent,
3134
- {
3135
- scope: { JSON5: lib, useDestroyQueryItemAction, useDestroyAllSelectedQueriesAction },
3136
- schema: chartsQueriesSchema,
3137
- components: { AddNewQuery, EditQuery, ConfigureFields }
3138
- }
3139
- ) });
3140
- };
3141
- core.registerValidateRules({
3142
- json5: (value, rule) => {
3143
- if (!value) {
3144
- return "";
3145
- }
3146
- try {
3147
- const val = lib.parse(value);
3148
- if (!isNaN(val)) {
3149
- return {
3150
- type: "error",
3151
- message: lang("Invalid JSON format")
3152
- };
3153
- }
3154
- return "";
3155
- } catch (error) {
3156
- console.error(error);
3157
- return {
3158
- type: "error",
3159
- message: lang("Invalid JSON format")
3160
- };
3161
- }
3162
- }
3163
- });
3164
- const ChartsProvider = require$$0.memo((props) => {
3165
- const api2 = client.useAPIClient();
3166
- const items = require$$0.useContext(client.SchemaInitializerContext);
3167
- const children = items.BlockInitializers.items[0].children;
3168
- if (children) {
3169
- const hasChartItem = children.some((child) => (child == null ? void 0 : child.component) === "ChartBlockInitializer");
3170
- if (!hasChartItem) {
3171
- children.push({
3172
- key: "chart",
3173
- type: "item",
3174
- icon: "PieChartOutlined",
3175
- title: '{{t("Chart (Old)",{ns:"charts"})}}',
3176
- component: "ChartBlockInitializer"
3177
- });
3178
- }
3179
- }
3180
- const validateSQL = (sql2) => {
3181
- return new Promise((resolve) => {
3182
- api2.request({
3183
- url: "chartsQueries:validate",
3184
- method: "post",
3185
- data: {
3186
- sql: sql2
3187
- }
3188
- }).then(({ data }) => {
3189
- var _a;
3190
- resolve((_a = data == null ? void 0 : data.data) == null ? void 0 : _a.errorMessage);
3191
- }).catch(() => {
3192
- resolve("Invalid SQL");
3193
- });
3194
- });
3195
- };
3196
- return /* @__PURE__ */ jsxRuntimeExports.jsx(ChartQueryMetadataProvider, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
3197
- client.SettingsCenterProvider,
3198
- {
3199
- settings: {
3200
- charts: {
3201
- title: '{{t("Charts", {ns:"charts"})}}',
3202
- icon: "PieChartOutlined",
3203
- tabs: {
3204
- queries: {
3205
- title: '{{t("Queries", {ns:"charts"})}}',
3206
- component: QueriesTable
3207
- }
3208
- }
3209
- }
3210
- },
3211
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(
3212
- client.SchemaComponentOptions,
3213
- {
3214
- scope: { validateSQL },
3215
- components: { CustomSelect, ChartBlockInitializer, ChartBlockEngine },
3216
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(client.SchemaInitializerContext.Provider, { value: items, children: props.children })
3217
- }
3218
- )
3219
- }
3220
- ) });
3221
- });
3222
- ChartsProvider.displayName = "ChartsProvider";
3223
- class ChartsPlugin extends client.Plugin {
3224
- async afterAdd() {
3225
- this.app.pm.add(client.BlockSchemaComponentPlugin);
3226
- }
3227
- async load() {
3228
- this.app.use(ChartsProvider);
3229
- }
3230
- }
3231
- exports2.ChartsPlugin = ChartsPlugin;
3232
- exports2.default = ChartsPlugin;
3233
- Object.defineProperties(exports2, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3234
- });
44
+ `,children:[u.jsx(o.Icon,{type:s.iconId}),u.jsx("span",{role:"img","aria-label":m(s.title),children:m(s.title)})]})})}))})]}))},I.mapProps({dataSource:"options",loading:!0},(e,t)=>W(b({},e),{suffixIcon:t!=null&&t.loading||t!=null&&t.validating?u.jsx(ou.LoadingOutlined,{}):e==null?void 0:e.suffixIcon})),I.mapReadPretty(Mu));Vu.ReadPretty=Mu;const ze=()=>{const{setVisible:e}=o.useActionContext(),t=I.useForm(),{refresh:n}=o.useResourceActionContext(),{resource:i}=o.useResourceContext(),c=uu();return{run(){return J(this,null,function*(){yield t.submit(),yield i.create({values:t.values}),e(!1),yield t.reset(),n(),c.refresh()})}}},Le=()=>{const{setVisible:e}=o.useActionContext(),t=I.useForm(),{refresh:n}=o.useResourceActionContext(),{resource:i,targetKey:c}=o.useResourceContext(),{[c]:D}=o.useRecord(),a=uu();return{run(){return J(this,null,function*(){yield t.submit(),yield i.update({filterByTk:D,values:t.values}),e(!1),yield t.reset(),n(),a.refresh()})}}},Ju=()=>{const{setVisible:e}=o.useActionContext();return{run(){return J(this,null,function*(){e(!1)})}}},Gu=(e,{form:t,isNewRecord:n})=>{const i=e.type;return{type:"void",name:nu.uid(),"x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{form:t},title:m(n?"Add query":"Edit query"),properties:{title:{title:m("Title"),required:!0,"x-component":"Input","x-decorator":"FormItem"},options:xu(i),footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{"x-component":"Action",title:m("Cancel"),"x-component-props":{useAction:"{{ useCloseAction }}"}},submit:{"x-component":"Action",title:m("Submit"),"x-component-props":{type:"primary",useAction:"{{ useSubmitAction }}"}}}}}}},ke=()=>{const[e,t]=B.useState(!1),[n,i]=B.useState({}),c=B.useMemo(()=>w.createForm(),[]),D=B.useMemo(()=>({onClick:a=>{t(!0),c.setValues({type:a.key}),i(Gu({type:a.key},{form:c,isNewRecord:!0}))},items:[{key:"json",label:"JSON"},{key:"sql",label:"SQL"},{key:"api",label:"API",disabled:!0},{key:"collection",label:"Collection",disabled:!0}]}),[c]);return u.jsxs(o.ActionContextProvider,{value:{visible:e,setVisible:t},children:[u.jsx(P.Dropdown,{menu:D,children:u.jsxs(P.Button,{icon:u.jsx(ou.PlusOutlined,{}),type:"primary",children:[m("Add query")," ",u.jsx(ou.DownOutlined,{})]})}),u.jsx(o.SchemaComponent,{schema:n,scope:{useCloseAction:Ju,useSubmitAction:ze}})]})},Me=()=>{const[e,t]=B.useState(!1),n=o.useRecord(),i=B.useMemo(()=>w.createForm(),[]),c=Gu(n,{form:i,isNewRecord:!1});return u.jsxs(o.ActionContextProvider,{value:{visible:e,setVisible:t},children:[u.jsx("a",{onClick:()=>{i.setValues(n),t(!0)},children:m("Edit")}),u.jsx(o.SchemaComponent,{schema:c,scope:{useCloseAction:Ju,useSubmitAction:Le}})]})},Te=()=>{const e=o.useRecord();return u.jsx(P.Table,{columns:[{title:"字段标识",dataIndex:"name"}],dataSource:e.fields||[]})},$u={name:"chartsQueries",fields:[{type:"integer",name:"title",interface:"input",uiSchema:{title:'{{t("Title",{ns:"charts"})}}',type:"string","x-component":"Input",required:!0}},{type:"string",name:"type",interface:"select",uiSchema:{title:'{{t("Type",{ns:"charts"})}}',type:"string","x-component":"Select",required:!0,enum:[{label:'{{t("API")}}',value:"api"},{label:'{{t("SQL")}}',value:"sql"},{label:'{{t("JSON")}}',value:"json"}]}}]},je=()=>{const e=uu(),{refresh:t}=o.useResourceActionContext(),{resource:n,targetKey:i}=o.useResourceContext(),{[i]:c}=o.useRecord();return{run(){return J(this,null,function*(){yield n.destroy({filterByTk:c}),t(),e.refresh()})}}},Ve=()=>{const e=uu(),{state:t,setState:n,refresh:i}=o.useResourceActionContext(),{resource:c,targetKey:D}=o.useResourceContext();return{run(){return J(this,null,function*(){yield c.destroy({filterByTk:(t==null?void 0:t.selectedRowKeys)||[]}),n==null||n({selectedRowKeys:[]}),i(),e.refresh()})}}},Je={type:"object",properties:{[nu.uid()]:{type:"void","x-decorator":"ResourceActionProvider","x-decorator-props":{collection:$u,resourceName:"chartsQueries",request:{resource:"chartsQueries",action:"list",params:{pageSize:50,sort:["-id"],appends:[]}}},"x-component":"CollectionProvider","x-component-props":{collection:$u},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{delete:{type:"void",title:'{{ t("Delete") }}',"x-component":"Action","x-component-props":{useAction:"{{ useDestroyAllSelectedQueriesAction }}",confirm:{title:'{{t("Delete queries",{ns:"charts"})}}',content:"{{t('Are you sure you want to delete it?')}}"}}},create:{type:"void",title:'{{t("Add query")}}',"x-component":"AddNewQuery","x-component-props":{type:"primary"},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{useValues(e){const t=o.useActionContext();return o.useRequest(()=>Promise.resolve({data:{name:`s_${nu.uid()}`}}),W(b({},e),{refreshDeps:[t.visible]}))}},title:'{{t("Add query",{ns:"charts"})}}',properties:{title:{"x-component":"CollectionField","x-decorator":"FormItem"},type:{"x-component":"CollectionField","x-decorator":"FormItem"},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel",{ns:"charts"})}}',"x-component":"Action","x-component-props":{useAction:"{{ cm.useCancelAction }}"}},submit:{title:'{{t("Submit",{ns:"charts"})}}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ cm.useCreateAction }}"}}}}}}}}}},table:{type:"void","x-uid":"input","x-component":"Table.Void","x-component-props":{rowKey:"id",rowSelection:{type:"checkbox"},useDataSource:"{{ cm.useDataSourceFromRAC }}"},properties:{title:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{title:{type:"number","x-component":"CollectionField","x-read-pretty":!0}}},type:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{type:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},actions:{type:"void",title:'{{t("Actions")}}',"x-component":"Table.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:{fields:{type:"void",title:'{{t("Configure fields")}}',"x-component":"Action.Link","x-component-props":{type:"primary"},properties:{drawer:{type:"void","x-component":"Action.Drawer",title:'{{t("Configure fields")}}',properties:{configure:{type:"void","x-component":"ConfigureFields"}}}}},update:{type:"void",title:'{{t("Edit")}}',"x-component":"EditQuery","x-component-props":{type:"primary"},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{useValues:"{{ cm.useValuesFromRecord }}"},title:'{{t("Edit")}}',properties:{title:{"x-component":"CollectionField","x-decorator":"FormItem"},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel",{ns:"charts"})}}',"x-component":"Action","x-component-props":{useAction:"{{ cm.useCancelAction }}"}},submit:{title:'{{t("Submit",{ns:"charts"})}}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ cm.useUpdateAction }}"}}}}}}}},delete:{type:"void",title:'{{ t("Delete") }}',"x-component":"Action.Link","x-component-props":{confirm:{title:'{{t("Delete query",{ns:"charts"})}}',content:"{{t('Are you sure you want to delete it?')}}"},useAction:"{{ useDestroyQueryItemAction }}"}}}}}}}}}}}},Ge=()=>(B.useState(!1),R.useTranslation(),u.jsx(P.Card,{bordered:!1,children:u.jsx(o.SchemaComponent,{scope:{JSON5:V,useDestroyQueryItemAction:je,useDestroyAllSelectedQueriesAction:Ve},schema:Je,components:{AddNewQuery:ke,EditQuery:Me,ConfigureFields:Te}})}));w.registerValidateRules({json5:(e,t)=>{if(!e)return"";try{const n=V.parse(e);return isNaN(n)?"":{type:"error",message:m("Invalid JSON format")}}catch(n){return console.error(n),{type:"error",message:m("Invalid JSON format")}}}});const Qu=B.memo(e=>{const t=o.useAPIClient(),n=B.useContext(o.SchemaInitializerContext),i=n.BlockInitializers.items[0].children;i&&(i.some(a=>(a==null?void 0:a.component)==="ChartBlockInitializer")||i.push({key:"chart",type:"item",icon:"PieChartOutlined",title:'{{t("Chart (Old)",{ns:"charts"})}}',component:"ChartBlockInitializer"}));const c=D=>new Promise(a=>{t.request({url:"chartsQueries:validate",method:"post",data:{sql:D}}).then(({data:d})=>{var s;a((s=d==null?void 0:d.data)==null?void 0:s.errorMessage)}).catch(()=>{a("Invalid SQL")})});return u.jsx(ie,{children:u.jsx(o.SettingsCenterProvider,{settings:{charts:{title:'{{t("Charts", {ns:"charts"})}}',icon:"PieChartOutlined",tabs:{queries:{title:'{{t("Queries", {ns:"charts"})}}',component:Ge}}}},children:u.jsx(o.SchemaComponentOptions,{scope:{validateSQL:c},components:{CustomSelect:Vu,ChartBlockInitializer:me,ChartBlockEngine:ku},children:u.jsx(o.SchemaInitializerContext.Provider,{value:n,children:e.children})})})})});Qu.displayName="ChartsProvider";class _u extends o.Plugin{afterAdd(){return J(this,null,function*(){this.app.pm.add(o.BlockSchemaComponentPlugin)})}load(){return J(this,null,function*(){this.app.use(Qu)})}}A.ChartsPlugin=_u,A.default=_u,Object.defineProperties(A,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});