You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@isis.apache.org by "Daniel Keir Haywood (Jira)" <ji...@apache.org> on 2021/01/17 18:54:00 UTC

[jira] [Resolved] (ISIS-1001) [WON'T FIX] For hard-coded methods such as title(), iconName(), and cssClass(), hidden(), disabled(), validate(), provide an alternative mechanism to specify such methods.

     [ https://issues.apache.org/jira/browse/ISIS-1001?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Keir Haywood resolved ISIS-1001.
---------------------------------------
    Resolution: Won't Fix

we have a workaround, which is to use UI event classes

> [WON'T FIX] For hard-coded methods such as title(), iconName(),  and cssClass(), hidden(), disabled(), validate(), provide an alternative mechanism to specify such methods. 
> -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: ISIS-1001
>                 URL: https://issues.apache.org/jira/browse/ISIS-1001
>             Project: Isis
>          Issue Type: New Feature
>          Components: Isis Applib (programming model)
>    Affects Versions: core-1.7.0
>            Reporter: Daniel Keir Haywood
>            Assignee: Daniel Keir Haywood
>            Priority: Minor
>
> The methods involved are:
> - title()
> - iconName()
> - cssClass()   (introduced in ISIS-1000)
> and the (probably to be deprecated) callback methods:
> - loaded()
> - saving()/persisting()
> - saved()/persisted()
> - updating()
> - updated()
> - removing()/deleting()
> - deleted()/deleted()
> In all cases, if the method is annotated with @Action (ISIS-990) or with @Programmatic then it no facet should be installed (that is, action takes precedence).
> Also, if there is a clashing action, then an annotation should indicate the method (analogous to junit's @Test annotation).  Since these are all hook methods for Isis to call, I suggest the annotation is called @Hook, eg:
> {code}
> @Hook(HookType.TITLE)
> String someOtherMethodActingLikeTitle() { ... }
> @Hook(HookType.ICON_NAME)
> String someMethodActingLikeIconName() {  .... }
> @Hook(HookType.CSS_CLASS)
> String someMethodActingLikeCssClass() { ... }
> {code}
> If an annotation doesn't appeal, we could instead define a special prefix, eg "__isis_xxx" (cf JUnit3's testXxx).  For example:
> {code}
> String __isis_title() { ... }
> String __isis_iconName() { ... }
> String __isis_cssClass() { ... }



--
This message was sent by Atlassian Jira
(v8.3.4#803005)