viur-ui 0.0.1 → 0.0.3

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 (98) hide show
  1. package/README.md +67 -41
  2. package/index.d.ts +18 -9
  3. package/index.js +6 -3
  4. package/package.json +6 -6
  5. package/src/components/Browser/Browser.vue +58 -58
  6. package/src/components/Browser/TreeNav.vue +32 -32
  7. package/src/components/Browser/ViurBrowser.d.vue.ts +21 -21
  8. package/src/components/Browser/ViurBrowser.vue +47 -44
  9. package/src/components/Browser/dragSession.ts +27 -27
  10. package/src/components/Browser/index.ts +3 -3
  11. package/src/components/Browser/types.ts +9 -9
  12. package/src/components/DataTable/ColumnFilterPanel.vue +7 -7
  13. package/src/components/DataTable/DataTable.vue +359 -351
  14. package/src/components/DataTable/ViurDataTable.d.vue.ts +26 -26
  15. package/src/components/DataTable/ViurDataTable.vue +51 -50
  16. package/src/components/DataTable/columns.ts +30 -30
  17. package/src/components/DataTable/index.ts +12 -12
  18. package/src/components/DataTable/rows.ts +71 -72
  19. package/src/components/DataTable/types.ts +55 -55
  20. package/src/components/DataTable/useColumnLayout.ts +28 -28
  21. package/src/components/DataTable/useGridNavigation.ts +74 -15
  22. package/src/components/DataTable/useVirtualRows.ts +10 -10
  23. package/src/components/DataTable/viurColumns.ts +69 -69
  24. package/src/forms/ViForm.d.vue.ts +32 -32
  25. package/src/forms/ViForm.vue +17 -16
  26. package/src/forms/ViFormCategory.vue +3 -1
  27. package/src/forms/bones/Bone.vue +125 -108
  28. package/src/forms/bones/BoneActions.vue +21 -21
  29. package/src/forms/bones/BoneLabel.vue +1 -1
  30. package/src/forms/bones/BoneMultipleWrapper.vue +3 -3
  31. package/src/forms/bones/BoneNestedWrapper.vue +3 -3
  32. package/src/forms/bones/BoneSingleEntry.vue +2 -2
  33. package/src/forms/bones/FilterBone.vue +3 -3
  34. package/src/forms/bones/actions/ActionDialog.vue +2 -2
  35. package/src/forms/bones/actions/Debug.vue +6 -6
  36. package/src/forms/bones/actions/Delete.vue +2 -2
  37. package/src/forms/bones/actions/DescribeImage.vue +4 -3
  38. package/src/forms/bones/actions/Download.vue +4 -4
  39. package/src/forms/bones/actions/Placeholder.vue +2 -2
  40. package/src/forms/bones/actions/index.js +72 -74
  41. package/src/forms/bones/bone.d.ts +19 -19
  42. package/src/forms/bones/uploadAdapter.js +3 -3
  43. package/src/forms/bones/utils.js +40 -41
  44. package/src/forms/bones/view/base_item.vue +1 -1
  45. package/src/forms/bones/view/boneLogic.js +1 -1
  46. package/src/forms/bones/widgets/booleanBone.vue +19 -19
  47. package/src/forms/bones/widgets/booleanBoneChoose.vue +2 -2
  48. package/src/forms/bones/widgets/booleanBoneSelect.vue +3 -3
  49. package/src/forms/bones/widgets/codeBone.vue +22 -22
  50. package/src/forms/bones/widgets/colorBone.vue +18 -18
  51. package/src/forms/bones/widgets/dateBone.vue +22 -22
  52. package/src/forms/bones/widgets/emailBone.vue +20 -20
  53. package/src/forms/bones/widgets/fileBone.vue +32 -31
  54. package/src/forms/bones/widgets/keyBone.vue +21 -21
  55. package/src/forms/bones/widgets/numericBone.vue +21 -21
  56. package/src/forms/bones/widgets/passwordBone.vue +34 -31
  57. package/src/forms/bones/widgets/phoneBone.vue +20 -20
  58. package/src/forms/bones/widgets/rawBone.vue +19 -19
  59. package/src/forms/bones/widgets/recordBone.vue +16 -16
  60. package/src/forms/bones/widgets/relationalBone.vue +26 -26
  61. package/src/forms/bones/widgets/selectBone.vue +23 -23
  62. package/src/forms/bones/widgets/selectBoneChoose.vue +2 -2
  63. package/src/forms/bones/widgets/spatialBone.vue +21 -21
  64. package/src/forms/bones/widgets/stringBone.vue +27 -27
  65. package/src/forms/bones/widgets/textBone.vue +28 -26
  66. package/src/forms/install.d.ts +1 -1
  67. package/src/forms/install.js +7 -0
  68. package/src/forms/layouts/LayloutList2Columns.vue +1 -1
  69. package/src/forms/layouts/LayoutCategory.vue +1 -1
  70. package/src/forms/layouts/LayoutList.vue +1 -1
  71. package/src/forms/utils.js +22 -22
  72. package/src/request/configStore.js +4 -4
  73. package/src/request/envelope.js +6 -6
  74. package/src/request/request.js +211 -121
  75. package/src/translations/de.js +31 -0
  76. package/src/translations/en.js +31 -0
  77. package/src/user/LoginScreen.d.vue.ts +24 -24
  78. package/src/user/LoginScreen.vue +6 -7
  79. package/src/user/store.d.ts +16 -16
  80. package/src/vite/safeHtml.js +73 -0
  81. package/src/vite/sanitizeVHtml.d.ts +4 -0
  82. package/src/vite/sanitizeVHtml.js +15 -0
  83. package/src/webawesomeCompat.css +0 -40
  84. package/src/public/assets/icons/fontawesome-manifest.json +0 -8
  85. package/src/public/assets/icons/regular/file.svg +0 -1
  86. package/src/public/assets/icons/solid/arrows-left-right.svg +0 -1
  87. package/src/public/assets/icons/solid/bug.svg +0 -1
  88. package/src/public/assets/icons/solid/check.svg +0 -1
  89. package/src/public/assets/icons/solid/circle-info.svg +0 -1
  90. package/src/public/assets/icons/solid/compress.svg +0 -1
  91. package/src/public/assets/icons/solid/download.svg +0 -1
  92. package/src/public/assets/icons/solid/expand.svg +0 -1
  93. package/src/public/assets/icons/solid/grip-vertical.svg +0 -1
  94. package/src/public/assets/icons/solid/plus.svg +0 -1
  95. package/src/public/assets/icons/solid/question.svg +0 -1
  96. package/src/public/assets/icons/solid/triangle-exclamation.svg +0 -1
  97. package/src/public/assets/icons/solid/upload.svg +0 -1
  98. package/src/public/assets/icons/solid/xmark.svg +0 -1
@@ -1,30 +1,30 @@
1
- import type { RowKey } from "../DataTable/types"
1
+ import type { RowKey } from "../DataTable/types.ts"
2
2
 
3
- /** Knoten des Navigations-Baums (und Ordner in der Liste). */
3
+ /** Node of the navigation tree (and folder in the list). */
4
4
  export interface BrowserNode {
5
5
  key: RowKey
6
6
  name: string
7
7
  icon?: string | null
8
- /** false = sicher keine Kinder → Pfeil entfällt. */
8
+ /** false = definitely no children → no arrow. */
9
9
  hasChildren?: boolean
10
- /** Beliebige Nutzdaten (z. B. das Skel) — der Browser liest sie nicht. */
10
+ /** Arbitrary payload (e.g. the skel) — the browser doesn't read it. */
11
11
  data?: Record<string, unknown>
12
12
  }
13
13
 
14
14
  export interface BrowserMovePayload<R = Record<string, unknown>> {
15
- /** Zeilenschlüssel in Anzeige-Reihenfolge. */
15
+ /** Row keys in display order. */
16
16
  keys: RowKey[]
17
17
  rows: R[]
18
- /** Zielknoten (null = Wurzel des aktuellen Rootnodes). */
18
+ /** Target node (null = root of the current rootnode). */
19
19
  target: RowKey | null
20
- /** "inside" (in einen Ordner) oder before/after (Reihenfolge in der Liste). */
20
+ /** "inside" (into a folder) or before/after (order within the list). */
21
21
  mode: "inside" | "before" | "after"
22
- /** Quelle des Zugs: Liste oder Baum. */
22
+ /** Source of the drag: list or tree. */
23
23
  source: "list" | "tree"
24
24
  }
25
25
 
26
26
  export interface BrowserUploadPayload {
27
27
  files: File[]
28
- /** Zielknoten (null = aktuelle Ebene ist die Wurzel). */
28
+ /** Target node (null = the current level is the root). */
29
29
  target: RowKey | null
30
30
  }
@@ -1,7 +1,7 @@
1
1
  <template>
2
- <!-- Inhalt des Filter-Popovers einer Spalte. Welche Steuerelemente erscheinen,
3
- entscheidet der filterType; die Werte für set-Filter kommen aus den
4
- Facetten (oder aus column.def.filterOptions, z. B. im Server-Modus). -->
2
+ <!-- Content of a column's filter popover. Which controls appear is decided
3
+ by the filterType; the values for set filters come from the
4
+ facets (or from column.def.filterOptions, e.g. in server mode). -->
5
5
  <div class="vi-dtf wa-stack wa-gap-s">
6
6
  <span class="vi-dtf-title">{{ column.label }}</span>
7
7
 
@@ -70,7 +70,7 @@
70
70
  v-if="!state.filteredOptions.length"
71
71
  class="vi-dtf-empty"
72
72
  >
73
- Keine Werte
73
+ {{ t("dataTable.noValues") }}
74
74
  </span>
75
75
  </div>
76
76
  </template>
@@ -80,7 +80,7 @@
80
80
  class="vi-dtf-input"
81
81
  size="small"
82
82
  appearance="outlined"
83
- :placeholder="state.kind === 'equals' ? 'genau …' : 'enthält …'"
83
+ :placeholder="state.kind === 'equals' ? t('dataTable.filterEquals') : t('dataTable.filterContains')"
84
84
  :value="state.text"
85
85
  @input="emit('update:modelValue', ($event.target as HTMLInputElement).value || undefined)"
86
86
  ></wa-input>
@@ -93,7 +93,7 @@
93
93
  appearance="outlined"
94
94
  @click="clear"
95
95
  >
96
- Leeren
96
+ {{ t("dataTable.clear") }}
97
97
  </wa-button>
98
98
  </div>
99
99
  </div>
@@ -102,7 +102,7 @@
102
102
  <script setup lang="ts">
103
103
  import { useI18n } from "vue-i18n"
104
104
  import { computed, reactive } from "vue"
105
- import type { ColumnFacets, FilterOption, ResolvedColumn } from "./types"
105
+ import type { ColumnFacets, FilterOption, ResolvedColumn } from "./types.ts"
106
106
 
107
107
  const { t } = useI18n()
108
108