bfg-common 1.5.18 → 1.5.19
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/CODE_STYLE.md +109 -0
- package/PROJECT_STRUCTURE.md +90 -2
- package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
- package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
- package/assets/img/icons/icons-sprite-light-3.svg +227 -227
- package/assets/img/icons/icons-sprite-light-5.svg +488 -488
- package/components/common/browse/blocks/lib/models/types.ts +1 -1
- package/components/common/browse/lib/models/interfaces.ts +5 -5
- package/components/common/diagramMain/adapter/AdapterItems.vue +61 -61
- package/components/common/diagramMain/lib/config/initial.ts +50 -50
- package/components/common/diagramMain/lib/models/types.ts +21 -21
- package/components/common/diagramMain/lib/utils/utils.ts +331 -331
- package/components/common/diagramMain/modals/ManagePhysicalAdaptersModal.vue +330 -330
- package/components/common/diagramMain/modals/editSettings/ConfirmTeamingSettingsModal.vue +40 -40
- package/components/common/diagramMain/modals/editSettings/EditSettings.vue +497 -497
- package/components/common/diagramMain/modals/editSettings/EditSettingsModal.vue +812 -812
- package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +214 -214
- package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +189 -189
- package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +163 -163
- package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +175 -175
- package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +346 -346
- package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +205 -205
- package/components/common/diagramMain/modals/lib/config/initial.ts +180 -180
- package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +90 -90
- package/components/common/diagramMain/modals/lib/mappers/mappers.ts +87 -87
- package/components/common/diagramMain/modals/lib/utils/index.ts +24 -24
- package/components/common/diagramMain/modals/migrateVmkernelAdapter/lib/config/steps.ts +114 -114
- package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +169 -169
- package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/SelectVmkernelAdapter.vue +159 -159
- package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +14 -14
- package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +137 -137
- package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +52 -52
- package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -19
- package/components/common/diagramMain/port/Ports.vue +47 -47
- package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/config/utils.ts +1040 -1040
- package/composables/useLocalStorage.ts +1 -1
- package/package.json +2 -2
package/CODE_STYLE.md
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+

|
|
2
|
+
## Javascript
|
|
3
|
+
|
|
4
|
+
### Название переменных
|
|
5
|
+
|
|
6
|
+
Используем camelCase:
|
|
7
|
+
```javascript
|
|
8
|
+
const theExample = 0
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Название переменных должно быть содержательным:
|
|
12
|
+
```javascript
|
|
13
|
+
const desc = 'some description' // Плохо
|
|
14
|
+
|
|
15
|
+
const description = 'some description' // Хорошо
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Если переменная типа boolean, используем префиксы is или has:
|
|
19
|
+
```javascript
|
|
20
|
+
const isDisabled = true
|
|
21
|
+
|
|
22
|
+
const hasName = false
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Приоритетно используем стрелочные функции:
|
|
26
|
+
```javascript
|
|
27
|
+
const example = () => {...}
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+

|
|
33
|
+
## Typescript
|
|
34
|
+
|
|
35
|
+
### Interface
|
|
36
|
+
Название интерфейсов начинаем с префикса **I_** (также есть **API_**, **UI_**, подробно об этом написано в файле PROJECT_STRUCTURE.md):
|
|
37
|
+
```typescript
|
|
38
|
+
interface I_Example
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Type
|
|
42
|
+
Название типов начинаем с префикса **T_**:
|
|
43
|
+
```typescript
|
|
44
|
+
type T_Example
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Enum
|
|
48
|
+
Название enum начинаем с префикса **E_**:
|
|
49
|
+
```typescript
|
|
50
|
+
enum E_Example
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
P.S. Нужно писать как можно более понятные типы.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+

|
|
58
|
+
## Vue
|
|
59
|
+
|
|
60
|
+
### Название тегов
|
|
61
|
+
Используем kebab-case:
|
|
62
|
+
```html
|
|
63
|
+
<the-button>Button</the-button>
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Название тега
|
|
67
|
+
Название тега не должно состоять из одного слова:
|
|
68
|
+
```html
|
|
69
|
+
<example></example> // Плохо
|
|
70
|
+
|
|
71
|
+
<the-example></the-example> // Хорошо
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Использование "the" в названии тега
|
|
75
|
+
Если название тега, к примеру, icon, должно быть так:
|
|
76
|
+
```html
|
|
77
|
+
<the-icon></the-icon>
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Использование самозакрывающихся тегов
|
|
81
|
+
Если в тег ничего не передаем, то используем его как самозакрывающийся:
|
|
82
|
+
```html
|
|
83
|
+
<the-icon/>
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Props / Emits
|
|
87
|
+
Props пишем в kebab-case:
|
|
88
|
+
```html
|
|
89
|
+
<the-example my-name="Name"/>
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Emits пишем в kebab-case, ключ первого аргумента всегда "event", а второго - "value":
|
|
93
|
+
```javascript
|
|
94
|
+
const emits = defineEmits<{
|
|
95
|
+
(event: 'change-name', value: string): void
|
|
96
|
+
}>()
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### Composition API
|
|
100
|
+
Так как у нас используется Composition API, нужно весь код группировать по блокам:
|
|
101
|
+
```javascript
|
|
102
|
+
const isShowModal = ref<boolean>(false)
|
|
103
|
+
const toggleModal = (): void => isShowModal.value = !isShowModal.value
|
|
104
|
+
|
|
105
|
+
const errors = ref<string[]>([])
|
|
106
|
+
const updateErrors = (newErrors: string[]): void => {
|
|
107
|
+
errors.value = newErrors
|
|
108
|
+
}
|
|
109
|
+
```
|
package/PROJECT_STRUCTURE.md
CHANGED
|
@@ -26,8 +26,35 @@
|
|
|
26
26
|
|
|
27
27
|
---
|
|
28
28
|
|
|
29
|
-
##
|
|
30
|
-
Папка
|
|
29
|
+
## lib
|
|
30
|
+
Папка содержит глобальные утилиты, конфигурации и модели:
|
|
31
|
+
|
|
32
|
+
### config
|
|
33
|
+
В папке config хранятся файлы типа *.ts, в них находятся конфигурации.
|
|
34
|
+
Название переменных в конфигурации заканчивается на Func, если это функция.
|
|
35
|
+
```typescript
|
|
36
|
+
const exempleFunc = (localization: UI_I_localization): I_Exemple => {...}
|
|
37
|
+
|
|
38
|
+
const steps = [0, 1, 2, 3]
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### models
|
|
42
|
+
Содержит interfaces, types и enums, глобальные и те, которые нельзя создавать в pages, store, plugins и т.п.
|
|
43
|
+
|
|
44
|
+
### utils
|
|
45
|
+
Содержит вспомогательные утилиты и функции общего назначения
|
|
46
|
+
|
|
47
|
+
Структура папки lib:
|
|
48
|
+
```
|
|
49
|
+
lib
|
|
50
|
+
|-config
|
|
51
|
+
| |-someConfig.ts
|
|
52
|
+
|-models
|
|
53
|
+
| |-interfaces.ts
|
|
54
|
+
| |-types.ts
|
|
55
|
+
| |-enums.ts
|
|
56
|
+
|-utils.ts
|
|
57
|
+
```
|
|
31
58
|
|
|
32
59
|
---
|
|
33
60
|
|
|
@@ -40,3 +67,64 @@
|
|
|
40
67
|
Можно ознакомится по документации nuxt 3
|
|
41
68
|
|
|
42
69
|
---
|
|
70
|
+
|
|
71
|
+
## store (Vuex)
|
|
72
|
+
Стор у нас модульный, модули создаются как минимум по роутингу.
|
|
73
|
+
|
|
74
|
+
Основная структура такая:
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
lib
|
|
78
|
+
|-config
|
|
79
|
+
| |-someConfig.ts
|
|
80
|
+
|-models
|
|
81
|
+
| |-interfaces.ts
|
|
82
|
+
| |-types.ts
|
|
83
|
+
| |-enums.ts
|
|
84
|
+
|-utils.ts
|
|
85
|
+
mappers
|
|
86
|
+
|-someMapper.ts
|
|
87
|
+
actions.ts
|
|
88
|
+
getters.ts
|
|
89
|
+
mutations.ts
|
|
90
|
+
state.ts
|
|
91
|
+
store.ts
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
#### lib
|
|
95
|
+
В папке lib находятся:
|
|
96
|
+
- config - конфигурации store
|
|
97
|
+
- models - интерфейсы и типы для store
|
|
98
|
+
- utils.ts - вспомогательные функции
|
|
99
|
+
|
|
100
|
+
#### mappers
|
|
101
|
+
В папке mappers хранятся файлы .ts формата, в которых есть функции (мапперы), обрабатывающие ответ от бэка так, чтобы было удобно использовать на фронте.
|
|
102
|
+
|
|
103
|
+
Мапперы вызываются только из файла actions.ts и после обработки через mutations.ts попадают в state.
|
|
104
|
+
|
|
105
|
+
#### actions.ts
|
|
106
|
+
В этом файле в основном делаются запросы на бэк и обработка данных.
|
|
107
|
+
|
|
108
|
+
#### getters.ts
|
|
109
|
+
В этом файле есть методы, которые возвращают данные из state.
|
|
110
|
+
|
|
111
|
+
#### mutations.ts
|
|
112
|
+
В этом файле изменяем/обновляем данные из state.
|
|
113
|
+
|
|
114
|
+
#### state.ts
|
|
115
|
+
В этом файле хранятся переменные.
|
|
116
|
+
|
|
117
|
+
#### store.ts
|
|
118
|
+
В этом файле все собирается воедино.
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## Название папок/файлов
|
|
123
|
+
|
|
124
|
+
Название всех папок пишем в camelCase.
|
|
125
|
+
|
|
126
|
+
Название всех файлов кроме *.vue(компонент) пишем camelCase
|
|
127
|
+
|
|
128
|
+
Название всех файлов в pages *.vue (компонент) пишем в kebab-case.
|
|
129
|
+
|
|
130
|
+
Название всех файлов вне pages *.vue (компонент) пишем в PascalCase.
|