5 Commits

Author SHA1 Message Date
Lukas F. Hartmann
a5914ab600 bump to node 18; remove audiowaveform build from dockerfile 2023-09-21 20:58:24 +02:00
Lukas F. Hartmann
1d7a014fd4 Merge branch 'LumberjackOtters-mnt' into mnt 2023-09-21 20:44:11 +02:00
Lukas F. Hartmann
43577337aa update code for sequelize upgrade 2023-09-21 20:40:03 +02:00
PurpleBabar
eb9c767afc feat: dockerfile update 2023-09-20 18:49:39 +02:00
PurpleBabar
cf8902f3c5 feat: move to node v16 and adding a pan tool 2023-09-20 18:27:34 +02:00
13 changed files with 4918 additions and 29 deletions

View File

@@ -1,26 +1,7 @@
FROM node:10-alpine3.11
FROM node:18-alpine
WORKDIR /app
# build audiowaveform from source
RUN apk add git make cmake gcc g++ libmad-dev libid3tag-dev libsndfile-dev gd-dev boost-dev libgd libpng-dev zlib-dev opus-dev
RUN apk add zlib-static libpng-static boost-static
RUN apk add autoconf automake libtool gettext
RUN wget https://github.com/xiph/flac/archive/1.3.3.tar.gz
RUN tar xzf 1.3.3.tar.gz
RUN cd flac-1.3.3/ && ./autogen.sh
RUN cd flac-1.3.3/ && ./configure --enable-shared=no
RUN cd flac-1.3.3/ && make
RUN cd flac-1.3.3/ && make install
RUN git clone https://github.com/bbc/audiowaveform.git
RUN mkdir audiowaveform/build/
RUN cd audiowaveform/build/ && cmake -D ENABLE_TESTS=0 -D BUILD_STATIC=1 ..
RUN cd audiowaveform/build/ && make
RUN cd audiowaveform/build/ && make install
# install chromium
RUN apk add --no-cache \
chromium \

View File

@@ -31,7 +31,7 @@ We appreciate filed issues, pull requests and general discussion.
Spacedeck requires:
- Node.js 10.x: Web Server / API. Download: https://nodejs.org
- Node.js 18.x: Web Server / API. Download: https://nodejs.org
- Graphicsmagick. On non-Linux, Download: http://www.graphicsmagick.org/ On Linux, install via package manager.
- Optionally ffmpeg, audiowaveform and ghostscript. See "Optional Dependencies" below.

View File

@@ -8,7 +8,8 @@ const path = require('path')
const db = require('../models/db')
const Sequelize = require('sequelize')
const Op = Sequelize.Op
const uuidv4 = require('uuid/v4')
const { v4: uuidv4 } = require('uuid');
require('../models/db')

View File

@@ -199,6 +199,7 @@
"tool_scribble": "Scribble",
"tool_line": "Line",
"tool_arrow": "Arrow",
"tool_pan": "Pan",
"search_media_placeholder": "Search web media…",
"add_zone": "New Zone",
"palette": "Palette",

View File

@@ -2562,6 +2562,17 @@ var SpacedeckSections = {
this.opened_dialog = "none";
},
start_pan: function(evt) {
this.deselect();
if (this.active_tool == "pan") {
this.active_tool = "pointer";
} else {
this.active_tool = "pan";
}
this.opened_dialog = "none";
},
start_drawing_scribble: function(evt) {
this.deselect();
if (this.active_tool == "scribble") {

View File

@@ -733,7 +733,7 @@ function setup_whiteboard_directives() {
return;
}
if (_.include(["zoom", "scribble"], $scope.active_tool)) {
if (_.include(["zoom", "scribble", "pan"], $scope.active_tool)) {
// tools that stay active after use
this.mouse_state = "idle";
$scope.mouse_state = this.mouse_state;

View File

@@ -14,7 +14,7 @@ var router = express.Router();
const db = require('../../models/db');
const Sequelize = require('sequelize');
const Op = Sequelize.Op;
const uuidv4 = require('uuid/v4');
const { v4: uuidv4 } = require('uuid');
router.get('/:membership_id/accept', function(req, res, next) {
if (req.user) {

View File

@@ -6,7 +6,7 @@ const os = require('os');
const db = require('../../models/db');
const Sequelize = require('sequelize');
const Op = Sequelize.Op;
const uuidv4 = require('uuid/v4');
const { v4: uuidv4 } = require('uuid');
var payloadConverter = require('../../helpers/artifact_converter');
var redis = require('../../helpers/redis');

View File

@@ -3,7 +3,7 @@ var config = require('config');
const db = require('../../models/db');
const Sequelize = require('sequelize');
const Op = Sequelize.Op;
const uuidv4 = require('uuid/v4');
const { v4: uuidv4 } = require('uuid');
var redis = require('../../helpers/redis');
var mailer = require('../../helpers/mailer');

View File

@@ -3,7 +3,7 @@ var config = require('config');
const db = require('../../models/db');
const Sequelize = require('sequelize');
const Op = Sequelize.Op;
const uuidv4 = require('uuid/v4');
const { v4: uuidv4 } = require('uuid');
var redis = require('../../helpers/redis');
var mailer = require('../../helpers/mailer');

View File

@@ -12,7 +12,7 @@ const _ = require('underscore');
const db = require('../models/db');
const Sequelize = require('sequelize');
const Op = Sequelize.Op;
const uuidv4 = require('uuid/v4');
const { v4: uuidv4 } = require('uuid');
router.get('/', (req, res) => {
res.render('index', { config:config, user:req.user });

View File

@@ -18,6 +18,11 @@
<button class="btn btn-divider"></button>
<button class="btn btn-icon-labeled btn-transparent" v-on:click="start_pan()" v-bind:class="{active:active_tool=='pan'}" title="<%=__("tool_pan")%>">
<span class="icon icon-move"></span>
<span class="icon-label"><%=__("tool_pan")%></span>
</button>
<div class="dropdown top left light" v-bind:class="{open:opened_dialog=='shapes'}">
<div class="btn-collapse in" title="<%=__("tool_shape")%>">
<button class="btn btn-transparent btn-icon-labeled" v-bind:class="{open:opened_dialog=='shapes'}" v-on:click="open_dialog('shapes')">

4890
yarn.lock Normal file

File diff suppressed because it is too large Load Diff