String.prototype.replaceAll = function (search, replace) { // if replace is not sent, return original string otherwise it will // replace search string with 'undefined'. if (replace === undefined) { return this.toString() } return this.replace(new RegExp('[' + search + ']', 'g'), replace) } /* Admin sidebar starts */ $(document).ready(function () { $('form').attr('novalidate', 'novalidate') $(window).resize(function () { if ($(window).width() >= 991) { $('.sidey').slideDown(350) } }) // datetime configs moment.locale('ru', { week: { dow: 1 } // Monday is the first day of the week }) $.fn.datetimepicker.defaults.locale = 'ru' }) $(document).ready(function () { $('.has_submenu > a').click(function (e) { e.preventDefault() var menu_li = $(this).parent('li') var menu_ul = $(this).next('ul') if (menu_li.hasClass('open')) { menu_ul.slideUp(350) menu_li.removeClass('open') } else { $('.nav > li > ul').slideUp(350) $('.nav > li').removeClass('open') menu_ul.slideDown(350) menu_li.addClass('open') } }) }) $(document).ready(function () { $('.sidebar-dropdown a').on('click', function (e) { e.preventDefault() if (!$(this).hasClass('dropy')) { // hide any open menus and remove all other classes $('.sidey').slideUp(350) $('.sidebar-dropdown a').removeClass('dropy') // open our new menu and add the dropy class $('.sidey').slideDown(350) $(this).addClass('dropy') } else if ($(this).hasClass('dropy')) { $(this).removeClass('dropy') $('.sidey').slideUp(350) } }) }) /* Admin sidebar navigation ends */ /* ********************************************************** */ // https://eonasdan.github.io/bootstrap-datetimepicker/ this is date picker used here $(function () { // $('input[name=phone]').inputmask({ // mask: '7(999)-999-99-99' // }) $('input[name=year]').inputmask({ mask: '9999' }) $('input[name*=date]').datetimepicker({ format: 'DD.MM.YYYY' }) $('input[name*=time]').datetimepicker({ format: 'HH:mm', useCurrent: false }) $('input[name=deferred]').datetimepicker({ useCurrent: true, sideBySide: true, format: 'DD.MM.YYYY HH:mm' // language: 'ru' }) selectsForChosen = [ 'other_managers', 'smi_managers', 'event_manager', 'friend', 'user', 'university', 'interest', 'projects', 'taglit_season', 'event_id', 'contacts', 'created_by', 'anita_seasons', 'mir_seasons' ] selectsForChosen.forEach(function (name) { $('select[name=' + name + ']').chosen({ disable_search_threshold: 8, no_results_text: 'Ничего не найденно!', allow_single_deselect: true }) }) selectsForChosen.forEach(function (name) { $('select[name*=user]').chosen({ disable_search_threshold: 8, no_results_text: 'Ничего не найденно!', allow_single_deselect: true }) }) }) /* datetime inputs starts */ /* datetime inputs ends */ /* ********************************************************** */ /* */ $(function () { $('.dropdown-toggle').dropdownHover() }) function getFormParamsObject (form) { var params_object = {} var params_list = $(form).serializeArray() $.each(params_list, function () { if (params_object[this.name] !== undefined) { if (!params_object[this.name].push) { params_object[this.name] = [params_object[this.name]] } params_object[this.name].push(this.value || '') } else { params_object[this.name] = this.value || '' } }) return params_object } function countSmsData ($textarea) { var textLen = $textarea.val().length $('.js-smsSymbols').text(textLen) // count rus messages if (textLen <= 70) { $('.js-smsCountRus').text(1) } else { var smsCount = textLen / 67 + 1 smsCount = parseInt(smsCount) $('.js-smsCountRus').text(smsCount) } // count rus messages if (textLen <= 160) { $('.js-smsCountEng').text(1) } else { var smsCount = textLen / 153 + 1 smsCount = parseInt(smsCount) $('.js-smsCountEng').text(smsCount) } } function initSmsCounter ($textarea) { riot.mount('sms-counter', { textarea: $textarea }) // countSmsData($textarea); // $textarea.keyup(function() { // countSmsData($textarea); // }); } function getQueryParams (search) { query_params = JSON.parse('{"' + decodeURI(search).replace(/"/g, '\\"').replace(/&/g, '","').replace(/=/g, '":"') + '"}') return query_params } // bootstrap table formatters function boolFormatter (value, row) { if (value) { return 'Да' } else { return 'Нет' } } // cyrillyc letters for names $(document).ready(function () { $('input[name=first_name]').keyup(function () { this.value = this.value.replace(/[^а-я]/i, '') }) $('input[name=last_name]').keyup(function () { this.value = this.value.replace(/[^а-я]/i, '') }) })