86 lines
2.1 KiB
JavaScript
86 lines
2.1 KiB
JavaScript
goog.loadJs('common', () => {
|
|
|
|
goog.require('Mixly.XML');
|
|
goog.require('Mixly.Env');
|
|
goog.require('Mixly.Config');
|
|
goog.require('Mixly.EditorAce');
|
|
goog.require('Mixly.ContextMenu');
|
|
goog.require('Mixly.Menu');
|
|
goog.require('Mixly.Msg');
|
|
goog.require('Mixly.IdGenerator');
|
|
goog.provide('Mixly.StatusBar');
|
|
|
|
const {
|
|
XML,
|
|
Env,
|
|
Config,
|
|
EditorAce,
|
|
ContextMenu,
|
|
Menu,
|
|
Msg,
|
|
IdGenerator
|
|
} = Mixly;
|
|
const { USER } = Config;
|
|
|
|
class StatusBar extends EditorAce {
|
|
#contextMenu_ = null;
|
|
constructor() {
|
|
super();
|
|
this.#addContextMenu_();
|
|
}
|
|
|
|
init() {
|
|
super.init();
|
|
this.#toStatusBar_();
|
|
}
|
|
|
|
#addContextMenu_() {
|
|
this.#contextMenu_ = new ContextMenu(`div[page-id="${this.getId()}"]`);
|
|
let menu = new Menu();
|
|
menu.add({
|
|
weight: 0,
|
|
type: 'copy',
|
|
data: {
|
|
isHtmlName: true,
|
|
name: ContextMenu.getItem(Msg.Lang['editor.contextMenu.copy'], 'Ctrl+C'),
|
|
callback: (key, opt) => this.copy()
|
|
}
|
|
});
|
|
this.#contextMenu_.register('code', menu);
|
|
this.#contextMenu_.bind('getMenu', () => 'code');
|
|
}
|
|
|
|
#toStatusBar_() {
|
|
const editor = this.getEditor();
|
|
if (USER.theme === 'dark') {
|
|
editor.setOption('theme', 'ace/theme/tomorrow_night');
|
|
} else {
|
|
editor.setOption('theme', 'ace/theme/xcode');
|
|
}
|
|
editor.getSession().setMode("ace/mode/python");
|
|
editor.setReadOnly(true);
|
|
// editor.setScrollSpeed(0.3);
|
|
editor.setShowPrintMargin(false);
|
|
editor.renderer.setShowGutter(false);
|
|
editor.setOptions({
|
|
enableBasicAutocompletion: false,
|
|
enableSnippets: false,
|
|
enableLiveAutocompletion: false
|
|
});
|
|
editor.setHighlightActiveLine(false);
|
|
}
|
|
|
|
getContextMenu() {
|
|
return this.#contextMenu_;
|
|
}
|
|
|
|
dispose() {
|
|
this.#contextMenu_.dispose();
|
|
this.#contextMenu_ = null;
|
|
super.dispose();
|
|
}
|
|
}
|
|
|
|
Mixly.StatusBar = StatusBar;
|
|
|
|
}); |