From 4aa659d2063a6ef585dd4f255545b579b46ecdaa Mon Sep 17 00:00:00 2001 From: borissedw Date: Fri, 22 Sep 2023 20:23:49 +0300 Subject: [PATCH] 0.0.256 --- static/css/styles(boris).css | 13 +- static/js/dynamic_loading_routes.js | 9 +- static/js/range_calendar.js | 69 ++ static/js/rangecalendartech.js | 771 ++++++++++++++++++ .../f_find_route_form_main_find_routes.html | 18 +- templates/pages/p_results_find_route.html | 1 + templates/tb_base.html | 7 + 7 files changed, 874 insertions(+), 14 deletions(-) create mode 100644 static/js/range_calendar.js create mode 100644 static/js/rangecalendartech.js diff --git a/static/css/styles(boris).css b/static/css/styles(boris).css index 6052f99..0f2b1a3 100644 --- a/static/css/styles(boris).css +++ b/static/css/styles(boris).css @@ -848,12 +848,12 @@ border-bottom: 1px solid #E6E6E6; border-left: 1px solid #E6E6E6; display: block; - height: 31%; - width: 58%; + height: 20px; + width: 58.1%; float: left; background-image: none !important; margin-top: 0; - padding: 10% 6%; + padding: 20px 15.2px; border-radius: 10px 0 0 10px; } @@ -863,13 +863,13 @@ border-bottom: 1px solid #E6E6E6; border-left: 1px solid #E6E6E6; display: block; - height: 31%; - width: 58%; + height: 20px; + width: 58.1%; border-radius: 0; float: left; background-image: none !important; margin-top: 0; - padding: 10% 6%; + padding: 20px 15.2px; } .input_list.find_route{ @@ -1828,3 +1828,4 @@ margin-bottom: 30px; } + diff --git a/static/js/dynamic_loading_routes.js b/static/js/dynamic_loading_routes.js index b558c19..53d4d35 100644 --- a/static/js/dynamic_loading_routes.js +++ b/static/js/dynamic_loading_routes.js @@ -84,8 +84,9 @@ function forloop_func_form (data,get,str) { let name_attr = list_of_elements_form[i].attributes["name"] let value_el = list_of_elements_form[i].value if (name_attr) { + let name_el = name_attr.value if (list_of_elements_form[i].tagName === "INPUT" && list_of_elements_form[i].type === "checkbox"){ - let name_el = name_attr.value + if (list_of_elements_form[i].checked){ @@ -110,6 +111,12 @@ function forloop_func_form (data,get,str) { } + }else if (name_el === "regervation"){ + let departure_DT = list_of_elements_form[i].dataset['departure_DT'] + let arrival_DT = list_of_elements_form[i].dataset['arrival_DT'] + data['departure_DT'] = departure_DT + data['arrival_DT'] = arrival_DT + str = `${str}departure_DT=${departure_DT}&arrival_DT=${arrival_DT}&` } else { let name_el = name_attr.value data[name_el] = value_el diff --git a/static/js/range_calendar.js b/static/js/range_calendar.js new file mode 100644 index 0000000..76eb700 --- /dev/null +++ b/static/js/range_calendar.js @@ -0,0 +1,69 @@ +// $(function() { +// let inp = document.querySelectorAll("#regervation") +// let dspreg = document.querySelectorAll("#displayRegervation") +// if (inp.length > 1){ +// for (let i = 0;i < inp.length;i++){ +// inp[i].daterangepicker({ +// "autoapply": true, +// "linkedCalendars": false, +// }, +// function(start, end, label) { +// // dspreg[i].text('Registration date is: ' + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD')); +// }); +// $('.drp-calendar.right').hide(); +// $('.drp-calendar.left').addClass('single'); +// +// $('.calendar-table').on('DOMSubtreeModified', function() { +// var el = $(".prev.available").parent().children().last(); +// if (el.hasClass('next available')) { +// return; +// } +// el.addClass('next available'); +// el.append(''); +// }); +// } +// } else { +// $('#regervation').daterangepicker({ +// "autoapply": true, +// "linkedCalendars": false, +// }, +// function(start, end, label) { +// // $('#displayRegervation').text('Registration date is: ' + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD')); +// }); +// $('.drp-calendar.right').hide(); +// $('.drp-calendar.left').addClass('single'); +// +// $('.calendar-table').on('DOMSubtreeModified', function() { +// var el = $(".prev.available").parent().children().last(); +// if (el.hasClass('next available')) { +// return; +// } +// el.addClass('next available'); +// el.append(''); +// }); +// } +// }); + +$(function() { + $('#regervation').daterangepicker({ + "autoapply": true, + "linkedCalendars": false, + }, + function(start, end, label) { + // $('#displayRegervation').text('Registration date is: ' + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD')); + $('#regervation')[0].dataset['departure_DT'] = start.format('YYYY-MM-DD'); + $('#regervation')[0].dataset['arrival_DT'] = end.format('YYYY-MM-DD'); + }); + + $('.drp-calendar.right').hide(); + $('.drp-calendar.left').addClass('single'); + + $('.calendar-table').on('DOMSubtreeModified', function() { + var el = $(".prev.available").parent().children().last(); + if (el.hasClass('next available')) { + return; + } + el.addClass('next available'); + el.append(''); + }); +}); \ No newline at end of file diff --git a/static/js/rangecalendartech.js b/static/js/rangecalendartech.js new file mode 100644 index 0000000..4aea87e --- /dev/null +++ b/static/js/rangecalendartech.js @@ -0,0 +1,771 @@ +/** + * jquery.rangecalendar.js v 1.0.2 + + * Copyright 2013, Angelo Libero Mangieri + * Email: angelo@afreeux.com + */ + + + + +;( function( $, window, undefined ) { + +$.fn.rangeCalendar = function(options) { + + var defaults = { + + lang: "en", + theme: "default-theme", + themeContext: this, + startDate: moment(), + endDate: moment().add('months', 12), + start : "+7", + startRangeWidth : 3, + minRangeWidth: 1, + maxRangeWidth: 14, + weekends: true, + autoHideMonths: false, + visible: true, + trigger: null, + changeRangeCallback : function( el, cont, dateProp ) { return false; } + }; + + var returnObj; + + + this.each(function(i, el) { + + var obj = el, + $el = $(el), + settings = $.extend( true, {},defaults, options ); + obj.options = settings; + + obj.showCalendar = function(animate) { + + var calPos = obj.calendarObj.position(); + var lastItemPos = obj.calendarObj.find(".cell").last().position(); + var lastItemRight = (lastItemPos.left + obj.calendarObj.find(".cell").last().outerWidth() ); + var selectedItemPos = obj.calendarObj.find(".cell").eq(0).position(); + + $el.slideDown((animate ? 300 : 0), function() { + + var windowWidth = $(window).outerWidth(); + $(obj.calendarObj).css({left: windowWidth }); + $(obj.monthsObj).css({left: windowWidth }); + obj._placeElement(obj.calendarObj,(!selectedItemPos ? 0 : selectedItemPos.left) ); + obj._placeElement(obj.monthsObj); + }); + + obj.visible = true; + }, + obj.hideCalendar = function() { + + $el.slideUp(50); + obj.visible = false; + }, + obj.toggleCalendar = function () { + + if(obj.visible) + obj.showCalendar(); + else + obj.hideCalendar(); + }, + + obj.rangeWidth = function(){ + + var cellWidth = obj.calendarObj.find(".cell").outerWidth(); + var rangeWidth = parseInt(obj.calendarObj.find('.range-bar').outerWidth()/cellWidth); + obj._rangeWidth = ( !rangeWidth ? obj._rangeWidth : rangeWidth) ; + + return obj._rangeWidth; + }, + obj.setRangeWidth = function(rangeWidth) { + + var cellWidth = obj.calendarObj.find(".cal-cell").eq(0).outerWidth(); + var rangeWidth = parseInt(!rangeWidth || rangeWidth < obj.minRangeWidth ? obj.minRangeWidth : rangeWidth); + $el.find(".range-bar").width(cellWidth*rangeWidth); + $el.find(".range-bar").trigger("resize"); + }, + obj.range = function() { + + var startDateIndex = obj.calendarObj.find('.cell.selected:eq(0)').index(); + var endDateIndex = obj.calendarObj.find('.cell.selected').last().index(); + var startDate = moment().add('days', startDateIndex+obj.start); + var startDateFormatted = (startDateIndex>=0 ? moment().add('days', startDateIndex+obj.start).format() : null); + var endDateFormatted = (endDateIndex>=0 ? moment().add('days', endDateIndex+obj.start).format() : null); + var range = $.data( obj, "range", { + start: startDateFormatted, + end: endDateFormatted, + width: obj.rangeWidth(), + fromNow: startDate.fromNow() + }); + return range; + }, + + obj.setStartDate = function(startDate) { + + var date = moment(startDate); + var fullYear = date.format("YYYY"); + var monthNumber = date.format("MM"); + var dayNumber = date.format('D'); + var dateId = fullYear+monthNumber+dayNumber; + var monthId = fullYear+monthNumber; + + var dateCell = obj.calendarObj.find('.cell[date-id="'+dateId+'"]').eq(0); + dateCell.trigger("click"); + + var monthCell = obj.monthsObj.find('.cell[month-id="'+monthId+'"]').eq(0); + monthCell.trigger("click"); + }, + + obj.lang = function (){ + return obj.lang; + }, + + obj.setTheme = function (themeName){ + + var _themeName = $(obj.themeContext).attr("theme"); + + if(_themeName) + $(obj.themeContext).removeClass(_themeName); + + $(obj.themeContext).attr("theme",""+themeName+""); + $(obj.themeContext).addClass(""+themeName+""); + obj.theme = themeName; + }, + + obj.update = function() { + + console.log("update"); + moment.lang(obj.lang); + obj.setTheme(obj.theme); + obj._generateView(); + }, + + //EVENTS + obj.didResizeBar = function() { + + var prevRangeWidth = obj.rangeWidth(); + var rangeWidth = prevRangeWidth; + var resizeBarPos = obj.calendarObj.find('.range-bar').position(); + var resizeBarWidth = obj.calendarObj.find('.range-bar').outerWidth(); + var resizeBarRight = resizeBarPos.left+resizeBarWidth; + var cellWidth = $(obj).find(".cell").first().outerWidth(); + var lastCellPos = $(obj).find(".cell").last().position(); + var deltaWidth = 0 + var objWidth = (lastCellPos.left+cellWidth); + + if(resizeBarRight > objWidth){ + + deltaWidth = objWidth-resizeBarWidth; + prevRangeWidth = (resizeBarWidth-deltaWidth)/cellWidth; + } + + + obj.calendarObj.find('.cell').removeClass("selected"); + obj.calendarObj.find('.cell').removeClass("last"); + obj.calendarObj.find('.cell.start').addClass("selected"); + obj.calendarObj.find('.cell.start').nextAll().slice(0, (!rangeWidth ? obj.minRangeWidth-1 : rangeWidth-1)).addClass('selected'); + obj.calendarObj.find('.cell.selected').last().addClass("last"); + obj._dispatchEvent(obj.changeRangeCallback,obj.range(),obj); + }, + obj.didSelectMonth = function(e) { + + + if(obj.isDragging || $(obj.lastTarget).is(obj.monthsObj) ){ + + delete obj.lastTarget; + return; + } + + var currentMonthId = $(this).attr("month-id"); + var currentCellMonth = obj.calendarObj.find('.cell[month-id="'+currentMonthId+'"].selected').eq(0); + var monthPosition = (!currentCellMonth.length ? obj.calendarObj.find('.cell[month-id="'+currentMonthId+'"]').eq(0).position() : currentCellMonth.position()); + var calendarViewWidth = $($el).outerWidth(); + + obj.monthsObj.find('.cell').not(this).removeClass('selected'); + $(this).addClass('selected'); + + obj._placeElement(obj.calendarObj,monthPosition); + obj._dispatchEvent(obj.changeRangeCallback,obj.range(),obj); + + }, + + + + obj.didChangeRange = function(e,ui) { + + if(obj.isDragging || $(obj.lastTarget).is(obj.calendarObj)){ + + delete obj.lastTarget; + return; + } + var rangeWidth = obj.rangeWidth(); + var currentCalItem = $(this); + var lastCalItem = obj.calendarObj.find('.cell').last(); + var delta = lastCalItem.index()-currentCalItem.index(); + + var rightBar = currentCalItem.index()+rangeWidth-1; + if(rightBar > lastCalItem.index()){ + obj.calendarObj.find(' .cell').eq(currentCalItem.index()-rangeWidth+delta+1).trigger("click"); + return; + } + + obj.calendarObj.find(".start").removeClass("start"); + currentCalItem.addClass("start"); + + obj._updateRangeBar(); + obj._updateMonths(); + obj._dispatchEvent(obj.changeRangeCallback,obj.range(),obj); + + }, + + + + ///////////////////////////////////////////////////////* + + // PRIVATE METHODS + + + obj._initRangeBar = function(){ + + $(window).unbind("resize"); //Prevents window.resize event triggering + var rangeWidth = obj.rangeWidth() ; + var cellWidth = obj.calendarObj.find(".cell").eq(0).outerWidth(); + var cellHeight = obj.calendarObj.find(".cell").eq(0).outerHeight(); + var selectedCell = obj.calendarObj.find(".cell.selected:eq(0)"); + + + if(!selectedCell.length) + return; + + + obj.calendarObj.find(".range-bar").unbind( "resize"); + obj.calendarObj.find(".range-bar").remove(); + + $(selectedCell).append('
'); + + if(obj.maxRangeWidth > 1){ + obj.calendarObj.find(".range-bar").resizable({ + grid:[cellWidth,0], + maxWidth: obj.maxRangeWidth*cellWidth, + minWidth: cellWidth*obj.minRangeWidth, + maxHeight:cellHeight, + minHeight:cellHeight, + handles: "e" + }); + } + + + obj.setRangeWidth(rangeWidth); + obj.calendarObj.find(".range-bar").on( "resize", obj.didResizeBar); + + $(window).bind("resize",obj._resize); + + }, + obj._initMonths = function() { + + + + obj.monthsObj.draggable({ + + axis: "x" , + scrollSensitivity: 100, + scrollSpeed: 100 , + cursor: "move", + + create: function (e, ui) { + + obj._updateMonths(); + obj._placeElement(obj.monthsObj); + + }, + start: function (e, ui) { + + obj.isDragging = true; + obj.monthsObj.find('.cell').unbind("click"); + + + }, + drag: function (e, ui) { + + }, + + stop: function(e, ui) { + + + $(this).css({top: 0}); + obj.lastTarget = e.target; + + setTimeout(function(){ + obj.isDragging = false; + delete obj.lastTarget; + obj._placeElement(obj.monthsObj); + obj.monthsObj.find('.cell').bind("click",obj.didSelectMonth); + },10); + } + }); + + }, + + obj._initCalendar = function() { + + var xpos; + + obj.calendarObj.draggable({ + + axis: "x" , + scrollSensitivity: 100, + scrollSpeed: 100 , + cursor: "move", + + create: function () { + + obj.calendarObj.find('.cell').removeClass("selected"); + obj.calendarObj.find('.cell').removeClass("last"); + obj.calendarObj.find(".cell").eq(obj.start-1).addClass("start"); + obj.calendarObj.find(".cell").eq(obj.start-1).addClass("selected"); + obj.calendarObj.find('.cell.start').nextAll().slice(0, obj._rangeWidth-1).addClass('selected'); + obj.calendarObj.find('.cell').bind("click",obj.didChangeRange); + obj.calendarObj.find('.cell.selected').last().addClass("last"); + + obj._placeElement(obj.calendarObj); + }, + start: function(e, ui) { + + xpos = ui.position.left; + $(window).unbind("resize"); //Prevents window.resize event triggering + obj.isDragging = true; + obj.calendarObj.find('.cell').unbind("click"); + }, + drag: function (e, ui) { + + var xmove = ui.position.left - xpos; + var direction = xmove >= 0 ? 'right' : 'left'; + + var rangeCalendarWidth = $el.outerWidth(); + var calendarOffset = obj.calendarObj.position(); + + var monthMaxId = parseInt(obj.monthsObj.find(".cell").last().attr("month-id")); + var monthMinId = parseInt(obj.monthsObj.find(".cell").first().attr("month-id")); + + var currentMonthId = parseInt(obj.monthsObj.find(".cell.selected").attr("month-id")); + var nextMonthId = parseInt(obj.monthsObj.find(".cell.selected").next().attr("month-id")); + var prevMonthId = parseInt(obj.monthsObj.find(".cell.selected").prev().attr("month-id")); + + + if(nextMonthId && currentMonthId && nextMonthId <= monthMaxId && direction == "left") { + + var nextMonthsCell = obj.monthsObj.find('.cell[month-id="'+nextMonthId+'"]'); + var nextMonthCalendarCell = obj.calendarObj.find('.cell[month-id="'+nextMonthId+'"]').first(); + var nextMonthCalendarCellPos = nextMonthCalendarCell.position(); + + + var nextMonthLeftCenter = (rangeCalendarWidth/2 -(nextMonthCalendarCellPos.left )) ; + + if( nextMonthLeftCenter >= calendarOffset.left && calendarOffset.left != 0){ + + obj.monthsObj.find(".cell").removeClass("selected"); + $(nextMonthsCell).addClass("selected"); + obj._placeElement(obj.monthsObj,nextMonthsCell.position()); + } + + } + else if(prevMonthId && currentMonthId && prevMonthId >= monthMinId && direction == "right") { + + var prevMonthCell = obj.monthsObj.find('.cell[month-id="'+prevMonthId+'"]'); + var prevMonthCalendarCell = obj.calendarObj.find('.cell[month-id="'+prevMonthId+'"]').last(); + var prevMonthCalendarCellPos = prevMonthCalendarCell.position(); + var prevMonthLeftCenter = (rangeCalendarWidth/2 -(prevMonthCalendarCellPos.left )) ; + + if(prevMonthLeftCenter <= calendarOffset.left+prevMonthCalendarCell.outerWidth() ) { + + obj.monthsObj.find(".cell").removeClass("selected"); + $(prevMonthCell).addClass("selected"); + + obj._placeElement(obj.monthsObj,prevMonthCell.position()); + } + } + }, + stop: function(e, ui) { + + //alert("Drag easing da inserire"); + //var calendarOffset = obj.calendarObj.position(); + //obj.calendarObj.animate({left: parseInt(calendarOffset.left)-100},300,'easeOutCirc'); + obj.lastTarget = e.target; + obj._placeElement(obj.calendarObj); + + setTimeout(function(){ + obj.isDragging = false; + delete obj.lastTarget; + + obj.calendarObj.find('.cell').bind("click",obj.didChangeRange); + $(window).bind("resize",obj._resize); + obj._placeElement(obj.monthsObj); + },100); + + } + }); + }, + + + obj._attachDragEasing = function(obj){ + + return; + var draggableObj = $(obj); + + var x1, x2, y1, y2, t1, t2, + minDistance = 40, + friction = 10; + + var onMouseMove = function(e) { + var mouseEvents = draggableObj.data("mouseEvents"); + if (e.timeStamp - mouseEvents[mouseEvents.length - 1].timeStamp > 40) { + mouseEvents.push(e); + if (mouseEvents.length > 2) { + mouseEvents.shift(); + } + } + }; + + var onMouseUp = function() { + //$(draggableObj).unbind("mousemove mouseup"); + }; + + draggableObj.bind('dragstart',function (e){ + + draggableObj.data("mouseEvents", [e]); + $(document).mousemove(onMouseMove).mouseup(onMouseUp); + }); + + draggableObj.bind('dragstop',function (e){ + + draggableObj.stop(); + + var lastE = draggableObj.data("mouseEvents").shift(); + + x1 = lastE.pageX; + y1 = lastE.pageY; + t1 = lastE.timeStamp; + x2 = e.pageX; + y2 = e.pageY; + t2 = e.timeStamp; + + // Deltas + var dX = x2 - x1, + dY = y2 - y1, + dMs = Math.max(t2 - t1, 1); + + // Speeds + var speedX = Math.max(Math.min(dX / dMs, 1), -1), + speedY = Math.max(Math.min(dY / dMs, 1), -1); + + // Distance moved (Euclidean distance) + var distance = Math.sqrt(Math.pow(x1 - x2, 2) + Math.pow(y1 - y2, 2)); + + if (distance > minDistance) { + // Momentum + var lastStepTime = new Date(); + + var maxLeft = $(window).width() - (draggableObj.width() + 10), + maxTop = 0; + + draggableObj.animate({ + textIndent: 0 + }, { + duration: Math.max(Math.abs(speedX), Math.abs(speedY)) * 2000, + step: function(currentStep) { + speedX *= (currentStep / 100); + speedY *= (currentStep / 100); + + var now = new Date(); + var stepDuration = now.getTime() - lastStepTime.getTime(); + + lastStepTime = now; + + var position = draggableObj.position(); + + var newLeft = (position.left + (speedX * stepDuration / friction)), + newTop = (position.top + (speedY * stepDuration / friction)); + + console.log(newLeft); + newLeft = newLeft > maxLeft ? maxLeft : newLeft < 10 ? 10 : newLeft; + newTop = newTop > maxTop ? maxTop : newTop < 10 ? 10 : newTop; + + draggableObj.css({ + left: newLeft + "px", + top: 0 + "px" + }); + } + }); + } + }); + }, + obj._getCalendarHTML = function(startDate,endDate) { + + var calendarHtml = ''; + var cell; + var date = moment(startDate).add('days', obj.start); + var endDate = moment(endDate).add('days', obj.start); + var rangeWidth = obj.rangeWidth(); + + for (var index = 1; (date.isBefore(endDate) || date.isSame(endDate)) ; index++){ + + var fullYear = date.format("YYYY"); + var month = date.format("MMM"); + var monthNumber = date.format("MM"); + var day = date.format('ddd'); + var dayNumber = date.format('D'); + var isWeekend = date.day()%6==0; + + if(isWeekend && !obj.weekends){ + date.add('days', 1); + continue; + } + + cell = '
'; + cell += '
'; + cell += '
'+dayNumber+'
'; + + cell += '
'+day+'
'; + cell += '
'; + cell += '
'; + + calendarHtml += cell; + date.add('days', 1); + } + + + + return calendarHtml; + }, + obj._getMonthsHTML = function(startDate,endDate) { + + var monthsHtml = ''; + var cell; + var date = moment(startDate).add('days', obj.start); + var endDate = moment(endDate).add('days', obj.start); + for (var index = 1; (date.isBefore(endDate) || date.isSame(endDate)) ; index++){ + + var year = date.format("YY"); + var fullYear = date.format("YYYY"); + var month = date.format("MMM"); + var monthNumber = date.format("MM"); + + cell = '
'; + cell += ''; + cell += '
'+month+' '+year+'
'; + cell += '
'; + + monthsHtml += cell; + date.add('month', 1); + } + + return monthsHtml; + }, + obj._updateMonths = function() { + + var currentMonth = obj.calendarObj.find('.cell.selected:eq(0)').attr("month-id"); + obj.monthsObj.find('.cell').removeClass('selected'); + obj.monthsObj.find('.cell').removeClass('current'); + obj.monthsObj.find('.cell[month-id="'+currentMonth+'"]').addClass('selected'); + obj.monthsObj.find('.cell[month-id="'+currentMonth+'"]').addClass('current'); + }, + obj._updateRangeBar = function() { + + obj.didResizeBar(); + obj._initRangeBar(); + }, + obj._dispatchEvent = function (callback,options,el) { + + if(!callback) + return false; + + callback(el,options); + }, + obj._placeElement = function (el) { + + obj._placeElement(el,null); + }, + obj._placeElement = function (el, position) { + + var calendarViewWidth = $el.outerWidth(); + var cellWidth = $(el).find(".cell").first().outerWidth(); + var objChildrens = $(el).children().length; + var objWidth = (objChildrens*cellWidth); + + var elPos = $(el).position(); + left = ( !position ? parseInt(elPos.left) : -position.left); + + if(calendarViewWidth > objWidth ) + left = (calendarViewWidth-objWidth)/2; + else if (calendarViewWidth < objWidth && left >= 0) + left = 0 ; + else if(left < calendarViewWidth-objWidth) + left = -objWidth+calendarViewWidth; + + $(el).stop().animate({left: left},300,'easeOutCirc'); + }, + obj._timedResize = function() { + + clearTimeout(obj.resizeTimer); + obj.resizeTimer = setTimeout(obj._resize, obj.timeoutTime); + }, + obj._bindEvents = function () { + + if(obj.trigger){ + + $(obj.trigger).unbind("click"); + $(obj.trigger).click(obj.toggleCalendar); + } + + obj.timeout = false; + obj.timeoutTime = 100; + + obj.calendarObj.find(".range-bar").on( "resize", obj.didResizeBar); + obj.monthsObj.find('.cell').bind("click",obj.didSelectMonth); + + $(window).bind('resize',obj._timedResize); + + $el.hover( + + function() { + + if(obj.autoHideMonths) + obj.monthsObj.slideDown(100,'easeOutCirc'); + }, + function() { + + if(obj.autoHideMonths) + obj.monthsObj.slideUp(0,'easeOutCirc'); + + } + ); + + $(obj).on('mousedown', '.range-bar', function (e) { + + + var topElement = document.elementFromPoint(e.clientX, e.clientY); + if($(topElement).hasClass('ui-resizable-handle')){ + + e.stopPropagation(); + return false; + } + + }); + + + $(obj).on('mouseup', '.range-bar', function (e) { + + if($(obj).find('.range-bar').hasClass('ui-resizable-resizing')) + return true; + + $(this).hide(); + var BottomElement = document.elementFromPoint(e.clientX, e.clientY); + $(this).show(); + + $(BottomElement).trigger('click'); //Manually fire the event for desired underlying element + return true; + }); + + }, + + obj._resize = function(){ + + + obj._placeElement(obj.calendarObj); + obj._placeElement(obj.monthsObj); + obj.timeout = false; + + }, + + obj._updateView = function (startDate,endDate){ + + obj.calendarObj.append(obj._getCalendarHTML(startDate,endDate)); + obj.monthsObj.append(obj._getMonthsHTML(startDate,endDate)); + + if(obj.visible){ + $el.css({display:"block"}); + obj.showCalendar(); + } + else + $el.css({display:"none"}); + + obj._initCalendar(); + obj._initMonths(); + obj._initRangeBar(); + + obj._attachDragEasing(obj.calendarObj); + }, + obj._generateView = function () { + + var mainClass = "range-calendar"; + + $el.removeClass(mainClass) + $el.addClass(mainClass); + $el.empty(); + + obj.monthsObj = $('
'); + $el.append( obj.monthsObj ); + obj.monthsObj = obj.monthsObj.find(".months"); + (obj.autoHideMonths ? obj.monthsObj.addClass("auto-hide-months") : ''); + + obj.calendarObj = $('
'); + $el.append( obj.calendarObj ); + obj.calendarObj = obj.calendarObj.find(".calendar"); + + + obj._updateView(obj.startDate,obj.endDate); + obj._bindEvents(); + obj._dispatchEvent(obj.changeRangeCallback,obj.range(),obj); + } + + + + + + obj._init = function( element,options ) { + + obj.themeContext = options.themeContext; + obj.lang = options.lang ; + obj.isDragging = false; + obj.minRangeWidth = options.minRangeWidth; + obj.maxRangeWidth = options.maxRangeWidth; + obj.weekends = options.weekends; + obj.startDate = options.startDate; + obj.endDate = options.endDate; + obj.start = (!options.start ? "+7" : parseInt(options.start)) ; + obj.startRangeWidth = ( options.startRangeWidth > options.maxRangeWidth ? options.maxRangeWidth : options.startRangeWidth); + obj._rangeWidth = obj.startRangeWidth; + obj.trigger = options.trigger; + obj.visible = options.visible; + obj.changeRangeCallback = options.changeRangeCallback; + obj.autoHideMonths = options.autoHideMonths ; + + obj.theme = (options.theme ? options.theme : defaults.theme ); + obj.update(); + }, + + obj._init(el,obj.options); + $(obj).data('rangeCalendar', obj ); + + + }); + + + return this.data("rangeCalendar"); + + +}; + +} )( jQuery, window ); + + + + + + + + + + diff --git a/templates/forms/f_find_route_form_main_find_routes.html b/templates/forms/f_find_route_form_main_find_routes.html index 86cac0d..eab9baa 100644 --- a/templates/forms/f_find_route_form_main_find_routes.html +++ b/templates/forms/f_find_route_form_main_find_routes.html @@ -69,20 +69,24 @@ id="id_to_address_point_txt" class="to_address_point_txt find_route" {% if route_form.initial.to_address_point_txt %}value="{{ route_form.initial.to_address_point_txt}}"{% endif %}/> - +
- - -
-
- - + +{# #} + +
+{#
#} +{# #} +{# #} +{# #} +{#
#} +{#
#}