From de8f8d174d1a4e32ea9caa816d8795cb34267e9e Mon Sep 17 00:00:00 2001 From: Deep Tailor Date: Wed, 27 Jun 2018 11:02:24 -0700 Subject: [PATCH] Add a string formatter (#2087) * add StringFormat to formats fix #2086 --- platform/features/conductor/core/bundle.js | 6 +++ .../conductor/core/src/ui/StringFormat.js | 53 +++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 platform/features/conductor/core/src/ui/StringFormat.js diff --git a/platform/features/conductor/core/bundle.js b/platform/features/conductor/core/bundle.js index 5c6b4a68fa..e173e363e6 100644 --- a/platform/features/conductor/core/bundle.js +++ b/platform/features/conductor/core/bundle.js @@ -28,6 +28,7 @@ define([ "./src/ui/TimeOfInterestController", "./src/ui/ConductorAxisDirective", "./src/ui/NumberFormat", + "./src/ui/StringFormat", "text!./res/templates/time-conductor.html", "text!./res/templates/mode-selector/mode-selector.html", "text!./res/templates/mode-selector/mode-menu.html", @@ -41,6 +42,7 @@ define([ TimeOfInterestController, ConductorAxisDirective, NumberFormat, + StringFormat, timeConductorTemplate, modeSelectorTemplate, modeMenuTemplate, @@ -145,6 +147,10 @@ define([ { "key": "number", "implementation": NumberFormat + }, + { + "key": "string", + "implementation": StringFormat } ] } diff --git a/platform/features/conductor/core/src/ui/StringFormat.js b/platform/features/conductor/core/src/ui/StringFormat.js new file mode 100644 index 0000000000..78061a4d5c --- /dev/null +++ b/platform/features/conductor/core/src/ui/StringFormat.js @@ -0,0 +1,53 @@ +/***************************************************************************** + * 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([], function () { + + /** + * Formatter for basic strings. + * + * @implements {Format} + * @constructor + * @memberof platform/commonUI/formats + */ + function StringFormat() { + this.key = 'string'; + } + + StringFormat.prototype.format = function (string) { + if (typeof string === 'string') { + return string; + } else { + return '' + string; + } + }; + + StringFormat.prototype.parse = function (string) { + return string; + }; + + StringFormat.prototype.validate = function (string) { + return typeof string === 'string'; + }; + + return StringFormat; +});