open-consul/ui-v2/app
John Cowen 466c3c6899 ui: Allow text selection of clickable elements and their contents (#5770)
* ui: Allow text selection of clickable elements and their contents

This commit disables a click on mousedown be removing the `href`
attribute and moving it to a `data-href` attribute. On mouseup it will
only move it back if there is no selection. This means that an anchor
will only be followed on click _if_ there is no selection.

This fixes the fact that whenever you select some copy within a
clickable element it immediately throws you into the linked page when
you release your mouse.

Further notes:

We use the `isCollapsed` property here which 'seems' to be classed as
'experimental' in one place where I researched it:

https://developer.mozilla.org/en-US/docs/Web/API/Selection/isCollapsed

Although in others it makes no mention of this 'experimental' e.g:

- https://webplatform.github.io/docs/dom/Selection/isCollapsed/
- https://w3c.github.io/selection-api/#dom-selection-iscollapsed

I may have gone a little overboard in feature detection for this, but I
conscious of that fact that if `isCollapsed` doesn't exist at some point
in the future (something that seems unlikely). The code here will have
no effect on the UI. But I'd specifically like a second pair of eyes on
that.

* ui: Don't break right click, detects a secondary click on mousedown

* ui: Put anchor selection capability behind an ENV var
2019-09-04 08:34:58 +00:00
..
adapters UI: ACL Roles (#5635) 2019-05-01 18:22:37 +00:00
components ui: Implements a testable clipboard {{copy-button}} (#5967) 2019-06-21 11:42:40 +01:00
computed ui: Adds blocking query support to the service detail page (#5479) 2019-05-01 18:22:22 +00:00
controllers ui: Gateway Addresses (#6075) 2019-07-05 09:07:25 +01:00
forms UI: ACL Roles (#5635) 2019-05-01 18:22:37 +00:00
helpers ui: Adds readonly meta data to the serviceInstance and node detail pages (#6196) 2019-08-02 13:53:52 +02:00
initializers UI: ACL Roles (#5635) 2019-05-01 18:22:37 +00:00
instance-initializers ui: Allow text selection of clickable elements and their contents (#5770) 2019-09-04 08:34:58 +00:00
mixins ui: Don't look for isDescriptor on null (related to null proxies) (#5782) 2019-05-03 11:39:32 +01:00
models ui: Reconcile ember-data store when records are deleted via blocking (#5745) 2019-09-04 08:34:57 +00:00
routes ui: Gateway Addresses (#6075) 2019-07-05 09:07:25 +01:00
routing UI: ACL Roles (#5635) 2019-05-01 18:22:37 +00:00
search/filters ui: Adds ability to search by policy, role or service ident names (#5811) 2019-06-05 09:25:32 +01:00
serializers ui: Reconcile ember-data store when records are deleted via blocking (#5745) 2019-09-04 08:34:57 +00:00
services ui: Reconcile ember-data store when records are deleted via blocking (#5745) 2019-09-04 08:34:57 +00:00
styles ui: Adds readonly meta data to the serviceInstance and node detail pages (#6196) 2019-08-02 13:53:52 +02:00
templates ui: Adds readonly meta data to the serviceInstance and node detail pages (#6196) 2019-08-02 13:53:52 +02:00
utils ui: Allow text selection of clickable elements and their contents (#5770) 2019-09-04 08:34:58 +00:00
validations UI: ACL Roles (#5635) 2019-05-01 18:22:37 +00:00
app.js
env.js ui: Adds easily accessible `env` for user settable 'debug' settings (#5668) 2019-05-01 18:22:35 +00:00
index.html ui: modify content path (#5950) 2019-06-26 11:43:30 -05:00
resolver.js
router.js ui: Ensure Service Instance pages account for nodes (#5933) 2019-06-11 10:18:50 +01:00