diff --git a/app.js b/app.js
index bf8e65c0c2..07ee786438 100644
--- a/app.js
+++ b/app.js
@@ -16,7 +16,7 @@ const request = require('request');
// Defaults
options.port = options.port || options.p || 8080;
-options.host = options.host || options.h || 'localhost'
+options.host = options.host || options.h || 'localhost';
options.directory = options.directory || options.D || '.';
// Show command line options
diff --git a/index.html b/index.html
index ff3a38cfe3..0a315e4f9d 100644
--- a/index.html
+++ b/index.html
@@ -75,6 +75,7 @@
}));
openmct.install(openmct.plugins.SummaryWidget());
openmct.install(openmct.plugins.Notebook());
+ openmct.install(openmct.plugins.FolderView());
openmct.time.clock('local', {start: -THIRTY_MINUTES, end: 0});
openmct.time.timeSystem('utc');
openmct.start();
diff --git a/src/plugins/folderView/FolderGridView.js b/src/plugins/folderView/FolderGridView.js
new file mode 100644
index 0000000000..e8b4149d04
--- /dev/null
+++ b/src/plugins/folderView/FolderGridView.js
@@ -0,0 +1,67 @@
+/*****************************************************************************
+ * Open MCT, Copyright (c) 2014-2018, 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.
+ *****************************************************************************/
+
+define([
+ './components/GridView.vue',
+ 'vue'
+], function (
+ GridViewComponent,
+ Vue
+) {
+ function FolderGridView(openmct) {
+ return {
+ key: 'grid',
+ name: 'Grid Vue',
+ cssClass: 'icon-thumbs-strip',
+ canView: function (domainObject) {
+ return domainObject.type === 'folder';
+ },
+ view: function (domainObject) {
+ let component;
+
+ return {
+ show: function (element) {
+ component = new Vue({
+ components: {
+ gridViewComponent: GridViewComponent.default
+ },
+ provide: {
+ openmct,
+ domainObject
+ },
+ el: element,
+ template: ''
+ });
+ },
+ destroy: function (element) {
+ component.$destroy();
+ component = undefined;
+ }
+ };
+ },
+ priority: function () {
+ return 1;
+ }
+ };
+ }
+ return FolderGridView;
+});
diff --git a/src/plugins/folderView/FolderListView.js b/src/plugins/folderView/FolderListView.js
new file mode 100644
index 0000000000..d1b93c0004
--- /dev/null
+++ b/src/plugins/folderView/FolderListView.js
@@ -0,0 +1,70 @@
+/*****************************************************************************
+ * Open MCT, Copyright (c) 2014-2018, 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.
+ *****************************************************************************/
+
+define([
+ './components/ListView.vue',
+ 'vue',
+ 'moment'
+], function (
+ ListViewComponent,
+ Vue,
+ Moment
+) {
+ function FolderListView(openmct) {
+ return {
+ key: 'list-view',
+ name: 'List Vue',
+ cssClass: 'icon-list-view',
+ canView: function (domainObject) {
+ return domainObject.type === 'folder';
+ },
+ view: function (domainObject) {
+ let component;
+
+ return {
+ show: function (element) {
+ component = new Vue({
+ components: {
+ listViewComponent: ListViewComponent.default
+ },
+ provide: {
+ openmct,
+ domainObject,
+ Moment
+ },
+ el: element,
+ template: ''
+ });
+ },
+ destroy: function (element) {
+ component.$destroy();
+ component = undefined;
+ }
+ };
+ },
+ priority: function () {
+ return 1;
+ }
+ };
+ }
+ return FolderListView;
+});
diff --git a/src/plugins/folderView/components/GridView.vue b/src/plugins/folderView/components/GridView.vue
new file mode 100644
index 0000000000..f303979bd9
--- /dev/null
+++ b/src/plugins/folderView/components/GridView.vue
@@ -0,0 +1,207 @@
+
+
+
+
+
+
+
+
{{item.model.name}}
+
+ {{item.type.name}}
+
+ - {{item.model.composition.length}} items
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/plugins/folderView/components/ListView.vue b/src/plugins/folderView/components/ListView.vue
new file mode 100644
index 0000000000..12ef2f5afb
--- /dev/null
+++ b/src/plugins/folderView/components/ListView.vue
@@ -0,0 +1,215 @@
+
+
+
+
+
+
+
+
+ {{item.name}}
+ |
+ {{ item.type }} |
+ {{ formatTime(item.createdDate, 'YYYY-MM-DD HH:mm:ss:SSS') }}Z |
+ {{ formatTime(item.updatedDate, 'YYYY-MM-DD HH:mm:ss:SSS') }}Z |
+ {{ item.items }} |
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/plugins/folderView/plugin.js b/src/plugins/folderView/plugin.js
new file mode 100644
index 0000000000..8a46f9ee27
--- /dev/null
+++ b/src/plugins/folderView/plugin.js
@@ -0,0 +1,36 @@
+/*****************************************************************************
+ * Open MCT, Copyright (c) 2014-2018, 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.
+ *****************************************************************************/
+
+define([
+ './FolderGridView',
+ './FolderListView'
+], function (
+ FolderGridView,
+ FolderListView
+) {
+ return function plugin() {
+ return function install(openmct) {
+ openmct.objectViews.addProvider(new FolderGridView(openmct));
+ openmct.objectViews.addProvider(new FolderListView(openmct));
+ };
+ };
+});
diff --git a/src/plugins/plugins.js b/src/plugins/plugins.js
index 84922015ba..2d98437c63 100644
--- a/src/plugins/plugins.js
+++ b/src/plugins/plugins.js
@@ -34,7 +34,8 @@ define([
'./plot/plugin',
'./telemetryTable/plugin',
'./staticRootPlugin/plugin',
- './notebook/plugin'
+ './notebook/plugin',
+ './folderView/plugin'
], function (
_,
UTCTimeSystem,
@@ -49,7 +50,8 @@ define([
PlotPlugin,
TelemetryTablePlugin,
StaticRootPlugin,
- Notebook
+ Notebook,
+ FolderView
) {
var bundleMap = {
LocalStorage: 'platform/persistence/local',
@@ -159,6 +161,7 @@ define([
plugins.TelemetryMean = TelemetryMean;
plugins.URLIndicator = URLIndicatorPlugin;
plugins.Notebook = Notebook;
+ plugins.FolderView = FolderView;
return plugins;
});
diff --git a/src/plugins/telemetryTable/components/table.vue b/src/plugins/telemetryTable/components/table.vue
index 6bf02d5c61..b22f443a19 100644
--- a/src/plugins/telemetryTable/components/table.vue
+++ b/src/plugins/telemetryTable/components/table.vue
@@ -9,7 +9,7 @@
-