Commit 2101a218 authored by Alfakhori's avatar Alfakhori
Browse files

Merge branch 'Rosenstein' into 'master'

update some ui

See merge request !1
parents bf137ad8 91e89eab
node_modules
node_modules/
node_modules
node_modules
stages:
- test
- deploy
pages-test:
stage: test
script:
- echo "Teste, ob Projektname gesetzt ist..."
- (! grep 'projektname= ""' public/settings.js)
- echo "Teste, ob Projektseitenlink gesetzt ist..."
- (! grep 'projektseitenlink= ""' public/settings.js)
- echo "Teste, ob Kontaktperson gesetzt ist..."
- (! grep 'Max Mustermann' public/kontakt.html)
only:
- Rosenstein
pages:
stage: deploy
script:
- echo "deploy to https://transfer.hft-stuttgart.de/pages/$CI_PROJECT_PATH/"
artifacts:
paths:
- vcm
only:
- Rosenstein
{
"editor.formatOnSave": true,
"editor.defaultFormatter": "standard.vscode-standard"
}
\ No newline at end of file
/* eslint-disable */
require('eventsource-polyfill')
var hotClient = require('webpack-hot-middleware/client?noInfo=true&reload=true')
hotClient.subscribe(function (event) {
if (event.action === 'reload') {
window.location.reload()
}
})
// var config = require('../config')
process.env.NODE_ENV = "development";
var opn = require('opn');
var express = require('express');
var webpack = require('webpack');
var webpackConfig = require('./webpack.dev.conf');
var examples = {
buttons: './src/examples/buttons/buttons.js',
content: './src/examples/content/content.js',
search: './src/examples/search/search.js'
};
if (process.argv.length === 3) {
var argEx = process.argv[2];
if (argEx === 'examples') {
for (var ex in examples) {
webpackConfig.entry.app.push(examples[ex]);
}
} else if (examples[argEx]) {
webpackConfig.entry.app.push(examples[argEx]);
}
}
var port = 8081;
var autoOpenBrowser = true;
var app = express();
var compiler = webpack(webpackConfig);
var devMiddleware = require('webpack-dev-middleware')(compiler, {
publicPath: webpackConfig.output.publicPath,
quiet: true
});
var hotMiddleware = require('webpack-hot-middleware')(compiler, {
log: () => {}
});
// force page reload when html-webpack-plugin template changes
compiler.plugin('compilation', function (compilation) {
compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) {
hotMiddleware.publish({ action: 'reload' });
cb();
});
});
app.use(require('connect-history-api-fallback')());
app.use(devMiddleware);
app.use(hotMiddleware);
// serve pure static assets
app.use("/assets", express.static('./assets'));
app.use("/lib", express.static('./vcm/lib'));
app.use("/config.json", express.static('./vcm/config.json'));
app.use("/css", express.static('./vcm/css'));
app.use("/fonts", express.static('./vcm/fonts'));
app.use("/images", express.static('./vcm/images'));
app.use("/img", express.static('./vcm/img'));
app.use("/templates", express.static('./vcm/templates'));
app.use("/examples", express.static('./vcm/examples'));
app.use("/doc", express.static('./vcm/doc'));
app.use("/datasource-data", express.static('./vcm/datasource-data'));
var uri = 'http://localhost:' + port;
devMiddleware.waitUntilValid(function () {
console.log('> Listening at ' + uri + '\n');
});
module.exports = app.listen(port, function (err) {
if (err) {
console.log(err);
return;
}
// when env is testing, don't need open it
if (autoOpenBrowser && process.env.NODE_ENV !== 'testing') {
opn(uri);
}
});
var path = require('path')
var webpack = require('webpack')
var HtmlWebpackPlugin = require('html-webpack-plugin')
var FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin')
var ScriptExtHtmlWebpackPlugin = require('script-ext-html-webpack-plugin')
function resolve (dir) {
return path.join(__dirname, '..', dir)
}
function cssLoaders (options) {
options = options || {}
var cssLoader = {
loader: 'css-loader',
options: {
minimize: process.env.NODE_ENV === 'production',
sourceMap: options.sourceMap
}
}
// generate loader string to be used with extract text plugin
function generateLoaders (loader, loaderOptions) {
var loaders = [cssLoader]
if (loader) {
loaders.push({
loader: loader + '-loader',
options: Object.assign({}, loaderOptions, {
sourceMap: options.sourceMap
})
})
}
// Extract CSS when that option is specified
// (which is the case during production build)
if (options.extract) {
return ExtractTextPlugin.extract({
use: loaders,
fallback: 'vue-style-loader'
})
} else {
return ['vue-style-loader'].concat(loaders)
}
}
// http://vuejs.github.io/vue-loader/en/configurations/extract-css.html
return {
css: generateLoaders(),
postcss: generateLoaders(),
less: generateLoaders('less'),
sass: generateLoaders('sass', { indentedSyntax: true }),
scss: generateLoaders('sass'),
stylus: generateLoaders('stylus'),
styl: generateLoaders('stylus')
}
}
module.exports = {
entry: {
app: ['./src/index.js', './build/dev-client']
},
output: {
path: path.resolve(__dirname, 'dist'),
filename: '[name].js',
chunkFilename: '[name].js',
publicPath: '/'
},
resolve: {
extensions: ['.js', '.vue', '.json'],
alias: {
'@': resolve('src'),
}
},
module: {
rules: [
{
test: /\.vue$/,
loader: 'vue-loader',
options: {
loaders: cssLoaders({
sourceMap: false,
extract: false
})
}
},
{
test: /\.js$/,
loader: 'babel-loader',
include: [resolve('src')]
}
]
},
devtool: '#cheap-module-eval-source-map',
plugins: [
new webpack.DefinePlugin({
'process.env': { NODE_ENV: '"development"' }
}),
// https://github.com/glenjamin/webpack-hot-middleware#installation--usage
new webpack.HotModuleReplacementPlugin(),
new webpack.NoEmitOnErrorsPlugin(),
// https://github.com/ampedandwired/html-webpack-plugin
new HtmlWebpackPlugin({
filename: 'index.html',
template: './vcm/index.html',
inject: true
}),
new ScriptExtHtmlWebpackPlugin({
defer: 'app.js'
}),
new FriendlyErrorsPlugin()
]
}
process.env.NODE_ENV = 'production'
var path = require('path')
var webpack = require('webpack')
function resolve (dir) {
return path.join(__dirname, '..', dir)
}
function cssLoaders (options) {
options = options || {}
var cssLoader = {
loader: 'css-loader',
options: {
minimize: process.env.NODE_ENV === 'production',
sourceMap: options.sourceMap
}
}
// generate loader string to be used with extract text plugin
function generateLoaders (loader, loaderOptions) {
var loaders = [cssLoader]
if (loader) {
loaders.push({
loader: loader + '-loader',
options: Object.assign({}, loaderOptions, {
sourceMap: options.sourceMap
})
})
}
// Extract CSS when that option is specified
// (which is the case during production build)
if (options.extract) {
return ExtractTextPlugin.extract({
use: loaders,
fallback: 'vue-style-loader'
})
} else {
return ['vue-style-loader'].concat(loaders)
}
}
// http://vuejs.github.io/vue-loader/en/configurations/extract-css.html
return {
css: generateLoaders(),
postcss: generateLoaders(),
less: generateLoaders('less'),
sass: generateLoaders('sass', { indentedSyntax: true }),
scss: generateLoaders('sass'),
stylus: generateLoaders('stylus'),
styl: generateLoaders('stylus')
}
}
const plugins = [
// http://vuejs.github.io/vue-loader/en/workflow/production.html
new webpack.DefinePlugin({
'process.env': { NODE_ENV: '"production"' }
}),
];
if (!process.env.VUE_CLI_MODERN_BUILD) {
plugins.push(new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
},
sourceMap: true
}));
}
module.exports = {
entry: {
plugin: './src/index.js'
},
output: {
path: path.resolve(__dirname, '..', 'dist'),
filename: process.env.VUE_CLI_MODERN_BUILD ? 'plugin._es6.js' : 'plugin.js',
library: process.env.LIBRARY_NAME,
libraryTarget: process.env.LIBRARY_NAME ? 'umd': undefined,
publicPath: './'
},
resolve: {
extensions: ['.js', '.vue', '.json'],
alias: {
'@': resolve('src'),
}
},
module: {
rules: [
{
test: /\.vue$/,
loader: 'vue-loader',
options: {
loaders: cssLoaders({
sourceMap: false,
extract: false
})
}
},
{
test: /\.js$/,
loader: 'babel-loader',
include: [resolve('src')]
},
{
test: /\.(png|jpe?g|gif)(\?.*)?$/,
use: [
{
loader: 'url-loader',
options: {
limit: 10000,
name: 'img/[name].[hash:8].[ext]'
}
}
]
},
{
test: /\.(svg)(\?.*)?$/,
use: [
{
loader: 'file-loader',
options: {
name: 'img/[name].[hash:8].[ext]'
}
}
]
},
{
test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/,
use: [
{
loader: 'url-loader',
options: {
limit: 10000,
name: 'media/[name].[hash:8].[ext]'
}
}
]
},
{
test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/i,
use: [
{
loader: 'url-loader',
options: {
limit: 10000,
name: 'fonts/[name].[hash:8].[ext]'
}
}
]
}
]
},
devtool: false,
plugins,
};
var path = require('path')
var webpack = require('webpack')
function resolve (dir) {
return path.join(__dirname, '..', dir)
}
function cssLoaders (options) {
options = options || {}
var cssLoader = {
loader: 'css-loader',
options: {
minimize: process.env.NODE_ENV === 'production',
sourceMap: options.sourceMap
}
}
// generate loader string to be used with extract text plugin
function generateLoaders (loader, loaderOptions) {
var loaders = [cssLoader]
if (loader) {
loaders.push({
loader: loader + '-loader',
options: Object.assign({}, loaderOptions, {
sourceMap: options.sourceMap
})
})
}
// Extract CSS when that option is specified
// (which is the case during production build)
if (options.extract) {
return ExtractTextPlugin.extract({
use: loaders,
fallback: 'vue-style-loader'
})
} else {
return ['vue-style-loader'].concat(loaders)
}
}
// http://vuejs.github.io/vue-loader/en/configurations/extract-css.html
return {
css: generateLoaders(),
postcss: generateLoaders(),
less: generateLoaders('less'),
sass: generateLoaders('sass', { indentedSyntax: true }),
scss: generateLoaders('sass'),
stylus: generateLoaders('stylus'),
styl: generateLoaders('stylus')
}
}
module.exports = {
output: {
path: path.resolve(__dirname, 'dist'),
filename: '[name].js',
chunkFilename: '[name].js',
publicPath: '/'
},
resolve: {
extensions: ['.js', '.vue', '.json'],
alias: {
'vue$': 'vue/dist/vue.esm.js',
'@': resolve('src')
}
},
module: {
rules: [
{
test: /\.vue$/,
loader: 'vue-loader',
options: {
loaders: cssLoaders({
sourceMap: false,
extract: false
})
}
},
{
test: /\.js$/,
loader: 'babel-loader',
include: [resolve('src'), resolve('test')]
}
]
},
devtool: '#inline-source-map',
plugins: [
new webpack.DefinePlugin({
'process.env': { NODE_ENV: '"testing"' }
})
]
}
/*
* Copyright (C) 2019 HERE Europe B.V.
* Licensed under MIT, see full license in LICENSE
* SPDX-License-Identifier: MIT
* License-Filename: LICENSE
*/
const DEFAULT_PRECISION = 5;
const ENCODING_TABLE = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";
const DECODING_TABLE = [
62, -1, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1, -1,
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
22, 23, 24, 25, -1, -1, -1, -1, 63, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51
];
const FORMAT_VERSION = 1;
const ABSENT = 0;
const LEVEL = 1;
const ALTITUDE = 2;
const ELEVATION = 3;
// Reserved values 4 and 5 should not be selectable
const CUSTOM1 = 6;
const CUSTOM2 = 7;
const Num = typeof BigInt !== "undefined" ? BigInt : Number;
function decode(encoded) {
const decoder = decodeUnsignedValues(encoded);
const header = decodeHeader(decoder[0], decoder[1]);
const factorDegree = 10 ** header.precision;
const factorZ = 10 ** header.thirdDimPrecision;
const { thirdDim } = header;
let lastLat = 0;
let lastLng = 0;
let lastZ = 0;
const res = [];
let i = 2;
for (;i < decoder.length;) {
const deltaLat = toSigned(decoder[i]) / factorDegree;
const deltaLng = toSigned(decoder[i + 1]) / factorDegree;
lastLat += deltaLat;
lastLng += deltaLng;
if (thirdDim) {
const deltaZ = toSigned(decoder[i + 2]) / factorZ;
lastZ += deltaZ;
res.push([lastLat, lastLng, lastZ]);
i += 3;
} else {
res.push([lastLat, lastLng]);
i += 2;
}
}
if (i !== decoder.length) {
throw new Error('Invalid encoding. Premature ending reached');
}
return {
...header,
polyline: res,
};
}
function decodeChar(char) {
const charCode = char.charCodeAt(0);
return DECODING_TABLE[charCode - 45];
}
function decodeUnsignedValues(encoded) {
let result = Num(0);
let shift = Num(0);
const resList = [];
encoded.split('').forEach((char) => {
const value = Num(decodeChar(char));
result |= (value & Num(0x1F)) << shift;
if ((value & Num(0x20)) === Num(0)) {
resList.push(result);
result = Num(0);
shift = Num(0);
} else {
shift += Num(5);
}
});
if (shift > 0) {
throw new Error('Invalid encoding');
}
return resList;
}
function decodeHeader(version, encodedHeader) {
if (+version.toString() !== FORMAT_VERSION) {
throw new Error('Invalid format version');
}
const headerNumber = +encodedHeader.toString();
const precision = headerNumber & 15;
const thirdDim = (headerNumber >> 4) & 7;
const thirdDimPrecision = (headerNumber >> 7) & 15;
return { precision, thirdDim, thirdDimPrecision };
}
function toSigned(val) {
// Decode the sign from an unsigned value
let res = val;
if (res & Num(1)) {
res = ~res;
}
res >>= Num(1);
return +res.toString();
}
function encode({ precision = DEFAULT_PRECISION, thirdDim = ABSENT, thirdDimPrecision = 0, polyline }) {
// Encode a sequence of lat,lng or lat,lng(,{third_dim}). Note that values should be of type BigNumber
// `precision`: how many decimal digits of precision to store the latitude and longitude.
// `third_dim`: type of the third dimension if present in the input.
// `third_dim_precision`: how many decimal digits of precision to store the third dimension.
const multiplierDegree = 10 ** precision;
const multiplierZ = 10 ** thirdDimPrecision;
const encodedHeaderList = encodeHeader(precision, thirdDim, thirdDimPrecision);
const encodedCoords = [];
let lastLat = Num(0);
let lastLng = Num(0);
let lastZ = Num(0);
polyline.forEach((location) => {
const lat = Num(Math.round(location[0] * multiplierDegree));
encodedCoords.push(encodeScaledValue(lat - lastLat));
lastLat = lat;
const lng = Num(Math.round(location[1] * multiplierDegree));
encodedCoords.push(encodeScaledValue(lng - lastLng));
lastLng = lng;
if (thirdDim) {
const z = Num(Math.round(location[2] * multiplierZ));
encodedCoords.push(encodeScaledValue(z - lastZ));
lastZ = z;
}
});
return [...encodedHeaderList, ...encodedCoords].join('');
}
function encodeHeader(precision, thirdDim, thirdDimPrecision) {
// Encode the `precision`, `third_dim` and `third_dim_precision` into one encoded char
if (precision < 0 || precision > 15) {
throw new Error('precision out of range. Should be between 0 and 15');
}
if (thirdDimPrecision < 0 || thirdDimPrecision > 15) {
throw new Error('thirdDimPrecision out of range. Should be between 0 and 15');
}
if (thirdDim < 0 || thirdDim > 7 || thirdDim === 4 || thirdDim === 5) {
throw new Error('thirdDim should be between 0, 1, 2, 3, 6 or 7');
}
const res = (thirdDimPrecision << 7) | (thirdDim << 4) | precision;
return encodeUnsignedNumber(FORMAT_VERSION) + encodeUnsignedNumber(res);
}
function encodeUnsignedNumber(val) {
// Uses variable integer encoding to encode an unsigned integer. Returns the encoded string.
let res = '';
let numVal = Num(val);
while (numVal > 0x1F) {
const pos = (numVal & Num(0x1F)) | Num(0x20);
res += ENCODING_TABLE[pos];
numVal >>= Num(5);
}
return res + ENCODING_TABLE[numVal];
}
function encodeScaledValue(value) {
// Transform a integer `value` into a variable length sequence of characters.
// `appender` is a callable where the produced chars will land to
let numVal = Num(value);
const negative = numVal < 0;
numVal <<= Num(1);
if (negative) {
numVal = ~numVal;
}
return encodeUnsignedNumber(numVal);
}
module.exports = {
encode,
decode,
ABSENT,
LEVEL,
ALTITUDE,
ELEVATION,
};
{
"_esmodule": true,
"ui": {
"plugins": {
"questionnaireWidget": {
}
}
},
"widgets" : {
"type": "vcs.vcm.widgets.Questionnaire",
"name": "Questionnaire"
},
}
\ No newline at end of file
(function(e){var t={};function n(r){if(t[r]){return t[r].exports}var o=t[r]={i:r,l:false,exports:{}};e[r].call(o.exports,o,o.exports,n);o.l=true;return o.exports}n.m=e;n.c=t;n.d=function(e,t,r){if(!n.o(e,t)){Object.defineProperty(e,t,{configurable:false,enumerable:true,get:r})}};n.n=function(e){var t=e&&e.__esModule?function t(){return e["default"]}:function t(){return e};n.d(t,"a",t);return t};n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};n.p="./";return n(n.s=0)})([function(e,t){vcs.ui.registerPlugin({name:"questionnaireWidget",widgetButton:['<LeadButton @click="Questionnaire()">Ques</LeadButton>']});window.Questionnaire=function(){document.getElementById("projektOne").style.display="none";document.getElementById("Energiekonzept").style.display="none";document.getElementById("UmfrageOne").style.display="block";showTour()}}]);
\ No newline at end of file
!function(e){function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}var t={};n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:o})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},n.p="./",n(n.s=0)}([function(e,n){vcs.ui.registerPlugin({name:"questionnaireWidget",widgetButton:['<LeadButton @click="Questionnaire()">Ques</LeadButton>']}),window.Questionnaire=function(){document.getElementById("projektOne").style.display="none",document.getElementById("Energiekonzept").style.display="none",document.getElementById("UmfrageOne").style.display="block",showTour()}}]);
\ No newline at end of file
#!/bin/sh
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
case `uname` in
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
esac
if [ -x "$basedir/node" ]; then
"$basedir/node" "$basedir/../acorn/bin/acorn" "$@"
ret=$?
else
node "$basedir/../acorn/bin/acorn" "$@"
ret=$?
fi
exit $ret
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" "%~dp0\..\acorn\bin\acorn" %*
) ELSE (
@SETLOCAL
@SET PATHEXT=%PATHEXT:;.JS;=;%
node "%~dp0\..\acorn\bin\acorn" %*
)
\ No newline at end of file
#!/bin/sh
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
case `uname` in
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
esac
if [ -x "$basedir/node" ]; then
"$basedir/node" "$basedir/../ansi-html/bin/ansi-html" "$@"
ret=$?
else
node "$basedir/../ansi-html/bin/ansi-html" "$@"
ret=$?
fi
exit $ret
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" "%~dp0\..\ansi-html\bin\ansi-html" %*
) ELSE (
@SETLOCAL
@SET PATHEXT=%PATHEXT:;.JS;=;%
node "%~dp0\..\ansi-html\bin\ansi-html" %*
)
\ No newline at end of file
#!/bin/sh
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
case `uname` in
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
esac
if [ -x "$basedir/node" ]; then
"$basedir/node" "$basedir/../atob/bin/atob.js" "$@"
ret=$?
else
node "$basedir/../atob/bin/atob.js" "$@"
ret=$?
fi
exit $ret
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" "%~dp0\..\atob\bin\atob.js" %*
) ELSE (
@SETLOCAL
@SET PATHEXT=%PATHEXT:;.JS;=;%
node "%~dp0\..\atob\bin\atob.js" %*
)
\ No newline at end of file
#!/bin/sh
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
case `uname` in
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
esac
if [ -x "$basedir/node" ]; then
"$basedir/node" "$basedir/../babylon/bin/babylon.js" "$@"
ret=$?
else
node "$basedir/../babylon/bin/babylon.js" "$@"
ret=$?
fi
exit $ret
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" "%~dp0\..\babylon\bin\babylon.js" %*
) ELSE (
@SETLOCAL
@SET PATHEXT=%PATHEXT:;.JS;=;%
node "%~dp0\..\babylon\bin\babylon.js" %*
)
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment