-
-
{{ $t('label.tomorrow') }}
-
+
+
+ {{ $t('label.today') }}
+
+
+
-
-
-
-
-
{{ $t('label.upcoming') }}
-
+
+
+ {{ $t('label.tomorrow') }}
+
+
+
+
+
+
+ {{ $t('label.upcoming') }}
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
@@ -233,6 +280,18 @@ export default {
});
},
methods: {
+ openSettingsDrawer() {
+ this.$refs.settingsDrawer.open();
+ },
+ settingsUpdated(settings) {
+ this.$root.settings.seeAllUrl = settings.seeAllUrl;
+ this.$root.settings.sameTab = settings.sameTab;
+ },
+ openSeeAll() {
+ const target = this.$root?.settings?.sameTab ? '_self' : '_blank';
+ const url = this.$root?.settings?.seeAllUrl;
+ window.open(url, target);
+ },
getMyOverDueTasks() {
const task = {
dueCategory: 'overDue',
diff --git a/webapps/src/main/webapp/vue-app/tasks/components/settings/TasksSettingsDrawer.vue b/webapps/src/main/webapp/vue-app/tasks/components/settings/TasksSettingsDrawer.vue
new file mode 100644
index 000000000..f39f47078
--- /dev/null
+++ b/webapps/src/main/webapp/vue-app/tasks/components/settings/TasksSettingsDrawer.vue
@@ -0,0 +1,131 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('myApplications.settings.cancel.label') }}
+
+
+ {{ $t('myApplications.settings.save.label') }}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/webapps/src/main/webapp/vue-app/tasks/initComponents.js b/webapps/src/main/webapp/vue-app/tasks/initComponents.js
index 11db36e37..0e303647f 100644
--- a/webapps/src/main/webapp/vue-app/tasks/initComponents.js
+++ b/webapps/src/main/webapp/vue-app/tasks/initComponents.js
@@ -17,11 +17,13 @@
import TasksApp from './components/TasksApp.vue';
import TaskDetails from './components/TaskDetails.vue';
import TaskEmptyRow from './components/TaskEmptyRow.vue';
+import TasksSettingsDrawer from './components/settings/TasksSettingsDrawer.vue';
const components = {
'my-tasks-app': TasksApp,
'task-details': TaskDetails,
'task-empty-row': TaskEmptyRow,
+ 'tasks-settings-drawer': TasksSettingsDrawer
};
for (const key in components) {
diff --git a/webapps/src/main/webapp/vue-app/tasks/main.js b/webapps/src/main/webapp/vue-app/tasks/main.js
index 6bb6819ef..676a7d983 100644
--- a/webapps/src/main/webapp/vue-app/tasks/main.js
+++ b/webapps/src/main/webapp/vue-app/tasks/main.js
@@ -21,16 +21,20 @@ const lang = window.eXo && eXo?.env?.portal?.language || 'en';
const url = `/task-management/i18n/locale.portlet.taskManagement?lang=${lang}`;
-const appId = 'tasks';
-
-export function init(itemsLimit) {
-//getting locale ressources
+export function init(appId, itemsLimit, settings, settingsSaveUrl, canEdit) {
+ //getting locale ressources
exoi18n.loadLanguageAsync(lang, url)
.then(i18n => {
+ if (!settings.seeAllUrl) {
+ settings.seeAllUrl = `/${eXo.env.portal.containerName}/${eXo.env.portal.metaPortalName}/tasks`;
+ }
// init Vue app when locale ressources are ready
Vue.createApp({
data: {
- itemsLimit: itemsLimit
+ itemsLimit,
+ settings,
+ settingsSaveUrl,
+ canEdit
},
template: `
`,
i18n,