Skip to content

Commit aa28c91

Browse files
committed
Removing Save toolbar button
1 parent 0c455e5 commit aa28c91

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

src/disablesave.ts

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,40 @@ export const disableSavePlugin: JupyterFrontEndPlugin<void> = {
111111
}
112112
});
113113

114+
/**
115+
* Remove save buttons from toolbar
116+
*/
117+
const removeSaveButtons = () => {
118+
const widgets = app.shell.widgets('main');
119+
120+
for (const widget of widgets) {
121+
const toolbar = (widget as any)?.toolbar;
122+
if (!toolbar?.node) {
123+
continue;
124+
}
125+
126+
const selector =
127+
`[data-command="${SAVE_COMMANDS.save}"],` +
128+
`[data-command="${SAVE_COMMANDS.saveAs}"],` +
129+
`[data-command="${SAVE_COMMANDS.saveAll}"]`;
130+
131+
toolbar.node
132+
.querySelectorAll(selector)
133+
.forEach((button: { remove: () => void }) => {
134+
button.remove();
135+
});
136+
}
137+
};
138+
139+
setTimeout(() => removeSaveButtons(), 100);
140+
141+
const labShell = app.shell as any;
142+
if (labShell.currentChanged) {
143+
labShell.currentChanged.connect(() => {
144+
requestAnimationFrame(() => removeSaveButtons());
145+
});
146+
}
147+
114148
console.log('Full autosave enabled, save commands disabled');
115149
});
116150
}

0 commit comments

Comments
 (0)