Dan Haywood created ISIS-976:
--------------------------------

             Summary: Add a button to allow prototype actions to be hidden in 
the Wicket viewer
                 Key: ISIS-976
                 URL: https://issues.apache.org/jira/browse/ISIS-976
             Project: Isis
          Issue Type: Improvement
          Components: Core, Viewer: Wicket
    Affects Versions: core-1.7.0, viewer-wicket-1.7.0
            Reporter: Dan Haywood
            Assignee: Dan Haywood
            Priority: Minor
             Fix For: viewer-wicket-1.9.0, core-1.9.0


My thoughts on this is that this would be per-user rather than a singleton, but 
probably pluggable.  The default implementation could store in the (Wicket 
wrapper for) HttpSession.

UI would be a button on the bottom toolbar (alongside "About", only rendered if 
running in prototype mode); perhaps make the "About" into a drop-down menu).  
It would provide a checkbox to hide prototype actions.

The implementation would be to enhance the PrototypeFacet so that it implements 
HidingInteractionAdvisor.  The implementation should delegate to an injected 
new service which would wrap the HttpSession, simply indicating whether 
prototype actions are visible or not, eg:

public interface PrototypeActionVisibilityService {
    boolean isHidden();
}

This would be injected into the FacetFactory (we do something similar with 
other services) and passed down to the PrototypeFacet.

In terms of providing a default impl, could write a 
PrototypeActionVisibilityServiceUsingWicketHttpSession, annotated as 
@DomainService, and this would be automatically available.  If the user writes 
their own impl and registers in isis.properties then this would take precedence.







--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to