Oracle ADF Таймер обратного отсчета в консоль браузера (здесь скорее всего неправильная логика вычисления секунд)


Печатает в консоль браузера!

<af:outputText value="" id="timerText" clientComponent="true">
  <af:resource type="javascript" source="resources/js/timer.js?1"/>
  <af:clientListener method="countDown()" type="load"/>
</af:outputText>


timer.js

function countDown() {

var fiveMinutes = 60 * 5;
    startTimer(fiveMinutes);
}


function startTimer(duration) {
    console.log("START TIMER");

    var timer = duration, minutes, seconds;
    setInterval(function () {
        minutes = parseInt(timer / 60, 10);
        seconds = parseInt(timer % 60, 10);

        minutes = minutes < 10 ? "0" + minutes : minutes;
        seconds = seconds < 10 ? "0" + seconds : seconds;

        console.log(minutes + ":" + seconds);

        if (--timer < 0) {
            timer = duration;
        }
    }, 1000);
}


window.onload = countDown;


Oracle ADF Таймер обратного отсчета во View


Печатает во view!

Тоже самое, но только после

console.log(minutes + ":" + seconds);

Добавил:

var comp = AdfPage.PAGE.findComponentByAbsoluteId('pt1:timerText');
comp.setValue(minutes + ":" + seconds);


Тоже самое, но еще и с учетом часов:

hours = parseInt(timer / 3600, 10);
minutes = parseInt((timer - hours * 3600) / 60, 10);
seconds = parseInt((timer - hours * 3600) % 60, 10);

hours   = hours   < 10 ? "0" + hours : hours;
minutes = minutes < 10 ? "0" + minutes : minutes;
seconds = seconds < 10 ? "0" + seconds : seconds;