Я новичок в JS, поэтому, пожалуйста, будьте терпеливы со мной. Я создаю файл JSLink для добавления условного форматирования на мою страницу SharePoint.
У меня есть поле даты на странице SharePoint (в режиме отладчика Chrome):
"Calibration_x0020_Due2": "3\u002f31\u002f2020",
Я хотел бы проверить код, если дата идет за 30 дней до сегодняшней (чтобы фон был красным). Он будет зеленым, если дата больше, чем за 30 дней до сегодняшней даты.
Я изменяю функцию, применившую условное форматирование, в зависимости от того, какое слово отображалось в другом поле. Я не уверен, как я проверяю дату.
(function () {
var statusFieldCtx = {};
statusFieldCtx.Templates = {};
statusFieldCtx.Templates.Fields = {
"Calibration_x0020_Due2": { //The internal name of that column.
"View": StatusFieldViewTemplate
}
};
SPClientTemplates.TemplateManager.RegisterTemplateOverrides(statusFieldCtx);
function StatusFieldViewTemplate(ctx) { //Function to change the status styling
var statusValue = ctx.CurrentItem[ctx.CurrentFieldSchema.Name]; //To get the current item's status value.
if (statusValue < "NOT SURE WHAT TO PUT HERE") {
return "<div style='background-color:red;color:white'>" + statusValue + "</div>";
}
if (statusValue >= "NOT SURE WHAT TO PUT HERE") {
return "<div style='background-color:green;color:white'>" + statusValue + "</div>";
}
else{
return statusValue;
}
}
})();
Ясно, что математика очевидна. Я просто не могу понять, как вытащить дату из строки? Я пробовал statusValue.getMonth()
и тому подобное, но он говорит .getMonth is not a function
среди других ошибок.
Есть мысли?