@visactor/vchart
Version:
charts lib based @visactor/VGrammar
89 lines (77 loc) • 4.47 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: !0
}), exports.TransformLevel = exports.updateDataViewInData = exports.dataToDataView = exports.dataViewFromDataView = exports.initFoldData = exports.initData = exports.initCSVData = exports.initializeData = void 0;
const debug_1 = require("../util/debug"), vutils_1 = require("@visactor/vutils"), vdataset_1 = require("@visactor/vdataset"), register_1 = require("./register"), copy_data_view_1 = require("./transforms/copy-data-view");
function initializeData() {}
function initCSVData() {}
function initData() {}
function initFoldData() {}
function dataViewFromDataView(rawData, dataSet, op) {
dataSet = dataSet instanceof vdataset_1.DataSet ? dataSet : rawData.dataSet, (0,
register_1.registerDataSetInstanceTransform)(dataSet, "copyDataView", copy_data_view_1.copyDataView);
const viewData = new vdataset_1.DataView(dataSet, op);
return viewData.parse([ rawData ], {
type: "dataview"
}), viewData.transform({
type: "copyDataView",
level: TransformLevel.copyDataView
}), viewData;
}
function dataToDataView(data, dataSet, sourceDataViews = []) {
var _a;
if (data instanceof vdataset_1.DataView) return data;
const {id: id, values: values = [], fromDataIndex: fromDataIndex, fromDataId: fromDataId, transforms: transforms = []} = data, parser = data.parser ? (0,
vutils_1.cloneDeep)(data.parser) : {
clone: !0
}, fields = (0, vutils_1.cloneDeep)(data.fields);
let dataView;
parser.clone = !(!1 === parser.clone);
const existDataView = sourceDataViews.find((dv => dv.name === id));
if (existDataView) dataView = existDataView; else {
const initOption = {
name: id
};
if (fields && (initOption.fields = fields), dataView = new vdataset_1.DataView(dataSet, initOption),
"string" == typeof fromDataId) {
const fromDataView = sourceDataViews.find((dv => dv.name === fromDataId));
if (!fromDataView) return (0, debug_1.warn)(`no data matches fromDataId ${fromDataId}`),
null;
dataView.parse([ fromDataView ], {
type: "dataview"
}), dataView.transform({
type: "copyDataView"
});
} else if ("number" == typeof fromDataIndex) {
const fromDataView = sourceDataViews[fromDataIndex];
if (!fromDataView) return (0, debug_1.warn)(`no data matches fromDataIndex ${fromDataIndex}`),
null;
dataView.parse([ fromDataView ], {
type: "dataview"
}), dataView.transform({
type: "copyDataView"
});
} else Array.isArray(values) ? dataView.parse(values, parser) : !(0, vutils_1.isString)(values) || parser && ![ "csv", "dsv", "tsv" ].includes(parser.type) ? (dataView.parse([]),
(0, debug_1.warn)("values should be array")) : dataView.parse(values, null !== (_a = parser) && void 0 !== _a ? _a : {
type: "csv"
});
transforms && transforms.length && transforms.forEach((transform => {
dataSet.getTransform(transform.type) && dataView.transform(transform);
}));
}
return dataView;
}
function updateDataViewInData(dataView, data, forceMerge) {
dataView && (data.fields && dataView.setFields(data.fields, forceMerge), dataView.parseNewData(data.values, data.parser));
}
var TransformLevel;
exports.initializeData = initializeData, exports.initCSVData = initCSVData, exports.initData = initData,
exports.initFoldData = initFoldData, exports.dataViewFromDataView = dataViewFromDataView,
exports.dataToDataView = dataToDataView, exports.updateDataViewInData = updateDataViewInData,
function(TransformLevel) {
TransformLevel[TransformLevel.copyDataView = -10] = "copyDataView", TransformLevel[TransformLevel.treemapFilter = -8] = "treemapFilter",
TransformLevel[TransformLevel.treemapFlatten = -7] = "treemapFlatten", TransformLevel[TransformLevel.dotObjFlat = -7] = "dotObjFlat",
TransformLevel[TransformLevel.linkDotInfo = -7] = "linkDotInfo", TransformLevel[TransformLevel.sankeyLayout = -7] = "sankeyLayout",
TransformLevel[TransformLevel.dataZoomFilter = -6] = "dataZoomFilter", TransformLevel[TransformLevel.legendFilter = -5] = "legendFilter";
}(TransformLevel = exports.TransformLevel || (exports.TransformLevel = {}));
//# sourceMappingURL=initialize.js.map