@sysvale/show 0.0.1 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,15 @@
1
1
  import swal from 'sweetalert2';
2
- import get$1 from 'lodash.get';
3
- import { isArray, isObject, snakeCase, get } from 'lodash';
2
+ import get from 'lodash.get';
3
+ import camelCase from 'lodash.camelcase';
4
+ import isObject from 'lodash.isobject';
5
+ import snakeCase from 'lodash.snakecase';
6
+
7
+ var isArray = function (arg) { return Array.isArray(arg); };
4
8
 
5
9
  var convertKeysToCamelCase = function (data) {
6
- if (_.isArray(data)) {
10
+ if (isArray(data)) {
7
11
  return data.map(function (element) {
8
- if (_.isObject(element) || _.isArray(element)) {
12
+ if (isObject(element) || isArray(element)) {
9
13
  return convertKeysToCamelCase(element);
10
14
  }
11
15
  return element;
@@ -13,20 +17,22 @@ var convertKeysToCamelCase = function (data) {
13
17
  }
14
18
  var newData = {};
15
19
  Object.keys(data).forEach(function (key) {
16
- if (_.isObject(data[key]) || _.isArray(data[key])) {
17
- newData[_.camelCase(key)] = convertKeysToCamelCase(data[key]);
20
+ if (isObject(data[key]) || isArray(data[key])) {
21
+ newData[camelCase(key)] = convertKeysToCamelCase(data[key]);
18
22
  } else {
19
- newData[_.camelCase(key)] = data[key];
23
+ newData[camelCase(key)] = data[key];
20
24
  }
21
25
  });
22
26
 
23
27
  return newData;
24
28
  };
25
29
 
30
+ var isArray$1 = function (arg) { return Array.isArray(arg); };
31
+
26
32
  var convertKeysToSnakeCase = function (data) {
27
- if (isArray(data)) {
33
+ if (isArray$1(data)) {
28
34
  return data.map(function (element) {
29
- if (isObject(element) || isArray(element)) {
35
+ if (isObject(element) || isArray$1(element)) {
30
36
  return convertKeysToSnakeCase(element);
31
37
  }
32
38
  return element;
@@ -34,7 +40,7 @@ var convertKeysToSnakeCase = function (data) {
34
40
  }
35
41
  var newData = {};
36
42
  Object.keys(data).forEach(function (key) {
37
- if (isObject(data[key]) || isArray(data[key])) {
43
+ if (isObject(data[key]) || isArray$1(data[key])) {
38
44
  newData[snakeCase(key)] = convertKeysToSnakeCase(data[key]);
39
45
  } else {
40
46
  newData[snakeCase(key)] = data[key];
@@ -75,7 +81,7 @@ var script = {
75
81
  props: {
76
82
  service: {
77
83
  type: Function,
78
- default: function () { return ({}); },
84
+ required: true,
79
85
  },
80
86
  payload: {
81
87
  type: Object,
@@ -99,9 +105,11 @@ var script = {
99
105
  },
100
106
  errorFeedbackResolver: {
101
107
  type: Function,
108
+ default: null,
102
109
  },
103
110
  successFeedbackResolver: {
104
111
  type: Function,
112
+ default: null,
105
113
  },
106
114
  showSuccessFeedback: {
107
115
  type: Boolean,
@@ -155,7 +163,9 @@ var script = {
155
163
  var payload = payloadFromArgs || this.payload;
156
164
  this.service(this.payloadResolver(payload))
157
165
  .then(
158
- function (data) {
166
+ function (ref) {
167
+ var data = ref.data;
168
+
159
169
  this$1.data = this$1.dataResolver(data);
160
170
  this$1.$emit('success', this$1.data);
161
171
 
@@ -178,15 +188,10 @@ var script = {
178
188
 
179
189
  if (!this$1.hideErrorFeedback) {
180
190
  var errorMessage = getFirstErrorMessage(
181
- get$1(error, 'response.data', null),
191
+ get(error, 'response.data', null),
182
192
  'Um erro aconteceu... por favor, tente novamente. Se o erro persistir, contate o suporte.'
183
193
  );
184
194
 
185
- if (this$1.errorFeedback) {
186
- this$1.errorFeedback(this$1);
187
- return;
188
- }
189
-
190
195
  if (this$1.errorFeedbackResolver) {
191
196
  this$1.errorFeedbackResolver({ vm: this$1, error: error, errorMessage: errorMessage });
192
197
  return;
@@ -226,7 +231,8 @@ var script = {
226
231
  },
227
232
 
228
233
  render: function render() {
229
- var slot = this.$scopedSlots.default({
234
+ var slotProvider = this.$scopedSlots || this.$slots;
235
+ var slot = slotProvider.default({
230
236
  loading: this.loading,
231
237
  failed: this.failed,
232
238
  error: this.error,
@@ -234,7 +240,7 @@ var script = {
234
240
  action: this.action,
235
241
  labelHelper: this.labelHelper,
236
242
  errorMessage: getFirstErrorMessage(
237
- get$1(this.error, 'response.data', null),
243
+ get(this.error, 'response.data', null),
238
244
  'Um erro aconteceu... por favor, tente novamente. Se o erro persistir, contate o suporte.'
239
245
  ),
240
246
  });
@@ -359,17 +365,73 @@ var components = /*#__PURE__*/Object.freeze({
359
365
  RequestProvider: __vue_component__
360
366
  });
361
367
 
368
+ function removeAccents(str) {
369
+ if ( str === void 0 ) str = '';
370
+
371
+ var accents = 'ÀÁÂÃÄÅàáâãäåÒÓÔÕÕÖØòóôõöøÈÉÊËèéêëðÇçÐÌÍÎÏìíîïÙÚÛÜùúûüÑñŠšŸÿýŽž';
372
+ var accentsOut = 'AAAAAAaaaaaaOOOOOOOooooooEEEEeeeeeCcDIIIIiiiiUUUUuuuuNnSsYyyZz';
373
+ var strLen = str.length;
374
+ var newStr = str.split('');
375
+ var x;
376
+
377
+ for (var i = 0; i < strLen; i += 1) {
378
+ x = accents.indexOf(str[i]);
379
+ if (x !== -1) {
380
+ newStr[i] = accentsOut[x];
381
+ }
382
+ }
383
+
384
+ newStr = newStr.join('');
385
+ newStr = newStr.split('.').join('');
386
+ newStr = newStr.split('-').join('');
387
+ newStr = newStr.split('/').join('');
388
+
389
+ return newStr;
390
+ }
391
+
392
+ function generateKey(length) {
393
+ if ( length === void 0 ) length = 8;
394
+
395
+ var result = '';
396
+ var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
397
+ var charactersLength = characters.length;
398
+ for (var i = 0; i < length; i += 1) {
399
+ result += characters.charAt(Math.floor(Math.random() * charactersLength));
400
+ }
401
+ return result;
402
+ }
403
+
404
+ var utils = {
405
+ $showConvertKeysToCamelCase: convertKeysToCamelCase,
406
+ $showConvertKeysToSnakeCase: convertKeysToSnakeCase,
407
+ $showRemoveAccents: removeAccents,
408
+ $showGenerateKey: generateKey,
409
+ };
410
+
362
411
  // install function executed by Vue.use()
363
- function install(Vue) {
412
+ function install(app) {
364
413
  if (install.installed) { return; }
365
414
 
366
415
  install.installed = true;
367
416
 
368
- Object.defineProperty(Vue.prototype, '_', { value: _ });
417
+ var version = Number(app.version.split('.')[0]);
418
+
419
+ if (version <= 2) {
420
+ Object.keys(utils).forEach(function (key) {
421
+ app.prototype[key] = utils[key];
422
+ });
423
+ }
424
+
425
+ if (version > 2) {
426
+ // ficará disponível apenas com o uso do Options API
427
+ Object.keys(utils).forEach(function (key) {
428
+ app.config.globalProperties[key] = utils[key];
429
+ });
430
+ }
369
431
 
370
432
  Object.keys(components).forEach(function (componentName) {
371
- Vue.component(
372
- ("show-" + (componentName.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase())),
433
+ app.component(
434
+ ("Show" + componentName),
373
435
  components[componentName]
374
436
  );
375
437
  });
@@ -1 +1 @@
1
- var SHOW=function(e,t,r,o){"use strict";t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t,r=r&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r;var n=function(e){if(_.isArray(e))return e.map((function(e){return _.isObject(e)||_.isArray(e)?n(e):e}));var t={};return Object.keys(e).forEach((function(r){_.isObject(e[r])||_.isArray(e[r])?t[_.camelCase(r)]=n(e[r]):t[_.camelCase(r)]=e[r]})),t},a=function(e){if(o.isArray(e))return e.map((function(e){return o.isObject(e)||o.isArray(e)?a(e):e}));var t={};return Object.keys(e).forEach((function(r){o.isObject(e[r])||o.isArray(e[r])?t[o.snakeCase(r)]=a(e[r]):t[o.snakeCase(r)]=e[r]})),t};function i(e,t){void 0===t&&(t="Não conseguimos processar sua requisição. Tente novamente.");var r=o.get(e,"errors",!1);return r&&r[Object.keys(r)[0]][0]||t}var s={title:"Informações salvas com sucesso!",icon:"success",text:"",showCloseButton:!0,confirmButtonText:"Ok"},c={icon:"error",title:"Erro",text:"mensagem de error",showCancelButton:!0,showConfirmButton:!1,cancelButtonText:"Fechar"};function u(e,t,r,o,n,a,i,s,c,u){"boolean"!=typeof i&&(c=s,s=i,i=!1);var l,d="function"==typeof r?r.options:r;if(e&&e.render&&(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,n&&(d.functional=!0)),o&&(d._scopeId=o),a?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),t&&t.call(this,c(e)),e&&e._registeredComponents&&e._registeredComponents.add(a)},d._ssrRegister=l):t&&(l=i?function(e){t.call(this,u(e,this.$root.$options.shadowRoot))}:function(e){t.call(this,s(e))}),l)if(d.functional){var f=d.render;d.render=function(e,t){return l.call(t),f(e,t)}}else{var p=d.beforeCreate;d.beforeCreate=p?[].concat(p,l):[l]}return r}var l=u({},void 0,{props:{service:{type:Function,default:function(){return{}}},payload:{type:Object,default:function(){return{}}},payloadResolver:{type:Function,default:function(e){return a(e)}},dataResolver:{type:Function,default:function(e){return n(e)}},successSwalConfig:{type:Object,default:function(){return s}},errorSwalConfig:{type:Object,default:function(){return c}},errorFeedbackResolver:{type:Function},successFeedbackResolver:{type:Function},showSuccessFeedback:{type:Boolean,default:!1},hideErrorFeedback:{type:Boolean,default:!1},immediate:{type:Boolean,default:!1},forceResetError:{type:Boolean,default:!1},initialData:{default:null}},data:function(){return{loading:!1,failed:!1,error:null,data:this.initialData}},watch:{forceResetError:function(e){e&&(this.error=null)}},mounted:function(){this.immediate&&this.action()},methods:{action:function(e){var o=this;this.startRequest();var n=e||this.payload;this.service(this.payloadResolver(n)).then((function(e){if(o.data=o.dataResolver(e),o.$emit("success",o.data),o.showSuccessFeedback){if(o.successFeedbackResolver)return void o.successFeedbackResolver({vm:o,data:o.data});t.fire(Object.assign({},s,o.successSwalConfig)).then((function(){o.$emit("success-feedback-ok",o.data)}))}})).catch((function(e){if(o.failed=!0,o.error=e,o.$emit("error",e),!o.hideErrorFeedback){var n=i(r(e,"response.data",null),"Um erro aconteceu... por favor, tente novamente. Se o erro persistir, contate o suporte.");if(o.errorFeedback)return void o.errorFeedback(o);if(o.errorFeedbackResolver)return void o.errorFeedbackResolver({vm:o,error:e,errorMessage:n});t.fire(Object.assign({},c,o.errorSwalConfig,{text:n})).then((function(t){t.isDismissed&&o.$emit("error-feedback-cancel",e),t.isConfirmed&&o.$emit("error-feedback-ok",e)}))}})).finally((function(){o.loading=!1}))},labelHelper:function(e,t){return void 0===t&&(t="Carregando..."),this.loading?t:e},startRequest:function(){this.loading=!0,this.failed=!1,this.error=null}},render:function(){var e=this.$scopedSlots.default({loading:this.loading,failed:this.failed,error:this.error,data:this.data,action:this.action,labelHelper:this.labelHelper,errorMessage:i(r(this.error,"response.data",null),"Um erro aconteceu... por favor, tente novamente. Se o erro persistir, contate o suporte.")});return Array.isArray(e)?e[0]:e}},void 0,void 0,void 0,!1,void 0,void 0,void 0),d=Object.freeze({__proto__:null,RequestProvider:l});var f={install:function e(t){e.installed||(e.installed=!0,Object.defineProperty(t.prototype,"_",{value:_}),Object.keys(d).forEach((function(e){t.component("show-"+e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),d[e])})))}},p=null;return"undefined"!=typeof window?p=window.Vue:"undefined"!=typeof global&&(p=global.Vue),p&&p.use(f),e.RequestProvider=l,e.default=f,e}({},swal,get,lodash);
1
+ var SHOW=function(e,t,r,o,n,a){"use strict";t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t,r=r&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r,o=o&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o,n=n&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n,a=a&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a;var i=function(e){return Array.isArray(e)},s=function(e){if(i(e))return e.map((function(e){return n(e)||i(e)?s(e):e}));var t={};return Object.keys(e).forEach((function(r){n(e[r])||i(e[r])?t[o(r)]=s(e[r]):t[o(r)]=e[r]})),t},c=function(e){return Array.isArray(e)},l=function(e){if(c(e))return e.map((function(e){return n(e)||c(e)?l(e):e}));var t={};return Object.keys(e).forEach((function(r){n(e[r])||c(e[r])?t[a(r)]=l(e[r]):t[a(r)]=e[r]})),t};function u(e,t){void 0===t&&(t="Não conseguimos processar sua requisição. Tente novamente.");var o=r(e,"errors",!1);return o&&o[Object.keys(o)[0]][0]||t}var d={title:"Informações salvas com sucesso!",icon:"success",text:"",showCloseButton:!0,confirmButtonText:"Ok"},f={icon:"error",title:"Erro",text:"mensagem de error",showCancelButton:!0,showConfirmButton:!1,cancelButtonText:"Fechar"};function p(e,t,r,o,n,a,i,s,c,l){"boolean"!=typeof i&&(c=s,s=i,i=!1);var u,d="function"==typeof r?r.options:r;if(e&&e.render&&(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,n&&(d.functional=!0)),o&&(d._scopeId=o),a?(u=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),t&&t.call(this,c(e)),e&&e._registeredComponents&&e._registeredComponents.add(a)},d._ssrRegister=u):t&&(u=i?function(e){t.call(this,l(e,this.$root.$options.shadowRoot))}:function(e){t.call(this,s(e))}),u)if(d.functional){var f=d.render;d.render=function(e,t){return u.call(t),f(e,t)}}else{var p=d.beforeCreate;d.beforeCreate=p?[].concat(p,u):[u]}return r}var h=p({},void 0,{props:{service:{type:Function,required:!0},payload:{type:Object,default:function(){return{}}},payloadResolver:{type:Function,default:function(e){return l(e)}},dataResolver:{type:Function,default:function(e){return s(e)}},successSwalConfig:{type:Object,default:function(){return d}},errorSwalConfig:{type:Object,default:function(){return f}},errorFeedbackResolver:{type:Function,default:null},successFeedbackResolver:{type:Function,default:null},showSuccessFeedback:{type:Boolean,default:!1},hideErrorFeedback:{type:Boolean,default:!1},immediate:{type:Boolean,default:!1},forceResetError:{type:Boolean,default:!1},initialData:{default:null}},data:function(){return{loading:!1,failed:!1,error:null,data:this.initialData}},watch:{forceResetError:function(e){e&&(this.error=null)}},mounted:function(){this.immediate&&this.action()},methods:{action:function(e){var o=this;this.startRequest();var n=e||this.payload;this.service(this.payloadResolver(n)).then((function(e){var r=e.data;if(o.data=o.dataResolver(r),o.$emit("success",o.data),o.showSuccessFeedback){if(o.successFeedbackResolver)return void o.successFeedbackResolver({vm:o,data:o.data});t.fire(Object.assign({},d,o.successSwalConfig)).then((function(){o.$emit("success-feedback-ok",o.data)}))}})).catch((function(e){if(o.failed=!0,o.error=e,o.$emit("error",e),!o.hideErrorFeedback){var n=u(r(e,"response.data",null),"Um erro aconteceu... por favor, tente novamente. Se o erro persistir, contate o suporte.");if(o.errorFeedbackResolver)return void o.errorFeedbackResolver({vm:o,error:e,errorMessage:n});t.fire(Object.assign({},f,o.errorSwalConfig,{text:n})).then((function(t){t.isDismissed&&o.$emit("error-feedback-cancel",e),t.isConfirmed&&o.$emit("error-feedback-ok",e)}))}})).finally((function(){o.loading=!1}))},labelHelper:function(e,t){return void 0===t&&(t="Carregando..."),this.loading?t:e},startRequest:function(){this.loading=!0,this.failed=!1,this.error=null}},render:function(){var e=(this.$scopedSlots||this.$slots).default({loading:this.loading,failed:this.failed,error:this.error,data:this.data,action:this.action,labelHelper:this.labelHelper,errorMessage:u(r(this.error,"response.data",null),"Um erro aconteceu... por favor, tente novamente. Se o erro persistir, contate o suporte.")});return Array.isArray(e)?e[0]:e}},void 0,void 0,void 0,!1,void 0,void 0,void 0),v=Object.freeze({__proto__:null,RequestProvider:h});var y={$showConvertKeysToCamelCase:s,$showConvertKeysToSnakeCase:l,$showRemoveAccents:function(e){void 0===e&&(e="");for(var t,r=e.length,o=e.split(""),n=0;n<r;n+=1)-1!==(t="ÀÁÂÃÄÅàáâãäåÒÓÔÕÕÖØòóôõöøÈÉÊËèéêëðÇçÐÌÍÎÏìíîïÙÚÛÜùúûüÑñŠšŸÿýŽž".indexOf(e[n]))&&(o[n]="AAAAAAaaaaaaOOOOOOOooooooEEEEeeeeeCcDIIIIiiiiUUUUuuuuNnSsYyyZz"[t]);return o=(o=(o=(o=o.join("")).split(".").join("")).split("-").join("")).split("/").join("")},$showGenerateKey:function(e){void 0===e&&(e=8);for(var t="",r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",o=r.length,n=0;n<e;n+=1)t+=r.charAt(Math.floor(Math.random()*o));return t}};var b={install:function e(t){if(!e.installed){e.installed=!0;var r=Number(t.version.split(".")[0]);r<=2&&Object.keys(y).forEach((function(e){t.prototype[e]=y[e]})),r>2&&Object.keys(y).forEach((function(e){t.config.globalProperties[e]=y[e]})),Object.keys(v).forEach((function(e){t.component("Show"+e,v[e])}))}}},m=null;return"undefined"!=typeof window?m=window.Vue:"undefined"!=typeof global&&(m=global.Vue),m&&m.use(b),e.RequestProvider=h,e.default=b,e}({},swal,get,camelCase,isObject,snakeCase);
@@ -1,7 +1,9 @@
1
- 'use strict';Object.defineProperty(exports,'__esModule',{value:true});function _interopDefault(e){return(e&&(typeof e==='object')&&'default'in e)?e['default']:e}var swal=_interopDefault(require('sweetalert2')),get=_interopDefault(require('lodash.get')),lodash=require('lodash');var convertKeysToCamelCase = function (data) {
2
- if (_.isArray(data)) {
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});function _interopDefault(e){return(e&&(typeof e==='object')&&'default'in e)?e['default']:e}var swal=_interopDefault(require('sweetalert2')),get=_interopDefault(require('lodash.get')),camelCase=_interopDefault(require('lodash.camelcase')),isObject=_interopDefault(require('lodash.isobject')),snakeCase=_interopDefault(require('lodash.snakecase'));var isArray = function (arg) { return Array.isArray(arg); };
2
+
3
+ var convertKeysToCamelCase = function (data) {
4
+ if (isArray(data)) {
3
5
  return data.map(function (element) {
4
- if (_.isObject(element) || _.isArray(element)) {
6
+ if (isObject(element) || isArray(element)) {
5
7
  return convertKeysToCamelCase(element);
6
8
  }
7
9
  return element;
@@ -9,18 +11,20 @@
9
11
  }
10
12
  var newData = {};
11
13
  Object.keys(data).forEach(function (key) {
12
- if (_.isObject(data[key]) || _.isArray(data[key])) {
13
- newData[_.camelCase(key)] = convertKeysToCamelCase(data[key]);
14
+ if (isObject(data[key]) || isArray(data[key])) {
15
+ newData[camelCase(key)] = convertKeysToCamelCase(data[key]);
14
16
  } else {
15
- newData[_.camelCase(key)] = data[key];
17
+ newData[camelCase(key)] = data[key];
16
18
  }
17
19
  });
18
20
 
19
21
  return newData;
20
- };var convertKeysToSnakeCase = function (data) {
21
- if (lodash.isArray(data)) {
22
+ };var isArray$1 = function (arg) { return Array.isArray(arg); };
23
+
24
+ var convertKeysToSnakeCase = function (data) {
25
+ if (isArray$1(data)) {
22
26
  return data.map(function (element) {
23
- if (lodash.isObject(element) || lodash.isArray(element)) {
27
+ if (isObject(element) || isArray$1(element)) {
24
28
  return convertKeysToSnakeCase(element);
25
29
  }
26
30
  return element;
@@ -28,10 +32,10 @@
28
32
  }
29
33
  var newData = {};
30
34
  Object.keys(data).forEach(function (key) {
31
- if (lodash.isObject(data[key]) || lodash.isArray(data[key])) {
32
- newData[lodash.snakeCase(key)] = convertKeysToSnakeCase(data[key]);
35
+ if (isObject(data[key]) || isArray$1(data[key])) {
36
+ newData[snakeCase(key)] = convertKeysToSnakeCase(data[key]);
33
37
  } else {
34
- newData[lodash.snakeCase(key)] = data[key];
38
+ newData[snakeCase(key)] = data[key];
35
39
  }
36
40
  });
37
41
 
@@ -39,7 +43,7 @@
39
43
  };function getFirstErrorMessage(response, fallbackMsg) {
40
44
  if ( fallbackMsg === void 0 ) fallbackMsg = 'Não conseguimos processar sua requisição. Tente novamente.';
41
45
 
42
- var errors = lodash.get(response, 'errors', false);
46
+ var errors = get(response, 'errors', false);
43
47
  if (!errors) { return fallbackMsg; }
44
48
  var ref = Object.keys(errors);
45
49
  var firstKey = ref[0];
@@ -65,7 +69,7 @@ var script = {
65
69
  props: {
66
70
  service: {
67
71
  type: Function,
68
- default: function () { return ({}); },
72
+ required: true,
69
73
  },
70
74
  payload: {
71
75
  type: Object,
@@ -89,9 +93,11 @@ var script = {
89
93
  },
90
94
  errorFeedbackResolver: {
91
95
  type: Function,
96
+ default: null,
92
97
  },
93
98
  successFeedbackResolver: {
94
99
  type: Function,
100
+ default: null,
95
101
  },
96
102
  showSuccessFeedback: {
97
103
  type: Boolean,
@@ -145,7 +151,9 @@ var script = {
145
151
  var payload = payloadFromArgs || this.payload;
146
152
  this.service(this.payloadResolver(payload))
147
153
  .then(
148
- function (data) {
154
+ function (ref) {
155
+ var data = ref.data;
156
+
149
157
  this$1.data = this$1.dataResolver(data);
150
158
  this$1.$emit('success', this$1.data);
151
159
 
@@ -172,11 +180,6 @@ var script = {
172
180
  'Um erro aconteceu... por favor, tente novamente. Se o erro persistir, contate o suporte.'
173
181
  );
174
182
 
175
- if (this$1.errorFeedback) {
176
- this$1.errorFeedback(this$1);
177
- return;
178
- }
179
-
180
183
  if (this$1.errorFeedbackResolver) {
181
184
  this$1.errorFeedbackResolver({ vm: this$1, error: error, errorMessage: errorMessage });
182
185
  return;
@@ -216,7 +219,8 @@ var script = {
216
219
  },
217
220
 
218
221
  render: function render() {
219
- var slot = this.$scopedSlots.default({
222
+ var slotProvider = this.$scopedSlots || this.$slots;
223
+ var slot = slotProvider.default({
220
224
  loading: this.loading,
221
225
  failed: this.failed,
222
226
  error: this.error,
@@ -314,7 +318,7 @@ var __vue_script__ = script;
314
318
  /* scoped */
315
319
  var __vue_scope_id__ = undefined;
316
320
  /* module identifier */
317
- var __vue_module_identifier__ = "data-v-8619f05c";
321
+ var __vue_module_identifier__ = "data-v-1c63dfe6";
318
322
  /* functional template */
319
323
  var __vue_is_functional_template__ = undefined;
320
324
  /* style inject */
@@ -336,17 +340,69 @@ var __vue_script__ = script;
336
340
  undefined,
337
341
  undefined,
338
342
  undefined
339
- );var components=/*#__PURE__*/Object.freeze({__proto__:null,RequestProvider: __vue_component__});// install function executed by Vue.use()
340
- function install(Vue) {
343
+ );var components=/*#__PURE__*/Object.freeze({__proto__:null,RequestProvider: __vue_component__});function removeAccents(str) {
344
+ if ( str === void 0 ) str = '';
345
+
346
+ var accents = 'ÀÁÂÃÄÅàáâãäåÒÓÔÕÕÖØòóôõöøÈÉÊËèéêëðÇçÐÌÍÎÏìíîïÙÚÛÜùúûüÑñŠšŸÿýŽž';
347
+ var accentsOut = 'AAAAAAaaaaaaOOOOOOOooooooEEEEeeeeeCcDIIIIiiiiUUUUuuuuNnSsYyyZz';
348
+ var strLen = str.length;
349
+ var newStr = str.split('');
350
+ var x;
351
+
352
+ for (var i = 0; i < strLen; i += 1) {
353
+ x = accents.indexOf(str[i]);
354
+ if (x !== -1) {
355
+ newStr[i] = accentsOut[x];
356
+ }
357
+ }
358
+
359
+ newStr = newStr.join('');
360
+ newStr = newStr.split('.').join('');
361
+ newStr = newStr.split('-').join('');
362
+ newStr = newStr.split('/').join('');
363
+
364
+ return newStr;
365
+ }function generateKey(length) {
366
+ if ( length === void 0 ) length = 8;
367
+
368
+ var result = '';
369
+ var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
370
+ var charactersLength = characters.length;
371
+ for (var i = 0; i < length; i += 1) {
372
+ result += characters.charAt(Math.floor(Math.random() * charactersLength));
373
+ }
374
+ return result;
375
+ }var utils = {
376
+ $showConvertKeysToCamelCase: convertKeysToCamelCase,
377
+ $showConvertKeysToSnakeCase: convertKeysToSnakeCase,
378
+ $showRemoveAccents: removeAccents,
379
+ $showGenerateKey: generateKey,
380
+ };
381
+
382
+ // install function executed by Vue.use()
383
+ function install(app) {
341
384
  if (install.installed) { return; }
342
385
 
343
386
  install.installed = true;
344
387
 
345
- Object.defineProperty(Vue.prototype, '_', { value: _ });
388
+ var version = Number(app.version.split('.')[0]);
389
+
390
+ if (version <= 2) {
391
+ Object.keys(utils).forEach(function (key) {
392
+ app.prototype[key] = utils[key];
393
+ });
394
+ }
395
+
396
+ if (version > 2) {
397
+ // ficará disponível apenas com o uso do Options API
398
+ Object.keys(utils).forEach(function (key) {
399
+ app.config.globalProperties[key] = utils[key];
400
+ });
401
+ }
346
402
 
347
403
  Object.keys(components).forEach(function (componentName) {
348
- Vue.component(
349
- ("show-" + (componentName.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase())),
404
+ app.component(
405
+ ("Show" + componentName),
350
406
  components[componentName]
351
407
  );
352
408
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sysvale/show",
3
- "version": "0.0.1",
3
+ "version": "0.1.0",
4
4
  "description": "A set of components used at Sysvale",
5
5
  "repository": {
6
6
  "type": "git",
@@ -26,7 +26,10 @@
26
26
  "chromatic": "npx chromatic --project-token=a0f13ffc7d61"
27
27
  },
28
28
  "dependencies": {
29
+ "lodash.camelcase": "^4.3.0",
29
30
  "lodash.get": "^4.4.2",
31
+ "lodash.isobject": "^3.0.2",
32
+ "lodash.snakecase": "^4.1.1",
30
33
  "sweetalert2": "^11.3.5",
31
34
  "vue": "^2.6.12"
32
35
  },
@@ -54,8 +57,10 @@
54
57
  "eslint": "^6.7.2",
55
58
  "eslint-plugin-import": "^2.20.2",
56
59
  "eslint-plugin-vue": "^6.2.2",
60
+ "flush-promises": "^1.0.2",
57
61
  "highlight.js": "^10.6.0",
58
62
  "react-is": "^16.13.1",
63
+ "regenerator-runtime": "^0.13.9",
59
64
  "rollup": "^1.29.0",
60
65
  "rollup-plugin-commonjs": "^10.1.0",
61
66
  "rollup-plugin-terser": "^5.2.0",
@@ -120,7 +125,19 @@
120
125
  "not dead"
121
126
  ],
122
127
  "jest": {
123
- "preset": "@vue/cli-plugin-unit-jest"
128
+ "preset": "@vue/cli-plugin-unit-jest",
129
+ "transform": {
130
+ ".*\\.(js)$": "babel-jest"
131
+ },
132
+ "setupFilesAfterEnv": ["./src/utils/setupTests.js"],
133
+ "collectCoverage": true,
134
+ "collectCoverageFrom": ["src/**/*.vue"],
135
+ "coverageReporters": ["lcov", "text"]
136
+ },
137
+ "babel": {
138
+ "presets": [
139
+ "@babel/preset-env"
140
+ ]
124
141
  },
125
142
  "bugs": {
126
143
  "url": "https://github.com/Sysvale/show/issues"