From fd6259f41fe21249d973898e7fbe6e8548b1a39a Mon Sep 17 00:00:00 2001 From: Helmi Akermi <70575401+hakermi@users.noreply.github.com> Date: Wed, 5 Jun 2024 10:12:17 +0100 Subject: [PATCH 01/40] feat: Allow expand in treeview drawer - EXO-71946 - Meeds-io/MIPs#128 (#993) Allow expand in treeview drawer --- .../main/webapp/vue-app/notes/components/NoteTreeviewDrawer.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/notes-webapp/src/main/webapp/vue-app/notes/components/NoteTreeviewDrawer.vue b/notes-webapp/src/main/webapp/vue-app/notes/components/NoteTreeviewDrawer.vue index 4c3d94b79b..9f41506b21 100644 --- a/notes-webapp/src/main/webapp/vue-app/notes/components/NoteTreeviewDrawer.vue +++ b/notes-webapp/src/main/webapp/vue-app/notes/components/NoteTreeviewDrawer.vue @@ -10,6 +10,7 @@ class="breadcrumbDrawer" :confirm-close="exporting" :confirm-close-labels="confirmCloseLabels" + allow-expand v-model="drawer" show-overlay @closed="closeAllDrawer()" From a02c94280a916e0872d3eba32753e08a7bd5d0a9 Mon Sep 17 00:00:00 2001 From: Helmi Akermi <70575401+hakermi@users.noreply.github.com> Date: Fri, 21 Jun 2024 10:56:05 +0100 Subject: [PATCH 02/40] feat: Adjust notes action menu ui revamping - EXO-72270 - Meeds-io/MIPs#128 (#1010) --- .../main/webapp/skin/less/notes/notes.less | 23 ++- .../notes/components/NotesActionsMenu.vue | 135 --------------- .../notes/components/NotesOverview.vue | 36 +++- .../components/menu/NotesActionMenuItems.vue | 162 ++++++++++++++++++ .../components/menu/NotesActionsMenu.vue | 66 +++++++ .../components/menu/NotesMobileActionMenu.vue | 59 +++++++ .../webapp/vue-app/notes/initComponents.js | 8 +- 7 files changed, 339 insertions(+), 150 deletions(-) delete mode 100644 notes-webapp/src/main/webapp/vue-app/notes/components/NotesActionsMenu.vue create mode 100644 notes-webapp/src/main/webapp/vue-app/notes/components/menu/NotesActionMenuItems.vue create mode 100644 notes-webapp/src/main/webapp/vue-app/notes/components/menu/NotesActionsMenu.vue create mode 100644 notes-webapp/src/main/webapp/vue-app/notes/components/menu/NotesMobileActionMenu.vue diff --git a/notes-webapp/src/main/webapp/skin/less/notes/notes.less b/notes-webapp/src/main/webapp/skin/less/notes/notes.less index 45f5502045..5dcd8a44f4 100644 --- a/notes-webapp/src/main/webapp/skin/less/notes/notes.less +++ b/notes-webapp/src/main/webapp/skin/less/notes/notes.less @@ -188,6 +188,22 @@ } } +#notesActionMenuBottomDrawer, #notesOverviewApplication, + .notesApplication .notes-application-header .note-actions-menu { + .action-menu-item { + min-height: 28px !important; + } + + .delete-option-color { + color: @errorColor; + } + + .icon-menu { + width: 28px; + height: 36px; + } +} + #notesOverviewApplication, .notesApplication { max-width: 100%; @@ -232,14 +248,9 @@ } .note-actions-menu { - min-width: 150px !important; right: 7px; - top: 25px !important; + top: 30px !important; left: auto !important; - - .action-menu-item { - min-height: 30px !important; - } } } } diff --git a/notes-webapp/src/main/webapp/vue-app/notes/components/NotesActionsMenu.vue b/notes-webapp/src/main/webapp/vue-app/notes/components/NotesActionsMenu.vue deleted file mode 100644 index dc3109fb78..0000000000 --- a/notes-webapp/src/main/webapp/vue-app/notes/components/NotesActionsMenu.vue +++ /dev/null @@ -1,135 +0,0 @@ - - \ No newline at end of file diff --git a/notes-webapp/src/main/webapp/vue-app/notes/components/NotesOverview.vue b/notes-webapp/src/main/webapp/vue-app/notes/components/NotesOverview.vue index de39e0a272..bb2aa956d4 100644 --- a/notes-webapp/src/main/webapp/vue-app/notes/components/NotesOverview.vue +++ b/notes-webapp/src/main/webapp/vue-app/notes/components/NotesOverview.vue @@ -230,13 +230,14 @@ + :default-path="defaultPath" /> + { + this.$refs.notesMobileActionMenu.close(); + }, 200); + }, + openNoteTreeView(note, action) { + this.$refs.notesBreadcrumb.open(note, action); + this.closeMobileActionMenu(); + }, + openImportDrawer() { + this.$refs.noteImportDrawer.open(); + this.closeMobileActionMenu(); + }, updateNoteTitle(title) { this.noteTitle = title; }, @@ -835,6 +855,7 @@ export default { console.error('Error when exporting note: ', e); }); }); + this.closeMobileActionMenu(); }, displayMessage(message) { this.$root.$emit('alert-message', message?.message, message?.type || 'success'); @@ -882,6 +903,7 @@ export default { } this.$refs.noteVersionsHistoryDrawer.open(); } + this.closeMobileActionMenu(); }, retrieveNoteTreeById() { this.note.wikiOwner = this.note.wikiOwner.substring(1); diff --git a/notes-webapp/src/main/webapp/vue-app/notes/components/menu/NotesActionMenuItems.vue b/notes-webapp/src/main/webapp/vue-app/notes/components/menu/NotesActionMenuItems.vue new file mode 100644 index 0000000000..c85b89c8ba --- /dev/null +++ b/notes-webapp/src/main/webapp/vue-app/notes/components/menu/NotesActionMenuItems.vue @@ -0,0 +1,162 @@ + + + + + + diff --git a/notes-webapp/src/main/webapp/vue-app/notes/components/menu/NotesActionsMenu.vue b/notes-webapp/src/main/webapp/vue-app/notes/components/menu/NotesActionsMenu.vue new file mode 100644 index 0000000000..c01bb9228a --- /dev/null +++ b/notes-webapp/src/main/webapp/vue-app/notes/components/menu/NotesActionsMenu.vue @@ -0,0 +1,66 @@ + + + + diff --git a/notes-webapp/src/main/webapp/vue-app/notes/components/menu/NotesMobileActionMenu.vue b/notes-webapp/src/main/webapp/vue-app/notes/components/menu/NotesMobileActionMenu.vue new file mode 100644 index 0000000000..0642c26c04 --- /dev/null +++ b/notes-webapp/src/main/webapp/vue-app/notes/components/menu/NotesMobileActionMenu.vue @@ -0,0 +1,59 @@ + + + + + diff --git a/notes-webapp/src/main/webapp/vue-app/notes/initComponents.js b/notes-webapp/src/main/webapp/vue-app/notes/initComponents.js index 523c131f58..462773a680 100644 --- a/notes-webapp/src/main/webapp/vue-app/notes/initComponents.js +++ b/notes-webapp/src/main/webapp/vue-app/notes/initComponents.js @@ -1,6 +1,6 @@ import NotesOverview from './components/NotesOverview.vue'; import NoteTreeviewDrawer from './components/NoteTreeviewDrawer.vue'; -import NotesActionsMenu from './components/NotesActionsMenu.vue'; +import NotesActionsMenu from './components/menu/NotesActionsMenu.vue'; import NoteBreadcrumb from './components/NoteBreadcrumb.vue'; import NoteImportDrawer from './components/NoteImportDrawer.vue'; import AttachmentsNotesUploadInput from './components/importNotes/AttachmentsNotesUploadInput.vue'; @@ -9,6 +9,8 @@ import AttachmentsNotesItem from './components/importNotes/AttachmentsNotesItem. import NoteFavoriteAction from './components/NoteFavoriteAction.vue'; import NoteContentTableItem from './components/NoteContentTableItem.vue'; import NotesTranslationMenu from './components/NotesTranslationMenu.vue'; +import NotesActionMenuItems from './components/menu/NotesActionMenuItems.vue'; +import NotesMobileActionMenu from './components/menu/NotesMobileActionMenu.vue'; const components = { 'notes-overview': NotesOverview, @@ -20,8 +22,10 @@ const components = { 'attachments-uploaded-notes': AttachmentsUploadedNotes, 'attachments-notes-item': AttachmentsNotesItem, 'note-favorite-action': NoteFavoriteAction, + 'notes-translation-menu': NotesTranslationMenu, 'note-content-table-item': NoteContentTableItem, - 'notes-translation-menu': NotesTranslationMenu + 'notes-action-menu-items': NotesActionMenuItems, + 'notes-mobile-action-menu': NotesMobileActionMenu }; for (const key in components) { From b97a2c9be5d45e295d4fb48e045f585a62afc246 Mon Sep 17 00:00:00 2001 From: Helmi Akermi <70575401+hakermi@users.noreply.github.com> Date: Tue, 2 Jul 2024 11:54:51 +0100 Subject: [PATCH 03/40] feat: Make notes editor a re-useable component - EXO-72612_EXO-72145 - Meeds-io/MIPs#128 (#1021) Make notes editor a re-usable component --- .../main/webapp/WEB-INF/gatein-resources.xml | 39 +- .../main/webapp/skin/less/notes/notes.less | 3 +- .../webapp/vue-app/note-page-view/services.js | 2 +- .../components/NoteTablePluginsDrawer.vue | 386 ----------- .../components/NotesEditorDashboard.vue | 643 +++++------------- .../vue-app/notes-editor/initComponents.js | 11 +- .../webapp/vue-app/notes-editor/services.js | 7 - .../components/NoteCustomPlugins.vue | 13 +- .../components/NoteEditorTopBar.vue | 213 ++++++ .../components/NoteFullRichEditor.vue | 407 +++++++++++ .../components/TranslationsEditBar.vue | 18 +- .../notes-rich-editor/initComponents.js | 33 + .../js/Utils.js | 0 .../webapp/vue-app/notes-rich-editor/main.js | 12 + .../src/main/webapp/vue-app/notes/services.js | 2 +- notes-webapp/webpack.prod.js | 1 + 16 files changed, 881 insertions(+), 909 deletions(-) delete mode 100644 notes-webapp/src/main/webapp/vue-app/notes-editor/components/NoteTablePluginsDrawer.vue rename notes-webapp/src/main/webapp/vue-app/{notes-editor => notes-rich-editor}/components/NoteCustomPlugins.vue (95%) create mode 100644 notes-webapp/src/main/webapp/vue-app/notes-rich-editor/components/NoteEditorTopBar.vue create mode 100644 notes-webapp/src/main/webapp/vue-app/notes-rich-editor/components/NoteFullRichEditor.vue rename notes-webapp/src/main/webapp/vue-app/{notes-editor => notes-rich-editor}/components/TranslationsEditBar.vue (94%) create mode 100644 notes-webapp/src/main/webapp/vue-app/notes-rich-editor/initComponents.js rename notes-webapp/src/main/webapp/vue-app/{notes-editor => notes-rich-editor}/js/Utils.js (100%) create mode 100644 notes-webapp/src/main/webapp/vue-app/notes-rich-editor/main.js diff --git a/notes-webapp/src/main/webapp/WEB-INF/gatein-resources.xml b/notes-webapp/src/main/webapp/WEB-INF/gatein-resources.xml index 263abdc559..5823897ea6 100644 --- a/notes-webapp/src/main/webapp/WEB-INF/gatein-resources.xml +++ b/notes-webapp/src/main/webapp/WEB-INF/gatein-resources.xml @@ -79,14 +79,47 @@ + + NotesRichEditor + NotesEditorGRP + + + commonVueComponents + + + extensionRegistry + + + vue + + + vuetify + + + commons-editor + editor + + + eXoVueI18n + + + jquery + $ + + + NotesEditor - NotesEditorGRP + + NotesRichEditor + commonVueComponents @@ -99,10 +132,6 @@ vuetify - - commons-editor - editor - eXoVueI18n diff --git a/notes-webapp/src/main/webapp/skin/less/notes/notes.less b/notes-webapp/src/main/webapp/skin/less/notes/notes.less index 5dcd8a44f4..2b2d7a792b 100644 --- a/notes-webapp/src/main/webapp/skin/less/notes/notes.less +++ b/notes-webapp/src/main/webapp/skin/less/notes/notes.less @@ -73,7 +73,8 @@ .notes-content-form { min-height: calc(~"100vh - 140px"); - #cke_notesContent { + + .notes-content-wrapper > div[role="application"] { border-color: transparent; flex: 0 1 100%; margin-bottom: 0; diff --git a/notes-webapp/src/main/webapp/vue-app/note-page-view/services.js b/notes-webapp/src/main/webapp/vue-app/note-page-view/services.js index 22be8440b2..f7823d71fa 100644 --- a/notes-webapp/src/main/webapp/vue-app/note-page-view/services.js +++ b/notes-webapp/src/main/webapp/vue-app/note-page-view/services.js @@ -19,7 +19,7 @@ import * as notePageViewService from './js/NotePageViewService.js'; import * as notesService from '../../javascript/eXo/wiki/notesService.js'; -import * as noteUtils from '../notes-editor/js/Utils.js'; +import * as noteUtils from '../notes-rich-editor/js/Utils.js'; if (!Vue.prototype.$notePageViewService) { window.Object.defineProperty(Vue.prototype, '$notePageViewService', { diff --git a/notes-webapp/src/main/webapp/vue-app/notes-editor/components/NoteTablePluginsDrawer.vue b/notes-webapp/src/main/webapp/vue-app/notes-editor/components/NoteTablePluginsDrawer.vue deleted file mode 100644 index f0ee0628a2..0000000000 --- a/notes-webapp/src/main/webapp/vue-app/notes-editor/components/NoteTablePluginsDrawer.vue +++ /dev/null @@ -1,386 +0,0 @@ - - - diff --git a/notes-webapp/src/main/webapp/vue-app/notes-editor/components/NotesEditorDashboard.vue b/notes-webapp/src/main/webapp/vue-app/notes-editor/components/NotesEditorDashboard.vue index 9c8d61331b..7666fa8487 100644 --- a/notes-webapp/src/main/webapp/vue-app/notes-editor/components/NotesEditorDashboard.vue +++ b/notes-webapp/src/main/webapp/vue-app/notes-editor/components/NotesEditorDashboard.vue @@ -20,115 +20,37 @@ -->