Skip to content

Commit 27b7db3

Browse files
committed
feat(createViewer): Add toggle UI collapsed observer
1 parent 528f362 commit 27b7db3

File tree

2 files changed

+21
-2
lines changed

2 files changed

+21
-2
lines changed

src/createViewer.js

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,14 +162,34 @@ const createViewer = (
162162
transferFunctionWidget.setDataArray(image.getPointData().getScalars());
163163
}
164164

165+
const toggleUserInterfaceButton = document.getElementById(`${viewerDOMId}-toggleUserInterfaceButton`);
166+
165167
publicAPI.setUserInterfaceCollapsed = (collapse) => {
166-
const toggleUserInterfaceButton = document.getElementById(`${viewerDOMId}-toggleUserInterfaceButton`);
167168
const collapsed = toggleUserInterfaceButton.getAttribute('collapsed') === '';
168169
if (collapse && !collapsed || !collapse && collapsed) {
169170
toggleUserInterfaceButton.click();
170171
}
171172
}
172173

174+
const toggleUserInterfaceCollapsedHandlers = [];
175+
const toggleUserInterfaceButtonListener = (event) => {
176+
const collapsed = toggleUserInterfaceButton.getAttribute('collapsed') === '';
177+
toggleUserInterfaceCollapsedHandlers.forEach((handler) => {
178+
handler.call(null, collapsed);
179+
})
180+
}
181+
toggleUserInterfaceButton.addEventListener('click', toggleUserInterfaceButtonListener)
182+
183+
publicAPI.subscribeToggleUserInterfaceCollapsed = (handler) => {
184+
const index = toggleUserInterfaceCollapsedHandlers.length;
185+
toggleUserInterfaceCollapsedHandlers.push(handler);
186+
function unsubscribe() {
187+
toggleUserInterfaceCollapsedHandlers[index] = null;
188+
}
189+
return Object.freeze({ unsubscribe });
190+
}
191+
192+
173193
let annotationsEnabled = true;
174194
publicAPI.setAnnotationsEnabled = (annotations) => {
175195
const toggleAnnotationButton = document.getElementById(`${viewerDOMId}-toggleAnnotationButton`);

src/userInterface/createMainUI.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import getContrastSensitiveStyle from './getContrastSensitiveStyle';
22

33
import style from './ItkVtkImageViewer.mcss';
44

5-
import preventDefaults from './preventDefaults';
65
import toggleIcon from './icons/toggle.svg';
76
import screenshotIcon from './icons/screenshot.svg';
87
import volumeRenderingIcon from './icons/volume-rendering.svg';

0 commit comments

Comments
 (0)