User Interface
The reusable component One.form.DocumentPanel has been provided which can be included in any ExtJS-based screen. This component takes the following parameters:
sysGoverningOrgId: sys id of the organization which should be used when looking up DocumentTypes
modelLevelType: model level to which the documents will be attached, used when looking up DocumenTypes
sysModelId: id of the model to which the documents are being attached
Here is an example where the DocumentType panel is added to the ModelForm JS class of a Book.
define([
'One/DocumentPanel'
],
function
() {
Ext.ns(
'ZBKS'
);
ZBKS.BookDetail = Ext.extend(One.model.ModelFormContainer, {
modelInfo: {
modelLevelType:
'ZBKS.Book'
},
createActionName:
'ZBKS.CreateBook'
,
detailViewName:
'ZBKS.BookDetail'
,
actionConfig: {
listeners: {
load:
function
(formPanel) {
if
(Ext.getCmp(
"docPanel"
) == undefined) {
var
documentTypePanel =
new
One.DocumentPanel({
ModelLevelTypes: [
'ZPTS.Book'
],
SysModelId: formPanel.sysId,
SysGoverningOrgId: UserProfile.context.OrgId,
fileHolderName:
'attachments'
,
id:
'docPanel'
});
formPanel.add(documentTypePanel);
formPanel.doLayout();
documentTypePanel.loadData(formPanel.model.Attachments);
}
},
beforemodelsubmit:
function
(formPanel, model) {
Ext.apply(model, {
Attachments: Ext.getCmp(
"docPanel"
).getData()
});
}
}
}
});
});