Я пытаюсь разработать FilterEditor с использованием ExtJS. пользователь создает некоторый диапазон, сравнение, критерии null / notnull, и мне нужно представить их в хорошо отформатированном формате, чтобы пользователи могли легко прочитать общие критерии.
Для этого я подумал, что Ext.DataView и XTemplates сделают уловка. Но мне интересно, могу ли я предоставить более одного шаблона, чтобы сделать шаблоны поддерживаемыми, или использовать некоторые встроенные функции, чтобы выбрать для меня часть шаблона.
var dateRangeTpl = new Ext.XTemplate(
'<tpl for=".">',
'<div id="{CriteriaId}">',
'<em>{FieldName} </em>',
'<span>{Modifier} </span>',
'<span>{Condition} </span>',
'<span>{LeftDate} </span>',
'<span>{RightDate} </span>',
'</div>',
'</tpl>',
'<div class="x-clear"></div>'
var notNullTpl = new Ext.XTemplate(
'<tpl for=".">',
'<div id="{CriteriaId}">',
'<em>{FieldName} </em>',
'<span>{Modifier} </span>',
'<span>{Condition} </span>',
'</div>',
'</tpl>',
'<div class="x-clear"></div>'
output:
Invoice Date not between 2011-01-01 2011-01-31
Invoice Date not null
Будет много шаблонов, Я подумываю предоставить несколько встроенных редакторов данных, так что, скорее всего, их количество будет расти. Я знаю, что могу сделать несколько простых блоков, которые могут стать большими и сложными, поэтому я хотел высказать свое мнение, прежде чем погрузиться в это.