123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240 |
- (function($){
-
- $.callBack = function(options) {
- if(options!=null){
- if(options.message!=null)alert(options.message);
- if(options.fonction!=null && options.redirection==null)eval(options.fonction);
-
- if(options.redirection!=null){
- $.ajax({
- url: options.redirection,
- type:"GET",
- success: function(response) {
- $((options.section==null?'#content':options.section)).html(response);
- if(options.fonction!=null)eval(options.fonction);
- }
- });
- }
-
- }
- }
- $.action = function(data,success,error) {
-
- $.ajax({
- dataType : 'json',
- method : 'POST',
- url : 'action.php',
- data : data,
- async:(data.async!=null?data.async:true),
- success: function(response){
- if(response.errors == null ) response.errors.push('Erreur indefinie, merci de contacter un administrateur');
- if(response.errors.length ==0 ){
- if(success!=null)success(response);
- }else{
- alert('ERREUR : '+"\n"+response.errors.join("\n"));
- if(error!=null) error(response);
- }
- },
- error : function(){
- alert('Erreur indefinie, merci de contacter un administrateur');
- }
- });
- }
- $.urlParam = function(name){
- var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);
- if (results==null){
- return null;
- }else{
- return results[1] || 0;
- }
- }
-
-
-
- $.method = function(options) {
- var defaults = {
- url: function(){},
- success: $.callBack
-
- }
-
- var options = $.extend(defaults, options);
-
- var o = options;
-
- $.ajax({
- url: o.url,
- type:"POST",
- contentType: 'application/json',
- dataType: 'json',
- data:$.toJSON(o),
- success: function(response) {
- o.success(eval(response.d));
- }
- });
-
- }
-
-
-
- $.fn.extend({
-
- chart: function(options) {
- var defaults = {
- type: 'bar',
- success: $.callBack,
- label : ["January","February","March","April","May","June","July"],
- data: [0,1,2,3,4,5,6],
- options : {responsive : true},
- backgroundColor : ["rgba(220,220,220,0.5)"],
- borderColor : ["rgba(220,220,220,0.8)"],
- backgroundColorHover: ["rgba(220,220,220,0.75)"],
- borderColorHover: ["rgba(220,220,220,1)"],
- segmentShowStroke:false
- }
-
- var options = $.extend(defaults, options);
-
-
- return this.each(function() {
- var o = options;
- var obj = $(this);
-
- var graphic = new Chart(obj[0].getContext("2d"));
-
- var conf = {
- labels : o.label,
- datasets:[{
- fillColor : o.backgroundColor[0],
- strokeColor : o.borderColor[0],
- highlightFill: o.backgroundColorHover[0],
- highlightStroke: o.borderColorHover[0],
- data : o.data
- }]
- };
-
-
- switch(o.type){
- case 'line':
- graphic.Line(conf,o.options);
- break;
- case 'pie':
- var conf = [];
- for(var key in o.data){
- var backgroundColor = o.backgroundColor[key] == null ? '#cecece': o.backgroundColor[key];
- var backgroundColorHover = o.backgroundColorHover[key] == null ? '#dedede': o.backgroundColorHover[key];
- conf.push({ value : o.data[key],highlight : backgroundColorHover,color : backgroundColor,label : o.label[key] });
- }
-
- graphic.Pie(conf,o.options);
- break;
-
- case 'doughnut':
- var conf = [];
- for(var key in o.data){
- var backgroundColor = o.backgroundColor[key] == null ? '#cecece': o.backgroundColor[key];
- var backgroundColorHover = o.backgroundColorHover[key] == null ? '#dedede': o.backgroundColorHover[key];
- conf.push({ value : o.data[key],highlight : backgroundColorHover,color : backgroundColor,label : o.label[key] });
- }
- o.options.segmentShowStroke = false;
- o.options.percentageInnerCutout = 60;
-
- var myGraphic = graphic.Doughnut(conf,o.options);
-
- break;
- case 'bar':
- default :
- graphic.Bar(conf,o.options);
- break;
- }
-
- });
- },
- toData: function() {
- var data = {};
- $('input,select,textarea',this).each(function(i,element){
- if(element.id!=null && element.id!=""){
- if($(element).attr("type")=='checkbox' || $(element).attr("type")=='radio'){
- data[element.id] = $(element).is(':checked')?1:0;
- }else{
- data[element.id] = $(element).val();
- }
- }
- });
-
- return data;
- },
-
- send: function(options) {
- console.warn('Function $(form).send is deprecated, please replace by $(form).toData + ajax request');
- var defaults = {
- url: function(){},
- success: $.callBack,
- data: {}
- }
-
- var options = $.extend(defaults, options);
- return this.each(function() {
- var o = $.extend( $(this).toData(), o );
- $.method(o);
- });
- },
-
-
- enter: function (option){
- return this.each(function() {
- var obj = $(this);
- obj.keydown(function(event){
- if(event.keyCode == 13){
- option();
- return false;
- }
- });
- });
- },
- date: function (){
- return this.each(function() {
- var obj = $(this);
- obj.datepicker({
- dateFormat: "dd/mm/yy",
- dayNames: ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"],
- dayNamesMin: ["Di", "Lu", "Ma", "Me", "Je", "Ve", "Sa"],
- dayNamesShort: ["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam"],
- monthNames: ["Janvier","Février","Mars","Avril","Mai","Juin","Jullet","Aout","Septembre","Octobre","Novembre","Décembre"],
- firstDay: 1
- });
- });
- },
- autocomplete: function (options){
- var defaults = {
- source: []
- }
- var options = $.extend(defaults, options);
- return this.each(function() {
- var o = options;
- var obj = $(this);
- obj.typeahead(o);
- });
- },
-
- });
-
- })(jQuery);
-
|