@afeefa/vue-app 0.0.97 → 0.0.99

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- 0.0.97
1
+ 0.0.99
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@afeefa/vue-app",
3
- "version": "0.0.97",
3
+ "version": "0.0.99",
4
4
  "description": "",
5
5
  "author": "Afeefa Kollektiv <kollektiv@afeefa.de>",
6
6
  "license": "MIT",
@@ -32,24 +32,6 @@
32
32
  <v-icon>{{ strikeIcon }}</v-icon>
33
33
  </v-btn>
34
34
 
35
- <v-btn
36
- small
37
- :class="['menu-button', {'is-active': editorFocus && editor.isActive('heading', {level: 1})}]"
38
- title="überschrift 1"
39
- @click="editor.chain().focus().toggleHeading({level: 1}).run()"
40
- >
41
- <v-icon>{{ h1Icon }}</v-icon>
42
- </v-btn>
43
-
44
- <v-btn
45
- small
46
- :class="['menu-button', {'is-active': editorFocus && editor.isActive('heading', {level: 2})}]"
47
- title="pberschrift 2"
48
- @click="editor.chain().focus().toggleHeading({level: 2}).run()"
49
- >
50
- <v-icon>{{ h2Icon }}</v-icon>
51
- </v-btn>
52
-
53
35
  <v-btn
54
36
  small
55
37
  :class="['menu-button', {'is-active': editorFocus && editor.isActive('bulletList')}]"
@@ -80,10 +62,10 @@
80
62
  <v-btn
81
63
  small
82
64
  class="menu-button"
83
- :class="{ 'is-active': editorFocus && editorSelectionIs('#0000FF')}"
84
- title="blau"
85
- color="blue--text"
86
- @click="editorSelectionIs('#0000FF') ? editor.chain().focus().unsetColor().run() : editor.chain().focus().setColor('#0000FF').run()"
65
+ :class="{ 'is-active': editorFocus && editor.isActive('highlight', { color: '#00FF00' })}"
66
+ title="grün"
67
+ color="green--text"
68
+ @click="editor.chain().focus().toggleHighlight({ color: '#00FF00' }).run()"
87
69
  >
88
70
  <v-icon>$paletteIcon</v-icon>
89
71
  </v-btn>
@@ -91,10 +73,21 @@
91
73
  <v-btn
92
74
  small
93
75
  class="menu-button"
94
- :class="{ 'is-active': editorFocus && editorSelectionIs('#FF0000')}"
76
+ :class="{ 'is-active': editorFocus && editor.isActive('highlight', { color: '#FF0000' })}"
95
77
  title="rot"
96
78
  color="red--text"
97
- @click="editorSelectionIs('#FF0000') ? editor.chain().focus().unsetColor().run() : editor.chain().focus().setColor('#FF0000').run()"
79
+ @click="editor.chain().focus().toggleHighlight({ color: '#FF0000' }).run()"
80
+ >
81
+ <v-icon>$paletteIcon</v-icon>
82
+ </v-btn>
83
+
84
+ <v-btn
85
+ small
86
+ class="menu-button"
87
+ :class="{ 'is-active': editorFocus && editor.isActive('highlight', { color: '#FFFF00' })}"
88
+ title="gelb"
89
+ color="yellow--text"
90
+ @click="editor.chain().focus().toggleHighlight({ color: '#FFFF00' }).run()"
98
91
  >
99
92
  <v-icon>$paletteIcon</v-icon>
100
93
  </v-btn>
@@ -141,7 +134,7 @@ import {
141
134
  mdiRotateRight
142
135
  } from '@mdi/js'
143
136
  import { Color } from '@tiptap/extension-color'
144
- import TextStyle from '@tiptap/extension-text-style'
137
+ import Highlight from '@tiptap/extension-highlight'
145
138
 
146
139
  @Component({
147
140
  props: ['value', 'validator', 'focus'],
@@ -183,7 +176,7 @@ export default class ARichTextArea extends Vue {
183
176
  autofocus: this.focus ? 'end' : false,
184
177
  extensions: [
185
178
  StarterKit,
186
- TextStyle,
179
+ Highlight.configure({ multicolor: true }),
187
180
  Color
188
181
  ],
189
182
  onUpdate: () => {
@@ -204,10 +197,6 @@ export default class ARichTextArea extends Vue {
204
197
  this.editor.destroy()
205
198
  }
206
199
 
207
- editorSelectionIs (color) {
208
- return this.editor.isActive('textStyle', { color: color })
209
- }
210
-
211
200
  /**
212
201
  * reset the text area to disable the undo button
213
202
  * e.g. after saving the form while keeping it open
@@ -5,6 +5,7 @@
5
5
  */
6
6
 
7
7
  class CascadingWindowEventDispatcher {
8
+ windowListeners = {}
8
9
  listeners = {}
9
10
 
10
11
  addEventListener (event, listener) {
@@ -12,9 +13,7 @@ class CascadingWindowEventDispatcher {
12
13
  this.listeners[event] = []
13
14
  }
14
15
 
15
- if (!this.listeners[event].length) {
16
- this.listeners[event] = []
17
-
16
+ if (!this.windowListeners[event]) {
18
17
  window.addEventListener(event, e => {
19
18
  for (const listener of this.listeners[event]) {
20
19
  const result = listener(e)
@@ -23,6 +22,8 @@ class CascadingWindowEventDispatcher {
23
22
  }
24
23
  }
25
24
  })
25
+
26
+ this.windowListeners[event] = true
26
27
  }
27
28
 
28
29
  this.listeners[event].unshift(listener)
@@ -87,7 +87,6 @@ export default class FlyingContextContainer extends Vue {
87
87
  position: fixed;
88
88
  z-index: 200;
89
89
  right: 0;
90
- width: 50vw;
91
90
  height: 100%;
92
91
  top: 0;
93
92
  background: white;