aloha-vue 2.3.0 → 2.4.0

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.
@@ -0,0 +1,453 @@
1
+ import {
2
+ h,
3
+ } from "vue";
4
+
5
+ import AElement from "../../AElement/AElement";
6
+ import AErrorsText from "../AErrorsText/AErrorsText";
7
+ import AFieldset from "../AFieldset/AFieldset";
8
+ import AFormHelpText from "../AFormHelpText/AFormHelpText";
9
+ import AJson from "../AJson/AJson";
10
+ import ASelect from "../ASelect/ASelect";
11
+
12
+ import AttributesAPI from "../ACheckbox/compositionAPI/AttributesAPI";
13
+ import ModelLocalAPI from "./compositionAPI/ModelLocalAPI";
14
+ import ParamAPI from "./compositionAPI/ParamAPI";
15
+ import RouteAPI from "./compositionAPI/RouteAPI";
16
+ import TextAfterLabelAPI from "../ACheckbox/compositionAPI/TextAfterLabelAPI";
17
+ import UiAPI from "../compositionApi/UiAPI";
18
+ import UiDisabledAPI from "../compositionApi/UiDisabledAPI";
19
+ import UIExcludeRenderAttributesAPI from "../compositionApi/UIExcludeRenderAttributesAPI";
20
+ import UiStyleHideAPI from "../compositionApi/UiStyleHideAPI";
21
+
22
+ import {
23
+ routerLinkConfigPluginOptions,
24
+ } from "../../plugins/ARouterLinkConfigPlugin";
25
+ import {
26
+ uniqueId,
27
+ } from "lodash-es";
28
+
29
+ export default {
30
+ name: "ARouterLinkConfig",
31
+ inheritAttrs: false,
32
+ props: {
33
+ alwaysTranslate: {
34
+ type: Boolean,
35
+ required: false,
36
+ },
37
+ change: {
38
+ type: Function,
39
+ required: false,
40
+ default: () => {},
41
+ },
42
+ classColumn: {
43
+ type: [String, Object],
44
+ required: false,
45
+ default: () => routerLinkConfigPluginOptions.propsDefault.classColumn,
46
+ },
47
+ classColumns: {
48
+ type: [String, Object],
49
+ required: false,
50
+ default: () => routerLinkConfigPluginOptions.propsDefault.classColumns,
51
+ },
52
+ classFieldset: {
53
+ type: [String, Object],
54
+ required: false,
55
+ default: undefined,
56
+ },
57
+ disabled: {
58
+ type: Boolean,
59
+ required: false,
60
+ },
61
+ errors: {
62
+ type: [String, Array],
63
+ required: false,
64
+ default: undefined,
65
+ },
66
+ excludeRenderAttributes: {
67
+ type: Array,
68
+ required: false,
69
+ default: () => [],
70
+ },
71
+ extra: {
72
+ type: Object,
73
+ required: false,
74
+ default: undefined,
75
+ },
76
+ hasBorder: {
77
+ type: Boolean,
78
+ required: false,
79
+ default: true,
80
+ },
81
+ helpText: {
82
+ type: String,
83
+ required: false,
84
+ default: undefined,
85
+ },
86
+ helpTextParam: {
87
+ type: String,
88
+ required: false,
89
+ default: () => routerLinkConfigPluginOptions.propsDefault.helpTextParam,
90
+ },
91
+ helpTextQuery: {
92
+ type: String,
93
+ required: false,
94
+ default: () => routerLinkConfigPluginOptions.propsDefault.helpTextQuery,
95
+ },
96
+ helpTextRoute: {
97
+ type: String,
98
+ required: false,
99
+ default: () => routerLinkConfigPluginOptions.propsDefault.helpTextRoute,
100
+ },
101
+ helpTextTarget: {
102
+ type: String,
103
+ required: false,
104
+ default: () => routerLinkConfigPluginOptions.propsDefault.helpTextTarget,
105
+ },
106
+ htmlId: {
107
+ type: String,
108
+ required: false,
109
+ default: undefined,
110
+ },
111
+ id: {
112
+ type: [String, Number],
113
+ required: false,
114
+ default: () => uniqueId("a_router_link_config_"),
115
+ },
116
+ idPrefix: {
117
+ type: String,
118
+ required: false,
119
+ default: undefined,
120
+ },
121
+ inputAttributes: {
122
+ type: Object,
123
+ required: false,
124
+ default: () => ({}),
125
+ },
126
+ isHide: {
127
+ type: Boolean,
128
+ required: false,
129
+ },
130
+ isRender: {
131
+ type: Boolean,
132
+ required: false,
133
+ default: true,
134
+ },
135
+ keyIdRoute: {
136
+ type: String,
137
+ required: false,
138
+ default: () => routerLinkConfigPluginOptions.propsDefault.keyIdRoute,
139
+ },
140
+ keyLabelCallbackRoute: {
141
+ type: Function,
142
+ required: false,
143
+ default: undefined,
144
+ },
145
+ keyLabelRoute: {
146
+ type: String,
147
+ required: false,
148
+ default: () => routerLinkConfigPluginOptions.propsDefault.keyLabelRoute,
149
+ },
150
+ label: {
151
+ type: [String, Number],
152
+ required: false,
153
+ default: undefined,
154
+ },
155
+ labelClass: {
156
+ type: [String, Object],
157
+ required: false,
158
+ default: undefined,
159
+ },
160
+ labelParam: {
161
+ type: String,
162
+ required: false,
163
+ default: () => routerLinkConfigPluginOptions.propsDefault.labelParam,
164
+ },
165
+ labelQuery: {
166
+ type: String,
167
+ required: false,
168
+ default: () => routerLinkConfigPluginOptions.propsDefault.labelQuery,
169
+ },
170
+ labelRoute: {
171
+ type: String,
172
+ required: false,
173
+ default: () => routerLinkConfigPluginOptions.propsDefault.labelRoute,
174
+ },
175
+ labelScreenReader: {
176
+ type: [String, Number],
177
+ required: false,
178
+ default: undefined,
179
+ },
180
+ labelTarget: {
181
+ type: String,
182
+ required: false,
183
+ default: () => routerLinkConfigPluginOptions.propsDefault.labelTarget,
184
+ },
185
+ modelUndefined: {
186
+ type: [String, Number, Object, Array, Boolean],
187
+ required: false,
188
+ default: "",
189
+ },
190
+ modelValue: {
191
+ type: Object,
192
+ required: false,
193
+ default: () => ({}),
194
+ },
195
+ required: {
196
+ type: Boolean,
197
+ required: false,
198
+ default: false,
199
+ },
200
+ routes: {
201
+ type: Array,
202
+ required: false,
203
+ default: () => routerLinkConfigPluginOptions.propsDefault.routes,
204
+ },
205
+ slotName: {
206
+ type: String,
207
+ required: false,
208
+ default: undefined,
209
+ },
210
+ sortOrderRoute: {
211
+ type: String,
212
+ required: false,
213
+ default: () => routerLinkConfigPluginOptions.propsDefault.sortOrderRoute,
214
+ validator: value => ["asc", "desc"].indexOf(value) !== -1,
215
+ },
216
+ targets: {
217
+ type: Array,
218
+ required: false,
219
+ default: () => routerLinkConfigPluginOptions.propsDefault.targets,
220
+ },
221
+ },
222
+ emits: [
223
+ "update:modelValue",
224
+ "focus",
225
+ "blur",
226
+ ],
227
+ setup(props, context) {
228
+ const {
229
+ disabledAttribut,
230
+ } = UiDisabledAPI(props);
231
+
232
+ const {
233
+ attributesToExcludeFromRender,
234
+ } = UIExcludeRenderAttributesAPI(props);
235
+
236
+ const {
237
+ componentStyleHide,
238
+ } = UiStyleHideAPI(props);
239
+
240
+ const {
241
+ textAfterLabel,
242
+ } = TextAfterLabelAPI(props);
243
+
244
+ const {
245
+ ariaDescribedbyLocal,
246
+ changeModel,
247
+ errorsId,
248
+ helpTextId,
249
+ htmlIdLocal,
250
+ isErrors,
251
+ isModel,
252
+ onBlur,
253
+ onFocus,
254
+ } = UiAPI(props, context);
255
+
256
+ const {
257
+ groupId,
258
+ } = AttributesAPI(props, {
259
+ htmlIdLocal,
260
+ });
261
+
262
+ const {
263
+ changeParamModel,
264
+ changeQueryModel,
265
+ changeRouteModel,
266
+ changeTargetModel,
267
+ } = ModelLocalAPI(props, {
268
+ changeModel,
269
+ });
270
+
271
+ const {
272
+ routePathKeyByKeyId,
273
+ routesLocal,
274
+ } = RouteAPI(props);
275
+
276
+ const {
277
+ childrenForParam,
278
+ hasParam,
279
+ } = ParamAPI(props, {
280
+ htmlIdLocal,
281
+ routePathKeyByKeyId,
282
+ });
283
+
284
+ return {
285
+ ariaDescribedbyLocal,
286
+ attributesToExcludeFromRender,
287
+ changeParamModel,
288
+ changeQueryModel,
289
+ changeRouteModel,
290
+ changeTargetModel,
291
+ childrenForParam,
292
+ componentStyleHide,
293
+ disabledAttribut,
294
+ errorsId,
295
+ groupId,
296
+ hasParam,
297
+ helpTextId,
298
+ htmlIdLocal,
299
+ isErrors,
300
+ isModel,
301
+ onBlur,
302
+ onFocus,
303
+ routesLocal,
304
+ textAfterLabel,
305
+ };
306
+ },
307
+ render() {
308
+ if (!this.isRender) {
309
+ return null;
310
+ }
311
+
312
+ return h("div", {
313
+ ...this.$attrs,
314
+ style: this.componentStyleHide,
315
+ ...this.attributesToExcludeFromRender,
316
+ }, [
317
+ h("div", {
318
+ class: "a_form_element__parent",
319
+ }, [
320
+ h("fieldset", {
321
+ id: this.htmlIdLocal,
322
+ tabindex: -1,
323
+ class: ["a_fieldset", this.classFieldset, {
324
+ a_fieldset_invalid: this.isErrors,
325
+ a_fieldset_no_border: !this.hasBorder,
326
+ }],
327
+ "aria-describedby": this.ariaDescribedbyLocal,
328
+ }, [
329
+ (this.label || this.labelScreenReader) ?
330
+ h(AElement, {
331
+ type: "text",
332
+ alwaysTranslate: this.alwaysTranslate,
333
+ tag: "legend",
334
+ class: [
335
+ "a_legend",
336
+ {
337
+ a_legend_invalid: this.isErrors,
338
+ },
339
+ this.labelClass,
340
+ ],
341
+ extra: this.extra,
342
+ html: this.label,
343
+ textScreenReader: this.labelScreenReader,
344
+ textAfter: this.textAfterLabel,
345
+ }) :
346
+ "",
347
+ h("div", {
348
+ id: this.groupId,
349
+ class: [
350
+ this.classColumns,
351
+ "a_fieldset__content",
352
+ ],
353
+ }, [
354
+ h("div", {
355
+ class: this.classColumn,
356
+ }, [
357
+ h(ASelect, {
358
+ id: "route",
359
+ change: this.changeRouteModel,
360
+ data: this.routesLocal,
361
+ deselectable: true,
362
+ helpText: this.helpTextRoute,
363
+ idPrefix: this.htmlIdLocal,
364
+ isLabelFloat: false,
365
+ keyId: this.keyIdRoute,
366
+ keyLabel: this.keyLabelRoute,
367
+ keyLabelCallback: this.keyLabelCallbackRoute,
368
+ label: this.labelRoute,
369
+ modelValue: this.modelValue.route,
370
+ required: this.required,
371
+ search: true,
372
+ sortOrder: this.sortOrderRoute,
373
+ type: "select",
374
+ }),
375
+ ]),
376
+ this.hasParam ?
377
+ h("div", {
378
+ class: this.classColumn,
379
+ }, [
380
+ h(AFieldset, {
381
+ id: "param",
382
+ change: this.changeParamModel,
383
+ children: this.childrenForParam,
384
+ helpText: this.helpTextParam,
385
+ idPrefix: this.htmlIdLocal,
386
+ label: this.labelParam,
387
+ modelValue: this.modelValue.param || {},
388
+ required: this.required,
389
+ }),
390
+ ]) :
391
+ "",
392
+ this.modelValue.route ?
393
+ h("div", {
394
+ class: this.classColumn,
395
+ }, [
396
+ h(AJson, {
397
+ id: "query",
398
+ change: this.changeQueryModel,
399
+ heightCss: "100px",
400
+ helpText: this.helpTextQuery,
401
+ idPrefix: this.htmlIdLocal,
402
+ label: this.labelQuery,
403
+ modelValue: this.modelValue.query,
404
+ }),
405
+ ]) :
406
+ "",
407
+ this.modelValue.route ?
408
+ h("div", {
409
+ class: this.classColumn,
410
+ }, [
411
+ h(ASelect, {
412
+ id: "target",
413
+ change: this.changeTargetModel,
414
+ data: this.targets,
415
+ deselectable: true,
416
+ helpText: this.helpTextTarget,
417
+ idPrefix: this.htmlIdLocal,
418
+ isLabelFloat: false,
419
+ keyId: "id",
420
+ keyLabel: "label",
421
+ label: this.labelTarget,
422
+ modelValue: this.modelValue.target,
423
+ translateData: true,
424
+ type: "select",
425
+ }),
426
+ ]) :
427
+ "",
428
+
429
+ (this.slotName &&
430
+ this.$slots[this.slotName]) ?
431
+ this.$slots[this.slotName]({
432
+ id: this.htmlIdLocal,
433
+ props: this.$props,
434
+ }) :
435
+ "",
436
+ ]),
437
+ ]),
438
+
439
+ h(AFormHelpText, {
440
+ id: this.helpTextId,
441
+ alwaysTranslate: this.alwaysTranslate,
442
+ html: this.helpText,
443
+ extra: this.extra,
444
+ }),
445
+ this.isErrors && h(AErrorsText, {
446
+ id: this.errorsId,
447
+ alwaysTranslate: this.alwaysTranslate,
448
+ errors: this.errors,
449
+ }),
450
+ ]),
451
+ ]);
452
+ },
453
+ };
@@ -0,0 +1,56 @@
1
+ import {
2
+ toRef,
3
+ } from "vue";
4
+
5
+ import {
6
+ cloneDeep,
7
+ } from "lodash-es";
8
+
9
+ export default function ModelLocalAPI(props, {
10
+ changeModel = () => {},
11
+ }) {
12
+ const modelValue = toRef(props, "modelValue");
13
+
14
+ const changeRouteModel = ({ model }) => {
15
+ if (model) {
16
+ changeModel({
17
+ model: {
18
+ route: model,
19
+ query: modelValue.value?.query,
20
+ },
21
+ });
22
+ } else {
23
+ changeModel({
24
+ model: {},
25
+ });
26
+ }
27
+ };
28
+
29
+ const changeTargetModel = ({ model }) => {
30
+ const MODEL = cloneDeep(modelValue.value) || {};
31
+ MODEL.target = model;
32
+
33
+ changeModel({ model: MODEL });
34
+ };
35
+
36
+ const changeQueryModel = ({ model }) => {
37
+ const MODEL = cloneDeep(modelValue.value) || {};
38
+ MODEL.query = model;
39
+
40
+ changeModel({ model: MODEL });
41
+ };
42
+
43
+ const changeParamModel = ({ model }) => {
44
+ const MODEL = cloneDeep(modelValue.value) || {};
45
+ MODEL.param = model;
46
+
47
+ changeModel({ model: MODEL });
48
+ };
49
+
50
+ return {
51
+ changeParamModel,
52
+ changeQueryModel,
53
+ changeRouteModel,
54
+ changeTargetModel,
55
+ };
56
+ }
@@ -0,0 +1,63 @@
1
+ import {
2
+ computed,
3
+ toRef,
4
+ } from "vue";
5
+
6
+ import {
7
+ forEach,
8
+ } from "lodash-es";
9
+
10
+ export default function ParamAPI(props, {
11
+ htmlIdLocal = computed(() => ""),
12
+ routePathKeyByKeyId = computed(() => ({})),
13
+ }) {
14
+ const modelValue = toRef(props, "modelValue");
15
+ const required = toRef(props, "required");
16
+
17
+ const extractRouteParams = path => {
18
+ const regex = /:([a-zA-Z0-9_]+)/g;
19
+ const params = [];
20
+ let match;
21
+
22
+ // eslint-disable-next-line no-cond-assign
23
+ while ((match = regex.exec(path)) !== null) {
24
+ params.push(match[1]);
25
+ }
26
+
27
+ return params;
28
+ };
29
+
30
+ const idParamsForRoute = computed(() => {
31
+ if (!modelValue.value?.route) {
32
+ return [];
33
+ }
34
+
35
+ return extractRouteParams(routePathKeyByKeyId.value[modelValue.value.route]);
36
+ });
37
+
38
+ const hasParam = computed(() => {
39
+ return idParamsForRoute.value.length > 0;
40
+ });
41
+
42
+ const childrenForParam = computed(() => {
43
+ const CHILDREN = [];
44
+ forEach(idParamsForRoute.value, _id => {
45
+ const CHILD = {
46
+ id: _id,
47
+ label: _id,
48
+ type: "text",
49
+ idPrefix: htmlIdLocal.value,
50
+ required: required.value,
51
+ };
52
+
53
+ CHILDREN.push(CHILD);
54
+ });
55
+
56
+ return CHILDREN;
57
+ });
58
+
59
+ return {
60
+ childrenForParam,
61
+ hasParam,
62
+ };
63
+ }
@@ -0,0 +1,34 @@
1
+ import {
2
+ computed,
3
+ toRef,
4
+ } from "vue";
5
+
6
+ import {
7
+ forEach,
8
+ get,
9
+ } from "lodash-es";
10
+
11
+ export default function RouteAPI(props) {
12
+ const keyIdRoute = toRef(props, "keyIdRoute");
13
+ const routes = toRef(props, "routes");
14
+
15
+ const routesLocal = computed(() => {
16
+ return routes.value;
17
+ });
18
+
19
+ const routePathKeyByKeyId = computed(() => {
20
+ const ROUTE_PATH = {};
21
+
22
+ forEach(routesLocal.value, route => {
23
+ const ID = get(route, keyIdRoute.value);
24
+ ROUTE_PATH[ID] = route.path;
25
+ });
26
+
27
+ return ROUTE_PATH;
28
+ });
29
+
30
+ return {
31
+ routePathKeyByKeyId,
32
+ routesLocal,
33
+ };
34
+ }
@@ -0,0 +1,19 @@
1
+ import ar from "./ar.json";
2
+ import de from "./de.json";
3
+ import en from "./en.json";
4
+ import es from "./es.json";
5
+ import fr from "./fr.json";
6
+ import hr from "./hr.json";
7
+ import it from "./it.json";
8
+ import ru from "./ru.json";
9
+
10
+ export default {
11
+ ar,
12
+ de,
13
+ en,
14
+ es,
15
+ fr,
16
+ hr,
17
+ it,
18
+ ru,
19
+ };
@@ -0,0 +1,4 @@
1
+ {
2
+ "_A_INPUT_SHOW_PASSWORD_": "عرض كلمة المرور",
3
+ "_A_INPUT_HIDE_PASSWORD_": "إخفاء كلمة المرور"
4
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "_A_ROUTER_LINK_CONFIG_HELP_TEXT_PARAM_": "Dynamische Parameter werden in Routen verwendet, um Daten innerhalb des Pfads zu übergeben. Sie werden durch einen Doppelpunkt <code>:</code> vor dem Parameternamen gekennzeichnet, zum Beispiel: <code>/user/:id</code>. Beim Navigieren wird dieser Parameter durch einen bestimmten Wert ersetzt, z. B.: <code>/user/123</code>.",
3
+ "_A_ROUTER_LINK_CONFIG_HELP_TEXT_QUERY_": "<span lang=\"en\">URL</span>-Parameter ermöglichen das Übertragen zusätzlicher Informationen in der Anfrage. Sie werden nach dem <code>?</code>-Zeichen in der Adressleiste hinzugefügt und im Format \"Schlüssel=Wert\" geschrieben. Zum Beispiel: <code>?limit=10&sort=asc</code>.",
4
+ "_A_ROUTER_LINK_CONFIG_HELP_TEXT_ROUTE_": "Die Adresse bestimmt, wohin der Link führt. Sie kann statisch sein (z. B. <code>/home</code>) oder dynamische Parameter enthalten (z. B. <code>/user/:id</code>). Wählen Sie die Adresse für die Navigation.",
5
+ "_A_ROUTER_LINK_CONFIG_HELP_TEXT_TARGET_": "Legt fest, wo der Link geöffnet wird. Verfügbare Optionen: im selben Fenster (<code>_self</code>), in einem neuen Fenster oder Tab (<code>_blank</code>), im übergeordneten Frame (<code>_parent</code>) oder im äußersten Frame (<code>_top</code>).",
6
+ "_A_ROUTER_LINK_CONFIG_LABEL_PARAM_": "Dynamische Parameter",
7
+ "_A_ROUTER_LINK_CONFIG_LABEL_QUERY_": "<span lang=\"en\">URL</span>-Parameter",
8
+ "_A_ROUTER_LINK_CONFIG_LABEL_ROUTE_": "Adresse auswählen",
9
+ "_A_ROUTER_LINK_CONFIG_LABEL_TARGET_": "<span lang=\"en\">target</span>-Attribut",
10
+ "_A_TARGET_BLANK_": "In einem neuen Tab öffnen <strong lang=\"en\">_blank</strong>",
11
+ "_A_TARGET_PARENT_": "Im übergeordneten Frame öffnen <strong lang=\"en\">_parent</strong>",
12
+ "_A_TARGET_SELF_": "Im selben Fenster öffnen <strong lang=\"en\">_self</strong>",
13
+ "_A_TARGET_TOP_": "Im äußersten Frame öffnen <strong lang=\"en\">_top</strong>"
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "_A_ROUTER_LINK_CONFIG_HELP_TEXT_PARAM_": "Dynamic parameters are used in routes to pass data within the path. They are denoted by a colon <code>:</code> before the parameter name, for example: <code>/user/:id</code>. When navigating, this parameter is replaced with a specific value, such as: <code>/user/123</code>.",
3
+ "_A_ROUTER_LINK_CONFIG_HELP_TEXT_QUERY_": "<span lang=\"en\">URL</span> parameters allow passing additional information in the request. They are added after the <code>?</code> symbol in the address bar and follow the format \"key=value\". For example: <code>?limit=10&sort=asc</code>.",
4
+ "_A_ROUTER_LINK_CONFIG_HELP_TEXT_ROUTE_": "The address determines where the link will navigate. It can be static (e.g., <code>/home</code>) or contain dynamic parameters (e.g., <code>/user/:id</code>). Select the address for navigation.",
5
+ "_A_ROUTER_LINK_CONFIG_HELP_TEXT_TARGET_": "Defines where the link will open. Available options: in the same window (<code>_self</code>), in a new window or tab (<code>_blank</code>), in the parent frame (<code>_parent</code>), or in the outermost frame (<code>_top</code>).",
6
+ "_A_ROUTER_LINK_CONFIG_LABEL_PARAM_": "Dynamic parameters",
7
+ "_A_ROUTER_LINK_CONFIG_LABEL_QUERY_": "<span lang=\"en\">URL</span> parameters",
8
+ "_A_ROUTER_LINK_CONFIG_LABEL_ROUTE_": "Select address",
9
+ "_A_ROUTER_LINK_CONFIG_LABEL_TARGET_": "<span lang=\"en\">target</span> attribute",
10
+ "_A_TARGET_BLANK_": "Open in a new tab <strong lang=\"en\">_blank</strong>",
11
+ "_A_TARGET_PARENT_": "Open in the parent frame <strong lang=\"en\">_parent</strong>",
12
+ "_A_TARGET_SELF_": "Open in the same window <strong lang=\"en\">_self</strong>",
13
+ "_A_TARGET_TOP_": "Open in the outermost frame <strong lang=\"en\">_top</strong>"
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "_A_ROUTER_LINK_CONFIG_HELP_TEXT_PARAM_": "Los parámetros dinámicos se utilizan en las rutas para transmitir datos dentro de la ruta. Se denotan con dos puntos <code>:</code> antes del nombre del parámetro, por ejemplo: <code>/user/:id</code>. Al navegar, este parámetro se reemplaza con un valor específico, como: <code>/user/123</code>.",
3
+ "_A_ROUTER_LINK_CONFIG_HELP_TEXT_QUERY_": "Los parámetros de <span lang=\"en\">URL</span> permiten enviar información adicional en la solicitud. Se agregan después del símbolo <code>?</code> en la barra de direcciones y tienen el formato \"clave=valor\". Por ejemplo: <code>?limit=10&sort=asc</code>.",
4
+ "_A_ROUTER_LINK_CONFIG_HELP_TEXT_ROUTE_": "La dirección determina a dónde llevará el enlace. Puede ser estática (por ejemplo, <code>/home</code>) o contener parámetros dinámicos (por ejemplo, <code>/user/:id</code>). Seleccione la dirección de navegación.",
5
+ "_A_ROUTER_LINK_CONFIG_HELP_TEXT_TARGET_": "Define dónde se abrirá el enlace. Opciones disponibles: en la misma ventana (<code>_self</code>), en una nueva ventana o pestaña (<code>_blank</code>), en el marco padre (<code>_parent</code>) o en el marco superior (<code>_top</code>).",
6
+ "_A_ROUTER_LINK_CONFIG_LABEL_PARAM_": "Parámetros dinámicos",
7
+ "_A_ROUTER_LINK_CONFIG_LABEL_QUERY_": "Parámetros de <span lang=\"en\">URL</span>",
8
+ "_A_ROUTER_LINK_CONFIG_LABEL_ROUTE_": "Seleccionar dirección",
9
+ "_A_ROUTER_LINK_CONFIG_LABEL_TARGET_": "Atributo <span lang=\"en\">target</span>",
10
+ "_A_TARGET_BLANK_": "Abrir en una nueva pestaña <strong lang=\"en\">_blank</strong>",
11
+ "_A_TARGET_PARENT_": "Abrir en el marco padre <strong lang=\"en\">_parent</strong>",
12
+ "_A_TARGET_SELF_": "Abrir en la misma ventana <strong lang=\"en\">_self</strong>",
13
+ "_A_TARGET_TOP_": "Abrir en el marco superior <strong lang=\"en\">_top</strong>"
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "_A_ROUTER_LINK_CONFIG_HELP_TEXT_PARAM_": "Les paramètres dynamiques sont utilisés dans les routes pour transmettre des données dans le chemin. Ils sont indiqués par un deux-points <code>:</code> avant le nom du paramètre, par exemple : <code>/user/:id</code>. Lors de la navigation, ce paramètre est remplacé par une valeur spécifique, comme : <code>/user/123</code>.",
3
+ "_A_ROUTER_LINK_CONFIG_HELP_TEXT_QUERY_": "Les paramètres <span lang=\"en\">URL</span> permettent de transmettre des informations supplémentaires dans la requête. Ils sont ajoutés après le symbole <code>?</code> dans la barre d'adresse et sont formatés en \"clé=valeur\". Par exemple : <code>?limit=10&sort=asc</code>.",
4
+ "_A_ROUTER_LINK_CONFIG_HELP_TEXT_ROUTE_": "L'adresse détermine où le lien dirigera. Elle peut être statique (ex. <code>/home</code>) ou contenir des paramètres dynamiques (ex. <code>/user/:id</code>). Sélectionnez l'adresse de navigation.",
5
+ "_A_ROUTER_LINK_CONFIG_HELP_TEXT_TARGET_": "Définit où le lien s'ouvrira. Options disponibles : dans la même fenêtre (<code>_self</code>), dans une nouvelle fenêtre ou un nouvel onglet (<code>_blank</code>), dans le cadre parent (<code>_parent</code>) ou dans le cadre principal (<code>_top</code>).",
6
+ "_A_ROUTER_LINK_CONFIG_LABEL_PARAM_": "Paramètres dynamiques",
7
+ "_A_ROUTER_LINK_CONFIG_LABEL_QUERY_": "Paramètres <span lang=\"en\">URL</span>",
8
+ "_A_ROUTER_LINK_CONFIG_LABEL_ROUTE_": "Choisir une adresse",
9
+ "_A_ROUTER_LINK_CONFIG_LABEL_TARGET_": "Attribut <span lang=\"en\">target</span>",
10
+ "_A_TARGET_BLANK_": "Ouvrir dans un nouvel onglet <strong lang=\"en\">_blank</strong>",
11
+ "_A_TARGET_PARENT_": "Ouvrir dans le cadre parent <strong lang=\"en\">_parent</strong>",
12
+ "_A_TARGET_SELF_": "Ouvrir dans la même fenêtre <strong lang=\"en\">_self</strong>",
13
+ "_A_TARGET_TOP_": "Ouvrir dans le cadre principal <strong lang=\"en\">_top</strong>"
14
+ }