Javascript и SharePoint 2013: установить цвет фона для элемента списка - PullRequest
2 голосов
/ 10 апреля 2019

У меня есть скрипт, который я использую в своем SharePoint, который устанавливает поле в зеленый или белый цвет, в зависимости от вычисленного значения. Он работает без проблем (я включил только фрагмент кода, я могу включить всю функцию, если это требуется).

Я рассчитываю значение statusValue в коде, затем, если оно <или>, чем пороговое значение, фон поля изменяется соответственно.

(function () {

    var statusFieldCtx = {};
    statusFieldCtx.Templates = {};
    statusFieldCtx.Templates.Fields = {
        "biui": {"View": StatusFieldViewTemplate}
    };


SPClientTemplates.TemplateManager.RegisterTemplateOverrides(statusFieldCtx);

function StatusFieldViewTemplate(ctx) {

    EQ = VALUE // Removed code for simplification
    statusValue = MATH // Removed code for simplification

    if (statusValue < EQ) {

        return "<div style='background-color:green;color:white'>" + statusValue.toFixed(5) + "</div>";

        }

    else {

        return "<div style='background-color:white;color:black'>" + statusValue.toFixed(5) + "</div>";

        }

    }
})();

Я хотел бы выполнить больше вычислений после этого; однако return по существу завершает сценарий.

Есть ли другой способ установить фон, аналогичный приведенному выше коду, без использования функции return?

1 Ответ

0 голосов
/ 16 апреля 2019

Оказывается, ответ был очень прост, и я был немного невежественен.

Я только что создал основную функцию, которая вызывала две другие функции.

Сначала я попытался вернуть обарезультаты с одним возвратом;однако они оба связаны с одним полем;следовательно, мне нужно было вызывать две отдельные функции.

Мне нужно было использовать функции для обеспечения возможности многократного возврата в разные поля, например:

(statusFieldCtx.Templates.Fields = {"biui": {"View": StatusFieldViewTemplate}};.

и

(statusFieldCtx.Templates.Fields = {"bzwi": {"View": StatusFieldViewTemplate}};

(function () {

    funcOne();
    funcTwo();

})();

function funcOnc(){

. . . Code linked to first field

}

function funcTwo(){

. . . Code linked to second field

}
...