{"version":3,"file":"../../components/fixedTable.js","sources":["components/fixedTable.js"],"sourcesContent":["\"use strict\";\n\nvar fixedTableHelper = function () {\n var $rcBody = null;\n var $rcInputs = null;\n var $commentModal = null;\n\n function createCommentsWindow() {\n var $commentModalWrap = $('#FixTblCommentModal');\n\n if ($commentModalWrap.length) {\n $commentModalWrap.remove();\n }\n\n $('body').append(\"
\\n

\\n \\n
\");\n }\n\n function cacheNodes() {\n $rcBody = $('.rest-columns > .tbody');\n $rcInputs = $('.rest-columns .inp');\n $commentModal = $('#FixTblCommentModal');\n }\n\n function initClearCommentBttns() {\n $rcInputs.each(function () {\n var $this = $(this);\n\n if ($this.val().trim().length && $(window).width() < 1100) {\n $this.next('.inp-clear').css('visibility', 'visible');\n } else {\n $this.next('.inp-clear').css('visibility', 'hidden');\n }\n });\n }\n /* Make as method and trigger after paging */\n\n\n function setTableInitState() {\n $rcBody.each(function () {\n var $this = $(this);\n\n if ($this.get(0).scrollWidth > $this.innerWidth()) {\n $this.closest('.rest-columns').addClass('-scrolled');\n }\n });\n }\n\n function unbindHandlers() {\n $rcBody.off('scroll');\n }\n\n function bindHandlers() {\n $rcBody.scroll(function () {\n var $this = $(this),\n top = $this.scrollTop(),\n left = $this.scrollLeft() + 20,\n width = $this.outerWidth(),\n scrollWidth = $this[0].scrollWidth;\n var $table = $this.closest('.fixed-tbl-wrapper'),\n $fc = $table.find('.fix-column'),\n $fcBody = $table.find('.fix-column > .tbody'),\n $rc = $table.find('.rest-columns'),\n // $rcBody = $table.find('.rest-columns > .tbody'),\n $rcHead = $table.find('.rest-columns > .thead');\n\n if (scrollWidth - width <= left) {\n $rc.removeClass('-scrolled');\n } else {\n $rc.addClass('-scrolled');\n }\n\n if (left > 0) {\n $fc.addClass('-overflowed');\n } else {\n $fc.removeClass('-overflowed');\n }\n\n $fcBody.scrollTop(top);\n $rcHead.scrollLeft(left);\n });\n $(document).on('click', '.inp-clear', function () {\n var $this = $(this);\n $this.siblings('.inp').val('');\n $this.css('visibility', 'hidden');\n });\n $(document).on('click', '.rest-columns .inp', function () {\n var $tblInput = $(this);\n var $tblInputClear = $tblInput.next('.inp-clear');\n var $commentDesc = $('#FixTblCommentDesc');\n var $commentInp = $('#FixTblCommentInp');\n\n if ($(window).width() < 1100) {\n $commentModal.showAsModal({\n title: 'Комментарий к ответу',\n isVertical: true,\n buttons: [{\n title: 'Сохранить',\n big: true,\n primary: true,\n wide: true,\n onClick: function onClick() {\n // save content of text (to server ?)\n var comment = $commentInp.val().trim();\n $tblInput.val(comment);\n\n if (comment.length) {\n $tblInputClear.css('visibility', 'visible');\n } else {\n $tblInputClear.css('visibility', 'hidden');\n }\n }\n }, {\n title: 'Очистить',\n big: true,\n wide: true,\n onClick: function onClick() {\n // clear content of text (to server ?)\n $commentInp.val('');\n $tblInput.val('');\n $tblInputClear.css('visibility', 'hidden');\n }\n }],\n afterOpen: function afterOpen() {\n var comment = $tblInput.val();\n $('.modal-footer').addClass('-space-between');\n $commentDesc.text(\"\\u0414\\u043B\\u044F \\u043E\\u0442\\u0432\\u0435\\u0442\\u0430 \\\"\".concat($tblInput.data('answer-text'), \"\\\"\"));\n $commentInp.val(comment);\n }\n });\n }\n });\n $(window).on('resize', initClearCommentBttns);\n }\n\n function init() {\n createCommentsWindow();\n cacheNodes();\n unbindHandlers();\n bindHandlers();\n initClearCommentBttns();\n setTableInitState(); // trigger from outside, maybe with param\n }\n\n return {\n init: init\n };\n}();"],"names":["fixedTableHelper","$rcBody","$rcInputs","$commentModal","initClearCommentBttns","each","$this","$","this","val","trim","length","window","width","next","css","init","$commentModalWrap","remove","append","off","scroll","top","scrollTop","left","scrollLeft","outerWidth","scrollWidth","$table","closest","$fc","find","$fcBody","$rc","$rcHead","removeClass","addClass","document","on","siblings","$tblInput","$tblInputClear","$commentDesc","$commentInp","showAsModal","title","isVertical","buttons","big","primary","wide","onClick","comment","afterOpen","text","concat","data","get","innerWidth"],"mappings":"aAEA,IAAIA,iBAAmB,WACrB,IAAIC,EAAU,KACVC,EAAY,KACZC,EAAgB,KAkBpB,SAASC,IACPF,EAAUG,KAAK,WACb,IAAIC,EAAQC,EAAEC,MAEVF,EAAMG,MAAMC,OAAOC,QAAUJ,EAAEK,QAAQC,QAAU,KACnDP,EAAMQ,KAAK,cAAcC,IAAI,aAAc,WAE3CT,EAAMQ,KAAK,cAAcC,IAAI,aAAc,YAiHjD,MAAO,CACLC,KAVF,WA/HA,IACMC,GAAAA,EAAoBV,EAAE,wBAEJI,QACpBM,EAAkBC,SAGpBX,EAAE,QAAQY,OAAO,ySAIjBlB,EAAUM,EAAE,0BACZL,EAAYK,EAAE,sBACdJ,EAAgBI,EAAE,uBA4BlBN,EAAQmB,IAAI,UAIZnB,EAAQoB,OAAO,WACb,IAAIf,EAAQC,EAAEC,MACVc,EAAMhB,EAAMiB,YACZC,EAAOlB,EAAMmB,aAAe,GAC5BZ,EAAQP,EAAMoB,aACdC,EAAcrB,EAAM,GAAGqB,YACvBC,EAAStB,EAAMuB,QAAQ,sBACvBC,EAAMF,EAAOG,KAAK,eAClBC,EAAUJ,EAAOG,KAAK,wBACtBE,EAAML,EAAOG,KAAK,iBAEtBG,EAAUN,EAAOG,KAAK,0BAElBJ,EAAcd,GAASW,EACzBS,EAAIE,YAAY,aAEhBF,EAAIG,SAAS,aAGJ,EAAPZ,EACFM,EAAIM,SAAS,eAEbN,EAAIK,YAAY,eAGlBH,EAAQT,UAAUD,GAClBY,EAAQT,WAAWD,KAErBjB,EAAE8B,UAAUC,GAAG,QAAS,aAAc,WACpC,IAAIhC,EAAQC,EAAEC,MACdF,EAAMiC,SAAS,QAAQ9B,IAAI,IAC3BH,EAAMS,IAAI,aAAc,YAE1BR,EAAE8B,UAAUC,GAAG,QAAS,qBAAsB,WAC5C,IAAIE,EAAYjC,EAAEC,MACdiC,EAAiBD,EAAU1B,KAAK,cAChC4B,EAAenC,EAAE,sBACjBoC,EAAcpC,EAAE,qBAEhBA,EAAEK,QAAQC,QAAU,MACtBV,EAAcyC,YAAY,CACxBC,MAAO,uBACPC,YAAY,EACZC,QAAS,CAAC,CACRF,MAAO,YACPG,KAAK,EACLC,SAAS,EACTC,MAAM,EACNC,QAAS,WAEP,IAAIC,EAAUT,EAAYlC,MAAMC,OAChC8B,EAAU/B,IAAI2C,GAEVA,EAAQzC,OACV8B,EAAe1B,IAAI,aAAc,WAEjC0B,EAAe1B,IAAI,aAAc,YAGpC,CACD8B,MAAO,WACPG,KAAK,EACLE,MAAM,EACNC,QAAS,WAEPR,EAAYlC,IAAI,IAChB+B,EAAU/B,IAAI,IACdgC,EAAe1B,IAAI,aAAc,aAGrCsC,UAAW,WACT,IAAID,EAAUZ,EAAU/B,MACxBF,EAAE,iBAAiB6B,SAAS,kBAC5BM,EAAaY,KAAK,eAA6DC,OAAOf,EAAUgB,KAAK,eAAgB,MACrHb,EAAYlC,IAAI2C,QAKxB7C,EAAEK,QAAQ0B,GAAG,SAAUlC,GAQvBA,IArGAH,EAAQI,KAAK,WACX,IAAIC,EAAQC,EAAEC,MAEVF,EAAMmD,IAAI,GAAG9B,YAAcrB,EAAMoD,cACnCpD,EAAMuB,QAAQ,iBAAiBO,SAAS,iBAxCzB"}