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.
- package/dist/vue-laravel-crud.esm.js +37 -27
- package/dist/vue-laravel-crud.min.js +2 -2
- package/dist/vue-laravel-crud.ssr.js +37 -27
- package/package.json +1 -1
- package/src/vue-laravel-crud.vue +50 -43
|
@@ -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-
|
|
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
|
-
|
|
18295
|
-
|
|
18296
|
-
|
|
18297
|
-
|
|
18298
|
-
|
|
18299
|
-
|
|
18300
|
-
|
|
18301
|
-
} else if (error.response.
|
|
18302
|
-
|
|
18303
|
-
} else if (error.response.
|
|
18304
|
-
|
|
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
|
-
|
|
18307
|
-
|
|
18308
|
-
|
|
18309
|
-
|
|
18310
|
-
|
|
18311
|
-
|
|
18312
|
-
|
|
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
|
-
|
|
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(
|
|
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 ?
|
|
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))])])
|
|
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
|
-
})]
|
|
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, "
|
|
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
package/src/vue-laravel-crud.vue
CHANGED
|
@@ -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
|
-
|
|
866
|
-
|
|
867
|
-
if (error
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
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
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
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
|
-
|
|
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(
|
|
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"
|
|
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"
|
|
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
|
-
|
|
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
|
-
|
|
1161
|
-
|
|
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
|
-
|
|
1232
|
+
|
|
1226
1233
|
</tr>
|
|
1227
1234
|
</draggable>
|
|
1228
1235
|
</table>
|