fix: implemented View breadcrumbs on all pages
This commit is contained in:
parent
bee2de6f6f
commit
51797e1a55
@ -1,39 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<LayoutHeader>
|
<LayoutHeader>
|
||||||
<template #left-header>
|
<template #left-header>
|
||||||
<div class="flex items-center">
|
<ViewBreadcrumbs v-model="viewControls" routeName="Call Logs" />
|
||||||
<router-link
|
|
||||||
:to="{ name: 'Call Logs' }"
|
|
||||||
class="px-0.5 py-1 text-lg font-medium focus:outline-none focus-visible:ring-2 focus-visible:ring-gray-400 text-gray-600 hover:text-gray-700"
|
|
||||||
>
|
|
||||||
{{ __('Call Logs') }}
|
|
||||||
</router-link>
|
|
||||||
<span class="mx-0.5 text-base text-gray-500" aria-hidden="true">
|
|
||||||
/
|
|
||||||
</span>
|
|
||||||
<Dropdown
|
|
||||||
v-if="viewControls"
|
|
||||||
:options="viewControls.viewsDropdownOptions"
|
|
||||||
>
|
|
||||||
<template #default="{ open }">
|
|
||||||
<Button
|
|
||||||
variant="ghost"
|
|
||||||
class="text-lg font-medium"
|
|
||||||
:label="__(viewControls.currentView.label)"
|
|
||||||
>
|
|
||||||
<template #prefix>
|
|
||||||
<Icon :icon="viewControls.currentView.icon" class="h-4" />
|
|
||||||
</template>
|
|
||||||
<template #suffix>
|
|
||||||
<FeatherIcon
|
|
||||||
:name="open ? 'chevron-up' : 'chevron-down'"
|
|
||||||
class="h-4 text-gray-800"
|
|
||||||
/>
|
|
||||||
</template>
|
|
||||||
</Button>
|
|
||||||
</template>
|
|
||||||
</Dropdown>
|
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
<template #right-header>
|
<template #right-header>
|
||||||
<CustomActions
|
<CustomActions
|
||||||
@ -86,7 +54,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import Icon from '@/components/Icon.vue'
|
import ViewBreadcrumbs from '@/components/ViewBreadcrumbs.vue'
|
||||||
import CustomActions from '@/components/CustomActions.vue'
|
import CustomActions from '@/components/CustomActions.vue'
|
||||||
import PhoneIcon from '@/components/Icons/PhoneIcon.vue'
|
import PhoneIcon from '@/components/Icons/PhoneIcon.vue'
|
||||||
import LayoutHeader from '@/components/LayoutHeader.vue'
|
import LayoutHeader from '@/components/LayoutHeader.vue'
|
||||||
@ -94,7 +62,6 @@ import ViewControls from '@/components/ViewControls.vue'
|
|||||||
import CallLogsListView from '@/components/ListViews/CallLogsListView.vue'
|
import CallLogsListView from '@/components/ListViews/CallLogsListView.vue'
|
||||||
import CallLogModal from '@/components/Modals/CallLogModal.vue'
|
import CallLogModal from '@/components/Modals/CallLogModal.vue'
|
||||||
import { getCallLogDetail } from '@/utils/callLog'
|
import { getCallLogDetail } from '@/utils/callLog'
|
||||||
import { Dropdown } from 'frappe-ui'
|
|
||||||
import { computed, ref } from 'vue'
|
import { computed, ref } from 'vue'
|
||||||
|
|
||||||
const callLogsListView = ref(null)
|
const callLogsListView = ref(null)
|
||||||
|
|||||||
@ -1,39 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<LayoutHeader>
|
<LayoutHeader>
|
||||||
<template #left-header>
|
<template #left-header>
|
||||||
<div class="flex items-center">
|
<ViewBreadcrumbs v-model="viewControls" routeName="Contacts" />
|
||||||
<router-link
|
|
||||||
:to="{ name: 'Contacts' }"
|
|
||||||
class="px-0.5 py-1 text-lg font-medium focus:outline-none focus-visible:ring-2 focus-visible:ring-gray-400 text-gray-600 hover:text-gray-700"
|
|
||||||
>
|
|
||||||
{{ __('Contacts') }}
|
|
||||||
</router-link>
|
|
||||||
<span class="mx-0.5 text-base text-gray-500" aria-hidden="true">
|
|
||||||
/
|
|
||||||
</span>
|
|
||||||
<Dropdown
|
|
||||||
v-if="viewControls"
|
|
||||||
:options="viewControls.viewsDropdownOptions"
|
|
||||||
>
|
|
||||||
<template #default="{ open }">
|
|
||||||
<Button
|
|
||||||
variant="ghost"
|
|
||||||
class="text-lg font-medium"
|
|
||||||
:label="__(viewControls.currentView.label)"
|
|
||||||
>
|
|
||||||
<template #prefix>
|
|
||||||
<Icon :icon="viewControls.currentView.icon" class="h-4" />
|
|
||||||
</template>
|
|
||||||
<template #suffix>
|
|
||||||
<FeatherIcon
|
|
||||||
:name="open ? 'chevron-up' : 'chevron-down'"
|
|
||||||
class="h-4 text-gray-800"
|
|
||||||
/>
|
|
||||||
</template>
|
|
||||||
</Button>
|
|
||||||
</template>
|
|
||||||
</Dropdown>
|
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
<template #right-header>
|
<template #right-header>
|
||||||
<CustomActions
|
<CustomActions
|
||||||
@ -104,7 +72,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import Icon from '@/components/Icon.vue'
|
import ViewBreadcrumbs from '@/components/ViewBreadcrumbs.vue'
|
||||||
import CustomActions from '@/components/CustomActions.vue'
|
import CustomActions from '@/components/CustomActions.vue'
|
||||||
import ContactsIcon from '@/components/Icons/ContactsIcon.vue'
|
import ContactsIcon from '@/components/Icons/ContactsIcon.vue'
|
||||||
import LayoutHeader from '@/components/LayoutHeader.vue'
|
import LayoutHeader from '@/components/LayoutHeader.vue'
|
||||||
@ -114,7 +82,6 @@ import ContactsListView from '@/components/ListViews/ContactsListView.vue'
|
|||||||
import ViewControls from '@/components/ViewControls.vue'
|
import ViewControls from '@/components/ViewControls.vue'
|
||||||
import { organizationsStore } from '@/stores/organizations.js'
|
import { organizationsStore } from '@/stores/organizations.js'
|
||||||
import { dateFormat, dateTooltipFormat, timeAgo } from '@/utils'
|
import { dateFormat, dateTooltipFormat, timeAgo } from '@/utils'
|
||||||
import { Dropdown } from 'frappe-ui'
|
|
||||||
import { ref, computed } from 'vue'
|
import { ref, computed } from 'vue'
|
||||||
|
|
||||||
const { getOrganization } = organizationsStore()
|
const { getOrganization } = organizationsStore()
|
||||||
|
|||||||
@ -1,39 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<LayoutHeader>
|
<LayoutHeader>
|
||||||
<template #left-header>
|
<template #left-header>
|
||||||
<div class="flex items-center">
|
<ViewBreadcrumbs v-model="viewControls" routeName="Deals" />
|
||||||
<router-link
|
|
||||||
:to="{ name: 'Deals' }"
|
|
||||||
class="px-0.5 py-1 text-lg font-medium focus:outline-none focus-visible:ring-2 focus-visible:ring-gray-400 text-gray-600 hover:text-gray-700"
|
|
||||||
>
|
|
||||||
{{ __('Deals') }}
|
|
||||||
</router-link>
|
|
||||||
<span class="mx-0.5 text-base text-gray-500" aria-hidden="true">
|
|
||||||
/
|
|
||||||
</span>
|
|
||||||
<Dropdown
|
|
||||||
v-if="viewControls"
|
|
||||||
:options="viewControls.viewsDropdownOptions"
|
|
||||||
>
|
|
||||||
<template #default="{ open }">
|
|
||||||
<Button
|
|
||||||
variant="ghost"
|
|
||||||
class="text-lg font-medium"
|
|
||||||
:label="__(viewControls.currentView.label)"
|
|
||||||
>
|
|
||||||
<template #prefix>
|
|
||||||
<Icon :icon="viewControls.currentView.icon" class="h-4" />
|
|
||||||
</template>
|
|
||||||
<template #suffix>
|
|
||||||
<FeatherIcon
|
|
||||||
:name="open ? 'chevron-up' : 'chevron-down'"
|
|
||||||
class="h-4 text-gray-800"
|
|
||||||
/>
|
|
||||||
</template>
|
|
||||||
</Button>
|
|
||||||
</template>
|
|
||||||
</Dropdown>
|
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
<template #right-header>
|
<template #right-header>
|
||||||
<CustomActions
|
<CustomActions
|
||||||
@ -295,7 +263,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import Icon from '@/components/Icon.vue'
|
import ViewBreadcrumbs from '@/components/ViewBreadcrumbs.vue'
|
||||||
import MultipleAvatar from '@/components/MultipleAvatar.vue'
|
import MultipleAvatar from '@/components/MultipleAvatar.vue'
|
||||||
import CustomActions from '@/components/CustomActions.vue'
|
import CustomActions from '@/components/CustomActions.vue'
|
||||||
import EmailAtIcon from '@/components/Icons/EmailAtIcon.vue'
|
import EmailAtIcon from '@/components/Icons/EmailAtIcon.vue'
|
||||||
|
|||||||
@ -1,39 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<LayoutHeader>
|
<LayoutHeader>
|
||||||
<template #left-header>
|
<template #left-header>
|
||||||
<div class="flex items-center">
|
<ViewBreadcrumbs v-model="viewControls" routeName="Email Templates" />
|
||||||
<router-link
|
|
||||||
:to="{ name: 'Email Templates' }"
|
|
||||||
class="px-0.5 py-1 text-lg font-medium focus:outline-none focus-visible:ring-2 focus-visible:ring-gray-400 text-gray-600 hover:text-gray-700"
|
|
||||||
>
|
|
||||||
{{ __('Email Templates') }}
|
|
||||||
</router-link>
|
|
||||||
<span class="mx-0.5 text-base text-gray-500" aria-hidden="true">
|
|
||||||
/
|
|
||||||
</span>
|
|
||||||
<Dropdown
|
|
||||||
v-if="viewControls"
|
|
||||||
:options="viewControls.viewsDropdownOptions"
|
|
||||||
>
|
|
||||||
<template #default="{ open }">
|
|
||||||
<Button
|
|
||||||
variant="ghost"
|
|
||||||
class="text-lg font-medium"
|
|
||||||
:label="__(viewControls.currentView.label)"
|
|
||||||
>
|
|
||||||
<template #prefix>
|
|
||||||
<Icon :icon="viewControls.currentView.icon" class="h-4" />
|
|
||||||
</template>
|
|
||||||
<template #suffix>
|
|
||||||
<FeatherIcon
|
|
||||||
:name="open ? 'chevron-up' : 'chevron-down'"
|
|
||||||
class="h-4 text-gray-800"
|
|
||||||
/>
|
|
||||||
</template>
|
|
||||||
</Button>
|
|
||||||
</template>
|
|
||||||
</Dropdown>
|
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
<template #right-header>
|
<template #right-header>
|
||||||
<CustomActions
|
<CustomActions
|
||||||
@ -100,7 +68,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import Icon from '@/components/Icon.vue'
|
import ViewBreadcrumbs from '@/components/ViewBreadcrumbs.vue'
|
||||||
import CustomActions from '@/components/CustomActions.vue'
|
import CustomActions from '@/components/CustomActions.vue'
|
||||||
import Email2Icon from '@/components/Icons/Email2Icon.vue'
|
import Email2Icon from '@/components/Icons/Email2Icon.vue'
|
||||||
import LayoutHeader from '@/components/LayoutHeader.vue'
|
import LayoutHeader from '@/components/LayoutHeader.vue'
|
||||||
@ -108,7 +76,6 @@ import ViewControls from '@/components/ViewControls.vue'
|
|||||||
import EmailTemplatesListView from '@/components/ListViews/EmailTemplatesListView.vue'
|
import EmailTemplatesListView from '@/components/ListViews/EmailTemplatesListView.vue'
|
||||||
import EmailTemplateModal from '@/components/Modals/EmailTemplateModal.vue'
|
import EmailTemplateModal from '@/components/Modals/EmailTemplateModal.vue'
|
||||||
import { dateFormat, dateTooltipFormat, timeAgo } from '@/utils'
|
import { dateFormat, dateTooltipFormat, timeAgo } from '@/utils'
|
||||||
import { Dropdown } from 'frappe-ui'
|
|
||||||
import { computed, ref } from 'vue'
|
import { computed, ref } from 'vue'
|
||||||
|
|
||||||
const emailTemplatesListView = ref(null)
|
const emailTemplatesListView = ref(null)
|
||||||
|
|||||||
@ -1,39 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<LayoutHeader>
|
<LayoutHeader>
|
||||||
<template #left-header>
|
<template #left-header>
|
||||||
<div class="flex items-center">
|
<ViewBreadcrumbs v-model="viewControls" routeName="Notes" />
|
||||||
<router-link
|
|
||||||
:to="{ name: 'Notes' }"
|
|
||||||
class="px-0.5 py-1 text-lg font-medium focus:outline-none focus-visible:ring-2 focus-visible:ring-gray-400 text-gray-600 hover:text-gray-700"
|
|
||||||
>
|
|
||||||
{{ __('Notes') }}
|
|
||||||
</router-link>
|
|
||||||
<span class="mx-0.5 text-base text-gray-500" aria-hidden="true">
|
|
||||||
/
|
|
||||||
</span>
|
|
||||||
<Dropdown
|
|
||||||
v-if="viewControls"
|
|
||||||
:options="viewControls.viewsDropdownOptions"
|
|
||||||
>
|
|
||||||
<template #default="{ open }">
|
|
||||||
<Button
|
|
||||||
variant="ghost"
|
|
||||||
class="text-lg font-medium"
|
|
||||||
:label="__(viewControls.currentView.label)"
|
|
||||||
>
|
|
||||||
<template #prefix>
|
|
||||||
<Icon :icon="viewControls.currentView.icon" class="h-4" />
|
|
||||||
</template>
|
|
||||||
<template #suffix>
|
|
||||||
<FeatherIcon
|
|
||||||
:name="open ? 'chevron-up' : 'chevron-down'"
|
|
||||||
class="h-4 text-gray-800"
|
|
||||||
/>
|
|
||||||
</template>
|
|
||||||
</Button>
|
|
||||||
</template>
|
|
||||||
</Dropdown>
|
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
<template #right-header>
|
<template #right-header>
|
||||||
<Button variant="solid" :label="__('Create')" @click="createNote">
|
<Button variant="solid" :label="__('Create')" @click="createNote">
|
||||||
@ -135,7 +103,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import Icon from '@/components/Icon.vue'
|
import ViewBreadcrumbs from '@/components/ViewBreadcrumbs.vue'
|
||||||
import LayoutHeader from '@/components/LayoutHeader.vue'
|
import LayoutHeader from '@/components/LayoutHeader.vue'
|
||||||
import UserAvatar from '@/components/UserAvatar.vue'
|
import UserAvatar from '@/components/UserAvatar.vue'
|
||||||
import NoteIcon from '@/components/Icons/NoteIcon.vue'
|
import NoteIcon from '@/components/Icons/NoteIcon.vue'
|
||||||
|
|||||||
@ -1,39 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<LayoutHeader>
|
<LayoutHeader>
|
||||||
<template #left-header>
|
<template #left-header>
|
||||||
<div class="flex items-center">
|
<ViewBreadcrumbs v-model="viewControls" routeName="Organizations" />
|
||||||
<router-link
|
|
||||||
:to="{ name: 'Organizations' }"
|
|
||||||
class="px-0.5 py-1 text-lg font-medium focus:outline-none focus-visible:ring-2 focus-visible:ring-gray-400 text-gray-600 hover:text-gray-700"
|
|
||||||
>
|
|
||||||
{{ __('Organizations') }}
|
|
||||||
</router-link>
|
|
||||||
<span class="mx-0.5 text-base text-gray-500" aria-hidden="true">
|
|
||||||
/
|
|
||||||
</span>
|
|
||||||
<Dropdown
|
|
||||||
v-if="viewControls"
|
|
||||||
:options="viewControls.viewsDropdownOptions"
|
|
||||||
>
|
|
||||||
<template #default="{ open }">
|
|
||||||
<Button
|
|
||||||
variant="ghost"
|
|
||||||
class="text-lg font-medium"
|
|
||||||
:label="__(viewControls.currentView.label)"
|
|
||||||
>
|
|
||||||
<template #prefix>
|
|
||||||
<Icon :icon="viewControls.currentView.icon" class="h-4" />
|
|
||||||
</template>
|
|
||||||
<template #suffix>
|
|
||||||
<FeatherIcon
|
|
||||||
:name="open ? 'chevron-up' : 'chevron-down'"
|
|
||||||
class="h-4 text-gray-800"
|
|
||||||
/>
|
|
||||||
</template>
|
|
||||||
</Button>
|
|
||||||
</template>
|
|
||||||
</Dropdown>
|
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
<template #right-header>
|
<template #right-header>
|
||||||
<CustomActions
|
<CustomActions
|
||||||
@ -102,7 +70,7 @@
|
|||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
import Icon from '@/components/Icon.vue'
|
import ViewBreadcrumbs from '@/components/ViewBreadcrumbs.vue'
|
||||||
import CustomActions from '@/components/CustomActions.vue'
|
import CustomActions from '@/components/CustomActions.vue'
|
||||||
import OrganizationsIcon from '@/components/Icons/OrganizationsIcon.vue'
|
import OrganizationsIcon from '@/components/Icons/OrganizationsIcon.vue'
|
||||||
import LayoutHeader from '@/components/LayoutHeader.vue'
|
import LayoutHeader from '@/components/LayoutHeader.vue'
|
||||||
@ -110,7 +78,6 @@ import OrganizationModal from '@/components/Modals/OrganizationModal.vue'
|
|||||||
import QuickEntryModal from '@/components/Settings/QuickEntryModal.vue'
|
import QuickEntryModal from '@/components/Settings/QuickEntryModal.vue'
|
||||||
import OrganizationsListView from '@/components/ListViews/OrganizationsListView.vue'
|
import OrganizationsListView from '@/components/ListViews/OrganizationsListView.vue'
|
||||||
import ViewControls from '@/components/ViewControls.vue'
|
import ViewControls from '@/components/ViewControls.vue'
|
||||||
import { Dropdown } from 'frappe-ui'
|
|
||||||
import {
|
import {
|
||||||
dateFormat,
|
dateFormat,
|
||||||
dateTooltipFormat,
|
dateTooltipFormat,
|
||||||
|
|||||||
@ -1,39 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<LayoutHeader>
|
<LayoutHeader>
|
||||||
<template #left-header>
|
<template #left-header>
|
||||||
<div class="flex items-center">
|
<ViewBreadcrumbs v-model="viewControls" routeName="Tasks" />
|
||||||
<router-link
|
|
||||||
:to="{ name: 'Tasks' }"
|
|
||||||
class="px-0.5 py-1 text-lg font-medium focus:outline-none focus-visible:ring-2 focus-visible:ring-gray-400 text-gray-600 hover:text-gray-700"
|
|
||||||
>
|
|
||||||
{{ __('Tasks') }}
|
|
||||||
</router-link>
|
|
||||||
<span class="mx-0.5 text-base text-gray-500" aria-hidden="true">
|
|
||||||
/
|
|
||||||
</span>
|
|
||||||
<Dropdown
|
|
||||||
v-if="viewControls"
|
|
||||||
:options="viewControls.viewsDropdownOptions"
|
|
||||||
>
|
|
||||||
<template #default="{ open }">
|
|
||||||
<Button
|
|
||||||
variant="ghost"
|
|
||||||
class="text-lg font-medium"
|
|
||||||
:label="__(viewControls.currentView.label)"
|
|
||||||
>
|
|
||||||
<template #prefix>
|
|
||||||
<Icon :icon="viewControls.currentView.icon" class="h-4" />
|
|
||||||
</template>
|
|
||||||
<template #suffix>
|
|
||||||
<FeatherIcon
|
|
||||||
:name="open ? 'chevron-up' : 'chevron-down'"
|
|
||||||
class="h-4 text-gray-800"
|
|
||||||
/>
|
|
||||||
</template>
|
|
||||||
</Button>
|
|
||||||
</template>
|
|
||||||
</Dropdown>
|
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
<template #right-header>
|
<template #right-header>
|
||||||
<CustomActions
|
<CustomActions
|
||||||
@ -225,7 +193,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import Icon from '@/components/Icon.vue'
|
import ViewBreadcrumbs from '@/components/ViewBreadcrumbs.vue'
|
||||||
import CustomActions from '@/components/CustomActions.vue'
|
import CustomActions from '@/components/CustomActions.vue'
|
||||||
import ArrowUpRightIcon from '@/components/Icons/ArrowUpRightIcon.vue'
|
import ArrowUpRightIcon from '@/components/Icons/ArrowUpRightIcon.vue'
|
||||||
import TaskStatusIcon from '@/components/Icons/TaskStatusIcon.vue'
|
import TaskStatusIcon from '@/components/Icons/TaskStatusIcon.vue'
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user