define([ 'jquery', '/common/toolbar.js', '/bower_components/nthen/index.js', '/common/sframe-common.js', '/common/common-interface.js', '/common/common-ui-elements.js', '/common/common-util.js', '/common/common-hash.js', '/customize/messages.js', '/common/hyperscript.js', '/support/ui.js', '/api/config', '/customize/application_config.js', '/customize/pages.js', 'css!/bower_components/bootstrap/dist/css/bootstrap.min.css', 'css!/bower_components/components-font-awesome/css/font-awesome.min.css', 'less!/support/app-support.less', ], function ( $, Toolbar, nThen, SFCommon, UI, UIElements, Util, Hash, Messages, h, Support, ApiConfig, AppConfig, Pages ) { var APP = window.APP = {}; var common; var metadataMgr; var privateData; var categories = { 'tickets': [ // Msg.support_cat_tickets 'cp-support-list', ], 'new': [ // Msg.support_cat_new 'cp-support-subscribe', 'cp-support-language', 'cp-support-form', ], 'debugging': [ // Msg.support_cat_debugging 'cp-support-debugging-data', ], }; var supportKey = ApiConfig.supportMailbox; var supportChannel = Hash.getChannelIdFromKey(supportKey); if (!supportKey || !supportChannel) { categories = { 'tickets': [ 'cp-support-disabled' ] }; } var create = {}; var makeBlock = function (key, addButton) { // Convert to camlCase for translation keys var safeKey = key.replace(/-([a-z])/g, function (g) { return g[1].toUpperCase(); }); var $div = $('
', {'class': 'cp-support-' + key + ' cp-sidebarlayout-element'}); $('