Hi Dan,

Yes, It would be perfect. I'll be watching ISIS-1196 to check releasing.

Thanks,
Fabio



2016-06-16 9:34 GMT-03:00 Dan Haywood <[email protected]>:

> OK.
>
> We actually have ISIS-1196 [1] raised already to provide this sort of
> capability, but baked directly into the Wicket viewer.  What we envisage is
> something similar to the "more actions" in JIRA, or the cmd-alt-A in
> IntelliJ , as per [2]
>
> Would this suffice?
>
> Thx
> Dan
>
> [1] https://issues.apache.org/jira/browse/ISIS-1196
> [2] http://imgur.com/a/It2TN
>
>
> On 16 June 2016 at 13:24, Fabio Purcino <[email protected]> wrote:
>
> > Hi Dan,
> >
> > It's exactly what I'm trying to do. I want to make an Action with an
> > Autocomplete Parameter listing All Services and Actions.  After user
> select
> > some action this action will fire the action as if I clicked.
> >
> > I'm thinking about the growing complexity keeping navigation fluidly and
> > easy.
> >
> > Thanks,
> > Fabio
> >
> >
> >
> >
> >
> >
> > 2016-06-16 8:57 GMT-03:00 Dan Haywood <[email protected]>:
> >
> > > Hi Fabio,
> > >
> > > What Stephen has said is all true, of course, but I'm just wondering if
> > > what you want is some sort of intercept in order to influence the
> action
> > > prompt that's rendered?
> > >
> > > If so, then the answer to that is "no", I'm afraid.
> > >
> > > That said, I'm not certain if I fully understand the objective.  My
> > *guess*
> > > is that you want to be able to have the user invoke some sort of menu
> > item,
> > > but then programmatically decide which action to delegate on to, almost
> > > like a redirect?
> > >
> > > For example, something like:
> > >
> > >
> > > public class SomeMenu {
> > >     public void doSomethingOrOther() {
> > >         if(shouldDoSomething()) {
> > >            // render the prompt for "doSomething" and invoke
> > >          } else
> > >            // render the prompt for "doOther" and invoke
> > >          }
> > >     }
> > >
> > >     public Object doSomething(int x) {
> > >        // would render an action prompt requesting an int param, and
> > return
> > > a single object
> > >     }
> > >
> > >     public List doSomething(boolean y) {
> > >        // would render an action prompt requesting an boolean param,
> and
> > > return a list
> > >     }
> > >
> > > }
> > >
> > > Do I at least understand the question?
> > >
> > > Thx
> > > Dan
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > On 15 June 2016 at 23:33, Stephen Cameron <[email protected]>
> > > wrote:
> > >
> > > > At the code level its just OO programming, so whatever your action
> > > 'method'
> > > > returns is what Isis will display to the user, as long as it knows of
> > > that
> > > > class in its metamodel (from which it builds the view) so the Doenca
> > > class
> > > > needs to be annotated with @DomainObject.
> > > >
> > > > then:
> > > >
> > > > @DomainService(nature = NatureOfService.DOMAIN) // not a user viewed
> > > > service
> > > >
> > > > public class Doencas {
> > > >
> > > > public Doenca create(){
> > > > ...
> > > > }
> > > >
> > > > }
> > > >
> > > > and:
> > > >
> > > > @DomainService(nature = NatureOfService.VIEW_MENU_ONLY)
> > > >
> > > > @DomainServiceLayout(
> > > >
> > > > named = "Transações",
> > > >
> > > >         menuBar = DomainServiceLayout.MenuBar.PRIMARY,
> > > >
> > > >         menuOrder = "1"
> > > >
> > > > )
> > > >
> > > > public class Transacoes {
> > > >
> > > >     @Action(semantics = SemanticsOf.SAFE)
> > > >
> > > >     @ActionLayout(bookmarking = BookmarkPolicy.AS_ROOT, named="Buscar
> > > > Transação") // Why bookmark an action thats in the menu?
> > > >
> > > >     @MemberOrder(sequence = "1.1")
> > > >
> > > >     public Doenca buscarTransacao(
> > > >
> > > >         final @ParameterLayout(named="Transação") String tr) {
> > > >
> > > >
> > > >
> > > >     //Code here
> > > >
> > > >           return   doencaRepo.create();
> > > >
> > > >     }
> > > >
> > > > @javax.inject.Inject
> > > > Doencas doencaRepo;
> > > >
> > > > }
> > > >
> > > > On Thu, Jun 16, 2016 at 3:13 AM, Fabio Purcino <
> [email protected]
> > >
> > > > wrote:
> > > >
> > > > > Hi Jeroen,
> > > > >
> > > > > Thanks for your reply. Following are some code snippets:
> > > > >
> > > > > First of all I have this Domain Service with an action
> > buscarTransacao
> > > > that
> > > > > shows an parameter screen. It works fine.
> > > > >
> > > > > My goal is call a method like this:
> > > > >
> > > > > manager.InvokeAction("Doenca","create") ;
> > > > >
> > > > > And the action be called showing a parameter screen. I tried to do
> > this
> > > > by
> > > > > injecting Doencas into Transacoes and calling it directly but It
> > > bypasses
> > > > > parameter screen.
> > > > >
> > > > > Could you help me solving this issue?
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > >
> > >
> >
> ***********************************************************************************
> > > > >
> > > > > @DomainService(nature = NatureOfService.VIEW_MENU_ONLY)
> > > > >
> > > > > @DomainServiceLayout(
> > > > >
> > > > > named = "Transações",
> > > > >
> > > > >         menuBar = DomainServiceLayout.MenuBar.PRIMARY,
> > > > >
> > > > >         menuOrder = "1"
> > > > >
> > > > > )
> > > > >
> > > > > public class Transacoes {
> > > > >
> > > > >     @Action(semantics = SemanticsOf.SAFE)
> > > > >
> > > > >     @ActionLayout(bookmarking = BookmarkPolicy.AS_ROOT,
> named="Buscar
> > > > > Transação")
> > > > >
> > > > >     @MemberOrder(sequence = "1.1")
> > > > >
> > > > >     public void buscarTransacao(
> > > > >
> > > > >         final @ParameterLayout(named="Transação") String tr) {
> > > > >
> > > > >
> > > > >
> > > > >     //Code here
> > > > >
> > > > >               manager.InvokeAction("Doenca","create") ;
> > > > >
> > > > >     }
> > > > >
> > > > > }
> > > > >
> > > > >
> > > > >
> > > >
> > >
> >
> ***********************************************************************************
> > > > >
> > > > >
> > > > > I have another Domain Service I intend to be called only
> > > > programmatically.
> > > > > It works fine too.
> > > > >
> > > > >
> > > > >
> > > > >
> > > >
> > >
> >
> ***********************************************************************************
> > > > >
> > > > > @DomainService(nature =
> NatureOfService.VIEW_MENU_ONLY,repositoryFor
> > =
> > > > > Doenca.class)
> > > > >
> > > > > @DomainServiceLayout(
> > > > >
> > > > > named = "Dados Mestres",
> > > > >
> > > > >         menuBar = DomainServiceLayout.MenuBar.PRIMARY,
> > > > >
> > > > >         menuOrder = "10.3"
> > > > >
> > > > > )
> > > > >
> > > > > public class Doencas {
> > > > >
> > > > >     public TranslatableString title() {
> > > > >
> > > > >         return TranslatableString.tr("Doenças");
> > > > >
> > > > >     }
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >     @Action(semantics = SemanticsOf.SAFE)
> > > > >
> > > > >     @ActionLayout(bookmarking = BookmarkPolicy.AS_ROOT,
> > > named="Doenças")
> > > > >
> > > > >     @MemberOrder(sequence = "1")
> > > > >
> > > > >     public List<Doenca> listAll() {
> > > > >
> > > > >         return repositoryService.allInstances(Doenca.class);
> > > > >
> > > > >     }
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >     @Action(semantics = SemanticsOf.SAFE)
> > > > >
> > > > >     @ActionLayout(bookmarking = BookmarkPolicy.AS_ROOT)
> > > > >
> > > > >     @MemberOrder(sequence = "2")
> > > > >
> > > > >     public Doenca create(
> > > > >
> > > > >     final @ParameterLayout(named="CID") String cid,
> > > > >
> > > > >         final @ParameterLayout(named="Descrição") String
> descricao) {
> > > > >
> > > > >         final Doenca obj =
> > repositoryService.instantiate(Doenca.class);
> > > > >
> > > > >         obj.setCid(cid);
> > > > >
> > > > >         obj.setDescricao(descricao);
> > > > >
> > > > >         repositoryService.persist(obj);
> > > > >
> > > > >         return obj;
> > > > >
> > > > >     }
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >     @javax.inject.Inject
> > > > >
> > > > >     RepositoryService repositoryService;
> > > > >
> > > > > }
> > > > >
> > > > >
> > > > >
> > > >
> > >
> >
> ***********************************************************************************
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > 2016-06-15 13:14 GMT-03:00 Jeroen van der Wal <[email protected]
> >:
> > > > >
> > > > > > Perhaps you can specify your question with some (pseudo) code?
> > > > > >
> > > > > > On 15 June 2016 at 16:41, Fabio Purcino <[email protected]>
> > > > wrote:
> > > > > >
> > > > > > > Hi all,
> > > > > > >
> > > > > > > Is it possible to invoke an action programmatically from
> another
> > > > > action?
> > > > > > >
> > > > > > > The called action has parameters and I'd like to show the same
> > > screen
> > > > > as
> > > > > > I
> > > > > > > click on the service menu.
> > > > > > >
> > > > > > > Thanks and best Regards,
> > > > > > >
> > > > > > > --
> > > > > > > ------------------------------------------------------------
> > > > > > > Fábio Purcino Aragão
> > > > > > >
> > > > > >
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > ------------------------------------------------------------
> > > > > Fábio Purcino Aragão
> > > > >
> > > >
> > >
> >
> >
> >
> > --
> > ------------------------------------------------------------
> > Fábio Purcino Aragão
> >
>



-- 
------------------------------------------------------------
Fábio Purcino Aragão

Reply via email to