@steroidsjs/core 3.0.88 → 3.0.89
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/components/ClientStorageComponent.d.ts +7 -1
- package/components/ClientStorageComponent.js +13 -7
- package/docs-autogen-result.json +74 -33
- package/en.json +83 -89
- package/hooks/useAddressBar.d.ts +0 -6
- package/hooks/useAddressBar.js +33 -15
- package/hooks/useDataProvider.js +6 -4
- package/hooks/useDataSelect.d.ts +2 -2
- package/package.json +2 -3
- package/ui/content/Alert/Alert.d.ts +1 -1
- package/ui/content/Icon/Icon.d.ts +1 -1
- package/ui/content/Menu/Menu.d.ts +1 -1
- package/ui/form/DateField/DateField.d.ts +1 -1
- package/ui/form/DateRangeField/DateRangeField.d.ts +1 -1
- package/ui/form/DateTimeField/DateTimeField.d.ts +1 -1
- package/ui/form/DateTimeRangeField/DateTimeRangeField.d.ts +1 -1
- package/ui/form/TextField/TextField.d.ts +7 -1
- package/ui/form/TextField/TextField.js +3 -2
- package/ui/form/TimeField/TimeField.d.ts +1 -1
- package/ui/form/TimeRangeField/TimeRangeField.d.ts +1 -1
- package/ui/list/Grid/Grid.d.ts +1 -1
- package/ui/list/List/List.js +4 -3
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
export interface IClientStorageComponentConfig {
|
|
2
2
|
/**
|
|
3
|
-
* Кастомный домен
|
|
3
|
+
* Кастомный домен для куки
|
|
4
4
|
*/
|
|
5
5
|
domain?: string;
|
|
6
|
+
/**
|
|
7
|
+
* Автоматически устанавливает куку для всех поддоменов текущего домена,
|
|
8
|
+
* но только если параметр domain не указан явно
|
|
9
|
+
*/
|
|
10
|
+
shareBetweenSubdomains?: boolean;
|
|
6
11
|
/**
|
|
7
12
|
* Куки для режима ssr
|
|
8
13
|
*/
|
|
@@ -45,6 +50,7 @@ export default class ClientStorageComponent implements IClientStorageComponent {
|
|
|
45
50
|
localStorageAvailable: boolean;
|
|
46
51
|
sessionStorageAvailable: boolean;
|
|
47
52
|
domain?: string;
|
|
53
|
+
shareBetweenSubdomains?: boolean;
|
|
48
54
|
private _ssrCookie;
|
|
49
55
|
constructor(components: any, config: any);
|
|
50
56
|
get(name: any, storageName: any): any;
|
|
@@ -36,6 +36,7 @@ var dayjs_1 = __importDefault(require("dayjs"));
|
|
|
36
36
|
*/
|
|
37
37
|
var ClientStorageComponent = /** @class */ (function () {
|
|
38
38
|
function ClientStorageComponent(components, config) {
|
|
39
|
+
var _a;
|
|
39
40
|
this.localStorageAvailable = !process.env.IS_SSR;
|
|
40
41
|
this.sessionStorageAvailable = !process.env.IS_SSR;
|
|
41
42
|
this.STORAGE_SESSION = 'session';
|
|
@@ -62,6 +63,7 @@ var ClientStorageComponent = /** @class */ (function () {
|
|
|
62
63
|
}
|
|
63
64
|
}
|
|
64
65
|
this.domain = (config === null || config === void 0 ? void 0 : config.domain) || null;
|
|
66
|
+
this.shareBetweenSubdomains = (_a = config === null || config === void 0 ? void 0 : config.shareBetweenSubdomains) !== null && _a !== void 0 ? _a : false;
|
|
65
67
|
this._ssrCookie = config === null || config === void 0 ? void 0 : config.ssrCookie;
|
|
66
68
|
}
|
|
67
69
|
ClientStorageComponent.prototype.get = function (name, storageName) {
|
|
@@ -116,13 +118,17 @@ var ClientStorageComponent = /** @class */ (function () {
|
|
|
116
118
|
if (this.domain) {
|
|
117
119
|
return this.domain;
|
|
118
120
|
}
|
|
119
|
-
var host =
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
121
|
+
var host = typeof window !== 'undefined' ? window.location.hostname : '';
|
|
122
|
+
if (this.shareBetweenSubdomains) {
|
|
123
|
+
var isIp = /^\d{1,3}(\.\d{1,3}){3}$/.test(host);
|
|
124
|
+
if (!isIp) {
|
|
125
|
+
return host
|
|
126
|
+
.split('.')
|
|
127
|
+
.slice(-2)
|
|
128
|
+
.join('.');
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
return host;
|
|
126
132
|
};
|
|
127
133
|
return ClientStorageComponent;
|
|
128
134
|
}());
|
package/docs-autogen-result.json
CHANGED
|
@@ -301,11 +301,19 @@
|
|
|
301
301
|
{
|
|
302
302
|
"name": "domain",
|
|
303
303
|
"decorators": [],
|
|
304
|
-
"description": "Кастомный домен",
|
|
304
|
+
"description": "Кастомный домен для куки",
|
|
305
305
|
"required": false,
|
|
306
306
|
"type": "string",
|
|
307
307
|
"example": null
|
|
308
308
|
},
|
|
309
|
+
{
|
|
310
|
+
"name": "shareBetweenSubdomains",
|
|
311
|
+
"decorators": [],
|
|
312
|
+
"description": " Автоматически устанавливает куку для всех поддоменов текущего домена,\n но только если параметр domain не указан явно",
|
|
313
|
+
"required": false,
|
|
314
|
+
"type": "boolean",
|
|
315
|
+
"example": null
|
|
316
|
+
},
|
|
309
317
|
{
|
|
310
318
|
"name": "ssrCookie",
|
|
311
319
|
"decorators": [],
|
|
@@ -424,11 +432,19 @@
|
|
|
424
432
|
{
|
|
425
433
|
"name": "domain",
|
|
426
434
|
"decorators": [],
|
|
427
|
-
"description": "Кастомный домен",
|
|
435
|
+
"description": "Кастомный домен для куки",
|
|
428
436
|
"required": false,
|
|
429
437
|
"type": "string",
|
|
430
438
|
"example": null
|
|
431
439
|
},
|
|
440
|
+
{
|
|
441
|
+
"name": "shareBetweenSubdomains",
|
|
442
|
+
"decorators": [],
|
|
443
|
+
"description": " Автоматически устанавливает куку для всех поддоменов текущего домена,\n но только если параметр domain не указан явно",
|
|
444
|
+
"required": false,
|
|
445
|
+
"type": "boolean",
|
|
446
|
+
"example": null
|
|
447
|
+
},
|
|
432
448
|
{
|
|
433
449
|
"name": "ssrCookie",
|
|
434
450
|
"decorators": [],
|
|
@@ -3281,7 +3297,7 @@
|
|
|
3281
3297
|
{
|
|
3282
3298
|
"name": "autoCompleteInputRef",
|
|
3283
3299
|
"decorators": [],
|
|
3284
|
-
"description": "
|
|
3300
|
+
"description": "Ref autocomplete поиска",
|
|
3285
3301
|
"required": false,
|
|
3286
3302
|
"type": "MutableRefObject",
|
|
3287
3303
|
"example": null
|
|
@@ -3353,7 +3369,7 @@
|
|
|
3353
3369
|
{
|
|
3354
3370
|
"name": "sourceItems",
|
|
3355
3371
|
"decorators": [],
|
|
3356
|
-
"description": "
|
|
3372
|
+
"description": "Список со всеми элементами",
|
|
3357
3373
|
"required": false,
|
|
3358
3374
|
"type": "IDataSelectItem[]",
|
|
3359
3375
|
"example": null
|
|
@@ -6168,7 +6184,7 @@
|
|
|
6168
6184
|
{
|
|
6169
6185
|
"name": "showClose",
|
|
6170
6186
|
"decorators": [],
|
|
6171
|
-
"description": "
|
|
6187
|
+
"description": "Нужно ли отображать кнопку, чтобы закрыть Оповещение",
|
|
6172
6188
|
"required": false,
|
|
6173
6189
|
"type": "boolean",
|
|
6174
6190
|
"example": null,
|
|
@@ -6301,7 +6317,7 @@
|
|
|
6301
6317
|
{
|
|
6302
6318
|
"name": "showClose",
|
|
6303
6319
|
"decorators": [],
|
|
6304
|
-
"description": "
|
|
6320
|
+
"description": "Нужно ли отображать кнопку, чтобы закрыть Оповещение",
|
|
6305
6321
|
"required": false,
|
|
6306
6322
|
"type": "boolean",
|
|
6307
6323
|
"example": null
|
|
@@ -10702,7 +10718,7 @@
|
|
|
10702
10718
|
{
|
|
10703
10719
|
"name": "tabIndex",
|
|
10704
10720
|
"decorators": [],
|
|
10705
|
-
"description": "
|
|
10721
|
+
"description": "Должен ли данный элемент участвовать в последовательной навигации",
|
|
10706
10722
|
"required": false,
|
|
10707
10723
|
"type": "number",
|
|
10708
10724
|
"example": null,
|
|
@@ -10775,7 +10791,7 @@
|
|
|
10775
10791
|
{
|
|
10776
10792
|
"name": "tabIndex",
|
|
10777
10793
|
"decorators": [],
|
|
10778
|
-
"description": "
|
|
10794
|
+
"description": "Должен ли данный элемент участвовать в последовательной навигации",
|
|
10779
10795
|
"required": false,
|
|
10780
10796
|
"type": "number",
|
|
10781
10797
|
"example": null
|
|
@@ -12188,7 +12204,7 @@
|
|
|
12188
12204
|
{
|
|
12189
12205
|
"name": "items",
|
|
12190
12206
|
"decorators": [],
|
|
12191
|
-
"description": "
|
|
12207
|
+
"description": "Элементы меню",
|
|
12192
12208
|
"required": true,
|
|
12193
12209
|
"type": "IMenuItem[]",
|
|
12194
12210
|
"example": null,
|
|
@@ -13782,7 +13798,7 @@
|
|
|
13782
13798
|
{
|
|
13783
13799
|
"name": "autoCompleteInputRef",
|
|
13784
13800
|
"decorators": [],
|
|
13785
|
-
"description": "
|
|
13801
|
+
"description": "Ref autocomplete поиска",
|
|
13786
13802
|
"required": false,
|
|
13787
13803
|
"type": "MutableRefObject",
|
|
13788
13804
|
"example": null,
|
|
@@ -14079,7 +14095,7 @@
|
|
|
14079
14095
|
{
|
|
14080
14096
|
"name": "sourceItems",
|
|
14081
14097
|
"decorators": [],
|
|
14082
|
-
"description": "
|
|
14098
|
+
"description": "Список со всеми элементами",
|
|
14083
14099
|
"required": false,
|
|
14084
14100
|
"type": "IDataSelectItem[]",
|
|
14085
14101
|
"example": null,
|
|
@@ -15649,7 +15665,7 @@
|
|
|
15649
15665
|
{
|
|
15650
15666
|
"name": "autoCompleteInputRef",
|
|
15651
15667
|
"decorators": [],
|
|
15652
|
-
"description": "
|
|
15668
|
+
"description": "Ref autocomplete поиска",
|
|
15653
15669
|
"required": false,
|
|
15654
15670
|
"type": "MutableRefObject",
|
|
15655
15671
|
"example": null,
|
|
@@ -15937,7 +15953,7 @@
|
|
|
15937
15953
|
{
|
|
15938
15954
|
"name": "sourceItems",
|
|
15939
15955
|
"decorators": [],
|
|
15940
|
-
"description": "
|
|
15956
|
+
"description": "Список со всеми элементами",
|
|
15941
15957
|
"required": false,
|
|
15942
15958
|
"type": "IDataSelectItem[]",
|
|
15943
15959
|
"example": null,
|
|
@@ -16205,7 +16221,7 @@
|
|
|
16205
16221
|
{
|
|
16206
16222
|
"name": "autoCompleteInputRef",
|
|
16207
16223
|
"decorators": [],
|
|
16208
|
-
"description": "
|
|
16224
|
+
"description": "Ref autocomplete поиска",
|
|
16209
16225
|
"required": false,
|
|
16210
16226
|
"type": "MutableRefObject",
|
|
16211
16227
|
"example": null,
|
|
@@ -16529,7 +16545,7 @@
|
|
|
16529
16545
|
{
|
|
16530
16546
|
"name": "sourceItems",
|
|
16531
16547
|
"decorators": [],
|
|
16532
|
-
"description": "
|
|
16548
|
+
"description": "Список со всеми элементами",
|
|
16533
16549
|
"required": false,
|
|
16534
16550
|
"type": "IDataSelectItem[]",
|
|
16535
16551
|
"example": null,
|
|
@@ -16821,7 +16837,7 @@
|
|
|
16821
16837
|
{
|
|
16822
16838
|
"name": "disabledDays",
|
|
16823
16839
|
"decorators": [],
|
|
16824
|
-
"description": "
|
|
16840
|
+
"description": "Ограничение доступных дат.",
|
|
16825
16841
|
"required": false,
|
|
16826
16842
|
"type": "{after: Date, before: Date}",
|
|
16827
16843
|
"example": null,
|
|
@@ -17597,7 +17613,7 @@
|
|
|
17597
17613
|
{
|
|
17598
17614
|
"name": "disabledDays",
|
|
17599
17615
|
"decorators": [],
|
|
17600
|
-
"description": "
|
|
17616
|
+
"description": "Ограничение доступных дат.",
|
|
17601
17617
|
"required": false,
|
|
17602
17618
|
"type": "{after: Date, before: Date}",
|
|
17603
17619
|
"example": null,
|
|
@@ -18204,7 +18220,7 @@
|
|
|
18204
18220
|
{
|
|
18205
18221
|
"name": "disabledDays",
|
|
18206
18222
|
"decorators": [],
|
|
18207
|
-
"description": "
|
|
18223
|
+
"description": "Ограничение доступных дат.",
|
|
18208
18224
|
"required": false,
|
|
18209
18225
|
"type": "{after: Date, before: Date}",
|
|
18210
18226
|
"example": null,
|
|
@@ -18636,7 +18652,7 @@
|
|
|
18636
18652
|
{
|
|
18637
18653
|
"name": "disabledDays",
|
|
18638
18654
|
"decorators": [],
|
|
18639
|
-
"description": "
|
|
18655
|
+
"description": "Ограничение доступных дат.",
|
|
18640
18656
|
"required": false,
|
|
18641
18657
|
"type": "{after: Date, before: Date}",
|
|
18642
18658
|
"example": null,
|
|
@@ -19319,7 +19335,7 @@
|
|
|
19319
19335
|
{
|
|
19320
19336
|
"name": "autoCompleteInputRef",
|
|
19321
19337
|
"decorators": [],
|
|
19322
|
-
"description": "
|
|
19338
|
+
"description": "Ref autocomplete поиска",
|
|
19323
19339
|
"required": false,
|
|
19324
19340
|
"type": "MutableRefObject",
|
|
19325
19341
|
"example": null,
|
|
@@ -19670,7 +19686,7 @@
|
|
|
19670
19686
|
{
|
|
19671
19687
|
"name": "sourceItems",
|
|
19672
19688
|
"decorators": [],
|
|
19673
|
-
"description": "
|
|
19689
|
+
"description": "Список со всеми элементами",
|
|
19674
19690
|
"required": false,
|
|
19675
19691
|
"type": "IDataSelectItem[]",
|
|
19676
19692
|
"example": null,
|
|
@@ -19826,7 +19842,7 @@
|
|
|
19826
19842
|
{
|
|
19827
19843
|
"name": "autoCompleteInputRef",
|
|
19828
19844
|
"decorators": [],
|
|
19829
|
-
"description": "
|
|
19845
|
+
"description": "Ref autocomplete поиска",
|
|
19830
19846
|
"required": false,
|
|
19831
19847
|
"type": "MutableRefObject",
|
|
19832
19848
|
"example": null
|
|
@@ -20202,7 +20218,7 @@
|
|
|
20202
20218
|
{
|
|
20203
20219
|
"name": "sourceItems",
|
|
20204
20220
|
"decorators": [],
|
|
20205
|
-
"description": "
|
|
20221
|
+
"description": "Список со всеми элементами",
|
|
20206
20222
|
"required": false,
|
|
20207
20223
|
"type": "IDataSelectItem[]",
|
|
20208
20224
|
"example": null
|
|
@@ -29568,6 +29584,15 @@
|
|
|
29568
29584
|
"example": "'isVisible'",
|
|
29569
29585
|
"defaultValue": null
|
|
29570
29586
|
},
|
|
29587
|
+
{
|
|
29588
|
+
"name": "autoHeight",
|
|
29589
|
+
"decorators": [],
|
|
29590
|
+
"description": "Флаг, который указывает, что высота поля должна быть равна высоте контента",
|
|
29591
|
+
"required": false,
|
|
29592
|
+
"type": "boolean",
|
|
29593
|
+
"example": "false",
|
|
29594
|
+
"defaultValue": null
|
|
29595
|
+
},
|
|
29571
29596
|
{
|
|
29572
29597
|
"name": "className",
|
|
29573
29598
|
"decorators": [],
|
|
@@ -29817,6 +29842,14 @@
|
|
|
29817
29842
|
"type": "string",
|
|
29818
29843
|
"example": "'isVisible'"
|
|
29819
29844
|
},
|
|
29845
|
+
{
|
|
29846
|
+
"name": "autoHeight",
|
|
29847
|
+
"decorators": [],
|
|
29848
|
+
"description": "Флаг, который указывает, что высота поля должна быть равна высоте контента",
|
|
29849
|
+
"required": false,
|
|
29850
|
+
"type": "boolean",
|
|
29851
|
+
"example": "false"
|
|
29852
|
+
},
|
|
29820
29853
|
{
|
|
29821
29854
|
"name": "className",
|
|
29822
29855
|
"decorators": [],
|
|
@@ -29902,7 +29935,7 @@
|
|
|
29902
29935
|
"decorators": [],
|
|
29903
29936
|
"description": "Свойства для элемента input",
|
|
29904
29937
|
"required": true,
|
|
29905
|
-
"type": "{disabled: boolean, name: string, onKeyUp: KeyboardEventHandler, placeholder: string, required: boolean, value: string | number, onChange: null}",
|
|
29938
|
+
"type": "{disabled: boolean, name: string, onKeyUp: KeyboardEventHandler, placeholder: string, ref: MutableRefObject, required: boolean, value: string | number, onChange: null}",
|
|
29906
29939
|
"example": null
|
|
29907
29940
|
},
|
|
29908
29941
|
{
|
|
@@ -30063,7 +30096,7 @@
|
|
|
30063
30096
|
{
|
|
30064
30097
|
"name": "availableTime",
|
|
30065
30098
|
"decorators": [],
|
|
30066
|
-
"description": "
|
|
30099
|
+
"description": "Ограничение доступного времени.",
|
|
30067
30100
|
"required": false,
|
|
30068
30101
|
"type": "{from: string, to: string}",
|
|
30069
30102
|
"example": null,
|
|
@@ -30377,7 +30410,7 @@
|
|
|
30377
30410
|
{
|
|
30378
30411
|
"name": "availableTime",
|
|
30379
30412
|
"decorators": [],
|
|
30380
|
-
"description": "
|
|
30413
|
+
"description": "Ограничение доступного времени.",
|
|
30381
30414
|
"required": false,
|
|
30382
30415
|
"type": "{from: string, to: string}",
|
|
30383
30416
|
"example": null
|
|
@@ -30508,7 +30541,7 @@
|
|
|
30508
30541
|
{
|
|
30509
30542
|
"name": "availableTime",
|
|
30510
30543
|
"decorators": [],
|
|
30511
|
-
"description": "
|
|
30544
|
+
"description": "Ограничение доступного времени.",
|
|
30512
30545
|
"required": false,
|
|
30513
30546
|
"type": "{from: string, to: string}",
|
|
30514
30547
|
"example": null
|
|
@@ -30611,7 +30644,7 @@
|
|
|
30611
30644
|
{
|
|
30612
30645
|
"name": "availableTime",
|
|
30613
30646
|
"decorators": [],
|
|
30614
|
-
"description": "
|
|
30647
|
+
"description": "Ограничение доступного времени.",
|
|
30615
30648
|
"required": false,
|
|
30616
30649
|
"type": "{from: string, to: string}",
|
|
30617
30650
|
"example": null,
|
|
@@ -33742,7 +33775,7 @@
|
|
|
33742
33775
|
{
|
|
33743
33776
|
"name": "picture",
|
|
33744
33777
|
"decorators": [],
|
|
33745
|
-
"description": "
|
|
33778
|
+
"description": "Параметры для картинки в колонке",
|
|
33746
33779
|
"required": false,
|
|
33747
33780
|
"type": "{attribute: string, isLeft: boolean}",
|
|
33748
33781
|
"example": "{\n attribute: 'icon',\n isLeft: true\n}"
|
|
@@ -34642,7 +34675,7 @@
|
|
|
34642
34675
|
{
|
|
34643
34676
|
"name": "picture",
|
|
34644
34677
|
"decorators": [],
|
|
34645
|
-
"description": "
|
|
34678
|
+
"description": "Параметры для картинки в колонке",
|
|
34646
34679
|
"required": false,
|
|
34647
34680
|
"type": "{attribute: string, isLeft: boolean}",
|
|
34648
34681
|
"example": "{\n attribute: 'icon',\n isLeft: true\n}"
|
|
@@ -34806,7 +34839,7 @@
|
|
|
34806
34839
|
{
|
|
34807
34840
|
"name": "picture",
|
|
34808
34841
|
"decorators": [],
|
|
34809
|
-
"description": "
|
|
34842
|
+
"description": "Параметры для картинки в колонке",
|
|
34810
34843
|
"required": false,
|
|
34811
34844
|
"type": "{attribute: string, isLeft: boolean}",
|
|
34812
34845
|
"example": "{\n attribute: 'icon',\n isLeft: true\n}"
|
|
@@ -37637,7 +37670,7 @@
|
|
|
37637
37670
|
{
|
|
37638
37671
|
"name": "picture",
|
|
37639
37672
|
"decorators": [],
|
|
37640
|
-
"description": "
|
|
37673
|
+
"description": "Параметры для картинки в колонке",
|
|
37641
37674
|
"required": false,
|
|
37642
37675
|
"type": "{attribute: string, isLeft: boolean}",
|
|
37643
37676
|
"example": "{\n attribute: 'icon',\n isLeft: true\n}"
|
|
@@ -41151,10 +41184,18 @@
|
|
|
41151
41184
|
{
|
|
41152
41185
|
"name": "domain",
|
|
41153
41186
|
"decorators": [],
|
|
41154
|
-
"description": "Кастомный домен",
|
|
41187
|
+
"description": "Кастомный домен для куки",
|
|
41155
41188
|
"required": false,
|
|
41156
41189
|
"type": "string",
|
|
41157
41190
|
"example": null
|
|
41191
|
+
},
|
|
41192
|
+
{
|
|
41193
|
+
"name": "shareBetweenSubdomains",
|
|
41194
|
+
"decorators": [],
|
|
41195
|
+
"description": " Автоматически устанавливает куку для всех поддоменов текущего домена,\n но только если параметр domain не указан явно",
|
|
41196
|
+
"required": false,
|
|
41197
|
+
"type": "boolean",
|
|
41198
|
+
"example": null
|
|
41158
41199
|
}
|
|
41159
41200
|
],
|
|
41160
41201
|
"methods": [
|
package/en.json
CHANGED
|
@@ -145,7 +145,6 @@
|
|
|
145
145
|
"Первичный ключ для item": "Primary key for the item.",
|
|
146
146
|
"Сделать активным первый элемент в списке": "Make the first item in the list active.",
|
|
147
147
|
"Список с идентификаторами выбранных элементов": "List with identifiers of selected items.",
|
|
148
|
-
"Список со всеми элементами": "List with all items.",
|
|
149
148
|
"Идентификатор элемента": "Item identifier.",
|
|
150
149
|
"Отображаемое название для IDataSelectItem": "Display name for IDataSelectItem.",
|
|
151
150
|
"Экшен для отправки на бэкенд": "Action for sending to the backend.",
|
|
@@ -199,7 +198,7 @@
|
|
|
199
198
|
"Дополнительное содрежание сообщения.": "Additional content of the message.",
|
|
200
199
|
"Основное сообщения Оповещения": "Main notification message.",
|
|
201
200
|
"Callback функция вызываемая при нажатии на кнопку закрытия": "Callback function triggered when the close button is clicked.",
|
|
202
|
-
"
|
|
201
|
+
"Нужно ли отображать кнопку, чтобы закрыть Оповещение": "Whether to display a button to close the notification.",
|
|
203
202
|
"Нужно ли отображать иконку, соответствующую типа Оповещения": "Whether to display an icon corresponding to the notification type.",
|
|
204
203
|
"Типы Оповещений": "Notification types.",
|
|
205
204
|
"Альтернативный текст для изображения": "Alternative text for the image.",
|
|
@@ -273,7 +272,7 @@
|
|
|
273
272
|
"Ссылка на view": "Link to the view.",
|
|
274
273
|
"Имя иконки (латиницей). Импорт иконок происходит на старте приложения.": "Icon name (in Latin). Icons are imported at the application start.",
|
|
275
274
|
"Функция которая вызывается при клике по иконке": "Function triggered when clicking on the icon.",
|
|
276
|
-
"
|
|
275
|
+
"Должен ли данный элемент участвовать в последовательной навигации": "Should this element participate in sequential navigation?",
|
|
277
276
|
"Заголовок, отображаемый при наведении (через нативное поле title)": "Title displayed on hover (via the native title field).",
|
|
278
277
|
"Нижний border": "Bottom border.",
|
|
279
278
|
"Кастомная иконка": "Custom icon.",
|
|
@@ -282,7 +281,6 @@
|
|
|
282
281
|
"Пропсы для DropDown": "Props for the DropDown.",
|
|
283
282
|
"Кастомная иконка, по клику на которую открывается меню": "Custom icon that opens the menu when clicked.",
|
|
284
283
|
"Переопределение view React элемента меню для кастомизации отображения": "Override React menu item view for customization of display.",
|
|
285
|
-
"Элементы меню": "Menu items.",
|
|
286
284
|
"Представление элемента слайдера.": "Slider item representation.",
|
|
287
285
|
"Элементы слайдера.": "Slider items.",
|
|
288
286
|
"Опции слайдера.": "Slider options.",
|
|
@@ -628,7 +626,7 @@
|
|
|
628
626
|
"Параметры для иконки в колонке": "Parameters for the icon in the column",
|
|
629
627
|
"Заголовок колонки": "Column header",
|
|
630
628
|
"Параметры для ссылки в колонке": "Parameters for link in the column",
|
|
631
|
-
"
|
|
629
|
+
"Параметры для картинки в колонке": "Parameters for image in the column",
|
|
632
630
|
"Включить возможность сортировки по данным в колонке": "Enable sorting by data in the column",
|
|
633
631
|
"Название свойства в items, которое будет использовано как subtitle": "The name of the property in items that will be used as a subtitle",
|
|
634
632
|
"Свойства для компонента отображения значения в ячейке": "Props for component to display value in the cell",
|
|
@@ -733,7 +731,6 @@
|
|
|
733
731
|
"HTTP метод": "HTTP method",
|
|
734
732
|
"Ориентация элемента": "Element orientation",
|
|
735
733
|
"Уникальный ключ. ID, UUID или другое": "Unique key. ID, UUID or other",
|
|
736
|
-
"MaskField\n\nКомпонент поля ввода текста с маской.\n": "MaskField\n\nText input field component with a mask.\n",
|
|
737
734
|
"Обертка над Axios для запросов на бекенд. Поддерживает токен авторизации, CSRF и обработку ошибок.": "Wrapper over Axios for backend requests. Supports authorization token, CSRF, and error handling.",
|
|
738
735
|
"Слой хранения данных в браузере (cookie, local/session storage) или ReactNative": "Data storage layer in the browser (cookie, local/session storage) or ReactNative",
|
|
739
736
|
"Хелпер для работы с БЭМ классами и DOM элементами": "Helper for working with BEM classes and DOM elements",
|
|
@@ -777,11 +774,10 @@
|
|
|
777
774
|
"\nКомпонент для вывода текстового содержимого, с возможностью настройки тэгов, цвета и типа\n": "\nA component for displaying text content, with the ability to customize tags, colors and types\n",
|
|
778
775
|
"\nКомпонент предназначен для вывода заголовков, предоставляет возможность для настройки, цвета, типа и тэга.\n": "\nThe component is designed to display headers, provides the ability to customize, color, type and tag.\n",
|
|
779
776
|
"Отобразить или скрыть компонент.\nВключает \"ручной режим\", при котором можно задать логику отображения компонента извне,\nчерез измененение данного свойства.": "Show or hide the component.\nTurns on the \"manual mode\", in which you can set the logic for displaying the component from the outside\nby changing this property.",
|
|
780
|
-
"
|
|
781
|
-
"
|
|
777
|
+
"Список со всеми элементами": "List with all elements",
|
|
778
|
+
"Элементы меню": "Menu Items",
|
|
782
779
|
"При указании данного свойства, после нажатия на кнопку и до выполнения действия будет отображено нативное\nокно с текстом подтверждения - `window.confirm('Ваш текст')`.": "When this property is specified, after clicking the button and before performing the action, a native \nwindow with the confirmation text will be displayed - `window.confirm('Your text')`.",
|
|
783
780
|
"Контент, который отобразиться, если элемент навигации будет активен": "The content that will be displayed if the navigation element is active",
|
|
784
|
-
" Используется для управления раскрытием всех элементов в дереве": " Used to control the expansion of all items in the tree",
|
|
785
781
|
"\nСписок с чекбоксами. Используется в формах для выбора нескольких значений.\n": "\nCheckbox list. Used in forms to select multiple values.\n",
|
|
786
782
|
"Разница времени с бекендом (в микросекундах)": "Time difference with the backend (in microseconds)",
|
|
787
783
|
"Временная зона бекенда": "Backend time zone",
|
|
@@ -922,7 +918,6 @@
|
|
|
922
918
|
"\nКомплексный компонент календарь служит для планирования событий и их отображения в календаре.\n\nКомпонент умеет отображать события с помощью недельной сетки с шагом в 1 час,\nа также переключать отображение на сетку по месяцам с шагом 1 день.\nПрисутствует возможность добавлять в календарь события и создавать новые группы событий.\n\n": "The complex `Calendar` component is used for event planning and display in a calendar.\nThe component can display events using a weekly grid with a 1-hour interval\nand can switch to a monthly grid with a 1-day interval.\nIt also allows adding events to the calendar and creating new event groups.",
|
|
923
919
|
"Этот компонент позволяет создавать в проекте графики разных типов, используя библиотеки nivo, react-vis и другие.\n Под капотом для графиков могут использоваться различные библиотеки в зависимости от предпочтений и потребностей проекта.\n Для работы с nivo графиками, необходимо установить в проекте зависимости @nivo/core и соответствующий пакет графика, например @nivo/line.\n Компонент графика, независимо от выбранной библиотеки, нужно передать в пропс chartComponent.": "This component allows creating various types of charts in the project using libraries like nivo, react-vis, and others.\nDifferent chart libraries can be used under the hood depending on project preferences and needs. To work with nivo charts, you need to install dependencies like @nivo/core and the appropriate chart package, e.g., @nivo/line. Regardless of the chosen library, you need to pass the `chartComponent` prop for the chart component.",
|
|
924
920
|
"\nКомплексный компонент `Chat` предназначен для коммуникации пользователей с помощью текстовых сообщений.\n": "The complex `Chat` component is designed for user communication through text messages.\n",
|
|
925
|
-
"\nКомпонент `Kanban` позволяет создать доску для управления задачами.\nКоличество столбцов задается с помощью пропа `columns`.\nЗадачи на доске можно создавать, редактировать и перемещать с визуальным отображением.\n\nДля работы этого компонента необходимо установить в проекте зависимости `react-beautiful-dnd`\nи передать в пропсы `droppableComponent`, `draggableComponent` и `dndContext`\nкомпоненты `Droppable`, `Draggable` и `DragDropContext` соответственно.\n": "The `Kanban` component allows creating a board for task management. The number of columns is set using the `columns` prop.\nTasks on the board can be created, edited, and moved with visual representation.\nTo use this component, you need to install the `react-beautiful-dnd` dependencies in the project\nand pass the `Droppable`, `Draggable`, and `DragDropContext` components as `droppableComponent`, `draggableComponent`, and `dndContext` props, respectively.",
|
|
926
921
|
"\nПоле ввода почты. Этот компонент представляет собой поле ввода почты.\n\n": "Email input field. This component represents an email input field.",
|
|
927
922
|
"\nСоздает список из сгруппированных полей формы.\n": "Creates a list of grouped form fields.",
|
|
928
923
|
"\nКомпонент `Skeleton` представляет собой заглушку для отображения временных данных\nво время загрузки или ожидания загрузки реальных данных.\n": "The `Skeleton` component serves as a placeholder for displaying temporary data during loading or while waiting for real data.",
|
|
@@ -945,9 +940,6 @@
|
|
|
945
940
|
"Получение состояние": "Getting the state",
|
|
946
941
|
"\nСписок с вложенными чекбоксами. Используется в формах для создания иерархической структуры и выбора нескольких значений.\n": "\nA list with nested checkboxes. It is used in forms to create a hierarchical structure and select multiple values.\n",
|
|
947
942
|
"\nСоздает список из сгруппированных полей формы.\nДля загрузки файлов с помощью `FileField` внутри строк `FieldList`, нужно использовать форму с флагом `useRedux`.\n": "\nCreates a list of grouped form fields.\nTo upload files using the `FileField` inside the `FieldList' lines, you need to use the form with the `useRedux` flag.\n",
|
|
948
|
-
" Текущая страница, используется для корректного отображения пагинации": " The current page. It's used to display pagination correctly",
|
|
949
|
-
" Количество элементов на странице, используется для корректного отображения пагинации": " The number of elements on the page. It's used to display pagination correctly.",
|
|
950
|
-
" Параметры роутинга": " Routing parameters",
|
|
951
943
|
"Расстояние вложенных элементов от родителя для каждого уровня": "The distance of nested elements from the parent for each level",
|
|
952
944
|
"Первичный ключ для доступа к вложенным элементам": "The primary key for accessing nested elements",
|
|
953
945
|
"Устанавливать ли фокус и показывать календарь сразу после рендера страницы": "Set the focus and show the calendar immediately after the page render",
|
|
@@ -977,81 +969,83 @@
|
|
|
977
969
|
"Время": "Time",
|
|
978
970
|
"Флаг, который позволяет использовать вложенные роуты c указанием вложенного пути": "A flag that allows you to use nested routes with an indication of the nested path",
|
|
979
971
|
"Скрыть иконку c лева от элемента": "Hide the icon to the left of the element",
|
|
980
|
-
"\n
|
|
981
|
-
"Компонент
|
|
982
|
-
"\n
|
|
983
|
-
"
|
|
984
|
-
"
|
|
985
|
-
"
|
|
986
|
-
"
|
|
987
|
-
"
|
|
972
|
+
"Компонент для создания HTML-разметки, использующий WYSIWYG редактор.\n\nДля использования WYSIWYG редактора, необходимо установить в проекте зависимости `@ckeditor/ckeditor5-react` и `@steroidsjs/ckeditor5`,\nзатем импортировать `CKEditor` из `@ckeditor/ckeditor5-react` и `ClassicEditor` из `@steroidsjs/ckeditor5/packages/ckeditor5-build-classic`.\nКомпонент `CKEditor` нужно передать в проп `htmlComponent`, а конструктор `ClassicEditor` в проп `editorConstructor`.\n\nПри передаче `HtmlField` с бэкенда, необходимо переопределить `view` компонента, указав локальный.\nВ локальном компоненте добавить вместо пропсов `htmlComponent` и `editorConstructor` импорты `CKEditor` и `ClassicEditor` соотвественно.\n": "A component for creating HTML markup using a WYSIWYG editor.\n\nTo use the WYSIWYG editor, you need to install the `@ckeditor/ckeditor5-react` and `@steroidsjs/ckeditor5` dependencies in your project,\nthen import `CKEditor` from `@ckeditor/ckeditor5-react` and `ClassicEditor` from `@steroidsjs/ckeditor5/packages/ckeditor5-build-classic`.\nPass the `CKEditor` component to the `htmlComponent` prop, and the `ClassicEditor` constructor to the `editorConstructor` prop.\n\nWhen receiving `HtmlField` from the backend, you need to override the component's `view` by specifying a local one.\nIn the local component, instead of the `htmlComponent` and `editorConstructor` props, add imports for `CKEditor` and `ClassicEditor` respectively.",
|
|
973
|
+
"Компонент с бесконечным скроллом страниц.": "A component with infinite page scroll.",
|
|
974
|
+
"Компонент, который представляет в виде дерева список с иерархической структурой данных\n\nДополнительный функционал: в кастомном view компонента есть возможность реализовать кнопку, по клику на которую\nбудет вызываться функция props.onItemFocus. Данная функция \"находит\" текущий роут в дереве -\nраскрывает родительские уровни, делает элемент активным.\nДанная функция не включает скролл к активному компоненту внутри дерева, это также необходимо\nреализовать в кастомном view локально в проекте.\n": "A component that displays a list with a hierarchical data structure as a tree.\n\nAdditional functionality: in the custom view of the component, you can implement a button that, when clicked,\ncalls the props.onItemFocus function. This function \"finds\" the current route in the tree -\nexpands the parent levels, makes the element active.\nThis function does not include scrolling to the active component inside the tree; this also needs to be\nimplemented locally in the project's custom view.",
|
|
975
|
+
"Значение страницы по умолчанию.": "Default page value.",
|
|
976
|
+
"Логическое значение, указывающее, можно ли загрузить еще элементы для списка при скролле.": "A boolean value indicating whether more items can be loaded for the list when scrolling.",
|
|
977
|
+
"Сигнал, запрещающий отправку запроса на получение данных": "A signal that prohibits sending a data fetch request.",
|
|
978
|
+
"Нужно ли закрывать выпадающий список после выбора элемента": "Whether to close the dropdown list after selecting an element.",
|
|
979
|
+
"Ref для drop area": "Ref for the drop area.",
|
|
980
|
+
"Использовать drop area": "Use drop area.",
|
|
981
|
+
"Подключение бесконечного скролла": "Enabling infinite scroll.",
|
|
982
|
+
"Флаг определяет необходимо ли передавать query параметры в URL": "A flag that determines whether query parameters should be passed in the URL.",
|
|
983
|
+
"Дополнительный свойства для view части компонента": "Additional properties for the view part of the component.",
|
|
984
|
+
"Используется для управления раскрытием всех элементов в дереве": "Used to control the expansion of all elements in the tree.",
|
|
985
|
+
"Идентификатор (ключ) для сохранения в LocalStorage коллекции.": "Identifier (key) for saving the collection in LocalStorage.",
|
|
986
|
+
"Скрывать открытые вложенные узлы, если скрыли родительский узел": "Hide open nested nodes if the parent node is hidden.",
|
|
987
|
+
"Текущая страница, используется для корректного отображения пагинации": "Current page, used for correct pagination display.",
|
|
988
|
+
"Если флаг true, то данные в items переданы только для одной страницы, если false, то данные в items переданы сразу для всех страниц": "If the flag is true, then the data in items is provided for only one page; if false, then the data in items is provided for all pages at once.",
|
|
989
|
+
"Количество элементов на странице, используется для корректного отображения пагинации": "Number of items per page, used for correct pagination display.",
|
|
990
|
+
"Параметры роутинга": "Routing parameters.",
|
|
991
|
+
"Сохранение в localStorage уровней вложенности.": "Saving nesting levels to localStorage.",
|
|
992
|
+
"Изначально отображать все элементы раскрытыми": "Initially display all elements as expanded.",
|
|
993
|
+
"Нужно ли отображать кнопку \"сегодня\" под календарем.": "Whether to display the \"today\" button below the calendar.",
|
|
994
|
+
"Часовой пояс в формате IANA": "Time zone in IANA format.",
|
|
995
|
+
"Текущая дата в формате Date, используется для выделения текущего дня в календаре.": "Current date in Date format, used to highlight the current day in the calendar.",
|
|
996
|
+
"Дополнительные свойства для списка календарей бокового календаря": "Additional properties for the side calendar's calendar list.",
|
|
997
|
+
"Дополнительные свойства для бокового календаря": "Additional properties for the side calendar.",
|
|
998
|
+
"Данные для формы с текущими датами календаря": "Data for the form with the calendar's current dates.",
|
|
999
|
+
"Свойства для сетки дня": "Properties for the day grid.",
|
|
1000
|
+
"Свойства для сетки месяца": "Properties for the month grid.",
|
|
1001
|
+
"Свойства для сетки недели": "Properties for the week grid.",
|
|
1002
|
+
"Конечная дата": "End date.",
|
|
1003
|
+
"Начальная дата": "Start date.",
|
|
1004
|
+
"Дополнительные данные которые попадут в дата аттрибут data-icon": "Additional data that will go into the data-icon attribute.",
|
|
1005
|
+
"Компоненты для подключения wysiwyg редактора": "Components for connecting the WYSIWYG editor.",
|
|
1006
|
+
"Текст при отсутствии элементов": "Text when there are no items.",
|
|
1007
|
+
"Разделитель между элементами, в случае, если выбрано несколько значений": "Separator between elements, in case multiple values are selected.",
|
|
1008
|
+
"Пропсы для отображения элемента": "Props for displaying an element.",
|
|
1009
|
+
"Отображать чекбоксы только на узлах, не имеющих вложенных элементов": "Display checkboxes only on nodes that have no nested elements.",
|
|
1010
|
+
"View компонент для элемента дерева": "View component for a tree element.",
|
|
1011
|
+
"Положение дополнительных кнопок (сегодня, вчера и прочие)\nЕсли указано в формате 'position1-position2', то 'position1' будет на устройствах > $tablet-width, а 'position2' на остальных.": "Position of additional buttons (today, yesterday, etc.)\nIf specified in the format 'position1-position2', then 'position1' will be on devices > $tablet-width, and 'position2' on others.",
|
|
1012
|
+
"Перемещать ли фокус на пустое после заполнения": "Whether to move focus to an empty field after filling.",
|
|
1013
|
+
"Активирует логику:\n- Если кликнули по дате начала или конца диапазона, то позволяем её изменить следующим кликом\n- Если клик не на дату конца или начала диапазона, а диапазон есть, то сбрасываем его\n- Если клик не на дату конца или начала диапазона, а диапазона нет, то устанавливаем кликнутую дату в поле from": "Activates the logic:\n- If clicked on the start or end date of a range, allow it to be changed with the next click\n- If the click is not on the end or start date of a range, but a range exists, reset it\n- If the click is not on the end or start date of a range, and no range exists, set the clicked date in the 'from' field.",
|
|
1014
|
+
"Добавляет дополнительные кнопки к календарю\ntrue - будут отображены кнопки по-умолчанию\nсписок:\n string - одна из кнопок по-умолчанию\n object - кастомная кнопка": "Adds additional buttons to the calendar\ntrue - default buttons will be displayed\nlist:\n string - one of the default buttons\n object - a custom button.",
|
|
1015
|
+
"Ограничение доступного времени.": "Restriction of available time.",
|
|
1016
|
+
"Разделитель для даты и времени, не влияет на отображение": "Separator for date and time, does not affect display.",
|
|
1017
|
+
"Шаг минут": "Minute step.",
|
|
1018
|
+
"Свойства, которые напрямую передаются в DropDown компонент": "Properties that are passed directly to the DropDown component.",
|
|
1019
|
+
"Нужно ли подгружать данные после закрытия DropDown": "Whether to load data after closing the DropDown.",
|
|
1020
|
+
"Число в пикселях, больше которого не может быть выпадающее меню": "Number in pixels that the dropdown menu cannot exceed.",
|
|
1021
|
+
"Начальные элементы списка": "Initial list items.",
|
|
1022
|
+
"Значения для полей при нажатии кнопки 'Добавить'": "Values for fields when the 'Add' button is pressed.",
|
|
1023
|
+
"Название иконки, которая отобразится для удаления группы с полями": "The name of the icon that will be displayed for deleting a field group.",
|
|
1024
|
+
"Размер компонента и вложенных полей": "Size of the component and nested fields.",
|
|
1025
|
+
"Текст, который отобразится при загрузке файла": "Text that will be displayed during file upload.",
|
|
1026
|
+
"Параметры для кнопки отправки формы": "Parameters for the form submit button.",
|
|
1027
|
+
"Очищать сообщение об ошибке при редактировании поля. По-умолчанию включено": "Clear error message when editing a field. Enabled by default.",
|
|
1028
|
+
"Колбэк для использования сторонних валидаторов, например yup": "Callback for using third-party validators, e.g., yup.",
|
|
1029
|
+
"Конструктор редактора 'ckeditor5-react' из библиотеки @steroidsjs/ckeditor5/packages/ckeditor5-build-classic\nПримечание: для использования встроенного отображения 'HtmlField', данный компонент должен быть передан": "Editor constructor 'ckeditor5-react' from the @steroidsjs/ckeditor5/packages/ckeditor5-build-classic library.\nNote: to use the built-in 'HtmlField' display, this component must be passed.",
|
|
1030
|
+
"Компонент редактора 'ckeditor5-react' из библиотеки @ckeditor\nПримечание: для использования встроенного отображения 'HtmlField', данный компонент должен быть передан": "Editor component 'ckeditor5-react' from the @ckeditor library.\nNote: to use the built-in 'HtmlField' display, this component must be passed.",
|
|
1031
|
+
"Допустимое количество символов после разделителя": "Allowed number of characters after the separator.",
|
|
1032
|
+
"Может ли число быть отрицательным": "Whether the number can be negative.",
|
|
1033
|
+
"Перечисление элементов": "Enumeration of elements.",
|
|
1034
|
+
"Валюта @enum {eur, rub, usd}": "Currency @enum {eur, rub, usd}.",
|
|
1035
|
+
"Подключить бесконечный скролл": "Enable infinite scroll.",
|
|
1036
|
+
"Аттрибут (название) в форме для поля с флагом, определяющим есть ли следующая страница": "Attribute (name) in the form for the field with the flag indicating whether there is a next page.",
|
|
1037
|
+
"Аттрибут (название) в форме для поля с номером текущей страницы": "Attribute (name) in the form for the field with the current page number.",
|
|
1038
|
+
"Кастомная иконка для сворачивания элементов": "Custom icon for collapsing elements.",
|
|
1039
|
+
"CSS-класс для элемента навигации.": "CSS class for the navigation element.",
|
|
1040
|
+
"Тип данных для параметров маршрута.": "Data type for route parameters.",
|
|
1041
|
+
"Обертка над Redux Store со встроенными middleware (thunk, multi, promise..) и react-router.": "Wrapper over Redux Store with built-in middleware (thunk, multi, promise..) and react-router.",
|
|
1042
|
+
"Ref autocomplete поиска": "Ref for autocomplete search.",
|
|
1043
|
+
"Ограничение доступных дат.": "Restriction of available dates.",
|
|
1044
|
+
"\nКомпонент `Kanban` позволяет создать доску для управления задачами.\nКоличество столбцов задается с помощью пропа `columns`.\nЗадачи на доске можно создавать, редактировать и перемещать с визуальным отображением.\n\nДля работы этого компонента необходимо установить в проекте зависимости `react-beautiful-dnd`\nи передать в пропсы `droppableComponent`, `draggableComponent` и `dndContext`\nкомпоненты `Droppable`, `Draggable` и `DragDropContext` соответственно.\n\nДля корректной работы функционала создания задач,\nнеобходимо установить в проекте зависимости `@ckeditor/ckeditor5-react v3.0.2` и `@steroidsjs/ckeditor5 v27.0.2-rc.2`,\nзатем импортировать `CKEditor` из `@ckeditor/ckeditor5-react` и `ClassicEditor` из `@steroidsjs/ckeditor5/packages/ckeditor5-build-classic`.\nИмпортированные компоненты нужно передать в проп `createTaskEditorConfig`,\nв поле `htmlComponent` передать `CKEditor`, а в `editorConstructor` передать `ClassicEditor`.\n": "The `Kanban` component allows you to create a board for task management.\nThe number of columns is set using the `columns` prop.\nTasks on the board can be created, edited, and moved with visual feedback.\n\nFor this component to work, you must install the `react-beautiful-dnd` dependencies in your project\nand pass the `Droppable`, `Draggable`, and `DragDropContext` components to the `droppableComponent`, `draggableComponent`, and `dndContext` props, respectively.\n\nFor the task creation functionality to work correctly,\nyou need to install the `@ckeditor/ckeditor5-react v3.0.2` and `@steroidsjs/ckeditor5 v27.0.2-rc.2` dependencies in your project,\nthen import `CKEditor` from `@ckeditor/ckeditor5-react` and `ClassicEditor` from `@steroidsjs/ckeditor5/packages/ckeditor5-build-classic`.\nPass the imported components to the `createTaskEditorConfig` prop,\nproviding `CKEditor` to the `htmlComponent` field and `ClassicEditor` to `editorConstructor`.",
|
|
1045
|
+
"\nКомпонент поля ввода текста с маской.\n": "A text input field component with a mask.",
|
|
1046
|
+
"\nКомпонент Tooltip предоставляет всплывающую подсказку для дочерних элементов.\nВнутри компонента, то есть между тегами Tooltip можно использовать только html теги, например div, span и тд\n": "The Tooltip component provides a popup hint for child elements.\nInside the component, that is, between the Tooltip tags, you can only use HTML tags, e.g., div, span, etc.",
|
|
988
1047
|
"Логическое значение, указывающее, есть ли еще элементы в списке с бесконечным скроллом": "",
|
|
989
|
-
"
|
|
990
|
-
"
|
|
991
|
-
"
|
|
992
|
-
"Ref для drop area": "",
|
|
993
|
-
"Использовать drop area": "",
|
|
994
|
-
"Подключение бесконечного скролла": "",
|
|
995
|
-
"Флаг определяет необходимо ли передавать query параметры в URL": "",
|
|
996
|
-
"Дополнительный свойства для view части компонента": "",
|
|
997
|
-
"Используется для управления раскрытием всех элементов в дереве": "",
|
|
998
|
-
"Идентификатор (ключ) для сохранения в LocalStorage коллекции.": "",
|
|
999
|
-
"Скрывать открытые вложенные узлы, если скрыли родительский узел": "",
|
|
1000
|
-
"Текущая страница, используется для корректного отображения пагинации": "",
|
|
1001
|
-
"Если флаг true, то данные в items переданы только для одной страницы, если false, то данные в items переданы сразу для всех страниц": "",
|
|
1002
|
-
"Количество элементов на странице, используется для корректного отображения пагинации": "",
|
|
1003
|
-
"Параметры роутинга": "",
|
|
1004
|
-
"Сохранение в localStorage уровней вложенности.": "",
|
|
1005
|
-
"Изначально отображать все элементы раскрытыми": "",
|
|
1006
|
-
"Нужно ли отображать кнопку \"сегодня\" под календарем.": "",
|
|
1007
|
-
"Часовой пояс в формате IANA": "",
|
|
1008
|
-
"Текущая дата в формате Date, используется для выделения текущего дня в календаре.": "",
|
|
1009
|
-
"Дополнительные свойства для списка календарей бокового календаря": "",
|
|
1010
|
-
"Дополнительные свойства для бокового календаря": "",
|
|
1011
|
-
"Данные для формы с текущими датами календаря": "",
|
|
1012
|
-
"Свойства для сетки дня": "",
|
|
1013
|
-
"Свойства для сетки месяца": "",
|
|
1014
|
-
"Свойства для сетки недели": "",
|
|
1015
|
-
"Конечная дата": "",
|
|
1016
|
-
"Начальная дата": "",
|
|
1017
|
-
"Дополнительные данные которые попадут в дата аттрибут data-icon": "",
|
|
1018
|
-
"Компоненты для подключения wysiwyg редактора": "",
|
|
1019
|
-
"Текст при отсутствии элементов": "",
|
|
1020
|
-
"Разделитель между элементами, в случае, если выбрано несколько значений": "",
|
|
1021
|
-
"Пропсы для отображения элемента": "",
|
|
1022
|
-
"Отображать чекбоксы только на узлах, не имеющих вложенных элементов": "",
|
|
1023
|
-
"View компонент для элемента дерева": "",
|
|
1024
|
-
" Ограничение доступных дат.": "",
|
|
1025
|
-
"Положение дополнительных кнопок (сегодня, вчера и прочие)\nЕсли указано в формате 'position1-position2', то 'position1' будет на устройствах > $tablet-width, а 'position2' на остальных.": "",
|
|
1026
|
-
"Перемещать ли фокус на пустое после заполнения": "",
|
|
1027
|
-
"Активирует логику:\n- Если кликнули по дате начала или конца диапазона, то позволяем её изменить следующим кликом\n- Если клик не на дату конца или начала диапазона, а диапазон есть, то сбрасываем его\n- Если клик не на дату конца или начала диапазона, а диапазона нет, то устанавливаем кликнутую дату в поле from": "",
|
|
1028
|
-
"Добавляет дополнительные кнопки к календарю\ntrue - будут отображены кнопки по-умолчанию\nсписок:\n string - одна из кнопок по-умолчанию\n object - кастомная кнопка": "",
|
|
1029
|
-
"Ограничение доступного времени.": "",
|
|
1030
|
-
"Разделитель для даты и времени, не влияет на отображение": "",
|
|
1031
|
-
"Шаг минут": "",
|
|
1032
|
-
"Свойства, которые напрямую передаются в DropDown компонент": "",
|
|
1033
|
-
"Нужно ли подгружать данные после закрытия DropDown": "",
|
|
1034
|
-
"Число в пикселях, больше которого не может быть выпадающее меню": "",
|
|
1035
|
-
"Начальные элементы списка": "",
|
|
1036
|
-
"Значения для полей при нажатии кнопки 'Добавить'": "",
|
|
1037
|
-
"Название иконки, которая отобразится для удаления группы с полями": "",
|
|
1038
|
-
"Размер компонента и вложенных полей": "",
|
|
1039
|
-
"Текст, который отобразится при загрузке файла": "",
|
|
1040
|
-
"Параметры для кнопки отправки формы": "",
|
|
1041
|
-
"Очищать сообщение об ошибке при редактировании поля. По-умолчанию включено": "",
|
|
1042
|
-
"Колбэк для использования сторонних валидаторов, например yup": "",
|
|
1043
|
-
"Конструктор редактора 'ckeditor5-react' из библиотеки @steroidsjs/ckeditor5/packages/ckeditor5-build-classic\nПримечание: для использования встроенного отображения 'HtmlField', данный компонент должен быть передан": "",
|
|
1044
|
-
"Компонент редактора 'ckeditor5-react' из библиотеки @ckeditor\nПримечание: для использования встроенного отображения 'HtmlField', данный компонент должен быть передан": "",
|
|
1045
|
-
"Допустимое количество символов после разделителя": "",
|
|
1046
|
-
"Может ли число быть отрицательным": "",
|
|
1047
|
-
" Ограничение доступного времени.": "",
|
|
1048
|
-
"Перечисление элементов": "",
|
|
1049
|
-
"Валюта @enum {eur, rub, usd}": "",
|
|
1050
|
-
"Подключить бесконечный скролл": "",
|
|
1051
|
-
"Аттрибут (название) в форме для поля с флагом, определяющим есть ли следующая страница": "",
|
|
1052
|
-
"Аттрибут (название) в форме для поля с номером текущей страницы": "",
|
|
1053
|
-
"Кастомная иконка для сворачивания элементов": "",
|
|
1054
|
-
"CSS-класс для элемента навигации.": "",
|
|
1055
|
-
"Тип данных для параметров маршрута.": "",
|
|
1056
|
-
"Обертка над Redux Store со встроенными middleware (thunk, multi, promise..) и react-router.": ""
|
|
1048
|
+
"Кастомный домен для куки": "",
|
|
1049
|
+
" Автоматически устанавливает куку для всех поддоменов текущего домена,\n но только если параметр domain не указан явно": "",
|
|
1050
|
+
"Флаг, который указывает, что высота поля должна быть равна высоте контента": ""
|
|
1057
1051
|
}
|
package/hooks/useAddressBar.d.ts
CHANGED
|
@@ -24,11 +24,5 @@ export interface IAddressBarOutput {
|
|
|
24
24
|
export declare const defaultFromStringConverter: (value: any, type: any, item: any) => any;
|
|
25
25
|
export declare const defaultToStringConverter: (value: any, type: any, item: any) => string;
|
|
26
26
|
export declare const queryRestore: (model: Model, location: any, useHash: any) => {};
|
|
27
|
-
/**
|
|
28
|
-
* WARNING
|
|
29
|
-
* Method incorrectly saves nested objects (e.g. {foo: [{bar: 1}]}
|
|
30
|
-
* // @todo use 'qs' library instead of 'query-string'
|
|
31
|
-
*
|
|
32
|
-
*/
|
|
33
27
|
export declare const queryReplace: (model: Model, location: any, values: any, useHash: any) => any[] | import("connected-react-router").CallHistoryMethodAction<[Path, LocationState?]>;
|
|
34
28
|
export default function useAddressBar(config: IAddressBarConfig): IAddressBarOutput;
|
package/hooks/useAddressBar.js
CHANGED
|
@@ -1,4 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
27
|
};
|
|
@@ -6,7 +29,7 @@ exports.__esModule = true;
|
|
|
6
29
|
exports.queryReplace = exports.queryRestore = exports.defaultToStringConverter = exports.defaultFromStringConverter = void 0;
|
|
7
30
|
var get_1 = __importDefault(require("lodash-es/get"));
|
|
8
31
|
var isEmpty_1 = __importDefault(require("lodash-es/isEmpty"));
|
|
9
|
-
var
|
|
32
|
+
var queryString = __importStar(require("qs"));
|
|
10
33
|
var connected_react_router_1 = require("connected-react-router");
|
|
11
34
|
var toInteger_1 = __importDefault(require("lodash-es/toInteger"));
|
|
12
35
|
var has_1 = __importDefault(require("lodash-es/has"));
|
|
@@ -56,7 +79,8 @@ var defaultToStringConverter = function (value, type, item) {
|
|
|
56
79
|
};
|
|
57
80
|
exports.defaultToStringConverter = defaultToStringConverter;
|
|
58
81
|
var queryRestore = function (model, location, useHash) {
|
|
59
|
-
var
|
|
82
|
+
var search = useHash ? location.hash : location.search;
|
|
83
|
+
var values = queryString.parse(search.replace(/^[?#]/, ''));
|
|
60
84
|
var result = {};
|
|
61
85
|
var attributes = (model === null || model === void 0 ? void 0 : model.attributes) || Object.keys(values);
|
|
62
86
|
attributes.forEach(function (item) {
|
|
@@ -73,12 +97,6 @@ var queryRestore = function (model, location, useHash) {
|
|
|
73
97
|
return result;
|
|
74
98
|
};
|
|
75
99
|
exports.queryRestore = queryRestore;
|
|
76
|
-
/**
|
|
77
|
-
* WARNING
|
|
78
|
-
* Method incorrectly saves nested objects (e.g. {foo: [{bar: 1}]}
|
|
79
|
-
* // @todo use 'qs' library instead of 'query-string'
|
|
80
|
-
*
|
|
81
|
-
*/
|
|
82
100
|
var queryReplace = function (model, location, values, useHash) {
|
|
83
101
|
var result = {};
|
|
84
102
|
var attributes = (model === null || model === void 0 ? void 0 : model.attributes) || Object.keys(values);
|
|
@@ -95,17 +113,17 @@ var queryReplace = function (model, location, values, useHash) {
|
|
|
95
113
|
}
|
|
96
114
|
}
|
|
97
115
|
});
|
|
98
|
-
var query =
|
|
116
|
+
var query = queryString.stringify(result);
|
|
99
117
|
if (useHash) {
|
|
100
|
-
|
|
101
|
-
if (location.hash !==
|
|
102
|
-
location.hash =
|
|
118
|
+
var hash = '#' + query;
|
|
119
|
+
if (location.hash !== hash) {
|
|
120
|
+
location.hash = hash;
|
|
103
121
|
}
|
|
104
122
|
return [];
|
|
105
123
|
}
|
|
106
|
-
|
|
107
|
-
if (location.search !==
|
|
108
|
-
return (0, connected_react_router_1.replace)(location.pathname +
|
|
124
|
+
var search = '?' + query;
|
|
125
|
+
if (location.search !== search) {
|
|
126
|
+
return (0, connected_react_router_1.replace)(location.pathname + search);
|
|
109
127
|
}
|
|
110
128
|
return [];
|
|
111
129
|
};
|
package/hooks/useDataProvider.js
CHANGED
|
@@ -180,13 +180,15 @@ function useDataProvider(config) {
|
|
|
180
180
|
if (prevAction !== ((_a = config === null || config === void 0 ? void 0 : config.dataProvider) === null || _a === void 0 ? void 0 : _a.action)) {
|
|
181
181
|
fetchRemote(false);
|
|
182
182
|
}
|
|
183
|
-
if (delayTimerRef.current) {
|
|
184
|
-
clearTimeout(delayTimerRef.current);
|
|
185
|
-
}
|
|
186
183
|
// Changed query logic
|
|
187
184
|
if (prevQuery !== config.query || !(0, isEqual_1["default"])(prevParams, dataProvider.params)) {
|
|
185
|
+
if (delayTimerRef.current) {
|
|
186
|
+
clearTimeout(delayTimerRef.current);
|
|
187
|
+
}
|
|
188
188
|
// Search with delay
|
|
189
|
-
delayTimerRef.current = setTimeout(
|
|
189
|
+
delayTimerRef.current = setTimeout(function () {
|
|
190
|
+
fetchRemote(false);
|
|
191
|
+
}, autoComplete.delay);
|
|
190
192
|
}
|
|
191
193
|
}
|
|
192
194
|
}, [autoComplete, components.http, config.autoFetch, config.dataProvider, config.initialSelectedIds, config.query, dataProvider,
|
package/hooks/useDataSelect.d.ts
CHANGED
|
@@ -47,11 +47,11 @@ export interface IDataSelectConfig {
|
|
|
47
47
|
*/
|
|
48
48
|
inputValue?: any;
|
|
49
49
|
/**
|
|
50
|
-
*
|
|
50
|
+
* Список со всеми элементами
|
|
51
51
|
*/
|
|
52
52
|
sourceItems?: IDataSelectItem[];
|
|
53
53
|
/**
|
|
54
|
-
*
|
|
54
|
+
* Ref autocomplete поиска
|
|
55
55
|
*/
|
|
56
56
|
autoCompleteInputRef?: MutableRefObject<HTMLInputElement>;
|
|
57
57
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@steroidsjs/core",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.89",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "Vladimir Kozhin <hello@kozhindev.com>",
|
|
6
6
|
"repository": {
|
|
@@ -42,8 +42,7 @@
|
|
|
42
42
|
"lodash": "^4.17.21",
|
|
43
43
|
"lodash-es": "^4.17.21",
|
|
44
44
|
"path-to-regexp": "^1.7.0",
|
|
45
|
-
"qs": "^6.
|
|
46
|
-
"query-string": "^6.14.0",
|
|
45
|
+
"qs": "^6.14.1",
|
|
47
46
|
"react": "^18.2.0",
|
|
48
47
|
"react-click-outside": "^3.0.1",
|
|
49
48
|
"react-day-picker": "^8.7.1",
|
|
@@ -34,7 +34,7 @@ export interface IIconProps extends Omit<IUiComponent, 'className' | 'style'>, P
|
|
|
34
34
|
*/
|
|
35
35
|
title?: string;
|
|
36
36
|
/**
|
|
37
|
-
*
|
|
37
|
+
* Должен ли данный элемент участвовать в последовательной навигации
|
|
38
38
|
*/
|
|
39
39
|
tabIndex?: number;
|
|
40
40
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ChangeEvent, KeyboardEventHandler } from 'react';
|
|
1
|
+
import React, { ChangeEvent, KeyboardEventHandler } from 'react';
|
|
2
2
|
import { IFieldWrapperOutputProps } from '../Field/fieldWrapper';
|
|
3
3
|
import { IBaseFieldProps } from '../InputField/InputField';
|
|
4
4
|
/**
|
|
@@ -11,6 +11,11 @@ export interface ITextFieldProps extends IBaseFieldProps {
|
|
|
11
11
|
* @example true
|
|
12
12
|
*/
|
|
13
13
|
submitOnEnter?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Флаг, который указывает, что высота поля должна быть равна высоте контента
|
|
16
|
+
* @example false
|
|
17
|
+
*/
|
|
18
|
+
autoHeight?: boolean;
|
|
14
19
|
}
|
|
15
20
|
export interface ITextFieldViewProps extends ITextFieldProps, IFieldWrapperOutputProps {
|
|
16
21
|
inputProps: {
|
|
@@ -21,6 +26,7 @@ export interface ITextFieldViewProps extends ITextFieldProps, IFieldWrapperOutpu
|
|
|
21
26
|
placeholder: string;
|
|
22
27
|
disabled: boolean;
|
|
23
28
|
required: boolean;
|
|
29
|
+
ref: React.MutableRefObject<any>;
|
|
24
30
|
};
|
|
25
31
|
onClear: VoidFunction;
|
|
26
32
|
}
|
|
@@ -38,12 +38,13 @@ function TextField(props) {
|
|
|
38
38
|
var _a;
|
|
39
39
|
return (__assign({ name: props.input.name, value: (_a = props.input.value) !== null && _a !== void 0 ? _a : '', onChange: handleChange, onKeyUp: onKeyUp, placeholder: props.placeholder, disabled: props.disabled, required: props.required, ref: inputRef }, props.inputProps));
|
|
40
40
|
}, [props.input.name, props.input.value, props.placeholder, props.disabled, props.required, props.inputProps, handleChange, onKeyUp, inputRef]);
|
|
41
|
-
var viewProps = (0, react_1.useMemo)(function () { return (__assign(__assign({}, props.viewProps), { inputProps: inputProps, onClear: onClear, errors: props.errors, size: props.size, className: props.className, showClear: props.showClear })); }, [inputProps, onClear, props.className, props.errors, props.showClear, props.size, props.viewProps]);
|
|
41
|
+
var viewProps = (0, react_1.useMemo)(function () { return (__assign(__assign({}, props.viewProps), { inputProps: inputProps, onClear: onClear, errors: props.errors, size: props.size, className: props.className, showClear: props.showClear, autoHeight: props.autoHeight })); }, [inputProps, onClear, props.className, props.errors, props.showClear, props.size, props.viewProps, props.autoHeight]);
|
|
42
42
|
return components.ui.renderView(props.view || 'form.TextFieldView', viewProps);
|
|
43
43
|
}
|
|
44
44
|
TextField.defaultProps = {
|
|
45
45
|
disabled: false,
|
|
46
46
|
required: false,
|
|
47
|
-
submitOnEnter: false
|
|
47
|
+
submitOnEnter: false,
|
|
48
|
+
autoHeight: false
|
|
48
49
|
};
|
|
49
50
|
exports["default"] = (0, fieldWrapper_1["default"])(enums_1.FieldEnum.TEXT_FIELD, TextField);
|
package/ui/list/Grid/Grid.d.ts
CHANGED
package/ui/list/List/List.js
CHANGED
|
@@ -50,6 +50,7 @@ function List(props) {
|
|
|
50
50
|
actionMethod: props.actionMethod,
|
|
51
51
|
pagination: props.pagination,
|
|
52
52
|
paginationSize: props.paginationSize,
|
|
53
|
+
infiniteScroll: props.infiniteScroll,
|
|
53
54
|
sort: props.sort,
|
|
54
55
|
layout: props.layout,
|
|
55
56
|
empty: props.empty,
|
|
@@ -67,7 +68,7 @@ function List(props) {
|
|
|
67
68
|
initialItems: props.initialItems,
|
|
68
69
|
initialTotal: props.initialTotal,
|
|
69
70
|
autoFetchOnFormChanges: props.autoFetchOnFormChanges
|
|
70
|
-
}), list = _a.list, paginationPosition = _a.paginationPosition, paginationSizePosition = _a.paginationSizePosition, layoutNamesPosition = _a.layoutNamesPosition, renderList = _a.renderList, renderLoading = _a.renderLoading, renderEmpty = _a.renderEmpty, renderPagination = _a.renderPagination, renderPaginationSize = _a.renderPaginationSize, renderLayoutNames = _a.renderLayoutNames, renderSearchForm = _a.renderSearchForm;
|
|
71
|
+
}), list = _a.list, paginationPosition = _a.paginationPosition, paginationSizePosition = _a.paginationSizePosition, layoutNamesPosition = _a.layoutNamesPosition, renderList = _a.renderList, renderLoading = _a.renderLoading, renderEmpty = _a.renderEmpty, renderPagination = _a.renderPagination, renderPaginationSize = _a.renderPaginationSize, renderLayoutNames = _a.renderLayoutNames, renderSearchForm = _a.renderSearchForm, renderInfiniteScroll = _a.renderInfiniteScroll;
|
|
71
72
|
var ItemView = props.itemView || components.ui.getView('list.ListItemView');
|
|
72
73
|
var content = ((list === null || list === void 0 ? void 0 : list.items) || []).map(function (item, index) { return (React.createElement(ItemView, __assign({}, props.itemProps, { key: item[props.primaryKey] || index, primaryKey: props.primaryKey, item: item, index: index, layoutSelected: list.layoutName }))); });
|
|
73
74
|
var viewProps = (0, react_1.useMemo)(function () { return ({
|
|
@@ -82,12 +83,12 @@ function List(props) {
|
|
|
82
83
|
renderPaginationSize: renderPaginationSize,
|
|
83
84
|
renderLayoutNames: renderLayoutNames,
|
|
84
85
|
renderSearchForm: renderSearchForm,
|
|
86
|
+
renderInfiniteScroll: renderInfiniteScroll,
|
|
85
87
|
content: content,
|
|
86
88
|
isLoading: props.isLoading,
|
|
87
89
|
className: props.className,
|
|
88
90
|
contentClassName: props.contentClassName
|
|
89
|
-
}); }, [
|
|
90
|
-
props.isLoading, renderEmpty, renderLayoutNames, renderList, renderPagination, renderPaginationSize, renderSearchForm, renderLoading]);
|
|
91
|
+
}); }, [list, paginationPosition, paginationSizePosition, layoutNamesPosition, renderList, renderLoading, renderEmpty, renderPagination, renderPaginationSize, renderLayoutNames, renderSearchForm, renderInfiniteScroll, content, props.isLoading, props.className, props.contentClassName]);
|
|
91
92
|
return components.ui.renderView(props.view || 'list.ListView', viewProps);
|
|
92
93
|
}
|
|
93
94
|
exports["default"] = List;
|