ExtJS 4 - 如何使用Ext.ux.PreviewPlugin

时间:2012-06-13 13:25:36

标签: extjs extjs4

从现在起我只使用插件进行编辑,我使用它的方式是首先添加:

this.editing = Ext.create('Ext.grid.plugin.CellEditing');

在我的initComponent: function中然后应用此内容:

plugins: [this.editing],

我准备好了。但是obv。这种方法对Ext.ux.PreviewPlugin不起作用所以我用Google搜索了一下,找到了一些例子:

//  requires: 'Ext.ux.PreviewPlugin',


//    disableSelection: true,



    viewConfig: {
        id: 'id',
        trackOver: false,
        stripeRows: false,
        plugins: [{
            ptype: 'preview',
            bodyField: 'excerpt',
            expanded: true,
            pluginId: 'preview'
        }]
    },

    // pluggable renders
    renderTopic: function(value, p, record) {
        return Ext.String.format(
            '<strong><a href="http://sencha.com/forum/showthread.php?t={2}" target="_blank">{0}</a></strong><a href="http://sencha.com/forum/forumdisplay.php?f={3}" target="_blank">{1} Forum</a>',
            value,
            record.data.forumtitle,
            record.getId(),
            record.data.forumid
        );
    },

但它也不起作用,至少对我来说,我得到以下错误:

"NetworkError: 404 Not Found - http://myLocalSite/index.php/ux/PreviewPlugin.js?_dc=1339593100494"

我不太确定是什么导致了这个错误,我也直接使用了这个例子所以我期望因为这个而得到一些错误,但是我想我错过了使用这些插件的一般方法,所以我我认为我需要一些关于如何配置这个插件的更一般的观点,然后可能会根据我的确切需要进行调整。

无论哪种方式,都需要帮助才能使这个插件正常工作。

由于

Leron

2 个答案:

答案 0 :(得分:2)

这取决于您的ExtJs版本,但如果您使用的是4.0.7 - 预览插件默认情况下不在src\目录中,而是在\examples\ux中。

我建议将其从那里复制到\src\ux并确保包含所有依赖项(例如来自\examples\ux的特殊css类或其他内容)

答案 1 :(得分:0)

为了更清楚地使用Ext.ux.PreviewPlugin的实现,请查看ExtJS包文件夹中的官方示例:examples / feed-viewer / feed-viewer.html。或者在[http://docs.sencha.com/extjs/4.2.1/extjs-build/examples/feed-viewer/feed-viewer.html][1]

在线

当您看到源代码时,您可以在第36行左右看到:

Ext.Loader.setPath('Ext.ux', '../ux');

第一个参数'Ext.ux'in guest它是你必须在Ext.require()函数后面所需模块放置的应用程序路径的定义,我相信'../ux'是相对路径'ux'目录,其中包含一些官方插件。您可以从位于:: examples / ux的ExtJS包附带的'example'目录中获取它。您必须将这些目录相对于源代码复制到某处,我建议将其复制到源代码目录中。

然后在Ext.require中包含插件,如下所示(请参阅第48行附近的feed-viewer.html代码):

Ext.require([
'Ext.ux.PreviewPlugin'
]);