#Modeling#
##Table of Contents##
###1. JSON Objects###
###2. Aggregates###
###3. Entities###
###4. Collections###
###5. Custom Elements Inheritance Tree###
##1. JSON Objects##
###Play
IntegeridIntegergameIdFloatstartTimeFloatendTimeVideoclipArray<Event>events
###Tag
IntegeridStringnameStringdescriptionStringkeyboardShortcut (previously shortcutKey)Array<Field>fields (previously tagVariables)IntegerpointsAssignedBooleanassignThisTeamBooleanisPeriodTagIntegersummaryPriorityIntegerbufferStringindexerScriptStringsummaryScriptStringuserScriptBooleanisStartBooleanisEndIntegertagSetIdArray<Integer>children
###Event
IntegeridStringnameStringdescriptionStringkeyboardShortcut (previously shortcutKey)Array<Field>fields (previously tagVariables)IntegerpointsAssignedBooleanassignThisTeamBooleanisPeriodTagIntegersummaryPriorityIntegerbufferStringindexerScriptStringsummaryScriptStringuserScriptBooleanisStartBooleanisEndIntegertagSetIdIntegertagId
###Field
IntegeridIntegertypeStringnameBooleanisRequiredObjectvalueArray<Object>availableValues (nullforArenaField,TextField)
###PlayerField.value
StringnameIntegerplayerId
###TeamField.value
StringnameIntegerteamId
###TeamPlayerField.value
StringnameIntegerplayerIdIntegerteamId
###DropdownField.value
StringnameStringstring
###GapField.value
StringnameIntegergapIdStringkeyboardShortcut
###PassingZoneField.value
StringnameIntegerzoneIdStringkeyboardShortcut
###FormationField.value
StringnameIntegerformationIdIntegernumberOfPlayers
###TextField.value
StringnameStringstring
###YardField.value
StringnameIntegeryard
###ArenaField.value
StringnameIntegerregionObjectcoordinates
##2. Aggregates##
###Play
-
get id() -
get gameId() -
get startTime() -
set startTime(startTime) -
get endTime() -
set endTime(endTime) -
get clip() -
get events() -
set events(events) -
get isValid() -
summaryScripts()get summaryScripts() { return this.events.map(event => event.summaryScript); } -
get hasVisibleEvents()hasVisibleEvents() { return this.events.some(event => event.userScript); } -
get possessionTeamId() -
get teamIndexedScore() -
get opposingTeamIndexedScore()
##3. Entities##
###Event
get id()get name()get description()get keyboardShortcut()get fields()set fields(fields)get isPeriodTag()get summaryPriority()get buffer()get indexerScript()get summaryScript()get userScript()get isStart()get isEnd()get tagSetId()get tagId()get possessionTeamId()set possessionTeamId()get teamIndexedScore()set teamIndexedScore()get opposingTeamIndexedScore()set opposingTeamIndexedScore()get isVisible()- In addition to the existing Event entity
###Field
get id()get type()get name()get isRequired()get value()set value(value)get availableValues()set availableValues(availableValues)get isValid()
###FieldManager
clear()reset()set previousValue(<Field.value>)get current()set current(<Field>)
##4. Collections##
###SortedList###
constructor(sortProperty)
###LinkedList###
get next()get previous()get current()
##5. Custom Elements Inheritance Tree##
HTMLButtonElement
│
│── BaseFieldElement
│
│── BaseTextFieldElement
│ │
│ │── TextFieldElement
│ │
│ │── BaseTypeaheadFieldElement
│ │
│ │── PlayerFieldElement
│ │
│ │── TeamFieldElement
│ │
│ │── TeamPlayerFieldElement
│ │
│ │── OptionsFieldElement
│ │
│ │── GapFieldElement
│ │
│ │── PassingZoneFieldElement
│ │
│ │── FormationFieldElement
│ │
│ │── YardFieldElement
│
│── ArenaFieldElement
Bold indicates abstract element