openmct/index.html

120 lines
5.2 KiB
HTML
Raw Normal View History

<!--
2020-04-21 22:28:10 +00:00
Open MCT, Copyright (c) 2014-2020, United States Government
as represented by the Administrator of the National Aeronautics and Space
Administration. All rights reserved.
Open MCT is licensed under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.
Open MCT includes source code licensed under additional open source
licenses. See the Open Source Licenses file (LICENSES.md) included with
this source code distribution or the Licensing information page available
at runtime from the About dialog for additional information.
-->
2016-08-22 18:38:17 +00:00
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0, shrink-to-fit=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<title></title>
<script src="dist/openmct.js"></script>
<link rel="icon" type="image/png" href="dist/favicons/favicon-96x96.png" sizes="96x96" type="image/x-icon">
<link rel="icon" type="image/png" href="dist/favicons/favicon-32x32.png" sizes="32x32" type="image/x-icon">
<link rel="icon" type="image/png" href="dist/favicons/favicon-16x16.png" sizes="16x16" type="image/x-icon">
</head>
<body>
</body>
<script>
[Time Conductor] add history and select range features (#2932) * basic brush prototype visible * require alt pressed for grab handle. display only * pan and zoom now co-exist * revert selection to times * make LocalTimeSystem UTCBased (Earth based) * add LocalTimeSystem * make isTimeFixed check reusable * linting * zoom axis sets start and end times * pass isFixed as props so we can watch for change from parent * disable cursor for local time and enable for fixed time * linting * resize brush on window resize * just use d3-brush instead of entire d3 package * WIP prototyping conductor history * set global bounds before emitting change event * WIP conductor history * WIP save history to and pull history from local storage * WIP persistence works * reset axis height after prototyping * conductor history functionality complete * clean up refactoring * add presets code cleanup * axis visual tuning * remove unused function calls * change tick to timespan to avoid confusion * fix bounds to use for timespans on pan axis * linting * linting * more linting * linting * change realtime end bound to 30 secondes * add max duration validation * Tweaks to Time Conductor History menu - Enhanced styles for `.c-menu`; - Added hint messaging and separator; - Reversed displayed history array so that latest entry is always first; * refactor to use browser mouse events instead of d3brush * Styling Time Conductor axis area - Styles for `is-zooming` state and brush; - Styles for `is-alt-key-down` for panning; - Styles for hover modified; * resolve merge conflicts * Styling Time Conductor axis and inputs - Moved panning and zooming styles up into `conductor.scss`; - Stubbed in :class names in Conductor.vue; - New theme constants; * fix merge conflict * move zoom/pan styling up to conductor * WIP almost there * fix zoom * move altPressed up to parent * handle no drag on pan * rename inMode vars for clarity * Styling for Time Conductor zoom and pan - Minor fix to hover cursor for alt-pressed panning; * add configurable bounds limit to time conductor * add presets and records * fixes for history * remove lodash * add default configurables for examples * do not install local time system * cleanup * fix indentation remove logging * remove comments * section-hint without section-separator styling * provide reasonable defaults for conductor configuration * specify input to check validation on * improve validation * first check both inputs for valid formats * clear each valid input on new entry * tear down listeners * add user instructions * allow preset bounds to be declared as callback function * set this.left on resize code refactoring Co-authored-by: charlesh88 <charlesh88@gmail.com> Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
2020-06-30 19:10:35 +00:00
const THIRTY_SECONDS = 30 * 1000;
const THIRTY_MINUTES = THIRTY_SECONDS * 60;
[
2019-12-12 00:21:51 +00:00
'example/eventGenerator'
].forEach(
openmct.legacyRegistry.enable.bind(openmct.legacyRegistry)
);
openmct.install(openmct.plugins.LocalStorage());
openmct.install(openmct.plugins.Espresso());
openmct.install(openmct.plugins.MyItems());
openmct.install(openmct.plugins.Generator());
openmct.install(openmct.plugins.ExampleImagery());
openmct.install(openmct.plugins.UTCTimeSystem());
openmct.install(openmct.plugins.AutoflowView({
type: "telemetry.panel"
}));
openmct.install(openmct.plugins.DisplayLayout({
showAsView: ['summary-widget', 'example.imagery']
}));
openmct.install(openmct.plugins.Conductor({
menuOptions: [
{
name: "Fixed",
timeSystem: 'utc',
bounds: {
start: Date.now() - THIRTY_MINUTES,
end: Date.now()
[Time Conductor] add history and select range features (#2932) * basic brush prototype visible * require alt pressed for grab handle. display only * pan and zoom now co-exist * revert selection to times * make LocalTimeSystem UTCBased (Earth based) * add LocalTimeSystem * make isTimeFixed check reusable * linting * zoom axis sets start and end times * pass isFixed as props so we can watch for change from parent * disable cursor for local time and enable for fixed time * linting * resize brush on window resize * just use d3-brush instead of entire d3 package * WIP prototyping conductor history * set global bounds before emitting change event * WIP conductor history * WIP save history to and pull history from local storage * WIP persistence works * reset axis height after prototyping * conductor history functionality complete * clean up refactoring * add presets code cleanup * axis visual tuning * remove unused function calls * change tick to timespan to avoid confusion * fix bounds to use for timespans on pan axis * linting * linting * more linting * linting * change realtime end bound to 30 secondes * add max duration validation * Tweaks to Time Conductor History menu - Enhanced styles for `.c-menu`; - Added hint messaging and separator; - Reversed displayed history array so that latest entry is always first; * refactor to use browser mouse events instead of d3brush * Styling Time Conductor axis area - Styles for `is-zooming` state and brush; - Styles for `is-alt-key-down` for panning; - Styles for hover modified; * resolve merge conflicts * Styling Time Conductor axis and inputs - Moved panning and zooming styles up into `conductor.scss`; - Stubbed in :class names in Conductor.vue; - New theme constants; * fix merge conflict * move zoom/pan styling up to conductor * WIP almost there * fix zoom * move altPressed up to parent * handle no drag on pan * rename inMode vars for clarity * Styling for Time Conductor zoom and pan - Minor fix to hover cursor for alt-pressed panning; * add configurable bounds limit to time conductor * add presets and records * fixes for history * remove lodash * add default configurables for examples * do not install local time system * cleanup * fix indentation remove logging * remove comments * section-hint without section-separator styling * provide reasonable defaults for conductor configuration * specify input to check validation on * improve validation * first check both inputs for valid formats * clear each valid input on new entry * tear down listeners * add user instructions * allow preset bounds to be declared as callback function * set this.left on resize code refactoring Co-authored-by: charlesh88 <charlesh88@gmail.com> Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
2020-06-30 19:10:35 +00:00
},
// commonly used bounds can be stored in history
// bounds (start and end) can accept either a milliseconds number
// or a callback function returning a milliseconds number
// a function is useful for invoking Date.now() at exact moment of preset selection
presets: [
{
label: 'Last Day',
bounds: {
start: () => Date.now() - 1000 * 60 * 60 * 24,
end: () => Date.now()
}
},
{
label: 'Last 2 hours',
bounds: {
start: () => Date.now() - 1000 * 60 * 60 * 2,
end: () => Date.now()
}
},
{
label: 'Last hour',
bounds: {
start: () => Date.now() - 1000 * 60 * 60,
end: () => Date.now()
}
}
],
// maximum recent bounds to retain in conductor history
records: 10,
// maximum duration between start and end bounds
// for utc-based time systems this is in milliseconds
limit: 1000 * 60 * 60 * 24
},
{
name: "Realtime",
timeSystem: 'utc',
clock: 'local',
clockOffsets: {
start: - THIRTY_MINUTES,
[Time Conductor] add history and select range features (#2932) * basic brush prototype visible * require alt pressed for grab handle. display only * pan and zoom now co-exist * revert selection to times * make LocalTimeSystem UTCBased (Earth based) * add LocalTimeSystem * make isTimeFixed check reusable * linting * zoom axis sets start and end times * pass isFixed as props so we can watch for change from parent * disable cursor for local time and enable for fixed time * linting * resize brush on window resize * just use d3-brush instead of entire d3 package * WIP prototyping conductor history * set global bounds before emitting change event * WIP conductor history * WIP save history to and pull history from local storage * WIP persistence works * reset axis height after prototyping * conductor history functionality complete * clean up refactoring * add presets code cleanup * axis visual tuning * remove unused function calls * change tick to timespan to avoid confusion * fix bounds to use for timespans on pan axis * linting * linting * more linting * linting * change realtime end bound to 30 secondes * add max duration validation * Tweaks to Time Conductor History menu - Enhanced styles for `.c-menu`; - Added hint messaging and separator; - Reversed displayed history array so that latest entry is always first; * refactor to use browser mouse events instead of d3brush * Styling Time Conductor axis area - Styles for `is-zooming` state and brush; - Styles for `is-alt-key-down` for panning; - Styles for hover modified; * resolve merge conflicts * Styling Time Conductor axis and inputs - Moved panning and zooming styles up into `conductor.scss`; - Stubbed in :class names in Conductor.vue; - New theme constants; * fix merge conflict * move zoom/pan styling up to conductor * WIP almost there * fix zoom * move altPressed up to parent * handle no drag on pan * rename inMode vars for clarity * Styling for Time Conductor zoom and pan - Minor fix to hover cursor for alt-pressed panning; * add configurable bounds limit to time conductor * add presets and records * fixes for history * remove lodash * add default configurables for examples * do not install local time system * cleanup * fix indentation remove logging * remove comments * section-hint without section-separator styling * provide reasonable defaults for conductor configuration * specify input to check validation on * improve validation * first check both inputs for valid formats * clear each valid input on new entry * tear down listeners * add user instructions * allow preset bounds to be declared as callback function * set this.left on resize code refactoring Co-authored-by: charlesh88 <charlesh88@gmail.com> Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
2020-06-30 19:10:35 +00:00
end: THIRTY_SECONDS
}
}
]
}));
openmct.install(openmct.plugins.SummaryWidget());
openmct.install(openmct.plugins.Notebook());
openmct.install(openmct.plugins.LADTable());
openmct.install(openmct.plugins.Filters(['table', 'telemetry.plot.overlay']));
openmct.install(openmct.plugins.ObjectMigration());
Global and Local Clear (#2418) * first proto of global clear, working on tables * global clear works on plots * styling * Status bar migration to top of layout, WIP - Refine and remove legacy styles for Indicators; - Significant cleanup in Indicator markup; - Remove unnecessary wrapper component StatusBar.vue; - Move collapse-button styles to a more general location in _controls .scss; - New hasMenu mixin to allow easier application of disclosure control styling; * Status bar migration to top of layout, WIP - Refine styles and markup for Indicators; - Better separation of styles for clickable and non-clickable Indicators; * Status bar migration to top of layout, WIP - Added tracking style to indicator-template; - Moved click action to button in label of globalClearIndicator; - Removed unnecessary markup in Indicators.vue; - Commented out __head collapse button for now in Layout.vue; * Status Bar Migration WIP - Significant progress styling Indicators and their hover bubbles; - Pull back from clickable Indicators to hover approach; - Better theme-based constants for Indicator menu-related colors; * Status Bar Migration WIP - Significant refactor of label element naming in multiple indicator markup files; - Refactor label-related CSS; - Better class naming: no-collapse > no-minify; - Refactor example *-launch files to use buttons instead of <a> tags; - Significant progress on expanding shell head and button styling; * Status Bar Migration WIP - Cleanups, sanding on Indicator CSS; - Added local storage retention for head expanded state; - Adjust dark theme colors for $colorWarningHi for better legibility; - Other minor tweaks and fixes; * Status Bar Migration WIP - Suppress background in Indicators; - Restore Snow as default theme; * add a local clear action, rename plugin * objectViews extends eventemitter, table view provider provides an onClearData function that is called from ObjectView when clear event is emitted. TODO - support plots * add support for plots via legacy view provider * add test for clearDataAction * remove focus from test file * install the following plugins by default: Import Export Folder View Tabs View Flexible Layout LAD Table Go To Original Action * update test to include plugin level tests * remove focus from unit test
2019-07-11 23:40:26 +00:00
openmct.install(openmct.plugins.ClearData(['table', 'telemetry.plot.overlay', 'telemetry.plot.stacked']));
openmct.start();
</script>
</html>