[oXygen-user] [OXYGEN-15680] Re: Custom action to generate simple dialog?
Scott Prentice
sp14 at leximation.com
Mon Jun 17 10:16:32 CDT 2024
Thanks, Radu!
Hmm .. getFrameworkStoreLocation()? I suppose if I get really desperate
that might be the ticket. Ugh. :-)
Regards,
Scott
On 6/16/24 9:16 PM, Oxygen XML Editor Support (Radu Coravu) wrote:
>
> 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
>
> _______________________________________________
> 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/5d158107/attachment.htm>
More information about the oXygen-user
mailing list