and bundle them together when emitted from the browser-side
// i.e. FIXME: new multi-tile-processed message.
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I69916cbe30c26686fb44a2d8d229704c459b6601
Unfortunately, we cannot show the hyperlink pop-up,
in client side based on cell formula, because the formula
had not been evaluated.
=HYPERLINK(A1,A1);
The server should fire event "hyperlinkclicked".
Change-Id: Ie2b743812493e1790b9e54f0050974c585e61e00
Signed-off-by: Henry Castro <hcastro@collabora.com>
Added tablet check for Insert buttons to display on dom or not based on passed condition .
- By default custom buttons will show up in tablet.
Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
Change-Id: I103461b02405bc03d63671b885a31735668d4111
The GetCookie was removed due to sensitive
access data because the browser can block to
security concerns.
Change-Id: Ifaeb495202a53125bda9e3705b6e33b7e54e56df
Signed-off-by: Henry Castro <hcastro@collabora.com>
The access token will validate the session
when a websocket is connected to the server.
Change-Id: I008b04a499ab0d85fd6f95fc06a511f800c0bb2e
Signed-off-by: Henry Castro <hcastro@collabora.com>
Provided support for screen reader to report key accellerators
description.
When <alt> is pressed screen reader says something like: "tab control
Home tab selected".
When an accellerator is typed such as "N" screen reader says: "N
Insert tab selected".
When an accellerator for a tab item is typed the screen reader says
the typed letters and the item name as set in the 'alt' attrinute for
the button element.
For instance by typing accellerator for bold style ("1"), the screen
reader says: "1 Bold"
Signed-off-by: Marco Cecchetti <marco.cecchetti@collabora.com>
Change-Id: I64b198f79cb9f7f13dcd1a4fe0890e4317e512dd
On focus away or if NotebookbarAccessibility is disabled then remove accesskey
Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
Change-Id: I04310f7ee4ab599a0c53c7aceaba459dd7641681
The input field is already being hidden for mobile. For Tablet and
with the increased amount of UI elements on the top bar best to hide
it also. Renaming the document is a quite rare used action when
compared to any of the other top bar actions (switching tabs, open
sidebar etc). Better to hide the #document-name-input when on tablets
instead of trying to fit everything (and end up obstructing tabs for example)
Tablet user can always:
- Use the integration (already used to do many other file manipulations) to rename the file
- Use the in-app Save as can still be used to save a copy of the current
document with a different name
----
Possible future improvements would be to add the possibility to rename
the file when using a tablet:
- Add menu entry and tabbed view button
- Control.Menubar.js something like {name: _('Rename Document'), id: 'renamedocumentbtn'}
- Control.NotebookbarWriter.js add bigtoolitem Rename Document
- Maybe in Control.UIManager.js add a renameDocumentBtn function that
- Creates a JSDialog with document-name-input element + Cancel btn +
OK btn
- Ideally that input element would re-use the functionality from L.control.documentNameInput() -> Control.DocumentNameInput.js
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I968e806a4a9e0018b38b87fc249a57e5af099c78
When Collabora Online is inside iframe and we load
Calc spreadsheet, after few seconds we receive CellCursor
message. In case when user was typing outside iframe in
some textbox - we were stealing focus, what caused
that user started to type inside spreadsheet.
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I12a5501be6f59f73830ff9bf25c98a00492b6caa
and so this loop never finds anything, the intent is clearly to find
an existing comment in this cell so use the right field for that.
possibly a problem since:
commit 922ae4924a
Date: Wed Jan 26 15:08:31 2022 +0300
calc: Fix new comments do not check tabid on insert
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I11208493ef7eae6a01576d90129b25ed9f792d62
Do not wrongly switch part of the UI to edit mode when on read-only
mode. Best to be only remove readonly css class when it's not needed as
opposed to removed it whenever refreshNotebookbar() is called.
Before this commit:
- We were showing tabs in wrong mode (readonly mode) -> every-time
refreshNotebookbar() was called. Thus, initial tablet mode was
appearing with icons and actions from edit mode.
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I6ad9c8c14e60d4c3513f63b75717db0a124b73ea
Introduce getTailsGroupRect method which will be
different in every implementation but share findTailsGroup logic
using above function.
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I321abaa2579bfdff08c8cd4df2e781cd9a28c3d3
* Added visual feedback to inform the user that information is already copied
* Change the image to a check-mark temporarily
Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
Change-Id: I41debc2421841e4f2235f2d31c49d3687a096339
- accessibility key features
- focus on tab when press `Alt`.
- move back and forth tab focus by ArrowLeft and ArrowRight
Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
Change-Id: Id8c8e2a8bcb57c90e0762dd3916b851fff8e0a6f
On actual iPad (2048x1536 native, 1024x768 browser), in
landscape view in Safari, mobile phone view is shown in
online instead of tablet.
This reverts commit f1e9ee72fe.
Signed-off-by: Aron Budea <aron.budea@collabora.com>
Change-Id: I2cd4ba6cdcd616760c06c7db479e6d13be3d83b4
Fixes type error on switching sheets in Calc:
Steps to reproduce:
1. Open Calc spreadsheet with 2 sheets and 2 user sessions
2. Switch user A to sheet 1
3. Switch with user B to sheet 2 and select few cells
4. close user B browser / tab
5. switch user A to sheet 2
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I942becceaabae3a6e1bbbd230e12166348b341b3
problem:
till now we used values from DOM elements which were unreliable,
sometimes they are not discoverable due to nested iframs.
That threw some 404 due to incorrect theming path.
Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: Ibc291ce9f64db799095e1edcb14c598bdd085de7
in some browser scrollIntoView causes problem without parameters
in this particular case problem was entire view being pushed upwords out of view
reproducing steps:
Open a spreadsheet in two views,
With 1st view, navigate to bottom right corner via Ctrl+⬇ and Ctrl+➡,
With 1st view, type something in that cell, and then the cell above (stay editing the cell, don't press Enter),
With 2nd view, start typing in A1.
2nd view's editing view is pushed upwards
Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I4bc551de321483608eb210718c1d81a622de5a6d
This fixes the problem when we requested a preview but
core didn't answer. This can happen when we have
nviewid mismatch and error is generated in logs:
ERR Session is not found. Maybe exited after rendering request.
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I951a05432c899a8e7d210dec7d57177d6c7aae7c
If we set the initial backgrounds without `!important` then there is
no need to use `!important` for dark-mode (since we are already using
a more specific targe via data-them attribute)
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I600629dfc0485edac6ff725f6278de1501e1c9a7
While scrolling using scrollbar we tried to prefetch
lots of tiles adjacent to the view.
Introduce timer which will protect us from prefetching
tiles we will not need when scrolling is fast.
We will avoid doing it synchronously on every little step.
_update is called a lot in onMouseMove handler:
_update (CanvasTileLayer.js:6220)
...
panBy (Map.PanAnimation.js:51)
scroll (Scroll.js:11)
ScrollSection.scrollVerticalWithOffset (ScrollSection.ts:657)
ScrollSection.onMouseMove (ScrollSection.ts:776)
CanvasSectionContainer.propagateOnMouseMove (CanvasSectionContainer.ts:1097)
CanvasSectionContainer.onMouseMove (CanvasSectionContainer.ts:1403)
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: If785fd0c0cc9076043e348b86a09577ad9fa667d
this.accessibilityInputElement.focus();
line in onDocumentKeyUp in browser/src/dom/NotebookbarAccessibility.js
caused view to jump, in result half of the screen was white when
document was very long and had comment inside
To fix this insert accessibility input at the beginning of the DOM
so browser will not try to scroll anything when it is focused.
this is regression introduced in:
commit 3e40f3fbe4
Add functionality for notebookbar accessibility keys.
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I68a1371928a5a3c02be32a3a9eab2ba909bb8ba0
Large Clipboard and document idle modals were being set with tabindex
0 allowing for manual user focus plus were being focused dynamically
for each instance:
- Transfer all that (just once) to showinfomodal instead for the
cases where we have buttons
- This in turn sets the things to the parent (dialog itself)
and not the subcontianer
- Set tabIndex with negative value so, it only allows focus via
code
- This fixes the weird outline (focus) that sometimes would appear
on sub containers of that dialog instances
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: If40192e05c4b0e25e2ce71bc612ab64fc54a29ec
when any dialog is shown we block executing uno commands
don't count snackbar as a dialog and allow full interaction
of the user when snackbar is shown
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Idb1ec1aff9532ba2f1789157982cb25843df0c31
With c04c065edc we start to dynamically
set the canvas background. The problem is that for Calc cells do not
have intrinsically a background and thus what we end up to see as the
document background color is actually the canvas color.
- Make sure that when we are in presence of calc we set the
canvas color (clearColor) with the value coming from
documentBackgroundColor
- To make it clear: create a new CSS variable to be used as
background-document
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I4c456e4aeea233609ee58684d967984dd8afd63a
Otherwise when we get under pressure re: canvas' we loose useful
statistics around the number of deltas applied.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I44a089e4af2819007b8f400b506292f8d469ff82
When we need to re-constitute a canvas from the cached compressed
tile.rawDeltas, we could re-enter via var ctx = this._ensureContext(tile);
as we had to populate the canvas with the previous content before
applying our new delta.
Its important to ensure that we don't then try to apply the same
delta (or set of deltas) twice - ie. move the context/re-constitution
before we append the new deltas to the tile.rawDeltas.
Previously showing the same delta applied twice:
Applying a raw keyframe of length 7320
Applied keyframe 0 of total size 264270 at stream offset 0 size 262144
Applied chunk 1 of total size 2126 at stream offset 262144 size 53
Applied chunk 2 of total size 2073 at stream offset 262197 size 2073
Applied chunk 0 of total size 2073 at stream offset 0 size 2073
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: Ib23bb81e6d3534f140ff3472afed1010c6f98cc2
We have no obviously good mechanism for re-fetching them, and
this seems a bit extreme - even if they are otherwise old.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: Ibaa3d5185493de45efb2887d94b0bf1ee7cac245
In the obscure case: we could have garbage collected the keyframe
content in JS but coolwsd still thinks we have it and now we just
have a delta with nothing to apply it to.
+ show a count in tile debug-mode of this case.
+ re-request a full tile ie. with oldwid=0 if we hit this case.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: Ide95c54086fcc48d0deed1a090b3b9dd4aa49cd5