逐步完成前后端服务器
This commit is contained in:
198
frontend/node_modules/echarts/lib/chart/funnel/FunnelView.js
generated
vendored
Normal file
198
frontend/node_modules/echarts/lib/chart/funnel/FunnelView.js
generated
vendored
Normal file
@ -0,0 +1,198 @@
|
||||
|
||||
/*
|
||||
* 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 { __extends } from "tslib";
|
||||
import * as graphic from '../../util/graphic.js';
|
||||
import { setStatesStylesFromModel, toggleHoverEmphasis } from '../../util/states.js';
|
||||
import ChartView from '../../view/Chart.js';
|
||||
import { setLabelLineStyle, getLabelLineStatesModels } from '../../label/labelGuideHelper.js';
|
||||
import { setLabelStyle, getLabelStatesModels } from '../../label/labelStyle.js';
|
||||
import { saveOldStyle } from '../../animation/basicTransition.js';
|
||||
var opacityAccessPath = ['itemStyle', 'opacity'];
|
||||
/**
|
||||
* Piece of pie including Sector, Label, LabelLine
|
||||
*/
|
||||
var FunnelPiece = /** @class */function (_super) {
|
||||
__extends(FunnelPiece, _super);
|
||||
function FunnelPiece(data, idx) {
|
||||
var _this = _super.call(this) || this;
|
||||
var polygon = _this;
|
||||
var labelLine = new graphic.Polyline();
|
||||
var text = new graphic.Text();
|
||||
polygon.setTextContent(text);
|
||||
_this.setTextGuideLine(labelLine);
|
||||
_this.updateData(data, idx, true);
|
||||
return _this;
|
||||
}
|
||||
FunnelPiece.prototype.updateData = function (data, idx, firstCreate) {
|
||||
var polygon = this;
|
||||
var seriesModel = data.hostModel;
|
||||
var itemModel = data.getItemModel(idx);
|
||||
var layout = data.getItemLayout(idx);
|
||||
var emphasisModel = itemModel.getModel('emphasis');
|
||||
var opacity = itemModel.get(opacityAccessPath);
|
||||
opacity = opacity == null ? 1 : opacity;
|
||||
if (!firstCreate) {
|
||||
saveOldStyle(polygon);
|
||||
}
|
||||
// Update common style
|
||||
polygon.useStyle(data.getItemVisual(idx, 'style'));
|
||||
polygon.style.lineJoin = 'round';
|
||||
if (firstCreate) {
|
||||
polygon.setShape({
|
||||
points: layout.points
|
||||
});
|
||||
polygon.style.opacity = 0;
|
||||
graphic.initProps(polygon, {
|
||||
style: {
|
||||
opacity: opacity
|
||||
}
|
||||
}, seriesModel, idx);
|
||||
} else {
|
||||
graphic.updateProps(polygon, {
|
||||
style: {
|
||||
opacity: opacity
|
||||
},
|
||||
shape: {
|
||||
points: layout.points
|
||||
}
|
||||
}, seriesModel, idx);
|
||||
}
|
||||
setStatesStylesFromModel(polygon, itemModel);
|
||||
this._updateLabel(data, idx);
|
||||
toggleHoverEmphasis(this, emphasisModel.get('focus'), emphasisModel.get('blurScope'), emphasisModel.get('disabled'));
|
||||
};
|
||||
FunnelPiece.prototype._updateLabel = function (data, idx) {
|
||||
var polygon = this;
|
||||
var labelLine = this.getTextGuideLine();
|
||||
var labelText = polygon.getTextContent();
|
||||
var seriesModel = data.hostModel;
|
||||
var itemModel = data.getItemModel(idx);
|
||||
var layout = data.getItemLayout(idx);
|
||||
var labelLayout = layout.label;
|
||||
var style = data.getItemVisual(idx, 'style');
|
||||
var visualColor = style.fill;
|
||||
setLabelStyle(
|
||||
// position will not be used in setLabelStyle
|
||||
labelText, getLabelStatesModels(itemModel), {
|
||||
labelFetcher: data.hostModel,
|
||||
labelDataIndex: idx,
|
||||
defaultOpacity: style.opacity,
|
||||
defaultText: data.getName(idx)
|
||||
}, {
|
||||
normal: {
|
||||
align: labelLayout.textAlign,
|
||||
verticalAlign: labelLayout.verticalAlign
|
||||
}
|
||||
});
|
||||
polygon.setTextConfig({
|
||||
local: true,
|
||||
inside: !!labelLayout.inside,
|
||||
insideStroke: visualColor,
|
||||
// insideFill: 'auto',
|
||||
outsideFill: visualColor
|
||||
});
|
||||
var linePoints = labelLayout.linePoints;
|
||||
labelLine.setShape({
|
||||
points: linePoints
|
||||
});
|
||||
polygon.textGuideLineConfig = {
|
||||
anchor: linePoints ? new graphic.Point(linePoints[0][0], linePoints[0][1]) : null
|
||||
};
|
||||
// Make sure update style on labelText after setLabelStyle.
|
||||
// Because setLabelStyle will replace a new style on it.
|
||||
graphic.updateProps(labelText, {
|
||||
style: {
|
||||
x: labelLayout.x,
|
||||
y: labelLayout.y
|
||||
}
|
||||
}, seriesModel, idx);
|
||||
labelText.attr({
|
||||
rotation: labelLayout.rotation,
|
||||
originX: labelLayout.x,
|
||||
originY: labelLayout.y,
|
||||
z2: 10
|
||||
});
|
||||
setLabelLineStyle(polygon, getLabelLineStatesModels(itemModel), {
|
||||
// Default use item visual color
|
||||
stroke: visualColor
|
||||
});
|
||||
};
|
||||
return FunnelPiece;
|
||||
}(graphic.Polygon);
|
||||
var FunnelView = /** @class */function (_super) {
|
||||
__extends(FunnelView, _super);
|
||||
function FunnelView() {
|
||||
var _this = _super !== null && _super.apply(this, arguments) || this;
|
||||
_this.type = FunnelView.type;
|
||||
_this.ignoreLabelLineUpdate = true;
|
||||
return _this;
|
||||
}
|
||||
FunnelView.prototype.render = function (seriesModel, ecModel, api) {
|
||||
var data = seriesModel.getData();
|
||||
var oldData = this._data;
|
||||
var group = this.group;
|
||||
data.diff(oldData).add(function (idx) {
|
||||
var funnelPiece = new FunnelPiece(data, idx);
|
||||
data.setItemGraphicEl(idx, funnelPiece);
|
||||
group.add(funnelPiece);
|
||||
}).update(function (newIdx, oldIdx) {
|
||||
var piece = oldData.getItemGraphicEl(oldIdx);
|
||||
piece.updateData(data, newIdx);
|
||||
group.add(piece);
|
||||
data.setItemGraphicEl(newIdx, piece);
|
||||
}).remove(function (idx) {
|
||||
var piece = oldData.getItemGraphicEl(idx);
|
||||
graphic.removeElementWithFadeOut(piece, seriesModel, idx);
|
||||
}).execute();
|
||||
this._data = data;
|
||||
};
|
||||
FunnelView.prototype.remove = function () {
|
||||
this.group.removeAll();
|
||||
this._data = null;
|
||||
};
|
||||
FunnelView.prototype.dispose = function () {};
|
||||
FunnelView.type = 'funnel';
|
||||
return FunnelView;
|
||||
}(ChartView);
|
||||
export default FunnelView;
|
Reference in New Issue
Block a user