NuclearDispersionSystem/ant-design-vue-jeecg/node_modules/viser-vue/lib/index.js
2023-09-14 14:47:11 +08:00

365 lines
12 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Global = exports.registerShape = exports.registerAnimation = exports.default = void 0;
var viser = _interopRequireWildcard(require("viser"));
var _typed = _interopRequireDefault(require("./typed"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
var __assign = void 0 && (void 0).__assign || function () {
__assign = Object.assign || function (t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) {
if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
}
}
return t;
};
return __assign.apply(this, arguments);
};
var regSeries = ['pie', 'sector', 'line', 'smoothline', 'dashline', 'area', 'point', 'stackarea', 'stackline', 'smootharea', 'bar', 'stackbar', 'dodgebar', 'interval', 'stackinterval', 'dodgeinterval', 'funnel', 'pyramid', 'schema', 'box', 'candle', 'polygon', 'contour', 'heatmap', 'edge', 'sankey', 'errorbar', 'jitterpoint', 'path', 'venn'];
var rootCharts = ['v-chart', 'v-lite-chart'];
var rootPlugin = ['v-plugin'];
var rootChartProps = ['data', 'scale', 'filter', 'viewId'];
var seriesProps = ['position', 'quickType', 'gemo', 'adjust', 'color', 'shape', 'size', 'opacity', 'label', 'tooltip', 'style', 'animate'];
var camelCase = function () {
var DEFAULT_REGEX = /[-_]+(.)?/g;
function toUpper(match, group1) {
return group1 ? group1.toUpperCase() : '';
}
return function (str, delimiters) {
return str.replace(delimiters ? new RegExp('[' + delimiters + ']+(.)?', 'g') : DEFAULT_REGEX, toUpper);
};
}();
var baseChartComponent = {
data: function data() {
return {
isViser: true,
jsonForD2: {}
};
},
props: _typed.default,
methods: {
checkIsContainer: function checkIsContainer(componentInstance) {
if (componentInstance.isViser && rootCharts.concat(['v-view', 'v-facet', 'v-facet-view', 'v-plugin']).indexOf(componentInstance.$options._componentTag) > -1) {
return true;
} else {
return false;
}
},
findNearestRootComponent: function findNearestRootComponent(componentInstance) {
if (this.checkIsContainer(componentInstance)) {
if (componentInstance.$options._componentTag === 'v-lite-chart') {
throw Error('v-lite-chart should be no child elements.');
}
return componentInstance;
}
if (componentInstance.$parent) {
return this.findNearestRootComponent(componentInstance.$parent);
}
return null;
},
createRootD2Json: function createRootD2Json() {
if (this.$options._componentTag === 'v-plugin') {
return __assign({}, cleanUndefined(normalizeProps(this._props, rootChartProps)), this.jsonForD2);
}
var d2Json = __assign({}, cleanUndefined(normalizeProps(this._props, rootChartProps)), {
chart: __assign({
container: this.$el
}, cleanUndefined(normalizeProps(this._props, null, rootChartProps)))
}, this.jsonForD2);
if (this.$options._componentTag === 'v-lite-chart') {
var existProps_1 = cleanUndefined(this._props);
Object.keys(existProps_1).forEach(function (propsKey) {
var lowerCasePropsKey = propsKey.toLowerCase();
if (regSeries.indexOf(lowerCasePropsKey) > -1) {
safePush(d2Json, 'series', __assign({
quickType: propsKey
}, normalizeProps(existProps_1, seriesProps)));
}
});
setIfNotExist(d2Json, 'axis', true);
setIfNotExist(d2Json, 'legend', true);
setIfNotExist(d2Json, 'tooltip', true);
}
return d2Json;
},
freshChart: function freshChart(isUpdate) {
if (rootPlugin.indexOf(this.$options._componentTag) > -1) {
var d2Json = this.createRootD2Json();
this.plugins = viser.Plugin(d2Json);
} else if (rootCharts.indexOf(this.$options._componentTag) > -1) {
var d2Json = this.createRootD2Json();
if (!isUpdate || !this.chart) {
this.chart = viser["default"](d2Json);
} else {
this.chart.repaint(d2Json);
}
} else if (this.$options._componentTag === 'v-view') {
var nearestRootComponent = this.findNearestRootComponent(this.$parent);
oneObjectMoreArray(nearestRootComponent.jsonForD2, 'views', __assign({}, cleanUndefined(normalizeProps(this._props)), this.jsonForD2, {
viewId: this._uid
}));
} else if (this.$options._componentTag === 'v-facet-view') {
var nearestRootComponent = this.findNearestRootComponent(this.$parent);
nearestRootComponent.jsonForD2.views = __assign({}, cleanUndefined(normalizeProps(this._props)), this.jsonForD2);
} else if (this.$options._componentTag === 'v-facet') {
var nearestRootComponent = this.findNearestRootComponent(this.$parent);
nearestRootComponent.jsonForD2.facet = __assign({}, cleanUndefined(normalizeProps(this._props)), this.jsonForD2);
} else if (this.$options._componentTag === 'v-slider') {
var nearestRootComponent = this.findNearestRootComponent(this.$parent);
var sliderOpts = cleanUndefined(normalizeProps(this._props));
if (!cleanUndefined(normalizeProps(this._props)).container) {
sliderOpts.container = 'viser-slider-' + generateRandomNum();
}
var sliderContainer = document.createElement('div');
sliderContainer.id = sliderOpts.container;
this.$parent.$el.appendChild(sliderContainer);
nearestRootComponent.jsonForD2.slider = __assign({}, sliderOpts, this.jsonForD2);
} else {
var nearestRootComponent = this.findNearestRootComponent(this.$parent);
if (!nearestRootComponent) {
throw Error(this.$options._componentTag + " must be wrapped into v-chart or v-plugin");
}
var rechartName = this.$options._componentTag.replace(/-/g, '').slice(1);
var rechartNameCamelCase = camelCase(this.$options._componentTag.slice(2));
if (isAllUndefined(this._props)) {
nearestRootComponent.jsonForD2[rechartName] = true;
} else if (regSeries.indexOf(rechartName) > -1) {
safePush(nearestRootComponent.jsonForD2, 'series', __assign({
quickType: rechartNameCamelCase
}, cleanUndefined(normalizeProps(this._props))));
} else {
oneObjectMoreArray(nearestRootComponent.jsonForD2, rechartName, __assign({}, cleanUndefined(normalizeProps(this._props)), {
componentId: this._uid
}));
}
}
}
},
created: function created() {},
mounted: function mounted() {
this.freshChart(false);
},
updated: function updated() {
this.freshChart(true);
},
render: function render(createElement) {
var isContainer = this.checkIsContainer(this);
if (isContainer) {
return createElement('div', null, this.$slots["default"]);
}
var props = cleanUndefined(normalizeProps(this._props));
return createElement('div', {
style: {
display: 'none'
}
}, Object.keys(props).map(function (key) {
return '' + key + ':' + JSON.stringify(props[key]);
}));
}
};
var installMaps = {
'v-chart': baseChartComponent,
'v-tooltip': baseChartComponent,
'v-legend': baseChartComponent,
'v-axis': baseChartComponent,
'v-brush': baseChartComponent,
'v-view': baseChartComponent,
'v-coord': baseChartComponent,
'v-series': baseChartComponent,
'v-facet': baseChartComponent,
'v-facet-view': baseChartComponent,
'v-lite-chart': baseChartComponent,
'v-guide': baseChartComponent,
'v-edge': baseChartComponent,
'v-point': baseChartComponent,
'v-pie': baseChartComponent,
'v-bar': baseChartComponent,
'v-stack-bar': baseChartComponent,
'v-dodge-bar': baseChartComponent,
'v-interval': baseChartComponent,
'v-stack-interval': baseChartComponent,
'v-dodge-interval': baseChartComponent,
'v-schema': baseChartComponent,
'v-line': baseChartComponent,
'v-smooth-line': baseChartComponent,
'v-dash-line': baseChartComponent,
'v-sector': baseChartComponent,
'v-area': baseChartComponent,
'v-stack-area': baseChartComponent,
'v-stack-line': baseChartComponent,
'v-smooth-area': baseChartComponent,
'v-funnel': baseChartComponent,
'v-pyramid': baseChartComponent,
'v-box': baseChartComponent,
'v-candle': baseChartComponent,
'v-polygon': baseChartComponent,
'v-contour': baseChartComponent,
'v-heatmap': baseChartComponent,
'v-sankey': baseChartComponent,
'v-error-bar': baseChartComponent,
'v-jitter-point': baseChartComponent,
'v-path': baseChartComponent,
'v-venn': baseChartComponent,
'v-plugin': baseChartComponent,
'v-slider': baseChartComponent
};
var _default = {
install: function install(Vue, options) {
if (!options) {
options = Object.keys(installMaps);
}
options.forEach(function (key) {
Vue.component(key, __assign({}, installMaps[key], {
name: key
}));
});
}
};
exports.default = _default;
function safePush(obj, key, value) {
if (!obj[key]) {
obj[key] = [];
}
cleanUndefined(value);
obj[key].push(value);
}
function oneObjectMoreArray(obj, key, value) {
if (!obj[key]) {
obj[key] = value;
return;
}
if (obj[key] && obj[key].constructor.name === 'Object') {
obj[key] = [obj[key]];
}
var indexOfSameObject = -1;
if (value && value.viewId) {
obj[key].forEach(function (o, i) {
if (o && o.viewId && o.viewId === value.viewId) {
indexOfSameObject = i;
}
});
} else if (value && value.componentId) {
obj[key].forEach(function (o, i) {
if (o && o.componentId && o.componentId === value.componentId) {
indexOfSameObject = i;
}
});
}
if (indexOfSameObject === -1) {
obj[key].push(value);
} else {
obj[key][indexOfSameObject] = __assign({}, obj[key][indexOfSameObject], value);
}
}
function cleanUndefined(value) {
var newValue = __assign({}, value);
for (var key in newValue) {
if (newValue[key] === undefined) {
delete newValue[key];
}
}
return newValue;
}
function isAllUndefined(value) {
return Object.keys(value).every(function (key) {
return value[key] === undefined;
});
}
function normalizeProps(props, include, expect) {
if (include === void 0) {
include = null;
}
if (expect === void 0) {
expect = null;
}
var newProps = __assign({}, props);
if (newProps.vStyle) {
newProps.style = newProps.vStyle;
delete newProps.vStyle;
}
if (expect !== null) {
expect.forEach(function (propsKey) {
delete newProps[propsKey];
});
}
if (include !== null) {
Object.keys(newProps).forEach(function (propsKey) {
if (include.indexOf(propsKey) === -1) {
delete newProps[propsKey];
}
});
}
return newProps;
}
function setIfNotExist(obj, key, value) {
if (!obj[key]) {
obj[key] = value;
}
}
function generateRandomNum() {
return Math.floor(new Date().getTime() + Math.random() * 10000).toString();
}
var registerAnimation = viser.registerAnimation;
exports.registerAnimation = registerAnimation;
var registerShape = viser.registerShape;
exports.registerShape = registerShape;
var Global = viser.Global;
exports.Global = Global;