bfg-common 1.3.615 → 1.3.616

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.
@@ -2480,5 +2480,6 @@
2480
2480
  "uniqIdClientApp": "Гэта ўнікальны ідэнтыфікатар, які выкарыстоўваецца для ідэнтыфікацыі кліенцкіх прыкладанняў пры ўзаемадзеянні з серверам ADFS (Active Directory Federation Services). Гэты ідэнтыфікатар дапамагае серверу ADFS вызначыць, якое прыкладанне робіць запыт на аўтэнтыфікацыю або аўтарызацыю.",
2481
2481
  "embedded": "Убудаваны",
2482
2482
  "offUser": "Адкл. Карыстальнік",
2483
- "addingStorage": "Даданне сховішча"
2483
+ "addingStorage": "Даданне сховішча",
2484
+ "historyTestimony": "Гісторыя паказанняў"
2484
2485
  }
@@ -2484,5 +2484,6 @@
2484
2484
  "uniqIdClientApp": "This is a unique identifier that is used to identify the client application when interacting with the ADFS (Active Directory Federation Services) server. This identifier helps the ADFS server determine which application is making the authentication or authorization request.",
2485
2485
  "embedded": "Embedded",
2486
2486
  "offUser": "Off User",
2487
- "addingStorage": "Adding Storage"
2487
+ "addingStorage": "Adding Storage",
2488
+ "historyTestimony": "History of testimony"
2488
2489
  }
@@ -2484,5 +2484,6 @@
2484
2484
  "uniqIdClientApp": "Սա եզակի նույնացուցիչ է, որն օգտագործվում է հաճախորդի հավելվածը նույնականացնելու համար ADFS (Active Directory Federation Services) սերվերի հետ շփվելիս: Այս նույնացուցիչն օգնում է ADFS սերվերին որոշել, թե որ հավելվածն է կատարում նույնականացման կամ թույլտվության հարցումը:",
2485
2485
  "embedded": "Ներկառուցված",
2486
2486
  "offUser": "Անջատված Օգտատեր",
2487
- "addingStorage": "Պահպանման ավելացում"
2487
+ "addingStorage": "Պահպանման ավելացում",
2488
+ "historyTestimony": "Վկայության պատմություն"
2488
2489
  }
@@ -2483,5 +2483,6 @@
2483
2483
  "uniqIdClientApp": "Бұл ADFS (Active Directory Federation Services) серверімен әрекеттесу кезінде клиент қолданбасын анықтау үшін пайдаланылатын бірегей идентификатор. Бұл идентификатор ADFS серверіне аутентификация немесе авторизация сұрауын қай қолданба жасап жатқанын анықтауға көмектеседі.",
2484
2484
  "embedded": "Ендірілген",
2485
2485
  "offUser": "Өшірулі Пайдаланушы",
2486
- "addingStorage": "Жад қосу"
2486
+ "addingStorage": "Жад қосу",
2487
+ "historyTestimony": "Айғақтар тарихы"
2487
2488
  }
@@ -2486,5 +2486,6 @@
2486
2486
  "uniqIdClientApp": "Это уникальный идентификатор, который используется для идентификации клиентского приложения при взаимодействии с ADFS (Active Directory Federation Services) сервером. Этот идентификатор помогает серверу ADFS определить, какое приложение делает запрос на аутентификацию или авторизацию.",
2487
2487
  "embedded": "Встроенный провайдер",
2488
2488
  "offUser": "Откл. Пользователь",
2489
- "addingStorage": "Добавление хранилища"
2489
+ "addingStorage": "Добавление хранилища",
2490
+ "historyTestimony": "История показаний"
2490
2491
  }
@@ -2482,5 +2482,6 @@
2482
2482
  "uniqIdClientApp": "这是一个唯一标识符,用于在与 ADFS(Active Directory 联合身份验证服务)服务器交互时识别客户端应用程序。此标识符帮助 ADFS 服务器确定哪个应用程序正在发出身份验证或授权请求。",
2483
2483
  "embedded": "嵌入式",
2484
2484
  "offUser": "离开用户",
2485
- "addingStorage": "添加存储空间"
2485
+ "addingStorage": "添加存储空间",
2486
+ "historyTestimony": "见证历史"
2486
2487
  }
@@ -1,240 +1,240 @@
1
- <template>
2
- <atoms-modal
3
- test-id="browse"
4
- width="864px"
5
- height="586px"
6
- :show="props.show"
7
- :title="localization.selectFile"
8
- :disabled-submit="!props.selectedFile"
9
- >
10
- <template #modalBody>
11
- <div class="filter-content">
12
- <atoms-the-icon
13
- width="16"
14
- class="filter-icon"
15
- name="filter"
16
- fill="#666"
17
- />
18
- <input
19
- type="text"
20
- data-id="browse-filter-input"
21
- :placeholder="localization.filter"
22
- />
23
- </div>
24
- <common-browse-blocks-container
25
- type="horizontal"
26
- :blocks-width="blocksWidth"
27
- @change-widths="onChangeWidths"
28
- >
29
- <template #firstBlock>
30
- <common-browse-blocks-title
31
- :width="blocksWidth[0]"
32
- :title="localization.common.datastores"
33
- :sorting="firstBlockSorting"
34
- @sort="onSortFirstBlock"
35
- >
36
- <template #content>
37
- <div class="">
38
- <common-recursion-tree
39
- :nodes="nodesLocal"
40
- class="recursion-tree"
41
- @get-nodes="onShowNodes"
42
- @select-node="onSelectNode"
43
- />
44
- </div>
45
- </template>
46
- </common-browse-blocks-title>
47
- </template>
48
- <template #secondBlock>
49
- <common-browse-blocks-title
50
- :width="blocksWidth[1]"
51
- :title="localization.contents"
52
- :sorting="secondBlockSorting"
53
- @sort="onSortSecondBlock"
54
- >
55
- <template #content>
56
- <common-browse-blocks-contents-files
57
- :selected-folder-files="filesLocal"
58
- :selected-file="props.selectedFile"
59
- @select-file="onSelectFile"
60
- />
61
- </template>
62
- </common-browse-blocks-title>
63
- </template>
64
- <template #thirdBlock>
65
- <common-browse-blocks-title
66
- :width="blocksWidth[2]"
67
- :title="localization.information"
68
- >
69
- <template v-if="info" #content>
70
- <div
71
- v-for="item in info"
72
- :key="item.title"
73
- class="info-container"
74
- >
75
- <common-browse-blocks-info-text
76
- v-if="item.type === 'text'"
77
- :title="item.title"
78
- :value="item.value"
79
- />
80
- <common-browse-blocks-info-size
81
- v-if="item.type === 'size'"
82
- :title="item.title"
83
- :value="item.value"
84
- />
85
- <common-browse-blocks-info-date
86
- v-if="item.type === 'date'"
87
- :title="item.title"
88
- :value="item.value"
89
- />
90
- </div>
91
- </template>
92
- </common-browse-blocks-title>
93
- </template>
94
- </common-browse-blocks-container>
95
- <div v-if="props.fileTypes" class="ptm">
96
- <b>{{ localization.fileType }}:</b>
97
- <select
98
- v-model="selectedFileTypeLocal"
99
- :data-id="`${props.testId}-select`"
100
- >
101
- <option
102
- v-for="item in props.fileTypes"
103
- :key="item.value"
104
- :value="item.value"
105
- >
106
- {{ item.text }}
107
- </option>
108
- </select>
109
- </div>
110
- </template>
111
- </atoms-modal>
112
- </template>
113
-
114
- <script setup lang="ts">
115
- import type { UI_I_Localization } from '~/lib/models/interfaces'
116
- import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
117
- import type { UI_T_BlocksWidth } from '~/components/common/browse/blocks/lib/models/types'
118
- import type { UI_I_FileInfo } from '~/components/common/browse/lib/models/interfaces'
119
-
120
- const props = defineProps<{
121
- show: boolean
122
- nodes: any[]
123
- files: any[]
124
- info: UI_I_FileInfo[] | null
125
- selectedFile: any | null
126
- fileTypes?: UI_I_OptionItem[]
127
- selectedFileType?: any
128
- testId?: string
129
- }>()
130
- const emits = defineEmits<{
131
- (
132
- event: 'get-nodes',
133
- value: {
134
- node: any | null
135
- cb: () => void
136
- }
137
- ): void
138
- (event: 'select-node', value: any): void
139
- (event: 'update:selected-file', value: any): void
140
- (event: 'update:selected-file-type', value: any): void
141
- }>()
142
-
143
- const { $recursion }: any = useNuxtApp()
144
-
145
- const nodesLocal = computed<any[]>(() => {
146
- if (!firstBlockSorting.value[0]) return props.nodes
147
-
148
- const nodesCopy = useDeepCopy(props.nodes)
149
- $recursion.sortByProp(nodesCopy, 'name', firstBlockSorting.value[1], 'nodes')
150
-
151
- return nodesCopy
152
- })
153
- const filesLocal = computed<any[]>(() => {
154
- if (!secondBlockSorting.value[0]) return props.files
155
-
156
- const value = secondBlockSorting.value[1] ? 1 : -1
157
- return [...props.files].sort((a, b) => {
158
- const first = a.name.toLowerCase()
159
- const second = b.name.toLowerCase()
160
- return first > second ? value : first < second ? -value : 0
161
- })
162
- })
163
-
164
- const localization = computed<UI_I_Localization>(() => useLocal())
165
-
166
- const blocksWidth = ref<UI_T_BlocksWidth>([272, 272, 256])
167
-
168
- const onChangeWidths = (width: number, index: number): void => {
169
- blocksWidth.value[index] = width
170
- }
171
- const onSelectFile = (file: any): void => {
172
- emits('update:selected-file', file)
173
- }
174
- const onSelectNode = (node: any): void => {
175
- emits('select-node', node)
176
- }
177
- const onShowNodes = (data: { node: any | null; cb: () => void }): void => {
178
- emits('get-nodes', data)
179
- }
180
-
181
- const selectedFileTypeLocal = computed<any>({
182
- get() {
183
- return props.selectedFileType
184
- },
185
- set(newValue) {
186
- emits('update:selected-file-type', newValue)
187
- },
188
- })
189
-
190
- const firstBlockSorting = ref<[boolean, boolean]>([false, false])
191
- const secondBlockSorting = ref<[boolean, boolean]>([false, false])
192
-
193
- const onSortFirstBlock = (): void => {
194
- firstBlockSorting.value = [true, !firstBlockSorting.value[1]]
195
- }
196
- const onSortSecondBlock = (): void => {
197
- secondBlockSorting.value = [true, !secondBlockSorting.value[1]]
198
- }
199
- </script>
200
-
201
- <style scoped lang="scss">
202
- :deep(.recursion-tree) {
203
- .tree-node-text-drag {
204
- border-radius: 3px 0 0 3px;
205
- }
206
- }
207
-
208
- :deep(.modal-body) {
209
- overflow: hidden;
210
- min-height: 430px;
211
- }
212
-
213
- .info-container {
214
- padding: 3px;
215
- div {
216
- line-height: 17px;
217
- span {
218
- font-size: 13px;
219
- font-weight: 400;
220
- }
221
- }
222
- }
223
-
224
- .ptm {
225
- padding-top: 5px;
226
-
227
- select {
228
- outline: none;
229
- border-color: rgb(118, 118, 118);
230
- color: rgb(133, 133, 133);
231
- margin-left: 5px;
232
- }
233
- }
234
-
235
- .filter-content {
236
- display: flex;
237
- justify-content: flex-end;
238
- margin-bottom: 6px;
239
- }
240
- </style>
1
+ <template>
2
+ <atoms-modal
3
+ test-id="browse"
4
+ width="864px"
5
+ height="586px"
6
+ :show="props.show"
7
+ :title="localization.selectFile"
8
+ :disabled-submit="!props.selectedFile"
9
+ >
10
+ <template #modalBody>
11
+ <div class="filter-content">
12
+ <atoms-the-icon
13
+ width="16"
14
+ class="filter-icon"
15
+ name="filter"
16
+ fill="#666"
17
+ />
18
+ <input
19
+ type="text"
20
+ data-id="browse-filter-input"
21
+ :placeholder="localization.filter"
22
+ />
23
+ </div>
24
+ <common-browse-blocks-container
25
+ type="horizontal"
26
+ :blocks-width="blocksWidth"
27
+ @change-widths="onChangeWidths"
28
+ >
29
+ <template #firstBlock>
30
+ <common-browse-blocks-title
31
+ :width="blocksWidth[0]"
32
+ :title="localization.common.datastores"
33
+ :sorting="firstBlockSorting"
34
+ @sort="onSortFirstBlock"
35
+ >
36
+ <template #content>
37
+ <div class="">
38
+ <common-recursion-tree
39
+ :nodes="nodesLocal"
40
+ class="recursion-tree"
41
+ @get-nodes="onShowNodes"
42
+ @select-node="onSelectNode"
43
+ />
44
+ </div>
45
+ </template>
46
+ </common-browse-blocks-title>
47
+ </template>
48
+ <template #secondBlock>
49
+ <common-browse-blocks-title
50
+ :width="blocksWidth[1]"
51
+ :title="localization.contents"
52
+ :sorting="secondBlockSorting"
53
+ @sort="onSortSecondBlock"
54
+ >
55
+ <template #content>
56
+ <common-browse-blocks-contents-files
57
+ :selected-folder-files="filesLocal"
58
+ :selected-file="props.selectedFile"
59
+ @select-file="onSelectFile"
60
+ />
61
+ </template>
62
+ </common-browse-blocks-title>
63
+ </template>
64
+ <template #thirdBlock>
65
+ <common-browse-blocks-title
66
+ :width="blocksWidth[2]"
67
+ :title="localization.information"
68
+ >
69
+ <template v-if="info" #content>
70
+ <div
71
+ v-for="item in info"
72
+ :key="item.title"
73
+ class="info-container"
74
+ >
75
+ <common-browse-blocks-info-text
76
+ v-if="item.type === 'text'"
77
+ :title="item.title"
78
+ :value="item.value"
79
+ />
80
+ <common-browse-blocks-info-size
81
+ v-if="item.type === 'size'"
82
+ :title="item.title"
83
+ :value="item.value"
84
+ />
85
+ <common-browse-blocks-info-date
86
+ v-if="item.type === 'date'"
87
+ :title="item.title"
88
+ :value="item.value"
89
+ />
90
+ </div>
91
+ </template>
92
+ </common-browse-blocks-title>
93
+ </template>
94
+ </common-browse-blocks-container>
95
+ <div v-if="props.fileTypes" class="ptm">
96
+ <b>{{ localization.fileType }}:</b>
97
+ <select
98
+ v-model="selectedFileTypeLocal"
99
+ :data-id="`${props.testId}-select`"
100
+ >
101
+ <option
102
+ v-for="item in props.fileTypes"
103
+ :key="item.value"
104
+ :value="item.value"
105
+ >
106
+ {{ item.text }}
107
+ </option>
108
+ </select>
109
+ </div>
110
+ </template>
111
+ </atoms-modal>
112
+ </template>
113
+
114
+ <script setup lang="ts">
115
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
116
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
117
+ import type { UI_T_BlocksWidth } from '~/components/common/browse/blocks/lib/models/types'
118
+ import type { UI_I_FileInfo } from '~/components/common/browse/lib/models/interfaces'
119
+
120
+ const props = defineProps<{
121
+ show: boolean
122
+ nodes: any[]
123
+ files: any[]
124
+ info: UI_I_FileInfo[] | null
125
+ selectedFile: any | null
126
+ fileTypes?: UI_I_OptionItem[]
127
+ selectedFileType?: any
128
+ testId?: string
129
+ }>()
130
+ const emits = defineEmits<{
131
+ (
132
+ event: 'get-nodes',
133
+ value: {
134
+ node: any | null
135
+ cb: () => void
136
+ }
137
+ ): void
138
+ (event: 'select-node', value: any): void
139
+ (event: 'update:selected-file', value: any): void
140
+ (event: 'update:selected-file-type', value: any): void
141
+ }>()
142
+
143
+ const { $recursion }: any = useNuxtApp()
144
+
145
+ const nodesLocal = computed<any[]>(() => {
146
+ if (!firstBlockSorting.value[0]) return props.nodes
147
+
148
+ const nodesCopy = useDeepCopy(props.nodes)
149
+ $recursion.sortByProp(nodesCopy, 'name', firstBlockSorting.value[1], 'nodes')
150
+
151
+ return nodesCopy
152
+ })
153
+ const filesLocal = computed<any[]>(() => {
154
+ if (!secondBlockSorting.value[0]) return props.files
155
+
156
+ const value = secondBlockSorting.value[1] ? 1 : -1
157
+ return [...props.files].sort((a, b) => {
158
+ const first = a.name.toLowerCase()
159
+ const second = b.name.toLowerCase()
160
+ return first > second ? value : first < second ? -value : 0
161
+ })
162
+ })
163
+
164
+ const localization = computed<UI_I_Localization>(() => useLocal())
165
+
166
+ const blocksWidth = ref<UI_T_BlocksWidth>([272, 272, 256])
167
+
168
+ const onChangeWidths = (width: number, index: number): void => {
169
+ blocksWidth.value[index] = width
170
+ }
171
+ const onSelectFile = (file: any): void => {
172
+ emits('update:selected-file', file)
173
+ }
174
+ const onSelectNode = (node: any): void => {
175
+ emits('select-node', node)
176
+ }
177
+ const onShowNodes = (data: { node: any | null; cb: () => void }): void => {
178
+ emits('get-nodes', data)
179
+ }
180
+
181
+ const selectedFileTypeLocal = computed<any>({
182
+ get() {
183
+ return props.selectedFileType
184
+ },
185
+ set(newValue) {
186
+ emits('update:selected-file-type', newValue)
187
+ },
188
+ })
189
+
190
+ const firstBlockSorting = ref<[boolean, boolean]>([false, false])
191
+ const secondBlockSorting = ref<[boolean, boolean]>([false, false])
192
+
193
+ const onSortFirstBlock = (): void => {
194
+ firstBlockSorting.value = [true, !firstBlockSorting.value[1]]
195
+ }
196
+ const onSortSecondBlock = (): void => {
197
+ secondBlockSorting.value = [true, !secondBlockSorting.value[1]]
198
+ }
199
+ </script>
200
+
201
+ <style scoped lang="scss">
202
+ :deep(.recursion-tree) {
203
+ .tree-node-text-drag {
204
+ border-radius: 3px 0 0 3px;
205
+ }
206
+ }
207
+
208
+ :deep(.modal-body) {
209
+ overflow: hidden;
210
+ min-height: 430px;
211
+ }
212
+
213
+ .info-container {
214
+ padding: 3px;
215
+ div {
216
+ line-height: 17px;
217
+ span {
218
+ font-size: 13px;
219
+ font-weight: 400;
220
+ }
221
+ }
222
+ }
223
+
224
+ .ptm {
225
+ padding-top: 5px;
226
+
227
+ select {
228
+ outline: none;
229
+ border-color: rgb(118, 118, 118);
230
+ color: rgb(133, 133, 133);
231
+ margin-left: 5px;
232
+ }
233
+ }
234
+
235
+ .filter-content {
236
+ display: flex;
237
+ justify-content: flex-end;
238
+ margin-bottom: 6px;
239
+ }
240
+ </style>