Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>tags/v14.0.0beta1
@@ -1,6 +1,6 @@ | |||
#!/bin/bash | |||
declare -a apps=("./settings/js/main.js" "./apps/updatenotification/js/merged.js") | |||
declare -a apps=("./settings/js/settings-vue.js" "./apps/updatenotification/js/merged.js") | |||
root=$(pwd) | |||
entryFile=$1 | |||
@@ -141,7 +141,7 @@ class AppSettingsController extends Controller { | |||
$params['bundles'] = $this->getBundles(); | |||
$this->navigationManager->setActiveEntry('core_apps'); | |||
$templateResponse = new TemplateResponse('settings', 'settings', ['serverData' => $params]); | |||
$templateResponse = new TemplateResponse('settings', 'settings-vue', ['serverData' => $params]); | |||
$policy = new ContentSecurityPolicy(); | |||
$policy->addAllowedImageDomain('https://usercontent.apps.nextcloud.com'); | |||
$templateResponse->setContentSecurityPolicy($policy); |
@@ -246,7 +246,7 @@ class UsersController extends Controller { | |||
$serverData['defaultQuota'] = $defaultQuota; | |||
$serverData['canChangePassword'] = $canChangePassword; | |||
return new TemplateResponse('settings', 'settings', ['serverData' => $serverData]); | |||
return new TemplateResponse('settings', 'settings-vue', ['serverData' => $serverData]); | |||
} | |||
/** |
@@ -18,8 +18,8 @@ watch-js: | |||
npm run watch | |||
clean: | |||
rm -f js/main.js | |||
rm -f js/main.js.map | |||
rm -f js/settings-vue.js | |||
rm -f js/settings-vue.js.map | |||
clean-dev: | |||
rm -rf node_modules |
@@ -16,4 +16,7 @@ make watch-js | |||
# build for production with minification | |||
make build-js-production | |||
``` | |||
# clean output files | |||
make clean | |||
``` |
@@ -1,6 +1,6 @@ | |||
{ | |||
"name": "settings", | |||
"version": "1.1.0", | |||
"version": "1.1.1", | |||
"lockfileVersion": 1, | |||
"requires": true, | |||
"dependencies": { | |||
@@ -2599,7 +2599,8 @@ | |||
"ansi-regex": { | |||
"version": "2.1.1", | |||
"bundled": true, | |||
"dev": true | |||
"dev": true, | |||
"optional": true | |||
}, | |||
"aproba": { | |||
"version": "1.2.0", | |||
@@ -3014,7 +3015,8 @@ | |||
"safe-buffer": { | |||
"version": "5.1.1", | |||
"bundled": true, | |||
"dev": true | |||
"dev": true, | |||
"optional": true | |||
}, | |||
"safer-buffer": { | |||
"version": "2.1.2", | |||
@@ -3070,6 +3072,7 @@ | |||
"version": "3.0.1", | |||
"bundled": true, | |||
"dev": true, | |||
"optional": true, | |||
"requires": { | |||
"ansi-regex": "^2.0.0" | |||
} | |||
@@ -3113,12 +3116,14 @@ | |||
"wrappy": { | |||
"version": "1.0.2", | |||
"bundled": true, | |||
"dev": true | |||
"dev": true, | |||
"optional": true | |||
}, | |||
"yallist": { | |||
"version": "3.0.2", | |||
"bundled": true, | |||
"dev": true | |||
"dev": true, | |||
"optional": true | |||
} | |||
} | |||
}, |
@@ -1,7 +1,7 @@ | |||
{ | |||
"name": "settings", | |||
"description": "Nextcloud settings", | |||
"version": "1.1.0", | |||
"version": "1.1.1", | |||
"author": "John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>", | |||
"license": "AGPL3", | |||
"private": true, |
@@ -1,3 +1,25 @@ | |||
<!-- | |||
- @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com> | |||
- | |||
- @author John Molakvoæ <skjnldsv@protonmail.com> | |||
- | |||
- @license GNU AGPL version 3 or any later version | |||
- | |||
- This program is free software: you can redistribute it and/or modify | |||
- it under the terms of the GNU Affero General Public License as | |||
- published by the Free Software Foundation, either version 3 of the | |||
- License, or (at your option) any later version. | |||
- | |||
- This program is distributed in the hope that it will be useful, | |||
- but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
- GNU Affero General Public License for more details. | |||
- | |||
- You should have received a copy of the GNU Affero General Public License | |||
- along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
- | |||
--> | |||
<template> | |||
<router-view></router-view> | |||
</template> |
@@ -1,3 +1,25 @@ | |||
<!-- | |||
- @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com> | |||
- | |||
- @author John Molakvoæ <skjnldsv@protonmail.com> | |||
- | |||
- @license GNU AGPL version 3 or any later version | |||
- | |||
- This program is free software: you can redistribute it and/or modify | |||
- it under the terms of the GNU Affero General Public License as | |||
- published by the Free Software Foundation, either version 3 of the | |||
- License, or (at your option) any later version. | |||
- | |||
- This program is distributed in the hope that it will be useful, | |||
- but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
- GNU Affero General Public License for more details. | |||
- | |||
- You should have received a copy of the GNU Affero General Public License | |||
- along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
- | |||
--> | |||
<template> | |||
<div id="app-navigation" :class="{'icon-loading': menu.loading}"> | |||
<div class="app-navigation-new" v-if="menu.new"> | |||
@@ -28,5 +50,5 @@ export default { | |||
components: { | |||
navigationItem | |||
} | |||
} | |||
}; | |||
</script> |
@@ -1,3 +1,24 @@ | |||
<!-- | |||
- @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com> | |||
- | |||
- @author John Molakvoæ <skjnldsv@protonmail.com> | |||
- | |||
- @license GNU AGPL version 3 or any later version | |||
- | |||
- This program is free software: you can redistribute it and/or modify | |||
- it under the terms of the GNU Affero General Public License as | |||
- published by the Free Software Foundation, either version 3 of the | |||
- License, or (at your option) any later version. | |||
- | |||
- This program is distributed in the hope that it will be useful, | |||
- but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
- GNU Affero General Public License for more details. | |||
- | |||
- You should have received a copy of the GNU Affero General Public License | |||
- along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
- | |||
--> | |||
<template> | |||
<nav-element :id="item.id" v-bind="navElement(item)" | |||
:class="[{'icon-loading-small': item.loading, 'open': item.opened, 'collapsible': item.collapsible&&item.children&&item.children.length>0 }, item.classes]"> |
@@ -1,3 +1,25 @@ | |||
<!-- | |||
- @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com> | |||
- | |||
- @author John Molakvoæ <skjnldsv@protonmail.com> | |||
- | |||
- @license GNU AGPL version 3 or any later version | |||
- | |||
- This program is free software: you can redistribute it and/or modify | |||
- it under the terms of the GNU Affero General Public License as | |||
- published by the Free Software Foundation, either version 3 of the | |||
- License, or (at your option) any later version. | |||
- | |||
- This program is distributed in the hope that it will be useful, | |||
- but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
- GNU Affero General Public License for more details. | |||
- | |||
- You should have received a copy of the GNU Affero General Public License | |||
- along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
- | |||
--> | |||
<template> | |||
<ul> | |||
<popover-item v-for="(item, key) in menu" :item="item" :key="key" /> |
@@ -1,3 +1,25 @@ | |||
<!-- | |||
- @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com> | |||
- | |||
- @author John Molakvoæ <skjnldsv@protonmail.com> | |||
- | |||
- @license GNU AGPL version 3 or any later version | |||
- | |||
- This program is free software: you can redistribute it and/or modify | |||
- it under the terms of the GNU Affero General Public License as | |||
- published by the Free Software Foundation, either version 3 of the | |||
- License, or (at your option) any later version. | |||
- | |||
- This program is distributed in the hope that it will be useful, | |||
- but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
- GNU Affero General Public License for more details. | |||
- | |||
- You should have received a copy of the GNU Affero General Public License | |||
- along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
- | |||
--> | |||
<template> | |||
<li> | |||
<!-- If item.href is set, a link will be directly used --> | |||
@@ -24,5 +46,5 @@ | |||
<script> | |||
export default { | |||
props: ['item'] | |||
} | |||
}; | |||
</script> |
@@ -1,3 +1,25 @@ | |||
<!-- | |||
- @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com> | |||
- | |||
- @author John Molakvoæ <skjnldsv@protonmail.com> | |||
- | |||
- @license GNU AGPL version 3 or any later version | |||
- | |||
- This program is free software: you can redistribute it and/or modify | |||
- it under the terms of the GNU Affero General Public License as | |||
- published by the Free Software Foundation, either version 3 of the | |||
- License, or (at your option) any later version. | |||
- | |||
- This program is distributed in the hope that it will be useful, | |||
- but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
- GNU Affero General Public License for more details. | |||
- | |||
- You should have received a copy of the GNU Affero General Public License | |||
- along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
- | |||
--> | |||
<template> | |||
<div id="app-content" class="user-list-grid" v-on:scroll.passive="onScroll"> | |||
<div class="row" id="grid-header" :class="{'sticky': scrolled && !showConfig.showNewUserForm}"> |
@@ -1,3 +1,25 @@ | |||
<!-- | |||
- @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com> | |||
- | |||
- @author John Molakvoæ <skjnldsv@protonmail.com> | |||
- | |||
- @license GNU AGPL version 3 or any later version | |||
- | |||
- This program is free software: you can redistribute it and/or modify | |||
- it under the terms of the GNU Affero General Public License as | |||
- published by the Free Software Foundation, either version 3 of the | |||
- License, or (at your option) any later version. | |||
- | |||
- This program is distributed in the hope that it will be useful, | |||
- but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
- GNU Affero General Public License for more details. | |||
- | |||
- You should have received a copy of the GNU Affero General Public License | |||
- along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
- | |||
--> | |||
<template> | |||
<!-- Obfuscated user: Logged in user does not have permissions to see all of the data --> | |||
<div class="row" v-if="Object.keys(user).length ===1"> |
@@ -1,3 +1,25 @@ | |||
/* | |||
* @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com> | |||
* | |||
* @author John Molakvoæ <skjnldsv@protonmail.com> | |||
* | |||
* @license GNU AGPL version 3 or any later version | |||
* | |||
* This program is free software: you can redistribute it and/or modify | |||
* it under the terms of the GNU Affero General Public License as | |||
* published by the Free Software Foundation, either version 3 of the | |||
* License, or (at your option) any later version. | |||
* | |||
* This program is distributed in the hope that it will be useful, | |||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
* GNU Affero General Public License for more details. | |||
* | |||
* You should have received a copy of the GNU Affero General Public License | |||
* along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
* | |||
*/ | |||
import Vue from 'vue'; | |||
import { sync } from 'vuex-router-sync'; | |||
import App from './App.vue'; |
@@ -1,4 +1,27 @@ | |||
import Vue from 'vue'; | |||
/* | |||
* @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com> | |||
* | |||
* @author John Molakvoæ <skjnldsv@protonmail.com> | |||
* @author Julius Härtl <jus@bitgrid.net> | |||
* | |||
* @license GNU AGPL version 3 or any later version | |||
* | |||
* This program is free software: you can redistribute it and/or modify | |||
* it under the terms of the GNU Affero General Public License as | |||
* published by the Free Software Foundation, either version 3 of the | |||
* License, or (at your option) any later version. | |||
* | |||
* This program is distributed in the hope that it will be useful, | |||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
* GNU Affero General Public License for more details. | |||
* | |||
* You should have received a copy of the GNU Affero General Public License | |||
* along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
* | |||
*/ | |||
import Vue from 'vue'; | |||
import Router from 'vue-router'; | |||
import Users from './views/Users'; | |||
import Apps from './views/Apps'; | |||
@@ -9,8 +32,8 @@ Vue.use(Router); | |||
* This is the list of routes where the vuejs app will | |||
* take over php to provide data | |||
* You need to forward the php routing (routes.php) to | |||
* /settings/main.php, where the vue-router will ensure | |||
* the proper route. | |||
* the settings-vue template, where the vue-router will | |||
* ensure the proper route. | |||
* ⚠️ Routes needs to match the php routes. | |||
*/ | |||
@@ -1,3 +1,25 @@ | |||
/* | |||
* @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com> | |||
* | |||
* @author John Molakvoæ <skjnldsv@protonmail.com> | |||
* | |||
* @license GNU AGPL version 3 or any later version | |||
* | |||
* This program is free software: you can redistribute it and/or modify | |||
* it under the terms of the GNU Affero General Public License as | |||
* published by the Free Software Foundation, either version 3 of the | |||
* License, or (at your option) any later version. | |||
* | |||
* This program is distributed in the hope that it will be useful, | |||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
* GNU Affero General Public License for more details. | |||
* | |||
* You should have received a copy of the GNU Affero General Public License | |||
* along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
* | |||
*/ | |||
import axios from 'axios'; | |||
const requestToken = document.getElementsByTagName('head')[0].getAttribute('data-requesttoken'); |
@@ -1,3 +1,26 @@ | |||
/* | |||
* @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com> | |||
* | |||
* @author John Molakvoæ <skjnldsv@protonmail.com> | |||
* @author Julius Härtl <jus@bitgrid.net> | |||
* | |||
* @license GNU AGPL version 3 or any later version | |||
* | |||
* This program is free software: you can redistribute it and/or modify | |||
* it under the terms of the GNU Affero General Public License as | |||
* published by the Free Software Foundation, either version 3 of the | |||
* License, or (at your option) any later version. | |||
* | |||
* This program is distributed in the hope that it will be useful, | |||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
* GNU Affero General Public License for more details. | |||
* | |||
* You should have received a copy of the GNU Affero General Public License | |||
* along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
* | |||
*/ | |||
import Vue from 'vue'; | |||
import Vuex from 'vuex'; | |||
import users from './users'; |
@@ -1,3 +1,25 @@ | |||
/* | |||
* @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com> | |||
* | |||
* @author John Molakvoæ <skjnldsv@protonmail.com> | |||
* | |||
* @license GNU AGPL version 3 or any later version | |||
* | |||
* This program is free software: you can redistribute it and/or modify | |||
* it under the terms of the GNU Affero General Public License as | |||
* published by the Free Software Foundation, either version 3 of the | |||
* License, or (at your option) any later version. | |||
* | |||
* This program is distributed in the hope that it will be useful, | |||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
* GNU Affero General Public License for more details. | |||
* | |||
* You should have received a copy of the GNU Affero General Public License | |||
* along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
* | |||
*/ | |||
import api from './api'; | |||
const state = {}; |
@@ -1,3 +1,25 @@ | |||
/* | |||
* @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com> | |||
* | |||
* @author John Molakvoæ <skjnldsv@protonmail.com> | |||
* | |||
* @license GNU AGPL version 3 or any later version | |||
* | |||
* This program is free software: you can redistribute it and/or modify | |||
* it under the terms of the GNU Affero General Public License as | |||
* published by the Free Software Foundation, either version 3 of the | |||
* License, or (at your option) any later version. | |||
* | |||
* This program is distributed in the hope that it will be useful, | |||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
* GNU Affero General Public License for more details. | |||
* | |||
* You should have received a copy of the GNU Affero General Public License | |||
* along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
* | |||
*/ | |||
import api from './api'; | |||
const state = { |
@@ -1,3 +1,25 @@ | |||
/* | |||
* @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com> | |||
* | |||
* @author John Molakvoæ <skjnldsv@protonmail.com> | |||
* | |||
* @license GNU AGPL version 3 or any later version | |||
* | |||
* This program is free software: you can redistribute it and/or modify | |||
* it under the terms of the GNU Affero General Public License as | |||
* published by the Free Software Foundation, either version 3 of the | |||
* License, or (at your option) any later version. | |||
* | |||
* This program is distributed in the hope that it will be useful, | |||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
* GNU Affero General Public License for more details. | |||
* | |||
* You should have received a copy of the GNU Affero General Public License | |||
* along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
* | |||
*/ | |||
import api from './api'; | |||
const orderGroups = function(groups, orderBy) { |
@@ -1,3 +1,25 @@ | |||
<!-- | |||
- @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com> | |||
- | |||
- @author John Molakvoæ <skjnldsv@protonmail.com> | |||
- | |||
- @license GNU AGPL version 3 or any later version | |||
- | |||
- This program is free software: you can redistribute it and/or modify | |||
- it under the terms of the GNU Affero General Public License as | |||
- published by the Free Software Foundation, either version 3 of the | |||
- License, or (at your option) any later version. | |||
- | |||
- This program is distributed in the hope that it will be useful, | |||
- but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
- GNU Affero General Public License for more details. | |||
- | |||
- You should have received a copy of the GNU Affero General Public License | |||
- along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
- | |||
--> | |||
<template> | |||
<div id="app"> | |||
<app-navigation :menu="menu"> |
@@ -14,7 +14,7 @@ | |||
* | |||
*/ | |||
script('settings', 'main'); | |||
script('settings', 'settings-vue'); | |||
style('settings', 'settings'); | |||
// Did we have some data to inject ? |
@@ -6,7 +6,7 @@ module.exports = { | |||
output: { | |||
path: path.resolve(__dirname, './js'), | |||
publicPath: '/', | |||
filename: 'main.js' | |||
filename: 'settings-vue.js' | |||
}, | |||
module: { | |||
rules: [ |