Show:

I am the type definition of a Videolink.

A video link is classical hyperlink (to either another video or any other resource locatable bei an URL) and which has a start and a end time related to the time base of the main video.

Videolinks are managed by the VideolinksController.

Methods

brushIn

()

I am called when the mouse pointer is hovering over one of my tile or my timeline element

brushOut

()

I am called when the mouse pointer is leaving the hovering area over my tile or my timeline element.

gotInFocus

()

When I "got into focus" (which happens, when I become the referenced object in the VideolinksController's videolinkInFocus attribute), then this method will be called.

makeTimelineElementDraggable

()

I make my timelineElement draggable.

The event handling changes my this.data.start and this.data.end attributes accordingly.

makeTimelineElementResizeable

()

I make my timelineElement resizable.

The event handling changes my this.data.start and this.data.end attributes accordingly.

removedFromFocus

()

See also: Videolink/gotIntoFocus:method

When I was "removed from focus" (which happens, when the VideolinksController's videolinkInFocus attribute), is set either to null or to an other Videolink than myself), then this method will be called.

removeFromDOM

()

I remove all my elements from the DOM. I am called when a Videolink is to be deleted.

renderTilesAndContentInDOM

()

I render my (this.tileElement and my this.videolinkElement into the DOM.

I am called, when the Videolink is initialized, and also every time, when the global state "editMode" leaves the state "links". This is the case, when the user has finished his/her changes to the Videolinks. All tiles and content containers have to be re-rendered into the DOM, because they need to sorted by ascending value of this.data.start.

renderTimelineInDOM

()

I render my (this.timelineElement into the DOM.

I am called, when the Videolink is initialized.

The tileElement and videolinkElement however are rendere separately into the DOM (see this.renderTilesAndContentInDOM), because their order in the DOM tree has to be sorted by this.data.start after each change.

setActive

()

When I am scheduled to be displayed, this is the method to be called.

setInactive

()

When I am scheduled to disappear, this is the method to be called.

startEditing

()

I am called when the app switches to the editMode "links".

I make sure

  • that my timelineElement is resizable and draggable
  • and that it has a click handler for putting myself into focus.

stopEditing

()

When the global editMode leaves the state "links", I am called to stop the editing features of the video link.

updateTimelineElement

()

I update the CSS of the timelineElement to its correct position within the timeline.

Attributes

activeState

Boolean

I store my state, wether I am "active" (this is, when my timelineElement and tileElements are highlighted) or not.

data

I hold the data object of a Videolink, which is stored in the Database and saved in the hypervideos's links.json file.

permanentFocusState

Boolean

I store my state, wether I am "in focus" or not. See also:

tileElement

HTMLElement

I hold the tileElement (a jquery-enabled HTMLElement), which shows a icon for me close to my position in the timeline.

timelineElement

HTMLElement

I hold the timelineElement (a jquery-enabled HTMLElement), which indicates my start and end time.

videolinkElement

HTMLElement

I hold the videolinkElement (a jquery-enabled HTMLElement), which shows the linked content in an iframe.