{"version":3,"file":"../../widgets/mssgsTabWidget.js","sources":["widgets/mssgsTabWidget.js"],"sourcesContent":["\"use strict\";\n\nvar messagesWidget = function () {\n var messageTemplate = '';\n var messageTemplateGroup = '';\n var mssgsWidgetParams = {\n model: {},\n url: {},\n template: {},\n shownMssgsCount: 5,\n searchQuery: ''\n };\n var isSearchMode = false;\n var $mssgsLoader = null;\n\n function renderResults(mssgs, shouldAppend) {\n var $mssgsList = $('.mssgs-group');\n var $moreMssgsBtn = $('#moreMssgsBtn');\n var template = messageTemplate;\n\n if (mssgs.MessageFilter == 0) {\n template = messageTemplateGroup;\n }\n\n if (shouldAppend) {\n $mssgsList = $moreMssgsBtn.prev('.mssgs-wrap').find('.mssgs-group');\n $mssgsList.append(template.render(mssgs));\n } else {\n $mssgsList.html(template.render(mssgs));\n }\n\n if (mssgs.HasMoreMessages) {\n $moreMssgsBtn.show();\n } else {\n $moreMssgsBtn.hide();\n }\n }\n\n function getMessages(filter, skip, search, callback) {\n $.ajax({\n url: \"\".concat(mssgsWidgetParams.url.getMssgs).concat(filter, \"/\").concat(skip, \"/\").concat(mssgsWidgetParams.model.id, \"/\").concat(search),\n type: 'GET',\n success: function success(data) {\n callback(data);\n }\n });\n }\n\n function getServiceModalTemplate(serviceId, entityId, callback) {\n $.ajax({\n url: \"\".concat(mssgsWidgetParams.url.serviceInstanceCard, \"/Create/\").concat(serviceId, \"/\").concat(entityId),\n type: 'GET',\n success: function success(template) {\n callback(template);\n }\n });\n }\n\n function refreshMssgsList(foundMssgs) {\n var $searchResultsTitle = $('.mssgs-search-results');\n var $searchResultsCount = $('.mssgs-search-count');\n $searchResultsTitle.hide();\n $searchResultsCount.empty();\n\n if (foundMssgs.MessageFilter == 0 && foundMssgs.WidgetMode != 3) {\n mssgsWidgetParams.shownMssgsCount = foundMssgs.Groups.length;\n } else {\n mssgsWidgetParams.shownMssgsCount = foundMssgs.Messages.length;\n }\n\n renderResults(foundMssgs);\n }\n\n function setParams(mssgsParams) {\n mssgsWidgetParams = $.extend({}, mssgsWidgetParams, mssgsParams);\n }\n\n function cacheNodes() {\n // $mssgsLoader = $('.tabContent > .loader.-local');\n $mssgsLoader = $('.appartment-mssgs > .loader.-local');\n }\n\n function compileTemplates() {\n messageTemplateGroup = Hogan.compile(mssgsWidgetParams.template.group);\n messageTemplate = Hogan.compile(mssgsWidgetParams.template.mssg);\n }\n\n function bindHandlers() {\n $(document).on('click', '#searchMssgsBtn', function () {\n var $mssgsHeader = $('.appartment-mssgs-header');\n $mssgsHeader.addClass('-search-mode');\n });\n $(document).on('click', '#closeSearchMssgs', function () {\n var $mssgsHeader = $('.appartment-mssgs-header');\n var $mssgsSearchField = $('#searchMssgsField');\n $mssgsHeader.removeClass('-search-mode');\n $mssgsSearchField.val('');\n mssgsWidgetParams.searchQuery = '';\n isSearchMode = false;\n getMessages(mssgsWidgetParams.model.filter, 0, mssgsWidgetParams.searchQuery, refreshMssgsList);\n });\n $(document).on('keyup', '#searchMssgsField', function (e) {\n var searchQuery = $(this).val();\n mssgsWidgetParams.searchQuery = searchQuery;\n isSearchMode = true;\n\n if (searchQuery.length > 2 || e.which === 13) {\n $mssgsLoader.show();\n var filter = mssgsWidgetParams.model.filter;\n getMessages(filter, 0, mssgsWidgetParams.searchQuery, function (foundMssgs) {\n var $searchResultsTitle = $('.mssgs-search-results');\n var $searchResultsCount = $('.mssgs-search-count');\n $mssgsLoader.hide();\n $searchResultsTitle.show();\n $searchResultsCount.text(foundMssgs.MessageAllCount);\n\n if (foundMssgs.MessageFilter == 0 && foundMssgs.WidgetMode != 3) {\n mssgsWidgetParams.shownMssgsCount = foundMssgs.Groups.length;\n } else {\n mssgsWidgetParams.shownMssgsCount = foundMssgs.Messages.length;\n }\n\n renderResults(foundMssgs);\n });\n }\n });\n $(document).on('click', '#moreMssgsBtn', function () {\n var filter = mssgsWidgetParams.model.filter;\n getMessages(filter, mssgsWidgetParams.shownMssgsCount, mssgsWidgetParams.searchQuery, function (foundMssgs) {\n if (foundMssgs.MessageFilter == 0 && foundMssgs.WidgetMode != 3) {\n mssgsWidgetParams.shownMssgsCount += foundMssgs.Groups.length;\n } else {\n mssgsWidgetParams.shownMssgsCount += foundMssgs.Messages.length;\n }\n\n renderResults(foundMssgs, true);\n });\n });\n $(document).on('click', '.mssg-section-link', function (e) {\n // var $loader = $(document).find('.appartment-mssgs > .loader.-local'); \n // $loader.show();\n e.preventDefault();\n var $this = $(this);\n var currentFilter = $this.attr('data-filter');\n var $mssgsFilter = $('#MessageFilter'); // update model\n\n $mssgsFilter.val(currentFilter);\n mssgsWidgetParams.model.filter = currentFilter;\n mssgsWidgetParams.searchQuery = ''; // switch selected tab\n\n $('.mssgs-sections .tab').removeClass('-active');\n $this.parent().addClass('-active'); // render mssgs list\n\n $mssgsLoader.show();\n getMessages(mssgsWidgetParams.model.filter, 0, mssgsWidgetParams.searchQuery, function (foundMssgs) {\n $mssgsLoader.hide();\n\n if (foundMssgs.MessageFilter == 0 && foundMssgs.WidgetMode != 3) {\n mssgsWidgetParams.shownMssgsCount = foundMssgs.Groups.length;\n } else {\n mssgsWidgetParams.shownMssgsCount = foundMssgs.Messages.length;\n }\n\n renderResults(foundMssgs);\n window.history.replaceState('', 'Title', $this.attr('href'));\n }); // $loader.hide();\n });\n $(document).on('click', '.appartment-mssgs-services .service-group', function () {\n var $this = $(this);\n $this.toggleClass('-open-menu');\n });\n $(document).on('click', '.appartment-mssgs-services .service-item', function () {\n var serviceId = $(this).data('serviceid');\n var entityId = $(this).data('entityid');\n\n if (serviceId !== '') {\n modalDialog.busyIndicator(true);\n getServiceModalTemplate(serviceId, entityId, function (template) {\n var $mssgServiceModal = $('#mssgsServiceModal').html(template);\n modalDialog.busyIndicator(false);\n $mssgServiceModal.showAsModal({\n isVertical: true,\n buttons: [{\n title: 'Отправить',\n big: true,\n primary: true,\n wide: true,\n onClick: function onClick() {\n var isValid = modalService.validateModalForm();\n var $mssgsHeader = $('.appartment-mssgs-header');\n var $mssgsSearchField = $('#searchMssgsField');\n\n if (isValid) {\n // improve submitRequest API\n modalService.submitRequest(function (res) {\n if (res.Success) {\n modalDialog.showBaseWnd({\n title: 'Запрос принят',\n buttons: [{\n title: 'Хорошо',\n big: true,\n primary: true\n }],\n onDrawContent: function onDrawContent() {\n return res.Result;\n }\n });\n } else {\n modalDialog.showBaseWnd({\n title: 'Ошибка',\n buttons: [{\n title: 'Хорошо',\n big: true,\n primary: true\n }],\n onDrawContent: function onDrawContent() {\n return res.Result;\n }\n });\n isValid = false;\n }\n\n $mssgsHeader.removeClass('-search-mode');\n $mssgsSearchField.val('');\n mssgsWidgetParams.searchQuery = '';\n isSearchMode = false;\n getMessages(mssgsWidgetParams.model.filter, 0, mssgsWidgetParams.searchQuery, refreshMssgsList);\n });\n }\n\n return isValid;\n }\n }],\n afterOpen: function afterOpen() {\n modalService.setTitle(); //LKCommon.initSelectric($('#ServiceInstanceCreateDialog .select'));\n }\n });\n });\n }\n });\n $(document).on('click', '#moreServicesBtn', function () {\n var $this = $(this);\n var $servicesMenu = $('#serviceMssgsList');\n var $servicesSubMenus = $('.context-menu-link.-has-children');\n var $servicesHiddenItems = $('.context-menu-item[data-hidden=\"1\"]');\n\n if ($servicesMenu.hasClass('-show-all')) {\n $servicesMenu.removeClass('-show-all');\n $servicesSubMenus.removeClass('-open-menu');\n $servicesHiddenItems.hide();\n $this.text('Посмотреть все сервисы');\n } else {\n $servicesMenu.addClass('-show-all');\n $servicesSubMenus.addClass('-open-menu');\n $servicesHiddenItems.show();\n $this.text('Скрыть сервисы');\n }\n });\n }\n\n function unbindHandlers() {\n $(document).off('click', '#searchMssgsBtn');\n $(document).off('click', '#closeSearchMssgs');\n $(document).off('keyup', '#searchMssgsField');\n $(document).off('click', '#moreMssgsBtn');\n $(document).off('click', '.mssg-section-link');\n $(document).off('click', '.appartment-mssgs-services .service-group');\n $(document).off('click', '.appartment-mssgs-services .service-item');\n $(document).off('click', '#moreServicesBtn');\n }\n\n function init(mssgsParams) {\n unbindHandlers();\n setParams(mssgsParams);\n cacheNodes();\n compileTemplates();\n bindHandlers();\n }\n\n return {\n init: init\n };\n}();"],"names":["messagesWidget","messageTemplate","messageTemplateGroup","mssgsWidgetParams","model","url","template","shownMssgsCount","searchQuery","$mssgsLoader","renderResults","mssgs","shouldAppend","$mssgsList","$","$moreMssgsBtn","MessageFilter","prev","find","append","render","html","HasMoreMessages","show","hide","getMessages","filter","skip","search","callback","ajax","concat","getMssgs","id","type","success","data","refreshMssgsList","foundMssgs","$searchResultsTitle","$searchResultsCount","empty","WidgetMode","Groups","length","Messages","bindHandlers","document","on","addClass","$mssgsHeader","$mssgsSearchField","removeClass","val","e","this","which","text","MessageAllCount","preventDefault","$this","currentFilter","attr","parent","window","history","replaceState","toggleClass","serviceId","entityId","modalDialog","busyIndicator","$mssgServiceModal","showAsModal","isVertical","buttons","title","big","primary","wide","onClick","isValid","modalService","validateModalForm","submitRequest","res","Success","showBaseWnd","onDrawContent","Result","afterOpen","setTitle","serviceInstanceCard","$servicesMenu","$servicesSubMenus","$servicesHiddenItems","hasClass","init","mssgsParams","off","extend","Hogan","compile","group","mssg"],"mappings":"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"}