diff --git a/Dockerfile b/Dockerfile index fc11b98..a49d2df 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:10-alpine3.11 +FROM node:16-alpine3.11 WORKDIR /app diff --git a/helpers/importer.js b/helpers/importer.js index 4d50946..e2ceae2 100644 --- a/helpers/importer.js +++ b/helpers/importer.js @@ -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') diff --git a/locales/en.js b/locales/en.js index a8c7062..98456f7 100644 --- a/locales/en.js +++ b/locales/en.js @@ -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", @@ -329,4 +330,4 @@ "tool_space_help_part_one": "Use the toolbar to add content.", "tool_space_help_part_two": "You can also drop images or sound and video files.", "tool_delete_space": "Really delete \"%s\"?" -} +} \ No newline at end of file diff --git a/public/javascripts/spacedeck_sections.js b/public/javascripts/spacedeck_sections.js index 6758a8c..b980698 100644 --- a/public/javascripts/spacedeck_sections.js +++ b/public/javascripts/spacedeck_sections.js @@ -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") { diff --git a/public/javascripts/spacedeck_whiteboard.js b/public/javascripts/spacedeck_whiteboard.js index fca43f0..f2f8325 100644 --- a/public/javascripts/spacedeck_whiteboard.js +++ b/public/javascripts/spacedeck_whiteboard.js @@ -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; diff --git a/routes/api/memberships.js b/routes/api/memberships.js index f25cd1d..725ce2c 100644 --- a/routes/api/memberships.js +++ b/routes/api/memberships.js @@ -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) { diff --git a/routes/api/space_artifacts.js b/routes/api/space_artifacts.js index 699d26b..5e5e122 100644 --- a/routes/api/space_artifacts.js +++ b/routes/api/space_artifacts.js @@ -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'); diff --git a/routes/api/space_memberships.js b/routes/api/space_memberships.js index 8eed84a..517a4ed 100644 --- a/routes/api/space_memberships.js +++ b/routes/api/space_memberships.js @@ -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'); diff --git a/routes/api/space_messages.js b/routes/api/space_messages.js index 5bcfdc1..d42c9a1 100644 --- a/routes/api/space_messages.js +++ b/routes/api/space_messages.js @@ -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'); diff --git a/routes/root.js b/routes/root.js index 02a124d..01d3e20 100644 --- a/routes/root.js +++ b/routes/root.js @@ -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 }); diff --git a/views/partials/tool/toolbar-elements.html b/views/partials/tool/toolbar-elements.html index 646c56a..7fbb258 100644 --- a/views/partials/tool/toolbar-elements.html +++ b/views/partials/tool/toolbar-elements.html @@ -18,6 +18,11 @@ + +