2

dojo のカスタム ビルドを作成すると、さまざまなウィジェットの html テンプレートもそのウィジェットの js ファイルに内部化されます。

EnhancedGrid の Filter プラグインの場合、上記は 1.8.0 までは当てはまらず、1.8.1 で修正されました。私はすでに dojo 1.8.0 を使用してアプリケーションを作成しています。

Dojo 1.8.0 を使用しているときに、EnhancedGrid フィルター プラグインの HTML テンプレートを内部化するための回避策はありますか?

4

1 に答える 1

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

以前の質問からこのリストを取得しました。

EnhancedGrid Filter プラグイン用の Dojo AMD スタイル テンプレート

于 2013-04-16T06:48:20.130 に答える