逐步完成前后端服务器
This commit is contained in:
150
frontend/node_modules/echarts/lib/data/helper/linkSeriesData.js
generated
vendored
Normal file
150
frontend/node_modules/echarts/lib/data/helper/linkSeriesData.js
generated
vendored
Normal file
@ -0,0 +1,150 @@
|
||||
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* AUTO-GENERATED FILE. DO NOT MODIFY.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
/**
|
||||
* Link lists and struct (graph or tree)
|
||||
*/
|
||||
import { curry, each, assert, extend, map, keys } from 'zrender/lib/core/util.js';
|
||||
import { makeInner } from '../../util/model.js';
|
||||
var inner = makeInner();
|
||||
function linkSeriesData(opt) {
|
||||
var mainData = opt.mainData;
|
||||
var datas = opt.datas;
|
||||
if (!datas) {
|
||||
datas = {
|
||||
main: mainData
|
||||
};
|
||||
opt.datasAttr = {
|
||||
main: 'data'
|
||||
};
|
||||
}
|
||||
opt.datas = opt.mainData = null;
|
||||
linkAll(mainData, datas, opt);
|
||||
// Porxy data original methods.
|
||||
each(datas, function (data) {
|
||||
each(mainData.TRANSFERABLE_METHODS, function (methodName) {
|
||||
data.wrapMethod(methodName, curry(transferInjection, opt));
|
||||
});
|
||||
});
|
||||
// Beyond transfer, additional features should be added to `cloneShallow`.
|
||||
mainData.wrapMethod('cloneShallow', curry(cloneShallowInjection, opt));
|
||||
// Only mainData trigger change, because struct.update may trigger
|
||||
// another changable methods, which may bring about dead lock.
|
||||
each(mainData.CHANGABLE_METHODS, function (methodName) {
|
||||
mainData.wrapMethod(methodName, curry(changeInjection, opt));
|
||||
});
|
||||
// Make sure datas contains mainData.
|
||||
assert(datas[mainData.dataType] === mainData);
|
||||
}
|
||||
function transferInjection(opt, res) {
|
||||
if (isMainData(this)) {
|
||||
// Transfer datas to new main data.
|
||||
var datas = extend({}, inner(this).datas);
|
||||
datas[this.dataType] = res;
|
||||
linkAll(res, datas, opt);
|
||||
} else {
|
||||
// Modify the reference in main data to point newData.
|
||||
linkSingle(res, this.dataType, inner(this).mainData, opt);
|
||||
}
|
||||
return res;
|
||||
}
|
||||
function changeInjection(opt, res) {
|
||||
opt.struct && opt.struct.update();
|
||||
return res;
|
||||
}
|
||||
function cloneShallowInjection(opt, res) {
|
||||
// cloneShallow, which brings about some fragilities, may be inappropriate
|
||||
// to be exposed as an API. So for implementation simplicity we can make
|
||||
// the restriction that cloneShallow of not-mainData should not be invoked
|
||||
// outside, but only be invoked here.
|
||||
each(inner(res).datas, function (data, dataType) {
|
||||
data !== res && linkSingle(data.cloneShallow(), dataType, res, opt);
|
||||
});
|
||||
return res;
|
||||
}
|
||||
/**
|
||||
* Supplement method to List.
|
||||
*
|
||||
* @public
|
||||
* @param [dataType] If not specified, return mainData.
|
||||
*/
|
||||
function getLinkedData(dataType) {
|
||||
var mainData = inner(this).mainData;
|
||||
return dataType == null || mainData == null ? mainData : inner(mainData).datas[dataType];
|
||||
}
|
||||
/**
|
||||
* Get list of all linked data
|
||||
*/
|
||||
function getLinkedDataAll() {
|
||||
var mainData = inner(this).mainData;
|
||||
return mainData == null ? [{
|
||||
data: mainData
|
||||
}] : map(keys(inner(mainData).datas), function (type) {
|
||||
return {
|
||||
type: type,
|
||||
data: inner(mainData).datas[type]
|
||||
};
|
||||
});
|
||||
}
|
||||
function isMainData(data) {
|
||||
return inner(data).mainData === data;
|
||||
}
|
||||
function linkAll(mainData, datas, opt) {
|
||||
inner(mainData).datas = {};
|
||||
each(datas, function (data, dataType) {
|
||||
linkSingle(data, dataType, mainData, opt);
|
||||
});
|
||||
}
|
||||
function linkSingle(data, dataType, mainData, opt) {
|
||||
inner(mainData).datas[dataType] = data;
|
||||
inner(data).mainData = mainData;
|
||||
data.dataType = dataType;
|
||||
if (opt.struct) {
|
||||
data[opt.structAttr] = opt.struct;
|
||||
opt.struct[opt.datasAttr[dataType]] = data;
|
||||
}
|
||||
// Supplement method.
|
||||
data.getLinkedData = getLinkedData;
|
||||
data.getLinkedDataAll = getLinkedDataAll;
|
||||
}
|
||||
export default linkSeriesData;
|
Reference in New Issue
Block a user