wip
This commit is contained in:
@@ -14,11 +14,16 @@ class ServerController extends Controller
|
||||
public function index()
|
||||
{
|
||||
return inertia('Admin/Servers/Index', [
|
||||
'filters' => request()->all('search'),
|
||||
'servers' => ServerResource::collection(
|
||||
Server::query()
|
||||
->with('users:id,name')
|
||||
->latest()
|
||||
->paginate(config('core.pagination.per_page'))
|
||||
->when(request()->input('search'), function ($query, $value) {
|
||||
return $query->where('name', 'like', '%' . $value . '%')->orWhere('ip', 'like', '%' . $value . '%');
|
||||
})
|
||||
->with('users:id,name')
|
||||
->latest()
|
||||
->paginate(config('core.pagination.per_page'))
|
||||
->withQueryString()
|
||||
)
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -14,11 +14,16 @@ class SiteController extends Controller
|
||||
public function index()
|
||||
{
|
||||
return inertia('Admin/Sites/Index', [
|
||||
'filters' => request()->all('search'),
|
||||
'sites' => SiteResource::collection(
|
||||
Site::query()
|
||||
->when(request()->input('search'), function ($query, $value) {
|
||||
return $query->where('domain', 'like', '%' . $value . '%');
|
||||
})
|
||||
->with('server:id,name', 'users:id,name')
|
||||
->latest()
|
||||
->paginate(config('core.pagination.per_page'))
|
||||
->withQueryString()
|
||||
)
|
||||
]);
|
||||
}
|
||||
|
||||
5
public/js/app.js
vendored
5
public/js/app.js
vendored
File diff suppressed because one or more lines are too long
@@ -15,6 +15,11 @@
|
||||
<template #segments>
|
||||
<SettingsSegment>
|
||||
<template #title>{{ __('Servers') }}</template>
|
||||
<template #form>
|
||||
<form class="space-y-4 pb-5 mb-5 border-b border-low-emphasis">
|
||||
<FormInput :label="__('Search')" v-model="form.search" />
|
||||
</form>
|
||||
</template>
|
||||
<template #content>
|
||||
<div>
|
||||
<Table caption="Server list overview">
|
||||
@@ -82,6 +87,7 @@ import SettingsLayout from '@/components/layouts/SettingsLayout'
|
||||
import SettingsSegment from '@/components/SettingsSegment'
|
||||
import Pagination from '@/components/Pagination'
|
||||
import {useNotification} from '@/hooks/notification'
|
||||
import FormInput from '@/components/forms/FormInput'
|
||||
import Table from '@/components/Table'
|
||||
import TableHead from '@/components/TableHead'
|
||||
import TableHeader from '@/components/TableHeader'
|
||||
@@ -89,6 +95,8 @@ import TableRow from '@/components/TableRow'
|
||||
import TableBody from '@/components/TableBody'
|
||||
import TableData from '@/components/TableData'
|
||||
import IconPhp from '@/components/icons/IconPhp'
|
||||
import throttle from "lodash/throttle";
|
||||
import pickBy from "lodash/pickBy";
|
||||
|
||||
export default {
|
||||
layout: MainLayout,
|
||||
@@ -122,10 +130,12 @@ export default {
|
||||
TableBody,
|
||||
TableData,
|
||||
IconPhp,
|
||||
FormInput,
|
||||
},
|
||||
|
||||
props: {
|
||||
servers: Object,
|
||||
filters: Object,
|
||||
},
|
||||
|
||||
mounted() {
|
||||
@@ -134,5 +144,27 @@ export default {
|
||||
methods: {
|
||||
useNotification,
|
||||
},
|
||||
|
||||
data () {
|
||||
return {
|
||||
form: {
|
||||
search: this.filters.search,
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
watch: {
|
||||
form: {
|
||||
handler: throttle(function() {
|
||||
let query = pickBy(this.form)
|
||||
this.$inertia.get(this.route('admin.servers.index', Object.keys(query).length ? query : { remember: 'forget' }), {},{
|
||||
preserveScroll: true,
|
||||
preserveState: true,
|
||||
})
|
||||
}, 500),
|
||||
deep: true
|
||||
},
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -15,6 +15,11 @@
|
||||
<template #segments>
|
||||
<SettingsSegment>
|
||||
<template #title>{{ __('Sites') }}</template>
|
||||
<template #form>
|
||||
<form class="space-y-4 pb-5 mb-5 border-b border-low-emphasis">
|
||||
<FormInput :label="__('Search')" v-model="form.search" />
|
||||
</form>
|
||||
</template>
|
||||
<template #content>
|
||||
<div>
|
||||
<Table caption="Site list overview">
|
||||
@@ -93,6 +98,7 @@ import SettingsLayout from '@/components/layouts/SettingsLayout'
|
||||
import SettingsSegment from '@/components/SettingsSegment'
|
||||
import Pagination from '@/components/Pagination'
|
||||
import {useNotification} from '@/hooks/notification'
|
||||
import FormInput from '@/components/forms/FormInput'
|
||||
import Table from '@/components/Table'
|
||||
import TableHead from '@/components/TableHead'
|
||||
import TableHeader from '@/components/TableHeader'
|
||||
@@ -100,6 +106,8 @@ import TableRow from '@/components/TableRow'
|
||||
import TableBody from '@/components/TableBody'
|
||||
import TableData from '@/components/TableData'
|
||||
import IconPhp from '@/components/icons/IconPhp'
|
||||
import throttle from "lodash/throttle";
|
||||
import pickBy from "lodash/pickBy";
|
||||
|
||||
export default {
|
||||
layout: MainLayout,
|
||||
@@ -133,10 +141,12 @@ export default {
|
||||
TableBody,
|
||||
TableData,
|
||||
IconPhp,
|
||||
FormInput
|
||||
},
|
||||
|
||||
props: {
|
||||
sites: Object,
|
||||
filters: Object,
|
||||
},
|
||||
|
||||
mounted() {
|
||||
@@ -145,5 +155,26 @@ export default {
|
||||
methods: {
|
||||
useNotification,
|
||||
},
|
||||
|
||||
data () {
|
||||
return {
|
||||
form: {
|
||||
search: this.filters.search,
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
watch: {
|
||||
form: {
|
||||
handler: throttle(function() {
|
||||
let query = pickBy(this.form)
|
||||
this.$inertia.get(this.route('admin.sites.index', Object.keys(query).length ? query : { remember: 'forget' }), {},{
|
||||
preserveScroll: true,
|
||||
preserveState: true,
|
||||
})
|
||||
}, 500),
|
||||
deep: true
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -152,7 +152,9 @@
|
||||
form: {
|
||||
handler: throttle(function() {
|
||||
let query = pickBy(this.form)
|
||||
this.$inertia.replace(this.route('admin.users.index', Object.keys(query).length ? query : { remember: 'forget' }))
|
||||
this.$inertia.get(this.route('admin.users.index', Object.keys(query).length ? query : { remember: 'forget' }),{}, {
|
||||
preserveState: true,
|
||||
})
|
||||
}, 500),
|
||||
deep: true
|
||||
},
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<SettingsSegment v-if="site.project">
|
||||
<template #title>{{ __('Overview') }}</template>
|
||||
<template #subtitle>
|
||||
{{ __('You currently have a application installed.') }}
|
||||
{{ __('You currently have :application installed.', {application: site.project}) }}
|
||||
</template>
|
||||
|
||||
<template #content>
|
||||
|
||||
3
resources/js/mixins.js
vendored
3
resources/js/mixins.js
vendored
@@ -6,7 +6,10 @@ module.exports = {
|
||||
__(key, replace) {
|
||||
let translation = this.$page.props.translations[key] ? this.$page.props.translations[key] : key;
|
||||
|
||||
console.log(replace);
|
||||
_forEach(replace, (value, key) => {
|
||||
console.log(value, key)
|
||||
console.log(translation);
|
||||
translation = translation.replace(':' + key, value);
|
||||
});
|
||||
|
||||
|
||||
@@ -147,7 +147,7 @@
|
||||
"WordPress is open source software you can use to create a beautiful website, blog, or app.": "WordPress is open source software wat je kan gebruiken om eenvoudig je website, blog of app te bouwen.",
|
||||
"Create database & attach to WordPress": "Maak een nieuwe database en koppel WordPress",
|
||||
"This will also create a database and attach it directly for you so you have a easy start.": "Dit maakt een nieuwe database aan, en koppelt je WordPress installatie gelijk zodat je meteen kunt beginnen met installeren.",
|
||||
"You currently have a application installed.": "Je hebt momenteel een applicatie geïnstalleerd.",
|
||||
"You currently have :application installed.": "Je hebt momenteel :application geïnstalleerd.",
|
||||
|
||||
"Nextcloud is a suite of client-server software for creating and using file hosting services, it is comparable to Dropbox.": "Nextcloud is software om bestanden mee te hosten, het is vergelijkbaar met Dropbox.",
|
||||
|
||||
|
||||
Reference in New Issue
Block a user