mirror of
https://github.com/nasa/openmct.git
synced 2024-12-24 15:26:39 +00:00
d13d59bfa0
* Support displaying and adding telemerty points in display layouts. * Create TelemetryView component. Also disable the toolbar frame button for telemetry objects. * Add 'components' directory and move the toolbar provider definition to a separate file. * Saving work * Saving work * Saving work * Fix telemetryClass * Fixes for .no-frame in new markup structure - CSS cleaned up and reorganized; - Added .c-telemetry-view classes; * Add computed properties for hiding label and value. * Filter value meta data based on the item config display mode. * Add drop down menus for display mode and value * Add toolbar controls for telemerty points * Set border and fill related styles on telemetry view instead of layout item * Refinements to telemetry view - Stoke and fill styling now work; - Internal element layout now much better when sizing in a Layout frame; - Tweaked color of frame border while editing; * Prevents adding a new (panel) object if it's already in the composition. * Fix for jumping edit area - Removed v-if from Toolbar.vue; - Refined c-toolbar styling; - TODO: don't include toolbar component when not editing, and for components that don't use a toolbar; * Add a separator toolbar control * Check for domainObject being on the toolbar item as not all controls have that property * Hide 'no fill' option from the text palette. Modify the color-picker component to say 'No border' for stroke palette. * Move the listener for hasFrame to the subobject view configuration * Fixes for toolbar-separator - New mixin; - Corrected markup for separator; - New class for .c-toolbar__separator; - Updated DisplayLayoutToolbar.js to include separators in the right spots; * Get type from item. * Include copyright notice. * Use arrow function for consistency and define a TEXT_SIZE constant. * Use composition API to add non-telemetry objects instead of relying on the drop handler. Display a blocking dialog if an existing non-telemetry object is dropped. * Fix text color picker icon * Address reviewer's feedback * Load the composition and update addObject() to render existing panels as well. Also, cache the telemetry value formatter. * Add listener for changes to time bounds. * Code cleanup * Use getFormatMap() to store formats. Reset telemetry value and class before fetching new data. * Fix a typo * Define telemetry class and value as computed properties. * Change context object definition * Look at the telemetry metadata to find a good default for the value key instead of defaulting to 'sin'. Also, make formats reactive. * Use let instead of var.
105 lines
3.1 KiB
JavaScript
105 lines
3.1 KiB
JavaScript
const path = require('path');
|
|
const bourbon = require('node-bourbon');
|
|
|
|
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
|
|
const CopyWebpackPlugin = require('copy-webpack-plugin');
|
|
|
|
const devMode = process.env.NODE_ENV !== 'production';
|
|
const VueLoaderPlugin = require('vue-loader/lib/plugin');
|
|
// TODO: Build Constants w/ git-rev-sync
|
|
|
|
const webpackConfig = {
|
|
mode: devMode ? 'development' : 'production',
|
|
entry: {
|
|
openmct: './openmct.js',
|
|
},
|
|
output: {
|
|
filename: '[name].js',
|
|
library: '[name]',
|
|
path: path.resolve(__dirname, 'dist')
|
|
},
|
|
resolve: {
|
|
alias: {
|
|
"legacyRegistry": path.join(__dirname, "src/legacyRegistry"),
|
|
"saveAs": "file-saver",
|
|
"csv": "comma-separated-values",
|
|
"EventEmitter": "eventemitter3",
|
|
"bourbon": "bourbon.scss",
|
|
"espresso": path.join(__dirname, "src/styles/theme-espresso.scss"),
|
|
"snow": path.join(__dirname, "src/styles/theme-snow.scss"),
|
|
"vue": path.join(__dirname, "node_modules/vue/dist/vue.js"),
|
|
"d3-scale": path.join(__dirname, "node_modules/d3-scale/build/d3-scale.min.js"),
|
|
"styles": path.join(__dirname, "src/styles-new")
|
|
}
|
|
},
|
|
devtool: devMode ? 'eval-source-map' : 'source-map',
|
|
plugins: [
|
|
new VueLoaderPlugin(),
|
|
new MiniCssExtractPlugin({
|
|
path: 'assets/styles/',
|
|
filename: '[name].css'
|
|
}),
|
|
new CopyWebpackPlugin([
|
|
{
|
|
from: 'src/images/favicons',
|
|
to: 'favicons'
|
|
},
|
|
{
|
|
from: './index.html',
|
|
transform: function (content) {
|
|
return content.toString().replace(/dist\//g, '');
|
|
}
|
|
}
|
|
])
|
|
],
|
|
module: {
|
|
rules: [
|
|
{
|
|
test: /\.(sc|sa|c)ss$/,
|
|
use: [
|
|
devMode ? 'style-loader': MiniCssExtractPlugin.loader,
|
|
'css-loader',
|
|
{
|
|
loader: 'fast-sass-loader',
|
|
options: {
|
|
includePaths: bourbon.includePaths
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
test: /\.html$/,
|
|
use: 'html-loader'
|
|
},
|
|
{
|
|
test: /zepto/,
|
|
use: [
|
|
"imports-loader?this=>window",
|
|
"exports-loader?Zepto"
|
|
]
|
|
},
|
|
{
|
|
test: /\.(jpg|jpeg|png|svg|ico|woff2?|eot|ttf)$/,
|
|
loader: 'file-loader',
|
|
options: {
|
|
name: '[name].[ext]',
|
|
useRelativePath: true,
|
|
outputPath: 'assets/'
|
|
}
|
|
},
|
|
{
|
|
test: /\.vue$/,
|
|
use: 'vue-loader'
|
|
}
|
|
]
|
|
},
|
|
stats: {
|
|
modules: false,
|
|
timings: true,
|
|
colors: true,
|
|
warningsFilter: /asset size limit/g
|
|
}
|
|
};
|
|
|
|
module.exports = webpackConfig;
|