mirror of
https://github.com/gchq/CyberChef.git
synced 2025-05-08 15:25:01 -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){
|
setDesktopUI(minimise){
|
||||||
this.setDesktopLayout(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.
|
* 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
|
* It has no effect on the recipe list, it's purely a visual indicator
|
||||||
*/
|
*/
|
||||||
this.manager.recipe.clearAllSelectedClasses();
|
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(){
|
setMobileUI(){
|
||||||
this.setMobileLayout();
|
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();
|
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
|
- test drag and drop etc. Regular mobile events / UX
|
||||||
- view-heights not correct due to variable taskbar on mobile devices
|
- 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:
|
### Desktop UI:
|
||||||
### General 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
|
- 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) {
|
opListCreate(e) {
|
||||||
if ( window.innerWidth < this.app.breakpoint ){
|
if ( window.innerWidth < this.app.breakpoint ){
|
||||||
this.manager.recipe.createSortableSeedList(e.target, false);
|
this.mobileOpListCreate(e);
|
||||||
this.disableOpsListPopovers();
|
|
||||||
} else {
|
} else {
|
||||||
this.manager.recipe.createSortableSeedList(e.target);
|
this.desktopOpListCreate(e);
|
||||||
this.enableOpPopover(e.target);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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
|
* Enable the target operation popover itself to gain focus which
|
||||||
|
|
|
@ -27,7 +27,7 @@ class WindowWaiter {
|
||||||
* continuous resetting).
|
* continuous resetting).
|
||||||
*/
|
*/
|
||||||
windowResize() {
|
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 ) {
|
if ( window.innerWidth >= this.app.breakpoint ) {
|
||||||
this.app.setDesktopUI(false);
|
this.app.setDesktopUI(false);
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue