{"version":3,"sources":["node_modules/nodebb-plugin-composer-default/static/lib/composer/formatting.js"],"names":["define","controls","preview","resize","formatting","formattingDispatchTable","picture","postContainer","this","find","click","upload","tags","toggleClass","zen","$","window","one","onResize","screenfull","isFullscreen","app","toggleNavbar","removeClass","reposition","off","addClass","focus","on","exit","toggle","buttons","addComposerButtons","x","numButtons","length","before","name","title","iconClass","addButton","onClick","replace","push","getDispatchTable","addButtonDispatch","addHandler","event","format","attr","textarea","parents","hasOwnProperty","call","selectionStart","selectionEnd","render"],"mappings":"AAAA,aAIAA,OAAO,uBAAwB,oBAAqB,mBAAoB,mBAAoB,SAASC,EAAUC,EAASC,GAEvH,IAAIC,KAEJ,IAAIC,GACHC,QAAS,WACR,IAAIC,EAAgBC,KACpBD,EAAcE,KAAK,UAAUC,SAG9BC,OAAQ,WACP,IAAIJ,EAAgBC,KACpBD,EAAcE,KAAK,UAAUC,SAG9BE,KAAM,WACL,IAAIL,EAAgBC,KACpBD,EAAcE,KAAK,mBAAmBI,YAAY,WAGnDC,IAAK,WACJ,IAAIP,EAAgBC,KACpBO,EAAEC,QAAQC,IAAI,SAAU,WACvB,SAASC,IACR,IAAKC,WAAWC,aAAc,CAC7BC,IAAIC,aAAa,MACjBP,EAAE,QAAQQ,YAAY,YACtBpB,EAAOqB,WAAWjB,GAClBQ,EAAEC,QAAQS,IAAI,SAAUP,IAI1B,GAAIC,WAAWC,aAAc,CAC5BC,IAAIC,aAAa,OACjBP,EAAE,QAAQW,SAAS,YACnBnB,EAAcE,KAAK,UAAUkB,QAE7BZ,EAAEC,QAAQY,GAAG,SAAUV,GAEvBH,EAAEC,QAAQC,IAAI,6GAA8GE,WAAWU,SAIzIV,WAAWW,WAIb,IAAIC,KAEJ3B,EAAW4B,mBAAqB,WAC/B,IAAI,IAAIC,EAAE,EAAEC,EAAWH,EAAQI,OAAOF,EAAEC,EAAWD,IAAK,CACvDlB,EAAE,+CAA+CqB,OAAO,kCAAoCL,EAAQE,GAAGI,KAAO,aAAeN,EAAQE,GAAGK,OAAS,IAAM,eAAiBP,EAAQE,GAAGM,UAAY,iBAIjMnC,EAAWoC,UAAY,SAASD,EAAWE,EAASH,EAAOD,GAC1D,IAAIA,EAAOA,GAAQE,EAAUG,QAAQ,SAAU,IAE/CrC,EAAwBgC,GAAQI,EAChCV,EAAQY,MACPN,KAAMA,EACNE,UAAWA,EACXD,MAAOA,KAITlC,EAAWwC,iBAAmB,WAC7B,OAAOvC,GAGRD,EAAWyC,kBAAoB,SAASR,EAAMI,GAC7CpC,EAAwBgC,GAAQI,GAGjCrC,EAAW0C,WAAa,SAASvC,GAChCA,EAAcqB,GAAG,QAAS,qBAAsB,SAAUmB,GACzD,IAAIC,EAASjC,EAAEP,MAAMyC,KAAK,eACzBC,EAAWnC,EAAEP,MAAM2C,QAAQ,0BAA0B1C,KAAK,YAAY,GAEvE,GAAGJ,EAAwB+C,eAAeJ,GAAQ,CACjD3C,EAAwB2C,GAAQK,KAAK9C,EAAe2C,EAAUA,EAASI,eAAgBJ,EAASK,aAAcR,GAC9G7C,EAAQsD,OAAOjD,OAKlB,OAAOH","file":"node_modules/nodebb-plugin-composer-default/static/lib/composer/formatting.js","sourcesContent":["'use strict';\r\n\r\n/* globals app, define, screenfull */\r\n\r\ndefine('composer/formatting', ['composer/controls', 'composer/preview', 'composer/resize'], function(controls, preview, resize) {\r\n\r\n\tvar formatting = {};\r\n\r\n\tvar formattingDispatchTable = {\r\n\t\tpicture: function () {\r\n\t\t\tvar postContainer = this;\r\n\t\t\tpostContainer.find('#files').click();\r\n\t\t},\r\n\r\n\t\tupload: function () {\r\n\t\t\tvar postContainer = this;\r\n\t\t\tpostContainer.find('#files').click();\r\n\t\t},\r\n\r\n\t\ttags: function() {\r\n\t\t\tvar postContainer = this;\r\n\t\t\tpostContainer.find('.tags-container').toggleClass('hidden');\r\n\t\t},\r\n\r\n\t\tzen: function() {\r\n\t\t\tvar postContainer = this;\r\n\t\t\t$(window).one('resize', function() {\r\n\t\t\t\tfunction onResize() {\r\n\t\t\t\t\tif (!screenfull.isFullscreen) {\r\n\t\t\t\t\t\tapp.toggleNavbar(true);\r\n\t\t\t\t\t\t$('html').removeClass('zen-mode');\r\n\t\t\t\t\t\tresize.reposition(postContainer);\r\n\t\t\t\t\t\t$(window).off('resize', onResize);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (screenfull.isFullscreen) {\r\n\t\t\t\t\tapp.toggleNavbar(false);\r\n\t\t\t\t\t$('html').addClass('zen-mode');\r\n\t\t\t\t\tpostContainer.find('.write').focus();\r\n\r\n\t\t\t\t\t$(window).on('resize', onResize);\r\n\r\n\t\t\t\t\t$(window).one('action:composer.topics.post action:composer.posts.reply action:composer.posts.edit action:composer.discard', screenfull.exit);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tscreenfull.toggle();\r\n\t\t}\r\n\t};\r\n\r\n\tvar buttons = [];\r\n\r\n\tformatting.addComposerButtons = function() {\r\n\t\tfor(var x=0,numButtons=buttons.length;x');\r\n\t\t}\r\n\t};\r\n\r\n\tformatting.addButton = function(iconClass, onClick, title, name) {\r\n\t\tvar name = name || iconClass.replace('fa fa-', '');\r\n\r\n\t\tformattingDispatchTable[name] = onClick;\r\n\t\tbuttons.push({\r\n\t\t\tname: name,\r\n\t\t\ticonClass: iconClass,\r\n\t\t\ttitle: title\r\n\t\t});\r\n\t};\r\n\r\n\tformatting.getDispatchTable = function () {\r\n\t\treturn formattingDispatchTable;\r\n\t};\r\n\r\n\tformatting.addButtonDispatch = function(name, onClick) {\r\n\t\tformattingDispatchTable[name] = onClick;\r\n\t};\r\n\r\n\tformatting.addHandler = function(postContainer) {\r\n\t\tpostContainer.on('click', '.formatting-bar li', function (event) {\r\n\t\t\tvar format = $(this).attr('data-format'),\r\n\t\t\t\ttextarea = $(this).parents('[component=\"composer\"]').find('textarea')[0];\r\n\r\n\t\t\tif(formattingDispatchTable.hasOwnProperty(format)){\r\n\t\t\t\tformattingDispatchTable[format].call(postContainer, textarea, textarea.selectionStart, textarea.selectionEnd, event);\r\n\t\t\t\tpreview.render(postContainer);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\treturn formatting;\r\n});\r\n"]}