Class: SemanticFilterView

SemanticFilterView()

Render a specialized view of a single Filter model using the AnnotationFilterView.

Screenshot

Constructor

new SemanticFilterView()

Since:
  • 2.22.0
Source:

Extends

Members

collapseToggleClass :string

The class used for the button that toggles the collapsed state of the filter.
Type:
  • string
Since:
  • 2.25.0
Inherited From:
Default Value:
  • "collapse-toggle"
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:
  • boolean
Since:
  • 2.25.0
Inherited From:
Default Value:
  • true
Source:

collapsedClass :string

The class to add to the filter when it is collapsed.
Type:
  • string
Since:
  • 2.25.0
Inherited From:
Default Value:
  • "collapsed"
Source:

collapsible :boolean

Whether the filter is collapsible. If true, the filter will have a button that toggles the collapsed state.
Type:
  • boolean
Since:
  • 2.25.0
Inherited From:
Source:

labelTemplate :Underscore.Template

The template that renders the icon and label of a filter
Type:
  • Underscore.Template
Since:
  • 2.17.0
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:
  • string
Since:
  • 2.17.0
Inherited From:
Source:

model :Filter

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:
  • Backbone.Model
Since:
  • 2.17.0
Overrides:
Source:

template :Underscore.Template

Reference to template for this view. HTML files are converted to Underscore.js templates
Type:
  • Underscore.Template
Overrides:
Source:

uiBuilderClass :string

The class to add to the filter when it is in "uiBuilder" mode
Type:
  • string
Since:
  • 2.17.0
Inherited From:
Source:

uiInputClass :string

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:
  • string
Since:
  • 2.17.0
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:
  • 2.22.0
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:

hideInputError(input, messageContainer)

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:
  • 2.22.0
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:
  • 2.22.0
Source:

showInputError(input, messageContainer, message)

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:
  • 2.25.0
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:
  • 2.17.0
Inherited From:
Source: