UNPKG

@visactor/vchart

Version:

charts lib based @visactor/VGrammar

89 lines (77 loc) 4.47 kB
"use strict"; 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