|
@ -1,8 +1,8 @@ |
|
|
<template> |
|
|
<template> |
|
|
<q-tr |
|
|
<q-tr |
|
|
ref="trRef" |
|
|
ref="trRef" |
|
|
:no-hover="!props.grid.props.cellSelected ? false : true" |
|
|
:no-hover="props.grid.props.selectedMode === selectedMode.row ? false : true" |
|
|
:class="row[table.selectedField] && !props.grid.props.cellSelected ? 'selected' : ''" |
|
|
:class="row[table.selectedField] && props.grid.props.selectedMode === selectedMode.row ? 'selected' : ''" |
|
|
:draggable="draggableComputed" |
|
|
:draggable="draggableComputed" |
|
|
@click.stop.prevent="click($event, row, props.rowIndex)" |
|
|
@click.stop.prevent="click($event, row, props.rowIndex)" |
|
|
@dblclick.stop.prevent="dbClick($event, row, props.rowIndex)" |
|
|
@dblclick.stop.prevent="dbClick($event, row, props.rowIndex)" |
|
@ -12,10 +12,10 @@ |
|
|
@dragstart="draggableComputed ? onDragStart($event, row) : () => {}" |
|
|
@dragstart="draggableComputed ? onDragStart($event, row) : () => {}" |
|
|
> |
|
|
> |
|
|
<q-td |
|
|
<q-td |
|
|
:class="props.grid.props.cellSelected ? firstTdClassComputed : 'nowrap text-nowrap'" |
|
|
:class="props.grid.props.selectedMode === selectedMode.cell ? firstTdClassComputed : 'nowrap text-nowrap'" |
|
|
@click=" |
|
|
@click=" |
|
|
() => { |
|
|
() => { |
|
|
if (table && props.grid.props.cellSelected) { |
|
|
if (table && props.grid.props.selectedMode === selectedMode.cell) { |
|
|
table['cellSelected'] = { |
|
|
table['cellSelected'] = { |
|
|
row: toRaw(props.row), |
|
|
row: toRaw(props.row), |
|
|
rowKey: props.row[props.rowKey], |
|
|
rowKey: props.row[props.rowKey], |
|
@ -81,12 +81,12 @@ |
|
|
<template v-for="(col, index) in cols" :key="col.name"> |
|
|
<template v-for="(col, index) in cols" :key="col.name"> |
|
|
<q-td |
|
|
<q-td |
|
|
v-if="index > 0" |
|
|
v-if="index > 0" |
|
|
:class="props.grid.props.cellSelected ? tdClassComputed(col) : col.__thClass + ' ' + col.classes" |
|
|
:class="props.grid.props.selectedMode === selectedMode.cell ? tdClassComputed(col) : col.__thClass + ' ' + col.classes" |
|
|
:title="col.classes?.indexOf('truncate') > -1 && col.value && typeof col.value !== 'object' ? col.value : ''" |
|
|
:title="col.classes?.indexOf('truncate') > -1 && col.value && typeof col.value !== 'object' ? col.value : ''" |
|
|
:style="col.style" |
|
|
:style="col.style" |
|
|
@click=" |
|
|
@click=" |
|
|
() => { |
|
|
() => { |
|
|
if (table && props.grid.props.cellSelected) { |
|
|
if (table && props.grid.props.selectedMode === selectedMode.cell) { |
|
|
table['cellSelected'] = { |
|
|
table['cellSelected'] = { |
|
|
row: toRaw(props.row), |
|
|
row: toRaw(props.row), |
|
|
rowKey: props.row[props.rowKey], |
|
|
rowKey: props.row[props.rowKey], |
|
@ -161,7 +161,7 @@ |
|
|
import { ref, computed, inject, toRaw } from 'vue'; |
|
|
import { ref, computed, inject, toRaw } from 'vue'; |
|
|
import { Tools, NotifyManager } from '@/platform'; |
|
|
import { Tools, NotifyManager } from '@/platform'; |
|
|
import GridEditToolbar from './GridEditToolbar.vue'; |
|
|
import GridEditToolbar from './GridEditToolbar.vue'; |
|
|
import { draggableImage, draggableMode } from './ts/grid'; |
|
|
import { draggableImage, draggableMode, selectedMode } from './ts/grid'; |
|
|
|
|
|
|
|
|
const trRef = ref(); |
|
|
const trRef = ref(); |
|
|
const tdDivRef = ref(); |
|
|
const tdDivRef = ref(); |
|
@ -267,7 +267,7 @@ const style = { |
|
|
|
|
|
|
|
|
const firstTdClassComputed = computed(() => { |
|
|
const firstTdClassComputed = computed(() => { |
|
|
const tdClass = <any>['nowrap', 'text-nowrap']; |
|
|
const tdClass = <any>['nowrap', 'text-nowrap']; |
|
|
if (props.grid.props.cellSelected) { |
|
|
if (props.grid.props.selectedMode === selectedMode.cell) { |
|
|
tdClass.push('cellSelected_hover'); |
|
|
tdClass.push('cellSelected_hover'); |
|
|
} |
|
|
} |
|
|
if (table && table['cellSelected'] && Tools.hasOwnProperty(table['cellSelected'], 'colName')) { |
|
|
if (table && table['cellSelected'] && Tools.hasOwnProperty(table['cellSelected'], 'colName')) { |
|
|