ChangeAttributeOperation - element location
Having trouble deploying Oxygen XML Web Author? Got a bug to report? Post it all here.
-
- Posts: 67
- Joined: Thu Oct 29, 2020 12:01 am
ChangeAttributeOperation - element location
Post by manojdcoder »
I would like to change an attribute of an element upon double click. I added the event at document level and now when the event is fired I have the event.target, but not sure how may I convert the target into a valid element location so I can invoke ChangeAttributeOperation . An example would be very much appreciated.
-
- Posts: 517
- Joined: Thu Sep 04, 2014 4:22 pm
Re: ChangeAttributeOperation - element location
Post by cristi_talau »
With our existing API, you can implement an approximation of this behavior by calling
However, if we understand what you are trying to achieve we may propose an alternative way of doing this. Is this request related to your other post about replacing an image on double click? If yes, I can give you details on how to implement this in version 23 of Web Author (which is now releases).
If not, please let us know about your specific use-case.
Best,
Cristian
Code: Select all
editor.getSelectionManager().getSelection().getNodeAtSelection()
If not, please let us know about your specific use-case.
Best,
Cristian
-
- Posts: 67
- Joined: Thu Oct 29, 2020 12:01 am
Re: ChangeAttributeOperation - element location
Post by manojdcoder »
Yes, its related to my other post about changing image upon double click.
Basically we want to allow user to update references (images, xref, conref etc.,) upon double clicking the element. If you can show me how this could be done with v23, will be great.
Basically we want to allow user to update references (images, xref, conref etc.,) upon double clicking the element. If you can show me how this could be done with v23, will be great.
-
- Posts: 67
- Joined: Thu Oct 29, 2020 12:01 am
Re: ChangeAttributeOperation - element location
Post by manojdcoder »
@Cristian Did you get a chance to look at this?
-
- Posts: 517
- Joined: Thu Sep 04, 2014 4:22 pm
Re: ChangeAttributeOperation - element location
Post by cristi_talau »
Hello,
In version 23.0, Web Author added support to configure a floating contextual toolbar that is displayed near the user selection in two cases, when an element is selected, or when the user selection is inside an element.
To this end you can add CSS rules like:
And define an action to replace the href of an xref element with the ID "replace.xref.href". The same approach works for other elements, except for images for which you need to apply also the patch that I mentioned in the other post: post60109.html#p60109
Another approach is to simply listen for double click and then look at the node where the current selection is:
Best,
Cristian
In version 23.0, Web Author added support to configure a floating contextual toolbar that is displayed near the user selection in two cases, when an element is selected, or when the user selection is inside an element.
To this end you can add CSS rules like:
Code: Select all
xref:-oxy-selection-inside, xref:-oxy-selected {
-oxy-floating-toolbar: oxy_button(actionID, 'replace.xref.href');
}
Another approach is to simply listen for double click and then look at the node where the current selection is:
Code: Select all
editor.getSelectionManager().getSelection().getNodeAtSelection()
Cristian
-
- Posts: 67
- Joined: Thu Oct 29, 2020 12:01 am
Re: ChangeAttributeOperation - element location
Post by manojdcoder »
Thank you for your continuous support. But unfortunately I don't think we can use floating toolbar for this purpose. We had been using XEditor and migrating to Oxygen, we would like to keep some features intact, one of which is double tap to change references.
As I already mentioned, I'm able to get my hands on current node [1], but not sure how may I convert it to an element location that is expected by ChangeAttributeOperation [2].
[1] https://www.oxygenxml.com/maven/com/oxy ... .Node.html
[2] https://www.oxygenxml.com/InstData/Edit ... ation.html
As I already mentioned, I'm able to get my hands on current node [1], but not sure how may I convert it to an element location that is expected by ChangeAttributeOperation [2].
[1] https://www.oxygenxml.com/maven/com/oxy ... .Node.html
[2] https://www.oxygenxml.com/InstData/Edit ... ation.html
-
- Posts: 517
- Joined: Thu Sep 04, 2014 4:22 pm
Re: ChangeAttributeOperation - element location
Post by cristi_talau »
In this case, as I mentioned, instead of looking at the click target, you can rely on the editor to set the selection and just ask it for the element at selection using code like below:
Code: Select all
editor.getSelectionManager().getSelection().getNodeAtSelection()
-
- Posts: 67
- Joined: Thu Oct 29, 2020 12:01 am
Re: ChangeAttributeOperation - element location
Post by manojdcoder »
I'm sorry I don't understand. If I'm not wrong I have use ActionsManager.invokeOperation [1], pass ro.sync.ecss.extensions.commons.operations.ChangeAttributeOperation as operation and supply the parameters.
The operation expects element, it expects the following parameters
1. name (Attribute name) - href (in case of image in DITA)
2. value (Attribute value) - new file path
3. elementLocation (Xpath) - How do I convert editor.getSelectionManager().getSelection().getNodeAtSelection() into a valid elementLocation?
[1] https://www.oxygenxml.com/maven/com/oxy ... nager.html
The operation expects element, it expects the following parameters
1. name (Attribute name) - href (in case of image in DITA)
2. value (Attribute value) - new file path
3. elementLocation (Xpath) - How do I convert editor.getSelectionManager().getSelection().getNodeAtSelection() into a valid elementLocation?
[1] https://www.oxygenxml.com/maven/com/oxy ... nager.html
-
- Posts: 517
- Joined: Thu Sep 04, 2014 4:22 pm
Re: ChangeAttributeOperation - element location
Post by cristi_talau »
Now I understand your problem. Starting from the node at selection, you could traverse the DOM and compute the XPath of that element like /topic[1]/body[1]/p[1]/xref[2].
Jump to
- Oxygen XML Editor/Author/Developer
- ↳ Feature Request
- ↳ Common Problems
- ↳ DITA (Editing and Publishing DITA Content)
- ↳ SDK-API, Frameworks - Document Types
- ↳ DocBook
- ↳ TEI
- ↳ XHTML
- ↳ Other Issues
- Oxygen XML Web Author
- ↳ Feature Request
- ↳ Common Problems
- Oxygen Content Fusion
- ↳ Feature Request
- ↳ Common Problems
- Oxygen JSON Editor
- ↳ Feature Request
- ↳ Common Problems
- Oxygen PDF Chemistry
- ↳ Feature Request
- ↳ Common Problems
- Oxygen Feedback
- ↳ Feature Request
- ↳ Common Problems
- Oxygen XML WebHelp
- ↳ Feature Request
- ↳ Common Problems
- XML
- ↳ General XML Questions
- ↳ XSLT and FOP
- ↳ XML Schemas
- ↳ XQuery
- NVDL
- ↳ General NVDL Issues
- ↳ oNVDL Related Issues
- XML Services Market
- ↳ Offer a Service