在JS代码中设置UI5sap.m.UploadCollectionItem的"visibleEdit"和"visibleDelete"值
Set "visibleEdit" and "visibleDelete" values of UI5 sap.m.UploadCollectionItem in JS code
我正在与 sap.m.UploadCollection
合作。
现在我希望能够根据来自后端的值在每个文件的运行时更改 enableEdit
、enableDelete
、visibleEdit
、visibleDelete
的值,而不是仅通过 XML-模板在 sap.m.UploadCollectionItem
中静态显示。
我试过类似的东西:
oController.getModel("files").setProperty("/visibleEdit", false)
但这似乎是一种错误的做法。
如何使用 JS(运行时)为每个文件设置 visibleEdit
的期望值?
包含 UploadCollection
组件的视图片段:
<UploadCollection
id="UploadCollection"
maximumFilenameLength="255"
maximumFileSize="10"
multiple="false"
showSeparators="All"
change="onFileChanged"
noDataText="{texte>/FAM081}"
fileDeleted="onFileDelete"
filenameLengthExceed="onFilenameLengthExceed"
fileRenamed="onFileChange"
fileSizeExceed="onFileSizeExceed"
selectionChange="onSelectionChange"
typeMissmatch="onTypeMissmatch"
uploadComplete="onUploadComplete"
uploadButtonInvisible="{=${screen_model>/KomItemAdd}!==true}"
beforeUploadStarts="onBeforeUploadStarts"
uploadTerminated="onUploadTerminated"
items="{path : 'files>/', templateShareable : 'true'}"
numberOfAttachmentsText="Uploaded (8)"
mode="SingleSelectMaster"
uploadUrl="%MY_UPLOAD_URL%">
<toolbar>
<OverflowToolbar id="myId">
<ToolbarSpacer />
<UploadCollectionToolbarPlaceholder></UploadCollectionToolbarPlaceholder>
</OverflowToolbar>
</toolbar>
<items>
<UploadCollectionItem
documentId="{files>documentId}"
fileName="{files>fileName}"
mimeType="{files>mimeType}"
thumbnailUrl="{files>thumbnailUrl}"
url="{files>url}"
visible="{= ${files>text}!==''}"
enableEdit="{=${files>userID}===${userdata>/UserId}}"
enableDelete="{=${files>userID}===${userdata>/UserId}}"
visibleDelete="{=${files>userID}===${userdata>/UserId} && ${screen_model>/KomItemAdd}===true}"
visibleEdit= "{=${files>userID}===${userdata>/UserId} && ${screen_model>/KomItemAdd}===true}"
attributes="{path : 'files>attributes', templateShareable : 'true'}"
statuses="{path : 'files>statuses', templateShareable : 'true'}"
selected="{selected}">
<attributes>
<ObjectAttribute title="{files>title}"
text="{files>text}"
active="{files>active}"
press="onAttributePress"/>
</attributes>
<statuses>
<ObjectStatus title="{files>title}"
text="{files>text}"
state="{files>state}"
icon="{files>icon}"
iconDensityAware="{files>iconDensityAware}"
textDirection="{files>textDirection}"/>
</statuses>
</UploadCollectionItem>
</items>
</UploadCollection>
在此代码段中,enableEdit
、enableDelete
、visibleEdit
、visibleDelete
的值是基于遗留逻辑的硬编码。
现在,我需要添加关于 enableEdit
、enableDelete
、visibleEdit
、visibleDelete
的附加条件。理想情况下,我想在控制器中实现此更改,以便更灵活地控制此逻辑。
您需要更新 enableEdit
、enableDelete
、visibleEdit
、visibleDelete
属性 值,而不是更新 json 的值型号。
请参考UI5方法:
https://sapui5.hana.ondemand.com/#/api/sap.m.UploadCollectionItem%23methods/setEnableEdit
我正在与 sap.m.UploadCollection
合作。
现在我希望能够根据来自后端的值在每个文件的运行时更改 enableEdit
、enableDelete
、visibleEdit
、visibleDelete
的值,而不是仅通过 XML-模板在 sap.m.UploadCollectionItem
中静态显示。
我试过类似的东西:
oController.getModel("files").setProperty("/visibleEdit", false)
但这似乎是一种错误的做法。
如何使用 JS(运行时)为每个文件设置 visibleEdit
的期望值?
包含 UploadCollection
组件的视图片段:
<UploadCollection
id="UploadCollection"
maximumFilenameLength="255"
maximumFileSize="10"
multiple="false"
showSeparators="All"
change="onFileChanged"
noDataText="{texte>/FAM081}"
fileDeleted="onFileDelete"
filenameLengthExceed="onFilenameLengthExceed"
fileRenamed="onFileChange"
fileSizeExceed="onFileSizeExceed"
selectionChange="onSelectionChange"
typeMissmatch="onTypeMissmatch"
uploadComplete="onUploadComplete"
uploadButtonInvisible="{=${screen_model>/KomItemAdd}!==true}"
beforeUploadStarts="onBeforeUploadStarts"
uploadTerminated="onUploadTerminated"
items="{path : 'files>/', templateShareable : 'true'}"
numberOfAttachmentsText="Uploaded (8)"
mode="SingleSelectMaster"
uploadUrl="%MY_UPLOAD_URL%">
<toolbar>
<OverflowToolbar id="myId">
<ToolbarSpacer />
<UploadCollectionToolbarPlaceholder></UploadCollectionToolbarPlaceholder>
</OverflowToolbar>
</toolbar>
<items>
<UploadCollectionItem
documentId="{files>documentId}"
fileName="{files>fileName}"
mimeType="{files>mimeType}"
thumbnailUrl="{files>thumbnailUrl}"
url="{files>url}"
visible="{= ${files>text}!==''}"
enableEdit="{=${files>userID}===${userdata>/UserId}}"
enableDelete="{=${files>userID}===${userdata>/UserId}}"
visibleDelete="{=${files>userID}===${userdata>/UserId} && ${screen_model>/KomItemAdd}===true}"
visibleEdit= "{=${files>userID}===${userdata>/UserId} && ${screen_model>/KomItemAdd}===true}"
attributes="{path : 'files>attributes', templateShareable : 'true'}"
statuses="{path : 'files>statuses', templateShareable : 'true'}"
selected="{selected}">
<attributes>
<ObjectAttribute title="{files>title}"
text="{files>text}"
active="{files>active}"
press="onAttributePress"/>
</attributes>
<statuses>
<ObjectStatus title="{files>title}"
text="{files>text}"
state="{files>state}"
icon="{files>icon}"
iconDensityAware="{files>iconDensityAware}"
textDirection="{files>textDirection}"/>
</statuses>
</UploadCollectionItem>
</items>
</UploadCollection>
在此代码段中,enableEdit
、enableDelete
、visibleEdit
、visibleDelete
的值是基于遗留逻辑的硬编码。
现在,我需要添加关于 enableEdit
、enableDelete
、visibleEdit
、visibleDelete
的附加条件。理想情况下,我想在控制器中实现此更改,以便更灵活地控制此逻辑。
您需要更新 enableEdit
、enableDelete
、visibleEdit
、visibleDelete
属性 值,而不是更新 json 的值型号。
请参考UI5方法: https://sapui5.hana.ondemand.com/#/api/sap.m.UploadCollectionItem%23methods/setEnableEdit