[oXygen-user] [OXYGEN-15680] Re: Custom action to generate simple dialog?
Scott Prentice
sp14 at leximation.com
Fri Jun 14 12:05:27 CDT 2024
Hi Radu,
Thanks! I'll play with the script parameter a bit more to see how that
works.
It seems that the DocumentTypeInfo API is different than the
DocumentTypeInformation API. I'm trying to get the active framework's
"Description", which is available from DocumentTypeInfo.getDescription()
but not DocumentTypeInformation.getDescription(). Interestingly,
DocumentTypeInformation.getName() does work.
Any ideas on how to access the framework description from the
authorAccess object?
Thanks,
Scott
On 6/13/24 9:39 PM, Oxygen XML Editor Support (Radu Coravu) wrote:
>
> Hi Scott,
>
> So the "script" parameter should be a piece of Javascript content. For
> example you can pass as value of the "script" parameter this entire
> Javascript code here:
>
> https://github.com/oxygenxml/javascript-sample-operations/blob/master/copy-xml-to-clipboard/copy-xml-to-clipboard.js
>
> To the value passed using "script" we add the entire Javascript from
> the "commons.js". So I guess in your case you have placed the entire
> content in the "commons.js" and passed an empty "script" parameter,
> which should also work as long as you have a "doOperation()" function.
>
> About accessing the DocumentTypeInfo API, your script has global
> access to an object named "authorAccess" which maps to this Java class:
>
> https://www.oxygenxml.com/InstData/Editor/SDK/javadoc/ro/sync/ecss/extensions/api/AuthorAccess.html
>
> So something like this in the JS code:
>
> authorAccess.getEditorAccess().getDocumentTypeInformation()
>
> should give you access to this Java class:
>
> https://www.oxygenxml.com/InstData/Editor/SDK/javadoc/ro/sync/exml/workspace/api/editor/documenttype/DocumentTypeInformation.html
>
> That similar
> "ro.sync.ecss.extensions.api.webapp.doctype.DocumentTypeInfo" API that
> you wanted access to is specific for our web author in browser editor
> tool.
>
> Regards,
>
> Radu
>
> Radu Coravu
> Oxygen XML Editor
> On 6/13/24 19:48, Scott Prentice wrote:
>>
>> Thanks, Radu.
>>
>> I have a couple questions.
>>
>> It's not clear to me how the "script" parameter works with the
>> JSOperation class. I assume it can be used to pass in values to the
>> code in commons.js, but I'm not seeing how you'd do that. Can you
>> point me to any examples?
>>
>> Also. I see that commons.js has access to the AuthorAccess API. I'd
>> like to access DocumentTypeInfo interface
>> (ro.sync.ecss.extensions.api.webapp.doctype.DocumentTypeInfo) .. can
>> I do that from commons.js? I've tried a few things, without much success.
>>
>> Thanks!
>>
>> Scott
>>
>>
>> On 6/12/24 8:27 PM, Oxygen XML Editor Support (Radu Coravu) wrote:
>>>
>>> Hi Scott,
>>>
>>> Right. We do not have a special Author operation to show a message
>>> to the end user.
>>>
>>> This operation could be used to open a web page if for example you
>>> want to present to the end user the information in a web browser:
>>>
>>> https://www.oxygenxml.com/doc/versions/26.1/ug-editor/topics/dg-default-author-operations.html#dg-default-author-operations__openinsystemappoperation
>>>
>>> Regards,
>>> Radu
>>>
>>> Radu Coravu
>>> Oxygen XML Editor
>>> On 6/13/24 03:06, Scott Prentice wrote:
>>>> If you're interested, here's one way to do this. I'm sure there's a
>>>> more elegant way and this is probably a bit if a hack, but it does
>>>> what I need right now.
>>>>
>>>> 1. In. your framework's Document Type dialog, on the Author:Actions
>>>> subtab, add an action to the framework, give it an ID and a Name.
>>>> 2. In the Action dialog select this Operation:
>>>> ro.sync.ecss.extensions.commons.operations.JSOperation
>>>> 3. A 'script' argument will be added, leave the value empty.
>>>> 4. Choose OK. (Leave the Document Type dialog up for now.)
>>>> 5. Create a commons.js file in the root of your framework
>>>> directory, with the following content ..
>>>>
>>>> function doOperation(){
>>>> parentFrame = authorAccess.getParentFrame();
>>>> javax.swing.JOptionPane.showMessageDialog(parentFrame, "MESSAGE HERE");
>>>> }
>>>>
>>>> 6. In the Document Type dialog, on the Author:Menu subtab, add your
>>>> new action to your menu (assuming one exists).
>>>> 7. Choose OK, then OK.
>>>>
>>>> Open a document in Author view that uses your framework. You should
>>>> see the new menu item.
>>>>
>>>> Clearly, if you're already using the commons.js file for something
>>>> else, you'll need to pass in some parameter and tweak the JS code
>>>> .. but this is a start. :-)
>>>>
>>>> Cheers,
>>>>
>>>> Scott
>>>>
>>>> On 6/12/24 1:32 PM, Scott Prentice wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> Is there a built-in method for creating an action (to call from a
>>>>> toolbar or menu) that displays a simple dialog that contains
>>>>> informational text? I'd like to have an "About" dialog that's
>>>>> associated with a framework. I assume I can do this by creating a
>>>>> custom class, but wanted to see if there was an OOB option for this.
>>>>>
>>>>> Thanks!
>>>>>
>>>>> Scott
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> oXygen-user mailing list
>>>>> oXygen-user at oxygenxml.com
>>>>> https://www.oxygenxml.com/mailman/listinfo/oxygen-user
>>>>
>>>> _______________________________________________
>>>> oXygen-user mailing list
>>>> oXygen-user at oxygenxml.com
>>>> https://www.oxygenxml.com/mailman/listinfo/oxygen-user
>>>
>>> _______________________________________________
>>> oXygen-user mailing list
>>> oXygen-user at oxygenxml.com
>>> https://www.oxygenxml.com/mailman/listinfo/oxygen-user
>>
>> _______________________________________________
>> oXygen-user mailing list
>> oXygen-user at oxygenxml.com
>> https://www.oxygenxml.com/mailman/listinfo/oxygen-user
>
> _______________________________________________
> oXygen-user mailing list
> oXygen-user at oxygenxml.com
> https://www.oxygenxml.com/mailman/listinfo/oxygen-user
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.oxygenxml.com/pipermail/oxygen-user/attachments/20240614/376d115a/attachment.htm>
More information about the oXygen-user
mailing list