diff --git a/src/MCT.js b/src/MCT.js index ca0edb60a4..6d8669ab45 100644 --- a/src/MCT.js +++ b/src/MCT.js @@ -44,6 +44,8 @@ define([ '../platform/core/src/objects/DomainObjectImpl', '../platform/core/src/capabilities/ContextualDomainObject', './ui/preview/plugin', + './api/Branding', + './plugins/licenses/plugin', './plugins/remove/plugin', 'vue' ], function ( @@ -70,6 +72,8 @@ define([ DomainObjectImpl, ContextualDomainObject, PreviewPlugin, + BrandingAPI, + LicensesPlugin, RemoveActionPlugin, Vue ) { @@ -91,6 +95,13 @@ define([ */ function MCT() { EventEmitter.call(this); + this.buildInfo = { + version: __OPENMCT_VERSION__, + buildDate: __OPENMCT_BUILD_DATE__, + revision: __OPENMCT_REVISION__, + branch: __OPENMCT_BUILD_BRANCH__ + }; + this.legacyBundle = { extensions: { services: [ { @@ -230,11 +241,17 @@ define([ this.contextMenu = new api.ContextMenuRegistry(); + this.router = new ApplicationRouter(); + + this.branding = BrandingAPI.default; + this.legacyRegistry = defaultRegistry; this.install(this.plugins.Plot()); this.install(this.plugins.TelemetryTable()); this.install(this.plugins.DisplayLayout()); this.install(PreviewPlugin.default()); + this.install(LegacyIndicatorsPlugin()); + this.install(LicensesPlugin.default()); this.install(RemoveActionPlugin.default()); if (typeof BUILD_CONSTANTS !== 'undefined') { @@ -334,10 +351,6 @@ define([ legacyRegistry.register('adapter', this.legacyBundle); legacyRegistry.enable('adapter'); - this.install(LegacyIndicatorsPlugin()); - - this.router = new ApplicationRouter(); - this.router.route(/^\/$/, () => { this.router.setPath('/browse/mine'); }); diff --git a/src/api/Branding.js b/src/api/Branding.js new file mode 100644 index 0000000000..84890335b5 --- /dev/null +++ b/src/api/Branding.js @@ -0,0 +1,45 @@ +/***************************************************************************** + * Open MCT, Copyright (c) 2014-2019, 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. + *****************************************************************************/ + +let brandingOptions = {}; + +/** + * @typedef {Object} BrandingOptions + * @memberOf openmct/branding + * @property {string} smallLogoImage URL to the image to use as the applications logo. + * This logo will appear on every screen and when clicked will launch the about dialog. + * @property {string} aboutHtml Custom content for the about screen. When defined the + * supplied content will be inserted at the start of the about dialog, and the default + * Open MCT splash logo will be suppressed. + */ + +/** + * Set branding options for the application. These will override certain visual elements + * of the application and allow for customization of the application. + * @param {BrandingOptions} options + */ +export default function Branding(options) { + if (arguments.length === 1) { + brandingOptions = options; + } + return brandingOptions; +} diff --git a/src/api/overlays/Overlay.js b/src/api/overlays/Overlay.js index d0cf0ea5e8..a87da8abd5 100644 --- a/src/api/overlays/Overlay.js +++ b/src/api/overlays/Overlay.js @@ -5,7 +5,8 @@ import Vue from 'vue'; const cssClasses = { large: 'l-overlay-large', small: 'l-overlay-small', - fit: 'l-overlay-fit' + fit: 'l-overlay-fit', + fullscreen: 'l-overlay-fullscreen' }; class Overlay extends EventEmitter { diff --git a/src/api/overlays/components/OverlayComponent.vue b/src/api/overlays/components/OverlayComponent.vue index 148d27047c..5f5c707d36 100644 --- a/src/api/overlays/components/OverlayComponent.vue +++ b/src/api/overlays/components/OverlayComponent.vue @@ -119,14 +119,25 @@ cursor: pointer; display: block; } + } - &__outer { + // Overlay types, styling for desktop. Appended to .l-overlay-wrapper element. + .l-overlay-large, + .l-overlay-small, + .l-overlay-fit { + .c-overlay__outer { border-radius: $overlayCr; box-shadow: rgba(black, 0.5) 0 2px 25px; } } + + .l-overlay-fullscreen { + // Used by About > Licenses display + .c-overlay__outer { + @include overlaySizing($overlayOuterMarginFullscreen); + } + } - // Overlay types, styling for desktop. Appended to .l-overlay-wrapper element. .l-overlay-large { // Default .c-overlay__outer { diff --git a/src/plugins/licenses/Licenses.vue b/src/plugins/licenses/Licenses.vue new file mode 100644 index 0000000000..86513fa420 --- /dev/null +++ b/src/plugins/licenses/Licenses.vue @@ -0,0 +1,52 @@ +/***************************************************************************** +* Open MCT, Copyright (c) 2014-2019, 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. +*****************************************************************************/ + + + + \ No newline at end of file diff --git a/src/plugins/licenses/plugin.js b/src/plugins/licenses/plugin.js new file mode 100644 index 0000000000..3fa07b1bb2 --- /dev/null +++ b/src/plugins/licenses/plugin.js @@ -0,0 +1,38 @@ +/***************************************************************************** + * Open MCT, Copyright (c) 2014-2019, 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. + *****************************************************************************/ +import Licenses from './Licenses.vue'; +import Vue from 'vue'; + +export default function () { + return function install(openmct) { + openmct.router.route(/^\/licenses$/, () => { + let licensesVm = new Vue(Licenses).$mount(); + + openmct.overlays.overlay({ + element: licensesVm.$el, + size: 'fullscreen', + dismissable: false, + onDestroy: () => licensesVm.$destroy() + }); + }); + }; +} diff --git a/src/plugins/licenses/third-party-licenses.json b/src/plugins/licenses/third-party-licenses.json new file mode 100644 index 0000000000..184024eb41 --- /dev/null +++ b/src/plugins/licenses/third-party-licenses.json @@ -0,0 +1,268 @@ +{ + "angular-route@1.4.14": { + "licenses": "MIT", + "repository": "https://github.com/angular/angular.js", + "publisher": "Angular Core Team", + "email": "angular-core+npm@google.com", + "path": "/Users/akhenry/Code/licenses/node_modules/angular-route", + "licenseFile": "/Users/akhenry/Code/licenses/node_modules/angular-route/LICENSE.md", + "licenseText": "The MIT License (MIT)\n\nCopyright (c) 2016 Angular\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.", + "copyright": "Copyright (c) 2016 Angular" + }, + "angular@1.4.14": { + "licenses": "MIT", + "repository": "https://github.com/angular/angular.js", + "publisher": "Angular Core Team", + "email": "angular-core+npm@google.com", + "path": "/Users/akhenry/Code/licenses/node_modules/angular", + "licenseFile": "/Users/akhenry/Code/licenses/node_modules/angular/LICENSE.md", + "licenseText": "The MIT License (MIT)\n\nCopyright (c) 2016 Angular\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.", + "copyright": "Copyright (c) 2016 Angular" + }, + "base64-arraybuffer@0.1.5": { + "licenses": "MIT", + "repository": "https://github.com/niklasvh/base64-arraybuffer", + "publisher": "Niklas von Hertzen", + "email": "niklasvh@gmail.com", + "url": "http://hertzen.com", + "path": "/Users/akhenry/Code/licenses/node_modules/base64-arraybuffer", + "licenseFile": "/Users/akhenry/Code/licenses/node_modules/base64-arraybuffer/LICENSE-MIT", + "licenseText": "Copyright (c) 2012 Niklas von Hertzen\n\nPermission is hereby granted, free of charge, to any person\nobtaining a copy of this software and associated documentation\nfiles (the \"Software\"), to deal in the Software without\nrestriction, including without limitation the rights to use,\ncopy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the\nSoftware is furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\nOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\nHOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\nWHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\nOTHER DEALINGS IN THE SOFTWARE.", + "copyright": "Copyright (c) 2012 Niklas von Hertzen" + }, + "comma-separated-values@3.6.4": { + "licenses": "MIT", + "repository": "https://github.com/knrz/CSV.js", + "publisher": "=", + "email": "hi@knrz.co", + "url": "http://knrz.co/", + "path": "/Users/akhenry/Code/licenses/node_modules/comma-separated-values", + "licenseFile": "/Users/akhenry/Code/licenses/node_modules/comma-separated-values/LICENSE", + "licenseText": "The MIT License (MIT)\n\nCopyright (c) 2014 Kash Nouroozi\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.", + "copyright": "Copyright (c) 2014 Kash Nouroozi" + }, + "css-line-break@1.0.1": { + "licenses": "MIT", + "repository": "https://github.com/niklasvh/css-line-break", + "publisher": "Niklas von Hertzen", + "email": "niklasvh@gmail.com", + "url": "https://hertzen.com", + "path": "/Users/akhenry/Code/licenses/node_modules/css-line-break", + "licenseFile": "/Users/akhenry/Code/licenses/node_modules/css-line-break/LICENSE", + "licenseText": "Copyright (c) 2017 Niklas von Hertzen\n\nPermission is hereby granted, free of charge, to any person\nobtaining a copy of this software and associated documentation\nfiles (the \"Software\"), to deal in the Software without\nrestriction, including without limitation the rights to use,\ncopy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the\nSoftware is furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\nOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\nHOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\nWHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\nOTHER DEALINGS IN THE SOFTWARE.", + "copyright": "Copyright (c) 2017 Niklas von Hertzen" + }, + "d3-array@1.2.4": { + "licenses": "BSD-3-Clause", + "repository": "https://github.com/d3/d3-array", + "publisher": "Mike Bostock", + "url": "http://bost.ocks.org/mike", + "path": "/Users/akhenry/Code/licenses/node_modules/d3-array", + "licenseFile": "/Users/akhenry/Code/licenses/node_modules/d3-array/LICENSE", + "licenseText": "Copyright 2010-2016 Mike Bostock\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n* Neither the name of the author nor the names of contributors may be used to\n endorse or promote products derived from this software without specific prior\n written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR\nANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\nANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.", + "copyright": "Copyright 2010-2016 Mike Bostock. All rights reserved." + }, + "d3-axis@1.0.12": { + "licenses": "BSD-3-Clause", + "repository": "https://github.com/d3/d3-axis", + "publisher": "Mike Bostock", + "url": "http://bost.ocks.org/mike", + "path": "/Users/akhenry/Code/licenses/node_modules/d3-axis", + "licenseFile": "/Users/akhenry/Code/licenses/node_modules/d3-axis/LICENSE", + "licenseText": "Copyright 2010-2016 Mike Bostock\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n* Neither the name of the author nor the names of contributors may be used to\n endorse or promote products derived from this software without specific prior\n written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR\nANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\nANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.", + "copyright": "Copyright 2010-2016 Mike Bostock. All rights reserved." + }, + "d3-collection@1.0.7": { + "licenses": "BSD-3-Clause", + "repository": "https://github.com/d3/d3-collection", + "publisher": "Mike Bostock", + "url": "http://bost.ocks.org/mike", + "path": "/Users/akhenry/Code/licenses/node_modules/d3-collection", + "licenseFile": "/Users/akhenry/Code/licenses/node_modules/d3-collection/LICENSE", + "licenseText": "Copyright 2010-2016, Mike Bostock\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n* Neither the name of the author nor the names of contributors may be used to\n endorse or promote products derived from this software without specific prior\n written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR\nANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\nANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.", + "copyright": "Copyright 2010-2016, Mike Bostock. All rights reserved." + }, + "d3-color@1.0.4": { + "licenses": "BSD-3-Clause", + "repository": "https://github.com/d3/d3-color", + "publisher": "Mike Bostock", + "url": "http://bost.ocks.org/mike", + "path": "/Users/akhenry/Code/licenses/node_modules/d3-color", + "licenseFile": "/Users/akhenry/Code/licenses/node_modules/d3-color/LICENSE", + "licenseText": "Copyright 2010-2016 Mike Bostock\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n* Neither the name of the author nor the names of contributors may be used to\n endorse or promote products derived from this software without specific prior\n written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR\nANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\nANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.", + "copyright": "Copyright 2010-2016 Mike Bostock. All rights reserved." + }, + "d3-format@1.2.2": { + "licenses": "BSD-3-Clause", + "repository": "https://github.com/d3/d3-format", + "publisher": "Mike Bostock", + "url": "http://bost.ocks.org/mike", + "path": "/Users/akhenry/Code/licenses/node_modules/d3-format", + "licenseFile": "/Users/akhenry/Code/licenses/node_modules/d3-format/LICENSE", + "licenseText": "Copyright 2010-2015 Mike Bostock\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n* Neither the name of the author nor the names of contributors may be used to\n endorse or promote products derived from this software without specific prior\n written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR\nANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\nANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.", + "copyright": "Copyright 2010-2015 Mike Bostock. All rights reserved." + }, + "d3-interpolate@1.1.6": { + "licenses": "BSD-3-Clause", + "repository": "https://github.com/d3/d3-interpolate", + "publisher": "Mike Bostock", + "url": "http://bost.ocks.org/mike", + "path": "/Users/akhenry/Code/licenses/node_modules/d3-interpolate", + "licenseFile": "/Users/akhenry/Code/licenses/node_modules/d3-interpolate/LICENSE", + "licenseText": "Copyright 2010-2016 Mike Bostock\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n* Neither the name of the author nor the names of contributors may be used to\n endorse or promote products derived from this software without specific prior\n written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR\nANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\nANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.", + "copyright": "Copyright 2010-2016 Mike Bostock. All rights reserved." + }, + "d3-scale@1.0.7": { + "licenses": "BSD-3-Clause", + "repository": "https://github.com/d3/d3-scale", + "publisher": "Mike Bostock", + "url": "http://bost.ocks.org/mike", + "path": "/Users/akhenry/Code/licenses/node_modules/d3-scale", + "licenseFile": "/Users/akhenry/Code/licenses/node_modules/d3-scale/LICENSE", + "licenseText": "Copyright 2010-2015 Mike Bostock\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n* Neither the name of the author nor the names of contributors may be used to\n endorse or promote products derived from this software without specific prior\n written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR\nANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\nANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.", + "copyright": "Copyright 2010-2015 Mike Bostock. All rights reserved." + }, + "d3-selection@1.3.2": { + "licenses": "BSD-3-Clause", + "repository": "https://github.com/d3/d3-selection", + "publisher": "Mike Bostock", + "url": "https://bost.ocks.org/mike", + "path": "/Users/akhenry/Code/licenses/node_modules/d3-selection", + "licenseFile": "/Users/akhenry/Code/licenses/node_modules/d3-selection/LICENSE", + "licenseText": "Copyright (c) 2010-2018, Michael Bostock\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n* The name Michael Bostock may not be used to endorse or promote products\n derived from this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL MICHAEL BOSTOCK BE LIABLE FOR ANY DIRECT,\nINDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\nBUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\nOF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\nNEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\nEVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.", + "copyright": "Copyright (c) 2010-2018, Michael Bostock. All rights reserved." + }, + "d3-time-format@2.1.3": { + "licenses": "BSD-3-Clause", + "repository": "https://github.com/d3/d3-time-format", + "publisher": "Mike Bostock", + "url": "http://bost.ocks.org/mike", + "path": "/Users/akhenry/Code/licenses/node_modules/d3-time-format", + "licenseFile": "/Users/akhenry/Code/licenses/node_modules/d3-time-format/LICENSE", + "licenseText": "Copyright 2010-2017 Mike Bostock\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n* Neither the name of the author nor the names of contributors may be used to\n endorse or promote products derived from this software without specific prior\n written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR\nANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\nANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.", + "copyright": "Copyright 2010-2017 Mike Bostock. All rights reserved." + }, + "d3-time@1.0.10": { + "licenses": "BSD-3-Clause", + "repository": "https://github.com/d3/d3-time", + "publisher": "Mike Bostock", + "url": "http://bost.ocks.org/mike", + "path": "/Users/akhenry/Code/licenses/node_modules/d3-time", + "licenseFile": "/Users/akhenry/Code/licenses/node_modules/d3-time/LICENSE", + "licenseText": "Copyright 2010-2016 Mike Bostock\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n* Neither the name of the author nor the names of contributors may be used to\n endorse or promote products derived from this software without specific prior\n written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR\nANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\nANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.", + "copyright": "Copyright 2010-2016 Mike Bostock. All rights reserved." + }, + "eventemitter3@1.2.0": { + "licenses": "MIT", + "repository": "https://github.com/primus/eventemitter3", + "publisher": "Arnout Kazemier", + "path": "/Users/akhenry/Code/licenses/node_modules/eventemitter3", + "licenseFile": "/Users/akhenry/Code/licenses/node_modules/eventemitter3/LICENSE", + "licenseText": "The MIT License (MIT)\n\nCopyright (c) 2014 Arnout Kazemier\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.", + "copyright": "Copyright (c) 2014 Arnout Kazemier" + }, + "file-saver@1.3.8": { + "licenses": "MIT", + "repository": "https://github.com/eligrey/FileSaver.js", + "publisher": "Eli Grey", + "email": "me@eligrey.com", + "path": "/Users/akhenry/Code/licenses/node_modules/file-saver", + "licenseFile": "/Users/akhenry/Code/licenses/node_modules/file-saver/LICENSE.md", + "licenseText": "The MIT License\n\nCopyright © 2016 [Eli Grey][1].\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n [1]: http://eligrey.com", + "copyright": "Copyright © 2016 [Eli Grey][1]." + }, + "html2canvas@1.0.0-alpha.12": { + "licenses": "MIT", + "repository": "https://github.com/niklasvh/html2canvas", + "publisher": "Niklas von Hertzen", + "email": "niklasvh@gmail.com", + "url": "https://hertzen.com", + "path": "/Users/akhenry/Code/licenses/node_modules/html2canvas", + "licenseFile": "/Users/akhenry/Code/licenses/node_modules/html2canvas/LICENSE", + "licenseText": "Copyright (c) 2012 Niklas von Hertzen\n\nPermission is hereby granted, free of charge, to any person\nobtaining a copy of this software and associated documentation\nfiles (the \"Software\"), to deal in the Software without\nrestriction, including without limitation the rights to use,\ncopy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the\nSoftware is furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\nOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\nHOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\nWHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\nOTHER DEALINGS IN THE SOFTWARE.", + "copyright": "Copyright (c) 2012 Niklas von Hertzen" + }, + "location-bar@3.0.1": { + "licenses": "BSD-2-Clause", + "repository": "https://github.com/KidkArolis/location-bar", + "publisher": "Karolis Narkevicius", + "path": "/Users/akhenry/Code/licenses/node_modules/location-bar", + "licenseFile": "/Users/akhenry/Code/licenses/node_modules/location-bar/README.md", + "licenseText": "" + }, + "lodash@3.10.1": { + "licenses": "MIT", + "repository": "https://github.com/lodash/lodash", + "publisher": "John-David Dalton", + "email": "john.david.dalton@gmail.com", + "url": "http://allyoucanleet.com/", + "path": "/Users/akhenry/Code/licenses/node_modules/lodash", + "licenseFile": "/Users/akhenry/Code/licenses/node_modules/lodash/LICENSE", + "licenseText": "Copyright 2012-2015 The Dojo Foundation \nBased on Underscore.js, copyright 2009-2015 Jeremy Ashkenas,\nDocumentCloud and Investigative Reporters & Editors \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.", + "copyright": "Copyright 2012-2015 The Dojo Foundation . Based on Underscore.js, copyright 2009-2015 Jeremy Ashkenas,. DocumentCloud and Investigative Reporters & Editors " + }, + "moment-duration-format@2.2.2": { + "licenses": "MIT", + "repository": "https://github.com/jsmreese/moment-duration-format", + "path": "/Users/akhenry/Code/licenses/node_modules/moment-duration-format", + "licenseFile": "/Users/akhenry/Code/licenses/node_modules/moment-duration-format/LICENSE", + "licenseText": "The MIT License (MIT)\n\nCopyright (c) 2018 John Madhavan-Reese\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.", + "copyright": "Copyright (c) 2018 John Madhavan-Reese" + }, + "moment-timezone@0.5.23": { + "licenses": "MIT", + "repository": "https://github.com/moment/moment-timezone", + "publisher": "Tim Wood", + "email": "washwithcare@gmail.com", + "url": "http://timwoodcreates.com/", + "path": "/Users/akhenry/Code/licenses/node_modules/moment-timezone", + "licenseFile": "/Users/akhenry/Code/licenses/node_modules/moment-timezone/LICENSE", + "licenseText": "The MIT License (MIT)\r\n\r\nCopyright (c) JS Foundation and other contributors\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining a copy of\r\nthis software and associated documentation files (the \"Software\"), to deal in\r\nthe Software without restriction, including without limitation the rights to\r\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\r\nthe Software, and to permit persons to whom the Software is furnished to do so,\r\nsubject to the following conditions:\r\n\r\nThe above copyright notice and this permission notice shall be included in all\r\ncopies or substantial portions of the Software.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\r\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\r\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\r\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.", + "copyright": "Copyright (c) JS Foundation and other contributors" + }, + "moment@2.24.0": { + "licenses": "MIT", + "repository": "https://github.com/moment/moment", + "publisher": "Iskren Ivov Chernev", + "email": "iskren.chernev@gmail.com", + "url": "https://github.com/ichernev", + "path": "/Users/akhenry/Code/licenses/node_modules/moment", + "licenseFile": "/Users/akhenry/Code/licenses/node_modules/moment/LICENSE", + "licenseText": "Copyright (c) JS Foundation and other contributors\n\nPermission is hereby granted, free of charge, to any person\nobtaining a copy of this software and associated documentation\nfiles (the \"Software\"), to deal in the Software without\nrestriction, including without limitation the rights to use,\ncopy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the\nSoftware is furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\nOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\nHOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\nWHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\nOTHER DEALINGS IN THE SOFTWARE.", + "copyright": "Copyright (c) JS Foundation and other contributors" + }, + "painterro@0.2.71": { + "licenses": "MIT", + "publisher": "Ivan Borshchov", + "path": "/Users/akhenry/Code/licenses/node_modules/painterro", + "licenseFile": "/Users/akhenry/Code/licenses/node_modules/painterro/LICENSE", + "licenseText": "The MIT License (MIT)\n\nCopyright (c) 2017 Ivan Borshchov\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.", + "copyright": "Copyright (c) 2017 Ivan Borshchov" + }, + "printj@1.2.1": { + "licenses": "Apache-2.0", + "repository": "https://github.com/SheetJS/printj", + "publisher": "sheetjs", + "path": "/Users/akhenry/Code/licenses/node_modules/printj", + "licenseFile": "/Users/akhenry/Code/licenses/node_modules/printj/LICENSE", + "licenseText": "Copyright (C) 2016-present SheetJS\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.", + "copyright": "Copyright (C) 2016-present SheetJS" + }, + "vue@2.5.6": { + "licenses": "MIT", + "repository": "https://github.com/vuejs/vue", + "publisher": "Evan You", + "path": "/Users/akhenry/Code/licenses/node_modules/vue", + "licenseFile": "/Users/akhenry/Code/licenses/node_modules/vue/LICENSE", + "licenseText": "The MIT License (MIT)\n\nCopyright (c) 2013-present, Yuxi (Evan) You\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.", + "copyright": "Copyright (c) 2013-present, Yuxi (Evan) You" + }, + "zepto@1.2.0": { + "licenses": "MIT", + "repository": "https://github.com/madrobby/zepto", + "path": "/Users/akhenry/Code/licenses/node_modules/zepto", + "licenseFile": "/Users/akhenry/Code/licenses/node_modules/zepto/README.md", + "licenseText": "Copyright (c) 2010-2018 Thomas Fuchs\nhttp://zeptojs.com/\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE." + } +} + diff --git a/src/styles-new/_about.scss b/src/styles-new/_about.scss new file mode 100644 index 0000000000..8f2b66d405 --- /dev/null +++ b/src/styles-new/_about.scss @@ -0,0 +1,122 @@ +/***************************************************************************** + * Open MCT, Copyright (c) 2014-2019, 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. + *****************************************************************************/ + +// Used by About screen, licenses, etc. +.c-about { + &--splash { + // Large initial image after click on app logo with text beneath + @include abs(); + display: flex; + flex-direction: column; + } + + > * + * { + margin-top: $interiorMargin; + } + + &__image, + &__text { + height: 50%; + flex: 1 1 0; + position: relative; + } + + &__image { + background-position: center; + background-repeat: no-repeat; + background-size: cover; + background-image: url('../ui/layout/assets/images/bg-splash.jpg'); + position: relative; + + &:before, + &:after { + background-position: center; + background-repeat: no-repeat; + position: absolute; + background-image: url('../ui/layout/assets/images/logo-app-shdw.svg'); + background-size: contain; + content: ''; + } + + &:before { + // NASA logo, dude + $w: 5%; + $m: 10px; + background-image: url('../ui/layout/assets/images/logo-nasa.svg'); + top: $m; + right: auto; + bottom: auto; + left: $m; + height: auto; + width: $w * 2; + padding-bottom: $w; + padding-top: $w; + } + + &:after { + // App logo + top: 0; + right: 15%; + bottom: 0; + left: 15%; + } + } + + &__text { + overflow: auto; + } + + &--licenses { + padding: 0 10%; + .c-license { + &__text { + color: pushBack($overlayColorFg, 20%); + } + + + .c-license { + border-top: 1px solid $colorInteriorBorder; + margin-top: 2em; + } + } + } + + a { + color: $colorAboutLink; + } + + em { + color: pushBack($overlayColorFg, 20%); + } + + h1, h2, h3 { + font-weight: normal; + margin-bottom: 1em; + } + + h1 { + font-size: 2.25em; + } + + h2 { + font-size: 1.5em; + } +} \ No newline at end of file diff --git a/src/styles-new/_constants-espresso.scss b/src/styles-new/_constants-espresso.scss index b0c3df6076..1d5cc109ee 100644 --- a/src/styles-new/_constants-espresso.scss +++ b/src/styles-new/_constants-espresso.scss @@ -361,7 +361,7 @@ $colorMobilePaneLeftTreeItemFg: $colorItemTreeFg; $colorMobileSelectListTreeItemBg: rgba(#000, 0.05); // About Screen -$colorAboutLink: $colorKeySubtle; +$colorAboutLink: #9bb5ff; // Loading $colorLoadingFg: #776ba2; diff --git a/src/styles-new/_constants.scss b/src/styles-new/_constants.scss index d6241e2841..36a614b26b 100644 --- a/src/styles-new/_constants.scss +++ b/src/styles-new/_constants.scss @@ -40,6 +40,7 @@ $menuLineH: 1.5rem; $treeItemIndent: 16px; $treeTypeIconW: 18px; $overlayOuterMarginLg: 5%; +$overlayOuterMarginFullscreen: 0%; $overlayOuterMarginDialog: 20%; $overlayInnerMargin: 25px; /*************** Items */ diff --git a/src/styles-new/_global.scss b/src/styles-new/_global.scss index ff28bc711b..84a8621d78 100644 --- a/src/styles-new/_global.scss +++ b/src/styles-new/_global.scss @@ -102,20 +102,6 @@ em { font-style: normal; } -h1, h2, h3 { - letter-spacing: 0.04em; - margin: 0; -} - -h1 { - font-size: 1em; - font-weight: normal !important; - letter-spacing: 0.04em; - line-height: 120%; - margin-bottom: 20px; - margin-top: 0; -} - p { margin-bottom: $interiorMarginLg; } diff --git a/src/ui/layout/AboutDialog.vue b/src/ui/layout/AboutDialog.vue new file mode 100644 index 0000000000..7829450d44 --- /dev/null +++ b/src/ui/layout/AboutDialog.vue @@ -0,0 +1,39 @@ + + \ No newline at end of file diff --git a/src/ui/layout/AppLogo.vue b/src/ui/layout/AppLogo.vue new file mode 100644 index 0000000000..62075a28d8 --- /dev/null +++ b/src/ui/layout/AppLogo.vue @@ -0,0 +1,62 @@ +/***************************************************************************** + * Open MCT, Copyright (c) 2014-2019, 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. + *****************************************************************************/ + + + \ No newline at end of file diff --git a/src/ui/layout/Layout.vue b/src/ui/layout/Layout.vue index 5beb290f85..e535c255a7 100644 --- a/src/ui/layout/Layout.vue +++ b/src/ui/layout/Layout.vue @@ -14,7 +14,7 @@ @click="fullScreenToggle"> - + @@ -261,6 +261,7 @@ import BrowseBar from './BrowseBar.vue'; import StatusBar from './status-bar/StatusBar.vue'; import Toolbar from '../toolbar/Toolbar.vue'; + import AppLogo from './AppLogo.vue'; var enterFullScreen = () => { var docElm = document.documentElement; @@ -302,7 +303,8 @@ pane, BrowseBar, StatusBar, - Toolbar + Toolbar, + AppLogo }, mounted() { this.openmct.editor.on('isEditing', (isEditing)=>{ diff --git a/src/ui/layout/assets/images/bg-splash.jpg b/src/ui/layout/assets/images/bg-splash.jpg new file mode 100644 index 0000000000..77a2b0481a Binary files /dev/null and b/src/ui/layout/assets/images/bg-splash.jpg differ diff --git a/src/ui/layout/assets/images/logo-app-shdw.svg b/src/ui/layout/assets/images/logo-app-shdw.svg new file mode 100644 index 0000000000..17eeaa8c6e --- /dev/null +++ b/src/ui/layout/assets/images/logo-app-shdw.svg @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/src/ui/layout/assets/images/logo-app.svg b/src/ui/layout/assets/images/logo-app.svg new file mode 100644 index 0000000000..b328671336 --- /dev/null +++ b/src/ui/layout/assets/images/logo-app.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + diff --git a/src/ui/layout/assets/images/logo-nasa.svg b/src/ui/layout/assets/images/logo-nasa.svg new file mode 100644 index 0000000000..4b145e390e --- /dev/null +++ b/src/ui/layout/assets/images/logo-nasa.svg @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/webpack.config.js b/webpack.config.js index 588ac23f33..524890d3a1 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,12 +1,20 @@ const path = require('path'); const bourbon = require('node-bourbon'); +const packageDefinition = require('./package.json'); const MiniCssExtractPlugin = require("mini-css-extract-plugin"); const CopyWebpackPlugin = require('copy-webpack-plugin'); +const webpack = require('webpack'); const devMode = process.env.NODE_ENV !== 'production'; const VueLoaderPlugin = require('vue-loader/lib/plugin'); // TODO: Build Constants w/ git-rev-sync +const gitRevision = require('child_process') + .execSync('git rev-parse HEAD') + .toString().trim(); +const gitBranch = require('child_process') + .execSync('git rev-parse --abbrev-ref HEAD') + .toString().trim(); const webpackConfig = { mode: devMode ? 'development' : 'production', @@ -32,6 +40,12 @@ const webpackConfig = { }, devtool: devMode ? 'eval-source-map' : 'source-map', plugins: [ + new webpack.DefinePlugin({ + __OPENMCT_VERSION__: `'${packageDefinition.version}'`, + __OPENMCT_BUILD_DATE__: `'${new Date()}'`, + __OPENMCT_REVISION__: `'${gitRevision}'`, + __OPENMCT_BUILD_BRANCH__: `'${gitBranch}'` + }), new VueLoaderPlugin(), new MiniCssExtractPlugin({ path: 'assets/styles/',