@steroidsjs/core 3.0.0-beta.100 → 3.0.0-beta.102

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.
@@ -131,9 +131,9 @@ export default class HttpComponent implements IHttpComponent {
131
131
  post(url: any, params?: {}, options?: IHttpRequestOptions): any;
132
132
  delete(url: any, params?: {}, options?: IHttpRequestOptions): any;
133
133
  send(method: any, url: any, params?: {}, options?: IHttpRequestOptions): any;
134
- private _send;
135
- private _sendAxios;
134
+ protected _send(method: any, config: any, options: IHttpRequestOptions): any;
135
+ protected _sendAxios(config: any, options: IHttpRequestOptions): any;
136
136
  afterRequest(response: any, config: any, options: IHttpRequestOptions): any;
137
- private _onTwoFactor;
137
+ protected _onTwoFactor(providerName: any): Promise<unknown>;
138
138
  }
139
139
  export {};
@@ -73,5 +73,5 @@ export default class LocaleComponent implements ILocaleComponent {
73
73
  dayjs(date?: string, format?: string): dayjs.Dayjs;
74
74
  t(message: any, params?: {}): any;
75
75
  translate(message: any, params?: {}): any;
76
- private _pasteComponents;
76
+ protected _pasteComponents(message: any, components: any): any;
77
77
  }
@@ -69,5 +69,94 @@ export default class MetaComponent implements IMetaComponent {
69
69
  primaryKey: any;
70
70
  attributes: any[];
71
71
  };
72
- private _defaultTypes;
72
+ protected _defaultTypes(): {
73
+ autoTime: {
74
+ jsType: string;
75
+ field: string;
76
+ formatter: string;
77
+ };
78
+ boolean: {
79
+ jsType: string;
80
+ field: string;
81
+ formatter: string;
82
+ };
83
+ dateTime: {
84
+ jsType: string;
85
+ field: string;
86
+ formatter: string;
87
+ };
88
+ date: {
89
+ jsType: string;
90
+ field: string;
91
+ formatter: string;
92
+ };
93
+ double: {
94
+ jsType: string;
95
+ field: string;
96
+ };
97
+ email: {
98
+ jsType: string;
99
+ field: string;
100
+ fieldProps: {
101
+ type: string;
102
+ };
103
+ };
104
+ enum: {
105
+ jsType: string;
106
+ field: string;
107
+ formatter: string;
108
+ };
109
+ file: {
110
+ jsType: string;
111
+ field: string;
112
+ };
113
+ files: {
114
+ jsType: string;
115
+ field: string;
116
+ fieldProps: {
117
+ multiple: boolean;
118
+ };
119
+ };
120
+ html: {
121
+ jsType: string;
122
+ field: string;
123
+ };
124
+ integer: {
125
+ jsType: string;
126
+ field: string;
127
+ };
128
+ password: {
129
+ jsType: string;
130
+ field: string;
131
+ };
132
+ phone: {
133
+ jsType: string;
134
+ field: string;
135
+ fieldProps: {
136
+ type: string;
137
+ };
138
+ };
139
+ primaryKey: {
140
+ jsType: string;
141
+ field: string;
142
+ fieldProps: {
143
+ type: string;
144
+ };
145
+ searchFieldProps: {
146
+ type: string;
147
+ };
148
+ };
149
+ string: {
150
+ jsType: string;
151
+ field: string;
152
+ };
153
+ text: {
154
+ jsType: string;
155
+ field: string;
156
+ };
157
+ time: {
158
+ jsType: string;
159
+ field: string;
160
+ };
161
+ };
73
162
  }
@@ -87,8 +87,8 @@ export interface IResourceComponent extends IResourceComponentConfig {
87
87
  * Компонент для подгрузки внешних API: Google Maps, Yandex Maps, Twitter, ...
88
88
  */
89
89
  export default class ResourceComponent implements IResourceComponent {
90
- private _callbacks;
91
- private _components;
90
+ protected _callbacks: any;
91
+ protected _components: any;
92
92
  googleApiKey: string;
93
93
  googleCaptchaSiteKey: string;
94
94
  language: string;
@@ -127,15 +127,15 @@ export interface IUiApplicationComponent {
127
127
  */
128
128
  export default class UiComponent implements IUiApplicationComponent {
129
129
  components: IComponents;
130
- private _components;
131
- private _models;
130
+ protected _components: any;
131
+ protected _models: any;
132
132
  icons: {
133
133
  [name: string]: string | number | ReactNode;
134
134
  } | any;
135
135
  fields: any;
136
136
  formatters: any;
137
- private _registeredFields;
138
- private _portalElement;
137
+ protected _registeredFields: any;
138
+ protected _portalElement: HTMLDivElement;
139
139
  constructor(components: any);
140
140
  addViews(components: any): void;
141
141
  renderView(Component: any, props: any, forceNode?: boolean): any;
@@ -151,9 +151,9 @@ export default class UiComponent implements IUiApplicationComponent {
151
151
  addModels(models: any): void;
152
152
  registerField(formId: any, attribute: any, type: any): void;
153
153
  getRegisteredFields(formId: any): any;
154
- private _add;
155
- private _getComponent;
156
- private _getPropsConfig;
154
+ protected _add(group: any, items: any, defaultNamespace?: any): void;
155
+ protected _getComponent(group: any, path: any): any;
156
+ protected _getPropsConfig(group: any, path: any): any;
157
157
  setPortalElement(element: any): void;
158
158
  getPortalElement(): HTMLDivElement;
159
159
  }
@@ -81,10 +81,10 @@ export default class WebSocketComponent implements IWebSocketComponent {
81
81
  subscribe(streams: any): void;
82
82
  unsubscribeStream(stream: any, id: any): void;
83
83
  unsubscribe(streams: any): void;
84
- private _connect;
85
- private _reConnect;
86
- private _onOpen;
87
- private _onMessage;
88
- private _onClose;
84
+ protected _connect(): Promise<void>;
85
+ protected _reConnect(): void;
86
+ protected _onOpen(event: any): void;
87
+ protected _onMessage(message: any): void;
88
+ protected _onClose(event: any): void;
89
89
  }
90
90
  export {};
@@ -4246,6 +4246,14 @@
4246
4246
  "type": "any",
4247
4247
  "example": null
4248
4248
  },
4249
+ {
4250
+ "name": "eventGroupInitialValues",
4251
+ "decorators": [],
4252
+ "description": "",
4253
+ "required": false,
4254
+ "type": "{color: string, label: string}",
4255
+ "example": null
4256
+ },
4249
4257
  {
4250
4258
  "name": "group",
4251
4259
  "decorators": [],
@@ -5190,6 +5198,292 @@
5190
5198
  }
5191
5199
  ]
5192
5200
  },
5201
+ "IChatMessage": {
5202
+ "name": "IChatMessage",
5203
+ "moduleName": "ui/content/Chat/Chat",
5204
+ "title": "",
5205
+ "description": "",
5206
+ "tags": {},
5207
+ "defaultProps": null,
5208
+ "extends": [],
5209
+ "properties": [
5210
+ {
5211
+ "name": "id",
5212
+ "decorators": [],
5213
+ "description": "",
5214
+ "required": true,
5215
+ "type": "number",
5216
+ "example": null
5217
+ },
5218
+ {
5219
+ "name": "text",
5220
+ "decorators": [],
5221
+ "description": "",
5222
+ "required": true,
5223
+ "type": "string",
5224
+ "example": null
5225
+ },
5226
+ {
5227
+ "name": "timestamp",
5228
+ "decorators": [],
5229
+ "description": "",
5230
+ "required": true,
5231
+ "type": "string | Date",
5232
+ "example": null
5233
+ },
5234
+ {
5235
+ "name": "user",
5236
+ "decorators": [],
5237
+ "description": "",
5238
+ "required": true,
5239
+ "type": "IChatUser",
5240
+ "example": null
5241
+ }
5242
+ ]
5243
+ },
5244
+ "IChatProps": {
5245
+ "name": "IChatProps",
5246
+ "moduleName": "ui/content/Chat/Chat",
5247
+ "title": "",
5248
+ "description": "",
5249
+ "tags": {},
5250
+ "defaultProps": null,
5251
+ "extends": [
5252
+ "IUiComponent"
5253
+ ],
5254
+ "properties": [
5255
+ {
5256
+ "name": "chatId",
5257
+ "decorators": [],
5258
+ "description": "Идентификатор чата",
5259
+ "required": true,
5260
+ "type": "string",
5261
+ "example": "TaskChat"
5262
+ },
5263
+ {
5264
+ "name": "className",
5265
+ "decorators": [],
5266
+ "description": "Дополнительный CSS-класс для элемента отображения",
5267
+ "required": false,
5268
+ "type": "string",
5269
+ "example": null
5270
+ },
5271
+ {
5272
+ "name": "currentUser",
5273
+ "decorators": [],
5274
+ "description": "Данные о текущем пользователе, нужны для отправки сообщений и определения сообщений пользователя",
5275
+ "required": true,
5276
+ "type": "IChatUser",
5277
+ "example": "{\n id: 1,\n firstName: 'Olga',\n lastName: 'Petrova',\n avatar: {\n src: 'images.com/image.png',\n status: true,\n },\n }"
5278
+ },
5279
+ {
5280
+ "name": "messages",
5281
+ "decorators": [],
5282
+ "description": "Коллекция сообщений,",
5283
+ "required": true,
5284
+ "type": "IChatMessage[]",
5285
+ "example": "[\n {\n id: 1,\n text: 'Всем привет!',\n user: {\n id: 1,\n firstName: 'Olga',\n lastName: 'Petrova',\n avatar: {\n src: 'images.com/image.png',\n status: true,\n },\n },\n timestamp: '2023-10-25T12:38:00',\n },\n]"
5286
+ },
5287
+ {
5288
+ "name": "onSendMessage",
5289
+ "decorators": [],
5290
+ "description": "Обработчик события отправки сообщения",
5291
+ "required": false,
5292
+ "type": "{}",
5293
+ "example": null
5294
+ },
5295
+ {
5296
+ "name": "style",
5297
+ "decorators": [],
5298
+ "description": "Объект CSS стилей",
5299
+ "required": false,
5300
+ "type": "CSSProperties",
5301
+ "example": "{width: '45%'}"
5302
+ },
5303
+ {
5304
+ "name": "view",
5305
+ "decorators": [],
5306
+ "description": "Переопределение view React компонента для кастомизации отображения",
5307
+ "required": false,
5308
+ "type": "React.ReactNode | {}",
5309
+ "example": "MyCustomView"
5310
+ }
5311
+ ]
5312
+ },
5313
+ "IChatUser": {
5314
+ "name": "IChatUser",
5315
+ "moduleName": "ui/content/Chat/Chat",
5316
+ "title": "",
5317
+ "description": "",
5318
+ "tags": {},
5319
+ "defaultProps": null,
5320
+ "extends": [],
5321
+ "properties": [
5322
+ {
5323
+ "name": "avatar",
5324
+ "decorators": [],
5325
+ "description": "",
5326
+ "required": false,
5327
+ "type": "IAvatarProps",
5328
+ "example": null
5329
+ },
5330
+ {
5331
+ "name": "firstName",
5332
+ "decorators": [],
5333
+ "description": "",
5334
+ "required": false,
5335
+ "type": "string",
5336
+ "example": null
5337
+ },
5338
+ {
5339
+ "name": "id",
5340
+ "decorators": [],
5341
+ "description": "",
5342
+ "required": true,
5343
+ "type": "number",
5344
+ "example": null
5345
+ },
5346
+ {
5347
+ "name": "lastName",
5348
+ "decorators": [],
5349
+ "description": "",
5350
+ "required": false,
5351
+ "type": "string",
5352
+ "example": null
5353
+ }
5354
+ ]
5355
+ },
5356
+ "IChatViewProps": {
5357
+ "name": "IChatViewProps",
5358
+ "moduleName": "ui/content/Chat/Chat",
5359
+ "title": "",
5360
+ "description": "",
5361
+ "tags": {},
5362
+ "defaultProps": null,
5363
+ "extends": [
5364
+ "Omit<IChatProps",
5365
+ "'messages'>"
5366
+ ],
5367
+ "properties": [
5368
+ {
5369
+ "name": "chatId",
5370
+ "decorators": [],
5371
+ "description": "Идентификатор чата",
5372
+ "required": true,
5373
+ "type": "string",
5374
+ "example": "TaskChat"
5375
+ },
5376
+ {
5377
+ "name": "className",
5378
+ "decorators": [],
5379
+ "description": "Дополнительный CSS-класс для элемента отображения",
5380
+ "required": false,
5381
+ "type": "string",
5382
+ "example": null
5383
+ },
5384
+ {
5385
+ "name": "currentUser",
5386
+ "decorators": [],
5387
+ "description": "Данные о текущем пользователе, нужны для отправки сообщений и определения сообщений пользователя",
5388
+ "required": true,
5389
+ "type": "IChatUser",
5390
+ "example": "{\n id: 1,\n firstName: 'Olga',\n lastName: 'Petrova',\n avatar: {\n src: 'images.com/image.png',\n status: true,\n },\n }"
5391
+ },
5392
+ {
5393
+ "name": "groupedMessagesByDates",
5394
+ "decorators": [],
5395
+ "description": "",
5396
+ "required": true,
5397
+ "type": "Record",
5398
+ "example": null
5399
+ },
5400
+ {
5401
+ "name": "onSendMessage",
5402
+ "decorators": [],
5403
+ "description": "",
5404
+ "required": true,
5405
+ "type": "{}",
5406
+ "example": null
5407
+ },
5408
+ {
5409
+ "name": "style",
5410
+ "decorators": [],
5411
+ "description": "Объект CSS стилей",
5412
+ "required": false,
5413
+ "type": "CSSProperties",
5414
+ "example": "{width: '45%'}"
5415
+ },
5416
+ {
5417
+ "name": "view",
5418
+ "decorators": [],
5419
+ "description": "Переопределение view React компонента для кастомизации отображения",
5420
+ "required": false,
5421
+ "type": "React.ReactNode | {}",
5422
+ "example": "MyCustomView"
5423
+ }
5424
+ ]
5425
+ },
5426
+ "IGroupedMessage": {
5427
+ "name": "IGroupedMessage",
5428
+ "moduleName": "ui/content/Chat/hooks/useChat",
5429
+ "title": "",
5430
+ "description": "",
5431
+ "tags": {},
5432
+ "defaultProps": null,
5433
+ "extends": [
5434
+ "IChatMessage"
5435
+ ],
5436
+ "properties": [
5437
+ {
5438
+ "name": "id",
5439
+ "decorators": [],
5440
+ "description": "",
5441
+ "required": true,
5442
+ "type": "number",
5443
+ "example": null
5444
+ },
5445
+ {
5446
+ "name": "isFirstMessage",
5447
+ "decorators": [],
5448
+ "description": "",
5449
+ "required": false,
5450
+ "type": "boolean",
5451
+ "example": null
5452
+ },
5453
+ {
5454
+ "name": "isLastMessage",
5455
+ "decorators": [],
5456
+ "description": "",
5457
+ "required": false,
5458
+ "type": "boolean",
5459
+ "example": null
5460
+ },
5461
+ {
5462
+ "name": "text",
5463
+ "decorators": [],
5464
+ "description": "",
5465
+ "required": true,
5466
+ "type": "string",
5467
+ "example": null
5468
+ },
5469
+ {
5470
+ "name": "timestamp",
5471
+ "decorators": [],
5472
+ "description": "",
5473
+ "required": true,
5474
+ "type": "string | Date",
5475
+ "example": null
5476
+ },
5477
+ {
5478
+ "name": "user",
5479
+ "decorators": [],
5480
+ "description": "",
5481
+ "required": true,
5482
+ "type": "IChatUser",
5483
+ "example": null
5484
+ }
5485
+ ]
5486
+ },
5193
5487
  "ICopyToClipboardProps": {
5194
5488
  "name": "ICopyToClipboardProps",
5195
5489
  "moduleName": "ui/content/CopyToClipboard/CopyToClipboard",
@@ -31027,6 +31321,22 @@
31027
31321
  "type": "IChartProps",
31028
31322
  "example": null
31029
31323
  },
31324
+ "IChatConfig": {
31325
+ "name": "IChatConfig",
31326
+ "decorators": [],
31327
+ "description": "",
31328
+ "required": true,
31329
+ "type": "Pick",
31330
+ "example": null
31331
+ },
31332
+ "IGroupedMessagesByDates": {
31333
+ "name": "IGroupedMessagesByDates",
31334
+ "decorators": [],
31335
+ "description": "",
31336
+ "required": true,
31337
+ "type": "Record",
31338
+ "example": null
31339
+ },
31030
31340
  "IKanbanViewProps": {
31031
31341
  "name": "IKanbanViewProps",
31032
31342
  "decorators": [],
package/en.json CHANGED
@@ -914,5 +914,9 @@
914
914
  "Внутреннее описания события": "",
915
915
  "Идентификатор": "",
916
916
  "События группы": "",
917
- "Название группы": ""
917
+ "Название группы": "",
918
+ "Идентификатор чата": "",
919
+ "Данные о текущем пользователе, нужны для отправки сообщений и определения сообщений пользователя": "",
920
+ "Коллекция сообщений,": "",
921
+ "Обработчик события отправки сообщения": ""
918
922
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steroidsjs/core",
3
- "version": "3.0.0-beta.100",
3
+ "version": "3.0.0-beta.102",
4
4
  "description": "",
5
5
  "author": "Vladimir Kozhin <hello@kozhindev.com>",
6
6
  "repository": {
@@ -1,9 +1,12 @@
1
1
  /// <reference types="react" />
2
+ import { ICheckboxListFieldProps } from 'src/ui/form/CheckboxListField/CheckboxListField';
3
+ import { IButtonGroupProps } from 'src/ui/nav/ButtonGroup/ButtonGroup';
2
4
  /**
3
5
  * Chart
4
- * Этот компонент позволяет создавать в проекте графики разных типов. Под капотом для графиков используется библиотека nivo.
5
- * Для работы этого компонента необходимо установить в проекте зависимости @nivo/core и пакет конкретного графика nivo, например @nivo/line.
6
- * Компонент графика nivo нужно передать в пропс chartComponent
6
+ * Этот компонент позволяет создавать в проекте графики разных типов, используя библиотеки nivo, react-vis и другие.
7
+ * Под капотом для графиков могут использоваться различные библиотеки в зависимости от предпочтений и потребностей проекта.
8
+ * Для работы с nivo графиками, необходимо установить в проекте зависимости @nivo/core и соответствующий пакет графика, например @nivo/line.
9
+ * Компонент графика, независимо от выбранной библиотеки, нужно передать в пропс chartComponent.
7
10
  */
8
11
  export interface IChartProps extends IUiComponent {
9
12
  /**
@@ -15,17 +18,36 @@ export interface IChartProps extends IUiComponent {
15
18
  * Данные для графика
16
19
  * @example [{id: 1, value: 15}, {id: 2, value: 30}]
17
20
  */
18
- data: Record<string, any>[];
21
+ data?: Record<string, any>[];
19
22
  /**
20
23
  * Конфигурация, настройки отображения графика
21
24
  * @example {lineWidth: 3, pointSize: 10}
22
25
  */
23
26
  config?: Record<string, any>;
24
27
  /**
25
- * Фиксированная высота графика в пикселях
28
+ * Фиксированная высота обертки в пикселях
26
29
  * @example 500
27
30
  */
28
- height?: number;
31
+ wrapperHeight?: number;
32
+ /**
33
+ * Фиксированная высота обертки в пикселях
34
+ * @example 500
35
+ */
36
+ chartHeight?: number;
37
+ /**
38
+ * Чекбоксы
39
+ * Могут служить в качестве настаиваемых контроллов для создания функционала
40
+ */
41
+ checkboxes?: ICheckboxListFieldProps;
42
+ /**
43
+ * Кнопки
44
+ * Могут служить в качестве настаиваемых контроллов для создания функционала
45
+ */
46
+ buttonGroup?: IButtonGroupProps;
47
+ /**
48
+ * Заголовок графика
49
+ */
50
+ title?: string;
29
51
  /**
30
52
  * Использовать ли дефолтную конфигурацию для графика типа line
31
53
  * @example ResponsiveLine