eservices-core 1.0.497 → 1.0.499

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/index.d.ts CHANGED
@@ -56,6 +56,7 @@ import staticLink from "./utils/static-link";
56
56
  import groupArrayByField from "./utils/group-array-by-field";
57
57
  import uuidv4 from "./utils/uuid";
58
58
  import Request from "./utils/Request";
59
+ import { prettyMoney } from "./utils/pretty-value";
59
60
  import parseError from "./utils/parse-error";
60
61
  import useFormMetadata from "./hooks/use-form-metadata";
61
62
  import useFormAction from "./hooks/use-form-action";
@@ -102,6 +103,7 @@ declare const utils: {
102
103
  groupArrayByField: typeof groupArrayByField;
103
104
  uuidv4: typeof uuidv4;
104
105
  Request: typeof _utils.Request;
106
+ prettyMoney: typeof prettyMoney;
105
107
  };
106
108
  export { utils, Request };
107
109
  /**
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * eservices-core v1.0.497
2
+ * eservices-core v1.0.499
3
3
  * (c) 2023 ESERVICES
4
4
  */
5
5
  'use strict';
@@ -380,7 +380,7 @@ function modifiersInput$1(input, array = []) {
380
380
  };
381
381
 
382
382
  const _hoisted_1$B = { class: "input-wrap" };
383
- const _hoisted_2$p = {
383
+ const _hoisted_2$o = {
384
384
  key: 0,
385
385
  class: "input-title"
386
386
  };
@@ -400,7 +400,7 @@ function render$h(_ctx, _cache, $props, $setup, $data, $options) {
400
400
 
401
401
  return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$B, [
402
402
  (_ctx.title)
403
- ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_2$p, [
403
+ ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_2$o, [
404
404
  vue.createTextVNode(vue.toDisplayString(_ctx.title) + " ", 1 /* TEXT */),
405
405
  (_ctx.required)
406
406
  ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$j, "*"))
@@ -568,7 +568,7 @@ var script$H = {
568
568
  };
569
569
 
570
570
  const _hoisted_1$z = { class: "input-wrap" };
571
- const _hoisted_2$o = {
571
+ const _hoisted_2$n = {
572
572
  key: 0,
573
573
  class: "input-title"
574
574
  };
@@ -597,7 +597,7 @@ function render$e(_ctx, _cache, $props, $setup, $data, $options) {
597
597
 
598
598
  return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$z, [
599
599
  (_ctx.title)
600
- ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_2$o, [
600
+ ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_2$n, [
601
601
  vue.createTextVNode(vue.toDisplayString(_ctx.title) + " ", 1 /* TEXT */),
602
602
  (_ctx.required)
603
603
  ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$i, "*"))
@@ -773,7 +773,7 @@ var script$G = vue.defineComponent({
773
773
  });
774
774
 
775
775
  const _hoisted_1$y = { class: "container-input-file" };
776
- const _hoisted_2$n = {
776
+ const _hoisted_2$m = {
777
777
  key: 0,
778
778
  class: "process-info input-file__wait text_size_sm"
779
779
  };
@@ -796,7 +796,7 @@ function render$d(_ctx, _cache, $props, $setup, $data, $options) {
796
796
  onChange: _cache[0] || (_cache[0] = $event => (_ctx.onChange($event.target.files[0])))
797
797
  }, null, 32 /* HYDRATE_EVENTS */),
798
798
  (_ctx.pw.wait)
799
- ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_2$n, "Loading..."))
799
+ ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_2$m, "Loading..."))
800
800
  : vue.createCommentVNode("v-if", true),
801
801
  (_ctx.pw.error)
802
802
  ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_3$h, "Error load file"))
@@ -834,12 +834,12 @@ var script$F = {
834
834
 
835
835
  const _withScopeId$3 = n => (vue.pushScopeId("data-v-3fc725fe"),n=n(),vue.popScopeId(),n);
836
836
  const _hoisted_1$x = { class: "widget-input__container" };
837
- const _hoisted_2$m = { class: "input-container__content" };
837
+ const _hoisted_2$l = { class: "input-container__content" };
838
838
  const _hoisted_3$g = /*#__PURE__*/ _withScopeId$3(() => /*#__PURE__*/vue.createElementVNode("div", { class: "widget-input__underline" }, null, -1 /* HOISTED */));
839
839
 
840
840
  function render$c(_ctx, _cache, $props, $setup, $data, $options) {
841
841
  return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$x, [
842
- vue.createElementVNode("div", _hoisted_2$m, [
842
+ vue.createElementVNode("div", _hoisted_2$l, [
843
843
  vue.renderSlot(_ctx.$slots, "default")
844
844
  ]),
845
845
  _hoisted_3$g,
@@ -996,7 +996,7 @@ const _hoisted_1$v = {
996
996
  key: 0,
997
997
  class: "input-title"
998
998
  };
999
- const _hoisted_2$l = {
999
+ const _hoisted_2$k = {
1000
1000
  key: 0,
1001
1001
  class: "color__text_red"
1002
1002
  };
@@ -1015,7 +1015,7 @@ function render$a(_ctx, _cache, $props, $setup, $data, $options) {
1015
1015
  ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_1$v, [
1016
1016
  vue.createTextVNode(vue.toDisplayString(_ctx.title) + " ", 1 /* TEXT */),
1017
1017
  (_ctx.required)
1018
- ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$l, "*"))
1018
+ ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$k, "*"))
1019
1019
  : vue.createCommentVNode("v-if", true)
1020
1020
  ]))
1021
1021
  : vue.createCommentVNode("v-if", true),
@@ -1136,7 +1136,7 @@ var script$C = {
1136
1136
  };
1137
1137
 
1138
1138
  const _hoisted_1$u = { class: "widget-button-wrap flex" };
1139
- const _hoisted_2$k = ["onClick"];
1139
+ const _hoisted_2$j = ["onClick"];
1140
1140
 
1141
1141
  function render$9(_ctx, _cache, $props, $setup, $data, $options) {
1142
1142
  const _component_icon = vue.resolveComponent("icon");
@@ -1162,7 +1162,7 @@ function render$9(_ctx, _cache, $props, $setup, $data, $options) {
1162
1162
  class: "widget-button__list-elem cursor_pointer",
1163
1163
  onClick: $event => (elem.callback(), $setup.toggle(false)),
1164
1164
  key: index
1165
- }, vue.toDisplayString(elem.title), 9 /* TEXT, PROPS */, _hoisted_2$k))
1165
+ }, vue.toDisplayString(elem.title), 9 /* TEXT, PROPS */, _hoisted_2$j))
1166
1166
  }), 128 /* KEYED_FRAGMENT */))
1167
1167
  ], 4 /* STYLE */),
1168
1168
  ($setup.array.length > 1)
@@ -1228,11 +1228,11 @@ var script$A = {
1228
1228
  };
1229
1229
 
1230
1230
  const _hoisted_1$t = { class: "form-title" };
1231
- const _hoisted_2$j = { class: "title_lg color__text_black margin-0" };
1231
+ const _hoisted_2$i = { class: "title_lg color__text_black margin-0" };
1232
1232
 
1233
1233
  function render$7(_ctx, _cache, $props, $setup, $data, $options) {
1234
1234
  return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$t, [
1235
- vue.createElementVNode("h2", _hoisted_2$j, vue.toDisplayString($props.title), 1 /* TEXT */)
1235
+ vue.createElementVNode("h2", _hoisted_2$i, vue.toDisplayString($props.title), 1 /* TEXT */)
1236
1236
  ]))
1237
1237
  }
1238
1238
 
@@ -1257,7 +1257,7 @@ var script$z = {
1257
1257
  };
1258
1258
 
1259
1259
  const _hoisted_1$s = { class: "widget-form flex_column" };
1260
- const _hoisted_2$i = { class: "widget-form__head flex" };
1260
+ const _hoisted_2$h = { class: "widget-form__head flex" };
1261
1261
  const _hoisted_3$e = { class: "widget-form__head-functions flex" };
1262
1262
  const _hoisted_4$c = { class: "widget-form__body" };
1263
1263
 
@@ -1267,7 +1267,7 @@ function render$6(_ctx, _cache, $props, $setup, $data, $options) {
1267
1267
  const _component_widget_form_function_item = vue.resolveComponent("widget-form-function-item");
1268
1268
 
1269
1269
  return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$s, [
1270
- vue.createElementVNode("div", _hoisted_2$i, [
1270
+ vue.createElementVNode("div", _hoisted_2$h, [
1271
1271
  vue.createVNode(_component_widget_form_title, { title: $props.title }, null, 8 /* PROPS */, ["title"]),
1272
1272
  ((Array.isArray($props.button) && $props.button.length) || (!Array.isArray($props.button) && $props.button))
1273
1273
  ? (vue.openBlock(), vue.createBlock(_component_widget_button, {
@@ -1376,7 +1376,7 @@ script$x.__scopeId = "data-v-a88b4694";
1376
1376
  script$x.__file = "core/widgets/buttons/WidgetButton.vue";
1377
1377
 
1378
1378
  const _hoisted_1$q = { class: "widget-button-wrap" };
1379
- const _hoisted_2$h = { class: "widget-multi-button" };
1379
+ const _hoisted_2$g = { class: "widget-multi-button" };
1380
1380
  const _hoisted_3$d = { class: "widget-button-list" };
1381
1381
  const _hoisted_4$b = ["onClick"];
1382
1382
  const _hoisted_5$8 = { class: "button__side" };
@@ -1404,7 +1404,7 @@ var script$w = /*#__PURE__*/ vue.defineComponent({
1404
1404
  }
1405
1405
  return (_ctx, _cache) => {
1406
1406
  return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$q, [
1407
- vue.createElementVNode("div", _hoisted_2$h, [
1407
+ vue.createElementVNode("div", _hoisted_2$g, [
1408
1408
  vue.createElementVNode("div", {
1409
1409
  class: vue.normalizeClass(["button__content", { 'button__content_active': state.active }])
1410
1410
  }, [
@@ -1466,7 +1466,7 @@ var script$v = {
1466
1466
  };
1467
1467
 
1468
1468
  const _hoisted_1$p = { class: "form-container" };
1469
- const _hoisted_2$g = { class: "form-container__head flex" };
1469
+ const _hoisted_2$f = { class: "form-container__head flex" };
1470
1470
  const _hoisted_3$c = { class: "form-container__head-title title_md flex_full" };
1471
1471
  const _hoisted_4$a = {
1472
1472
  key: 0,
@@ -1478,7 +1478,7 @@ function render$5(_ctx, _cache, $props, $setup, $data, $options) {
1478
1478
  const _component_widget_multi_button = vue.resolveComponent("widget-multi-button");
1479
1479
 
1480
1480
  return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$p, [
1481
- vue.createElementVNode("div", _hoisted_2$g, [
1481
+ vue.createElementVNode("div", _hoisted_2$f, [
1482
1482
  vue.createElementVNode("p", _hoisted_3$c, vue.toDisplayString($props.title), 1 /* TEXT */),
1483
1483
  ($props.rightTitle)
1484
1484
  ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_4$a, vue.toDisplayString($props.rightTitle), 1 /* TEXT */))
@@ -1523,7 +1523,7 @@ script$v.__file = "core/widgets/containers/ContainerForm.vue";
1523
1523
  };
1524
1524
 
1525
1525
  const _hoisted_1$o = { class: "form-container-item__title flex" };
1526
- const _hoisted_2$f = { class: "" };
1526
+ const _hoisted_2$e = { class: "" };
1527
1527
  const _hoisted_3$b = {
1528
1528
  key: 0,
1529
1529
  class: ""
@@ -1539,7 +1539,7 @@ function render$4(_ctx, _cache, $props, $setup, $data, $options) {
1539
1539
  class: vue.normalizeClass(["form-container-item flex", [`form-container-item-${$props.type}`]])
1540
1540
  }, [
1541
1541
  vue.createElementVNode("div", _hoisted_1$o, [
1542
- vue.createElementVNode("span", _hoisted_2$f, vue.toDisplayString($props.title), 1 /* TEXT */)
1542
+ vue.createElementVNode("span", _hoisted_2$e, vue.toDisplayString($props.title), 1 /* TEXT */)
1543
1543
  ]),
1544
1544
  vue.createElementVNode("div", {
1545
1545
  class: vue.normalizeClass(["form-container-item-center flex_column", {'content_double': $props.double}])
@@ -1572,12 +1572,12 @@ var script$t = {
1572
1572
  };
1573
1573
 
1574
1574
  const _hoisted_1$n = { class: "container-auth-wrap" };
1575
- const _hoisted_2$e = { class: "container-auth-sidebar" };
1575
+ const _hoisted_2$d = { class: "container-auth-sidebar" };
1576
1576
  const _hoisted_3$a = { class: "container-auth-main" };
1577
1577
 
1578
1578
  function render$3(_ctx, _cache, $props, $setup, $data, $options) {
1579
1579
  return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$n, [
1580
- vue.createElementVNode("div", _hoisted_2$e, [
1580
+ vue.createElementVNode("div", _hoisted_2$d, [
1581
1581
  vue.renderSlot(_ctx.$slots, "side")
1582
1582
  ]),
1583
1583
  vue.createElementVNode("div", _hoisted_3$a, [
@@ -1660,7 +1660,7 @@ var NotificationSystem = new (_a = class NotificationSystem {
1660
1660
  _a);
1661
1661
 
1662
1662
  const _hoisted_1$m = { class: "widget-error" };
1663
- const _hoisted_2$d = { class: "widget-error-wrap" };
1663
+ const _hoisted_2$c = { class: "widget-error-wrap" };
1664
1664
  const _hoisted_3$9 = { class: "widget-error-main" };
1665
1665
  const _hoisted_4$8 = { class: "widget-error-text widget-error-message" };
1666
1666
  const _hoisted_5$5 = { class: "widget-error__container-close" };
@@ -1674,7 +1674,7 @@ var script$s = /*#__PURE__*/ vue.defineComponent({
1674
1674
  setup(__props, { emit: emits }) {
1675
1675
  return (_ctx, _cache) => {
1676
1676
  return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$m, [
1677
- vue.createElementVNode("div", _hoisted_2$d, [
1677
+ vue.createElementVNode("div", _hoisted_2$c, [
1678
1678
  vue.createElementVNode("div", _hoisted_3$9, [
1679
1679
  vue.createElementVNode("p", _hoisted_4$8, vue.toDisplayString(__props.message), 1 /* TEXT */)
1680
1680
  ]),
@@ -2203,6 +2203,20 @@ function valuesToUpperCase(values) {
2203
2203
  }, {});
2204
2204
  }
2205
2205
 
2206
+ function prettyMoney(value, countPrecision = 2) {
2207
+ if (!(typeof value === 'string' || typeof value === 'number'))
2208
+ return '';
2209
+ const strValue = String(value);
2210
+ let parts = strValue.split(".");
2211
+ parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",");
2212
+ if (parts.length < 2)
2213
+ parts[1] = "";
2214
+ parts[1] = parts[1].padEnd(countPrecision, "0");
2215
+ if (parts[1].length > countPrecision)
2216
+ parts[1] = parts[1].substring(0, countPrecision);
2217
+ return parts.join(".");
2218
+ }
2219
+
2206
2220
  const utils$1 = {
2207
2221
  Request,
2208
2222
  clickOutside,
@@ -2211,7 +2225,8 @@ const utils$1 = {
2211
2225
  GraphQL,
2212
2226
  firstChapterToLowerCase,
2213
2227
  requestHandler,
2214
- valuesToUpperCase
2228
+ valuesToUpperCase,
2229
+ prettyMoney
2215
2230
  };
2216
2231
 
2217
2232
  var _utils = /*#__PURE__*/Object.freeze({
@@ -3162,7 +3177,7 @@ var script$o = {
3162
3177
  };
3163
3178
 
3164
3179
  const _hoisted_1$i = { class: "widget-table__head" };
3165
- const _hoisted_2$c = { class: "widget-table__head-title" };
3180
+ const _hoisted_2$b = { class: "widget-table__head-title" };
3166
3181
 
3167
3182
  function render$1(_ctx, _cache, $props, $setup, $data, $options) {
3168
3183
  return (vue.openBlock(), vue.createElementBlock("tr", _hoisted_1$i, [
@@ -3171,7 +3186,7 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
3171
3186
  class: "widget-table__head-cell",
3172
3187
  key: index
3173
3188
  }, [
3174
- vue.createElementVNode("p", _hoisted_2$c, vue.toDisplayString(elem.title), 1 /* TEXT */)
3189
+ vue.createElementVNode("p", _hoisted_2$b, vue.toDisplayString(elem.title), 1 /* TEXT */)
3175
3190
  ]))
3176
3191
  }), 128 /* KEYED_FRAGMENT */))
3177
3192
  ]))
@@ -3272,8 +3287,7 @@ var script$n = {
3272
3287
 
3273
3288
  script$n.__file = "core/widgets/new/widget-table-row.vue";
3274
3289
 
3275
- const _hoisted_1$h = { class: "widget-table-form" };
3276
- const _hoisted_2$b = ["colspan"];
3290
+ const _hoisted_1$h = ["colspan"];
3277
3291
  var script$m = /*#__PURE__*/ vue.defineComponent({
3278
3292
  __name: 'widget-table-form',
3279
3293
  props: {
@@ -3291,12 +3305,22 @@ var script$m = /*#__PURE__*/ vue.defineComponent({
3291
3305
  * автоматически
3292
3306
  * close - закрытие формы
3293
3307
  * */
3308
+ const refTableForm = vue.ref();
3294
3309
  /**
3295
3310
  * @description Если в новых данных отсутвует RowKey
3296
3311
  * */
3297
3312
  const isNew = vue.computed(() => !props.values && !List$1.hasKey(props.values));
3313
+ vue.onMounted(() => {
3314
+ if (refTableForm.value) {
3315
+ refTableForm.value.scrollIntoView({ block: "end", inline: "nearest", behavior: 'smooth' });
3316
+ }
3317
+ });
3298
3318
  return (_ctx, _cache) => {
3299
- return (vue.openBlock(), vue.createElementBlock("tr", _hoisted_1$h, [
3319
+ return (vue.openBlock(), vue.createElementBlock("tr", {
3320
+ class: "widget-table-form",
3321
+ ref_key: "refTableForm",
3322
+ ref: refTableForm
3323
+ }, [
3300
3324
  vue.createElementVNode("td", { colspan: __props.rowLength }, [
3301
3325
  (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(__props.component), vue.mergeProps(_ctx.$attrs, {
3302
3326
  values: __props.values,
@@ -3304,8 +3328,8 @@ var script$m = /*#__PURE__*/ vue.defineComponent({
3304
3328
  onClose: _cache[0] || (_cache[0] = ($event) => (emits('close'))),
3305
3329
  onSave: _cache[1] || (_cache[1] = ($event) => (emits('save', $event)))
3306
3330
  }), null, 16 /* FULL_PROPS */, ["values", "new"]))
3307
- ], 8 /* PROPS */, _hoisted_2$b)
3308
- ]));
3331
+ ], 8 /* PROPS */, _hoisted_1$h)
3332
+ ], 512 /* NEED_PATCH */));
3309
3333
  };
3310
3334
  }
3311
3335
  });
@@ -5616,7 +5640,8 @@ const utils = {
5616
5640
  staticLink,
5617
5641
  groupArrayByField,
5618
5642
  uuidv4,
5619
- Request
5643
+ Request,
5644
+ prettyMoney
5620
5645
  };
5621
5646
  var index = {
5622
5647
  widgets: a,
@@ -7,6 +7,7 @@ import Journal from "./Journal";
7
7
  import firstChapterToLowerCase from "./firstChapterToLowerCase";
8
8
  import requestHandler from "./requestHandler";
9
9
  import valuesToUpperCase from "./values-to-upper-case";
10
+ import { prettyMoney } from "./pretty-value";
10
11
  export { Request, clickOutside, getPropFromObject, runPromiseQueue, GraphQL, Journal, firstChapterToLowerCase, requestHandler, valuesToUpperCase };
11
12
  declare const utils: {
12
13
  Request: typeof Request;
@@ -17,5 +18,6 @@ declare const utils: {
17
18
  firstChapterToLowerCase: typeof firstChapterToLowerCase;
18
19
  requestHandler: typeof requestHandler;
19
20
  valuesToUpperCase: typeof valuesToUpperCase;
21
+ prettyMoney: typeof prettyMoney;
20
22
  };
21
23
  export default utils;
@@ -0,0 +1 @@
1
+ export declare function prettyMoney(value: unknown, countPrecision?: number): string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eservices-core",
3
- "version": "1.0.497",
3
+ "version": "1.0.499",
4
4
  "description": "Core library",
5
5
  "author": "",
6
6
  "scripts": {