Class: ShapeController

ShapeController(uiState, container, decompViewDict) → {ShapeController}

ShapeController

Manipulates and displays the shape of objects on screen.

Constructor

new ShapeController(uiState, container, decompViewDict) → {ShapeController}

Parameters:
Name Type Description
uiState UIState

The shared state

container Node

Container node to create the controller in.

decompViewDict Object

This is object is keyed by unique identifiers and the values are DecompositionView objects referring to a set of objects presented on screen. This dictionary will usually be shared by all the tabs in the application. This argument is passed by reference. Note that only the decompositions of type 'scatter' will be controlled, other types will be ignored.

Source:
Returns:

An instance of ShapeController

Type
ShapeController

Extends

Members

$body :Node

jQuery element for the body, which contains the lowermost elementsdisplayed in tab. This goes below the header.

Type:
  • Node
Inherited From:
Source:

$canvas :Node

jQuery element for the canvas, which contains the header and the body.

Type:
  • Node
Inherited From:
Source:

$container :Node

jQuery element for the parent container.

Type:
  • Node
Inherited From:
Source:

$gridDiv :Node

jQuery element for the div containing the slickgrid of sample information

Type:
  • Node
Inherited From:
Source:

$header :Node

jQuery element for the header which contains the uppermost elementsdisplayed in a tab.

Type:
  • Node
Inherited From:
Source:

active :Boolean

Indicates whether the tab is front most

Type:
  • Boolean
Inherited From:
Default Value:
  • false
Source:

bodyGrid :Slick.Grid

Container that lists the metadata categories described under themetadata column and the attribute that can be modified.

Type:
  • Slick.Grid
Inherited From:
Source:

decompViewDict :Object

This is object is keyed by unique identifiers and the values areDecompositionView objects referring to a set of objects presented onscreen. This dictionary will usually be shared by all the tabs in theapplication. This argument is passed by reference.

Type:
  • Object
Inherited From:
Source:

description :String

Human-readable description of the tab.

Type:
  • String
Inherited From:
Source:

enabled :Boolean

Indicates if tab can be accessed.

Type:
  • Boolean
Inherited From:
Default Value:
  • true
Source:

identifier :String

Unique hash identifier for the tab instance.

Type:
  • String
Inherited From:
Default Value:
  • "EMPtab-xxxxxxx"
Source:

ready :function

Callback to execute when all the elements in the UI for this controllerhave been loaded. Note, that this functionality needs to be implementedby subclasses, as EmperorViewController does not have any UI components.

Type:
  • function
Inherited From:
Source:

title :String

Human-readable title of the tab.

Type:
  • String
Inherited From:
Source:

UIState :UIState

The shared state

Type:
  • UIState
Inherited From:
Source:

Methods

decompositionName()

Get the name of the decomposition selected in the metadata menu.

Inherited From:
Source:

forceRefresh()

Writes the current settings to the active decomposition view(s). Will be called when the decomposition view is swapped out for a different view type.

Inherited From:
Source:

fromJSON(json)

Decodes JSON string and modifies its own instance variables accordingly.

Parameters:
Name Type Description
json Object

Parsed JSON string representation of self.

Inherited From:
Source:

getMetadataField()

Get the name of the selected category in the metadata menu.

Inherited From:
Source:

getSlickGridDataset() → {Array}

Retrieves the underlying data in the slick grid

Inherited From:
Source:
Returns:

Returns an array of objects displayed by the body grid.

Type
Array

getView()

Get the view that's currently selected by the metadata menu.

Inherited From:
Source:

hasMetadataField(m) → {Bool}

Check if a metadata field is present

Parameters:
Name Type Description
m String

Metadata column to check if is present.

Inherited From:
Source:
Returns:

Whether or not the metadata field is present.

Type
Bool

refreshMetadata()

Update the metadata selection menu.

Performs some additional logic to avoid duplicating decomposition names.

Note that decompositions won't be updated if they have the same name and same metadata headers, if the only things changing are coordinates, or metadata values, the changes should be performed directly on the objects themselves.

Inherited From:
Source:

resize(width, height)

Resizes the container and the individual elements.

Note, the consumer of this class, likely the main controller should call the resize function any time a resizing event happens.

Parameters:
Name Type Description
width Float

the container width.

height Float

the container height.

Inherited From:
Source:

setActive(trulse)

Sets whether or not the tab is visible.

Parameters:
Name Type Description
trulse Boolean

option to activate tab (i.e. move tab to foreground).

Inherited From:
Source:

setEnabled(trulse)

Sets whether or not the tab can be modified or accessed.

Parameters:
Name Type Description
trulse Boolean

option to enable tab.

Inherited From:
Source:

setMetadataField(m)

Changes the selected value in the metadata menu.

Parameters:
Name Type Description
m String

Metadata column name to control. When the category is null, the metadata selector is set to an empty value, the body grid is emptied, and all the markers are reset to a default state (depends on the subclass).

Inherited From:
Source:
Throws:

Argument m must be a metadata category in one of the decomposition views.

Type
Error

setPlottableAttributes(scope, shape, group)

Helper function to set the shape of plottable

Parameters:
Name Type Description
scope Object

The scope where the plottables exist

shape string

String representation of the shape to be applied to the plottables.

group Array.<Object>

Array of objects that should be changed in scope

Source:

setSlickGridDataset(data)

Changes the underlying data in the slick grid

Parameters:
Name Type Description
data Array

data.

Inherited From:
Source:

toJSON() → {Object}

Converts the current instance into a JSON object.

Inherited From:
Source:
Returns:

base object ready for JSON conversion.

Type
Object