Methods

(static) AssocArrayEqual(Array1, Array2) → {boolean}

Parameters:
NameTypeDescription
Array1object
Array2object
Returns:
Type: 
boolean

(static) arrayHasValue(arr, value) → {boolean}

Check if a specific value is inside of an array

Parameters:
NameTypeDescription
arrobject
valuedynamic
Returns:
Type: 
boolean

(static) div_ceiling(a, b) → {integer}

Parameters:
NameTypeDescription
ainteger
binteger
Returns:
Type: 
integer

(static) findNodeBySubtype(node, subtype) → {dynamic}

Parameters:
NameTypeDescription
nodedynamic
subtypedynamic
Returns:
Type: 
dynamic

(static) formatTime(time) → {string}

Format time as 12 or 24 hour format based on system clock setting

Parameters:
NameTypeDescription
timedynamic
Returns:
Type: 
string

(static) getButton(msg, subnodeopt) → {object}

Parameters:
NameTypeAttributesDefaultDescription
msgdynamic
subnodestring<optional>
"buttons"
Returns:
Type: 
object

(static) getMinutes(ticks) → {integer}

Converts ticks to minutes

Parameters:
NameTypeDescription
ticksdynamic
Returns:
Type: 
integer

(static) getMsgPicker(msg, subnodeopt) → {object}

Parameters:
NameTypeAttributesDefaultDescription
msgdynamic
subnodestring<optional>
""
Returns:
Type: 
object

(static) get_dialog_result(dialog, port) → {dynamic}

Returns the item selected or -1 on backpress or other unhandled closure of dialog.

Parameters:
NameTypeDescription
dialogdynamic
portdynamic
Returns:
Type: 
dynamic

(static) inArray(haystack, needle) → {boolean}

Search string array for search value. Return if it's found

Parameters:
NameTypeDescription
haystackdynamic
needledynamic
Returns:
Type: 
boolean

(static) inferServerUrl(url) → {string}

take an incomplete url string and use it to make educated guesses about the complete url. then tests these guesses to see if it can find a jf server returns the url of the server it found, or an empty string

Parameters:
NameTypeDescription
urlstring
Returns:
Type: 
string

(static) isJellyfinServer(systemInfo) → {boolean}

accepts the raw json string of /system/info/public and returns a boolean indicating if ProductName is "Jellyfin Server"

Parameters:
NameTypeDescription
systemInfoobject
Returns:
Type: 
boolean

(static) isLocalhost(url) → {boolean}

Returns true if the string is a loopback, such as 'localhost' or '127.0.0.1'

Parameters:
NameTypeDescription
urlstring
Returns:
Type: 
boolean

(static) isNodeEvent(msg, field) → {boolean}

Parameters:
NameTypeDescription
msgdynamic
fieldstring
Returns:
Type: 
boolean

(static) isValid(input) → {boolean}

Returns whether or not passed value is valid

Parameters:
NameTypeDescription
inputdynamic
Returns:
Type: 
boolean

(static) isValidAndNotEmpty(input) → {boolean}

Returns whether or not passed value is valid and not empty Accepts a string, or any countable type (arrays and lists)

Parameters:
NameTypeDescription
inputdynamic
Returns:
Type: 
boolean

(static) lastFocusedChild(obj) → {object}

Parameters:
NameTypeDescription
objobject
Returns:
Type: 
object

(static) leftPad(base, fill, length) → {string}

Parameters:
NameTypeDescription
basestring
fillstring
lengthinteger
Returns:
Type: 
string

(static) message_dialog(messageopt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
messagestring<optional>
""
Returns:
Type: 
dynamic

(static) option_dialog(options, messageopt, defaultSelectionopt) → {integer}

Parameters:
NameTypeAttributesDefaultDescription
optionsdynamic
messagedynamic<optional>
""
defaultSelectiondynamic<optional>
0
Returns:
Type: 
integer

(static) parseUrl(url) → {object}

Returns an array from a url = [ url, proto, host, port, subdir+params ] If port or subdir are not found, an empty string will be added to the array Proto must be declared or array will be empty

Parameters:
NameTypeDescription
urlstring
Returns:
Type: 
object

(static) roundNumber(f) → {integer}

Rounds number to nearest integer

Parameters:
NameTypeDescription
ffloat
Returns:
Type: 
integer

(static) secondsToHuman(totalSeconds, addLeadingMinuteZero) → {string}

Parameters:
NameTypeDescription
totalSecondsinteger
addLeadingMinuteZeroboolean
Returns:
Type: 
string

(static) setFieldTextValue(field, value) → {void}

Parameters:
NameTypeDescription
fielddynamic
valuedynamic
Returns:
Type: 
void

(static) show_dialog(message, optionsopt, defaultSelectionopt) → {integer}

Parameters:
NameTypeAttributesDefaultDescription
messagestring
optionsdynamic<optional>
[]
defaultSelectiondynamic<optional>
0
Returns:
Type: 
integer

(static) shuffleArray(array) → {object}

Takes an array of data, shuffles the order, then returns the array uses the Fisher-Yates shuffling algorithm

Parameters:
NameTypeDescription
arrayobject
Returns:
Type: 
object

(static) startLoadingSpinner(disableRemoteopt) → {void}

startLoadingSpinner: Start a loading spinner and attach it to the main JFScene. Displays an invisible ProgressDialog node by default to disable keypresses while loading.

Parameters:
NameTypeAttributesDefaultDescription
disableRemoteboolean<optional>
true
Returns:
Type: 
void

(static) stopLoadingSpinner() → {void}

Returns:
Type: 
void

(static) ticksToHuman(ticks) → {string}

Parameters:
NameTypeDescription
tickslonginteger
Returns:
Type: 
string

(static) toString(input) → {string}

Parameters:
NameTypeDescription
inputdynamic
Returns:
Type: 
string

(static) urlCandidates(input) → {dynamic}

this is the "educated guess" logic for inferServerUrl that generates a list of complete url's as candidates for the tests in inferServerUrl. takes an incomplete url as an arg and returns a list of extrapolated full urls.

Parameters:
NameTypeDescription
inputstring
Returns:
Type: 
dynamic

(static) versionChecker(versionToCheck, minVersionAccepted) → {dynamic}

Returns whether or not a version number (e.g. 10.7.7) is greater or equal to some minimum version allowed (e.g. 10.8.0)

Parameters:
NameTypeDescription
versionToCheckstring
minVersionAcceptedstring
Returns:
Type: 
dynamic