Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: nextcloud-libraries/nextcloud-vue
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 3cd2186d86b33432fe872b51038b1cdb699d7482
Choose a base ref
...
head repository: nextcloud-libraries/nextcloud-vue
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 06f5ad83df15c51047ccf97e8ccc3f30af7ce3e4
Choose a head ref
Loading
Showing with 7,993 additions and 3,275 deletions.
  1. +23 −0 README.md
  2. +7 −0 build/usernameToColor-export.js
  3. +2 −2 cypress/plugins/index.js
  4. BIN ....vue–subtitle_null–starred_false–compact_false–header_none–secondary_none–editable_false-base.png
  5. BIN ...r.vue–subtitle_null–starred_false–compact_false–header_none–secondary_none–editable_true-base.png
  6. BIN ....vue–subtitle_null–starred_false–compact_true–header_image–secondary_none–editable_false-base.png
  7. BIN ...r.vue–subtitle_null–starred_false–compact_true–header_image–secondary_none–editable_true-base.png
  8. BIN ...r.vue–subtitle_null–starred_false–compact_true–header_none–secondary_none–editable_false-base.png
  9. BIN ...ar.vue–subtitle_null–starred_false–compact_true–header_none–secondary_none–editable_true-base.png
  10. BIN ...r.vue–subtitle_null–starred_null–compact_false–header_none–secondary_none–editable_false-base.png
  11. BIN ...ar.vue–subtitle_null–starred_null–compact_false–header_none–secondary_none–editable_true-base.png
  12. BIN ...r.vue–subtitle_null–starred_null–compact_true–header_image–secondary_none–editable_false-base.png
  13. BIN ...ar.vue–subtitle_null–starred_null–compact_true–header_image–secondary_none–editable_true-base.png
  14. BIN ...ar.vue–subtitle_null–starred_null–compact_true–header_none–secondary_none–editable_false-base.png
  15. BIN ...bar.vue–subtitle_null–starred_null–compact_true–header_none–secondary_none–editable_true-base.png
  16. BIN ...r.vue–subtitle_null–starred_true–compact_false–header_none–secondary_none–editable_false-base.png
  17. BIN ...ar.vue–subtitle_null–starred_true–compact_false–header_none–secondary_none–editable_true-base.png
  18. BIN ...r.vue–subtitle_null–starred_true–compact_true–header_image–secondary_none–editable_false-base.png
  19. BIN ...ar.vue–subtitle_null–starred_true–compact_true–header_image–secondary_none–editable_true-base.png
  20. BIN ...ar.vue–subtitle_null–starred_true–compact_true–header_none–secondary_none–editable_false-base.png
  21. BIN ...bar.vue–subtitle_null–starred_true–compact_true–header_none–secondary_none–editable_true-base.png
  22. BIN ....vue–subtitle_true–starred_false–compact_false–header_none–secondary_none–editable_false-base.png
  23. BIN ...r.vue–subtitle_true–starred_false–compact_false–header_none–secondary_none–editable_true-base.png
  24. BIN ....vue–subtitle_true–starred_false–compact_true–header_image–secondary_none–editable_false-base.png
  25. BIN ...r.vue–subtitle_true–starred_false–compact_true–header_image–secondary_none–editable_true-base.png
  26. BIN ...r.vue–subtitle_true–starred_false–compact_true–header_none–secondary_none–editable_false-base.png
  27. BIN ...ar.vue–subtitle_true–starred_false–compact_true–header_none–secondary_none–editable_true-base.png
  28. BIN ...r.vue–subtitle_true–starred_null–compact_false–header_none–secondary_none–editable_false-base.png
  29. BIN ...ar.vue–subtitle_true–starred_null–compact_false–header_none–secondary_none–editable_true-base.png
  30. BIN ...r.vue–subtitle_true–starred_null–compact_true–header_image–secondary_none–editable_false-base.png
  31. BIN ...ar.vue–subtitle_true–starred_null–compact_true–header_image–secondary_none–editable_true-base.png
  32. BIN ...ar.vue–subtitle_true–starred_null–compact_true–header_none–secondary_none–editable_false-base.png
  33. BIN ...bar.vue–subtitle_true–starred_null–compact_true–header_none–secondary_none–editable_true-base.png
  34. BIN ...r.vue–subtitle_true–starred_true–compact_false–header_none–secondary_none–editable_false-base.png
  35. BIN ...ar.vue–subtitle_true–starred_true–compact_false–header_none–secondary_none–editable_true-base.png
  36. BIN ...r.vue–subtitle_true–starred_true–compact_true–header_image–secondary_none–editable_false-base.png
  37. BIN ...ar.vue–subtitle_true–starred_true–compact_true–header_image–secondary_none–editable_true-base.png
  38. BIN ...ar.vue–subtitle_true–starred_true–compact_true–header_none–secondary_none–editable_false-base.png
  39. BIN ...bar.vue–subtitle_true–starred_true–compact_true–header_none–secondary_none–editable_true-base.png
  40. +14 −2 l10n/cs_CZ.pot
  41. +11 −3 l10n/de.pot
  42. +15 −3 l10n/de_DE.pot
  43. +14 −2 l10n/gl.pot
  44. +13 −1 l10n/it.pot
  45. +12 −0 l10n/messages.pot
  46. +73 −7 l10n/nb_NO.pot
  47. +16 −3 l10n/pl.pot
  48. +133 −0 l10n/sl.pot
  49. +5,733 −3,206 package-lock.json
  50. +10 −4 package.json
  51. +308 −0 src/components/AppSettingsDialog/AppSettingsDialog.vue
  52. +25 −0 src/components/AppSettingsDialog/index.js
  53. +64 −0 src/components/AppSettingsSection/AppSettingsSection.vue
  54. +25 −0 src/components/AppSettingsSection/index.js
  55. +11 −6 src/components/AppSidebar/AppSidebar.vue
  56. +95 −30 src/components/Avatar/Avatar.vue
  57. +191 −0 src/components/RichContenteditable/AutoCompleteResult.vue
  58. +165 −0 src/components/RichContenteditable/MentionBubble.vue
  59. +504 −0 src/components/RichContenteditable/RichContenteditable.vue
  60. +25 −0 src/components/RichContenteditable/index.js
  61. +198 −0 src/components/SettingsInputText/SettingsInputText.vue
  62. +24 −0 src/components/SettingsInputText/index.js
  63. +6 −0 src/components/index.js
  64. +2 −0 src/mixins/index.js
  65. +151 −0 src/mixins/richEditor/index.js
  66. +73 −0 tests/unit/functions/usernameToColor/__snapshots__/usernameToColor.spec.js.snap
  67. +43 −0 tests/unit/functions/usernameToColor/usernameToColor.spec.js
  68. +7 −6 webpack.common.js
23 changes: 23 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -51,6 +51,29 @@ If you want to work on improving the components it’s best to run the latest co
- In the repository of an app do `npm link @nextcloud/vue` (you need to re-link any time you do `npm ci` in the app)
4. Then build the app with: `npm run build` (or watch for changes with `npm run watch`)

### Using vue-devtools in Firefox

If you want to use [vue-devtools](https://github.com/vuejs/vue-devtools) in Firefox, you need to patch your nextcloud instance as follow:

```diff
diff --git a/lib/public/AppFramework/Http/ContentSecurityPolicy.php b/lib/public/AppFramework/Http/ContentSecurityPolicy.php
index 3a9ab8f8c1..4bc2b4a4d0 100644
--- a/lib/public/AppFramework/Http/ContentSecurityPolicy.php
+++ b/lib/public/AppFramework/Http/ContentSecurityPolicy.php
@@ -42,9 +42,9 @@ namespace OCP\AppFramework\Http;
*/
class ContentSecurityPolicy extends EmptyContentSecurityPolicy {
/** @var bool Whether inline JS snippets are allowed */
- protected $inlineScriptAllowed = false;
+ protected $inlineScriptAllowed = true;
/** @var bool Whether eval in JS scripts is allowed */
- protected $evalScriptAllowed = false;
+ protected $evalScriptAllowed = true;
/** @var array Domains from which scripts can get loaded */
protected $allowedScriptDomains = [
'\'self\'',
```

## Releasing a new version

1. Checkout latest master
7 changes: 7 additions & 0 deletions build/usernameToColor-export.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
const snapshot = require('./../src/functions/usernameToColor/__snapshots__/usernameToColor.spec.js.snap')
const result = {}
Object.keys(snapshot).map((key) => {
const uid = key.replace('usernameToColor ', '').replace(' has the proper color 1', '')
result[uid] = JSON.parse(snapshot[key])
})
console.log(JSON.stringify(result))
4 changes: 2 additions & 2 deletions cypress/plugins/index.js
Original file line number Diff line number Diff line change
@@ -25,8 +25,8 @@ const options = {
watchOptions: {},
}

module.exports = (on) => {
getCompareSnapshotsPlugin(on)
module.exports = (on, config) => {
getCompareSnapshotsPlugin(on, config)
on('file:preprocessor', webpack(options))

// Disable spell checking to prevent rendering differences
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 14 additions & 2 deletions l10n/cs_CZ.pot
Original file line number Diff line number Diff line change
@@ -18,7 +18,7 @@ msgstr "{tag} (neviditelný)"
msgid "{tag} (restricted)"
msgstr "{tag} (omezený)"

#: src/components/Actions/Actions.vue:249
#: src/components/Actions/Actions.vue:254
msgid "Actions"
msgstr "Akce"

@@ -54,6 +54,10 @@ msgstr "Jídlo a pití"
msgid "Frequently used"
msgstr "Často používané"

#: src/components/RichContenteditable/RichContenteditable.vue:254
msgid "Message limit of {count} characters reached"
msgstr "Dosaženo limitu počtu znaků {count}"

#: src/components/Modal/Modal.vue:166
msgid "Next"
msgstr "Následující"
@@ -100,10 +104,14 @@ msgstr "Výsledky hledání"
msgid "Select a tag"
msgstr "Vybrat štítek"

#: src/components/AppNavigationSettings/AppNavigationSettings.vue:53
#: src/components/AppNavigationSettings/AppNavigationSettings.vue:57
msgid "Settings"
msgstr "Nastavení"

#: src/components/AppSettingsDialog/AppSettingsDialog.vue:106
msgid "Settings navigation"
msgstr "Pohyb po nastavení"

#: src/components/EmojiPicker/EmojiPicker.vue:172
msgid "Smileys & Emotion"
msgstr "Úsměvy a emoce"
@@ -123,3 +131,7 @@ msgstr "Cestování a místa"
#: src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143
msgid "Unable to search the group"
msgstr "Nedaří se hledat skupinu"

#: src/components/RichContenteditable/RichContenteditable.vue:151
msgid "Write message, @ to mention someone …"
msgstr "Pište zprávu, pokud chcete někoho zmínit, použijte @ …"
14 changes: 11 additions & 3 deletions l10n/de.pot
Original file line number Diff line number Diff line change
@@ -2,13 +2,13 @@
# Translators:
# Philipp Fischbeck <pfischbeck@googlemail.com>, 2020
# Andreas Eitel <github-aneitel@online.de>, 2020
# Mario Siegmann <mario_siegmann@web.de>, 2020
# Joachim Sokolowski, 2020
# Mark Ziegler <mark.ziegler@rakekniven.de>, 2020
# Mario Siegmann <mario_siegmann@web.de>, 2020
#
msgid ""
msgstr ""
"Last-Translator: Mark Ziegler <mark.ziegler@rakekniven.de>, 2020\n"
"Last-Translator: Mario Siegmann <mario_siegmann@web.de>, 2020\n"
"Language-Team: German (https://www.transifex.com/nextcloud/teams/64236/de/)\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Language: de\n"
@@ -22,7 +22,7 @@ msgstr "{tag} (unsichtbar)"
msgid "{tag} (restricted)"
msgstr "{tag} (eingeschränkt)"

#: src/components/Actions/Actions.vue:249
#: src/components/Actions/Actions.vue:254
msgid "Actions"
msgstr "Aktionen"

@@ -108,6 +108,10 @@ msgstr "Schlagwort auswählen"
msgid "Settings"
msgstr "Einstellungen"

#: src/components/AppSettingsDialog/AppSettingsDialog.vue:106
msgid "Settings navigation"
msgstr "Einstellungen-Navigation"

#: src/components/EmojiPicker/EmojiPicker.vue:172
msgid "Smileys & Emotion"
msgstr "Smileys & Emotionen"
@@ -127,3 +131,7 @@ msgstr "Reisen & Orte"
#: src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143
msgid "Unable to search the group"
msgstr "Die Gruppe konnte nicht durchsucht werden"

#: src/components/RichContenteditable/RichContenteditable.vue:126
msgid "Write message, @ to mention someone …"
msgstr "Nachricht schreiben, @ um jemanden zu erwähnen ..."
18 changes: 15 additions & 3 deletions l10n/de_DE.pot
Original file line number Diff line number Diff line change
@@ -2,12 +2,12 @@
# Translators:
# Philipp Fischbeck <pfischbeck@googlemail.com>, 2020
# ProfDrJones <jones@fs.cs.hm.edu>, 2020
# Mario Siegmann <mario_siegmann@web.de>, 2020
# Mark Ziegler <mark.ziegler@rakekniven.de>, 2020
# Mario Siegmann <mario_siegmann@web.de>, 2020
#
msgid ""
msgstr ""
"Last-Translator: Mark Ziegler <mark.ziegler@rakekniven.de>, 2020\n"
"Last-Translator: Mario Siegmann <mario_siegmann@web.de>, 2020\n"
"Language-Team: German (Germany) (https://www.transifex.com/nextcloud/teams/64236/de_DE/)\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Language: de_DE\n"
@@ -21,7 +21,7 @@ msgstr "{tag} (unsichtbar)"
msgid "{tag} (restricted)"
msgstr "{tag} (eingeschränkt)"

#: src/components/Actions/Actions.vue:249
#: src/components/Actions/Actions.vue:254
msgid "Actions"
msgstr "Aktionen"

@@ -57,6 +57,10 @@ msgstr "Essen & Trinken"
msgid "Frequently used"
msgstr "Häufig verwendet"

#: src/components/RichContenteditable/RichContenteditable.vue:254
msgid "Message limit of {count} characters reached"
msgstr "Nachrichtenlimit von {count} Zeichen erreicht"

#: src/components/Modal/Modal.vue:166
msgid "Next"
msgstr "Weiter"
@@ -107,6 +111,10 @@ msgstr "Schlagwort auswählen"
msgid "Settings"
msgstr "Einstellungen"

#: src/components/AppSettingsDialog/AppSettingsDialog.vue:106
msgid "Settings navigation"
msgstr "Einstellungen-Navigation"

#: src/components/EmojiPicker/EmojiPicker.vue:172
msgid "Smileys & Emotion"
msgstr "Smileys & Emotionen"
@@ -126,3 +134,7 @@ msgstr "Reisen & Orte"
#: src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143
msgid "Unable to search the group"
msgstr "Die Gruppe kann nicht durchsucht werden"

#: src/components/RichContenteditable/RichContenteditable.vue:151
msgid "Write message, @ to mention someone …"
msgstr "Nachricht schreiben, @ um jemanden zu erwähnen ..."
16 changes: 14 additions & 2 deletions l10n/gl.pot
Original file line number Diff line number Diff line change
@@ -18,7 +18,7 @@ msgstr "{tag} (invisíbel)"
msgid "{tag} (restricted)"
msgstr "{tag} (restrinxido)"

#: src/components/Actions/Actions.vue:249
#: src/components/Actions/Actions.vue:254
msgid "Actions"
msgstr "Accións"

@@ -54,6 +54,10 @@ msgstr "Comida e bebida"
msgid "Frequently used"
msgstr "Usado con frecuencia"

#: src/components/RichContenteditable/RichContenteditable.vue:254
msgid "Message limit of {count} characters reached"
msgstr "Acadouse o límite de {count} caracteres por mensaxe"

#: src/components/Modal/Modal.vue:166
msgid "Next"
msgstr "Seguinte"
@@ -100,10 +104,14 @@ msgstr "Resultados da busca"
msgid "Select a tag"
msgstr "Seleccione unha etiqueta"

#: src/components/AppNavigationSettings/AppNavigationSettings.vue:53
#: src/components/AppNavigationSettings/AppNavigationSettings.vue:57
msgid "Settings"
msgstr "Axustes"

#: src/components/AppSettingsDialog/AppSettingsDialog.vue:106
msgid "Settings navigation"
msgstr "Navegación de axustes"

#: src/components/EmojiPicker/EmojiPicker.vue:172
msgid "Smileys & Emotion"
msgstr "Sorrisos e emocións"
@@ -123,3 +131,7 @@ msgstr "Viaxes e lugares"
#: src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143
msgid "Unable to search the group"
msgstr "Non foi posíbel buscar o grupo"

#: src/components/RichContenteditable/RichContenteditable.vue:151
msgid "Write message, @ to mention someone …"
msgstr "Escriba a mensaxe, @ para mencionar a alguén…"
14 changes: 13 additions & 1 deletion l10n/it.pot
Original file line number Diff line number Diff line change
@@ -19,7 +19,7 @@ msgstr "{tag} (invisibile)"
msgid "{tag} (restricted)"
msgstr "{tag} (limitato)"

#: src/components/Actions/Actions.vue:249
#: src/components/Actions/Actions.vue:254
msgid "Actions"
msgstr "Azioni"

@@ -55,6 +55,10 @@ msgstr "Cibo e bevande"
msgid "Frequently used"
msgstr "Usati di frequente"

#: src/components/RichContenteditable/RichContenteditable.vue:254
msgid "Message limit of {count} characters reached"
msgstr "Limite dei messaggi di {count} caratteri raggiunto"

#: src/components/Modal/Modal.vue:166
msgid "Next"
msgstr "Successivo"
@@ -105,6 +109,10 @@ msgstr "Seleziona un'etichetta"
msgid "Settings"
msgstr "Impostazioni"

#: src/components/AppSettingsDialog/AppSettingsDialog.vue:106
msgid "Settings navigation"
msgstr "Navigazione delle impostazioni"

#: src/components/EmojiPicker/EmojiPicker.vue:172
msgid "Smileys & Emotion"
msgstr "Faccine ed emozioni"
@@ -124,3 +132,7 @@ msgstr "Viaggi e luoghi"
#: src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143
msgid "Unable to search the group"
msgstr "Impossibile cercare il gruppo"

#: src/components/RichContenteditable/RichContenteditable.vue:151
msgid "Write message, @ to mention someone …"
msgstr "Scrivi messaggio, @ per menzionare qualcuno…"
12 changes: 12 additions & 0 deletions l10n/messages.pot
Original file line number Diff line number Diff line change
@@ -46,6 +46,10 @@ msgstr ""
msgid "Frequently used"
msgstr ""

#: src/components/RichContenteditable/RichContenteditable.vue:254
msgid "Message limit of {count} characters reached"
msgstr ""

#: src/components/Modal/Modal.vue:166
msgid "Next"
msgstr ""
@@ -96,6 +100,10 @@ msgstr ""
msgid "Settings"
msgstr ""

#: src/components/AppSettingsDialog/AppSettingsDialog.vue:106
msgid "Settings navigation"
msgstr ""

#: src/components/EmojiPicker/EmojiPicker.vue:172
msgid "Smileys & Emotion"
msgstr ""
@@ -115,3 +123,7 @@ msgstr ""
#: src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143
msgid "Unable to search the group"
msgstr ""

#: src/components/RichContenteditable/RichContenteditable.vue:151
msgid "Write message, @ to mention someone …"
msgstr ""
Loading