vue-laravel-crud 1.8.3 → 1.8.5

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.
@@ -12724,7 +12724,7 @@ var _sfc_render$1 = function render() {
12724
12724
  };
12725
12725
  var _sfc_staticRenderFns$1 = [];
12726
12726
  var __component__$1 = /*#__PURE__*/normalizeComponent(_sfc_main$1, _sfc_render$1, _sfc_staticRenderFns$1, false, null, null, null, null);
12727
- var ItemCard = __component__$1.exports;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}}var css = "tr td[data-v-6e210e48]:last-child,\ntr td[data-v-6e210e48]:first-child {\n width: 1%;\n white-space: nowrap; }\n\n.crud-pagination[data-v-6e210e48] {\n display: flex;\n align-items: center;\n width: 100%;\n justify-content: center;\n margin-top: 1rem; }\n\n.crud-header[data-v-6e210e48] {\n display: flex;\n justify-content: space-between;\n max-height: 3rem; }\n .crud-header[data-v-6e210e48] .crud-title[data-v-6e210e48] {\n margin: 0; }\n .crud-header[data-v-6e210e48] .crud-search[data-v-6e210e48] {\n max-width: 15rem; }\n .crud-header[data-v-6e210e48] .crud-search[data-v-6e210e48] .btn[data-v-6e210e48] {\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-6e210e48] .crud-search[data-v-6e210e48] .btn[data-v-6e210e48].open[data-v-6e210e48] {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0; }\n .crud-header[data-v-6e210e48] .table-options[data-v-6e210e48] {\n margin-bottom: 1rem;\n display: flex;\n align-items: center;\n justify-content: flex-end; }\n\n.custom-control[data-v-6e210e48] {\n position: relative; }\n\n@media (min-width: 992px) {\n .table[data-v-6e210e48] {\n table-layout: auto; }\n .table[data-v-6e210e48] tbody[data-v-6e210e48] td[data-v-6e210e48] {\n overflow: scroll;\n -ms-overflow-style: none;\n /* IE and Edge */\n scrollbar-width: none;\n /* Firefox */ }\n .table[data-v-6e210e48] tbody[data-v-6e210e48] td[data-v-6e210e48]::-webkit-scrollbar {\n display: none; } }\n\n.kanban-board[data-v-6e210e48] {\n display: flex;\n gap: 1rem;\n overflow-x: auto;\n padding: 1rem; }\n\n.kanban-column[data-v-6e210e48] {\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-6e210e48] {\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-6e210e48] {\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-6e210e48] {\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";
12727
+ var ItemCard = __component__$1.exports;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}}var css = "tr td[data-v-77ea2533]:last-child,\ntr td[data-v-77ea2533]:first-child {\n width: 1%;\n white-space: nowrap; }\n\n.crud-pagination[data-v-77ea2533] {\n display: flex;\n align-items: center;\n width: 100%;\n justify-content: center;\n margin-top: 1rem; }\n\n.crud-header[data-v-77ea2533] {\n display: flex;\n justify-content: space-between;\n max-height: 3rem; }\n .crud-header[data-v-77ea2533] .crud-title[data-v-77ea2533] {\n margin: 0; }\n .crud-header[data-v-77ea2533] .crud-search[data-v-77ea2533] {\n max-width: 15rem; }\n .crud-header[data-v-77ea2533] .crud-search[data-v-77ea2533] .btn[data-v-77ea2533] {\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-77ea2533] .crud-search[data-v-77ea2533] .btn[data-v-77ea2533].open[data-v-77ea2533] {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0; }\n .crud-header[data-v-77ea2533] .table-options[data-v-77ea2533] {\n margin-bottom: 1rem;\n display: flex;\n align-items: center;\n justify-content: flex-end; }\n\n.custom-control[data-v-77ea2533] {\n position: relative; }\n\n@media (min-width: 992px) {\n .table[data-v-77ea2533] {\n table-layout: auto; }\n .table[data-v-77ea2533] tbody[data-v-77ea2533] td[data-v-77ea2533] {\n overflow: scroll;\n -ms-overflow-style: none;\n /* IE and Edge */\n scrollbar-width: none;\n /* Firefox */ }\n .table[data-v-77ea2533] tbody[data-v-77ea2533] td[data-v-77ea2533]::-webkit-scrollbar {\n display: none; } }\n\n.kanban-board[data-v-77ea2533] {\n display: flex;\n gap: 1rem;\n overflow-x: auto;\n padding: 1rem; }\n\n.kanban-column[data-v-77ea2533] {\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-77ea2533] {\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-77ea2533] {\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-77ea2533] {\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";
12728
12728
  n(css, {});var _sfc_main = {
12729
12729
  name: "VueLaravelCrud",
12730
12730
  components: {
@@ -13044,6 +13044,10 @@ n(css, {});var _sfc_main = {
13044
13044
  type: String,
13045
13045
  default: ""
13046
13046
  },
13047
+ groupedSplit: {
13048
+ type: Boolean,
13049
+ default: false
13050
+ },
13047
13051
  draggableGroup: {
13048
13052
  type: String,
13049
13053
  default: "people"
@@ -13167,6 +13171,12 @@ n(css, {});var _sfc_main = {
13167
13171
  }
13168
13172
  };
13169
13173
  },
13174
+ isSplitGroups: function isSplitGroups() {
13175
+ if (this.groupedSplit) {
13176
+ return true;
13177
+ }
13178
+ return this.displayMode == this.displayModes.MODE_KANBAN;
13179
+ },
13170
13180
  itemsList: function itemsList() {
13171
13181
  var items = this.ajax ? this.items : this.items.slice(this.paginationIndexStart, this.paginationIndexEnd);
13172
13182
  if (this.masonrySort && !this.isMobile) {
@@ -13553,6 +13563,7 @@ n(css, {});var _sfc_main = {
13553
13563
  _this11.model.deleteAll();
13554
13564
  _context.next = 12;
13555
13565
  return _this11.model.api().get(_this11.apiUrl + "/" + _this11.modelName, {
13566
+ dataKey: 'data',
13556
13567
  params: {
13557
13568
  page: page,
13558
13569
  limit: _this11.pagination.perPage,
@@ -13608,7 +13619,7 @@ n(css, {});var _sfc_main = {
13608
13619
  var items = response.data.data;
13609
13620
  if (_this12.grouped) {
13610
13621
  //this.items = items;
13611
- _this12.groupItems(items, concat);
13622
+ _this12.groupItems(items, concat, _this12.isSplitGroups);
13612
13623
  } else {
13613
13624
  if (concat) {
13614
13625
  _this12.items = _this12.items.concat(items);
@@ -13629,35 +13640,52 @@ n(css, {});var _sfc_main = {
13629
13640
  },
13630
13641
  groupItems: function groupItems(items) {
13631
13642
  var concat = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
13632
- var itemswithgroup = [];
13633
- var lastcomparevalue = null;
13634
- var compareattr = this.groupedAttribute;
13635
- var groupLabelPre = this.groupedLabelPre;
13636
- var groupLabelAfter = this.groupedLabelAfter;
13637
- items.forEach(function (item, key) {
13638
- if (Array.isArray(item)) {
13639
- itemswithgroup.push({
13640
- label: groupLabelPre + key + groupLabelAfter,
13641
- group: true
13642
- });
13643
- item.forEach(function (sitem) {
13644
- itemswithgroup.push(sitem);
13643
+ var splitGroups = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
13644
+ var groupedAttribute = this.groupedAttribute;
13645
+ var groupLabelPre = this.groupedLabelPre || '';
13646
+ var groupLabelAfter = this.groupedLabelAfter || '';
13647
+ var itemsWithGroup = [];
13648
+
13649
+ // Usamos un objeto para agrupar los elementos por groupedAttribute
13650
+ var groupedMap = items.reduce(function (acc, item) {
13651
+ var groupKey = item[groupedAttribute] || 'undefined';
13652
+ if (!acc[groupKey]) {
13653
+ acc[groupKey] = [];
13654
+ }
13655
+ acc[groupKey].push(item);
13656
+ return acc;
13657
+ }, {});
13658
+ if (splitGroups) {
13659
+ // Dividimos los grupos en arrays separados
13660
+ this.items = Object.entries(groupedMap).map(function (_ref) {
13661
+ var _ref2 = _slicedToArray(_ref, 2),
13662
+ groupKey = _ref2[0],
13663
+ groupItems = _ref2[1];
13664
+ return {
13665
+ groupKey: groupKey,
13666
+ groupLabel: groupLabelPre + groupKey + groupLabelAfter,
13667
+ items: groupItems
13668
+ };
13669
+ });
13670
+ } else {
13671
+ // Creamos la estructura agrupada en un solo array
13672
+ for (var _i2 = 0, _Object$entries = Object.entries(groupedMap); _i2 < _Object$entries.length; _i2++) {
13673
+ var _Object$entries$_i = _slicedToArray(_Object$entries[_i2], 2),
13674
+ groupKey = _Object$entries$_i[0],
13675
+ groupItems = _Object$entries$_i[1];
13676
+ itemsWithGroup.push({
13677
+ crudgrouplabel: groupLabelPre + groupKey + groupLabelAfter,
13678
+ crudgroup: true
13645
13679
  });
13680
+ itemsWithGroup.push.apply(itemsWithGroup, _toConsumableArray$1(groupItems));
13681
+ }
13682
+
13683
+ // Decidimos si concatenar o reemplazar los items existentes
13684
+ if (concat) {
13685
+ this.items = this.items.concat(itemsWithGroup);
13646
13686
  } else {
13647
- if (lastcomparevalue != item[compareattr]) {
13648
- lastcomparevalue = item[compareattr];
13649
- itemswithgroup.push({
13650
- crudgrouplabel: groupLabelPre + lastcomparevalue + groupLabelAfter,
13651
- crudgroup: true
13652
- });
13653
- }
13654
- itemswithgroup.push(item);
13687
+ this.items = itemsWithGroup;
13655
13688
  }
13656
- });
13657
- if (concat) {
13658
- this.items = this.items.concat(itemswithgroup);
13659
- } else {
13660
- this.items = itemswithgroup;
13661
13689
  }
13662
13690
  },
13663
13691
  removeItem: function removeItem(id, index) {
@@ -15154,29 +15182,26 @@ var _sfc_render = function render() {
15154
15182
  700: '15px'
15155
15183
  }
15156
15184
  }
15157
- }, _vm._l(_vm.itemsList, function (item, index) {
15185
+ }, _vm._l(_vm.itemsList, function (item, itemIndex) {
15158
15186
  return _c('div', {
15159
- key: index,
15187
+ key: itemIndex,
15160
15188
  staticClass: "item"
15161
15189
  }, [_vm._t("card", function () {
15162
- return _vm._l(_vm.itemsList, function (item, index) {
15163
- return _c('ItemCard', {
15164
- key: index,
15165
- attrs: {
15166
- "item": item,
15167
- "columns": _vm.columns,
15168
- "index": index,
15169
- "cardClass": _vm.cardClass,
15170
- "cardHideFooter": _vm.cardHideFooter,
15171
- "itemValue": _vm.itemValue,
15172
- "getStateValue": _vm.getStateValue,
15173
- "getArrayValue": _vm.getArrayValue,
15174
- "showItem": _vm.showItem,
15175
- "updateItem": _vm.updateItem,
15176
- "removeItem": _vm.removeItem
15177
- }
15178
- });
15179
- });
15190
+ return [_c('ItemCard', {
15191
+ attrs: {
15192
+ "item": item,
15193
+ "columns": _vm.columns,
15194
+ "index": itemIndex,
15195
+ "cardClass": _vm.cardClass,
15196
+ "cardHideFooter": _vm.cardHideFooter,
15197
+ "itemValue": _vm.itemValue,
15198
+ "getStateValue": _vm.getStateValue,
15199
+ "getArrayValue": _vm.getArrayValue,
15200
+ "showItem": _vm.showItem,
15201
+ "updateItem": _vm.updateItem,
15202
+ "removeItem": _vm.removeItem
15203
+ }
15204
+ })];
15180
15205
  }, {
15181
15206
  "item": item
15182
15207
  })], 2);
@@ -15188,7 +15213,7 @@ var _sfc_render = function render() {
15188
15213
  staticClass: "kanban-column"
15189
15214
  }, [_c('div', {
15190
15215
  staticClass: "kanban-column-header"
15191
- }, [_vm._v(" " + _vm._s(colIndex) + " ")]), _vm._v(" " + _vm._s(JSON.stringify(column)) + " "), _c('draggable', {
15216
+ }, [_vm._v(" " + _vm._s(column.groupLabel) + " ")]), _vm._v(" " + _vm._s(JSON.stringify(column)) + " "), _c('draggable', {
15192
15217
  staticClass: "kanban-column-body",
15193
15218
  attrs: {
15194
15219
  "group": "kanban"
@@ -15203,29 +15228,27 @@ var _sfc_render = function render() {
15203
15228
  },
15204
15229
  expression: "column.items"
15205
15230
  }
15206
- }, _vm._l(_vm.itemsList, function (item, index) {
15231
+ }, _vm._l(column.items, function (item, itemIndex) {
15207
15232
  return _c('div', {
15208
- key: index,
15233
+ key: itemIndex,
15209
15234
  staticClass: "item"
15210
15235
  }, [_vm._t("card", function () {
15211
- return _vm._l(_vm.itemsList, function (item, index) {
15212
- return _c('ItemCard', {
15213
- key: index,
15214
- attrs: {
15215
- "item": item,
15216
- "columns": _vm.columns,
15217
- "index": index,
15218
- "cardClass": _vm.cardClass,
15219
- "cardHideFooter": _vm.cardHideFooter,
15220
- "itemValue": _vm.itemValue,
15221
- "getStateValue": _vm.getStateValue,
15222
- "getArrayValue": _vm.getArrayValue,
15223
- "showItem": _vm.showItem,
15224
- "updateItem": _vm.updateItem,
15225
- "removeItem": _vm.removeItem
15226
- }
15227
- });
15228
- });
15236
+ return [_c('ItemCard', {
15237
+ key: itemIndex,
15238
+ attrs: {
15239
+ "item": item,
15240
+ "columns": _vm.columns,
15241
+ "index": _vm.index,
15242
+ "cardClass": _vm.cardClass,
15243
+ "cardHideFooter": _vm.cardHideFooter,
15244
+ "itemValue": _vm.itemValue,
15245
+ "getStateValue": _vm.getStateValue,
15246
+ "getArrayValue": _vm.getArrayValue,
15247
+ "showItem": _vm.showItem,
15248
+ "updateItem": _vm.updateItem,
15249
+ "removeItem": _vm.removeItem
15250
+ }
15251
+ })];
15229
15252
  }, {
15230
15253
  "item": item
15231
15254
  })], 2);
@@ -15511,7 +15534,7 @@ var _sfc_render = function render() {
15511
15534
  }) : _vm._e()], 2) : _vm._e()], 1);
15512
15535
  };
15513
15536
  var _sfc_staticRenderFns = [];
15514
- var __component__ = /*#__PURE__*/normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, "6e210e48", null, null);
15537
+ var __component__ = /*#__PURE__*/normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, "77ea2533", null, null);
15515
15538
  var component$1 = __component__.exports;// Import vue component
15516
15539
 
15517
15540
  // Default export is installable instance of component.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vue-laravel-crud",
3
- "version": "1.8.3",
3
+ "version": "1.8.5",
4
4
  "description": "",
5
5
  "homepage": "https://github.com/clonixdev/vue-laravel-crud",
6
6
  "main": "dist/vue-laravel-crud.ssr.js",
@@ -333,7 +333,10 @@ export default /*#__PURE__*/ {
333
333
  type: String,
334
334
  default: "",
335
335
  },
336
-
336
+ groupedSplit: {
337
+ type: Boolean,
338
+ default: false,
339
+ },
337
340
  draggableGroup: {
338
341
  type: String,
339
342
  default: "people",
@@ -488,6 +491,15 @@ export default /*#__PURE__*/ {
488
491
  }
489
492
  };
490
493
  },
494
+
495
+ isSplitGroups(){
496
+
497
+ if(this.groupedSplit){
498
+ return true;
499
+ }
500
+ return this.displayMode == this.displayModes.MODE_KANBAN;
501
+
502
+ },
491
503
  itemsList() {
492
504
  const items = this.ajax ? this.items : this.items.slice(this.paginationIndexStart, this.paginationIndexEnd);
493
505
  if (this.masonrySort && !this.isMobile) {
@@ -873,6 +885,7 @@ export default /*#__PURE__*/ {
873
885
  this.model.deleteAll();
874
886
 
875
887
  result = await this.model.api().get(this.apiUrl + "/" + this.modelName, {
888
+ dataKey: 'data',
876
889
  params: {
877
890
  page: page,
878
891
  limit: this.pagination.perPage,
@@ -930,7 +943,7 @@ export default /*#__PURE__*/ {
930
943
  let items = response.data.data;
931
944
  if (this.grouped) {
932
945
  //this.items = items;
933
- this.groupItems(items, concat);
946
+ this.groupItems(items, concat,this.isSplitGroups);
934
947
  } else {
935
948
  if (concat) {
936
949
  this.items = this.items.concat(items);
@@ -951,38 +964,45 @@ export default /*#__PURE__*/ {
951
964
  this.fetchError = true;
952
965
  });
953
966
  },
954
-
955
- groupItems(items, concat = false) {
956
- let itemswithgroup = [];
957
- let lastcomparevalue = null;
958
- let compareattr = this.groupedAttribute;
959
- let groupLabelPre = this.groupedLabelPre;
960
- let groupLabelAfter = this.groupedLabelAfter;
961
- items.forEach((item, key) => {
962
- if (Array.isArray(item)) {
963
- itemswithgroup.push({
964
- label: groupLabelPre + key + groupLabelAfter,
965
- group: true,
967
+ groupItems(items, concat = false, splitGroups = false) {
968
+ const groupedAttribute = this.groupedAttribute;
969
+ const groupLabelPre = this.groupedLabelPre || '';
970
+ const groupLabelAfter = this.groupedLabelAfter || '';
971
+ const itemsWithGroup = [];
972
+
973
+ // Usamos un objeto para agrupar los elementos por groupedAttribute
974
+ const groupedMap = items.reduce((acc, item) => {
975
+ const groupKey = item[groupedAttribute] || 'undefined';
976
+ if (!acc[groupKey]) {
977
+ acc[groupKey] = [];
978
+ }
979
+ acc[groupKey].push(item);
980
+ return acc;
981
+ }, {});
982
+
983
+ if (splitGroups) {
984
+ // Dividimos los grupos en arrays separados
985
+ this.items = Object.entries(groupedMap).map(([groupKey, groupItems]) => ({
986
+ groupKey,
987
+ groupLabel: groupLabelPre + groupKey + groupLabelAfter,
988
+ items: groupItems,
989
+ }));
990
+ } else {
991
+ // Creamos la estructura agrupada en un solo array
992
+ for (const [groupKey, groupItems] of Object.entries(groupedMap)) {
993
+ itemsWithGroup.push({
994
+ crudgrouplabel: groupLabelPre + groupKey + groupLabelAfter,
995
+ crudgroup: true,
966
996
  });
997
+ itemsWithGroup.push(...groupItems);
998
+ }
967
999
 
968
- item.forEach((sitem) => {
969
- itemswithgroup.push(sitem);
970
- });
1000
+ // Decidimos si concatenar o reemplazar los items existentes
1001
+ if (concat) {
1002
+ this.items = this.items.concat(itemsWithGroup);
971
1003
  } else {
972
- if (lastcomparevalue != item[compareattr]) {
973
- lastcomparevalue = item[compareattr];
974
- itemswithgroup.push({
975
- crudgrouplabel: groupLabelPre + lastcomparevalue + groupLabelAfter,
976
- crudgroup: true,
977
- });
978
- }
979
- itemswithgroup.push(item);
1004
+ this.items = itemsWithGroup;
980
1005
  }
981
- });
982
- if (concat) {
983
- this.items = this.items.concat(itemswithgroup);
984
- } else {
985
- this.items = itemswithgroup;
986
1006
  }
987
1007
  },
988
1008
  removeItem(id, index) {
@@ -1969,9 +1989,9 @@ export default /*#__PURE__*/ {
1969
1989
  <masonry
1970
1990
  :cols="{ default: 12 / colLg, 1400: 12 / colXl, 1200: 12 / colLg, 1000: 12 / colMd, 700: 12 / colSm, 400: 12 / colXs }"
1971
1991
  :gutter="{ default: '15px', 700: '15px' }">
1972
- <div v-for="(item, index) in itemsList" v-bind:key="index" class="item">
1992
+ <div v-for="(item, itemIndex) in itemsList" v-bind:key="itemIndex" class="item">
1973
1993
  <slot name="card" v-bind:item="item">
1974
- <ItemCard v-for="(item, index) in itemsList" :key="index" :item="item" :columns="columns" :index="index"
1994
+ <ItemCard :item="item" :columns="columns" :index="itemIndex"
1975
1995
  :cardClass="cardClass" :cardHideFooter="cardHideFooter" :itemValue="itemValue"
1976
1996
  :getStateValue="getStateValue" :getArrayValue="getArrayValue" :showItem="showItem"
1977
1997
  :updateItem="updateItem" :removeItem="removeItem" />
@@ -1991,7 +2011,7 @@ export default /*#__PURE__*/ {
1991
2011
 
1992
2012
  <div v-for="(column, colIndex) in items" :key="colIndex" class="kanban-column">
1993
2013
  <div class="kanban-column-header">
1994
- {{ colIndex }}
2014
+ {{ column.groupLabel }}
1995
2015
  </div>
1996
2016
 
1997
2017
  {{ JSON.stringify(column) }}
@@ -1999,9 +2019,9 @@ export default /*#__PURE__*/ {
1999
2019
 
2000
2020
  <draggable v-model="column.items" group="kanban" class="kanban-column-body" @end="onDragEnd">
2001
2021
 
2002
- <div v-for="(item, index) in itemsList" v-bind:key="index" class="item">
2022
+ <div v-for="(item, itemIndex) in column.items" v-bind:key="itemIndex" class="item">
2003
2023
  <slot name="card" v-bind:item="item">
2004
- <ItemCard v-for="(item, index) in itemsList" :key="index" :item="item" :columns="columns" :index="index"
2024
+ <ItemCard :key="itemIndex" :item="item" :columns="columns" :index="index"
2005
2025
  :cardClass="cardClass" :cardHideFooter="cardHideFooter" :itemValue="itemValue"
2006
2026
  :getStateValue="getStateValue" :getArrayValue="getArrayValue" :showItem="showItem"
2007
2027
  :updateItem="updateItem" :removeItem="removeItem" />