"supplying JavaScript resources"

View: New views
4 Messages — Rating Filter:   Alert me  

"supplying JavaScript resources"

by justinedelson :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

According to https://docs.sonatype.com/display/NX/Nexus+UI+Extension, plugins can extend the UI by "supplying JavaScript resources", but it's not yet obvious to me how one does this. Is there some Plexus magic I need to do?
 
Thanks,
Justin

Re: "supplying JavaScript resources"

by Tamás Cservenák :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

yes. You can stack all of yours "static" resources under
src/main/resources/static (the last part "static" is not mandatory):
http://scm.sonatype.org/repobrowser.svn?path=/trunk/nexus/nexus-core-plugins/nexus-lvo-plugin/src/main/resources/&revision=HEAD&name=Nexus

And then you need to create a NexusResourceBundle component with some
unique hint:
http://scm.sonatype.org/showfile.svn?path=/trunk/nexus/nexus-core-plugins/nexus-lvo-plugin/src/main/java/org/sonatype/nexus/plugins/lvo/LvoResourceBundle.java&revision=HEAD&name=Nexus

The getContributedResouces() will just "mount" it to the 2nd param path.

And you have a set of methods where to "contribute" to the index.xml
(if needed).

About actually extending the UI with JS code I can't tell too much :) Damian?

That's all.

~t~

On Tue, Feb 3, 2009 at 1:34 AM, Edelson, Justin
<Justin.Edelson@...> wrote:
>
> According to https://docs.sonatype.com/display/NX/Nexus+UI+Extension, plugins can extend the UI by "supplying JavaScript resources", but it's not yet obvious to me how one does this. Is there some Plexus magic I need to do?
>
> Thanks,
> Justin

---------------------------------------------------------------------
To unsubscribe, e-mail: nexus-dev-unsubscribe@...
For additional commands, e-mail: nexus-dev-help@...


Re: "supplying JavaScript resources"

by Max Powers :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

There are numerous areas that you can extend the Nexus UI, we really should put together a wiki doc for this, just a matter of time ;)
 
But the simplest contribution, is to introduce a new left navigation item and the panel it opens, which can be done as follows in your javascript file
 
Sonatype.repoServer.MyPanel = function( config ) {
  //your panel config
};
Ext.extend(Sonatype.repoServer.MyPanel, Ext.Panel, {
  //your extension to the Panel object
});
Sonatype.Events.addListener( 'nexusNavigationInit', function( nexusPanel ) {
  nexusPanel.add( {
    enabled: Sonatype.lib.Permissions.checkPermission( 'nexus:myperm', Sonatype.lib.Permissions.READ ),
    sectionId: 'st-nexus-config',
    title: 'My Panel',
    tabId: 'my-panel',
    tabCode: Sonatype.repoServer.MyPanel
  } );
} );
 
This is simply listening for the nexusNavigationInit event, and adding navigation items to the panel
 
You can disregard enabled field if you want always visible or you could tie to existing nexus privilege
sectionId should point to the left nav section you want your item in (you can find them all in repoServer/RepoServer.js)
tabId must be unique
tabCode should be the name of your panel object
 
And of course you have the existing panels we have that you can browse for extjs examples (along w/ the extjs site, which has great samples and documentation)
 
There are other contributions that can be made, but this is probably the one that is most commonly used.
 
Should get you started
Max
 
On Tue, Feb 3, 2009 at 4:32 AM, Tamás Cservenák <tamas@...> wrote:
Hi,

yes. You can stack all of yours "static" resources under
src/main/resources/static (the last part "static" is not mandatory):
http://scm.sonatype.org/repobrowser.svn?path=/trunk/nexus/nexus-core-plugins/nexus-lvo-plugin/src/main/resources/&revision=HEAD&name=Nexus

And then you need to create a NexusResourceBundle component with some
unique hint:
http://scm.sonatype.org/showfile.svn?path=/trunk/nexus/nexus-core-plugins/nexus-lvo-plugin/src/main/java/org/sonatype/nexus/plugins/lvo/LvoResourceBundle.java&revision=HEAD&name=Nexus

The getContributedResouces() will just "mount" it to the 2nd param path.

And you have a set of methods where to "contribute" to the index.xml
(if needed).

About actually extending the UI with JS code I can't tell too much :) Damian?

That's all.

~t~

On Tue, Feb 3, 2009 at 1:34 AM, Edelson, Justin
<Justin.Edelson@...> wrote:
>
> According to https://docs.sonatype.com/display/NX/Nexus+UI+Extension, plugins can extend the UI by "supplying JavaScript resources", but it's not yet obvious to me how one does this. Is there some Plexus magic I need to do?
>
> Thanks,
> Justin

---------------------------------------------------------------------
To unsubscribe, e-mail: nexus-dev-unsubscribe@...
For additional commands, e-mail: nexus-dev-help@...



Re: "supplying JavaScript resources"

by Dmitry Platonoff :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I just added a wiki page on the plugin bundle, and will update the UI
extensions page with more examples.

https://docs.sonatype.com/display/NX/Loading+UI+Resources+From+a+Nexus+Plugin


Dmitry

Max Powers wrote:

> There are numerous areas that you can extend the Nexus UI, we really
> should put together a wiki doc for this, just a matter of time ;)
>  
> But the simplest contribution, is to introduce a new left navigation
> item and the panel it opens, which can be done as follows in your
> javascript file
>  
> Sonatype.repoServer.MyPanel = function( config ) {
>   //your panel config
> };
> Ext.extend(Sonatype.repoServer.MyPanel, Ext.Panel, {
>   //your extension to the Panel object
> });
> Sonatype.Events.addListener( 'nexusNavigationInit', function( nexusPanel ) {
>   nexusPanel.add( {
>     enabled: Sonatype.lib.Permissions.checkPermission( 'nexus:myperm',
> Sonatype.lib.Permissions.READ ),
>     sectionId: 'st-nexus-config',
>     title: 'My Panel',
>     tabId: 'my-panel',
>     tabCode: Sonatype.repoServer.MyPanel
>   } );
> } );
>  
> This is simply listening for the nexusNavigationInit event, and adding
> navigation items to the panel
>  
> You can disregard enabled field if you want always visible or you could
> tie to existing nexus privilege
> sectionId should point to the left nav section you want your item in
> (you can find them all in repoServer/RepoServer.js)
> tabId must be unique
> tabCode should be the name of your panel object
>  
> And of course you have the existing panels we have that you can browse
> for extjs examples (along w/ the extjs site, which has great samples and
> documentation)
>  
> There are other contributions that can be made, but this is probably the
> one that is most commonly used.
>  
> Should get you started
> Max
>  
> On Tue, Feb 3, 2009 at 4:32 AM, Tamás Cservenák <tamas@...
> <mailto:tamas@...>> wrote:
>
>     Hi,
>
>     yes. You can stack all of yours "static" resources under
>     src/main/resources/static (the last part "static" is not mandatory):
>     http://scm.sonatype.org/repobrowser.svn?path=/trunk/nexus/nexus-core-plugins/nexus-lvo-plugin/src/main/resources/&revision=HEAD&name=Nexus
>     <http://scm.sonatype.org/repobrowser.svn?path=/trunk/nexus/nexus-core-plugins/nexus-lvo-plugin/src/main/resources/&revision=HEAD&name=Nexus>
>
>     And then you need to create a NexusResourceBundle component with some
>     unique hint:
>     http://scm.sonatype.org/showfile.svn?path=/trunk/nexus/nexus-core-plugins/nexus-lvo-plugin/src/main/java/org/sonatype/nexus/plugins/lvo/LvoResourceBundle.java&revision=HEAD&name=Nexus
>     <http://scm.sonatype.org/showfile.svn?path=/trunk/nexus/nexus-core-plugins/nexus-lvo-plugin/src/main/java/org/sonatype/nexus/plugins/lvo/LvoResourceBundle.java&revision=HEAD&name=Nexus>
>
>     The getContributedResouces() will just "mount" it to the 2nd param path.
>
>     And you have a set of methods where to "contribute" to the index.xml
>     (if needed).
>
>     About actually extending the UI with JS code I can't tell too much
>     :) Damian?
>
>     That's all.
>
>     ~t~
>
>     On Tue, Feb 3, 2009 at 1:34 AM, Edelson, Justin
>     <Justin.Edelson@... <mailto:Justin.Edelson@...>>
>     wrote:
>      >
>      > According to
>     https://docs.sonatype.com/display/NX/Nexus+UI+Extension, plugins can
>     extend the UI by "supplying JavaScript resources", but it's not yet
>     obvious to me how one does this. Is there some Plexus magic I need
>     to do?
>      >
>      > Thanks,
>      > Justin
>
>     ---------------------------------------------------------------------
>     To unsubscribe, e-mail: nexus-dev-unsubscribe@...
>     <mailto:nexus-dev-unsubscribe@...>
>     For additional commands, e-mail: nexus-dev-help@...
>     <mailto:nexus-dev-help@...>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: nexus-dev-unsubscribe@...
For additional commands, e-mail: nexus-dev-help@...