Skip to content

Commit

Permalink
Update API docs
Browse files Browse the repository at this point in the history
  • Loading branch information
jellyfin-bot committed Jul 29, 2024
1 parent 38cf11b commit 007e53b
Show file tree
Hide file tree
Showing 6 changed files with 79 additions and 10 deletions.
15 changes: 15 additions & 0 deletions docs/api/components_ItemGrid_GridItem.bs.html
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,21 @@
else
m.itemText.text = itemData.Title
end if
' Adjust to wide posters for "View All Next Up"
if m.topParent.overhangTitle = tr("View All Next Up")
m.posterMask.maskUri = ""

m.itemPoster.height = 300
m.itemPoster.width = 400
m.itemPoster.loadDisplayMode = "scaleToFit"

m.backdrop.height = 300
m.backdrop.width = 400
m.backdrop.loadDisplayMode = "scaleToFit"

m.itemText.translation = [0, m.itemPoster.height + 7]
m.itemText.maxWidth = 400
end if
else if itemData.type = "MusicArtist"
m.itemPoster.uri = itemData.PosterUrl
m.itemText.text = itemData.Title
Expand Down
13 changes: 10 additions & 3 deletions docs/api/components_ItemGrid_ItemGrid.bs.html
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,14 @@
' non recursive for collections (folders, boxsets, photo albums, etc)
m.loadItemsTask.recursive = false
end if

if getCollectionType() = "nextup"
m.loadItemsTask.itemType = "NextUp"
m.itemGrid.itemSize = "[400, 300]"
m.top.imageDisplayMode = "scaleToFit"
m.itemGrid.numColumns = 4
m.alpha.visible = false
end if
else if m.top.parentItem.json.type = "Studio"
m.loadItemsTask.itemId = m.top.parentItem.parentFolder
m.loadItemsTask.itemType = "Series,Movie"
Expand Down Expand Up @@ -404,7 +412,6 @@
setPhotoAlbumOptions(options)
else if getCollectionType() = "music"
setMusicOptions(options)

else
setDefaultOptions(options)
end if
Expand Down Expand Up @@ -788,7 +795,7 @@
searchGrp.setFocus(false)
end if

if key = "options"
if key = "options" and getCollectionType() <> "nextup"
if m.options.visible = true
m.options.visible = false
m.top.removeChild(m.options)
Expand Down Expand Up @@ -838,7 +845,7 @@
m.top.quickPlayNode = itemToPlay
return true
end if
else if key = "left" and topGrp.isinFocusChain()
else if key = "left" and topGrp.isinFocusChain() and m.alpha.visible
m.top.alphaActive = true
topGrp.setFocus(false)
m.alphaMenu.setFocus(true)
Expand Down
11 changes: 10 additions & 1 deletion docs/api/components_ItemGrid_LoadItemsTask2.bs.html
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,11 @@
url = Substitute("Users/{0}/Items/", m.global.session.user.id)
params.append({ ImageTypeLimit: 1 })
params.append({ EnableImageTypes: "Primary,Backdrop,Banner,Thumb" })
else if LCase(m.top.ItemType) = "nextup"
url = "Shows/NextUp"
params.limit = 100 ' If you have more than 100 in your Next Up queue, maybe go outside a bit more.
params.append({ ImageTypeLimit: 1 })
params.append({ EnableImageTypes: "Primary,Backdrop,Banner,Thumb" })
else
url = Substitute("Users/{0}/Items/", m.global.session.user.id)
end if
Expand Down Expand Up @@ -196,6 +201,10 @@
tmp.image = PosterImage(item.id, { "maxHeight": 425, "maxWidth": 290, "quality": "90" })
else if item.type = "Episode"
tmp = CreateObject("roSGNode", "TVEpisode")
if LCase(m.top.ItemType) = "nextup"
tmp.title = item.name
tmp.type = "Episode"
end if
else if LCase(item.Type) = "recording"
tmp = CreateObject("roSGNode", "RecordingData")
else if item.Type = "Genre"
Expand Down Expand Up @@ -283,7 +292,7 @@
end if

if tmp <> invalid
if item.Type <> "Genre" and item.Type <> "MusicGenre"
if LCase(item.Type) <> "genre" and LCase(item.Type) <> "musicgenre"
tmp.parentFolder = m.top.itemId
tmp.json = item
if item.UserData <> invalid and item.UserData.isFavorite <> invalid
Expand Down
14 changes: 8 additions & 6 deletions docs/api/components_data_HomeData.bs.html
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,17 @@

' Set appropriate Images for Wide and Tall based on type

if datum.type = "CollectionFolder" or datum.type = "UserView"
params = { "Tag": datum.ImageTags.Primary, "maxHeight": 261, "maxWidth": 464 }
m.top.thumbnailURL = ImageURL(datum.id, "Primary", params)
m.top.widePosterUrl = m.top.thumbnailURL
if LCase(datum.type) = "collectionfolder" or LCase(datum.type) = "userview"
if IsValid(datum.ImageTags)
params = { "Tag": datum.ImageTags.Primary, "maxHeight": 261, "maxWidth": 464 }
m.top.thumbnailURL = ImageURL(datum.id, "Primary", params)
m.top.widePosterUrl = m.top.thumbnailURL
end if

' Add Icon URLs for display if there is no Poster
if datum.CollectionType = "livetv"
if LCase(m.top.CollectionType) = "livetv"
m.top.iconUrl = "pkg:/images/media_type_icons/live_tv_white.png"
else if datum.CollectionType = "folders"
else if LCase(m.top.CollectionType) = "folders" or LCase(m.top.CollectionType) = "nextup"
m.top.iconUrl = "pkg:/images/media_type_icons/folder_white.png"
end if

Expand Down
33 changes: 33 additions & 0 deletions docs/api/components_home_LoadItemsTask.bs.html
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,9 @@
end if
end if

addViewAll = true ' Assume there will be a "View All" to start
checkViewAll = false ' Only need to check if we don't have anything in the Next Up home row

resp = APIRequest(url, params)
data = getJson(resp)
if isValid(data) and isValid(data.Items)
Expand All @@ -95,6 +98,36 @@
tmp.json = item
results.push(tmp)
end for
if data.Items.Count() = 0
checkViewAll = true
end if
else
checkViewAll = true
end if

' Add "View All"
if checkViewAll
' Nothing to show in Next Up, but are there hidden items (e.g. > 365 days old)?
params.Delete("NextUpDateCutoff")
params["limit"] = 1 ' if there is even one, then we know we need to show "View All"
resp = APIRequest(url, params)
data = getJson(resp)
if not isValid(data) or isValid(data) and isValid(data.Items) and data.Items.Count() = 0
addViewAll = false
end if
end if

if addViewAll
tmp = CreateObject("roSGNode", "HomeData")
tmp.type = "CollectionFolder"
tmp.usePoster = false
tmp.json = {
IsFolder: true,
Name: tr("View All Next Up"),
Type: "CollectionFolder",
CollectionType: "nextup"
}
results.push(tmp)
end if
' Load Continue Watching
else if m.top.itemsToLoad = "continue"
Expand Down
3 changes: 3 additions & 0 deletions docs/api/source_Main.bs.html
Original file line number Diff line number Diff line change
Expand Up @@ -270,6 +270,9 @@
group = CreateMovieLibraryView(selectedItem)
else if selectedItem.collectionType = "music"
group = CreateMusicLibraryView(selectedItem)
else if selectedItem.collectionType = "nextup"
group = CreateItemGrid(selectedItem)
group.optionsAvailable = false
else
group = CreateItemGrid(selectedItem)
end if
Expand Down

0 comments on commit 007e53b

Please sign in to comment.