@@ -162,14 +162,34 @@ const createViewer = (
162
162
transferFunctionWidget . setDataArray ( image . getPointData ( ) . getScalars ( ) ) ;
163
163
}
164
164
165
+ const toggleUserInterfaceButton = document . getElementById ( `${ viewerDOMId } -toggleUserInterfaceButton` ) ;
166
+
165
167
publicAPI . setUserInterfaceCollapsed = ( collapse ) => {
166
- const toggleUserInterfaceButton = document . getElementById ( `${ viewerDOMId } -toggleUserInterfaceButton` ) ;
167
168
const collapsed = toggleUserInterfaceButton . getAttribute ( 'collapsed' ) === '' ;
168
169
if ( collapse && ! collapsed || ! collapse && collapsed ) {
169
170
toggleUserInterfaceButton . click ( ) ;
170
171
}
171
172
}
172
173
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
+
173
193
let annotationsEnabled = true ;
174
194
publicAPI . setAnnotationsEnabled = ( annotations ) => {
175
195
const toggleAnnotationButton = document . getElementById ( `${ viewerDOMId } -toggleAnnotationButton` ) ;
0 commit comments