2013-06-12 57 views
1

我在做這樣的事情:Alfresco JavaScript - 如何獲取節點屬性的允許值列表?

document.properties["my:customProperty"] = getSomehowTheProperty(document); 

my:customProperty是一個字符串,它在內容模型的一些允許值。

如何從內容模型中獲取允許的值,以便我不必將它們存儲在腳本內的JavaScript數組中?

或者我該怎麼檢查,功能getSomehowTheProperty返回了允許值?

我試着用的try-catch來包裝它:

try { 
     document.properties["my:customProperty"] = getSomehowTheProperty(document); 
     document.save(); 
    } catch (e) { 
     document.properties["my:customProperty"] = "Default Value"; 
     document.save(); 
    } 

但它看起來像完整性檢查,日誤差在執行該腳本,而不是try塊內的最後拋出。

使用谷歌搜索「alfresco js允許的節點屬性值」和類似的查詢沒有給我什麼。

+0

JS在哪裏運行?露天回購?共享層?網頁瀏覽器? – Gagravarr

+0

腳本是'/ Data Dictionary/Scripts /'下的回購文件。當新文檔上傳到空間時,它在某些空間作爲內容規則操作執行。對不起,一開始就不夠清楚,希望現在好一點。 – slaweet

回答

1

爲了得到這一類的信息,你必須使用DictionaryService得到PropertyDefinition

關閉我的頭頂,你會想要做的事,如:

QName customPropertyQ = QName.createQName("my:customProperty", namespaceService); 
PropertyDefinition customPropertyT = dictionaryService.getProperty(customPropertyQ); 
List allowedValues = customPropertyT.getConstraints(); 

這將在Java中,請參閱this blog post以瞭解有關如何使用JavaScript中的DictionaryService的詳細信息

相關問題