vue-laravel-crud 1.4.19 → 1.4.21

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.
@@ -17305,7 +17305,7 @@ var moment$1 = {
17305
17305
  })));
17306
17306
  } (moment$1));
17307
17307
 
17308
- var moment = momentExports;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-e945a530]:last-child,\ntr td[data-v-e945a530]:first-child {\n width: 1%;\n white-space: nowrap; }\n\n.crud-pagination[data-v-e945a530] {\n display: flex;\n justify-content: center; }\n\n.crud-header[data-v-e945a530] {\n display: flex;\n justify-content: space-between;\n max-height: 3rem; }\n .crud-header[data-v-e945a530] .crud-title[data-v-e945a530] {\n margin: 0; }\n .crud-header[data-v-e945a530] .crud-search[data-v-e945a530] {\n max-width: 15rem; }\n .crud-header[data-v-e945a530] .crud-search[data-v-e945a530] .btn[data-v-e945a530] {\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-e945a530] .crud-search[data-v-e945a530] .btn[data-v-e945a530].open[data-v-e945a530] {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0; }\n .crud-header[data-v-e945a530] .table-options[data-v-e945a530] {\n margin-bottom: 1rem;\n display: flex;\n align-items: center;\n justify-content: flex-end; }\n\n.custom-control[data-v-e945a530] {\n position: relative;\n top: -15px; }\n\n@media (min-width: 992px) {\n .table[data-v-e945a530] {\n table-layout: auto; }\n .table[data-v-e945a530] tbody[data-v-e945a530] td[data-v-e945a530] {\n overflow: scroll;\n -ms-overflow-style: none;\n /* IE and Edge */\n scrollbar-width: none;\n /* Firefox */ }\n .table[data-v-e945a530] tbody[data-v-e945a530] td[data-v-e945a530]::-webkit-scrollbar {\n display: none; } }\n";
17308
+ var moment = momentExports;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-c72d8320]:last-child,\ntr td[data-v-c72d8320]:first-child {\n width: 1%;\n white-space: nowrap; }\n\n.crud-pagination[data-v-c72d8320] {\n display: flex;\n justify-content: center; }\n\n.crud-header[data-v-c72d8320] {\n display: flex;\n justify-content: space-between;\n max-height: 3rem; }\n .crud-header[data-v-c72d8320] .crud-title[data-v-c72d8320] {\n margin: 0; }\n .crud-header[data-v-c72d8320] .crud-search[data-v-c72d8320] {\n max-width: 15rem; }\n .crud-header[data-v-c72d8320] .crud-search[data-v-c72d8320] .btn[data-v-c72d8320] {\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-c72d8320] .crud-search[data-v-c72d8320] .btn[data-v-c72d8320].open[data-v-c72d8320] {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0; }\n .crud-header[data-v-c72d8320] .table-options[data-v-c72d8320] {\n margin-bottom: 1rem;\n display: flex;\n align-items: center;\n justify-content: flex-end; }\n\n.custom-control[data-v-c72d8320] {\n position: relative;\n top: -15px; }\n\n@media (min-width: 992px) {\n .table[data-v-c72d8320] {\n table-layout: auto; }\n .table[data-v-c72d8320] tbody[data-v-c72d8320] td[data-v-c72d8320] {\n overflow: scroll;\n -ms-overflow-style: none;\n /* IE and Edge */\n scrollbar-width: none;\n /* Firefox */ }\n .table[data-v-c72d8320] tbody[data-v-c72d8320] td[data-v-c72d8320]::-webkit-scrollbar {\n display: none; } }\n";
17309
17309
  n(css, {});function normalizeComponent (
17310
17310
  scriptExports,
17311
17311
  render,
@@ -17657,12 +17657,12 @@ n(css, {});function normalizeComponent (
17657
17657
  },
17658
17658
  mounted: function mounted() {
17659
17659
  if (this.useVuexORM) {
17660
- //this.useVuexORM = true;
17661
17660
  this.item = new this.model();
17662
17661
  } else {
17663
17662
  this.item = this.model;
17664
17663
  this.itemDefault = JSON.parse(JSON.stringify(this.item));
17665
17664
  }
17665
+ console.debug("crud mounted columns", this.columns);
17666
17666
  this.internalFilters = [];
17667
17667
  this.setupFilters();
17668
17668
  if (this.ajax) {
@@ -18291,30 +18291,40 @@ n(css, {});function normalizeComponent (
18291
18291
  }))();
18292
18292
  },
18293
18293
  toastError: function toastError(error) {
18294
- console.warn(error);
18295
- var errormsg = "";
18296
- if (error.response) {
18297
- if (error.response.data && error.response.data.message) {
18298
- errormsg = error.response.data.message;
18299
- } else if (error.response.data && error.response.data.error) {
18300
- errormsg = error.response.data.error;
18301
- } else if (error.response.data && error.response.data.errors) {
18302
- errormsg = error.response.data.errors;
18303
- } else if (error.response.data) {
18304
- errormsg = error.response.data;
18294
+ var error_message = "Ha ocurrido un error";
18295
+ if (typeof error === "string") {
18296
+ error_message = error;
18297
+ } else if (error.response) {
18298
+ // handle API errors
18299
+ if (error.response.status === 401) {
18300
+ error_message = "No estás autorizado para realizar esta acción";
18301
+ } else if (error.response.status === 404) {
18302
+ error_message = "El recurso solicitado no se encontró";
18303
+ } else if (error.response.status >= 400 && error.response.status < 500) {
18304
+ error_message = "Hubo un problema con la solicitud realizada";
18305
+ } else if (error.response.status >= 500) {
18306
+ error_message = "El servidor no pudo procesar la solicitud";
18305
18307
  }
18306
- } else if (error.message) {
18307
- errormsg = error.message;
18308
- } else if (error) {
18309
- if (typeof error === "string" || myVar instanceof String) {
18310
- errormsg = error;
18311
- } else {
18312
- errormsg = "Error: Hubo un problema procesando la solicitud.";
18308
+ if (error.response.data) {
18309
+ if (_typeof$1(error.response.data) === "object") {
18310
+ if (error.response.data.message) {
18311
+ error_message = error.response.data.message;
18312
+ } else if (error.response.data.errors) {
18313
+ var errors = error.response.data.errors;
18314
+ error_message = Object.values(errors)[0][0];
18315
+ }
18316
+ } else if (typeof error.response.data === "string") {
18317
+ error_message = error.response.data;
18318
+ }
18313
18319
  }
18314
- } else {
18315
- errormsg = "Error: Hubo un problema procesando la solicitud.";
18320
+ } else if (error.request) {
18321
+ // handle network errors
18322
+ error_message = "No se pudo conectar con el servidor. Verifique su conexión a Internet.";
18323
+ } else if (error.message) {
18324
+ // handle other errors
18325
+ error_message = error.message;
18316
18326
  }
18317
- this.$bvToast.toast(errormsg, {
18327
+ this.$bvToast.toast(error_message, {
18318
18328
  title: "Error",
18319
18329
  toaster: "b-toaster-bottom-right",
18320
18330
  variant: "danger",
@@ -18892,11 +18902,11 @@ var _sfc_render = function render() {
18892
18902
  return _vm.onRowClick(item, index);
18893
18903
  }
18894
18904
  }
18895
- }, [item.group ? [_c('th', {
18905
+ }, [item.group ? _c('th', {
18896
18906
  attrs: {
18897
18907
  "colspan": _vm.columns.length
18898
18908
  }
18899
- }, [_c('span', [_vm._v(_vm._s(item.label))])])] : [_vm._t("row", function () {
18909
+ }, [_c('span', [_vm._v(_vm._s(item.label))])]) : _vm._t("row", function () {
18900
18910
  return _vm._l(_vm.columns, function (column, indexc) {
18901
18911
  return _c('td', {
18902
18912
  key: indexc,
@@ -18970,7 +18980,7 @@ var _sfc_render = function render() {
18970
18980
  });
18971
18981
  }, {
18972
18982
  "item": item
18973
- })]], 2);
18983
+ })], 2);
18974
18984
  }), 0)], 1), _vm.items.length == 0 ? _c('p', {
18975
18985
  staticClass: "p-3"
18976
18986
  }, [_vm._v(" " + _vm._s(_vm.messageEmptyResults) + " ")]) : _vm._e()]) : _vm._e(), _vm.displayMode == _vm.displayModes.MODE_CARDS ? _c('div', [_vm.items.length == 0 ? _c('p', {
@@ -19231,7 +19241,7 @@ var _sfc_render = function render() {
19231
19241
  }) : _vm._e()], 2)], 1);
19232
19242
  };
19233
19243
  var _sfc_staticRenderFns = [];
19234
- var __component__ = /*#__PURE__*/normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, "e945a530", null, null);
19244
+ var __component__ = /*#__PURE__*/normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, "c72d8320", null, null);
19235
19245
  var component$1 = __component__.exports;// Import vue component
19236
19246
 
19237
19247
  // 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.4.19",
3
+ "version": "1.4.21",
4
4
  "description": "",
5
5
  "homepage": "https://github.com/clonixdev/vue-laravel-crud",
6
6
  "main": "dist/vue-laravel-crud.ssr.js",
@@ -271,14 +271,13 @@ export default /*#__PURE__*/ {
271
271
  mounted() {
272
272
 
273
273
  if (this.useVuexORM) {
274
- //this.useVuexORM = true;
275
274
  this.item = new this.model();
276
-
277
275
  } else {
278
276
  this.item = this.model;
279
277
  this.itemDefault = JSON.parse(JSON.stringify(this.item));
280
278
  }
281
279
 
280
+ console.debug("crud mounted columns" ,this.columns);
282
281
  this.internalFilters = [];
283
282
  this.setupFilters();
284
283
 
@@ -716,12 +715,8 @@ export default /*#__PURE__*/ {
716
715
  return ops.join(", ");
717
716
  },
718
717
  async saveItemVuex(event = null) {
719
-
720
718
  console.debug("save item 1", this.item);
721
-
722
719
  let jsondata = this.item.$toJson();
723
-
724
-
725
720
  console.debug("save item 2", this.item, jsondata);
726
721
  let result;
727
722
 
@@ -737,9 +732,7 @@ export default /*#__PURE__*/ {
737
732
  return;
738
733
  //throw new Error('Something is wrong.')
739
734
  }
740
-
741
735
  result.save();
742
-
743
736
  if (this.refreshAfterSave) this.refresh();
744
737
  this.toastSuccess("Elemento Modificado");
745
738
  },
@@ -781,8 +774,8 @@ export default /*#__PURE__*/ {
781
774
  this.loading = false;
782
775
  if (this.refreshAfterSave) this.refresh();
783
776
  this.toastSuccess("Elemento Modificado");
784
- this.$emit("itemSaved", {item: this.item});
785
- this.$emit("itemUpdated", {item: this.item});
777
+ this.$emit("itemSaved", { item: this.item });
778
+ this.$emit("itemUpdated", { item: this.item });
786
779
  })
787
780
  .catch((error) => {
788
781
  this.toastError(error);
@@ -822,8 +815,8 @@ export default /*#__PURE__*/ {
822
815
  this.item = itemSv;
823
816
  if (this.refreshAfterSave) this.refresh();
824
817
  this.toastSuccess("Elemento Creado");
825
- this.$emit("itemSaved", {item: this.item});
826
- this.$emit("itemCreated", {item: this.item});
818
+ this.$emit("itemSaved", { item: this.item });
819
+ this.$emit("itemCreated", { item: this.item });
827
820
  })
828
821
  .catch((error) => {
829
822
  this.toastError(error);
@@ -849,8 +842,8 @@ export default /*#__PURE__*/ {
849
842
  this.item = itemSv;
850
843
  if (this.refreshAfterSave) this.refresh();
851
844
  this.toastSuccess("Elemento Creado");
852
- this.$emit("itemSaved", {item: this.item});
853
- this.$emit("itemCreated", {item: this.item});
845
+ this.$emit("itemSaved", { item: this.item });
846
+ this.$emit("itemCreated", { item: this.item });
854
847
  })
855
848
  .catch((error) => {
856
849
  this.toastError(error);
@@ -862,31 +855,43 @@ export default /*#__PURE__*/ {
862
855
  },
863
856
 
864
857
  toastError(error) {
865
- console.warn(error);
866
- let errormsg = "";
867
- if (error.response) {
868
- if (error.response.data && error.response.data.message) {
869
- errormsg = error.response.data.message;
870
- } else if (error.response.data && error.response.data.error) {
871
- errormsg = error.response.data.error;
872
- } else if (error.response.data && error.response.data.errors) {
873
- errormsg = error.response.data.errors;
874
- } else if (error.response.data) {
875
- errormsg = error.response.data;
858
+ let error_message = "Ha ocurrido un error";
859
+
860
+ if (typeof error === "string") {
861
+ error_message = error;
862
+ } else if (error.response) {
863
+ // handle API errors
864
+ if (error.response.status === 401) {
865
+ error_message = "No estás autorizado para realizar esta acción";
866
+ } else if (error.response.status === 404) {
867
+ error_message = "El recurso solicitado no se encontró";
868
+ } else if (error.response.status >= 400 && error.response.status < 500) {
869
+ error_message = "Hubo un problema con la solicitud realizada";
870
+ } else if (error.response.status >= 500) {
871
+ error_message = "El servidor no pudo procesar la solicitud";
876
872
  }
877
- } else if (error.message) {
878
- errormsg = error.message;
879
- } else if (error) {
880
- if (typeof error === "string" || myVar instanceof String) {
881
- errormsg = error;
882
- } else {
883
- errormsg = "Error: Hubo un problema procesando la solicitud.";
873
+
874
+ if (error.response.data) {
875
+ if (typeof error.response.data === "object") {
876
+ if (error.response.data.message) {
877
+ error_message = error.response.data.message;
878
+ } else if (error.response.data.errors) {
879
+ let errors = error.response.data.errors;
880
+ error_message = Object.values(errors)[0][0];
881
+ }
882
+ } else if (typeof error.response.data === "string") {
883
+ error_message = error.response.data;
884
+ }
884
885
  }
885
- } else {
886
- errormsg = "Error: Hubo un problema procesando la solicitud.";
886
+ } else if (error.request) {
887
+ // handle network errors
888
+ error_message = "No se pudo conectar con el servidor. Verifique su conexión a Internet.";
889
+ } else if (error.message) {
890
+ // handle other errors
891
+ error_message = error.message;
887
892
  }
888
893
 
889
- this.$bvToast.toast(errormsg, {
894
+ this.$bvToast.toast(error_message, {
890
895
  title: `Error`,
891
896
  toaster: "b-toaster-bottom-right",
892
897
  variant: "danger",
@@ -1090,12 +1095,14 @@ export default /*#__PURE__*/ {
1090
1095
  <div class="col-6">
1091
1096
  <b-form-datepicker v-model="
1092
1097
  internalFilterByProp(column.prop + '_from').value
1093
- " today-button reset-button close-button locale="es" class="form-control-sm"></b-form-datepicker>
1098
+ " today-button reset-button close-button locale="es"
1099
+ class="form-control-sm"></b-form-datepicker>
1094
1100
  </div>
1095
1101
  <div class="col-6">
1096
1102
  <b-form-datepicker v-model="
1097
1103
  internalFilterByProp(column.prop + '_to').value
1098
- " today-button reset-button close-button locale="es" class="form-control-sm"></b-form-datepicker>
1104
+ " today-button reset-button close-button locale="es"
1105
+ class="form-control-sm"></b-form-datepicker>
1099
1106
  </div>
1100
1107
  </div>
1101
1108
 
@@ -1153,13 +1160,13 @@ export default /*#__PURE__*/ {
1153
1160
  @start="drag = true" @end="drag = false" @sort="onSort()">
1154
1161
  <tr v-for="(item, index) in itemsList" v-bind:key="index" @mouseover="onRowHover(item, index)"
1155
1162
  @click="onRowClick(item, index)" class="item">
1156
- <template v-if="item.group">
1157
- <th :colspan="columns.length">
1163
+
1164
+ <th :colspan="columns.length" v-if="item.group">
1158
1165
  <span>{{ item.label }}</span>
1159
1166
  </th>
1160
- </template>
1161
- <template v-else>
1162
- <slot name="row" v-bind:item="item">
1167
+
1168
+
1169
+ <slot name="row" v-bind:item="item" v-else>
1163
1170
  <td v-for="(column, indexc) in columns" :key="indexc" :scope="column.prop == 'id' ? 'row' : ''">
1164
1171
  <slot :name="'cell-' + column.prop" v-bind:item="item" v-bind:index="index" v-bind:itemindex="index"
1165
1172
  v-bind:columnindex="indexc">
@@ -1222,7 +1229,7 @@ export default /*#__PURE__*/ {
1222
1229
  </b-button-group>
1223
1230
  </td>
1224
1231
  </slot>
1225
- </template>
1232
+
1226
1233
  </tr>
1227
1234
  </draggable>
1228
1235
  </table>