mirror of
https://github.com/gchq/CyberChef.git
synced 2025-05-07 06:57:12 -04:00
[#181] update opListCreate to desktopOpListCreate ( to always include drag events and popovers ) and the inverse for mobile. Now it is ready for window resizing
This commit is contained in:
parent
c6cc998100
commit
89c1ab12ab
4 changed files with 30 additions and 13 deletions
|
@ -889,14 +889,13 @@ class App {
|
|||
*/
|
||||
setDesktopUI(minimise){
|
||||
this.setDesktopLayout(minimise);
|
||||
|
||||
// repopulate to enable popovers and drag events
|
||||
this.populateOperationsList();
|
||||
/**
|
||||
* We don't want to display any checkmarks on desktop, so we clear them.
|
||||
* It has no effect on the recipe list, it's purely a visual indicator
|
||||
*/
|
||||
this.manager.recipe.clearAllSelectedClasses();
|
||||
|
||||
// @TODO: handle sortable, draggable, popovers functionality. Works fine on init but needs to work on window resizing too
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -906,10 +905,10 @@ class App {
|
|||
*/
|
||||
setMobileUI(){
|
||||
this.setMobileLayout();
|
||||
// on window resizing below breakpoint, we need to put the checkmarks back
|
||||
// repopulate to disable popovers and drag events
|
||||
this.populateOperationsList();
|
||||
// restore the appropriate checkmarks
|
||||
this.manager.recipe.updateSelectedOperations();
|
||||
|
||||
// @TODO: handle sortable, draggable, popovers functionality. Works fine on init but needs to work on window resizing too
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -11,8 +11,6 @@
|
|||
- test drag and drop etc. Regular mobile events / UX
|
||||
- view-heights not correct due to variable taskbar on mobile devices
|
||||
|
||||
- see if i can use OpWaiter > getSelectedOp for getting selected ops. Although I dont see 'selected-op' on any op?
|
||||
|
||||
### Desktop UI:
|
||||
### General UI:
|
||||
- fix up key / tab events so UI can be navigated comfortably with keys ( inc. visual focus feedback ). Probably a lot of work though
|
||||
|
|
|
@ -185,14 +185,34 @@ class OperationsWaiter {
|
|||
*/
|
||||
opListCreate(e) {
|
||||
if ( window.innerWidth < this.app.breakpoint ){
|
||||
this.manager.recipe.createSortableSeedList(e.target, false);
|
||||
this.disableOpsListPopovers();
|
||||
this.mobileOpListCreate(e);
|
||||
} else {
|
||||
this.manager.recipe.createSortableSeedList(e.target);
|
||||
this.enableOpPopover(e.target);
|
||||
this.desktopOpListCreate(e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Create the desktop op-list which allows popovers
|
||||
* and dragging
|
||||
*
|
||||
* @param {event} e
|
||||
*/
|
||||
desktopOpListCreate(e){
|
||||
this.manager.recipe.createSortableSeedList(e.target);
|
||||
this.enableOpPopover(e.target);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create the mobile op-list which does not allow
|
||||
* popovers and dragging
|
||||
*
|
||||
* @param {event} e
|
||||
*/
|
||||
mobileOpListCreate(e){
|
||||
this.manager.recipe.createSortableSeedList(e.target, false);
|
||||
this.disableOpsListPopovers();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Enable the target operation popover itself to gain focus which
|
||||
|
|
|
@ -27,7 +27,7 @@ class WindowWaiter {
|
|||
* continuous resetting).
|
||||
*/
|
||||
windowResize() {
|
||||
// @TODO: maybe a debounce is desireable although genrally people won't be resizing like crazy
|
||||
// @TODO: maybe a debounce is desirable although generally people won't be resizing like crazy.. I think
|
||||
if ( window.innerWidth >= this.app.breakpoint ) {
|
||||
this.app.setDesktopUI(false);
|
||||
} else {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue