Javascript References

Modules

components/common

Define all common components

components/fields

Define all field components

components/pages

Define all page components

components/bars

Define all bar components

components/wrappers

Define all wrapper components

utils/logger

Define all logging capabilities of the webapp

api

Define all API routes used by the webapp

models/common

Define all common structures

models/shmdata

Define all structures that modelizes shmdatas

models/quiddity

Define all structures that modelize quiddities

stores/common

Define all stores for common UI behaviors

stores/quiddity

Define all stores for UI behaviors about quiddities

stores/matrix

Define all stores for UI behaviors about the matrix

Classes

SipContactInformationTooltip

Tooltip that displays all contact informations

SceneTabBar

Navigation bar for Scenic Scene Tabs

RtmpModal

Scenic modal used to create an RTMP quiddity

RenameNicknameModal

Scenic modal used to confirm renaming of a nickname

ConfigurationModal

Scenic modal used to warn user of an invalid configuration

NdiStreamModal

Modal used to show all NDI streams available

RenameSceneModal

Scenic modal used to confirm renaming of a Scene

DeleteSceneModal

Scenic modal used to confirm the deletion of a Scene

SwitcherConnectionModal

Scenic modal used to connect to Switcher

PreviewWrapper

A preview windows for all video shmdatas

ShmdataBox

Displays a Shmdata with its timelapse and its informations

DestinationHead

Displays all controls for each quiddity destination

StartedCheckbox

Displays a checkbox in order to change the started property

NicknameLabel

Displays a nickname as a label

PageWrapper

Renders a wrapper that selects and renders the active page

DrawerWrapper

A wrapper that renders the active drawer

ModalWrapper

A wrapper that renders the active modal

MatrixMenuPanel

Renders all menus that add extra actions with the Scenic matrix

Members

buddyStatus
sendStatus
recvStatus
children
sceneStore

Store for all scenes of the current Scenic session

modalStore

Store that manages all modals

modalStore
rtmpStore
onNicknameRename
onCancel
oldNickname
newNickname
modalStore

Store that manages all modals

modalStore

Store that manages all modals

modalStore

Store that manages all modals

previewStore

Preview store used to update the component state

thumbnailStore
previewStore
statStore
capsStore
shmdata
disabled
entry
nicknameStore
quiddityStore
drawerStore
quiddityStatusStore
quiddityMenuStore
contactStatusStore
defaultLabel
quiddity
propertyStore
store
quiddityId
defaultLabel
stores
pageStore
drawerStore
children
filterStore
quiddityStore
quiddityMenuStore
quiddityStore
quiddityMenuStore
connectionStore
sceneStore
shmdataStore
orderStore
systemUsageStore
fileStore
modalStore
drawerStore
sipStore
sipCredentialStore
contactStore
configStore
previewStore
statStore
notificationStore
filterStore

Constants

Capabilitiesreact/Component

Renders all capabilities in a HTML definition list

ShmdataInformationTooltipreact/Component

Renders the tooltip

SeparatorLockIconmobx-react/ObserverComponent

Renders a lock icon at the top of the separator

SeparatorHeadermobx-react/ObserverComponent

Renders the header at the top of the separator

SourceStartermobx-react/ObserverComponent

Renders a checkbox that starts or stops a source

SourceHeadmobx-react/ObserverComponent

Renders the head of the source

Sourcemobx-react/ObserverComponent

Renders a source row in the matrix

QuiddityMenuui-components/Menu

A whole quiddity menu built from a menu collection

PageButtonmobx-react/ObserverComponent

Renders the menu button that triggers the page rendering

PropertyFieldmobx-react/ObserverComponent

Renders the Field used to change a property according to its type

PropertyInspectorDrawermobx-react/ObserverComponent

Drawer that displays all property of a selected quiddity

FileControlPanel

The file control panel provides all the actions for the session files

SceneNameInput

The Scene control panel gives all controls for Scene modification (name, status)

Scenesmobx-react/ObserverComponent

Displays all scenes created by the user

SIP_DEFAULT_PORT

Functions

LockedDestinationWarning(categoryId)react/Component

Displays the content of the tooltip

LockedDestinationTooltip(children, categoryId)external:ui-components/Feedback.Tooltip

Displays a tooltip with information about locked destinations

Capability(capsKey, value)react/Component

Renders a capability entry

ArrowButton()

Special button used to display an Arrow to scroll on the right or on the left

CloseButton()

Special button used to close a tab

OpenSessionModal()React.PureComponent

Scenic modal used to open a new session

ResetSessionModal()React.PureComponent

Scenic modal used to reset the current session

TrashCurrentSessionModal()React.PureComponent

Renders the modal that alerts the deletion of current session's file

SeparatorTitle(title)react/Component

Renders the separator title

ColumnSeparator(style, header, color)react/Component

Renders the UI separator between matrix columns

SourceShmdata(shmdata)module:components/matrix.ShmdataBox

Renders a shmdata box related to a source

EmptyShmdata()external:ui-components/Cell

Renders an empty box that replaces a shmdata

SourceLock()react/Component

Renders a lock on the source

EmptyStarter()react/Component

Renders an empty starter that does nothing

SourceSubtitle(quiddity, shmdata)string

Renders the subtitle of a source

EmptySource()react/Component

Renders an empty source

EmptySourceColumnArea()react/Component

Renders a column area without source

QuiddityMenuFactory(menuStore, menuModel)react/Component

Abstract wrapper that builds a menu item or group

PageIcon(pageId)react/Component

Renders the page's icon

PageTitle(pageId)react/Component

Renders the page's title

ScenicSignature()react/Component

The signature of Scenic

PageMenu(pageId, pageStore)mobx-react/ObserverComponent

Menu that renders all main menus of the Scenic app

Lock()external:ui-components/Icon

Renders a lock icon

ConnectionLock()external:ui-components/Icon

Renders alock icon that fits with Connection boxes

FileEntry()React.PureComponent

Renders an entry that represents a file

RowEntry(className, title, subtitle, status, selected, disabled, onClick, width)react/Component

A generic entry that should be display in a column or as a row header

GridLayout(children)react/Component

GridLayout adapted for the NumberField

NewSessionMenu()React.Fragment

Renders the button that resets the session

SaveSessionAsMenu()React.Fragment

Renders the button that opens the FileSavingDrawer

SaveSessionMenu()React.Fragment

Renders the button that saves the current session

OpenSessionMenu()React.Fragment

Renders the button that opens the FileLoadingDrawer

DeleteSessionMenu()React.Fragment

Renders the button that opens the FileDeletionDrawer

Link(href, children)react/Component

A link component that opens page in a new tab

PageTitle()react/Component

The page title

Scene(scene, onClick)external:ui-components/Layout.Cell

Renders a scene as a Cell

populateStoreCreationBindings()Map.<string, function()>

Creates creation bindings for quiddity-related Stores and sets them inside the QuiddityStore

populateModalCreationBindings()Map.<string, function()>

Creates creation bindings for modal-related Stores and sets them inside the QuiddityStore

dropDecimalUnit(number, exponent)number

Convert a decimal value to a lower metric in the SI

raiseDecimalUnit(number, exponent)number

Convert a decimal value to a greater metric in the SI

clamp(number, threshold)number

Constrains a number to a specific maximum value.

uploadFile(localFile, onUploadFinished)

Helper that uploads a selected local file

downloadFile(linkRef, onDownloadStarted, [dataType])

Helper that downloads some content from a link

useHover()react/customHook

Custom React hook that simulates the hover event

isObject(value)boolean

Test if a given value is a Javascript Object or not

arrayToObject(array, keyField)Object

Convert an array of object to an object

stripEmptyArrays(object)Object

Remove keys from an object whose values are empty arrays

escapeAsArray(output)Array.<string>

Escape all new lines into an array

toString(input)string

Transform any value to a string, null and undefined values are converted to an empty string.

isStringEmpty(value)boolean

Checks if a string is empty

cleanParenthesis(input)string

Cleans the parenthesis in a string

replaceAll(input, [oldStr], [newStr])string

Sanitizes a string by replacing all matches with another character

parseDate(input)Date

Parses a string date to a javascript Date object

capitalize(input)string

Capitalizes the input string. Only the very first letter is capitalized.

getLogStore(logBindings)string

Gets the store name from a log event

useNotificationStore()NotificationStore

Global getter for the notification store

applyNotificationLog(logLevel, logEvent)

Sends a log message to the notification store

toDestinationClass(matrixCategory)string

Gets the corresponding quiddity class from a matrix category

toPageIcon(pageId)string

Gets the icon type of a page

toNumber(unit, value)number

Converts an unit to a displayable number

fromNumber(unit, convertedValue)number

Converts displayed number to its original unit

populateStores()object

Creates all the app's Stores

External

mobx-react/ObserverComponent

An Mobx observer component that reacts to each of its properties notifying an update

react/Component

A React component written with JSX

react/Context

A React context that dispatches properties into nested children

ui-components/Inputs/Field

The UI-Components Field

ui-components/Menu

The UI-Components Menu

react-color

React color components

pino/logger

Pino logger provides a minimal JSON logger

pino/level

Define each level of the Pino logger

pino/mergingObject

StatusEnum defines a shared status for all UI components

pino/logEvent

Structure provided by the transmit capability of the logger

pino/logBindings

Array of bindings that is created by each child logger

react/customHook

Tuple that contains a callback and a value. The callback is triggering the value update.

socketIO/Socket

Socket provides the instance that is interacting with the server

ui-components/Common/StatusEnum

StatusEnum defines a shared status for all UI components

components/common

Define all common components

components/common.MenuButton(menuName, onClick, children) ⇒ react/Component

Button used in a menu bar

Kind: static method of components/common
Returns: react/Component - The menu Button
Selector:

.MenuButton

Param Type Description
menuName string Name of the menu
onClick function Function triggered when the button is clicked
children React.Fragment Text content of the button

components/common.CancelButton(onCancel) ⇒ react/Component

Button used to cancel an action

Kind: static method of components/common
Returns: react/Component - The cancel Button
Selector:

.CancelButton

Param Type Description
onCancel function Function triggered when the button is clicked

components/common.ResetButton(onReset, disabled) ⇒ react/Component

Button used to reset some actions

Kind: static method of components/common
Returns: react/Component - The reset Button
Selector:

.ResetButton

Param Type Description
onReset function Function triggered when the button is clicked
disabled boolean Flag that disables the button

components/common.ConfirmButton(onConfirm, children, status, disabled) ⇒ react/Component

Button used to confirm an action

Kind: static method of components/common
Returns: react/Component - The confirm Button
Selector:

.ConfirmButton

Param Type Description
onConfirm function Function triggered when the button is clicked
children React.Fragment Text content of the button
status string Status of the button
disabled boolean Flag that disables the button

components/common.UploadButton(onUpload, disabled, children) ⇒ react/Component

Button used to upload something

Kind: static method of components/common
Returns: react/Component - The upload Button
Selector:

.UploadButton

Param Type Description
onUpload function Function triggered when the button is clicked
disabled boolean Flag that disables the button
children React.Fragment Text content of the button

components/common.DownloadButton(onDownload, fileName, disabled, children) ⇒ react/Component

Button used to download something

Kind: static method of components/common
Returns: react/Component - The download Button
Selector:

.DownloadButton

Param Type Description
onDownload function Function triggered when the button is clicked
fileName string Name of te file to download
disabled boolean Flag that disables the button
children React.Fragment Text content of the button

components/fields

Define all field components

components/fields.LanguageSelectField ⇒ SelectionField

The language select input

Kind: static constant of components/fields
Returns: SelectionField - A selection field

components/fields.BooleanField(title, description, value, disabled, onChange, status) ⇒ ui-components/Inputs/Field

Field component that lets users toggle a boolean value

Kind: static method of components/fields
Returns: ui-components/Inputs/Field - A field component

Param Type Description
title string Title of the field
description string Description of the field
value string Value of the property
disabled boolean Flags a disabled value
onChange function Function triggered when the property is changed by the user
status string Status of the form

components/fields.CredentialField() ⇒ ui-components/Inputs/Field

Field component for all credential input types

Kind: static method of components/fields
Returns: ui-components/Inputs/Field - A field component
Properties

Name Type Default Description
id string Unique ID of the field
[value] string | number "''" Value of the input
[label] string "''" Label of the field
[description] string "''" Description of the field
[error] string null Error message of the field
[isPassword] boolean false Flags a password credential
[disabled] boolean false Flags a disabled field
[onChange] function Function.prototype Function triggered when the field is changed
[onCheck] function Function.prototype Function triggered when the field is checked

components/fields.ColorHuePicker(value, onChange) ⇒ external:react-color.HuePicker

Color picker for the hue value

Kind: static method of components/fields
Returns: external:react-color.HuePicker - A picker for the hue value

Param Type Description
value string Current color value in hexadecimal format
onChange function Function triggered when the user change the picker value

components/fields.ColorAlphaPicker(value, onChange) ⇒ external:react-color.AlphaPicker

Color picker for the alpha value

Kind: static method of components/fields
Returns: external:react-color.AlphaPicker - A picker for the alpha value

Param Type Description
value string Current color value in hexadecimal format
onChange function Function triggered when the user change the picker value

components/fields.ColorTextInput(value, disabled, status, onChange) ⇒ external:ui-component/Inputs.InputText

Text input for the color hexadecimal value

Kind: static method of components/fields
Returns: external:ui-component/Inputs.InputText - A text input

Param Type Description
value string Current color value in hexadecimal format
disabled boolean Flags a disabled input
status string Status of the form
onChange function Function triggered when the user change the picker value

components/fields.ColorField(title, description, value, disabled, onChange, status) ⇒ external:ui-component/Inputs.Field

Field component that lets users pick a color

Kind: static method of components/fields
Returns: external:ui-component/Inputs.Field - A field component
Todo

Param Type Description
title string Title of the field
description string Description of the field
value string Value of the property
disabled boolean Flags a disabled value
onChange function Function triggered when the property is changed by the user
status string Status of the form

components/fields.SipServerField() ⇒ CredentialField

Field used to input the SIP server address

Kind: static method of components/fields
Returns: CredentialField - A configured credential field
Properties

Name Type Description
credentialProps object All properties accepted by a CredentialField

components/fields.SipUserField() ⇒ CredentialField

Field used to input the SIP user

Kind: static method of components/fields
Returns: CredentialField - A configured credential field
Properties

Name Type Description
credentialProps object All properties accepted by a CredentialField

components/fields.SipPasswordField() ⇒ CredentialField

Field used to input the SIP password

Kind: static method of components/fields
Returns: CredentialField - A configured credential field
Properties

Name Type Description
credentialProps object All properties accepted by a CredentialField

components/fields.SipPortField() ⇒ CredentialField

Field used to input the SIP port

Kind: static method of components/fields
Returns: CredentialField - A configured credential field
Properties

Name Type Description
credentialProps object All properties accepted by a CredentialField

components/fields.TurnServerField() ⇒ CredentialField

Field used to input the TURN server address

Kind: static method of components/fields
Returns: CredentialField - A configured credential field
Properties

Name Type Description
credentialProps object All properties accepted by a CredentialField

components/fields.TurnUserField() ⇒ CredentialField

Field used to input the TURN user

Kind: static method of components/fields
Returns: CredentialField - A configured credential field
Properties

Name Type Description
credentialProps object All properties accepted by a CredentialField

components/fields.TurnPasswordField() ⇒ CredentialField

Field used to input the TURN password

Kind: static method of components/fields
Returns: CredentialField - A configured credential field
Properties

Name Type Description
credentialProps object All properties accepted by a CredentialField

components/fields.StunServerField() ⇒ CredentialField

Field used to input the STUN server address

Kind: static method of components/fields
Returns: CredentialField - A configured credential field
Properties

Name Type Description
credentialProps object All properties accepted by a CredentialField

components/fields.SameStunTurnLoginField() ⇒ CredentialField

Renders the switch that enables the login forms for the STUN/TURN servers

Kind: static method of components/fields
Returns: CredentialField - A configured credential field
Properties

Name Type Description
isSameStunTurnLogin boolean Flag if the STUN/TURN credentials are the same as SIP
onToggle function Function triggered when the user clicks on the switch

components/fields.StringField(id, title, value, disabled, onChange, description, status) ⇒ external:ui-component/Inputs.Field

Field component that lets users input a string

Kind: static method of components/fields
Returns: external:ui-component/Inputs.Field - A field component

Param Type Description
id string Unique ID of the field
title string Title of the field
value string Value of the field
disabled boolean Flag a disabled value
onChange function Function triggered when the property is changed by the user
description string Description of the field
status string Status of the form

components/fields.SelectionField(title, option, options, disabled, onChange, description, status) ⇒ ui-components/Inputs/Field

Field component that lets users select an option

Kind: static method of components/fields
Returns: ui-components/Inputs/Field - A field component

Param Type Description
title string Title of the field
option Object Value of the property
options Array.<Object> All selectable options of the field
disabled boolean Flags a disabled value
onChange function Function triggered when the property is changed by the user
description string Description of the field
status string Status of the form

components/fields.NumberField(title, description, value, min, max, step, unit, disabled, onChange, status) ⇒ ui-components/Inputs/Field

Field component that lets users input a numeric value

Kind: static method of components/fields
Returns: ui-components/Inputs/Field - A field component

Param Type Description
title string Title of the field
description string Description of the field
value string Value of the property
min number Minimum value of the field
max number Maximum value of the field
step number Specify the step used to increment or decrement the value
unit UnitEnum Convert a value to display
disabled boolean Flags a disabled value
onChange function Function triggered when the property is changed by the user
status string Status of the form

components/pages

Define all page components

components/pages.MatrixPage

Page that displays all the source and destination matrix

Kind: static class of components/pages
Selector:

#MatrixPage

matrixPage.renderSceneControlPanel() ⇒ components.SceneControlPanel

Renders the control panel of the selected scene

Kind: instance method of MatrixPage
Returns: components.SceneControlPanel - Renders the scene panel only when the user created new scenes

matrixPage.renderToolBar() ⇒ React.Fragment

Renders the tool bar for the Matrix

Kind: instance method of MatrixPage
Returns: React.Fragment - All toolbar components in a

matrixPage.renderMatrixDrawers() ⇒ components.DrawerWrapper

Renders all drawers used in the Matrix

Kind: instance method of MatrixPage
Returns: components.DrawerWrapper - All wrapped drawers

matrixPage.render() ⇒ React.Fragment

Renders the page that displays the Matrix

Kind: instance method of MatrixPage
Returns: React.Fragment - A

component that contains all components for the Matrix

components/pages.GeneralSettingsSection ⇒ ObserverComponent

The section about the general settings

Kind: static constant of components/pages
Returns: ObserverComponent - All general settings
Selector:

#GeneralSettingsSection
Properties

Name Type Description
settingStore SettingStore Store all general settings

components/pages.AdvancedSipSettingsSection : mobx-react/ObserverComponent

Subsection that displays all advanced SIP settings

Kind: static constant of components/pages
Selector:

#AdvancedSipSettingsSection
Properties

Name Type Description
sipCredentialStore stores.SipCredentialStore Store all SIP credentials

components/pages.RequiredSipSettingsSection : mobx-react/ObserverComponent

Subsection that displays all required SIP settings

Kind: static constant of components/pages
Selector:

#RequiredSipSettingsSection
Properties

Name Type Description
sipCredentialStore stores.SipCredentialStore Store all SIP credentials

components/pages.SipSettingsControlSection : mobx-react/ObserverComponent

Subsection that provides all global SIP actions

Kind: static constant of components/pages
Selector:

#SipSettingsControlSection
Properties

Name Type Description
sipStore SipStore Manage all SIP actions
sipCredentialStore stores.SipCredentialStore Store all SIP credentials

components/pages.SettingsPage : mobx-react/ObserverComponent

Page that displays all the settings of the app

Kind: static constant of components/pages
Selector:

#SettingsPage
Properties

Name Type Description
settingStore store.SettingStore Store all settings
sipStore SipStore Manage all SIP actions
sipCredentialStore stores.SipCredentialStore Store all SIP credentials

components/pages.SipSettingsSection() ⇒ react/Component

Section for all SIP settings

Kind: static method of components/pages
Returns: react/Component - A section for all SIP settings
Selector:

#SipSettingsSection
Properties

Name Type Description
sipStore SipStore Manage all SIP actions
sipCredentialStore stores.SipCredentialStore Store all SIP credentials

components/pages.AssistanceSection() ⇒ react/Component

The Assistance section

Kind: static method of components/pages
Returns: react/Component - The Assistance section
Selector:

#AssistanceSection

components/pages.InfoSection() ⇒ react/Component

The Info section

Kind: static method of components/pages
Returns: react/Component - The Info section
Selector:

#InfoSection

components/pages.ContributingSection() ⇒ react/Component

The Contributing section

Kind: static method of components/pages
Returns: react/Component - The Contributing section
Selector:

#ContributingSection

components/pages.LicenseSubSection() ⇒ react/Component

The Licence section

Kind: static method of components/pages
Returns: react/Component - The Licence section
Selector:

#LicenseSubSection

components/pages.VersionSubSection() ⇒ react/Component

The Version subsection

Kind: static method of components/pages
Returns: react/Component - The Version section
Selector:

#VersionSection

components/pages.ContributorsSection() ⇒ react/Component

The Contributors section

Kind: static method of components/pages
Returns: react/Component - The Contributors section
Selector:

#ContributorsSection

components/pages.AuthorsSubSection() ⇒ react/Component

The Authors subsection

Kind: static method of components/pages
Returns: react/Component - The Contributors section
Selector:

#AuthorsSubSection

components/pages.TestersSubSection() ⇒ react/Component

The Testers subsection

Kind: static method of components/pages
Returns: react/Component - The Testers section
Selector:

#TestersSection

components/pages.MetalabSection() ⇒ react/Component

The Metalab section

Kind: static method of components/pages
Returns: react/Component - The Metalab section
Selector:

#MetalabSection

components/pages.AboutSection() ⇒ react/Component

The About section

Kind: static method of components/pages
Returns: react/Component - The About section
Selector:

#AboutSection

components/pages.SatLogo() ⇒ react/Component

Logo of the SAT

Kind: static method of components/pages
Returns: react/Component - The SAT logo
Selector:

#HelpPage .SatLogo

components/pages.HelpPage() ⇒ react/Component

Page that displays the help resources

Kind: static method of components/pages
Returns: react/Component - The Help page
Selector:

#HelpPage

components/pages.LivePage(sceneStore) ⇒ react/Component

Page that displays all scenes

Kind: static method of components/pages
Returns: react/Component - The live page
Selector:

#LivePage

Param Type Description
sceneStore module:stores/userTree.SceneStore Store all scenes

components/bars

Define all bar components

components/wrappers

Define all wrapper components

components/wrappers.HelpWrapper(children, message) ⇒ react/Component

Wraps each component that displays a help message

Kind: static method of components/wrappers
Returns: react/Component - The wrapped component

Param Type Description
children react/Component Any kind of component
message string The help message

utils/logger

Define all logging capabilities of the webapp

utils/logger.notificationStore : NotificationStore

Attached notification store to the logger

Kind: static property of utils/logger

utils/logger.logger : pino/logger

Creates a singleton logger for the webapp

Kind: static property of utils/logger

utils/logger.getLoggerLevel() ⇒ pino/level

Gets the level of the logger according to the app context

Kind: static method of utils/logger
Returns: pino/level - The logger level

utils/logger.bindNotificationStore([store])

Binds a notification store to the logger

Kind: static method of utils/logger

Param Type Default Description
[store] NotificationStore The notification store

api

Define all API routes used by the webapp

api.MethodAPI ⇐ API

API for invoking quiddity methods

Kind: static class of api
Extends: API

methodAPI.socket

Kind: instance property of MethodAPI
Properties

Name Type Description
socket socketIO/Socket Connected websocket with Switcher (Scenic Core)

methodAPI.invoke(quiddityId, methodName, methodArgs)

Invokes a method of a quiddity from the method's name

Kind: instance method of MethodAPI

Param Type Description
quiddityId string ID of the quiddity
methodName string Name of the method to invoke
methodArgs Array.<string> All required arguments of the method as strings

methodAPI.canSinkCaps(quiddityId, caps) ⇒ boolean

Checks if a quiddity can be synchronized with specific caps

Kind: instance method of MethodAPI
Returns: boolean - Returns true if the caps are compatibles with the quiddity

Param Type Description
quiddityId string The quiddity to test
caps string Caps provided from a shmdata

methodAPI.disconnectAll(quiddityId) ⇒ boolean

Disconnects all shmdata readers of a quiddity

Kind: instance method of MethodAPI
Returns: boolean - Returns true if the quiddity has been well disconnected

Param Type Description
quiddityId string The quiddity to disconnect

methodAPI.connect(destinationId, shmdataPath) ⇒ boolean

Connects a quiddity with a shmdata

Kind: instance method of MethodAPI
Returns: boolean - Returns true if the destination is connected

Param Type Description
destinationId string The destination to connect
shmdataPath string The shared shmdata path to connect with

~~methodAPI.connectQuid(sourceId, destinationId, shmdataSuffix) ⇒ boolean~~

Deprecated

Connects a quiddity with a shmdata

Kind: instance method of MethodAPI
Returns: boolean - Returns true if the source and destination are connected

Param Type Description
sourceId string The source to connect
destinationId string The destination to connect
shmdataSuffix string The shared shmdata type to connect with

methodAPI.getDescription(quiddityId, methodName)

Gets the description of the method

Kind: instance method of MethodAPI

Param Type Description
quiddityId string ID of the quiddity's method
methodName string Name of the method

methodAPI.match(parameter, [matcher]) ⇒ boolean

Helper to match a parameter with a string or a function

Kind: instance method of MethodAPI

Param Type Description
parameter string The parameter to match
[matcher] string | function Used to validate the parameter, the string will match equality

api.UserDataAPI ⇐ API

API for managing all userData requests

Kind: static class of api
Extends: API

userDataAPI.socket

Kind: instance property of UserDataAPI
Properties

Name Type Description
socket socketIO/Socket Connected websocket with Switcher (Scenic Core)

userDataAPI.get(quiddityId, path) ⇒ Promise.<Object, error>

Gets the userData of a quiddity

Kind: instance method of UserDataAPI
Returns: Promise.<Object, error> - - The userData value

Param Type Description
quiddityId string ID of the quiddity
path string Object path of the userData value

userDataAPI.graft(quiddityId, branchPath, data)

Sets the userData of a quiddity

Kind: instance method of UserDataAPI

Param Type Description
quiddityId string ID of the quiddity
branchPath string Object path of the userData
data Object | string | number Value of the userData to set

userDataAPI.prune(quiddityId, branchPath)

Removes a userData branch

Kind: instance method of UserDataAPI

Param Type Description
quiddityId string ID of the quiddity
branchPath string Object path of the userData

userDataAPI.onUpdate(onUserDataUpdated, [quiddityMatcher], [pathMatcher])

Listens for updates of a quiddity's user data

Kind: instance method of UserDataAPI

Param Type Description
onUserDataUpdated function Function triggered when the userData is updated
[quiddityMatcher] string Matcher of the updated quiddity ID
[pathMatcher] string Matcher of the updated branch path

userDataAPI.onGraft(onUserDataGrafted, [quiddityMatcher], [pathMatcher])

Listens when the quiddity's user data is grafted

Kind: instance method of UserDataAPI

Param Type Description
onUserDataGrafted function Function triggered when the userData is grafted
[quiddityMatcher] string Matcher of the updated quiddity ID
[pathMatcher] string Matcher of the updated branch path

userDataAPI.onPrune(onUserDataPruned, [quiddityMatcher], [pathMatcher])

Listens when the quiddity's user data is pruned

Kind: instance method of UserDataAPI

Param Type Description
onUserDataPruned function Function triggered when the userData is pruned
[quiddityMatcher] string Matcher of the updated quiddity ID
[pathMatcher] string Matcher of the updated branch path

userDataAPI.match(parameter, [matcher]) ⇒ boolean

Helper to match a parameter with a string or a function

Kind: instance method of UserDataAPI

Param Type Description
parameter string The parameter to match
[matcher] string | function Used to validate the parameter, the string will match equality

api.QuiddityAPI ⇐ API

API for managing all quiddities

Kind: static class of api
Extends: API

quiddityAPI.socket

Kind: instance property of QuiddityAPI
Properties

Name Type Description
socket socketIO/Socket Connected websocket with Switcher (Scenic Core)

quiddityAPI.listClasses()

Lists all available quiddity classes

Kind: instance method of QuiddityAPI

quiddityAPI.listCreated()

Lists all currently created quiddities

Kind: instance method of QuiddityAPI

quiddityAPI.create(quidClass, [quidName], [quidNickname], [quidProps], [quidUserData])

Creates a quiddity

Kind: instance method of QuiddityAPI

Param Type Description
quidClass string Class of the quiddity
[quidName] string Name of the quiddity (default will be a generated ID)
[quidNickname] string Nickname of the quiddity (default will be quidName, or a generated ID)
[quidProps] Object Initial properties of the new quiddity
[quidUserData] Object Initial user data of the new quiddity

quiddityAPI.remove(quiddityId)

Removes a quiddity

Kind: instance method of QuiddityAPI

Param Type Description
quiddityId string ID of the quiddity to remove

quiddityAPI.onCreation([onCreateAction], [quiddityMatcher])

Listens to quiddity creation events

Kind: instance method of QuiddityAPI

Param Type Default Description
[onCreateAction] function Function.prototype The function triggered when a quiddity is created
[quiddityMatcher] string | function Matcher of the created quiddity ID

quiddityAPI.onRemoval([onRemoveAction], [quiddityMatcher])

Listens to quiddity deletion events

Kind: instance method of QuiddityAPI

Param Type Default Description
[onRemoveAction] function Function.prototype The function triggered when a quiddity is removed
[quiddityMatcher] string | function Matcher of the removed quiddity ID

quiddityAPI.match(parameter, [matcher]) ⇒ boolean

Helper to match a parameter with a string or a function

Kind: instance method of QuiddityAPI

Param Type Description
parameter string The parameter to match
[matcher] string | function Used to validate the parameter, the string will match equality

api.NicknameAPI ⇐ API

API for managing all nicknames

Kind: static class of api
Extends: API

nicknameAPI.socket

Kind: instance property of NicknameAPI
Properties

Name Type Description
socket socketIO/Socket Connected websocket with Switcher (Scenic Core)

nicknameAPI.get(quiddityId)

Gets the nickname of a quiddity

Kind: instance method of NicknameAPI

Param Type Description
quiddityId string ID of the quiddity

nicknameAPI.set(quiddityId, newNickname)

Sets a nickname of a quiddity

Kind: instance method of NicknameAPI

Param Type Description
quiddityId string ID of the quiddity
newNickname string New nickname of the quiddity

nicknameAPI.onUpdate(onUpdateAction, [quiddityMatcher])

Listens to Switcher for all updates on a nickname

Kind: instance method of NicknameAPI

Param Type Description
onUpdateAction function Function triggered on each update
[quiddityMatcher] string | function Matcher of the updated quiddity ID

nicknameAPI.match(parameter, [matcher]) ⇒ boolean

Helper to match a parameter with a string or a function

Kind: instance method of NicknameAPI

Param Type Description
parameter string The parameter to match
[matcher] string | function Used to validate the parameter, the string will match equality

api.TreeAPI ⇐ API

API for managing quiddity trees

Kind: static class of api
Extends: API

treeAPI.socket

Kind: instance property of TreeAPI
Properties

Name Type Description
socket socketIO/Socket Connected websocket with Switcher (Scenic Core)

treeAPI.query(quiddityId, path)

Queries the tree of a given quiddity

Kind: instance method of TreeAPI

Param Type Description
quiddityId string ID of the quiddity to query
path string Branch/leaf path to query inside the tree

treeAPI.onUpdate(onUpdateAction, [quiddityMatcher], [pathMatcher])

Listens to all updates in the quiddity tree

Kind: instance method of TreeAPI

Param Type Description
onUpdateAction function Function triggered when the quiddity tree is updated by Switcher
[quiddityMatcher] string | function ID of the quiddity (if empty, listen to all tree changes for all quiddities)
[pathMatcher] string | function Match the path of the updated element

treeAPI.onGraft(onGraftAction, [quiddityMatcher], [pathMatcher])

Listens to all grafts in the quiddity tree

Kind: instance method of TreeAPI

Param Type Description
onGraftAction function Function triggered when the quiddity tree is grafted by Switcher
[quiddityMatcher] string | function ID of the quiddity (if empty, listen to all tree grafts for all quiddities)
[pathMatcher] string | function Match the path of the updated element

treeAPI.onPrune(onPruneAction, [quiddityId], [pathMatcher])

Listens to all deletions in the quiddity tree

Kind: instance method of TreeAPI

Param Type Description
onPruneAction function Function triggered when the quiddity tree is pruned by Switcher
[quiddityId] string ID of the quiddity (if empty, listen to all tree prunes for all quiddities)
[pathMatcher] string | function Match the path of the updated element

treeAPI.match(parameter, [matcher]) ⇒ boolean

Helper to match a parameter with a string or a function

Kind: instance method of TreeAPI

Param Type Description
parameter string The parameter to match
[matcher] string | function Used to validate the parameter, the string will match equality

api.PropertyAPI ⇐ API

API for managing properties of quiddities

Kind: static class of api
Extends: API

propertyAPI.socket

Kind: instance property of PropertyAPI
Properties

Name Type Description
socket socketIO/Socket Connected websocket with Switcher (Scenic Core)

propertyAPI.list(quiddityId)

Lists all properties of a quiddity

Kind: instance method of PropertyAPI

Param Type Description
quiddityId string ID of the quiddity

propertyAPI.get(quiddityId, name)

Gets a property of a quiddity with its name

Kind: instance method of PropertyAPI

Param Type Description
quiddityId string ID of the quiddity
name string Name of the property

propertyAPI.set(quiddityId, name, newValue)

Sets a property of a quiddity with its name

Kind: instance method of PropertyAPI

Param Type Description
quiddityId string ID of the quiddity
name string Name of the property
newValue string | number | boolean | Object New value to set

propertyAPI.onCreation(onCreationAction, [quiddityMatcher])

Listens to Switcher for property creation signals

Kind: instance method of PropertyAPI

Param Type Description
onCreationAction function Function triggered on each creation
[quiddityMatcher] string | function Matcher of the updated quiddity ID

propertyAPI.onRemoval(onRemovalAction, [quiddityMatcher])

Listens to Switcher for property removal signals

Kind: instance method of PropertyAPI

Param Type Description
onRemovalAction function Function triggered on each removal
[quiddityMatcher] string | function Matcher of the updated quiddity ID

propertyAPI.onUpdate(onUpdateAction, [quiddityMatcher], propertyMatcher)

Listens to Switcher for property update signals

Kind: instance method of PropertyAPI

Param Type Description
onUpdateAction function Function triggered on each update
[quiddityMatcher] string | function Matcher of the updated quiddity ID
propertyMatcher string | function Matcher of the updated property name

propertyAPI.match(parameter, [matcher]) ⇒ boolean

Helper to match a parameter with a string or a function

Kind: instance method of PropertyAPI

Param Type Description
parameter string The parameter to match
[matcher] string | function Used to validate the parameter, the string will match equality

api.FileAPI ⇐ API

API for managing all file operations

Kind: static class of api
Extends: API

fileAPI.socket

Kind: instance property of FileAPI
Properties

Name Type Description
socket socketIO/Socket Connected websocket with Switcher (Scenic Core)

fileAPI.list()

List JSON files in save files directory

Kind: instance method of FileAPI

~~fileAPI.reset()~~

Deprecated

Kind: instance method of FileAPI

~~fileAPI.onFileReset()~~

Deprecated

Kind: instance method of FileAPI

~~fileAPI.import()~~

Deprecated

Kind: instance method of FileAPI

~~fileAPI.load()~~

Deprecated

Kind: instance method of FileAPI

~~fileAPI.save()~~

Deprecated

Kind: instance method of FileAPI

~~fileAPI.saveAs()~~

Deprecated

Kind: instance method of FileAPI

~~fileAPI.onFileLoaded()~~

Deprecated

Kind: instance method of FileAPI

fileAPI.onFileSaved(onSavedAction, fileMatcher)

Listens to the file.saved signal

Kind: instance method of FileAPI

Param Type Description
onSavedAction function Function triggered when a file is saved
fileMatcher string | function Match the name of the saved file

fileAPI.onFileImported(onSavedAction, fileMatcher)

Listens to the file.imported signal

Kind: instance method of FileAPI

Param Type Description
onSavedAction function Function triggered when a file is imported
fileMatcher string | function Match the name of the imported file

fileAPI.write()

Kind: instance method of FileAPI
Todo

  • [ ] Implement this Websocket call in Scenic Core

fileAPI.read(path, [encoding])

Read the contents of a file on the server

Kind: instance method of FileAPI

Param Type Default Description
path string Absolute path of the file to read
[encoding] string null Encoding of the returned data

fileAPI.newSession()

Kind: instance method of FileAPI
Todo

  • [ ] Implement this function

fileAPI.loadSession()

Kind: instance method of FileAPI
Todo

  • [ ] Implement this function

fileAPI.dumpSession()

Kind: instance method of FileAPI
Todo

  • [ ] Implement this function

fileAPI.copy()

Kind: instance method of FileAPI
Todo

  • [ ] Implement this function

fileAPI.delete(fileId)

Deletes a file on the server

Kind: instance method of FileAPI

Param Type Description
fileId string ID of the file

fileAPI.onFileDeleted(onSavedAction, fileMatcher)

Listens to the file.deleted signal

Kind: instance method of FileAPI

Param Type Description
onSavedAction function Function triggered when a file is deleted
fileMatcher string | function Match the name of the deleted file

fileAPI.match(parameter, [matcher]) ⇒ boolean

Helper to match a parameter with a string or a function

Kind: instance method of FileAPI

Param Type Description
parameter string The parameter to match
[matcher] string | function Used to validate the parameter, the string will match equality

api.SwitcherAPI ⇐ API

API for managing Switcher-specific interactions

Kind: static class of api
Extends: API

switcherAPI.socket

Kind: instance property of SwitcherAPI
Properties

Name Type Description
socket socketIO/Socket Connected websocket with Switcher (Scenic Core)

switcherAPI.sendBundles(description) ⇒ Promise

Send JSON bundles description to the server and load them

Kind: instance method of SwitcherAPI
Returns: Promise - A promise that returns API error or success

Param Type Description
description string JSON description of bundles to load

switcherAPI.match(parameter, [matcher]) ⇒ boolean

Helper to match a parameter with a string or a function

Kind: instance method of SwitcherAPI

Param Type Description
parameter string The parameter to match
[matcher] string | function Used to validate the parameter, the string will match equality

api.API

Mother class for all API classes

Kind: static class of api

new API(socket)

Instantiates API with a socket

Param Type Description
socket socketIO/Socket The shared socket used to call Switcher

apI.socket

Kind: instance property of API
Properties

Name Type Description
socket socketIO/Socket Connected websocket with Switcher (Scenic Core)

apI.match(parameter, [matcher]) ⇒ boolean

Helper to match a parameter with a string or a function

Kind: instance method of API

Param Type Description
parameter string The parameter to match
[matcher] string | function Used to validate the parameter, the string will match equality

models/common

Define all common structures

models/common.Notification

Model for making new notifications

Kind: static class of models/common

new Notification(id, message, [description], [status], [duration], [notificationClass])

Instantiates a new Notification model

Throws:

  • TypeError Throws an error if the required message is missing
Param Type Default Description
id string ID of the notification it must be strings separated by a dash
message string Main message of the notification
[description] string null Description of the notification
[status] models.StatusEnum StatusEnum.FOCUS Status of the notification
[duration] number 5000 Duration of the notification in millisecond
[notificationClass] string "''" Class of the notification

notification.id

Kind: instance property of Notification
Properties

Name Type Description
id string ID of the notification, it must be strings separated by a dash

notification.message

Kind: instance property of Notification
Properties

Name Type Description
message string Message of the notification

notification.description

Kind: instance property of Notification
Properties

Name Type Default Description
[description] string null Description of the notification

notification.status

Kind: instance property of Notification
Properties

Name Type Default Description
[status] models.StatusEnum StatusEnum.FOCUS Status of the notification

notification.duration

Kind: instance property of Notification
Properties

Name Type Default Description
[duration] number 5000 Duration of the notification in millisecond (NaN triggers a permanent notification)

notification.notificationClass ⇒ string

Gets the class of the notification

Kind: instance property of Notification
Returns: string - Returns the class of the notification or an empty string

notification.isPermanent ⇒ boolean

Flags if a notification is permanent

Kind: instance property of Notification
Returns: boolean - Flag a permanent notification

notification.toJSON() ⇒ object

Transforms the notification to a JSON object

Kind: instance method of Notification
Returns: object - A JSON notification

Notification.fromString(message) ⇒ Notification

Creates a sample notification

Kind: static method of Notification
Returns: Notification - A new notification

Param Type Description
message string Message of the notification

Notification.getLogTitle(logLevel) ⇒ string

Gets a title from a log level

Kind: static method of Notification
Returns: string - A generic notification title

Param Type Description
logLevel pino/level Level of logging

Notification.fromLog(logLevel, logObject, logBindings) ⇒ Notification

Creates a notification from a log object

Kind: static method of Notification
Returns: Notification - A new notification

Param Type Description
logLevel pino/level Level of the current logger
logObject pino/mergingObject JSON log from the webapp
logBindings pino/logBindings All bindings transmitted by a child logger

models/common.StatusEnum : object

Define all adapters for the StatusEnum

Kind: static namespace of models/common

StatusEnum.fromBuddyStatus(buddyStatus) ⇒ ui-components/Common/StatusEnum

Makes the availability status of a contact

Kind: static method of StatusEnum
Returns: ui-components/Common/StatusEnum - The UI status

Param Type Description
buddyStatus models.BuddyStatusEnum Status of a buddy

StatusEnum.fromRecvStatus(receivingStatus) ⇒ ui-components/Common/StatusEnum

Makes the receiving status of a contact

Kind: static method of StatusEnum
Returns: ui-components/Common/StatusEnum - The UI status

Param Type Description
receivingStatus models.RecvStatusEnum Receiving status of a contact

StatusEnum.fromSendStatus(sendingStatus) ⇒ ui-components/Common/StatusEnum

Makes the sending status of a contact

Kind: static method of StatusEnum
Returns: ui-components/Common/StatusEnum - The UI status

Param Type Description
sendingStatus models.SendStatusEnum Sending status of a contact

StatusEnum.fromLogLevel(logLevel) ⇒ ui-components/Common/StatusEnum

Makes a status from a logging level

Kind: static method of StatusEnum
Returns: ui-components/Common/StatusEnum - The UI status

Param Type Description
logLevel pino/level A logging level

models/shmdata

Define all structures that modelizes shmdatas

models/shmdata.MediaTypeEnum : enum

Enum for media types

Kind: static enum of models/shmdata
Read only: true
See: List of media types

models/quiddity

Define all structures that modelize quiddities

models/quiddity.NdiStream

Set of properties used by Scenic to manage NDI streams

Kind: static class of models/quiddity

new NdiStream(id, name, label, host, [swPort])

Instantiates a new NDI stream with parameters parsed from its name

Param Type Default Description
id string Unique ID of the NDI stream
name string Name of the NDI stream (used as the quiddity name)
label string Label of the quiddity name (used to display the available streams)
host string IP address of the host that provides the NDI stream
[swPort] string "'8000'" Port used in order to communicate with Switcher

ndiStream.id

Kind: instance property of NdiStream
Properties

Name Type Description
id id Unique ID generated by Scenic

ndiStream.label

Kind: instance property of NdiStream
Properties

Name Type Description
label string Default label of NDI streams provided by NewTek NDI

ndiStream.name

Kind: instance property of NdiStream
Properties

Name Type Description
name string Parsed name from the default label

ndiStream.host

Kind: instance property of NdiStream
Properties

Name Type Description
host string Parsed host name from the default label

ndiStream.swPort

Kind: instance property of NdiStream
Properties

Name Type Description
swPort string Switcher port used to generate shmdata names

ndiStream.hash

Kind: instance property of NdiStream
Properties

Name Type Description
hash number Unique hash of the NDI label

ndiStream.directory

Kind: instance property of NdiStream
Properties

Name Type Description
directory string Name of the directory where the shmdata will be generated

ndiStream.commandLine

Kind: instance property of NdiStream
Properties

Name Type Description
commandLine string Executed command line in order to generate shmdatas from the NDI stream

ndiStream.properties

Kind: instance property of NdiStream
Properties

Name Type Description
properties Object Init properties of the NDIOutput quiddity

ndiStream.toOption() ⇒ Object

Casts the NDI stream to an option for Select component

Kind: instance method of NdiStream
Returns: Object - A selectable option

NdiStream.NDI_REGEX

Regex which helps to craft an ID for NDI streams

Kind: static constant of NdiStream

NdiStream.fromOutput(stdout, [swPort]) ⇒ Array.<models.NdiStream>

Creates NdiStreams from the ndi2shmdata output

Kind: static method of NdiStream
Returns: Array.<models.NdiStream> - All NDI stream parsed in the output

Param Type Default Description
stdout string Output of ndi2shmdata
[swPort] string "'8000'" Port used in order to communicate with Switcher

NdiStream.fromNdiEntry(entry, [swPort]) ⇒ models.NdiStream

Creates a NdiStream from a ndi2shmdata entry

Kind: static method of NdiStream
Returns: models.NdiStream - The NDI stream parsed from a ndi2shmdata entry

Param Type Default Description
entry string Entry of a NDI stream provided by ndi2shmdata
[swPort] string "'8000'" Port used in order to communicate with Switcher

stores/common

Define all stores for common UI behaviors

stores/common.Store

Base store with shared utility functions

Kind: static class of stores/common

new Store(socketStore)

Instantiates a new Store

Param Type Description
socketStore SocketStore Socket manager

store.socketStore

Kind: instance property of Store
Properties

Type Description
SocketStore Socket manager

store.initState

Kind: instance property of Store
Properties

Name Type Description
initState number Initialization state of the store

store.isInitialized() ⇒ boolean

Check if the store's current initialization state is INITIALIZED

Kind: instance method of Store
Returns: boolean - Flags true is store is INITIALIZED

store.isInitializing() ⇒ boolean

Check if the store's current initialization state is INITIALIZING

Kind: instance method of Store
Returns: boolean - Flags true is store is INITIALIZING

store.isNotInitialized() ⇒ boolean

Check if the store's current initialization state is NOT_INITIALIZED

Kind: instance method of Store
Returns: boolean - Flags true is store is NOT_INITIALIZED

store.setInitState(state) ⇒ boolean

Sets a new initialization state for the store

Kind: instance method of Store
Returns: boolean - Flags true if the initialization state was updated

Param Type Description
state InitStateEnum New initialization state

stores/common.FileStore ⇐ Store

Stores and manages files

Kind: static class of stores/common
Extends: Store

new FileStore(socketStore)

Instantiates a new FileStore

Param Type Description
socketStore SocketStore Stores and manages the current event-driven socket

fileStore.fileAPI

Kind: instance property of FileStore
Properties

Name Type Description
fileAPI FileAPI API used to manage files

fileStore.notificationStore

Kind: instance property of FileStore
Properties

Name Type Description
notificationStore stores.NotificationStore Stores the notifications

fileStore.currentFileId

Kind: instance property of FileStore
Properties

Name Type Description
currentFileId string ID of the currently selected file

fileStore.files

Kind: instance property of FileStore
Properties

Name Type Description
files Map.<string, models.FileBridge> Map of existing files hashed by ID

fileStore.fileTrash

Kind: instance property of FileStore
Properties

Name Type Description
fileTrash Set.<string> Set of all files to delete

fileStore.currentSession

Kind: instance property of FileStore
Properties

Name Type Description
currentSession FileBridge File model of the current session

fileStore.socketStore

Kind: instance property of FileStore
Overrides: socketStore
Properties

Type Description
SocketStore Socket manager

fileStore.initState

Kind: instance property of FileStore
Overrides: initState
Properties

Name Type Description
initState number Initialization state of the store

fileStore.handleSocketChange(socket)

Handles changes to the app's socket

Kind: instance method of FileStore

Param Type Description
socket socketIO/Socket Event-driven socket

fileStore.handleFileImported(jsonFile)

Handles the import of a file

Kind: instance method of FileStore

Param Type Description
jsonFile object The JSON model of the file

fileStore.handleFileReset()

Handles a file reset

Kind: instance method of FileStore

fileStore.handleFileLoaded(jsonFile)

Handles the load of the file

Kind: instance method of FileStore

Param Type Description
jsonFile object The JSON model of the file

fileStore.handleFileSaved(jsonFile)

Handles the save of a file

Kind: instance method of FileStore

Param Type Description
jsonFile object The JSON model of the file

fileStore.handleFileDeleted(fileName)

Handles the deletion of a file

Kind: instance method of FileStore

Param Type Description
fileName string The name of the file

fileStore.updateFileList()

Updates the file list

Kind: instance method of FileStore

fileStore.fetchFileList() ⇒ Array.<model.FileBridge>

Fetches file list on the server

Kind: instance method of FileStore
Returns: Array.<model.FileBridge> - List of all files in the server

fileStore.fetchFileContent(fileBridge) ⇒ string

Fetches a file content

Kind: instance method of FileStore
Returns: string - The content of the file

Param Type Description
fileBridge model.FileBridge A file model

fileStore.applyFileReset()

Requests the reset of the current Scenic session

Kind: instance method of FileStore

fileStore.applyFileLoading(fileBridge)

Requests the load of a file

Kind: instance method of FileStore

Param Type Description
fileBridge FileBridge File model to load

fileStore.applyFileSaving()

Requests the save of the current file

Kind: instance method of FileStore

fileStore.applyClearTrash()

Requests the deletion of all the files in the trash

Kind: instance method of FileStore

fileStore.applyFileUpload(fileBlob)

Uploads a file and imports it on the server

Kind: instance method of FileStore

Param Type Description
fileBlob File A generated blob from the WebAPI

fileStore.applyFileDownload(fileBridge, $linkRef)

Downloads a file stored on the server

Kind: instance method of FileStore

Param Type Description
fileBridge FileBridge Model of the file to download
$linkRef HTMLElement Reference to the download link

fileStore.applyFileImport(fileBridge, fileContent)

Imports a file onto the server

Kind: instance method of FileStore

Param Type Description
fileBridge FileBridge Model of the file
fileContent string Content of the file

fileStore.applyFileDeletion(fileId)

Requests the deletion of a file

Kind: instance method of FileStore

Param Type Description
fileId string ID of the file

fileStore.applyFileSavingAs(fileName)

Requests the save of a file as

Kind: instance method of FileStore
Todo

  • [ ] Send a file model and force the use of the id instead of the name (files can't have the same name)
Param Type Description
fileName string Name of the new file

fileStore.addFile(file)

Adds a FileBridge model in the files Map

Kind: instance method of FileStore

Param Type Description
file FileBridge File to add

fileStore.removeFile(fileId)

Deletes a stored FileBridge

Kind: instance method of FileStore

Param Type Description
fileId string ID of the file bridge

fileStore.setCurrentFile(fileId)

Set the current file ID

Kind: instance method of FileStore

Param Type Description
fileId string File ID to set as current

fileStore.clearCurrentFile()

Clears the current file ID

Kind: instance method of FileStore

fileStore.addFileToTrash(fileId)

Adds a file to the trash

Kind: instance method of FileStore

Param Type Description
fileId string ID of the file

fileStore.removeFileFromTrash(fileId)

Deletes a file from the trash

Kind: instance method of FileStore

Param Type Description
fileId string ID of the file

fileStore.clearFileTrash()

Clears the trash of files

Kind: instance method of FileStore

fileStore.isInitialized() ⇒ boolean

Check if the store's current initialization state is INITIALIZED

Kind: instance method of FileStore
Overrides: isInitialized
Returns: boolean - Flags true is store is INITIALIZED

fileStore.isInitializing() ⇒ boolean

Check if the store's current initialization state is INITIALIZING

Kind: instance method of FileStore
Overrides: isInitializing
Returns: boolean - Flags true is store is INITIALIZING

fileStore.isNotInitialized() ⇒ boolean

Check if the store's current initialization state is NOT_INITIALIZED

Kind: instance method of FileStore
Overrides: isNotInitialized
Returns: boolean - Flags true is store is NOT_INITIALIZED

fileStore.setInitState(state) ⇒ boolean

Sets a new initialization state for the store

Kind: instance method of FileStore
Overrides: setInitState
Returns: boolean - Flags true if the initialization state was updated

Param Type Description
state InitStateEnum New initialization state

stores/common.NotificationStore ⇐ Store

Stores all notifications

Kind: static class of stores/common
Extends: Store

notificationStore.userNotifications

Kind: instance property of NotificationStore
Properties

Name Type Description
userNotifications Set.<Notification> The displayed notification

notificationStore.expiredNotifications

Kind: instance property of NotificationStore
Properties

Name Type Description
expiredNotifications Set.<string> All expired notification IDs

notificationStore.muteClasses

Kind: instance property of NotificationStore
Properties

Name Type Description
muteClasses Set.<string> All classes that aren't published as notifications

notificationStore.socketStore

Kind: instance property of NotificationStore
Properties

Type Description
SocketStore Socket manager

notificationStore.initState

Kind: instance property of NotificationStore
Properties

Name Type Description
initState number Initialization state of the store

notificationStore.applyNotificationLog(logLevel, logEvent)

Add a notification from a logging event

Kind: instance method of NotificationStore

Param Type Description
logLevel pino/level The level of the logging
logEvent pino/logEvent An event transmitted by the logger

notificationStore.applyNotificationPush(notification)

Pushes a notification in the queue and sets a timeout on it

Kind: instance method of NotificationStore

Param Type Description
notification Notification The notification to push

notificationStore.applyDurationTimeout(notification)

Applies a timeout with the notification duration

Kind: instance method of NotificationStore

Param Type Description
notification Notification The notification to timeout

notificationStore.isExpired(notification) ⇒ boolean

Checks if a notification is expired

Kind: instance method of NotificationStore
Returns: boolean - Flags an expired notifiaction

Param Type Description
notification Notification The notification to check

notificationStore.addUserNotification(notification)

Adds a new notification

Kind: instance method of NotificationStore

Param Type Description
notification Notification A new notification

notificationStore.addExpiredNotification(notificationId)

Sets an expired notification

Kind: instance method of NotificationStore

Param Type Description
notificationId string ID of the notification

notificationStore.removeNotification(notification)

Removes a notification from the queue and the expired notifications

Kind: instance method of NotificationStore

Param Type Description
notification Notification The notification to remove

notificationStore.addMuteClass(notificationClass)

Mute a notification class

Kind: instance method of NotificationStore

Param Type Description
notificationClass string Class to mute, usually a store name

notificationStore.removeMuteClass(notificationClass)

Unmute a notification class

Kind: instance method of NotificationStore

Param Type Description
notificationClass string Class to unmute, usually a store name

notificationStore.clear()

Clears all notification structures

Kind: instance method of NotificationStore

notificationStore.isInitialized() ⇒ boolean

Check if the store's current initialization state is INITIALIZED

Kind: instance method of NotificationStore
Returns: boolean - Flags true is store is INITIALIZED

notificationStore.isInitializing() ⇒ boolean

Check if the store's current initialization state is INITIALIZING

Kind: instance method of NotificationStore
Returns: boolean - Flags true is store is INITIALIZING

notificationStore.isNotInitialized() ⇒ boolean

Check if the store's current initialization state is NOT_INITIALIZED

Kind: instance method of NotificationStore
Returns: boolean - Flags true is store is NOT_INITIALIZED

notificationStore.setInitState(state) ⇒ boolean

Sets a new initialization state for the store

Kind: instance method of NotificationStore
Returns: boolean - Flags true if the initialization state was updated

Param Type Description
state InitStateEnum New initialization state

stores/quiddity

Define all stores for UI behaviors about quiddities

stores/quiddity.LockStore

Stores all locked quiddities

Kind: static class of stores/quiddity

new LockStore(quiddityStore)

Instantiates a new LockStore

Param Type Description
quiddityStore QuiddityStore Quiddity manager

lockStore.lockedEntries

Kind: instance property of LockStore
Properties

Name Type Description
lockedEntries Map.<string, module:models/matrix.MatrixEntry> All locked matrix entries by entry IDs

lockStore.lockableClasses

Kind: instance property of LockStore
Properties

Name Type Description
lockableClasses Set.<string> All lockable classes

lockStore.lockableQuiddities

Kind: instance property of LockStore
Properties

Name Type Description
lockableQuiddities Set.<string> Set of quiddity IDs that shouldn't be synchronized with scenes

lockStore.lockedQuiddities

Kind: instance property of LockStore
Properties

Name Type Description
lockedQuiddities Set.<string> Set of quiddity IDs that are locked Warning: It won't work with the SIP quiddity

lockStore.lockedContacts

Kind: instance property of LockStore
Properties

Name Type Description
lockedContacts Set.<Contact> Set of contact names that are locked

lockStore.addLockableClass(quiddityClass)

Registers a lockable quiddity class

Kind: instance method of LockStore
Mermaid:

sequenceDiagram User->>QuiddityStore: start Scenic activate QuiddityStore QuiddityStore->>QuiddityStore: discover classes QuiddityStore->>RtmpStore: react to class discovery activate RtmpStore deactivate QuiddityStore RtmpStore-->>LockStore: signal the RTMP class as lockable activate LockStore deactivate RtmpStore LockStore->>LockStore: update lockable classes deactivate LockStore User->>ConnectionStore: add a scene activate ConnectionStore ConnectionStore->>LockStore: inspect lockable quiddities activate LockStore LockStore-->>ConnectionStore: return lockable classes deactivate LockStore ConnectionStore->>ConnectionStore: get all connections from lockable quiddities ConnectionStore-->>User: Fix the assignation of the connections deactivate ConnectionStore

Param Type Description
quiddityClass string A quiddity class

lockStore.deleteLockableClass(quiddityClass)

Unregisters a lockable quiddity class

Kind: instance method of LockStore

Param Type Description
quiddityClass string A quiddity class

lockStore.isLockableQuiddity(quiddityId) ⇒ boolean

Checks if a quiddity can be locked

Kind: instance method of LockStore
Returns: boolean - Returns true if a quiddity is lockable

Param Type Description
quiddityId string ID of the quiddity

lockStore.isLockableConnection(connection) ⇒ boolean

Checks if a connection is lockable by one of its quiddity

Kind: instance method of LockStore
Returns: boolean - Returns true if a connection is lockable

Param Type Description
connection module:models/userTree.Connection A connection model

lockStore.isLockedConnection(connection) ⇒ boolan

Checks if a connection is locked

Kind: instance method of LockStore
Returns: boolan - Returns true if the connection is locked

Param Type Description
connection module:models/userTree.Connection A connection model

lockStore.addLock(matrixEntry)

Registers a locked quiddity ID

Kind: instance method of LockStore

Param Type Description
matrixEntry module:models/matrix.MatrixEntry A matrix entry

lockStore.deleteLock(matrixEntry)

Unregisters a locked quiddity ID

Kind: instance method of LockStore

Param Type Description
matrixEntry module:models/matrix.MatrixEntry A matrix entry

lockStore.toggleLock(matrixEntry, [lockStatus])

Toggles the lock for a matrix ID

Kind: instance method of LockStore

Param Type Default Description
matrixEntry module:models/matrix.MatrixEntry A matrix entry
[lockStatus] boolean false Flags a locked quiddity

LockStore.LOG : pino/logger

Dedicated logger for the LockStore

Kind: static constant of LockStore

stores/quiddity.NicknameStore ⇐ stores/common

Stores all nicknames from given quiddity IDs

Kind: static class of stores/quiddity
Extends: stores/common

new NicknameStore(socketStore, quiddityStore)

Instantiates a new NicknameStore

Param Type Description
socketStore module:stores/common.SocketStore Stores and manages the current event-driven socket
quiddityStore QuiddityStore Quiddity manager

nicknameStore.nicknameAPI

Kind: instance property of NicknameStore
Properties

Name Type Description
nicknameAPI NicknameAPI API used to manage quiddity nicknames

nicknameStore.quiddityStore

Kind: instance property of NicknameStore
Properties

Name Type Description
quiddityStore QuiddityStore Stores and manages all quiddities

nicknameStore.nicknames

Kind: instance property of NicknameStore
Properties

Name Type Description
nicknames Map.<string, string> All nicknames hashed by quiddity ID

nicknameStore.initializeNickname(quiddityId)

Initializes the nickname Map for a given quiddity ID

Kind: instance method of NicknameStore

Param Type Description
quiddityId string ID of the quiddity we want to nickname

nicknameStore.fetchNickname(quiddityId) ⇒ string

Fetch the nickname for a given quiddity ID

Kind: instance method of NicknameStore
Returns: string - The quiddity's nickname

Param Type Description
quiddityId string ID of the quiddity

nicknameStore.handleSocketChange(socket)

Handles changes to the app's socket

Kind: instance method of NicknameStore

Param Type Description
socket socketIO/Socket Event-driven socket

nicknameStore.handleQuiddityChange([quiddityIds])

Synchronizes all nicknames for all watched quiddities

Kind: instance method of NicknameStore

Param Type Default Description
[quiddityIds] Array.<string> [] All IDs of the created quiddities

nicknameStore.applySetNickname(quiddityId, newNickname)

Applies a new nickname for a quiddity

Kind: instance method of NicknameStore

Param Type Description
quiddityId string ID of the quiddity
newNickname string New nickname for the quiddity

nicknameStore.addNickname(quiddityId, nickname)

Updates a nickname

Kind: instance method of NicknameStore

Param Type Description
quiddityId string Quiddity ID
nickname string New nickname for the quiddity

nicknameStore.removeNickname(quiddityId)

Deletes a nickname for a quiddity

Kind: instance method of NicknameStore

Param Type Description
quiddityId string Quiddity ID

NicknameStore.DEFAULT_NICKNAME : string

Nickname used by default for new quiddities

Kind: static constant of NicknameStore

stores/quiddity.NdiStore ⇐ Store

Stores all current NDI streams on the network

Kind: static class of stores/quiddity
Extends: Store

new NdiStore(socketStore, configStore, quiddityStore, propertyStore, quiddityMenuStore, maxLimitStore, lockStore, modalStore)

Instantiates a new NdiStore

Param Type Description
socketStore module:stores/common.SocketStore Stores and manages the current event-driven socket
configStore module:stores/common.ConfigStore Configuration manager
quiddityStore QuiddityStore Quiddity manager
propertyStore module:stores/quiddity.PropertyStore Property manager
quiddityMenuStore module:stores/quiddity.QuiddityMenuStore Quiddity menus manager
maxLimitStore module:stores/shmdata.MaxLimitStore MaxLimit manager
lockStore module:stores/matrix.LockStore Lock manager
modalStore module:stores/common.ModalStore Modal manager

ndiStore.propertyAPI

Kind: instance property of NdiStore
Properties

Name Type Description
propertyAPI PropertyAPI API used to manage quiddity properties

ndiStore.treeAPI

Kind: instance property of NdiStore
Properties

Name Type Description
treeAPI TreeAPI API used to manage NDI Sniffer's tree

ndiStore.nicknameAPI

Kind: instance property of NdiStore
Properties

Name Type Description
nicknameAPI NicknameAPI API used to manage quiddity nicknames

ndiStore.configStore

Kind: instance property of NdiStore
Properties

Name Type Description
configStore module:stores/common.ConfigStore Stores and manages the app's configuration

ndiStore.quiddityStore

Kind: instance property of NdiStore
Properties

Name Type Description
quiddityStore QuiddityStore Stores and manages all quiddities

ndiStore.propertyStore

Kind: instance property of NdiStore
Properties

Name Type Description
propertyStore module:stores/quiddity.PropertyStore Stores and manages all quiddities

ndiStore.maxLimitStore

Kind: instance property of NdiStore
Properties

Name Type Description
maxLimitStore module:stores/shmdata.MaxLimitStore Stores and manages all quiddities connection limits

ndiStore.modalStore

Kind: instance property of NdiStore
Properties

Name Type Description
modalStore module:stores/common.ModalStore Stores and manages all the app's modals

ndiStore.isNetworkScanned

Kind: instance property of NdiStore
Properties

Name Type Description
isNetworkScanned boolean Flag to notify that the local network has been scanned at least once for NDI streams

ndiStore.isNdiInputRequested

Kind: instance property of NdiStore
Properties

Name Type Description
isNdiInputRequested boolean Flag to notify a user request

ndiStore.ndiStreams

Kind: instance property of NdiStore
Properties

Name Type Description
streams Array.<models.NdiStream> Observable NDI streams on the local network

ndiStore.selectedNdiStream

Kind: instance property of NdiStore
Properties

Name Type Description
selectedNdiStream Object Selected NDI Stream option

ndiStore.ndiStreamOptions

Kind: instance property of NdiStore
Properties

Name Type Description
ndiStreamOptions Array.<Object> Available NDI streams as options for Select components

ndiStore.ndiStreamLabels

Kind: instance property of NdiStore
Properties

Name Type Description
ndiStreamLabels Array.<string> Available NDI streams' labels

ndiStore.socketStore

Kind: instance property of NdiStore
Overrides: socketStore
Properties

Type Description
SocketStore Socket manager

ndiStore.initState

Kind: instance property of NdiStore
Overrides: initState
Properties

Name Type Description
initState number Initialization state of the store

ndiStore.initialize()

Initializes the store by checking the QuiddityStore state

Kind: instance method of NdiStore

ndiStore.fallbackNdiSnifferQuiddity()

Creates a NDI Sniffer executor quiddity

Kind: instance method of NdiStore

ndiStore.fallbackNdiOutputMaxLimit()

Updates the ndiOutput max reader limit

Kind: instance method of NdiStore

ndiStore.findNdiStream(label) ⇒ NdiStream

Matches a selected label with the available NDI streams

Kind: instance method of NdiStore
Returns: NdiStream - The NdiStream with the parametrized label

Param Type Description
label string Label of the selected NDI stream from UI

ndiStore.handleSocketChange(socket)

Handles changes to the app's socket

Kind: instance method of NdiStore

Param Type Description
socket socketIO/Socket Event-driven socket

ndiStore.handleStartedPropertyChange()

Handle each changes to startable properties

Kind: instance method of NdiStore

ndiStore.handleQuiddityStoreInitialization(initState)

Handles quiddityStore's initialization state changes

Kind: instance method of NdiStore

Param Type Description
initState module:models/common.InitStateEnum State of the quiddityStore's initialization

ndiStore.handleNdiInputRequest(state)

Handles changes to the isNdiInputRequested flag

Kind: instance method of NdiStore

Param Type Description
state boolean State of the isNdiInputRequested flag

ndiStore.populateNdiStreams()

Populates all available NDI streams

Kind: instance method of NdiStore

ndiStore.updateNdiStreamSelection(label)

Updates the selection when NDI streams are updated

Kind: instance method of NdiStore

Param Type Description
label string Label of the selected NdiStream

ndiStore.handleSnifferOutputUpdate(output)

Updates all available streams from NDI Sniffer's output

Kind: instance method of NdiStore
See: ndi2shmdata

Param Type Description
output Object NDI Sniffer's stdout which lists all available NDI streams

ndiStore.applyNdiInputQuiddityCreation([ndiLabel])

Converts the selected NDI stream to an NDI input quiddity

Kind: instance method of NdiStore

Param Type Default Description
[ndiLabel] string null Label of the NDI stream to use as source

ndiStore.applyNdiOutputQuiddityCreation()

Creates an NDI output quiddity

Kind: instance method of NdiStore

ndiStore.setNdiStreamSelection([ndiOption])

Sets (or resets) a new selected option

Kind: instance method of NdiStore

Param Type Default Description
[ndiOption] Object The NdiStream selection

ndiStore.setNdiInputRequestFlag(isNdiInputRequested)

Flags the stream request

Kind: instance method of NdiStore

Param Type Description
isNdiInputRequested boolean Flag the stream request

ndiStore.setNdiStreams(ndiStreams)

Sets new NDI Streams

Kind: instance method of NdiStore

Param Type
ndiStreams Array.<module:stores/quiddity.NdiStream>

ndiStore.clear()

Clears all NDI streams

Kind: instance method of NdiStore

ndiStore.isInitialized() ⇒ boolean

Check if the store's current initialization state is INITIALIZED

Kind: instance method of NdiStore
Overrides: isInitialized
Returns: boolean - Flags true is store is INITIALIZED

ndiStore.isInitializing() ⇒ boolean

Check if the store's current initialization state is INITIALIZING

Kind: instance method of NdiStore
Overrides: isInitializing
Returns: boolean - Flags true is store is INITIALIZING

ndiStore.isNotInitialized() ⇒ boolean

Check if the store's current initialization state is NOT_INITIALIZED

Kind: instance method of NdiStore
Overrides: isNotInitialized
Returns: boolean - Flags true is store is NOT_INITIALIZED

ndiStore.setInitState(state) ⇒ boolean

Sets a new initialization state for the store

Kind: instance method of NdiStore
Overrides: setInitState
Returns: boolean - Flags true if the initialization state was updated

Param Type Description
state InitStateEnum New initialization state

NdiStore.LOG : pino/logger

Dedicated logger for the NdiStore

Kind: static constant of NdiStore

NdiStore.NDI_SNIFFER_CLASS : string

Class of the NDI Sniffer quiddity

Kind: static constant of NdiStore

NdiStore.NDI_SNIFFER_ID : string

ID of the NDI Sniffer quiddity

Kind: static constant of NdiStore

NdiStore.NDI_SNIFFER_OUTPUT_REGEX : RegExp

Matches all changes to NDI Sniffer's stdout output

Kind: static constant of NdiStore

NdiStore.NDI_INPUT_CLASS : string

Class of the NDI Input quiddity

Kind: static constant of NdiStore

NdiStore.NDI_OUTPUT_MAX_LIMIT : number

Fixed max reader limit of the NDI Output

Kind: static constant of NdiStore

NdiStore.NDI_OUTPUT_COMMAND_LINE : string

Command line executed by NDI_OUTPUT_CLASS quiddities

Kind: static constant of NdiStore

stores/quiddity.QuiddityStore ⇐ Store

Stores all managed quiddities

Kind: static class of stores/quiddity
Extends: Store

new QuiddityStore(socketStore, configStore)

Instantiates a new QuiddityStore

Param Type Description
socketStore SocketStore Stores and manages the current event-driven socket
configStore ConfigStore Configuration manager

quiddityStore.fileAPI

Kind: instance property of QuiddityStore
Properties

Name Type Description
fileAPI FileAPI API used to manage files

quiddityStore.quiddityAPI

Kind: instance property of QuiddityStore
Properties

Name Type Description
quiddityAPI QuiddityAPI API used to manage quiddities

quiddityStore.configStore

Kind: instance property of QuiddityStore
Properties

Name Type Description
configStore module:stores/common.ConfigStore Stores and manages the app's configuration

quiddityStore.creationBindings

Kind: instance property of QuiddityStore
Properties

Name Type Description
creationBindings Map.<string, function()> Functions used to create a specific quiddity, hashed by quiddity class

quiddityStore.classes

Kind: instance property of QuiddityStore
Properties

Name Type Description
classes Array.<module:models/quiddity.QuiddityClass> All available quiddity classes

quiddityStore.quiddities

Kind: instance property of QuiddityStore
Properties

Name Type Description
quiddities Map.<string, module:models/quiddity.Quiddity> All quiddities hashed by their IDs

quiddityStore.selectedQuiddityIds

Kind: instance property of QuiddityStore
Properties

Name Type Description
selectedQuiddityIds Set.<string> All selected quiddity ids by the user

quiddityStore.quiddityIds

Kind: instance property of QuiddityStore
Properties

Name Type Description
quiddityIds Array.<string> All quiddity IDs

quiddityStore.classIds

Kind: instance property of QuiddityStore
Properties

Name Type Description
classIds Array.<string> All class IDs

quiddityStore.selectedQuiddity

Kind: instance property of QuiddityStore
Properties

Name Type Description
selectedQuiddity string ID of the first selected quiddity by the user

quiddityStore.usedClasses

Kind: instance property of QuiddityStore
Properties

Name Type Description
usedClasses Map.<string, module:models/quiddity.QuiddityClass> All currently instantiated classes ordered by quiddity ID

quiddityStore.usedClassIds

Kind: instance property of QuiddityStore
Properties

Name Type Description
usedClassIds Set.<string> All instantiated quiddity classes IDs

quiddityStore.userQuiddities

Kind: instance property of QuiddityStore
Properties

Name Type Description
userQuiddities Array.<module:models/quiddity.Quiddity> All quiddities editable by the user

quiddityStore.userQuiddityIds

Kind: instance property of QuiddityStore
Properties

Name Type Description
userQuiddityIds Array.<string> All IDs of the matrix's quiddities

quiddityStore.destinations

Kind: instance property of QuiddityStore
Properties

Name Type Description
destinations Array.<module:models/quiddity.Quiddity> All reader quiddities

quiddityStore.destinationIds

Kind: instance property of QuiddityStore
Properties

Name Type Description
destinationIds Array.<string> All destination IDs

quiddityStore.sources

Kind: instance property of QuiddityStore
Properties

Name Type Description
sources Array.<module:models/quiddity.Quiddity> All writer quiddities

quiddityStore.sourceIds

Kind: instance property of QuiddityStore
Properties

Name Type Description
sourceIds Array.<string> All source IDs

quiddityStore.socketStore

Kind: instance property of QuiddityStore
Overrides: socketStore
Properties

Type Description
SocketStore Socket manager

quiddityStore.initState

Kind: instance property of QuiddityStore
Overrides: initState
Properties

Name Type Description
initState number Initialization state of the store

quiddityStore.initialize([reloadClasses]) ⇒ boolean

Initializes all stored quiddities by fetching Switcher

Kind: instance method of QuiddityStore
Returns: boolean - Flags true if it is well initialized
Throws:

  • Error Throw the initialization failure

    Mermaid:

    graph TB store[Initialize QuiddityStore] --> guard{Is already
    initialized?} guard --> |Yes| exit[Terminate] guard --> |No| initializing[Set the store
    initializing] initializing --> classes[Initialize all
    quiddity classes] subgraph current[Initialize all current quiddities] fetch[Fetch current
    quiddity] --> parse[Parse and add
    the quiddity] parse --> binding{Has it a
    binding?} binding --> |Yes| exec[Execute the
    binding] binding --> |No| for{Some
    quiddity left
    on the
    server?} for --> |Yes| fetch end classes --> fetch for --> |No| initialized[Set the store
    initialized] initialized --> init[Initialized all
    init quiddities] init --> fail{Is the
    initialization
    has failed?} fail --> |Yes| reset[Reset the store] reset --> notInit[Set the store
    not initialized] notInit --> exit fail --> |No| exit

Param Type Default Description
[reloadClasses] boolean false Force the reloading of the quiddity classes

quiddityStore.initializeClasses()

Initializes all quiddity classes

Kind: instance method of QuiddityStore

quiddityStore.initializeCurrentQuiddities()

Initializes all pre-existing quiddities in the server

Kind: instance method of QuiddityStore

quiddityStore.initializeInitQuiddities()

Initializes all initial quiddities specified in the user-defined configuration

Kind: instance method of QuiddityStore

quiddityStore.fetchAllClasses() ⇒ Array.<string>

Fetches all quiddity classes

Kind: instance method of QuiddityStore
Returns: Array.<string> - Array of all available quiddity classes

quiddityStore.fetchJSONQuiddities() ⇒ Array.<string>

Fetches all created quiddities in the current session as JSON

Kind: instance method of QuiddityStore
Returns: Array.<string> - Array of all created quiddity IDs

quiddityStore.fetchAllQuiddities() ⇒ Array.<module:models/quiddity.Quiddity>

Fetches all created quiddity in the current session as models

Kind: instance method of QuiddityStore
Returns: Array.<module:models/quiddity.Quiddity> - Array of all quiddity models<

quiddityStore.fetchAllQuiddityIds() ⇒ Array.<string>

Fetches all created quiddities by their IDs

Kind: instance method of QuiddityStore
Returns: Array.<string> - Array of all created quiddity IDs

quiddityStore.handleSocketChange(socket)

Handles changes to the app's socket

Kind: instance method of QuiddityStore

Param Type Description
socket socketIO/Socket Event-driven socket

quiddityStore.handleSessionChange([sessionName])

Handles new session file loading

Kind: instance method of QuiddityStore

Param Type Default Description
[sessionName] string "''" Loaded file's name

quiddityStore.handleQuiddityCreation(json)

Handles a quiddity.created Switcher signal

Kind: instance method of QuiddityStore

Param Type Description
json Object Quiddity representation in JSON

quiddityStore.handleQuiddityRemoval(quiddityId)

Handles a quiddity.removed Switcher signal

Kind: instance method of QuiddityStore

Param Type Description
quiddityId string ID of the removed quiddity

quiddityStore.makeQuiddityModel(json) ⇒ module:models/quiddity.Quiddity

Safely makes a quiddity model from a JSON object

Kind: instance method of QuiddityStore
Returns: module:models/quiddity.Quiddity - A quiddity model

Param Type Description
json Object JSON representation of the quiddity

quiddityStore.applyQuiddityCreation(classId, [quiddityId], [nickname], [properties], [userData])

Requests the creation of a quiddity

Kind: instance method of QuiddityStore

Param Type Default Description
classId string Class of the quiddity
[quiddityId] string null Name of the quiddity (default will be a generated ID)
[nickname] string null Nickname of the quiddity (default will be quiddityId, or a generated ID)
[properties] Object Initial properties of the new quiddity
[userData] Object Initial user data of the new quiddity

quiddityStore.applyQuiddityRemoval(quiddityId)

Requests the removal of a quiddity

Kind: instance method of QuiddityStore

Param Type Description
quiddityId string ID of the quiddity

quiddityStore.getQuiddityTags(quiddityId) ⇒ Array.<string>

Finds the tags of a given quiddity

Kind: instance method of QuiddityStore
Returns: Array.<string> - - Returns the corresponding tags of the quiddity

Param Type Description
quiddityId string ID of the quiddity

quiddityStore.getQuiddityTagLabel(quiddityId) ⇒ string

Gets the tag label of a quiddity

Kind: instance method of QuiddityStore
Returns: string - Label from the quiddity tag (default is 'resource')

Param Type Description
quiddityId string ID of the quiddity

quiddityStore.getQuiddityClassIndex(classId) ⇒ number

Gets the index of a quiddity from the quiddity's number of the same class

Kind: instance method of QuiddityStore
Returns: number - The quiddity's index

Param Type Description
classId string ID of the quiddity's class to index

quiddityStore.fetchQuiddity(quiddityId) ⇒ module:models/quiddity.Quiddity | null

Fetches a specific quiddity

Kind: instance method of QuiddityStore
Returns: module:models/quiddity.Quiddity | null - Returns the fetched quiddity or null if the quiddity was not created

Param Type Description
quiddityId string ID of the quiddity to fetch

quiddityStore.setCreationBindings(bindings)

Sets the quiddity creation bindings Map

Kind: instance method of QuiddityStore

Param Type Description
bindings Map.<string, function()> Map containing quiddity classes as keys and functions as values

quiddityStore.addCreationBinding(quiddityClass, boundFunction)

Adds a new quiddity creation binding in the creationBindings Map

Kind: instance method of QuiddityStore

Param Type Description
quiddityClass string Quiddity class to bind a function to
boundFunction function Function to call when creating associated quiddity class

quiddityStore.removeCreationBinding(quiddityClass)

Removes a new quiddity creation binding from the creationBindings Map

Kind: instance method of QuiddityStore

Param Type Description
quiddityClass string The binded quiddity class

quiddityStore.addQuiddityClass(quiddityClass)

Add a new quiddity class in the classes Map

Kind: instance method of QuiddityStore

Param Type Description
quiddityClass module:models/quiddity.QuiddityClass The class to add

quiddityStore.addQuiddity(quiddity)

Adds a new quiddity to the store from a JSON model

Kind: instance method of QuiddityStore

Param Type Description
quiddity module:models/quiddity.Quiddity JSON-based model of a quiddity

quiddityStore.removeQuiddity(quiddity)

Deletes a quiddity from the store

Kind: instance method of QuiddityStore

Param Type Description
quiddity module:models/quiddity.Quiddity The quiddity model to remove

quiddityStore.addSelectedQuiddity(quiddityId)

Adds a new quiddity in the selection batch

Kind: instance method of QuiddityStore

Param Type Description
quiddityId string ID of the selected quiddity

quiddityStore.cleanSelectedQuiddities()

Clears the selected quiddities batch

Kind: instance method of QuiddityStore

quiddityStore.clear()

Cleans up quiddities

Kind: instance method of QuiddityStore

quiddityStore.isInitialized() ⇒ boolean

Check if the store's current initialization state is INITIALIZED

Kind: instance method of QuiddityStore
Overrides: isInitialized
Returns: boolean - Flags true is store is INITIALIZED

quiddityStore.isInitializing() ⇒ boolean

Check if the store's current initialization state is INITIALIZING

Kind: instance method of QuiddityStore
Overrides: isInitializing
Returns: boolean - Flags true is store is INITIALIZING

quiddityStore.isNotInitialized() ⇒ boolean

Check if the store's current initialization state is NOT_INITIALIZED

Kind: instance method of QuiddityStore
Overrides: isNotInitialized
Returns: boolean - Flags true is store is NOT_INITIALIZED

quiddityStore.setInitState(state) ⇒ boolean

Sets a new initialization state for the store

Kind: instance method of QuiddityStore
Overrides: setInitState
Returns: boolean - Flags true if the initialization state was updated

Param Type Description
state InitStateEnum New initialization state

QuiddityStore.LOG : pino/logger

Dedicated logger for the QuiddityStore

Kind: static constant of QuiddityStore

stores/matrix

Define all stores for UI behaviors about the matrix

stores/matrix.LayoutHelper

Helper for all CSS grid properties of the matrix layout

Kind: static class of stores/matrix

new LayoutHelper(matrixStore, innerGap)

Instantiates a new LayoutHelper

Param Type Default Description
matrixStore MatrixStore Store for all matrix properties
innerGap number 0 The inner gap between all matrix elements

layoutHelper.innerGap

Kind: instance property of LayoutHelper
Properties

Name Type Description
innerGap number The inner gap between all matrix elements

layoutHelper.matrixStore

Kind: instance property of LayoutHelper
Properties

Name Type Description
matrixStore MatrixStore Store for all matrix properties

layoutHelper.columnHeadingsAreasTemplate ⇒ Array.<string>

Gets the column headings template of CSS grid areas

Kind: instance property of LayoutHelper
Returns: Array.<string> - A list of grid-area properties
See: grid-areas documentation

layoutHelper.gridTemplateAreasStyleProperty ⇒ string

Gets the grid-template-areas style of the matrix + It represents a string matrix of area keys + All areas are named with the source and the destination categories

Kind: instance property of LayoutHelper
Returns: string - The computed grid-template-areas style property
See: grid-template-areas documentation

layoutHelper.gridTemplateColumnsStyleProperty ⇒ string

Gets the grid-template-columns style of the matrix + It repeats the max-reader property for every destination categories + It counts each category twice because it also counts separators + It computes the matrix-header area as a separator for the COMMON category

Kind: instance property of LayoutHelper
Returns: string - The computed grid-template-columns style property
See

layoutHelper.gridLayoutStyle ⇒ Object

Gets the grid-layout style of the matrix

Kind: instance property of LayoutHelper
Returns: Object - The computed grid-layout styles
See

layoutHelper.getSourceAreaKey(categoryId) ⇒ string

Gets the key for a source area

Kind: instance method of LayoutHelper
Returns: string - The generated area key

Param Type Description
categoryId string The source category

layoutHelper.getMatrixHeaderAreaKey() ⇒ string

Gets the key for the matrix header area

Kind: instance method of LayoutHelper
Returns: string - A string key

layoutHelper.getDestinationAreaKey(categoryId) ⇒ string

Gets the key for a destination area

Kind: instance method of LayoutHelper
Returns: string - The generated area key

Param Type Description
categoryId string The destination category

layoutHelper.getDestinationSeparatorAreaKey(categoryId) ⇒ string

Gets the key for a destination separator area

Kind: instance method of LayoutHelper
Returns: string - The generated area key

Param Type Description
categoryId string The destination category

layoutHelper.getConnectionAreaKey(sourceCategoryId, destinationCategoryId) ⇒ string

Gets the key for a connection area

Kind: instance method of LayoutHelper
Returns: string - The generated area key

Param Type Description
sourceCategoryId string The source category
destinationCategoryId string The destination category

layoutHelper.getGridAreaStyle(areaKey) ⇒ Object

Gets the style of each grid areas

Kind: instance method of LayoutHelper
Returns: Object - A CSS style representation

Param Type Description
areaKey string The key of the area

layoutHelper.getRowAreasTemplate(sourceCategory) ⇒ Array.<string>

Gets a row template of CSS grid areas

Kind: instance method of LayoutHelper
Returns: Array.<string> - A list of grid-area properties
See: grid-areas documentation

Param Type Description
sourceCategory module:models/matrix.MatrixCategoryEnum A matrix category

stores/matrix.MatrixStore

Extra store used to build the Matrix component by adding abstractions on shmdatas, quiddities and contacts This is the highest-level store for everything matrix-related. It should be the first store you look at when trying to add another layer of complexity on top of the matrix. This is one of the last store to be instantiated during the app's initialization.

Kind: static class of stores/matrix
Todo

  • [ ] Wraps the categories as bindings

new MatrixStore(quiddityStore, propertyStore, orderStore, shmdataStore, contactStore, sceneStore, lockStore)

Instantiates a new MatrixStore

Throws:

  • TypeError Will throw an error if a dependency store is not set
Param Type Description
quiddityStore QuiddityStore Quiddity manager
propertyStore module:stores/quiddity.PropertyStor Property manager
orderStore module:stores/quiddity.OrderStore Manages all order of entries
shmdataStore ShmdataStore Shmdata manager
contactStore module:stores/sip.ContactStore SIP contact manager
sceneStore module:stores/userTree.SceneStore Scene manager
lockStore module:stores/matrix.LockStore Lock manager

matrixStore.destinationCategories

Kind: instance property of MatrixStore
Properties

Name Type Description
destinationCategories Map.<string, Array.<module:models/matrix.MatrixEntry>> All destinations mapped by category IDs

matrixStore.sourceCategories

Kind: instance property of MatrixStore
Properties

Name Type Description
sourceCategories Map.<string, Array.<module:models/matrix.MatrixEntry>> All sources mapped by category IDs

matrixStore.sourceEntries

Kind: instance property of MatrixStore
Properties

Name Type Description
sourceEntries Array.<module:models/matrix.MatrixEntry> All the source entries

matrixStore.destinationEntries

Kind: instance property of MatrixStore
Properties

Name Type Description
destinationEntries Array.<module:models/matrix.MatrixEntry> All the destination entries

matrixStore.matrixEntries

Kind: instance property of MatrixStore
Properties

Name Type Description
matrixEntries module:models/matrix.MatrixEntry All the matrix entries hashed by entry ID

matrixStore.startableSources

Kind: instance property of MatrixStore
Properties

Name Type Description
startableSources Set.<string> All entries that are startable

matrixStore.matrixConnections

Kind: instance property of MatrixStore
Properties

Name Type Description
matrixConnections Map.<string, Array.<module:models/matrix.MatrixEntry>> All connected entries of the matrix

matrixStore.activeMatrixConnections

Kind: instance property of MatrixStore
Properties

Name Type Description
activeMatrixConnections Set.<string> All IDs of the active connections

matrixStore.lockableCategories

Kind: instance property of MatrixStore
Properties

Name Type Description
lockableCategories Set.<string> All categories that represents a lockable quiddity class

matrixStore.lockedCategories

Kind: instance property of MatrixStore
Properties

Name Type Description
lockedCategories Set.<string> All categories that contains a locked entry

matrixStore.lockedConnections

Kind: instance property of MatrixStore
Properties

Name Type Description
lockedConnections Set.<Connection> All connections that are locked in the matrix

matrixStore.lockedEntries

Kind: instance property of MatrixStore
Properties

Name Type Description
lockedEntries Set.<string> All IDs of all destinations that are locked and all sources that are connected to locked destinations

matrixStore.lockedQuiddities

Kind: instance property of MatrixStore
Properties

Name Type Description
lockedQuiddities Set.<string> All locked quiddity IDs

matrixStore.destinationQuiddities

Kind: instance property of MatrixStore
Properties

Name Type Description
destinationQuiddities Map.<string, Set.<string>> All entries hashed by destination quiddity IDs

matrixStore.sourceQuiddities

Kind: instance property of MatrixStore
Properties

Name Type Description
sourceQuiddities Map.<string, Set.<string>> All entries hashed by source quiddity IDs

matrixStore.matrixQuiddities

Kind: instance property of MatrixStore
Properties

Name Type Description
matrixQuiddities Map.<string, Set.<string>> All entries hashed by quiddity IDs

matrixStore.connectedQuiddities

Kind: instance property of MatrixStore
Properties

Name Type Description
connectedQuiddities Map.<string, Set.<string>> All connections hashed by quiddity IDs

matrixStore.populateSourceCategories()

Populates the destination categories

Kind: instance method of MatrixStore

matrixStore.populateDestinationCategories()

Populates the source categories

Kind: instance method of MatrixStore

matrixStore.setSourceCategories(categories)

Sets the source categories

Kind: instance method of MatrixStore

Param Type Description
categories Map.<string, Array.<module:models/matrix.MatrixEntry>> A map for the source categories

matrixStore.setDestinationCategories(categories)

Sets the destination categories

Kind: instance method of MatrixStore

Param Type Description
categories Map.<string, Array.<module:models/matrix.MatrixEntry>> A map for the destination categories

matrixStore.getAllDestinationQuiddityEntries() ⇒ Array.<module:models/matrix.MatrixEntry>

Gets all entries associated with a destination quiddity

Kind: instance method of MatrixStore
Returns: Array.<module:models/matrix.MatrixEntry> - All associated entries

matrixStore.getAllContactEntries() ⇒ Array.<module:models/matrix.MatrixEntry>

Gets all entries associated with a SIP contact

Kind: instance method of MatrixStore
Returns: Array.<module:models/matrix.MatrixEntry> - All associated entries

matrixStore.makeDestinationCategories() ⇒ Map.<string, Array.<module:models/matrix.MatrixEntry>>

Makes all destination categories

Kind: instance method of MatrixStore
Returns: Map.<string, Array.<module:models/matrix.MatrixEntry>> - A map of all destinations by categories

matrixStore.makeSourceCategories() ⇒ Map.<string, Array.<module:models/matrix.MatrixEntry>>

Makes all source categories

Kind: instance method of MatrixStore
Returns: Map.<string, Array.<module:models/matrix.MatrixEntry>> - A map of all sources by categories

matrixStore.getSourceQuiddityEntries(quiddity) ⇒ Array.<module:models/matrix.MatrixEntry>

Gets all entries associated with a source quiddity

Kind: instance method of MatrixStore
Returns: Array.<module:models/matrix.MatrixEntry> - All associated entries

Param Type Description
quiddity module:models/quiddity.Quiddity The source quiddity

matrixStore.getAllSourceQuiddityEntries() ⇒ Array.<module:models/matrix.MatrixEntry>

Gets all entries produced by the quiddity sources

Kind: instance method of MatrixStore
Returns: Array.<module:models/matrix.MatrixEntry> - All source matrix entries

matrixStore.applyEntrySorting(entries) ⇒ Array.<module:models/matrix.MatrixEntry>

Sorts entries by setting the VIDEO_RAW media type in first position

Kind: instance method of MatrixStore
Returns: Array.<module:models/matrix.MatrixEntry> - All sorted entries

Param Type Description
entries Array.<module:models/matrix.MatrixEntry> All the entries to sort

MatrixStore.LOG : pino/logger

Dedicated logger for the MatrixStore

Kind: static constant of MatrixStore

stores/matrix.FilterStore ⇐ Store

Stores all filters

Kind: static class of stores/matrix
Extends: Store

new FilterStore(socketStore, quiddityStore, contactStore)

Instantiates a new FilterStore

Throws:

  • TypeError Throws an error when a required store is missing
Param Type Description
socketStore module:stores/common.SocketStore Manage all sockets
quiddityStore QuiddityStore Store all quiddities
contactStore module:stores/sip.ContactStore Store all contacts

filterStore.quiddityStore

Kind: instance property of FilterStore
Properties

Name Type Description
quiddityStore QuiddityStore Stores all quiddities

filterStore.contactStore

Kind: instance property of FilterStore
Properties

Name Type Description
contactStore module:stores/sip.ContactStore Stores all SIP contacts

filterStore.categoryFilters

Kind: instance property of FilterStore
Properties

Name Type Description
categoryFilters Set.<string> All the category filters selected by the user

filterStore.orderedCategories

Kind: instance property of FilterStore
Properties

Name Type Description
orderedCategories Map.<string, string> All categories ordered by quiddityID

filterStore.userCategories

Kind: instance property of FilterStore
Properties

Name Type Description
categories Set.<string> All categories available for the filters

filterStore.socketStore

Kind: instance property of FilterStore
Overrides: socketStore
Properties

Type Description
SocketStore Socket manager

filterStore.initState

Kind: instance property of FilterStore
Overrides: initState
Properties

Name Type Description
initState number Initialization state of the store

filterStore.handleCategoryChange()

Handles all changes of available categories

Kind: instance method of FilterStore

filterStore.applyQuiddityFilter(quiddityId) ⇒ boolean

Applies a filter on a quiddity

Kind: instance method of FilterStore
Returns: boolean - Flags true if the quiddity passes the filters

Param Type Description
quiddityId string The ID of the quiddity

filterStore.applyEntryFilter(matrixEntry) ⇒ boolean

Applies a filter to an entry of the matrix

Kind: instance method of FilterStore
Returns: boolean - Flags true if the entry passes the filters

Param Type Description
matrixEntry module:models/matrix.MatrixEntry A matrix entry

filterStore.applyCellFilter(sourceEntry, destinationEntry) ⇒ boolean

Applies a filter for a source and a destination

Kind: instance method of FilterStore
Returns: boolean - Flags true if the entries pass the filter

Param Type Description
sourceEntry module:models/matrix.MatrixEntry Matrix entry for a source
destinationEntry module:models/matrix.MatrixEntry Matrix entry for a destination

filterStore.setOrderedCategories()

Sets the entire map of the categories mapped by quiddity IDs

Kind: instance method of FilterStore

filterStore.addCategoryFilter()

Adds a category to filter

Kind: instance method of FilterStore

filterStore.removeCategoryFilter()

Deletes a category from the filters

Kind: instance method of FilterStore

filterStore.clearCategoryFilters()

Clears all categories from the filters

Kind: instance method of FilterStore

filterStore.isInitialized() ⇒ boolean

Check if the store's current initialization state is INITIALIZED

Kind: instance method of FilterStore
Overrides: isInitialized
Returns: boolean - Flags true is store is INITIALIZED

filterStore.isInitializing() ⇒ boolean

Check if the store's current initialization state is INITIALIZING

Kind: instance method of FilterStore
Overrides: isInitializing
Returns: boolean - Flags true is store is INITIALIZING

filterStore.isNotInitialized() ⇒ boolean

Check if the store's current initialization state is NOT_INITIALIZED

Kind: instance method of FilterStore
Overrides: isNotInitialized
Returns: boolean - Flags true is store is NOT_INITIALIZED

filterStore.setInitState(state) ⇒ boolean

Sets a new initialization state for the store

Kind: instance method of FilterStore
Overrides: setInitState
Returns: boolean - Flags true if the initialization state was updated

Param Type Description
state InitStateEnum New initialization state

FilterStore.LOG : pino/logger

Dedicated logger for the FilterStore

Kind: static constant of FilterStore

SipContactInformationTooltip

Tooltip that displays all contact informations

Kind: global class

sipContactInformationTooltip.renderAvailabilityStatus() ⇒ React.Fragment

Renders the availability status of a SIP contact

Kind: instance method of SipContactInformationTooltip
Returns: React.Fragment - A HTML description item

sipContactInformationTooltip.renderSendingStatus() ⇒ React.Fragment

Renders the sending status of a SIP contact

Kind: instance method of SipContactInformationTooltip
Returns: React.Fragment - A HTML description item

sipContactInformationTooltip.renderReceivingStatus() ⇒ React.Fragment

Renders the receiving status of a SIP contact

Kind: instance method of SipContactInformationTooltip
Returns: React.Fragment - A HTML description item

sipContactInformationTooltip.renderInformation() ⇒ React.Fragment

Renders the SIP contact information

Kind: instance method of SipContactInformationTooltip
Returns: React.Fragment - A HTML description list

sipContactInformationTooltip.render() ⇒ React.Fragment

Renders the tooltip

Kind: instance method of SipContactInformationTooltip
Returns: React.Fragment - A tooltip with the shmdata information

SceneTabBar

Navigation bar for Scenic Scene Tabs

Kind: global class

sceneTabBar.$overflow

HTML reference of the overflowed element

Kind: instance property of SceneTabBar

sceneTabBar.tabsCount

Number of Scenes used to update the overflow statement

Kind: instance property of SceneTabBar

sceneTabBar.state

Local state of the NavBar used to control the overflow

Kind: instance property of SceneTabBar

sceneTabBar.componentDidUpdate()

Updates the overflow status when the number of tabs change

Kind: instance method of SceneTabBar

sceneTabBar.renderLeftArrow()

Renders the left arrow which moves the tab view to the left

Kind: instance method of SceneTabBar

sceneTabBar.renderRightArrow()

Renders the right arrow which moves the tab view to the right

Kind: instance method of SceneTabBar

sceneTabBar.renderSceneAdder()

Renders the "add" button which adds new Scene tabs

Kind: instance method of SceneTabBar

sceneTabBar.getDeleteModalProps(scene)

Gets all required props by the DeleteSceneModal

Kind: instance method of SceneTabBar

Param Type Description
scene Scene The scene associated with the rendered tab

sceneTabBar.handleSceneDeleterClick(event, scene)

Handles the user click on the delete button

Kind: instance method of SceneTabBar

Param Type Description
event Object The triggered event by the user click
scene Scene The scene associated with the rendered tab

sceneTabBar.renderSceneDeleter(scene)

Renders the "delete" button that deletes the targeted scene

Kind: instance method of SceneTabBar

Param Type Description
scene Scene The associated scene

sceneTabBar.renderActiveScene()

Renders a filled checkbox to indicate that the targeted scene is active

Kind: instance method of SceneTabBar

sceneTabBar.renderBlankAddon()

Renders a blank addon

Kind: instance method of SceneTabBar

sceneTabBar.isActiveScene(scene) ⇒ boolean

Checks if the scene is active

Kind: instance method of SceneTabBar
Returns: boolean - Flag if the scene is active

Param Type Description
scene Scene The Tab's scene

sceneTabBar.renderTabAfterAddon(scene) ⇒ HTMLElement

Renders the addon before the Tab name

Kind: instance method of SceneTabBar
Returns: HTMLElement - The addon after the Tab title

Param Type Description
scene Scene The Tab's scene

sceneTabBar.renderTabBeforeAddon(scene) ⇒ HTMLElement

Renders the addon after the Tab name

Kind: instance method of SceneTabBar
Returns: HTMLElement - The addon before the Tab title

Param Type Description
scene Scene The Tab's scene

sceneTabBar.handleOverflowChange(hasOverflown, $el)

Updates internal overflow state when the tabs component triggers an overflow change

Kind: instance method of SceneTabBar

Param Type Description
hasOverflown boolean Flag for overflow existence
$el HTMLElement Overflowed HTML element

sceneTabBar.handleTabClick(scene)

Handles the user click on the Tab

Kind: instance method of SceneTabBar

Param Type Description
scene Scene The Tab's scene

sceneTabBar.isTabSelected(scene)

Checks if the Tab is selected

Kind: instance method of SceneTabBar

Param Type Description
scene Scene The Tab's scene

sceneTabBar.renderSceneTab(scene)

Renders a Tab representing a scene of the current Scenic session

Kind: instance method of SceneTabBar

Param Type Description
scene Scene A Scene model

sceneTabBar.renderSceneTabs()

Renders all scene Tabs

Kind: instance method of SceneTabBar

sceneTabBar.renderNavbarBeforeAddon()

Renders the addon after the Navbar children

Kind: instance method of SceneTabBar

sceneTabBar.renderNavBarAfterAddon()

Renders the addon before the Navbar children

Kind: instance method of SceneTabBar

sceneTabBar.render()

Renders the Scene NavBar

Kind: instance method of SceneTabBar

RtmpModal

Scenic modal used to create an RTMP quiddity

Kind: global class

rtmpModal.componentDidMount()

Registers the modal in the ModalStore when it is mounted

Kind: instance method of RtmpModal

rtmpModal.handleCancelButtonClick()

Handles the user click on the Cancel button

Kind: instance method of RtmpModal

rtmpModal.handleCreateButtonClick()

Handles the user click on the Create button

Kind: instance method of RtmpModal

rtmpModal.cleanModal()

Cleans the RtmpModal

Kind: instance method of RtmpModal

rtmpModal.renderCreateButton() ⇒ HTMLElement

Renders the Create Button of the modal

Kind: instance method of RtmpModal
Returns: HTMLElement - The Create Button

rtmpModal.renderCancelButton() ⇒ HTMLElement

Renders the Cancel button of the modal

Kind: instance method of RtmpModal
Returns: HTMLElement - The Cancel Button

rtmpModal.renderUrlInput() ⇒ HTMLElement

Renders the InputText for the RTMP URL

Kind: instance method of RtmpModal
Returns: HTMLElement - The URL text input

rtmpModal.renderKeyInput() ⇒ HTMLElement

Renders the InputText for the RTMP stream key

Kind: instance method of RtmpModal
Returns: HTMLElement - The key text input

rtmpModal.renderModalTitle() ⇒ HTMLElement

Renders the title of the modal

Kind: instance method of RtmpModal
Returns: HTMLElement - The title

rtmpModal.renderModalContent() ⇒ HTMLElement

Renders the content of the modal

Kind: instance method of RtmpModal
Returns: HTMLElement - The content

rtmpModal.renderModalFooter() ⇒ HTMLElement

Renders the footer of the modal

Kind: instance method of RtmpModal
Returns: HTMLElement - The footer

rtmpModal.render()

Renders the modal

Kind: instance method of RtmpModal

RtmpModal.RTMP_MODAL_ID : string

ID of the RTMP modal

Kind: static constant of RtmpModal

RenameNicknameModal

Scenic modal used to confirm renaming of a nickname

Kind: global class

renameNicknameModal.componentDidMount()

Registers the modal in the ModalStore when it is mounted

Kind: instance method of RenameNicknameModal

renameNicknameModal.renderModalContent() ⇒ HTMLElement

Renders the content of the modal

Kind: instance method of RenameNicknameModal
Returns: HTMLElement - The content

renameNicknameModal.handleCancelButtonClick()

Handles the user click on the cancel button

Kind: instance method of RenameNicknameModal

renameNicknameModal.renderCancelButton() ⇒ HTMLElement

Renders the cancel button of the modal

Kind: instance method of RenameNicknameModal
Returns: HTMLElement - The cancel Button

renameNicknameModal.handleRenameButtonClick()

Handles the user click that will rename the associated scene

Kind: instance method of RenameNicknameModal

renameNicknameModal.renderRenameButton() ⇒ HTMLElement

Renders the rename Button of the modal

Kind: instance method of RenameNicknameModal
Returns: HTMLElement - The rename Button

renameNicknameModal.renderModalFooter() ⇒ HTMLElement

Renders the footer of the modal

Kind: instance method of RenameNicknameModal
Returns: HTMLElement - The footer

renameNicknameModal.render()

Renders the modal

Kind: instance method of RenameNicknameModal

RenameNicknameModal.RENAME_NICKNAME_MODAL_ID : string

ID of the rename nickname modal

Kind: static constant of RenameNicknameModal

ConfigurationModal

Scenic modal used to warn user of an invalid configuration

Kind: global class

configurationModal.componentDidMount()

Registers the modal in the ModalStore when it is mounted and activates the modal when the connection is down

Kind: instance method of ConfigurationModal

configurationModal.handleConnectionRetryClick()

Handles the user click that will reopen the associated socket

Kind: instance method of ConfigurationModal

configurationModal.renderModalTitle() ⇒ HTMLElement

Renders the title of the modal

Kind: instance method of ConfigurationModal
Returns: HTMLElement - The title

configurationModal.renderModalFooter() ⇒ HTMLElement

Renders the footer of the modal

Kind: instance method of ConfigurationModal
Returns: HTMLElement - The footer

configurationModal.renderModalContent() ⇒ HTMLElement

Renders the content of the modal

Kind: instance method of ConfigurationModal
Returns: HTMLElement - The content

configurationModal.render()

Renders the modal

Kind: instance method of ConfigurationModal

ConfigurationModal.CONFIGURATION_MODAL_ID : string

ID of the configuration error modal

Kind: static constant of ConfigurationModal

NdiStreamModal

Modal used to show all NDI streams available

Kind: global class

ndiStreamModal.componentDidMount()

Registers the modal in the ModalStore when it is mounted

Kind: instance method of NdiStreamModal

ndiStreamModal.isConfirmationDisabled() ⇒ boolean

Checks if the confirmation button is disabled

Kind: instance method of NdiStreamModal
Returns: boolean - Flag if the confirmation button is disabled

ndiStreamModal.handleConfirmationClick()

Handles the user click on the confirmation Button

Kind: instance method of NdiStreamModal

ndiStreamModal.renderConfirmationButton() ⇒ HTMLElement

Renders the Button to confirm the NdiStream creation as a ndiInput quiddity

Kind: instance method of NdiStreamModal
Returns: HTMLElement - The confirmation Button

ndiStreamModal.renderCancelButton() ⇒ HTMLElement

Renders the Button to cancel the NdiStream processing

Kind: instance method of NdiStreamModal
Returns: HTMLElement - The cancel Button

ndiStreamModal.renderModalFooter() ⇒ HTMLElement

Renders the Modal's footer

Kind: instance method of NdiStreamModal
Returns: HTMLElement - The Modal's footer

ndiStreamModal.hasSelectionError() ⇒ boolean

Checks if the selection has errors

Kind: instance method of NdiStreamModal
Returns: boolean - Flag if the selection has errors

ndiStreamModal.handleNdiStreamSelection(label)

Handles the user selection

Kind: instance method of NdiStreamModal

Param Type Description
label string The label of the selected NDI Stream

ndiStreamModal.renderNdiStreamSelect() ⇒ HTMLElement

Renders the Select that will select the NdiStream to process

Kind: instance method of NdiStreamModal
Returns: HTMLElement - The NdiStream selector

ndiStreamModal.renderModalTitle() ⇒ HTMLElement

Renders the title of the modal

Kind: instance method of NdiStreamModal
Returns: HTMLElement - The title

ndiStreamModal.renderModalContent() ⇒ HTMLElement

Renders the Modal's content

Kind: instance method of NdiStreamModal
Returns: HTMLElement - The Modal's content

ndiStreamModal.render()

Dispatches the renderers according to the number of available streams

Kind: instance method of NdiStreamModal

NdiStreamModal.NDI_STREAM_MODAL_ID : string

ID of the NDI stream modal

Kind: static constant of NdiStreamModal

RenameSceneModal

Scenic modal used to confirm renaming of a Scene

Kind: global class

renameSceneModal.renderModalContent() ⇒ HTMLElement

Renders the content of the modal

Kind: instance method of RenameSceneModal
Returns: HTMLElement - The content

renameSceneModal.handleCancelButtonClick()

Handles the user click on the cancel button

Kind: instance method of RenameSceneModal

renameSceneModal.renderCancelButton() ⇒ HTMLElement

Renders the cancel button of the modal

Kind: instance method of RenameSceneModal
Returns: HTMLElement - The cancel Button

renameSceneModal.handleRenameButtonClick()

Handles the user click that will rename the associated scene

Kind: instance method of RenameSceneModal

renameSceneModal.renderRenameButton() ⇒ HTMLElement

Renders the rename Button of the modal

Kind: instance method of RenameSceneModal
Returns: HTMLElement - The rename Button

renameSceneModal.renderModalFooter() ⇒ HTMLElement

Renders the footer of the modal

Kind: instance method of RenameSceneModal
Returns: HTMLElement - The footer

renameSceneModal.render()

Renders the modal

Kind: instance method of RenameSceneModal

RenameSceneModal.RENAME_SCENE_MODAL_ID : string

ID of the rename scene modal

Kind: static constant of RenameSceneModal

DeleteSceneModal

Scenic modal used to confirm the deletion of a Scene

Kind: global class

deleteSceneModal.componentDidMount()

Registers the modal in the ModalStore when it is mounted

Kind: instance method of DeleteSceneModal

deleteSceneModal.renderModalContent() ⇒ HTMLElement

Renders the content of the modal

Kind: instance method of DeleteSceneModal
Returns: HTMLElement - The content

deleteSceneModal.handleCancelButtonClick()

Handles the user click on the cancel button

Kind: instance method of DeleteSceneModal

deleteSceneModal.renderCancelButton() ⇒ HTMLElement

Renders the cancel button of the modal

Kind: instance method of DeleteSceneModal
Returns: HTMLElement - The cancel Button

deleteSceneModal.handleDeleteButtonClick()

Handles the user click that will delete the associated scene

Kind: instance method of DeleteSceneModal

deleteSceneModal.renderDeleteButton() ⇒ HTMLElement

Renders the delete Button of the modal

Kind: instance method of DeleteSceneModal
Returns: HTMLElement - The delete Button

deleteSceneModal.renderModalFooter() ⇒ HTMLElement

Renders the footer of the modal

Kind: instance method of DeleteSceneModal
Returns: HTMLElement - The footer

deleteSceneModal.render()

Renders the modal

Kind: instance method of DeleteSceneModal

DeleteSceneModal.DELETE_SCENE_MODAL_ID : string

ID of the delete scene modal

Kind: static constant of DeleteSceneModal

SwitcherConnectionModal

Scenic modal used to connect to Switcher

Kind: global class

switcherConnectionModal.componentDidMount()

Registers the modal in the ModalStore when it is mounted and activates the modal when the connection is down

Kind: instance method of SwitcherConnectionModal

switcherConnectionModal.handleConnectionRetryClick()

Handles the user click that will reopen the associated socket

Kind: instance method of SwitcherConnectionModal

switcherConnectionModal.renderHostInput() ⇒ HTMLElement

Renders the InputText for the host URL

Kind: instance method of SwitcherConnectionModal
Returns: HTMLElement - The host URL text input

switcherConnectionModal.renderPortInput() ⇒ HTMLElement

Renders the InputText for the host port

Kind: instance method of SwitcherConnectionModal
Returns: HTMLElement - The host port text input

switcherConnectionModal.renderModalTitle() ⇒ HTMLElement

Renders the title of the modal

Kind: instance method of SwitcherConnectionModal
Returns: HTMLElement - The title

switcherConnectionModal.renderModalContent() ⇒ HTMLElement

Renders the content of the modal

Kind: instance method of SwitcherConnectionModal
Returns: HTMLElement - The content

switcherConnectionModal.renderModalFooter() ⇒ HTMLElement

Renders the footer of the modal

Kind: instance method of SwitcherConnectionModal
Returns: HTMLElement - The footer

switcherConnectionModal.render()

Renders the modal

Kind: instance method of SwitcherConnectionModal

SwitcherConnectionModal.SWITCHER_CONNECTION_MODAL_ID : string

ID of the Switcher connection modal

Kind: static constant of SwitcherConnectionModal

PreviewWrapper

A preview windows for all video shmdatas

Kind: global class

previewWrapper.render() ⇒ React.Component

Previews the selected shmdata in a preview

Kind: instance method of PreviewWrapper
Returns: React.Component - The preview if it is requested

ShmdataBox

Displays a Shmdata with its timelapse and its informations

Kind: global class

shmdataBox.getShmdataIconType()

Gets the icon type for the shmdata

Kind: instance method of ShmdataBox

shmdataBox.renderShmdataIcon() ⇒ React.Fragment

Renders the icon of the shmdata

Kind: instance method of ShmdataBox
Returns: React.Fragment - Icon of the shmdata

shmdataBox.handleShmdataCellClick()

Handles user click on the shmdata box

Kind: instance method of ShmdataBox

shmdataBox.getCellProps() ⇒ Object

Gets the Cell properties

Kind: instance method of ShmdataBox
Returns: Object - Property object of the Cell

shmdataBox.renderShmdataCell() ⇒ React.Fragment

Renders current shmdata by disabling it if the shmdata has not been provided

Kind: instance method of ShmdataBox
Returns: React.Fragment - Cell for the shmdata

shmdataBox.render()

Renders the shmdata box

Kind: instance method of ShmdataBox

DestinationHead

Displays all controls for each quiddity destination

Kind: global class

destinationHead.renderHeadTitle() ⇒ string

Renders the title of the destination head

Kind: instance method of DestinationHead
Returns: string - Returns the contact title or the quiddity nickname

destinationHead.renderHeadSubtitle() ⇒ string

Renders the subtitle of the destination head

Kind: instance method of DestinationHead
Returns: string - Returns the contact subtitle of the quidditity classId

destinationHead.renderHelpMessage() ⇒ React.Fragment

Renders the help message of the destination head

Kind: instance method of DestinationHead
Returns: React.Fragment - Returns the help message

destinationHead.handleContactCheckup()

Handles the checkup of a contact

Kind: instance method of DestinationHead

destinationHead.handleQuiddityCheckup(event)

Handles the checkup of a quiddity

Kind: instance method of DestinationHead

Param Type Description
event Object The mouse event object

destinationHead.handleHeadClick(event)

Handles a click on the destination head

Kind: instance method of DestinationHead

Param Type Description
event Object The mouse click event

destinationHead.isSelected() ⇒ boolean

Checks if the destination is selected

Kind: instance method of DestinationHead
Returns: boolean - Returns true if the destination is selected

destinationHead.getEntryStatus() ⇒ enums.StatusEnum

Gets the current status of the destination entry

Kind: instance method of DestinationHead
Returns: enums.StatusEnum - Status of the quiddity

destinationHead.render() ⇒ React.Fragment

Renders the destination head

Kind: instance method of DestinationHead
Returns: React.Fragment - The destination head

StartedCheckbox

Displays a checkbox in order to change the started property

Kind: global class

startedCheckbox.getCheckboxProps()

Gets all required props of the Checkbox from the store's states

Kind: instance method of StartedCheckbox

startedCheckbox.handleCheckboxChange()

Handles each change of the Checkbox

Kind: instance method of StartedCheckbox

startedCheckbox.render()

Renders a checkbox that changes the started property of a quiddity

Kind: instance method of StartedCheckbox

NicknameLabel

Displays a nickname as a label

Kind: global class

nicknameLabel.componentDidMount()

Initializes store when it is instantiated

Kind: instance method of NicknameLabel

nicknameLabel.render()

Displays label given by the store

Kind: instance method of NicknameLabel

PageWrapper

Renders a wrapper that selects and renders the active page

Kind: global class

pageWrapper.renderMatrixPage() ⇒ React.Component

Renders the matrix page

Kind: instance method of PageWrapper
Returns: React.Component - The Matrix page

pageWrapper.renderLivePage() ⇒ React.Component

Renders the live page

Kind: instance method of PageWrapper
Returns: React.Component - The Live page

pageWrapper.renderSettingsPage() ⇒ React.Component

Renders the Settings page

Kind: instance method of PageWrapper
Returns: React.Component - The Settings page

pageWrapper.renderHelpPage() ⇒ React.Component

Renders the Help page

Kind: instance method of PageWrapper
Returns: React.Component - The Help page

pageWrapper.renderNotImplementedPage()

Renders a default page

Kind: instance method of PageWrapper

pageWrapper.render()

Renders the active page

Kind: instance method of PageWrapper

DrawerWrapper

A wrapper that renders the active drawer

Kind: global class

ModalWrapper

A wrapper that renders the active modal

Kind: global class

modalWrapper.renderModal(key, ModalComponent)

Generic renderer for all trivial modals

Kind: instance method of ModalWrapper

Param Type Description
key string The unique key for the modal to render
ModalComponent React.Component A Component class to instantiate

modalWrapper.renderConfigurationModal()

Renders the ConfigurationModal with its requirements

Kind: instance method of ModalWrapper

modalWrapper.renderSwitcherConnectionModal()

Renders the SwitcherConnectionModal with its requirements

Kind: instance method of ModalWrapper

modalWrapper.renderNdiStreamModal()

Renders the NdiStreamModal with its requirements

Kind: instance method of ModalWrapper

modalWrapper.renderRtmpModal()

Renders the RtmpModal with its requirements

Kind: instance method of ModalWrapper

modalWrapper.render()

Renders all modals

Kind: instance method of ModalWrapper

MatrixMenuPanel

Renders all menus that add extra actions with the Scenic matrix

Kind: global class

matrixMenuPanel.handleDrawerMenuClick(drawerKey)

Handles the user click on a matrix menu that displays a drawer

Kind: instance method of MatrixMenuPanel

Param Type Description
drawerKey string Unique key of a drawer

matrixMenuPanel.renderDrawerMenuButton(helpMessage, iconType, menuClickHandler) ⇒ HTMLElement

Renders a menu button that displays a drawer

Kind: instance method of MatrixMenuPanel
Returns: HTMLElement - The menu button

Param Type Description
helpMessage string Help message displayed when the user focus the menu
iconType string Icon type of the menu
menuClickHandler function Handle of the menu button click

matrixMenuPanel.render() ⇒ HTMLElement

Renders all the menu buttons

Kind: instance method of MatrixMenuPanel
Returns: HTMLElement - The MatrixMenuPanel

buddyStatus

Kind: global variable
Properties

Name Type Description
buddyStatus models.BuddyStatusEnum A SIP buddy status

sendStatus

Kind: global variable
Properties

Name Type Description
sendStatus models.SendStatusEnum A SIP sending status

recvStatus

Kind: global variable
Properties

Name Type Description
recvStatus models.RecvStatusEnum A SIP receiving status

children

Kind: global variable
Properties

Name Type Description
children React.Fragment The target element of the tooltip

sceneStore

Store for all scenes of the current Scenic session

Kind: global variable

modalStore

Store that manages all modals

Kind: global variable

modalStore

Kind: global variable
Properties

Name Type Description
modalStore ModalStore Store that manages all modals

rtmpStore

Kind: global variable
Properties

Name Type Description
rtmpStore RtmpStore Store that manages RTMP quiddities

onNicknameRename

Kind: global variable
Properties

Name Type Description
onCancel function Function triggered when the user confirms the modal's action

onCancel

Kind: global variable
Properties

Name Type Description
onCancel function Function triggered when the user cancels the modal's action

oldNickname

Kind: global variable
Properties

Name Type Description
oldNickname string Old quiddity's nickname

newNickname

Kind: global variable
Properties

Name Type Description
newNickname string New quiddity's nickname

modalStore

Store that manages all modals

Kind: global variable

modalStore

Store that manages all modals

Kind: global variable

modalStore

Store that manages all modals

Kind: global variable

previewStore

Preview store used to update the component state

Kind: global variable

thumbnailStore

Kind: global variable
Properties

Name Type Description
thumbnailStore ThumbnailStore Store which updates thumbnail statements

previewStore

Kind: global variable
Properties

Name Type Description
previewStore PreviewStore Store which updates preview statements

statStore

Kind: global variable
Properties

Name Type Description
statStore StatStore Store all shmdata's stats

capsStore

Kind: global variable
Properties

Name Type Description
sapsStore CapsStore Store for all shmdata caps

shmdata

Kind: global variable
Properties

Name Type Description
shmdata Shmdata Name of the displayed shmdata

disabled

Kind: global variable
Properties

Name Type Default Description
[disabled] boolean false Disable interactions

entry

Kind: global variable
Properties

Name Type Description
matrixEntry MatrixEntry The destination entry of the matrix

nicknameStore

Kind: global variable
Properties

Name Type Description
nicknameStore stores.NicknameStore Store all nicknames

quiddityStore

Kind: global variable
Properties

Name Type Description
quiddityStore stores.QuiddityStore Store all quiddities

drawerStore

Kind: global variable
Properties

Name Type Description
drawerStore DrawerStore Controller of the visibility of drawers

quiddityStatusStore

Kind: global variable
Properties

Name Type Description
quiddityStatusStore StatStore Store all quiddity statuses

quiddityMenuStore

Kind: global variable
Properties

Name Type Description
quiddityMenuStore QuiddityMenuStore Store all quiddity menus

contactStatusStore

Kind: global variable
Properties

Name Type Description
contactStatusStore StatStore Store all contact statuses

defaultLabel

Kind: global variable
Properties

Name Type Default Description
[defaultLabel] String 'NO NICKNAME' Default label displayed when no nickname is provided by the store

quiddity

Kind: global variable
Properties

Name Type Description
quiddity Quiddity The quiddity to control

propertyStore

Kind: global variable
Properties

Name Type Description
propertyStore PropertyStore The store that manages properties

store

Kind: global variable
Properties

Name Type Description
store stores.NicknameStore Store which updates component states

quiddityId

Kind: global variable
Properties

Name Type Description
quiddityId string ID of the nicknamed quiddity

defaultLabel

Kind: global variable
Properties

Name Type Default Description
[defaultLabel] string "'NO NICKNAME'" Default label displayed when no nickmane is provided by the store

stores

Kind: global variable
Properties

Name Type Description
stores Object A map of all required stores by all pages

stores.ThumbnailStore ⇐ stores.Store

Stores all thumbnail subscriptions

Kind: static class of stores
Extends: stores.Store

new ThumbnailStore(socketStore, configStore, quiddityStore, shmdataStore)

Instantiates a new ThumbnailStore

Param Type Description
socketStore SocketStore Socket manager
configStore ConfigStore Configuration manager
quiddityStore stores.QuiddityStore Quiddity manager
shmdataStore stores.ShmdataStore Shmdata manager

thumbnailStore.fileAPI

Kind: instance property of ThumbnailStore
Properties

Name Type Description
fileAPI api.FileAPI API used to manage files produced by thumbnail

thumbnailStore.propertyAPI

Kind: instance property of ThumbnailStore
Properties

Name Type Description
propertyAPI api.PropertyAPI API used to manage thumbnail properties

thumbnailStore.treeAPI

Kind: instance property of ThumbnailStore
Properties

Name Type Description
treeAPI api.TreeAPI API used to manage thumbnail tree

thumbnailStore.configStore

Kind: instance property of ThumbnailStore
Properties

Name Type Description
configStore ConfigStore Stores and manages the app's configuration

thumbnailStore.quiddityStore

Kind: instance property of ThumbnailStore
Properties

Name Type Description
quiddityStore stores.QuiddityStore Stores and manages all quiddities

thumbnailStore.shmdataStore

Kind: instance property of ThumbnailStore
Properties

Name Type Description
shmdataStore stores.ShmdataStore Stores and manages all shmdatas

thumbnailStore.thumbnailUrls

Kind: instance property of ThumbnailStore
Properties

Name Type Description
thumbnailUrls Map.<string, string> All thumbnail URLs hashed by shmdata ID

thumbnailStore.initialize() ⇒ boolean

Initializes Store by fetching the Thumbnail quiddity

Kind: instance method of ThumbnailStore
Returns: boolean - Flags true if store is well initialized

thumbnailStore.fallbackThumbnailQuiddity()

Creates the timelapse quiddity for thumbnails

Kind: instance method of ThumbnailStore

thumbnailStore.handleSocketChange(socket)

Handles changes to the app's socket

Kind: instance method of ThumbnailStore

Param Type Description
socket socketIO/Socket Event-driven socket

thumbnailStore.handleQuiddityStoreInitialization(initState)

Handles QuiddityStore's initialization state changes

Kind: instance method of ThumbnailStore

Param Type Description
initState InitStateEnum State of the QuiddityStore's initialization

thumbnailStore.handleShmdataDisconnection(path)

Handles shmdata disconnection from Thumbnail quiddity

Kind: instance method of ThumbnailStore

Param Type Description
path string JSON path that was pruned

thumbnailStore.handleLastImage(filename)

Handles updates for 'last_image' property of Thumbnail quiddity

Kind: instance method of ThumbnailStore

Param Type Description
filename string Updated value of 'last_image' property

thumbnailStore.applyThumbnailConnection()

Requests connection to the thumbnail quiddity for each writing video shmdatas

Kind: instance method of ThumbnailStore

thumbnailStore.addThumbnail(shmdataId, url)

Adds a new thumbnail URL in the thumbnailUrls Map

Kind: instance method of ThumbnailStore

Param Type Description
shmdataId string Shmdata ID
url string Thumbnail URL

thumbnailStore.removeThumbnail(shmdataId)

Deletes a thumbnail URL from the thumbnailUrls Map

Kind: instance method of ThumbnailStore

Param Type Description
shmdataId string Shmdata ID of the thumbnail URL to delete

thumbnailStore.clear()

Cleans up ThumbnailStore

Kind: instance method of ThumbnailStore

ThumbnailStore.LOG : pino/logger

Dedicated logger for ThumbnailStore

Kind: static constant of ThumbnailStore

ThumbnailStore.THUMBNAIL_CLASS : string

Class of the thumbnail quiddity

Kind: static constant of ThumbnailStore

ThumbnailStore.THUMBNAIL_ID : string

ID of the thumbnail quiddity

Kind: static constant of ThumbnailStore

ThumbnailStore.THUMBNAIL_PATH_REGEX : RegExp

Extract the shmdata path from a quiddity's grafted shmdata.writer branch

Kind: static constant of ThumbnailStore

stores.PreviewStore ⇐ stores.Store

Stores preview subscription

Kind: static class of stores
Extends: stores.Store

new PreviewStore(socketStore, configStore, quiddityStore, shmdataStore)

Instantiates a new PreviewStore

Param Type Description
socketStore SocketStore Socket manager
configStore ConfigStore Configuration manager
quiddityStore stores.QuiddityStore Quiddity manager
shmdataStore stores.ShmdataStore Shmdata manager

previewStore.fileAPI

Kind: instance property of PreviewStore
Properties

Name Type Description
fileAPI api.FileAPI API used to manage files produced by preview

previewStore.propertyAPI

Kind: instance property of PreviewStore
Properties

Name Type Description
propertyAPI api.PropertyAPI API used to manage preview properties

previewStore.treeAPI

Kind: instance property of PreviewStore
Properties

Name Type Description
treeAPI api.TreeAPI API used to manage preview tree

previewStore.configStore

Kind: instance property of PreviewStore
Properties

Name Type Description
configStore ConfigStore Stores and manages the app's configuration

previewStore.quiddityStore

Kind: instance property of PreviewStore
Properties

Name Type Description
quiddityStore stores.QuiddityStore Stores and manages all quiddities

previewStore.shmdataStore

Kind: instance property of PreviewStore
Properties

Name Type Description
shmdataStore stores.ShmdataStore Stores and manages all shmdatas

previewStore.acceptingUpdates

Kind: instance property of PreviewStore
Properties

Name Type Description
acceptingUpdates boolean Flags if new images for the preview must be handled or not

previewStore.url

Kind: instance property of PreviewStore
Properties

Name Type Description
url string Local URL to the Blob which represents the preview

previewStore.initialize()

Initializes the store by checking the QuiddityStore state

Kind: instance method of PreviewStore

previewStore.fallbackPreviewQuiddity()

Creates the timelapse quiddity for video previews

Kind: instance method of PreviewStore

previewStore.handleSocketChange(socket)

Handles changes to the app's socket

Kind: instance method of PreviewStore

Param Type Description
socket socketIO/Socket Event-driven socket

previewStore.handleShmdataDisconnection()

Handles shmdata disconnection from Preview quiddity

Kind: instance method of PreviewStore

previewStore.handleLastImage(filename)

Handles updates for 'last_image' property of Preview quiddity

Kind: instance method of PreviewStore

Param Type Description
filename string Updated value of 'last_image' property

previewStore.applyPreviewConnection(shmdata)

Requests connection of a shmdata with the Preview quiddity

Kind: instance method of PreviewStore

Param Type Description
shmdata Shmdata The shmdata to connect

previewStore.applyPreviewDisconnection()

Requests disconnection of all shmdatas from the Preview quiddity

Kind: instance method of PreviewStore

previewStore.setPreview(url)

Sets the preview URL

Kind: instance method of PreviewStore

Param Type Description
url string Preview URL

PreviewStore.LOG : pino/logger

Dedicated logger for the PreviewStore

Kind: static constant of PreviewStore

PreviewStore.PREVIEW_CLASS : string

Class of the preview quiddity

Kind: static constant of PreviewStore

PreviewStore.PREVIEW_ID : string

ID of the preview quiddity

Kind: static constant of PreviewStore

stores.SocketStore

Manages SocketIO connections with Switcher server

Kind: static class of stores

new SocketStore(initSocket)

Instantiates a new socket store

Param Type Description
initSocket socketIO/Socket Already connected socket

socketStore.host

Kind: instance property of SocketStore
Properties

Name Type Description
host string URL or IP address of the Switcher instance. The default value will be the value of hostIP, defined in assets/json/config.json.

socketStore.port

Kind: instance property of SocketStore
Properties

Name Type Description
port string Port of the Switcher instance. The default value will be the value of port, defined in assets/json/config.json.

socketStore.onConnectionCb

Kind: instance property of SocketStore
Properties

Name Type Description
onConnectionCb function Function called when the socket is successfully connected

socketStore.onDisconnectionCb

Kind: instance property of SocketStore
Properties

Name Type Description
onDisconnectionCb function Function called on the socket's disconnection

socketStore.onReconnectionFailedCb

Kind: instance property of SocketStore
Properties

Name Type Description
onReconnectionFailedCb function Function called when all (re)connection attempts fail

socketStore.candidateSocket

Kind: instance property of SocketStore
Properties

Name Type Description
candidateSocket socketIO/Socket Socket to try and connect with. Is set to null when the connection succeeds

socketStore.activeSocket

Kind: instance property of SocketStore
Properties

Name Type Description
activeSocket socketIO/Socket Current socket communicating with the Switcher instance. Is null until a successful connection is established

socketStore.hasActiveSocket ⇒ boolean

Checks if the active socket exists

Kind: instance property of SocketStore
Returns: boolean - Returns true if the active socket isn't null

socketStore.endpoint

Kind: instance property of SocketStore
Properties

Name Type Default Description
[endpoint] string "0.0.0.0:8000" Endpoint of the Switcher server. This endpoint can be defined as an URL argument like http://scenic-app.ca?endpoint=1.1.1.1:5000

socketStore.activeHost

Kind: instance property of SocketStore
Properties

Name Type Description
activeHost string Active host IP for the Switcher server

socketStore.activePort

Kind: instance property of SocketStore
Properties

Name Type Description
activePort string Active port for the Switcher server

socketStore.applyConnection()

Tries to establish a Websocket connect with a Switcher instance.

onConnectionCb, onDisconnectionCb and onReconnectionFailedCb callbacks will be called when their associated Socket.IO's lifecycle events are triggered.

Kind: instance method of SocketStore
See: https://socket.io/docs/client-connection-lifecycle/

socketStore.setRemote(host, port)

Sets the remote host to connect with

Kind: instance method of SocketStore

Param Type Description
host string URL or IP address of the Switcher instance
port string Port of the Switcher instance

socketStore.onConnection(callback)

Sets the callback function called when the socket is successfully connected

Kind: instance method of SocketStore

Param Type Description
callback function Function triggered when a 'connect' Socket.IO event is emitted

socketStore.onDisconnection(callback)

Sets the callback function called when the socket is disconnected

Kind: instance method of SocketStore

Param Type Description
callback function Function triggered when a 'disconnect' Socket.IO event is emitted

socketStore.onReconnectionFailed(callback)

Sets the callback function called when the all of the socket's (re)connection attempts fail

Kind: instance method of SocketStore

Param Type Description
callback function Function triggered when a 'reconnect_failed' Socket.IO event is emitted

SocketStore.LOG : pino/logger

Dedicated logger for the SocketStore

Kind: static constant of SocketStore

SocketStore.SOCKET_RECONNECTION_DELAY : number

Time to wait before attempting a new reconnection in milliseconds

Kind: static constant of SocketStore

SocketStore.SOCKET_RECONNECTION_DELAY_MAX : number

Maximum amount of time to wait between reconnections in milliseconds

Kind: static constant of SocketStore

SocketStore.SOCKET_RECONNECTION_ATTEMPTS : number

Number of reconnection attempts to execute

Kind: static constant of SocketStore

stores.MaxLimitStore ⇐ stores.Store

Stores all max limits of simultaneous connections

Kind: static class of stores
Extends: stores.Store

new MaxLimitStore(socketStore, quiddityStore)

Instantiates a new MaxLimitStore

Param Type Description
socketStore SocketStore Socket manager
quiddityStore stores.QuiddityStore Quiddity manager

maxLimitStore.treeAPI

Kind: instance property of MaxLimitStore
Properties

Name Type Description
treeAPI api.TreeAPI API used to manage quiddity trees

maxLimitStore.quiddityStore

Kind: instance property of MaxLimitStore
Properties

Name Type Description
quiddityStore stores.QuiddityStore Stores and manages all quiddities

maxLimitStore.maxReaderLimits

Kind: instance property of MaxLimitStore
Properties

Type Description
Map.<string, number> All max reader limits by quiddity class ids

maxLimitStore.fetchMaxReaderLimit(quiddityId) ⇒ number

Fetches the max_reader value in the quiddity tree. The max_reader property is always available for all destination quiddities

Kind: instance method of MaxLimitStore
Returns: number - Value of maximum connections allowed for quiddity

Param Type Description
quiddityId string ID of the quiddity

maxLimitStore.handleSocketChange(socket)

Handles changes to the app's socket

Kind: instance method of MaxLimitStore

Param Type Description
socket socketIO/Socket Event-driven socket

maxLimitStore.populateMaxReaderLimits([destinations])

Populates the max reader limit table with all destination quiddities

Kind: instance method of MaxLimitStore

Param Type Default Description
[destinations] Array.<module:models/quiddity.Quiddity> [] Array of all instantiated destination quiddity modelss

maxLimitStore.updateMaxReaderLimit(quiddity)

Updates the max reader limit table for the given quiddity

Kind: instance method of MaxLimitStore

Param Type Description
quiddity module:models/quiddity.Quiddity Destination quiddity model

maxLimitStore.addMaxReaderLimit(destinationClass, maxReaderLimit)

Adds a new max reader limit for a destination quiddity class

Kind: instance method of MaxLimitStore

Param Type Description
destinationClass string Class ID of quiddity
maxReaderLimit number The max reader limit of the quiddity class

MaxLimitStore.LOG : pino/logger

Dedicated logger for the MaxLimitStore

Kind: static constant of MaxLimitStore

MaxLimitStore.RESTRICTED_CLASSES : Map.<string, number>

Map of classes with custom max limits, hashed by class id

Kind: static constant of MaxLimitStore
Todo

  • [ ] Instead of hard-coding these classes, think of a way of handling this more gracefully (detect shmdelay in pipelines?)

stores.CapsStore ⇐ stores.Store

Stores all caps compatibilities

Kind: static class of stores
Extends: stores.Store
Todo

  • [ ] Store compatibility by shmdata type and quiddity class instead

new CapsStore(socketStore, configStore, quiddityStore, shmdataStore)

Instantiates a new CapsStore

Param Type Description
socketStore module:stores/common.SocketStore Stores and manages the current event-driven socket
configStore module:stores/common.ConfigStore Stores all configuration
quiddityStore QuiddityStore Store all quiddities
shmdataStore ShmdataStore Shmdata manager

capsStore.methodAPI

Kind: instance property of CapsStore
Properties

Name Type Description
methodAPI api.MethodAPI API used to manage quiddity methods

capsStore.capsCompatibilities

Kind: instance property of CapsStore
Properties

Type Description
Map.<string, Map.<string, boolean>> Compatibility table between shmdata paths and quiddity ids

capsStore.caps

Kind: instance property of CapsStore
Properties

Type Description
Map.<string, models/shmdata.Capabilities> All caps hashed by shmdata paths

capsStore.fallbackCapsCompatibilities(sourceEntry, destinationEntry)

Fallbacks the population of capabilities

Kind: instance method of CapsStore

Param Type Description
sourceEntry module:models/matrix.MatrixEntry A row entry of the matrix
destinationEntry module:models/matrix.MatrixEntry A column entry of the matrix

capsStore.fetchCapsCompatibility(quiddityId, shmdataPath) ⇒ boolean

Invokes can-sink-caps method for a quiddity and a shmdata

Kind: instance method of CapsStore
Returns: boolean - Flags true if the quiddity and the shmdata can be synchronized

Param Type Description
quiddityId string The ID of the quiddity to test
shmdataPath string The path of the shmdata to test

capsStore.handleSocketChange(socket)

Handles changes to the app's socket

Kind: instance method of CapsStore

Param Type Description
socket socketIO/Socket Event-driven socket

capsStore.handleGraftedShmdata(quidId, path)

Handles all grafts of the shmdata stats

Kind: instance method of CapsStore

Param Type Description
quidId string ID of the updated quiddity
path string Path of the updated sub tree of the quiddity

capsStore.handleWritingShmdatas(quidId, shmdatas)

Handles all written shmdatas by populating their caps and their compatibilities

Kind: instance method of CapsStore

Param Type Description
quidId string The ID of the writting quiddity
shmdatas Array.<models/shmdata.Shmdata> Array of all the written shmdatas

capsStore.fetchShmdataCaps(quidId, shmRole, shmPath) ⇒ models/shmdata.Capabilities

Fetches all caps of a shmdata

Kind: instance method of CapsStore
Returns: models/shmdata.Capabilities - The caps of the queried shmdata

Param Type Description
quidId string ID of the quiddity that reads or writes the shmdata
shmRole string Role of the shmdata
shmPath string Path of the shmdata

capsStore.populateCapsCompatibilities([quiddityIds], [shmdataPaths])

Feeds the compatibility table with all destinations and writing shmdata

Kind: instance method of CapsStore

Param Type Default Description
[quiddityIds] Array.<string> quiddityStore.destinationIds ID array for all quiddities to synchronize
[shmdataPaths] Array.<string> shmdataStore.allWriterPaths Path array for all shmdatas to synchronize

capsStore.populateShmdataCaps(quidId, shmPaths)

Feeds all caps from a quiddityId and all the shmdata path it writes

Kind: instance method of CapsStore

Param Type Description
quidId string The ID of the writing quiddity
shmPaths Array.<string> Paths of the written shmdatas

capsStore.hasSinkCapsMethod(quiddityId) ⇒ boolean

Checks if a quiddity has a can-sink-caps method

Kind: instance method of CapsStore
Returns: boolean - Returns true if the quiddity has the method

Param Type Description
quiddityId string ID of a quiddity

capsStore.updateCompatibility(quiddityId, shmdataPath)

Updates the compatibility table for a destination and a shmdata

Kind: instance method of CapsStore

Param Type Description
quiddityId string ID of the quiddity
shmdataPath string Path of the shmdata

capsStore.hasShmdataCompatibility(quiddityId, shmdataPath) ⇒ boolean

Checks if the compatibility exists between a shmdata and a destination quiddity

Kind: instance method of CapsStore
Returns: boolean - Flags true when the quiddity and the shmdata are compatible

Param Type Description
quiddityId string ID of the quiddity
shmdataPath string Path of the shmdata

capsStore.isCapsCompatible(mediaType, classId) ⇒ boolean

Checks if the quiddity classId and the shmdata mediaType are compatible

Kind: instance method of CapsStore
Returns: boolean - Flags true if the mediaType and the classId are compatible

Param Type Description
mediaType string Media type of a shmdata caps
classId string Class ID of a quiddity

capsStore.areEntriesCompatible(sourceEntry, destinationEntry) ⇒ boolean

Checks if the box is disabled

Kind: instance method of CapsStore
Returns: boolean - Returns false if the caps are incompatible

Param Type Description
sourceEntry module:models/matrix.MatrixEntry The row entry of the matrix
destinationEntry module:models/matrix.MatrixEntry The column entry of the matrix

capsStore.isHidden(capsKey) ⇒ boolean

Flags if the capability is hidden

Kind: instance method of CapsStore
Returns: boolean - Flags a hidden caps

Param Type Description
capsKey string Key of the caps

capsStore.hasCapsCompatibility(mediaType, quiddityClass) ⇒ boolean

Checks if the compatibility exists between a quiddity class and shmdata caps

Kind: instance method of CapsStore
Returns: boolean - Flags true when the class and the caps are compatible

Param Type Description
mediaType string Type of the caps
quiddityClass string Class of the quiddity

capsStore.addShmdataCompatibility(quiddityId, shmdataPath, compatibility)

Adds a new compatibility entry for a shmdata path and a quiddity ID

Kind: instance method of CapsStore

Param Type Description
quiddityId string ID of the quiddity
shmdataPath string Path of the shmdata
compatibility boolean Value of the compatibility

capsStore.addCaps(shmPath, newCaps)

Stores new caps

Kind: instance method of CapsStore

Param Type Description
shmPath string Path of the shmdata
newCaps models/shmdata.Capabilities Capabilities of the shmdata

capsStore.addCapsCompatibility(mediaType, quiddityClass, compatibility)

Adds a new compatibility entry for a caps type and a quiddity class

Kind: instance method of CapsStore

Param Type Description
mediaType string Type of the caps
quiddityClass string Class of the quiddity
compatibility boolean Value of the compatibility

CapsStore.LOG : pino/logger

Dedicated logger for the CapsStore

Kind: static constant of CapsStore

stores.StatStore ⇐ stores.Store

Store all shmdata stats

Kind: static class of stores
Extends: stores.Store

new StatStore(socketStores, quiddityStore, shmdataStore)

Instantiates a new StatStore

Param Type Description
socketStores SocketStore Socket manager
quiddityStore stores.QuiddityStore Quiddity manager
shmdataStore stores.ShmdataStore Shmdata manager

statStore.treeAPI

Kind: instance property of StatStore
Properties

Name Type Description
treeAPI api.TreeAPI API used to manage quiddity trees

statStore.stats

Kind: instance property of StatStore
Properties

Name Type Description
stats Map.<string, models.Stat> All stats by shmdata path

statStore.bitrates

Kind: instance property of StatStore
Properties

Name Type Description
bitrates Map.<string, string> All bitrates of shmdatas

statStore.handleSocketChange(socket)

Handles changes to the app's socket

Kind: instance method of StatStore

Param Type Description
socket socketIO/Socket Event-driven socket

statStore.isStatActive(shmdataPath) ⇒ boolean

Checks if a shmdata path has an active stat

Kind: instance method of StatStore
Returns: boolean - Returns true if the shmdata has an active stat

Param Type Description
shmdataPath string Path of the shmdata

statStore.getInactiveShmdatas(quiddityId) ⇒ Array.<Shmdata>

Gets all inactive shmdatas written or read by a quiddity

Kind: instance method of StatStore
Returns: Array.<Shmdata> - All the inactive shmdata

Param Type Description
quiddityId string ID of the quiddity

statStore.handleGraftedStat(treePath, json) ⇒ boolean

Handles the grafted tree

Kind: instance method of StatStore
Returns: boolean - Returns true if a stat is added

Param Type Description
treePath string Path of the grafted tree
json Object Grafted value

statStore.handlePrunedStat(treePath) ⇒ boolean

Handles the pruned tree

Kind: instance method of StatStore
Returns: boolean - Returns true if a stat is deleted

Param Type Description
treePath string Path of the pruned tree

statStore.makeStatModel(treePath, json) ⇒ Stat

Creates a Stat model from a json tree branch

Kind: instance method of StatStore
Returns: Stat - Current stat of the quiddity's shmdata

Param Type Description
treePath string Path of the tree
json Object Branch of the tree

statStore.isStatUpdated(quiddityId, newStat) ⇒ boolean

Flags if a status update has to be done

Kind: instance method of StatStore
Returns: boolean - True if the update is accepted

Param Type Description
quiddityId string Updated quiddity's shmdata
newStat Stat Updated shmdata's Stat

statStore.removeStat(shmdataPath) ⇒ boolean

Clean a shmdata status

Kind: instance method of StatStore
Returns: boolean - - Flags true if the shmdata status is cleaned

Param Type Description
shmdataPath string Path of the updated shmdata

statStore.setStat(shmdataPath, newStat) ⇒ boolean

Updates a shmdata status

Kind: instance method of StatStore
Returns: boolean - - Flags true if the stat has been added

Param Type Description
shmdataPath string Path of the updated shmdata
newStat model.Stat The updated stat

statStore.clear()

Cleans up stats

Kind: instance method of StatStore

StatStore.LOG : pino/logger

Dedicated logger for the StatStore

Kind: static constant of StatStore

StatStore.DEFAULT_STAT : Stat

Default stat when it is initialized or null

Kind: static constant of StatStore

stores.UserTreeStore ⇐ stores.Store

Stores the userTree emptyquid quiddity

Kind: static class of stores
Extends: stores.Store

new UserTreeStore(socketStore, quiddityStore)

Instantiates a new UserTreeStore

Param Type Description
socketStore SocketStore Socket manager
quiddityStore stores.QuiddityStore A quiddity store

userTreeStore.userDataAPI

Kind: instance property of UserTreeStore
Properties

Name Type Description
userDataAPI api.UserDataAPI API used to manage quiddities' user data

userTreeStore.quiddityStore

Kind: instance property of UserTreeStore
Properties

Name Type Description
quiddityStore stores.QuiddityStore Stores and manages all quiddities

userTreeStore.fallbackUserTreeQuiddity()

Creates the userTree quiddity Note that by default, the userTree quiddity is the only quiddity created by Scenic

Kind: instance method of UserTreeStore

userTreeStore.fetchUserData([branch]) ⇒ string | number | boolean | Object

Fetches user data from the userTree quiddity

Kind: instance method of UserTreeStore
Returns: string | number | boolean | Object - Returns the fetched user data (by default it returns an empty object)

Param Type Default Description
[branch] string "'.'" Path in the userData tree to fetch

userTreeStore.handleSocketChange(socket)

Handles changes to the app's socket

Kind: instance method of UserTreeStore

Param Type Description
socket socketIO/Socket Event-driven socket

userTreeStore.applyUserDataCreation(branch, userData)

Requests change in the userData tree of the userTree quiddity

Kind: instance method of UserTreeStore

Param Type Description
branch string Path of the data in the userData tree
userData string | number | boolean | Object The user data to set

userTreeStore.applyUserDataRemoval(branch)

Requests the deletion of a userData branch

Kind: instance method of UserTreeStore

Param Type Description
branch string Path of the branch to remove

userTreeStore.migrateUserTreeData(branch, userData) ⇒ Object

Migrates the userData tree to the latest schema version

Kind: instance method of UserTreeStore
Returns: Object - The migrated user data tree, returns an empty object if migration failed

Param Type Description
branch string Branch of the userData to migrate
userData Object User data tree to migrate

UserTreeStore.exports.UserTreeSyncError ⇐ Error

Error that signals a synchronization problem with the userTree quiddity

Kind: static class of UserTreeStore
Extends: Error

new exports.UserTreeSyncError()

Instantiates a new UserTreeSyncError

UserTreeStore.LOG : pino/logger

Dedicated logger for the UserTreeStore

Kind: static constant of UserTreeStore

UserTreeStore.USER_TREE_CLASS : string

Class of the userTree quiddity

Kind: static constant of UserTreeStore

UserTreeStore.USER_TREE_ID : string

ID of the userTree quiddity

Kind: static constant of UserTreeStore

stores.SceneStore ⇐ UserTreeStore

Stores all scenes saved in the user data of the quiddity userTree

The configuration (and its default assets) are always accurate There is no need to fallback userData values, they must be defined as default in the configuration

Kind: static class of stores
Extends: UserTreeStore

new SceneStore(socketStore, configStore, quiddityStore)

Instantiates a new SceneStore

Param Type Description
socketStore SocketStore Socket manager
configStore ConfigStore Configuration manager
quiddityStore stores.QuiddityStore Quiddity manager

sceneStore.configStore

Kind: instance property of SceneStore
Properties

Name Type Description
configStore ConfigStore Stores and manages the app's configuration

sceneStore.futureSceneId

Kind: instance property of SceneStore
Properties

Type Description
string Property used to temporary set the next scene when the user switches scenes

sceneStore.userScenes

Kind: instance property of SceneStore
Properties

Type Description
Map.<string, models.Scene> All saved scenes in the userTree

sceneStore.selectedSceneId

Kind: instance property of SceneStore
Properties

Type Description
string ID of the selected scene

sceneStore.activeScene

Kind: instance property of SceneStore
Properties

Type Description
Scene The active scene

sceneStore.defaultScene

Kind: instance property of SceneStore
Properties

Type Description
Scene The default scene. It should always be loaded with the DEFAULT_SCENE_ID

sceneStore.selectedScene

Kind: instance property of SceneStore
Properties

Name Type Description
selectedScene Scene The selected scene

sceneStore.isSelectedSceneActive

Kind: instance property of SceneStore
Properties

Name Type Description
isSelectedSceneActive boolean Flags true if the selected scene is active

sceneStore.futureScene

Kind: instance property of SceneStore
Properties

Type Description
Scene Temporary scene that is used to anticipate a switch to a future scene

sceneStore.userDataAPI

Kind: instance property of SceneStore
Overrides: userDataAPI
Properties

Name Type Description
userDataAPI api.UserDataAPI API used to manage quiddities' user data

sceneStore.quiddityStore

Kind: instance property of SceneStore
Overrides: quiddityStore
Properties

Name Type Description
quiddityStore stores.QuiddityStore Stores and manages all quiddities

sceneStore.handleQuiddityChanges(quiddityIds)

Handles every changes in quiddities from the QuiddityStore It will check if the userTree is created and initialize itself

Kind: instance method of SceneStore

Param Type Description
quiddityIds Array.<string> All stored quiddity IDs

sceneStore.initialize() ⇒ boolean

Initializes store by fetching current user data

Kind: instance method of SceneStore
Returns: boolean - Flags true if store is well initialized

sceneStore.fallbackUserScenesInitialization()

Creates the default user Scenes

Kind: instance method of SceneStore

sceneStore.populateScenesFromUserData([json]) ⇒ boolean

Populates scenes from user data

Kind: instance method of SceneStore
Returns: boolean - Flags true if scenes were correctly populated

Param Type Default Description
[json] Object {} User data from userTree

sceneStore.handleSocketChange(socket)

Handles changes to the app's socket

Kind: instance method of SceneStore
Overrides: handleSocketChange

Param Type Description
socket socketIO/Socket Event-driven socket

sceneStore.handleNewSession()

Handles the loading of a new session by cleaning and reinitializing the scenes

Kind: instance method of SceneStore

sceneStore.handleGraftedUserDataScenes(quiddityId, path, data)

Updates user scenes when the user data is grafted

Kind: instance method of SceneStore

Param Type Description
quiddityId string ID of the grafted quiddity
path string Tree path of the grafted user data
data Object Grafted data object

sceneStore.updateActiveScene(sceneId, property, value)

Updates and parses a property for the active scene

Kind: instance method of SceneStore

Param Type Description
sceneId string The ID of the scene to update
property string Name of the updated property
value string | boolean | number | Object Value of the property

sceneStore.handlePrunedUserDataScenes(path)

Updates user scenes when the user data is pruned

Kind: instance method of SceneStore

Param Type Description
path string Tree path of the pruned user data

sceneStore.computeSceneIndex() ⇒ number

Generates a new scene ID

Kind: instance method of SceneStore
Returns: number - - A numeric ID

sceneStore.makeSceneModel() ⇒ Scene

Generate a new scene from the stored scenes

Kind: instance method of SceneStore
Returns: Scene - - The new scene model

sceneStore.applySceneCreation()

Creates a scene in the userTree

Kind: instance method of SceneStore

sceneStore.applySceneRemoval(sceneId)

Removes a scene in the userTree

Kind: instance method of SceneStore

Param Type Description
sceneId string ID of the scene to remove

sceneStore.applySceneName(sceneId, name)

Renames a scene

Kind: instance method of SceneStore

Param Type Description
sceneId string Scene's ID to rename
name string New name of the scene

sceneStore.applyActiveSceneSwitch([sceneId], [toggle])

Toggles an active scene

Kind: instance method of SceneStore

Param Type Default Description
[sceneId] string "DEFAULT_SCENE_ID" ID of the scene to toggle
[toggle] boolean true Flags if the scene is activated or not

sceneStore.setSelectedScene([sceneId])

Selects a scene

Kind: instance method of SceneStore

Param Type Default Description
[sceneId] string "DEFAULT_SCENE_ID" ID of the scene to select

sceneStore.addUserScene(scene)

Adds a new scene in the userTree scenes Map

Kind: instance method of SceneStore

Param Type Description
scene Scene The new scene to add

sceneStore.updateUserScene(sceneId, property, value)

Updates a scene in the userTree scenes Map

Kind: instance method of SceneStore
Todo

  • [ ] Functions starting with 'update' should not be MobX actions and should not manipulate data structures directly
Param Type Description
sceneId string The ID of the scene to update
property string Name of the updated property
value string | boolean | number | Object Value of the property

sceneStore.removeUserScene(sceneId)

Deletes a scene from the userTree scenes Map

Kind: instance method of SceneStore

Param Type Description
sceneId string ID of the scene to delete

sceneStore.clear()

Cleans up SceneStore

Kind: instance method of SceneStore

sceneStore.fallbackUserTreeQuiddity()

Creates the userTree quiddity Note that by default, the userTree quiddity is the only quiddity created by Scenic

Kind: instance method of SceneStore
Overrides: fallbackUserTreeQuiddity

sceneStore.fetchUserData([branch]) ⇒ string | number | boolean | Object

Fetches user data from the userTree quiddity

Kind: instance method of SceneStore
Overrides: fetchUserData
Returns: string | number | boolean | Object - Returns the fetched user data (by default it returns an empty object)

Param Type Default Description
[branch] string "'.'" Path in the userData tree to fetch

sceneStore.applyUserDataCreation(branch, userData)

Requests change in the userData tree of the userTree quiddity

Kind: instance method of SceneStore
Overrides: applyUserDataCreation

Param Type Description
branch string Path of the data in the userData tree
userData string | number | boolean | Object The user data to set

sceneStore.applyUserDataRemoval(branch)

Requests the deletion of a userData branch

Kind: instance method of SceneStore
Overrides: applyUserDataRemoval

Param Type Description
branch string Path of the branch to remove

sceneStore.migrateUserTreeData(branch, userData) ⇒ Object

Migrates the userData tree to the latest schema version

Kind: instance method of SceneStore
Overrides: migrateUserTreeData
Returns: Object - The migrated user data tree, returns an empty object if migration failed

Param Type Description
branch string Branch of the userData to migrate
userData Object User data tree to migrate

SceneStore.DEFAULT_SCENE_ID : string

Sets the default ID for the default scene

Kind: static constant of SceneStore

SceneStore.LOG : pino/logger

Dedicated logger for the SceneStore

Kind: static constant of SceneStore

SceneStore.USER_DATA_SCENE_REGEX : string

Matches all user data tree paths that represents a connection update

Kind: static constant of SceneStore

stores.ConnectionStore ⇐ UserTreeStore

Stores all connections saved in the user data of the quiddity userTree

Kind: static class of stores
Extends: UserTreeStore

new ConnectionStore(socketStore, configStore, quiddityStore, shmdataStore, sceneStore, maxLimitStore, lockStore)

Instantiates a new ConnectionStore

The ConnectionStore is used to synchronize the Scenic App cache with the connection object for the userData in the userTree quiddity.

With the SceneStore it represents one of the main feature of Scenic : the capacity to add scenes in order to stage the current telepresence setup.

The ConnectionStore is synchronized with the userTree and updates all its userData tree any time a connection is updated. It only trusts the Switcher signals : that's why it updates its cache only when Switcher notifies a change.

Param Type Description
socketStore module:stores/common.SocketStore Socket manager
configStore module:stores/common.ConfigStore Configuration manager
quiddityStore QuiddityStore Quiddity manager
shmdataStore ShmdataStore Shmdata manager
sceneStore module:stores/userTree.SceneStore UserTree scenes manager
maxLimitStore module:stores/shmdata.MaxLimitStore MaxLimit manager
lockStore module:stores/matrix.LockStore Lock manager

connectionStore.quiddityAPI

Kind: instance property of ConnectionStore
Properties

Name Type Description
quiddityAPI api.QuiddityAPI API used to manage quiddities

connectionStore.userConnections

Kind: instance property of ConnectionStore
Properties

Name Type Description
userConnections Map.<string, module:models/userTree.Connection> All saved connections in the userTree

connectionStore.sceneConnections

Kind: instance property of ConnectionStore
Properties

Name Type Description
sceneConnections Set.<string> All connection IDs that depends on the scenes

connectionStore.armedConnections

Kind: instance property of ConnectionStore
Properties

Name Type Description
armedConnections Set.<string> All connections IDs of the selected scene

connectionStore.activeConnections

Kind: instance property of ConnectionStore
Properties

Name Type Description
armedConnections Set.<string> All connections IDs of the active scene

connectionStore.connectedDestinations

Kind: instance property of ConnectionStore
Properties

Name Type Description
connectedDestinations Set.<string> All destination quiddity IDs that are connected by the user

connectionStore.connectedSources

Kind: instance property of ConnectionStore
Properties

Name Type Description
connectedSources Set.<string> All source quiddity IDs that are connected by the user

connectionStore.connectedScenes

Kind: instance property of ConnectionStore
Properties

Name Type Description
connectedScenes Map.<string, Set.<string>> All connected scenes IDs hashed by connection IDs

connectionStore.connectedShmdatas

Kind: instance property of ConnectionStore
Properties

Name Type Description
connectedShmdatas Map.<string, module:models/shmdata.Shmdata> All connected shmdatas hashed by connection IDs The connected shmdata are connected, it means they are written and read by a source quiddity and a destination quiddity. They must be associated with a connection model! If not, they can be produced by special quiddities that are not in the matrix.

connectionStore.userDataAPI

Kind: instance property of ConnectionStore
Overrides: userDataAPI
Properties

Name Type Description
userDataAPI api.UserDataAPI API used to manage quiddities' user data

connectionStore.quiddityStore

Kind: instance property of ConnectionStore
Overrides: quiddityStore
Properties

Name Type Description
quiddityStore stores.QuiddityStore Stores and manages all quiddities

connectionStore.initialize() ⇒ boolean

Initializes store by fetching current user data

Kind: instance method of ConnectionStore
Returns: boolean - Flags true if store is well initialized
Mermaid:

sequenceDiagram participant U as User participant C as ConnectionStore participant Sw as Switcher U->>C: initialize activate C C-xSw: fetchUserData Sw--xC: userData tree of connections

connectionStore.fallbackUserConnectionsInitialization()

Creates the default quiddity connections in the userTree

Kind: instance method of ConnectionStore

connectionStore.fallbackShmdataSynchronisation()

During a session loading, some shmdata readers are loaded before their associated shmdata writers. Consequently, null shmdatas appear in the tree of some quiddities and the connections will fail.

Kind: instance method of ConnectionStore
Summary: Forces the reconnection of the loaded shmdata

connectionStore.handleSocketChange(socket)

Handles changes to the app's socket

Kind: instance method of ConnectionStore
Overrides: handleSocketChange

Param Type Description
socket socketIO/Socket Event-driven socket

connectionStore.handleSceneStoreInitialization(sceneStoreState)

Initializes or clears the connections when the sceneStore's initialization state changes

Kind: instance method of ConnectionStore

Param Type Description
sceneStoreState InitStateEnum State of the sceneStore's initialization

connectionStore.handleLoadedFile(filename)

Handles loading of a new Session file

Kind: instance method of ConnectionStore

Param Type Description
filename string Loaded file's name

connectionStore.handleActiveScene(activeSceneId, futureSceneId)

It monitors and checks all statements triggered by the switch of the active scene: 1. The user wants to desactivate the current active scene + The handler will be called once with an undefined active scene 2. The user wants to change the active scene, he switches from the scene 1 to the scene 2 + The handler is firstly called with an undefined active scene but the future scene ID is scene 2 + Secondly, the handler is called with the active scene scene 2 only. The handler mainly prevents the application of all the active scene connections twice when the user switches between two active scenes.

Kind: instance method of ConnectionStore
Summary: Handle the toggle of the active scene

Param Type Description
activeSceneId string ID of the active scene, undefined if no scene is active
futureSceneId string ID of the future active scene, it is selected by the user but it was not saved in the user tree

connectionStore.applyActiveSceneConnections()

All following operations must be performed asynchronously in order to avoid conflicts: + Every connections that are not related to the active scene will be disconnected + Every connections of the active scene that are not connected will be connected + Every connections of the active scene that are still connected will not be changed Eventually, all disconnections are performed before all connections.

Kind: instance method of ConnectionStore
Summary: Apply all connections and disconnections for the active scene

connectionStore.handleGraftedUserDataConnections(quiddityId, path, data)

Updates user connections when the user data is grafted

Kind: instance method of ConnectionStore

Param Type Description
quiddityId string ID of the grafted quiddity
path string Tree path of the grafted user data
data Object Grafted data object

connectionStore.handlePrunedUserDataConnections(quiddityId, path)

Updates user connections when the user data is pruned

Kind: instance method of ConnectionStore

Param Type Description
quiddityId string ID of the pruned quiddity
path string Tree path of the pruned user data

connectionStore.handleQuiddityChanges()

It will handle quiddity removals by disconnecting and disarming all connections that depends on the removed source. This process isn't called when a quiddity is stopped, so all its associated connection will remain until it is removed.

Kind: instance method of ConnectionStore
Summary: Updates user connections when a quiddity is removed

connectionStore.populateConnectionsFromUserData(json) ⇒ boolean

Populates connections from user data

Kind: instance method of ConnectionStore
Returns: boolean - Flags true if connections were correctly populated

Param Type Description
json Object User data from userTree

connectionStore.applyUserConnection(connection)

Applies a connection from a user action

Kind: instance method of ConnectionStore

Param Type Description
connection Connection The connection from which all shmdatas will be connected

connectionStore.applyShmdataConnection(connection)

Connects all shmdatas related to a connection

Kind: instance method of ConnectionStore

Param Type Description
connection Connection The connection from which all shmdatas will be connected

connectionStore.applyUserDisconnection(connection)

Applies a disconnection from a user action

Kind: instance method of ConnectionStore

Param Type Description
connection module:models/userTree.Connection The connection from which all shmdatas will be disconnected

connectionStore.applyShmdataDisconnection(connection)

Disconnects all shmdatas related to a connection

Kind: instance method of ConnectionStore

Param Type Description
connection module:models/userTree.Connection The connection from which all shmdatas will be disconnected

connectionStore.applyUserConnectionArmament(connection)

Arms a connection in the connection entry of the userTree

Kind: instance method of ConnectionStore

Param Type Description
connection module:models/userTree.Connection The connection to arm

connectionStore.applyUserConnectionDisarmament(connection)

Disarms a connection in the connection entry of the userTree

Kind: instance method of ConnectionStore

Param Type Description
connection module:models/userTree.Connection The connection to arm

connectionStore.applySceneConnectionArmament(scene, connection)

Arms a connection in a scene

Kind: instance method of ConnectionStore

Param Type Description
scene Scene The scene where the connection is armed
connection Connection The connection to arm

connectionStore.applySceneConnectionDisarmament(connection)

Disarms a connection in the scene userTree

Kind: instance method of ConnectionStore

Param Type Description
connection module:models/userTree.Connection The connection to disarm

connectionStore.applyConnectionArmament(connection)

Arms a connection by updating the scenes and the connections in the userTree

Kind: instance method of ConnectionStore
Mermaid:

sequenceDiagram participant U as User participant C as ConnectionStore participant S as SceneStore participant Sw as Switcher U->>+C: Click on a disarmed connection opt The max reader limit of the destination quiddity is exceed C->>C: Find all connections that reads the destination with the same caps C->>C: Remove the concurrent Connection of the current Scene connections end opt The connection doesn't exist in another Scene C-xSw: Request an update with the new Connection Sw-x+C: Notify that the update succeeded C->>-C: Add the Connection in the userConnection map end C-x-Sw: Request an update of the selected Scene with the armed Connection Sw-x+S: Notify that the update succeeded S->>S: Add the connection into the selected Scene S->>-U: Update the UI by arming the connection in the selected Scene

Param Type Description
connection module:models/userTree.Connection The connection to arm

connectionStore.applyConnectionDisarmament(connection)

Disarms a connection by updating the scenes and the connections in the userTree

Kind: instance method of ConnectionStore
Mermaid:

sequenceDiagram participant U as User participant C as ConnectionStore participant S as SceneStore participant Sw as Switcher U->>+C: Click on an armed connection C--x-Sw: Request the update of the selected Scene with the Connection removed opt The connection does't exist in another Scene Sw--x+C: Notify that the update succeeded C--xSw: Request the removal of the Connection in the userTree Sw--xC: Notify that the removal succeeded C->>-C: Remove the connection of the userConnection map end Sw--x+S: Notify that the update succeeded S->>S: Remove the Connection of the selected Scene S->>-U: Update the UI by disarming the connection of the selected Scene

Param Type Description
connection module:models/userTree.Connection The connection to disarm

connectionStore.isSceneMaxReaderLimitExceed(scene, quiddityId) ⇒ boolean

Checks if the current connections of the quiddity exceeds the max reader limit in a scene

Kind: instance method of ConnectionStore
Returns: boolean - Flags true if the connection count is lesser than the maxReader property

Param Type Description
scene Scene The scene to check
quiddityId string The destination quiddity to connect

connectionStore.findConcurrentSceneConnections(scene, connection) ⇒ Array.<Connection>

Finds all concurrent connections in a scene

Kind: instance method of ConnectionStore
Returns: Array.<Connection> - All concurent connections

Param Type Description
scene Scene The scene to check
connection Connection The connection to find concurrents with

connectionStore.findCompatibleShmdatas(connection) ⇒ Array.<module:models/shmdata.Shmdata>

Finds all shmdata that could be liked to a connection

Kind: instance method of ConnectionStore
Returns: Array.<module:models/shmdata.Shmdata> - Returns an array of all compatible shmdatas

Param Type Description
connection module:models/userTree.Connection A connection model

connectionStore.addUserConnection(connection)

Adds a new connection in the userConnections Map

Kind: instance method of ConnectionStore

Param Type Description
connection Connection The new connection to add

connectionStore.removeUserConnection(connectionId)

Deletes a connection from the userConnections Map

Kind: instance method of ConnectionStore

Param Type Description
connectionId string ID of the connection to delete

connectionStore.clear()

Cleans up user connections of the store

Kind: instance method of ConnectionStore

connectionStore.fallbackUserTreeQuiddity()

Creates the userTree quiddity Note that by default, the userTree quiddity is the only quiddity created by Scenic

Kind: instance method of ConnectionStore
Overrides: fallbackUserTreeQuiddity

connectionStore.fetchUserData([branch]) ⇒ string | number | boolean | Object

Fetches user data from the userTree quiddity

Kind: instance method of ConnectionStore
Overrides: fetchUserData
Returns: string | number | boolean | Object - Returns the fetched user data (by default it returns an empty object)

Param Type Default Description
[branch] string "'.'" Path in the userData tree to fetch

connectionStore.applyUserDataCreation(branch, userData)

Requests change in the userData tree of the userTree quiddity

Kind: instance method of ConnectionStore
Overrides: applyUserDataCreation

Param Type Description
branch string Path of the data in the userData tree
userData string | number | boolean | Object The user data to set

connectionStore.applyUserDataRemoval(branch)

Requests the deletion of a userData branch

Kind: instance method of ConnectionStore
Overrides: applyUserDataRemoval

Param Type Description
branch string Path of the branch to remove

connectionStore.migrateUserTreeData(branch, userData) ⇒ Object

Migrates the userData tree to the latest schema version

Kind: instance method of ConnectionStore
Overrides: migrateUserTreeData
Returns: Object - The migrated user data tree, returns an empty object if migration failed

Param Type Description
branch string Branch of the userData to migrate
userData Object User data tree to migrate

ConnectionStore.LOG : pino/logger

Dedicated logger for the ConnectionStore

Kind: static constant of ConnectionStore

ConnectionStore.USER_DATA_CONNECTION_REGEX : string

Matches all user data tree paths that represents a connection update

Kind: static constant of ConnectionStore

stores.RtmpStore ⇐ stores.Store

Manages all RTMP quiddities

Kind: static class of stores
Extends: stores.Store

new RtmpStore(socketStore, quiddityStore, shmdataStore, maxLimitStore, lockStore, modalStore)

Instantiates a new RtmpStore

Param Type Description
socketStore SocketStore Stores and manages the current event-driven socket
quiddityStore stores.QuiddityStore Quiddity manager
shmdataStore stores.ShmdataStore Shmdata manager
maxLimitStore MaxLimitStore MaxLimit manager
lockStore stores.LockStore Lock manager
modalStore ModalStore Modal manager

rtmpStore.quiddityStore

Kind: instance property of RtmpStore
Properties

Name Type Description
quiddityStore stores.QuiddityStore Stores and manages all quiddities

rtmpStore.maxLimitStore

Kind: instance property of RtmpStore
Properties

Name Type Description
maxLimitStore MaxLimitStore Stores and manages all quiddities connection limits

rtmpStore.modalStore

Kind: instance property of RtmpStore
Properties

Name Type Description
modalStore ModalStore Stores and manages all the app's modals

rtmpStore.isRtmpRequested

Kind: instance property of RtmpStore
Properties

Name Type Description
isStreamRequested boolean Flag to notify a user request

rtmpStore.fallbackRtmpMaxLimit()

Updates the RTMP max reader limit

Kind: instance method of RtmpStore

rtmpStore.handleStartedPropertyChange()

Handles each startable properties changes It locks every RTMP quiddities that are started

Kind: instance method of RtmpStore
Mermaid:

sequenceDiagram User->>QuiddityStore: create a RTMP destination activate QuiddityStore QuiddityStore->>ConfigStore: ask for configured quiddities activate ConfigStore ConfigStore-->>QuiddityStore: return initQuiddities configuration deactivate ConfigStore QuiddityStore->>QuiddityStore: process a quiddity QuiddityStore-->>User: display the destination deactivate QuiddityStore opt The RTMP starting requirements are fullfiled User->>PropertyStore: start the destination activate PropertyStore PropertyStore->>PropertyStore: process the started property PropertyStore-->>RtmpStore: react to started quiddity and shmdata updates deactivate PropertyStore activate RtmpStore RtmpStore->>LockStore: lock the RTMP quiddity deactivate RtmpStore activate LockStore LockStore->>LockStore: update lockers LockStore-->>User: display the RTMP destination as locked deactivate LockStore end

rtmpStore.handleRtmpRequest(state)

Handles changes to the isRtmpRequested flag

Kind: instance method of RtmpStore

Param Type Description
state boolean State of the isRtmpRequested flag

rtmpStore.applyRtmpQuiddityCreation(url, key)

Creates an RTMP quiddity with the provided RTMP settings from the Modal

Kind: instance method of RtmpStore

Param Type Description
url string RTMP URL to stream to
key string RTMP stream key

rtmpStore.setRtmpRequestFlag(state)

Sets the RTMP request flag

Kind: instance method of RtmpStore

Param Type Description
state boolean Is the RTMP requested or not

RtmpStore.LOG : pino/logger

Dedicated logger for the RtmpStore

Kind: static constant of RtmpStore

RtmpStore.RTMP_ID : string

ID of the RTMP quiddity

Kind: static constant of RtmpStore

RtmpStore.RTMP_CLASS : string

Class of the RTMP quiddity

Kind: static constant of RtmpStore

RtmpStore.RTMP_MAX_LIMIT : number

Fixed max reader limit of RTMP

Kind: static constant of RtmpStore

stores.QuiddityStatusStore ⇐ stores.Store

Store all quiddity statuses

Kind: static class of stores
Extends: stores.Store

new QuiddityStatusStore(socketStore, quiddityStore, propertyStore, shmdataStore, statStore)

Instantiates a new QuiddityStatusStore

Param Type Description
socketStore SocketStore Socket manager
quiddityStore stores.QuiddityStore Quiddity manager
propertyStore PropertyStore PropertyStore
shmdataStore stores.ShmdataStore Shmdata manager
statStore StatStore Shmdata stat manager

quiddityStatusStore.sourceStatuses

Kind: instance property of QuiddityStatusStore
Properties

Name Type Description
sourceStatuses Map.<string, enums.StatusEnum> All source quiddity statuses by quiddity IDs

quiddityStatusStore.destinationStatuses

Kind: instance property of QuiddityStatusStore
Properties

Name Type Description
destinationStatuses Map.<string, enums.StatusEnum> All destination quiddity statuses by quiddity IDs

quiddityStatusStore.quiddityStatuses

Kind: instance property of QuiddityStatusStore
Properties

Name Type Description
quiddityStatuses Map.<string, enums.StatusEnum> All quiddity statuses by quiddity IDs

quiddityStatusStore.handleQuiddityStatusesUpdate()

Handles all quiddity updates

Kind: instance method of QuiddityStatusStore

quiddityStatusStore.populateQuiddityStatuses()

Populates all the quiddity statuses

Kind: instance method of QuiddityStatusStore

quiddityStatusStore.cleanQuiddityStatuses()

Cleans all the quiddity statuses

Kind: instance method of QuiddityStatusStore

quiddityStatusStore.makeGlobalQuiddityStatus(sourceSatus, destinationStatus) ⇒ models.StatusEnum

Adds two statuses from quiddities that are a source and a destination

Kind: instance method of QuiddityStatusStore
Returns: models.StatusEnum - Global status of the quiddity

Param Type Description
sourceSatus models.StatusEnum Status of the source
destinationStatus models.StatusEnum Status of the destination

quiddityStatusStore.makeQuiddityStatus(quiddityId) ⇒ enums.StatusEnum

Gets the status of a quiddity It checks the shmdata written or read by the quiddity: + if the quiddity doesn't write or read shmdata, it is INACTIVE + if the quiddity writes or reads shmdata and - all the stats of the shmdatas are active, the status is ACTIVE - all the stats of the shmdatas are inactive, the status is ERROR - some stats of the shmdatas are inactive, the status is WARNING

Kind: instance method of QuiddityStatusStore
Returns: enums.StatusEnum - Status of the quiddity

Param Type Description
quiddityId string ID of the quiddity

quiddityStatusStore.setQuiddityStatus(quiddityTag, quiddityId, quiddityStatus)

Sets a quiddity status

Kind: instance method of QuiddityStatusStore

Param Type Description
quiddityTag QuiddityTagEnum The tag of the quiddity
quiddityId string The ID of the quiddity
quiddityStatus models.StatusEnum The status of the quiddity

quiddityStatusStore.removeQuiddityStatus(quiddityTag, quiddityId)

Removes a quiddity status

Kind: instance method of QuiddityStatusStore

Param Type Description
quiddityTag QuiddityTagEnum The tag of the quiddity
quiddityId string The ID of the quiddity

quiddityStatusStore.clear()

Clears all stored statuses

Kind: instance method of QuiddityStatusStore

QuiddityStatusStore.LOG : pino/logger

Dedicated logger for the QuiddityStatusStore

Kind: static constant of QuiddityStatusStore

stores.SystemUsageStore ⇐ stores.Store

Stores and manages the SystemUsage quiddity

Kind: static class of stores
Extends: stores.Store
Todo

  • [ ] Reset system usage maps with 0 values

new SystemUsageStore(socketStore, configStore, quiddityStore)

Instantiates a new SystemUsageStore

Param Type Description
socketStore SocketStore Stores and manages the current event-driven socket
configStore ConfigStore Configuration manager
quiddityStore stores.QuiddityStore Quiddity manager

systemUsageStore.networkAPI

Kind: instance property of SystemUsageStore
Properties

Name Type Description
networkAPI api.NetworkAPI API used to retrieve usage statistic about the Switcher server

systemUsageStore.treeAPI

Kind: instance property of SystemUsageStore
Properties

Name Type Description
treeAPI api.TreeAPI API used to control all quiddity trees

systemUsageStore.configStore

Kind: instance property of SystemUsageStore
Properties

Name Type Description
configStore ConfigStore Stores and manages app's configuration

systemUsageStore.quiddityStore

Kind: instance property of SystemUsageStore
Properties

Name Type Description
quiddityStore stores.QuiddityStore Stores and manages all quiddities

systemUsageStore.memory

Kind: instance property of SystemUsageStore
Properties

Name Type Description
memory models.Memory Current memory state

systemUsageStore.selectedInterfaceOption

Kind: instance property of SystemUsageStore
Properties

Name Type Description
selectedInterfaceOption Object Current selected interface option
selectedInterfaceOption.value string Value of the interface option
selectedInterfaceOption.label string Label of the interface option

systemUsageStore.networkInterfaces

Kind: instance property of SystemUsageStore
Properties

Name Type Description
networkInterfaces Map.<models.NetworkInterface> Current state of all network interfaces

systemUsageStore.cpuCores

Kind: instance property of SystemUsageStore
Properties

Name Type Description
cpuCore Map.<models.CpuCore> Current state of all cpu cores

systemUsageStore.interfaceOptions

Kind: instance property of SystemUsageStore
Properties

Name Type Description
interfaceOptions Array.<Object> All available options to select for the network interfaces

systemUsageStore.selectedInterface

Kind: instance property of SystemUsageStore
Properties

Name Type Description
selectedInterface models.NetworkInterface Current state of the selected network interface

systemUsageStore.hasInterface

Kind: instance property of SystemUsageStore
Properties

Name Type Description
hasInterface boolean Checks if a network interface is available

systemUsageStore.hasCpu

Kind: instance property of SystemUsageStore
Properties

Name Type Description
hasCpu boolean Checks if a CPU core is available

systemUsageStore.initialize() ⇒ boolean

Initializes the system usage by fetching all states of the memory, cpu cores and network interfaces

Kind: instance method of SystemUsageStore
Returns: boolean - Flags true if store is well initialized

systemUsageStore.fallbackSystemUsageQuiddity()

Creates the systemusage quiddity

Kind: instance method of SystemUsageStore

systemUsageStore.handleSocketChange(socket)

Handles changes to the app's socket

Kind: instance method of SystemUsageStore

Param Type Description
socket socketIO/Socket Event-driven socket

systemUsageStore.handleQuiddityStoreInitialization(initState)

Handles quiddityStore's initialization state changes

Kind: instance method of SystemUsageStore

Param Type Description
initState InitStateEnum State of the quiddityStore's initialization

systemUsageStore.handleGraftedTop(payload)

Updates all states when the tree of the quiddity SystemUsage is grafted

Kind: instance method of SystemUsageStore

Param Type Description
payload Object The grafted tree

systemUsageStore.updateCpuUsage(payload)

Updates the state of all cpu cores

Kind: instance method of SystemUsageStore

Param Type Description
payload Object The JSON representation of the cpu cores

systemUsageStore.updateNetworkInterfacesUsage(payload)

Updates the state of all network interfaces

Kind: instance method of SystemUsageStore

Param Type Description
payload Object The JSON representation of the network interfaces

systemUsageStore.addCpuCore(cpuCore)

Adds a new cpu core in the store

Kind: instance method of SystemUsageStore

Param Type Description
cpuCore models.CpuCore The new cpu core to store

systemUsageStore.addNetworkInterface(networkInterface)

Adds a new network interface in the store

Kind: instance method of SystemUsageStore

Param Type Description
networkInterface models.NetworkInterface The new network interface to store

systemUsageStore.updateInterfaceSelection(id)

Updates the selected network interface

Kind: instance method of SystemUsageStore

Param Type Description
id string ID of the selected network interface option

systemUsageStore.updateMemoryUsage(payload)

Updates the current state of the memory

Kind: instance method of SystemUsageStore

Param Type Description
payload Object The JSON representation of the memory

systemUsageStore.clear()

Cleans up SystemUsageStore

Kind: instance method of SystemUsageStore

SystemUsageStore.LOG : pino/logger

Dedicated logger for the SystemUsageStore

Kind: static constant of SystemUsageStore

SystemUsageStore.SYSTEM_USAGE_TREE_REGEX : RegExp

Matches all top changes of the SystemUsage quiddity

Kind: static constant of SystemUsageStore

SystemUsageStore.SYSTEM_USAGE_CLASS : string

Class of the SystemUsage quiddity

Kind: static constant of SystemUsageStore

SystemUsageStore.SYSTEM_USAGE_ID : string

ID of the SystemUsage quiddity

Kind: static constant of SystemUsageStore

SystemUsageStore.LOCAL_INTERFACE : string

ID of the local network interface

Kind: static constant of SystemUsageStore

stores.QuiddityMenuStore ⇐ stores.Store

Stores the state of all quiddity menus

It defines a menu and generates a userMenu from it: the menu is built once whereas the userMenu is updated on all quiddity updates

Kind: static class of stores
Extends: stores.Store

new QuiddityMenuStore(socketStore, configStore, quiddityStore)

Instantiates a new Store which manages all menus used to create quiddities

Param Type Description
socketStore SocketStore Stores and manages the current event-driven socket
configStore ConfigStore Configuration manager
quiddityStore stores.QuiddityStore Quiddity manager

quiddityMenuStore.configStore

Kind: instance property of QuiddityMenuStore
Properties

Name Type Description
configStore ConfigStore Stores and manages the app's configuration

quiddityMenuStore.quiddityStore

Kind: instance property of QuiddityMenuStore
Properties

Name Type Description
quiddityStore stores.QuiddityStore Stores and manages all quiddities

quiddityMenuStore.menuBindings

Kind: instance property of QuiddityMenuStore
Properties

Name Type Description
menuBindings Map.<string, function()> Function used to create specific quiddity with the menu

quiddityMenuStore.classLabelBindings

Kind: instance property of QuiddityMenuStore
Properties

Name Type Description
classLabelBindings Map.<string, string> Label bindings use to prettify quiddity classes It overrides and complements the menu labels (exemple: ndiInput that is defined by the Executor)

quiddityMenuStore.openedCollections

Kind: instance property of QuiddityMenuStore
Properties

Name Type Description
openedCollections Set.<string> Set of all opened collections in the UI

quiddityMenuStore.openedMenus

Kind: instance property of QuiddityMenuStore
Properties

Name Type Description
openedMenus Set.<string> Set of all opened menus in the UI

quiddityMenuStore.menus

Kind: instance property of QuiddityMenuStore
Properties

Name Type Description
menus Array.<MenuCollection> Menus defined by configuration or quiddity classes

quiddityMenuStore.userMenus

Kind: instance property of QuiddityMenuStore
Properties

Name Type Description
userMenus Map.<string, models.MenuCollection> All menus available to the user

quiddityMenuStore.menuIds

Kind: instance property of QuiddityMenuStore
Properties

Name Type Description
menuIds Array.<string> All IDs of the menu tree

quiddityMenuStore.showableMenus

Kind: instance property of QuiddityMenuStore
Properties

Name Type Description
showableMenus Array.<modules:models/menus.MenuCollection> All the menus that are not exclusive or hidden

quiddityMenuStore.classLabels

Kind: instance property of QuiddityMenuStore
Properties

Name Type Description
classLabels Map.<string, string> All menus labels hashed by quiddity classes

quiddityMenuStore.initialize() ⇒ boolean

Initializes the userMenu from configuration or from quiddity classes

Kind: instance method of QuiddityMenuStore
Returns: boolean - Flags true if store is well initialized

quiddityMenuStore.handleQuiddityStoreInitialization(initState)

Initializes or clears the store when the quiddityStore initialization state changes

Kind: instance method of QuiddityMenuStore

Param Type Description
initState InitStateEnum State of the quiddityStore's initialization

quiddityMenuStore.handleQuiddityRequest(quidClass, quidMenuName) ⇒ function

Handles quiddity creation request from the quiddity menu

Kind: instance method of QuiddityMenuStore
Returns: function - Quiddity creation async function

Param Type Description
quidClass string Class of the requested quiddity
quidMenuName string Name of the requested quiddity from the quiddity menu

quiddityMenuStore.populateUserMenus()

Populates the userMenu after each quiddity update

Kind: instance method of QuiddityMenuStore

quiddityMenuStore.populateMenuFromClasses()

Populates a menu from all quiddity classes

Kind: instance method of QuiddityMenuStore

quiddityMenuStore.updateMenus()

Updates the menu with the created quiddities

Kind: instance method of QuiddityMenuStore

quiddityMenuStore.addMenuBinding(quiddityClass, boundFunction)

Add a new quiddity menu binding

Kind: instance method of QuiddityMenuStore

Param Type Description
quiddityClass string Quiddity class to bind a function to
boundFunction function Function to call when creating associated quiddity class

quiddityMenuStore.removeMenuBinding(quiddityClass)

Removes a quiddity menu binding

Kind: instance method of QuiddityMenuStore

Param Type Description
quiddityClass string The binded quiddity class

quiddityMenuStore.addClassLabelBindings(quiddityClass, label)

Adds a label for a quiddity class that is not defined in the menus

Kind: instance method of QuiddityMenuStore

Param Type Description
quiddityClass string ID of the quiddity class
label string Label used to display the class

quiddityMenuStore.setMenus(menus)

Sets new quiddity menus by replacing all old menus

Kind: instance method of QuiddityMenuStore

Param Type Description
menus Array.<(models.MenuCollection|models.MenuItem)> The current quiddity menu

quiddityMenuStore.addUserMenu(menu)

Adds a new user menu in a MobX action

Kind: instance method of QuiddityMenuStore

Param Type Description
menu MenuCollection | MenuItem A menu model

quiddityMenuStore.toggleCollection(collectionKey)

Toggle a collection to display or hide A collection represents a collection of menus and sub-menus.

Kind: instance method of QuiddityMenuStore

Param Type Description
collectionKey string Unique key of the collection

quiddityMenuStore.toggleMenu(menuKey)

Toggle a menu or a sub-menu to display or hide

Kind: instance method of QuiddityMenuStore

Param Type Description
menuKey string Unique key of the menu

quiddityMenuStore.clearCollection(collectionKey)

Clears a collection by closing it and all of its menus

Kind: instance method of QuiddityMenuStore

Param Type Description
collectionKey string Unique key of the collection

quiddityMenuStore.clearAllMenus()

Clears all collections and all menus

Kind: instance method of QuiddityMenuStore

quiddityMenuStore.clear()

Cleans the user menu

Kind: instance method of QuiddityMenuStore

QuiddityMenuStore.LOG : pino/logger

Dedicated logger for the QuiddityMenuStore

Kind: static constant of QuiddityMenuStore

stores.OrderStore ⇐ stores.Store

Stores and manages the display order of each quiddity

Kind: static class of stores
Extends: stores.Store

new OrderStore(socketStore, quiddityStore)

Instantiates a new OrderStore

Param Type Description
socketStore SocketStore Socket manager
quiddityStore stores.QuiddityStore Quiddity manager

orderStore.userDataAPI

Kind: instance property of OrderStore
Properties

Name Type Description
userDataAPI UserDataAPI API used to manage quiddities' user data

orderStore.quiddityStore

Kind: instance property of OrderStore
Properties

Name Type Description
quiddityStore QuiddityStore Stores and manages all quiddities

orderStore.sourceOrders

Kind: instance property of OrderStore
Properties

Name Type Description
sourceOrders Map.<string, number> All orders hashed by source quiddity IDs

orderStore.destinationOrders

Kind: instance property of OrderStore
Properties

Name Type Description
destinationOrders Map.<string, number> All orders hashed by destination quiddity IDs

orderStore.sortedDestinations

Kind: instance property of OrderStore
Properties

Name Type Description
sortedDestinations Array.<Quiddity> Sorted list of destinations quiddities

orderStore.sortedSources

Kind: instance property of OrderStore
Properties

Name Type Description
sortedSources Array.<Quiddity> Sorted list of source quiddities

orderStore.getQuiddityRank(orderMap, quiddityA, quiddityB) ⇒ Number

Compares quiddities according to their orders

Kind: instance method of OrderStore
Returns: Number - Returns a rank between quiddites A and B

Param Type Description
orderMap Map.<string, number> Orders mapped by quiddity IDs
quiddityA Quiddity First quiddity to sort
quiddityB Quiddity Second quiddity to sort

orderStore.fetchOrder(quiddityTag, quiddityId) ⇒ number

Fetches the order of a given quiddity

Kind: instance method of OrderStore
Returns: number - Order value of the quiddity, returns null if it fails

Param Type Description
quiddityTag QuiddityTagEnum Type of the quiddity
quiddityId string ID of the quiddity

orderStore.handleSocketChange(socket)

Handles changes to the app's socket

Kind: instance method of OrderStore

Param Type Description
socket socketIO/Socket Event-driven socket

orderStore.handleGraftedOrder(quiddityId, treePath, treeData)

Handles the update of a quiddity's order

Kind: instance method of OrderStore

Param Type Description
quiddityId string ID of the updated quiddity
treePath string Path of the updated order
treeData number Updated order value

orderStore.handleQuiddityCreation()

Handles the creation of a quiddity

Kind: instance method of OrderStore

orderStore.populateOrders(quiddityTag, [quiddityIds])

Populates order for a set of quiddities

Kind: instance method of OrderStore

Param Type Default Description
quiddityTag QuiddityTagEnum Tag of the quiddities
[quiddityIds] Array.<string> [] All quiddities to process

orderStore.hasOrder(quiddityId, [quiddityTag]) ⇒ boolean

Checks if a quiddity has a stored order

Kind: instance method of OrderStore
Returns: boolean - Returns true if the quiddity has a stored order

Param Type Description
quiddityId string ID of the quiddity
[quiddityTag] QuiddityTagEnum Tag of the quiddity

orderStore.updateOrder(quiddityTag, quiddityId, [userOrder])

Updates the order for a quiddity

Kind: instance method of OrderStore

Param Type Default Description
quiddityTag QuiddityTagEnum Tag of the quiddity
quiddityId string ID of the quiddity
[userOrder] number DEFAULT_ORDER Quiddity's order

orderStore.cleanOrders(quiddityId)

Cleans all useless orders if a quiddity was removed

Kind: instance method of OrderStore

Param Type Description
quiddityId string The quiddity ID to clean

orderStore.applyOrderChange(quiddityTag, quiddityId, order)

Requests a change to the quiddity's order

Kind: instance method of OrderStore

Param Type Description
quiddityTag QuiddityTagEnum Tag of the quiddity
quiddityId string ID of the quiddity
order number Order of the quiddity

orderStore.isUpdatedOrder(quiddityTag, quiddityId, order) ⇒ boolean

Checks if the new order is different from the stored one

Kind: instance method of OrderStore
Returns: boolean - Returns true if the new order is different

Param Type Description
quiddityTag string Tag of the quiddity
quiddityId string Id of the quiddity
order number Order of the quiddity

orderStore.isValidOrder(order) ⇒ boolean

Checks if the order value is valid

Kind: instance method of OrderStore
Returns: boolean - Returns true if the order is valid

Param Type Description
order string | number The order value

orderStore.setOrder(quiddityTag, quiddityId, newOrder)

Sets the order of a given quiddity

Kind: instance method of OrderStore

Param Type Description
quiddityTag QuiddityTagEnum Tag of the quiddity
quiddityId string ID of the quiddity
newOrder number | string New order of the quiddity

orderStore.removeOrder(quiddityId)

Deletes all orders of a quiddity

Kind: instance method of OrderStore

Param Type Description
quiddityId string ID of the quiddity

orderStore.clear()

Cleans OrderStore

Kind: instance method of OrderStore

OrderStore.LOG : pino/logger

Dedicated logger for the OrderStore

Kind: static constant of OrderStore

OrderStore.ORDER_PROPERTY_PATHS : Array.<string>

All tree paths that mark an order update

Kind: static constant of OrderStore

OrderStore.DEFAULT_ORDER : number

A default order

Kind: static constant of OrderStore

stores.SoapStore ⇐ stores.Store

Stores SOAPcontrolServer quiddity

Kind: static class of stores
Extends: stores.Store

new SoapStore(socketStore, configStore, quiddityStore)

Instantiates a new SoapStore

Param Type Description
socketStore SocketStore Stores and manages the current event-driven socket
configStore ConfigStore Configuration manager
quiddityStore stores.QuiddityStore Quiddity manager

soapStore.methodAPI

Kind: instance property of SoapStore
Properties

Name Type Description
methodAPI api.MethodAPI API used to manage SOAP methods

soapStore.quiddityAPI

Kind: instance property of SoapStore
Properties

Name Type Description
quiddityAPI api.QuiddityAPI API used to manage SOAP quiddity

soapStore.configStore

Kind: instance property of SoapStore
Properties

Name Type Description
configStore ConfigStore Stores and manages app's configuration

soapStore.quiddityStore

Kind: instance property of SoapStore
Properties

Name Type Description
quiddityStore stores.QuiddityStore Stores and manages all quiddities

soapStore.port

Kind: instance property of SoapStore
Properties

Name Type Description
port number Current SOAP port

soapStore.initialize()

Initializes the store by checking the QuiddityStore state

Kind: instance method of SoapStore

soapStore.fallbackSoapQuiddity()

Creates the SOAPcontrolServer quiddity

Kind: instance method of SoapStore

soapStore.handleSocketChange(socket)

Handles changes to the app's socket

Kind: instance method of SoapStore

Param Type Description
socket socketIO/Socket Event-driven socket

soapStore.handleConfigurationUpdate()

Handles the update of the configuration

Kind: instance method of SoapStore

soapStore.applySOAPPort() ⇒

Set SOAP port

Kind: instance method of SoapStore
Returns: Flags true if port was successfully set

SoapStore.LOG : pino/logger

Dedicated logger for the SoapStore

Kind: static constant of SoapStore

SoapStore.SOAP_CLASS : string

Class of the SOAP quiddity

Kind: static constant of SoapStore

SoapStore.SOAP_ID : string

ID of the SOAP quiddity

Kind: static constant of SoapStore

SoapStore.DEFAULT_SOAP_PORT : number

Default port used for SOAP communication

Kind: static constant of SoapStore

stores.PropertyStore ⇐ stores.Store

Stores all quiddity properties

Kind: static class of stores
Extends: stores.Store

new PropertyStore(socketStore, configStore, quiddityStore)

Instantiates a new PropertyStore

Param Type Description
socketStore SocketStore Stores and manages the current event-driven socket
configStore ConfigStore Configuration manager
quiddityStore stores.QuiddityStore Quiddity manager

propertyStore.propertyAPI

Kind: instance property of PropertyStore
Properties

Name Type Description
propertyAPI api.PropertyAPI API used to control all properties

propertyStore.treeAPI

Kind: instance property of PropertyStore
Properties

Name Type Description
treeAPI api.TreeAPI API used to control all quiddity trees

propertyStore.properties

Kind: instance property of PropertyStore
Properties

Name Type Description
properties Map.<string, Map.<string, models.Property>> Map of all property models by quiddity IDs and property IDs

propertyStore.values

Kind: instance property of PropertyStore
Properties

Name Type Description
values Map.<string, Map.<string, (string|boolean|number)>> Map of all property values by quiddity IDs and property IDs

propertyStore.statuses

Kind: instance property of PropertyStore
Properties

Name Type Description
statuses Map.<string, Map.<string, boolean>> Map of all properties' activation status by quiddity ID and property ID. A 'false' status means that a property is disabled and cannot be edited

propertyStore.sortedProperties

Kind: instance property of PropertyStore
Properties

Name Type Description
sortedProperties Map.<string, Map.<string, models.Property>> All sorted property maps hashed by quiddity ID

propertyStore.startableProperties

Kind: instance property of PropertyStore
Properties

Name Type Description
startableProperties Map.<string, module:models/quiddity.Property> All startable properties hashed by quiddity ID

propertyStore.startedQuiddities

Kind: instance property of PropertyStore
Properties

Name Type Description
startedQuiddities Set.<string> All started quiddity IDs

propertyStore.groupedProperties

Kind: instance property of PropertyStore
Properties

Name Type Description
groupedProperties Map.<string, Map.<string, Map.<string, models.Property>>> All grouped properties hashed by quiddity ID, property group ID and property ID All properties are also sorted

propertyStore.makePropertyModels(quiddityId, quiddity) ⇒ Array.<Property>

Parses all property models from a quiddity tree

Kind: instance method of PropertyStore
Returns: Array.<Property> - - Array of all the quiddity's properties

Param Type Description
quiddityId string ID of the quiddity
quiddity Quiddity The quiddity model

propertyStore.makePropertyModel(quiddityId, jsonProperty)

Parse a quiddity tree

Kind: instance method of PropertyStore

Param Type Description
quiddityId string ID of the quiddity
jsonProperty object Tree of the quiddity

propertyStore.initializeProperties(quiddityId)

Initializes all properties of a quiddity

Kind: instance method of PropertyStore

Param Type Description
quiddityId string ID of the quiddity

propertyStore.fallbackUndefinedPropertyValue(quiddityId, property)

Fallbacks a property with an undefined value

Kind: instance method of PropertyStore

Param Type Description
quiddityId string ID of the quiddity
property Property Property to fallback

propertyStore.fallbackSelectionPropertyInitialization(quiddityId, property)

Fallbacks a selection property during initialization by resending the initial value

Kind: instance method of PropertyStore
Todo

  • [ ] Fix the default enabled status of the width and height properties for the v4l2 quiddity with a default resolution
Param Type Description
quiddityId string ID of the quiddity
property models.property Property to fallback

propertyStore.fetchPropertyValue(quiddityId, propertyId) ⇒ boolean | string | number

Fetches a property's value

Kind: instance method of PropertyStore
Returns: boolean | string | number - Value of the property

Param Type Description
quiddityId string ID of the quiddity to fetch
propertyId string ID of the property to fetch

propertyStore.handleSocketChange(socket)

Handles changes to the app's socket

Kind: instance method of PropertyStore

Param Type Description
socket socketIO/Socket Event-driven socket

propertyStore.handleUpdatedProperty(quiddityId, propertyId, updatedValue)

Handles the update of a quiddity's property

Kind: instance method of PropertyStore

Param Type Description
quiddityId string ID of the handled quiddity
propertyId string ID of the handled property
updatedValue string | number | boolean Updated value of the property

propertyStore.handleGraftedProperty(quiddityId, graftedPath, graftedValue)

Handles the graft of a quiddity's property

Kind: instance method of PropertyStore

Param Type Description
quiddityId string ID of the handled quiddity
graftedPath string Grafted path of the quiddity's tree
graftedValue string New value of the grafted tree

propertyStore.handleUpdatedQuiddities([quiddityIds])

Handles the change of a set of quiddities by initializing the new ones and removing the dead ones

Kind: instance method of PropertyStore

Param Type Default Description
[quiddityIds] Array.<string> [] Set of updated quiddities

propertyStore.applyNewPropertyValue(quiddityId, propertyId, newValue)

Applies a new value for a given property

Kind: instance method of PropertyStore

Param Type Description
quiddityId string ID of the quiddity to update
propertyId string ID of the property to update
newValue string | number | boolean New value of the property

propertyStore.applyPropertyReset(quiddityId, propertyId)

Resets property with its default value

Kind: instance method of PropertyStore

Param Type Description
quiddityId string ID of the quiddity
propertyId string ID of the property

propertyStore.applyPropertyResetAll(quiddityId)

Applies the default value to all properties of a quiddity

Kind: instance method of PropertyStore

Param Type Description
quiddityId string ID of the quiddity

propertyStore.updatePropertyValue(quiddityId, propertyId, [newValue])

Updates a property with a new value, if the value is not specified it will be fetched

Kind: instance method of PropertyStore

Param Type Default Description
quiddityId string ID of the updated quiddity
propertyId string ID of the updated property
[newValue] string | number | boolean null Updated value of the property

propertyStore.sortPropertyMap(map) ⇒ Map.<string, models.Property>

Sorts a map of properties according to each property's order

Kind: instance method of PropertyStore
Returns: Map.<string, models.Property> - A sorted property map

Param Type Description
map Map.<string, models.Property> The property map to sort

propertyStore.isFalsy(quiddityId, propertyId) ⇒ boolean

Checks if the property is falsy

Kind: instance method of PropertyStore
Returns: boolean - Flags true if the property value is falsy
See: JavaScript Falsy values

Param Type Description
quiddityId string ID of the quiddity
propertyId string ID of the property

propertyStore.isStartableProperty(propertyId) ⇒ boolean

Checks if the property ID refers to a startable property

Kind: instance method of PropertyStore
Returns: boolean - Returns true if the property is startable

Param Type Description
propertyId string ID of the property

propertyStore.getStartableProperty(quiddityId) ⇒ module:models/quiddity.Property

Gets the startable property for a given quiddity

Kind: instance method of PropertyStore
Returns: module:models/quiddity.Property - The model of the startable property

Param Type Description
quiddityId string ID of the quiddity

propertyStore.isStartable(quiddityId) ⇒ boolean

Checks if a quiddity is startable

Kind: instance method of PropertyStore

Param Type Description
quiddityId string ID of the quiddity

propertyStore.isStarted(quiddityId) ⇒ boolean

Checks if a quiddity is started

Kind: instance method of PropertyStore

Param Type Description
quiddityId string ID of the quiddity

propertyStore.isEnabled(quiddityId, propertyId) ⇒ boolean

Checks if a quiddity is enabled (all properties of started quiddities are disabled) by checking if the quiddity is started and if the property is enabled and writable

Kind: instance method of PropertyStore
Returns: boolean - - Flags if the property is enabled

Param Type Description
quiddityId string ID of the quiddity to check
propertyId string ID of the property to check

propertyStore.isHidden(propertyId) ⇒ boolean

Checks if the property is hidden by the configuration

Kind: instance method of PropertyStore
Returns: boolean - Flags true if the property is hidden

Param Type Description
propertyId string ID of the property

propertyStore.hasProperty(quiddityId, propertyId) ⇒ boolean

Checks if the store contains a specific quiddity property

Kind: instance method of PropertyStore
Returns: boolean - Flags true if the quiddity has the requested property

Param Type Description
quiddityId string ID of the quiddity to check
propertyId string ID of the property to check

propertyStore.hasValue(quiddityId, propertyId) ⇒ boolean

Checks if the store contains a value for a specific property

Kind: instance method of PropertyStore
Returns: boolean - Flags true if there is a value stored for the property

Param Type Description
quiddityId string ID of the quiddity
propertyId string ID of the property

propertyStore.hasGroupedProperties(quiddityId) ⇒ boolean

Checks if the quiddity has property groups All properties without a group are grouped under the DEFAULT_PROPERTY_GROUP_ID key

Kind: instance method of PropertyStore
Returns: boolean - Flags true if the quiddity has property groups

Param Type Description
quiddityId string ID of the quiddity

propertyStore.hasOrphanedProperties(quiddityId) ⇒ boolean

Checks if a quiddity has properties without a parent group

Kind: instance method of PropertyStore
Returns: boolean - Flags true if the quiddity has a property without a group

Param Type Description
quiddityId string ID of the quiddity

propertyStore.getPropertyValue(quiddityId, propertyId) ⇒ string | number | boolean

Safely gets a property's value, returns null if there is none

Kind: instance method of PropertyStore
Returns: string | number | boolean - The value of the property

Param Type Description
quiddityId string ID of the quiddity
propertyId string ID of the property

propertyStore.getPropertyUnit(quiddityId, propertyId) ⇒ UnitEnum

Gets the unit of the property

Kind: instance method of PropertyStore
Returns: UnitEnum - Unit of the property, null if the unit is not defined

Param Type Description
quiddityId string ID of the quiddity
propertyId string ID of the property

propertyStore.getPropertyModel(quiddityId, propertyId) ⇒ model.Property

Safely gets a property's model, returns null if there is none

Kind: instance method of PropertyStore
Returns: model.Property - The model of the property

Param Type Description
quiddityId string ID of the quiddity
propertyId string ID of the property

propertyStore.getPropertyGroups(quiddityId) ⇒ Set.<Property>

Extracts all groups from a property map

Kind: instance method of PropertyStore
Returns: Set.<Property> - Set of all property groups

Param Type Description
quiddityId string ID of the quiddity's properties

propertyStore.getPropertyChildren(quiddityId, [groupId]) ⇒ Set.<Property>

Gets all children of a property group

Kind: instance method of PropertyStore
Returns: Set.<Property> - Set of all child properties

Param Type Default Description
quiddityId string ID of the quiddity's property group
[groupId] string "''" ID of the property group, when it is empty it gets all properties without a group

propertyStore.cleanUselessProperties()

Cleans all properties from removed quiddities

Kind: instance method of PropertyStore

propertyStore.setPropertyValue(quiddityId, propertyId, newValue)

Updates the value of a property

Kind: instance method of PropertyStore

Param Type Description
quiddityId string ID of the quiddity to update
propertyId string ID of the property to update
newValue string | number | boolean New value of the property

propertyStore.setPropertyStatus(quiddityId, propertyId, isEnabled)

Sets a new status for a property

Kind: instance method of PropertyStore

Param Type Description
quiddityId string ID of the quiddity
propertyId string ID of the property
isEnabled boolean Is the property enabled or not

propertyStore.addProperty(quiddityId, property)

Adds a new property

Kind: instance method of PropertyStore

Param Type Description
quiddityId string ID of the quiddity to update
property Property The new property to add

propertyStore.removeQuiddityEntries(quiddityId)

Deletes all properties of a quiddity

Kind: instance method of PropertyStore

Param Type Description
quiddityId string ID of the quiddity to remove

propertyStore.removeProperty(quiddityId, propertyId)

Deletes a property for a given quiddity

Kind: instance method of PropertyStore

Param Type Description
quiddityId string ID of the quiddity
propertyId string ID of the property

PropertyStore.LOG : pino/logger

Dedicated logger for the PropertyStore

Kind: static constant of PropertyStore

PropertyStore.TIMELAPSE_FILENAME_REGEX : RegExp

Extract the shmdata path from a Timelapse's last_image property

Kind: static constant of PropertyStore

PropertyStore.STARTED_PROPERTY_REGEX : RegExp

Matches all property IDs that represent a started property

Kind: static constant of PropertyStore

PropertyStore.DEFAULT_PROPERTY_GROUP_ID : string

ID of the default property group

Kind: static constant of PropertyStore

stores.SettingStore ⇐ stores.Store

Manages all settings

Kind: static class of stores
Extends: stores.Store

new SettingStore(socketStore, configStore)

Instantiates a new socket store

Param Type Description
socketStore SocketStore The socket manager
configStore ConfigStore The config manager

settingStore.settings

Kind: instance property of SettingStore
Properties

Name Type Description
settings Map.<string, (string|number|boolean)> All settings values mapped with their ids

settingStore.userLanguage

Kind: instance property of SettingStore
Properties

Name Type Description
userLanguage string Get the current user language

settingStore.userLanguageOptions

Kind: instance property of SettingStore
Properties

Name Type Description
userLanguageOptions Array.<object> Get all available options for the user languages

settingStore.userLanguageOption

Kind: instance property of SettingStore
Properties

Name Type Description
userLanguageOptions Array.<object> Get the selected option for the user language

settingStore.handleConfigUpdate(config)

Handles each update of the configuration object

Kind: instance method of SettingStore

Param Type Description
config Object The configuration object

settingStore.handleSettingUpdate(settingId, value)

Handles all setting updates

Kind: instance method of SettingStore

Param Type Description
settingId string The updated setting ID
value string | number | boolean The updated setting value

settingStore.setSetting(settingId, value)

Set a new setting value

Kind: instance method of SettingStore

Param Type Description
settingId string The setting ID
value string | number | boolean The setting value

SettingStore.LOG : pino/logger

Dedicated logger for the SettingStore

Kind: static constant of SettingStore

stores.ModalStore ⇐ stores.Store

Stores all modals

Kind: static class of stores
Extends: stores.Store

modalStore.modals

Kind: instance property of ModalStore
Properties

Name Type Description
modals Set.<string> The Set of all registered modals

modalStore.modalProps

Kind: instance property of ModalStore
Properties

Name Type Description
modalProps Map.<string, function()> Contextual properties of the modal by modal ID

modalStore.activeModal

Kind: instance property of ModalStore
Properties

Name Type Description
activeModal string The currently active modal

modalStore.cleanActiveModal(modalId)

Cleans the active modal

Kind: instance method of ModalStore

Param Type Description
modalId string The modal to clean

modalStore.clearActiveModal()

Clears the active modal

Kind: instance method of ModalStore

modalStore.setActiveModal(modalId)

Sets the new active modal

Kind: instance method of ModalStore

Param Type Description
modalId string The active modal's ID

modalStore.addModal(modalId)

Registers a new modal

Kind: instance method of ModalStore

Param Type Description
modalId string The modal's ID to register

modalStore.removeModal(modalId)

Unregisters a modal

Kind: instance method of ModalStore

Param Type Description
modalId string The modal's ID to unregister

modalStore.setModalProps(modalId, props)

Sets a modal binding

Kind: instance method of ModalStore

Param Type Description
modalId string The modal's ID to bind
props function The props for the modal

stores.PageStore ⇐ stores.Store

Stores all pages

Kind: static class of stores
Extends: stores.Store

pageStore.activePage

Kind: instance property of PageStore
Properties

Name Type Description
activePage PageEnum The currently active page

pageStore.setActivePage(activePage)

Set the new active page

Kind: instance method of PageStore

Param Type Description
activePage PageEnum The active page

stores.ConfigStore ⇐ stores.Store

Stores app configuration

Kind: static class of stores
Extends: stores.Store

new ConfigStore(socketStore)

Instantiates a new ConfigStore

Param Type Description
socketStore SocketStore Stores and manages the current event-driven socket

configStore.switcherAPI

Kind: instance property of ConfigStore
Properties

Name Type Description
switcherAPI api.SwitcherAPI API used to manage the Switcher instance itself

configStore.fileAPI

Kind: instance property of ConfigStore
Properties

Name Type Description
fileAPI api.FileAPI API used to manage files on the server

configStore.userContacts

Kind: instance property of ConfigStore
Properties

Name Type Description
userContacts Object User-defined contact list fetched from the server

configStore.userMenus

Kind: instance property of ConfigStore
Properties

Name Type Description
userMenus Object User-defined menu configuration fetched from the server

configStore.userBundles

Kind: instance property of ConfigStore
Properties

Name Type Description
userBundles Object User-defined bundle configuration fetched from the server

configStore.userScenic

Kind: instance property of ConfigStore
Properties

Name Type Description
userScenic Object User-defined Scenic configuration fetched from the server

configStore.scenicConfiguration

Kind: instance property of ConfigStore
Properties

Name Type Description
scenicConfiguration Object Global Scenic configuration, created by merging the default and user-defined configurations

configStore.menuConfiguration

Kind: instance property of ConfigStore
Properties

Name Type Description
menuConfiguration Object Global menu configuration, created by merging the default and user-defined configurations

configStore.bundleConfiguration

Kind: instance property of ConfigStore
Properties

Name Type Description
bundleConfiguration Object Global bundle configuration, created by merging the default and user-defined configurations

configStore.defaultUserTree

Kind: instance property of ConfigStore
Properties

Name Type Description
defaultUserTree Object Default userData (initial scenes and connections) for the UserTree quiddity

configStore.initialize() ⇒ boolean

Initializes Store by fetching user-defined configurations and sending bundles to the server

This store handles 4 different configuration files. It handles the user and default configurations differently for each: + scenic.json: The user-defined configuration overwrites the default one, EXCEPT the initQuiddities array. + The default and user-defined initQuiddities arrays will be merged together. If the same quiddity definition (class and id values are identical) is present in both the default and user-defined initQuiddities arrays, both definitions will be deep-merged together. + bundles.json: The default and user-defined configurations are deep-merged together. + menus.json: The user-defined configuration overwrites the default one; no merging is done. + contacts.json: No default contact list exists, so the user-defined list is used as is. No merging is done.

Kind: instance method of ConfigStore
Returns: boolean - Flags true if store is well initialized
See: Deepmerge package documentation

configStore.handleSocketChange(socket)

Handles changes to the app's socket

Kind: instance method of ConfigStore

Param Type Description
socket socketIO/Socket Event-driven socket

configStore.isScenicSchemaValid(configuration) ⇒ boolean

Checks if a configuration validates against the scenic.schema.json schema or not

Kind: instance method of ConfigStore
Returns: boolean - Flags true if the configuration is valid

Param Type Description
configuration Object JSON configuration to validate

configStore.isMenuSchemaValid(configuration) ⇒ boolean

Checks if a configuration validates against the menus.schema.json schema or not

Kind: instance method of ConfigStore
Returns: boolean - Flags true if the configuration is valid

Param Type Description
configuration Object JSON configuration to validate

configStore.isContactSchemaValid(contacts) ⇒ boolean

Checks if a contact list validates against the contactList.schema.json schema or not

Kind: instance method of ConfigStore
Returns: boolean - Flags true if JSON contact list is valid

Param Type Description
contacts Object JSON contact list to validate

configStore.fetchConfiguration(path) ⇒ Object

Fetches user-defined configuration file from the server

Kind: instance method of ConfigStore
Returns: Object - User-defined app configuration, null if no configuration

Param Type Description
path string Absolute path of the configuration file to fetch on the server

configStore.findInitialConfiguration(quiddityClass, quiddityId) ⇒ Object

Checks if a quiddity is present in the initQuiddities configuration. Quiddity class and ID must BOTH match.

Kind: instance method of ConfigStore
Returns: Object - Corresponding initQuiddities configuration object if it exists, null if it is not defined

Param Type Description
quiddityClass string Class of the quiddity to find
quiddityId string ID of the quiddity to find

configStore.applySendBundlesToServer(bundles) ⇒ boolean

Send bundles definition to server.

Kind: instance method of ConfigStore
Returns: boolean - Flags true if JSON data was successfully sent

Param Type Description
bundles Object JSON bundles definition to send

configStore.mergeScenicConfigArrays(defaultArray, userArray) ⇒ Array.<Object> | Array.<string>

Merge an array taken from the default 'scenic.json' configuration with an array from the user-defined configuration.

The 'scenic.json' config is an Object with various key-value pairs. Values can be either strings or Arrays. The array values are always strings, except for the 'initQuiddities' array whose values are only Objects.

A user-defined 'initQuiddities' array must be merged with the default one. If the same quiddity Object is defined in both the default and user-defined arrays ('class' and 'id' are identical), both Objects must be deep-merged together.

For all other arrays, the default array will be overwritten by the user-defined one.

Kind: instance method of ConfigStore
Returns: Array.<Object> | Array.<string> - Array resulting from the merge of the defaultArray and userArray

Param Type Description
defaultArray Array.<Object> | Array.<string> Array from the default Scenic configuration
userArray Array.<Object> | Array.<string> Array from the user Scenic configuration

configStore.setUserBundles(json)

Sets new user menu configuration

Kind: instance method of ConfigStore

Param Type Description
json Object User-defined JSON menu configuration

configStore.setUserMenus(json)

Sets new user menu configuration

Kind: instance method of ConfigStore

Param Type Description
json Object User-defined JSON menu configuration

configStore.setUserContacts(json)

Sets new user contact list

Kind: instance method of ConfigStore

Param Type Description
json Object User-defined JSON contact list

configStore.setUserScenic(json)

Sets new user Scenic configuration

Kind: instance method of ConfigStore

Param Type Description
json Object User-defined JSON configuration

configStore.clear()

Cleans up ConfigStore

Kind: instance method of ConfigStore

ConfigStore.LOG : pino/logger

Dedicated logger for the ConfigStore

Kind: static constant of ConfigStore

ConfigStore.SCENIC_CONFIG_PATH : string

Path of the user-defined Scenic configuration

Kind: static constant of ConfigStore

stores.DrawerStore ⇐ stores.Store

Stores all drawers

Kind: static class of stores
Extends: stores.Store

drawerStore.drawers

Kind: instance property of DrawerStore
Properties

Name Type Description
drawers Set.<string> The Set of all registered drawers

drawerStore.activeDrawer

Kind: instance property of DrawerStore
Properties

Name Type Description
activeDrawer string The currently active drawer

drawerStore.drawerProps

Kind: instance property of DrawerStore
Properties

Name Type Description
drawerProps Map.<string, function()> Contextual properties of the drawer by drawer ID

drawerStore.cleanActiveDrawer(drawerId)

Cleans an active drawer

Kind: instance method of DrawerStore

Param Type Description
drawerId string The drawer to clean

drawerStore.toggleActiveDrawer(drawerId)

Toggles the visibility of a drawer

Kind: instance method of DrawerStore

Param Type Description
drawerId string ID of the drawer

drawerStore.setActiveDrawer(drawerId)

Sets the new active drawer

Kind: instance method of DrawerStore

Param Type Description
drawerId string The active drawer's ID

drawerStore.clearActiveDrawer()

Clears the active drawer

Kind: instance method of DrawerStore

drawerStore.addDrawer(drawerId)

Registers a new drawer

Kind: instance method of DrawerStore

Param Type Description
drawerId string The new drawer to register

drawerStore.removeDrawer(drawerId)

Unregisters a drawer

Kind: instance method of DrawerStore

Param Type Description
drawerId string The drawer's ID to unregister

drawerStore.setDrawerProps(drawerId, props)

Sets a drawer binding

Kind: instance method of DrawerStore

Param Type Description
drawerId string The drawer's ID to bind
props function The props for the drawer

stores.HelpMessageStore ⇐ stores.Store

Stores all help messages

Kind: static class of stores
Extends: stores.Store

helpMessageStore.helpMessage

Kind: instance property of HelpMessageStore
Properties

Name Type Description
helpMessage string The current help message

helpMessageStore.setHelpMessage(message)

Sets a new help message

Kind: instance method of HelpMessageStore

Param Type Description
message string The help message

helpMessageStore.cleanHelpMessage()

Resets the help message

Kind: instance method of HelpMessageStore

stores.ContactStore ⇐ stores.Store

Stores SIP contacts

Kind: static class of stores
Extends: stores.Store

new ContactStore(socketStore, configStore, quiddityStore, shmdataStore, sipStore, lockStore, [defaultAuthorization])

Instantiates a new ContactStore

Param Type Default Description
socketStore module:stores/shmdata.SocketStore Socket manager
configStore module:stores/common.ConfigStore Configuration manager
quiddityStore QuiddityStore Store all quiddities
shmdataStore ShmdataStore Store all shmdatas
sipStore module:stores/sip.SipStore SIP quiddity manager
lockStore module:stores/matrix.LockStore Store all locks
[defaultAuthorization] boolean false Flag indicating if contacts not in a SIP session are blacklisted or not

contactStore.treeAPI

Kind: instance property of ContactStore
Properties

Name Type Description
treeAPI TreeAPI API used to manage SIP contacts in the SIP tree

contactStore.methodAPI

Kind: instance property of ContactStore
Properties

Name Type Description
methodAPI MethodAPI API used to manage SIP methods

contactStore.fileAPI

Kind: instance property of ContactStore
Properties

Name Type Description
fileAPI FileAPI API used to manage files

contactStore.fullContactList

Kind: instance property of ContactStore
Properties

Name Type Description
fullContactList Object JSON object containing the full SIP database

contactStore.defaultAuthorization

Kind: instance property of ContactStore
Properties

Name Type Description
defaultAuthorization boolean Default authorization of created contacts

contactStore.contacts

Kind: instance property of ContactStore
Properties

Name Type Description
contacts Map.<string, module:models/sip.Contact> All contacts hashed by their IDs

contactStore.partners

Kind: instance property of ContactStore
Properties

Name Type Description
partners Set.<string> All contact IDs added to the current session

contactStore.sessionContacts

Kind: instance property of ContactStore
Properties

Name Type Description
sessionContacts Map.<string, module:models/sip.Contact> All contacts in the current SIP session hashed by their IDs

contactStore.contactAddresses

Kind: instance property of ContactStore
Properties

Name Type Description
sessionContacts Map.<string, module:models/sip.Contact> All contacts in the current SIP session hashed by their URIs

contactStore.attachedShmdatas

Kind: instance property of ContactStore
Properties

Name Type Description
attachedShmdatas Map.<string, Set.<string>> All shmdata paths attached to some contacts, each path hash all its attached contacts URI

contactStore.readyPartners

Kind: instance property of ContactStore
Properties

Name Type Description
readyPartners Set.<string> All contact URIs that are ready to be called

contactStore.initialize() ⇒ boolean

Initializes Store by fetching existing contacts, calls and attached shmdatas

Kind: instance method of ContactStore
Returns: boolean - Flags true if store is well initialized

contactStore.fetchJSONContacts() ⇒ Object

Fetches all existing contacts in the current session in JSON

Kind: instance method of ContactStore
Returns: Object - - The JSON representation of all existing contacts

contactStore.hasSessionContact(contact) ⇒ boolean

Checks if contact is part of the sessionContacts Map.

Kind: instance method of ContactStore
Returns: boolean - True if the contact is part of the sessionContacts Map

Param Type Description
contact module:models/sip.Contact Contact model

contactStore.findUserContactFromUri(Contact) ⇒ module:models/sip.Contact

Finds a Contact model from the current SIP user's contact list using a URI

Kind: instance method of ContactStore
Returns: module:models/sip.Contact - Contact model associated with the given URI, null if it doesn\'t exist

Param Type Description
Contact string URI

contactStore.handleSocketChange(socket)

Handles changes to the app's socket

Kind: instance method of ContactStore

Param Type Description
socket socketIO/Socket Event-driven socket

contactStore.handleQuiddityChanges()

Handles each quiddity changes and cleans all shmdatas written by removed quiddities

Kind: instance method of ContactStore

contactStore.handleSipRegistration()

Handles SIP registration status. Create Contact models when logged in, clear everything when logged out.

Kind: instance method of ContactStore

contactStore.handleContactUpdate(path, value)

Updates the contact properties from the userTree

Kind: instance method of ContactStore

Param Type Description
path string Updated path of the userTree
value object The updated JSON subtree

contactStore.toggleCallingContactLock(contact)

Toggles the lock for a SIP contact

Kind: instance method of ContactStore

Param Type Description
contact module:models/sip.Contact A SIP contact

contactStore.handleContactUriUpdate(path, value)

Handles a new contact grafted in the SIP tree

Kind: instance method of ContactStore

Param Type Description
path string JSON path that was grafted
value string Grafted value

contactStore.handleContactCreation(object)

Handle a new contact created from a JSON object or a Contact model

Kind: instance method of ContactStore

Param Type Description
object Object | module:models/sip.Contact The contact template

contactStore.handleContactRemoval(path)

Handles a deleted SIP contact

Kind: instance method of ContactStore

Param Type Description
path string JSON path that was pruned

contactStore.handleContactPropertyUpdate(path, value)

Handles an update to a SIP contact's property

Kind: instance method of ContactStore

Param Type Description
path string JSON path that was grafted
value string | boolean Grafted value

contactStore.handleConnectionUpdate(path, value)

Handles an update to a SIP contact's shmdata connections

Kind: instance method of ContactStore

Param Type Description
path string JSON path that was grafted
value Array.<string> Grafted value

contactStore.cleanSessionContacts()

Removes session contacts not present in contacts Map

Kind: instance method of ContactStore

contactStore.populateContactListFromConfig(uri)

Creates contacts associated with a specific SIP URI from the user configuration

Kind: instance method of ContactStore

Param Type Description
uri string SIP URI to create contacts for

contactStore.applyContactCreation(uri) ⇒ boolean

Adds a contact in the SIP quiddity

Kind: instance method of ContactStore
Returns: boolean - Flags true if creation was successful

Param Type Description
uri string URI of the new contact

contactStore.applyContactName(uri, name) ⇒ boolean

Sets contact name

Kind: instance method of ContactStore
Returns: boolean - Flags true if name was successfully set

Param Type Description
uri string SIP URI of the contact to update
name string New name of the SIP contact

contactStore.applyContactAuthorization(uri, authorization) ⇒ boolean

Sets contact authorization

Kind: instance method of ContactStore
Returns: boolean - Flags true if authorization was successfully set

Param Type Description
uri string SIP URI of the contact to update
authorization boolean New authorization value for the SIP contact

contactStore.applyAttachShmdata(uri, shmdataPath) ⇒ boolean

Attaches shmdata to SIP contact

Kind: instance method of ContactStore
Returns: boolean - Flags true if attach was successful

Param Type Description
uri string URI of the contact
shmdataPath string Path of a shmdata

contactStore.applyDetachShmdata(uri, shmdataPath) ⇒ boolean

Detaches shmdata from SIP contact

Kind: instance method of ContactStore
Returns: boolean - Flags true if detach was successful

Param Type Description
uri string URI of the contact
shmdataPath string Path of a shmdata

contactStore.applyCall(uri) ⇒ boolean

Calls a SIP contact

Kind: instance method of ContactStore
Returns: boolean - Flags true if call was successfully initiated

Param Type Description
uri string URI of the contact

contactStore.applyHangup(uri) ⇒ boolean

Hangs up an outgoing call to a SIP contact

Kind: instance method of ContactStore
Returns: boolean - Flags true if call was successfully terminated

Param Type Description
uri string URI of the contact

contactStore.applyHangupAllCalls() ⇒ boolean

Hangs up all incoming and outgoing calls to SIP contacts

Kind: instance method of ContactStore
Returns: boolean - Flags true if all calls were successfully terminated

contactStore.applyBlocklist()

Applies authorization status to all contacts except current session contacts.

Kind: instance method of ContactStore

contactStore.getExportableContacts() ⇒ Object

Packs all SIP contacts into a JSON object

Kind: instance method of ContactStore
Returns: Object - All SIP contacts as a JSON object

contactStore.applyContactsExport([path])

Exports contacts to a JSON file

Kind: instance method of ContactStore

Param Type Default Description
[path] string "DEFAULT_EXPORT_PATH" System path where the resulting JSON file will be saved

contactStore.updateContact(buddyId, property, value)

Updates a contact in the contacts Map

Kind: instance method of ContactStore

Param Type Description
buddyId string ID of the contact to update
property string Property to update
value string | Array.<string> New value of the property

contactStore.setDefaultAuthorization(authorization)

Sets new authorization value for contacts. Turns blacklist on or off.

Kind: instance method of ContactStore

Param Type Description
authorization boolean The new default authorization

contactStore.addContact(contact)

Adds a new contact in the contacts Map

Kind: instance method of ContactStore

Param Type Description
contact module:models/sip.Contact The new contact to add

contactStore.removeContact(contactId)

Deletes a contact from the contacts Map

Kind: instance method of ContactStore

Param Type Description
contactId string ID of the contact to delete

contactStore.addContactToSession(contact)

Adds a new contact in the partners Set

Kind: instance method of ContactStore

Param Type Description
contact module:models/sip.Contact The new contact to add

contactStore.removeContactFromSession(contactId)

Deletes a contact from the partners Set

Kind: instance method of ContactStore

Param Type Description
contactId string ID of the contact to delete

contactStore.clear()

Cleans all contacts

Kind: instance method of ContactStore

stores.SipStore ⇐ stores.Store

Stores SIP quiddity

Kind: static class of stores
Extends: stores.Store

new SipStore(socketStore, configStore, quiddityStore)

Instantiates a new SipStore

Param Type Description
socketStore SocketStore Socket manager
configStore ConfigStore Configuration manager
quiddityStore stores.QuiddityStore Quiddity manager

sipStore.treeAPI

Kind: instance property of SipStore
Properties

Name Type Description
treeAPI api.TreeAPI API used to manage SIP tree

sipStore.methodAPI

Kind: instance property of SipStore
Properties

Name Type Description
methodAPI api.MethodAPI API used to manage SIP methods

sipStore.propertyAPI

Kind: instance property of SipStore
Properties

Name Type Description
propertyAPI api.PropertyAPI API used to manage SIP properties

sipStore.configStore

Kind: instance property of SipStore
Properties

Name Type Description
configStore ConfigStore Stores and manages the app's configuration

sipStore.quiddityStore

Kind: instance property of SipStore
Properties

Name Type Description
quiddityStore stores.QuiddityStore Stores and manages all quiddities

sipStore.currentCredentials

Kind: instance property of SipStore
Properties

Name Type Description
currentCredentials SipCredentials SIP credentials used to log on the SIP server

sipStore.currentUri

Kind: instance property of SipStore
Properties

Name Type Description
currentUri string Current URI logged in the SIP server

sipStore.isConnected

Kind: instance property of SipStore
Properties

Name Type Description
isConnected boolean Flag the SIP connection

sipStore.sipQuiddity

Kind: instance property of SipStore
Properties

Name Type Description
sipQuiddity module:models/sip.SipStore Current SIP quiddity

sipStore.initialize() ⇒ boolean

Initializes Store by fetching SIP quiddity

Kind: instance method of SipStore
Returns: boolean - Flags true if store is well initialized

sipStore.fallbackSIPQuiddity()

Creates the SIP quiddity

Kind: instance method of SipStore

sipStore.fetchRegisteredUri() ⇒ string

Fetches registration status of the SIP quiddity to a SIP server

Kind: instance method of SipStore
Returns: string - - Current URI registered to SIP server, null if not registered

sipStore.handleSocketChange(socket)

Handles changes to the app's socket

Kind: instance method of SipStore

Param Type Description
socket socketIO/Socket Event-driven socket

sipStore.handleQuiddityStoreInitialization(initState)

Handles QuiddityStore's initialization state changes

Kind: instance method of SipStore

Param Type Description
initState InitStateEnum State of the quiddityStore's initialization

sipStore.handleSipRegistration(value)

Handles SIP registration status

Kind: instance method of SipStore

Param Type Description
value string Registered URI

sipStore.applySipPort(port) ⇒

Sets SIP port

Kind: instance method of SipStore
Returns: Flags true if port was successfully set

Param Type Description
port number Local SIP port to use for connection

sipStore.applyStunTurnConfiguration(stunServer, turnServer, turnUser, turnPassword) ⇒

Sets STUN/TURN configuration

Kind: instance method of SipStore
Returns: Flags true if configuration was successfully applied

Param Type Description
stunServer string STUN server address or domain name
turnServer string TURN server address or domain name
turnUser string TURN user
turnPassword string TURN password

sipStore.applySipRegistration(uri, sipPassword) ⇒

Registers to SIP server

Kind: instance method of SipStore
Returns: Flags true if registration was successful

Param Type Description
uri string SIP login URI
sipPassword string SIP password

sipStore.applySipUnregistration() ⇒

Unregisters from SIP server

Kind: instance method of SipStore
Returns: Flags true if unregistration was successful

sipStore.applyTerminateCalls() ⇒ boolean

Hangs up all incoming and outgoing SIP calls

Kind: instance method of SipStore
Returns: boolean - Flags true if all calls were successfully terminated

sipStore.applyLogin(credentials) ⇒ boolean

Logs to designated SIP server

Kind: instance method of SipStore
Returns: boolean - Flags true if login was successful

Param Type Description
credentials SipCredentials A SipCredentials model

sipStore.applyLogout() ⇒ boolean

Logs out of current SIP server

Kind: instance method of SipStore
Returns: boolean - Flags true if logout was successful

sipStore.setCredentials(credentials)

Sets the current SipCredentials model

Kind: instance method of SipStore

Param Type Description
credentials SipCredentials SipCredentials model

sipStore.clear()

Cleans up the Store

Kind: instance method of SipStore

SipStore.LOG : pino/logger

Dedicated logger for the SipStore

Kind: static constant of SipStore

SipStore.SELF_URI_REGEX : RegExp

Matches all changes to the SIP quiddity's own URI

Kind: static constant of SipStore

SipStore.CREDENTIALS_REGEX : RegExp

Extract the user name and the SIP server name from a SIP URI

Kind: static constant of SipStore

SipStore.SIP_CLASS : string

Class of the SIP quiddity

Kind: static constant of SipStore

SipStore.SIP_ID : string

ID of the SIP quiddity

Kind: static constant of SipStore

stores.ContactStatusStore ⇐ stores.Store

Store all contact statuses

Kind: static class of stores
Extends: stores.Store

new ContactStatusStore(socketStore, sipStore, contactStore)

Instantiates a new ContactStatusStore

Throws:

  • TypeError Throws an error if the required stores are missing
Param Type Description
socketStore SocketStore The socket manager
sipStore SipStore Manage the SIP quiddity
contactStore ContactStore Manage all the SIP contacts

contactStatusStore.selfStatus

Kind: instance property of ContactStatusStore
Properties

Name Type Description
selfStatus enums.StatusEnum Status of the logged SIP account

contactStatusStore.buddyStatuses

Kind: instance property of ContactStatusStore
Properties

Name Type Description
buddyStatuses Map.<string, enums.BuddyStatusEnum> All buddy statuses for each contact ID

contactStatusStore.receivingStatuses

Kind: instance property of ContactStatusStore
Properties

Name Type Description
receivingStatuses Map.<string, enums.RecvStatusEnum> All receiving statuses for each contact ID

contactStatusStore.sendingStatuses

Kind: instance property of ContactStatusStore
Properties

Name Type Description
sendingStatuses Map.<string, enums.SendStatusEnum> All sending statuses for each contact ID

contactStatusStore.calledContacts

Kind: instance property of ContactStatusStore
Properties

Name Type Description
calledContacts number All contact IDs that are actively called

contactStatusStore.handleSipRegistration()

Handles the SIP registration

Kind: instance method of ContactStatusStore

contactStatusStore.handleSocketChange(socket)

Handles changes to the app's socket

Kind: instance method of ContactStatusStore

Param Type Description
socket socketIO/Socket Event-driven socket

contactStatusStore.handleBuddyUpdate(path, value)

Handles the update of a buddy model

Kind: instance method of ContactStatusStore

Param Type Description
path string Path of the updated JSON
value Object Updated value as a JSON object

contactStatusStore.handleContactStatusesUpdate()

Handles all contacts statuses updates

Kind: instance method of ContactStatusStore

contactStatusStore.populateContactStatuses()

Populates the status for all contacts

Kind: instance method of ContactStatusStore

contactStatusStore.cleanContactStatuses()

Cleans statuses for all removed contacts

Kind: instance method of ContactStatusStore

contactStatusStore.setSelfStatus(status)

Sets the status of the registered account

Kind: instance method of ContactStatusStore

Param Type Description
status models.StatusEnum Status of the logged SIP account

contactStatusStore.isBuddyStatusUpdated(buddyId, buddyStatus) ⇒ boolean

Checks if the buddy is updated

Kind: instance method of ContactStatusStore
Returns: boolean - Returns true if the status has been updated

Param Type Description
buddyId string ID of the buddy
buddyStatus models.BuddyStatusEnum New status of the buddy

contactStatusStore.setBuddyStatus(buddyId, buddyStatus)

Sets the status of a buddy

Kind: instance method of ContactStatusStore

Param Type Description
buddyId string ID of the buddy
buddyStatus models.BuddyStatusEnum New status of the buddy

contactStatusStore.isReceivingStatusUpdated(buddyId, receivingStatus) ⇒ boolean

Checks if the receiving status of a buddy is updated

Kind: instance method of ContactStatusStore
Returns: boolean - Returns true if the receiving status is updated

Param Type Description
buddyId string ID of the buddy
receivingStatus models.RecvStatusEnum New receiving status of the buddy

contactStatusStore.setReceivingStatus(buddyId, receivingStatus)

Sets the receiving status of a buddy

Kind: instance method of ContactStatusStore

Param Type Description
buddyId string ID of the buddy
receivingStatus models.RecvStatusEnum New receiving status of the buddy

contactStatusStore.isSendingStatusUpdated(buddyId, sendingStatus) ⇒ boolean

Checks if the sending status of a buddy is updated

Kind: instance method of ContactStatusStore
Returns: boolean - Returns true if the sending status is updated

Param Type Description
buddyId string ID of the buddy
sendingStatus models.SendStatusEnum New sending status of the buddy

contactStatusStore.setSendingStatus(buddyId, sendingStatus)

Sets the sending status of a buddy

Kind: instance method of ContactStatusStore

Param Type Description
buddyId string ID of the buddy
sendingStatus models.SendStatusEnum New sending status of the buddy

contactStatusStore.removeStatuses(buddyId)

Removes all statuses of a buddy

Kind: instance method of ContactStatusStore

Param Type Description
buddyId string ID of the buddy

contactStatusStore.clear()

Clears all stored statuses

Kind: instance method of ContactStatusStore

ContactStatusStore.LOG : pino/logger

Dedicated logger for the ContactStatusStore

Kind: static constant of ContactStatusStore

pageStore

Kind: global variable
Properties

Name Type Description
pageStore Object Store for all app's pages

drawerStore

Kind: global variable
Properties

Name Type Description
drawerStore DrawerStore Store all drawers

children

Kind: global variable
Properties

Name Type Description
children Array.<React.Component> Drawer components

filterStore

Kind: global variable
Properties

Name Type Description
filterStore stores.FilterStore Store for all filters

quiddityStore

Kind: global variable
Properties

Name Type Description
quiddityStore stores.QuiddityStore Store for all quiddities

quiddityMenuStore

Kind: global variable
Properties

Name Type Description
quiddityStore stores.QuiddityStore Store for all quiddity creation menus

quiddityStore

Kind: global variable
Properties

Name Type Description
quiddityStore stores.QuiddityStore Store for all quiddities

quiddityMenuStore

Kind: global variable
Properties

Name Type Description
quiddityStore stores.QuiddityStore Store for all quiddity creation menus

connectionStore

Kind: global variable
Properties

Name Type Description
connectionStore ConnectionStore Store for all connections

sceneStore

Kind: global variable
Properties

Name Type Description
sceneStore SceneStore Store for all scenes

shmdataStore

Kind: global variable
Properties

Name Type Description
shmdataStore stores.ShmdataStore Store for all shmdatas

orderStore

Kind: global variable
Properties

Name Type Description
orderStore stores.orderStore Store for all quiddities' order

systemUsageStore

Kind: global variable
Properties

Name Type Description
systemUsageStore SystemUsageStore Store for all system usage information

fileStore

Kind: global variable
Properties

Name Type Description
fileStore stores.FileStore Store for files management

modalStore

Kind: global variable
Properties

Name Type Description
modalStore ModalStore Store that manages all modals

drawerStore

Kind: global variable
Properties

Name Type Description
drawerStore DrawerStore Store that manages all drawers

sipStore

Kind: global variable
Properties

Name Type Description
sipStore SipStore Store all sip actions

sipCredentialStore

Kind: global variable
Properties

Name Type Description
sipCredentialStore stores.SipCredentialStore Store all SIP credentials

contactStore

Kind: global variable
Properties

Name Type Description
contactStore ContactStore Store all SIP contacts

configStore

Kind: global variable
Properties

Name Type Description
configStore ConfigStore Store the configuration

previewStore

Kind: global variable
Properties

Name Type Description
previewStore PreviewStore Manage the previews

statStore

Kind: global variable
Properties

Name Type Description
statStore StatStore Store all shmdata stats

notificationStore

Kind: global variable
Properties

Name Type Description
notificationStore stores.NotificationStore Store all notifications

filterStore

Kind: global variable
Properties

Name Type Description
filterStore stores.FilterStore Store all filters

Capabilities ⇒ react/Component

Renders all capabilities in a HTML definition list

Kind: global constant
Returns: react/Component - A definition list of all capabilities

Param Type Description
shmdata models/shmdata.Shmdata The shmdata that will render capabilities

ShmdataInformationTooltip ⇒ react/Component

Renders the tooltip

Kind: global constant
Returns: react/Component - A tooltip with the shmdata information
Selector:

.ShmdataInformationTooltip[data-shmdata="shmdata id"][data-media="media type"]

Param Type Description
shmdata models/shmdata.Shmdata The shmdata that will render capabilities
children react/Component The children component of the tooltip

SeparatorLockIcon ⇒ mobx-react/ObserverComponent

Renders a lock icon at the top of the separator

Kind: global constant
Returns: mobx-react/ObserverComponent - The separator lock icon

Param Type Description
matrixStore MatrixStore Store all matrix properties
categoryId string The destination category

SeparatorHeader ⇒ mobx-react/ObserverComponent

Renders the header at the top of the separator

Kind: global constant
Returns: mobx-react/ObserverComponent - The separator header

Param Type Description
matrixStore MatrixStore Store all matrix properties
categoryId string The destination category

SourceStarter ⇒ mobx-react/ObserverComponent

Renders a checkbox that starts or stops a source

Kind: global constant
Returns: mobx-react/ObserverComponent - The starter checkbox
Selector:

.SourceStarter[data-source="source id"]

Param Type Description
quiddity module:models/quiddity.Quiddity The source quiddity

SourceHead ⇒ mobx-react/ObserverComponent

Renders the head of the source

Kind: global constant
Returns: mobx-react/ObserverComponent - An entry component
Selector:

.SourceHead[data-source="source id"]

Param Type Description
quiddity module:models/quiddity.Quiddity The source quiddity
shmdata module:models/shmdata.Shmdata The source shmdata

Source ⇒ mobx-react/ObserverComponent

Renders a source row in the matrix

Kind: global constant
Returns: mobx-react/ObserverComponent - A source component for the matrix

Param Type Description
entry modules:models/matrix.MatrixEntry An entry of the matrix

QuiddityMenu ⇒ ui-components/Menu

A whole quiddity menu built from a menu collection

Kind: global constant
Returns: ui-components/Menu - A menu collection of menus that creates quiddities

Param Type Description
store module:stores/quiddity.QuiddityMenuStore Store for all quiddity menus
collection module:models/menus.MenuGroup A collection of menu models
addonBefore react/Component A component that prefixes the menu name

PageButton ⇒ mobx-react/ObserverComponent

Renders the menu button that triggers the page rendering

Kind: global constant
Returns: mobx-react/ObserverComponent - A button for each page
Selector:

#PageMenu .PageButton

Param Type Description
pageId string ID of the page
pageStore module:stores/common.PageStore Store all pages

PropertyField ⇒ mobx-react/ObserverComponent

Renders the Field used to change a property according to its type

Kind: global constant
Returns: mobx-react/ObserverComponent - The property field
Selector:

.PropertyField[data-quiddity="quiddity id"][data-property="property id"]

Param Type Description
quiddityId string ID of the quiddity
propertyId string ID of the property

PropertyInspectorDrawer ⇒ mobx-react/ObserverComponent

Drawer that displays all property of a selected quiddity

Kind: global constant
Returns: mobx-react/ObserverComponent - The property inspector drawer
Selector:

#PropertyInspectorDrawer

FileControlPanel

The file control panel provides all the actions for the session files

Kind: global constant

SceneNameInput

The Scene control panel gives all controls for Scene modification (name, status)

Kind: global constant

Scenes ⇒ mobx-react/ObserverComponent

Displays all scenes created by the user

Kind: global constant
Returns: mobx-react/ObserverComponent - All scenes rendered as Cells

Param Type Description
sceneStore module:stores/userTree.SceneStore Store all scenes

SIP_DEFAULT_PORT

Kind: global constant

LockedDestinationWarning(categoryId) ⇒ react/Component

Displays the content of the tooltip

Kind: global function
Returns: react/Component - The content of the tooltip

Param Type Description
categoryId string Name of the category

LockedDestinationTooltip(children, categoryId) ⇒ external:ui-components/Feedback.Tooltip

Displays a tooltip with information about locked destinations

Kind: global function
Returns: external:ui-components/Feedback.Tooltip - A tooltip

Param Type Description
children react/Component Wrapped component by the tooltip
categoryId string Name of the category

Capability(capsKey, value) ⇒ react/Component

Renders a capability entry

Kind: global function
Returns: react/Component - A capability rendered as a HTML definition entry

Param Type Description
capsKey string The key of the capability
value string | number The value of the capability

ArrowButton()

Special button used to display an Arrow to scroll on the right or on the left

Kind: global function

Param Type Description
props.disabled boolean Flag to disable the button (when the scrolling is unavailable)
props.onClick function Function triggered when the button is clicked (execute the scrolling action)
props.type string Type of the icon to display (arrow left or arrow right)

CloseButton()

Special button used to close a tab

Kind: global function

Param Type Description
props.onClick function Function triggered when the button is clicked (execute the closing action)

OpenSessionModal() ⇒ React.PureComponent

Scenic modal used to open a new session

Kind: global function
Returns: React.PureComponent - A modal

Param Type Description
props.visible boolean Flags if the modal is visible
props.onCancel function Function triggered when the user cancels the session action
props.onConfirm function Function triggered when the user confirms the session action

OpenSessionModal.OPEN_SESSION_MODAL_ID : string

ID of the open session modal

Kind: static constant of OpenSessionModal

ResetSessionModal() ⇒ React.PureComponent

Scenic modal used to reset the current session

Kind: global function
Returns: React.PureComponent - A modal

Param Type Description
props.visible boolean Flags if the modal is visible
props.onCancel function Function triggered when the user cancels the session reset
props.onReset function Function triggered when the user resets the current session

ResetSessionModal.RESET_SESSION_MODAL_ID : string

ID of the reset session modal

Kind: static constant of ResetSessionModal

TrashCurrentSessionModal() ⇒ React.PureComponent

Renders the modal that alerts the deletion of current session's file

Kind: global function
Returns: React.PureComponent - The alert modal

Param Type Description
props.visible boolean Flags if the current session's file is trashed
props.onCancel function Function triggered when the action is canceled
props.onConfirm function Function triggered when the user tashes the current file

SeparatorTitle(title) ⇒ react/Component

Renders the separator title

Kind: global function
Returns: react/Component - The rendered title

Param Type Description
title string Title of the separator

ColumnSeparator(style, header, color) ⇒ react/Component

Renders the UI separator between matrix columns

Kind: global function
Returns: react/Component - The rendered separator

Param Type Description
style object Custom style of the separator
header string Custom header at the top of the separator
color string Custom color of the separator

SourceShmdata(shmdata) ⇒ module:components/matrix.ShmdataBox

Renders a shmdata box related to a source

Kind: global function
Returns: module:components/matrix.ShmdataBox - The shmdata box
Selector:

.SourceShmdata[data-shmdata="shmdata path"]

Param Type Description
shmdata module:models/shmdata.Shmdata The rendered shmdata

EmptyShmdata() ⇒ external:ui-components/Cell

Renders an empty box that replaces a shmdata

Kind: global function
Returns: external:ui-components/Cell - An empty cell
Selector:

.EmptyShmdata

SourceLock() ⇒ react/Component

Renders a lock on the source

Kind: global function
Returns: react/Component - A row prefix with the lock icon
Selector:

.SourceLock

EmptyStarter() ⇒ react/Component

Renders an empty starter that does nothing

Kind: global function
Returns: react/Component - An empty div
Selector:

.EmptyStarter

SourceSubtitle(quiddity, shmdata) ⇒ string

Renders the subtitle of a source

Kind: global function
Returns: string - The source subtitle

Param Type Description
quiddity module:models/quiddity.Quiddity The source quiddity
shmdata module:models/shmdata.Shmdata The source shmdata

EmptySource() ⇒ react/Component

Renders an empty source

Kind: global function
Returns: react/Component - An empty div with the size of a source

EmptySourceColumnArea() ⇒ react/Component

Renders a column area without source

Kind: global function
Returns: react/Component - An empty column

QuiddityMenuFactory(menuStore, menuModel) ⇒ react/Component

Abstract wrapper that builds a menu item or group

Kind: global function
Returns: react/Component - A menu group or a menu item
Throws:

  • TypeError Argument menuModel must be a MenuItem or a MenuGroup model
Param Type Description
menuStore module:stores/quiddity.QuiddityMenuStore Store for all quiddity menus
menuModel module:models/menus.MenuGroup | module:models/menus.MenuItem Model for menu group or a menu item

PageIcon(pageId) ⇒ react/Component

Renders the page's icon

Kind: global function
Returns: react/Component - Icon of the page
Selector:

#PageMenu .PageIcon

Param Type Description
pageId string ID of the page

PageTitle(pageId) ⇒ react/Component

Renders the page's title

Kind: global function
Returns: react/Component - Title of the page
Selector:

#PageMenu .PageTitle

Param Type Description
pageId string ID of the page

ScenicSignature() ⇒ react/Component

The signature of Scenic

Kind: global function
Returns: react/Component - The Scenic logo
Selector:

#PageMenu .ScenicSignature

Menu that renders all main menus of the Scenic app

Kind: global function
Returns: mobx-react/ObserverComponent - The page menu
Selector:

#PageMenu

Param Type Description
pageId string ID of the page
pageStore module:stores/common.PageStore Store all pages

Lock() ⇒ external:ui-components/Icon

Renders a lock icon

Kind: global function
Returns: external:ui-components/Icon - A styled lock icon
Selector:

.Lock

ConnectionLock() ⇒ external:ui-components/Icon

Renders alock icon that fits with Connection boxes

Kind: global function
Returns: external:ui-components/Icon - A styled lock icon
Selector:

.ConnectionLock

FileEntry() ⇒ React.PureComponent

Renders an entry that represents a file

Kind: global function
Returns: React.PureComponent - An entry

Param Type Description
props.file FileBridge A file model
props.onClick function Function triggered when the entry is clicked
props.isCurrent boolean Flags if the file represents the current session
props.selected boolean Flags if the entry is selected
props.status models.StatusEnum Status of the entry

RowEntry(className, title, subtitle, status, selected, disabled, onClick, width) ⇒ react/Component

A generic entry that should be display in a column or as a row header

Kind: global function
Returns: react/Component - A row entry
Selector:

.RowEntry[data-entry="entry title"]

Param Type Description
className string Extra class name of the component
title string Title of the entry
subtitle string Subtitle of the entry
status string Status of the entry
selected boolean Flags a selected entry
disabled boolean Flags a disabled entry
onClick function Function triggered when the entry is clicked
width number Set a custom width of the entry

GridLayout(children) ⇒ react/Component

GridLayout adapted for the NumberField

Kind: global function
Returns: react/Component - A grid layout

Param Type Description
children react/Component All components in the grid

NewSessionMenu() ⇒ React.Fragment

Renders the button that resets the session

Kind: global function
Returns: React.Fragment - A menu button

SaveSessionAsMenu() ⇒ React.Fragment

Renders the button that opens the FileSavingDrawer

Kind: global function
Returns: React.Fragment - A menu button

SaveSessionMenu() ⇒ React.Fragment

Renders the button that saves the current session

Kind: global function
Returns: React.Fragment - A menu button

OpenSessionMenu() ⇒ React.Fragment

Renders the button that opens the FileLoadingDrawer

Kind: global function
Returns: React.Fragment - A menu button

DeleteSessionMenu() ⇒ React.Fragment

Renders the button that opens the FileDeletionDrawer

Kind: global function
Returns: React.Fragment - A menu button

Link(href, children) ⇒ react/Component

A link component that opens page in a new tab

Kind: global function
Returns: react/Component - A tweaked HTML link

Param Type Description
href string URL of the link
children node Content of the link

PageTitle() ⇒ react/Component

The page title

Kind: global function
Returns: react/Component - The page title

Scene(scene, onClick) ⇒ external:ui-components/Layout.Cell

Renders a scene as a Cell

Kind: global function
Returns: external:ui-components/Layout.Cell - A Cell component

Param Type Description
scene module:models/userTree.Scene A scene model
onClick function Function triggered when the user click on the Cell

populateStoreCreationBindings() ⇒ Map.<string, function()>

Creates creation bindings for quiddity-related Stores and sets them inside the QuiddityStore

Kind: global function
Returns: Map.<string, function()> - All bindings that create quiddities

populateModalCreationBindings() ⇒ Map.<string, function()>

Creates creation bindings for modal-related Stores and sets them inside the QuiddityStore

Kind: global function
Returns: Map.<string, function()> - All bindings that display contextual modals

dropDecimalUnit(number, exponent) ⇒ number

Convert a decimal value to a lower metric in the SI

Kind: global function
Returns: number - The converted value

Param Type Description
number number The number value to convert
exponent number The base 10 exponent of the conversion

raiseDecimalUnit(number, exponent) ⇒ number

Convert a decimal value to a greater metric in the SI

Kind: global function
Returns: number - The converted value

Param Type Description
number number The number value to convert
exponent number The base 10 exponent of the conversion

clamp(number, threshold) ⇒ number

Constrains a number to a specific maximum value.

Kind: global function
Returns: number - The new clamped number

Param Type Description
number number The number to clamp
threshold number Maximum possible value for the number

uploadFile(localFile, onUploadFinished)

Helper that uploads a selected local file

Kind: global function

Param Type Description
localFile Blob The local file's blob
onUploadFinished function Function triggered when the upload is finished

downloadFile(linkRef, onDownloadStarted, [dataType])

Helper that downloads some content from a link

Kind: global function

Param Type Default Description
linkRef React.Ref A reference to the component that starts the download process
onDownloadStarted function Function triggered when the donwload is started. It must return the downloadable content
[dataType] string "'text/plain'" Type of the downloaded data

useHover() ⇒ react/customHook

Custom React hook that simulates the hover event

Kind: global function
Returns: react/customHook - A react hook

isObject(value) ⇒ boolean

Test if a given value is a Javascript Object or not

Kind: global function
Returns: boolean - Flags true if value is an object

Param Type Description
value * Value to test

arrayToObject(array, keyField) ⇒ Object

Convert an array of object to an object

Kind: global function
Returns: Object - Produced object

Param Type Description
array Array.<Object> Array to convert
keyField string Object property which will be the keys of the new object

stripEmptyArrays(object) ⇒ Object

Remove keys from an object whose values are empty arrays

Kind: global function
Returns: Object - Object without key-value pairs containing empty arrays

Param Type Description
object Object Object to process

escapeAsArray(output) ⇒ Array.<string>

Escape all new lines into an array

Kind: global function
Returns: Array.<string> - Array of escaped strings

Param Type Description
output string A multilines command line output

toString(input) ⇒ string

Transform any value to a string, null and undefined values are converted to an empty string.

Kind: global function
Returns: string - A string representation of the input

Param Type Description
input boolean | number | string Value to transform into string

isStringEmpty(value) ⇒ boolean

Checks if a string is empty

Kind: global function
Returns: boolean - True, if the value is empty

Param Type Description
value string String to validate

cleanParenthesis(input) ⇒ string

Cleans the parenthesis in a string

Kind: global function
Returns: string - A string without parenthesis

Param Type Description
input string The string to clean

replaceAll(input, [oldStr], [newStr]) ⇒ string

Sanitizes a string by replacing all matches with another character

Kind: global function
Returns: string - A string with dots

Param Type Default Description
input string The string to sanitize
[oldStr] string "'.'" The character to replace
[newStr] string "'_'" The character to replace with

parseDate(input) ⇒ Date

Parses a string date to a javascript Date object

Kind: global function
Returns: Date - A Date object
See: JavaScript Date documentation

Param Type Description
input string A stringified date

capitalize(input) ⇒ string

Capitalizes the input string. Only the very first letter is capitalized.

Kind: global function
Returns: string - A capitalized string

Param Type Description
input string The string to capitalize

getLogStore(logBindings) ⇒ string

Gets the store name from a log event

Kind: global function
Returns: string - The store emitter

Param Type Description
logBindings pino/logBindings All bindings transmitted by a child logger

useNotificationStore() ⇒ NotificationStore

Global getter for the notification store

Kind: global function
Returns: NotificationStore - The global notification store of Scenic

applyNotificationLog(logLevel, logEvent)

Sends a log message to the notification store

Kind: global function

Param Type Description
logLevel pino/level Level of the logging
logEvent pino/logEvent Transmitted log event

toDestinationClass(matrixCategory) ⇒ string

Gets the corresponding quiddity class from a matrix category

Kind: global function
Returns: string - A corresponding quiddity class

Param Type Description
matrixCategory module:models/matrix.MatrixCategoryEnum A matrix category

toPageIcon(pageId) ⇒ string

Gets the icon type of a page

Kind: global function
Returns: string - Type of the icon's page

Param Type Description
pageId string ID of the page

toNumber(unit, value) ⇒ number

Converts an unit to a displayable number

Kind: global function
Returns: number - The converted value

Param Type Description
unit model.UnitEnum
value number The value in a specific unit

fromNumber(unit, convertedValue) ⇒ number

Converts displayed number to its original unit

Kind: global function
Returns: number - The value in its unit

Param Type Description
unit model.UnitEnum
convertedValue number The value used in the UI

populateStores() ⇒ object

Creates all the app's Stores

Kind: global function
Returns: object - Object with all stores used by Scenic

mobx-react/ObserverComponent

An Mobx observer component that reacts to each of its properties notifying an update

Kind: global external
See: Mobx's React guide

react/Component

A React component written with JSX

Kind: global external
See: React component documentation

react/Context

A React context that dispatches properties into nested children

Kind: global external
See: React context documentation

ui-components/Inputs/Field

The UI-Components Field

Kind: global external
See: Field specification

ui-components/Menu

The UI-Components Menu

Kind: global external
See: MenuGroup specification

react-color

React color components

Kind: global external
See: React Color homepage

pino/logger

Pino logger provides a minimal JSON logger

Kind: global external
See: Pino logger instance

pino/level

Define each level of the Pino logger

Kind: global external
See: Pino level attribute

pino/mergingObject

StatusEnum defines a shared status for all UI components

Kind: global external
See: Pino mergingObject option

pino/logEvent

Structure provided by the transmit capability of the logger

Kind: global external
See: Pino transmit function

pino/logBindings

Array of bindings that is created by each child logger

Kind: global external
See: Pino bindings API

react/customHook

Tuple that contains a callback and a value. The callback is triggering the value update.

Kind: global external
See: Documentation to build Custom hooks

socketIO/Socket

Socket provides the instance that is interacting with the server

Kind: global external
See: Socket.io Socket client API

ui-components/Common/StatusEnum

StatusEnum defines a shared status for all UI components

Kind: global external
See: UIComponents documentation