[oXygen-user] [OXYGEN-15680] Re: Custom action to generate simple dialog?
Oxygen XML Editor Support (Radu Coravu)
support at oxygenxml.com
Sun Jun 16 23:16:56 CDT 2024
Hi Scott,
I'll add an internal issue to improve the DocumentTypeInformation API.
Possibly a not so elegant approach would be to get access to the
framework XML file
"DocumentTypeInformation.getFrameworkStoreLocation()", parse it and
obtain the information from there.
Regards,
Radu
Radu Coravu
Oxygen XML Editor
On 6/14/24 20:05, Scott Prentice wrote:
>
> 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
>
> _______________________________________________
> 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/20240617/c5cf55c7/attachment.htm>
More information about the oXygen-user
mailing list