Для одного из столбцов в моем jqGrid я предоставляю пользовательскую функцию форматирования. Я привожу некоторые особые случаи, но если эти условия не выполняются, я бы хотел прибегнуть к использованию встроенного метода утилиты форматирования даты. Не похоже, что я получаю правильную комбинацию $ .extend () для создания опций, ожидаемых методом.
Моя colModel для этого столбца:
{ name:'expires',
index:'7',
width:90,
align:"right",
resizable: false,
formatter: expireFormat,
formatoptions: {srcformat:"l, F d, Y g:i:s A",newformat:"n/j/Y"}
},
И пример того, что я пытаюсь сделать
function expireFormat(cellValue, opts, rowObject) {
if (cellValue == null || cellValue == 1451520000) {
// a specific date that should show as blank
return '';
} else {
// here is where I'd like to just call the $.fmatter.util.DateFormat
var dt = new Date(cellValue * 1000);
var op = $.extend({},opts.date);
if(!isUndefined(opts.colModel.formatoptions)) {
op = $.extend({},op,opts.colModel.formatoptions);
}
return $.fmatter.util.DateFormat(op.srcformat,dt,op.newformat,op);
}
}
(Исключение выдается в кишках этого метода DateFormat, похоже, где он пытается прочитать в свойство масок передаваемых параметров)
EDIT:
$ .extend, который поместил все в нужное место, получал его из того глобального свойства, где его установила библиотека i18n, $. Jgrid.formatter.date .
var op = $.extend({}, $.jgrid.formatter.date);
if(!isUndefined(opts.colModel.formatoptions)) {
op = $.extend({}, op, opts.colModel.formatoptions);
}
return $.fmatter.util.DateFormat(op.srcformat,dt.toLocaleString(),op.newformat,op);