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