#javascript #sharepoint #jslink
#javascript #sharepoint #jslink
Вопрос:
Я новичок в JS, поэтому, пожалуйста, будьте терпеливы со мной. Я создаю файл JSLink для добавления условного форматирования на мою страницу SharePoint.
У меня есть поле даты на моей странице SharePoint (просматривается в режиме отладчика Chrome):
"Calibration_x0020_Due2": "3u002f31u002f2020",
Я хотел бы выполнить некоторую проверку кода, если дата находится за 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
о других ошибках.
Есть мысли?
Комментарии:
1. Вы должны использовать
new Date(statusValue)
и, чем accessgetMonth
2. Да, это сделало это. Пожалуйста, сделайте свой комментарий ответом, и я приму его!