Browse Source

Fix default rendering of StyleManager. Closes #3835

pull/3905/head
Artur Arseniev 4 years ago
parent
commit
0ebc1631fd
  1. 68
      src/commands/view/OpenStyleManager.js

68
src/commands/view/OpenStyleManager.js

@ -4,47 +4,54 @@ const $ = Backbone.$;
export default { export default {
run(em, sender) { run(em, sender) {
this.sender = sender; this.sender = sender;
if (!this.$cn) { if (!this.$cn) {
var config = em.getConfig(), const config = em.getConfig();
panels = em.Panels; const panels = em.Panels;
// Main container const trgEvCnt = 'change:appendContent';
this.$cn = $('<div></div>'); this.$cn = $('<div></div>');
// Secondary container
this.$cn2 = $('<div></div>'); this.$cn2 = $('<div></div>');
this.$cn.append(this.$cn2); this.$cn.append(this.$cn2);
// Device Manager // Device Manager
var dvm = em.DeviceManager; const dvm = em.DeviceManager;
if (dvm && config.showDevices) { if (dvm && config.showDevices) {
var devicePanel = panels.addPanel({ id: 'devices-c' }); const devicePanel = panels.addPanel({ id: 'devices-c' });
devicePanel const dvEl = dvm.render();
.set('appendContent', dvm.render()) devicePanel.set('appendContent', dvEl).trigger(trgEvCnt);
.trigger('change:appendContent');
} }
// Class Manager container // Class Manager container
var clm = em.SelectorManager; const slm = em.SelectorManager;
if (clm) this.$cn2.append(clm.render([])); const slmConfig = slm.getConfig();
this.$cn2.append(em.StyleManager.render()); if (!slmConfig.appendTo) {
var smConfig = em.StyleManager.getConfig(); this.$cn2.append(slm.render([]));
const pfx = smConfig.stylePrefix; }
// Create header
this.$header = $( // Style Manager
`<div class="${pfx}header">${em.t('styleManager.empty')}</div>` const sm = em.StyleManager;
); const smConfig = sm.getConfig();
this.$cn.append(this.$header); if (!smConfig.appendTo) {
this.$cn2.append(sm.render());
const pfx = smConfig.stylePrefix;
this.$header = $(
`<div class="${pfx}header">${em.t('styleManager.empty')}</div>`
);
this.$cn.append(this.$header);
}
// Create panel if not exists // Create panel if not exists
if (!panels.getPanel('views-container')) const pnCnt = 'views-container';
this.panel = panels.addPanel({ id: 'views-container' }); this.panel = panels.getPanel(pnCnt);
else this.panel = panels.getPanel('views-container'); if (!this.panel) this.panel = panels.addPanel({ id: pnCnt });
// Add all containers to the panel // Add all containers to the panel
this.panel.set('appendContent', this.$cn).trigger('change:appendContent'); this.panel.set('appendContent', this.$cn).trigger(trgEvCnt);
this.target = em.editor; this.target = em.editor;
this.listenTo(this.target, 'component:toggled', this.toggleSm); this.listenTo(this.target, 'component:toggled', this.toggleSm);
} }
this.toggleSm(); this.toggleSm();
}, },
@ -59,19 +66,16 @@ export default {
const selectedAll = target.getSelectedAll().length; const selectedAll = target.getSelectedAll().length;
if (selectedAll === 1 || (selectedAll > 1 && componentFirst)) { if (selectedAll === 1 || (selectedAll > 1 && componentFirst)) {
this.$cn2.show(); this.$cn2 && this.$cn2.show();
this.$header.hide(); this.$header && this.$header.hide();
} else { } else {
this.$cn2.hide(); this.$cn2 && this.$cn2.hide();
this.$header.show(); this.$header && this.$header.show();
} }
}, },
stop() { stop() {
// Hide secondary container if exists this.$cn2 && this.$cn2.hide();
if (this.$cn2) this.$cn2.hide(); this.$header && this.$header.hide();
// Hide header container if exists
if (this.$header) this.$header.hide();
} }
}; };

Loading…
Cancel
Save