@regcheq/ui-vue-2 1.5.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +132 -28
- package/dist/index.esm.js +353 -25
- package/dist/index.js +353 -25
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -32733,6 +32733,16 @@ var script$g = {
|
|
|
32733
32733
|
type: String,
|
|
32734
32734
|
default: 'default',
|
|
32735
32735
|
validator: v => ['default', 'round'].includes(v)
|
|
32736
|
+
},
|
|
32737
|
+
// Escape hatch para casos puntuales que no cubren las variantes semánticas
|
|
32738
|
+
// (ej: un color dinámico que viene de datos). Pisan el color de la variante.
|
|
32739
|
+
bgColor: {
|
|
32740
|
+
type: String,
|
|
32741
|
+
default: null
|
|
32742
|
+
},
|
|
32743
|
+
textColor: {
|
|
32744
|
+
type: String,
|
|
32745
|
+
default: null
|
|
32736
32746
|
}
|
|
32737
32747
|
},
|
|
32738
32748
|
computed: {
|
|
@@ -32741,6 +32751,12 @@ var script$g = {
|
|
|
32741
32751
|
variant: this.variant,
|
|
32742
32752
|
roundness: this.roundness
|
|
32743
32753
|
});
|
|
32754
|
+
},
|
|
32755
|
+
inlineStyle() {
|
|
32756
|
+
const style = {};
|
|
32757
|
+
if (this.bgColor) style.backgroundColor = this.bgColor;
|
|
32758
|
+
if (this.textColor) style.color = this.textColor;
|
|
32759
|
+
return style;
|
|
32744
32760
|
}
|
|
32745
32761
|
}
|
|
32746
32762
|
};
|
|
@@ -32754,7 +32770,8 @@ var __vue_render__$g = function () {
|
|
|
32754
32770
|
var _h = _vm.$createElement;
|
|
32755
32771
|
var _c = _vm._self._c || _h;
|
|
32756
32772
|
return _c("span", _vm._g(_vm._b({
|
|
32757
|
-
class: _vm.classes
|
|
32773
|
+
class: _vm.classes,
|
|
32774
|
+
style: _vm.inlineStyle
|
|
32758
32775
|
}, "span", _vm.$attrs, false), _vm.$listeners), [_vm._t("left"), _vm._v(" "), _vm._t("default"), _vm._v(" "), _vm._t("right")], 2);
|
|
32759
32776
|
};
|
|
32760
32777
|
var __vue_staticRenderFns__$g = [];
|
|
@@ -34249,7 +34266,7 @@ var __vue_render__$5 = function () {
|
|
|
34249
34266
|
}
|
|
34250
34267
|
}, [_vm._v("\n Limpiar selección\n ")])]), _vm._v(" "), _c("Button", {
|
|
34251
34268
|
attrs: {
|
|
34252
|
-
variant: "
|
|
34269
|
+
variant: "secondary",
|
|
34253
34270
|
size: "md",
|
|
34254
34271
|
"icon-right": "Trash2"
|
|
34255
34272
|
},
|
|
@@ -37246,6 +37263,15 @@ function useTable(props, emit) {
|
|
|
37246
37263
|
}, {
|
|
37247
37264
|
immediate: true
|
|
37248
37265
|
});
|
|
37266
|
+
|
|
37267
|
+
// props.columns puede llegar vacío en el primer render (ej. mientras el
|
|
37268
|
+
// padre carga la vista activa de forma asíncrona) y poblarse después. Sin
|
|
37269
|
+
// este watcher, columnOrder queda pegado al [] inicial para siempre, ya que
|
|
37270
|
+
// el watcher de arriba solo reacciona a cambios de columnOrder, no de
|
|
37271
|
+
// columns. Solo pisa columnOrder si no hay un orden explícito del padre.
|
|
37272
|
+
watch(() => props.columns.map(c => c.key).join('|'), () => {
|
|
37273
|
+
if (!props.columnOrder) columnOrder.value = props.columns.map(c => c.key);
|
|
37274
|
+
});
|
|
37249
37275
|
watch(() => props.pinnedColumns, val => {
|
|
37250
37276
|
columnPinning.value = {
|
|
37251
37277
|
left: val ? [...val] : [],
|
|
@@ -37317,7 +37343,7 @@ function useTable(props, emit) {
|
|
|
37317
37343
|
const left = columnPinning.value.left || [];
|
|
37318
37344
|
if (!left.length) return {};
|
|
37319
37345
|
const offsets = {};
|
|
37320
|
-
let accumulated = props.selectable ? 40 : 0;
|
|
37346
|
+
let accumulated = (props.expandable ? props.expandColWidth || 40 : 0) + (props.selectable ? 40 : 0);
|
|
37321
37347
|
left.forEach(key => {
|
|
37322
37348
|
offsets[key] = accumulated;
|
|
37323
37349
|
const col = props.columns.find(c => c.key === key);
|
|
@@ -37576,11 +37602,64 @@ function useTable(props, emit) {
|
|
|
37576
37602
|
//
|
|
37577
37603
|
//
|
|
37578
37604
|
//
|
|
37605
|
+
//
|
|
37606
|
+
//
|
|
37607
|
+
//
|
|
37608
|
+
//
|
|
37609
|
+
//
|
|
37610
|
+
//
|
|
37611
|
+
//
|
|
37612
|
+
//
|
|
37613
|
+
//
|
|
37614
|
+
//
|
|
37615
|
+
//
|
|
37616
|
+
//
|
|
37617
|
+
//
|
|
37618
|
+
//
|
|
37619
|
+
//
|
|
37620
|
+
//
|
|
37621
|
+
//
|
|
37622
|
+
//
|
|
37623
|
+
//
|
|
37624
|
+
//
|
|
37625
|
+
//
|
|
37626
|
+
//
|
|
37627
|
+
//
|
|
37628
|
+
//
|
|
37629
|
+
//
|
|
37630
|
+
//
|
|
37631
|
+
//
|
|
37632
|
+
//
|
|
37633
|
+
//
|
|
37634
|
+
//
|
|
37635
|
+
//
|
|
37636
|
+
//
|
|
37637
|
+
//
|
|
37638
|
+
//
|
|
37639
|
+
//
|
|
37640
|
+
//
|
|
37641
|
+
//
|
|
37642
|
+
//
|
|
37643
|
+
//
|
|
37644
|
+
//
|
|
37645
|
+
//
|
|
37646
|
+
//
|
|
37647
|
+
//
|
|
37648
|
+
//
|
|
37649
|
+
//
|
|
37650
|
+
//
|
|
37651
|
+
//
|
|
37652
|
+
//
|
|
37653
|
+
//
|
|
37654
|
+
//
|
|
37655
|
+
//
|
|
37656
|
+
//
|
|
37579
37657
|
|
|
37580
37658
|
var script$4 = {
|
|
37581
37659
|
name: 'Table',
|
|
37582
37660
|
components: {
|
|
37583
|
-
Checkbox: __vue_component__$j
|
|
37661
|
+
Checkbox: __vue_component__$j,
|
|
37662
|
+
Tooltip: __vue_component__$f
|
|
37584
37663
|
},
|
|
37585
37664
|
props: {
|
|
37586
37665
|
rows: {
|
|
@@ -37610,6 +37689,28 @@ var script$4 = {
|
|
|
37610
37689
|
maxHeight: {
|
|
37611
37690
|
type: Number,
|
|
37612
37691
|
default: null
|
|
37692
|
+
},
|
|
37693
|
+
expandable: {
|
|
37694
|
+
type: Boolean,
|
|
37695
|
+
default: false
|
|
37696
|
+
},
|
|
37697
|
+
// Alto fijo (no máximo) del contenido expandido; con scroll interno si el
|
|
37698
|
+
// contenido no entra.
|
|
37699
|
+
expandedRowHeight: {
|
|
37700
|
+
type: Number,
|
|
37701
|
+
default: 265
|
|
37702
|
+
},
|
|
37703
|
+
// Ancho de la columna de expandir en px. Default 40 (solo el chevron);
|
|
37704
|
+
// subilo si usás el slot `expand-cell` para agregar contenido extra.
|
|
37705
|
+
expandColWidth: {
|
|
37706
|
+
type: Number,
|
|
37707
|
+
default: 40
|
|
37708
|
+
},
|
|
37709
|
+
// { title, subtitle } para el estado "sin datos". Si no se pasa, se usa
|
|
37710
|
+
// un fallback genérico — el texto específico de dominio vive en el consumidor.
|
|
37711
|
+
emptyState: {
|
|
37712
|
+
type: Object,
|
|
37713
|
+
default: null
|
|
37613
37714
|
}
|
|
37614
37715
|
},
|
|
37615
37716
|
setup(props, {
|
|
@@ -37630,7 +37731,9 @@ var script$4 = {
|
|
|
37630
37731
|
colKey: null,
|
|
37631
37732
|
x: 0,
|
|
37632
37733
|
y: 0
|
|
37633
|
-
}
|
|
37734
|
+
},
|
|
37735
|
+
truncatedCells: {},
|
|
37736
|
+
expandedRowId: null
|
|
37634
37737
|
};
|
|
37635
37738
|
},
|
|
37636
37739
|
computed: {
|
|
@@ -37642,6 +37745,23 @@ var script$4 = {
|
|
|
37642
37745
|
},
|
|
37643
37746
|
PinIcon() {
|
|
37644
37747
|
return Pin;
|
|
37748
|
+
},
|
|
37749
|
+
ExpandIcon() {
|
|
37750
|
+
return ChevronRight;
|
|
37751
|
+
},
|
|
37752
|
+
fullColspan() {
|
|
37753
|
+
return this.columns.length + (this.selectable ? 1 : 0) + (this.expandable ? 1 : 0);
|
|
37754
|
+
},
|
|
37755
|
+
resolvedEmptyState() {
|
|
37756
|
+
return {
|
|
37757
|
+
title: this.emptyState?.title || 'Sin datos',
|
|
37758
|
+
subtitle: this.emptyState?.subtitle || ''
|
|
37759
|
+
};
|
|
37760
|
+
},
|
|
37761
|
+
// Offset sticky de la columna de selección: se corre a la derecha
|
|
37762
|
+
// del ancho de la columna de expandir, cuando ambas están activas
|
|
37763
|
+
selectColOffset() {
|
|
37764
|
+
return this.expandable ? this.expandColWidth : 0;
|
|
37645
37765
|
}
|
|
37646
37766
|
},
|
|
37647
37767
|
methods: {
|
|
@@ -37679,6 +37799,13 @@ var script$4 = {
|
|
|
37679
37799
|
};
|
|
37680
37800
|
}
|
|
37681
37801
|
},
|
|
37802
|
+
// Cierra el popover del chevron antes de arrastrar: su posición se calcula
|
|
37803
|
+
// una sola vez al abrirlo, y reordenar columnas la invalida (bug de
|
|
37804
|
+
// posicionamiento si quedaba abierto apuntando a la columna vieja).
|
|
37805
|
+
handleDragStart(columnKey) {
|
|
37806
|
+
this.closeAll();
|
|
37807
|
+
this.onDragStart(columnKey);
|
|
37808
|
+
},
|
|
37682
37809
|
onChevronClick(columnKey, event) {
|
|
37683
37810
|
this.contextMenu = {
|
|
37684
37811
|
visible: false,
|
|
@@ -37692,12 +37819,19 @@ var script$4 = {
|
|
|
37692
37819
|
}
|
|
37693
37820
|
this.toggleChevron(columnKey);
|
|
37694
37821
|
const th = event.currentTarget.closest('th');
|
|
37695
|
-
const tableRect = this.$el.getBoundingClientRect();
|
|
37696
37822
|
const thRect = th.getBoundingClientRect();
|
|
37823
|
+
// Coordenadas de viewport (no relativas a la tabla): el popover es
|
|
37824
|
+
// position:fixed para no quedar clippado por el overflow:clip de .rq-table
|
|
37697
37825
|
this.chevronPopoverPos = {
|
|
37698
|
-
top: thRect.bottom
|
|
37699
|
-
left: Math.max(100, thRect.left
|
|
37826
|
+
top: thRect.bottom + 4,
|
|
37827
|
+
left: Math.max(100, thRect.left + thRect.width / 2)
|
|
37700
37828
|
};
|
|
37829
|
+
this.$nextTick(() => {
|
|
37830
|
+
if (this.$refs.chevronPopover) {
|
|
37831
|
+
this._chevronPopoverEl = this.$refs.chevronPopover;
|
|
37832
|
+
document.body.appendChild(this._chevronPopoverEl);
|
|
37833
|
+
}
|
|
37834
|
+
});
|
|
37701
37835
|
},
|
|
37702
37836
|
openContextMenu(colKey, event) {
|
|
37703
37837
|
this.closeChevron();
|
|
@@ -37719,16 +37853,69 @@ var script$4 = {
|
|
|
37719
37853
|
x: 0,
|
|
37720
37854
|
y: 0
|
|
37721
37855
|
};
|
|
37856
|
+
},
|
|
37857
|
+
toggleExpand(rowId) {
|
|
37858
|
+
this.expandedRowId = this.expandedRowId === rowId ? null : rowId;
|
|
37859
|
+
this.$emit('update:expanded-row-id', this.expandedRowId);
|
|
37860
|
+
},
|
|
37861
|
+
cellKey(rowId, headerId) {
|
|
37862
|
+
return `${rowId}::${headerId}`;
|
|
37863
|
+
},
|
|
37864
|
+
isTruncated(rowId, headerId) {
|
|
37865
|
+
return !!this.truncatedCells[this.cellKey(rowId, headerId)];
|
|
37866
|
+
},
|
|
37867
|
+
// Compara scrollWidth vs clientWidth de cada celda de texto plano para
|
|
37868
|
+
// saber cuáles están recortadas por el ellipsis y solo a esas envolverlas
|
|
37869
|
+
// en Tooltip. Se dispara por watchers, nunca desde el hook `updated`,
|
|
37870
|
+
// para no re-medir en loop cuando truncatedCells cambia.
|
|
37871
|
+
measureTruncatedCells() {
|
|
37872
|
+
if (!this.$el) return;
|
|
37873
|
+
const els = this.$el.querySelectorAll('.rq-table__cell-text[data-cell-key]');
|
|
37874
|
+
const result = {};
|
|
37875
|
+
els.forEach(el => {
|
|
37876
|
+
result[el.dataset.cellKey] = el.scrollWidth > el.clientWidth;
|
|
37877
|
+
});
|
|
37878
|
+
this.truncatedCells = result;
|
|
37879
|
+
}
|
|
37880
|
+
},
|
|
37881
|
+
watch: {
|
|
37882
|
+
tableRows() {
|
|
37883
|
+
this.$nextTick(this.measureTruncatedCells);
|
|
37884
|
+
},
|
|
37885
|
+
columns: {
|
|
37886
|
+
handler() {
|
|
37887
|
+
this.$nextTick(this.measureTruncatedCells);
|
|
37888
|
+
},
|
|
37889
|
+
deep: true
|
|
37722
37890
|
}
|
|
37723
37891
|
},
|
|
37724
37892
|
mounted() {
|
|
37725
37893
|
this._onKeydown = e => {
|
|
37726
37894
|
if (e.key === 'Escape') this.closeAll();
|
|
37727
37895
|
};
|
|
37896
|
+
this._onDocumentClick = () => this.closeAll();
|
|
37897
|
+
this._onResize = () => this.measureTruncatedCells();
|
|
37898
|
+
// El popover del chevron es position:fixed (coordenadas de viewport);
|
|
37899
|
+
// si cualquier ancestro scrollea (capture:true, scroll no burbujea),
|
|
37900
|
+
// se cierra en vez de quedar desalineado de su columna.
|
|
37901
|
+
this._onScroll = () => this.closeChevron();
|
|
37728
37902
|
document.addEventListener('keydown', this._onKeydown);
|
|
37903
|
+
document.addEventListener('click', this._onDocumentClick);
|
|
37904
|
+
window.addEventListener('resize', this._onResize);
|
|
37905
|
+
window.addEventListener('scroll', this._onScroll, true);
|
|
37906
|
+
this.$nextTick(this.measureTruncatedCells);
|
|
37729
37907
|
},
|
|
37730
37908
|
beforeDestroy() {
|
|
37731
37909
|
document.removeEventListener('keydown', this._onKeydown);
|
|
37910
|
+
document.removeEventListener('click', this._onDocumentClick);
|
|
37911
|
+
window.removeEventListener('resize', this._onResize);
|
|
37912
|
+
window.removeEventListener('scroll', this._onScroll, true);
|
|
37913
|
+
// El popover del chevron se mueve a document.body al abrirse (fuera del
|
|
37914
|
+
// árbol de la tabla); si el componente se destruye con el popover abierto,
|
|
37915
|
+
// destruir el root de la tabla no lo alcanza — hay que sacarlo a mano.
|
|
37916
|
+
if (this._chevronPopoverEl && this._chevronPopoverEl.parentNode) {
|
|
37917
|
+
this._chevronPopoverEl.parentNode.removeChild(this._chevronPopoverEl);
|
|
37918
|
+
}
|
|
37732
37919
|
}
|
|
37733
37920
|
};
|
|
37734
37921
|
|
|
@@ -37741,10 +37928,7 @@ var __vue_render__$4 = function () {
|
|
|
37741
37928
|
var _h = _vm.$createElement;
|
|
37742
37929
|
var _c = _vm._self._c || _h;
|
|
37743
37930
|
return _c("div", _vm._g({
|
|
37744
|
-
class: _vm.classes
|
|
37745
|
-
on: {
|
|
37746
|
-
click: _vm.closeAll
|
|
37747
|
-
}
|
|
37931
|
+
class: _vm.classes
|
|
37748
37932
|
}, _vm.$listeners), [_c("div", {
|
|
37749
37933
|
staticClass: "rq-table__scroll",
|
|
37750
37934
|
style: _vm.maxHeight ? {
|
|
@@ -37758,11 +37942,20 @@ var __vue_render__$4 = function () {
|
|
|
37758
37942
|
return _c("tr", {
|
|
37759
37943
|
key: headerGroup.id,
|
|
37760
37944
|
staticClass: "rq-table__tr rq-table__tr--head"
|
|
37761
|
-
}, [_vm.
|
|
37762
|
-
staticClass: "rq-table__th rq-table__th--
|
|
37945
|
+
}, [_vm.expandable ? _c("th", {
|
|
37946
|
+
staticClass: "rq-table__th rq-table__th--expand",
|
|
37763
37947
|
style: {
|
|
37764
37948
|
position: "sticky",
|
|
37765
37949
|
left: 0,
|
|
37950
|
+
zIndex: 5,
|
|
37951
|
+
width: _vm.expandColWidth + "px",
|
|
37952
|
+
minWidth: _vm.expandColWidth + "px"
|
|
37953
|
+
}
|
|
37954
|
+
}) : _vm._e(), _vm._v(" "), _vm.selectable ? _c("th", {
|
|
37955
|
+
staticClass: "rq-table__th rq-table__th--select",
|
|
37956
|
+
style: {
|
|
37957
|
+
position: "sticky",
|
|
37958
|
+
left: _vm.selectColOffset + "px",
|
|
37766
37959
|
zIndex: 5
|
|
37767
37960
|
}
|
|
37768
37961
|
}, [_c("Checkbox", {
|
|
@@ -37788,7 +37981,7 @@ var __vue_render__$4 = function () {
|
|
|
37788
37981
|
},
|
|
37789
37982
|
on: {
|
|
37790
37983
|
dragstart: function ($event) {
|
|
37791
|
-
return _vm.
|
|
37984
|
+
return _vm.handleDragStart(header.id);
|
|
37792
37985
|
},
|
|
37793
37986
|
dragover: function ($event) {
|
|
37794
37987
|
$event.preventDefault();
|
|
@@ -37831,12 +38024,18 @@ var __vue_render__$4 = function () {
|
|
|
37831
38024
|
}, [_c("td", {
|
|
37832
38025
|
staticClass: "rq-table__td rq-table__td--empty",
|
|
37833
38026
|
attrs: {
|
|
37834
|
-
colspan: _vm.
|
|
38027
|
+
colspan: _vm.fullColspan
|
|
37835
38028
|
}
|
|
37836
38029
|
}, [_vm._t("empty", function () {
|
|
37837
|
-
return [_c("
|
|
38030
|
+
return [_c("div", {
|
|
38031
|
+
staticClass: "rq-table__empty-state"
|
|
38032
|
+
}, [_c("p", {
|
|
38033
|
+
staticClass: "rq-table__empty-title"
|
|
38034
|
+
}, [_vm._v(_vm._s(_vm.resolvedEmptyState.title))]), _vm._v(" "), _vm.resolvedEmptyState.subtitle ? _c("p", {
|
|
38035
|
+
staticClass: "rq-table__empty-subtitle"
|
|
38036
|
+
}, [_vm._v(_vm._s(_vm.resolvedEmptyState.subtitle))]) : _vm._e()])];
|
|
37838
38037
|
})], 2)]) : _vm._e(), _vm._v(" "), _vm._l(_vm.tableRows, function (row) {
|
|
37839
|
-
return _c("tr", {
|
|
38038
|
+
return [_c("tr", {
|
|
37840
38039
|
key: row.id,
|
|
37841
38040
|
staticClass: "rq-table__tr rq-table__tr--body",
|
|
37842
38041
|
on: {
|
|
@@ -37844,11 +38043,43 @@ var __vue_render__$4 = function () {
|
|
|
37844
38043
|
return _vm.$emit("row-click", row.original);
|
|
37845
38044
|
}
|
|
37846
38045
|
}
|
|
37847
|
-
}, [_vm.
|
|
37848
|
-
staticClass: "rq-table__td rq-table__td--
|
|
38046
|
+
}, [_vm.expandable ? _c("td", {
|
|
38047
|
+
staticClass: "rq-table__td rq-table__td--expand",
|
|
37849
38048
|
style: {
|
|
37850
38049
|
position: "sticky",
|
|
37851
38050
|
left: 0,
|
|
38051
|
+
zIndex: 2,
|
|
38052
|
+
width: _vm.expandColWidth + "px",
|
|
38053
|
+
minWidth: _vm.expandColWidth + "px"
|
|
38054
|
+
}
|
|
38055
|
+
}, [_c("div", {
|
|
38056
|
+
staticClass: "rq-table__expand-cell"
|
|
38057
|
+
}, [_c("button", {
|
|
38058
|
+
staticClass: "rq-table__expand-btn",
|
|
38059
|
+
class: {
|
|
38060
|
+
"rq-table__expand-btn--active": _vm.expandedRowId === row.id
|
|
38061
|
+
},
|
|
38062
|
+
attrs: {
|
|
38063
|
+
type: "button"
|
|
38064
|
+
},
|
|
38065
|
+
on: {
|
|
38066
|
+
click: function ($event) {
|
|
38067
|
+
$event.stopPropagation();
|
|
38068
|
+
return _vm.toggleExpand(row.id);
|
|
38069
|
+
}
|
|
38070
|
+
}
|
|
38071
|
+
}, [_c(_vm.ExpandIcon, {
|
|
38072
|
+
tag: "component",
|
|
38073
|
+
attrs: {
|
|
38074
|
+
size: 14
|
|
38075
|
+
}
|
|
38076
|
+
})], 1), _vm._v(" "), _vm._t("expand-cell", null, {
|
|
38077
|
+
row: row.original
|
|
38078
|
+
})], 2)]) : _vm._e(), _vm._v(" "), _vm.selectable ? _c("td", {
|
|
38079
|
+
staticClass: "rq-table__td rq-table__td--select",
|
|
38080
|
+
style: {
|
|
38081
|
+
position: "sticky",
|
|
38082
|
+
left: _vm.selectColOffset + "px",
|
|
37852
38083
|
zIndex: 2
|
|
37853
38084
|
},
|
|
37854
38085
|
on: {
|
|
@@ -37874,12 +38105,42 @@ var __vue_render__$4 = function () {
|
|
|
37874
38105
|
},
|
|
37875
38106
|
style: _vm.getColStyle(header)
|
|
37876
38107
|
}, [_vm._t("cell-" + header.id, function () {
|
|
37877
|
-
return [_vm.
|
|
38108
|
+
return [_vm.isTruncated(row.id, header.id) ? _c("Tooltip", {
|
|
38109
|
+
staticClass: "rq-table__cell-tooltip",
|
|
38110
|
+
attrs: {
|
|
38111
|
+
text: String(row.getValue(header.id))
|
|
38112
|
+
}
|
|
38113
|
+
}, [_c("span", {
|
|
38114
|
+
staticClass: "rq-table__cell-text",
|
|
38115
|
+
attrs: {
|
|
38116
|
+
"data-cell-key": _vm.cellKey(row.id, header.id)
|
|
38117
|
+
}
|
|
38118
|
+
}, [_vm._v(_vm._s(row.getValue(header.id)))])]) : _c("span", {
|
|
38119
|
+
staticClass: "rq-table__cell-text",
|
|
38120
|
+
attrs: {
|
|
38121
|
+
"data-cell-key": _vm.cellKey(row.id, header.id)
|
|
38122
|
+
}
|
|
38123
|
+
}, [_vm._v(_vm._s(row.getValue(header.id)))])];
|
|
37878
38124
|
}, {
|
|
37879
38125
|
row: row.original,
|
|
37880
38126
|
value: row.getValue(header.id)
|
|
37881
38127
|
})], 2);
|
|
37882
|
-
})], 2)
|
|
38128
|
+
})], 2), _vm._v(" "), _vm.expandable && _vm.expandedRowId === row.id ? _c("tr", {
|
|
38129
|
+
key: row.id + "-expanded",
|
|
38130
|
+
staticClass: "rq-table__tr rq-table__tr--expanded"
|
|
38131
|
+
}, [_c("td", {
|
|
38132
|
+
staticClass: "rq-table__td rq-table__td--expanded",
|
|
38133
|
+
attrs: {
|
|
38134
|
+
colspan: _vm.fullColspan
|
|
38135
|
+
}
|
|
38136
|
+
}, [_c("div", {
|
|
38137
|
+
staticClass: "rq-table__expanded-content",
|
|
38138
|
+
style: {
|
|
38139
|
+
height: _vm.expandedRowHeight + "px"
|
|
38140
|
+
}
|
|
38141
|
+
}, [_vm._t("expanded-row", null, {
|
|
38142
|
+
row: row.original
|
|
38143
|
+
})], 2)])]) : _vm._e()];
|
|
37883
38144
|
})], 2)])]), _vm._v(" "), _vm.contextMenu.visible ? _c("div", {
|
|
37884
38145
|
staticClass: "rq-table__context-menu",
|
|
37885
38146
|
style: {
|
|
@@ -37905,6 +38166,7 @@ var __vue_render__$4 = function () {
|
|
|
37905
38166
|
size: 14
|
|
37906
38167
|
}
|
|
37907
38168
|
}), _vm._v("\n " + _vm._s(_vm.contextMenu.colKey in _vm.pinnedLeftWidths ? "Desfijar columna" : "Fijar columna") + "\n ")], 1)]) : _vm._e(), _vm._v(" "), _vm.activeChevronKey ? _c("div", {
|
|
38169
|
+
ref: "chevronPopover",
|
|
37908
38170
|
staticClass: "rq-table__chevron-popover",
|
|
37909
38171
|
style: {
|
|
37910
38172
|
top: _vm.chevronPopoverPos.top + "px",
|
|
@@ -38014,6 +38276,24 @@ const dataTableVariants = cva('rq-data-table', {
|
|
|
38014
38276
|
//
|
|
38015
38277
|
//
|
|
38016
38278
|
//
|
|
38279
|
+
//
|
|
38280
|
+
//
|
|
38281
|
+
//
|
|
38282
|
+
//
|
|
38283
|
+
//
|
|
38284
|
+
//
|
|
38285
|
+
//
|
|
38286
|
+
//
|
|
38287
|
+
//
|
|
38288
|
+
//
|
|
38289
|
+
//
|
|
38290
|
+
//
|
|
38291
|
+
//
|
|
38292
|
+
//
|
|
38293
|
+
//
|
|
38294
|
+
//
|
|
38295
|
+
//
|
|
38296
|
+
//
|
|
38017
38297
|
|
|
38018
38298
|
var script$3 = {
|
|
38019
38299
|
name: 'DataTable',
|
|
@@ -38080,6 +38360,22 @@ var script$3 = {
|
|
|
38080
38360
|
deleteLabel: {
|
|
38081
38361
|
type: String,
|
|
38082
38362
|
default: 'Eliminar'
|
|
38363
|
+
},
|
|
38364
|
+
expandable: {
|
|
38365
|
+
type: Boolean,
|
|
38366
|
+
default: false
|
|
38367
|
+
},
|
|
38368
|
+
expandedRowHeight: {
|
|
38369
|
+
type: Number,
|
|
38370
|
+
default: 265
|
|
38371
|
+
},
|
|
38372
|
+
expandColWidth: {
|
|
38373
|
+
type: Number,
|
|
38374
|
+
default: 40
|
|
38375
|
+
},
|
|
38376
|
+
emptyState: {
|
|
38377
|
+
type: Object,
|
|
38378
|
+
default: null
|
|
38083
38379
|
}
|
|
38084
38380
|
},
|
|
38085
38381
|
data() {
|
|
@@ -38125,6 +38421,8 @@ var __vue_render__$3 = function () {
|
|
|
38125
38421
|
var _c = _vm._self._c || _h;
|
|
38126
38422
|
return _c("div", {
|
|
38127
38423
|
class: _vm.classes
|
|
38424
|
+
}, [_vm.showSearch || _vm.$slots.actions ? _c("div", {
|
|
38425
|
+
staticClass: "rq-data-table__search-row"
|
|
38128
38426
|
}, [_vm.showSearch ? _c("SearchInput", {
|
|
38129
38427
|
staticClass: "rq-data-table__search-bar",
|
|
38130
38428
|
attrs: {
|
|
@@ -38138,7 +38436,11 @@ var __vue_render__$3 = function () {
|
|
|
38138
38436
|
return _vm.$emit("update:search", $event);
|
|
38139
38437
|
}
|
|
38140
38438
|
}
|
|
38141
|
-
}) : _vm._e(), _vm._v(" "), _vm.
|
|
38439
|
+
}) : _vm._e(), _vm._v(" "), _vm.$slots.actions ? _c("div", {
|
|
38440
|
+
staticClass: "rq-data-table__actions"
|
|
38441
|
+
}, [_vm._t("actions")], 2) : _vm._e()], 1) : _vm._e(), _vm._v(" "), _vm.selectable ? _c("div", {
|
|
38442
|
+
staticClass: "rq-data-table__selection-slot"
|
|
38443
|
+
}, [_vm.selectedCount > 0 ? _c("SelectionBar", {
|
|
38142
38444
|
attrs: {
|
|
38143
38445
|
count: _vm.selectedCount,
|
|
38144
38446
|
"delete-label": _vm.deleteLabel
|
|
@@ -38149,7 +38451,7 @@ var __vue_render__$3 = function () {
|
|
|
38149
38451
|
return _vm.$emit("delete-selected", _vm.selectedRows);
|
|
38150
38452
|
}
|
|
38151
38453
|
}
|
|
38152
|
-
}) : _vm._e(), _vm._v(" "), _c("Table", {
|
|
38454
|
+
}) : _vm._e()], 1) : _vm._e(), _vm._v(" "), _c("Table", {
|
|
38153
38455
|
ref: "table",
|
|
38154
38456
|
attrs: {
|
|
38155
38457
|
columns: _vm.columns,
|
|
@@ -38158,7 +38460,11 @@ var __vue_render__$3 = function () {
|
|
|
38158
38460
|
"pinned-columns": _vm.pinnedColumns,
|
|
38159
38461
|
selectable: _vm.selectable,
|
|
38160
38462
|
"row-id": _vm.rowId,
|
|
38161
|
-
"max-height": _vm.maxHeight
|
|
38463
|
+
"max-height": _vm.maxHeight,
|
|
38464
|
+
expandable: _vm.expandable,
|
|
38465
|
+
"expanded-row-height": _vm.expandedRowHeight,
|
|
38466
|
+
"expand-col-width": _vm.expandColWidth,
|
|
38467
|
+
"empty-state": _vm.emptyState
|
|
38162
38468
|
},
|
|
38163
38469
|
on: {
|
|
38164
38470
|
"row-click": function ($event) {
|
|
@@ -38170,6 +38476,9 @@ var __vue_render__$3 = function () {
|
|
|
38170
38476
|
},
|
|
38171
38477
|
"update:pinned-columns": function ($event) {
|
|
38172
38478
|
return _vm.$emit("update:pinned-columns", $event);
|
|
38479
|
+
},
|
|
38480
|
+
"update:expanded-row-id": function ($event) {
|
|
38481
|
+
return _vm.$emit("update:expanded-row-id", $event);
|
|
38173
38482
|
}
|
|
38174
38483
|
},
|
|
38175
38484
|
scopedSlots: _vm._u([_vm._l(_vm.columns, function (col) {
|
|
@@ -38193,6 +38502,16 @@ var __vue_render__$3 = function () {
|
|
|
38193
38502
|
return [_vm._t("empty")];
|
|
38194
38503
|
},
|
|
38195
38504
|
proxy: true
|
|
38505
|
+
}, {
|
|
38506
|
+
key: "expanded-row",
|
|
38507
|
+
fn: function (slotProps) {
|
|
38508
|
+
return [_vm._t("expanded-row", null, null, slotProps)];
|
|
38509
|
+
}
|
|
38510
|
+
}, {
|
|
38511
|
+
key: "expand-cell",
|
|
38512
|
+
fn: function (slotProps) {
|
|
38513
|
+
return [_vm._t("expand-cell", null, null, slotProps)];
|
|
38514
|
+
}
|
|
38196
38515
|
}], null, true)
|
|
38197
38516
|
}), _vm._v(" "), _c("div", {
|
|
38198
38517
|
staticClass: "rq-data-table__pagination"
|
|
@@ -38725,11 +39044,20 @@ var script = {
|
|
|
38725
39044
|
} : {};
|
|
38726
39045
|
}
|
|
38727
39046
|
},
|
|
39047
|
+
watch: {
|
|
39048
|
+
open: {
|
|
39049
|
+
immediate: true,
|
|
39050
|
+
handler(isOpen) {
|
|
39051
|
+
document.body.style.overflow = isOpen ? 'hidden' : '';
|
|
39052
|
+
}
|
|
39053
|
+
}
|
|
39054
|
+
},
|
|
38728
39055
|
mounted() {
|
|
38729
39056
|
document.addEventListener('keydown', this.handleKeydown);
|
|
38730
39057
|
},
|
|
38731
39058
|
beforeDestroy() {
|
|
38732
39059
|
document.removeEventListener('keydown', this.handleKeydown);
|
|
39060
|
+
document.body.style.overflow = '';
|
|
38733
39061
|
},
|
|
38734
39062
|
methods: {
|
|
38735
39063
|
handleKeydown(e) {
|