{"version":3,"sources":["Core/ModalWindow.ts"],"names":["define","require","exports","Object","defineProperty","value","ModalWindow","[object Object]","windowSelector","closable","this","loaderSelector","_modalWindowSelector","$","on","setModalMaxHeight","find","scrollTop","modalContents","submitButtons","inputFields","length","first","focus","window","resize","hide","modal","backdrop","keyboard","content","title","modalHTMLContent","empty","append","modalTitle","show","$loadPanel","getString","modalBodyWidth","width","modalDescriptionHeight","height","undefined","maxHeight","css","max-height"],"mappings":"AAAAA,OAAO,CAAC,UAAW,WAAY,SAAUC,EAASC,GAC9C,aACAC,OAAOC,eAAeF,EAAS,aAAc,CAAEG,OAAO,IACtDH,EAAQI,iBAAc,EAmGtBJ,EAAQI,YAlGR,MACIC,YAAYC,EAAgBC,GAAW,GACnCC,KAAKC,eAAiB,qBACtBD,KAAKE,qBAAuBJ,EAC5BK,EAAEH,KAAKE,sBACFE,GAAG,gBAAiB,IAAMJ,KAAKK,qBACpCF,EAAEH,KAAKE,sBACFE,GAAG,iBAAkB,KACtBD,EAAEH,KAAKE,sBAAsBI,KAAK,eAAeC,UAAU,GAC3D,IAAIC,EAAgBL,EAAEH,KAAKE,sBAAsBI,KAAK,uBAClDG,EAAgBN,EAAEH,KAAKE,sBAAsBI,KAAK,wBAClDI,EAAcP,EAAEH,KAAKE,sBAAsBI,KAAK,iBAChDI,EAAYC,OAAS,EACrBD,EAAYE,QAAQC,QAGhBJ,EAAcE,OAAS,EACvBF,EAAcG,QAAQC,QAGlBL,EAAcG,OAAS,GACvBH,EAAcI,QAAQC,UAItCV,EAAEW,QAAQC,OAAO,IAAMf,KAAKK,qBACvBN,IACDI,EAAEH,KAAKE,sBAAsBI,KAAK,uBAAuBU,OACzDb,EAAEH,KAAKE,sBAAsBe,MAAM,CAC/BC,SAAU,SACVC,UAAU,KAItBtB,gBAAgBuB,EAASC,GACrB,GAAIlB,EAAEH,KAAKE,sBAAsBS,OAAQ,CACrC,IAAIW,EAAmBnB,EAAEH,KAAKE,sBAAsBI,KAAK,uBACzDH,EAAEmB,GAAkBC,QACpBpB,EAAEmB,GAAkBE,OAAOJ,GAC3B,IAAIK,EAAatB,EAAEH,KAAKE,sBAAsBI,KAAK,gBACnDH,EAAEsB,GAAYF,QACdpB,EAAEsB,GAAYD,OAAO,WAAaH,EAAQ,aAC1CrB,KAAK0B,QAGb7B,OACQM,EAAEH,KAAKC,gBAAgBU,QACvBR,EAAEH,KAAKC,gBAAgBe,OAE3Bb,EAAEH,KAAKE,sBAAsBe,MAAM,QAEvCpB,oBACI,GAAIM,EAAEH,KAAKC,gBAAgBU,OACvBR,EAAEH,KAAKC,gBAAgByB,WAEtB,CACD,IAAIC,EAAaxB,EAAE,8DACnBA,EAAEwB,GAAYH,OAAOrB,EAAE,kEAAoEA,EAAEyB,UAAU,WAAa,WACpHzB,EAAEH,KAAKE,sBACFI,KAAK,gBACLiB,QACAC,OAAO,UACZrB,EAAEH,KAAKE,sBACFI,KAAK,uBACLiB,QACAC,OAAOG,GACZxB,EAAEH,KAAKC,gBAAgByB,OAE3BvB,EAAEH,KAAKE,sBAAsBe,MAAM,QACnCd,EAAEH,KAAKE,sBAAsBI,KAAK,eAAeC,UAAU,GAE/DV,QACIM,EAAEH,KAAKE,sBAAsBe,MAAM,UAEvCpB,oBACI,GAAIM,EAAEH,KAAKE,sBAAsBS,OAAQ,CACrC,IAAIkB,EAAiB1B,EAAEH,KAAKE,sBAAsBI,KAAK,eAAewB,QAAU,EAAI3B,EAAEH,KAAKE,sBAAsBI,KAAK,eAAewB,QAAU,IAC3IC,EAAyB5B,EAAEH,KAAKE,sBAAsBI,KAAK,sBAAsB0B,SAEjFD,OAD2BE,IAA3BF,EACyB,EAGAA,EAAyB,EAAIA,EAAyB,IAEnF,IAAIG,EAAY/B,EAAEW,QAAQkB,SAAW,IAAMD,EAC3C5B,EAAEH,KAAKE,sBACFI,KAAK,eACL6B,IAAI,CACLC,aAAcF,IAElB,IAAIJ,EAAQ3B,EAAEW,QAAQgB,SAAW3B,EAAEW,QAAQgB,QAAUD,GAAkB,EACvE1B,EAAEH,KAAKE,sBACFiC,IAAI,CACLL,MAASA","sourcesContent":["import Interfaces = require(\"./Interfaces\");\n\nexport class ModalWindow implements Interfaces.IModal {\n \n private _modalWindowSelector: string;\n private loaderSelector = \"#loadPanelForModal\";\n\n constructor(windowSelector: string, closable: boolean = true) { \n this._modalWindowSelector = windowSelector;\n\n //to make the modals dragable again, uncomment this line\n //$(this._modalWindowSelector).draggable({ handle: \".modal-content\" }); \n\n $(this._modalWindowSelector)\n .on('show.bs.modal', () => this.setModalMaxHeight()); \n\n $(this._modalWindowSelector)\n .on('shown.bs.modal', () => {\n $(this._modalWindowSelector).find('.modal-body').scrollTop(0);\n\n var modalContents = $(this._modalWindowSelector).find('.modal-html-content');\n var submitButtons = $(this._modalWindowSelector).find('button[id*=\"Submit\"]');\n var inputFields = $(this._modalWindowSelector).find('input:visible');\n\n if (inputFields.length > 0)\n {\n inputFields.first().focus();\n }\n else\n {\n if (submitButtons.length > 0)\n {\n submitButtons.first().focus();\n }\n else\n {\n if (modalContents.length > 0)\n modalContents.first().focus();\n }\n }\n }); \n\n $(window).resize(() => this.setModalMaxHeight());\n\n if (!closable) {\n $(this._modalWindowSelector).find('button[class=close]').hide();\n $(this._modalWindowSelector).modal({\n backdrop: 'static',\n keyboard: false\n })\n }\n\n }\n\n showModalWindow(content: string, title: string): void { \n if ($(this._modalWindowSelector).length) { \n var modalHTMLContent = $(this._modalWindowSelector).find('.modal-html-content'); \n $(modalHTMLContent).empty();\n $(modalHTMLContent).append(content);\n var modalTitle = $(this._modalWindowSelector).find('.modal-title');\n $(modalTitle).empty();\n $(modalTitle).append('' + title + ''); \n this.show();\n } \n }\n\n show(): void {\n if ($(this.loaderSelector).length) {\n $(this.loaderSelector).hide();\n } \n $(this._modalWindowSelector).modal('show');\n //$(this._modalWindowSelector).find('.modal-body').scrollTop(0);\n }\n\n showWithLoadPanel(): void { \n if ($(this.loaderSelector).length) {\n $(this.loaderSelector).show();\n } else {\n var $loadPanel = $('
');\n $($loadPanel).append($('
' + $.getString('Loading') + '
'));\n\n $(this._modalWindowSelector)\n .find('.modal-title')\n .empty()\n .append(' ');\n $(this._modalWindowSelector)\n .find('.modal-html-content')\n .empty()\n .append($loadPanel);\n $(this.loaderSelector).show();\n }\n $(this._modalWindowSelector).modal('show');\n $(this._modalWindowSelector).find('.modal-body').scrollTop(0);\n }\n\n\n close(): void {\n $(this._modalWindowSelector).modal('toggle');\n }\n\n setModalMaxHeight(): void {\n if ($(this._modalWindowSelector).length) {\n var modalBodyWidth = $(this._modalWindowSelector).find('.modal-body').width() > 0 ? $(this._modalWindowSelector).find('.modal-body').width() : 300;\n var modalDescriptionHeight = $(this._modalWindowSelector).find('.modal-description').height();\n if (modalDescriptionHeight === undefined) {\n modalDescriptionHeight = 0;\n } else {\n modalDescriptionHeight = modalDescriptionHeight > 0 ? modalDescriptionHeight : 100;\n }\n \n var maxHeight = $(window).height() - 180 - modalDescriptionHeight;\n $(this._modalWindowSelector)\n .find('.modal-body')\n .css({\n 'max-height': maxHeight,\n });\n\n var width = $(window).width() + ($(window).width() - modalBodyWidth) / 2;\n $(this._modalWindowSelector) \n .css({\n 'width': width,\n });\n } \n }\n}"],"file":"ModalWindow.js"}