parent
5222915057
commit
fa921b67af
2 changed files with 87 additions and 0 deletions
@ -0,0 +1,86 @@ |
||||
var EXPO = EXPO || {}; //isolated namespace
|
||||
EXPO.organizer = EXPO.organizer || {}; |
||||
|
||||
if (EXPO.organizer.add) { |
||||
console.warn('WARNING: EXPO.eventsFeed is already defined!'); |
||||
} else { |
||||
EXPO.organizer.add = (function () { |
||||
/** |
||||
* private (visible inside this module only) variables |
||||
*/ |
||||
/** |
||||
* @type {Object} - module API interafce realization |
||||
*/ |
||||
var that = {}; |
||||
/** |
||||
* @type {Object} default setting |
||||
*/ |
||||
that.opt = {}; |
||||
/** |
||||
* dependencies.Place where you can switch on dependencies for module |
||||
* @type {EXPO.common|*} - mostly used in project functions and data (block.common.js) |
||||
*/ |
||||
var com = EXPO.common; |
||||
/** |
||||
* current module general initialization |
||||
* @param {Object} options - options recieved from web page view |
||||
*/ |
||||
that.init = function (options) { |
||||
// settings extending
|
||||
$.extend(this.opt, options); |
||||
// begin of initialization
|
||||
var self = this; |
||||
$(function () { |
||||
/* Если на страницах "Добавить событие" не выбран ни один из типов форму делаем неактивной и наоборот */ |
||||
$('#'+self.opt.steps[0].id).each(function () { |
||||
var $form = $(this); |
||||
var $rads = $form.find('.'+self.opt.steps[0] .typeClass+' input[type="radio"]'); |
||||
var $formBody = $('.'+self.opt.steps[0].formBodyClass, $form); |
||||
|
||||
function formState () { |
||||
var radsChecked = $rads.filter(':checked').length > 0; |
||||
var $inputs = $formBody.find('input, select, textarea, button'); |
||||
var $selectBox = $formBody.find('div.c-select-box'); |
||||
|
||||
if (radsChecked) { |
||||
$formBody.removeClass('disabled'); |
||||
$selectBox.removeClass('disabled'); |
||||
$inputs.prop('disabled', false); |
||||
} else { |
||||
$formBody.addClass('disabled'); |
||||
$selectBox.addClass('disabled'); |
||||
$inputs.prop('disabled', true); |
||||
} |
||||
} |
||||
|
||||
formState(); |
||||
$rads.on('change', formState); |
||||
for(var i =0;i< self.opt.steps[0].dateClasses.length; i++){ |
||||
$('.'+self.opt.steps[0].dateClasses[i], $form).datepicker({ |
||||
dateFormat: 'dd.mm.yy', |
||||
showOn: 'button', |
||||
showOtherMonths: true, |
||||
constrainInput: true, |
||||
onClose: function( selectedDate ) { |
||||
var $dateInput; |
||||
if($(this).hasClass('dateFrom')){ |
||||
$dateInput = $(this).closest('.period').find('.'+self.opt.steps[0].dateClasses[1]); |
||||
$dateInput.datepicker( "option", "minDate", selectedDate ); |
||||
}else if($(this).hasClass('dateTo')){ |
||||
$dateInput = $(this).closest('.period').find('.'+self.opt.steps[0].dateClasses[0]); |
||||
$dateInput.datepicker( "option", "maxDate", selectedDate ); |
||||
}else if($(this).hasClass('dateFromLast')){ |
||||
$dateInput = $form.find('.date-to-date').find('.'+self.opt.steps[0].dateClasses[1]); |
||||
$dateInput.datepicker( "option", "minDate", selectedDate ); |
||||
} |
||||
} |
||||
}); |
||||
} |
||||
}); |
||||
}); |
||||
|
||||
|
||||
}; |
||||
return that; |
||||
}()); |
||||
} |
||||
@ -0,0 +1 @@ |
||||
var EXPO=EXPO||{};EXPO.organizer=EXPO.organizer||{},EXPO.organizer.add?console.warn("WARNING: EXPO.eventsFeed is already defined!"):EXPO.organizer.add=function(){var e={};e.opt={};EXPO.common;return e.init=function(e){$.extend(this.opt,e);var d=this;$(function(){$("#"+d.opt.steps[0].id+" ."+d.opt.steps[0].typeClass).each(function(){function e(){var e=a.filter(":checked").length>0,d=t.find("input, select, textarea, button"),s=t.find("div.c-select-box");e?(t.removeClass("disabled"),s.removeClass("disabled"),d.prop("disabled",!1)):(t.addClass("disabled"),s.addClass("disabled"),d.prop("disabled",!0))}var s=$(this),a=s.find('input[type="radio"]'),t=a.closest("form").children("."+d.opt.steps[0].formBodyClass);e(),a.on("change",e)})})},e}(); |
||||
Loading…
Reference in new issue