]>
git.proxmox.com Git - ceph.git/blob - ceph/src/pybind/mgr/dashboard/static/AdminLTE-2.3.7/plugins/flot/jquery.flot.threshold.min.js
1 (function($){var options
={series
:{threshold
:null}};function init(plot
){function thresholdData(plot
,s
,datapoints
,below
,color
){var ps
=datapoints
.pointsize
,i
,x
,y
,p
,prevp
,thresholded
=$.extend({},s
);thresholded
.datapoints
={points
:[],pointsize
:ps
,format
:datapoints
.format
};thresholded
.label
=null;thresholded
.color
=color
;thresholded
.threshold
=null;thresholded
.originSeries
=s
;thresholded
.data
=[];var origpoints
=datapoints
.points
,addCrossingPoints
=s
.lines
.show
;var threspoints
=[];var newpoints
=[];var m
;for(i
=0;i
<origpoints
.length
;i
+=ps
){x
=origpoints
[i
];y
=origpoints
[i
+1];prevp
=p
;if(y
<below
)p
=threspoints
;else p
=newpoints
;if(addCrossingPoints
&&prevp
!=p
&&x
!=null&&i
>0&&origpoints
[i
-ps
]!=null){var interx
=x
+(below
-y
)*(x
-origpoints
[i
-ps
])/(y
-origpoints
[i
-ps
+1]);prevp
.push(interx
);prevp
.push(below
);for(m
=2;m
<ps
;++m
)prevp
.push(origpoints
[i
+m
]);p
.push(null);p
.push(null);for(m
=2;m
<ps
;++m
)p
.push(origpoints
[i
+m
]);p
.push(interx
);p
.push(below
);for(m
=2;m
<ps
;++m
)p
.push(origpoints
[i
+m
])}p
.push(x
);p
.push(y
);for(m
=2;m
<ps
;++m
)p
.push(origpoints
[i
+m
])}datapoints
.points
=newpoints
;thresholded
.datapoints
.points
=threspoints
;if(thresholded
.datapoints
.points
.length
>0){var origIndex
=$.inArray(s
,plot
.getData());plot
.getData().splice(origIndex
+1,0,thresholded
)}}function processThresholds(plot
,s
,datapoints
){if(!s
.threshold
)return;if(s
.threshold
instanceof Array
){s
.threshold
.sort(function(a
,b
){return a
.below
-b
.below
});$(s
.threshold
).each(function(i
,th
){thresholdData(plot
,s
,datapoints
,th
.below
,th
.color
)})}else{thresholdData(plot
,s
,datapoints
,s
.threshold
.below
,s
.threshold
.color
)}}plot
.hooks
.processDatapoints
.push(processThresholds
)}$.plot
.plugins
.push({init
:init
,options
:options
,name
:"threshold",version
:"1.2"})})(jQuery
);