mirror of
https://github.com/discourse/discourse.git
synced 2024-11-25 02:15:46 +08:00
69 lines
2.0 KiB
JavaScript
69 lines
2.0 KiB
JavaScript
/*global Mousetrap:true */
|
|
|
|
/**
|
|
A view to handle site customizations
|
|
|
|
@class AdminCustomizeView
|
|
@extends Discourse.View
|
|
@namespace Discourse
|
|
@module Discourse
|
|
**/
|
|
Discourse.AdminCustomizeView = Discourse.View.extend({
|
|
templateName: 'admin/templates/customize',
|
|
classNames: ['customize'],
|
|
selected: 'stylesheet',
|
|
mobile: false,
|
|
|
|
stylesheetActive: Em.computed.equal('selected', 'stylesheet'),
|
|
headerActive: Em.computed.equal('selected', 'header'),
|
|
topActive: Em.computed.equal('selected', 'top'),
|
|
footerActive: Em.computed.equal('selected', 'footer'),
|
|
headTagActive: Em.computed.equal('selected', 'head_tag'),
|
|
bodyTagActive: Em.computed.equal('selected', 'body_tag'),
|
|
|
|
mobileStylesheetActive: Em.computed.equal('selected', 'mobile_stylesheet'),
|
|
mobileHeaderActive: Em.computed.equal('selected', 'mobile_header'),
|
|
mobileTopActive: Em.computed.equal('selected', 'mobile_top'),
|
|
mobileFooterActive: Em.computed.equal('selected', 'mobile_footer'),
|
|
|
|
actions: {
|
|
toggleMobile: function() {
|
|
// auto-select best tab
|
|
var tab = this.get("selected");
|
|
if (/_tag$/.test(tab)) { tab = "stylesheet"; }
|
|
if (this.get("mobile")) { tab = tab.replace("mobile_", ""); }
|
|
else { tab = "mobile_" + tab; }
|
|
this.set("selected", tab);
|
|
// toggle mobile
|
|
this.toggleProperty("mobile");
|
|
},
|
|
|
|
select: function(tab) {
|
|
this.set('selected', tab);
|
|
},
|
|
|
|
toggleMaximize: function() {
|
|
this.set("maximized", !this.get("maximized"));
|
|
|
|
Em.run.scheduleOnce('afterRender', this, function(){
|
|
$('.ace-wrapper').each(function(){
|
|
$(this).data("editor").resize();
|
|
});
|
|
});
|
|
},
|
|
},
|
|
|
|
_init: function() {
|
|
var controller = this.get('controller');
|
|
Mousetrap.bindGlobal('mod+s', function() {
|
|
controller.send("save");
|
|
return false;
|
|
});
|
|
}.on("didInsertElement"),
|
|
|
|
_cleanUp: function() {
|
|
Mousetrap.unbindGlobal('mod+s');
|
|
}.on("willDestroyElement")
|
|
|
|
});
|