1// ========== Edit Support ========== 2 3(function ($) { 4 var kendo = window.kendo, 5 ui = kendo.ui, 6 Widget = ui.Widget, 7 proxy = $.proxy, 8 CHANGE = "change", 9 PROGRESS = "progress", 10 ERROR = "error", 11 NS = ".generalInfo"; 12 13 var MaskedDatePicker = Widget.extend({ 14 init: function (element, options) { 15 var that = this; 16 Widget.fn.init.call(this, element, options); 17 18 $(element).kendoMaskedTextBox({ mask: that.options.dateOptions.mask || "00/00/0000" }) 19 .kendoDatePicker({ 20 format: that.options.dateOptions.format || "dd/MM/yyyy", 21 parseFormats: that.options.dateOptions.parseFormats || ["dd/MM/yyyy", "dd/MM/yy"] 22 }) 23 .closest(".k-datepicker") 24 .add(element) 25 .removeClass("k-textbox"); 26 27 that.element.data("kendoDatePicker").bind("change", function () { 28 that.trigger(CHANGE); 29 }); 30 }, 31 options: { 32 name: "MaskedDatePicker", 33 dateOptions: {} 34 }, 35 events: [ 36 CHANGE 37 ], 38 destroy: function () { 39 var that = this; 40 Widget.fn.destroy.call(that); 41 42 kendo.destroy(that.element); 43 }, 44 value: function (value) { 45 var datepicker = this.element.data("kendoDatePicker"); 46 47 if (value === undefined) { 48 return datepicker.value(); 49 } 50 51 datepicker.value(value); 52 } 53 }); 54 55 ui.plugin(MaskedDatePicker); 56 57})(window.kendo.jQuery); 58 59$(function () { 60 61 62 var culture = "el-GR"; 63 kendo.culture(culture); 64 65 $.validator.methods.date = function (value, element) { 66 return this.optional(element) || validate_date(value); 67 } 68 69 70 $("form").bind("keypress", function (e) { 71 if (e.keyCode == 13) { 72 return false; 73 } 74 }); 75 76 var residencePermitUntilDatePicker = $("#residencePermitUntil"); 77 78 var validStartDatePicker = $("#validStart"); 79 var validEndDatePicker = $("#validEnd"); 80 81 var checkAppFileStartPicker = $("#checkAppFileStart"); 82 var checkAppFileEndPicker = $("#checkAppFileEnd"); 83 84 var approveStartPicker = $("#approveStart"); 85 var approveEndPicker = $("#approveEnd"); 86 var rejectStartPicker = $("#rejectStart"); 87 var rejectEndPicker = $("#rejectEnd"); 88 //residencePermitUntilDatePicker.kendoMaskedTextBox({ 89 // mask: "00/00/0000" 90 //}); 91 92 // create DateTimePicker from input HTML element 93 //residencePermitUntilDatePicker.kendoDatePicker({ 94 // //start: "century" 95 // format: "d/M/yyyy",
96 // parseFormats: ["dd/MM/yyyy", "d/M/yyyy", "dd-MM-yyyy", "d-M-yyyy"], 97 // dateInput: true 98 //}); 99 100 101 residencePermitUntilDatePicker.kendoMaskedDatePicker({ 102 format: "d/M/yyyy", 103 parseFormats: ["dd/MM/yyyy", "d/M/yyyy", "dd-MM-yyyy", "d-M-yyyy"], 104 dateInput: true 105 }); 106 107 validStartDatePicker.kendoMaskedDatePicker({ 108 format: "d/M/yyyy", 109 parseFormats: ["dd/MM/yyyy", "d/M/yyyy", "dd-MM-yyyy", "d-M-yyyy"], 110 dateInput: true 111 }); 112 113 validEndDatePicker.kendoMaskedDatePicker({ 114 format: "d/M/yyyy", 115 parseFormats: ["dd/MM/yyyy", "d/M/yyyy", "dd-MM-yyyy", "d-M-yyyy"], 116 dateInput: true 117 }); 118 119 checkAppFileStartPicker.kendoMaskedDatePicker({ 120 format: "dd/MM/yyyy", 121 parseFormats: ["dd/MM/yyyy"], 122 dateInput: true 123 }); 124 125 checkAppFileEndPicker.kendoMaskedDatePicker({ 126 format: "d/M/yyyy", 127 parseFormats: ["dd/MM/yyyy", "d/M/yyyy", "dd-MM-yyyy", "d-M-yyyy"], 128 dateInput: true 129 }); 130 131 approveStartPicker.kendoMaskedDatePicker({ 132 format: "d/M/yyyy",
133 parseFormats: ["dd/MM/yyyy", "d/M/yyyy", "dd-MM-yyyy", "d-M-yyyy"], 134 dateInput: true 135 }); 136 137 approveEndPicker.kendoMaskedDatePicker({ 138 format: "d/M/yyyy", 139 parseFormats: ["dd/MM/yyyy", "d/M/yyyy", "dd-MM-yyyy", "d-M-yyyy"], 140 dateInput: true 141 }); 142 143 rejectStartPicker.kendoMaskedDatePicker({ 144 format: "d/M/yyyy", 145 parseFormats: ["dd/MM/yyyy", "d/M/yyyy", "dd-MM-yyyy", "d-M-yyyy"], 146 dateInput: true 147 }); 148 149 rejectEndPicker.kendoMaskedDatePicker({ 150 format: "d/M/yyyy", 151 parseFormats: ["dd/MM/yyyy", "d/M/yyyy", "dd-MM-yyyy", "d-M-yyyy"], 152 dateInput: true 153 }); 154 155 //residencePermitUntilDatePicker.closest(".k-datepicker") 156 // .add(residencePermitUntilDatePicker) 157 // .removeClass("k-textbox"); 158 //}); 159 160 161 $("#postcode").kendoAutoComplete({ 162 template: "#= Code # | #= City # | #= District #", 163 virtual: true, 164 noDataTemplate: false, 165 dataSource: { 166 transport: { 167 read: { 168 url: "../postcode", 169 dataType: "json", 170 data: { 171 q: function () { 172 return $("#postcode").val(); 173 } 174 } 175 }, 176 parameterMap: function (data, type) { 177 var ret = null; 178 if (data.filter.filters[0] != undefined) { 179 ret = data.filter.filters[0].value; 180 } 181 return { q: ret }; 182 } 183 }, 184 serverFiltering: true, 185 186 }, 187 minLength: 2, 188 dataTextField: "Code", 189 select: function (e) { 190 var dataItem = this.dataItem(e.item.index()); 191 $("#municipality").val(dataItem.City); 192 $("#county").val(dataItem.District); 193 }, 194 close: function (e) { 195 if (this.dataItems().length == 1) { 196 var dataItem = this.dataItem(0); 197 $("#municipality").val(dataItem.City); 198 $("#county").val(dataItem.District); 199 } 200 } 201 }); 202 203 204 function validate_date(date) { 205 var pattern = new RegExp(/\b\d{1,2}[\/-]\d{1,2}[\/-]\d{4}\b/); 206 //return pattern.test(date); 207 if (pattern.test(date)) { 208 var dArr = date.split("/"); 209 var d = new Date(dArr[1] + "/" + dArr[0] + "/" + dArr[2]); 210 return d.getDate() == dArr[0] && d.getMonth() + 1 == dArr[1] && d.getFullYear() == dArr[2] && d.getFullYear() >= 1900; 211 } 212 else { 213 return false; 214 } 215 } 216 217 function showContainerFormGroup($elm, show) { 218 var $container = $elm.closest(".form-group"); 219 if (show) $container.show(); else $container.hide(); 220 } 221 222});
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.