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.
Files changed (37) hide show
  1. package/CODE_STYLE.md +109 -0
  2. package/PROJECT_STRUCTURE.md +90 -2
  3. package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
  4. package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
  5. package/assets/img/icons/icons-sprite-light-3.svg +227 -227
  6. package/assets/img/icons/icons-sprite-light-5.svg +488 -488
  7. package/components/common/browse/blocks/lib/models/types.ts +1 -1
  8. package/components/common/browse/lib/models/interfaces.ts +5 -5
  9. package/components/common/diagramMain/adapter/AdapterItems.vue +61 -61
  10. package/components/common/diagramMain/lib/config/initial.ts +50 -50
  11. package/components/common/diagramMain/lib/models/types.ts +21 -21
  12. package/components/common/diagramMain/lib/utils/utils.ts +331 -331
  13. package/components/common/diagramMain/modals/ManagePhysicalAdaptersModal.vue +330 -330
  14. package/components/common/diagramMain/modals/editSettings/ConfirmTeamingSettingsModal.vue +40 -40
  15. package/components/common/diagramMain/modals/editSettings/EditSettings.vue +497 -497
  16. package/components/common/diagramMain/modals/editSettings/EditSettingsModal.vue +812 -812
  17. package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +214 -214
  18. package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +189 -189
  19. package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +163 -163
  20. package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +175 -175
  21. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +346 -346
  22. package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +205 -205
  23. package/components/common/diagramMain/modals/lib/config/initial.ts +180 -180
  24. package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +90 -90
  25. package/components/common/diagramMain/modals/lib/mappers/mappers.ts +87 -87
  26. package/components/common/diagramMain/modals/lib/utils/index.ts +24 -24
  27. package/components/common/diagramMain/modals/migrateVmkernelAdapter/lib/config/steps.ts +114 -114
  28. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +169 -169
  29. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/SelectVmkernelAdapter.vue +159 -159
  30. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +14 -14
  31. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +137 -137
  32. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +52 -52
  33. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -19
  34. package/components/common/diagramMain/port/Ports.vue +47 -47
  35. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/config/utils.ts +1040 -1040
  36. package/composables/useLocalStorage.ts +1 -1
  37. package/package.json +2 -2
package/CODE_STYLE.md ADDED
@@ -0,0 +1,109 @@
1
+ ![JavaScript](https://img.shields.io/badge/JavaScript-F7DF1E?style=for-the-badge&logo=javascript&logoColor=black)
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
+ ![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge&logo=typescript&logoColor=white)
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
+ ![Vue.js](https://img.shields.io/badge/Vue.js-35495E?style=for-the-badge&logo=vue.js&logoColor=4FC08D)
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
+ ```
@@ -26,8 +26,35 @@
26
26
 
27
27
  ---
28
28
 
29
- ## models
30
- Папка в которой хронятся interfaces, types и enums глобальные и к примеру те которые нельзя создавать в plugins и т.п.
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.