From e57c13341bf3b2d662b9eb330d0a2c5d33ae7891 Mon Sep 17 00:00:00 2001 From: Janis Hutz Date: Sun, 2 Jul 2023 13:21:59 +0200 Subject: [PATCH] add right click menu + more features for sp editor --- .../components/seatplan/editor/properties.vue | 84 +++++++++++++++- .../src/components/seatplan/editor/window.vue | 6 +- .../components/settings/rightClickMenu.vue | 95 +++++++++++++++++++ src/webapp/src/views/admin/SettingsView.vue | 78 ++++++++++++++- website/src/admin-panel/seatplan-editor.md | 8 +- 5 files changed, 261 insertions(+), 10 deletions(-) create mode 100644 src/webapp/src/components/settings/rightClickMenu.vue diff --git a/src/webapp/src/components/seatplan/editor/properties.vue b/src/webapp/src/components/seatplan/editor/properties.vue index f356885..5c349e9 100644 --- a/src/webapp/src/components/seatplan/editor/properties.vue +++ b/src/webapp/src/components/seatplan/editor/properties.vue @@ -133,12 +133,31 @@ - Seat numbering: + Component number: +
+ info +
+
+
+ With this you can change what the order of the components is which is used to determine the seat numbering. Read more here +
+
+
+
+ - + + + + + + + Numbering direction: + + @@ -239,6 +258,14 @@ export default { } } this.$emit( 'updated', ret ); + }, + showInfo ( box ) { + $( '#' + box ).stop(); + $( '#' + box ).fadeIn( 300 ); + }, + hideInfo ( box ) { + $( '#' + box ).stop(); + $( '#' + box ).fadeOut( 300 ); } }, watch: { @@ -261,3 +288,50 @@ export default { } + diff --git a/src/webapp/src/components/seatplan/editor/window.vue b/src/webapp/src/components/seatplan/editor/window.vue index 82066d1..d9c8d36 100644 --- a/src/webapp/src/components/seatplan/editor/window.vue +++ b/src/webapp/src/components/seatplan/editor/window.vue @@ -71,7 +71,7 @@ data() { return { active: 0, - draggables: { 1: { 'x': 100, 'y':100, 'h': 100, 'w': 250, 'active': false, 'draggable': true, 'resizable': true, 'id': 1, 'origin': 1, 'shape':'rectangular', 'type': 'seat', 'startingRow': 1, 'seatCountingStartingPoint': 1, 'sector': 'A', 'text': { 'text': 'TestText', 'textSize': 20, 'colour': '#20FFFF' } } }, + draggables: { 1: { 'x': 100, 'y':100, 'h': 100, 'w': 250, 'active': false, 'draggable': true, 'resizable': true, 'id': 1, 'origin': 1, 'shape':'rectangular', 'type': 'seat', 'startingRow': 1, 'seatNumberingPosition': 1, 'sector': 'A', 'text': { 'text': 'TestText', 'textSize': 20, 'colour': '#20FFFF' }, 'numberingDirection': 'left' } }, available: { 'redo': false, 'undo': false }, scaleFactor: 1, sizePoll: null, @@ -275,7 +275,9 @@ this.$refs.notification.createNotification( 'Deployed successfully', 5, 'ok', 'normal' ); }, addNewElement () { - this.draggables[ Object.keys( this.draggables ).length + 1 ] = { 'x': 100, 'y':100, 'h': 100, 'w': 250, 'active': false, 'draggable': true, 'resizable': true, 'id': Object.keys( this.draggables ).length + 1, 'origin': 1, 'shape':'rectangular', 'type': 'seat', 'startingRow': 1, 'seatCountingStartingPoint': 0, 'sector': 'A', 'text': { 'text': 'TestText', 'textSize': 20, 'colour': '#20FFFF' }, 'ticketCount': 1 }; + // TODO: Check that this algorithm actually works in practice. If not, replace with one that + // searches for the first available ID or uses a var to determine ID. + this.draggables[ Object.keys( this.draggables ).length + 1 ] = { 'x': 100, 'y':100, 'h': 100, 'w': 250, 'active': false, 'draggable': true, 'resizable': true, 'id': Object.keys( this.draggables ).length + 1, 'origin': 1, 'shape':'rectangular', 'type': 'seat', 'startingRow': 1, 'seatNumberingPosition': Object.keys( this.draggables ).length + 1, 'sector': 'A', 'text': { 'text': 'TestText', 'textSize': 20, 'colour': '#20FFFF' }, 'ticketCount': 1, 'numberingDirection': 'left' }; this.saveHistory(); document.getElementById( 'parent' ).scrollTop = 0; document.getElementById( 'parent' ).scrollLeft = 0; diff --git a/src/webapp/src/components/settings/rightClickMenu.vue b/src/webapp/src/components/settings/rightClickMenu.vue new file mode 100644 index 0000000..cff68f7 --- /dev/null +++ b/src/webapp/src/components/settings/rightClickMenu.vue @@ -0,0 +1,95 @@ + + + + + + + \ No newline at end of file diff --git a/src/webapp/src/views/admin/SettingsView.vue b/src/webapp/src/views/admin/SettingsView.vue index d71f91a..0695f71 100644 --- a/src/webapp/src/views/admin/SettingsView.vue +++ b/src/webapp/src/views/admin/SettingsView.vue @@ -11,20 +11,30 @@

Settings

+ + + + + +
+ Edit settings of the payment gateway + + settings +

Detailed explanation of payment gateways can be found here. You may install more payment gateway integrations in the plugins section.

Admin Accounts

Before setting or editing permissions here, please read the corresponding section of the documentation here.
Usually, the permissions automatically set by the system on account creation should be appropriate.

- - +
@@ -32,16 +42,19 @@