{"version":3,"file":"siteopinion.bundle.js","mappings":"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","sources":["webpack://4tochki/./webpack/bundles/siteopinion/index.js","webpack://4tochki/./node_modules/bootstrap/js/dist/button.js"],"sourcesContent":["import './index.scss';\nimport * as jQuery from 'jquery';\nwindow.$ = jQuery;\nimport 'bootstrap/js/dist/button';\nimport {config} from 'core/config';\nimport {spinner} from 'modules/spinner';\n\nexport const siteopinion = {\n opinionsPage: 1,\n opinionsYear: 0,\n opinionsRate1: 1,\n opinionsRate2: 2,\n opinionsRate3: 3,\n opinionsRate4: 4,\n opinionsRate5: 5,\n sortby: 'dt',\n config: {\n 'addOpinionForm': 'form.siteAddOpinionForm',\n 'type': 'input[name=options]',\n 'name': '#recipient-name',\n 'phone': '#recipient-tel',\n 'email': '#recipient-email',\n 'rate': 'input[name=review]:checked',\n 'info': '#message-text',\n 'captcha': '#siteOpinionCaptcha',\n 'modalContent': '#reviewModal .modal-content',\n },\n init: function() {\n window.siteopinion = this;\n siteopinion.bindEvent();\n window.phoneMask();\n },\n verifyCallback: function() {\n $('#siteOpinionCaptcha').val('1');\n $('.siteOpinionGoogleCaptcha').detach();\n },\n params: {\n type: false,\n name: false,\n phone: false,\n email: false,\n rate: 0,\n info: false,\n captcha: false,\n },\n collect: function() {\n siteopinion.params.type = $(siteopinion.config.type+':checked').val();\n siteopinion.params.name = $(siteopinion.config.name).val();\n siteopinion.params.phone = $(siteopinion.config.phone).val();\n siteopinion.params.email = $(siteopinion.config.email).val();\n siteopinion.params.rate = $(siteopinion.config.rate).val();\n siteopinion.params.info = $(siteopinion.config.info).val();\n siteopinion.params.captcha = $(siteopinion.config.captcha).val();\n },\n bindEvent: function() {\n $(document).on('click', '.js-more-opinions', function() {\n const pageVal = ++siteopinion.opinionsPage;\n siteopinion.searchOpinions(pageVal);\n });\n $(document).on('click', '.js-setYear', function() {\n siteopinion.opinionsYear = $(this).data('year');\n siteopinion.searchOpinions(1);\n });\n $(document).on('click', '.opinionssortby', function() {\n siteopinion.sortby = $(this).data('sort');\n siteopinion.searchOpinions(1);\n });\n $(document).on('change', '.opinionRating input', function() {\n siteopinion.opinionsRate5 = $('#opinionRating_5').prop('checked')?5:0;\n siteopinion.opinionsRate4 = $('#opinionRating_4').prop('checked')?4:0;\n siteopinion.opinionsRate3 = $('#opinionRating_3').prop('checked')?3:0;\n siteopinion.opinionsRate2 = $('#opinionRating_2').prop('checked')?2:0;\n siteopinion.opinionsRate1 = $('#opinionRating_1').prop('checked')?1:0;\n console.log(siteopinion.opinionsRate1 + '-'+siteopinion.opinionsRate2 + '-'+siteopinion.opinionsRate3 + '-'+siteopinion.opinionsRate4 + '-'+siteopinion.opinionsRate5);\n siteopinion.searchOpinions(1);\n });\n $(document).on('change', siteopinion.config.email, function() {\n const email = $(this).val();\n $(this).removeClass('is-invalid');\n const re = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n if (!re.test(String(email).toLowerCase())) {\n $(this).addClass('is-invalid');\n }\n });\n $(document).on('click', '.submitOpinion', function() {\n siteopinion.collect();\n if (siteopinion.validate()!==false) {\n spinner.show($(siteopinion.config.modalContent));\n console.log('all valid');\n $.when(config.doRequest('/siteOpinion/addOpinion.php', siteopinion.params, 'html', 'POST')).done(function(msg) {\n if (msg.includes('добавлен')) {\n // $(form).reset();\n $(siteopinion.config.modalContent).html(`\n
\n
\n \n ${msg}\n
\n \n
\n `);\n siteopinion.unMarkError();\n spinner.hide($(siteopinion.config.modalContent));\n return false;\n }\n });\n siteopinion.unMarkError();\n } else {\n console.log('unvalid');\n siteopinion.markError();\n }\n });\n },\n validate: function() {\n let returner = true;\n $.each(siteopinion.params, function( index, value ) {\n if (!value) {\n returner = false;\n }\n });\n if (returner && !$('#siteOpinionTrust').prop('checked')) {\n returner = false;\n }\n return returner;\n },\n markError: function(selector, message) {\n $(siteopinion.config.addOpinionForm).addClass('was-validated');\n },\n unMarkError: function() {\n $(siteopinion.config.addOpinionForm).removeClass('was-validated');\n },\n searchOpinions: function(page = 1) {\n let params = {\n sortBy:siteopinion.sortby,\n page:page,\n year:siteopinion.opinionsYear,\n rateIn_5:siteopinion.opinionsRate5,\n rateIn_4:siteopinion.opinionsRate4,\n rateIn_3:siteopinion.opinionsRate3,\n rateIn_2:siteopinion.opinionsRate2,\n rateIn_1:siteopinion.opinionsRate1,\n };\n\n $.when(config.doRequest('/siteOpinion/getList.php', params, 'html', 'GET')).done(function(msg) {\n if (page === 1) {\n $('.opinions-row').html(msg);\n if(msg.indexOf('не найдено')){\n $('.js-more-opinions').hide();\n }else{\n $('.js-more-opinions').show();\n }\n } else {\n $('.opinions-row').append(msg);\n }\n spinner.hide($('.js-loader-block'));\n });\n },\n};\n\n$(function() {\n siteopinion.init();\n});\n","/*!\n * Bootstrap button.js v5.3.3 (https://getbootstrap.com/)\n * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./base-component.js'), require('./dom/event-handler.js'), require('./util/index.js')) :\n typeof define === 'function' && define.amd ? define(['./base-component', './dom/event-handler', './util/index'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Button = factory(global.BaseComponent, global.EventHandler, global.Index));\n})(this, (function (BaseComponent, EventHandler, index_js) { 'use strict';\n\n /**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n /**\n * Constants\n */\n\n const NAME = 'button';\n const DATA_KEY = 'bs.button';\n const EVENT_KEY = `.${DATA_KEY}`;\n const DATA_API_KEY = '.data-api';\n const CLASS_NAME_ACTIVE = 'active';\n const SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]';\n const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;\n\n /**\n * Class definition\n */\n\n class Button extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME;\n }\n\n // Public\n toggle() {\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE));\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Button.getOrCreateInstance(this);\n if (config === 'toggle') {\n data[config]();\n }\n });\n }\n }\n\n /**\n * Data API implementation\n */\n\n EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n event.preventDefault();\n const button = event.target.closest(SELECTOR_DATA_TOGGLE);\n const data = Button.getOrCreateInstance(button);\n data.toggle();\n });\n\n /**\n * jQuery\n */\n\n index_js.defineJQueryPlugin(Button);\n\n return Button;\n\n}));\n//# sourceMappingURL=button.js.map\n"],"names":["window","$","jQuery","siteopinion","opinionsPage","opinionsYear","opinionsRate1","opinionsRate2","opinionsRate3","opinionsRate4","opinionsRate5","sortby","config","init","this","bindEvent","phoneMask","verifyCallback","val","detach","params","type","name","phone","email","rate","info","captcha","collect","document","on","pageVal","searchOpinions","data","prop","console","log","removeClass","test","String","toLowerCase","addClass","validate","spinner","modalContent","when","done","msg","includes","html","unMarkError","markError","returner","each","index","value","selector","message","addOpinionForm","page","sortBy","year","rateIn_5","rateIn_4","rateIn_3","rateIn_2","rateIn_1","indexOf","hide","show","append","module","exports","BaseComponent","EventHandler","index_js","NAME","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","EVENT_CLICK_DATA_API","Button","toggle","_element","setAttribute","classList","static","getOrCreateInstance","event","preventDefault","button","target","closest","defineJQueryPlugin","factory"],"sourceRoot":""}