diff --git a/main.js b/main.js index 1135f27..5d91ad3 100644 --- a/main.js +++ b/main.js @@ -5,19 +5,23 @@ module.exports = class RibbonOrderLock extends Plugin { this.settings = Object.assign({ order: [] }, await this.loadData()); this.app.workspace.onLayoutReady(() => { - const ribbon = this.app.workspace.leftRibbon; - const order = this.settings.order; - - const sorted = [...ribbon.items].sort( - (a, b) => order.indexOf(a.id) - order.indexOf(b.id) - ); - - ribbon.items.length = 0; - ribbon.items.push(...sorted); - ribbon.onChange(true); - - this.settings.order = ribbon.items.map((item) => item.id); - this.saveData(this.settings); + this.enforceOrder(); }); } + + enforceOrder() { + const ribbon = this.app.workspace.leftRibbon; + const order = this.settings.order; + + const sorted = [...ribbon.items].sort( + (a, b) => order.indexOf(a.id) - order.indexOf(b.id) + ); + + ribbon.items.length = 0; + ribbon.items.push(...sorted); + ribbon.onChange(true); + + this.settings.order = ribbon.items.map((item) => item.id); + this.saveData(this.settings); + } };