Условное форматирование JS с полем даты с использованием SharePoint - PullRequest
0 голосов
/ 04 апреля 2019

Я новичок в 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 среди других ошибок.

Есть мысли?

...