Я пытаюсь создать условие внутри шаблона всплывающей подсказки.Условие ExtJS 4.1 в tooltip
Я объявил мой шаблон, как это:
tooltipTpl: new Ext.XTemplate(
'<tpl for=".">',
'<dl class="eventTip">',
'<tpl if="values.getLength() == 1">',
'<dt class="icon-clock">Time</dt><dd>{[Ext.Date.format(values.start, "d-m")]} - {[Ext.Date.format(Ext.Date.add(values.end,Ext.Date.SECOND,-1), "d-m")]}</dd>',
'</tpl>',
'<tpl if="values.getLength() > 1">',
'<dt class="icon-clock">Day</dt><dd>{[Ext.Date.format(values.start, "d-m")]}</dd>',
'</tpl>',
'<dt class="icon-task">Status</dt><dd>{Name}</dd>',
'</dl>',
'</tpl>'
).compile(),
Идея должна быть в состоянии отображать 2 даты (начало и конец), если событие больше, чем 1 день, если это один день событие просто покажите эту дату.
Я объявил свою модель как так:
Ext.define('Urlopy.Model.Plan', {
extend : 'Sch.model.Event',
idProperty : 'id',
resourceIdField : 'userID',
startDateField : 'start',
endDateField : 'end',
fields : [{ name : 'id', type : 'int'},
{ name : 'userID', type : 'string'},
{ name : 'start', type : 'date', dateFormat : 'MS'},
{ name : 'end', type : 'date', dateFormat : 'MS'},
{ name : 'Name'}],
getLength : function() {
return Sch.util.Date.getDurationInDays(this.get('start'), this.get('end'));
}
});
Отображается вторая линия моей подсказки, но линия с датами нет. Похоже, я не могу вызвать функцию вызова из моей модели в своем шаблоне.
Как это исправить? Является ли это возможным?
спасибо за помощь, я проверю его сразу. Я использую этот шаблон в компоненте Ext Scheduler. Это основано на сетке (я думаю, это: P), я напишу, если это сработает или у меня все еще проблемы. – Misiu
Добавление функции в шаблон помогло, я связываюсь с автором планировщика о том, как вызвать функцию из модели, это было бы лучше, из-за дублированного кода в модели и в подсказке. – Misiu