Details
-
Type:
Task
-
Status: Open
-
Priority:
Major
-
Resolution: Unresolved
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: Inline Edit
-
Labels:None
Description
Our InlineEdit component is very crusty and has received no substantial reworking since it stabilised around 2009 as part of the Infusion 1.2 release - apart from being lightly dusted over during 2015 to ensure that it continued to function as before after the major framework upgrade.
We need to substantially rewrite this component to being it in line with expectations for modern framework components. Although it has a model and stores its value in it, it makes no use of the ChangeApplier idiom for coordinating updates, but instead relies on a raft of custom events and methods such as "updateModelValue". This makes it useless when cooperating in a tree with other components using modern features such as model relay etc.
We should deprecate and remove these methods, and ensure that the component is at least basically usable when addressed directly via its model, and update all of its implementation (and that of the "undo decorator") to work in terms of modelListeners.
We can also take the opportunity to rework its event binding to function using modern priority and namespace-driven primitives.
We should also correct a horrifying bug caused by its use of a "free constructor" for its tooltips, that will then survive after the destruction of the overall component (we didn't really go in for destroying components back in the old days).
A further useful refactoring would be to establish a "very lazy" instantiation idiom - we should factor off the basic hover and invitation actions into a "component-free" package such that the actual component construction can be deferred until the point the user has started to interact with the editable value.
Finally, we should take the opportunity to assess any interaction paths that were inserted to work around the oddities of ancient browsers which no longer exist, and remove them.
Attachments
Issue Links
- depends on
-
FLUID-5348 InlineEdit can have two tooltips show up at the same time for the same field
-
- Open
-
-
FLUID-4734 Straightforward improvements to InlineEdit implementation
-
- Open
-
- relates to
-
FLUID-6059 Tooltip blocks edit button for Rich Text inline edit
-
- Open
-
-
FLUID-5996 Height of Inline Edit input control used for editing does not scale with font size
-
- Open
-
-
FLUID-5998 Focus is not visible after pressing Escape on an active Inline Edit
-
- Open
-
-
FLUID-6016 Focus not on an element after making a selection in dropdown inline edit
-
- Open
-
-
FLUID-6040 NVDA does not automatically change to forms mode when entering an inline edit
-
- Open
-
-
FLUID-6049 undo/redo should have a controls relationship with the inline edit.
-
- Open
-
-
FLUID-6050 Need to manually switch to forms mode in NVDA to trigger undo/redo button
-
- Open
-
-
FLUID-6058 Tooltip remains over the drop-down inline edit options
-
- Open
-
-
FLUID-5991 RTE Inline Edit demo - ARIA log is visible at bottom of page
-
- Open
-
-
FLUID-6039 Inline edit tooltip and instructions overlay
-
- Open
-
-
FLUID-6005 Spelling error of the word "press" in the instructions section for the inline edit dropdown manual test
-
- Open
-
-
FLUID-6029 Spelling error of the word "itself" in the description
-
- Closed
-