{"version":3,"file":"../../widgets/subsTabWidget.js","sources":["widgets/subsTabWidget.js"],"sourcesContent":["\"use strict\";\n\nvar subsWidget = function () {\n var subsWidgetParams = {\n model: {\n telegramPhoneNumber: '',\n hasTelegramToken: false,\n subscriptions: {\n IsNotifyAboutNewMessages: false,\n TelegramSubscription: false,\n EmailSubscription: false,\n SMSSubscription: false\n }\n },\n url: {}\n };\n var mask = null;\n var $saveSubsModal = null;\n var $telegramBotModal = null;\n var parentSubsType = 'IsNotifyAboutNewMessages';\n var subsTypeIndex = 1;\n var saveSubscriptionsModalParams = {\n title: 'Информация',\n buttons: [{\n title: 'Хорошо',\n big: true,\n primary: true\n }]\n };\n\n function hasTelegramSubscriptions() {\n return subsWidgetParams.model.subscriptions.TelegramSubscription;\n }\n\n function saveSubs() {\n modalDialog.busyIndicator(true);\n $.ajax({\n type: 'POST',\n url: subsWidgetParams.url.saveSubs,\n data: subsWidgetParams.model,\n success: function success(data) {\n if (data.Success) {\n if (!subsWidgetParams.model.subscriptions.IsNotifyAboutNewMessages) {\n $saveSubsModal.html(\"

\\u0412\\u044B \\u0431\\u043E\\u043B\\u044C\\u0448\\u0435 \\u043D\\u0435 \\u0431\\u0443\\u0434\\u0435\\u0442\\u0435 \\u043F\\u043E\\u043B\\u0443\\u0447\\u0430\\u0442\\u044C \\u0443\\u0432\\u0435\\u0434\\u043E\\u043C\\u043B\\u0435\\u043D\\u0438\\u044F

\");\n $saveSubsModal.showAsModal(saveSubscriptionsModalParams);\n } else if (hasTelegramSubscriptions() && !subsWidgetParams.model.hasTelegramToken) {\n $telegramBotModal.showAsModal(saveSubscriptionsModalParams);\n } else {\n $saveSubsModal.html(\"

\\u0414\\u0430\\u043D\\u043D\\u044B\\u0435 \\u0443\\u0441\\u043F\\u0435\\u0448\\u043D\\u043E \\u0441\\u043E\\u0445\\u0440\\u0430\\u043D\\u0435\\u043D\\u044B

\");\n $saveSubsModal.showAsModal(saveSubscriptionsModalParams);\n }\n } else {\n // Fix with correct button\n dialogModal.showError('Ошибка', data.Result);\n }\n },\n complete: function complete() {\n modalDialog.busyIndicator(false);\n }\n });\n }\n\n function setParams(subParams) {\n subsWidgetParams = $.extend(true, subsWidgetParams, subParams);\n }\n\n function cacheNodes() {\n $saveSubsModal = $('#saveSubsModal');\n $telegramBotModal = $('#telegram-bot-modal');\n }\n\n function disableAllCheckBoxes() {\n $('.person-subscriptions-list .checkbox').each(function () {\n var subsType = $(this).attr('name').split('.')[subsTypeIndex];\n\n if (subsType != parentSubsType) {\n $(this).attr('disabled', true);\n } // Нужно добавить стиль, чтобы все чекбоксы серыми стали (аттачи в таске 1754)\n\n });\n }\n\n function enableAllCheckBoxes() {\n $('.person-subscriptions-list .checkbox').each(function () {\n var subsType = $(this).attr('name').split('.')[subsTypeIndex];\n\n if (subsType != parentSubsType) {\n $(this).removeAttr('disabled');\n } // Нужно добавить стиль, чтобы все чекбоксы перестали быть серыми (аттачи в таске 1754)\n\n });\n }\n\n function setData(elem) {\n var subsType = elem.attr('name').split('.')[subsTypeIndex];\n var isChecked = elem.is(':checked');\n\n if (isChecked && subsType === parentSubsType) {\n enableAllCheckBoxes();\n }\n\n if (!isChecked && subsType === parentSubsType) {\n disableAllCheckBoxes();\n }\n\n subsWidgetParams.model.subscriptions[subsType] = isChecked;\n }\n\n function initMask() {\n $(\".input-phone\").each(function (i, input) {\n window.intlTelInput(input, {\n autoPlaceholder: \"off\",\n initialCountry: \"ru\",\n preferredCountries: ['ru'],\n separateDialCode: true\n });\n var iti = window.intlTelInputGlobals.getInstance(input);\n var maskOptions = null;\n var cData = iti.getSelectedCountryData();\n\n if (cData.iso2 === \"ru\") {\n maskOptions = {\n mask: '000 0000000'\n };\n } else {\n maskOptions = {\n mask: '0000000000[00]'\n };\n }\n\n mask = new IMask(input, maskOptions);\n $(document).on(\"countrychange\", input, function () {\n var iti = window.intlTelInputGlobals.getInstance(input);\n var cData = iti.getSelectedCountryData();\n\n if (cData.iso2 === \"ru\") {\n maskOptions = {\n mask: '000 0000000'\n };\n } else {\n maskOptions = {\n mask: '0000000000[00]'\n };\n }\n\n mask.updateOptions(maskOptions);\n mask.value = \"\";\n });\n });\n }\n\n function reInitMask(input) {\n var iti = window.intlTelInputGlobals.getInstance(input[0]);\n var maskOptions = null;\n var cData = iti.getSelectedCountryData();\n\n if (cData.iso2 === \"ru\") {\n maskOptions = {\n mask: '000 0000000'\n };\n } else {\n maskOptions = {\n mask: '0000000000[00]'\n };\n }\n\n mask.updateOptions(maskOptions);\n }\n\n function initData() {\n $('.person-subscriptions-list .checkbox').each(function () {\n setData($(this));\n });\n }\n\n function unbindHandlers() {\n $(document).off('click', '#saveUserSubsBtn');\n $(document).off('change', '.person-subscriptions-list .checkbox');\n }\n\n function saveUserSubscriptions() {\n var isChannelSelected = subsWidgetParams.model.subscriptions.IsNotifyAboutNewMessages && (subsWidgetParams.model.subscriptions.TelegramSubscription || subsWidgetParams.model.subscriptions.EmailSubscription || subsWidgetParams.model.subscriptions.SMSSubscription);\n\n if (subsWidgetParams.model.subscriptions.IsNotifyAboutNewMessages) {\n if (hasTelegramSubscriptions()) {\n var iti = window.intlTelInputGlobals.getInstance($('#telegram-phone-number')[0]);\n $('#telegram-subs-modal').showAsModal({\n title: 'Внимание',\n \"class\": \" _scroll-none\",\n buttons: [{\n title: 'Сохранить',\n primary: true,\n big: true,\n onClick: function onClick() {\n var isValid = true;\n var validations = ['validateRequiredValues', 'validatePattern'];\n var dataSet = {\n telegramPhoneNumber: iti.getNumber(intlTelInputUtils.numberFormat.E164)\n };\n validations.forEach(function (check) {\n var passedValidation = validation[check](dataSet);\n isValid = isValid && passedValidation;\n });\n\n if (isValid) {\n subsWidgetParams.model.telegramPhoneNumber = dataSet.telegramPhoneNumber;\n saveSubs();\n }\n\n return isValid;\n }\n }, {\n title: 'Отмена',\n big: true\n }],\n afterClose: function afterClose() {\n validation.setAllValid('#telegram-subs-modal'); // $('#telegram-phone-number').val(subsWidgetParams.model.telegramPhoneNumber);\n\n iti.setNumber(subsWidgetParams.model.telegramPhoneNumber);\n reInitMask($('#telegram-phone-number'));\n }\n });\n } else {\n if (isChannelSelected) {\n saveSubs();\n } else {\n $saveSubsModal.html(\"

\\u0412\\u044B\\u0431\\u0435\\u0440\\u0438\\u0442\\u0435 \\u0441\\u043F\\u043E\\u0441\\u043E\\u0431 \\u043F\\u043E\\u043B\\u0443\\u0447\\u0435\\u043D\\u0438\\u044F \\u0443\\u0432\\u0435\\u0434\\u043E\\u043C\\u043B\\u0435\\u043D\\u0438\\u0439

\");\n $saveSubsModal.showAsModal(saveSubscriptionsModalParams);\n }\n }\n } else {\n saveSubs();\n }\n }\n\n function bindHandlers() {\n $(document).on('click', '#saveUserSubsBtn', function () {\n saveUserSubscriptions();\n });\n document.querySelectorAll('.person-subscriptions-list .checkbox').forEach(function (item) {\n item.addEventListener('change', function (event) {\n setData($(item));\n });\n });\n }\n\n function init(subParams) {\n unbindHandlers();\n setParams(subParams);\n initData();\n initMask();\n cacheNodes();\n bindHandlers();\n }\n\n return {\n init: init\n };\n}();"],"names":["subsWidget","subsWidgetParams","model","telegramPhoneNumber","hasTelegramToken","subscriptions","IsNotifyAboutNewMessages","TelegramSubscription","EmailSubscription","SMSSubscription","url","mask","$saveSubsModal","$telegramBotModal","parentSubsType","subsTypeIndex","saveSubscriptionsModalParams","title","buttons","big","primary","hasTelegramSubscriptions","saveSubs","modalDialog","busyIndicator","$","ajax","type","data","success","Success","showAsModal","html","dialogModal","showError","Result","complete","setData","elem","subsType","attr","split","isChecked","is","each","this","removeAttr","saveUserSubscriptions","iti","isChannelSelected","window","intlTelInputGlobals","getInstance","class","onClick","isValid","dataSet","getNumber","intlTelInputUtils","numberFormat","E164","forEach","check","passedValidation","validation","afterClose","input","maskOptions","setAllValid","setNumber","getSelectedCountryData","iso2","updateOptions","init","subParams","document","off","extend","i","intlTelInput","autoPlaceholder","initialCountry","preferredCountries","separateDialCode","IMask","on","cData","value","querySelectorAll","item","addEventListener","event"],"mappings":"aAEA,IAAIA,WAAa,WACf,IAAIC,EAAmB,CACrBC,MAAO,CACLC,oBAAqB,GACrBC,kBAAkB,EAClBC,cAAe,CACbC,0BAA0B,EAC1BC,sBAAsB,EACtBC,mBAAmB,EACnBC,iBAAiB,IAGrBC,IAAK,IAEHC,EAAO,KACPC,EAAiB,KACjBC,EAAoB,KACpBC,EAAiB,2BACjBC,EAAgB,EAChBC,EAA+B,CACjCC,MAAO,aACPC,QAAS,CAAC,CACRD,MAAO,SACPE,KAAK,EACLC,SAAS,KAIb,SAASC,IACP,OAAOpB,EAAiBC,MAAMG,cAAcE,qBAG9C,SAASe,IACPC,YAAYC,eAAc,GAC1BC,EAAEC,KAAK,CACLC,KAAM,OACNjB,IAAKT,EAAiBS,IAAIY,SAC1BM,KAAM3B,EAAiBC,MACvB2B,QAAS,SAAiBD,GACpBA,EAAKE,QACF7B,EAAiBC,MAAMG,cAAcC,yBAG/Be,MAA+BpB,EAAiBC,MAAME,iBAC/DS,EAAkBkB,YAAYf,IAE9BJ,EAAeoB,KAAK,mCACpBpB,EAAemB,YAAYf,KAN3BJ,EAAeoB,KAAK,mDACpBpB,EAAemB,YAAYf,IAS7BiB,YAAYC,UAAU,SAAUN,EAAKO,SAGzCC,SAAU,WACRb,YAAYC,eAAc,MAoChC,SAASa,EAAQC,GACf,IAAIC,EAAWD,EAAKE,KAAK,QAAQC,MAAM,KAAK1B,GACxC2B,EAAYJ,EAAKK,GAAG,YAEpBD,GAAaH,IAAazB,GAd9BW,EAAE,wCAAwCmB,KAAK,WAC9BnB,EAAEoB,MAAML,KAAK,QAAQC,MAAM,KAAK1B,IAE/BD,GACdW,EAAEoB,MAAMC,WAAW,cAclBJ,GAAaH,IAAazB,GA7B/BW,EAAE,wCAAwCmB,KAAK,WAC9BnB,EAAEoB,MAAML,KAAK,QAAQC,MAAM,KAAK1B,IAE/BD,GACdW,EAAEoB,MAAML,KAAK,YAAY,KA6B7BvC,EAAiBC,MAAMG,cAAckC,GAAYG,EA2EnD,SAASK,IACP,IAIQC,EAJJC,EAAoBhD,EAAiBC,MAAMG,cAAcC,2BAA6BL,EAAiBC,MAAMG,cAAcE,sBAAwBN,EAAiBC,MAAMG,cAAcG,mBAAqBP,EAAiBC,MAAMG,cAAcI,iBAElPR,EAAiBC,MAAMG,cAAcC,yBACnCe,KACE2B,EAAME,OAAOC,oBAAoBC,YAAY3B,EAAE,0BAA0B,IAC7EA,EAAE,wBAAwBM,YAAY,CACpCd,MAAO,WACPoC,MAAS,gBACTnC,QAAS,CAAC,CACRD,MAAO,YACPG,SAAS,EACTD,KAAK,EACLmC,QAAS,WACP,IAAIC,GAAU,EAEVC,EAAU,CACZrD,oBAAqB6C,EAAIS,UAAUC,kBAAkBC,aAAaC,OAYpE,MAdkB,CAAC,yBAA0B,mBAIjCC,QAAQ,SAAUC,GACxBC,EAAmBC,WAAWF,GAAON,GACzCD,EAAUA,GAAWQ,IAGnBR,IACFtD,EAAiBC,MAAMC,oBAAsBqD,EAAQrD,oBACrDmB,KAGKiC,IAER,CACDtC,MAAO,SACPE,KAAK,IAEP8C,WAAY,WAhEpB,IAAoBC,EAEdC,EA+DIH,WAAWI,YAAY,wBAEvBpB,EAAIqB,UAAUpE,EAAiBC,MAAMC,qBAnE3B+D,EAoECzC,EAAE,0BAlEjB0C,EAAc,KAIhBA,EADiB,OAJTjB,OAAOC,oBAAoBC,YAAYc,EAAM,IAEvCI,yBAENC,KACM,CACZ5D,KAAM,eAGM,CACZA,KAAM,kBAIVA,EAAK6D,cAAcL,OAyDXlB,EACF3B,KAEAV,EAAeoB,KAAK,gDACpBpB,EAAemB,YAAYf,IAI/BM,IAwBJ,MAAO,CACLmD,KAVF,SAAcC,GAtEZjD,EAAEkD,UAAUC,IAAI,QAAS,oBACzBnD,EAAEkD,UAAUC,IAAI,SAAU,wCAnHTF,EA0LPA,EAzLVzE,EAAmBwB,EAAEoD,QAAO,EAAM5E,EAAkByE,GA2GpDjD,EAAE,wCAAwCmB,KAAK,WAC7CP,EAAQZ,EAAEoB,SA9DZpB,EAAE,gBAAgBmB,KAAK,SAAUkC,EAAGZ,GAClChB,OAAO6B,aAAab,EAAO,CACzBc,gBAAiB,MACjBC,eAAgB,KAChBC,mBAAoB,CAAC,MACrBC,kBAAkB,IAEpB,IAAInC,EAAME,OAAOC,oBAAoBC,YAAYc,GAC7CC,EAAc,KAIhBA,EADiB,OAFPnB,EAAIsB,yBAENC,KACM,CACZ5D,KAAM,eAGM,CACZA,KAAM,kBAIVA,EAAO,IAAIyE,MAAMlB,EAAOC,GACxB1C,EAAEkD,UAAUU,GAAG,gBAAiBnB,EAAO,WACrC,IACIoB,EADMpC,OAAOC,oBAAoBC,YAAYc,GACjCI,yBAGdH,EADiB,OAAfmB,EAAMf,KACM,CACZ5D,KAAM,eAGM,CACZA,KAAM,kBAIVA,EAAK6D,cAAcL,GACnBxD,EAAK4E,MAAQ,OA/EjB3E,EAAiBa,EAAE,kBACnBZ,EAAoBY,EAAE,uBAwKtBA,EAAEkD,UAAUU,GAAG,QAAS,mBAAoB,WAC1CtC,MAEF4B,SAASa,iBAAiB,wCAAwC3B,QAAQ,SAAU4B,GAClFA,EAAKC,iBAAiB,SAAU,SAAUC,GACxCtD,EAAQZ,EAAEgE,UA/OD"}