bfg-common 1.5.17 → 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 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.
@@ -2327,7 +2327,8 @@
2327
2327
  "inDevelopment": "У распрацоўцы",
2328
2328
  "showAll": "Паказаць усе",
2329
2329
  "hideAll": "Схаваць усе",
2330
- "move": "Пасунуць"
2330
+ "move": "Пасунуць",
2331
+ "objectCantBeMovedIntoItself": "Аб'ект не можа быць перамешчаны сам па сабе. Калі ласка, абярыце падыходнае месцазнаходжанне."
2331
2332
  },
2332
2333
  "auth": {
2333
2334
  "welcomeTo": "Сардэчна запрашаем у",
@@ -2331,7 +2331,8 @@
2331
2331
  "inDevelopment": "In development",
2332
2332
  "showAll": "Show All",
2333
2333
  "hideAll": "Hide All",
2334
- "move": "Move"
2334
+ "move": "Move",
2335
+ "objectCantBeMovedIntoItself": "The object can’t be moved into itself. Please select a valid location."
2335
2336
  },
2336
2337
  "auth": {
2337
2338
  "welcomeTo": "Welcome to",
@@ -2331,7 +2331,8 @@
2331
2331
  "inDevelopment": "Մշակման մեջ",
2332
2332
  "showAll": "Ցույց տալ բոլորը",
2333
2333
  "hideAll": "Թաքցնել բոլորը",
2334
- "move": "Տեղափոխել"
2334
+ "move": "Տեղափոխել",
2335
+ "objectCantBeMovedIntoItself": "Օբյեկտը չի կարող ինքնուրույն տեղափոխվել: Խնդրում ենք ընտրել համապատասխան վայրը:"
2335
2336
  },
2336
2337
  "auth": {
2337
2338
  "welcomeTo": "Բարի գալուստ",
@@ -2330,7 +2330,8 @@
2330
2330
  "inDevelopment": "Даму",
2331
2331
  "showAll": "Барлығын Көрсету",
2332
2332
  "hideAll": "Барлығын Жасыру",
2333
- "move": "Жылжыту"
2333
+ "move": "Жылжыту",
2334
+ "objectCantBeMovedIntoItself": "Объектіні өзіне жылжыту мүмкін емес. Жарамды орынды таңдаңыз."
2334
2335
  },
2335
2336
  "auth": {
2336
2337
  "welcomeTo": "Қош келдіңіз",
@@ -2332,7 +2332,8 @@
2332
2332
  "inDevelopment": "В разработке",
2333
2333
  "showAll": "Показать все",
2334
2334
  "hideAll": "Скрыть все",
2335
- "move": "Подвинут"
2335
+ "move": "Подвинут",
2336
+ "objectCantBeMovedIntoItself": "Объект не может быть перемещен сам по себе. Пожалуйста, выберите подходящее местоположение."
2336
2337
  },
2337
2338
  "auth": {
2338
2339
  "welcomeTo": "Добро пожаловать в",
@@ -2328,7 +2328,8 @@
2328
2328
  "inDevelopment": "在开发中",
2329
2329
  "showAll": "全部展示",
2330
2330
  "hideAll": "全部隐藏",
2331
- "move": "移动"
2331
+ "move": "移动",
2332
+ "objectCantBeMovedIntoItself": "对象不能移动到自己。 请选择一个有效的位置."
2332
2333
  },
2333
2334
  "auth": {
2334
2335
  "welcomeTo": "欢迎来到",
@@ -67,7 +67,7 @@
67
67
  :new-view-local="props.newViewLocal"
68
68
  :project="props.project"
69
69
  :remote-console="props.remoteConsole"
70
- :vm-cluster="props.vmClusters"
70
+ :vm-cluster="props.vmCluster"
71
71
  @show-preference="emits('show-preference')"
72
72
  @hide-preference="emits('hide-preference')"
73
73
  @change-theme-mode="emits('change-theme-mode')"
@@ -1,4 +1,4 @@
1
- const lastTimestamp = 1740651960445
1
+ const lastTimestamp = 1744866033269
2
2
 
3
3
  export const useLocalStorage = (
4
4
  name: string,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bfg-common",
3
3
  "private": false,
4
- "version": "1.5.17",
4
+ "version": "1.5.19",
5
5
  "scripts": {
6
6
  "build": "nuxt build",
7
7
  "dev": "nuxt dev --port=3002",
@@ -35,7 +35,7 @@
35
35
  "@vueuse/components": "^10.1.2",
36
36
  "date-fns": "^2.29.3",
37
37
  "bfg-nuxt-3-graph": "1.0.21",
38
- "bfg-uikit": "1.0.375",
38
+ "bfg-uikit": "1.0.377",
39
39
  "html2canvas": "^1.4.1",
40
40
  "prettier-eslint": "^15.0.1"
41
41
  }