2017-06-15 5 views
1

ViewModelにプロパティを追加し、Editing.ENABLEDでマークしました。Apache Isis:ViewModelで@Property(editing = Editing.ENABLED)が機能しない

@DomainObject(
     nature = Nature.VIEW_MODEL, 
     objectType = "homepage.HomePageViewModel" 
) 
public class HomePageViewModel { 

    @Setter @Getter 
    @Property(editing = Editing.ENABLED) 
    private String editableField; 

} 

しかし、このフィールドは、UI上で編集できない: ViewModel property Editing.ENABLED

しかし、それはSimpleObjectのために正常に動作します: Simple DomainObj property Editing.Enabled

それはViewModelに正しく動作しますか? ViewModelにはプロパティがありませんか?

答えて

0

いいえ、ビューモデルでは正しく機能していません。このフレームワークはこれをサポートするためのものです。

良いニュースは、回避策があることです。 JAXBスタイルの(より柔軟な)ビュー・モデルを使用するようにクラスに注釈を付けると、すべてが期待通りに機能します。

ここには、クラスの最新バージョンがあります。 JAXBビューモデルの詳細については

@XmlRootElement(name = "compareCustomers") 
@XmlType(
    propOrder = { 
      "editableField" 
    } 
) 
@XmlAccessorType(XmlAccessType.FIELD) 
public class HomePageViewModel { 

    @XmlElement(required = true) 
    @Setter @Getter 
    @Property(editing = Editing.ENABLED) 
    private String editableField; 

    public TranslatableString title() { 
     return TranslatableString.tr("{num} objects", "num", getObjects().size()); 
    } 

    public List<SimpleObject> getObjects() { 
     return simpleObjectRepository.listAll(); 
    } 

    @XmlTransient 
    @javax.inject.Inject 
    SimpleObjectRepository simpleObjectRepository; 
} 

を、user guideを参照してください... @Xmlを開始する注釈を探します。

はその間私は

+0

は、JAXBビューモデルとの問題を回避するには、1.15.0のバージョンでのみ動作します、あなたが発見した問題のJIRA ticket提起しました。 https://stackoverflow.com/questions/44624897/apache-isis-v1-14-0-property-is-not-editable-in-jaxb-view-modelを参照してください。 – Yurii

関連する問題