@fusioncharts/fusiontime
Version:
FusionCharts JavaScript time-series charting framework
1 lines • 2.82 kB
JavaScript
;var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule=true;exports.calculateDomainForUserCustomBin=calculateDomainForUserCustomBin;exports.filterStandarBinsToUserConfig=filterStandarBinsToUserConfig;exports.setBinningRules=setBinningRules;exports.validateFocusLimit=validateFocusLimit;exports.validateUserBin=validateUserBin;var _pluckNumber=_interopRequireDefault(require("@fusioncharts/utils/src/pluck-number"));function validateFocusLimit(timeInterval,currentTimeSelection,chart){var domain=chart.getFromEnv("contextBins")[0].getBinDomain(),maxDomain=domain[1].getTime(),minDomain=domain[0].getTime(),start=timeInterval.start,end=timeInterval.end;if(start==null&&end==null){return false}else if(isNaN(start)&&isNaN(end)){return false}else if(!isNaN(start)&&(isNaN(end)||end===null)){end=currentTimeSelection.end}else if((isNaN(start)||start===null)&&!isNaN(end)){start=currentTimeSelection.start}if(start>end){start=start+end;end=start-end;start=start-end}start=Math.max(minDomain,start);end=Math.min(maxDomain,end);return[start,end]}function filterStandarBinsToUserConfig(standardBins){var binObj={};for(var index=0;index<standardBins.length;index++){var bin=standardBins[index],binUnit=bin[0].name();if(binObj[binUnit]){binObj[binUnit].push(bin[1])}else{binObj[binUnit]=[bin[1]]}}return binObj}function setBinningRules(customBin){var FC=this,chartData=FC.getJSONData();if(chartData.xaxis==null){chartData.xaxis={}}chartData.xaxis.binning=customBin;FC.setJSONData(chartData);return FC}function validateUserBin(customBin,chart){var unit=customBin.unit,multiplier=customBin.multiplier,contextBins=chart.getFromEnv("contextBins")[0],atomicity=contextBins.getBinMin()[2],standardBins=contextBins.getStandardBins(),intervalIndexMap=contextBins.intervalIndexMap;multiplier=(0,_pluckNumber.default)(multiplier,1);unit=unit.toLowerCase();if(intervalIndexMap[unit]==null){return false}for(var index=intervalIndexMap[unit];index<standardBins.length;index++){var bin=standardBins[index];if(bin[0].name()!==unit||bin[2]<atomicity){break}if(bin[1]===multiplier){return{unit:unit,multiplier:multiplier,duration:bin[2]}}}return false}function calculateDomainForUserCustomBin(customBin,chart){var duration=customBin.duration,contextBins=chart.getFromEnv("contextBins")[0],maxDomainLimit=contextBins.getBinDomain(),range=contextBins.getBinRange(),currentTimeSelection=chart.getFocusLimit(),currentEndTime=currentTimeSelection[1],minTime=maxDomainLimit[0].getTime(),maxTime=maxDomainLimit[1].getTime(),leftTimeToGo=currentEndTime-duration*range[1]/contextBins.thresholdPixels,rightTimeToGo=currentEndTime+(minTime-leftTimeToGo);if(leftTimeToGo>=minTime){return[leftTimeToGo,currentEndTime]}else if(rightTimeToGo<=maxTime){return[minTime,rightTimeToGo]}return[minTime,maxTime]}