From 938c266b4e718ad1e5ddcba35c1250ba741f144b Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Tue, 8 Mar 2016 10:20:25 -0800 Subject: [PATCH] [Timeline] Add Id column to CSV export --- .../features/timeline/src/actions/IdColumn.js | 39 +++++++++++++++++++ .../src/actions/TimelineCSVExporter.js | 11 +++++- 2 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 platform/features/timeline/src/actions/IdColumn.js diff --git a/platform/features/timeline/src/actions/IdColumn.js b/platform/features/timeline/src/actions/IdColumn.js new file mode 100644 index 0000000000..6efeb104d3 --- /dev/null +++ b/platform/features/timeline/src/actions/IdColumn.js @@ -0,0 +1,39 @@ +/***************************************************************************** + * Open MCT Web, Copyright (c) 2009-2015, United States Government + * as represented by the Administrator of the National Aeronautics and Space + * Administration. All rights reserved. + * + * Open MCT Web 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 Web 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. + *****************************************************************************/ +/*global define*/ + +define([], function () { + "use strict"; + + function IdColumn() { + } + + IdColumn.prototype.name = function () { + return "Identifier"; + }; + + IdColumn.prototype.value = function (domainObject) { + return domainObject.getId(); + }; + + return IdColumn; +}); diff --git a/platform/features/timeline/src/actions/TimelineCSVExporter.js b/platform/features/timeline/src/actions/TimelineCSVExporter.js index 3ebe37db1c..f0d3efd953 100644 --- a/platform/features/timeline/src/actions/TimelineCSVExporter.js +++ b/platform/features/timeline/src/actions/TimelineCSVExporter.js @@ -22,11 +22,18 @@ /*global define,Promise*/ define([ + "./IdColumn", "./ModeColumn", "./CompositionColumn", "./MetadataColumn", "./TimespanColumn" -], function (ModeColumn, CompositionColumn, MetadataColumn, TimespanColumn) { +], function ( + IdColumn, + ModeColumn, + CompositionColumn, + MetadataColumn, + TimespanColumn +) { 'use strict'; function TimelineCSVExporter(domainObjects) { @@ -45,6 +52,8 @@ define([ } } + columns.push(new IdColumn()); + domainObjects.forEach(function (domainObject) { var model = domainObject.getModel(), compositionLength = model.composition ?