vue-laravel-crud 2.0.6 → 2.0.7

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.
@@ -727,15 +727,15 @@ var CrudFilters = __component__$f.exports;
727
727
 
728
728
  var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
729
729
 
730
- var css$8 = "\n.crud-header[data-v-d09f8396] {\r\n display: flex;\r\n justify-content: space-between;\r\n max-height: 3rem;\n}\n.crud-title[data-v-d09f8396] {\r\n margin: 0;\n}\n.crud-search[data-v-d09f8396] {\r\n max-width: 15rem;\n}\n.crud-search .btn[data-v-d09f8396] {\r\n border-top-left-radius: 0;\r\n border-bottom-left-radius: 0;\r\n border-top-right-radius: 0.375rem;\r\n border-bottom-right-radius: 0.375rem;\n}\n.crud-search .btn.open[data-v-d09f8396] {\r\n border-top-right-radius: 0;\r\n border-bottom-right-radius: 0;\n}\n.table-options[data-v-d09f8396] {\r\n margin-bottom: 1rem;\r\n display: flex;\r\n align-items: center;\r\n justify-content: flex-end;\n}\r\n";
731
- n(css$8, {});
730
+ var css$9 = "\n.crud-header[data-v-4fb65bb3] {\n display: flex;\n justify-content: space-between;\n max-height: 3rem;\n}\n.crud-title[data-v-4fb65bb3] {\n margin: 0;\n}\n.crud-search[data-v-4fb65bb3] {\n max-width: 15rem;\n}\n.crud-search .btn[data-v-4fb65bb3] {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-top-right-radius: 0.375rem;\n border-bottom-right-radius: 0.375rem;\n}\n.crud-search .btn.open[data-v-4fb65bb3] {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.table-options[data-v-4fb65bb3] {\n margin-bottom: 1rem;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n}\n";
731
+ n(css$9, {});
732
732
 
733
733
  const _sfc_main$e = {
734
734
  name: 'CrudHeader',
735
735
  components: {
736
736
  CrudFilters
737
737
  },
738
- inject: ['showHeader', 'showTitle', 'title', 'filterSidebarOpen', 'showImport', 'showExport', 'showPrincipalSortBtn', 'principalSort', 'bulkDelete', 'showCreateBtn', 'enableFilters', 'displayModeToggler', 'displayMode', 'displayModes', 'showSearch', 'displaySearch', 'search', 'searchPlaceholder', 'loading', 'messageImport', 'messageExport', 'messageNew', 'createItem', 'toggleDisplayMode', 'togglePrincipalSort', 'confirmBulkDelete', 'toggleFilters', 'refresh'],
738
+ inject: ['showHeader', 'showTitle', 'title', 'filterSidebarOpen', 'showImport', 'showExport', 'showPrincipalSortBtn', 'principalSort', 'bulkDelete', 'showCreateBtn', 'enableFilters', 'displayModeToggler', 'displayMode', 'displayModes', 'showSearch', 'displaySearch', 'search', 'searchPlaceholder', 'loading', 'messageImport', 'messageExport', 'messageNew', 'createItem', 'toggleDisplayMode', 'togglePrincipalSort', 'confirmBulkDelete', 'toggleFilters', 'refresh', 'showImportModal', 'showExportModal'],
739
739
  computed: {
740
740
  sidebarVisible() {
741
741
  // Acceder directamente al componente padre para obtener reactividad
@@ -898,7 +898,7 @@ var _sfc_render$e = function render() {
898
898
  })], 2)], 1)], 1) : _vm._e();
899
899
  };
900
900
  var _sfc_staticRenderFns$e = [];
901
- var __component__$e = /*#__PURE__*/normalizeComponent(_sfc_main$e, _sfc_render$e, _sfc_staticRenderFns$e, false, null, "d09f8396", null, null);
901
+ var __component__$e = /*#__PURE__*/normalizeComponent(_sfc_main$e, _sfc_render$e, _sfc_staticRenderFns$e, false, null, "4fb65bb3", null, null);
902
902
  var CrudHeader = __component__$e.exports;
903
903
 
904
904
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
@@ -1160,7 +1160,7 @@ function toggleClass(el, name, state) {
1160
1160
  }
1161
1161
  }
1162
1162
 
1163
- function css$7(el, prop, val) {
1163
+ function css$8(el, prop, val) {
1164
1164
  var style = el && el.style;
1165
1165
 
1166
1166
  if (style) {
@@ -1189,7 +1189,7 @@ function matrix(el, selfOnly) {
1189
1189
  appliedTransforms = el;
1190
1190
  } else {
1191
1191
  do {
1192
- var transform = css$7(el, 'transform');
1192
+ var transform = css$8(el, 'transform');
1193
1193
 
1194
1194
  if (transform && transform !== 'none') {
1195
1195
  appliedTransforms = transform + ' ' + appliedTransforms;
@@ -1271,11 +1271,11 @@ function getRect(el, relativeToContainingBlock, relativeToNonStaticParent, undoS
1271
1271
 
1272
1272
  if (!IE11OrLess) {
1273
1273
  do {
1274
- if (container && container.getBoundingClientRect && (css$7(container, 'transform') !== 'none' || relativeToNonStaticParent && css$7(container, 'position') !== 'static')) {
1274
+ if (container && container.getBoundingClientRect && (css$8(container, 'transform') !== 'none' || relativeToNonStaticParent && css$8(container, 'position') !== 'static')) {
1275
1275
  var containerRect = container.getBoundingClientRect(); // Set relative to edges of padding box of container
1276
1276
 
1277
- top -= containerRect.top + parseInt(css$7(container, 'border-top-width'));
1278
- left -= containerRect.left + parseInt(css$7(container, 'border-left-width'));
1277
+ top -= containerRect.top + parseInt(css$8(container, 'border-top-width'));
1278
+ left -= containerRect.left + parseInt(css$8(container, 'border-left-width'));
1279
1279
  bottom = top + elRect.height;
1280
1280
  right = left + elRect.width;
1281
1281
  break;
@@ -1382,7 +1382,7 @@ function getChild(el, childNum, options) {
1382
1382
  function lastChild(el, selector) {
1383
1383
  var last = el.lastElementChild;
1384
1384
 
1385
- while (last && (last === Sortable.ghost || css$7(last, 'display') === 'none' || selector && !matches(last, selector))) {
1385
+ while (last && (last === Sortable.ghost || css$8(last, 'display') === 'none' || selector && !matches(last, selector))) {
1386
1386
  last = last.previousElementSibling;
1387
1387
  }
1388
1388
 
@@ -1468,7 +1468,7 @@ function getParentAutoScrollElement(el, includeSelf) {
1468
1468
  do {
1469
1469
  // we don't need to get elem css if it isn't even overflowing in the first place (performance)
1470
1470
  if (elem.clientWidth < elem.scrollWidth || elem.clientHeight < elem.scrollHeight) {
1471
- var elemCSS = css$7(elem);
1471
+ var elemCSS = css$8(elem);
1472
1472
 
1473
1473
  if (elem.clientWidth < elem.scrollWidth && (elemCSS.overflowX == 'auto' || elemCSS.overflowX == 'scroll') || elem.clientHeight < elem.scrollHeight && (elemCSS.overflowY == 'auto' || elemCSS.overflowY == 'scroll')) {
1474
1474
  if (!elem.getBoundingClientRect || elem === document.body) return getWindowScrollingElement();
@@ -1544,19 +1544,19 @@ function clone(el) {
1544
1544
  }
1545
1545
 
1546
1546
  function setRect(el, rect) {
1547
- css$7(el, 'position', 'absolute');
1548
- css$7(el, 'top', rect.top);
1549
- css$7(el, 'left', rect.left);
1550
- css$7(el, 'width', rect.width);
1551
- css$7(el, 'height', rect.height);
1547
+ css$8(el, 'position', 'absolute');
1548
+ css$8(el, 'top', rect.top);
1549
+ css$8(el, 'left', rect.left);
1550
+ css$8(el, 'width', rect.width);
1551
+ css$8(el, 'height', rect.height);
1552
1552
  }
1553
1553
 
1554
1554
  function unsetRect(el) {
1555
- css$7(el, 'position', '');
1556
- css$7(el, 'top', '');
1557
- css$7(el, 'left', '');
1558
- css$7(el, 'width', '');
1559
- css$7(el, 'height', '');
1555
+ css$8(el, 'position', '');
1556
+ css$8(el, 'top', '');
1557
+ css$8(el, 'left', '');
1558
+ css$8(el, 'width', '');
1559
+ css$8(el, 'height', '');
1560
1560
  }
1561
1561
 
1562
1562
  var expando = 'Sortable' + new Date().getTime();
@@ -1570,7 +1570,7 @@ function AnimationStateManager() {
1570
1570
  if (!this.options.animation) return;
1571
1571
  var children = [].slice.call(this.el.children);
1572
1572
  children.forEach(function (child) {
1573
- if (css$7(child, 'display') === 'none' || child === Sortable.ghost) return;
1573
+ if (css$8(child, 'display') === 'none' || child === Sortable.ghost) return;
1574
1574
  animationStates.push({
1575
1575
  target: child,
1576
1576
  rect: getRect(child)
@@ -1677,8 +1677,8 @@ function AnimationStateManager() {
1677
1677
  },
1678
1678
  animate: function animate(target, currentRect, toRect, duration) {
1679
1679
  if (duration) {
1680
- css$7(target, 'transition', '');
1681
- css$7(target, 'transform', '');
1680
+ css$8(target, 'transition', '');
1681
+ css$8(target, 'transform', '');
1682
1682
  var elMatrix = matrix(this.el),
1683
1683
  scaleX = elMatrix && elMatrix.a,
1684
1684
  scaleY = elMatrix && elMatrix.d,
@@ -1686,15 +1686,15 @@ function AnimationStateManager() {
1686
1686
  translateY = (currentRect.top - toRect.top) / (scaleY || 1);
1687
1687
  target.animatingX = !!translateX;
1688
1688
  target.animatingY = !!translateY;
1689
- css$7(target, 'transform', 'translate3d(' + translateX + 'px,' + translateY + 'px,0)');
1689
+ css$8(target, 'transform', 'translate3d(' + translateX + 'px,' + translateY + 'px,0)');
1690
1690
  repaint(target); // repaint
1691
1691
 
1692
- css$7(target, 'transition', 'transform ' + duration + 'ms' + (this.options.easing ? ' ' + this.options.easing : ''));
1693
- css$7(target, 'transform', 'translate3d(0,0,0)');
1692
+ css$8(target, 'transition', 'transform ' + duration + 'ms' + (this.options.easing ? ' ' + this.options.easing : ''));
1693
+ css$8(target, 'transform', 'translate3d(0,0,0)');
1694
1694
  typeof target.animated === 'number' && clearTimeout(target.animated);
1695
1695
  target.animated = setTimeout(function () {
1696
- css$7(target, 'transition', '');
1697
- css$7(target, 'transform', '');
1696
+ css$8(target, 'transition', '');
1697
+ css$8(target, 'transform', '');
1698
1698
  target.animated = false;
1699
1699
  target.animatingX = false;
1700
1700
  target.animatingY = false;
@@ -1963,12 +1963,12 @@ supportDraggable = documentExists && !ChromeForAndroid && !IOS && 'draggable' in
1963
1963
  return el.style.pointerEvents === 'auto';
1964
1964
  }(),
1965
1965
  _detectDirection = function _detectDirection(el, options) {
1966
- var elCSS = css$7(el),
1966
+ var elCSS = css$8(el),
1967
1967
  elWidth = parseInt(elCSS.width) - parseInt(elCSS.paddingLeft) - parseInt(elCSS.paddingRight) - parseInt(elCSS.borderLeftWidth) - parseInt(elCSS.borderRightWidth),
1968
1968
  child1 = getChild(el, 0, options),
1969
1969
  child2 = getChild(el, 1, options),
1970
- firstChildCSS = child1 && css$7(child1),
1971
- secondChildCSS = child2 && css$7(child2),
1970
+ firstChildCSS = child1 && css$8(child1),
1971
+ secondChildCSS = child2 && css$8(child2),
1972
1972
  firstChildWidth = firstChildCSS && parseInt(firstChildCSS.marginLeft) + parseInt(firstChildCSS.marginRight) + getRect(child1).width,
1973
1973
  secondChildWidth = secondChildCSS && parseInt(secondChildCSS.marginLeft) + parseInt(secondChildCSS.marginRight) + getRect(child2).width;
1974
1974
 
@@ -2057,12 +2057,12 @@ _detectNearestEmptySortable = function _detectNearestEmptySortable(x, y) {
2057
2057
  },
2058
2058
  _hideGhostForTarget = function _hideGhostForTarget() {
2059
2059
  if (!supportCssPointerEvents && ghostEl) {
2060
- css$7(ghostEl, 'display', 'none');
2060
+ css$8(ghostEl, 'display', 'none');
2061
2061
  }
2062
2062
  },
2063
2063
  _unhideGhostForTarget = function _unhideGhostForTarget() {
2064
2064
  if (!supportCssPointerEvents && ghostEl) {
2065
- css$7(ghostEl, 'display', '');
2065
+ css$8(ghostEl, 'display', '');
2066
2066
  }
2067
2067
  }; // #1184 fix - Prevent click event on fallback if dragged but item not changed position
2068
2068
 
@@ -2597,10 +2597,10 @@ Sortable.prototype =
2597
2597
  }
2598
2598
 
2599
2599
  var cssMatrix = "matrix(".concat(ghostMatrix.a, ",").concat(ghostMatrix.b, ",").concat(ghostMatrix.c, ",").concat(ghostMatrix.d, ",").concat(ghostMatrix.e, ",").concat(ghostMatrix.f, ")");
2600
- css$7(ghostEl, 'webkitTransform', cssMatrix);
2601
- css$7(ghostEl, 'mozTransform', cssMatrix);
2602
- css$7(ghostEl, 'msTransform', cssMatrix);
2603
- css$7(ghostEl, 'transform', cssMatrix);
2600
+ css$8(ghostEl, 'webkitTransform', cssMatrix);
2601
+ css$8(ghostEl, 'mozTransform', cssMatrix);
2602
+ css$8(ghostEl, 'msTransform', cssMatrix);
2603
+ css$8(ghostEl, 'transform', cssMatrix);
2604
2604
  lastDx = dx;
2605
2605
  lastDy = dy;
2606
2606
  touchEvt = touch;
@@ -2621,7 +2621,7 @@ Sortable.prototype =
2621
2621
  // Get relatively positioned parent
2622
2622
  ghostRelativeParent = container;
2623
2623
 
2624
- while (css$7(ghostRelativeParent, 'position') === 'static' && css$7(ghostRelativeParent, 'transform') === 'none' && ghostRelativeParent !== document) {
2624
+ while (css$8(ghostRelativeParent, 'position') === 'static' && css$8(ghostRelativeParent, 'transform') === 'none' && ghostRelativeParent !== document) {
2625
2625
  ghostRelativeParent = ghostRelativeParent.parentNode;
2626
2626
  }
2627
2627
 
@@ -2640,22 +2640,22 @@ Sortable.prototype =
2640
2640
  toggleClass(ghostEl, options.ghostClass, false);
2641
2641
  toggleClass(ghostEl, options.fallbackClass, true);
2642
2642
  toggleClass(ghostEl, options.dragClass, true);
2643
- css$7(ghostEl, 'transition', '');
2644
- css$7(ghostEl, 'transform', '');
2645
- css$7(ghostEl, 'box-sizing', 'border-box');
2646
- css$7(ghostEl, 'margin', 0);
2647
- css$7(ghostEl, 'top', rect.top);
2648
- css$7(ghostEl, 'left', rect.left);
2649
- css$7(ghostEl, 'width', rect.width);
2650
- css$7(ghostEl, 'height', rect.height);
2651
- css$7(ghostEl, 'opacity', '0.8');
2652
- css$7(ghostEl, 'position', PositionGhostAbsolutely ? 'absolute' : 'fixed');
2653
- css$7(ghostEl, 'zIndex', '100000');
2654
- css$7(ghostEl, 'pointerEvents', 'none');
2643
+ css$8(ghostEl, 'transition', '');
2644
+ css$8(ghostEl, 'transform', '');
2645
+ css$8(ghostEl, 'box-sizing', 'border-box');
2646
+ css$8(ghostEl, 'margin', 0);
2647
+ css$8(ghostEl, 'top', rect.top);
2648
+ css$8(ghostEl, 'left', rect.left);
2649
+ css$8(ghostEl, 'width', rect.width);
2650
+ css$8(ghostEl, 'height', rect.height);
2651
+ css$8(ghostEl, 'opacity', '0.8');
2652
+ css$8(ghostEl, 'position', PositionGhostAbsolutely ? 'absolute' : 'fixed');
2653
+ css$8(ghostEl, 'zIndex', '100000');
2654
+ css$8(ghostEl, 'pointerEvents', 'none');
2655
2655
  Sortable.ghost = ghostEl;
2656
2656
  container.appendChild(ghostEl); // Set transform-origin
2657
2657
 
2658
- css$7(ghostEl, 'transform-origin', tapDistanceLeft / parseInt(ghostEl.style.width) * 100 + '% ' + tapDistanceTop / parseInt(ghostEl.style.height) * 100 + '%');
2658
+ css$8(ghostEl, 'transform-origin', tapDistanceLeft / parseInt(ghostEl.style.width) * 100 + '% ' + tapDistanceTop / parseInt(ghostEl.style.height) * 100 + '%');
2659
2659
  }
2660
2660
  },
2661
2661
  _onDragStart: function _onDragStart(
@@ -2724,7 +2724,7 @@ Sortable.prototype =
2724
2724
 
2725
2725
  on(document, 'drop', _this); // #1276 fix:
2726
2726
 
2727
- css$7(dragEl, 'transform', 'translateZ(0)');
2727
+ css$8(dragEl, 'transform', 'translateZ(0)');
2728
2728
  }
2729
2729
 
2730
2730
  awaitingDragStarted = true;
@@ -2733,7 +2733,7 @@ Sortable.prototype =
2733
2733
  moved = true;
2734
2734
 
2735
2735
  if (Safari) {
2736
- css$7(document.body, 'user-select', 'none');
2736
+ css$8(document.body, 'user-select', 'none');
2737
2737
  }
2738
2738
  },
2739
2739
  // Returns true - if no further action is needed (either inserted or another condition)
@@ -2953,7 +2953,7 @@ Sortable.prototype =
2953
2953
  do {
2954
2954
  dragIndex -= direction;
2955
2955
  sibling = parentEl.children[dragIndex];
2956
- } while (sibling && (css$7(sibling, 'display') === 'none' || sibling === ghostEl));
2956
+ } while (sibling && (css$8(sibling, 'display') === 'none' || sibling === ghostEl));
2957
2957
  } // If dragEl is already beside target: Do not insert
2958
2958
 
2959
2959
 
@@ -3068,10 +3068,10 @@ Sortable.prototype =
3068
3068
  this._offUpEvents();
3069
3069
 
3070
3070
  if (Safari) {
3071
- css$7(document.body, 'user-select', '');
3071
+ css$8(document.body, 'user-select', '');
3072
3072
  }
3073
3073
 
3074
- css$7(dragEl, 'transform', '');
3074
+ css$8(dragEl, 'transform', '');
3075
3075
 
3076
3076
  if (evt) {
3077
3077
  if (moved) {
@@ -3346,7 +3346,7 @@ Sortable.prototype =
3346
3346
  if (!cloneHidden) {
3347
3347
  pluginEvent('hideClone', this);
3348
3348
  if (Sortable.eventCanceled) return;
3349
- css$7(cloneEl, 'display', 'none');
3349
+ css$8(cloneEl, 'display', 'none');
3350
3350
 
3351
3351
  if (this.options.removeCloneOnHide && cloneEl.parentNode) {
3352
3352
  cloneEl.parentNode.removeChild(cloneEl);
@@ -3378,7 +3378,7 @@ Sortable.prototype =
3378
3378
  this.animate(dragEl, cloneEl);
3379
3379
  }
3380
3380
 
3381
- css$7(cloneEl, 'display', '');
3381
+ css$8(cloneEl, 'display', '');
3382
3382
  cloneHidden = false;
3383
3383
  }
3384
3384
  }
@@ -3553,7 +3553,7 @@ if (documentExists) {
3553
3553
  Sortable.utils = {
3554
3554
  on: on,
3555
3555
  off: off,
3556
- css: css$7,
3556
+ css: css$8,
3557
3557
  find: find,
3558
3558
  is: function is(el, selector) {
3559
3559
  return !!closest(el, selector, el, false);
@@ -3780,7 +3780,7 @@ var autoScroll = throttle(function (evt, options, rootEl, isFallback) {
3780
3780
  canScrollY = void 0,
3781
3781
  scrollWidth = el.scrollWidth,
3782
3782
  scrollHeight = el.scrollHeight,
3783
- elCSS = css$7(el),
3783
+ elCSS = css$8(el),
3784
3784
  scrollPosX = el.scrollLeft,
3785
3785
  scrollPosY = el.scrollTop;
3786
3786
 
@@ -4116,7 +4116,7 @@ function MultiDragPlugin() {
4116
4116
  if (!this.isMultiDrag) return;
4117
4117
  insertMultiDragClones(false, rootEl);
4118
4118
  multiDragClones.forEach(function (clone) {
4119
- css$7(clone, 'display', '');
4119
+ css$8(clone, 'display', '');
4120
4120
  });
4121
4121
  cloneNowShown();
4122
4122
  clonesHidden = false;
@@ -4130,7 +4130,7 @@ function MultiDragPlugin() {
4130
4130
  cancel = _ref5.cancel;
4131
4131
  if (!this.isMultiDrag) return;
4132
4132
  multiDragClones.forEach(function (clone) {
4133
- css$7(clone, 'display', 'none');
4133
+ css$8(clone, 'display', 'none');
4134
4134
 
4135
4135
  if (_this.options.removeCloneOnHide && clone.parentNode) {
4136
4136
  clone.parentNode.removeChild(clone);
@@ -4174,7 +4174,7 @@ function MultiDragPlugin() {
4174
4174
  if (this.options.animation) {
4175
4175
  multiDragElements.forEach(function (multiDragElement) {
4176
4176
  if (multiDragElement === dragEl$1) return;
4177
- css$7(multiDragElement, 'position', 'absolute');
4177
+ css$8(multiDragElement, 'position', 'absolute');
4178
4178
  });
4179
4179
  var dragRect = getRect(dragEl$1, false, true, true);
4180
4180
  multiDragElements.forEach(function (multiDragElement) {
@@ -7069,8 +7069,8 @@ vuedraggable_umd.exports;
7069
7069
  var vuedraggable_umdExports = vuedraggable_umd.exports;
7070
7070
  var draggable = /*@__PURE__*/getDefaultExportFromCjs(vuedraggable_umdExports);
7071
7071
 
7072
- var css$6 = "\r\n/* Fijar ancho de la columna de acciones en el header */\n.actions-header[data-v-3de96e53] {\r\n width: 1%;\r\n white-space: nowrap;\n}\n.sort-filter[data-v-3de96e53] {\r\n cursor: pointer;\r\n visibility: hidden;\r\n display: inline-block;\n}\n.sort-filter-visible[data-v-3de96e53] {\r\n visibility: visible;\n}\r\n";
7073
- n(css$6, {});
7072
+ var css$7 = "\r\n/* Fijar ancho de la columna de acciones en el header */\n.actions-header[data-v-3de96e53] {\r\n width: 1%;\r\n white-space: nowrap;\n}\n.sort-filter[data-v-3de96e53] {\r\n cursor: pointer;\r\n visibility: hidden;\r\n display: inline-block;\n}\n.sort-filter-visible[data-v-3de96e53] {\r\n visibility: visible;\n}\r\n";
7073
+ n(css$7, {});
7074
7074
 
7075
7075
  const _sfc_main$d = {
7076
7076
  name: 'TableHeader',
@@ -13113,8 +13113,8 @@ moment$1.exports;
13113
13113
  var momentExports = moment$1.exports;
13114
13114
  var moment = /*@__PURE__*/getDefaultExportFromCjs(momentExports);
13115
13115
 
13116
- var css$5 = "\r\n/* Fijar ancho de la columna de acciones */\n.actions-cell[data-v-e38a3192] {\r\n width: 1%;\r\n white-space: nowrap;\n}\n.actions-button-group[data-v-e38a3192] {\r\n display: inline-flex;\r\n flex-wrap: nowrap;\n}\n.actions-dropdown[data-v-e38a3192] {\r\n display: inline-block;\n}\r\n\r\n/* Asegurar que los botones no se expandan */\n.actions-button-group .btn[data-v-e38a3192] {\r\n flex-shrink: 0;\n}\r\n";
13117
- n(css$5, {});
13116
+ var css$6 = "\r\n/* Fijar ancho de la columna de acciones */\n.actions-cell[data-v-e38a3192] {\r\n width: 1%;\r\n white-space: nowrap;\n}\n.actions-button-group[data-v-e38a3192] {\r\n display: inline-flex;\r\n flex-wrap: nowrap;\n}\n.actions-dropdown[data-v-e38a3192] {\r\n display: inline-block;\n}\r\n\r\n/* Asegurar que los botones no se expandan */\n.actions-button-group .btn[data-v-e38a3192] {\r\n flex-shrink: 0;\n}\r\n";
13117
+ n(css$6, {});
13118
13118
 
13119
13119
  const _sfc_main$c = {
13120
13120
  name: 'TableCell',
@@ -13398,7 +13398,7 @@ const _sfc_main$a = {
13398
13398
  TableHeader,
13399
13399
  TableRow
13400
13400
  },
13401
- inject: ['displayMode', 'displayModes', 'tableContainerClass', 'tableClass', 'items', 'draggableGroup', 'orderable', 'draggableOptions', 'itemsList', 'grouped', 'loading', 'infiniteScroll', 'messageEmptyResults', 'onSort', 'onDraggableAdded', 'onDraggableChange'],
13401
+ inject: ['displayMode', 'displayModes', 'tableContainerClass', 'tableClass', 'items', 'draggableGroup', 'orderable', 'draggableOptions', 'itemsList', 'grouped', 'loading', 'firstLoad', 'infiniteScroll', 'messageEmptyResults', 'messageLoading', 'onSort', 'onDraggableAdded', 'onDraggableChange'],
13402
13402
  data() {
13403
13403
  return {
13404
13404
  drag: false
@@ -13414,6 +13414,12 @@ const _sfc_main$a = {
13414
13414
  return this.displayMode();
13415
13415
  }
13416
13416
  return this.displayMode;
13417
+ },
13418
+ loadingValue() {
13419
+ return this.loading && this.loading.value !== undefined ? this.loading.value : this.loading;
13420
+ },
13421
+ firstLoadValue() {
13422
+ return this.firstLoad && this.firstLoad.value !== undefined ? this.firstLoad.value : this.firstLoad;
13417
13423
  }
13418
13424
  }
13419
13425
  };
@@ -13422,7 +13428,16 @@ var _sfc_render$a = function render() {
13422
13428
  _c = _vm._self._c;
13423
13429
  return _vm.currentDisplayMode == _vm.displayModes.MODE_TABLE ? _c('div', {
13424
13430
  class: ['table-responsive', _vm.tableContainerClass]
13425
- }, [_c('table', {
13431
+ }, [_vm.loadingValue || !_vm.firstLoadValue ? _c('div', {
13432
+ staticClass: "text-center p-5"
13433
+ }, [_c('b-spinner', {
13434
+ attrs: {
13435
+ "variant": "primary",
13436
+ "label": "Cargando..."
13437
+ }
13438
+ }), _c('p', {
13439
+ staticClass: "mt-2"
13440
+ }, [_vm._v(_vm._s(_vm.messageLoading))])], 1) : [_c('table', {
13426
13441
  class: ['table table-hover table-striped w-100', _vm.tableClass]
13427
13442
  }, [_c('TableHeader'), _c('draggable', {
13428
13443
  attrs: {
@@ -13466,9 +13481,9 @@ var _sfc_render$a = function render() {
13466
13481
  };
13467
13482
  })], null, true)
13468
13483
  });
13469
- }), 1)], 1), !_vm.loading && _vm.itemsList && _vm.itemsList.length == 0 && !_vm.infiniteScroll ? _c('p', {
13484
+ }), 1)], 1), _vm.firstLoadValue && _vm.itemsList && _vm.itemsList.length == 0 && !_vm.infiniteScroll ? _c('p', {
13470
13485
  staticClass: "p-3"
13471
- }, [_vm._v(" " + _vm._s(_vm.messageEmptyResults) + " ")]) : _vm._e()]) : _vm._e();
13486
+ }, [_vm._v(" " + _vm._s(_vm.messageEmptyResults) + " ")]) : _vm._e()]], 2) : _vm._e();
13472
13487
  };
13473
13488
  var _sfc_staticRenderFns$a = [];
13474
13489
  var __component__$a = /*#__PURE__*/normalizeComponent(_sfc_main$a, _sfc_render$a, _sfc_staticRenderFns$a, false, null, null, null, null);
@@ -13878,7 +13893,7 @@ const _sfc_main$8 = {
13878
13893
  draggable,
13879
13894
  ItemCard
13880
13895
  },
13881
- inject: ['displayMode', 'displayModes', 'items', 'draggableGroup', 'orderable', 'draggableOptions', 'itemsList', 'colLg', 'colXl', 'colMd', 'colSm', 'colXs', 'columns', 'cardClass', 'cardHideFooter', 'itemValue', 'getStateValue', 'getStateOptions', 'getStateBadgeVariant', 'getArrayValue', 'showItem', 'updateItem', 'removeItem', 'loading', 'infiniteScroll', 'messageEmptyResults', 'onSort', 'onDraggableAdded', 'onDraggableChange'],
13896
+ inject: ['displayMode', 'displayModes', 'items', 'draggableGroup', 'orderable', 'draggableOptions', 'itemsList', 'colLg', 'colXl', 'colMd', 'colSm', 'colXs', 'columns', 'cardClass', 'cardHideFooter', 'itemValue', 'getStateValue', 'getStateOptions', 'getStateBadgeVariant', 'getArrayValue', 'showItem', 'updateItem', 'removeItem', 'loading', 'firstLoad', 'infiniteScroll', 'messageEmptyResults', 'messageLoading', 'onSort', 'onDraggableAdded', 'onDraggableChange'],
13882
13897
  data() {
13883
13898
  return {
13884
13899
  drag: false
@@ -13894,13 +13909,28 @@ const _sfc_main$8 = {
13894
13909
  return this.displayMode();
13895
13910
  }
13896
13911
  return this.displayMode;
13912
+ },
13913
+ loadingValue() {
13914
+ return this.loading && this.loading.value !== undefined ? this.loading.value : this.loading;
13915
+ },
13916
+ firstLoadValue() {
13917
+ return this.firstLoad && this.firstLoad.value !== undefined ? this.firstLoad.value : this.firstLoad;
13897
13918
  }
13898
13919
  }
13899
13920
  };
13900
13921
  var _sfc_render$8 = function render() {
13901
13922
  var _vm = this,
13902
13923
  _c = _vm._self._c;
13903
- return _vm.currentDisplayMode == _vm.displayModes.MODE_CARDS ? _c('div', [_c('draggable', {
13924
+ return _vm.currentDisplayMode == _vm.displayModes.MODE_CARDS ? _c('div', [_vm.loadingValue || !_vm.firstLoadValue ? _c('div', {
13925
+ staticClass: "text-center p-5"
13926
+ }, [_c('b-spinner', {
13927
+ attrs: {
13928
+ "variant": "primary",
13929
+ "label": "Cargando..."
13930
+ }
13931
+ }), _c('p', {
13932
+ staticClass: "mt-2"
13933
+ }, [_vm._v(_vm._s(_vm.messageLoading))])], 1) : [_c('draggable', {
13904
13934
  attrs: {
13905
13935
  "group": _vm.draggableGroup,
13906
13936
  "draggable": _vm.orderable ? '.item' : '.none',
@@ -13978,16 +14008,16 @@ var _sfc_render$8 = function render() {
13978
14008
  }, {
13979
14009
  "item": item
13980
14010
  })], 2);
13981
- }), 0)], 1), !_vm.loading && _vm.itemsList && _vm.itemsList.length == 0 && !_vm.infiniteScroll ? _c('p', {
14011
+ }), 0)], 1), _vm.firstLoadValue && _vm.itemsList && _vm.itemsList.length == 0 && !_vm.infiniteScroll ? _c('p', {
13982
14012
  staticClass: "p-3"
13983
- }, [_vm._v(" " + _vm._s(_vm.messageEmptyResults) + " ")]) : _vm._e()], 1) : _vm._e();
14013
+ }, [_vm._v(" " + _vm._s(_vm.messageEmptyResults) + " ")]) : _vm._e()]], 2) : _vm._e();
13984
14014
  };
13985
14015
  var _sfc_staticRenderFns$8 = [];
13986
14016
  var __component__$8 = /*#__PURE__*/normalizeComponent(_sfc_main$8, _sfc_render$8, _sfc_staticRenderFns$8, false, null, null, null, null);
13987
14017
  var CrudCards = __component__$8.exports;
13988
14018
 
13989
- var css$4 = "\n.kanban-card[data-v-ad923ee1] {\r\n background: #ffffff;\r\n border-radius: 4px;\r\n padding: 0.5rem;\r\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\r\n cursor: grab;\r\n transition: box-shadow 0.2s ease;\n}\n.kanban-card[data-v-ad923ee1]:hover {\r\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);\n}\n.kanban-card[data-v-ad923ee1]:active {\r\n cursor: grabbing;\n}\n.card-crud[data-v-ad923ee1] {\r\n border: 1px solid #e1e5e9;\n}\n.card-crud .card-title[data-v-ad923ee1] {\r\n font-size: 0.9rem;\r\n margin-bottom: 0.5rem;\n}\n.card-crud .card-text[data-v-ad923ee1] {\r\n font-size: 0.8rem;\r\n margin-bottom: 0.25rem;\n}\r\n";
13990
- n(css$4, {});
14019
+ var css$5 = "\n.kanban-card[data-v-ad923ee1] {\r\n background: #ffffff;\r\n border-radius: 4px;\r\n padding: 0.5rem;\r\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\r\n cursor: grab;\r\n transition: box-shadow 0.2s ease;\n}\n.kanban-card[data-v-ad923ee1]:hover {\r\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);\n}\n.kanban-card[data-v-ad923ee1]:active {\r\n cursor: grabbing;\n}\n.card-crud[data-v-ad923ee1] {\r\n border: 1px solid #e1e5e9;\n}\n.card-crud .card-title[data-v-ad923ee1] {\r\n font-size: 0.9rem;\r\n margin-bottom: 0.5rem;\n}\n.card-crud .card-text[data-v-ad923ee1] {\r\n font-size: 0.8rem;\r\n margin-bottom: 0.25rem;\n}\r\n";
14020
+ n(css$5, {});
13991
14021
 
13992
14022
  const _sfc_main$7 = {
13993
14023
  name: 'KanbanCard',
@@ -14152,8 +14182,8 @@ var _sfc_staticRenderFns$7 = [];
14152
14182
  var __component__$7 = /*#__PURE__*/normalizeComponent(_sfc_main$7, _sfc_render$7, _sfc_staticRenderFns$7, false, null, "ad923ee1", null, null);
14153
14183
  var KanbanCard = __component__$7.exports;
14154
14184
 
14155
- var css$3 = "\n.kanban-column[data-v-a56cf649] {\r\n background: #f4f5f7;\r\n border-radius: 8px;\r\n width: 300px;\r\n display: flex;\r\n flex-direction: column;\r\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n}\n.kanban-column-header[data-v-a56cf649] {\r\n font-weight: bold;\r\n padding: 0.5rem;\r\n background: #dfe1e6;\r\n border-radius: 8px 8px 0 0;\r\n text-align: center;\n}\n.kanban-column-body[data-v-a56cf649] {\r\n padding: 0.5rem;\r\n min-height: 100px;\r\n background: #ffffff;\r\n border-radius: 0 0 8px 8px;\r\n display: flex;\r\n flex-direction: column;\r\n gap: 0.5rem;\n}\r\n";
14156
- n(css$3, {});
14185
+ var css$4 = "\n.kanban-column[data-v-a56cf649] {\r\n background: #f4f5f7;\r\n border-radius: 8px;\r\n width: 300px;\r\n display: flex;\r\n flex-direction: column;\r\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n}\n.kanban-column-header[data-v-a56cf649] {\r\n font-weight: bold;\r\n padding: 0.5rem;\r\n background: #dfe1e6;\r\n border-radius: 8px 8px 0 0;\r\n text-align: center;\n}\n.kanban-column-body[data-v-a56cf649] {\r\n padding: 0.5rem;\r\n min-height: 100px;\r\n background: #ffffff;\r\n border-radius: 0 0 8px 8px;\r\n display: flex;\r\n flex-direction: column;\r\n gap: 0.5rem;\n}\r\n";
14186
+ n(css$4, {});
14157
14187
 
14158
14188
  const _sfc_main$6 = {
14159
14189
  name: 'KanbanColumn',
@@ -14263,8 +14293,8 @@ var _sfc_staticRenderFns$6 = [];
14263
14293
  var __component__$6 = /*#__PURE__*/normalizeComponent(_sfc_main$6, _sfc_render$6, _sfc_staticRenderFns$6, false, null, "a56cf649", null, null);
14264
14294
  var KanbanColumn = __component__$6.exports;
14265
14295
 
14266
- var css$2 = "\n.kanban-board[data-v-516ff294] {\r\n display: flex;\r\n gap: 1rem;\r\n overflow-x: auto;\r\n padding: 1rem;\n}\n.kanban-column[data-v-516ff294] {\r\n background: #f4f5f7;\r\n border-radius: 8px;\r\n width: 300px;\r\n display: flex;\r\n flex-direction: column;\r\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\r\n min-width: 300px;\n}\r\n";
14267
- n(css$2, {});
14296
+ var css$3 = "\n.kanban-board[data-v-516ff294] {\r\n display: flex;\r\n gap: 1rem;\r\n overflow-x: auto;\r\n padding: 1rem;\n}\n.kanban-column[data-v-516ff294] {\r\n background: #f4f5f7;\r\n border-radius: 8px;\r\n width: 300px;\r\n display: flex;\r\n flex-direction: column;\r\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\r\n min-width: 300px;\n}\r\n";
14297
+ n(css$3, {});
14268
14298
 
14269
14299
  const _sfc_main$5 = {
14270
14300
  name: 'KanbanBoard',
@@ -14356,7 +14386,7 @@ var CrudKanban = __component__$4.exports;
14356
14386
 
14357
14387
  const _sfc_main$3 = {
14358
14388
  name: 'CrudCustom',
14359
- inject: ['displayMode', 'displayModes', 'listContainerClass', 'listItemClass', 'loading', 'items', 'infiniteScroll', 'messageEmptyResults', 'itemsList'],
14389
+ inject: ['displayMode', 'displayModes', 'listContainerClass', 'listItemClass', 'loading', 'firstLoad', 'items', 'infiniteScroll', 'messageEmptyResults', 'messageLoading', 'itemsList'],
14360
14390
  computed: {
14361
14391
  currentDisplayMode() {
14362
14392
  if (!this.displayMode) return 1;
@@ -14367,6 +14397,12 @@ const _sfc_main$3 = {
14367
14397
  return this.displayMode();
14368
14398
  }
14369
14399
  return this.displayMode;
14400
+ },
14401
+ loadingValue() {
14402
+ return this.loading && this.loading.value !== undefined ? this.loading.value : this.loading;
14403
+ },
14404
+ firstLoadValue() {
14405
+ return this.firstLoad && this.firstLoad.value !== undefined ? this.firstLoad.value : this.firstLoad;
14370
14406
  }
14371
14407
  }
14372
14408
  };
@@ -14375,7 +14411,16 @@ var _sfc_render$3 = function render() {
14375
14411
  _c = _vm._self._c;
14376
14412
  return _vm.currentDisplayMode == _vm.displayModes.MODE_CUSTOM ? _c('div', [_c('div', {
14377
14413
  class: _vm.listContainerClass
14378
- }, [!_vm.loading && _vm.itemsList && _vm.itemsList.length == 0 && !_vm.infiniteScroll ? _c('p', {
14414
+ }, [_vm.loadingValue || !_vm.firstLoadValue ? _c('div', {
14415
+ staticClass: "text-center p-5"
14416
+ }, [_c('b-spinner', {
14417
+ attrs: {
14418
+ "variant": "primary",
14419
+ "label": "Cargando..."
14420
+ }
14421
+ }), _c('p', {
14422
+ staticClass: "mt-2"
14423
+ }, [_vm._v(_vm._s(_vm.messageLoading))])], 1) : [_vm.firstLoadValue && _vm.itemsList && _vm.itemsList.length == 0 && !_vm.infiniteScroll ? _c('p', {
14379
14424
  staticClass: "p-3"
14380
14425
  }, [_vm._v(" " + _vm._s(_vm.messageEmptyResults) + " ")]) : _vm._e(), _vm._l(_vm.itemsList, function (item, index) {
14381
14426
  return _c('div', {
@@ -14384,12 +14429,15 @@ var _sfc_render$3 = function render() {
14384
14429
  }, [_vm._t("card", null, {
14385
14430
  "item": item
14386
14431
  })], 2);
14387
- })], 2)]) : _vm._e();
14432
+ })]], 2)]) : _vm._e();
14388
14433
  };
14389
14434
  var _sfc_staticRenderFns$3 = [];
14390
14435
  var __component__$3 = /*#__PURE__*/normalizeComponent(_sfc_main$3, _sfc_render$3, _sfc_staticRenderFns$3, false, null, null, null, null);
14391
14436
  var CrudCustom = __component__$3.exports;
14392
14437
 
14438
+ var css$2 = "\n.export-format-options[data-v-051e3fd7] {\r\n display: flex;\r\n gap: 1rem;\r\n justify-content: center;\r\n flex-wrap: wrap;\n}\n.export-format-radio[data-v-051e3fd7] {\r\n flex: 1;\r\n min-width: 150px;\r\n padding: 1rem;\r\n border: 2px solid #dee2e6;\r\n border-radius: 0.5rem;\r\n cursor: pointer;\r\n transition: all 0.3s ease;\r\n text-align: center;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n background-color: #fff;\n}\n.export-format-radio[data-v-051e3fd7]:hover {\r\n border-color: #007bff;\r\n background-color: #f8f9fa;\r\n transform: translateY(-2px);\r\n box-shadow: 0 2px 8px rgba(0, 123, 255, 0.2);\n}\n.export-format-radio[data-v-051e3fd7] .custom-control-input:checked ~ .custom-control-label {\r\n color: #007bff;\r\n font-weight: 600;\n}\n.export-format-radio[data-v-051e3fd7] .custom-control-input:checked ~ .custom-control-label::before {\r\n border-color: #007bff;\r\n background-color: #007bff;\n}\n.export-format-radio[data-v-051e3fd7] .custom-control-label {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n cursor: pointer;\r\n font-size: 1rem;\n}\n.export-format-radio[data-v-051e3fd7] .custom-control-label::before {\r\n margin-right: 0.5rem;\n}\n.export-format-radio[data-v-051e3fd7] svg {\r\n font-size: 1.5rem;\r\n color: #495057;\n}\n.export-format-radio[data-v-051e3fd7] .custom-control-input:checked ~ .custom-control-label svg {\r\n color: #007bff;\n}\r\n";
14439
+ n(css$2, {});
14440
+
14393
14441
  const _sfc_main$2 = {
14394
14442
  name: 'CrudModals',
14395
14443
  inject: ['modelName', 'title', 'loading', 'validate', 'item', 'getItem', 'messageSave', 'showImport', 'showExport', 'fileImport', 'selectedItems', 'exportFormat', 'saveItem', 'importItems', 'exportItems'],
@@ -14587,34 +14635,42 @@ var _sfc_render$2 = function render() {
14587
14635
  "show": _vm.loading,
14588
14636
  "rounded": "sm"
14589
14637
  }
14590
- }, [_vm.selectedItems.length ? _c('p', [_vm._v("Se exportará " + _vm._s(_vm.selectedItems.length) + " elementos.")]) : _c('p', [_vm._v("Se exportará la consulta actual.")]), _c('select', {
14591
- directives: [{
14592
- name: "model",
14593
- rawName: "v-model",
14594
- value: _vm.exportFormat,
14595
- expression: "exportFormat"
14596
- }],
14597
- staticClass: "form-control",
14598
- on: {
14599
- "change": function ($event) {
14600
- var $$selectedVal = Array.prototype.filter.call($event.target.options, function (o) {
14601
- return o.selected;
14602
- }).map(function (o) {
14603
- var val = "_value" in o ? o._value : o.value;
14604
- return val;
14605
- });
14606
- _vm.exportFormat = $event.target.multiple ? $$selectedVal : $$selectedVal[0];
14607
- }
14638
+ }, [_vm.selectedItems.length ? _c('p', [_vm._v("Se exportará " + _vm._s(_vm.selectedItems.length) + " elementos.")]) : _c('p', [_vm._v("Se exportará la consulta actual.")]), _c('b-form-group', {
14639
+ staticClass: "mt-3",
14640
+ attrs: {
14641
+ "label": "Seleccione el formato de exportación:"
14608
14642
  }
14609
- }, [_c('option', {
14643
+ }, [_c('div', {
14644
+ staticClass: "export-format-options"
14645
+ }, [_c('b-form-radio', {
14646
+ staticClass: "export-format-radio",
14610
14647
  attrs: {
14611
14648
  "value": "JSON"
14649
+ },
14650
+ model: {
14651
+ value: _vm.exportFormat,
14652
+ callback: function ($$v) {
14653
+ _vm.exportFormat = $$v;
14654
+ },
14655
+ expression: "exportFormat"
14612
14656
  }
14613
- }, [_vm._v("JSON")]), _c('option', {
14657
+ }, [_c('b-icon-file-text', {
14658
+ staticClass: "mr-2"
14659
+ }), _vm._v(" JSON ")], 1), _c('b-form-radio', {
14660
+ staticClass: "export-format-radio",
14614
14661
  attrs: {
14615
14662
  "value": "XLSX"
14663
+ },
14664
+ model: {
14665
+ value: _vm.exportFormat,
14666
+ callback: function ($$v) {
14667
+ _vm.exportFormat = $$v;
14668
+ },
14669
+ expression: "exportFormat"
14616
14670
  }
14617
- }, [_vm._v("XLSX")])]), _c('div', {
14671
+ }, [_c('b-icon-table', {
14672
+ staticClass: "mr-2"
14673
+ }), _vm._v(" XLSX ")], 1)], 1)]), _c('div', {
14618
14674
  staticClass: "text-center mt-3"
14619
14675
  }, [_c('b-button', {
14620
14676
  attrs: {
@@ -14626,13 +14682,13 @@ var _sfc_render$2 = function render() {
14626
14682
  return _vm.exportItems();
14627
14683
  }
14628
14684
  }
14629
- }, [_c('b-icon-cloud-upload'), _vm._v(" " + _vm._s(_vm.loading ? "Cargando..." : "Exportar") + " ")], 1)], 1)])];
14685
+ }, [_c('b-icon-cloud-upload'), _vm._v(" " + _vm._s(_vm.loading ? "Cargando..." : "Exportar") + " ")], 1)], 1)], 1)];
14630
14686
  }, {
14631
14687
  "item": _vm.item
14632
14688
  }) : _vm._e()], 2) : _vm._e()], 1);
14633
14689
  };
14634
14690
  var _sfc_staticRenderFns$2 = [];
14635
- var __component__$2 = /*#__PURE__*/normalizeComponent(_sfc_main$2, _sfc_render$2, _sfc_staticRenderFns$2, false, null, null, null, null);
14691
+ var __component__$2 = /*#__PURE__*/normalizeComponent(_sfc_main$2, _sfc_render$2, _sfc_staticRenderFns$2, false, null, "051e3fd7", null, null);
14636
14692
  var CrudModals = __component__$2.exports;
14637
14693
 
14638
14694
  var vueInfiniteLoading = {exports: {}};
@@ -14651,7 +14707,7 @@ vueInfiniteLoading.exports;
14651
14707
  var vueInfiniteLoadingExports = vueInfiniteLoading.exports;
14652
14708
  var InfiniteLoading = /*@__PURE__*/getDefaultExportFromCjs(vueInfiniteLoadingExports);
14653
14709
 
14654
- var css$1 = "\n.paginator-container[data-v-11671e09] {\r\n display: grid;\r\n grid-template-columns: 1fr auto 1fr;\r\n align-items: center;\r\n width: 100%;\r\n margin-top: 1rem;\r\n gap: 1rem;\n}\n.paginator-data[data-v-11671e09] {\r\n display: flex;\r\n flex-wrap: nowrap;\r\n justify-content: flex-start;\r\n align-items: center;\r\n gap: 0.5rem;\r\n font-size: 0.875rem;\r\n grid-column: 1;\n}\n.paginator-badge[data-v-11671e09] {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: 0.25rem;\r\n padding: 0.375rem 0.625rem;\r\n background-color: #f8f9fa;\r\n border: 1px solid #dee2e6;\r\n border-radius: 0.375rem;\r\n color: #495057;\r\n transition: all 0.2s ease;\n}\n.paginator-badge[data-v-11671e09]:hover {\r\n background-color: #e9ecef;\r\n border-color: #ced4da;\n}\n.paginator-label[data-v-11671e09] {\r\n font-weight: 500;\r\n color: #6c757d;\n}\n.paginator-value[data-v-11671e09] {\r\n font-weight: 600;\r\n color: #212529;\n}\n.paginator-dropdown[data-v-11671e09] {\r\n font-size: 0.875rem;\n}\n.paginator-dropdown[data-v-11671e09] .btn {\r\n padding: 0.375rem 0.625rem;\r\n font-size: 0.875rem;\r\n background-color: #f8f9fa;\r\n border: 1px solid #dee2e6;\r\n color: #495057;\n}\n.paginator-dropdown[data-v-11671e09] .btn:hover {\r\n background-color: #e9ecef;\r\n border-color: #ced4da;\n}\n.crud-paginator[data-v-11671e09] {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n grid-column: 2;\n}\n.paginator-badge-dropdown[data-v-11671e09] {\r\n z-index: 1;\r\n position: relative;\n}\n.paginator-badge-dropdown[data-v-11671e09] .btn {\r\n padding: 0.375rem 0.625rem;\r\n font-size: 0.875rem;\r\n background-color: #f8f9fa;\r\n border: 1px solid #dee2e6;\r\n color: #495057;\r\n display: inline-flex;\r\n align-items: center;\r\n gap: 0.25rem;\n}\n.paginator-badge-dropdown[data-v-11671e09] .btn:hover {\r\n background-color: #e9ecef;\r\n border-color: #ced4da;\n}\r\n";
14710
+ var css$1 = "\n.paginator-container[data-v-73e31fd7] {\n display: grid;\n grid-template-columns: 1fr auto 1fr;\n align-items: center;\n width: 100%;\n margin-top: 1rem;\n gap: 1rem;\n}\n.paginator-data[data-v-73e31fd7] {\n display: flex;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center;\n gap: 0.5rem;\n font-size: 0.875rem;\n grid-column: 1;\n}\n.paginator-badge[data-v-73e31fd7] {\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.375rem 0.625rem;\n background-color: #f8f9fa;\n border: 1px solid #dee2e6;\n border-radius: 0.375rem;\n color: #495057;\n transition: all 0.2s ease;\n}\n.paginator-badge[data-v-73e31fd7]:hover {\n background-color: #e9ecef;\n border-color: #ced4da;\n}\n.paginator-label[data-v-73e31fd7] {\n font-weight: 500;\n color: #6c757d;\n}\n.paginator-value[data-v-73e31fd7] {\n font-weight: 600;\n color: #212529;\n}\n.paginator-dropdown[data-v-73e31fd7] {\n font-size: 0.875rem;\n}\n.paginator-dropdown[data-v-73e31fd7] .btn {\n padding: 0.375rem 0.625rem;\n font-size: 0.875rem;\n background-color: #f8f9fa;\n border: 1px solid #dee2e6;\n color: #495057;\n}\n.paginator-dropdown[data-v-73e31fd7] .btn:hover {\n background-color: #e9ecef;\n border-color: #ced4da;\n}\n.crud-paginator[data-v-73e31fd7] {\n display: flex;\n justify-content: center;\n align-items: center;\n grid-column: 2;\n}\n.paginator-badge-dropdown[data-v-73e31fd7] {\n z-index: 1;\n position: relative;\n}\n.paginator-badge-dropdown[data-v-73e31fd7] .btn {\n padding: 0.375rem 0.625rem;\n font-size: 0.875rem;\n background-color: #f8f9fa;\n border: 1px solid #dee2e6;\n color: #495057;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n}\n.paginator-badge-dropdown[data-v-73e31fd7] .btn:hover {\n background-color: #e9ecef;\n border-color: #ced4da;\n}\n";
14655
14711
  n(css$1, {});
14656
14712
 
14657
14713
  const _sfc_main$1 = {
@@ -14659,7 +14715,7 @@ const _sfc_main$1 = {
14659
14715
  components: {
14660
14716
  InfiniteLoading
14661
14717
  },
14662
- inject: ['infiniteScroll', 'infiniteScrollKey', 'messageLoading', 'messageNoMore', 'messageEmptyResults', 'loading', 'items', 'pagination', 'selectedItems', 'showPaginator', 'infiniteHandler', 'onPaginationChange', 'onPerPageChange', 'clearSelection'],
14718
+ inject: ['infiniteScroll', 'infiniteScrollKey', 'messageLoading', 'messageNoMore', 'messageEmptyResults', 'loading', 'firstLoad', 'items', 'pagination', 'selectedItems', 'showPaginator', 'infiniteHandler', 'onPaginationChange', 'onPerPageChange', 'clearSelection'],
14663
14719
  data() {
14664
14720
  return {
14665
14721
  perPageOptions: [10, 20, 50, 100]
@@ -14669,6 +14725,12 @@ const _sfc_main$1 = {
14669
14725
  selectedItemsCount() {
14670
14726
  // Computed para forzar reactividad del contador
14671
14727
  return this.selectedItems ? this.selectedItems.length : 0;
14728
+ },
14729
+ loadingValue() {
14730
+ return this.loading && this.loading.value !== undefined ? this.loading.value : this.loading;
14731
+ },
14732
+ firstLoadValue() {
14733
+ return this.firstLoad && this.firstLoad.value !== undefined ? this.firstLoad.value : this.firstLoad;
14672
14734
  }
14673
14735
  }
14674
14736
  };
@@ -14696,14 +14758,14 @@ var _sfc_render$1 = function render() {
14696
14758
  "slot": "no-more"
14697
14759
  },
14698
14760
  slot: "no-more"
14699
- }, [!_vm.loading ? _c('div', {
14761
+ }, [!_vm.loadingValue ? _c('div', {
14700
14762
  staticClass: "text-center"
14701
14763
  }, [_vm._v(_vm._s(_vm.messageNoMore))]) : _vm._e()]), _c('div', {
14702
14764
  attrs: {
14703
14765
  "slot": "no-results"
14704
14766
  },
14705
14767
  slot: "no-results"
14706
- }, [!_vm.loading ? _c('div', {
14768
+ }, [!_vm.loadingValue && _vm.firstLoadValue ? _c('div', {
14707
14769
  staticClass: "text-center"
14708
14770
  }, [_vm._v(_vm._s(_vm.items.length == 0 ? _vm.messageEmptyResults : _vm.messageNoMore))]) : _vm._e()])]) : _vm._e(), !_vm.infiniteScroll ? _c('div', {
14709
14771
  staticClass: "paginator-container"
@@ -14769,7 +14831,7 @@ var _sfc_render$1 = function render() {
14769
14831
  }) : _vm._e()], 1)]) : _vm._e()], 1);
14770
14832
  };
14771
14833
  var _sfc_staticRenderFns$1 = [];
14772
- var __component__$1 = /*#__PURE__*/normalizeComponent(_sfc_main$1, _sfc_render$1, _sfc_staticRenderFns$1, false, null, "11671e09", null, null);
14834
+ var __component__$1 = /*#__PURE__*/normalizeComponent(_sfc_main$1, _sfc_render$1, _sfc_staticRenderFns$1, false, null, "73e31fd7", null, null);
14773
14835
  var CrudPagination = __component__$1.exports;
14774
14836
 
14775
14837
  var crudData = {
@@ -14805,6 +14867,14 @@ var crudData = {
14805
14867
  value: 1
14806
14868
  }),
14807
14869
  // Objeto reactivo para provide/inject
14870
+ loadingReactive: Vue.observable({
14871
+ value: false
14872
+ }),
14873
+ // Objeto reactivo para loading
14874
+ firstLoadReactive: Vue.observable({
14875
+ value: false
14876
+ }),
14877
+ // Objeto reactivo para firstLoad
14808
14878
  displayModes: {
14809
14879
  MODE_TABLE: 1,
14810
14880
  MODE_CARDS: 2,
@@ -14999,6 +15069,18 @@ var crudData = {
14999
15069
  });
15000
15070
  },
15001
15071
  deep: true
15072
+ },
15073
+ loading: {
15074
+ handler(newVal) {
15075
+ this.loadingReactive.value = newVal;
15076
+ },
15077
+ immediate: true
15078
+ },
15079
+ firstLoad: {
15080
+ handler(newVal) {
15081
+ this.firstLoadReactive.value = newVal;
15082
+ },
15083
+ immediate: true
15002
15084
  }
15003
15085
  },
15004
15086
  created() {
@@ -15007,6 +15089,9 @@ var crudData = {
15007
15089
  this._displayMode = this.$props.displayMode;
15008
15090
  this.displayModeReactive.value = this._displayMode;
15009
15091
  }
15092
+ // Inicializar valores reactivos
15093
+ this.loadingReactive.value = this.loading;
15094
+ this.firstLoadReactive.value = this.firstLoad;
15010
15095
  },
15011
15096
  mounted() {
15012
15097
  const now = Math.floor(Date.now() / 1000);
@@ -20709,10 +20794,10 @@ var crudApi = {
20709
20794
  ids: ids
20710
20795
  }
20711
20796
  }).then(response => {
20712
- this.items = this.items.filter(it => !ids.includes(it.id));
20713
20797
  this.toastSuccess("Elemento/s eliminado.");
20714
20798
  this.$emit("itemDeleted", {});
20715
- this.loading = false;
20799
+ this.clearSelection();
20800
+ this.refresh();
20716
20801
  }).catch(error => {
20717
20802
  this.toastError(error);
20718
20803
  this.loading = false;
@@ -20722,8 +20807,10 @@ var crudApi = {
20722
20807
  let ids = this.selectedItems.map(it => it.id);
20723
20808
  this.items = this.items.filter(it => !ids.includes(it.id));
20724
20809
  this.item = null;
20810
+ this.pagination.total = this.items.length;
20725
20811
  this.toastSuccess("Elemento Eliminado");
20726
20812
  this.$emit("itemDeleted", {});
20813
+ this.clearSelection();
20727
20814
  this.loading = false;
20728
20815
  },
20729
20816
  async deleteItemBulkVuex() {
@@ -20745,7 +20832,15 @@ var crudApi = {
20745
20832
  return;
20746
20833
  }
20747
20834
  }
20835
+
20836
+ // Actualizar items desde el store Vuex
20837
+ let itemsResult = this.model.query().withAll().get();
20838
+ if (itemsResult) {
20839
+ this.items = itemsResult;
20840
+ }
20748
20841
  this.toastSuccess("Elemento eliminados.");
20842
+ this.clearSelection();
20843
+ this.loading = false;
20749
20844
  },
20750
20845
  saveSort() {
20751
20846
  if (this.orderable) {
@@ -21458,10 +21553,18 @@ var crudHelpers = {
21458
21553
  }
21459
21554
  },
21460
21555
  showExportModal() {
21461
- this.$refs["modal-export"].show();
21556
+ // Asegurar que loading esté en false al abrir el modal
21557
+ this.loading = false;
21558
+ if (this.$refs.crudModals && this.$refs.crudModals.$refs["modal-export"]) {
21559
+ this.$refs.crudModals.$refs["modal-export"].show();
21560
+ }
21462
21561
  },
21463
21562
  showImportModal() {
21464
- this.$refs["modal-import"].show();
21563
+ // Asegurar que loading esté en false al abrir el modal
21564
+ this.loading = false;
21565
+ if (this.$refs.crudModals && this.$refs.crudModals.$refs["modal-import"]) {
21566
+ this.$refs.crudModals.$refs["modal-import"].show();
21567
+ }
21465
21568
  },
21466
21569
  onDraggableAdded(event) {
21467
21570
  this.$emit("draggableAdded", event);
@@ -21560,7 +21663,7 @@ var crudHelpers = {
21560
21663
  }
21561
21664
  };
21562
21665
 
21563
- var css = "tr td[data-v-9327e2bb]:last-child,\ntr td[data-v-9327e2bb]:first-child {\n width: 1%;\n white-space: nowrap; }\n\ntbody tr.selected[data-v-9327e2bb] {\n background-color: #e3f2fd !important; }\n tbody tr.selected[data-v-9327e2bb] td[data-v-9327e2bb] {\n background-color: transparent !important; }\n tbody tr.selected[data-v-9327e2bb][data-v-9327e2bb]:hover {\n background-color: #bbdefb !important; }\n tbody tr.selected[data-v-9327e2bb][data-v-9327e2bb]:hover td[data-v-9327e2bb] {\n background-color: transparent !important; }\n\n.table-striped tbody tr.selected[data-v-9327e2bb]:nth-of-type(odd) {\n background-color: #e3f2fd !important; }\n .table-striped tbody tr.selected[data-v-9327e2bb]:nth-of-type(odd) td[data-v-9327e2bb] {\n background-color: transparent !important; }\n\n.table-striped tbody tr.selected[data-v-9327e2bb]:nth-of-type(even) {\n background-color: #e3f2fd !important; }\n .table-striped tbody tr.selected[data-v-9327e2bb]:nth-of-type(even) td[data-v-9327e2bb] {\n background-color: transparent !important; }\n\n.crud-pagination[data-v-9327e2bb] {\n display: flex;\n align-items: center;\n width: 100%;\n justify-content: center;\n margin-top: 1rem; }\n\n.crud-header[data-v-9327e2bb] {\n display: flex;\n justify-content: space-between;\n max-height: 3rem; }\n .crud-header[data-v-9327e2bb] .crud-title[data-v-9327e2bb] {\n margin: 0; }\n .crud-header[data-v-9327e2bb] .crud-search[data-v-9327e2bb] {\n max-width: 15rem; }\n .crud-header[data-v-9327e2bb] .crud-search[data-v-9327e2bb] .btn[data-v-9327e2bb] {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-top-right-radius: 0.375rem;\n border-bottom-right-radius: 0.375rem; }\n .crud-header[data-v-9327e2bb] .crud-search[data-v-9327e2bb] .btn[data-v-9327e2bb].open[data-v-9327e2bb] {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0; }\n .crud-header[data-v-9327e2bb] .table-options[data-v-9327e2bb] {\n margin-bottom: 1rem;\n display: flex;\n align-items: center;\n justify-content: flex-end; }\n\n.custom-control[data-v-9327e2bb] {\n position: relative; }\n\n@media (min-width: 992px) {\n .table[data-v-9327e2bb] {\n table-layout: auto; }\n .table[data-v-9327e2bb] tbody[data-v-9327e2bb] td[data-v-9327e2bb] {\n overflow: scroll;\n -ms-overflow-style: none;\n /* IE and Edge */\n scrollbar-width: none;\n /* Firefox */ }\n .table[data-v-9327e2bb] tbody[data-v-9327e2bb] td[data-v-9327e2bb]::-webkit-scrollbar {\n display: none; } }\n\n.kanban-board[data-v-9327e2bb] {\n display: flex;\n gap: 1rem;\n overflow-x: auto;\n padding: 1rem; }\n\n.kanban-column[data-v-9327e2bb] {\n background: #f4f5f7;\n border-radius: 8px;\n width: 300px;\n display: flex;\n flex-direction: column;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); }\n\n.kanban-column-header[data-v-9327e2bb] {\n font-weight: bold;\n padding: 0.5rem;\n background: #dfe1e6;\n border-radius: 8px 8px 0 0;\n text-align: center; }\n\n.kanban-column-body[data-v-9327e2bb] {\n padding: 0.5rem;\n min-height: 100px;\n background: #ffffff;\n border-radius: 0 0 8px 8px;\n display: flex;\n flex-direction: column;\n gap: 0.5rem; }\n\n.kanban-card[data-v-9327e2bb] {\n background: #ffffff;\n border-radius: 4px;\n padding: 1rem;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n cursor: grab; }\n";
21666
+ var css = "tr td[data-v-3751aeba]:last-child,\ntr td[data-v-3751aeba]:first-child {\n width: 1%;\n white-space: nowrap; }\n\ntbody tr.selected[data-v-3751aeba] {\n background-color: #e3f2fd !important; }\n tbody tr.selected[data-v-3751aeba] td[data-v-3751aeba] {\n background-color: transparent !important; }\n tbody tr.selected[data-v-3751aeba][data-v-3751aeba]:hover {\n background-color: #bbdefb !important; }\n tbody tr.selected[data-v-3751aeba][data-v-3751aeba]:hover td[data-v-3751aeba] {\n background-color: transparent !important; }\n\n.table-striped tbody tr.selected[data-v-3751aeba]:nth-of-type(odd) {\n background-color: #e3f2fd !important; }\n .table-striped tbody tr.selected[data-v-3751aeba]:nth-of-type(odd) td[data-v-3751aeba] {\n background-color: transparent !important; }\n\n.table-striped tbody tr.selected[data-v-3751aeba]:nth-of-type(even) {\n background-color: #e3f2fd !important; }\n .table-striped tbody tr.selected[data-v-3751aeba]:nth-of-type(even) td[data-v-3751aeba] {\n background-color: transparent !important; }\n\n.crud-pagination[data-v-3751aeba] {\n display: flex;\n align-items: center;\n width: 100%;\n justify-content: center;\n margin-top: 1rem; }\n\n.crud-header[data-v-3751aeba] {\n display: flex;\n justify-content: space-between;\n max-height: 3rem; }\n .crud-header[data-v-3751aeba] .crud-title[data-v-3751aeba] {\n margin: 0; }\n .crud-header[data-v-3751aeba] .crud-search[data-v-3751aeba] {\n max-width: 15rem; }\n .crud-header[data-v-3751aeba] .crud-search[data-v-3751aeba] .btn[data-v-3751aeba] {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-top-right-radius: 0.375rem;\n border-bottom-right-radius: 0.375rem; }\n .crud-header[data-v-3751aeba] .crud-search[data-v-3751aeba] .btn[data-v-3751aeba].open[data-v-3751aeba] {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0; }\n .crud-header[data-v-3751aeba] .table-options[data-v-3751aeba] {\n margin-bottom: 1rem;\n display: flex;\n align-items: center;\n justify-content: flex-end; }\n\n.custom-control[data-v-3751aeba] {\n position: relative; }\n\n@media (min-width: 992px) {\n .table[data-v-3751aeba] {\n table-layout: auto; }\n .table[data-v-3751aeba] tbody[data-v-3751aeba] td[data-v-3751aeba] {\n overflow: scroll;\n -ms-overflow-style: none;\n /* IE and Edge */\n scrollbar-width: none;\n /* Firefox */ }\n .table[data-v-3751aeba] tbody[data-v-3751aeba] td[data-v-3751aeba]::-webkit-scrollbar {\n display: none; } }\n\n.kanban-board[data-v-3751aeba] {\n display: flex;\n gap: 1rem;\n overflow-x: auto;\n padding: 1rem; }\n\n.kanban-column[data-v-3751aeba] {\n background: #f4f5f7;\n border-radius: 8px;\n width: 300px;\n display: flex;\n flex-direction: column;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); }\n\n.kanban-column-header[data-v-3751aeba] {\n font-weight: bold;\n padding: 0.5rem;\n background: #dfe1e6;\n border-radius: 8px 8px 0 0;\n text-align: center; }\n\n.kanban-column-body[data-v-3751aeba] {\n padding: 0.5rem;\n min-height: 100px;\n background: #ffffff;\n border-radius: 0 0 8px 8px;\n display: flex;\n flex-direction: column;\n gap: 0.5rem; }\n\n.kanban-card[data-v-3751aeba] {\n background: #ffffff;\n border-radius: 4px;\n padding: 1rem;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n cursor: grab; }\n";
21564
21667
  n(css, {});
21565
21668
 
21566
21669
  const _sfc_main = {
@@ -21655,8 +21758,8 @@ const _sfc_main = {
21655
21758
  // Data from mixins
21656
21759
  crudUuid: this.crudUuid,
21657
21760
  moment: this.moment,
21658
- loading: this.loading,
21659
- firstLoad: this.firstLoad,
21761
+ loading: this.loadingReactive,
21762
+ firstLoad: this.firstLoadReactive,
21660
21763
  // Proporcionar item como función getter para reactividad
21661
21764
  getItem: () => this.item,
21662
21765
  item: this.item,
@@ -22099,6 +22202,7 @@ var _sfc_render = function render() {
22099
22202
  "rounded": "sm"
22100
22203
  }
22101
22204
  }), _c('CrudPagination'), _c('CrudModals', {
22205
+ ref: "crudModals",
22102
22206
  scopedSlots: _vm._u([_vm._l(_vm.$scopedSlots, function (slot, name) {
22103
22207
  return {
22104
22208
  key: name,
@@ -22110,7 +22214,7 @@ var _sfc_render = function render() {
22110
22214
  })], 1);
22111
22215
  };
22112
22216
  var _sfc_staticRenderFns = [];
22113
- var __component__ = /*#__PURE__*/normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, "9327e2bb", null, null);
22217
+ var __component__ = /*#__PURE__*/normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, "3751aeba", null, null);
22114
22218
  var component = __component__.exports;
22115
22219
 
22116
22220
  // Import vue component