2018-10-11 00:21:03 +05:30
|
|
|
<template>
|
2019-12-04 00:16:48 +05:30
|
|
|
<div class="py-4 flex items-center truncate" :class="cellClass">
|
|
|
|
<span class="truncate" v-if="!customRenderer">{{ columnValue }}</span>
|
2019-10-11 15:25:50 +05:30
|
|
|
<component v-else :is="customRenderer" />
|
2018-10-11 00:21:03 +05:30
|
|
|
</div>
|
|
|
|
</template>
|
2019-10-11 15:25:50 +05:30
|
|
|
<script>
|
|
|
|
import frappe from 'frappejs';
|
|
|
|
|
|
|
|
export default {
|
|
|
|
name: 'ListCell',
|
|
|
|
props: ['doc', 'column'],
|
|
|
|
computed: {
|
|
|
|
columnValue() {
|
|
|
|
let { column, doc } = this;
|
2019-12-03 13:50:45 +05:30
|
|
|
let value = doc[column.fieldname];
|
|
|
|
return frappe.format(value, column, doc);
|
2019-10-11 15:25:50 +05:30
|
|
|
},
|
|
|
|
customRenderer() {
|
|
|
|
if (!this.column.render) return;
|
|
|
|
return this.column.render(this.doc);
|
2019-12-03 13:50:45 +05:30
|
|
|
},
|
|
|
|
cellClass() {
|
|
|
|
return ['Int', 'Float', 'Currency'].includes(this.column.fieldtype)
|
|
|
|
? 'justify-end'
|
|
|
|
: '';
|
2019-10-11 15:25:50 +05:30
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
</script>
|