1(function($) { 2 var checkboxOnChange = function(){ 3 var label = $(this).parent().find('label'); 4 5 if($(this).is(':checked')){ 6 label.removeClass('btn-default'); 7 label.removeClass('checker-button-disabled'); 8 9 label.addClass('checker-button-yes'); 10 label.addClass('btn-success'); 11 }else{ 12 label.removeClass('checker-button-yes'); 13 label.removeClass('btn-success'); 14 15 label.addClass('btn-default'); 16 label.addClass('checker-button-disabled'); 17 } 18 }; 19 20 var configuration = { 21 checkbox_events: { 22 change: checkboxOnChange 23 }, 24 label_events: {} 25 }; 26 27 $.fn.dayschecker = function(configs){ 28 29 configuration = $.extend(configuration, configs); 30 31 week_days_names = window.text.week_days; 32 33 this.each(function(j){ 34 35 36 37 var input_value = $(this).data('input_value') ? ($(this).data('input_value')).toString().split(':') : []; 38 var short_input_name = $(this).data('input_name'); 39 40 if($(this).hasClass('dayschecker')){ 41 return; 42 }else{ 43 $(this).addClass('dayschecker'); 44 } 45 46 $(this).html(''); 47 48 var indexOfArraySign = short_input_name.indexOf('['); 49 var array_definition_in_short_name = '[]'; 50 if(indexOfArraySign !== -1){ 51 array_definition_in_short_name = short_input_name.substring( indexOfArraySign, short_input_name.length ); 52 short_input_name = short_input_name.substring( 0, indexOfArraySign ); 53 } 54 55 if(short_input_name === undefined){ 56 throw "you have to define data-input_name param"; 57 } 58 59 configuration.input_name = 'data[' + short_input_name + ']' + array_definition_in_short_name; 60 61 for(var i in week_days_names){ 62 if(typeof week_days_names[i] == 'function'){ 63 continue; 64 } 65 day_name = week_days_names[i]; 66 67 id_prop = short_input_name + '_' + j + i; 68 69 btn_group_div = $('<div></div>', { 70 "class": "btn-group" 71 }); 72 73 value = i; 74 value++; 75 76 if(value == 7){ 77 value = 0; 78 } 79 80 $('<input/>', { 81 type: "checkbox", 82 hidden: true, 83 id: id_prop, 84 on: configuration.checkbox_events, 85 name: configuration.input_name, 86 value: value, 87 checked: ( input_value.indexOf(value.toString(10)) !== -1 || (value == 7 && input_value.indexOf("0") !== -1) ) 88 }).appendTo(btn_group_div); 89 90 $('<label></label>', { 91 text: day_name, 92 for: id_prop, 93 on: configuration.label_events, 94 class: "checker-button-disabled btn btn-default" 95 }).appendTo(btn_group_div); 96 97 $(btn_group_div).appendTo(this); 98 } 99 $('input', this).trigger('change'); 100 }); 101 }; 102 103})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.