add a way to create custom categories and manage application categories

This commit is contained in:
Simon Vieille
2022-01-11 19:59:51 +01:00
parent a9ca55390d
commit 30072500bc
13 changed files with 386 additions and 7 deletions
+34
View File
@@ -15,6 +15,12 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import AdminCategoriesCustom from './AdminCategoriesCustom.vue'
import Vue from 'vue'
Vue.prototype.OC = window.OC
Vue.prototype.OCA = window.OCA
let elements = []
const selector = '#side-menu-message'
@@ -108,7 +114,26 @@ const elementToggler = (element) => {
element.style.display = display
}
const updateAppsCategoriesCustom = () => {
let values = {}
for (let item of document.querySelectorAll('.apps-categories-custom')) {
let app = item.getAttribute('data-app')
let value = item.value
if (value) {
values[app] = value
}
}
document.querySelector('#apps-categories-custom').value = JSON.stringify(values)
}
document.addEventListener('DOMContentLoaded', () => {
const View = Vue.extend(AdminCategoriesCustom)
const adminCategoriesCustom = new View({})
adminCategoriesCustom.$mount('#side-menu-categories-custom')
elements = document.querySelectorAll('.side-menu-setting')
document.querySelector('#side-menu-save').addEventListener('click', (event) => {
@@ -134,6 +159,12 @@ document.addEventListener('DOMContentLoaded', () => {
})
}
for (let item of document.querySelectorAll('.apps-categories-custom')) {
item.addEventListener('change', (event) => {
updateAppsCategoriesCustom()
})
}
for (let item of document.querySelectorAll('.side-menu-setting-live')) {
item.addEventListener('change', (event) => {
const target = event.target
@@ -196,9 +227,12 @@ document.addEventListener('DOMContentLoaded', () => {
let value = []
for (let item of document.querySelectorAll('#categories-list .side-menu-setting-list-item')) {
console.log(item.getAttribute('data-id'))
value.push(item.getAttribute('data-id'))
}
console.log(value)
document.querySelector('input[name="categories-order"]').value = JSON.stringify(value)
})
} catch (e) {