diff --git a/resources/js/app/app.js b/resources/js/app/app.js
index 746b02120..861d9dd72 100644
--- a/resources/js/app/app.js
+++ b/resources/js/app/app.js
@@ -43,7 +43,7 @@ const _vueInstance = new Vue({
TagPicker: () => import(/* webpackChunkName: "tag-picker" */'app/components/tag-picker/tag-picker'),
TagForm: () => import(/* webpackChunkName: "tag-form" */'app/components/tag-form/tag-form'),
FolderPicker: () => import(/* webpackChunkName: "folder-picker" */'app/components/folder-picker/folder-picker'),
- Dashboard: () => import(/* webpackChunkName: "modules-index" */'app/pages/dashboard/index'),
+ DashboardSearch: () => import(/* webpackChunkName: "dashboard-search" */'app/components/dashboard-search'),
DateRange: () => import(/* webpackChunkName: "date-range" */'app/components/date-range/date-range'),
DateRangesView: () => import(/* webpackChunkName: "date-ranges-view" */'app/components/date-ranges-view/date-ranges-view'),
DateRangesList: () => import(/* webpackChunkName: "date-ranges-list" */'app/components/date-ranges-list/date-ranges-list'),
diff --git a/resources/js/app/components/ajax-login/ajax-login.js b/resources/js/app/components/ajax-login/ajax-login.js
deleted file mode 100644
index fb2b06bdc..000000000
--- a/resources/js/app/components/ajax-login/ajax-login.js
+++ /dev/null
@@ -1,72 +0,0 @@
-import Vue from 'vue';
-
-export const AjaxLogin = Vue.extend({
-
- template: `
-
- `,
- name: 'AjaxLogin',
-
- props: {
- headerText: {
- type: String,
- default: null,
- },
- message: {
- type: String,
- default: null,
- },
- },
-
- data() {
- return {
- isOpen: false,
- url: `${BEDITA.base}/login`,
- };
- },
-
- mounted() {
- window.addEventListener('message', this.checkLogin);
- this.isOpen = true;
- },
-
- methods: {
- checkLogin(message) {
- if (message.data !== 'login') {
- return;
- }
-
- this.$emit('login');
- this.close();
- },
-
- close() {
- this.isOpen = false;
- window.removeEventListener('message', this.checkLogin);
-
- if (this.$el.parentNode) {
- this.$el.parentNode.removeChild(this.$el);
- }
-
- this.$destroy();
- }
- },
-});
diff --git a/resources/js/app/components/ajax-login/ajax-login.vue b/resources/js/app/components/ajax-login/ajax-login.vue
new file mode 100644
index 000000000..cb60dd554
--- /dev/null
+++ b/resources/js/app/components/ajax-login/ajax-login.vue
@@ -0,0 +1,93 @@
+
+
+
+
diff --git a/resources/js/app/components/autosize-textarea.js b/resources/js/app/components/autosize-textarea.vue
similarity index 57%
rename from resources/js/app/components/autosize-textarea.js
rename to resources/js/app/components/autosize-textarea.vue
index 4cc8bda6d..d9bf1e121 100644
--- a/resources/js/app/components/autosize-textarea.js
+++ b/resources/js/app/components/autosize-textarea.vue
@@ -1,14 +1,35 @@
+
+
+
+
diff --git a/resources/js/app/components/category-picker/category-picker.js b/resources/js/app/components/category-picker/category-picker.js
deleted file mode 100644
index c8c292e48..000000000
--- a/resources/js/app/components/category-picker/category-picker.js
+++ /dev/null
@@ -1,56 +0,0 @@
-import { Treeselect } from '@riophae/vue-treeselect'
-import '@riophae/vue-treeselect/dist/vue-treeselect.css'
-
-export default {
- components: {
- Treeselect,
- },
-
- template: `
-
-
-
-
-
- `,
-
- props: {
- id: String,
- categories: Array,
- disabled: Boolean,
- label: String,
- form: String,
- initialCategories: Array,
- },
-
- data() {
- return {
- categoriesOptions: [],
- selectedIds: null,
- };
- },
-
- mounted() {
- this.categoriesOptions = this.categories?.map((category) => ({ id: category.id, label: category.label }));
- this.selectedIds = this.initialCategories?.map(selected => this.categories.find(cat => cat.name == selected.name)?.id);
- },
-
- methods: {
- /**
- * Emits currently selected categories on selection change.
- */
- onChange() {
- const selectedCategories = this.categories.filter((cat) => this.selectedIds.includes(cat.id));
- this.$emit('change', selectedCategories);
- }
- },
-}
diff --git a/resources/js/app/components/category-picker/category-picker.vue b/resources/js/app/components/category-picker/category-picker.vue
new file mode 100644
index 000000000..2e985d066
--- /dev/null
+++ b/resources/js/app/components/category-picker/category-picker.vue
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+
+
diff --git a/resources/js/app/pages/dashboard/index.js b/resources/js/app/components/dashboard-search.vue
similarity index 53%
rename from resources/js/app/pages/dashboard/index.js
rename to resources/js/app/components/dashboard-search.vue
index ba69b90e6..6010e43d1 100644
--- a/resources/js/app/pages/dashboard/index.js
+++ b/resources/js/app/components/dashboard-search.vue
@@ -1,9 +1,31 @@
-export default {
- name: 'DashboardIndex',
+
+
+
- components: {
- RecentActivity:() => import(/* webpackChunkName: "recent-activity" */'app/components/recent-activity/recent-activity'),
- },
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/js/app/components/date-input.js b/resources/js/app/components/date-input.vue
similarity index 97%
rename from resources/js/app/components/date-input.js
rename to resources/js/app/components/date-input.vue
index 32280b05e..2fc3731b3 100644
--- a/resources/js/app/components/date-input.js
+++ b/resources/js/app/components/date-input.vue
@@ -1,3 +1,9 @@
+
+
+
+
+
+
diff --git a/resources/js/app/components/email-input.js b/resources/js/app/components/email-input.vue
similarity index 79%
rename from resources/js/app/components/email-input.js
rename to resources/js/app/components/email-input.vue
index b71e391f3..2760adb36 100644
--- a/resources/js/app/components/email-input.js
+++ b/resources/js/app/components/email-input.vue
@@ -1,17 +1,23 @@
+
+
+
+
+
+
diff --git a/resources/js/app/components/filter-box.vue b/resources/js/app/components/filter-box.vue
index d612acb3e..d6f59880a 100644
--- a/resources/js/app/components/filter-box.vue
+++ b/resources/js/app/components/filter-box.vue
@@ -176,10 +176,10 @@ export default {
initFolder() {
if (!this.initFilter?.filter) {
- return '';
+ return null;
}
- return this.initFilter?.filter[this.positionFilterName] || '';
+ return this.initFilter?.filter[this.positionFilterName] || null;
},
/**
diff --git a/resources/js/app/components/folder-picker/folder-picker.js b/resources/js/app/components/folder-picker/folder-picker.vue
similarity index 76%
rename from resources/js/app/components/folder-picker/folder-picker.js
rename to resources/js/app/components/folder-picker/folder-picker.vue
index a2ecb7b83..043e30b7c 100644
--- a/resources/js/app/components/folder-picker/folder-picker.js
+++ b/resources/js/app/components/folder-picker/folder-picker.vue
@@ -1,3 +1,27 @@
+
+
+
+
+
+
+
+
diff --git a/resources/js/app/components/json-editor-input.js b/resources/js/app/components/json-editor-input.vue
similarity index 94%
rename from resources/js/app/components/json-editor-input.js
rename to resources/js/app/components/json-editor-input.vue
index 1b78f0dd8..1dc04f5a5 100644
--- a/resources/js/app/components/json-editor-input.js
+++ b/resources/js/app/components/json-editor-input.vue
@@ -1,3 +1,9 @@
+
+
+
+
+
+
diff --git a/resources/js/app/components/login-password/login-password.js b/resources/js/app/components/login-password/login-password.vue
similarity index 58%
rename from resources/js/app/components/login-password/login-password.js
rename to resources/js/app/components/login-password/login-password.vue
index a88947f06..a084371cc 100644
--- a/resources/js/app/components/login-password/login-password.js
+++ b/resources/js/app/components/login-password/login-password.vue
@@ -1,37 +1,51 @@
-import { t } from 'ttag';
-
-export default {
- template: `
+
- `,
+
+
diff --git a/resources/js/app/components/map-view.js b/resources/js/app/components/map-view.vue
similarity index 88%
rename from resources/js/app/components/map-view.js
rename to resources/js/app/components/map-view.vue
index e59723864..036505851 100644
--- a/resources/js/app/components/map-view.js
+++ b/resources/js/app/components/map-view.vue
@@ -1,24 +1,13 @@
-/**
- * Templates that uses this component (directly or indirectly):
- * ...
- *
- * component used for ModulesPage -> View
- *
- * Handle maps
- *
- * @prop {String} lat
- * @prop {String} lng
- * @prop {String} popupHtml
- * @prop {String} mapToken (mapBox accessToken)
- */
-
+
+
+
+
diff --git a/resources/js/app/components/object-types-list/object-types-list.js b/resources/js/app/components/object-types-list/object-types-list.js
deleted file mode 100644
index 377e02df8..000000000
--- a/resources/js/app/components/object-types-list/object-types-list.js
+++ /dev/null
@@ -1,48 +0,0 @@
-export default {
- template: ``,
-
- props: {
- all: [],
- selected: [],
- side: '',
- },
-
- data() {
- return {
- current: [],
- };
- },
-
- mounted() {
- this.$nextTick(() => {
- this.current = this.selected;
- });
- },
-
- methods: {
- className(t) {
- return `tag has-background-module-${t}`;
- },
- name(prefix) {
- return `${prefix}_${this.side}`;
- },
- ref(t) {
- return `/model/object_types/view/${t}`;
- },
- valueCurrent() {
- return this.current.join(',');
- },
- valueChange() {
- return this.selected.join(',');
- },
- },
-}
diff --git a/resources/js/app/components/object-types-list/object-types-list.vue b/resources/js/app/components/object-types-list/object-types-list.vue
new file mode 100644
index 000000000..5587b630c
--- /dev/null
+++ b/resources/js/app/components/object-types-list/object-types-list.vue
@@ -0,0 +1,82 @@
+
+
+
+
diff --git a/resources/js/app/components/secret/secret.js b/resources/js/app/components/secret/secret.js
deleted file mode 100644
index 8efe7df77..000000000
--- a/resources/js/app/components/secret/secret.js
+++ /dev/null
@@ -1,48 +0,0 @@
-import { t } from 'ttag';
-
-export default {
- template: `
-
-
<: val :>
-
-
-
-
-
-
****************
-
-
-
---
-
-
-
-
`,
-
- props: {
- val: '',
- },
-
- data() {
- return {
- visible: false,
- msg: '',
- };
- },
-
- methods: {
- copy() {
- navigator.clipboard.writeText(this.val);
- this.msg = t`copied in the clipboard`;
- },
- reset(v) {
- this.visible = v;
- this.msg = '';
- }
- },
-}
diff --git a/resources/js/app/components/secret/secret.vue b/resources/js/app/components/secret/secret.vue
new file mode 100644
index 000000000..7aadf844f
--- /dev/null
+++ b/resources/js/app/components/secret/secret.vue
@@ -0,0 +1,67 @@
+
+
+
+
{{ val }}
+
+
+
+
+
+
****************
+
+
+
+ ---
+
+
+
+
diff --git a/resources/js/app/components/staggered-list.js b/resources/js/app/components/staggered-list.vue
similarity index 69%
rename from resources/js/app/components/staggered-list.js
rename to resources/js/app/components/staggered-list.vue
index b1bf7adfd..4c2629a08 100644
--- a/resources/js/app/components/staggered-list.js
+++ b/resources/js/app/components/staggered-list.vue
@@ -1,25 +1,21 @@
-/**
- * Templates that uses this component (directly or indirectly):
- * Template/Elements/relations.twig
- *
- * component used for lists with staggered animation
- *
- */
-
+
+
+
+
+
+
diff --git a/resources/js/app/components/uri-input.js b/resources/js/app/components/uri-input.vue
similarity index 92%
rename from resources/js/app/components/uri-input.js
rename to resources/js/app/components/uri-input.vue
index c1652b4bc..98a5e1833 100644
--- a/resources/js/app/components/uri-input.js
+++ b/resources/js/app/components/uri-input.vue
@@ -1,17 +1,22 @@
-import { t } from 'ttag';
-
-export default {
- template: /* template */`
+
-
+
- `,
+
+
diff --git a/resources/js/app/pages/modules/view.vue b/resources/js/app/pages/modules/view.vue
index a76daee3b..382f077fe 100644
--- a/resources/js/app/pages/modules/view.vue
+++ b/resources/js/app/pages/modules/view.vue
@@ -1,10 +1,11 @@