So far we had duplicated snackbar code.
Desktop version was more advanced, mobile wasn't updated.
Mobile one used mobile-wizard as a base so we had to hide
currently presented menu to show small piece of information.
Let's use desktop snackbar on mobile as well. We will be able to
remove old code path from mobile later.
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I1da7a6b75591913ca0fc66f6d0e81d136c874f62
Let's allow usage of JSDialog component previously
used on desktop and tablet only - in some cases on mobile.
This case are dropdowns which we do not want to show
as separate mobile wizard screen (eg. alignment selector
from toolbar).
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Ibcfaea457c065c34644738c7bf56a2e4e53c50a3
So we can type our messages, callbacks and better manage
where message is sent
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I3290f5cf9bc08669353d3e71785baffc6fb07003
If MenuButton has custom menu defined it should
use original data.id as a command to avoid warnings
about missing icon with "-menu" suffix.
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I06dfcdb0412c7d087f4002cdfff83f8157c3f237
Remove toErase list; instead null socket pointers earlier
to make things more deterministic.
Simplify toErase path, by just removing null sockets.
Check _socketPoll array bounds to cope with a re-entrant
mutation - imperfect; but the fd comparison will help.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I27d81358a7d80b939b50ce4ccb1b2178a091a360
This reduces code duplication and makes
the code more readable by extracting
the huge block that processes plugins.
Change-Id: I2dc243173a4122ae1d5fc5b3fa2b40daff9664e4
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
Since we have a more accurate reason
for failing to load, that's what we
should always return.
Change-Id: If9d38cf6de6d41310ba94857efcd073e3f4ef8b7
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
problem:
when online created file using WOPI clients, creation dates were never set.
in online files are created using templates, even empty files are created using
an empty template
Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I312d7af17bf322ca55b6e20bba344e4fc6628e66
- Added 'Contains text...' and 'Duplicate...' as menu entries under Conditional > Condition...
- Introduced a new sub-entry Top/Bottom Rules' under Conditional, with the following options:
- Top n elements
- Top n% (n percent)
- Bottom n elements
- Bottom n% (n percent)
- Above Average
- Below Average
These changes enhance the functionality of the Conditional formatting menu by incorporating commonly used options for users.
Signed-off-by: codewithvk <vivek.javiya@collabora.com>
Change-Id: I1c3c06b21a9d26e6a8966782c0af07381403c08f
Visit the
/cool/clipboard?WOPISrc=...&MimeType=text/html,text/plain;charset=utf-8
endpoint, you get a JSON with HTML and plain text. Visit
/cool/clipboard?WOPISrc=...&MimeType=text/html, you get HTML with a
custom header that is only possibly to skip easily because HTML itself
has as well-known header.
This is decied in ChildSession::getClipboard(), which has 3 cases: 1)
single specific format 2) multiple specific formats and 3) all formats.
So far only 2) used JSON, but the new async clipboard copy will want to
(als) request just plain text, where skipping our own custom header is
hard, given that the text itself has no well-known header (unlike HTML).
Solve the problem by always using JSON when a specific format is
requested, so both the HTML and HTML+plaintext case gives JSON.
The client side of this is the recently introduced Clipboard.js
parseClipboard(), which can cope with JSON already.
Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: I8298f3f82d2a3871777c369f5aee6bb81d66a553
Problem:
- At various places, form elements are linked to the same label both through the 'for' attribute in the
associated label, and through the 'aria-labelled by' attribute in the element itself.
- This double linkage
can lead to confusion and redundancy, especially when using assistive technologies.
What should we do:
- Remove Redundant Linkage: In most cases, the 'for' attribute in the label is sufficient to
establish a clear linkage. The 'aria-labelled by' attribute can be removed in this case to avoid
redundancy.
- Consistent Use of Attributes: Ensure consistent use of attributes throughout the website. Use
either 'for' or 'aria-labelled by' depending on the context and requirements, but avoid double
linkage
Solution :
- as we made label `for` attribute value consistent with `id` value for its corresponding `input/select` element
- https://github.com/CollaboraOnline/online/pull/8646
- now we can remove 'aria-labelled by' as there is already linkage present
- there are some cases where labels are not present, we must use `aria-labelledby` in that case.
Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
Change-Id: I389d271280a80835fd7345e8221e3777f8f8ed51
Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
- fix typo in cypress function name
- unify mobile and desktop searchbar controls
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I2212f588ca720634b073111b1c78f10c6ee6b7ea
This way it can be reused in future code in Clipboard.js when
navigator.clipboard.write() is used, without duplication.
Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: I843577e55802bcb7ad6cbdc5f83919172bc7d3e0
Problem:
- The labels for the <select> elements are being associated with a <div> element that surrounds the
corresponding <select> element instead of directly linking it to the <select> element.
- This creates an unclear semantic relationship between the label and the actual form element, affecting usability for
users with assistive technologies
- this was not only issue with `select` element but for all input selection elements in JSDialogBuilder
Solution:
- `lable` and it's corresponding `input/select` element should have same `for` and `id` values
- this patch will make `for` attr of `label` equals to `id` attr value of 'input/select' elements
Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
Change-Id: If341174edcdb72af6fde3da14d5ed36ba0c3ae95
- in the formulabar in Calc
- type "=" then click "accept formula"
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I120f655766bc5e2b4688aec0e598da9c847478a8
- it failed due to click on disabled button
- make waiting for idle click be aware of that
- add small waits after doing table changes to
allow updates to be applied
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: If19352923aeca4c18024f3a2ffcc3731a8aff96f
- but still use class for css rules
- after rework in styling to use attribute we can drop that
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I568eedf45440f6636c31430cb98adcfdeab6aa4e