Commit Graph

2924 Commits

Author SHA1 Message Date
Michael Jumper
69ea8488f3 GUACAMOLE-724: Always emit focus events when focused client changes, even if the change occurs only due to replacing a disconnected client with a connected one. 2021-07-08 03:31:49 -07:00
Michael Jumper
902a111a57 GUACAMOLE-724: Update calls to ManagedFilesystem.getInstance() to provide relevant ManagedClient. 2021-07-08 03:31:49 -07:00
Michael Jumper
6b8b57ef5a GUACAMOLE-724: Ensure connection parameters are updated when likely to be available (not just when group is attached). 2021-07-08 03:31:49 -07:00
Michael Jumper
e5a127647b GUACAMOLE-724: Restore sorting client panel by last used timestamp.
Sorting by last used (rather than relying on internal sorting) ensures
that the DOM is only modified as necessary and that CSS animations only
affect client groups that are newly visible in the panel.
2021-07-08 03:31:48 -07:00
Michael Jumper
f6909a06e7 GUACAMOLE-724: Prefer to return an existing group rather than create a new one.
This ensures that focus state is maintained when switching from one
group to another. Focus state is otherwise reset when the group is
recreated.
2021-07-08 03:31:48 -07:00
Michael Jumper
74f0e0aec3 GUACAMOLE-724: Preserve current focus states when adding/removing connections from attached group. 2021-07-08 03:31:48 -07:00
Michael Jumper
5968193dfb GUACAMOLE-724: Handle touch gestures while menu is open. 2021-07-08 03:31:48 -07:00
Michael Jumper
7916afd2d3 GUACAMOLE-724: Correct typo preventing menu open gesture from working. 2021-07-08 03:31:48 -07:00
Michael Jumper
2b8eb443d4 GUACAMOLE-724: Ensure tile header sizes match even if empty. 2021-07-08 03:31:48 -07:00
Michael Jumper
da62cb1afd GUACAMOLE-724: Allow keyboard interaction with client notifications. 2021-07-08 03:31:48 -07:00
Michael Jumper
025775a040 GUACAMOLE-724: Clean up style of parameter prompts within client notifications. 2021-07-08 03:31:48 -07:00
Michael Jumper
1e69514507 GUACAMOLE-724: Defer connecting until window/display size is known.
Depending on the current state of the browser, the element that will
contain the display may not have an associated size, as the layout has
not yet finished updating. If this occurs, connecting needs to be
deferred until the size becomes known (until a resize event).
2021-07-08 03:31:48 -07:00
Michael Jumper
0e0445f95c GUACAMOLE-724: Add close button for each client tile. 2021-07-08 03:31:48 -07:00
Michael Jumper
b294a2fa1e GUACAMOLE-724: Render menu and client tile headers above client-specific modals. 2021-07-08 03:31:48 -07:00
Michael Jumper
5a40429359 GUACAMOLE-724: Do not allow multiple, adjacent modal areas to overlap due to overflow. 2021-07-08 03:31:48 -07:00
Michael Jumper
9f477fd5fe GUACAMOLE-724: Remove unused parameter from clipboardService.setClipboard() calls. 2021-07-08 03:31:48 -07:00
Michael Jumper
e58005ae23 GUACAMOLE-724: Leverage DOM rather than CSS to show/hide connection tile headers.
CSS, though clean, results in delays in element size changes. When
switching between a view that has tile headers and a view that does
not, this manifests as visible "popping" as client displays are
initially sized to fit the area without the header followed by the area
with the header. Leveraging AngularJS directly ensures that such
changes occur in lockstep with the connection process.
2021-07-08 03:31:48 -07:00
Michael Jumper
8c0af308da GUACAMOLE-724: Defer connecting until width/height of display area is known. 2021-07-08 03:31:48 -07:00
Michael Jumper
c9900434c4 GUACAMOLE-724: Migrate tiled thumbnail rendering to same flex layout as client view. 2021-07-08 03:31:48 -07:00
Michael Jumper
1f2007eb28 GUACAMOLE-724: Replace CSS grid layout with simpler, equialent, and more compatible flex layout. 2021-07-08 03:31:48 -07:00
Michael Jumper
760a96a47d GUACAMOLE-724: Migrate to flex layout for modals for IE10+ compatibility. 2021-07-08 03:31:48 -07:00
Michael Jumper
4a20411eae GUACAMOLE-724: Correct SVG aspect ratio handling in IE10+. 2021-07-08 03:31:48 -07:00
Michael Jumper
fe44b55f10 GUACAMOLE-724: Always resolve promise from setClipboard() (as documented).
Returning a value from the callback provided to finally() is not
sufficient to force promise resolution.
2021-07-08 03:31:48 -07:00
Michael Jumper
c87bd6bb3e GUACAMOLE-724: Correct "infdig" error due to client group session storage constantly regenerating if logged out. 2021-07-08 03:31:48 -07:00
Michael Jumper
c2b252242b GUACAMOLE-724: Correct rendering of tiled clients on IE10+ by migrating to grid layout. 2021-07-08 03:31:48 -07:00
Michael Jumper
09288b79b2 GUACAMOLE-724: Do not show parameter section headers when prompting via modal. 2021-07-08 03:31:48 -07:00
Michael Jumper
8ed27a8b36 GUACAMOLE-724: Properly disconnect if required parameters are not submitted. 2021-07-08 03:31:48 -07:00
Michael Jumper
b2b131ef34 GUACAMOLE-724: Increase opacity of client-specific notifications for sake of readability. 2021-07-08 03:31:48 -07:00
Michael Jumper
5903cf902c GUACAMOLE-724: Simplify and correct keyboard handling to NOT send extra key events for Ctrl+Alt+Shift. 2021-07-08 03:31:48 -07:00
Michael Jumper
5e9fe0ea6e GUACAMOLE-724: Scroll entire file transfer manager, not each individual client section. 2021-07-08 03:31:48 -07:00
Michael Jumper
0118489001 GUACAMOLE-724: ManagedClientGroup.forEach() must not attempt to visit non-existent clients. 2021-07-08 03:31:48 -07:00
Michael Jumper
b3c410a371 GUACAMOLE-724: Correct unreadable error coloring of new client-specific modals. 2021-07-08 03:31:48 -07:00
Michael Jumper
19aa600b80 GUACAMOLE-724: Migrate file transfer status dialog to multi-client support. 2021-07-08 03:31:48 -07:00
Michael Jumper
6b296374d5 GUACAMOLE-724: Add per-tile visual indication of drag/drop. 2021-07-08 03:31:48 -07:00
Michael Jumper
68e856987e GUACAMOLE-724: Clear out sharing profiles from previous client if focus is changing to a client lacking a UUID. 2021-07-08 03:31:48 -07:00
Michael Jumper
5e2e28365c GUACAMOLE-724: Track client focus changes within tiled client directive, not just in changes to overall attached group. 2021-07-08 03:31:48 -07:00
Michael Jumper
7d5b6c6898 GUACAMOLE-724: Add indicator showing whether a tiled connection is shared. 2021-07-08 03:31:48 -07:00
Michael Jumper
0ea12ca5aa GUACAMOLE-724: Switch to SVG versions of all PNG images. 2021-07-08 03:31:48 -07:00
Michael Jumper
4c1876341d GUACAMOLE-724: Remove .png images that are not actually referenced. 2021-07-08 03:31:48 -07:00
Michael Jumper
6f9e2a8b78 GUACAMOLE-724: Allow multiple tiled clients to be focused using Shift+Click and Ctrl+Click. 2021-07-08 03:31:48 -07:00
Michael Jumper
90f2270dab GUACAMOLE-724: Move handling of drag/pinch gestures to individual client tiles. 2021-07-08 03:31:48 -07:00
Michael Jumper
b0febd3402 GUACAMOLE-724: Migrate client zoom editor to own directive. 2021-07-08 03:31:48 -07:00
Michael Jumper
448ebb5019 GUACAMOLE-724: Ensure focus is not retained when transferring a client from an unattached group to an attached group. 2021-07-08 03:31:48 -07:00
Michael Jumper
19a32d3e10 GUACAMOLE-724: Expose checkboxes within Guacamole menu for adding/removing connections from current view. 2021-07-08 03:31:48 -07:00
Michael Jumper
a249876bff GUACAMOLE-724: Replace per-client clipboard with shared clipboard. 2021-07-08 03:31:48 -07:00
Michael Jumper
63452b7bc8 GUACAMOLE-724: Automatically focus the first client if no client has yet been focused. 2021-07-08 03:31:48 -07:00
Michael Jumper
d0b1fb7d7f GUACAMOLE-724: Control only the currently-focused client with client-specific menu options. 2021-07-08 03:31:48 -07:00
Michael Jumper
3f4c6a4cd1 GUACAMOLE-724: Move mouse emulation setting from client to menu. 2021-07-08 03:31:48 -07:00
Michael Jumper
4b227fe8c6 GUACAMOLE-724: Remove client-side "last used" timestamp (no longer needed).
The last-used timestamp was previously required to sort active clients
within the client panel in a sensible and deterministic order. This now
happens automatically via client groups, which are stored in an array
in order of last use. No code remains referencing the last-used
timestamp.
2021-07-08 03:31:48 -07:00
Michael Jumper
1f2cd94a65 GUACAMOLE-724: Display nifty "pop" animation when a new client appears within the client panel. 2021-07-08 03:31:48 -07:00