eco-access-specifications 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js ADDED
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _reactNativeWebview = require("react-native-webview");
10
+ var jsBuilder = _interopRequireWildcard(require("./jsBuilder"));
11
+ var _index = _interopRequireDefault(require("./assets/index.html"));
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
13
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
14
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
15
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
16
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
17
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
18
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
19
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
20
+ function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
21
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
22
+ function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
23
+ function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }
24
+ function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
25
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
26
+ function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
27
+ function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
28
+ function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
29
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
30
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
31
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
32
+ var ECharts = /*#__PURE__*/function (_Component) {
33
+ function ECharts(props) {
34
+ var _this;
35
+ _classCallCheck(this, ECharts);
36
+ _this = _callSuper(this, ECharts, [props]);
37
+ _defineProperty(_this, "onMessage", function (e) {
38
+ var eventData = JSON.parse(e.nativeEvent.data);
39
+ if (eventData.types === 'chartClick') {
40
+ // 处理图表点击事件
41
+ var dataIndex = eventData.dataIndex; // 获取点击的数据索引
42
+ // 根据索引获取对应的数据
43
+ // const clickedData = yourDataArray[dataIndex]; // 这里需要根据你的数据结构进行相应的调整
44
+
45
+ // 在这里可以对点击的数据进行进一步处理或传递给其他组件
46
+ }
47
+ try {
48
+ if (!e) return null;
49
+ var _this$props = _this.props,
50
+ onData = _this$props.onData,
51
+ dataZoom = _this$props.dataZoom;
52
+ var data = JSON.parse(unescape(unescape(e.nativeEvent.data)));
53
+ if (data.types === 'DATA') {
54
+ onData(data.payload);
55
+ } else if (data.types === 'CALLBACK') {
56
+ /* eslint-disable no-case-declarations */
57
+ var uuid = data.uuid;
58
+ /* eslint-enable no-case-declarations */
59
+ _this.callbacks[uuid](data.payload);
60
+ } else if (data.types === 'dataZoom') {
61
+ dataZoom(data.payload);
62
+ }
63
+ } catch (error) {}
64
+ });
65
+ _defineProperty(_this, "ID", function () {
66
+ return "_".concat(Math.random().toString(36).substr(2, 9));
67
+ });
68
+ _defineProperty(_this, "getWebViewRef", function (ref) {
69
+ _this.webview = ref;
70
+ });
71
+ _defineProperty(_this, "onLoadEnd", function () {
72
+ if (_this.webview) {
73
+ if (_this.props.option.series) {
74
+ _this.handleFloatSeriesDatas(_this.props.option.series);
75
+ }
76
+ _this.webview.injectJavaScript(jsBuilder.getJavascriptSource(_this.props));
77
+ }
78
+ _this.props.onLoadEnd();
79
+ });
80
+ _defineProperty(_this, "postMessage", function (data) {
81
+ _this.webview.postMessage(jsBuilder.convertToPostMessageString(data));
82
+ });
83
+ _defineProperty(_this, "ID", function () {
84
+ return "_".concat(Math.random().toString(36).substr(2, 9));
85
+ });
86
+ _defineProperty(_this, "getOption", function (callback) {
87
+ var properties = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
88
+ var uuid = _this.ID();
89
+ _this.callbacks[uuid] = callback;
90
+ var data = {
91
+ types: 'GET_OPTION',
92
+ uuid: uuid,
93
+ properties: properties
94
+ };
95
+ _this.postMessage(data);
96
+ });
97
+ _defineProperty(_this, "setOption", function (option, notMerge, lazyUpdate) {
98
+ var data = {
99
+ types: 'SET_OPTION',
100
+ payload: {
101
+ option: option,
102
+ notMerge: notMerge || false,
103
+ lazyUpdate: lazyUpdate || false
104
+ }
105
+ };
106
+ _this.postMessage(data);
107
+ });
108
+ _this.onGetHeight = null;
109
+ _this.callbacks = {};
110
+ return _this;
111
+ }
112
+ _inherits(ECharts, _Component);
113
+ return _createClass(ECharts, [{
114
+ key: "handleFloatSeriesDatas",
115
+ value: function handleFloatSeriesDatas(data) {
116
+ var _this2 = this;
117
+ //浮点型处理
118
+ var _iterator = _createForOfIteratorHelper(data),
119
+ _step;
120
+ try {
121
+ var _loop = function _loop() {
122
+ var v = _step.value;
123
+ v.data.map(function (j, i) {
124
+ if (j % 1 != 0 && typeof j === 'number') {
125
+ v.data[i] = _this2.roundFun(j, 1);
126
+ }
127
+ });
128
+ };
129
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
130
+ _loop();
131
+ }
132
+ } catch (err) {
133
+ _iterator.e(err);
134
+ } finally {
135
+ _iterator.f();
136
+ }
137
+ }
138
+ }, {
139
+ key: "roundFun",
140
+ value: function roundFun(value, n) {
141
+ return Math.round(value * Math.pow(10, n)) / Math.pow(10, n);
142
+ }
143
+ }, {
144
+ key: "render",
145
+ value: function render() {
146
+ var _this$props2 = this.props,
147
+ height = _this$props2.height,
148
+ backgroundColor = _this$props2.backgroundColor,
149
+ width = _this$props2.width;
150
+ return /*#__PURE__*/_react["default"].createElement(_reactNative.View, {
151
+ style: {
152
+ height: height,
153
+ backgroundColor: backgroundColor,
154
+ width: width
155
+ }
156
+ }, /*#__PURE__*/_react["default"].createElement(_reactNativeWebview.WebView, {
157
+ ref: this.getWebViewRef,
158
+ originWhitelist: ['*'],
159
+ scrollEnabled: false,
160
+ source: _index["default"],
161
+ onMessage: this.onMessage,
162
+ allowFileAccess: true,
163
+ style: {
164
+ backgroundColor: backgroundColor,
165
+ opacity: 0.99
166
+ },
167
+ allowUniversalAccessFromFileURLs: true,
168
+ mixedContentMode: "always",
169
+ onLoadEnd: this.onLoadEnd
170
+ }));
171
+ }
172
+ }]);
173
+ }(_react.Component);
174
+ _defineProperty(ECharts, "defaultProps", {
175
+ onData: function onData() {},
176
+ dispatchAction: {},
177
+ legacyMode: false,
178
+ canvas: false,
179
+ onLoadEnd: function onLoadEnd() {},
180
+ backgroundColor: 'transparent',
181
+ dataZoom: function dataZoom() {},
182
+ height: 300
183
+ });
184
+ var _default = exports["default"] = ECharts;
package/index.min.js ADDED
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _react=_interopRequireWildcard(require("react")),_reactNative=require("react-native"),_reactNativeWebview=require("react-native-webview"),jsBuilder=_interopRequireWildcard(require("./jsBuilder")),_index=_interopRequireDefault(require("./assets/index.html"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _getRequireWildcardCache(e){var t,n;return"function"!=typeof WeakMap?null:(t=new WeakMap,n=new WeakMap,(_getRequireWildcardCache=function(e){return e?n:t})(e))}function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=_typeof(e)&&"function"!=typeof e)return{default:e};t=_getRequireWildcardCache(t);if(t&&t.has(e))return t.get(e);var n,r,a={__proto__:null},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(n in e)"default"!==n&&{}.hasOwnProperty.call(e,n)&&((r=o?Object.getOwnPropertyDescriptor(e,n):null)&&(r.get||r.set)?Object.defineProperty(a,n,r):a[n]=e[n]);return a.default=e,t&&t.set(e,a),a}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _createForOfIteratorHelper(e,t){var n,r,a,o,i="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(i)return a=!(r=!0),{s:function(){i=i.call(e)},n:function(){var e=i.next();return r=e.done,e},e:function(e){a=!0,n=e},f:function(){try{r||null==i.return||i.return()}finally{if(a)throw n}}};if(Array.isArray(e)||(i=_unsupportedIterableToArray(e))||t&&e&&"number"==typeof e.length)return i&&(e=i),o=0,{s:t=function(){},n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:t};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var n;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(n="Object"===(n={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(e,t):void 0}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,_toPropertyKey(r.key),r)}}function _createClass(e,t,n){return t&&_defineProperties(e.prototype,t),n&&_defineProperties(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function _callSuper(e,t,n){return t=_getPrototypeOf(t),_possibleConstructorReturn(e,_isNativeReflectConstruct()?Reflect.construct(t,n||[],_getPrototypeOf(e).constructor):t.apply(e,n))}function _possibleConstructorReturn(e,t){if(t&&("object"==_typeof(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(e)}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _isNativeReflectConstruct(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct=function(){return!!e})()}function _getPrototypeOf(e){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&_setPrototypeOf(e,t)}function _setPrototypeOf(e,t){return(_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function _defineProperty(e,t,n){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);n=n.call(e,t||"default");if("object"!=_typeof(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}var ECharts=(()=>{function t(e){var c;return _classCallCheck(this,t),_defineProperty(c=_callSuper(this,t,[e]),"onMessage",function(e){var t=JSON.parse(e.nativeEvent.data);"chartClick"===t.types&&t.dataIndex;try{if(!e)return null;var n,r=c.props,a=r.onData,o=r.dataZoom,i=JSON.parse(unescape(unescape(e.nativeEvent.data)));"DATA"===i.types?a(i.payload):"CALLBACK"===i.types?(n=i.uuid,c.callbacks[n](i.payload)):"dataZoom"===i.types&&o(i.payload)}catch(e){}}),_defineProperty(c,"ID",function(){return"_".concat(Math.random().toString(36).substr(2,9))}),_defineProperty(c,"getWebViewRef",function(e){c.webview=e}),_defineProperty(c,"onLoadEnd",function(){c.webview&&(c.props.option.series&&c.handleFloatSeriesDatas(c.props.option.series),c.webview.injectJavaScript(jsBuilder.getJavascriptSource(c.props))),c.props.onLoadEnd()}),_defineProperty(c,"postMessage",function(e){c.webview.postMessage(jsBuilder.convertToPostMessageString(e))}),_defineProperty(c,"ID",function(){return"_".concat(Math.random().toString(36).substr(2,9))}),_defineProperty(c,"getOption",function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:void 0,n=c.ID(),e=(c.callbacks[n]=e,{types:"GET_OPTION",uuid:n,properties:t});c.postMessage(e)}),_defineProperty(c,"setOption",function(e,t,n){c.postMessage({types:"SET_OPTION",payload:{option:e,notMerge:t||!1,lazyUpdate:n||!1}})}),c.onGetHeight=null,c.callbacks={},c}return _inherits(t,_react.Component),_createClass(t,[{key:"handleFloatSeriesDatas",value:function(e){var t,r=this,n=_createForOfIteratorHelper(e);try{for(n.s();!(t=n.n()).done;)(()=>{var n=t.value;n.data.map(function(e,t){e%1!=0&&"number"==typeof e&&(n.data[t]=r.roundFun(e,1))})})()}catch(e){n.e(e)}finally{n.f()}}},{key:"roundFun",value:function(e,t){return Math.round(e*Math.pow(10,t))/Math.pow(10,t)}},{key:"render",value:function(){var e=this.props,t=e.height,n=e.backgroundColor;return _react.default.createElement(_reactNative.View,{style:{height:t,backgroundColor:n,width:e.width}},_react.default.createElement(_reactNativeWebview.WebView,{ref:this.getWebViewRef,originWhitelist:["*"],scrollEnabled:!1,source:_index.default,onMessage:this.onMessage,allowFileAccess:!0,style:{backgroundColor:n,opacity:.99},allowUniversalAccessFromFileURLs:!0,mixedContentMode:"always",onLoadEnd:this.onLoadEnd}))}}])})(),_default=(_defineProperty(ECharts,"defaultProps",{onData:function(){},dispatchAction:{},legacyMode:!1,canvas:!1,onLoadEnd:function(){},backgroundColor:"transparent",dataZoom:function(){},height:300}),exports.default=ECharts),_reactNative=(Object.defineProperty(exports,"__esModule",{value:!0}),exports.toString=exports.getJavascriptSource=exports.convertToPostMessageString=void 0,require("react-native")),convertToPostMessageString=exports.convertToPostMessageString=function(e){return JSON.stringify(e,function(e,t){return"function"==typeof t?new Function("return ".concat(t.toString())):t})},toString=exports.toString=function(e){return void 0===e?JSON.stringify({}):JSON.stringify(e,function(e,t){return"function"==typeof t?t.toString():t})},getJavascriptSource=exports.getJavascriptSource=function(e){var t=_reactNative.Platform.OS;return"\n var chart = echarts.init(document.getElementById('main'), undefined, {renderer: '".concat("canvas","'});\n var FIRST = parse(decodeURI(\"").concat(encodeURI(toString(e.option)),"\"));\n var SelectedIndex = null;\n var Sliding = false;\n chart.setOption(FIRST);\n if(FIRST.defaultSelect > -1) {\n SelectedIndex = FIRST.defaultSelect\n chart.dispatchAction({ type: 'highlight', dataIndex: FIRST.defaultSelect });\n }\n if('").concat(e.dispatchAction,"'){\n var dispatchAction = parse(decodeURI(\"").concat(encodeURI(toString(e.dispatchAction)),'"));\n chart.dispatchAction(dispatchAction);\n }\n function sendData(data) {\n window.ReactNativeWebView.postMessage(JSON.stringify({"types":"DATA","payload": data}));\n }\n function eventSendData(data) {\n window.ReactNativeWebView.postMessage(JSON.stringify({"types":data.type,"payload": data.params}));\n }\n function sendCallbackData(uuid, data) {\n window.ReactNativeWebView.postMessage(JSON.stringify({"types":"CALLBACK", "uuid": uuid, "payload": data}));\n }\n\n function getOS() {\n return ').concat(t,";\n }\n\n function parse (data) {\n return JSON.parse(data, function (key, value) {\n\n if (value\n && typeof value === \"string\"\n && value.substr(0,8) === \"function\") {\n\n var startBody = value.indexOf('{') + 1;\n var endBody = value.lastIndexOf('}');\n var startArgs = value.indexOf('(') + 1;\n var endArgs = value.indexOf(')');\n\n return new Function(value.substring(startArgs, endArgs)\n , value.substring(startBody, endBody));\n }\n return value;\n });\n }\n\n function toString (obj) {\n var result = JSON.stringify(obj, function (key, val) {\n if (typeof val === 'function') {\n return val.toString();\n }\n return val;\n });\n\n return result;\n };\n\n window.onresize = function() {\n chart.resize();\n };\n\n function processMessage (e) {\n var req = parse(e.data);\n var OPTION = req.payload.option;\n switch(req.types) {\n case \"SET_OPTION\":\n chart.clear();\n chart.setOption(OPTION, req.payload.notMerge,req.payload.lazyUpate);\n chart.dispatchAction({ type: 'downplay' });\n if (OPTION.defaultSelect > -1) {\n SelectedIndex = OPTION.defaultSelect\n chart.dispatchAction({ type: 'highlight', dataIndex: OPTION.defaultSelect });\n chart.dispatchAction({\n type: 'showTip',\n seriesIndex: 0,\n dataIndex: OPTION.defaultSelect\n });\n }\n SelectedIndex = OPTION.defaultSelect;\n break;\n case \"CLEAR\":\n chart.clear();\n break;\n case \"GET_OPTION\":\n var option = chart.getOption();\n var data = {};\n\n if(req.properties !== undefined) {\n req.properties.forEach(function (prop) {\n data[prop] = option[prop];\n });\n } else {\n var data = {\n option: option\n };\n }\n\n sendCallbackData(req.uuid, data);\n break;\n default:\n break;\n }\n }\n\n window.document.addEventListener('message', function(e) {\n if(Sliding){\n return;\n }\n processMessage(e);\n });\n\n function onClickOrMouseMove(params) {\n if(Sliding){\n return;\n }\n xIndex = chart.convertFromPixel({ seriesIndex: 0 }, [params.offsetX, params.offsetY])[0];\n if (SelectedIndex === xIndex) {\n // chart.dispatchAction({ type: 'downplay', dataIndex: xIndex });\n // SelectedIndex = null;\n sendData({ dataIndex: xIndex, type: 'downplay' })\n } else {\n chart.dispatchAction({ type: 'downplay', dataIndex: SelectedIndex });\n // chart.dispatchAction({ type: 'highlight', dataIndex: xIndex });\n SelectedIndex = xIndex;\n sendData({ dataIndex: xIndex, type: 'highlight', akb: 'c' })\n }\n }\n let slideTimer = null;\n chart.on('dataZoom', function (params) {\n chart.dispatchAction({\n type: 'downplay', // 取消高亮效果\n });\n chart.dispatchAction({\n type: 'unselect', // 取消选中状态\n });\n Sliding = true;\n clearTimeout(slideTimer)\n slideTimer = setTimeout(() => {\n Sliding = false;\n }, 800); // 设置合适的时间间隔\n eventSendData({ params: params, type: 'dataZoom' })\n });\n chart.getZr().on('click', onClickOrMouseMove)\n chart.getZr().on('mousemove', onClickOrMouseMove)\n chart.on('highlight', function(event) {\n let dataIndex = -1\n if (event && event.batch && Array.isArray(event.batch) && event.batch.length > 0) {\n dataIndex = event.batch[0].dataIndex\n sendData({ dataIndex: dataIndex, type: 'highlight', abk: 'a', })\n }\n })\n \n ").concat(e.additionalCode,"\n ")};
package/jsBuilder.js ADDED
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.toString = exports.getJavascriptSource = exports.convertToPostMessageString = void 0;
7
+ var _reactNative = require("react-native");
8
+ var convertToPostMessageString = exports.convertToPostMessageString = function convertToPostMessageString(obj) {
9
+ return JSON.stringify(obj, function (key, val) {
10
+ if (typeof val === 'function') {
11
+ return new Function("return ".concat(val.toString()));
12
+ }
13
+ return val;
14
+ });
15
+ };
16
+ var toString = exports.toString = function toString(obj) {
17
+ if (obj === undefined) return JSON.stringify({});
18
+ return JSON.stringify(obj, function (key, val) {
19
+ if (typeof val === 'function') {
20
+ return val.toString();
21
+ }
22
+ return val;
23
+ });
24
+ };
25
+ var getJavascriptSource = exports.getJavascriptSource = function getJavascriptSource(props) {
26
+ var OS = _reactNative.Platform.OS;
27
+ var renderer = 'canvas';
28
+ return "\n var chart = echarts.init(document.getElementById('main'), undefined, {renderer: '".concat(renderer, "'});\n var FIRST = parse(decodeURI(\"").concat(encodeURI(toString(props.option)), "\"));\n var SelectedIndex = null;\n var Sliding = false;\n chart.setOption(FIRST);\n if(FIRST.defaultSelect > -1) {\n SelectedIndex = FIRST.defaultSelect\n chart.dispatchAction({ type: 'highlight', dataIndex: FIRST.defaultSelect });\n }\n if('").concat(props.dispatchAction, "'){\n var dispatchAction = parse(decodeURI(\"").concat(encodeURI(toString(props.dispatchAction)), "\"));\n chart.dispatchAction(dispatchAction);\n }\n function sendData(data) {\n window.ReactNativeWebView.postMessage(JSON.stringify({\"types\":\"DATA\",\"payload\": data}));\n }\n function eventSendData(data) {\n window.ReactNativeWebView.postMessage(JSON.stringify({\"types\":data.type,\"payload\": data.params}));\n }\n function sendCallbackData(uuid, data) {\n window.ReactNativeWebView.postMessage(JSON.stringify({\"types\":\"CALLBACK\", \"uuid\": uuid, \"payload\": data}));\n }\n\n function getOS() {\n return ").concat(OS, ";\n }\n\n function parse (data) {\n return JSON.parse(data, function (key, value) {\n\n if (value\n && typeof value === \"string\"\n && value.substr(0,8) === \"function\") {\n\n var startBody = value.indexOf('{') + 1;\n var endBody = value.lastIndexOf('}');\n var startArgs = value.indexOf('(') + 1;\n var endArgs = value.indexOf(')');\n\n return new Function(value.substring(startArgs, endArgs)\n , value.substring(startBody, endBody));\n }\n return value;\n });\n }\n\n function toString (obj) {\n var result = JSON.stringify(obj, function (key, val) {\n if (typeof val === 'function') {\n return val.toString();\n }\n return val;\n });\n\n return result;\n };\n\n window.onresize = function() {\n chart.resize();\n };\n\n function processMessage (e) {\n var req = parse(e.data);\n var OPTION = req.payload.option;\n switch(req.types) {\n case \"SET_OPTION\":\n chart.clear();\n chart.setOption(OPTION, req.payload.notMerge,req.payload.lazyUpate);\n chart.dispatchAction({ type: 'downplay' });\n if (OPTION.defaultSelect > -1) {\n SelectedIndex = OPTION.defaultSelect\n chart.dispatchAction({ type: 'highlight', dataIndex: OPTION.defaultSelect });\n chart.dispatchAction({\n type: 'showTip',\n seriesIndex: 0,\n dataIndex: OPTION.defaultSelect\n });\n }\n SelectedIndex = OPTION.defaultSelect;\n break;\n case \"CLEAR\":\n chart.clear();\n break;\n case \"GET_OPTION\":\n var option = chart.getOption();\n var data = {};\n\n if(req.properties !== undefined) {\n req.properties.forEach(function (prop) {\n data[prop] = option[prop];\n });\n } else {\n var data = {\n option: option\n };\n }\n\n sendCallbackData(req.uuid, data);\n break;\n default:\n break;\n }\n }\n\n window.document.addEventListener('message', function(e) {\n if(Sliding){\n return;\n }\n processMessage(e);\n });\n\n function onClickOrMouseMove(params) {\n if(Sliding){\n return;\n }\n xIndex = chart.convertFromPixel({ seriesIndex: 0 }, [params.offsetX, params.offsetY])[0];\n if (SelectedIndex === xIndex) {\n // chart.dispatchAction({ type: 'downplay', dataIndex: xIndex });\n // SelectedIndex = null;\n sendData({ dataIndex: xIndex, type: 'downplay' })\n } else {\n chart.dispatchAction({ type: 'downplay', dataIndex: SelectedIndex });\n // chart.dispatchAction({ type: 'highlight', dataIndex: xIndex });\n SelectedIndex = xIndex;\n sendData({ dataIndex: xIndex, type: 'highlight', akb: 'c' })\n }\n }\n let slideTimer = null;\n chart.on('dataZoom', function (params) {\n chart.dispatchAction({\n type: 'downplay', // \u53D6\u6D88\u9AD8\u4EAE\u6548\u679C\n });\n chart.dispatchAction({\n type: 'unselect', // \u53D6\u6D88\u9009\u4E2D\u72B6\u6001\n });\n Sliding = true;\n clearTimeout(slideTimer)\n slideTimer = setTimeout(() => {\n Sliding = false;\n }, 800); // \u8BBE\u7F6E\u5408\u9002\u7684\u65F6\u95F4\u95F4\u9694\n eventSendData({ params: params, type: 'dataZoom' })\n });\n chart.getZr().on('click', onClickOrMouseMove)\n chart.getZr().on('mousemove', onClickOrMouseMove)\n chart.on('highlight', function(event) {\n let dataIndex = -1\n if (event && event.batch && Array.isArray(event.batch) && event.batch.length > 0) {\n dataIndex = event.batch[0].dataIndex\n sendData({ dataIndex: dataIndex, type: 'highlight', abk: 'a', })\n }\n })\n \n ").concat(props.additionalCode, "\n ");
29
+ };
package/package.json ADDED
@@ -0,0 +1,11 @@
1
+ {
2
+ "name": "eco-access-specifications",
3
+ "version": "2.0.0",
4
+ "description": "eco-rn-echarts是在echarts的基础上进行改造,支持react-native环境,在rn环境中能够正常使用的一个图表库",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "author": "lx",
10
+ "license": "ISC"
11
+ }