Constructor
new SemanticFilterView()
- Since:
- Source:
Extends
Members
collapseToggleClass :string
The class used for the button that toggles the collapsed state of the filter.
Type:
- Since:
- Inherited From:
- Default Value:
- Source:
collapsed :boolean
The current state of the filter, if it is
FilterView#collapsible.
Whatever this value is set to at initialization, will be how the filter is
initially rendered.
Type:
- Since:
- Inherited From:
- Default Value:
- Source:
collapsedClass :string
The class to add to the filter when it is collapsed.
Type:
- Since:
- Inherited From:
- Default Value:
- Source:
collapsible :boolean
Whether the filter is collapsible. If true, the filter will have a button that
toggles the collapsed state.
Type:
- Since:
- Inherited From:
- Source:
labelTemplate :Underscore.Template
The template that renders the icon and label of a filter
Type:
- Since:
- Inherited From:
- Source:
mode :string
One of "normal", "edit", or "uiBuilder". "normal" renders a regular filter used to
update a search model in a DataCatalogViewWithFilters. "edit" creates a filter that
cannot update a search model, but which has an "EDIT" button that opens a modal
with an interface for editing the filter model's properties (e.g. fields, model
type, etc.). "uiBuilder" is the view of the filter within this editing modal; it
has inputs that are overlaid above the filter elements where a user can edit the
placeholder text, label, etc. in a WYSIWYG fashion.
Type:
- Since:
- Inherited From:
- Source:
A Filter model to be rendered in this view
Type:
- Overrides:
- Source:
modelClass :Backbone.Model
The Filter model that this View renders. This is used to create a new
instance of the model if one is not provided to the view.
Type:
- Since:
- Overrides:
- Source:
template :Underscore.Template
Reference to template for this view. HTML files are converted to Underscore.js
templates
Type:
- Overrides:
- Source:
uiBuilderClass :string
The class to add to the filter when it is in "uiBuilder" mode
Type:
- Since:
- Inherited From:
- Source:
The class used for input elements where the user can change UI attributes when this
view is in "uiBuilder" mode. For example, the input for the placeholder text should
have this class. Elements with this class also need to have a data-category
attribute with the name of the model attribute they correspond to.
Type:
- Since:
- Inherited From:
- Source:
Methods
defocus()
Helper function which defocuses the dropdown portion of the
SearchableSelectView used by this View's AnnotationFilterView. When the
user clicks an item in the NCBOTree widget, we want the
SearchableSelectView's dropdown to go away and I couldn't find any API
to do that so we have this code. See the render() method to see how it's
called.
Note: This isn't really a stable API and is really something we might
remove in the future if we refactor the NCBOTree widget.
- Since:
- Source:
events() → {Object}
A function that creates and returns the Backbone events object.
- Inherited From:
- Source:
Returns:
Returns a Backbone events object
-
Type
-
Object
handleChange()
Updates the view when the filter input is updated
Parameters:
Type |
Description |
Event
|
The DOM Event that occurred on the filter view input element |
- Inherited From:
- Source:
handleTyping()
When the user presses Enter in the input element, update the view and model
Parameters:
Type |
Description |
Event
|
The DOM Event that occurred on the filter view input element |
- Inherited From:
- Source:
This function hides the error message and error class added to inputs with the
FilterView#showInputError function.
Parameters:
Name |
Type |
Description |
input |
HTMLElement
|
The input that had an error associated with its value |
messageContainer |
HTMLElement
|
The element in which the error message was
inserted |
- Inherited From:
- Source:
initialize(optionsopt)
Function executed whenever a new FilterView is created.
Parameters:
Name |
Type |
Attributes |
Description |
options |
Object
|
<optional>
|
A literal object of options to set on this View |
- Inherited From:
- Source:
render()
Render an instance of a Semantic Filter View.
Note that this View doesn't have a template and instead delegates to
the AnnotationFilterView which renders a SearchableSelectView which
renders an NCBOTree.
- Since:
- Overrides:
- Source:
setLabelMapping(term, label)
Set the human-readable label for a term URI.
For most uses of the Filter model, the value(s) set on the model can
be shown directly in the UI. But for Semantic searches, we need to
be able to display a human-readable label for the value because the
value is likely an opaque URI.
Rather than fetch and/or store all the possible labels for all
possible URIs, we store a label for whichever terms the user chooses
and keep that around until we need it in the UI.
Parameters:
Name |
Type |
Description |
term |
string
|
The term URI to set a label for |
label |
string
|
The label to set |
- Since:
- Source:
This function indicates that there is an error with an input in this filter. It
displays an error message and adds the error CSS class to the problematic input.
Parameters:
Name |
Type |
Description |
input |
HTMLElement
|
The input that has an error associated with its value |
messageContainer |
HTMLElement
|
The element in which to insert the error
message |
message |
string
|
The error message to show |
- Inherited From:
- Source:
showValidationErrors(errors)
Show validation errors. This is used for filters that are in "UIBuilder" mode.
Parameters:
Name |
Type |
Description |
errors |
Object
|
The error messages associated with each attribute that has
an error, passed from the Filter model validation function. |
- Inherited From:
- Source:
toggleCollapse(collapseopt)
Toggle the collapsed state of the filter. If collapse is a boolean, then set the
collapsed state to that value. Otherwise, set it to the opposite of whichever
state is currently set.
Parameters:
Name |
Type |
Attributes |
Description |
collapse |
boolean
|
<optional>
|
Whether to collapse the filter. If not provided, the
filter will be collapsed if it is currently expanded, and vice versa. |
- Since:
- Inherited From:
- Source:
updateModel()
Updates the value set on the Filter Model associated with this view.
The filter value is grabbed from the input element in this view.
- Inherited From:
- Source:
updateUIAttribute(e)
Updates the corresponding model attribute when an input for one of the UI options
changes (in "uiBuilder" mode).
Parameters:
Name |
Type |
Description |
e |
Object
|
The change event |
- Since:
- Inherited From:
- Source: