2019-01-31 17:06:48 +01:00
//META{"name":"EditServers","website":"https://github.com/mwittrien/BetterDiscordAddons/tree/master/Plugins/EditServers","source":"https://raw.githubusercontent.com/mwittrien/BetterDiscordAddons/master/Plugins/EditServers/EditServers.plugin.js"}*//
2018-10-11 10:21:26 +02:00
class EditServers {
2019-01-17 23:48:29 +01:00
getName ( ) { return "EditServers" ; }
2019-02-01 11:48:53 +01:00
getVersion ( ) { return "1.9.3" ; }
2019-01-17 23:48:29 +01:00
getAuthor ( ) { return "DevilBro" ; }
getDescription ( ) { return "Allows you to change the icon, name and color of servers." ; }
2019-01-26 22:45:19 +01:00
2018-10-11 10:21:26 +02:00
initConstructor ( ) {
2019-02-01 11:48:53 +01:00
this . changelog = {
"fixed" : [ [ "Servericon Text Size" , "If you choose to remove a servericon or choose a shortname for a server the fontsize will now properly be scaled relative to the shortnamelength" ] ]
} ;
2018-10-11 10:21:26 +02:00
this . labels = { } ;
2019-01-26 22:45:19 +01:00
2019-01-06 23:37:28 +01:00
this . patchModules = {
"GuildIcon" : "componentDidMount" ,
"GuildHeader" : [ "componentDidMount" , "componentDidUpdate" ] ,
"Clickable" : "componentDidMount"
} ;
2018-10-11 10:21:26 +02:00
this . serverContextEntryMarkup =
` <div class=" ${ BDFDB . disCN . contextmenuitemgroup } ">
< div class = "${BDFDB.disCN.contextmenuitem} localserversettings-item ${BDFDB.disCN.contextmenuitemsubmenu}" >
2019-01-02 22:08:55 +01:00
< span class = "DevilBro-textscrollwrapper" speed = 3 > < div class = "DevilBro-textscroll" > REPLACE _context _localserversettings _text < / d i v > < / s p a n >
2018-10-11 10:21:26 +02:00
< div class = "${BDFDB.disCN.contextmenuhint}" > < / d i v >
< / d i v >
< / d i v > ` ;
2019-01-26 22:45:19 +01:00
2018-10-11 10:21:26 +02:00
this . serverContextSubMenuMarkup =
` <div class=" ${ BDFDB . disCN . contextmenu } editservers-submenu">
< div class = "${BDFDB.disCN.contextmenuitemgroup}" >
< div class = "${BDFDB.disCN.contextmenuitem} serversettings-item" >
2019-01-02 22:08:55 +01:00
< span class = "DevilBro-textscrollwrapper" speed = 3 > < div class = "DevilBro-textscroll" > REPLACE _submenu _serversettings _text < / d i v > < / s p a n >
2018-10-11 10:21:26 +02:00
< div class = "${BDFDB.disCN.contextmenuhint}" > < / d i v >
< / d i v >
< div class = "${BDFDB.disCN.contextmenuitem} resetsettings-item ${BDFDB.disCN.contextmenuitemdisabled}" >
2019-01-02 22:08:55 +01:00
< span class = "DevilBro-textscrollwrapper" speed = 3 > < div class = "DevilBro-textscroll" > REPLACE _submenu _resetsettings _text < / d i v > < / s p a n >
2018-10-11 10:21:26 +02:00
< div class = "${BDFDB.disCN.contextmenuhint}" > < / d i v >
< / d i v >
< / d i v >
< / d i v > ` ;
this . serverSettingsModalMarkup =
2019-01-24 13:37:08 +01:00
` <span class=" ${ this . name } -modal DevilBro-modal">
2018-10-11 10:21:26 +02:00
< div class = "${BDFDB.disCN.backdrop}" > < / d i v >
< div class = "${BDFDB.disCN.modal}" >
< div class = "${BDFDB.disCN.modalinner}" >
< div class = "${BDFDB.disCNS.modalsub + BDFDB.disCN.modalsizemedium}" >
2019-01-17 23:48:29 +01:00
< div class = "${BDFDB.disCNS.flex + BDFDB.disCNS.flex2 + BDFDB.disCNS.horizontal + BDFDB.disCNS.horizontal2 + BDFDB.disCNS.directionrow + BDFDB.disCNS.justifystart + BDFDB.disCNS.aligncenter + BDFDB.disCNS.nowrap + BDFDB.disCN.modalheader}" style = "flex: 0 0 auto; padding-bottom: 10px;" >
2018-10-11 10:21:26 +02:00
< div class = "${BDFDB.disCN.flexchild}" style = "flex: 1 1 auto;" >
< h4 class = "${BDFDB.disCNS.h4 + BDFDB.disCNS.headertitle + BDFDB.disCNS.size16 + BDFDB.disCNS.height20 + BDFDB.disCNS.weightsemibold + BDFDB.disCNS.defaultcolor + BDFDB.disCNS.h4defaultmargin + BDFDB.disCN.marginreset}" > REPLACE _modal _header _text < / h 4 >
< div class = "${BDFDB.disCNS.modalguildname + BDFDB.disCNS.small + BDFDB.disCNS.size12 + BDFDB.disCNS.height16 + BDFDB.disCN.primary}" > < / d i v >
< / d i v >
2019-01-22 20:15:31 +01:00
< button type = "button" class = "${BDFDB.disCNS.modalclose + BDFDB.disCNS.flexchild + BDFDB.disCNS.button + BDFDB.disCNS.buttonlookblank + BDFDB.disCNS.buttoncolorbrand + BDFDB.disCN.buttongrow}" >
< div class = "${BDFDB.disCN.buttoncontents}" >
< svg name = "Close" width = "18" height = "18" viewBox = "0 0 12 12" style = "flex: 0 1 auto;" >
< g fill = "none" fill - rule = "evenodd" >
< path d = "M0 0h12v12H0" > < / p a t h >
< path class = "fill" fill = "currentColor" d = "M9.5 3.205L8.795 2.5 6 5.295 3.205 2.5l-.705.705L5.295 6 2.5 8.795l.705.705L6 6.705 8.795 9.5l.705-.705L6.705 6" > < / p a t h >
< / g >
< / s v g >
< / d i v >
< / b u t t o n >
2018-10-11 10:21:26 +02:00
< / d i v >
2019-01-17 23:48:29 +01:00
< div class = "${BDFDB.disCNS.flex + BDFDB.disCNS.flex2 + BDFDB.disCNS.horizontal + BDFDB.disCNS.horizontal2 + BDFDB.disCNS.directionrow + BDFDB.disCNS.justifystart + BDFDB.disCNS.aligncenter + BDFDB.disCNS.nowrap + BDFDB.disCNS.marginbottom8 + BDFDB.disCN.tabbarcontainer}" style = "flex: 0 0 auto; padding-right: 12px;" >
< div class = "${BDFDB.disCNS.tabbar + BDFDB.disCN.tabbartop}" >
< div tab = "server" class = "${BDFDB.disCNS.settingsitemdefault + BDFDB.disCNS.settingsitem + BDFDB.disCNS.settingsnotselected + BDFDB.disCN.tabbaritem}" > REPLACE _modal _tabheader1 _text < / d i v >
< div tab = "icon" class = "${BDFDB.disCNS.settingsitemdefault + BDFDB.disCNS.settingsitem + BDFDB.disCNS.settingsnotselected + BDFDB.disCN.tabbaritem}" > REPLACE _modal _tabheader2 _text < / d i v >
< div tab = "tooltip" class = "${BDFDB.disCNS.settingsitemdefault + BDFDB.disCNS.settingsitem + BDFDB.disCNS.settingsnotselected + BDFDB.disCN.tabbaritem}" > REPLACE _modal _tabheader3 _text < / d i v >
< / d i v >
2018-10-11 10:21:26 +02:00
< / d i v >
< div class = "${BDFDB.disCNS.scrollerwrap + BDFDB.disCNS.modalcontent + BDFDB.disCNS.scrollerthemed + BDFDB.disCN.themeghosthairline}" >
< div class = "${BDFDB.disCNS.scroller + BDFDB.disCN.modalsubinner}" >
< div tab = "server" class = "${BDFDB.disCNS.flex + BDFDB.disCNS.flex2 + BDFDB.disCNS.vertical + BDFDB.disCNS.directioncolumn + BDFDB.disCNS.justifystart + BDFDB.disCNS.alignstretch + BDFDB.disCNS.nowrap + BDFDB.disCN.marginbottom20} tab-content" style = "flex: 1 1 auto;" >
< div class = "${BDFDB.disCNS.flex + BDFDB.disCNS.flex2 + BDFDB.disCNS.horizontal + BDFDB.disCNS.horizontal2 + BDFDB.disCNS.directionrow + BDFDB.disCNS.justifystart + BDFDB.disCNS.aligncenter + BDFDB.disCNS.nowrap + BDFDB.disCN.marginbottom8}" style = "flex: 1 1 auto;" >
< h3 class = "${BDFDB.disCNS.titledefault + BDFDB.disCNS.title + BDFDB.disCNS.marginreset + BDFDB.disCNS.weightmedium + BDFDB.disCNS.size16 + BDFDB.disCNS.height24 + BDFDB.disCN.flexchild}" style = "flex: 0 0 auto;" > REPLACE _modal _servername _text < / h 3 >
< / d i v >
< div class = "${BDFDB.disCNS.flex + BDFDB.disCNS.flex2 + BDFDB.disCNS.horizontal + BDFDB.disCNS.horizontal2 + BDFDB.disCNS.directionrow + BDFDB.disCNS.justifystart + BDFDB.disCNS.aligncenter + BDFDB.disCNS.nowrap + BDFDB.disCN.marginbottom8}" style = "flex: 1 1 auto;" >
< div class = "${BDFDB.disCNS.inputwrapper + BDFDB.disCNS.vertical + BDFDB.disCNS.flex + BDFDB.disCNS.directioncolumn + BDFDB.disCN.flexchild}" style = "flex: 1 1 auto;" > < input type = "text" class = "${BDFDB.disCNS.inputdefault + BDFDB.disCNS.input + BDFDB.disCN.size16}" id = "input-servername" > < / d i v >
< / d i v >
< div class = "${BDFDB.disCNS.flex + BDFDB.disCNS.flex2 + BDFDB.disCNS.horizontal + BDFDB.disCNS.horizontal2 + BDFDB.disCNS.directionrow + BDFDB.disCNS.justifystart + BDFDB.disCNS.aligncenter + BDFDB.disCNS.nowrap + BDFDB.disCN.marginbottom8}" style = "flex: 1 1 auto;" >
< h3 class = "${BDFDB.disCNS.titledefault + BDFDB.disCNS.title + BDFDB.disCNS.marginreset + BDFDB.disCNS.weightmedium + BDFDB.disCNS.size16 + BDFDB.disCNS.height24 + BDFDB.disCN.flexchild}" style = "flex: 0 0 auto;" > REPLACE _modal _servershortname _text < / h 3 >
< / d i v >
< div class = "${BDFDB.disCNS.flex + BDFDB.disCNS.flex2 + BDFDB.disCNS.horizontal + BDFDB.disCNS.horizontal2 + BDFDB.disCNS.directionrow + BDFDB.disCNS.justifystart + BDFDB.disCNS.aligncenter + BDFDB.disCNS.nowrap + BDFDB.disCN.marginbottom8}" style = "flex: 1 1 auto;" >
< div class = "${BDFDB.disCNS.inputwrapper + BDFDB.disCNS.vertical + BDFDB.disCNS.flex + BDFDB.disCNS.directioncolumn + BDFDB.disCN.flexchild}" style = "flex: 1 1 auto;" > < input type = "text" class = "${BDFDB.disCNS.inputdefault + BDFDB.disCNS.input + BDFDB.disCN.size16}" id = "input-servershortname" > < / d i v >
< / d i v >
< div class = "${BDFDB.disCNS.flex + BDFDB.disCNS.flex2 + BDFDB.disCNS.horizontal + BDFDB.disCNS.horizontal2 + BDFDB.disCNS.directionrow + BDFDB.disCNS.justifystart + BDFDB.disCNS.aligncenter + BDFDB.disCNS.nowrap + BDFDB.disCN.marginbottom8}" style = "flex: 1 1 auto;" >
< h3 class = "${BDFDB.disCNS.titledefault + BDFDB.disCNS.title + BDFDB.disCNS.marginreset + BDFDB.disCNS.weightmedium + BDFDB.disCNS.size16 + BDFDB.disCNS.height24 + BDFDB.disCN.flexchild}" style = "flex: 0 0 auto;" > REPLACE _modal _serverurl _text < / h 3 >
< / d i v >
< div class = "${BDFDB.disCNS.flex + BDFDB.disCNS.flex2 + BDFDB.disCNS.horizontal + BDFDB.disCNS.horizontal2 + BDFDB.disCNS.directionrow + BDFDB.disCNS.justifystart + BDFDB.disCNS.aligncenter + BDFDB.disCNS.nowrap + BDFDB.disCN.marginbottom8}" style = "flex: 1 1 auto;" >
< div class = "${BDFDB.disCNS.inputwrapper + BDFDB.disCNS.vertical + BDFDB.disCNS.flex + BDFDB.disCNS.directioncolumn + BDFDB.disCN.flexchild}" style = "flex: 1 1 auto;" > < input type = "text" class = "${BDFDB.disCNS.inputdefault + BDFDB.disCNS.input + BDFDB.disCN.size16}" id = "input-serverurl" > < / d i v >
< / d i v >
< div class = "${BDFDB.disCNS.flex + BDFDB.disCNS.flex2 + BDFDB.disCNS.horizontal + BDFDB.disCNS.horizontal2 + BDFDB.disCNS.directionrow + BDFDB.disCNS.justifystart + BDFDB.disCNS.aligncenter + BDFDB.disCNS.nowrap + BDFDB.disCN.marginbottom8}" style = "flex: 1 1 auto;" >
< h3 class = "${BDFDB.disCNS.titledefault + BDFDB.disCNS.title + BDFDB.disCNS.marginreset + BDFDB.disCNS.weightmedium + BDFDB.disCNS.size16 + BDFDB.disCNS.height24 + BDFDB.disCN.flexchild}" style = "flex: 1 1 auto;" > REPLACE _modal _removeicon _text < / h 3 >
< div class = "${BDFDB.disCNS.flexchild + BDFDB.disCNS.switchenabled + BDFDB.disCNS.switch + BDFDB.disCNS.switchvalue + BDFDB.disCNS.switchsizedefault + BDFDB.disCNS.switchsize + BDFDB.disCN.switchthemedefault}" style = "flex: 0 0 auto;" >
< input type = "checkbox" class = "${BDFDB.disCNS.switchinnerenabled + BDFDB.disCN.switchinner}" id = "input-removeicon" >
< / d i v >
< / d i v >
< / d i v >
< div tab = "icon" class = "${BDFDB.disCNS.flex + BDFDB.disCNS.flex2 + BDFDB.disCNS.vertical + BDFDB.disCNS.directioncolumn + BDFDB.disCNS.justifystart + BDFDB.disCNS.alignstretch + BDFDB.disCNS.nowrap + BDFDB.disCN.marginbottom20} tab-content" style = "flex: 1 1 auto;" >
< div class = "${BDFDB.disCNS.flex + BDFDB.disCNS.flex2 + BDFDB.disCNS.vertical + BDFDB.disCNS.directioncolumn + BDFDB.disCNS.justifystart + BDFDB.disCNS.alignstart + BDFDB.disCN.nowrap}" style = "flex: 1 1 auto;" >
< h3 class = "${BDFDB.disCNS.titledefault + BDFDB.disCNS.title + BDFDB.disCNS.marginreset + BDFDB.disCNS.weightmedium + BDFDB.disCNS.size16 + BDFDB.disCNS.height24 + BDFDB.disCN.flexchild}" style = "flex: 0 0 auto;" > REPLACE _modal _colorpicker1 _text < / h 3 >
< / d i v >
2018-12-13 16:48:35 +01:00
< div class = "${BDFDB.disCNS.flex + BDFDB.disCNS.flex2 + BDFDB.disCNS.horizontal + BDFDB.disCNS.horizontal2 + BDFDB.disCNS.directionrow + BDFDB.disCNS.justifystart + BDFDB.disCNS.aligncenter + BDFDB.disCNS.nowrap + BDFDB.disCN.marginbottom8} swatches" style = "flex: 1 1 auto;" > < / d i v >
2018-10-11 10:21:26 +02:00
< div class = "${BDFDB.disCNS.flex + BDFDB.disCNS.flex2 + BDFDB.disCNS.vertical + BDFDB.disCNS.directioncolumn + BDFDB.disCNS.justifystart + BDFDB.disCNS.alignstart + BDFDB.disCN.nowrap}" style = "flex: 1 1 auto;" >
< h3 class = "${BDFDB.disCNS.titledefault + BDFDB.disCNS.title + BDFDB.disCNS.marginreset + BDFDB.disCNS.weightmedium + BDFDB.disCNS.size16 + BDFDB.disCNS.height24 + BDFDB.disCN.flexchild}" style = "flex: 0 0 auto;" > REPLACE _modal _colorpicker2 _text < / h 3 >
< / d i v >
2018-12-13 16:48:35 +01:00
< div class = "${BDFDB.disCNS.flex + BDFDB.disCNS.flex2 + BDFDB.disCNS.horizontal + BDFDB.disCNS.horizontal2 + BDFDB.disCNS.directionrow + BDFDB.disCNS.justifystart + BDFDB.disCNS.aligncenter + BDFDB.disCNS.nowrap + BDFDB.disCN.marginbottom8} swatches" style = "flex: 1 1 auto;" > < / d i v >
2018-10-11 10:21:26 +02:00
< / d i v >
< div tab = "tooltip" class = "${BDFDB.disCNS.flex + BDFDB.disCNS.flex2 + BDFDB.disCNS.vertical + BDFDB.disCNS.directioncolumn + BDFDB.disCNS.justifystart + BDFDB.disCNS.alignstretch + BDFDB.disCNS.nowrap + BDFDB.disCN.marginbottom20} tab-content" style = "flex: 1 1 auto;" >
< div class = "${BDFDB.disCNS.flex + BDFDB.disCNS.flex2 + BDFDB.disCNS.vertical + BDFDB.disCNS.directioncolumn + BDFDB.disCNS.justifystart + BDFDB.disCNS.alignstart + BDFDB.disCN.nowrap}" style = "flex: 1 1 auto;" >
< h3 class = "${BDFDB.disCNS.titledefault + BDFDB.disCNS.title + BDFDB.disCNS.marginreset + BDFDB.disCNS.weightmedium + BDFDB.disCNS.size16 + BDFDB.disCNS.height24 + BDFDB.disCN.flexchild}" style = "flex: 0 0 auto;" > REPLACE _modal _colorpicker3 _text < / h 3 >
< / d i v >
2018-12-13 16:48:35 +01:00
< div class = "${BDFDB.disCNS.flex + BDFDB.disCNS.flex2 + BDFDB.disCNS.horizontal + BDFDB.disCNS.horizontal2 + BDFDB.disCNS.directionrow + BDFDB.disCNS.justifystart + BDFDB.disCNS.aligncenter + BDFDB.disCNS.nowrap + BDFDB.disCN.marginbottom8} swatches" style = "flex: 1 1 auto;" > < / d i v >
2018-10-11 10:21:26 +02:00
< div class = "${BDFDB.disCNS.flex + BDFDB.disCNS.flex2 + BDFDB.disCNS.vertical + BDFDB.disCNS.directioncolumn + BDFDB.disCNS.justifystart + BDFDB.disCNS.alignstart + BDFDB.disCN.nowrap}" style = "flex: 1 1 auto;" >
< h3 class = "${BDFDB.disCNS.titledefault + BDFDB.disCNS.title + BDFDB.disCNS.marginreset + BDFDB.disCNS.weightmedium + BDFDB.disCNS.size16 + BDFDB.disCNS.height24 + BDFDB.disCN.flexchild}" style = "flex: 0 0 auto;" > REPLACE _modal _colorpicker4 _text < / h 3 >
< / d i v >
2018-12-13 16:48:35 +01:00
< div class = "${BDFDB.disCNS.flex + BDFDB.disCNS.flex2 + BDFDB.disCNS.horizontal + BDFDB.disCNS.horizontal2 + BDFDB.disCNS.directionrow + BDFDB.disCNS.justifystart + BDFDB.disCNS.aligncenter + BDFDB.disCNS.nowrap + BDFDB.disCN.marginbottom8} swatches" style = "flex: 1 1 auto;" > < / d i v >
2018-10-11 10:21:26 +02:00
< / d i v >
< / d i v >
< / d i v >
< div class = "${BDFDB.disCNS.flex + BDFDB.disCNS.flex2 + BDFDB.disCNS.horizontalreverse + BDFDB.disCNS.horizontalreverse2 + BDFDB.disCNS.directionrowreverse + BDFDB.disCNS.justifystart + BDFDB.disCNS.alignstretch + BDFDB.disCNS.nowrap + BDFDB.disCN.modalfooter}" >
< button type = "button" class = "btn-save ${BDFDB.disCNS.button + BDFDB.disCNS.buttonlookfilled + BDFDB.disCNS.buttoncolorbrand + BDFDB.disCNS.buttonsizemedium + BDFDB.disCN.buttongrow}" >
< div class = "${BDFDB.disCN.buttoncontents}" > REPLACE _btn _save _text < / d i v >
< / b u t t o n >
< / d i v >
< / d i v >
< / d i v >
< / d i v >
< / s p a n > ` ;
}
2019-01-26 22:45:19 +01:00
2018-10-11 10:21:26 +02:00
getSettingsPanel ( ) {
2019-01-22 11:28:32 +01:00
if ( ! global . BDFDB || typeof BDFDB != "object" || ! BDFDB . loaded || ! this . started ) return ;
2019-01-24 13:37:08 +01:00
var settingshtml = ` <div class=" ${ this . name } -settings DevilBro-settings"><div class=" ${ BDFDB . disCNS . titledefault + BDFDB . disCNS . title + BDFDB . disCNS . size18 + BDFDB . disCNS . height24 + BDFDB . disCNS . weightnormal + BDFDB . disCN . marginbottom8 } "> ${ this . name } </div><div class="DevilBro-settings-inner"> ` ;
2018-10-11 10:21:26 +02:00
settingshtml += ` <div class=" ${ BDFDB . disCNS . flex + BDFDB . disCNS . flex2 + BDFDB . disCNS . horizontal + BDFDB . disCNS . horizontal2 + BDFDB . disCNS . directionrow + BDFDB . disCNS . justifystart + BDFDB . disCNS . aligncenter + BDFDB . disCNS . nowrap + BDFDB . disCN . marginbottom8 } " style="flex: 0 0 auto;"><h3 class=" ${ BDFDB . disCNS . titledefault + BDFDB . disCNS . title + BDFDB . disCNS . marginreset + BDFDB . disCNS . weightmedium + BDFDB . disCNS . size16 + BDFDB . disCNS . height24 + BDFDB . disCN . flexchild } " style="flex: 1 1 auto;">Reset all Servers.</h3><button type="button" class=" ${ BDFDB . disCNS . flexchild + BDFDB . disCNS . button + BDFDB . disCNS . buttonlookfilled + BDFDB . disCNS . buttoncolorred + BDFDB . disCNS . buttonsizemedium + BDFDB . disCN . buttongrow } reset-button" style="flex: 0 0 auto;"><div class=" ${ BDFDB . disCN . buttoncontents } ">Reset</div></button></div> ` ;
settingshtml += ` </div></div> ` ;
2019-01-26 22:45:19 +01:00
2019-01-17 23:48:29 +01:00
let settingspanel = BDFDB . htmlToElement ( settingshtml ) ;
2018-10-11 10:21:26 +02:00
2019-01-17 23:48:29 +01:00
BDFDB . initElements ( settingspanel , this ) ;
2018-10-11 10:21:26 +02:00
2019-01-17 23:48:29 +01:00
BDFDB . addEventListener ( this , settingspanel , "click" , ".reset-button" , ( ) => {
BDFDB . openConfirmModal ( this , "Are you sure you want to reset all servers?" , ( ) => {
BDFDB . removeAllData ( this , "servers" ) ;
BDFDB . WebModules . forceAllUpdates ( this ) ;
2019-01-06 23:37:28 +01:00
} ) ;
2019-01-17 23:48:29 +01:00
} ) ;
2018-10-11 10:21:26 +02:00
return settingspanel ;
}
//legacy
load ( ) { }
start ( ) {
2019-02-04 09:13:15 +01:00
if ( ! global . BDFDB ) global . BDFDB = { myPlugins : { } } ;
if ( global . BDFDB && global . BDFDB . myPlugins && typeof global . BDFDB . myPlugins == "object" ) global . BDFDB . myPlugins [ this . getName ( ) ] = this ;
2019-01-17 23:48:29 +01:00
var libraryScript = document . querySelector ( 'head script[src="https://mwittrien.github.io/BetterDiscordAddons/Plugins/BDFDB.js"]' ) ;
if ( ! libraryScript || performance . now ( ) - libraryScript . getAttribute ( "date" ) > 600000 ) {
2018-10-11 10:21:26 +02:00
if ( libraryScript ) libraryScript . remove ( ) ;
libraryScript = document . createElement ( "script" ) ;
libraryScript . setAttribute ( "type" , "text/javascript" ) ;
libraryScript . setAttribute ( "src" , "https://mwittrien.github.io/BetterDiscordAddons/Plugins/BDFDB.js" ) ;
2019-01-17 23:48:29 +01:00
libraryScript . setAttribute ( "date" , performance . now ( ) ) ;
2019-01-30 21:23:49 +01:00
libraryScript . addEventListener ( "load" , ( ) => { if ( global . BDFDB && typeof BDFDB === "object" && BDFDB . loaded ) this . initialize ( ) ; } ) ;
2018-10-11 10:21:26 +02:00
document . head . appendChild ( libraryScript ) ;
}
2019-01-17 23:48:29 +01:00
else if ( global . BDFDB && typeof BDFDB === "object" && BDFDB . loaded ) this . initialize ( ) ;
2018-10-11 10:21:26 +02:00
this . startTimeout = setTimeout ( ( ) => { this . initialize ( ) ; } , 30000 ) ;
}
initialize ( ) {
2019-01-17 23:48:29 +01:00
if ( global . BDFDB && typeof BDFDB === "object" && BDFDB . loaded ) {
2019-01-22 11:05:54 +01:00
if ( this . started ) return ;
2018-10-11 10:21:26 +02:00
BDFDB . loadMessage ( this ) ;
2019-01-26 22:45:19 +01:00
2019-01-06 23:37:28 +01:00
this . GuildUtils = BDFDB . WebModules . findByProperties ( "getGuilds" , "getGuild" ) ;
2019-01-26 22:45:19 +01:00
2019-01-06 23:37:28 +01:00
BDFDB . WebModules . forceAllUpdates ( this ) ;
2018-10-11 10:21:26 +02:00
}
else {
2019-01-24 13:37:08 +01:00
console . error ( ` %c[ ${ this . name } ]%c ` , 'color: #3a71c1; font-weight: 700;' , '' , 'Fatal Error: Could not load BD functions!' ) ;
2018-10-11 10:21:26 +02:00
}
}
stop ( ) {
2019-01-17 23:48:29 +01:00
if ( global . BDFDB && typeof BDFDB === "object" && BDFDB . loaded ) {
2019-01-06 23:37:28 +01:00
let data = BDFDB . loadAllData ( this , "servers" ) ;
BDFDB . removeAllData ( this , "servers" ) ;
BDFDB . WebModules . forceAllUpdates ( this ) ;
BDFDB . saveAllData ( data , this , "servers" ) ;
2019-01-26 22:45:19 +01:00
2018-10-11 10:21:26 +02:00
BDFDB . unloadMessage ( this ) ;
}
}
2019-01-26 22:45:19 +01:00
2018-10-11 10:21:26 +02:00
// begin of own functions
changeLanguageStrings ( ) {
this . serverContextEntryMarkup = this . serverContextEntryMarkup . replace ( "REPLACE_context_localserversettings_text" , this . labels . context _localserversettings _text ) ;
2019-01-26 22:45:19 +01:00
2018-10-11 10:21:26 +02:00
this . serverContextSubMenuMarkup = this . serverContextSubMenuMarkup . replace ( "REPLACE_submenu_serversettings_text" , this . labels . submenu _serversettings _text ) ;
this . serverContextSubMenuMarkup = this . serverContextSubMenuMarkup . replace ( "REPLACE_submenu_resetsettings_text" , this . labels . submenu _resetsettings _text ) ;
2019-01-26 22:45:19 +01:00
2018-10-11 10:21:26 +02:00
this . serverSettingsModalMarkup = this . serverSettingsModalMarkup . replace ( "REPLACE_modal_header_text" , this . labels . modal _header _text ) ;
this . serverSettingsModalMarkup = this . serverSettingsModalMarkup . replace ( "REPLACE_modal_servername_text" , this . labels . modal _servername _text ) ;
this . serverSettingsModalMarkup = this . serverSettingsModalMarkup . replace ( "REPLACE_modal_servershortname_text" , this . labels . modal _servershortname _text ) ;
this . serverSettingsModalMarkup = this . serverSettingsModalMarkup . replace ( "REPLACE_modal_serverurl_text" , this . labels . modal _serverurl _text ) ;
this . serverSettingsModalMarkup = this . serverSettingsModalMarkup . replace ( "REPLACE_modal_removeicon_text" , this . labels . modal _removeicon _text ) ;
this . serverSettingsModalMarkup = this . serverSettingsModalMarkup . replace ( "REPLACE_modal_tabheader1_text" , this . labels . modal _tabheader1 _text ) ;
this . serverSettingsModalMarkup = this . serverSettingsModalMarkup . replace ( "REPLACE_modal_tabheader2_text" , this . labels . modal _tabheader2 _text ) ;
this . serverSettingsModalMarkup = this . serverSettingsModalMarkup . replace ( "REPLACE_modal_tabheader3_text" , this . labels . modal _tabheader3 _text ) ;
this . serverSettingsModalMarkup = this . serverSettingsModalMarkup . replace ( "REPLACE_modal_colorpicker1_text" , this . labels . modal _colorpicker1 _text ) ;
this . serverSettingsModalMarkup = this . serverSettingsModalMarkup . replace ( "REPLACE_modal_colorpicker2_text" , this . labels . modal _colorpicker2 _text ) ;
this . serverSettingsModalMarkup = this . serverSettingsModalMarkup . replace ( "REPLACE_modal_colorpicker3_text" , this . labels . modal _colorpicker3 _text ) ;
this . serverSettingsModalMarkup = this . serverSettingsModalMarkup . replace ( "REPLACE_modal_colorpicker4_text" , this . labels . modal _colorpicker4 _text ) ;
this . serverSettingsModalMarkup = this . serverSettingsModalMarkup . replace ( "REPLACE_btn_save_text" , this . labels . btn _save _text ) ;
}
2019-01-26 22:45:19 +01:00
2019-01-06 23:37:28 +01:00
onGuildContextMenu ( instance , menu ) {
if ( instance . props && instance . props . target && instance . props . guild && ! menu . querySelector ( ".localserversettings-item" ) ) {
2019-01-17 23:48:29 +01:00
let serverContextEntry = BDFDB . htmlToElement ( this . serverContextEntryMarkup ) ;
menu . appendChild ( serverContextEntry ) ;
let settingsitem = serverContextEntry . querySelector ( ".localserversettings-item" ) ;
settingsitem . addEventListener ( "mouseenter" , ( ) => {
let serverContextSubMenu = BDFDB . htmlToElement ( this . serverContextSubMenuMarkup ) ;
let serveritem = serverContextSubMenu . querySelector ( ".serversettings-item" ) ;
serveritem . addEventListener ( "click" , ( ) => {
instance . _reactInternalFiber . return . memoizedProps . closeContextMenu ( ) ;
this . showServerSettings ( instance . props . guild ) ;
2018-10-11 10:21:26 +02:00
} ) ;
2019-01-17 23:48:29 +01:00
if ( BDFDB . loadData ( instance . props . guild . id , this , "servers" ) ) {
let resetitem = serverContextSubMenu . querySelector ( ".resetsettings-item" ) ;
BDFDB . removeClass ( resetitem , BDFDB . disCN . contextmenuitemdisabled ) ;
resetitem . addEventListener ( "click" , ( ) => {
instance . _reactInternalFiber . return . memoizedProps . closeContextMenu ( ) ;
BDFDB . removeData ( instance . props . guild . id , this , "servers" ) ;
BDFDB . WebModules . forceAllUpdates ( this ) ;
} ) ;
}
BDFDB . appendSubMenu ( settingsitem , serverContextSubMenu ) ;
} ) ;
2018-10-11 10:21:26 +02:00
}
}
2019-01-26 22:45:19 +01:00
2018-10-11 10:21:26 +02:00
showServerSettings ( info ) {
2019-01-06 23:37:28 +01:00
var { name , shortName , url , removeIcon , color1 , color2 , color3 , color4 } = BDFDB . loadData ( info . id , this , "servers" ) || { } ;
2019-01-26 22:45:19 +01:00
2019-01-17 23:48:29 +01:00
let serverSettingsModal = BDFDB . htmlToElement ( this . serverSettingsModalMarkup ) ;
let servernameinput = serverSettingsModal . querySelector ( "#input-servername" ) ;
let servershortnameinput = serverSettingsModal . querySelector ( "#input-servershortname" ) ;
let serverurlinput = serverSettingsModal . querySelector ( "#input-serverurl" ) ;
let removeiconinput = serverSettingsModal . querySelector ( "#input-removeicon" ) ;
2019-01-26 22:45:19 +01:00
2019-01-17 23:48:29 +01:00
serverSettingsModal . querySelector ( BDFDB . dotCN . modalguildname ) . innerText = info . name ;
servernameinput . value = name || "" ;
servernameinput . setAttribute ( "placeholder" , info . name ) ;
servershortnameinput . value = shortName || ( info . icon ? "" : info . acronym ) ;
servershortnameinput . setAttribute ( "placeholder" , info . acronym ) ;
serverurlinput . value = url || "" ;
serverurlinput . setAttribute ( "placeholder" , BDFDB . getGuildIcon ( info . id ) || "" ) ;
BDFDB . toggleClass ( serverurlinput , "valid" , serverurlinput . value . length > 0 ) ;
serverurlinput . disabled = removeIcon ;
removeiconinput . checked = removeIcon ;
2018-12-13 16:48:35 +01:00
BDFDB . setColorSwatches ( serverSettingsModal , color1 ) ;
BDFDB . setColorSwatches ( serverSettingsModal , color2 ) ;
BDFDB . setColorSwatches ( serverSettingsModal , color3 ) ;
BDFDB . setColorSwatches ( serverSettingsModal , color4 ) ;
2019-01-26 22:45:19 +01:00
2018-10-11 10:21:26 +02:00
BDFDB . appendModal ( serverSettingsModal ) ;
2019-01-26 22:45:19 +01:00
2019-01-20 19:21:16 +01:00
removeiconinput . addEventListener ( "click" , ( ) => {
serverurlinput . disabled = removeiconinput . checked ;
2019-01-17 23:48:29 +01:00
} ) ;
2019-01-20 19:21:16 +01:00
serverurlinput . addEventListener ( "input" , ( ) => {
this . checkUrl ( serverurlinput ) ;
2019-01-17 23:48:29 +01:00
} ) ;
2019-01-20 19:21:16 +01:00
serverurlinput . addEventListener ( "mouseenter" , ( ) => {
BDFDB . addClass ( serverurlinput , "hovering" ) ;
this . createNoticeTooltip ( serverurlinput ) ;
2019-01-17 23:48:29 +01:00
} ) ;
2019-01-20 19:21:16 +01:00
serverurlinput . addEventListener ( "mouseleave" , ( ) => {
BDFDB . removeClass ( serverurlinput , "hovering" ) ;
2019-01-17 23:48:29 +01:00
BDFDB . removeEles ( BDFDB . dotCNS . tooltips + ".notice-tooltip" ) ;
} ) ;
BDFDB . addChildEventListener ( serverSettingsModal , "click" , ".btn-save" , e => {
name = servernameinput . value . trim ( ) ;
name = name ? name : null ;
2019-01-26 22:45:19 +01:00
2019-01-17 23:48:29 +01:00
shortName = servershortnameinput . value . trim ( ) ;
shortName = shortName && shortName != info . acronym ? shortName : null ;
2019-01-26 22:45:19 +01:00
2019-01-17 23:48:29 +01:00
removeIcon = removeiconinput . checked ;
2019-01-26 22:45:19 +01:00
2019-01-17 23:48:29 +01:00
url = ! removeIcon && BDFDB . containsClass ( serverurlinput , "valid" ) ? serverurlinput . value . trim ( ) : null ;
url = url ? url : null ;
2019-01-26 22:45:19 +01:00
2019-01-17 23:48:29 +01:00
color1 = BDFDB . getSwatchColor ( serverSettingsModal , 1 ) ;
color2 = BDFDB . getSwatchColor ( serverSettingsModal , 2 ) ;
color3 = BDFDB . getSwatchColor ( serverSettingsModal , 3 ) ;
color4 = BDFDB . getSwatchColor ( serverSettingsModal , 4 ) ;
2019-01-26 22:45:19 +01:00
2019-01-17 23:48:29 +01:00
if ( name == null && shortName == null && url == null && ! removeIcon && color1 == null && color2 == null && color3 == null && color4 == null ) {
BDFDB . removeData ( info . id , this , "servers" ) ;
}
else {
BDFDB . saveData ( info . id , { name , shortName , url , removeIcon , color1 , color2 , color3 , color4 } , this , "servers" ) ;
}
BDFDB . WebModules . forceAllUpdates ( this ) ;
} ) ;
servernameinput . focus ( ) ;
2018-10-11 10:21:26 +02:00
}
2019-01-26 22:45:19 +01:00
2019-01-06 23:37:28 +01:00
checkUrl ( input ) {
BDFDB . removeEles ( BDFDB . dotCNS . tooltips + ".notice-tooltip" ) ;
if ( ! input . value ) {
2019-01-17 23:48:29 +01:00
BDFDB . removeClass ( input , "valid" ) ;
BDFDB . removeClass ( input , "invalid" ) ;
2018-10-11 10:21:26 +02:00
}
else {
2019-01-06 23:37:28 +01:00
require ( "request" ) ( input . value , ( error , response , result ) => {
2018-10-11 10:21:26 +02:00
if ( response && response . headers [ "content-type" ] && response . headers [ "content-type" ] . indexOf ( "image" ) != - 1 ) {
2019-01-17 23:48:29 +01:00
BDFDB . addClass ( input , "valid" ) ;
BDFDB . removeClass ( input , "invalid" ) ;
2018-10-11 10:21:26 +02:00
}
else {
2019-01-17 23:48:29 +01:00
BDFDB . removeClass ( input , "valid" ) ;
BDFDB . addClass ( input , "invalid" ) ;
2018-10-11 10:21:26 +02:00
}
2019-01-17 23:48:29 +01:00
if ( BDFDB . containsClass ( input , "hovering" ) ) this . createNoticeTooltip ( input ) ;
2018-10-11 10:21:26 +02:00
} ) ;
}
}
2019-01-26 22:45:19 +01:00
2019-01-06 23:37:28 +01:00
createNoticeTooltip ( input ) {
2018-12-13 16:48:35 +01:00
var disabled = input . disabled ;
2019-01-17 23:48:29 +01:00
var valid = BDFDB . containsClass ( input , "valid" ) ;
var invalid = BDFDB . containsClass ( input , "invalid" ) ;
2018-10-11 10:21:26 +02:00
if ( disabled || valid || invalid ) {
2019-01-06 23:37:28 +01:00
BDFDB . createTooltip ( disabled ? this . labels . modal _ignoreurl _text : valid ? this . labels . modal _validurl _text : this . labels . modal _invalidurl _text , input , { type : "right" , selector : "notice-tooltip" , color : disabled ? "black" : invalid ? "red" : "green" } ) ;
2018-10-11 10:21:26 +02:00
}
}
2019-01-26 22:45:19 +01:00
2019-01-06 23:37:28 +01:00
processGuildIcon ( instance , wrapper ) {
if ( instance . props && instance . props . guild ) {
2019-01-17 23:48:29 +01:00
let icon = wrapper . classList && BDFDB . containsClass ( wrapper , BDFDB . disCN . avataricon ) ? wrapper : wrapper . querySelector ( BDFDB . dotCN . avataricon ) ;
2019-01-06 23:37:28 +01:00
if ( ! icon ) return ;
this . changeGuildIcon ( instance . props . guild , icon ) ;
if ( BDFDB . getParentEle ( BDFDB . dotCN . guild , icon ) ) this . changeTooltip ( instance . props . guild , wrapper , "right" ) ;
else if ( BDFDB . getParentEle ( BDFDB . dotCN . friendscolumn , icon ) ) this . changeTooltip ( instance . props . guild , icon . parentElement , "top" ) ;
2018-10-11 10:21:26 +02:00
}
}
2019-01-26 22:45:19 +01:00
2019-01-06 23:37:28 +01:00
processGuildHeader ( instance , wrapper ) {
if ( instance . props && instance . props . guild ) {
this . changeGuildName ( instance . props . guild , wrapper . querySelector ( BDFDB . dotCN . guildheadername ) ) ;
}
}
2019-01-26 22:45:19 +01:00
2019-01-06 23:37:28 +01:00
processClickable ( instance , wrapper ) {
if ( ! wrapper || ! instance . props || ! instance . props . className ) return ;
else if ( instance . props . tag == "div" && instance . props . className . indexOf ( BDFDB . disCN . userprofilelistrow ) > - 1 ) {
2019-01-17 23:48:29 +01:00
let guild = BDFDB . getReactValue ( instance , "_reactInternalFiber.return.memoizedProps.guild" ) ;
if ( guild && BDFDB . getReactValue ( instance , "_reactInternalFiber.return.type.displayName" ) == "GuildRow" ) {
this . changeGuildName ( guild , wrapper . querySelector ( BDFDB . dotCN . userprofilelistname ) ) ;
2019-01-06 23:37:28 +01:00
}
}
else if ( instance . props . tag == "div" && instance . props . className . indexOf ( BDFDB . disCN . quickswitchresult ) > - 1 ) {
2019-01-17 23:48:29 +01:00
let result = BDFDB . getReactValue ( instance , "_reactInternalFiber.return.memoizedProps.result" ) ;
if ( result && result . type == "GUILD" ) {
this . changeGuildName ( result . record , wrapper . querySelector ( BDFDB . dotCN . quickswitchresultmatch ) ) ;
2019-01-06 23:37:28 +01:00
}
2019-01-17 23:48:29 +01:00
else if ( result && result . type . indexOf ( "_CHANNEL" ) != - 1 && result . record && result . record . guild _id ) {
this . changeGuildName ( this . GuildUtils . getGuild ( result . record . guild _id ) , wrapper . querySelector ( BDFDB . dotCN . quickswitchresultmisccontainer ) ) ;
2019-01-06 23:37:28 +01:00
}
}
}
2019-01-26 22:45:19 +01:00
2019-01-06 23:37:28 +01:00
changeGuildName ( info , guildname ) {
if ( ! info || ! guildname || ! guildname . parentElement ) return ;
if ( guildname . EditServersChangeObserver && typeof guildname . EditServersChangeObserver . disconnect == "function" ) guildname . EditServersChangeObserver . disconnect ( ) ;
let data = BDFDB . loadData ( info . id , this , "servers" ) || { } ;
2019-01-17 23:48:29 +01:00
if ( data . name || data . color2 || guildname . getAttribute ( "changed-by-editservers" ) ) {
guildname . style . setProperty ( "color" , BDFDB . colorCONVERT ( data . color2 , "RGB" ) , "important" ) ;
BDFDB . setInnerText ( guildname , data . name || info . name ) ;
if ( data . name || data . color2 ) {
guildname . setAttribute ( "changed-by-editservers" , true ) ;
guildname . EditServersChangeObserver = new MutationObserver ( ( changes , _ ) => {
guildname . EditServersChangeObserver . disconnect ( ) ;
this . changeName ( info , guildname ) ;
} ) ;
guildname . EditServersChangeObserver . observe ( guildname , { attributes : true } ) ;
}
else guildname . removeAttribute ( "changed-by-editservers" ) ;
2019-01-06 23:37:28 +01:00
}
}
2019-01-26 22:45:19 +01:00
2019-01-06 23:37:28 +01:00
changeGuildIcon ( info , icon ) {
if ( ! info || ! icon || ! icon . parentElement ) return ;
if ( icon . EditServersChangeObserver && typeof icon . EditServersChangeObserver . disconnect == "function" ) icon . EditServersChangeObserver . disconnect ( ) ;
let data = BDFDB . loadData ( info . id , this , "servers" ) || { } ;
2019-02-01 11:48:53 +01:00
if ( data . url || data . shortName || data . removeIcon || icon . getAttribute ( "changed-by-editservers" ) ) {
let url = data . url || BDFDB . getGuildIcon ( info . id ) ;
if ( icon . tagName == "IMG" ) icon . setAttribute ( "src" , data . removeIcon ? null : url ) ;
2019-01-06 23:37:28 +01:00
else {
2019-01-17 23:48:29 +01:00
BDFDB . setInnerText ( icon , data . url ? "" : ( data . shortName || ( info . icon && ! data . removeIcon ? "" : info . acronym ) ) ) ;
2019-02-01 11:48:53 +01:00
if ( ! data . removeIcon && ! data . shortName && url ) icon . style . setProperty ( "background-image" , ` url( ${ url } ) ` ) ;
else icon . style . removeProperty ( "background-image" ) ;
2019-01-17 23:48:29 +01:00
icon . style . setProperty ( "background-color" , BDFDB . colorCONVERT ( data . color1 , "RGB" ) , "important" ) ;
icon . style . setProperty ( "color" , BDFDB . colorCONVERT ( data . color2 , "RGB" , "important" ) ) ;
icon . style . setProperty ( "font-size" , this . getFontSize ( icon ) ) ;
let hasicon = icon . style . getPropertyValue ( "background-image" ) ;
if ( hasicon ) BDFDB . removeClass ( icon , this . getNoIconClasses ( icon ) ) ;
else BDFDB . addClass ( icon , this . getNoIconClasses ( icon ) ) ;
if ( data . url && ! data . removeIcon ) {
icon . style . setProperty ( "background-position" , "center" ) ;
icon . style . setProperty ( "background-size" , "cover" ) ;
}
2019-01-06 23:37:28 +01:00
}
2019-02-01 11:48:53 +01:00
if ( data . url || data . shortName || data . removeIcon ) {
2019-01-17 23:48:29 +01:00
icon . setAttribute ( "changed-by-editservers" , true ) ;
icon . EditServersChangeObserver = new MutationObserver ( ( changes , _ ) => {
changes . forEach (
( change , i ) => {
icon . EditServersChangeObserver . disconnect ( ) ;
this . changeGuildIcon ( info , icon ) ;
}
) ;
} ) ;
icon . EditServersChangeObserver . observe ( icon , { attributes : true } ) ;
}
else icon . removeAttribute ( "changed-by-editservers" ) ;
2019-01-06 23:37:28 +01:00
}
}
2019-01-26 22:45:19 +01:00
2019-01-06 23:37:28 +01:00
changeTooltip ( info , wrapper , type ) {
if ( ! info || ! wrapper || ! wrapper . parentElement ) return ;
let data = BDFDB . loadData ( info . id , this , "servers" ) || { } ;
2019-01-17 23:48:29 +01:00
wrapper . removeEventListener ( "mouseenter" , wrapper . tooltipListenerEditServers ) ;
if ( data . name || data . color3 || data . color4 ) {
2018-12-14 11:07:51 +01:00
var bgColor = data . color3 ? BDFDB . colorCONVERT ( data . color3 , "RGB" ) : "" ;
var fontColor = data . color4 ? BDFDB . colorCONVERT ( data . color4 , "RGB" ) : "" ;
2019-01-17 23:48:29 +01:00
wrapper . tooltipListenerEditServers = ( ) => {
BDFDB . createTooltip ( data . name || info . name , wrapper , { type , selector : "EditServers-tooltip" , style : ` color: ${ fontColor } !important; background-color: ${ bgColor } !important; border-color: ${ bgColor } !important; ` , css : ` body ${ BDFDB . dotCN . tooltip } :not(.EditServers-tooltip) {display: none !important;} ` } ) ;
} ;
wrapper . addEventListener ( "mouseenter" , wrapper . tooltipListenerEditServers ) ;
}
2019-01-06 23:37:28 +01:00
}
2019-01-26 22:45:19 +01:00
2019-01-06 23:37:28 +01:00
getFontSize ( icon ) {
if ( icon . style . getPropertyValue ( "background-image" ) ) return null ;
2019-02-01 11:48:53 +01:00
else if ( BDFDB . containsClass ( icon , BDFDB . disCN . guildicon ) ) {
var shortname = icon . innerText ;
if ( shortname ) {
if ( shortname . length > 5 ) return "10px" ;
else if ( shortname . length > 4 ) return "12px" ;
else if ( shortname . length > 3 ) return "14px" ;
else if ( shortname . length > 1 ) return "16px" ;
else if ( shortname . length == 1 ) return "18px" ;
}
}
2019-01-17 23:48:29 +01:00
else if ( BDFDB . containsClass ( icon , BDFDB . disCN . avatariconsizexlarge ) ) return "12px" ;
else if ( BDFDB . containsClass ( icon , BDFDB . disCN . avatariconsizelarge ) ) return "10px" ;
else if ( BDFDB . containsClass ( icon , BDFDB . disCN . avatariconsizemedium ) ) return "8px" ;
else if ( BDFDB . containsClass ( icon , BDFDB . disCN . avatariconsizesmall ) ) return "4.8px" ;
else if ( BDFDB . containsClass ( icon , BDFDB . disCN . avatariconsizemini ) ) return "4px" ;
2019-02-01 11:48:53 +01:00
return "10px" ;
2019-01-06 23:37:28 +01:00
}
2019-01-26 22:45:19 +01:00
2019-01-06 23:37:28 +01:00
getNoIconClasses ( icon ) {
let noiconclasses = [ BDFDB . disCN . avatarnoicon ] ;
2019-01-17 23:48:29 +01:00
if ( BDFDB . containsClass ( icon , BDFDB . disCN . userprofilelistavatar ) ) noiconclasses . push ( BDFDB . disCN . userprofilelistguildavatarwithouticon ) ;
2019-01-06 23:37:28 +01:00
return noiconclasses ;
2018-10-11 10:21:26 +02:00
}
2019-01-26 22:45:19 +01:00
2018-10-11 10:21:26 +02:00
setLabelsByLanguage ( ) {
switch ( BDFDB . getDiscordLanguage ( ) . id ) {
case "hr" : //croatian
return {
context _localserversettings _text : "Lokalne postavke poslužitelja" ,
submenu _serversettings _text : "Promijeni postavke" ,
submenu _resetsettings _text : "Ponovno postavite poslužitelj" ,
modal _header _text : "Lokalne postavke poslužitelja" ,
modal _servername _text : "Naziv lokalnog poslužitelja" ,
modal _servershortname _text : "Poslužitelj prečaca" ,
modal _serverurl _text : "Ikona" ,
modal _removeicon _text : "Ukloni ikonu" ,
modal _tabheader1 _text : "Poslužitelja" ,
modal _tabheader2 _text : "Boja ikona" ,
modal _tabheader3 _text : "Boja tooltip" ,
modal _colorpicker1 _text : "Boja ikona" ,
modal _colorpicker2 _text : "Boja fonta" ,
modal _colorpicker3 _text : "Boja tooltip" ,
modal _colorpicker4 _text : "Boja fonta" ,
modal _ignoreurl _text : "URL ignorirati" ,
modal _validurl _text : "Vrijedi URL" ,
modal _invalidurl _text : "Nevažeći URL" ,
btn _cancel _text : "Prekid" ,
btn _save _text : "Uštedjeti"
} ;
case "da" : //danish
return {
context _localserversettings _text : "Lokal serverindstillinger" ,
submenu _serversettings _text : "Skift indstillinger" ,
submenu _resetsettings _text : "Nulstil server" ,
modal _header _text : "Lokal serverindstillinger" ,
modal _servername _text : "Lokalt servernavn" ,
modal _servershortname _text : "Initialer" ,
modal _serverurl _text : "Ikon" ,
modal _removeicon _text : "Fjern ikon" ,
modal _tabheader1 _text : "Server" ,
modal _tabheader2 _text : "Ikonfarve" ,
modal _tabheader3 _text : "Tooltipfarve" ,
modal _colorpicker1 _text : "Ikonfarve" ,
modal _colorpicker2 _text : "Skriftfarve" ,
modal _colorpicker3 _text : "Tooltipfarve" ,
modal _colorpicker4 _text : "Skriftfarve" ,
modal _ignoreurl _text : "Ignorer URL" ,
modal _validurl _text : "Gyldig URL" ,
modal _invalidurl _text : "Ugyldig URL" ,
btn _cancel _text : "Afbryde" ,
btn _save _text : "Spare"
} ;
case "de" : //german
return {
context _localserversettings _text : "Lokale Servereinstellungen" ,
submenu _serversettings _text : "Einstellungen ändern" ,
submenu _resetsettings _text : "Server zurücksetzen" ,
modal _header _text : "Lokale Servereinstellungen" ,
modal _servername _text : "Lokaler Servername" ,
modal _servershortname _text : "Serverkürzel" ,
modal _serverurl _text : "Icon" ,
modal _removeicon _text : "Entferne Icon" ,
modal _tabheader1 _text : "Server" ,
modal _tabheader2 _text : "Iconfarbe" ,
modal _tabheader3 _text : "Tooltipfarbe" ,
modal _colorpicker1 _text : "Iconfarbe" ,
modal _colorpicker2 _text : "Schriftfarbe" ,
modal _colorpicker3 _text : "Tooltipfarbe" ,
modal _colorpicker4 _text : "Schriftfarbe" ,
modal _ignoreurl _text : "URL ignorieren" ,
modal _validurl _text : "Gültige URL" ,
modal _invalidurl _text : "Ungültige URL" ,
btn _cancel _text : "Abbrechen" ,
btn _save _text : "Speichern"
} ;
case "es" : //spanish
return {
context _localserversettings _text : "Ajustes local de servidor" ,
submenu _serversettings _text : "Cambiar ajustes" ,
submenu _resetsettings _text : "Restablecer servidor" ,
modal _header _text : "Ajustes local de servidor" ,
modal _servername _text : "Nombre local del servidor" ,
modal _servershortname _text : "Iniciales" ,
modal _serverurl _text : "Icono" ,
modal _removeicon _text : "Eliminar icono" ,
modal _tabheader1 _text : "Servidor" ,
modal _tabheader2 _text : "Color del icono" ,
modal _tabheader3 _text : "Color de tooltip" ,
modal _colorpicker1 _text : "Color del icono" ,
modal _colorpicker2 _text : "Color de fuente" ,
modal _colorpicker3 _text : "Color de tooltip" ,
modal _colorpicker4 _text : "Color de fuente" ,
modal _ignoreurl _text : "Ignorar URL" ,
modal _validurl _text : "URL válida" ,
modal _invalidurl _text : "URL inválida" ,
btn _cancel _text : "Cancelar" ,
btn _save _text : "Guardar"
} ;
case "fr" : //french
return {
context _localserversettings _text : "Paramètres locale du serveur" ,
submenu _serversettings _text : "Modifier les paramètres" ,
submenu _resetsettings _text : "Réinitialiser le serveur" ,
modal _header _text : "Paramètres locale du serveur" ,
modal _servername _text : "Nom local du serveur" ,
modal _servershortname _text : "Initiales" ,
modal _serverurl _text : "Icône" ,
modal _removeicon _text : "Supprimer l'icône" ,
modal _tabheader1 _text : "Serveur" ,
modal _tabheader2 _text : "Couleur de l'icône" ,
modal _tabheader3 _text : "Couleur de tooltip" ,
modal _colorpicker1 _text : "Couleur de l'icône" ,
modal _colorpicker2 _text : "Couleur de la police" ,
modal _colorpicker3 _text : "Couleur de tooltip" ,
modal _colorpicker4 _text : "Couleur de la police" ,
modal _ignoreurl _text : "Ignorer l'URL" ,
modal _validurl _text : "URL valide" ,
modal _invalidurl _text : "URL invalide" ,
btn _cancel _text : "Abandonner" ,
btn _save _text : "Enregistrer"
} ;
case "it" : //italian
return {
context _localserversettings _text : "Impostazioni locale server" ,
submenu _serversettings _text : "Cambia impostazioni" ,
submenu _resetsettings _text : "Ripristina server" ,
modal _header _text : "Impostazioni locale server" ,
modal _servername _text : "Nome locale server" ,
modal _servershortname _text : "Iniziali" ,
modal _serverurl _text : "Icona" ,
modal _removeicon _text : "Rimuova l'icona" ,
modal _tabheader1 _text : "Server" ,
modal _tabheader2 _text : "Colore dell'icona" ,
modal _tabheader3 _text : "Colore della tooltip" ,
modal _colorpicker1 _text : "Colore dell'icona" ,
modal _colorpicker2 _text : "Colore del carattere" ,
modal _colorpicker3 _text : "Colore della tooltip" ,
modal _colorpicker4 _text : "Colore del carattere" ,
modal _ignoreurl _text : "Ignora l'URL" ,
modal _validurl _text : "URL valido" ,
modal _invalidurl _text : "URL non valido" ,
btn _cancel _text : "Cancellare" ,
btn _save _text : "Salvare"
} ;
case "nl" : //dutch
return {
context _localserversettings _text : "Lokale serverinstellingen" ,
submenu _serversettings _text : "Verandere instellingen" ,
submenu _resetsettings _text : "Reset server" ,
modal _header _text : "Lokale serverinstellingen" ,
modal _servername _text : "Lokale servernaam" ,
modal _servershortname _text : "Initialen" ,
modal _serverurl _text : "Icoon" ,
modal _removeicon _text : "Verwijder icoon" ,
modal _tabheader1 _text : "Server" ,
modal _tabheader2 _text : "Icoonkleur" ,
modal _tabheader3 _text : "Tooltipkleur" ,
modal _colorpicker1 _text : "Icoonkleur" ,
modal _colorpicker2 _text : "Doopvontkleur" ,
modal _colorpicker3 _text : "Tooltipkleur" ,
modal _colorpicker4 _text : "Doopvontkleur" ,
modal _ignoreurl _text : "URL negeren" ,
modal _validurl _text : "Geldige URL" ,
modal _invalidurl _text : "Ongeldige URL" ,
btn _cancel _text : "Afbreken" ,
btn _save _text : "Opslaan"
} ;
case "no" : //norwegian
return {
context _localserversettings _text : "Lokal serverinnstillinger" ,
submenu _serversettings _text : "Endre innstillinger" ,
submenu _resetsettings _text : "Tilbakestill server" ,
modal _header _text : "Lokal serverinnstillinger" ,
modal _servername _text : "Lokalt servernavn" ,
modal _servershortname _text : "Initialer" ,
modal _serverurl _text : "Ikon" ,
modal _removeicon _text : "Fjern ikon" ,
modal _tabheader1 _text : "Server" ,
modal _tabheader2 _text : "Ikonfarge" ,
modal _tabheader3 _text : "Tooltipfarge" ,
modal _colorpicker1 _text : "Ikonfarge" ,
modal _colorpicker2 _text : "Skriftfarge" ,
modal _colorpicker3 _text : "Tooltipfarge" ,
modal _colorpicker4 _text : "Skriftfarge" ,
modal _ignoreurl _text : "Ignorer URL" ,
modal _validurl _text : "Gyldig URL" ,
modal _invalidurl _text : "Ugyldig URL" ,
btn _cancel _text : "Avbryte" ,
btn _save _text : "Lagre"
} ;
case "pl" : //polish
return {
context _localserversettings _text : "Lokalne ustawienia serwera" ,
submenu _serversettings _text : "Zmień ustawienia" ,
submenu _resetsettings _text : "Resetuj ustawienia" ,
modal _header _text : "Lokalne ustawienia serwera" ,
modal _servername _text : "Lokalna nazwa serwera" ,
modal _servershortname _text : "Krótka nazwa" ,
modal _serverurl _text : "Ikona" ,
modal _removeicon _text : "Usuń ikonę" ,
modal _tabheader1 _text : "Serwer" ,
modal _tabheader2 _text : "Kolor ikony" ,
modal _tabheader3 _text : "Kolor podpowiedzi" ,
modal _colorpicker1 _text : "Kolor ikony" ,
modal _colorpicker2 _text : "Kolor czcionki" ,
modal _colorpicker3 _text : "Kolor podpowiedzi" ,
modal _colorpicker4 _text : "Kolor czcionki" ,
modal _ignoreurl _text : "Ignoruj URL" ,
modal _validurl _text : "Prawidłowe URL" ,
modal _invalidurl _text : "Nieprawidłowe URL" ,
btn _cancel _text : "Anuluj" ,
btn _save _text : "Zapisz"
} ;
case "pt-BR" : //portuguese (brazil)
return {
context _localserversettings _text : "Configurações local do servidor" ,
submenu _serversettings _text : "Mudar configurações" ,
submenu _resetsettings _text : "Redefinir servidor" ,
modal _header _text : "Configurações local do servidor" ,
modal _servername _text : "Nome local do servidor" ,
modal _servershortname _text : "Iniciais" ,
modal _serverurl _text : "Icone" ,
modal _removeicon _text : "Remover ícone" ,
modal _tabheader1 _text : "Servidor" ,
modal _tabheader2 _text : "Cor do ícone" ,
modal _tabheader3 _text : "Cor da tooltip" ,
modal _colorpicker1 _text : "Cor do ícone" ,
modal _colorpicker2 _text : "Cor da fonte" ,
modal _colorpicker3 _text : "Cor da tooltip" ,
modal _colorpicker4 _text : "Cor da fonte" ,
modal _ignoreurl _text : "Ignorar URL" ,
modal _validurl _text : "URL válido" ,
modal _invalidurl _text : "URL inválida" ,
btn _cancel _text : "Cancelar" ,
btn _save _text : "Salvar"
} ;
case "fi" : //finnish
return {
context _localserversettings _text : "Paikallinen palvelimen asetukset" ,
submenu _serversettings _text : "Vaihda asetuksia" ,
submenu _resetsettings _text : "Nollaa palvelimen" ,
modal _header _text : "Paikallinen palvelimen asetukset" ,
modal _servername _text : "Paikallinen palvelimenimi" ,
modal _servershortname _text : "Nimikirjaimet" ,
modal _serverurl _text : "Ikonin" ,
modal _removeicon _text : "Poista kuvake" ,
modal _tabheader1 _text : "Palvelimen" ,
modal _tabheader2 _text : "Ikoninväri" ,
modal _tabheader3 _text : "Tooltipväri" ,
modal _colorpicker1 _text : "Ikoninväri" ,
modal _colorpicker2 _text : "Fontinväri" ,
modal _colorpicker3 _text : "Tooltipväri" ,
modal _colorpicker4 _text : "Fontinväri" ,
modal _ignoreurl _text : "Ohita URL" ,
modal _validurl _text : "Voimassa URL" ,
modal _invalidurl _text : "Virheellinen URL" ,
btn _cancel _text : "Peruuttaa" ,
btn _save _text : "Tallentaa"
} ;
case "sv" : //swedish
return {
context _localserversettings _text : "Lokal serverinställningar" ,
submenu _serversettings _text : "Ändra inställningar" ,
submenu _resetsettings _text : "Återställ server" ,
modal _header _text : "Lokal serverinställningar" ,
modal _servername _text : "Lokalt servernamn" ,
modal _servershortname _text : "Initialer" ,
modal _serverurl _text : "Ikon" ,
modal _removeicon _text : "Ta bort ikonen" ,
modal _tabheader1 _text : "Server" ,
modal _tabheader2 _text : "Ikonfärg" ,
modal _tabheader3 _text : "Tooltipfärg" ,
modal _colorpicker1 _text : "Ikonfärg" ,
modal _colorpicker2 _text : "Fontfärg" ,
modal _colorpicker3 _text : "Tooltipfärg" ,
modal _colorpicker4 _text : "Fontfärg" ,
modal _ignoreurl _text : "Ignorera URL" ,
modal _validurl _text : "Giltig URL" ,
modal _invalidurl _text : "Ogiltig URL" ,
btn _cancel _text : "Avbryta" ,
btn _save _text : "Spara"
} ;
case "tr" : //turkish
return {
context _localserversettings _text : "Yerel Sunucu Ayarları " ,
submenu _serversettings _text : "Ayarları Değiştir" ,
submenu _resetsettings _text : "Sunucu Sı fı rla" ,
modal _header _text : "Yerel Sunucu Ayarları " ,
modal _servername _text : "Yerel Sunucu Adı " ,
modal _servershortname _text : "Baş harfleri" ,
modal _serverurl _text : "Simge" ,
modal _removeicon _text : "Simge kaldı r" ,
modal _tabheader1 _text : "Sunucu" ,
modal _tabheader2 _text : "Simge rengi" ,
modal _tabheader3 _text : "Tooltip rengi" ,
modal _colorpicker1 _text : "Simge rengi" ,
modal _colorpicker2 _text : "Yazı rengi" ,
modal _colorpicker3 _text : "Tooltip rengi" ,
modal _colorpicker4 _text : "Yazı rengi" ,
modal _ignoreurl _text : "URL yoksay" ,
modal _validurl _text : "Geçerli URL" ,
modal _invalidurl _text : "Geçersiz URL" ,
btn _cancel _text : "Iptal" ,
btn _save _text : "Kayı t"
} ;
case "cs" : //czech
return {
context _localserversettings _text : "Místní nastavení serveru" ,
submenu _serversettings _text : "Změnit nastavení" ,
submenu _resetsettings _text : "Obnovit server" ,
modal _header _text : "Místní nastavení serveru" ,
modal _servername _text : "Místní název serveru" ,
modal _servershortname _text : "Iniciály" ,
modal _serverurl _text : "Ikony" ,
modal _removeicon _text : "Odstranit ikonu" ,
modal _tabheader1 _text : "Server" ,
modal _tabheader2 _text : "Barva ikony" ,
modal _tabheader3 _text : "Barva tooltip" ,
modal _colorpicker1 _text : "Barva ikony" ,
modal _colorpicker2 _text : "Barva fontu" ,
modal _colorpicker3 _text : "Barva tooltip" ,
modal _colorpicker4 _text : "Barva fontu" ,
modal _ignoreurl _text : "Ignorovat URL" ,
modal _validurl _text : "Platná URL" ,
modal _invalidurl _text : "Neplatná URL" ,
btn _cancel _text : "Zrušení" ,
btn _save _text : "Uložit"
} ;
case "bg" : //bulgarian
return {
context _localserversettings _text : "Настройки за локални cър вър " ,
submenu _serversettings _text : "Промяна на настройките" ,
submenu _resetsettings _text : "Възстановяване на cър вър " ,
modal _header _text : "Настройки за локални cър вър " ,
modal _servername _text : "Локално име на cър вър " ,
modal _servershortname _text : "Инициали" ,
modal _serverurl _text : "Икона" ,
modal _removeicon _text : "Премахване на иконата" ,
modal _tabheader1 _text : "Cър вър " ,
modal _tabheader2 _text : "Цвят на иконата" ,
modal _tabheader3 _text : "Цвят на подсказка" ,
modal _colorpicker1 _text : "Цвят на иконата" ,
modal _colorpicker2 _text : "Цвят на шрифта" ,
modal _colorpicker3 _text : "Цвят на подсказка" ,
modal _colorpicker4 _text : "Цвят на шрифта" ,
modal _ignoreurl _text : "Игнориране на URL" ,
modal _validurl _text : "Валиден URL" ,
modal _invalidurl _text : "Невалиден URL" ,
btn _cancel _text : "Зъбести" ,
btn _save _text : "Cпа с ява не "
} ;
case "ru" : //russian
return {
context _localserversettings _text : "Настройки локального cе р ве р " ,
submenu _serversettings _text : "Изменить настройки" ,
submenu _resetsettings _text : "Сбросить cе р ве р " ,
modal _header _text : "Настройки локального cе р ве р " ,
modal _servername _text : "Имя локального cе р ве р " ,
modal _servershortname _text : "Инициалы" ,
modal _serverurl _text : "Значок" ,
modal _removeicon _text : "Удалить значок" ,
modal _tabheader1 _text : "Cе р ве р " ,
modal _tabheader2 _text : "Цвет значков" ,
modal _tabheader3 _text : "Цвет подсказка" ,
modal _colorpicker1 _text : "Цвет значков" ,
modal _colorpicker2 _text : "Цвет шрифта" ,
modal _colorpicker3 _text : "Цвет подсказка" ,
modal _colorpicker4 _text : "Цвет шрифта" ,
modal _ignoreurl _text : "Игнорировать URL" ,
modal _validurl _text : "Действительный URL" ,
modal _invalidurl _text : "Неверная URL" ,
btn _cancel _text : "Отмена" ,
btn _save _text : "Cпа с ти"
} ;
case "uk" : //ukrainian
return {
context _localserversettings _text : "Налаштування локального cе р ве р " ,
submenu _serversettings _text : "Змінити налаштування" ,
submenu _resetsettings _text : "Скидання cе р ве р " ,
modal _header _text : "Налаштування локального cе р ве р " ,
modal _servername _text : "Локальне ім'я cе р ве р " ,
modal _servershortname _text : "Ініціали" ,
modal _serverurl _text : "Іконка" ,
modal _removeicon _text : "Видалити піктограму" ,
modal _tabheader1 _text : "Cе р ве р " ,
modal _tabheader2 _text : "Колір ікони" ,
modal _tabheader3 _text : "Колір підказка" ,
modal _colorpicker1 _text : "Колір ікони" ,
modal _colorpicker2 _text : "Колір шрифту" ,
modal _colorpicker3 _text : "Колір підказка" ,
modal _colorpicker4 _text : "Колір шрифту" ,
modal _ignoreurl _text : "Ігнорувати URL" ,
modal _validurl _text : "Дійсна URL" ,
modal _invalidurl _text : "Недійсна URL" ,
btn _cancel _text : "Скасувати" ,
btn _save _text : "Зберегти"
} ;
case "ja" : //japanese
return {
context _localserversettings _text : "ローカルサーバー設定" ,
submenu _serversettings _text : "設定を変更する" ,
submenu _resetsettings _text : "サーバーをリセットする" ,
modal _header _text : "ローカルサーバー設定" ,
modal _servername _text : "ローカルサーバー名" ,
modal _servershortname _text : "イニシャル" ,
modal _serverurl _text : "アイコン" ,
modal _removeicon _text : "アイコンを削除" ,
modal _tabheader1 _text : "サーバー" ,
modal _tabheader2 _text : "アイコンの色" ,
modal _tabheader3 _text : "ツールチップの色" ,
modal _colorpicker1 _text : "アイコンの色" ,
modal _colorpicker2 _text : "フォントの色" ,
modal _colorpicker3 _text : "ツールチップの色" ,
modal _colorpicker4 _text : "フォントの色" ,
modal _ignoreurl _text : "URL を無視する" ,
modal _validurl _text : "有効な URL" ,
modal _invalidurl _text : "無効な URL" ,
btn _cancel _text : "キャンセル" ,
btn _save _text : "セーブ"
} ;
case "zh-TW" : //chinese (traditional)
return {
context _localserversettings _text : "本地服務器設置" ,
submenu _serversettings _text : "更改設置" ,
submenu _resetsettings _text : "重置服務器" ,
modal _header _text : "本地服務器設置" ,
modal _servername _text : "服務器名稱" ,
modal _servershortname _text : "聲母" ,
modal _serverurl _text : "圖標" ,
modal _removeicon _text : "刪除圖標" ,
modal _tabheader1 _text : "服務器" ,
modal _tabheader2 _text : "圖標顏色" ,
modal _tabheader3 _text : "工具提示顏色" ,
modal _colorpicker1 _text : "圖標顏色" ,
modal _colorpicker2 _text : "字體顏色" ,
modal _colorpicker3 _text : "工具提示顏色" ,
modal _colorpicker4 _text : "字體顏色" ,
modal _ignoreurl _text : "忽略 URL" ,
modal _validurl _text : "有效的 URL" ,
modal _invalidurl _text : "無效的 URL" ,
btn _cancel _text : "取消" ,
btn _save _text : "保存"
} ;
case "ko" : //korean
return {
context _localserversettings _text : "로컬 서버 설정" ,
submenu _serversettings _text : "설정 변경" ,
submenu _resetsettings _text : "서버 재설정" ,
modal _header _text : "로컬 서버 설정" ,
modal _servername _text : "로컬 서버 이름" ,
modal _servershortname _text : "머리 글자" ,
modal _serverurl _text : "상" ,
modal _removeicon _text : "상 삭제" ,
modal _tabheader1 _text : "서버" ,
modal _tabheader2 _text : "상 색깔" ,
modal _tabheader3 _text : "툴팁 색깔" ,
modal _colorpicker1 _text : "상 색깔" ,
modal _colorpicker2 _text : "글꼴 색깔" ,
modal _colorpicker3 _text : "툴팁 색깔" ,
modal _colorpicker4 _text : "글꼴 색깔" ,
modal _ignoreurl _text : "URL 무시" ,
modal _validurl _text : "유효한 URL" ,
modal _invalidurl _text : "잘못된 URL" ,
btn _cancel _text : "취소" ,
btn _save _text : "저장"
} ;
default : //default: english
return {
context _localserversettings _text : "Local Serversettings" ,
submenu _serversettings _text : "Change Settings" ,
submenu _resetsettings _text : "Reset Server" ,
modal _header _text : "Local Serversettings" ,
modal _servername _text : "Local Servername" ,
modal _servershortname _text : "Initials" ,
modal _serverurl _text : "Icon" ,
modal _removeicon _text : "Remove Icon" ,
modal _tabheader1 _text : "Server" ,
modal _tabheader2 _text : "Iconcolor" ,
modal _tabheader3 _text : "Tooltipcolor" ,
modal _colorpicker1 _text : "Iconcolor" ,
modal _colorpicker2 _text : "Fontcolor" ,
modal _colorpicker3 _text : "Tooltipcolor" ,
modal _colorpicker4 _text : "Fontcolor" ,
modal _ignoreurl _text : "Ignore URL" ,
modal _validurl _text : "Valid URL" ,
modal _invalidurl _text : "Invalid URL" ,
btn _cancel _text : "Cancel" ,
btn _save _text : "Save"
} ;
}
}
}