myems-admin/js/plugins/flot/angular-flot.js
// Generated by CoffeeScript 1.8.0
angular.module('angular-flot', []).directive('flot', function() {
return {
restrict: 'EA',
template: '<div></div>',
scope: {
dataset: '=',
options: '=',
callback: '='
},
link: function(scope, element, attributes) {
var height, init, onDatasetChanged, onOptionsChanged, plot, plotArea, width, _ref, _ref1;
plot = null;
width = attributes.width || '100%';
height = attributes.height || '100%';
if (((_ref = scope.options) != null ? (_ref1 = _ref.legend) != null ? _ref1.container : void 0 : void 0) instanceof jQuery) {
throw 'Please use a jQuery expression string with the "legend.container" option.';
}
if (!scope.dataset) {
scope.dataset = [];
}
if (!scope.options) {
scope.options = {
legend: {
show: false
}
};
}
plotArea = $(element.children()[0]);
plotArea.css({
width: width,
height: height
});
init = function() {
var plotObj;
plotObj = $.plot(plotArea, scope.dataset, scope.options);
if (scope.callback) {
scope.callback(plotObj);
}
return plotObj;
};
onDatasetChanged = function(dataset) {
if (plot) {
plot.setData(dataset);
plot.setupGrid();
return plot.draw();
} else {
return plot = init();
}
};
scope.$watch('dataset', onDatasetChanged, true);
onOptionsChanged = function() {
return plot = init();
};
return scope.$watch('options', onOptionsChanged, true);
}
};
});