智能文件组件(html5smartfile)无法正常工作

时间:2013-05-14 05:36:02

标签: javascript extjs cq5

我一直致力于开发自定义extjs控制台,以便作者使用 html5smartfile 组件删除资产。但不知何故,html5smartfile组件的工作方式不正常。作者可以删除资产的区域不显示。如果我正在创建CQ5对话框,则工作正常。但在我的情况下,我创建了一个窗口,它不起作用。

我已经声明了我的smartfile组件:

var assetLinkDropField = {
xtype: 'html5smartfile',
fieldLabel: 'Asset Link',
ddAccept: 'video/.*',
ddGroups: 'media',
fileReferenceParameter: './linkUrl',
name: './linkUrl',
allowUpload: false,
allowFileNameEditing: false,
allowFileReference: true,
transferFileName: false
};

但是这样渲染:

enter image description here

经过大量的工作,我发现CQ5对话框更新了组件的视图,但是在我的窗口的情况下,我必须自己更新它。因此,通过轻微操作,我只是通过调整声明来成功显示拖动区域:

var assetLinkDropField = {
xtype: 'html5smartfile',
fieldLabel: 'Asset Link',
ddAccept: 'video/.*',
ddGroups: 'media',
fileReferenceParameter: './linkUrl',
name: './linkUrl',
allowUpload: false,
allowFileNameEditing: false,
allowFileReference: true,
transferFileName: false,
listeners: {
    afterlayout: function () {
        this.updateView();
    }
}
}

现在面板看起来像:

enter image description here

但拖拽仍无法正常工作。我的窗口声明是这样的:

win = new CQ.Ext.Window({
                height          : 750,
                width           : 700,
                layout          : 'anchor',
                // animateTarget   : btn.el,
                closeAction     : 'close', // Prevent destruction on Close
                id              : 'manageLinkWindow',
                title           : '<b>Multi Link Widget Dialog</b>',
                frame           : true,
                draggable       : false,
                modal           : false, //Mask entire page
                constrain       : true,
                buttonAlign     : 'center',
                items : [assetLinkDropField]
              });
        }

1 个答案:

答案 0 :(得分:0)

我认为你不应该使用 ddAccept:'video /.*', 这样只允许拖放内容查找器中的视频。它应该是“image /".

如果上述问题无法解决您的问题,请验证html5smartfile的其他extjs属性/配置。