逐步完成前后端服务器
This commit is contained in:
96
frontend/node_modules/echarts/lib/component/transform/filterTransform.js
generated
vendored
Normal file
96
frontend/node_modules/echarts/lib/component/transform/filterTransform.js
generated
vendored
Normal file
@ -0,0 +1,96 @@
|
||||
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
import { parseConditionalExpression } from '../../util/conditionalExpression.js';
|
||||
import { hasOwn, createHashMap } from 'zrender/lib/core/util.js';
|
||||
import { makePrintable, throwError } from '../../util/log.js';
|
||||
export var filterTransform = {
|
||||
type: 'echarts:filter',
|
||||
// PENDING: enhance to filter by index rather than create new data
|
||||
transform: function (params) {
|
||||
// [Caveat] Fail-Fast:
|
||||
// Do not return the whole dataset unless user config indicates it explicitly.
|
||||
// For example, if no condition is specified by mistake, returning an empty result
|
||||
// is better than returning the entire raw source for the user to find the mistake.
|
||||
var upstream = params.upstream;
|
||||
var rawItem;
|
||||
var condition = parseConditionalExpression(params.config, {
|
||||
valueGetterAttrMap: createHashMap({
|
||||
dimension: true
|
||||
}),
|
||||
prepareGetValue: function (exprOption) {
|
||||
var errMsg = '';
|
||||
var dimLoose = exprOption.dimension;
|
||||
if (!hasOwn(exprOption, 'dimension')) {
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
errMsg = makePrintable('Relation condition must has prop "dimension" specified.', 'Illegal condition:', exprOption);
|
||||
}
|
||||
throwError(errMsg);
|
||||
}
|
||||
var dimInfo = upstream.getDimensionInfo(dimLoose);
|
||||
if (!dimInfo) {
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
errMsg = makePrintable('Can not find dimension info via: ' + dimLoose + '.\n', 'Existing dimensions: ', upstream.cloneAllDimensionInfo(), '.\n', 'Illegal condition:', exprOption, '.\n');
|
||||
}
|
||||
throwError(errMsg);
|
||||
}
|
||||
return {
|
||||
dimIdx: dimInfo.index
|
||||
};
|
||||
},
|
||||
getValue: function (param) {
|
||||
return upstream.retrieveValueFromItem(rawItem, param.dimIdx);
|
||||
}
|
||||
});
|
||||
var resultData = [];
|
||||
for (var i = 0, len = upstream.count(); i < len; i++) {
|
||||
rawItem = upstream.getRawDataItem(i);
|
||||
if (condition.evaluate()) {
|
||||
resultData.push(rawItem);
|
||||
}
|
||||
}
|
||||
return {
|
||||
data: resultData
|
||||
};
|
||||
}
|
||||
};
|
49
frontend/node_modules/echarts/lib/component/transform/install.js
generated
vendored
Normal file
49
frontend/node_modules/echarts/lib/component/transform/install.js
generated
vendored
Normal file
@ -0,0 +1,49 @@
|
||||
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
import { filterTransform } from './filterTransform.js';
|
||||
import { sortTransform } from './sortTransform.js';
|
||||
export function install(registers) {
|
||||
registers.registerTransform(filterTransform);
|
||||
registers.registerTransform(sortTransform);
|
||||
}
|
155
frontend/node_modules/echarts/lib/component/transform/sortTransform.js
generated
vendored
Normal file
155
frontend/node_modules/echarts/lib/component/transform/sortTransform.js
generated
vendored
Normal file
@ -0,0 +1,155 @@
|
||||
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
import { SOURCE_FORMAT_ARRAY_ROWS, SOURCE_FORMAT_OBJECT_ROWS } from '../../util/types.js';
|
||||
import { makePrintable, throwError } from '../../util/log.js';
|
||||
import { each } from 'zrender/lib/core/util.js';
|
||||
import { normalizeToArray } from '../../util/model.js';
|
||||
import { getRawValueParser, SortOrderComparator } from '../../data/helper/dataValueHelper.js';
|
||||
var sampleLog = '';
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
sampleLog = ['Valid config is like:', '{ dimension: "age", order: "asc" }', 'or [{ dimension: "age", order: "asc"], { dimension: "date", order: "desc" }]'].join(' ');
|
||||
}
|
||||
export var sortTransform = {
|
||||
type: 'echarts:sort',
|
||||
transform: function (params) {
|
||||
var upstream = params.upstream;
|
||||
var config = params.config;
|
||||
var errMsg = '';
|
||||
// Normalize
|
||||
// const orderExprList: OrderExpression[] = isArray(config[0])
|
||||
// ? config as OrderExpression[]
|
||||
// : [config as OrderExpression];
|
||||
var orderExprList = normalizeToArray(config);
|
||||
if (!orderExprList.length) {
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
errMsg = 'Empty `config` in sort transform.';
|
||||
}
|
||||
throwError(errMsg);
|
||||
}
|
||||
var orderDefList = [];
|
||||
each(orderExprList, function (orderExpr) {
|
||||
var dimLoose = orderExpr.dimension;
|
||||
var order = orderExpr.order;
|
||||
var parserName = orderExpr.parser;
|
||||
var incomparable = orderExpr.incomparable;
|
||||
if (dimLoose == null) {
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
errMsg = 'Sort transform config must has "dimension" specified.' + sampleLog;
|
||||
}
|
||||
throwError(errMsg);
|
||||
}
|
||||
if (order !== 'asc' && order !== 'desc') {
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
errMsg = 'Sort transform config must has "order" specified.' + sampleLog;
|
||||
}
|
||||
throwError(errMsg);
|
||||
}
|
||||
if (incomparable && incomparable !== 'min' && incomparable !== 'max') {
|
||||
var errMsg_1 = '';
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
errMsg_1 = 'incomparable must be "min" or "max" rather than "' + incomparable + '".';
|
||||
}
|
||||
throwError(errMsg_1);
|
||||
}
|
||||
if (order !== 'asc' && order !== 'desc') {
|
||||
var errMsg_2 = '';
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
errMsg_2 = 'order must be "asc" or "desc" rather than "' + order + '".';
|
||||
}
|
||||
throwError(errMsg_2);
|
||||
}
|
||||
var dimInfo = upstream.getDimensionInfo(dimLoose);
|
||||
if (!dimInfo) {
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
errMsg = makePrintable('Can not find dimension info via: ' + dimLoose + '.\n', 'Existing dimensions: ', upstream.cloneAllDimensionInfo(), '.\n', 'Illegal config:', orderExpr, '.\n');
|
||||
}
|
||||
throwError(errMsg);
|
||||
}
|
||||
var parser = parserName ? getRawValueParser(parserName) : null;
|
||||
if (parserName && !parser) {
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
errMsg = makePrintable('Invalid parser name ' + parserName + '.\n', 'Illegal config:', orderExpr, '.\n');
|
||||
}
|
||||
throwError(errMsg);
|
||||
}
|
||||
orderDefList.push({
|
||||
dimIdx: dimInfo.index,
|
||||
parser: parser,
|
||||
comparator: new SortOrderComparator(order, incomparable)
|
||||
});
|
||||
});
|
||||
// TODO: support it?
|
||||
var sourceFormat = upstream.sourceFormat;
|
||||
if (sourceFormat !== SOURCE_FORMAT_ARRAY_ROWS && sourceFormat !== SOURCE_FORMAT_OBJECT_ROWS) {
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
errMsg = 'sourceFormat "' + sourceFormat + '" is not supported yet';
|
||||
}
|
||||
throwError(errMsg);
|
||||
}
|
||||
// Other upstream format are all array.
|
||||
var resultData = [];
|
||||
for (var i = 0, len = upstream.count(); i < len; i++) {
|
||||
resultData.push(upstream.getRawDataItem(i));
|
||||
}
|
||||
resultData.sort(function (item0, item1) {
|
||||
for (var i = 0; i < orderDefList.length; i++) {
|
||||
var orderDef = orderDefList[i];
|
||||
var val0 = upstream.retrieveValueFromItem(item0, orderDef.dimIdx);
|
||||
var val1 = upstream.retrieveValueFromItem(item1, orderDef.dimIdx);
|
||||
if (orderDef.parser) {
|
||||
val0 = orderDef.parser(val0);
|
||||
val1 = orderDef.parser(val1);
|
||||
}
|
||||
var result = orderDef.comparator.evaluate(val0, val1);
|
||||
if (result !== 0) {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
});
|
||||
return {
|
||||
data: resultData
|
||||
};
|
||||
}
|
||||
};
|
Reference in New Issue
Block a user