MCPcopy Index your code
hub / github.com/SuperMap/iClient-JavaScript / parseRawOption

Function parseRawOption

libs/echarts/echarts-en.simple.js:22359–22424  ·  view source on GitHub ↗
(rawOption, optionPreprocessorFuncs, isNew)

Source from the content-addressed store, hash-verified

22357};
22358
22359function parseRawOption(rawOption, optionPreprocessorFuncs, isNew) {
22360 var timelineOptions = [];
22361 var mediaList = [];
22362 var mediaDefault;
22363 var baseOption;
22364
22365 // Compatible with ec2.
22366 var timelineOpt = rawOption.timeline;
22367
22368 if (rawOption.baseOption) {
22369 baseOption = rawOption.baseOption;
22370 }
22371
22372 // For timeline
22373 if (timelineOpt || rawOption.options) {
22374 baseOption = baseOption || {};
22375 timelineOptions = (rawOption.options || []).slice();
22376 }
22377
22378 // For media query
22379 if (rawOption.media) {
22380 baseOption = baseOption || {};
22381 var media = rawOption.media;
22382 each$4(media, function (singleMedia) {
22383 if (singleMedia && singleMedia.option) {
22384 if (singleMedia.query) {
22385 mediaList.push(singleMedia);
22386 }
22387 else if (!mediaDefault) {
22388 // Use the first media default.
22389 mediaDefault = singleMedia;
22390 }
22391 }
22392 });
22393 }
22394
22395 // For normal option
22396 if (!baseOption) {
22397 baseOption = rawOption;
22398 }
22399
22400 // Set timelineOpt to baseOption in ec3,
22401 // which is convenient for merge option.
22402 if (!baseOption.timeline) {
22403 baseOption.timeline = timelineOpt;
22404 }
22405
22406 // Preprocess.
22407 each$4([baseOption].concat(timelineOptions)
22408 .concat(map(mediaList, function (media) {
22409 return media.option;
22410 })),
22411 function (option) {
22412 each$4(optionPreprocessorFuncs, function (preProcess) {
22413 preProcess(option, isNew);
22414 });
22415 }
22416 );

Callers

nothing calls this directly

Calls 2

pushMethod · 0.80
mapFunction · 0.70

Tested by

no test coverage detected