<protected> new StudyDialog()
- Since:
-
- 5.2.0 Optional Attributes
cq-study-axisandcq-study-panelare now available. - 6.3.0
cq-study-axisnow also provides a check box allowing users to invert study y-axis if not shared with the primary-axis. - 9.1.0 Added emitter.
- 10.0.0 Line Style dropdown is now activated when output is an object
- 5.2.0 Optional Attributes
Example
Here is an example of how to create a study dialog. We add the
cq-study-axis and cq-study-panel attributes to enable form fields
used to control axis position, color, study panel, and underlay/overlay.
<cq-dialog>
<cq-study-dialog cq-study-axis cq-study-panel></cq-study-dialog>
</cq-dialog>
Extends
Members
-
context :CIQ.UI.Context
-
Context
Type:
- Inherited From:
- Overrides:
-
<static> markup :String
-
Default markup for the component's innerHTML, to be used when the component is added to the DOM without any innerHTML.
Type:
- String
Methods
-
addClaim()
-
Claim any keystrokes that come in. Once claimed, any keystrokes that come in are passed to the element. The element can then choose to capture or propagate the keystrokes. This enables an element to capture keystrokes even if it doesn't have mouse focus.
- Inherited From:
-
addDefaultMarkup(component [, markup])
-
Adds default markup to a web component if the component does not have any child nodes.
Parameters:
Name Type Argument Description componentHTMLElement The component to which the markup is added.
markupString <optional>
The markup to add to the web component. Unused if the component has a static markup property that specifies the markup; for example, MyComponent.markup.
- Since:
-
7.5.0
- Inherited From:
-
<protected> adoptedCallback()
-
- Inherited From:
- Overrides:
-
channelMergeObject(path, value, stx)
-
Merges an object in the chart engine communication channel.
Parameters:
Name Type Description pathString The channel path.
valueObject The value merged to the channel.
stxCIQ.ChartEngine A reference to the chart engine.
- Since:
-
7.5.0
- Inherited From:
-
channelRead(path [, stx])
-
Reads the current value in the chart engine communication channel.
Parameters:
Name Type Argument Description pathString The channel path.
stxCIQ.ChartEngine <optional>
Unused.
- Since:
-
7.5.0
- Inherited From:
Returns:
The current value in channel.
- Type
- *
-
channelSubscribe(path, cb, stx)
-
Subscribes to the chart engine messaging channel.
Parameters:
Name Type Description path* The channel path.
cb* A callback invoked upon subscribing and whenever a new message is posted in the channel.
stxCIQ.ChartEngine A reference to the chart engine.
- Since:
-
7.5.0
- Inherited From:
Returns:
A callback invoked when unsubscribing from the channel.
- Type
- function
-
channelWrite(path, value, stx)
-
Writes in the chart engine communication channel.
Parameters:
Name Type Description pathString The channel path.
value* The value written to the channel.
stxCIQ.ChartEngine A reference to the chart engine.
- Since:
-
7.5.0
- Inherited From:
-
clickFocusedItem(items, e)
-
Selects (clicks) the first element in
itemsthat has acq-focusedattribute.Parameters:
Name Type Description itemsNodeList A list of elements that are selectable via keyboard navigation.
eEvent The keystroke event.
- Since:
-
8.3.0
- Inherited From:
-
close()
-
Closes the study dialog. This will also update the study with any changes made in the dialog.
- Overrides:
-
closeActiveMenu(node)
-
Closes the menu that may be open on the study dialog.
Parameters:
Name Type Description nodeHTMLElement The open menu node.
-
deactivateItem(item)
-
Blurs and removes the
cq-keyboard-activeattribute fromitem.Parameters:
Name Type Description itemHTMLElement - Since:
-
8.4.0
- Inherited From:
-
emitCustomEvent(params)
-
Emits a custom event from the webcomponent. The event type of the emitted event is determined by the particular user action taken. Up to two events are emitted when this function is executed. The first is an event with the type of action performed, if there is one. For example, events which are spawned without user action will not emit this first event. The second event will have a type derived from the component name. For example, the
cq-study-legendcomponent will emit a "StudyLegend" type event. The payload of the event will contain a detail section specifying the component which emitted the event as well as theeffect- which more clearly defines the type of action causing the emittance. The detail section may also include custom fields further categorizing the event and providing additional information. These details are documented within the web component's documentation.Parameters:
Name Type Description paramsobject Properties
Name Type Argument Default Description causestring <optional>
The cause of the event. e.g., useraction, timeout, alert. Defaults to "useraction" if not set and
actionparameter is set.effectstring <optional>
The effect of the user's action. Required if not provided in
detail. e.g., open, help, toggle, select.actionstring | null <optional>
"click" The action a user performed, if applicable. e.g. click, longpress, drag. Set to null if no user action was performed.
detailObject <optional>
{} Optional extra parameters to include in the detail of the Custom Event.
- Since:
-
- 8.9.0
- 9.1.0 Changed
paramsobject's property names.
- Inherited From:
-
findFocused(items)
-
Finds the elements in
itemsthat have acq-focusedattribute.Parameters:
Name Type Description itemsNodeList A list of elements that are selectable via keyboard navigation.
- Since:
-
8.3.0
- Inherited From:
Returns:
The elements in
itemsthat have acq-focusedattribute, or an empty array if no elements are found.- Type
- array
-
findKeyboardActive(items)
-
Finds the elements in
itemsthat have acq-keyboard-activeattribute.Parameters:
Name Type Description itemsNodeList A list of elements that are selectable via keyboard navigation
- Since:
-
8.4.0
- Inherited From:
Returns:
The elements in
itemsthat have acq-keyboard-activeattribute, or an empty array if no elements are found.- Type
- Array
-
focusItem(item)
-
Adds a
cq-focusedattribute toitemand highlightsitem.Parameters:
Name Type Description itemHTMLElement Element that receives keyboard focus and is highlighted.
- Since:
-
8.3.0
- Inherited From:
-
focusNextItem(items [, reverse] [, loop])
-
Focuses the next item in the tab order.
Locates the first element in
itemsthat has acq-focusedattribute. If an element is found, the attribute is removed from all elements initems, andcq-focusedis applied to the element that follows (in the tab order) the element that was found.If no elements are found with the
cq-focusedattribute, the attribute is applied to the first element initems(last element ifreverseis true). If the last element initems(first element ifreverseis true) is found to have thecq-focusedattribute, focus remains on that element. Unlessloopis set to true, then focus is applied to first element.Parameters:
Name Type Argument Description itemsNodeList A list of elements that are selectable via keyboard navigation.
reverseboolean <optional>
If true, the operation is performed in reverse order; that is, from the last element in
itemsto the first.loopboolean <optional>
Loops back to the first item if the last element in
itemsis selected.- Since:
-
8.4.0 Added loop parameter. Return element, instead of true, if focus is changed.
- Inherited From:
- See:
Returns:
The newly focused element if a
cq-focusedattribute has changed.- Type
- HTMLElement | undefined
-
formatDateInput(date)
-
Forces a date string into yyyy-mm-dd format.
Parameters:
Name Type Description datestring Date in an "almost" yyyy-mm-dd format. Meaning, it may have dashes or slashes, or no separators, but the date components must be in the proper order.
Returns:
Date in yyyy-mm-dd format.
- Type
- String
-
formatTimeInput(time)
-
Forces a time string into HH:nn or HH:nn:ss format. Seconds appear in the return value only if they were present in the input parameter.
Parameters:
Name Type Description timestring Time in an "almost" correct format. Meaning, it may have colons or not, but the time components must be in the proper order.
Returns:
Time in HH:nn or HH:nn:ss format.
- Type
- String
-
getChartContainer( [el])
-
Searches the DOM for the chart container element. Begins the search with
el(orthis) and proceeds parent-by-parent up the ancestry tree until an element is found.Parameters:
Name Type Argument Description elHTMLElement <optional>
The element on which to start the search. If not provided,
thisis used.- Since:
-
7.5.0
- Inherited From:
Returns:
The chart container element or undefined if an element is not found.
- Type
- HTMLElement | undefined
-
getContextContainer( [el])
-
Searches the DOM for the chart context element. Begins the search with
el(orthisifelis not provided) and proceeds up the ancestry tree until an element is found or the root of the tree has been reached.Parameters:
Name Type Argument Description elHTMLElement <optional>
The element on which to start the search. If not provided,
thisis used.- Since:
-
7.5.0
- Inherited From:
Returns:
The chart context element or undefined if an element is not found.
- Type
- HTMLElement | undefined
-
hide()
-
Hides the dialog. This performs UI cleanup of the lifted menus.
-
inputEntry(node, cb)
-
Attaches a keyboard input entry event.
Parameters:
Name Type Description nodeHTMLElement The element to which the input entry event is attached.
cbfunction The callback function invoked when input entry occurs.
- Inherited From:
-
makeMenu(name, currentValue, fields, section)
-
Creates and returns a form menu (droopdown select box) using the inputs provided.
Parameters:
Name Type Description namestring Menu name, ultimately used as a key for updates.
currentValuestring The current selection value. This is what is displayed even when menu is closed.
fieldsObject Options for the menu. These are key-value pairs representing the selection value as the key and the text as the value.
sectionstring Where the menu will be placed. Possible values are "inputs" and "parameters".
Returns:
a menu webcomponent.
- Type
- WebComponents.Menu
-
<protected> makeTap(node, cb)
-
Attaches an "stxtap" event to an element, which will be fired on any event that resembles a click or tap. Note only one stxtap event is allowed per element. The handler is saved on the element as the
selectFCproperty.Designed to be used as a helper method for the included WebComponents. A full tutorial on how to work with and customize the WebComponents can be found here: Web Component Interface.
Parameters:
Name Type Description nodeHTMLElement The element to attach a tap event to.
cbCIQ.makeTap~makeTapCallback The callback when tapped.
- Inherited From:
-
naturalTabElements(element)
-
Returns all elements that are navigable by a browser's default tabbing algorithm
Parameters:
Name Type Description elementHTMLElement Element to query selectors from.
- Since:
-
8.8.0
- Inherited From:
Returns:
Array containing all tab navigable elements.
- Type
- Array.<HTMLElement>
-
open(params)
-
Opens the study dialog, showing the proper fields based on the parameters provided.
Parameters:
Name Type Description paramsObject Properties
Name Type Argument Description axisSelectstring <optional>
If this key is present, axis selection options appear in the Parameters section of the dialog.
panelSelectstring <optional>
If this key is present, panel selection options appear in the Parameters section of the dialog.
addWhenDonestring <optional>
If set, and adding a new study, then study will only be added if "Done" key is pressed.
callerHTMLElement <optional>
The HTML element that triggered this dialog to open
contextCIQ.UI.Context <optional>
A context to set. See setContext.
- Overrides:
-
qs(path, context)
-
Adapts the querySelector method.
Parameters:
Name Type Description pathString The CSS selectors for which to search.
contextHTMLElement | String The chart context element, which is the starting point of the DOM query, or "thisChart" to indicate the chart context in which this function is called.
- Since:
-
7.5.0
- Inherited From:
Returns:
The selected DOM element or undefined if an element is not found.
- Type
- HTMLElement | undefined
-
qsa(path, root, bustShadowRoots)
-
Adapts the querySelectorAll method. Returns an array instead of a node list to enable chaining of the array
map,filter,forEach, andreducefunctions.Parameters:
Name Type Description pathString The CSS selectors to find.
rootHTMLElement | String The root element, which is the starting point of the DOM query, or "thisChart" to indicate the chart context in which this function is called.
bustShadowRootsboolean Set to true to penetrate shadow root boundaries.
- Since:
-
- 7.5.0
- 8.9.0 Added
bustShadowRootsparameter
- Inherited From:
Returns:
An array of selected DOM element.
- Type
- Array.<HTMLElement>
-
refreshInputs( [empty])
-
Creates/recreates the fields in the "inputs" section of the dialog.
Parameters:
Name Type Argument Description emptyboolean <optional>
If true, clears all inputs fields first.
-
refreshOutputs( [empty])
-
Creates/recreates the fields in the "outputs" section of the dialog.
Parameters:
Name Type Argument Description emptyboolean <optional>
If true, clears all outputs fields first.
-
refreshParameters(params [, empty])
-
Creates/recreates the fields in the "parameters" section of the dialog.
Parameters:
Name Type Argument Description paramsObject Properties
Name Type Argument Description axisSelectstring <optional>
If this key is present, axis selection options appear in the Parameters section of the dialog.
panelSelectstring <optional>
If this key is present, panel selection options appear in the Parameters section of the dialog.
addWhenDonestring <optional>
If set, and adding a new study, then study will only be added if "Done" key is pressed.
emptyboolean <optional>
If true, clears all parameters fields first.
-
removeClaim()
-
Remove a claim on keystrokes.
- Inherited From:
-
removeFocused(items)
-
Removes the
cq-focusedattribute from all elements initems.Parameters:
Name Type Description itemsNodeList A list of elements that are selectable via keyboard navigation.
- Since:
-
8.3.0
- Inherited From:
-
selectTemplates()
-
Selects template elements and attaches them as class properties only once
-
setContext(context)
-
Called for a registered component when the context is constructed. Sets the context property of the component.
Parameters:
Name Type Description contextCIQ.UI.Context The chart user interface context.
- Overrides:
-
setLine(activator, width, pattern)
-
Updates the line style, width, and color for the study output.
Parameters:
Name Type Description activatorObject Properties
Name Type Description nodeHTMLElement The corresponding line style dropdown.
widthnumber The selected line width.
patternstring The selected line pattern.
-
setSelectOption(activator, section, name, value)
-
Accepts new menu (select box) selections.
Parameters:
Name Type Description activatorobject The object representing the dropdown selection
Properties
Name Type Description nodeHTMLElement The node of the dropdown
sectionstring Section within the dialog ("inputs", "outputs", "parameters")
namestring Text of selection
valuestring Value of selection
- Since:
-
9.1.0 Added
nameandvalueparameters.
-
trimInnerHTMLWhitespace()
-
Returns a copy of the innerHTML of an element, with leading and trailing characters stripped. The following characters are stripped: newline, carriage return, tab.
- Since:
-
9.1.0
- Inherited From:
Returns:
Trimmed innerHTML
- Type
- String
-
updateStudy(updates [, wasChange])
-
Performs the updates on the study itself.
Parameters:
Name Type Argument Default Description updatesObject Changes made in the dialog form elements from the defaults, that will be saved in the study.
Properties
Name Type Argument Description inputsObject <optional>
Changes made in the inputs section.
outputsObject <optional>
Changes made in the outputs section.
parametersObject <optional>
Changes made in the parameters section.
wasChangeboolean <optional>
false True if updating due to change in a field, False if performing a batch update.
