diff --git a/src/MCT.js b/src/MCT.js
index af53e8076e..2930b03c37 100644
--- a/src/MCT.js
+++ b/src/MCT.js
@@ -40,6 +40,7 @@ define([
'./styles-new/core.scss',
'./styles-new/notebook.scss',
'./ui/components/layout/Layout.vue',
+ './ui/overlayService/overlayService',
'vue'
], function (
EventEmitter,
@@ -61,6 +62,7 @@ define([
coreStyles,
NotebookStyles,
Layout,
+ OverlayService,
Vue
) {
/**
@@ -225,6 +227,8 @@ define([
this.editor = new api.EditorAPI.default(this);
+ this.OverlayService = new OverlayService();
+
this.legacyRegistry = defaultRegistry;
this.install(this.plugins.Plot());
this.install(this.plugins.TelemetryTable());
diff --git a/src/plugins/notebook/res/templates/snapshotTemplate.html b/src/plugins/notebook/res/templates/snapshotTemplate.html
new file mode 100644
index 0000000000..9c9daee0ee
--- /dev/null
+++ b/src/plugins/notebook/res/templates/snapshotTemplate.html
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+ SNAPSHOT {{formatTime(embed.createdOn, 'YYYY-MM-DD HH:mm:ss')}}
+
+
+ Annotate
+
+
+
+
+
\ No newline at end of file
diff --git a/src/plugins/notebook/src/controllers/EmbedController.js b/src/plugins/notebook/src/controllers/EmbedController.js
index 5080206e15..2417942c97 100644
--- a/src/plugins/notebook/src/controllers/EmbedController.js
+++ b/src/plugins/notebook/src/controllers/EmbedController.js
@@ -24,11 +24,15 @@ define([
'moment',
'zepto',
'../utils/SnapshotOverlay',
+ '../../res/templates/snapshotTemplate.html',
+ 'vue'
],
function (
Moment,
$,
- SnapshotOverlay
+ SnapshotOverlay,
+ SnapshotTemplate,
+ Vue
) {
function EmbedController (openmct, domainObject) {
this.openmct = openmct;
@@ -53,11 +57,24 @@ function (
};
EmbedController.prototype.openSnapshot = function () {
- if (!this.snapshotOverlay) {
- this.snapShotOverlay = new SnapshotOverlay(this.embed, this.formatTime);
- } else {
- this.snapShotOverlay = undefined;
+ var self = this,
+ snapshot = new Vue({
+ template: SnapshotTemplate,
+ data: function () {
+ return {
+ embed: self.embed
+ };
+ },
+ methods: {
+ formatTime: self.formatTime
+ }
+ });
+
+ function onDestroyCallback() {
+ snapshot.$destroy(true);
}
+
+ this.openmct.OverlayService.show(snapshot.$mount().$el, {onDestroy: onDestroyCallback, cssClass: 'l-large-view'});
};
EmbedController.prototype.formatTime = function (unixTime, timeFormat) {
diff --git a/src/plugins/notebook/src/controllers/NotebookController.js b/src/plugins/notebook/src/controllers/NotebookController.js
index 727e4bce53..5805f541c3 100644
--- a/src/plugins/notebook/src/controllers/NotebookController.js
+++ b/src/plugins/notebook/src/controllers/NotebookController.js
@@ -60,6 +60,7 @@ function (
this.container = container;
var notebookEmbed = {
+ inject:['openmct'],
props:['embed', 'entry'],
template: EmbedTemplate,
data: embedController.exposedData,
@@ -80,6 +81,7 @@ function (
var notebookVue = Vue.extend({
template: NotebookTemplate,
+ provide: {openmct: self.openmct},
components: {
'notebook-entry': entryComponent,
'search': search.default
diff --git a/src/styles-new/_constants-snow.scss b/src/styles-new/_constants-snow.scss
index 715487f0a1..fe198f5579 100644
--- a/src/styles-new/_constants-snow.scss
+++ b/src/styles-new/_constants-snow.scss
@@ -224,9 +224,9 @@ $colorThumbsBubbleFg: pullForward($colorBodyFg, 10%);
$colorThumbsBubbleBg: pullForward($colorBodyBg, 10%);
// Overlay
-$colorOvrBlocker: rgba(black, 0.7);//
-$colorOvrBg: $colorBodyBg;
-$colorOvrFg: $colorBodyFg;
+$colorOvrBlocker: rgba(black, 0.7); // Used
+$colorOvrBg: $colorBodyBg; // Used
+$colorOvrFg: $colorBodyFg; // Used
$colorOvrBtnBg: pullForward($colorOvrBg, 40%);
$colorOvrBtnFg: #fff;
$colorFieldHintOverlay: pullForward($colorOvrBg, 40%);
diff --git a/src/styles-new/_constants.scss b/src/styles-new/_constants.scss
index 2fb9f0baaf..e6a317b1fa 100644
--- a/src/styles-new/_constants.scss
+++ b/src/styles-new/_constants.scss
@@ -40,6 +40,8 @@ $inputTextP: $inputTextPTopBtm $inputTextPLeftRight;
$menuLineH: 1.5rem;
$treeItemIndent: 16px;
$treeTypeIconW: 18px;
+$overlayOuterMargin: 5%;
+$overlayInnerMargin: 25px;
/*************** Items */
$itemPadLR: 5px;
diff --git a/src/styles-new/_mixins.scss b/src/styles-new/_mixins.scss
index 46b87e3c01..39fdadd0f5 100644
--- a/src/styles-new/_mixins.scss
+++ b/src/styles-new/_mixins.scss
@@ -20,6 +20,8 @@
* at runtime from the About dialog for additional information.
*****************************************************************************/
+// VERSION MANUALLY MIGRATED FROM VUE-TOOLBAR
+
/************************** VISUALS */
@mixin ancillaryIcon($d, $c) {
// Used for small icons used in combination with larger icons,
diff --git a/src/ui/components/layout/tree-item.vue b/src/ui/components/layout/tree-item.vue
index 8346f63a71..f6feed3910 100644
--- a/src/ui/components/layout/tree-item.vue
+++ b/src/ui/components/layout/tree-item.vue
@@ -30,7 +30,7 @@
import viewControl from '../controls/viewControl.vue'
export default {
name: 'tree-item',
- inject: ['openmct'],
+ inject: ['openmct', 'domainObject'],
props: {
node: Object
},
diff --git a/src/ui/overlayService/overlay.vue b/src/ui/overlayService/overlay.vue
new file mode 100644
index 0000000000..d98265f55e
--- /dev/null
+++ b/src/ui/overlayService/overlay.vue
@@ -0,0 +1,91 @@
+