mirror of
https://github.com/nasa/openmct.git
synced 2025-06-13 04:38:15 +00:00
Update eslint (#4554)
Bumps [eslint-plugin-vue](https://github.com/vuejs/eslint-plugin-vue) from 7.20.0 to 8.0.3. - [Release notes](https://github.com/vuejs/eslint-plugin-vue/releases) - [Commits](https://github.com/vuejs/eslint-plugin-vue/compare/v7.20.0...v8.0.3) --- updated-dependencies: - dependency-name: eslint-plugin-vue dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * bump eslint to 8.11.0 * bump eslint-plugin-vue to 8.5.0 * disable eslint rule for multi-word component names. TODO enable it and follow conventions Co-authored-by: Nikhil Mandlik <nikhil.k.mandlik@nasa.gov> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: John Hill <john.c.hill@nasa.gov> Co-authored-by: unlikelyzero <jchill2@gmail.com> Co-authored-by: Andrew Henry <akhenry@gmail.com>
This commit is contained in:
11
.eslintrc.js
11
.eslintrc.js
@ -16,7 +16,8 @@ module.exports = {
|
|||||||
],
|
],
|
||||||
"parser": "vue-eslint-parser",
|
"parser": "vue-eslint-parser",
|
||||||
"parserOptions": {
|
"parserOptions": {
|
||||||
"parser": "babel-eslint",
|
"parser": "@babel/eslint-parser",
|
||||||
|
"requireConfigFile": false,
|
||||||
"allowImportExportEverywhere": true,
|
"allowImportExportEverywhere": true,
|
||||||
"ecmaVersion": 2015,
|
"ecmaVersion": 2015,
|
||||||
"ecmaFeatures": {
|
"ecmaFeatures": {
|
||||||
@ -35,7 +36,6 @@ module.exports = {
|
|||||||
"no-inner-declarations": "off",
|
"no-inner-declarations": "off",
|
||||||
"no-use-before-define": ["error", "nofunc"],
|
"no-use-before-define": ["error", "nofunc"],
|
||||||
"no-caller": "error",
|
"no-caller": "error",
|
||||||
"no-sequences": "error",
|
|
||||||
"no-irregular-whitespace": "error",
|
"no-irregular-whitespace": "error",
|
||||||
"no-new": "error",
|
"no-new": "error",
|
||||||
"no-shadow": "error",
|
"no-shadow": "error",
|
||||||
@ -239,13 +239,12 @@ module.exports = {
|
|||||||
],
|
],
|
||||||
"vue/max-attributes-per-line": ["error", {
|
"vue/max-attributes-per-line": ["error", {
|
||||||
"singleline": 1,
|
"singleline": 1,
|
||||||
"multiline": {
|
"multiline": 1,
|
||||||
"max": 1,
|
|
||||||
"allowFirstLine": true
|
|
||||||
}
|
|
||||||
}],
|
}],
|
||||||
|
"vue/first-attribute-linebreak": "error",
|
||||||
"vue/multiline-html-element-content-newline": "off",
|
"vue/multiline-html-element-content-newline": "off",
|
||||||
"vue/singleline-html-element-content-newline": "off",
|
"vue/singleline-html-element-content-newline": "off",
|
||||||
|
"vue/multi-word-component-names": "off", // TODO enable, align with conventions
|
||||||
"vue/no-mutating-props": "off"
|
"vue/no-mutating-props": "off"
|
||||||
|
|
||||||
},
|
},
|
||||||
|
@ -3,12 +3,12 @@
|
|||||||
"version": "2.0.1-SNAPSHOT",
|
"version": "2.0.1-SNAPSHOT",
|
||||||
"description": "The Open MCT core platform",
|
"description": "The Open MCT core platform",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@babel/eslint-parser": "7.16.3",
|
||||||
"@braintree/sanitize-url": "6.0.0",
|
"@braintree/sanitize-url": "6.0.0",
|
||||||
"@percy/cli": "1.0.0-beta.75",
|
"@percy/cli": "1.0.0-beta.75",
|
||||||
"@percy/playwright": "1.0.1",
|
"@percy/playwright": "1.0.1",
|
||||||
"@playwright/test": "1.19.2",
|
"@playwright/test": "1.19.2",
|
||||||
"allure-playwright": "2.0.0-beta.15",
|
"allure-playwright": "2.0.0-beta.15",
|
||||||
"babel-eslint": "10.1.0",
|
|
||||||
"comma-separated-values": "3.6.4",
|
"comma-separated-values": "3.6.4",
|
||||||
"copy-webpack-plugin": "10.2.0",
|
"copy-webpack-plugin": "10.2.0",
|
||||||
"core-js": "3.20.3",
|
"core-js": "3.20.3",
|
||||||
@ -17,9 +17,9 @@
|
|||||||
"d3-axis": "1.0.x",
|
"d3-axis": "1.0.x",
|
||||||
"d3-scale": "1.0.x",
|
"d3-scale": "1.0.x",
|
||||||
"d3-selection": "1.3.x",
|
"d3-selection": "1.3.x",
|
||||||
"eslint": "7.0.0",
|
"eslint": "8.11.0",
|
||||||
"eslint-plugin-playwright": "0.8.0",
|
"eslint-plugin-playwright": "0.8.0",
|
||||||
"eslint-plugin-vue": "7.5.0",
|
"eslint-plugin-vue": "8.5.0",
|
||||||
"eslint-plugin-you-dont-need-lodash-underscore": "6.12.0",
|
"eslint-plugin-you-dont-need-lodash-underscore": "6.12.0",
|
||||||
"eventemitter3": "1.2.0",
|
"eventemitter3": "1.2.0",
|
||||||
"exports-loader": "0.7.0",
|
"exports-loader": "0.7.0",
|
||||||
|
@ -26,26 +26,31 @@
|
|||||||
<div class="c-overlay__dialog-title">{{ model.title }}</div>
|
<div class="c-overlay__dialog-title">{{ model.title }}</div>
|
||||||
<div class="c-overlay__dialog-hint hint">All fields marked <span class="req icon-asterisk"></span> are required.</div>
|
<div class="c-overlay__dialog-hint hint">All fields marked <span class="req icon-asterisk"></span> are required.</div>
|
||||||
</div>
|
</div>
|
||||||
<form name="mctForm"
|
<form
|
||||||
|
name="mctForm"
|
||||||
class="c-form__contents"
|
class="c-form__contents"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
@submit.prevent
|
@submit.prevent
|
||||||
>
|
>
|
||||||
<div v-for="section in formSections"
|
<div
|
||||||
|
v-for="section in formSections"
|
||||||
:key="section.id"
|
:key="section.id"
|
||||||
class="c-form__section"
|
class="c-form__section"
|
||||||
:class="section.cssClass"
|
:class="section.cssClass"
|
||||||
>
|
>
|
||||||
<h2 v-if="section.name"
|
<h2
|
||||||
|
v-if="section.name"
|
||||||
class="c-form__section-header"
|
class="c-form__section-header"
|
||||||
>
|
>
|
||||||
{{ section.name }}
|
{{ section.name }}
|
||||||
</h2>
|
</h2>
|
||||||
<div v-for="(row, index) in section.rows"
|
<div
|
||||||
|
v-for="(row, index) in section.rows"
|
||||||
:key="row.id"
|
:key="row.id"
|
||||||
class="u-contents"
|
class="u-contents"
|
||||||
>
|
>
|
||||||
<FormRow :css-class="section.cssClass"
|
<FormRow
|
||||||
|
:css-class="section.cssClass"
|
||||||
:first="index < 1"
|
:first="index < 1"
|
||||||
:row="row"
|
:row="row"
|
||||||
@onChange="onChange"
|
@onChange="onChange"
|
||||||
@ -55,14 +60,16 @@
|
|||||||
</form>
|
</form>
|
||||||
|
|
||||||
<div class="mct-form__controls c-overlay__button-bar c-form__bottom-bar">
|
<div class="mct-form__controls c-overlay__button-bar c-form__bottom-bar">
|
||||||
<button tabindex="0"
|
<button
|
||||||
|
tabindex="0"
|
||||||
:disabled="isInvalid"
|
:disabled="isInvalid"
|
||||||
class="c-button c-button--major"
|
class="c-button c-button--major"
|
||||||
@click="onSave"
|
@click="onSave"
|
||||||
>
|
>
|
||||||
{{ submitLabel }}
|
{{ submitLabel }}
|
||||||
</button>
|
</button>
|
||||||
<button tabindex="0"
|
<button
|
||||||
|
tabindex="0"
|
||||||
class="c-button"
|
class="c-button"
|
||||||
@click="onDismiss"
|
@click="onDismiss"
|
||||||
>
|
>
|
||||||
|
@ -21,20 +21,24 @@
|
|||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="form-row c-form__row"
|
<div
|
||||||
|
class="form-row c-form__row"
|
||||||
:class="[{ 'first': first }]"
|
:class="[{ 'first': first }]"
|
||||||
@onChange="onChange"
|
@onChange="onChange"
|
||||||
>
|
>
|
||||||
<div class="c-form-row__label"
|
<div
|
||||||
|
class="c-form-row__label"
|
||||||
:title="row.description"
|
:title="row.description"
|
||||||
>
|
>
|
||||||
{{ row.name }}
|
{{ row.name }}
|
||||||
</div>
|
</div>
|
||||||
<div class="c-form-row__state-indicator"
|
<div
|
||||||
|
class="c-form-row__state-indicator"
|
||||||
:class="rowClass"
|
:class="rowClass"
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="row.control"
|
<div
|
||||||
|
v-if="row.control"
|
||||||
class="c-form-row__controls"
|
class="c-form-row__controls"
|
||||||
>
|
>
|
||||||
<div ref="rowElement"></div>
|
<div ref="rowElement"></div>
|
||||||
|
@ -22,20 +22,24 @@
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="form-control autocomplete">
|
<div class="form-control autocomplete">
|
||||||
<input v-model="field"
|
<input
|
||||||
|
v-model="field"
|
||||||
class="autocompleteInput"
|
class="autocompleteInput"
|
||||||
type="text"
|
type="text"
|
||||||
@click="inputClicked()"
|
@click="inputClicked()"
|
||||||
@keydown="keyDown($event)"
|
@keydown="keyDown($event)"
|
||||||
>
|
>
|
||||||
<span class="icon-arrow-down"
|
<span
|
||||||
|
class="icon-arrow-down"
|
||||||
@click="arrowClicked()"
|
@click="arrowClicked()"
|
||||||
></span>
|
></span>
|
||||||
<div class="autocompleteOptions"
|
<div
|
||||||
|
class="autocompleteOptions"
|
||||||
@blur="hideOptions = true"
|
@blur="hideOptions = true"
|
||||||
>
|
>
|
||||||
<ul v-if="!hideOptions">
|
<ul v-if="!hideOptions">
|
||||||
<li v-for="opt in filteredOptions"
|
<li
|
||||||
|
v-for="opt in filteredOptions"
|
||||||
:key="opt.optionId"
|
:key="opt.optionId"
|
||||||
:class="{'optionPreSelected': optionIndex === opt.optionId}"
|
:class="{'optionPreSelected': optionIndex === opt.optionId}"
|
||||||
@click="fillInputWithString(opt.name)"
|
@click="fillInputWithString(opt.name)"
|
||||||
|
@ -22,7 +22,8 @@
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="c-form-control--clock-display-format-fields">
|
<div class="c-form-control--clock-display-format-fields">
|
||||||
<SelectField v-for="item in items"
|
<SelectField
|
||||||
|
v-for="item in items"
|
||||||
:key="item.key"
|
:key="item.key"
|
||||||
:model="item"
|
:model="item"
|
||||||
@onChange="onChange"
|
@onChange="onChange"
|
||||||
|
@ -22,7 +22,8 @@
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<span>
|
<span>
|
||||||
<CompositeItem v-for="(item, index) in model.items"
|
<CompositeItem
|
||||||
|
v-for="(item, index) in model.items"
|
||||||
:key="item.name"
|
:key="item.name"
|
||||||
:first="index < 1"
|
:first="index < 1"
|
||||||
:value="JSON.stringify(model.value[index])"
|
:value="JSON.stringify(model.value[index])"
|
||||||
|
@ -22,7 +22,8 @@
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div :class="compositeCssClass">
|
<div :class="compositeCssClass">
|
||||||
<FormRow :css-class="item.cssClass"
|
<FormRow
|
||||||
|
:css-class="item.cssClass"
|
||||||
:first="first"
|
:first="first"
|
||||||
:row="row"
|
:row="row"
|
||||||
@onChange="onChange"
|
@onChange="onChange"
|
||||||
|
@ -27,12 +27,14 @@
|
|||||||
<div class="hint time sm">Min</div>
|
<div class="hint time sm">Min</div>
|
||||||
<div class="hint time sm">Sec</div>
|
<div class="hint time sm">Sec</div>
|
||||||
<div class="hint timezone">Timezone</div>
|
<div class="hint timezone">Timezone</div>
|
||||||
<form ref="dateTimeForm"
|
<form
|
||||||
|
ref="dateTimeForm"
|
||||||
prevent
|
prevent
|
||||||
class="u-contents"
|
class="u-contents"
|
||||||
>
|
>
|
||||||
<div class="field control date">
|
<div class="field control date">
|
||||||
<input v-model="date"
|
<input
|
||||||
|
v-model="date"
|
||||||
:pattern="/\d{4}-\d{2}-\d{2}/"
|
:pattern="/\d{4}-\d{2}-\d{2}/"
|
||||||
:placeholder="format"
|
:placeholder="format"
|
||||||
type="date"
|
type="date"
|
||||||
@ -41,7 +43,8 @@
|
|||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="field control hour sm">
|
<div class="field control hour sm">
|
||||||
<input v-model="hour"
|
<input
|
||||||
|
v-model="hour"
|
||||||
:pattern="/\d+/"
|
:pattern="/\d+/"
|
||||||
type="number"
|
type="number"
|
||||||
name="hour"
|
name="hour"
|
||||||
@ -52,7 +55,8 @@
|
|||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="field control min sm">
|
<div class="field control min sm">
|
||||||
<input v-model="min"
|
<input
|
||||||
|
v-model="min"
|
||||||
:pattern="/\d+/"
|
:pattern="/\d+/"
|
||||||
type="number"
|
type="number"
|
||||||
name="min"
|
name="min"
|
||||||
@ -63,7 +67,8 @@
|
|||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="field control sec sm">
|
<div class="field control sec sm">
|
||||||
<input v-model="sec"
|
<input
|
||||||
|
v-model="sec"
|
||||||
:pattern="/\d+/"
|
:pattern="/\d+/"
|
||||||
type="number"
|
type="number"
|
||||||
name="sec"
|
name="sec"
|
||||||
|
@ -22,16 +22,19 @@
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<span class="form-control shell">
|
<span class="form-control shell">
|
||||||
<span class="field control"
|
<span
|
||||||
|
class="field control"
|
||||||
:class="model.cssClass"
|
:class="model.cssClass"
|
||||||
>
|
>
|
||||||
<input id="fileElem"
|
<input
|
||||||
|
id="fileElem"
|
||||||
ref="fileInput"
|
ref="fileInput"
|
||||||
type="file"
|
type="file"
|
||||||
accept=".json"
|
accept=".json"
|
||||||
style="display:none"
|
style="display:none"
|
||||||
>
|
>
|
||||||
<button id="fileSelect"
|
<button
|
||||||
|
id="fileSelect"
|
||||||
class="c-button"
|
class="c-button"
|
||||||
@click="selectFile"
|
@click="selectFile"
|
||||||
>
|
>
|
||||||
|
@ -22,10 +22,12 @@
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<span class="form-control shell">
|
<span class="form-control shell">
|
||||||
<span class="field control"
|
<span
|
||||||
|
class="field control"
|
||||||
:class="model.cssClass"
|
:class="model.cssClass"
|
||||||
>
|
>
|
||||||
<input v-model="field"
|
<input
|
||||||
|
v-model="field"
|
||||||
type="number"
|
type="number"
|
||||||
:min="model.min"
|
:min="model.min"
|
||||||
:max="model.max"
|
:max="model.max"
|
||||||
|
@ -22,12 +22,14 @@
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="form-control select-field">
|
<div class="form-control select-field">
|
||||||
<select v-model="selected"
|
<select
|
||||||
|
v-model="selected"
|
||||||
required="model.required"
|
required="model.required"
|
||||||
name="mctControl"
|
name="mctControl"
|
||||||
@change="onChange($event)"
|
@change="onChange($event)"
|
||||||
>
|
>
|
||||||
<option v-for="option in model.options"
|
<option
|
||||||
|
v-for="option in model.options"
|
||||||
:key="option.name"
|
:key="option.name"
|
||||||
:value="option.value"
|
:value="option.value"
|
||||||
>
|
>
|
||||||
|
@ -22,10 +22,12 @@
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<span class="form-control shell">
|
<span class="form-control shell">
|
||||||
<span class="field control"
|
<span
|
||||||
|
class="field control"
|
||||||
:class="model.cssClass"
|
:class="model.cssClass"
|
||||||
>
|
>
|
||||||
<textarea v-model="field"
|
<textarea
|
||||||
|
v-model="field"
|
||||||
type="text"
|
type="text"
|
||||||
:size="model.size"
|
:size="model.size"
|
||||||
@input="updateText()"
|
@input="updateText()"
|
||||||
|
@ -22,10 +22,12 @@
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<span class="form-control shell">
|
<span class="form-control shell">
|
||||||
<span class="field control"
|
<span
|
||||||
|
class="field control"
|
||||||
:class="model.cssClass"
|
:class="model.cssClass"
|
||||||
>
|
>
|
||||||
<input v-model="field"
|
<input
|
||||||
|
v-model="field"
|
||||||
type="text"
|
type="text"
|
||||||
:size="model.size"
|
:size="model.size"
|
||||||
@input="updateText()"
|
@input="updateText()"
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="c-menu"
|
<div
|
||||||
|
class="c-menu"
|
||||||
:class="options.menuClass"
|
:class="options.menuClass"
|
||||||
>
|
>
|
||||||
<ul v-if="options.actions.length && options.actions[0].length">
|
<ul v-if="options.actions.length && options.actions[0].length">
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="c-menu"
|
<div
|
||||||
|
class="c-menu"
|
||||||
:class="[options.menuClass, 'c-super-menu']"
|
:class="[options.menuClass, 'c-super-menu']"
|
||||||
>
|
>
|
||||||
<ul v-if="options.actions.length && options.actions[0].length"
|
<ul
|
||||||
|
v-if="options.actions.length && options.actions[0].length"
|
||||||
class="c-super-menu__menu"
|
class="c-super-menu__menu"
|
||||||
>
|
>
|
||||||
<template
|
<template
|
||||||
@ -34,7 +36,8 @@
|
|||||||
</template>
|
</template>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<ul v-else
|
<ul
|
||||||
|
v-else
|
||||||
class="c-super-menu__menu"
|
class="c-super-menu__menu"
|
||||||
>
|
>
|
||||||
<li
|
<li
|
||||||
|
@ -1,24 +1,30 @@
|
|||||||
<template>
|
<template>
|
||||||
<div ref="plotWrapper"
|
<div
|
||||||
|
ref="plotWrapper"
|
||||||
class="has-local-controls"
|
class="has-local-controls"
|
||||||
:class="{ 's-unsynced' : isZoomed }"
|
:class="{ 's-unsynced' : isZoomed }"
|
||||||
>
|
>
|
||||||
<div v-if="isZoomed"
|
<div
|
||||||
|
v-if="isZoomed"
|
||||||
class="l-state-indicators"
|
class="l-state-indicators"
|
||||||
>
|
>
|
||||||
<span class="l-state-indicators__alert-no-lad t-object-alert t-alert-unsynced icon-alert-triangle"
|
<span
|
||||||
|
class="l-state-indicators__alert-no-lad t-object-alert t-alert-unsynced icon-alert-triangle"
|
||||||
title="This plot is not currently displaying the latest data. Reset pan/zoom to view latest data."
|
title="This plot is not currently displaying the latest data. Reset pan/zoom to view latest data."
|
||||||
></span>
|
></span>
|
||||||
</div>
|
</div>
|
||||||
<div ref="plot"
|
<div
|
||||||
|
ref="plot"
|
||||||
class="c-bar-chart"
|
class="c-bar-chart"
|
||||||
@plotly_relayout="zoom"
|
@plotly_relayout="zoom"
|
||||||
></div>
|
></div>
|
||||||
<div v-if="false"
|
<div
|
||||||
|
v-if="false"
|
||||||
ref="localControl"
|
ref="localControl"
|
||||||
class="gl-plot__local-controls h-local-controls h-local-controls--overlay-content c-local-controls--show-on-hover"
|
class="gl-plot__local-controls h-local-controls h-local-controls--overlay-content c-local-controls--show-on-hover"
|
||||||
>
|
>
|
||||||
<button v-if="data.length"
|
<button
|
||||||
|
v-if="data.length"
|
||||||
class="c-button icon-reset"
|
class="c-button icon-reset"
|
||||||
:disabled="!isZoomed"
|
:disabled="!isZoomed"
|
||||||
title="Reset pan/zoom"
|
title="Reset pan/zoom"
|
||||||
|
@ -21,7 +21,8 @@
|
|||||||
-->
|
-->
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<BarGraph ref="barGraph"
|
<BarGraph
|
||||||
|
ref="barGraph"
|
||||||
class="c-plot c-bar-chart-view"
|
class="c-plot c-bar-chart-view"
|
||||||
:data="trace"
|
:data="trace"
|
||||||
:plot-axis-title="plotAxisTitle"
|
:plot-axis-title="plotAxisTitle"
|
||||||
|
@ -22,10 +22,12 @@
|
|||||||
<template>
|
<template>
|
||||||
<ul class="c-tree c-bar-graph-options">
|
<ul class="c-tree c-bar-graph-options">
|
||||||
<h2 title="Display properties for this object">Bar Graph Series</h2>
|
<h2 title="Display properties for this object">Bar Graph Series</h2>
|
||||||
<li v-for="series in domainObject.composition"
|
<li
|
||||||
|
v-for="series in domainObject.composition"
|
||||||
:key="series.key"
|
:key="series.key"
|
||||||
>
|
>
|
||||||
<series-options :item="series"
|
<series-options
|
||||||
|
:item="series"
|
||||||
:color-palette="colorPalette"
|
:color-palette="colorPalette"
|
||||||
/>
|
/>
|
||||||
</li>
|
</li>
|
||||||
|
@ -21,10 +21,12 @@
|
|||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<ul>
|
<ul>
|
||||||
<li class="c-tree__item menus-to-left"
|
<li
|
||||||
|
class="c-tree__item menus-to-left"
|
||||||
:class="aliasCss"
|
:class="aliasCss"
|
||||||
>
|
>
|
||||||
<span class="c-disclosure-triangle is-enabled flex-elem"
|
<span
|
||||||
|
class="c-disclosure-triangle is-enabled flex-elem"
|
||||||
:class="expandedCssClass"
|
:class="expandedCssClass"
|
||||||
@click="expanded = !expanded"
|
@click="expanded = !expanded"
|
||||||
>
|
>
|
||||||
@ -36,7 +38,8 @@
|
|||||||
<div class="c-object-label__name">{{ name }}</div>
|
<div class="c-object-label__name">{{ name }}</div>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<ColorSwatch v-if="expanded"
|
<ColorSwatch
|
||||||
|
v-if="expanded"
|
||||||
:current-color="currentColor"
|
:current-color="currentColor"
|
||||||
title="Manually set the color for this bar graph series."
|
title="Manually set the color for this bar graph series."
|
||||||
edit-title="Manually set the color for this bar graph series"
|
edit-title="Manually set the color for this bar graph series"
|
||||||
|
@ -21,7 +21,8 @@
|
|||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="c-condition-h"
|
<div
|
||||||
|
class="c-condition-h"
|
||||||
:class="{ 'is-drag-target': draggingOver }"
|
:class="{ 'is-drag-target': draggingOver }"
|
||||||
@dragover.prevent
|
@dragover.prevent
|
||||||
@drop.prevent="dropCondition($event, conditionIndex)"
|
@drop.prevent="dropCondition($event, conditionIndex)"
|
||||||
@ -29,13 +30,15 @@
|
|||||||
@dragleave="dragLeave($event, conditionIndex)"
|
@dragleave="dragLeave($event, conditionIndex)"
|
||||||
>
|
>
|
||||||
<div class="c-condition-h__drop-target"></div>
|
<div class="c-condition-h__drop-target"></div>
|
||||||
<div v-if="isEditing"
|
<div
|
||||||
|
v-if="isEditing"
|
||||||
:class="{'is-current': condition.id === currentConditionId}"
|
:class="{'is-current': condition.id === currentConditionId}"
|
||||||
class="c-condition c-condition--edit"
|
class="c-condition c-condition--edit"
|
||||||
>
|
>
|
||||||
<!-- Edit view -->
|
<!-- Edit view -->
|
||||||
<div class="c-condition__header">
|
<div class="c-condition__header">
|
||||||
<span class="c-condition__drag-grippy c-grippy c-grippy--vertical-drag"
|
<span
|
||||||
|
class="c-condition__drag-grippy c-grippy c-grippy--vertical-drag"
|
||||||
title="Drag to reorder conditions"
|
title="Drag to reorder conditions"
|
||||||
:class="[{ 'is-enabled': !condition.isDefault }, { 'hide-nice': condition.isDefault }]"
|
:class="[{ 'is-enabled': !condition.isDefault }, { 'hide-nice': condition.isDefault }]"
|
||||||
:draggable="!condition.isDefault"
|
:draggable="!condition.isDefault"
|
||||||
@ -43,7 +46,8 @@
|
|||||||
@dragend="dragEnd"
|
@dragend="dragEnd"
|
||||||
></span>
|
></span>
|
||||||
|
|
||||||
<span class="c-condition__disclosure c-disclosure-triangle c-tree__item__view-control is-enabled"
|
<span
|
||||||
|
class="c-condition__disclosure c-disclosure-triangle c-tree__item__view-control is-enabled"
|
||||||
:class="{ 'c-disclosure-triangle--expanded': expanded }"
|
:class="{ 'c-disclosure-triangle--expanded': expanded }"
|
||||||
@click="expanded = !expanded"
|
@click="expanded = !expanded"
|
||||||
></span>
|
></span>
|
||||||
@ -54,33 +58,38 @@
|
|||||||
Define criteria
|
Define criteria
|
||||||
</template>
|
</template>
|
||||||
<span v-else>
|
<span v-else>
|
||||||
<condition-description :show-label="false"
|
<condition-description
|
||||||
|
:show-label="false"
|
||||||
:condition="condition"
|
:condition="condition"
|
||||||
/>
|
/>
|
||||||
</span>
|
</span>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<div class="c-condition__buttons">
|
<div class="c-condition__buttons">
|
||||||
<button v-if="!condition.isDefault"
|
<button
|
||||||
|
v-if="!condition.isDefault"
|
||||||
class="c-click-icon c-condition__duplicate-button icon-duplicate"
|
class="c-click-icon c-condition__duplicate-button icon-duplicate"
|
||||||
title="Duplicate this condition"
|
title="Duplicate this condition"
|
||||||
@click="cloneCondition"
|
@click="cloneCondition"
|
||||||
></button>
|
></button>
|
||||||
|
|
||||||
<button v-if="!condition.isDefault"
|
<button
|
||||||
|
v-if="!condition.isDefault"
|
||||||
class="c-click-icon c-condition__delete-button icon-trash"
|
class="c-click-icon c-condition__delete-button icon-trash"
|
||||||
title="Delete this condition"
|
title="Delete this condition"
|
||||||
@click="removeCondition"
|
@click="removeCondition"
|
||||||
></button>
|
></button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="expanded"
|
<div
|
||||||
|
v-if="expanded"
|
||||||
class="c-condition__definition c-cdef"
|
class="c-condition__definition c-cdef"
|
||||||
>
|
>
|
||||||
<span class="c-cdef__separator c-row-separator"></span>
|
<span class="c-cdef__separator c-row-separator"></span>
|
||||||
<span class="c-cdef__label">Condition Name</span>
|
<span class="c-cdef__label">Condition Name</span>
|
||||||
<span class="c-cdef__controls">
|
<span class="c-cdef__controls">
|
||||||
<input v-model="condition.configuration.name"
|
<input
|
||||||
|
v-model="condition.configuration.name"
|
||||||
class="t-condition-input__name"
|
class="t-condition-input__name"
|
||||||
type="text"
|
type="text"
|
||||||
@change="persist"
|
@change="persist"
|
||||||
@ -90,10 +99,12 @@
|
|||||||
<span class="c-cdef__label">Output</span>
|
<span class="c-cdef__label">Output</span>
|
||||||
<span class="c-cdef__controls">
|
<span class="c-cdef__controls">
|
||||||
<span class="c-cdef__control">
|
<span class="c-cdef__control">
|
||||||
<select v-model="selectedOutputSelection"
|
<select
|
||||||
|
v-model="selectedOutputSelection"
|
||||||
@change="setOutputValue"
|
@change="setOutputValue"
|
||||||
>
|
>
|
||||||
<option v-for="option in outputOptions"
|
<option
|
||||||
|
v-for="option in outputOptions"
|
||||||
:key="option"
|
:key="option"
|
||||||
:value="option"
|
:value="option"
|
||||||
>
|
>
|
||||||
@ -102,7 +113,8 @@
|
|||||||
</select>
|
</select>
|
||||||
</span>
|
</span>
|
||||||
<span class="c-cdef__control">
|
<span class="c-cdef__control">
|
||||||
<input v-if="selectedOutputSelection === outputOptions[2]"
|
<input
|
||||||
|
v-if="selectedOutputSelection === outputOptions[2]"
|
||||||
v-model="condition.configuration.output"
|
v-model="condition.configuration.output"
|
||||||
class="t-condition-name-input"
|
class="t-condition-name-input"
|
||||||
type="text"
|
type="text"
|
||||||
@ -111,16 +123,19 @@
|
|||||||
</span>
|
</span>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<div v-if="!condition.isDefault"
|
<div
|
||||||
|
v-if="!condition.isDefault"
|
||||||
class="c-cdef__match-and-criteria"
|
class="c-cdef__match-and-criteria"
|
||||||
>
|
>
|
||||||
<span class="c-cdef__separator c-row-separator"></span>
|
<span class="c-cdef__separator c-row-separator"></span>
|
||||||
<span class="c-cdef__label">Match</span>
|
<span class="c-cdef__label">Match</span>
|
||||||
<span class="c-cdef__controls">
|
<span class="c-cdef__controls">
|
||||||
<select v-model="condition.configuration.trigger"
|
<select
|
||||||
|
v-model="condition.configuration.trigger"
|
||||||
@change="persist"
|
@change="persist"
|
||||||
>
|
>
|
||||||
<option v-for="option in triggers"
|
<option
|
||||||
|
v-for="option in triggers"
|
||||||
:key="option.value"
|
:key="option.value"
|
||||||
:value="option.value"
|
:value="option.value"
|
||||||
> {{ option.label }}</option>
|
> {{ option.label }}</option>
|
||||||
@ -128,11 +143,13 @@
|
|||||||
</span>
|
</span>
|
||||||
|
|
||||||
<template v-if="telemetry.length || condition.configuration.criteria.length">
|
<template v-if="telemetry.length || condition.configuration.criteria.length">
|
||||||
<div v-for="(criterion, index) in condition.configuration.criteria"
|
<div
|
||||||
|
v-for="(criterion, index) in condition.configuration.criteria"
|
||||||
:key="criterion.id"
|
:key="criterion.id"
|
||||||
class="c-cdef__criteria"
|
class="c-cdef__criteria"
|
||||||
>
|
>
|
||||||
<Criterion :telemetry="telemetry"
|
<Criterion
|
||||||
|
:telemetry="telemetry"
|
||||||
:criterion="criterion"
|
:criterion="criterion"
|
||||||
:index="index"
|
:index="index"
|
||||||
:trigger="condition.configuration.trigger"
|
:trigger="condition.configuration.trigger"
|
||||||
@ -140,11 +157,13 @@
|
|||||||
@persist="persist"
|
@persist="persist"
|
||||||
/>
|
/>
|
||||||
<div class="c-cdef__criteria__buttons">
|
<div class="c-cdef__criteria__buttons">
|
||||||
<button class="c-click-icon c-cdef__criteria-duplicate-button icon-duplicate"
|
<button
|
||||||
|
class="c-click-icon c-cdef__criteria-duplicate-button icon-duplicate"
|
||||||
title="Duplicate this criteria"
|
title="Duplicate this criteria"
|
||||||
@click="cloneCriterion(index)"
|
@click="cloneCriterion(index)"
|
||||||
></button>
|
></button>
|
||||||
<button v-if="!(condition.configuration.criteria.length === 1)"
|
<button
|
||||||
|
v-if="!(condition.configuration.criteria.length === 1)"
|
||||||
class="c-click-icon c-cdef__criteria-duplicate-button icon-trash"
|
class="c-click-icon c-cdef__criteria-duplicate-button icon-trash"
|
||||||
title="Delete this criteria"
|
title="Delete this criteria"
|
||||||
@click="removeCriterion(index)"
|
@click="removeCriterion(index)"
|
||||||
@ -153,7 +172,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<div class="c-cdef__separator c-row-separator"></div>
|
<div class="c-cdef__separator c-row-separator"></div>
|
||||||
<div class="c-cdef__controls"
|
<div
|
||||||
|
class="c-cdef__controls"
|
||||||
:disabled="!telemetry.length"
|
:disabled="!telemetry.length"
|
||||||
>
|
>
|
||||||
<button
|
<button
|
||||||
@ -166,7 +186,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-else
|
<div
|
||||||
|
v-else
|
||||||
class="c-condition c-condition--browse"
|
class="c-condition c-condition--browse"
|
||||||
:class="{'is-current': condition.id === currentConditionId}"
|
:class="{'is-current': condition.id === currentConditionId}"
|
||||||
>
|
>
|
||||||
@ -180,7 +201,8 @@
|
|||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="c-condition__summary">
|
<div class="c-condition__summary">
|
||||||
<condition-description :show-label="false"
|
<condition-description
|
||||||
|
:show-label="false"
|
||||||
:condition="condition"
|
:condition="condition"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
@ -21,7 +21,8 @@
|
|||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<section id="conditionCollection"
|
<section
|
||||||
|
id="conditionCollection"
|
||||||
:class="{ 'is-expanded': expanded }"
|
:class="{ 'is-expanded': expanded }"
|
||||||
>
|
>
|
||||||
<div class="c-cs__header c-section__header">
|
<div class="c-cs__header c-section__header">
|
||||||
@ -32,10 +33,12 @@
|
|||||||
></span>
|
></span>
|
||||||
<div class="c-cs__header-label c-section__label">Conditions</div>
|
<div class="c-cs__header-label c-section__label">Conditions</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="expanded"
|
<div
|
||||||
|
v-if="expanded"
|
||||||
class="c-cs__content"
|
class="c-cs__content"
|
||||||
>
|
>
|
||||||
<div v-show="isEditing"
|
<div
|
||||||
|
v-show="isEditing"
|
||||||
class="hint"
|
class="hint"
|
||||||
:class="{ 's-status-icon-warning-lo': !telemetryObjs.length }"
|
:class="{ 's-status-icon-warning-lo': !telemetryObjs.length }"
|
||||||
>
|
>
|
||||||
@ -52,10 +55,12 @@
|
|||||||
<span class="c-cs-button__label">Add Condition</span>
|
<span class="c-cs-button__label">Add Condition</span>
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<div class="c-cs__conditions-h"
|
<div
|
||||||
|
class="c-cs__conditions-h"
|
||||||
:class="{ 'is-active-dragging': isDragging }"
|
:class="{ 'is-active-dragging': isDragging }"
|
||||||
>
|
>
|
||||||
<Condition v-for="(condition, index) in conditionCollection"
|
<Condition
|
||||||
|
v-for="(condition, index) in conditionCollection"
|
||||||
:key="condition.id"
|
:key="condition.id"
|
||||||
:condition="condition"
|
:condition="condition"
|
||||||
:current-condition-id="currentConditionId"
|
:current-condition-id="currentConditionId"
|
||||||
|
@ -22,17 +22,20 @@
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="c-style__condition-desc">
|
<div class="c-style__condition-desc">
|
||||||
<span v-if="showLabel && condition"
|
<span
|
||||||
|
v-if="showLabel && condition"
|
||||||
class="c-style__condition-desc__name c-condition__name"
|
class="c-style__condition-desc__name c-condition__name"
|
||||||
>
|
>
|
||||||
{{ condition.configuration.name }}
|
{{ condition.configuration.name }}
|
||||||
</span>
|
</span>
|
||||||
<span v-if="!condition.isDefault"
|
<span
|
||||||
|
v-if="!condition.isDefault"
|
||||||
class="c-style__condition-desc__text"
|
class="c-style__condition-desc__text"
|
||||||
>
|
>
|
||||||
{{ description }}
|
{{ description }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else
|
<span
|
||||||
|
v-else
|
||||||
class="c-style__condition-desc__text"
|
class="c-style__condition-desc__text"
|
||||||
>
|
>
|
||||||
Match if no other condition is matched
|
Match if no other condition is matched
|
||||||
|
@ -21,10 +21,12 @@
|
|||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div v-if="conditionErrors.length"
|
<div
|
||||||
|
v-if="conditionErrors.length"
|
||||||
class="c-condition__errors"
|
class="c-condition__errors"
|
||||||
>
|
>
|
||||||
<div v-for="(error, index) in conditionErrors"
|
<div
|
||||||
|
v-for="(error, index) in conditionErrors"
|
||||||
:key="index"
|
:key="index"
|
||||||
class="u-alert u-alert--block u-alert--with-icon"
|
class="u-alert u-alert--block u-alert--with-icon"
|
||||||
>{{ error.message.errorText }} {{ error.additionalInfo }}
|
>{{ error.message.errorText }} {{ error.additionalInfo }}
|
||||||
|
@ -36,13 +36,15 @@
|
|||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<div class="c-cs__test-data-and-conditions-w">
|
<div class="c-cs__test-data-and-conditions-w">
|
||||||
<TestData class="c-cs__test-data"
|
<TestData
|
||||||
|
class="c-cs__test-data"
|
||||||
:is-editing="isEditing"
|
:is-editing="isEditing"
|
||||||
:test-data="testData"
|
:test-data="testData"
|
||||||
:telemetry="telemetryObjs"
|
:telemetry="telemetryObjs"
|
||||||
@updateTestData="updateTestData"
|
@updateTestData="updateTestData"
|
||||||
/>
|
/>
|
||||||
<ConditionCollection class="c-cs__conditions"
|
<ConditionCollection
|
||||||
|
class="c-cs__conditions"
|
||||||
:is-editing="isEditing"
|
:is-editing="isEditing"
|
||||||
:test-data="testData"
|
:test-data="testData"
|
||||||
@conditionSetResultUpdated="updateCurrentOutput"
|
@conditionSetResultUpdated="updateCurrentOutput"
|
||||||
|
@ -26,14 +26,16 @@
|
|||||||
<span class="c-cdef__label">{{ setRowLabel }}</span>
|
<span class="c-cdef__label">{{ setRowLabel }}</span>
|
||||||
<span class="c-cdef__controls">
|
<span class="c-cdef__controls">
|
||||||
<span class="c-cdef__control">
|
<span class="c-cdef__control">
|
||||||
<select ref="telemetrySelect"
|
<select
|
||||||
|
ref="telemetrySelect"
|
||||||
v-model="criterion.telemetry"
|
v-model="criterion.telemetry"
|
||||||
@change="updateMetadataOptions"
|
@change="updateMetadataOptions"
|
||||||
>
|
>
|
||||||
<option value="">- Select Telemetry -</option>
|
<option value="">- Select Telemetry -</option>
|
||||||
<option value="all">all telemetry</option>
|
<option value="all">all telemetry</option>
|
||||||
<option value="any">any telemetry</option>
|
<option value="any">any telemetry</option>
|
||||||
<option v-for="telemetryOption in telemetry"
|
<option
|
||||||
|
v-for="telemetryOption in telemetry"
|
||||||
:key="telemetryOption.identifier.key"
|
:key="telemetryOption.identifier.key"
|
||||||
:value="telemetryOption.identifier"
|
:value="telemetryOption.identifier"
|
||||||
>
|
>
|
||||||
@ -41,15 +43,18 @@
|
|||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
</span>
|
</span>
|
||||||
<span v-if="criterion.telemetry"
|
<span
|
||||||
|
v-if="criterion.telemetry"
|
||||||
class="c-cdef__control"
|
class="c-cdef__control"
|
||||||
>
|
>
|
||||||
<select ref="metadataSelect"
|
<select
|
||||||
|
ref="metadataSelect"
|
||||||
v-model="criterion.metadata"
|
v-model="criterion.metadata"
|
||||||
@change="updateOperations"
|
@change="updateOperations"
|
||||||
>
|
>
|
||||||
<option value="">- Select Field -</option>
|
<option value="">- Select Field -</option>
|
||||||
<option v-for="option in telemetryMetadataOptions"
|
<option
|
||||||
|
v-for="option in telemetryMetadataOptions"
|
||||||
:key="option.key"
|
:key="option.key"
|
||||||
:value="option.key"
|
:value="option.key"
|
||||||
>
|
>
|
||||||
@ -58,14 +63,17 @@
|
|||||||
<option value="dataReceived">any data received</option>
|
<option value="dataReceived">any data received</option>
|
||||||
</select>
|
</select>
|
||||||
</span>
|
</span>
|
||||||
<span v-if="criterion.telemetry && criterion.metadata"
|
<span
|
||||||
|
v-if="criterion.telemetry && criterion.metadata"
|
||||||
class="c-cdef__control"
|
class="c-cdef__control"
|
||||||
>
|
>
|
||||||
<select v-model="criterion.operation"
|
<select
|
||||||
|
v-model="criterion.operation"
|
||||||
@change="updateInputVisibilityAndValues"
|
@change="updateInputVisibilityAndValues"
|
||||||
>
|
>
|
||||||
<option value="">- Select Comparison -</option>
|
<option value="">- Select Comparison -</option>
|
||||||
<option v-for="option in filteredOps"
|
<option
|
||||||
|
v-for="option in filteredOps"
|
||||||
:key="option.name"
|
:key="option.name"
|
||||||
:value="option.name"
|
:value="option.name"
|
||||||
>
|
>
|
||||||
@ -73,11 +81,13 @@
|
|||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
<template v-if="!enumerations.length">
|
<template v-if="!enumerations.length">
|
||||||
<span v-for="(item, inputIndex) in inputCount"
|
<span
|
||||||
|
v-for="(item, inputIndex) in inputCount"
|
||||||
:key="inputIndex"
|
:key="inputIndex"
|
||||||
class="c-cdef__control__inputs"
|
class="c-cdef__control__inputs"
|
||||||
>
|
>
|
||||||
<input v-model="criterion.input[inputIndex]"
|
<input
|
||||||
|
v-model="criterion.input[inputIndex]"
|
||||||
class="c-cdef__control__input"
|
class="c-cdef__control__input"
|
||||||
:type="setInputType"
|
:type="setInputType"
|
||||||
@change="persist"
|
@change="persist"
|
||||||
@ -87,13 +97,16 @@
|
|||||||
<span v-if="criterion.metadata === 'dataReceived'">seconds</span>
|
<span v-if="criterion.metadata === 'dataReceived'">seconds</span>
|
||||||
</template>
|
</template>
|
||||||
<span v-else>
|
<span v-else>
|
||||||
<span v-if="inputCount && criterion.operation"
|
<span
|
||||||
|
v-if="inputCount && criterion.operation"
|
||||||
class="c-cdef__control"
|
class="c-cdef__control"
|
||||||
>
|
>
|
||||||
<select v-model="criterion.input[0]"
|
<select
|
||||||
|
v-model="criterion.input[0]"
|
||||||
@change="persist"
|
@change="persist"
|
||||||
>
|
>
|
||||||
<option v-for="option in enumerations"
|
<option
|
||||||
|
v-for="option in enumerations"
|
||||||
:key="option.string"
|
:key="option.string"
|
||||||
:value="option.value.toString()"
|
:value="option.value.toString()"
|
||||||
>
|
>
|
||||||
|
@ -21,7 +21,8 @@
|
|||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<section v-show="isEditing"
|
<section
|
||||||
|
v-show="isEditing"
|
||||||
id="test-data"
|
id="test-data"
|
||||||
:class="{ 'is-expanded': expanded }"
|
:class="{ 'is-expanded': expanded }"
|
||||||
>
|
>
|
||||||
@ -33,10 +34,12 @@
|
|||||||
></span>
|
></span>
|
||||||
<div class="c-cs__header-label c-section__label">Test Data</div>
|
<div class="c-cs__header-label c-section__label">Test Data</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="expanded"
|
<div
|
||||||
|
v-if="expanded"
|
||||||
class="c-cs__content"
|
class="c-cs__content"
|
||||||
>
|
>
|
||||||
<div class="c-cs__test-data__controls c-cdef__controls"
|
<div
|
||||||
|
class="c-cs__test-data__controls c-cdef__controls"
|
||||||
:disabled="!telemetry.length"
|
:disabled="!telemetry.length"
|
||||||
>
|
>
|
||||||
<label class="c-toggle-switch">
|
<label class="c-toggle-switch">
|
||||||
@ -50,18 +53,21 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="c-cs-tests">
|
<div class="c-cs-tests">
|
||||||
<span v-for="(testInput, tIndex) in testInputs"
|
<span
|
||||||
|
v-for="(testInput, tIndex) in testInputs"
|
||||||
:key="tIndex"
|
:key="tIndex"
|
||||||
class="c-test-datum c-cs-test"
|
class="c-test-datum c-cs-test"
|
||||||
>
|
>
|
||||||
<span class="c-cs-test__label">Set</span>
|
<span class="c-cs-test__label">Set</span>
|
||||||
<span class="c-cs-test__controls">
|
<span class="c-cs-test__controls">
|
||||||
<span class="c-cdef__control">
|
<span class="c-cdef__control">
|
||||||
<select v-model="testInput.telemetry"
|
<select
|
||||||
|
v-model="testInput.telemetry"
|
||||||
@change="updateMetadata(testInput)"
|
@change="updateMetadata(testInput)"
|
||||||
>
|
>
|
||||||
<option value="">- Select Telemetry -</option>
|
<option value="">- Select Telemetry -</option>
|
||||||
<option v-for="(telemetryOption, index) in telemetry"
|
<option
|
||||||
|
v-for="(telemetryOption, index) in telemetry"
|
||||||
:key="index"
|
:key="index"
|
||||||
:value="telemetryOption.identifier"
|
:value="telemetryOption.identifier"
|
||||||
>
|
>
|
||||||
@ -69,14 +75,17 @@
|
|||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
</span>
|
</span>
|
||||||
<span v-if="testInput.telemetry"
|
<span
|
||||||
|
v-if="testInput.telemetry"
|
||||||
class="c-cdef__control"
|
class="c-cdef__control"
|
||||||
>
|
>
|
||||||
<select v-model="testInput.metadata"
|
<select
|
||||||
|
v-model="testInput.metadata"
|
||||||
@change="updateTestData"
|
@change="updateTestData"
|
||||||
>
|
>
|
||||||
<option value="">- Select Field -</option>
|
<option value="">- Select Field -</option>
|
||||||
<option v-for="(option, index) in telemetryMetadataOptions[getId(testInput.telemetry)]"
|
<option
|
||||||
|
v-for="(option, index) in telemetryMetadataOptions[getId(testInput.telemetry)]"
|
||||||
:key="index"
|
:key="index"
|
||||||
:value="option.key"
|
:value="option.key"
|
||||||
>
|
>
|
||||||
@ -84,10 +93,12 @@
|
|||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
</span>
|
</span>
|
||||||
<span v-if="testInput.metadata"
|
<span
|
||||||
|
v-if="testInput.metadata"
|
||||||
class="c-cdef__control__inputs"
|
class="c-cdef__control__inputs"
|
||||||
>
|
>
|
||||||
<input v-model="testInput.value"
|
<input
|
||||||
|
v-model="testInput.value"
|
||||||
placeholder="Enter test input"
|
placeholder="Enter test input"
|
||||||
type="text"
|
type="text"
|
||||||
class="c-cdef__control__input"
|
class="c-cdef__control__input"
|
||||||
@ -96,11 +107,13 @@
|
|||||||
</span>
|
</span>
|
||||||
</span>
|
</span>
|
||||||
<div class="c-cs-test__buttons">
|
<div class="c-cs-test__buttons">
|
||||||
<button class="c-click-icon c-test-data__duplicate-button icon-duplicate"
|
<button
|
||||||
|
class="c-click-icon c-test-data__duplicate-button icon-duplicate"
|
||||||
title="Duplicate this test datum"
|
title="Duplicate this test datum"
|
||||||
@click="addTestInput(testInput)"
|
@click="addTestInput(testInput)"
|
||||||
></button>
|
></button>
|
||||||
<button class="c-click-icon c-test-data__delete-button icon-trash"
|
<button
|
||||||
|
class="c-click-icon c-test-data__delete-button icon-trash"
|
||||||
title="Delete this test datum"
|
title="Delete this test datum"
|
||||||
@click="removeTestInput(tIndex)"
|
@click="removeTestInput(tIndex)"
|
||||||
></button>
|
></button>
|
||||||
|
@ -23,41 +23,48 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="c-style has-local-controls c-toolbar">
|
<div class="c-style has-local-controls c-toolbar">
|
||||||
<div class="c-style__controls">
|
<div class="c-style__controls">
|
||||||
<div :class="[
|
<div
|
||||||
|
:class="[
|
||||||
{ 'is-style-invisible': styleItem.style && styleItem.style.isStyleInvisible },
|
{ 'is-style-invisible': styleItem.style && styleItem.style.isStyleInvisible },
|
||||||
{ 'c-style-thumb--mixed': mixedStyles.indexOf('backgroundColor') > -1 }
|
{ 'c-style-thumb--mixed': mixedStyles.indexOf('backgroundColor') > -1 }
|
||||||
]"
|
]"
|
||||||
:style="[styleItem.style.imageUrl ? { backgroundImage:'url(' + styleItem.style.imageUrl + ')'} : itemStyle ]"
|
:style="[styleItem.style.imageUrl ? { backgroundImage:'url(' + styleItem.style.imageUrl + ')'} : itemStyle ]"
|
||||||
class="c-style-thumb"
|
class="c-style-thumb"
|
||||||
>
|
>
|
||||||
<span class="c-style-thumb__text"
|
<span
|
||||||
|
class="c-style-thumb__text"
|
||||||
:class="{ 'hide-nice': !hasProperty(styleItem.style.color) }"
|
:class="{ 'hide-nice': !hasProperty(styleItem.style.color) }"
|
||||||
>
|
>
|
||||||
ABC
|
ABC
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<toolbar-color-picker v-if="hasProperty(styleItem.style.border)"
|
<toolbar-color-picker
|
||||||
|
v-if="hasProperty(styleItem.style.border)"
|
||||||
class="c-style__toolbar-button--border-color u-menu-to--center"
|
class="c-style__toolbar-button--border-color u-menu-to--center"
|
||||||
:options="borderColorOption"
|
:options="borderColorOption"
|
||||||
@change="updateStyleValue"
|
@change="updateStyleValue"
|
||||||
/>
|
/>
|
||||||
<toolbar-color-picker v-if="hasProperty(styleItem.style.backgroundColor)"
|
<toolbar-color-picker
|
||||||
|
v-if="hasProperty(styleItem.style.backgroundColor)"
|
||||||
class="c-style__toolbar-button--background-color u-menu-to--center"
|
class="c-style__toolbar-button--background-color u-menu-to--center"
|
||||||
:options="backgroundColorOption"
|
:options="backgroundColorOption"
|
||||||
@change="updateStyleValue"
|
@change="updateStyleValue"
|
||||||
/>
|
/>
|
||||||
<toolbar-color-picker v-if="hasProperty(styleItem.style.color)"
|
<toolbar-color-picker
|
||||||
|
v-if="hasProperty(styleItem.style.color)"
|
||||||
class="c-style__toolbar-button--color u-menu-to--center"
|
class="c-style__toolbar-button--color u-menu-to--center"
|
||||||
:options="colorOption"
|
:options="colorOption"
|
||||||
@change="updateStyleValue"
|
@change="updateStyleValue"
|
||||||
/>
|
/>
|
||||||
<toolbar-button v-if="hasProperty(styleItem.style.imageUrl)"
|
<toolbar-button
|
||||||
|
v-if="hasProperty(styleItem.style.imageUrl)"
|
||||||
class="c-style__toolbar-button--image-url"
|
class="c-style__toolbar-button--image-url"
|
||||||
:options="imageUrlOption"
|
:options="imageUrlOption"
|
||||||
@change="updateStyleValue"
|
@change="updateStyleValue"
|
||||||
/>
|
/>
|
||||||
<toolbar-toggle-button v-if="hasProperty(styleItem.style.isStyleInvisible)"
|
<toolbar-toggle-button
|
||||||
|
v-if="hasProperty(styleItem.style.isStyleInvisible)"
|
||||||
class="c-style__toolbar-button--toggle-visible"
|
class="c-style__toolbar-button--toggle-visible"
|
||||||
:options="isStyleInvisibleOption"
|
:options="isStyleInvisibleOption"
|
||||||
@change="updateStyleValue"
|
@change="updateStyleValue"
|
||||||
@ -65,7 +72,8 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Save Styles -->
|
<!-- Save Styles -->
|
||||||
<toolbar-button v-if="canSaveStyle"
|
<toolbar-button
|
||||||
|
v-if="canSaveStyle"
|
||||||
class="c-style__toolbar-button--save c-local-controls--show-on-hover c-icon-button c-icon-button--major"
|
class="c-style__toolbar-button--save c-local-controls--show-on-hover c-icon-button c-icon-button--major"
|
||||||
:options="saveOptions"
|
:options="saveOptions"
|
||||||
@click="saveItemStyle()"
|
@click="saveItemStyle()"
|
||||||
|
@ -22,7 +22,8 @@
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="c-inspector__styles c-inspect-styles">
|
<div class="c-inspector__styles c-inspect-styles">
|
||||||
<div v-if="isStaticAndConditionalStyles"
|
<div
|
||||||
|
v-if="isStaticAndConditionalStyles"
|
||||||
class="c-inspect-styles__mixed-static-and-conditional u-alert u-alert--block u-alert--with-icon"
|
class="c-inspect-styles__mixed-static-and-conditional u-alert u-alert--block u-alert--with-icon"
|
||||||
>
|
>
|
||||||
Your selection includes one or more items that use Conditional Styling. Applying a static style below will replace any Conditional Styling with the new choice.
|
Your selection includes one or more items that use Conditional Styling. Applying a static style below will replace any Conditional Styling with the new choice.
|
||||||
@ -37,10 +38,12 @@
|
|||||||
@set-font-property="setFontProperty"
|
@set-font-property="setFontProperty"
|
||||||
/>
|
/>
|
||||||
<div class="c-inspect-styles__content">
|
<div class="c-inspect-styles__content">
|
||||||
<div v-if="staticStyle"
|
<div
|
||||||
|
v-if="staticStyle"
|
||||||
class="c-inspect-styles__style"
|
class="c-inspect-styles__style"
|
||||||
>
|
>
|
||||||
<StyleEditor class="c-inspect-styles__editor"
|
<StyleEditor
|
||||||
|
class="c-inspect-styles__editor"
|
||||||
:style-item="staticStyle"
|
:style-item="staticStyle"
|
||||||
:is-editing="allowEditing"
|
:is-editing="allowEditing"
|
||||||
:mixed-styles="mixedStyles"
|
:mixed-styles="mixedStyles"
|
||||||
@ -64,7 +67,8 @@
|
|||||||
Conditional Object Styles
|
Conditional Object Styles
|
||||||
</div>
|
</div>
|
||||||
<div class="c-inspect-styles__content c-inspect-styles__condition-set c-inspect-styles__elem">
|
<div class="c-inspect-styles__content c-inspect-styles__condition-set c-inspect-styles__elem">
|
||||||
<a v-if="conditionSetDomainObject"
|
<a
|
||||||
|
v-if="conditionSetDomainObject"
|
||||||
class="c-object-label"
|
class="c-object-label"
|
||||||
@click="navigateOrPreview"
|
@click="navigateOrPreview"
|
||||||
>
|
>
|
||||||
@ -80,14 +84,16 @@
|
|||||||
<span class="c-button__label">Change...</span>
|
<span class="c-button__label">Change...</span>
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<button class="c-click-icon icon-x"
|
<button
|
||||||
|
class="c-click-icon icon-x"
|
||||||
title="Remove conditional styles"
|
title="Remove conditional styles"
|
||||||
@click="removeConditionSet"
|
@click="removeConditionSet"
|
||||||
></button>
|
></button>
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div v-if="isConditionWidget && allowEditing"
|
<div
|
||||||
|
v-if="isConditionWidget && allowEditing"
|
||||||
class="c-inspect-styles__elem c-inspect-styles__output-label-toggle"
|
class="c-inspect-styles__elem c-inspect-styles__output-label-toggle"
|
||||||
>
|
>
|
||||||
<label class="c-toggle-switch">
|
<label class="c-toggle-switch">
|
||||||
@ -100,7 +106,8 @@
|
|||||||
<span class="c-toggle-switch__label">Use Condition Set output as label</span>
|
<span class="c-toggle-switch__label">Use Condition Set output as label</span>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="isConditionWidget && !allowEditing"
|
<div
|
||||||
|
v-if="isConditionWidget && !allowEditing"
|
||||||
class="c-inspect-styles__elem"
|
class="c-inspect-styles__elem"
|
||||||
>
|
>
|
||||||
<span class="c-toggle-switch__label">Condition Set output as label:
|
<span class="c-toggle-switch__label">Condition Set output as label:
|
||||||
@ -114,22 +121,27 @@
|
|||||||
@set-font-property="setFontProperty"
|
@set-font-property="setFontProperty"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<div v-if="conditionsLoaded"
|
<div
|
||||||
|
v-if="conditionsLoaded"
|
||||||
class="c-inspect-styles__conditions"
|
class="c-inspect-styles__conditions"
|
||||||
>
|
>
|
||||||
<div v-for="(conditionStyle, index) in conditionalStyles"
|
<div
|
||||||
|
v-for="(conditionStyle, index) in conditionalStyles"
|
||||||
:key="index"
|
:key="index"
|
||||||
class="c-inspect-styles__condition"
|
class="c-inspect-styles__condition"
|
||||||
:class="{'is-current': conditionStyle.conditionId === selectedConditionId}"
|
:class="{'is-current': conditionStyle.conditionId === selectedConditionId}"
|
||||||
@click="applySelectedConditionStyle(conditionStyle.conditionId)"
|
@click="applySelectedConditionStyle(conditionStyle.conditionId)"
|
||||||
>
|
>
|
||||||
<condition-error :show-label="true"
|
<condition-error
|
||||||
|
:show-label="true"
|
||||||
:condition="getCondition(conditionStyle.conditionId)"
|
:condition="getCondition(conditionStyle.conditionId)"
|
||||||
/>
|
/>
|
||||||
<condition-description :show-label="true"
|
<condition-description
|
||||||
|
:show-label="true"
|
||||||
:condition="getCondition(conditionStyle.conditionId)"
|
:condition="getCondition(conditionStyle.conditionId)"
|
||||||
/>
|
/>
|
||||||
<StyleEditor class="c-inspect-styles__editor"
|
<StyleEditor
|
||||||
|
class="c-inspect-styles__editor"
|
||||||
:style-item="conditionStyle"
|
:style-item="conditionStyle"
|
||||||
:non-specific-font-properties="nonSpecificFontProperties"
|
:non-specific-font-properties="nonSpecificFontProperties"
|
||||||
:is-editing="allowEditing"
|
:is-editing="allowEditing"
|
||||||
|
@ -21,7 +21,8 @@
|
|||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<component :is="urlDefined ? 'a' : 'span'"
|
<component
|
||||||
|
:is="urlDefined ? 'a' : 'span'"
|
||||||
class="c-condition-widget u-style-receiver js-style-receiver"
|
class="c-condition-widget u-style-receiver js-style-receiver"
|
||||||
:href="url"
|
:href="url"
|
||||||
>
|
>
|
||||||
|
@ -37,7 +37,8 @@
|
|||||||
:data-font="item.font"
|
:data-font="item.font"
|
||||||
@contextmenu.prevent="showContextMenu"
|
@contextmenu.prevent="showContextMenu"
|
||||||
>
|
>
|
||||||
<div class="is-status__indicator"
|
<div
|
||||||
|
class="is-status__indicator"
|
||||||
:title="`This item is ${status}`"
|
:title="`This item is ${status}`"
|
||||||
></div>
|
></div>
|
||||||
<div
|
<div
|
||||||
|
@ -26,7 +26,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="c-grid-item__controls">
|
<div class="c-grid-item__controls">
|
||||||
<div class="is-status__indicator"
|
<div
|
||||||
|
class="is-status__indicator"
|
||||||
:title="`This item is ${status}`"
|
:title="`This item is ${status}`"
|
||||||
></div>
|
></div>
|
||||||
<div
|
<div
|
||||||
|
@ -17,7 +17,8 @@
|
|||||||
class="c-object-label__type-icon c-list-item__name__type-icon"
|
class="c-object-label__type-icon c-list-item__name__type-icon"
|
||||||
:class="item.type.cssClass"
|
:class="item.type.cssClass"
|
||||||
>
|
>
|
||||||
<span class="is-status__indicator"
|
<span
|
||||||
|
class="is-status__indicator"
|
||||||
:title="`This item is ${status}`"
|
:title="`This item is ${status}`"
|
||||||
></span>
|
></span>
|
||||||
</div>
|
</div>
|
||||||
|
@ -22,7 +22,8 @@
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
|
||||||
<a class="c-hyperlink"
|
<a
|
||||||
|
class="c-hyperlink"
|
||||||
:class="{
|
:class="{
|
||||||
'c-hyperlink--button' : isButton
|
'c-hyperlink--button' : isButton
|
||||||
}"
|
}"
|
||||||
|
@ -21,16 +21,19 @@
|
|||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div ref="compassRoseWrapper"
|
<div
|
||||||
|
ref="compassRoseWrapper"
|
||||||
class="w-direction-rose"
|
class="w-direction-rose"
|
||||||
:class="compassRoseSizingClasses"
|
:class="compassRoseSizingClasses"
|
||||||
@click="toggleLockCompass"
|
@click="toggleLockCompass"
|
||||||
>
|
>
|
||||||
<svg ref="compassRoseSvg"
|
<svg
|
||||||
|
ref="compassRoseSvg"
|
||||||
class="c-compass-rose-svg"
|
class="c-compass-rose-svg"
|
||||||
viewBox="0 0 100 100"
|
viewBox="0 0 100 100"
|
||||||
>
|
>
|
||||||
<mask id="mask0"
|
<mask
|
||||||
|
id="mask0"
|
||||||
mask-type="alpha"
|
mask-type="alpha"
|
||||||
maskUnits="userSpaceOnUse"
|
maskUnits="userSpaceOnUse"
|
||||||
x="0"
|
x="0"
|
||||||
@ -38,28 +41,33 @@
|
|||||||
width="100"
|
width="100"
|
||||||
height="100"
|
height="100"
|
||||||
>
|
>
|
||||||
<circle cx="50"
|
<circle
|
||||||
|
cx="50"
|
||||||
cy="50"
|
cy="50"
|
||||||
r="50"
|
r="50"
|
||||||
fill="black"
|
fill="black"
|
||||||
/>
|
/>
|
||||||
</mask>
|
</mask>
|
||||||
<g class="c-cr__compass-wrapper">
|
<g class="c-cr__compass-wrapper">
|
||||||
<g class="c-cr__compass-main"
|
<g
|
||||||
|
class="c-cr__compass-main"
|
||||||
mask="url(#mask0)"
|
mask="url(#mask0)"
|
||||||
>
|
>
|
||||||
<!-- Background and clipped elements -->
|
<!-- Background and clipped elements -->
|
||||||
<rect class="c-cr__bg"
|
<rect
|
||||||
|
class="c-cr__bg"
|
||||||
width="100"
|
width="100"
|
||||||
height="100"
|
height="100"
|
||||||
fill="black"
|
fill="black"
|
||||||
/>
|
/>
|
||||||
<rect class="c-cr__edge"
|
<rect
|
||||||
|
class="c-cr__edge"
|
||||||
width="100"
|
width="100"
|
||||||
height="100"
|
height="100"
|
||||||
fill="url(#paint0_radial)"
|
fill="url(#paint0_radial)"
|
||||||
/>
|
/>
|
||||||
<rect v-if="hasSunHeading"
|
<rect
|
||||||
|
v-if="hasSunHeading"
|
||||||
class="c-cr__sun"
|
class="c-cr__sun"
|
||||||
width="100"
|
width="100"
|
||||||
height="100"
|
height="100"
|
||||||
@ -68,7 +76,8 @@
|
|||||||
/>
|
/>
|
||||||
|
|
||||||
<!-- Camera FOV -->
|
<!-- Camera FOV -->
|
||||||
<mask id="mask2"
|
<mask
|
||||||
|
id="mask2"
|
||||||
class="c-cr__cam-fov-l-mask"
|
class="c-cr__cam-fov-l-mask"
|
||||||
mask-type="alpha"
|
mask-type="alpha"
|
||||||
maskUnits="userSpaceOnUse"
|
maskUnits="userSpaceOnUse"
|
||||||
@ -77,11 +86,13 @@
|
|||||||
width="50"
|
width="50"
|
||||||
height="100"
|
height="100"
|
||||||
>
|
>
|
||||||
<rect width="51"
|
<rect
|
||||||
|
width="51"
|
||||||
height="100"
|
height="100"
|
||||||
/>
|
/>
|
||||||
</mask>
|
</mask>
|
||||||
<mask id="mask1"
|
<mask
|
||||||
|
id="mask1"
|
||||||
class="c-cr__cam-fov-r-mask"
|
class="c-cr__cam-fov-r-mask"
|
||||||
mask-type="alpha"
|
mask-type="alpha"
|
||||||
maskUnits="userSpaceOnUse"
|
maskUnits="userSpaceOnUse"
|
||||||
@ -90,16 +101,19 @@
|
|||||||
width="50"
|
width="50"
|
||||||
height="100"
|
height="100"
|
||||||
>
|
>
|
||||||
<rect x="49"
|
<rect
|
||||||
|
x="49"
|
||||||
width="51"
|
width="51"
|
||||||
height="100"
|
height="100"
|
||||||
/>
|
/>
|
||||||
</mask>
|
</mask>
|
||||||
<g class="c-cr__cam-fov"
|
<g
|
||||||
|
class="c-cr__cam-fov"
|
||||||
:style="cameraPanStyle"
|
:style="cameraPanStyle"
|
||||||
>
|
>
|
||||||
<g mask="url(#mask2)">
|
<g mask="url(#mask2)">
|
||||||
<rect class="c-cr__cam-fov-r"
|
<rect
|
||||||
|
class="c-cr__cam-fov-r"
|
||||||
x="49"
|
x="49"
|
||||||
width="51"
|
width="51"
|
||||||
height="100"
|
height="100"
|
||||||
@ -107,7 +121,8 @@
|
|||||||
/>
|
/>
|
||||||
</g>
|
</g>
|
||||||
<g mask="url(#mask1)">
|
<g mask="url(#mask1)">
|
||||||
<rect class="c-cr__cam-fov-l"
|
<rect
|
||||||
|
class="c-cr__cam-fov-l"
|
||||||
width="51"
|
width="51"
|
||||||
height="100"
|
height="100"
|
||||||
:style="cameraFOVStyleLeftHalf"
|
:style="cameraFOVStyleLeftHalf"
|
||||||
@ -117,7 +132,8 @@
|
|||||||
</g>
|
</g>
|
||||||
|
|
||||||
<!-- Spacecraft body -->
|
<!-- Spacecraft body -->
|
||||||
<path v-if="hasHeading"
|
<path
|
||||||
|
v-if="hasHeading"
|
||||||
class="c-cr__spacecraft-body"
|
class="c-cr__spacecraft-body"
|
||||||
fill-rule="evenodd"
|
fill-rule="evenodd"
|
||||||
clip-rule="evenodd"
|
clip-rule="evenodd"
|
||||||
@ -126,18 +142,22 @@
|
|||||||
/>
|
/>
|
||||||
|
|
||||||
<!-- NSEW and ticks -->
|
<!-- NSEW and ticks -->
|
||||||
<g class="c-cr__nsew"
|
<g
|
||||||
|
class="c-cr__nsew"
|
||||||
:style="compassRoseStyle"
|
:style="compassRoseStyle"
|
||||||
>
|
>
|
||||||
<g class="c-cr__ticks-major">
|
<g class="c-cr__ticks-major">
|
||||||
<path d="M50 3L43 10H57L50 3Z" />
|
<path d="M50 3L43 10H57L50 3Z" />
|
||||||
<path d="M4 51V49H10V51H4Z"
|
<path
|
||||||
|
d="M4 51V49H10V51H4Z"
|
||||||
class="--hide-min"
|
class="--hide-min"
|
||||||
/>
|
/>
|
||||||
<path d="M49 96V90H51V96H49Z"
|
<path
|
||||||
|
d="M49 96V90H51V96H49Z"
|
||||||
class="--hide-min"
|
class="--hide-min"
|
||||||
/>
|
/>
|
||||||
<path d="M90 49V51H96V49H90Z"
|
<path
|
||||||
|
d="M90 49V51H96V49H90Z"
|
||||||
class="--hide-min"
|
class="--hide-min"
|
||||||
/>
|
/>
|
||||||
</g>
|
</g>
|
||||||
@ -148,19 +168,23 @@
|
|||||||
<path d="M51 10L49 10V4L51 4V10Z" />
|
<path d="M51 10L49 10V4L51 4V10Z" />
|
||||||
</g>
|
</g>
|
||||||
<g class="c-cr__nsew-text">
|
<g class="c-cr__nsew-text">
|
||||||
<path :style="cardinalTextRotateW"
|
<path
|
||||||
|
:style="cardinalTextRotateW"
|
||||||
class="c-cr__nsew-w --hide-small"
|
class="c-cr__nsew-w --hide-small"
|
||||||
d="M56.7418 45.004H54.1378L52.7238 52.312H52.6958L51.2258 45.004H48.7758L47.3058 52.312H47.2778L45.8638 45.004H43.2598L45.9618 55H48.6078L49.9798 48.112H50.0078L51.3798 55H53.9838L56.7418 45.004Z"
|
d="M56.7418 45.004H54.1378L52.7238 52.312H52.6958L51.2258 45.004H48.7758L47.3058 52.312H47.2778L45.8638 45.004H43.2598L45.9618 55H48.6078L49.9798 48.112H50.0078L51.3798 55H53.9838L56.7418 45.004Z"
|
||||||
/>
|
/>
|
||||||
<path :style="cardinalTextRotateE"
|
<path
|
||||||
|
:style="cardinalTextRotateE"
|
||||||
class="c-cr__nsew-e --hide-small"
|
class="c-cr__nsew-e --hide-small"
|
||||||
d="M46.104 55H54.21V52.76H48.708V50.856H53.608V48.84H48.708V47.09H54.07V45.004H46.104V55Z"
|
d="M46.104 55H54.21V52.76H48.708V50.856H53.608V48.84H48.708V47.09H54.07V45.004H46.104V55Z"
|
||||||
/>
|
/>
|
||||||
<path :style="cardinalTextRotateS"
|
<path
|
||||||
|
:style="cardinalTextRotateS"
|
||||||
class="c-cr__nsew-s --hide-small"
|
class="c-cr__nsew-s --hide-small"
|
||||||
d="M45.6531 51.64C45.6671 54.202 47.6971 55.21 49.9931 55.21C52.1911 55.21 54.3471 54.398 54.3471 51.864C54.3471 50.058 52.8911 49.386 51.4491 48.98C49.9931 48.574 48.5511 48.434 48.5511 47.664C48.5511 47.006 49.2511 46.81 49.8111 46.81C50.6091 46.81 51.4631 47.104 51.4211 48.014H54.0251C54.0111 45.76 52.0091 44.794 50.0211 44.794C48.1451 44.794 45.9471 45.648 45.9471 47.832C45.9471 49.666 47.4451 50.31 48.8731 50.716C50.3151 51.122 51.7431 51.29 51.7431 52.172C51.7431 52.914 50.9311 53.194 50.1471 53.194C49.0411 53.194 48.3131 52.816 48.2571 51.64H45.6531Z"
|
d="M45.6531 51.64C45.6671 54.202 47.6971 55.21 49.9931 55.21C52.1911 55.21 54.3471 54.398 54.3471 51.864C54.3471 50.058 52.8911 49.386 51.4491 48.98C49.9931 48.574 48.5511 48.434 48.5511 47.664C48.5511 47.006 49.2511 46.81 49.8111 46.81C50.6091 46.81 51.4631 47.104 51.4211 48.014H54.0251C54.0111 45.76 52.0091 44.794 50.0211 44.794C48.1451 44.794 45.9471 45.648 45.9471 47.832C45.9471 49.666 47.4451 50.31 48.8731 50.716C50.3151 51.122 51.7431 51.29 51.7431 52.172C51.7431 52.914 50.9311 53.194 50.1471 53.194C49.0411 53.194 48.3131 52.816 48.2571 51.64H45.6531Z"
|
||||||
/>
|
/>
|
||||||
<path :style="cardinalTextRotateN"
|
<path
|
||||||
|
:style="cardinalTextRotateN"
|
||||||
class="c-cr__nsew-n"
|
class="c-cr__nsew-n"
|
||||||
d="M42.5935 60H46.7935V49.32H46.8415L52.7935 60H57.3775V42.864H53.1775V53.424H53.1295L47.1775 42.864H42.5935V60Z"
|
d="M42.5935 60H46.7935V49.32H46.8415L52.7935 60H57.3775V42.864H53.1775V53.424H53.1295L47.1775 42.864H42.5935V60Z"
|
||||||
/>
|
/>
|
||||||
@ -168,31 +192,37 @@
|
|||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<defs>
|
<defs>
|
||||||
<radialGradient id="paint0_radial"
|
<radialGradient
|
||||||
|
id="paint0_radial"
|
||||||
cx="0"
|
cx="0"
|
||||||
cy="0"
|
cy="0"
|
||||||
r="1"
|
r="1"
|
||||||
gradientUnits="userSpaceOnUse"
|
gradientUnits="userSpaceOnUse"
|
||||||
gradientTransform="translate(50 50) rotate(90) scale(50)"
|
gradientTransform="translate(50 50) rotate(90) scale(50)"
|
||||||
>
|
>
|
||||||
<stop offset="0.751387"
|
<stop
|
||||||
|
offset="0.751387"
|
||||||
stop-opacity="0"
|
stop-opacity="0"
|
||||||
/>
|
/>
|
||||||
<stop offset="1"
|
<stop
|
||||||
|
offset="1"
|
||||||
stop-color="white"
|
stop-color="white"
|
||||||
/>
|
/>
|
||||||
</radialGradient>
|
</radialGradient>
|
||||||
<radialGradient id="paint1_radial"
|
<radialGradient
|
||||||
|
id="paint1_radial"
|
||||||
cx="0"
|
cx="0"
|
||||||
cy="0"
|
cy="0"
|
||||||
r="1"
|
r="1"
|
||||||
gradientUnits="userSpaceOnUse"
|
gradientUnits="userSpaceOnUse"
|
||||||
gradientTransform="translate(50 -7) rotate(-90) scale(18.5)"
|
gradientTransform="translate(50 -7) rotate(-90) scale(18.5)"
|
||||||
>
|
>
|
||||||
<stop offset="0.716377"
|
<stop
|
||||||
|
offset="0.716377"
|
||||||
stop-color="#FFCC00"
|
stop-color="#FFCC00"
|
||||||
/>
|
/>
|
||||||
<stop offset="1"
|
<stop
|
||||||
|
offset="1"
|
||||||
stop-color="#FF9900"
|
stop-color="#FF9900"
|
||||||
stop-opacity="0"
|
stop-opacity="0"
|
||||||
/>
|
/>
|
||||||
|
@ -21,10 +21,12 @@
|
|||||||
-->
|
-->
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div ref="imagery"
|
<div
|
||||||
|
ref="imagery"
|
||||||
class="c-imagery-tsv c-timeline-holder"
|
class="c-imagery-tsv c-timeline-holder"
|
||||||
>
|
>
|
||||||
<div ref="imageryHolder"
|
<div
|
||||||
|
ref="imageryHolder"
|
||||||
class="c-imagery-tsv__contents u-contents"
|
class="c-imagery-tsv__contents u-contents"
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
|
@ -30,19 +30,22 @@
|
|||||||
>
|
>
|
||||||
<div class="c-imagery__main-image-wrapper has-local-controls">
|
<div class="c-imagery__main-image-wrapper has-local-controls">
|
||||||
<div class="h-local-controls h-local-controls--overlay-content c-local-controls--show-on-hover c-image-controls__controls">
|
<div class="h-local-controls h-local-controls--overlay-content c-local-controls--show-on-hover c-image-controls__controls">
|
||||||
<span class="c-image-controls__sliders"
|
<span
|
||||||
|
class="c-image-controls__sliders"
|
||||||
draggable="true"
|
draggable="true"
|
||||||
@dragstart="startDrag"
|
@dragstart="startDrag"
|
||||||
>
|
>
|
||||||
<div class="c-image-controls__slider-wrapper icon-brightness">
|
<div class="c-image-controls__slider-wrapper icon-brightness">
|
||||||
<input v-model="filters.brightness"
|
<input
|
||||||
|
v-model="filters.brightness"
|
||||||
type="range"
|
type="range"
|
||||||
min="0"
|
min="0"
|
||||||
max="500"
|
max="500"
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="c-image-controls__slider-wrapper icon-contrast">
|
<div class="c-image-controls__slider-wrapper icon-contrast">
|
||||||
<input v-model="filters.contrast"
|
<input
|
||||||
|
v-model="filters.contrast"
|
||||||
type="range"
|
type="range"
|
||||||
min="0"
|
min="0"
|
||||||
max="500"
|
max="500"
|
||||||
@ -50,23 +53,27 @@
|
|||||||
</div>
|
</div>
|
||||||
</span>
|
</span>
|
||||||
<span class="t-reset-btn-holder c-imagery__lc__reset-btn c-image-controls__btn-reset">
|
<span class="t-reset-btn-holder c-imagery__lc__reset-btn c-image-controls__btn-reset">
|
||||||
<a class="s-icon-button icon-reset t-btn-reset"
|
<a
|
||||||
|
class="s-icon-button icon-reset t-btn-reset"
|
||||||
@click="filters={brightness: 100, contrast: 100}"
|
@click="filters={brightness: 100, contrast: 100}"
|
||||||
></a>
|
></a>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div ref="imageBG"
|
<div
|
||||||
|
ref="imageBG"
|
||||||
class="c-imagery__main-image__bg"
|
class="c-imagery__main-image__bg"
|
||||||
:class="{'paused unnsynced': isPaused && !isFixed,'stale':false }"
|
:class="{'paused unnsynced': isPaused && !isFixed,'stale':false }"
|
||||||
@click="expand"
|
@click="expand"
|
||||||
>
|
>
|
||||||
<div class="image-wrapper"
|
<div
|
||||||
|
class="image-wrapper"
|
||||||
:style="{
|
:style="{
|
||||||
'width': `${sizedImageDimensions.width}px`,
|
'width': `${sizedImageDimensions.width}px`,
|
||||||
'height': `${sizedImageDimensions.height}px`
|
'height': `${sizedImageDimensions.height}px`
|
||||||
}"
|
}"
|
||||||
>
|
>
|
||||||
<img ref="focusedImage"
|
<img
|
||||||
|
ref="focusedImage"
|
||||||
class="c-imagery__main-image__image js-imageryView-image"
|
class="c-imagery__main-image__image js-imageryView-image"
|
||||||
:src="imageUrl"
|
:src="imageUrl"
|
||||||
:style="{
|
:style="{
|
||||||
@ -85,13 +92,15 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<button class="c-local-controls c-local-controls--show-on-hover c-imagery__prev-next-button c-nav c-nav--prev"
|
<button
|
||||||
|
class="c-local-controls c-local-controls--show-on-hover c-imagery__prev-next-button c-nav c-nav--prev"
|
||||||
title="Previous image"
|
title="Previous image"
|
||||||
:disabled="isPrevDisabled"
|
:disabled="isPrevDisabled"
|
||||||
@click="prevImage()"
|
@click="prevImage()"
|
||||||
></button>
|
></button>
|
||||||
|
|
||||||
<button class="c-local-controls c-local-controls--show-on-hover c-imagery__prev-next-button c-nav c-nav--next"
|
<button
|
||||||
|
class="c-local-controls c-local-controls--show-on-hover c-imagery__prev-next-button c-nav c-nav--next"
|
||||||
title="Next image"
|
title="Next image"
|
||||||
:disabled="isNextDisabled"
|
:disabled="isNextDisabled"
|
||||||
@click="nextImage()"
|
@click="nextImage()"
|
||||||
@ -130,7 +139,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="c-imagery__thumbs-wrapper"
|
<div
|
||||||
|
class="c-imagery__thumbs-wrapper"
|
||||||
:class="[
|
:class="[
|
||||||
{ 'is-paused': isPaused && !isFixed },
|
{ 'is-paused': isPaused && !isFixed },
|
||||||
{ 'is-autoscroll-off': !resizingWindow && !autoScroll && !isPaused }
|
{ 'is-autoscroll-off': !resizingWindow && !autoScroll && !isPaused }
|
||||||
@ -141,17 +151,20 @@
|
|||||||
class="c-imagery__thumbs-scroll-area"
|
class="c-imagery__thumbs-scroll-area"
|
||||||
@scroll="handleScroll"
|
@scroll="handleScroll"
|
||||||
>
|
>
|
||||||
<div v-for="(image, index) in imageHistory"
|
<div
|
||||||
|
v-for="(image, index) in imageHistory"
|
||||||
:key="image.url + image.time"
|
:key="image.url + image.time"
|
||||||
class="c-imagery__thumb c-thumb"
|
class="c-imagery__thumb c-thumb"
|
||||||
:class="{ selected: focusedImageIndex === index && isPaused }"
|
:class="{ selected: focusedImageIndex === index && isPaused }"
|
||||||
@click="setFocusedImage(index, thumbnailClick)"
|
@click="setFocusedImage(index, thumbnailClick)"
|
||||||
>
|
>
|
||||||
<a href=""
|
<a
|
||||||
|
href=""
|
||||||
:download="image.imageDownloadName"
|
:download="image.imageDownloadName"
|
||||||
@click.prevent
|
@click.prevent
|
||||||
>
|
>
|
||||||
<img class="c-thumb__image"
|
<img
|
||||||
|
class="c-thumb__image"
|
||||||
:src="image.url"
|
:src="image.url"
|
||||||
>
|
>
|
||||||
</a>
|
</a>
|
||||||
|
@ -23,23 +23,27 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="c-notebook">
|
<div class="c-notebook">
|
||||||
<div class="c-notebook__head">
|
<div class="c-notebook__head">
|
||||||
<Search class="c-notebook__search"
|
<Search
|
||||||
|
class="c-notebook__search"
|
||||||
:value="search"
|
:value="search"
|
||||||
@input="search = $event"
|
@input="search = $event"
|
||||||
@clear="resetSearch()"
|
@clear="resetSearch()"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<SearchResults v-if="search.length"
|
<SearchResults
|
||||||
|
v-if="search.length"
|
||||||
ref="searchResults"
|
ref="searchResults"
|
||||||
:domain-object="domainObject"
|
:domain-object="domainObject"
|
||||||
:results="searchResults"
|
:results="searchResults"
|
||||||
@changeSectionPage="changeSelectedSection"
|
@changeSectionPage="changeSelectedSection"
|
||||||
@updateEntries="updateEntries"
|
@updateEntries="updateEntries"
|
||||||
/>
|
/>
|
||||||
<div v-if="!search.length"
|
<div
|
||||||
|
v-if="!search.length"
|
||||||
class="c-notebook__body"
|
class="c-notebook__body"
|
||||||
>
|
>
|
||||||
<Sidebar ref="sidebar"
|
<Sidebar
|
||||||
|
ref="sidebar"
|
||||||
class="c-notebook__nav c-sidebar c-drawer c-drawer--align-left"
|
class="c-notebook__nav c-sidebar c-drawer c-drawer--align-left"
|
||||||
:class="[{'is-expanded': showNav}, {'c-drawer--push': !sidebarCoversEntries}, {'c-drawer--overlays': sidebarCoversEntries}]"
|
:class="[{'is-expanded': showNav}, {'c-drawer--push': !sidebarCoversEntries}, {'c-drawer--overlays': sidebarCoversEntries}]"
|
||||||
:default-page-id="defaultPageId"
|
:default-page-id="defaultPageId"
|
||||||
@ -61,7 +65,8 @@
|
|||||||
/>
|
/>
|
||||||
<div class="c-notebook__page-view">
|
<div class="c-notebook__page-view">
|
||||||
<div class="c-notebook__page-view__header">
|
<div class="c-notebook__page-view__header">
|
||||||
<button class="c-notebook__toggle-nav-button c-icon-button c-icon-button--major icon-menu-hamburger"
|
<button
|
||||||
|
class="c-notebook__toggle-nav-button c-icon-button c-icon-button--major icon-menu-hamburger"
|
||||||
@click="toggleNav"
|
@click="toggleNav"
|
||||||
></button>
|
></button>
|
||||||
<div class="c-notebook__page-view__path c-path">
|
<div class="c-notebook__page-view__path c-path">
|
||||||
@ -73,37 +78,46 @@
|
|||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="c-notebook__page-view__controls">
|
<div class="c-notebook__page-view__controls">
|
||||||
<select v-model="showTime"
|
<select
|
||||||
|
v-model="showTime"
|
||||||
class="c-notebook__controls__time"
|
class="c-notebook__controls__time"
|
||||||
>
|
>
|
||||||
<option value="0"
|
<option
|
||||||
|
value="0"
|
||||||
:selected="showTime === 0"
|
:selected="showTime === 0"
|
||||||
>
|
>
|
||||||
Show all
|
Show all
|
||||||
</option>
|
</option>
|
||||||
<option value="1"
|
<option
|
||||||
|
value="1"
|
||||||
:selected="showTime === 1"
|
:selected="showTime === 1"
|
||||||
>Last hour</option>
|
>Last hour</option>
|
||||||
<option value="8"
|
<option
|
||||||
|
value="8"
|
||||||
:selected="showTime === 8"
|
:selected="showTime === 8"
|
||||||
>Last 8 hours</option>
|
>Last 8 hours</option>
|
||||||
<option value="24"
|
<option
|
||||||
|
value="24"
|
||||||
:selected="showTime === 24"
|
:selected="showTime === 24"
|
||||||
>Last 24 hours</option>
|
>Last 24 hours</option>
|
||||||
</select>
|
</select>
|
||||||
<select v-model="defaultSort"
|
<select
|
||||||
|
v-model="defaultSort"
|
||||||
class="c-notebook__controls__time"
|
class="c-notebook__controls__time"
|
||||||
>
|
>
|
||||||
<option value="newest"
|
<option
|
||||||
|
value="newest"
|
||||||
:selected="defaultSort === 'newest'"
|
:selected="defaultSort === 'newest'"
|
||||||
>Newest first</option>
|
>Newest first</option>
|
||||||
<option value="oldest"
|
<option
|
||||||
|
value="oldest"
|
||||||
:selected="defaultSort === 'oldest'"
|
:selected="defaultSort === 'oldest'"
|
||||||
>Oldest first</option>
|
>Oldest first</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="c-notebook__drag-area icon-plus"
|
<div
|
||||||
|
class="c-notebook__drag-area icon-plus"
|
||||||
@click="newEntry()"
|
@click="newEntry()"
|
||||||
@dragover="dragOver"
|
@dragover="dragOver"
|
||||||
@drop.capture="dropCapture"
|
@drop.capture="dropCapture"
|
||||||
@ -113,11 +127,13 @@
|
|||||||
To start a new entry, click here or drag and drop any object
|
To start a new entry, click here or drag and drop any object
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="selectedSection && selectedPage"
|
<div
|
||||||
|
v-if="selectedSection && selectedPage"
|
||||||
ref="notebookEntries"
|
ref="notebookEntries"
|
||||||
class="c-notebook__entries"
|
class="c-notebook__entries"
|
||||||
>
|
>
|
||||||
<NotebookEntry v-for="entry in filteredAndSortedEntries"
|
<NotebookEntry
|
||||||
|
v-for="entry in filteredAndSortedEntries"
|
||||||
:key="entry.id"
|
:key="entry.id"
|
||||||
:entry="entry"
|
:entry="entry"
|
||||||
:domain-object="domainObject"
|
:domain-object="domainObject"
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="c-snapshot c-ne__embed">
|
<div class="c-snapshot c-ne__embed">
|
||||||
<div v-if="embed.snapshot"
|
<div
|
||||||
|
v-if="embed.snapshot"
|
||||||
class="c-ne__embed__snap-thumb"
|
class="c-ne__embed__snap-thumb"
|
||||||
@click="openSnapshot()"
|
@click="openSnapshot()"
|
||||||
>
|
>
|
||||||
@ -8,13 +9,15 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="c-ne__embed__info">
|
<div class="c-ne__embed__info">
|
||||||
<div class="c-ne__embed__name">
|
<div class="c-ne__embed__name">
|
||||||
<a class="c-ne__embed__link"
|
<a
|
||||||
|
class="c-ne__embed__link"
|
||||||
:class="embed.cssClass"
|
:class="embed.cssClass"
|
||||||
@click="changeLocation"
|
@click="changeLocation"
|
||||||
>{{ embed.name }}</a>
|
>{{ embed.name }}</a>
|
||||||
<PopupMenu :popup-menu-items="popupMenuItems" />
|
<PopupMenu :popup-menu-items="popupMenuItems" />
|
||||||
</div>
|
</div>
|
||||||
<div v-if="embed.snapshot"
|
<div
|
||||||
|
v-if="embed.snapshot"
|
||||||
class="c-ne__embed__time"
|
class="c-ne__embed__time"
|
||||||
>
|
>
|
||||||
{{ createdOn }}
|
{{ createdOn }}
|
||||||
|
@ -21,7 +21,8 @@
|
|||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="c-notebook__entry c-ne has-local-controls"
|
<div
|
||||||
|
class="c-notebook__entry c-ne has-local-controls"
|
||||||
@dragover="changeCursor"
|
@dragover="changeCursor"
|
||||||
@drop.capture="cancelEditMode"
|
@drop.capture="cancelEditMode"
|
||||||
@drop.prevent="dropOnEntry"
|
@drop.prevent="dropOnEntry"
|
||||||
@ -62,7 +63,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<div class="c-snapshots c-ne__embeds">
|
<div class="c-snapshots c-ne__embeds">
|
||||||
<NotebookEmbed v-for="embed in entry.embeds"
|
<NotebookEmbed
|
||||||
|
v-for="embed in entry.embeds"
|
||||||
:key="embed.id"
|
:key="embed.id"
|
||||||
:embed="embed"
|
:embed="embed"
|
||||||
@removeEmbed="removeEmbed"
|
@removeEmbed="removeEmbed"
|
||||||
@ -71,17 +73,20 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="!readOnly"
|
<div
|
||||||
|
v-if="!readOnly"
|
||||||
class="c-ne__local-controls--hidden"
|
class="c-ne__local-controls--hidden"
|
||||||
>
|
>
|
||||||
<button class="c-icon-button c-icon-button--major icon-trash"
|
<button
|
||||||
|
class="c-icon-button c-icon-button--major icon-trash"
|
||||||
title="Delete this entry"
|
title="Delete this entry"
|
||||||
tabindex="-1"
|
tabindex="-1"
|
||||||
@click="deleteEntry"
|
@click="deleteEntry"
|
||||||
>
|
>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="readOnly"
|
<div
|
||||||
|
v-if="readOnly"
|
||||||
class="c-ne__section-and-page"
|
class="c-ne__section-and-page"
|
||||||
>
|
>
|
||||||
<a
|
<a
|
||||||
|
@ -8,30 +8,35 @@
|
|||||||
<div class="c-object-label__name">
|
<div class="c-object-label__name">
|
||||||
Notebook Snapshots
|
Notebook Snapshots
|
||||||
</div>
|
</div>
|
||||||
<div v-if="snapshots.length"
|
<div
|
||||||
|
v-if="snapshots.length"
|
||||||
class="l-browse-bar__object-details"
|
class="l-browse-bar__object-details"
|
||||||
>{{ snapshots.length }} of {{ getNotebookSnapshotMaxCount() }}
|
>{{ snapshots.length }} of {{ getNotebookSnapshotMaxCount() }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<PopupMenu v-if="snapshots.length > 0"
|
<PopupMenu
|
||||||
|
v-if="snapshots.length > 0"
|
||||||
:popup-menu-items="popupMenuItems"
|
:popup-menu-items="popupMenuItems"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="l-browse-bar__end">
|
<div class="l-browse-bar__end">
|
||||||
<button class="c-click-icon c-click-icon--major icon-x"
|
<button
|
||||||
|
class="c-click-icon c-click-icon--major icon-x"
|
||||||
@click="close"
|
@click="close"
|
||||||
></button>
|
></button>
|
||||||
</div>
|
</div>
|
||||||
</div><!-- closes l-browse-bar -->
|
</div><!-- closes l-browse-bar -->
|
||||||
<div class="c-snapshots">
|
<div class="c-snapshots">
|
||||||
<span v-for="snapshot in snapshots"
|
<span
|
||||||
|
v-for="snapshot in snapshots"
|
||||||
:key="snapshot.embedObject.id"
|
:key="snapshot.embedObject.id"
|
||||||
draggable="true"
|
draggable="true"
|
||||||
@dragstart="startEmbedDrag(snapshot, $event)"
|
@dragstart="startEmbedDrag(snapshot, $event)"
|
||||||
>
|
>
|
||||||
<NotebookEmbed ref="notebookEmbed"
|
<NotebookEmbed
|
||||||
|
ref="notebookEmbed"
|
||||||
:key="snapshot.embedObject.id"
|
:key="snapshot.embedObject.id"
|
||||||
:embed="snapshot.embedObject"
|
:embed="snapshot.embedObject"
|
||||||
:is-snapshot-container="true"
|
:is-snapshot-container="true"
|
||||||
@ -39,7 +44,8 @@
|
|||||||
@removeEmbed="removeSnapshot"
|
@removeEmbed="removeSnapshot"
|
||||||
/>
|
/>
|
||||||
</span>
|
</span>
|
||||||
<div v-if="!snapshots.length > 0"
|
<div
|
||||||
|
v-if="!snapshots.length > 0"
|
||||||
class="hint"
|
class="hint"
|
||||||
>
|
>
|
||||||
There are no Notebook Snapshots currently.
|
There are no Notebook Snapshots currently.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="c-indicator c-indicator--clickable icon-camera"
|
<div
|
||||||
|
class="c-indicator c-indicator--clickable icon-camera"
|
||||||
:class="[
|
:class="[
|
||||||
{ 's-status-off': snapshotCount === 0 },
|
{ 's-status-off': snapshotCount === 0 },
|
||||||
{ 's-status-on': snapshotCount > 0 },
|
{ 's-status-on': snapshotCount > 0 },
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
<template>
|
<template>
|
||||||
<ul class="c-list">
|
<ul class="c-list">
|
||||||
<li v-for="page in pages"
|
<li
|
||||||
|
v-for="page in pages"
|
||||||
:key="page.id"
|
:key="page.id"
|
||||||
class="c-list__item-h"
|
class="c-list__item-h"
|
||||||
>
|
>
|
||||||
<Page ref="pageComponent"
|
<Page
|
||||||
|
ref="pageComponent"
|
||||||
:default-page-id="defaultPageId"
|
:default-page-id="defaultPageId"
|
||||||
:selected-page-id="selectedPageId"
|
:selected-page-id="selectedPageId"
|
||||||
:page="page"
|
:page="page"
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="c-list__item js-list__item"
|
<div
|
||||||
|
class="c-list__item js-list__item"
|
||||||
:class="[{ 'is-selected': isSelected, 'is-notebook-default' : (defaultPageId === page.id) }]"
|
:class="[{ 'is-selected': isSelected, 'is-notebook-default' : (defaultPageId === page.id) }]"
|
||||||
:data-id="page.id"
|
:data-id="page.id"
|
||||||
@click="selectPage"
|
@click="selectPage"
|
||||||
>
|
>
|
||||||
<span class="c-list__item__name js-list__item__name"
|
<span
|
||||||
|
class="c-list__item__name js-list__item__name"
|
||||||
:data-id="page.id"
|
:data-id="page.id"
|
||||||
@keydown.enter="updateName"
|
@keydown.enter="updateName"
|
||||||
@blur="updateName"
|
@blur="updateName"
|
||||||
|
@ -24,7 +24,8 @@
|
|||||||
<div class="c-notebook__search-results">
|
<div class="c-notebook__search-results">
|
||||||
<div class="c-notebook__search-results__header">Search Results ({{ results.length }})</div>
|
<div class="c-notebook__search-results__header">Search Results ({{ results.length }})</div>
|
||||||
<div class="c-notebook__entries">
|
<div class="c-notebook__entries">
|
||||||
<NotebookEntry v-for="(result, index) in results"
|
<NotebookEntry
|
||||||
|
v-for="(result, index) in results"
|
||||||
:key="index"
|
:key="index"
|
||||||
:domain-object="domainObject"
|
:domain-object="domainObject"
|
||||||
:result="result"
|
:result="result"
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
<template>
|
<template>
|
||||||
<ul class="c-list">
|
<ul class="c-list">
|
||||||
<li v-for="section in sections"
|
<li
|
||||||
|
v-for="section in sections"
|
||||||
:key="section.id"
|
:key="section.id"
|
||||||
class="c-list__item-h"
|
class="c-list__item-h"
|
||||||
>
|
>
|
||||||
<NotebookSection ref="sectionComponent"
|
<NotebookSection
|
||||||
|
ref="sectionComponent"
|
||||||
:default-section-id="defaultSectionId"
|
:default-section-id="defaultSectionId"
|
||||||
:selected-section-id="selectedSectionId"
|
:selected-section-id="selectedSectionId"
|
||||||
:section="section"
|
:section="section"
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="c-list__item js-list__item"
|
<div
|
||||||
|
class="c-list__item js-list__item"
|
||||||
:class="[{ 'is-selected': isSelected, 'is-notebook-default' : (defaultSectionId === section.id) }]"
|
:class="[{ 'is-selected': isSelected, 'is-notebook-default' : (defaultSectionId === section.id) }]"
|
||||||
:data-id="section.id"
|
:data-id="section.id"
|
||||||
@click="selectSection"
|
@click="selectSection"
|
||||||
>
|
>
|
||||||
<span class="c-list__item__name js-list__item__name"
|
<span
|
||||||
|
class="c-list__item__name js-list__item__name"
|
||||||
:data-id="section.id"
|
:data-id="section.id"
|
||||||
@keydown.enter="updateName"
|
@keydown.enter="updateName"
|
||||||
@blur="updateName"
|
@blur="updateName"
|
||||||
|
@ -7,13 +7,15 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="c-sidebar__contents-and-controls">
|
<div class="c-sidebar__contents-and-controls">
|
||||||
<button class="c-list-button"
|
<button
|
||||||
|
class="c-list-button"
|
||||||
@click="addSection"
|
@click="addSection"
|
||||||
>
|
>
|
||||||
<span class="c-button c-list-button__button icon-plus"></span>
|
<span class="c-button c-list-button__button icon-plus"></span>
|
||||||
<span class="c-list-button__label">Add {{ sectionTitle }}</span>
|
<span class="c-list-button__label">Add {{ sectionTitle }}</span>
|
||||||
</button>
|
</button>
|
||||||
<SectionCollection class="c-sidebar__contents"
|
<SectionCollection
|
||||||
|
class="c-sidebar__contents"
|
||||||
:default-section-id="defaultSectionId"
|
:default-section-id="defaultSectionId"
|
||||||
:selected-section-id="selectedSectionId"
|
:selected-section-id="selectedSectionId"
|
||||||
:domain-object="domainObject"
|
:domain-object="domainObject"
|
||||||
@ -30,19 +32,22 @@
|
|||||||
<div class="c-sidebar__header">
|
<div class="c-sidebar__header">
|
||||||
<span class="c-sidebar__header-label">{{ pageTitle }}</span>
|
<span class="c-sidebar__header-label">{{ pageTitle }}</span>
|
||||||
</div>
|
</div>
|
||||||
<button class="c-click-icon c-click-icon--major icon-x-in-circle"
|
<button
|
||||||
|
class="c-click-icon c-click-icon--major icon-x-in-circle"
|
||||||
@click="toggleNav"
|
@click="toggleNav"
|
||||||
></button>
|
></button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="c-sidebar__contents-and-controls">
|
<div class="c-sidebar__contents-and-controls">
|
||||||
<button class="c-list-button"
|
<button
|
||||||
|
class="c-list-button"
|
||||||
@click="addPage"
|
@click="addPage"
|
||||||
>
|
>
|
||||||
<span class="c-button c-list-button__button icon-plus"></span>
|
<span class="c-button c-list-button__button icon-plus"></span>
|
||||||
<span class="c-list-button__label">Add {{ pageTitle }}</span>
|
<span class="c-list-button__label">Add {{ pageTitle }}</span>
|
||||||
</button>
|
</button>
|
||||||
<PageCollection ref="pageCollection"
|
<PageCollection
|
||||||
|
ref="pageCollection"
|
||||||
class="c-sidebar__contents"
|
class="c-sidebar__contents"
|
||||||
:default-page-id="defaultPageId"
|
:default-page-id="defaultPageId"
|
||||||
:selected-page-id="selectedPageId"
|
:selected-page-id="selectedPageId"
|
||||||
|
@ -21,7 +21,8 @@
|
|||||||
-->
|
-->
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div ref="plan"
|
<div
|
||||||
|
ref="plan"
|
||||||
class="c-plan c-timeline-holder"
|
class="c-plan c-timeline-holder"
|
||||||
>
|
>
|
||||||
<template v-if="viewBounds && !options.compact">
|
<template v-if="viewBounds && !options.compact">
|
||||||
@ -36,7 +37,8 @@
|
|||||||
/>
|
/>
|
||||||
</swim-lane>
|
</swim-lane>
|
||||||
</template>
|
</template>
|
||||||
<div ref="planHolder"
|
<div
|
||||||
|
ref="planHolder"
|
||||||
class="c-plan__contents u-contents"
|
class="c-plan__contents u-contents"
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
|
@ -21,7 +21,8 @@
|
|||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<div class="c-inspector__properties c-inspect-properties">
|
<div class="c-inspector__properties c-inspect-properties">
|
||||||
<plan-activity-view v-for="activity in activities"
|
<plan-activity-view
|
||||||
|
v-for="activity in activities"
|
||||||
:key="activity.id"
|
:key="activity.id"
|
||||||
:activity="activity"
|
:activity="activity"
|
||||||
:heading="heading"
|
:heading="heading"
|
||||||
|
@ -21,17 +21,20 @@
|
|||||||
-->
|
-->
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div v-if="timeProperties.length"
|
<div
|
||||||
|
v-if="timeProperties.length"
|
||||||
class="u-contents"
|
class="u-contents"
|
||||||
>
|
>
|
||||||
<div class="c-inspect-properties__header">
|
<div class="c-inspect-properties__header">
|
||||||
{{ heading }}
|
{{ heading }}
|
||||||
</div>
|
</div>
|
||||||
<ul v-for="timeProperty in timeProperties"
|
<ul
|
||||||
|
v-for="timeProperty in timeProperties"
|
||||||
:key="timeProperty.id"
|
:key="timeProperty.id"
|
||||||
class="c-inspect-properties__section"
|
class="c-inspect-properties__section"
|
||||||
>
|
>
|
||||||
<activity-property :label="timeProperty.label"
|
<activity-property
|
||||||
|
:label="timeProperty.label"
|
||||||
:value="timeProperty.value"
|
:value="timeProperty.value"
|
||||||
/>
|
/>
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -20,18 +20,21 @@
|
|||||||
at runtime from the About dialog for additional information.
|
at runtime from the About dialog for additional information.
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<div v-if="loaded"
|
<div
|
||||||
|
v-if="loaded"
|
||||||
class="gl-plot"
|
class="gl-plot"
|
||||||
:class="[plotLegendExpandedStateClass, plotLegendPositionClass]"
|
:class="[plotLegendExpandedStateClass, plotLegendPositionClass]"
|
||||||
>
|
>
|
||||||
<plot-legend :cursor-locked="!!lockHighlightPoint"
|
<plot-legend
|
||||||
|
:cursor-locked="!!lockHighlightPoint"
|
||||||
:series="seriesModels"
|
:series="seriesModels"
|
||||||
:highlights="highlights"
|
:highlights="highlights"
|
||||||
:legend="legend"
|
:legend="legend"
|
||||||
@legendHoverChanged="legendHoverChanged"
|
@legendHoverChanged="legendHoverChanged"
|
||||||
/>
|
/>
|
||||||
<div class="plot-wrapper-axis-and-display-area flex-elem grows">
|
<div class="plot-wrapper-axis-and-display-area flex-elem grows">
|
||||||
<y-axis v-if="seriesModels.length > 0"
|
<y-axis
|
||||||
|
v-if="seriesModels.length > 0"
|
||||||
:tick-width="tickWidth"
|
:tick-width="tickWidth"
|
||||||
:single-series="seriesModels.length === 1"
|
:single-series="seriesModels.length === 1"
|
||||||
:series-model="seriesModels[0]"
|
:series-model="seriesModels[0]"
|
||||||
@ -41,7 +44,8 @@
|
|||||||
@yKeyChanged="setYAxisKey"
|
@yKeyChanged="setYAxisKey"
|
||||||
@tickWidthChanged="onTickWidthChange"
|
@tickWidthChanged="onTickWidthChange"
|
||||||
/>
|
/>
|
||||||
<div class="gl-plot-wrapper-display-area-and-x-axis"
|
<div
|
||||||
|
class="gl-plot-wrapper-display-area-and-x-axis"
|
||||||
:style="{
|
:style="{
|
||||||
left: (plotWidth + 20) + 'px'
|
left: (plotWidth + 20) + 'px'
|
||||||
}"
|
}"
|
||||||
@ -49,27 +53,32 @@
|
|||||||
|
|
||||||
<div class="gl-plot-display-area has-local-controls has-cursor-guides">
|
<div class="gl-plot-display-area has-local-controls has-cursor-guides">
|
||||||
<div class="l-state-indicators">
|
<div class="l-state-indicators">
|
||||||
<span class="l-state-indicators__alert-no-lad t-object-alert t-alert-unsynced icon-alert-triangle"
|
<span
|
||||||
|
class="l-state-indicators__alert-no-lad t-object-alert t-alert-unsynced icon-alert-triangle"
|
||||||
title="This plot is not currently displaying the latest data. Reset pan/zoom to view latest data."
|
title="This plot is not currently displaying the latest data. Reset pan/zoom to view latest data."
|
||||||
></span>
|
></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<mct-ticks v-show="gridLines && !options.compact"
|
<mct-ticks
|
||||||
|
v-show="gridLines && !options.compact"
|
||||||
:axis-type="'xAxis'"
|
:axis-type="'xAxis'"
|
||||||
:position="'right'"
|
:position="'right'"
|
||||||
@plotTickWidth="onTickWidthChange"
|
@plotTickWidth="onTickWidthChange"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<mct-ticks v-show="gridLines"
|
<mct-ticks
|
||||||
|
v-show="gridLines"
|
||||||
:axis-type="'yAxis'"
|
:axis-type="'yAxis'"
|
||||||
:position="'bottom'"
|
:position="'bottom'"
|
||||||
@plotTickWidth="onTickWidthChange"
|
@plotTickWidth="onTickWidthChange"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<div ref="chartContainer"
|
<div
|
||||||
|
ref="chartContainer"
|
||||||
class="gl-plot-chart-wrapper"
|
class="gl-plot-chart-wrapper"
|
||||||
>
|
>
|
||||||
<mct-chart :rectangles="rectangles"
|
<mct-chart
|
||||||
|
:rectangles="rectangles"
|
||||||
:highlights="highlights"
|
:highlights="highlights"
|
||||||
:show-limit-line-labels="showLimitLineLabels"
|
:show-limit-line-labels="showLimitLineLabels"
|
||||||
@plotReinitializeCanvas="initCanvas"
|
@plotReinitializeCanvas="initCanvas"
|
||||||
@ -77,54 +86,65 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="gl-plot__local-controls h-local-controls h-local-controls--overlay-content c-local-controls--show-on-hover">
|
<div class="gl-plot__local-controls h-local-controls h-local-controls--overlay-content c-local-controls--show-on-hover">
|
||||||
<div v-if="!options.compact"
|
<div
|
||||||
|
v-if="!options.compact"
|
||||||
class="c-button-set c-button-set--strip-h js-zoom"
|
class="c-button-set c-button-set--strip-h js-zoom"
|
||||||
>
|
>
|
||||||
<button class="c-button icon-minus"
|
<button
|
||||||
|
class="c-button icon-minus"
|
||||||
title="Zoom out"
|
title="Zoom out"
|
||||||
@click="zoom('out', 0.2)"
|
@click="zoom('out', 0.2)"
|
||||||
>
|
>
|
||||||
</button>
|
</button>
|
||||||
<button class="c-button icon-plus"
|
<button
|
||||||
|
class="c-button icon-plus"
|
||||||
title="Zoom in"
|
title="Zoom in"
|
||||||
@click="zoom('in', 0.2)"
|
@click="zoom('in', 0.2)"
|
||||||
>
|
>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="plotHistory.length && !options.compact"
|
<div
|
||||||
|
v-if="plotHistory.length && !options.compact"
|
||||||
class="c-button-set c-button-set--strip-h js-pan"
|
class="c-button-set c-button-set--strip-h js-pan"
|
||||||
>
|
>
|
||||||
<button class="c-button icon-arrow-left"
|
<button
|
||||||
|
class="c-button icon-arrow-left"
|
||||||
title="Restore previous pan/zoom"
|
title="Restore previous pan/zoom"
|
||||||
@click="back()"
|
@click="back()"
|
||||||
>
|
>
|
||||||
</button>
|
</button>
|
||||||
<button class="c-button icon-reset"
|
<button
|
||||||
|
class="c-button icon-reset"
|
||||||
title="Reset pan/zoom"
|
title="Reset pan/zoom"
|
||||||
@click="clear()"
|
@click="clear()"
|
||||||
>
|
>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="isRealTime && !options.compact"
|
<div
|
||||||
|
v-if="isRealTime && !options.compact"
|
||||||
class="c-button-set c-button-set--strip-h js-pause"
|
class="c-button-set c-button-set--strip-h js-pause"
|
||||||
>
|
>
|
||||||
<button v-if="!isFrozen"
|
<button
|
||||||
|
v-if="!isFrozen"
|
||||||
class="c-button icon-pause"
|
class="c-button icon-pause"
|
||||||
title="Pause incoming real-time data"
|
title="Pause incoming real-time data"
|
||||||
@click="pause()"
|
@click="pause()"
|
||||||
>
|
>
|
||||||
</button>
|
</button>
|
||||||
<button v-if="isFrozen"
|
<button
|
||||||
|
v-if="isFrozen"
|
||||||
class="c-button icon-arrow-right pause-play is-paused"
|
class="c-button icon-arrow-right pause-play is-paused"
|
||||||
title="Resume displaying real-time data"
|
title="Resume displaying real-time data"
|
||||||
@click="play()"
|
@click="play()"
|
||||||
>
|
>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="isTimeOutOfSync || isFrozen"
|
<div
|
||||||
|
v-if="isTimeOutOfSync || isFrozen"
|
||||||
class="c-button-set c-button-set--strip-h"
|
class="c-button-set c-button-set--strip-h"
|
||||||
>
|
>
|
||||||
<button class="c-button icon-clock"
|
<button
|
||||||
|
class="c-button icon-clock"
|
||||||
title="Synchronize Time Conductor"
|
title="Synchronize Time Conductor"
|
||||||
@click="showSynchronizeDialog()"
|
@click="showSynchronizeDialog()"
|
||||||
>
|
>
|
||||||
@ -133,18 +153,21 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!--Cursor guides-->
|
<!--Cursor guides-->
|
||||||
<div v-show="cursorGuide"
|
<div
|
||||||
|
v-show="cursorGuide"
|
||||||
ref="cursorGuideVertical"
|
ref="cursorGuideVertical"
|
||||||
class="c-cursor-guide--v js-cursor-guide--v"
|
class="c-cursor-guide--v js-cursor-guide--v"
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div v-show="cursorGuide"
|
<div
|
||||||
|
v-show="cursorGuide"
|
||||||
ref="cursorGuideHorizontal"
|
ref="cursorGuideHorizontal"
|
||||||
class="c-cursor-guide--h js-cursor-guide--h"
|
class="c-cursor-guide--h js-cursor-guide--h"
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<x-axis v-if="seriesModels.length > 0 && !options.compact"
|
<x-axis
|
||||||
|
v-if="seriesModels.length > 0 && !options.compact"
|
||||||
:series-model="seriesModels[0]"
|
:series-model="seriesModels[0]"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
@ -21,13 +21,16 @@
|
|||||||
-->
|
-->
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div ref="tickContainer"
|
<div
|
||||||
|
ref="tickContainer"
|
||||||
class="u-contents js-ticks"
|
class="u-contents js-ticks"
|
||||||
>
|
>
|
||||||
<div v-if="position === 'left'"
|
<div
|
||||||
|
v-if="position === 'left'"
|
||||||
class="gl-plot-tick-wrapper"
|
class="gl-plot-tick-wrapper"
|
||||||
>
|
>
|
||||||
<div v-for="tick in ticks"
|
<div
|
||||||
|
v-for="tick in ticks"
|
||||||
:key="tick.value"
|
:key="tick.value"
|
||||||
class="gl-plot-tick gl-plot-x-tick-label"
|
class="gl-plot-tick gl-plot-x-tick-label"
|
||||||
:style="{
|
:style="{
|
||||||
@ -38,10 +41,12 @@
|
|||||||
{{ tick.text }}
|
{{ tick.text }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="position === 'top'"
|
<div
|
||||||
|
v-if="position === 'top'"
|
||||||
class="gl-plot-tick-wrapper"
|
class="gl-plot-tick-wrapper"
|
||||||
>
|
>
|
||||||
<div v-for="tick in ticks"
|
<div
|
||||||
|
v-for="tick in ticks"
|
||||||
:key="tick.value"
|
:key="tick.value"
|
||||||
class="gl-plot-tick gl-plot-y-tick-label"
|
class="gl-plot-tick gl-plot-y-tick-label"
|
||||||
:style="{ top: (100 * (max - tick.value) / interval) + '%' }"
|
:style="{ top: (100 * (max - tick.value) / interval) + '%' }"
|
||||||
@ -53,7 +58,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<!-- grid lines follow -->
|
<!-- grid lines follow -->
|
||||||
<template v-if="position === 'right'">
|
<template v-if="position === 'right'">
|
||||||
<div v-for="tick in ticks"
|
<div
|
||||||
|
v-for="tick in ticks"
|
||||||
:key="tick.value"
|
:key="tick.value"
|
||||||
class="gl-plot-hash hash-v"
|
class="gl-plot-hash hash-v"
|
||||||
:style="{
|
:style="{
|
||||||
@ -64,7 +70,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="position === 'bottom'">
|
<template v-if="position === 'bottom'">
|
||||||
<div v-for="tick in ticks"
|
<div
|
||||||
|
v-for="tick in ticks"
|
||||||
:key="tick.value"
|
:key="tick.value"
|
||||||
class="gl-plot-hash hash-h"
|
class="gl-plot-hash hash-h"
|
||||||
:style="{ bottom: (100 * (tick.value - min) / interval) + '%', width: '100%' }"
|
:style="{ bottom: (100 * (tick.value - min) / interval) + '%', width: '100%' }"
|
||||||
|
@ -20,33 +20,39 @@
|
|||||||
at runtime from the About dialog for additional information.
|
at runtime from the About dialog for additional information.
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<div ref="plotWrapper"
|
<div
|
||||||
|
ref="plotWrapper"
|
||||||
class="c-plot holder holder-plot has-control-bar"
|
class="c-plot holder holder-plot has-control-bar"
|
||||||
>
|
>
|
||||||
<div v-if="!options.compact"
|
<div
|
||||||
|
v-if="!options.compact"
|
||||||
class="c-control-bar"
|
class="c-control-bar"
|
||||||
>
|
>
|
||||||
<span class="c-button-set c-button-set--strip-h">
|
<span class="c-button-set c-button-set--strip-h">
|
||||||
<button class="c-button icon-download"
|
<button
|
||||||
|
class="c-button icon-download"
|
||||||
title="Export This View's Data as PNG"
|
title="Export This View's Data as PNG"
|
||||||
@click="exportPNG()"
|
@click="exportPNG()"
|
||||||
>
|
>
|
||||||
<span class="c-button__label">PNG</span>
|
<span class="c-button__label">PNG</span>
|
||||||
</button>
|
</button>
|
||||||
<button class="c-button"
|
<button
|
||||||
|
class="c-button"
|
||||||
title="Export This View's Data as JPG"
|
title="Export This View's Data as JPG"
|
||||||
@click="exportJPG()"
|
@click="exportJPG()"
|
||||||
>
|
>
|
||||||
<span class="c-button__label">JPG</span>
|
<span class="c-button__label">JPG</span>
|
||||||
</button>
|
</button>
|
||||||
</span>
|
</span>
|
||||||
<button class="c-button icon-crosshair"
|
<button
|
||||||
|
class="c-button icon-crosshair"
|
||||||
:class="{ 'is-active': cursorGuide }"
|
:class="{ 'is-active': cursorGuide }"
|
||||||
title="Toggle cursor guides"
|
title="Toggle cursor guides"
|
||||||
@click="toggleCursorGuide"
|
@click="toggleCursorGuide"
|
||||||
>
|
>
|
||||||
</button>
|
</button>
|
||||||
<button class="c-button"
|
<button
|
||||||
|
class="c-button"
|
||||||
:class="{ 'icon-grid-on': gridLines, 'icon-grid-off': !gridLines }"
|
:class="{ 'icon-grid-on': gridLines, 'icon-grid-off': !gridLines }"
|
||||||
title="Toggle grid lines"
|
title="Toggle grid lines"
|
||||||
@click="toggleGridLines"
|
@click="toggleGridLines"
|
||||||
@ -54,14 +60,17 @@
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div ref="plotContainer"
|
<div
|
||||||
|
ref="plotContainer"
|
||||||
class="l-view-section u-style-receiver js-style-receiver"
|
class="l-view-section u-style-receiver js-style-receiver"
|
||||||
:class="{'s-status-timeconductor-unsynced': status && status === 'timeconductor-unsynced'}"
|
:class="{'s-status-timeconductor-unsynced': status && status === 'timeconductor-unsynced'}"
|
||||||
>
|
>
|
||||||
<div v-show="!!loading"
|
<div
|
||||||
|
v-show="!!loading"
|
||||||
class="c-loading--overlay loading"
|
class="c-loading--overlay loading"
|
||||||
></div>
|
></div>
|
||||||
<mct-plot :grid-lines="gridLines"
|
<mct-plot
|
||||||
|
:grid-lines="gridLines"
|
||||||
:cursor-guide="cursorGuide"
|
:cursor-guide="cursorGuide"
|
||||||
:options="options"
|
:options="options"
|
||||||
@loadingUpdated="loadingUpdated"
|
@loadingUpdated="loadingUpdated"
|
||||||
|
@ -21,10 +21,12 @@
|
|||||||
-->
|
-->
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div v-if="loaded"
|
<div
|
||||||
|
v-if="loaded"
|
||||||
class="gl-plot-axis-area gl-plot-x has-local-controls"
|
class="gl-plot-axis-area gl-plot-x has-local-controls"
|
||||||
>
|
>
|
||||||
<mct-ticks :axis-type="'xAxis'"
|
<mct-ticks
|
||||||
|
:axis-type="'xAxis'"
|
||||||
:position="'left'"
|
:position="'left'"
|
||||||
@plotTickWidth="onTickWidthChange"
|
@plotTickWidth="onTickWidthChange"
|
||||||
/>
|
/>
|
||||||
@ -42,7 +44,8 @@
|
|||||||
class="gl-plot-x-label__select local-controls--hidden"
|
class="gl-plot-x-label__select local-controls--hidden"
|
||||||
@change="toggleXKeyOption()"
|
@change="toggleXKeyOption()"
|
||||||
>
|
>
|
||||||
<option v-for="option in xKeyOptions"
|
<option
|
||||||
|
v-for="option in xKeyOptions"
|
||||||
:key="option.key"
|
:key="option.key"
|
||||||
:value="option.key"
|
:value="option.key"
|
||||||
>{{ option.name }}
|
>{{ option.name }}
|
||||||
|
@ -20,25 +20,29 @@
|
|||||||
at runtime from the About dialog for additional information.
|
at runtime from the About dialog for additional information.
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<div v-if="loaded"
|
<div
|
||||||
|
v-if="loaded"
|
||||||
class="gl-plot-axis-area gl-plot-y has-local-controls"
|
class="gl-plot-axis-area gl-plot-y has-local-controls"
|
||||||
:style="{
|
:style="{
|
||||||
width: (tickWidth + 20) + 'px'
|
width: (tickWidth + 20) + 'px'
|
||||||
}"
|
}"
|
||||||
>
|
>
|
||||||
|
|
||||||
<div v-if="singleSeries"
|
<div
|
||||||
|
v-if="singleSeries"
|
||||||
class="gl-plot-label gl-plot-y-label"
|
class="gl-plot-label gl-plot-y-label"
|
||||||
:class="{'icon-gear': (yKeyOptions.length > 1)}"
|
:class="{'icon-gear': (yKeyOptions.length > 1)}"
|
||||||
>{{ yAxisLabel }}
|
>{{ yAxisLabel }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<select v-if="yKeyOptions.length > 1 && singleSeries"
|
<select
|
||||||
|
v-if="yKeyOptions.length > 1 && singleSeries"
|
||||||
v-model="yAxisLabel"
|
v-model="yAxisLabel"
|
||||||
class="gl-plot-y-label__select local-controls--hidden"
|
class="gl-plot-y-label__select local-controls--hidden"
|
||||||
@change="toggleYAxisLabel"
|
@change="toggleYAxisLabel"
|
||||||
>
|
>
|
||||||
<option v-for="(option, index) in yKeyOptions"
|
<option
|
||||||
|
v-for="(option, index) in yKeyOptions"
|
||||||
:key="index"
|
:key="index"
|
||||||
:value="option.name"
|
:value="option.name"
|
||||||
:selected="option.name === yAxisLabel"
|
:selected="option.name === yAxisLabel"
|
||||||
@ -47,7 +51,8 @@
|
|||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<mct-ticks :axis-type="'yAxis'"
|
<mct-ticks
|
||||||
|
:axis-type="'yAxis'"
|
||||||
class="gl-plot-ticks"
|
class="gl-plot-ticks"
|
||||||
:position="'top'"
|
:position="'top'"
|
||||||
@plotTickWidth="onTickWidthChange"
|
@plotTickWidth="onTickWidthChange"
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="c-plot-limit"
|
<div
|
||||||
|
class="c-plot-limit"
|
||||||
:style="styleObj"
|
:style="styleObj"
|
||||||
:class="limitClass"
|
:class="limitClass"
|
||||||
>
|
>
|
||||||
@ -7,7 +8,8 @@
|
|||||||
<span class="c-plot-limit__direction-icon"></span>
|
<span class="c-plot-limit__direction-icon"></span>
|
||||||
<span class="c-plot-limit__severity-icon"></span>
|
<span class="c-plot-limit__severity-icon"></span>
|
||||||
<span class="c-plot-limit__limit-value">{{ limit.value }}</span>
|
<span class="c-plot-limit__limit-value">{{ limit.value }}</span>
|
||||||
<span class="c-plot-limit__series-color-swatch"
|
<span
|
||||||
|
class="c-plot-limit__series-color-swatch"
|
||||||
:style="{ 'background-color': limit.seriesColor }"
|
:style="{ 'background-color': limit.seriesColor }"
|
||||||
></span>
|
></span>
|
||||||
<span class="c-plot-limit__series-name">{{ limit.name }}</span>
|
<span class="c-plot-limit__series-name">{{ limit.name }}</span>
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div :style="styleObj"
|
<div
|
||||||
|
:style="styleObj"
|
||||||
class="c-plot-limit-line js-limit-line"
|
class="c-plot-limit-line js-limit-line"
|
||||||
:class="limitClass"
|
:class="limitClass"
|
||||||
></div>
|
></div>
|
||||||
|
@ -26,7 +26,8 @@
|
|||||||
<div class="gl-plot-chart-area">
|
<div class="gl-plot-chart-area">
|
||||||
<span v-html="canvasTemplate"></span>
|
<span v-html="canvasTemplate"></span>
|
||||||
<span v-html="canvasTemplate"></span>
|
<span v-html="canvasTemplate"></span>
|
||||||
<div ref="limitArea"
|
<div
|
||||||
|
ref="limitArea"
|
||||||
class="js-limit-area"
|
class="js-limit-area"
|
||||||
></div>
|
></div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -20,29 +20,34 @@
|
|||||||
at runtime from the About dialog for additional information.
|
at runtime from the About dialog for additional information.
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<div v-if="loaded"
|
<div
|
||||||
|
v-if="loaded"
|
||||||
class="js-plot-options-browse"
|
class="js-plot-options-browse"
|
||||||
>
|
>
|
||||||
<ul class="c-tree">
|
<ul class="c-tree">
|
||||||
<h2 title="Plot series display properties in this object">Plot Series</h2>
|
<h2 title="Plot series display properties in this object">Plot Series</h2>
|
||||||
<plot-options-item v-for="series in plotSeries"
|
<plot-options-item
|
||||||
|
v-for="series in plotSeries"
|
||||||
:key="series.key"
|
:key="series.key"
|
||||||
:series="series"
|
:series="series"
|
||||||
/>
|
/>
|
||||||
</ul>
|
</ul>
|
||||||
<div v-if="plotSeries.length"
|
<div
|
||||||
|
v-if="plotSeries.length"
|
||||||
class="grid-properties"
|
class="grid-properties"
|
||||||
>
|
>
|
||||||
<ul class="l-inspector-part">
|
<ul class="l-inspector-part">
|
||||||
<h2 title="Y axis settings for this object">Y Axis</h2>
|
<h2 title="Y axis settings for this object">Y Axis</h2>
|
||||||
<li class="grid-row">
|
<li class="grid-row">
|
||||||
<div class="grid-cell label"
|
<div
|
||||||
|
class="grid-cell label"
|
||||||
title="Manually override how the Y axis is labeled."
|
title="Manually override how the Y axis is labeled."
|
||||||
>Label</div>
|
>Label</div>
|
||||||
<div class="grid-cell value">{{ label ? label : "Not defined" }}</div>
|
<div class="grid-cell value">{{ label ? label : "Not defined" }}</div>
|
||||||
</li>
|
</li>
|
||||||
<li class="grid-row">
|
<li class="grid-row">
|
||||||
<div class="grid-cell label"
|
<div
|
||||||
|
class="grid-cell label"
|
||||||
title="Automatically scale the Y axis to keep all values in view."
|
title="Automatically scale the Y axis to keep all values in view."
|
||||||
>Autoscale</div>
|
>Autoscale</div>
|
||||||
<div class="grid-cell value">
|
<div class="grid-cell value">
|
||||||
@ -50,18 +55,22 @@
|
|||||||
{{ autoscale ? autoscalePadding : "" }}
|
{{ autoscale ? autoscalePadding : "" }}
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li v-if="!autoscale && rangeMin"
|
<li
|
||||||
|
v-if="!autoscale && rangeMin"
|
||||||
class="grid-row"
|
class="grid-row"
|
||||||
>
|
>
|
||||||
<div class="grid-cell label"
|
<div
|
||||||
|
class="grid-cell label"
|
||||||
title="Minimum Y axis value."
|
title="Minimum Y axis value."
|
||||||
>Minimum value</div>
|
>Minimum value</div>
|
||||||
<div class="grid-cell value">{{ rangeMin }}</div>
|
<div class="grid-cell value">{{ rangeMin }}</div>
|
||||||
</li>
|
</li>
|
||||||
<li v-if="!autoscale && rangeMax"
|
<li
|
||||||
|
v-if="!autoscale && rangeMax"
|
||||||
class="grid-row"
|
class="grid-row"
|
||||||
>
|
>
|
||||||
<div class="grid-cell label"
|
<div
|
||||||
|
class="grid-cell label"
|
||||||
title="Maximum Y axis value."
|
title="Maximum Y axis value."
|
||||||
>Maximum value</div>
|
>Maximum value</div>
|
||||||
<div class="grid-cell value">{{ rangeMax }}</div>
|
<div class="grid-cell value">{{ rangeMax }}</div>
|
||||||
@ -70,25 +79,29 @@
|
|||||||
<ul class="l-inspector-part">
|
<ul class="l-inspector-part">
|
||||||
<h2 title="Legend settings for this object">Legend</h2>
|
<h2 title="Legend settings for this object">Legend</h2>
|
||||||
<li class="grid-row">
|
<li class="grid-row">
|
||||||
<div class="grid-cell label"
|
<div
|
||||||
|
class="grid-cell label"
|
||||||
title="The position of the legend relative to the plot display area."
|
title="The position of the legend relative to the plot display area."
|
||||||
>Position</div>
|
>Position</div>
|
||||||
<div class="grid-cell value capitalize">{{ position }}</div>
|
<div class="grid-cell value capitalize">{{ position }}</div>
|
||||||
</li>
|
</li>
|
||||||
<li class="grid-row">
|
<li class="grid-row">
|
||||||
<div class="grid-cell label"
|
<div
|
||||||
|
class="grid-cell label"
|
||||||
title="Hide the legend when the plot is small"
|
title="Hide the legend when the plot is small"
|
||||||
>Hide when plot small</div>
|
>Hide when plot small</div>
|
||||||
<div class="grid-cell value">{{ hideLegendWhenSmall ? "Yes" : "No" }}</div>
|
<div class="grid-cell value">{{ hideLegendWhenSmall ? "Yes" : "No" }}</div>
|
||||||
</li>
|
</li>
|
||||||
<li class="grid-row">
|
<li class="grid-row">
|
||||||
<div class="grid-cell label"
|
<div
|
||||||
|
class="grid-cell label"
|
||||||
title="Show the legend expanded by default"
|
title="Show the legend expanded by default"
|
||||||
>Expand by Default</div>
|
>Expand by Default</div>
|
||||||
<div class="grid-cell value">{{ expandByDefault ? "Yes" : "No" }}</div>
|
<div class="grid-cell value">{{ expandByDefault ? "Yes" : "No" }}</div>
|
||||||
</li>
|
</li>
|
||||||
<li class="grid-row">
|
<li class="grid-row">
|
||||||
<div class="grid-cell label"
|
<div
|
||||||
|
class="grid-cell label"
|
||||||
title="What to display in the legend when it's collapsed."
|
title="What to display in the legend when it's collapsed."
|
||||||
>Show when collapsed:</div>
|
>Show when collapsed:</div>
|
||||||
<div class="grid-cell value">{{
|
<div class="grid-cell value">{{
|
||||||
@ -97,7 +110,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li class="grid-row">
|
<li class="grid-row">
|
||||||
<div class="grid-cell label"
|
<div
|
||||||
|
class="grid-cell label"
|
||||||
title="What to display in the legend when it's expanded."
|
title="What to display in the legend when it's expanded."
|
||||||
>Show when expanded:</div>
|
>Show when expanded:</div>
|
||||||
<div class="grid-cell value comma-list">
|
<div class="grid-cell value comma-list">
|
||||||
|
@ -20,24 +20,28 @@
|
|||||||
at runtime from the About dialog for additional information.
|
at runtime from the About dialog for additional information.
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<div v-if="loaded"
|
<div
|
||||||
|
v-if="loaded"
|
||||||
class="js-plot-options-edit"
|
class="js-plot-options-edit"
|
||||||
>
|
>
|
||||||
<ul class="c-tree">
|
<ul class="c-tree">
|
||||||
<h2 title="Display properties for this object">Plot Series</h2>
|
<h2 title="Display properties for this object">Plot Series</h2>
|
||||||
<li v-for="series in plotSeries"
|
<li
|
||||||
|
v-for="series in plotSeries"
|
||||||
:key="series.key"
|
:key="series.key"
|
||||||
>
|
>
|
||||||
<series-form :series="series" />
|
<series-form :series="series" />
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<y-axis-form v-if="plotSeries.length"
|
<y-axis-form
|
||||||
|
v-if="plotSeries.length"
|
||||||
class="grid-properties"
|
class="grid-properties"
|
||||||
:y-axis="config.yAxis"
|
:y-axis="config.yAxis"
|
||||||
/>
|
/>
|
||||||
<ul class="l-inspector-part">
|
<ul class="l-inspector-part">
|
||||||
<h2 title="Legend options">Legend</h2>
|
<h2 title="Legend options">Legend</h2>
|
||||||
<legend-form v-if="plotSeries.length"
|
<legend-form
|
||||||
|
v-if="plotSeries.length"
|
||||||
class="grid-properties"
|
class="grid-properties"
|
||||||
:legend="config.legend"
|
:legend="config.legend"
|
||||||
/>
|
/>
|
||||||
|
@ -1,32 +1,39 @@
|
|||||||
<template>
|
<template>
|
||||||
<ul>
|
<ul>
|
||||||
<li class="c-tree__item menus-to-left"
|
<li
|
||||||
|
class="c-tree__item menus-to-left"
|
||||||
:class="isAliasClass"
|
:class="isAliasClass"
|
||||||
>
|
>
|
||||||
<span class="c-disclosure-triangle is-enabled flex-elem"
|
<span
|
||||||
|
class="c-disclosure-triangle is-enabled flex-elem"
|
||||||
:class="expandedCssClass"
|
:class="expandedCssClass"
|
||||||
@click="toggleExpanded"
|
@click="toggleExpanded"
|
||||||
>
|
>
|
||||||
</span>
|
</span>
|
||||||
<div class="c-object-label"
|
<div
|
||||||
|
class="c-object-label"
|
||||||
:class="statusClass"
|
:class="statusClass"
|
||||||
>
|
>
|
||||||
<div class="c-object-label__type-icon"
|
<div
|
||||||
|
class="c-object-label__type-icon"
|
||||||
:class="getSeriesClass"
|
:class="getSeriesClass"
|
||||||
>
|
>
|
||||||
<span class="is-status__indicator"
|
<span
|
||||||
|
class="is-status__indicator"
|
||||||
title="This item is missing or suspect"
|
title="This item is missing or suspect"
|
||||||
></span>
|
></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="c-object-label__name">{{ series.domainObject.name }}</div>
|
<div class="c-object-label__name">{{ series.domainObject.name }}</div>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li v-show="expanded"
|
<li
|
||||||
|
v-show="expanded"
|
||||||
class="c-tree__item menus-to-left"
|
class="c-tree__item menus-to-left"
|
||||||
>
|
>
|
||||||
<ul class="grid-properties js-plot-options-browse-properties">
|
<ul class="grid-properties js-plot-options-browse-properties">
|
||||||
<li class="grid-row">
|
<li class="grid-row">
|
||||||
<div class="grid-cell label"
|
<div
|
||||||
|
class="grid-cell label"
|
||||||
title="The field to be plotted as a value for this series."
|
title="The field to be plotted as a value for this series."
|
||||||
>Value</div>
|
>Value</div>
|
||||||
<div class="grid-cell value">
|
<div class="grid-cell value">
|
||||||
@ -34,7 +41,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li class="grid-row">
|
<li class="grid-row">
|
||||||
<div class="grid-cell label"
|
<div
|
||||||
|
class="grid-cell label"
|
||||||
title="The rendering method to join lines for this series."
|
title="The rendering method to join lines for this series."
|
||||||
>Line Method</div>
|
>Line Method</div>
|
||||||
<div class="grid-cell value">{{ {
|
<div class="grid-cell value">{{ {
|
||||||
@ -45,7 +53,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li class="grid-row">
|
<li class="grid-row">
|
||||||
<div class="grid-cell label"
|
<div
|
||||||
|
class="grid-cell label"
|
||||||
title="Whether markers are displayed, and their size."
|
title="Whether markers are displayed, and their size."
|
||||||
>Markers</div>
|
>Markers</div>
|
||||||
<div class="grid-cell value">
|
<div class="grid-cell value">
|
||||||
@ -53,7 +62,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li class="grid-row">
|
<li class="grid-row">
|
||||||
<div class="grid-cell label"
|
<div
|
||||||
|
class="grid-cell label"
|
||||||
title="Display markers visually denoting points in alarm."
|
title="Display markers visually denoting points in alarm."
|
||||||
>Alarm Markers</div>
|
>Alarm Markers</div>
|
||||||
<div class="grid-cell value">
|
<div class="grid-cell value">
|
||||||
@ -61,14 +71,16 @@
|
|||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li class="grid-row">
|
<li class="grid-row">
|
||||||
<div class="grid-cell label"
|
<div
|
||||||
|
class="grid-cell label"
|
||||||
title="Display lines visually denoting alarm limits."
|
title="Display lines visually denoting alarm limits."
|
||||||
>Limit lines</div>
|
>Limit lines</div>
|
||||||
<div class="grid-cell value">
|
<div class="grid-cell value">
|
||||||
{{ limitLines ? "Enabled" : "Disabled" }}
|
{{ limitLines ? "Enabled" : "Disabled" }}
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<ColorSwatch :current-color="seriesHexColor"
|
<ColorSwatch
|
||||||
|
:current-color="seriesHexColor"
|
||||||
edit-title="Manually set the plot line and marker color for this series."
|
edit-title="Manually set the plot line and marker color for this series."
|
||||||
view-title="The plot line and marker color for this series."
|
view-title="The plot line and marker color for this series."
|
||||||
short-label="Color"
|
short-label="Color"
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<li class="grid-row">
|
<li class="grid-row">
|
||||||
<div class="grid-cell label"
|
<div
|
||||||
|
class="grid-cell label"
|
||||||
title="The position of the legend relative to the plot display area."
|
title="The position of the legend relative to the plot display area."
|
||||||
>Position</div>
|
>Position</div>
|
||||||
<div class="grid-cell value">
|
<div class="grid-cell value">
|
||||||
<select v-model="position"
|
<select
|
||||||
|
v-model="position"
|
||||||
@change="updateForm('position')"
|
@change="updateForm('position')"
|
||||||
>
|
>
|
||||||
<option value="top">Top</option>
|
<option value="top">Top</option>
|
||||||
@ -16,29 +18,35 @@
|
|||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li class="grid-row">
|
<li class="grid-row">
|
||||||
<div class="grid-cell label"
|
<div
|
||||||
|
class="grid-cell label"
|
||||||
title="Hide the legend when the plot is small"
|
title="Hide the legend when the plot is small"
|
||||||
>Hide when plot small</div>
|
>Hide when plot small</div>
|
||||||
<div class="grid-cell value"><input v-model="hideLegendWhenSmall"
|
<div class="grid-cell value"><input
|
||||||
|
v-model="hideLegendWhenSmall"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
@change="updateForm('hideLegendWhenSmall')"
|
@change="updateForm('hideLegendWhenSmall')"
|
||||||
></div>
|
></div>
|
||||||
</li>
|
</li>
|
||||||
<li class="grid-row">
|
<li class="grid-row">
|
||||||
<div class="grid-cell label"
|
<div
|
||||||
|
class="grid-cell label"
|
||||||
title="Show the legend expanded by default"
|
title="Show the legend expanded by default"
|
||||||
>Expand by default</div>
|
>Expand by default</div>
|
||||||
<div class="grid-cell value"><input v-model="expandByDefault"
|
<div class="grid-cell value"><input
|
||||||
|
v-model="expandByDefault"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
@change="updateForm('expandByDefault')"
|
@change="updateForm('expandByDefault')"
|
||||||
></div>
|
></div>
|
||||||
</li>
|
</li>
|
||||||
<li class="grid-row">
|
<li class="grid-row">
|
||||||
<div class="grid-cell label"
|
<div
|
||||||
|
class="grid-cell label"
|
||||||
title="What to display in the legend when it's collapsed."
|
title="What to display in the legend when it's collapsed."
|
||||||
>When collapsed show</div>
|
>When collapsed show</div>
|
||||||
<div class="grid-cell value">
|
<div class="grid-cell value">
|
||||||
<select v-model="valueToShowWhenCollapsed"
|
<select
|
||||||
|
v-model="valueToShowWhenCollapsed"
|
||||||
@change="updateForm('valueToShowWhenCollapsed')"
|
@change="updateForm('valueToShowWhenCollapsed')"
|
||||||
>
|
>
|
||||||
<option value="none">Nothing</option>
|
<option value="none">Nothing</option>
|
||||||
@ -51,28 +59,34 @@
|
|||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li class="grid-row">
|
<li class="grid-row">
|
||||||
<div class="grid-cell label"
|
<div
|
||||||
|
class="grid-cell label"
|
||||||
title="What to display in the legend when it's expanded."
|
title="What to display in the legend when it's expanded."
|
||||||
>When expanded show</div>
|
>When expanded show</div>
|
||||||
<div class="grid-cell value">
|
<div class="grid-cell value">
|
||||||
<ul>
|
<ul>
|
||||||
<li><input v-model="showTimestampWhenExpanded"
|
<li><input
|
||||||
|
v-model="showTimestampWhenExpanded"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
@change="updateForm('showTimestampWhenExpanded')"
|
@change="updateForm('showTimestampWhenExpanded')"
|
||||||
> Nearest timestamp</li>
|
> Nearest timestamp</li>
|
||||||
<li><input v-model="showValueWhenExpanded"
|
<li><input
|
||||||
|
v-model="showValueWhenExpanded"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
@change="updateForm('showValueWhenExpanded')"
|
@change="updateForm('showValueWhenExpanded')"
|
||||||
> Nearest value</li>
|
> Nearest value</li>
|
||||||
<li><input v-model="showMinimumWhenExpanded"
|
<li><input
|
||||||
|
v-model="showMinimumWhenExpanded"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
@change="updateForm('showMinimumWhenExpanded')"
|
@change="updateForm('showMinimumWhenExpanded')"
|
||||||
> Minimum value</li>
|
> Minimum value</li>
|
||||||
<li><input v-model="showMaximumWhenExpanded"
|
<li><input
|
||||||
|
v-model="showMaximumWhenExpanded"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
@change="updateForm('showMaximumWhenExpanded')"
|
@change="updateForm('showMaximumWhenExpanded')"
|
||||||
> Maximum value</li>
|
> Maximum value</li>
|
||||||
<li><input v-model="showUnitsWhenExpanded"
|
<li><input
|
||||||
|
v-model="showUnitsWhenExpanded"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
@change="updateForm('showUnitsWhenExpanded')"
|
@change="updateForm('showUnitsWhenExpanded')"
|
||||||
> Units</li>
|
> Units</li>
|
||||||
|
@ -1,37 +1,45 @@
|
|||||||
<template>
|
<template>
|
||||||
<ul>
|
<ul>
|
||||||
<li class="c-tree__item menus-to-left"
|
<li
|
||||||
|
class="c-tree__item menus-to-left"
|
||||||
:class="isAliasCss"
|
:class="isAliasCss"
|
||||||
>
|
>
|
||||||
<span class="c-disclosure-triangle is-enabled flex-elem"
|
<span
|
||||||
|
class="c-disclosure-triangle is-enabled flex-elem"
|
||||||
:class="expandedCssClass"
|
:class="expandedCssClass"
|
||||||
@click="toggleExpanded"
|
@click="toggleExpanded"
|
||||||
>
|
>
|
||||||
</span>
|
</span>
|
||||||
<div :class="objectLabelCss">
|
<div :class="objectLabelCss">
|
||||||
<div class="c-object-label__type-icon"
|
<div
|
||||||
|
class="c-object-label__type-icon"
|
||||||
:class="[seriesCss]"
|
:class="[seriesCss]"
|
||||||
>
|
>
|
||||||
<span class="is-status__indicator"
|
<span
|
||||||
|
class="is-status__indicator"
|
||||||
title="This item is missing or suspect"
|
title="This item is missing or suspect"
|
||||||
></span>
|
></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="c-object-label__name">{{ series.domainObject.name }}</div>
|
<div class="c-object-label__name">{{ series.domainObject.name }}</div>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<ul v-show="expanded"
|
<ul
|
||||||
|
v-show="expanded"
|
||||||
class="grid-properties js-plot-options-edit-properties"
|
class="grid-properties js-plot-options-edit-properties"
|
||||||
>
|
>
|
||||||
<li class="grid-row">
|
<li class="grid-row">
|
||||||
<!-- Value to be displayed -->
|
<!-- Value to be displayed -->
|
||||||
<div class="grid-cell label"
|
<div
|
||||||
|
class="grid-cell label"
|
||||||
title="The field to be plotted as a value for this series."
|
title="The field to be plotted as a value for this series."
|
||||||
>Value</div>
|
>Value</div>
|
||||||
<div class="grid-cell value">
|
<div class="grid-cell value">
|
||||||
<select v-model="yKey"
|
<select
|
||||||
|
v-model="yKey"
|
||||||
@change="updateForm('yKey')"
|
@change="updateForm('yKey')"
|
||||||
>
|
>
|
||||||
<option v-for="option in yKeyOptions"
|
<option
|
||||||
|
v-for="option in yKeyOptions"
|
||||||
:key="option.value"
|
:key="option.value"
|
||||||
:value="option.value"
|
:value="option.value"
|
||||||
:selected="option.value == yKey"
|
:selected="option.value == yKey"
|
||||||
@ -42,11 +50,13 @@
|
|||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li class="grid-row">
|
<li class="grid-row">
|
||||||
<div class="grid-cell label"
|
<div
|
||||||
|
class="grid-cell label"
|
||||||
title="The rendering method to join lines for this series."
|
title="The rendering method to join lines for this series."
|
||||||
>Line Method</div>
|
>Line Method</div>
|
||||||
<div class="grid-cell value">
|
<div class="grid-cell value">
|
||||||
<select v-model="interpolate"
|
<select
|
||||||
|
v-model="interpolate"
|
||||||
@change="updateForm('interpolate')"
|
@change="updateForm('interpolate')"
|
||||||
>
|
>
|
||||||
<option value="none">None</option>
|
<option value="none">None</option>
|
||||||
@ -56,11 +66,13 @@
|
|||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li class="grid-row">
|
<li class="grid-row">
|
||||||
<div class="grid-cell label"
|
<div
|
||||||
|
class="grid-cell label"
|
||||||
title="Whether markers are displayed."
|
title="Whether markers are displayed."
|
||||||
>Markers</div>
|
>Markers</div>
|
||||||
<div class="grid-cell value">
|
<div class="grid-cell value">
|
||||||
<input v-model="markers"
|
<input
|
||||||
|
v-model="markers"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
@change="updateForm('markers')"
|
@change="updateForm('markers')"
|
||||||
>
|
>
|
||||||
@ -81,43 +93,52 @@
|
|||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li class="grid-row">
|
<li class="grid-row">
|
||||||
<div class="grid-cell label"
|
<div
|
||||||
|
class="grid-cell label"
|
||||||
title="Display markers visually denoting points in alarm."
|
title="Display markers visually denoting points in alarm."
|
||||||
>Alarm Markers</div>
|
>Alarm Markers</div>
|
||||||
<div class="grid-cell value">
|
<div class="grid-cell value">
|
||||||
<input v-model="alarmMarkers"
|
<input
|
||||||
|
v-model="alarmMarkers"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
@change="updateForm('alarmMarkers')"
|
@change="updateForm('alarmMarkers')"
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li class="grid-row">
|
<li class="grid-row">
|
||||||
<div class="grid-cell label"
|
<div
|
||||||
|
class="grid-cell label"
|
||||||
title="Display limit lines"
|
title="Display limit lines"
|
||||||
>Limit lines</div>
|
>Limit lines</div>
|
||||||
<div class="grid-cell value">
|
<div class="grid-cell value">
|
||||||
<input v-model="limitLines"
|
<input
|
||||||
|
v-model="limitLines"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
@change="updateForm('limitLines')"
|
@change="updateForm('limitLines')"
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li v-show="markers || alarmMarkers"
|
<li
|
||||||
|
v-show="markers || alarmMarkers"
|
||||||
class="grid-row"
|
class="grid-row"
|
||||||
>
|
>
|
||||||
<div class="grid-cell label"
|
<div
|
||||||
|
class="grid-cell label"
|
||||||
title="The size of regular and alarm markers for this series."
|
title="The size of regular and alarm markers for this series."
|
||||||
>Marker Size:</div>
|
>Marker Size:</div>
|
||||||
<div class="grid-cell value"><input v-model="markerSize"
|
<div class="grid-cell value"><input
|
||||||
|
v-model="markerSize"
|
||||||
class="c-input--flex"
|
class="c-input--flex"
|
||||||
type="text"
|
type="text"
|
||||||
@change="updateForm('markerSize')"
|
@change="updateForm('markerSize')"
|
||||||
></div>
|
></div>
|
||||||
</li>
|
</li>
|
||||||
<li v-show="interpolate !== 'none' || markers"
|
<li
|
||||||
|
v-show="interpolate !== 'none' || markers"
|
||||||
class="grid-row"
|
class="grid-row"
|
||||||
>
|
>
|
||||||
<ColorSwatch :current-color="currentColor"
|
<ColorSwatch
|
||||||
|
:current-color="currentColor"
|
||||||
edit-title="Manually set the plot line and marker color for this series."
|
edit-title="Manually set the plot line and marker color for this series."
|
||||||
view-title="The plot line and marker color for this series."
|
view-title="The plot line and marker color for this series."
|
||||||
short-label="Color"
|
short-label="Color"
|
||||||
|
@ -3,10 +3,12 @@
|
|||||||
<ul class="l-inspector-part">
|
<ul class="l-inspector-part">
|
||||||
<h2>Y Axis</h2>
|
<h2>Y Axis</h2>
|
||||||
<li class="grid-row">
|
<li class="grid-row">
|
||||||
<div class="grid-cell label"
|
<div
|
||||||
|
class="grid-cell label"
|
||||||
title="Manually override how the Y axis is labeled."
|
title="Manually override how the Y axis is labeled."
|
||||||
>Label</div>
|
>Label</div>
|
||||||
<div class="grid-cell value"><input v-model="label"
|
<div class="grid-cell value"><input
|
||||||
|
v-model="label"
|
||||||
class="c-input--flex"
|
class="c-input--flex"
|
||||||
type="text"
|
type="text"
|
||||||
@change="updateForm('label')"
|
@change="updateForm('label')"
|
||||||
@ -16,23 +18,28 @@
|
|||||||
<ul class="l-inspector-part">
|
<ul class="l-inspector-part">
|
||||||
<h2>Y Axis Scaling</h2>
|
<h2>Y Axis Scaling</h2>
|
||||||
<li class="grid-row">
|
<li class="grid-row">
|
||||||
<div class="grid-cell label"
|
<div
|
||||||
|
class="grid-cell label"
|
||||||
title="Automatically scale the Y axis to keep all values in view."
|
title="Automatically scale the Y axis to keep all values in view."
|
||||||
>Auto scale</div>
|
>Auto scale</div>
|
||||||
<div class="grid-cell value"><input v-model="autoscale"
|
<div class="grid-cell value"><input
|
||||||
|
v-model="autoscale"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
@change="updateForm('autoscale')"
|
@change="updateForm('autoscale')"
|
||||||
></div>
|
></div>
|
||||||
</li>
|
</li>
|
||||||
<li v-show="autoscale"
|
<li
|
||||||
|
v-show="autoscale"
|
||||||
class="grid-row"
|
class="grid-row"
|
||||||
>
|
>
|
||||||
<div class="grid-cell label"
|
<div
|
||||||
|
class="grid-cell label"
|
||||||
title="Percentage of padding above and below plotted min and max values. 0.1, 1.0, etc."
|
title="Percentage of padding above and below plotted min and max values. 0.1, 1.0, etc."
|
||||||
>
|
>
|
||||||
Padding</div>
|
Padding</div>
|
||||||
<div class="grid-cell value">
|
<div class="grid-cell value">
|
||||||
<input v-model="autoscalePadding"
|
<input
|
||||||
|
v-model="autoscalePadding"
|
||||||
class="c-input--flex"
|
class="c-input--flex"
|
||||||
type="text"
|
type="text"
|
||||||
@change="updateForm('autoscalePadding')"
|
@change="updateForm('autoscalePadding')"
|
||||||
@ -40,20 +47,24 @@
|
|||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<ul v-show="!autoscale"
|
<ul
|
||||||
|
v-show="!autoscale"
|
||||||
class="l-inspector-part"
|
class="l-inspector-part"
|
||||||
>
|
>
|
||||||
<div v-show="!autoscale && validation.range"
|
<div
|
||||||
|
v-show="!autoscale && validation.range"
|
||||||
class="grid-span-all form-error"
|
class="grid-span-all form-error"
|
||||||
>
|
>
|
||||||
{{ validation.range }}
|
{{ validation.range }}
|
||||||
</div>
|
</div>
|
||||||
<li class="grid-row force-border">
|
<li class="grid-row force-border">
|
||||||
<div class="grid-cell label"
|
<div
|
||||||
|
class="grid-cell label"
|
||||||
title="Minimum Y axis value."
|
title="Minimum Y axis value."
|
||||||
>Minimum Value</div>
|
>Minimum Value</div>
|
||||||
<div class="grid-cell value">
|
<div class="grid-cell value">
|
||||||
<input v-model="rangeMin"
|
<input
|
||||||
|
v-model="rangeMin"
|
||||||
class="c-input--flex"
|
class="c-input--flex"
|
||||||
type="number"
|
type="number"
|
||||||
@change="updateForm('range')"
|
@change="updateForm('range')"
|
||||||
@ -61,10 +72,12 @@
|
|||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li class="grid-row">
|
<li class="grid-row">
|
||||||
<div class="grid-cell label"
|
<div
|
||||||
|
class="grid-cell label"
|
||||||
title="Maximum Y axis value."
|
title="Maximum Y axis value."
|
||||||
>Maximum Value</div>
|
>Maximum Value</div>
|
||||||
<div class="grid-cell value"><input v-model="rangeMax"
|
<div class="grid-cell value"><input
|
||||||
|
v-model="rangeMax"
|
||||||
class="c-input--flex"
|
class="c-input--flex"
|
||||||
type="number"
|
type="number"
|
||||||
@change="updateForm('range')"
|
@change="updateForm('range')"
|
||||||
|
@ -20,30 +20,36 @@
|
|||||||
at runtime from the About dialog for additional information.
|
at runtime from the About dialog for additional information.
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<div class="c-plot-legend gl-plot-legend"
|
<div
|
||||||
|
class="c-plot-legend gl-plot-legend"
|
||||||
:class="{
|
:class="{
|
||||||
'hover-on-plot': !!highlights.length,
|
'hover-on-plot': !!highlights.length,
|
||||||
'is-legend-hidden': isLegendHidden
|
'is-legend-hidden': isLegendHidden
|
||||||
}"
|
}"
|
||||||
>
|
>
|
||||||
<div class="c-plot-legend__view-control gl-plot-legend__view-control c-disclosure-triangle is-enabled"
|
<div
|
||||||
|
class="c-plot-legend__view-control gl-plot-legend__view-control c-disclosure-triangle is-enabled"
|
||||||
:class="{ 'c-disclosure-triangle--expanded': isLegendExpanded }"
|
:class="{ 'c-disclosure-triangle--expanded': isLegendExpanded }"
|
||||||
@click="expandLegend"
|
@click="expandLegend"
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="c-plot-legend__wrapper"
|
<div
|
||||||
|
class="c-plot-legend__wrapper"
|
||||||
:class="{ 'is-cursor-locked': cursorLocked }"
|
:class="{ 'is-cursor-locked': cursorLocked }"
|
||||||
>
|
>
|
||||||
|
|
||||||
<!-- COLLAPSED PLOT LEGEND -->
|
<!-- COLLAPSED PLOT LEGEND -->
|
||||||
<div class="plot-wrapper-collapsed-legend"
|
<div
|
||||||
|
class="plot-wrapper-collapsed-legend"
|
||||||
:class="{'is-cursor-locked': cursorLocked }"
|
:class="{'is-cursor-locked': cursorLocked }"
|
||||||
>
|
>
|
||||||
<div class="c-state-indicator__alert-cursor-lock icon-cursor-lock"
|
<div
|
||||||
|
class="c-state-indicator__alert-cursor-lock icon-cursor-lock"
|
||||||
title="Cursor is point locked. Click anywhere in the plot to unlock."
|
title="Cursor is point locked. Click anywhere in the plot to unlock."
|
||||||
></div>
|
></div>
|
||||||
<plot-legend-item-collapsed v-for="seriesObject in series"
|
<plot-legend-item-collapsed
|
||||||
|
v-for="seriesObject in series"
|
||||||
:key="seriesObject.keyString"
|
:key="seriesObject.keyString"
|
||||||
:highlights="highlights"
|
:highlights="highlights"
|
||||||
:value-to-show-when-collapsed="legend.get('valueToShowWhenCollapsed')"
|
:value-to-show-when-collapsed="legend.get('valueToShowWhenCollapsed')"
|
||||||
@ -52,10 +58,12 @@
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<!-- EXPANDED PLOT LEGEND -->
|
<!-- EXPANDED PLOT LEGEND -->
|
||||||
<div class="plot-wrapper-expanded-legend"
|
<div
|
||||||
|
class="plot-wrapper-expanded-legend"
|
||||||
:class="{'is-cursor-locked': cursorLocked }"
|
:class="{'is-cursor-locked': cursorLocked }"
|
||||||
>
|
>
|
||||||
<div class="c-state-indicator__alert-cursor-lock--verbose icon-cursor-lock"
|
<div
|
||||||
|
class="c-state-indicator__alert-cursor-lock--verbose icon-cursor-lock"
|
||||||
title="Click anywhere in the plot to unlock."
|
title="Click anywhere in the plot to unlock."
|
||||||
> Cursor locked to point</div>
|
> Cursor locked to point</div>
|
||||||
<table>
|
<table>
|
||||||
@ -71,12 +79,14 @@
|
|||||||
<th v-if="showUnitsWhenExpanded">
|
<th v-if="showUnitsWhenExpanded">
|
||||||
Unit
|
Unit
|
||||||
</th>
|
</th>
|
||||||
<th v-if="showMinimumWhenExpanded"
|
<th
|
||||||
|
v-if="showMinimumWhenExpanded"
|
||||||
class="mobile-hide"
|
class="mobile-hide"
|
||||||
>
|
>
|
||||||
Min
|
Min
|
||||||
</th>
|
</th>
|
||||||
<th v-if="showMaximumWhenExpanded"
|
<th
|
||||||
|
v-if="showMaximumWhenExpanded"
|
||||||
class="mobile-hide"
|
class="mobile-hide"
|
||||||
>
|
>
|
||||||
Max
|
Max
|
||||||
@ -84,7 +94,8 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<plot-legend-item-expanded v-for="seriesObject in series"
|
<plot-legend-item-expanded
|
||||||
|
v-for="seriesObject in series"
|
||||||
:key="seriesObject.keyString"
|
:key="seriesObject.keyString"
|
||||||
:series-object="seriesObject"
|
:series-object="seriesObject"
|
||||||
:highlights="highlights"
|
:highlights="highlights"
|
||||||
|
@ -20,7 +20,8 @@
|
|||||||
at runtime from the About dialog for additional information.
|
at runtime from the About dialog for additional information.
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<div class="plot-legend-item"
|
<div
|
||||||
|
class="plot-legend-item"
|
||||||
:class="{
|
:class="{
|
||||||
'is-status--missing': isMissing
|
'is-status--missing': isMissing
|
||||||
}"
|
}"
|
||||||
@ -28,16 +29,19 @@
|
|||||||
@mouseleave="toggleHover(false)"
|
@mouseleave="toggleHover(false)"
|
||||||
>
|
>
|
||||||
<div class="plot-series-swatch-and-name">
|
<div class="plot-series-swatch-and-name">
|
||||||
<span class="plot-series-color-swatch"
|
<span
|
||||||
|
class="plot-series-color-swatch"
|
||||||
:style="{ 'background-color': colorAsHexString }"
|
:style="{ 'background-color': colorAsHexString }"
|
||||||
>
|
>
|
||||||
</span>
|
</span>
|
||||||
<span class="is-status__indicator"
|
<span
|
||||||
|
class="is-status__indicator"
|
||||||
title="This item is missing or suspect"
|
title="This item is missing or suspect"
|
||||||
></span>
|
></span>
|
||||||
<span class="plot-series-name">{{ nameWithUnit }}</span>
|
<span class="plot-series-name">{{ nameWithUnit }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div v-show="!!highlights.length && (valueToShowWhenCollapsed !== 'none')"
|
<div
|
||||||
|
v-show="!!highlights.length && (valueToShowWhenCollapsed !== 'none')"
|
||||||
class="plot-series-value hover-value-enabled"
|
class="plot-series-value hover-value-enabled"
|
||||||
:class="[{ 'cursor-hover': notNearest }, valueToDisplayWhenCollapsedClass, mctLimitStateClass]"
|
:class="[{ 'cursor-hover': notNearest }, valueToDisplayWhenCollapsedClass, mctLimitStateClass]"
|
||||||
>
|
>
|
||||||
|
@ -29,11 +29,13 @@
|
|||||||
@mouseleave="toggleHover(false)"
|
@mouseleave="toggleHover(false)"
|
||||||
>
|
>
|
||||||
<td class="plot-series-swatch-and-name">
|
<td class="plot-series-swatch-and-name">
|
||||||
<span class="plot-series-color-swatch"
|
<span
|
||||||
|
class="plot-series-color-swatch"
|
||||||
:style="{ 'background-color': colorAsHexString }"
|
:style="{ 'background-color': colorAsHexString }"
|
||||||
>
|
>
|
||||||
</span>
|
</span>
|
||||||
<span class="is-status__indicator"
|
<span
|
||||||
|
class="is-status__indicator"
|
||||||
title="This item is missing or suspect"
|
title="This item is missing or suspect"
|
||||||
></span>
|
></span>
|
||||||
<span class="plot-series-name">{{ name }}</span>
|
<span class="plot-series-name">{{ name }}</span>
|
||||||
@ -45,7 +47,8 @@
|
|||||||
</span>
|
</span>
|
||||||
</td>
|
</td>
|
||||||
<td v-if="showValueWhenExpanded">
|
<td v-if="showValueWhenExpanded">
|
||||||
<span class="plot-series-value cursor-hover hover-value-enabled"
|
<span
|
||||||
|
class="plot-series-value cursor-hover hover-value-enabled"
|
||||||
:class="[mctLimitStateClass]"
|
:class="[mctLimitStateClass]"
|
||||||
>
|
>
|
||||||
{{ formattedYValue }}
|
{{ formattedYValue }}
|
||||||
@ -56,14 +59,16 @@
|
|||||||
{{ unit }}
|
{{ unit }}
|
||||||
</span>
|
</span>
|
||||||
</td>
|
</td>
|
||||||
<td v-if="showMinimumWhenExpanded"
|
<td
|
||||||
|
v-if="showMinimumWhenExpanded"
|
||||||
class="mobile-hide"
|
class="mobile-hide"
|
||||||
>
|
>
|
||||||
<span class="plot-series-value">
|
<span class="plot-series-value">
|
||||||
{{ formattedMinY }}
|
{{ formattedMinY }}
|
||||||
</span>
|
</span>
|
||||||
</td>
|
</td>
|
||||||
<td v-if="showMaximumWhenExpanded"
|
<td
|
||||||
|
v-if="showMaximumWhenExpanded"
|
||||||
class="mobile-hide"
|
class="mobile-hide"
|
||||||
>
|
>
|
||||||
<span class="plot-series-value">
|
<span class="plot-series-value">
|
||||||
|
@ -22,30 +22,35 @@
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="c-plot c-plot--stacked holder holder-plot has-control-bar">
|
<div class="c-plot c-plot--stacked holder holder-plot has-control-bar">
|
||||||
<div v-show="!hideExportButtons && !options.compact"
|
<div
|
||||||
|
v-show="!hideExportButtons && !options.compact"
|
||||||
class="c-control-bar"
|
class="c-control-bar"
|
||||||
>
|
>
|
||||||
<span class="c-button-set c-button-set--strip-h">
|
<span class="c-button-set c-button-set--strip-h">
|
||||||
<button class="c-button icon-download"
|
<button
|
||||||
|
class="c-button icon-download"
|
||||||
title="Export This View's Data as PNG"
|
title="Export This View's Data as PNG"
|
||||||
@click="exportPNG()"
|
@click="exportPNG()"
|
||||||
>
|
>
|
||||||
<span class="c-button__label">PNG</span>
|
<span class="c-button__label">PNG</span>
|
||||||
</button>
|
</button>
|
||||||
<button class="c-button"
|
<button
|
||||||
|
class="c-button"
|
||||||
title="Export This View's Data as JPG"
|
title="Export This View's Data as JPG"
|
||||||
@click="exportJPG()"
|
@click="exportJPG()"
|
||||||
>
|
>
|
||||||
<span class="c-button__label">JPG</span>
|
<span class="c-button__label">JPG</span>
|
||||||
</button>
|
</button>
|
||||||
</span>
|
</span>
|
||||||
<button class="c-button icon-crosshair"
|
<button
|
||||||
|
class="c-button icon-crosshair"
|
||||||
:class="{ 'is-active': cursorGuide }"
|
:class="{ 'is-active': cursorGuide }"
|
||||||
title="Toggle cursor guides"
|
title="Toggle cursor guides"
|
||||||
@click="toggleCursorGuide"
|
@click="toggleCursorGuide"
|
||||||
>
|
>
|
||||||
</button>
|
</button>
|
||||||
<button class="c-button"
|
<button
|
||||||
|
class="c-button"
|
||||||
:class="{ 'icon-grid-on': gridLines, 'icon-grid-off': !gridLines }"
|
:class="{ 'icon-grid-on': gridLines, 'icon-grid-off': !gridLines }"
|
||||||
title="Toggle grid lines"
|
title="Toggle grid lines"
|
||||||
@click="toggleGridLines"
|
@click="toggleGridLines"
|
||||||
@ -53,7 +58,8 @@
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="l-view-section">
|
<div class="l-view-section">
|
||||||
<stacked-plot-item v-for="object in compositionObjects"
|
<stacked-plot-item
|
||||||
|
v-for="object in compositionObjects"
|
||||||
:key="object.id"
|
:key="object.id"
|
||||||
class="c-plot--stacked-container"
|
class="c-plot--stacked-container"
|
||||||
:object="object"
|
:object="object"
|
||||||
|
@ -37,16 +37,19 @@
|
|||||||
class="c-tabs-view__tab__label c-object-label"
|
class="c-tabs-view__tab__label c-object-label"
|
||||||
:class="[tab.status ? `is-status--${tab.status}` : '']"
|
:class="[tab.status ? `is-status--${tab.status}` : '']"
|
||||||
>
|
>
|
||||||
<div class="c-object-label__type-icon"
|
<div
|
||||||
|
class="c-object-label__type-icon"
|
||||||
:class="tab.type.definition.cssClass"
|
:class="tab.type.definition.cssClass"
|
||||||
>
|
>
|
||||||
<span class="is-status__indicator"
|
<span
|
||||||
|
class="is-status__indicator"
|
||||||
:title="`This item is ${tab.status}`"
|
:title="`This item is ${tab.status}`"
|
||||||
></span>
|
></span>
|
||||||
</div>
|
</div>
|
||||||
<span class="c-button__label c-object-label__name">{{ tab.domainObject.name }}</span>
|
<span class="c-button__label c-object-label__name">{{ tab.domainObject.name }}</span>
|
||||||
</div>
|
</div>
|
||||||
<button v-if="isEditing"
|
<button
|
||||||
|
v-if="isEditing"
|
||||||
class="icon-x c-click-icon c-tabs-view__tab__close-btn"
|
class="icon-x c-click-icon c-tabs-view__tab__close-btn"
|
||||||
@click="showRemoveDialog(index)"
|
@click="showRemoveDialog(index)"
|
||||||
></button>
|
></button>
|
||||||
|
@ -20,10 +20,12 @@
|
|||||||
* at runtime from the About dialog for additional information.
|
* at runtime from the About dialog for additional information.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
<template>
|
<template>
|
||||||
<div class="c-table-wrapper"
|
<div
|
||||||
|
class="c-table-wrapper"
|
||||||
:class="{ 'is-paused': paused }"
|
:class="{ 'is-paused': paused }"
|
||||||
>
|
>
|
||||||
<div v-if="enableLegacyToolbar"
|
<div
|
||||||
|
v-if="enableLegacyToolbar"
|
||||||
class="c-table-control-bar c-control-bar"
|
class="c-table-control-bar c-control-bar"
|
||||||
>
|
>
|
||||||
<button
|
<button
|
||||||
@ -95,7 +97,8 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- alternate controlbar start -->
|
<!-- alternate controlbar start -->
|
||||||
<div v-if="marking.useAlternateControlBar"
|
<div
|
||||||
|
v-if="marking.useAlternateControlBar"
|
||||||
class="c-table-control-bar c-control-bar"
|
class="c-table-control-bar c-control-bar"
|
||||||
>
|
>
|
||||||
<div class="c-control-bar__label">
|
<div class="c-control-bar__label">
|
||||||
|
@ -30,10 +30,12 @@
|
|||||||
]"
|
]"
|
||||||
>
|
>
|
||||||
<div class="c-conductor__time-bounds">
|
<div class="c-conductor__time-bounds">
|
||||||
<conductor-inputs-fixed v-if="isFixed"
|
<conductor-inputs-fixed
|
||||||
|
v-if="isFixed"
|
||||||
@updated="saveFixedOffsets"
|
@updated="saveFixedOffsets"
|
||||||
/>
|
/>
|
||||||
<conductor-inputs-realtime v-else
|
<conductor-inputs-realtime
|
||||||
|
v-else
|
||||||
@updated="saveClockOffsets"
|
@updated="saveClockOffsets"
|
||||||
/>
|
/>
|
||||||
<ConductorModeIcon class="c-conductor__mode-icon" />
|
<ConductorModeIcon class="c-conductor__mode-icon" />
|
||||||
|
@ -20,7 +20,8 @@
|
|||||||
* at runtime from the About dialog for additional information.
|
* at runtime from the About dialog for additional information.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
<template>
|
<template>
|
||||||
<div ref="historyButton"
|
<div
|
||||||
|
ref="historyButton"
|
||||||
class="c-ctrl-wrapper c-ctrl-wrapper--menus-up"
|
class="c-ctrl-wrapper c-ctrl-wrapper--menus-up"
|
||||||
>
|
>
|
||||||
<div class="c-menu-button c-ctrl-wrapper c-ctrl-wrapper--menus-left">
|
<div class="c-menu-button c-ctrl-wrapper c-ctrl-wrapper--menus-left">
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<form ref="fixedDeltaInput"
|
<form
|
||||||
|
ref="fixedDeltaInput"
|
||||||
class="c-conductor__inputs"
|
class="c-conductor__inputs"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<form ref="deltaInput"
|
<form
|
||||||
|
ref="deltaInput"
|
||||||
class="c-conductor__inputs"
|
class="c-conductor__inputs"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
|
@ -20,7 +20,8 @@
|
|||||||
* at runtime from the About dialog for additional information.
|
* at runtime from the About dialog for additional information.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
<template>
|
<template>
|
||||||
<div ref="modeButton"
|
<div
|
||||||
|
ref="modeButton"
|
||||||
class="c-ctrl-wrapper c-ctrl-wrapper--menus-up"
|
class="c-ctrl-wrapper c-ctrl-wrapper--menus-up"
|
||||||
>
|
>
|
||||||
<div class="c-menu-button c-ctrl-wrapper c-ctrl-wrapper--menus-left">
|
<div class="c-menu-button c-ctrl-wrapper c-ctrl-wrapper--menus-left">
|
||||||
|
@ -20,7 +20,8 @@
|
|||||||
* at runtime from the About dialog for additional information.
|
* at runtime from the About dialog for additional information.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
<template>
|
<template>
|
||||||
<div v-if="selectedTimeSystem.name"
|
<div
|
||||||
|
v-if="selectedTimeSystem.name"
|
||||||
ref="timeSystemButton"
|
ref="timeSystemButton"
|
||||||
class="c-ctrl-wrapper c-ctrl-wrapper--menus-up"
|
class="c-ctrl-wrapper c-ctrl-wrapper--menus-up"
|
||||||
>
|
>
|
||||||
|
@ -36,10 +36,12 @@
|
|||||||
|
|
||||||
<ConductorModeIcon />
|
<ConductorModeIcon />
|
||||||
|
|
||||||
<div v-if="timeOptions && independentTCEnabled"
|
<div
|
||||||
|
v-if="timeOptions && independentTCEnabled"
|
||||||
class="c-conductor__controls"
|
class="c-conductor__controls"
|
||||||
>
|
>
|
||||||
<Mode v-if="mode"
|
<Mode
|
||||||
|
v-if="mode"
|
||||||
class="c-conductor__mode-select"
|
class="c-conductor__mode-select"
|
||||||
:key-string="domainObject.identifier.key"
|
:key-string="domainObject.identifier.key"
|
||||||
:mode="timeOptions.mode"
|
:mode="timeOptions.mode"
|
||||||
@ -47,12 +49,14 @@
|
|||||||
@modeChanged="saveMode"
|
@modeChanged="saveMode"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<conductor-inputs-fixed v-if="isFixed"
|
<conductor-inputs-fixed
|
||||||
|
v-if="isFixed"
|
||||||
:key-string="domainObject.identifier.key"
|
:key-string="domainObject.identifier.key"
|
||||||
@updated="saveFixedOffsets"
|
@updated="saveFixedOffsets"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<conductor-inputs-realtime v-else
|
<conductor-inputs-realtime
|
||||||
|
v-else
|
||||||
:key-string="domainObject.identifier.key"
|
:key-string="domainObject.identifier.key"
|
||||||
@updated="saveClockOffsets"
|
@updated="saveClockOffsets"
|
||||||
/>
|
/>
|
||||||
|
@ -20,12 +20,14 @@
|
|||||||
* at runtime from the About dialog for additional information.
|
* at runtime from the About dialog for additional information.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
<template>
|
<template>
|
||||||
<div v-if="modes.length > 1"
|
<div
|
||||||
|
v-if="modes.length > 1"
|
||||||
ref="modeMenuButton"
|
ref="modeMenuButton"
|
||||||
class="c-ctrl-wrapper c-ctrl-wrapper--menus-up"
|
class="c-ctrl-wrapper c-ctrl-wrapper--menus-up"
|
||||||
>
|
>
|
||||||
<div class="c-menu-button c-ctrl-wrapper c-ctrl-wrapper--menus-left">
|
<div class="c-menu-button c-ctrl-wrapper c-ctrl-wrapper--menus-left">
|
||||||
<button v-if="selectedMode"
|
<button
|
||||||
|
v-if="selectedMode"
|
||||||
class="c-button--menu c-mode-button"
|
class="c-button--menu c-mode-button"
|
||||||
@click.prevent.stop="showModesMenu"
|
@click.prevent.stop="showModesMenu"
|
||||||
>
|
>
|
||||||
|
@ -70,7 +70,8 @@
|
|||||||
:disabled="isDisabled"
|
:disabled="isDisabled"
|
||||||
@click.prevent="submit"
|
@click.prevent="submit"
|
||||||
></button>
|
></button>
|
||||||
<button class="c-button icon-x"
|
<button
|
||||||
|
class="c-button icon-x"
|
||||||
@click.prevent="hide"
|
@click.prevent="hide"
|
||||||
></button>
|
></button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -20,7 +20,8 @@
|
|||||||
* at runtime from the About dialog for additional information.
|
* at runtime from the About dialog for additional information.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
<template>
|
<template>
|
||||||
<swim-lane :icon-class="item.type.definition.cssClass"
|
<swim-lane
|
||||||
|
:icon-class="item.type.definition.cssClass"
|
||||||
:status="status"
|
:status="status"
|
||||||
:min-height="item.height"
|
:min-height="item.height"
|
||||||
:show-ucontents="item.domainObject.type === 'plan'"
|
:show-ucontents="item.domainObject.type === 'plan'"
|
||||||
|
@ -21,17 +21,20 @@
|
|||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div ref="timelineHolder"
|
<div
|
||||||
|
ref="timelineHolder"
|
||||||
class="c-timeline-holder"
|
class="c-timeline-holder"
|
||||||
>
|
>
|
||||||
<swim-lane v-for="timeSystemItem in timeSystems"
|
<swim-lane
|
||||||
|
v-for="timeSystemItem in timeSystems"
|
||||||
:key="timeSystemItem.timeSystem.key"
|
:key="timeSystemItem.timeSystem.key"
|
||||||
>
|
>
|
||||||
<template slot="label">
|
<template slot="label">
|
||||||
{{ timeSystemItem.timeSystem.name }}
|
{{ timeSystemItem.timeSystem.name }}
|
||||||
</template>
|
</template>
|
||||||
<template slot="object">
|
<template slot="object">
|
||||||
<timeline-axis :bounds="timeSystemItem.bounds"
|
<timeline-axis
|
||||||
|
:bounds="timeSystemItem.bounds"
|
||||||
:time-system="timeSystemItem.timeSystem"
|
:time-system="timeSystemItem.timeSystem"
|
||||||
:content-height="height"
|
:content-height="height"
|
||||||
:rendering-engine="'svg'"
|
:rendering-engine="'svg'"
|
||||||
@ -40,7 +43,8 @@
|
|||||||
|
|
||||||
</swim-lane>
|
</swim-lane>
|
||||||
|
|
||||||
<div ref="contentHolder"
|
<div
|
||||||
|
ref="contentHolder"
|
||||||
class="c-timeline__objects"
|
class="c-timeline__objects"
|
||||||
>
|
>
|
||||||
<timeline-object-view
|
<timeline-object-view
|
||||||
|
@ -32,7 +32,8 @@
|
|||||||
:class="[{'hide': timerState === 'stopped' }]"
|
:class="[{'hide': timerState === 'stopped' }]"
|
||||||
@click="restartTimer"
|
@click="restartTimer"
|
||||||
></button>
|
></button>
|
||||||
<button :title="timerStateButtonText"
|
<button
|
||||||
|
:title="timerStateButtonText"
|
||||||
class="c-timer__ctrl-pause-play c-icon-button c-icon-button--major"
|
class="c-timer__ctrl-pause-play c-icon-button c-icon-button--major"
|
||||||
:class="[timerStateButtonIcon]"
|
:class="[timerStateButtonIcon]"
|
||||||
@click="toggleStateButton"
|
@click="toggleStateButton"
|
||||||
|
@ -21,30 +21,37 @@
|
|||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<div class="u-contents">
|
<div class="u-contents">
|
||||||
<div v-if="canEdit"
|
<div
|
||||||
|
v-if="canEdit"
|
||||||
class="grid-row"
|
class="grid-row"
|
||||||
>
|
>
|
||||||
<div class="grid-cell label"
|
<div
|
||||||
|
class="grid-cell label"
|
||||||
:title="editTitle"
|
:title="editTitle"
|
||||||
>{{ shortLabel }}</div>
|
>{{ shortLabel }}</div>
|
||||||
<div class="grid-cell value">
|
<div class="grid-cell value">
|
||||||
<div class="c-click-swatch c-click-swatch--menu"
|
<div
|
||||||
|
class="c-click-swatch c-click-swatch--menu"
|
||||||
@click="toggleSwatch()"
|
@click="toggleSwatch()"
|
||||||
>
|
>
|
||||||
<span class="c-color-swatch"
|
<span
|
||||||
|
class="c-color-swatch"
|
||||||
:style="{ background: currentColor }"
|
:style="{ background: currentColor }"
|
||||||
>
|
>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="c-palette c-palette--color">
|
<div class="c-palette c-palette--color">
|
||||||
<div v-show="swatchActive"
|
<div
|
||||||
|
v-show="swatchActive"
|
||||||
class="c-palette__items"
|
class="c-palette__items"
|
||||||
>
|
>
|
||||||
<div v-for="group in colorPaletteGroups"
|
<div
|
||||||
|
v-for="group in colorPaletteGroups"
|
||||||
:key="group.id"
|
:key="group.id"
|
||||||
class="u-contents"
|
class="u-contents"
|
||||||
>
|
>
|
||||||
<div v-for="color in group"
|
<div
|
||||||
|
v-for="color in group"
|
||||||
:key="color.id"
|
:key="color.id"
|
||||||
class="c-palette__item"
|
class="c-palette__item"
|
||||||
:class="{ 'selected': currentColor === color.hexString }"
|
:class="{ 'selected': currentColor === color.hexString }"
|
||||||
@ -57,14 +64,17 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-else
|
<div
|
||||||
|
v-else
|
||||||
class="grid-row"
|
class="grid-row"
|
||||||
>
|
>
|
||||||
<div class="grid-cell label"
|
<div
|
||||||
|
class="grid-cell label"
|
||||||
:title="viewTitle"
|
:title="viewTitle"
|
||||||
>{{ shortLabel }}</div>
|
>{{ shortLabel }}</div>
|
||||||
<div class="grid-cell value">
|
<div class="grid-cell value">
|
||||||
<span class="c-color-swatch"
|
<span
|
||||||
|
class="c-color-swatch"
|
||||||
:style="{
|
:style="{
|
||||||
'background': currentColor
|
'background': currentColor
|
||||||
}"
|
}"
|
||||||
|
@ -34,13 +34,16 @@
|
|||||||
<div
|
<div
|
||||||
class="c-so-view__header"
|
class="c-so-view__header"
|
||||||
>
|
>
|
||||||
<div class="c-object-label"
|
<div
|
||||||
|
class="c-object-label"
|
||||||
:class="[ statusClass ]"
|
:class="[ statusClass ]"
|
||||||
>
|
>
|
||||||
<div class="c-object-label__type-icon"
|
<div
|
||||||
|
class="c-object-label__type-icon"
|
||||||
:class="cssClass"
|
:class="cssClass"
|
||||||
>
|
>
|
||||||
<span class="is-status__indicator"
|
<span
|
||||||
|
class="is-status__indicator"
|
||||||
:title="`This item is ${status}`"
|
:title="`This item is ${status}`"
|
||||||
></span>
|
></span>
|
||||||
</div>
|
</div>
|
||||||
@ -56,12 +59,14 @@
|
|||||||
'has-complex-content': complexContent
|
'has-complex-content': complexContent
|
||||||
}"
|
}"
|
||||||
>
|
>
|
||||||
<NotebookMenuSwitcher v-if="notebookEnabled"
|
<NotebookMenuSwitcher
|
||||||
|
v-if="notebookEnabled"
|
||||||
:domain-object="domainObject"
|
:domain-object="domainObject"
|
||||||
:object-path="objectPath"
|
:object-path="objectPath"
|
||||||
class="c-notebook-snapshot-menubutton"
|
class="c-notebook-snapshot-menubutton"
|
||||||
/>
|
/>
|
||||||
<div v-if="statusBarItems.length > 0"
|
<div
|
||||||
|
v-if="statusBarItems.length > 0"
|
||||||
class="c-so-view__frame-controls__btns"
|
class="c-so-view__frame-controls__btns"
|
||||||
>
|
>
|
||||||
<button
|
<button
|
||||||
|
@ -10,7 +10,8 @@
|
|||||||
class="c-tree__item__type-icon c-object-label__type-icon"
|
class="c-tree__item__type-icon c-object-label__type-icon"
|
||||||
:class="typeClass"
|
:class="typeClass"
|
||||||
>
|
>
|
||||||
<span class="is-status__indicator"
|
<span
|
||||||
|
class="is-status__indicator"
|
||||||
:title="`This item is ${status}`"
|
:title="`This item is ${status}`"
|
||||||
></span>
|
></span>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,14 +1,17 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div v-if="supportsIndependentTime"
|
<div
|
||||||
|
v-if="supportsIndependentTime"
|
||||||
class="c-conductor-holder--compact l-shell__main-independent-time-conductor"
|
class="c-conductor-holder--compact l-shell__main-independent-time-conductor"
|
||||||
>
|
>
|
||||||
<independent-time-conductor :domain-object="domainObject"
|
<independent-time-conductor
|
||||||
|
:domain-object="domainObject"
|
||||||
@stateChanged="updateIndependentTimeState"
|
@stateChanged="updateIndependentTimeState"
|
||||||
@updated="saveTimeOptions"
|
@updated="saveTimeOptions"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div ref="objectViewWrapper"
|
<div
|
||||||
|
ref="objectViewWrapper"
|
||||||
class="c-object-view"
|
class="c-object-view"
|
||||||
:class="objectTypeClass"
|
:class="objectTypeClass"
|
||||||
></div>
|
></div>
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="c-progress-bar">
|
<div class="c-progress-bar">
|
||||||
<div class="c-progress-bar__bar"
|
<div
|
||||||
|
class="c-progress-bar__bar"
|
||||||
:class="{ '--indeterminate': model.progressPerc === undefined }"
|
:class="{ '--indeterminate': model.progressPerc === undefined }"
|
||||||
:style="styleBarWidth"
|
:style="styleBarWidth"
|
||||||
></div>
|
></div>
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div ref="axisHolder"
|
<div
|
||||||
|
ref="axisHolder"
|
||||||
class="c-timesystem-axis"
|
class="c-timesystem-axis"
|
||||||
>
|
>
|
||||||
<div class="nowMarker"><span class="icon-arrow-down"></span></div>
|
<div class="nowMarker"><span class="icon-arrow-down"></span></div>
|
||||||
|
@ -1,21 +1,25 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="u-contents"
|
<div
|
||||||
|
class="u-contents"
|
||||||
:class="[
|
:class="[
|
||||||
{'c-swimlane': !isNested},
|
{'c-swimlane': !isNested},
|
||||||
statusClass
|
statusClass
|
||||||
]"
|
]"
|
||||||
>
|
>
|
||||||
|
|
||||||
<div v-if="hideLabel === false"
|
<div
|
||||||
|
v-if="hideLabel === false"
|
||||||
class="c-swimlane__lane-label c-object-label"
|
class="c-swimlane__lane-label c-object-label"
|
||||||
:class="[swimlaneClass, statusClass]"
|
:class="[swimlaneClass, statusClass]"
|
||||||
:style="gridRowSpan"
|
:style="gridRowSpan"
|
||||||
>
|
>
|
||||||
<div v-if="iconClass"
|
<div
|
||||||
|
v-if="iconClass"
|
||||||
class="c-object-label__type-icon"
|
class="c-object-label__type-icon"
|
||||||
:class="iconClass"
|
:class="iconClass"
|
||||||
>
|
>
|
||||||
<span v-if="status"
|
<span
|
||||||
|
v-if="status"
|
||||||
class="is-status__indicator"
|
class="is-status__indicator"
|
||||||
:title="`This item is ${status}`"
|
:title="`This item is ${status}`"
|
||||||
></span>
|
></span>
|
||||||
@ -26,7 +30,8 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="c-swimlane__lane-object"
|
<div
|
||||||
|
class="c-swimlane__lane-object"
|
||||||
:style="{'min-height': minHeight}"
|
:style="{'min-height': minHeight}"
|
||||||
:class="{'u-contents': showUcontents}"
|
:class="{'u-contents': showUcontents}"
|
||||||
>
|
>
|
||||||
|
@ -23,10 +23,12 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="c-inspector">
|
<div class="c-inspector">
|
||||||
<object-name />
|
<object-name />
|
||||||
<div v-if="showStyles"
|
<div
|
||||||
|
v-if="showStyles"
|
||||||
class="c-inspector__tabs c-tabs"
|
class="c-inspector__tabs c-tabs"
|
||||||
>
|
>
|
||||||
<div v-for="tabbedView in tabbedViews"
|
<div
|
||||||
|
v-for="tabbedView in tabbedViews"
|
||||||
:key="tabbedView.key"
|
:key="tabbedView.key"
|
||||||
class="c-inspector__tab c-tab"
|
class="c-inspector__tab c-tab"
|
||||||
:class="{'is-current': isCurrent(tabbedView)}"
|
:class="{'is-current': isCurrent(tabbedView)}"
|
||||||
@ -37,7 +39,8 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="c-inspector__content">
|
<div class="c-inspector__content">
|
||||||
<multipane v-show="currentTabbedView.key === '__properties'"
|
<multipane
|
||||||
|
v-show="currentTabbedView.key === '__properties'"
|
||||||
type="vertical"
|
type="vertical"
|
||||||
>
|
>
|
||||||
<pane class="c-inspector__properties">
|
<pane class="c-inspector__properties">
|
||||||
|
@ -22,27 +22,33 @@
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="c-inspector__header">
|
<div class="c-inspector__header">
|
||||||
<div v-if="!multiSelect"
|
<div
|
||||||
|
v-if="!multiSelect"
|
||||||
class="c-inspector__selected c-object-label"
|
class="c-inspector__selected c-object-label"
|
||||||
:class="[statusClass]"
|
:class="[statusClass]"
|
||||||
>
|
>
|
||||||
<div class="c-object-label__type-icon"
|
<div
|
||||||
|
class="c-object-label__type-icon"
|
||||||
:class="typeCssClass"
|
:class="typeCssClass"
|
||||||
>
|
>
|
||||||
<span class="is-status__indicator"
|
<span
|
||||||
|
class="is-status__indicator"
|
||||||
:title="`This item is ${status}`"
|
:title="`This item is ${status}`"
|
||||||
></span>
|
></span>
|
||||||
</div>
|
</div>
|
||||||
<span v-if="!singleSelectNonObject"
|
<span
|
||||||
|
v-if="!singleSelectNonObject"
|
||||||
class="c-inspector__selected c-object-label__name"
|
class="c-inspector__selected c-object-label__name"
|
||||||
>{{ item.name }}</span>
|
>{{ item.name }}</span>
|
||||||
<div v-if="singleSelectNonObject"
|
<div
|
||||||
|
v-if="singleSelectNonObject"
|
||||||
class="c-inspector__selected c-inspector__selected--non-domain-object c-object-label"
|
class="c-inspector__selected c-inspector__selected--non-domain-object c-object-label"
|
||||||
>
|
>
|
||||||
<span class="c-object-label__name">Layout Object</span>
|
<span class="c-object-label__name">Layout Object</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="multiSelect"
|
<div
|
||||||
|
v-if="multiSelect"
|
||||||
class="c-inspector__multiple-selected"
|
class="c-inspector__multiple-selected"
|
||||||
>
|
>
|
||||||
{{ itemsSelected }} items selected
|
{{ itemsSelected }} items selected
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="c-toolbar">
|
<div class="c-toolbar">
|
||||||
<div ref="fontSizeMenu"
|
<div
|
||||||
|
ref="fontSizeMenu"
|
||||||
class="c-menu-button c-ctrl-wrapper c-ctrl-wrapper--menus-left"
|
class="c-menu-button c-ctrl-wrapper c-ctrl-wrapper--menus-left"
|
||||||
>
|
>
|
||||||
<button
|
<button
|
||||||
@ -10,7 +11,8 @@
|
|||||||
<span class="c-button__label">{{ fontSizeLabel }}</span>
|
<span class="c-button__label">{{ fontSizeLabel }}</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div ref="fontMenu"
|
<div
|
||||||
|
ref="fontMenu"
|
||||||
class="c-menu-button c-ctrl-wrapper c-ctrl-wrapper--menus-left"
|
class="c-menu-button c-ctrl-wrapper c-ctrl-wrapper--menus-left"
|
||||||
>
|
>
|
||||||
<button
|
<button
|
||||||
|
@ -23,7 +23,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div class="c-style c-style--saved has-local-controls c-toolbar">
|
<div class="c-style c-style--saved has-local-controls c-toolbar">
|
||||||
<div class="c-style__controls"
|
<div
|
||||||
|
class="c-style__controls"
|
||||||
:title="description"
|
:title="description"
|
||||||
@click="selectStyle()"
|
@click="selectStyle()"
|
||||||
>
|
>
|
||||||
|
@ -11,10 +11,12 @@
|
|||||||
class="l-browse-bar__object-name--w c-object-label"
|
class="l-browse-bar__object-name--w c-object-label"
|
||||||
:class="[statusClass]"
|
:class="[statusClass]"
|
||||||
>
|
>
|
||||||
<div class="c-object-label__type-icon"
|
<div
|
||||||
|
class="c-object-label__type-icon"
|
||||||
:class="type.cssClass"
|
:class="type.cssClass"
|
||||||
>
|
>
|
||||||
<span class="is-status__indicator"
|
<span
|
||||||
|
class="is-status__indicator"
|
||||||
:title="`This item is ${status}`"
|
:title="`This item is ${status}`"
|
||||||
></span>
|
></span>
|
||||||
</div>
|
</div>
|
||||||
@ -38,7 +40,8 @@
|
|||||||
:views="views"
|
:views="views"
|
||||||
/>
|
/>
|
||||||
<!-- Action buttons -->
|
<!-- Action buttons -->
|
||||||
<NotebookMenuSwitcher v-if="notebookEnabled"
|
<NotebookMenuSwitcher
|
||||||
|
v-if="notebookEnabled"
|
||||||
:domain-object="domainObject"
|
:domain-object="domainObject"
|
||||||
:object-path="openmct.router.path"
|
:object-path="openmct.router.path"
|
||||||
class="c-notebook-snapshot-menubutton"
|
class="c-notebook-snapshot-menubutton"
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div ref="createButton"
|
<div
|
||||||
|
ref="createButton"
|
||||||
class="c-create-button--w"
|
class="c-create-button--w"
|
||||||
>
|
>
|
||||||
<button
|
<button
|
||||||
|
@ -17,7 +17,8 @@
|
|||||||
@mousedown="start"
|
@mousedown="start"
|
||||||
></div>
|
></div>
|
||||||
<div class="l-pane__header">
|
<div class="l-pane__header">
|
||||||
<span v-if="label"
|
<span
|
||||||
|
v-if="label"
|
||||||
class="l-pane__label"
|
class="l-pane__label"
|
||||||
>{{ label }}</span>
|
>{{ label }}</span>
|
||||||
<slot name="controls"></slot>
|
<slot name="controls"></slot>
|
||||||
|
@ -29,7 +29,8 @@
|
|||||||
@click="maximize()"
|
@click="maximize()"
|
||||||
>
|
>
|
||||||
<span class="c-message-banner__message">{{ activeModel.message }}</span>
|
<span class="c-message-banner__message">{{ activeModel.message }}</span>
|
||||||
<span v-if="haslink"
|
<span
|
||||||
|
v-if="haslink"
|
||||||
class="c-message-banner__message"
|
class="c-message-banner__message"
|
||||||
:class="[haslink ? getLinkProps.cssClass : '']"
|
:class="[haslink ? getLinkProps.cssClass : '']"
|
||||||
>{{ getLinkProps.text }}</span>
|
>{{ getLinkProps.text }}</span>
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
<div
|
<div
|
||||||
class="l-browse-bar__object-name--w c-object-label"
|
class="l-browse-bar__object-name--w c-object-label"
|
||||||
>
|
>
|
||||||
<div v-if="type"
|
<div
|
||||||
|
v-if="type"
|
||||||
class="c-object-label__type-icon"
|
class="c-object-label__type-icon"
|
||||||
:class="type.definition.cssClass"
|
:class="type.definition.cssClass"
|
||||||
></div>
|
></div>
|
||||||
@ -19,7 +20,8 @@
|
|||||||
:views="views"
|
:views="views"
|
||||||
:current-view="currentView"
|
:current-view="currentView"
|
||||||
/>
|
/>
|
||||||
<NotebookMenuSwitcher :domain-object="domainObject"
|
<NotebookMenuSwitcher
|
||||||
|
:domain-object="domainObject"
|
||||||
:object-path="objectPath"
|
:object-path="objectPath"
|
||||||
:is-preview="true"
|
:is-preview="true"
|
||||||
:current-view="currentView"
|
:current-view="currentView"
|
||||||
|
Reference in New Issue
Block a user