* feat(DoubleClick): double click a viewport to one up and back Added a toggleOneUp command that puts the active viewport into a 1x1 grid layout and it toggles out of 'one-up' by restoring its saved 'toggleOneUpViewportGridStore' from the StateSyncService. Added double click customization for the Cornerstone extension with the default double click handling being the toggleOneUp command. Added a cypress test for the double click functionality. * PR feedback: - tracked viewport measurements no longer show as dashed when toggling one up - disallowed double clicking near a measurement - updated cornerstone3D dependencies to fix double click of TMTV and volume viewport 3D - created ViewportGridService.getLayoutOptionsFromState * Updated the ViewportGridService docs. * Switched to using 'cornerstoneViewportClickCommands' and consistency with the context menu clicks.
53 lines
1.6 KiB
JavaScript
53 lines
1.6 KiB
JavaScript
describe('OHIF Double Click', () => {
|
|
beforeEach(() => {
|
|
cy.checkStudyRouteInViewer(
|
|
'1.3.6.1.4.1.25403.345050719074.3824.20170125113417.1',
|
|
'&hangingProtocolId=@ohif/hp-extension.mn'
|
|
);
|
|
cy.expectMinimumThumbnails(3);
|
|
cy.initCornerstoneToolsAliases();
|
|
cy.initCommonElementsAliases();
|
|
});
|
|
|
|
it('Should double click each viewport to one up and back', () => {
|
|
const numExpectedViewports = 3;
|
|
cy.get('[data-cy="viewport-pane"]')
|
|
.its('length')
|
|
.should('be.eq', numExpectedViewports);
|
|
|
|
for (let i = 0; i < numExpectedViewports; i += 1) {
|
|
// For whatever reason, with Cypress tests, we have to activate the
|
|
// viewport we are double clicking first.
|
|
cy.get('[data-cy="viewport-pane"]')
|
|
.eq(i)
|
|
.trigger('mousedown', 'center', { force: true })
|
|
.trigger('mouseup', 'center', { force: true });
|
|
|
|
// Wait for the viewport to be 'active'.
|
|
// TODO Is there a better way to do this?
|
|
cy.get('[data-cy="viewport-pane"]')
|
|
.eq(i)
|
|
.parent()
|
|
.find('[data-cy="viewport-pane"]')
|
|
.not('.pointer-events-none');
|
|
|
|
// The actual double click.
|
|
cy.get('[data-cy="viewport-pane"]')
|
|
.eq(i)
|
|
.trigger('dblclick', 'center');
|
|
|
|
cy.get('[data-cy="viewport-pane"]')
|
|
.its('length')
|
|
.should('be.eq', 1);
|
|
|
|
cy.get('[data-cy="viewport-pane"]')
|
|
.eq(0)
|
|
.trigger('dblclick', 'center');
|
|
|
|
cy.get('[data-cy="viewport-pane"]')
|
|
.its('length')
|
|
.should('be.eq', numExpectedViewports);
|
|
}
|
|
});
|
|
});
|