jf-roku/components/liveTv/LoadProgramDetailsTask.bs
2023-10-03 12:11:25 -04:00

45 lines
1.2 KiB
Plaintext

import "pkg:/source/api/baserequest.bs"
import "pkg:/source/utils/config.bs"
sub init()
m.top.functionName = "loadProgramDetails"
end sub
sub loadProgramDetails()
channelIndex = m.top.ChannelIndex
programIndex = m.top.ProgramIndex
params = {
UserId: m.global.session.user.id
}
url = Substitute("LiveTv/Programs/{0}", m.top.programId)
resp = APIRequest(url, params)
data = getJson(resp)
if data = invalid
m.top.programDetails = {}
return
end if
program = createObject("roSGNode", "ScheduleProgramData")
program.json = data
program.channelIndex = channelIndex
program.programIndex = programIndex
program.fullyLoaded = true
' Are we currently recording this program?
if program.json.TimerId <> invalid and program.json.TimerId <> ""
' This is needed here because the callee (onProgramDetailsLoaded) replaces the grid item with
' this newly created item from the server, without this, the red icon
' disappears when the user focuses on the program in question
program.hdSmallIconUrl = "pkg:/images/red.png"
else
program.hdSmallIconUrl = invalid
end if
m.top.programDetails = program
end sub