PHP Classes

File: resources/js/Pages/Modules.vue

Recommend this page to a friend!
  Classes of Robert Devenyi   Iceburg CRM   resources/js/Pages/Modules.vue   Download  
File: resources/js/Pages/Modules.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,742 bytes
 

Contents

Class file image Download
<template> <Head title="Settings" /> <BreezeAuthenticatedLayout> <template #header> <h2 class="font-semibold text-xl text-gray-800 leading-tight"> All Modules </h2> </template> <BreadCrumbs :levels="$page.props.breadcrumbs" /> <div class="w-full mt-5 bg-base-100"> <div class="max-w-full p-6 sm:px-3 lg:px-4"> <input type="text" placeholder="Filter by Module Name" class="input input-secondary rounded" v-model="title" /> <div class="grid row-auto gap-5"> <div v-if="modules.length === 0" class="card w-full bg-base-200 text-base-content border-primary border"> <div class="card-body"> None Found </div> </div> <div v-for="module in modules" class="card w-full bg-base-200 text-base-content border-primary border"> <div class="card-body"> <div class="grid grid-flow-col grid-col-3 space-between "> <div> <BaseIcon class_style="h-16 w-16 " class="backdrop-opacity-30" :name="module.icon" /> <h2 class="card-title">{{ module.label }}</h2> <p>{{ module.description }}</p> </div> <div> <div class="card-actions justify-end"> <a class="p-2 w-16 text-xs btn btn-outline btn-secondary text-secondary-content rounded-box shadow" :href="`/audit_log/${module.id}`" method="get" as="button"> Audit Log </a> <a class="p-2 w-16 text-xs btn btn-primary text-primary-content rounded-box shadow" :href="`/module/${module.name}`" method="get" as="button"> Search </a> <a class="p-2 w-16 text-xs btn btn-secondary text-secondary-content rounded-box shadow" :href="`/module/${module.name}/add`" method="get" as="button"> Add </a> <a class="p-2 w-20 text-xs btn btn-outline btn-secondary text-secondary-content rounded-box shadow" :href="`/import?from_module_id=${module.id}`" method="get" as="button"> Import </a> </div> </div> </div> </div> </div> </div> </div> </div> </BreezeAuthenticatedLayout> </template> <script setup> import {computed, onMounted, ref, watch} from "vue"; import BreezeAuthenticatedLayout from '@/Layouts/Authenticated.vue'; import { Head, usePage } from '@inertiajs/inertia-vue3'; import axios from "axios"; import BreadCrumbs from "@/Components/BreadCrumbs"; import BaseIcon from "@/Icons/BaseIcon"; const props = defineProps({ modules: [Object, Array, null] }); const default_modules = ref(usePage().props.value.modules); const title = ref(''); const modules = computed(() => default_modules.value.filter(function(item){ if(title.value.length > 0 && item.label.toLowerCase().indexOf(title.value.toLowerCase()) < 0){ return false; } return true; }) ); </script>