chore: Refactor tables in all screen for RTL (#6525)
* chore: Refactor tables in all screen for RTL * Notification page footer * Apply suggestions from code review * chore: Minor ixes * chore: Adds rtl comment * chore: Code clean up for contact table --------- Co-authored-by: Nithin David Thomas <1277421+nithindavid@users.noreply.github.com>
This commit is contained in:
@@ -354,12 +354,12 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
thead th {
|
thead th {
|
||||||
padding-left: var(--space-one);
|
padding-left: var(--space-small);
|
||||||
padding-right: 0;
|
padding-right: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
tbody td {
|
tbody td {
|
||||||
padding-left: var(--space-one);
|
padding-left: var(--space-small);
|
||||||
padding-right: 0;
|
padding-right: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,7 +48,7 @@
|
|||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
width: 100%;
|
width: fit-content;
|
||||||
}
|
}
|
||||||
|
|
||||||
p {
|
p {
|
||||||
|
|||||||
@@ -1,21 +1,22 @@
|
|||||||
table {
|
table {
|
||||||
border-spacing: 0;
|
border-spacing: 0;
|
||||||
font-size: $font-size-small;
|
font-size: var(--font-size-small);
|
||||||
|
|
||||||
thead {
|
thead {
|
||||||
th {
|
th {
|
||||||
font-weight: $font-weight-bold;
|
font-weight: var(--font-weight-bold);
|
||||||
|
text-align: left;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tbody {
|
tbody {
|
||||||
tr {
|
tr {
|
||||||
border-bottom: 1px solid $color-border-light;
|
border-bottom: 1px solid var(--color-border-light);
|
||||||
}
|
}
|
||||||
|
|
||||||
td {
|
td {
|
||||||
padding: $space-one $space-small;
|
padding: var(--space-small);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -36,7 +37,7 @@ table {
|
|||||||
|
|
||||||
.agent-name {
|
.agent-name {
|
||||||
display: block;
|
display: block;
|
||||||
font-weight: $font-weight-medium;
|
font-weight: var(--font-weight-medium);
|
||||||
text-transform: capitalize;
|
text-transform: capitalize;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
<fluent-icon
|
<fluent-icon
|
||||||
icon="chevron-left"
|
icon="chevron-left"
|
||||||
size="18"
|
size="18"
|
||||||
class="margin-left-minus-slab"
|
:class="pageFooterIconClass"
|
||||||
/>
|
/>
|
||||||
</woot-button>
|
</woot-button>
|
||||||
<woot-button
|
<woot-button
|
||||||
@@ -65,7 +65,7 @@
|
|||||||
<fluent-icon
|
<fluent-icon
|
||||||
icon="chevron-right"
|
icon="chevron-right"
|
||||||
size="18"
|
size="18"
|
||||||
class="margin-left-minus-slab"
|
:class="pageFooterIconClass"
|
||||||
/>
|
/>
|
||||||
</woot-button>
|
</woot-button>
|
||||||
</div>
|
</div>
|
||||||
@@ -74,8 +74,11 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import rtlMixin from 'shared/mixins/rtlMixin';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {},
|
components: {},
|
||||||
|
mixins: [rtlMixin],
|
||||||
props: {
|
props: {
|
||||||
currentPage: {
|
currentPage: {
|
||||||
type: Number,
|
type: Number,
|
||||||
@@ -91,6 +94,11 @@ export default {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
pageFooterIconClass() {
|
||||||
|
return this.isRTLView
|
||||||
|
? 'margin-right-minus-slab'
|
||||||
|
: 'margin-left-minus-slab';
|
||||||
|
},
|
||||||
isFooterVisible() {
|
isFooterVisible() {
|
||||||
return this.totalCount && !(this.firstIndex > this.totalCount);
|
return this.totalCount && !(this.firstIndex > this.totalCount);
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -38,11 +38,7 @@ export default {
|
|||||||
text-align: left;
|
text-align: left;
|
||||||
|
|
||||||
.user-name {
|
.user-name {
|
||||||
margin: 0;
|
margin: 0 var(--space-small);
|
||||||
text-transform: capitalize;
|
|
||||||
}
|
|
||||||
.user-thumbnail-box {
|
|
||||||
margin-right: var(--space-small);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ import Spinner from 'shared/components/Spinner.vue';
|
|||||||
import Thumbnail from 'dashboard/components/widgets/Thumbnail.vue';
|
import Thumbnail from 'dashboard/components/widgets/Thumbnail.vue';
|
||||||
import EmptyState from 'dashboard/components/widgets/EmptyState.vue';
|
import EmptyState from 'dashboard/components/widgets/EmptyState.vue';
|
||||||
import timeMixin from 'dashboard/mixins/time';
|
import timeMixin from 'dashboard/mixins/time';
|
||||||
|
import rtlMixin from 'shared/mixins/rtlMixin';
|
||||||
import FluentIcon from 'shared/components/FluentIcon/DashboardIcon';
|
import FluentIcon from 'shared/components/FluentIcon/DashboardIcon';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@@ -42,7 +43,7 @@ export default {
|
|||||||
Spinner,
|
Spinner,
|
||||||
VeTable,
|
VeTable,
|
||||||
},
|
},
|
||||||
mixins: [clickaway, timeMixin],
|
mixins: [clickaway, timeMixin, rtlMixin],
|
||||||
props: {
|
props: {
|
||||||
contacts: {
|
contacts: {
|
||||||
type: Array,
|
type: Array,
|
||||||
@@ -116,7 +117,7 @@ export default {
|
|||||||
key: 'name',
|
key: 'name',
|
||||||
title: this.$t('CONTACTS_PAGE.LIST.TABLE_HEADER.NAME'),
|
title: this.$t('CONTACTS_PAGE.LIST.TABLE_HEADER.NAME'),
|
||||||
fixed: 'left',
|
fixed: 'left',
|
||||||
align: 'left',
|
align: this.isRTLView ? 'right' : 'left',
|
||||||
sortBy: this.sortConfig.name || '',
|
sortBy: this.sortConfig.name || '',
|
||||||
width: 300,
|
width: 300,
|
||||||
renderBodyCell: ({ row }) => (
|
renderBodyCell: ({ row }) => (
|
||||||
@@ -152,7 +153,7 @@ export default {
|
|||||||
field: 'email',
|
field: 'email',
|
||||||
key: 'email',
|
key: 'email',
|
||||||
title: this.$t('CONTACTS_PAGE.LIST.TABLE_HEADER.EMAIL_ADDRESS'),
|
title: this.$t('CONTACTS_PAGE.LIST.TABLE_HEADER.EMAIL_ADDRESS'),
|
||||||
align: 'left',
|
align: this.isRTLView ? 'right' : 'left',
|
||||||
sortBy: this.sortConfig.email || '',
|
sortBy: this.sortConfig.email || '',
|
||||||
width: 240,
|
width: 240,
|
||||||
renderBodyCell: ({ row }) => {
|
renderBodyCell: ({ row }) => {
|
||||||
@@ -176,27 +177,27 @@ export default {
|
|||||||
key: 'phone_number',
|
key: 'phone_number',
|
||||||
sortBy: this.sortConfig.phone_number || '',
|
sortBy: this.sortConfig.phone_number || '',
|
||||||
title: this.$t('CONTACTS_PAGE.LIST.TABLE_HEADER.PHONE_NUMBER'),
|
title: this.$t('CONTACTS_PAGE.LIST.TABLE_HEADER.PHONE_NUMBER'),
|
||||||
align: 'left',
|
align: this.isRTLView ? 'right' : 'left',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: 'company',
|
field: 'company',
|
||||||
key: 'company',
|
key: 'company',
|
||||||
sortBy: this.sortConfig.company_name || '',
|
sortBy: this.sortConfig.company_name || '',
|
||||||
title: this.$t('CONTACTS_PAGE.LIST.TABLE_HEADER.COMPANY'),
|
title: this.$t('CONTACTS_PAGE.LIST.TABLE_HEADER.COMPANY'),
|
||||||
align: 'left',
|
align: this.isRTLView ? 'right' : 'left',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: 'city',
|
field: 'city',
|
||||||
key: 'city',
|
key: 'city',
|
||||||
sortBy: this.sortConfig.city || '',
|
sortBy: this.sortConfig.city || '',
|
||||||
title: this.$t('CONTACTS_PAGE.LIST.TABLE_HEADER.CITY'),
|
title: this.$t('CONTACTS_PAGE.LIST.TABLE_HEADER.CITY'),
|
||||||
align: 'left',
|
align: this.isRTLView ? 'right' : 'left',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: 'country',
|
field: 'country',
|
||||||
key: 'country',
|
key: 'country',
|
||||||
title: this.$t('CONTACTS_PAGE.LIST.TABLE_HEADER.COUNTRY'),
|
title: this.$t('CONTACTS_PAGE.LIST.TABLE_HEADER.COUNTRY'),
|
||||||
align: 'left',
|
align: this.isRTLView ? 'right' : 'left',
|
||||||
sortBy: this.sortConfig.country || '',
|
sortBy: this.sortConfig.country || '',
|
||||||
renderBodyCell: ({ row }) => {
|
renderBodyCell: ({ row }) => {
|
||||||
if (row.country) {
|
if (row.country) {
|
||||||
@@ -213,7 +214,7 @@ export default {
|
|||||||
field: 'profiles',
|
field: 'profiles',
|
||||||
key: 'profiles',
|
key: 'profiles',
|
||||||
title: this.$t('CONTACTS_PAGE.LIST.TABLE_HEADER.SOCIAL_PROFILES'),
|
title: this.$t('CONTACTS_PAGE.LIST.TABLE_HEADER.SOCIAL_PROFILES'),
|
||||||
align: 'left',
|
align: this.isRTLView ? 'right' : 'left',
|
||||||
renderBodyCell: ({ row }) => {
|
renderBodyCell: ({ row }) => {
|
||||||
const { profiles } = row;
|
const { profiles } = row;
|
||||||
|
|
||||||
@@ -244,21 +245,21 @@ export default {
|
|||||||
key: 'last_activity_at',
|
key: 'last_activity_at',
|
||||||
sortBy: this.sortConfig.last_activity_at || '',
|
sortBy: this.sortConfig.last_activity_at || '',
|
||||||
title: this.$t('CONTACTS_PAGE.LIST.TABLE_HEADER.LAST_ACTIVITY'),
|
title: this.$t('CONTACTS_PAGE.LIST.TABLE_HEADER.LAST_ACTIVITY'),
|
||||||
align: 'left',
|
align: this.isRTLView ? 'right' : 'left',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: 'created_at',
|
field: 'created_at',
|
||||||
key: 'created_at',
|
key: 'created_at',
|
||||||
sortBy: this.sortConfig.created_at || '',
|
sortBy: this.sortConfig.created_at || '',
|
||||||
title: this.$t('CONTACTS_PAGE.LIST.TABLE_HEADER.CREATED_AT'),
|
title: this.$t('CONTACTS_PAGE.LIST.TABLE_HEADER.CREATED_AT'),
|
||||||
align: 'left',
|
align: this.isRTLView ? 'right' : 'left',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: 'conversationsCount',
|
field: 'conversationsCount',
|
||||||
key: 'conversationsCount',
|
key: 'conversationsCount',
|
||||||
title: this.$t('CONTACTS_PAGE.LIST.TABLE_HEADER.CONVERSATIONS'),
|
title: this.$t('CONTACTS_PAGE.LIST.TABLE_HEADER.CONVERSATIONS'),
|
||||||
width: 150,
|
width: 150,
|
||||||
align: 'left',
|
align: this.isRTLView ? 'right' : 'left',
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
},
|
},
|
||||||
@@ -301,11 +302,10 @@ export default {
|
|||||||
text-align: left;
|
text-align: left;
|
||||||
|
|
||||||
.user-block {
|
.user-block {
|
||||||
min-width: 0;
|
align-items: flex-start;
|
||||||
}
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
.user-thumbnail-box {
|
margin: 0 var(--space-small);
|
||||||
margin-right: var(--space-small);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.user-name {
|
.user-name {
|
||||||
|
|||||||
@@ -62,7 +62,7 @@
|
|||||||
<fluent-icon
|
<fluent-icon
|
||||||
icon="chevron-left"
|
icon="chevron-left"
|
||||||
size="16"
|
size="16"
|
||||||
class="margin-left-minus-slab"
|
:class="notificationPanelFooterIconClass"
|
||||||
/>
|
/>
|
||||||
</woot-button>
|
</woot-button>
|
||||||
<woot-button
|
<woot-button
|
||||||
@@ -96,7 +96,7 @@
|
|||||||
<fluent-icon
|
<fluent-icon
|
||||||
icon="chevron-right"
|
icon="chevron-right"
|
||||||
size="16"
|
size="16"
|
||||||
class="margin-left-minus-slab"
|
:class="notificationPanelFooterIconClass"
|
||||||
/>
|
/>
|
||||||
</woot-button>
|
</woot-button>
|
||||||
</div>
|
</div>
|
||||||
@@ -109,6 +109,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import { mapGetters } from 'vuex';
|
import { mapGetters } from 'vuex';
|
||||||
import { mixin as clickaway } from 'vue-clickaway';
|
import { mixin as clickaway } from 'vue-clickaway';
|
||||||
|
import rtlMixin from 'shared/mixins/rtlMixin';
|
||||||
|
|
||||||
import NotificationPanelList from './NotificationPanelList';
|
import NotificationPanelList from './NotificationPanelList';
|
||||||
|
|
||||||
@@ -116,7 +117,7 @@ export default {
|
|||||||
components: {
|
components: {
|
||||||
NotificationPanelList,
|
NotificationPanelList,
|
||||||
},
|
},
|
||||||
mixins: [clickaway],
|
mixins: [clickaway, rtlMixin],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
pageSize: 15,
|
pageSize: 15,
|
||||||
@@ -129,6 +130,11 @@ export default {
|
|||||||
records: 'notifications/getNotifications',
|
records: 'notifications/getNotifications',
|
||||||
uiFlags: 'notifications/getUIFlags',
|
uiFlags: 'notifications/getUIFlags',
|
||||||
}),
|
}),
|
||||||
|
notificationPanelFooterIconClass() {
|
||||||
|
return this.isRTLView
|
||||||
|
? 'margin-right-minus-slab'
|
||||||
|
: 'margin-left-minus-slab';
|
||||||
|
},
|
||||||
totalUnreadNotifications() {
|
totalUnreadNotifications() {
|
||||||
return this.meta.unreadCount;
|
return this.meta.unreadCount;
|
||||||
},
|
},
|
||||||
@@ -249,6 +255,7 @@ export default {
|
|||||||
left: var(--space-jumbo);
|
left: var(--space-jumbo);
|
||||||
margin: var(--space-small);
|
margin: var(--space-small);
|
||||||
}
|
}
|
||||||
|
|
||||||
.header-wrap {
|
.header-wrap {
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@@ -272,6 +279,7 @@ export default {
|
|||||||
font-size: var(--font-size-micro);
|
font-size: var(--font-size-micro);
|
||||||
font-weight: var(--font-weight-bold);
|
font-weight: var(--font-weight-bold);
|
||||||
margin-left: var(--space-smaller);
|
margin-left: var(--space-smaller);
|
||||||
|
margin-right: var(--space-smaller);
|
||||||
}
|
}
|
||||||
|
|
||||||
.action-button {
|
.action-button {
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ import messageFormatterMixin from 'shared/mixins/messageFormatterMixin';
|
|||||||
import UserAvatarWithName from 'dashboard/components/widgets/UserAvatarWithName';
|
import UserAvatarWithName from 'dashboard/components/widgets/UserAvatarWithName';
|
||||||
import campaignMixin from 'shared/mixins/campaignMixin';
|
import campaignMixin from 'shared/mixins/campaignMixin';
|
||||||
import timeMixin from 'dashboard/mixins/time';
|
import timeMixin from 'dashboard/mixins/time';
|
||||||
|
import rtlMixin from 'shared/mixins/rtlMixin';
|
||||||
import InboxName from 'dashboard/components/widgets/InboxName';
|
import InboxName from 'dashboard/components/widgets/InboxName';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@@ -35,7 +36,13 @@ export default {
|
|||||||
VeTable,
|
VeTable,
|
||||||
},
|
},
|
||||||
|
|
||||||
mixins: [clickaway, timeMixin, campaignMixin, messageFormatterMixin],
|
mixins: [
|
||||||
|
clickaway,
|
||||||
|
timeMixin,
|
||||||
|
campaignMixin,
|
||||||
|
messageFormatterMixin,
|
||||||
|
rtlMixin,
|
||||||
|
],
|
||||||
|
|
||||||
props: {
|
props: {
|
||||||
campaigns: {
|
campaigns: {
|
||||||
@@ -98,7 +105,7 @@ export default {
|
|||||||
key: 'title',
|
key: 'title',
|
||||||
title: this.$t('CAMPAIGN.LIST.TABLE_HEADER.TITLE'),
|
title: this.$t('CAMPAIGN.LIST.TABLE_HEADER.TITLE'),
|
||||||
fixed: 'left',
|
fixed: 'left',
|
||||||
align: 'left',
|
align: this.isRTLView ? 'right' : 'left',
|
||||||
renderBodyCell: ({ row }) => (
|
renderBodyCell: ({ row }) => (
|
||||||
<div class="row--title-block">
|
<div class="row--title-block">
|
||||||
<h6 class="sub-block-title title text-truncate">{row.title}</h6>
|
<h6 class="sub-block-title title text-truncate">{row.title}</h6>
|
||||||
@@ -110,7 +117,7 @@ export default {
|
|||||||
field: 'message',
|
field: 'message',
|
||||||
key: 'message',
|
key: 'message',
|
||||||
title: this.$t('CAMPAIGN.LIST.TABLE_HEADER.MESSAGE'),
|
title: this.$t('CAMPAIGN.LIST.TABLE_HEADER.MESSAGE'),
|
||||||
align: 'left',
|
align: this.isRTLView ? 'right' : 'left',
|
||||||
width: 350,
|
width: 350,
|
||||||
renderBodyCell: ({ row }) => {
|
renderBodyCell: ({ row }) => {
|
||||||
if (row.message) {
|
if (row.message) {
|
||||||
@@ -129,7 +136,7 @@ export default {
|
|||||||
field: 'inbox',
|
field: 'inbox',
|
||||||
key: 'inbox',
|
key: 'inbox',
|
||||||
title: this.$t('CAMPAIGN.LIST.TABLE_HEADER.INBOX'),
|
title: this.$t('CAMPAIGN.LIST.TABLE_HEADER.INBOX'),
|
||||||
align: 'left',
|
align: this.isRTLView ? 'right' : 'left',
|
||||||
renderBodyCell: ({ row }) => {
|
renderBodyCell: ({ row }) => {
|
||||||
return <InboxName inbox={row.inbox} />;
|
return <InboxName inbox={row.inbox} />;
|
||||||
},
|
},
|
||||||
@@ -142,7 +149,7 @@ export default {
|
|||||||
field: 'enabled',
|
field: 'enabled',
|
||||||
key: 'enabled',
|
key: 'enabled',
|
||||||
title: this.$t('CAMPAIGN.LIST.TABLE_HEADER.STATUS'),
|
title: this.$t('CAMPAIGN.LIST.TABLE_HEADER.STATUS'),
|
||||||
align: 'left',
|
align: this.isRTLView ? 'right' : 'left',
|
||||||
renderBodyCell: ({ row }) => {
|
renderBodyCell: ({ row }) => {
|
||||||
const labelText = row.enabled
|
const labelText = row.enabled
|
||||||
? this.$t('CAMPAIGN.LIST.STATUS.ENABLED')
|
? this.$t('CAMPAIGN.LIST.STATUS.ENABLED')
|
||||||
@@ -155,7 +162,7 @@ export default {
|
|||||||
field: 'sender',
|
field: 'sender',
|
||||||
key: 'sender',
|
key: 'sender',
|
||||||
title: this.$t('CAMPAIGN.LIST.TABLE_HEADER.SENDER'),
|
title: this.$t('CAMPAIGN.LIST.TABLE_HEADER.SENDER'),
|
||||||
align: 'left',
|
align: this.isRTLView ? 'right' : 'left',
|
||||||
renderBodyCell: ({ row }) => {
|
renderBodyCell: ({ row }) => {
|
||||||
if (row.sender) return <UserAvatarWithName user={row.sender} />;
|
if (row.sender) return <UserAvatarWithName user={row.sender} />;
|
||||||
return this.$t('CAMPAIGN.LIST.SENDER.BOT');
|
return this.$t('CAMPAIGN.LIST.SENDER.BOT');
|
||||||
@@ -165,7 +172,7 @@ export default {
|
|||||||
field: 'url',
|
field: 'url',
|
||||||
key: 'url',
|
key: 'url',
|
||||||
title: this.$t('CAMPAIGN.LIST.TABLE_HEADER.URL'),
|
title: this.$t('CAMPAIGN.LIST.TABLE_HEADER.URL'),
|
||||||
align: 'left',
|
align: this.isRTLView ? 'right' : 'left',
|
||||||
renderBodyCell: ({ row }) => (
|
renderBodyCell: ({ row }) => (
|
||||||
<div class="text-truncate">
|
<div class="text-truncate">
|
||||||
<a
|
<a
|
||||||
@@ -183,14 +190,14 @@ export default {
|
|||||||
field: 'timeOnPage',
|
field: 'timeOnPage',
|
||||||
key: 'timeOnPage',
|
key: 'timeOnPage',
|
||||||
title: this.$t('CAMPAIGN.LIST.TABLE_HEADER.TIME_ON_PAGE'),
|
title: this.$t('CAMPAIGN.LIST.TABLE_HEADER.TIME_ON_PAGE'),
|
||||||
align: 'left',
|
align: this.isRTLView ? 'right' : 'left',
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
field: 'buttons',
|
field: 'buttons',
|
||||||
key: 'buttons',
|
key: 'buttons',
|
||||||
title: '',
|
title: '',
|
||||||
align: 'left',
|
align: this.isRTLView ? 'right' : 'left',
|
||||||
renderBodyCell: row => (
|
renderBodyCell: row => (
|
||||||
<div class="button-wrapper">
|
<div class="button-wrapper">
|
||||||
<WootButton
|
<WootButton
|
||||||
@@ -221,7 +228,7 @@ export default {
|
|||||||
field: 'campaign_status',
|
field: 'campaign_status',
|
||||||
key: 'campaign_status',
|
key: 'campaign_status',
|
||||||
title: this.$t('CAMPAIGN.LIST.TABLE_HEADER.STATUS'),
|
title: this.$t('CAMPAIGN.LIST.TABLE_HEADER.STATUS'),
|
||||||
align: 'left',
|
align: this.isRTLView ? 'right' : 'left',
|
||||||
renderBodyCell: ({ row }) => {
|
renderBodyCell: ({ row }) => {
|
||||||
const labelText =
|
const labelText =
|
||||||
row.campaign_status === 'completed'
|
row.campaign_status === 'completed'
|
||||||
@@ -236,13 +243,13 @@ export default {
|
|||||||
field: 'scheduledAt',
|
field: 'scheduledAt',
|
||||||
key: 'scheduledAt',
|
key: 'scheduledAt',
|
||||||
title: this.$t('CAMPAIGN.LIST.TABLE_HEADER.SCHEDULED_AT'),
|
title: this.$t('CAMPAIGN.LIST.TABLE_HEADER.SCHEDULED_AT'),
|
||||||
align: 'left',
|
align: this.isRTLView ? 'right' : 'left',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: 'buttons',
|
field: 'buttons',
|
||||||
key: 'buttons',
|
key: 'buttons',
|
||||||
title: '',
|
title: '',
|
||||||
align: 'left',
|
align: this.isRTLView ? 'right' : 'left',
|
||||||
renderBodyCell: row => (
|
renderBodyCell: row => (
|
||||||
<div class="button-wrapper">
|
<div class="button-wrapper">
|
||||||
<WootButton
|
<WootButton
|
||||||
@@ -272,6 +279,10 @@ export default {
|
|||||||
}
|
}
|
||||||
tbody.ve-table-body .ve-table-body-tr .ve-table-body-td {
|
tbody.ve-table-body .ve-table-body-tr .ve-table-body-td {
|
||||||
padding: var(--space-slab) var(--space-two);
|
padding: var(--space-slab) var(--space-two);
|
||||||
|
|
||||||
|
.inbox--name {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,13 +4,13 @@
|
|||||||
<td>
|
<td>
|
||||||
<div class="avatar-container">
|
<div class="avatar-container">
|
||||||
<thumbnail :username="macro.created_by.name" size="24px" />
|
<thumbnail :username="macro.created_by.name" size="24px" />
|
||||||
<span class="ml-2">{{ macro.created_by.name }}</span>
|
<span>{{ macro.created_by.name }}</span>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<div class="avatar-container">
|
<div class="avatar-container">
|
||||||
<thumbnail :username="macro.updated_by.name" size="24px" />
|
<thumbnail :username="macro.updated_by.name" size="24px" />
|
||||||
<span class="ml-2">{{ macro.updated_by.name }}</span>
|
<span>{{ macro.updated_by.name }}</span>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td>{{ visibilityLabel }}</td>
|
<td>{{ visibilityLabel }}</td>
|
||||||
@@ -68,7 +68,8 @@ export default {
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
span {
|
span {
|
||||||
margin-left: var(--space-one);
|
margin-left: var(--space-small);
|
||||||
|
margin-right: var(--space-small);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -26,13 +26,14 @@ import UserAvatarWithName from 'dashboard/components/widgets/UserAvatarWithName'
|
|||||||
import { CSAT_RATINGS } from 'shared/constants/messages';
|
import { CSAT_RATINGS } from 'shared/constants/messages';
|
||||||
import { mapGetters } from 'vuex';
|
import { mapGetters } from 'vuex';
|
||||||
import timeMixin from 'dashboard/mixins/time';
|
import timeMixin from 'dashboard/mixins/time';
|
||||||
|
import rtlMixin from 'shared/mixins/rtlMixin';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
VeTable,
|
VeTable,
|
||||||
VePagination,
|
VePagination,
|
||||||
},
|
},
|
||||||
mixins: [timeMixin],
|
mixins: [timeMixin, rtlMixin],
|
||||||
props: {
|
props: {
|
||||||
pageIndex: {
|
pageIndex: {
|
||||||
type: Number,
|
type: Number,
|
||||||
@@ -51,7 +52,7 @@ export default {
|
|||||||
field: 'contact',
|
field: 'contact',
|
||||||
key: 'contact',
|
key: 'contact',
|
||||||
title: this.$t('CSAT_REPORTS.TABLE.HEADER.CONTACT_NAME'),
|
title: this.$t('CSAT_REPORTS.TABLE.HEADER.CONTACT_NAME'),
|
||||||
align: 'left',
|
align: this.isRTLView ? 'right' : 'left',
|
||||||
width: 200,
|
width: 200,
|
||||||
renderBodyCell: ({ row }) => {
|
renderBodyCell: ({ row }) => {
|
||||||
if (row.contact) {
|
if (row.contact) {
|
||||||
@@ -64,7 +65,7 @@ export default {
|
|||||||
field: 'assignedAgent',
|
field: 'assignedAgent',
|
||||||
key: 'assignedAgent',
|
key: 'assignedAgent',
|
||||||
title: this.$t('CSAT_REPORTS.TABLE.HEADER.AGENT_NAME'),
|
title: this.$t('CSAT_REPORTS.TABLE.HEADER.AGENT_NAME'),
|
||||||
align: 'left',
|
align: this.isRTLView ? 'right' : 'left',
|
||||||
width: 200,
|
width: 200,
|
||||||
renderBodyCell: ({ row }) => {
|
renderBodyCell: ({ row }) => {
|
||||||
if (row.assignedAgent) {
|
if (row.assignedAgent) {
|
||||||
@@ -94,14 +95,14 @@ export default {
|
|||||||
field: 'feedbackText',
|
field: 'feedbackText',
|
||||||
key: 'feedbackText',
|
key: 'feedbackText',
|
||||||
title: this.$t('CSAT_REPORTS.TABLE.HEADER.FEEDBACK_TEXT'),
|
title: this.$t('CSAT_REPORTS.TABLE.HEADER.FEEDBACK_TEXT'),
|
||||||
align: 'left',
|
align: this.isRTLView ? 'right' : 'left',
|
||||||
width: 400,
|
width: 400,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: 'converstionId',
|
field: 'conversationId',
|
||||||
key: 'converstionId',
|
key: 'conversationId',
|
||||||
title: '',
|
title: '',
|
||||||
align: 'left',
|
align: this.isRTLView ? 'right' : 'left',
|
||||||
width: 100,
|
width: 100,
|
||||||
renderBodyCell: ({ row }) => {
|
renderBodyCell: ({ row }) => {
|
||||||
const routerParams = {
|
const routerParams = {
|
||||||
|
|||||||
@@ -32,6 +32,7 @@
|
|||||||
import { VeTable, VePagination } from 'vue-easytable';
|
import { VeTable, VePagination } from 'vue-easytable';
|
||||||
import Spinner from 'shared/components/Spinner.vue';
|
import Spinner from 'shared/components/Spinner.vue';
|
||||||
import EmptyState from 'dashboard/components/widgets/EmptyState.vue';
|
import EmptyState from 'dashboard/components/widgets/EmptyState.vue';
|
||||||
|
import rtlMixin from 'shared/mixins/rtlMixin';
|
||||||
import Thumbnail from 'dashboard/components/widgets/Thumbnail.vue';
|
import Thumbnail from 'dashboard/components/widgets/Thumbnail.vue';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@@ -42,6 +43,7 @@ export default {
|
|||||||
VeTable,
|
VeTable,
|
||||||
VePagination,
|
VePagination,
|
||||||
},
|
},
|
||||||
|
mixins: [rtlMixin],
|
||||||
props: {
|
props: {
|
||||||
agents: {
|
agents: {
|
||||||
type: Array,
|
type: Array,
|
||||||
@@ -83,7 +85,7 @@ export default {
|
|||||||
'OVERVIEW_REPORTS.AGENT_CONVERSATIONS.TABLE_HEADER.AGENT'
|
'OVERVIEW_REPORTS.AGENT_CONVERSATIONS.TABLE_HEADER.AGENT'
|
||||||
),
|
),
|
||||||
fixed: 'left',
|
fixed: 'left',
|
||||||
align: 'left',
|
align: this.isRTLView ? 'right' : 'left',
|
||||||
width: 25,
|
width: 25,
|
||||||
renderBodyCell: ({ row }) => (
|
renderBodyCell: ({ row }) => (
|
||||||
<div class="row-user-block">
|
<div class="row-user-block">
|
||||||
@@ -106,7 +108,7 @@ export default {
|
|||||||
title: this.$t(
|
title: this.$t(
|
||||||
'OVERVIEW_REPORTS.AGENT_CONVERSATIONS.TABLE_HEADER.OPEN'
|
'OVERVIEW_REPORTS.AGENT_CONVERSATIONS.TABLE_HEADER.OPEN'
|
||||||
),
|
),
|
||||||
align: 'left',
|
align: this.isRTLView ? 'right' : 'left',
|
||||||
width: 10,
|
width: 10,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -115,7 +117,7 @@ export default {
|
|||||||
title: this.$t(
|
title: this.$t(
|
||||||
'OVERVIEW_REPORTS.AGENT_CONVERSATIONS.TABLE_HEADER.UNATTENDED'
|
'OVERVIEW_REPORTS.AGENT_CONVERSATIONS.TABLE_HEADER.UNATTENDED'
|
||||||
),
|
),
|
||||||
align: 'left',
|
align: this.isRTLView ? 'right' : 'left',
|
||||||
width: 10,
|
width: 10,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
@@ -165,22 +167,21 @@ export default {
|
|||||||
text-align: left;
|
text-align: left;
|
||||||
|
|
||||||
.user-block {
|
.user-block {
|
||||||
|
align-items: flex-start;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
min-width: 0;
|
min-width: 0;
|
||||||
|
margin: 0 var(--space-small);
|
||||||
|
|
||||||
.title {
|
.title {
|
||||||
font-size: var(--font-size-small);
|
font-size: var(--font-size-small);
|
||||||
margin: var(--zero);
|
margin: var(--zero);
|
||||||
line-height: 1;
|
line-height: 1.2;
|
||||||
}
|
}
|
||||||
.sub-title {
|
.sub-title {
|
||||||
font-size: var(--font-size-mini);
|
font-size: var(--font-size-mini);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.user-thumbnail-box {
|
|
||||||
margin-right: var(--space-small);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.table-pagination {
|
.table-pagination {
|
||||||
|
|||||||
Reference in New Issue
Block a user