Browse Source

Adjust Apps and User settings to new Vue components

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
tags/v16.0.0alpha1
Christoph Wurst 5 years ago
parent
commit
280b50aa68
No account linked to committer's email address

+ 1
- 6
.gitattributes View File

/apps/updatenotification/js/updatenotification.js binary /apps/updatenotification/js/updatenotification.js binary
/apps/updatenotification/js/updatenotification.js.map binary /apps/updatenotification/js/updatenotification.js.map binary


/settings/js/settings-admin-security.js binary
/settings/js/settings-admin-security.js.map binary
/settings/js/settings-vue.js binary
/settings/js/settings-vue.js.map binary
/settings/js/0.js binary
/settings/js/0.js.map binary
/settings/js/vue* binary

+ 52
- 12
settings/js/vue-0.js
File diff suppressed because it is too large
View File


+ 1
- 1
settings/js/vue-0.js.map
File diff suppressed because it is too large
View File


+ 1
- 1
settings/js/vue-5.js
File diff suppressed because it is too large
View File


+ 1
- 1
settings/js/vue-5.js.map
File diff suppressed because it is too large
View File


+ 1
- 1
settings/js/vue-6.js
File diff suppressed because it is too large
View File


+ 1
- 1
settings/js/vue-6.js.map
File diff suppressed because it is too large
View File


+ 55
- 15
settings/js/vue-settings-admin-security.js
File diff suppressed because it is too large
View File


+ 1
- 1
settings/js/vue-settings-admin-security.js.map
File diff suppressed because it is too large
View File


+ 3
- 3
settings/js/vue-settings-apps-users-management.js
File diff suppressed because it is too large
View File


+ 1
- 1
settings/js/vue-settings-apps-users-management.js.map
File diff suppressed because it is too large
View File


+ 202
- 394
settings/package-lock.json
File diff suppressed because it is too large
View File


+ 4
- 4
settings/package.json View File

{ {
"name": "settings", "name": "settings",
"description": "Nextcloud settings", "description": "Nextcloud settings",
"version": "1.4.0",
"version": "1.5.0",
"author": "John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>", "author": "John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>",
"license": "AGPL3", "license": "AGPL3",
"private": true, "private": true,
"marked": "^0.6.0", "marked": "^0.6.0",
"nextcloud-axios": "^0.1.3", "nextcloud-axios": "^0.1.3",
"nextcloud-password-confirmation": "^0.4.1", "nextcloud-password-confirmation": "^0.4.1",
"nextcloud-vue": "^0.6.0",
"nextcloud-vue": "^0.6.3",
"v-tooltip": "^2.0.0-rc.33", "v-tooltip": "^2.0.0-rc.33",
"vue": "^2.5.22",
"vue": "^2.6.6",
"vue-click-outside": "^1.0.7", "vue-click-outside": "^1.0.7",
"vue-infinite-loading": "^2.4.3", "vue-infinite-loading": "^2.4.3",
"vue-localstorage": "^0.6.2", "vue-localstorage": "^0.6.2",
"node-sass": "^4.11.0", "node-sass": "^4.11.0",
"sass-loader": "^7.1.0", "sass-loader": "^7.1.0",
"vue-loader": "^15.6.2", "vue-loader": "^15.6.2",
"vue-template-compiler": "^2.5.22",
"vue-template-compiler": "^2.6.6",
"webpack": "^4.29.3", "webpack": "^4.29.3",
"webpack-cli": "^3.2.3", "webpack-cli": "^3.2.3",
"webpack-merge": "^4.2.1" "webpack-merge": "^4.2.1"

+ 17
- 21
settings/src/views/Apps.vue View File

--> -->


<template> <template>
<div id="content" class="app-settings" :class="{ 'with-app-sidebar': currentApp}">
<app-navigation :menu="menu" />
<div id="app-content" class="app-settings-content" :class="{ 'icon-loading': loadingList }">
<AppContent app-name="settings" :class="{ 'with-app-sidebar': currentApp}"
:content-class="{ 'icon-loading': loadingList }" :navigation-class="{ 'icon-loading': loading }">
<template #navigation>
<ul id="appscategories">
<AppNavigationItem v-for="item in menu" :key="item.key" :item="item" />
</ul>
</template>
<template #content class="app-settings-content" :class="{ 'icon-loading': loadingList }">
<app-list :category="category" :app="currentApp" :search="searchQuery"></app-list> <app-list :category="category" :app="currentApp" :search="searchQuery"></app-list>
</div>
<div id="app-sidebar" v-if="id && currentApp">
</template>
<template #sidebar v-if="id && currentApp" >
<app-details :category="category" :app="currentApp"></app-details> <app-details :category="category" :app="currentApp"></app-details>
</div>
</div>
</template>
</AppContent>
</template> </template>



<script> <script>
import { AppNavigation } from 'nextcloud-vue';
import { AppContent, AppNavigationItem } from 'nextcloud-vue';
import appList from '../components/appList'; import appList from '../components/appList';
import Vue from 'vue'; import Vue from 'vue';
import VueLocalStorage from 'vue-localstorage' import VueLocalStorage from 'vue-localstorage'
import Multiselect from 'vue-multiselect';
import api from '../store/api';
import AppDetails from '../components/appDetails'; import AppDetails from '../components/appDetails';


Vue.use(VueLocalStorage) Vue.use(VueLocalStorage)
} }
}, },
components: { components: {
AppContent,
AppDetails, AppDetails,
AppNavigation,
appList, appList,
AppNavigationItem,
}, },
methods: { methods: {
setSearch(query) { setSearch(query) {
]; ];


if (!this.settings.appstoreEnabled) { if (!this.settings.appstoreEnabled) {
return {
id: 'appscategories',
items: defaultCategories,
}
return defaultCategories
} }


if (this.$store.getters.getUpdateCount > 0) { if (this.$store.getters.getUpdateCount > 0) {
}); });


// Return // Return
return {
id: 'appscategories',
items: categories,
loading: this.loading
}
return categories
}, },
} }
} }

+ 29
- 25
settings/src/views/Users.vue View File

--> -->


<template> <template>
<div id="content" class="app-settings">
<app-navigation :menu="menu">
<template slot="settings-content">
<AppContent app-name="settings" :navigation-class="{ 'icon-loading': loading }">
<template #navigation>
<AppNavigationNew button-id="new-user-button" :text="t('settings','New user')" button-class="icon-add" @click="toggleNewUserMenu" />
<ul id="usergrouplist">
<AppNavigationItem v-for="item in menu" :key="item.key" :item="item" />
</ul>
<AppNavigationSettings>
<div> <div>
<p>{{t('settings', 'Default quota:')}}</p> <p>{{t('settings', 'Default quota:')}}</p>
<multiselect :value="defaultQuota" :options="quotaOptions" <multiselect :value="defaultQuota" :options="quotaOptions"
tag-placeholder="create" :placeholder="t('settings', 'Select default quota')"
label="label" track-by="id" class="multiselect-vue"
:allowEmpty="false" :taggable="true"
@tag="validateQuota" @input="setDefaultQuota">
tag-placeholder="create" :placeholder="t('settings', 'Select default quota')"
label="label" track-by="id" class="multiselect-vue"
:allowEmpty="false" :taggable="true"
@tag="validateQuota" @input="setDefaultQuota">
</multiselect> </multiselect>


</div> </div>
<input type="checkbox" id="showStoragePath" class="checkbox" v-model="showStoragePath"> <input type="checkbox" id="showStoragePath" class="checkbox" v-model="showStoragePath">
<label for="showStoragePath">{{t('settings', 'Show storage path')}}</label> <label for="showStoragePath">{{t('settings', 'Show storage path')}}</label>
</div> </div>
</template>
</app-navigation>
<user-list :users="users" :showConfig="showConfig" :selectedGroup="selectedGroup" :externalActions="externalActions" />
</div>
</AppNavigationSettings>
</template>
<template #content>
<user-list :users="users" :showConfig="showConfig" :selectedGroup="selectedGroup" :externalActions="externalActions" />
</template>
</AppContent>
</template> </template>


<script> <script>
import { AppNavigation } from 'nextcloud-vue';
import {
AppContent,
AppNavigationItem,
AppNavigationNew,
AppNavigationSettings,
} from 'nextcloud-vue';
import userList from '../components/userList'; import userList from '../components/userList';
import Vue from 'vue'; import Vue from 'vue';
import VueLocalStorage from 'vue-localstorage' import VueLocalStorage from 'vue-localstorage'
name: 'Users', name: 'Users',
props: ['selectedGroup'], props: ['selectedGroup'],
components: { components: {
AppNavigation,
AppContent,
AppNavigationItem,
AppNavigationNew,
AppNavigationSettings,
userList, userList,
Multiselect
Multiselect,
}, },
beforeMount() { beforeMount() {
this.$store.commit('initGroups', { this.$store.commit('initGroups', {
} }
groups.unshift(addGroup); groups.unshift(addGroup);


// Return
return {
id: 'usergrouplist',
new: {
id:'new-user-button',
text: t('settings','New user'),
icon: 'icon-add',
action: this.toggleNewUserMenu
},
items: groups
}
return groups;
}, },
} }
} }

Loading…
Cancel
Save