view libervia/web/pages/calendar/_browser/__init__.py @ 1545:be20e6ac9f22

browser (bridge): add methods/properties to wait for Websocket/BroadcastChannel to be ready
author Goffi <goffi@goffi.org>
date Thu, 06 Jul 2023 12:10:25 +0200
parents eb00d593801d
children
line wrap: on
line source

from browser import document, window
from browser.timer import set_interval

calendar_start = window.calendar_start


def update_current_time_line():
    now = window.Date.new()

    # Calculate the position of the current-time-line
    now_ts = now.getTime() / 1000
    minutes_passed = (now_ts - calendar_start) / 60

    new_top = minutes_passed + 15

    # Update the current-time-line position and make it visible
    current_time_line = document["current-time-line"]
    current_time_line.style.top = f"{new_top}px"
    current_time_line.hidden = False

# Initial update
update_current_time_line()

# Update the current-time-line every minute
set_interval(update_current_time_line, 60 * 1000)