#Modeling#
##Table of Contents##
###1. JSON Objects###
###2. Aggregates###
###3. Entities###
###4. Collections###
###5. Custom Elements Inheritance Tree###
##1. JSON Objects##
###Play
Integer
idInteger
gameIdFloat
startTimeFloat
endTimeVideo
clipArray<Event>
events
###Tag
Integer
idString
nameString
descriptionString
keyboardShortcut (previously shortcutKey)Array<Field>
fields (previously tagVariables)Integer
pointsAssignedBoolean
assignThisTeamBoolean
isPeriodTagInteger
summaryPriorityInteger
bufferString
indexerScriptString
summaryScriptString
userScriptBoolean
isStartBoolean
isEndInteger
tagSetIdArray<Integer>
children
###Event
Integer
idString
nameString
descriptionString
keyboardShortcut (previously shortcutKey)Array<Field>
fields (previously tagVariables)Integer
pointsAssignedBoolean
assignThisTeamBoolean
isPeriodTagInteger
summaryPriorityInteger
bufferString
indexerScriptString
summaryScriptString
userScriptBoolean
isStartBoolean
isEndInteger
tagSetIdInteger
tagId
###Field
Integer
idInteger
typeString
nameBoolean
isRequiredObject
valueArray<Object>
availableValues (null
forArenaField
,TextField
)
###PlayerField.value
String
nameInteger
playerId
###TeamField.value
String
nameInteger
teamId
###TeamPlayerField.value
String
nameInteger
playerIdInteger
teamId
###DropdownField.value
String
nameString
string
###GapField.value
String
nameInteger
gapIdString
keyboardShortcut
###PassingZoneField.value
String
nameInteger
zoneIdString
keyboardShortcut
###FormationField.value
String
nameInteger
formationIdInteger
numberOfPlayers
###TextField.value
String
nameString
string
###YardField.value
String
nameInteger
yard
###ArenaField.value
String
nameInteger
regionObject
coordinates
##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