PHP Classes

File: resources/js/Pages/Module/AuditLog.vue

Recommend this page to a friend!
  Classes of Robert Devenyi   Iceburg CRM   resources/js/Pages/Module/AuditLog.vue   Download  
File: resources/js/Pages/Module/AuditLog.vue
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: Iceburg CRM
CRM application to manage contacts
Author: By
Last change:
Date: 1 year ago
Size: 3,579 bytes
 

Contents

Class file image Download
<template> <Head title="Audit Log" /> <BreezeAuthenticatedLayout> <template #header> <div class="grid grid-flow-col"> <div class="col-span-8"> <Title :module="$page.props.module" page_description="Audit Log" /> </div> <div class="col-span-4"> <HeadButtons class="col-span-2" :module="$page.props.module" :permissions="$page.props.permissions" :allowed="['import', 'add', 'export', 'audit']" :record="$page.props.record" /> </div> </div> </template> <BreadCrumbs :levels="$page.props.breadcrumbs" /> <div class="w-full bg-base-100"> <div class="bg-base-100 mt-10 text-base-content max-w-full sm:px-3 lg:px-4"> <div class="bg-base-100 text-base-content grid grid-auto grid-flow-col"> <div> <select v-model="type" class="input select-secondary w-full md:w-1/2 lg:w-1/4"> <option value="">Select a Type</option> <option value="read">Read</option> <option value="write">Write</option> <option value="import">Import</option> <option value="export">Export</option> </select> <select v-model="user" class="input select-secondary w-full md:w-1/2 lg:w-1/4"> <option value="">Select a User</option> <option :value="item.id" v-for="item in $page.props.users">{{item.name}}</option> </select> </div> </div> <table class="bg-base-200 text-base-content table table-zebra table-normal lg:table-normal w-full border-secondary border-solid"> <thead> <th>ID</th> <th>Type</th> <th>User</th> <th>Date</th> </thead> <tr v-for="record in display_logs"> <td> {{record.id}} </td> <td> {{record.type}} </td> <td> {{record.user.name}} </td> <td> {{record.created_at}} </td> </tr> </table> </div> </div> </BreezeAuthenticatedLayout> </template> <script setup> import BreezeAuthenticatedLayout from '@/Layouts/Authenticated.vue'; import {Head, usePage} from '@inertiajs/inertia-vue3'; import BreadCrumbs from "@/Components/BreadCrumbs"; import HeadButtons from "@/Components/Header/Buttons"; import Title from "@/Components/Header/Title"; import {computed, ref} from "vue"; const log_list = ref(usePage().props.value.logs); const type = ref(''); const user = ref(''); const display_logs = computed(() => log_list.value.filter(function(item){ if( (type.value !== '' && type.value !== item.type) || (user.value !== '' && user.value !== item.user.id) ) { return false; } return true; }) ); </script>