Ignore:
Timestamp:
03/20/13 17:38:28 (11 years ago)
Author:
douglas
Message:

Ticket #3383 - Melhorias ao alterar data e hora de eventos

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2.5/prototype/modules/calendar/js/helpers.js

    r8036 r8047  
    590590            if( newDt > endDate )  
    591591                $(".end-date").val(storeSelectedDate);  
     592        },  
     593        onClose: function(){  
     594                UI.dialogs.addEvent.find(".end-date").val(UI.dialogs.addEvent.find(".start-date").val());  
    592595        }  
    593596    });  
     
    10031006dateSameValue();  
    10041007  
     1008var fixHour = function(){  
     1009    currentTimeStart = UI.dialogs.addEvent.find("input.start-time").val();  
     1010    UI.dialogs.addEvent.find("input.start-time").val(currentTimeStart.replace(".","").replace(".",""));  
     1011}     
    10051012  
    10061013var setTime = function( selectedDateTime ) {  
     
    10281035    var minutes = dt.getMinutes().toString();  
    10291036    var hours = dt.getHours();  
    1030   
     1037UI.dialogs.addEvent.find("input.start-time").val(selectedDateTime.replace(".","").replace(".",""));  
     1038      
     1039      
    10311040    if (time[1].indexOf("p.m.") != -1 ) {  
    10321041        var startHours = startHours == 12 ? 12 : startHours;  
     
    10451054        var startHours = startHours == 12 ? 00 : startHours;  
    10461055    }  
    1047     dtFormat = (time[1].indexOf("p.m.") != -1 || time[1].indexOf("a.m.") != -1) ? ((((User.preferences.defaultDuration / 60) + startHours) >= 12 && (startHours + 4) < 24) ? " pm" : " am") : "";  
     1056  
     1057  
     1058    dtFormat = (time[1].indexOf("p.m.") != -1 || time[1].indexOf("a.m.") != -1) ? ((((User.preferences.defaultDuration / 60) + startHours) >= 12 && (startHours + (User.preferences.defaultDuration / 60)) < 24) ? " pm" : " am") : "";  
    10481059         
    10491060    var newHours = "";  
     
    10711082}  
    10721083  
    1073 $(".start-date").focusout(function(data){   
    1074     $(".end-date").val($(this).val());  
    1075 }); 
    1076   
    1077 if($("#calendar").fullCalendar('getView').name == "month"){  
     1084    UI.dialogs.addEvent.find(".start-date").focusout(function(data){   
     1085        UI.dialogs.addEvent.find(".end-date").val($(this).val());  
     1086    });  
    10781087 
    10791088    var oldTime = UI.dialogs.addEvent.find('input.start-time').val(); 
    10801089    $(".start-time").focusout(function(data){  
    1081         setTime( $(this).val() );  
     1090        if($("#calendar").fullCalendar('getView').name == "month"){  
     1091            setTime( $(this).val() );  
     1092        }  
    10821093    });  
    10831094   
     
    10861097        timeFormat: "hh:mm tt",  
    10871098        onSelect: function( selectedDateTime ){  
    1088             setTime( selectedDateTime );  
    1089         }     
     1099            if($("#calendar").fullCalendar('getView').name == "month"){  
     1100                if ( selectedDateTime.indexOf("p.m.") == -1 || !selectedDateTime.indexOf("a.m.") == -1 ) {  
     1101                    var selectedTime = selectedDateTime.split(":");  
     1102                    var endTime = UI.dialogs.addEvent.find(".end-time").val();  
     1103                    endTime = endTime.split(":");  
     1104  
     1105                    var t1 = new Date(false,false,false,selectedTime[0],selectedTime[1],false);  
     1106                    var t2 = new Date(false,false,false,endTime[0],endTime[1],false);  
     1107  
     1108                    if (t1 < t2) return true;  
     1109                }  
     1110  
     1111                setTime( selectedDateTime );  
     1112            }  
     1113        },  
     1114        onClose : function (selectedDateTime){  
     1115            fixHour();  
     1116        }  
     1117  
    10901118    });  
    10911119  
    1092 }  
    1093   
    1094 UI.dialogs.addEvent.find('input.time').timepicker({  
     1120 
     1121  
     1122UI.dialogs.addEvent.find('input.end-time').timepicker({  
    10951123    closeText: 'Ok', 
    10961124    hourGrid: 4, 
     
    11041132                $(this).val(selectedDateTime.replace(/[\.]/gi, ""));                                                             
    11051133                updateMap(); 
     1134  
     1135        if ( selectedDateTime.indexOf("p.m.") == -1 || !selectedDateTime.indexOf("a.m.") == -1 ) {  
     1136            var startT = UI.dialogs.addEvent.find('input.start-time');  
     1137  
     1138            var lessZeroTime = function( sTime ) {  
     1139                sTime = sTime.split(":");  
     1140                sTime = new Date(false,false,false,sTime[0],sTime[1],false);  
     1141                sTimeReady = parseInt(sTime.getHours() - (User.preferences.defaultDuration / 60));  
     1142  
     1143                if( sTimeReady < 0 )  
     1144                    return false; // If the value is less than 0, return false.  
     1145                      
     1146                return sTimeReady.toString().length == 1 ? "0"+sTimeReady+":00" : sTimeReady+":00";  
     1147            }  
     1148  
     1149            var hEnd = new Date(false,false,false,selectedDateTime.split(":")[0],selectedDateTime.split(":")[1],false);  
     1150            var hStart = new Date(false,false,false,startT.val().split(":")[0],startT.val().split(":")[1],false);  
     1151              
     1152            if ( hEnd <= hStart ){  
     1153                var lessTime = lessZeroTime( selectedDateTime );  
     1154                if ( !lessTime ){  
     1155                    startT.val( "00:00" );  
     1156                    return true;  
     1157                }  
     1158                startT.val( lessTime );  
     1159            }  
     1160        }  
    11061161    }, 
    11071162    onClose : function (selectedDateTime){ 
    11081163        if(!(User.preferences.hourFormat.length == 5)) 
    11091164            $(this).val(selectedDateTime.replace(/[\.]/gi, "")); 
     1165    fixHour();  
    11101166    }, 
    11111167    beforeShow: function (selectedDateTime) { 
Note: See TracChangeset for help on using the changeset viewer.