Dojo Custom build in 1.8.1

时间:2013-04-16 05:44:22

标签: dojo dojo-build

当我们为dojo创建自定义构建时,它还会将各种小部件的html模板内化到该小部件的js文件中。

对于EnhancedGrid的Filter插件,上述情况直到1.8.0并未在1.8.1中修复。我已经使用dojo 1.8.0编写了我的应用程序。

使用dojo 1.8.0时,我是否可以使用内置的EnhancedGrid Filter插件的html模板解决方法

1 个答案:

答案 0 :(得分:1)

1.8.0和1.8.1的未压缩过滤器js文件之间有一个简单的区别,就是这一行(例如在FilterBar.js中):

"dojo/text!../../templates/FilterBar.html"

如果你看一下1.8.1:

define([
    "dojo/_base/declare",
    "dojo/_base/array",
    "dojo/_base/connect",
    "dojo/_base/lang",
    "dojo/_base/sniff",
    "dojo/_base/event",
    "dojo/_base/html",
    "dojo/_base/window",
    "dojo/query",
    "dijit/_Widget",
    "dijit/_TemplatedMixin",
    "dijit/_WidgetsInTemplateMixin",
    "dojo/fx",
    "dojo/_base/fx",
    "dojo/string",
    "dijit/focus",
    "dojo/text!../../templates/FilterBar.html" // HERE HERE HERE HERE HERE HERE
], function(declare, array, connect, lang, has, event, html, win, query, _Widget,
    _TemplatedMixin, _WidgetsInTemplateMixin, fx, baseFx, string, dijitFocus,
 template){ // HERE HERE HERE HERE - NOTICE THE MAPPING ...

之后,如果你看一下1.8.0 FilterBar.js:

define("dojox/grid/enhanced/plugins/filter/FilterBar", [
    "dojo/_base/declare",
    "dojo/_base/array",
    "dojo/_base/connect",
    "dojo/_base/lang",
    "dojo/_base/sniff",
    "dojo/_base/event",
    "dojo/_base/html",
    "dojo/_base/window",
    "dojo/cache",
    "dojo/query",
    "dijit/_Widget",
    "dijit/_TemplatedMixin",
    "dijit/_WidgetsInTemplateMixin",
    "dojo/fx",
    "dojo/_base/fx",
    "dojo/string",
    "dijit/focus"
], function(declare, array, connect, lang, has, event, html, win, cache, query, 
    _Widget, _TemplatedMixin, _WidgetsInTemplateMixin, fx, baseFx, 
    string, dijitFocus){...

1.8.0中没有这样的行,所以在必要的未压缩过滤器js文件中添加这一行并创建一个新的构建。

您必须对运行时加载的所有html文件执行此操作:

/dojox/grid/enhanced/templates/FilterBar.html
/dojox/grid/enhanced/templates/FilterDefPane.html
/dojox/grid/enhanced/templates/CriteriaBox.html
/dojox/grid/enhanced/templates/FilterBoolValueBox.html

我从上一个问题中得到了这个列表:

Dojo AMD style templates for EnhancedGrid Filter plugin