@stonecrop/desktop 0.4.36 → 0.4.37

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stonecrop/desktop",
3
- "version": "0.4.36",
3
+ "version": "0.4.37",
4
4
  "description": "Desktop-specific components for Stonecrop UI",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -37,23 +37,24 @@
37
37
  ],
38
38
  "dependencies": {
39
39
  "vue": "^3.5.22",
40
- "@stonecrop/aform": "0.4.36",
41
- "@stonecrop/atable": "0.4.36",
42
- "@stonecrop/stonecrop": "0.4.36",
43
- "@stonecrop/themes": "0.4.36"
40
+ "@stonecrop/aform": "0.4.37",
41
+ "@stonecrop/atable": "0.4.37",
42
+ "@stonecrop/stonecrop": "0.4.37",
43
+ "@stonecrop/themes": "0.4.37"
44
44
  },
45
45
  "devDependencies": {
46
- "@microsoft/api-documenter": "^7.26.31",
46
+ "@eslint/js": "^9.38.0",
47
+ "@microsoft/api-documenter": "^7.27.3",
47
48
  "@miragejs/graphql": "^0.1.13",
48
- "@rushstack/heft": "^0.74.2",
49
- "@typescript-eslint/eslint-plugin": "^7.18.0",
50
- "@typescript-eslint/parser": "^7.18.0",
49
+ "@rushstack/heft": "^1.1.3",
51
50
  "@vitejs/plugin-vue": "^6.0.1",
52
- "eslint": "^8.57.1",
53
- "eslint-config-prettier": "^8.10.0",
54
- "eslint-plugin-vue": "^9.33.0",
51
+ "eslint": "^9.38.0",
52
+ "eslint-config-prettier": "^10.1.8",
53
+ "eslint-plugin-vue": "^10.5.1",
54
+ "globals": "^16.4.0",
55
55
  "miragejs": "^0.1.48",
56
56
  "typescript": "^5.9.3",
57
+ "typescript-eslint": "^8.46.2",
57
58
  "vite": "^7.1.1",
58
59
  "vue-router": "^4.6.3",
59
60
  "stonecrop-rig": "0.2.22"
@@ -70,6 +71,6 @@
70
71
  "build": "heft build && vite build && rushx docs",
71
72
  "dev": "vite",
72
73
  "docs": "cd ../common/autoinstallers/doc-tools && node generate-docs.mjs desktop",
73
- "lint": "eslint . --ext .ts,.vue"
74
+ "lint": "eslint ."
74
75
  }
75
76
  }
@@ -7,9 +7,9 @@
7
7
  <div class="action-menu-icon">
8
8
  <div id="chevron" @click="closeClicked = !closeClicked">
9
9
  <svg
10
+ id="Layer_1"
10
11
  class="leftBar"
11
12
  version="1.1"
12
- id="Layer_1"
13
13
  xmlns="http://www.w3.org/2000/svg"
14
14
  xmlns:xlink="http://www.w3.org/1999/xlink"
15
15
  x="0px"
@@ -22,9 +22,9 @@
22
22
  </svg>
23
23
 
24
24
  <svg
25
+ id="Layer_1"
25
26
  class="rightBar"
26
27
  version="1.1"
27
- id="Layer_1"
28
28
  xmlns="http://www.w3.org/2000/svg"
29
29
  xmlns:xlink="http://www.w3.org/1999/xlink"
30
30
  x="0px"
@@ -38,11 +38,11 @@
38
38
  </div>
39
39
  </div>
40
40
  <div style="margin-right: 30px"></div>
41
- <div class="action-element" v-for="(el, index) in _elements" :key="el.label">
41
+ <div v-for="(el, index) in _elements" :key="el.label" class="action-element">
42
42
  <button v-if="el.type == 'button'" :onclick="el.action" class="button-default">{{ el.label }}</button>
43
43
  <div v-if="el.type == 'dropdown'">
44
44
  <button class="button-default" @click="toggleDropdown(index)">{{ el.label }}</button>
45
- <div class="dropdown-container" v-show="el.show">
45
+ <div v-show="el.show" class="dropdown-container">
46
46
  <div class="dropdown">
47
47
  <div v-for="item in el.actions" :key="item.label">
48
48
  <button v-if="item.action != null" :onclick="item.action" class="dropdown-item">{{ item.label }}</button>
@@ -62,11 +62,11 @@ import { onMounted, ref } from 'vue'
62
62
 
63
63
  import type { ActionElements } from '../types'
64
64
 
65
- const { elements } = defineProps<{ elements?: ActionElements[] }>()
65
+ const { elements = [] } = defineProps<{ elements?: ActionElements[] }>()
66
66
 
67
67
  const _elements = ref(elements)
68
68
  const isOpen = ref(false)
69
- const timeout = ref<number>(null)
69
+ const timeoutId = ref<number>(-1)
70
70
  const hover = ref(false)
71
71
  const closeClicked = ref(false)
72
72
 
@@ -84,7 +84,7 @@ const closeDropdowns = () => {
84
84
 
85
85
  const onHover = () => {
86
86
  hover.value = true
87
- timeout.value = setTimeout(() => {
87
+ timeoutId.value = setTimeout(() => {
88
88
  if (hover.value) {
89
89
  isOpen.value = true
90
90
  }
@@ -94,7 +94,7 @@ const onHover = () => {
94
94
  const onHoverLeave = () => {
95
95
  hover.value = false
96
96
  closeClicked.value = false
97
- clearTimeout(timeout.value)
97
+ clearTimeout(timeoutId.value)
98
98
  isOpen.value = false
99
99
  }
100
100
 
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <AForm class="aform-main" v-model="schema" />
2
+ <AForm v-model="schema" class="aform-main" />
3
3
  </template>
4
4
 
5
5
  <script setup lang="ts">
@@ -15,16 +15,21 @@ const schema = ref<SchemaTypes[]>([])
15
15
 
16
16
  watch(stonecrop, () => {
17
17
  if (stonecrop.value) {
18
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call
18
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
19
19
  let newSchema = stonecrop.value.schema?.schema.toArray()
20
20
  if (!newSchema) {
21
21
  newSchema = []
22
22
  }
23
+
24
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
23
25
  newSchema.forEach((item, index) => {
24
26
  const record = stonecrop.value?.store.record
27
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
25
28
  const fieldValue = record?.[item.fieldname]
29
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
26
30
  newSchema[index].value = fieldValue
27
31
  })
32
+
28
33
  schema.value = newSchema
29
34
  }
30
35
  })
@@ -14,6 +14,7 @@ import { computed } from 'vue'
14
14
 
15
15
  const { stonecrop } = useStonecrop()
16
16
  const rows = computed(() => stonecrop.value?.store.records)
17
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
17
18
  const columns = computed((): TableColumn[] => stonecrop.value?.schema?.schema?.toArray())
18
19
  const config = { view: 'list' }
19
20
  </script>
@@ -6,13 +6,13 @@
6
6
  </li>
7
7
  <li
8
8
  class="hometab"
9
+ :style="{ display: breadcrumbsVisibile ? 'block' : 'none' }"
9
10
  @click="navigateHome"
10
- @keydown.enter="navigateHome"
11
- :style="{ display: breadcrumbsVisibile ? 'block' : 'none' }">
11
+ @keydown.enter="navigateHome">
12
12
  <router-link to="/home" tabindex="0">
13
13
  <svg
14
- version="1.1"
15
14
  id="Capa_1"
15
+ version="1.1"
16
16
  xmlns="http://www.w3.org/2000/svg"
17
17
  xmlns:xlink="http://www.w3.org/1999/xlink"
18
18
  x="0px"
@@ -38,29 +38,29 @@
38
38
  </li>
39
39
  <li
40
40
  class="searchtab"
41
+ :style="{ display: breadcrumbsVisibile ? 'block' : 'none' }"
41
42
  @click="toggleSearch"
42
- @keydown.enter="toggleSearch"
43
- :style="{ display: breadcrumbsVisibile ? 'block' : 'none' }">
43
+ @keydown.enter="toggleSearch">
44
44
  <a tabindex="0">
45
45
  <span :style="{ display: searchVisibile ? 'none' : 'block' }">
46
46
  <svg style="width: 11pt">
47
47
  <g transform="matrix(-0.08088215,0,0,0.08088215,9.8016177,3.1263021e-6)">
48
48
  <path
49
+ id="path2"
49
50
  d="M 93.148438,80.832031 C 109.5,57.742188 104.03125,25.769531 80.941406,9.421875 57.851562,-6.925781 25.878906,-1.460938 9.53125,21.632812 -6.816406,44.722656 -1.351562,76.691406 21.742188,93.039062 38.222656,104.70703 60.011719,105.60547 77.394531,95.339844 l 37.769529,37.542966 c 4.07813,4.29297 10.86328,4.46485 15.15625,0.38672 4.29297,-4.07422 4.46485,-10.85937 0.39063,-15.15234 -0.12891,-0.13672 -0.25391,-0.26172 -0.39063,-0.39063 z m -41.839844,3.5 C 33.0625,84.335938 18.269531,69.554688 18.257812,51.308594 18.253906,33.0625 33.035156,18.269531 51.285156,18.261719 c 18.222656,-0.0078 33.007813,14.75 33.042969,32.972656 0.03125,18.25 -14.742187,33.066406 -32.996094,33.097656 -0.0078,0 -0.01172,0 -0.02344,0 z m 0,0"
50
- style="fill: #000000; fill-opacity: 1; fill-rule: nonzero; stroke: none"
51
- id="path2" />
51
+ style="fill: #000000; fill-opacity: 1; fill-rule: nonzero; stroke: none" />
52
52
  </g>
53
53
  </svg>
54
54
  </span>
55
55
  <input
56
- v-model="searchText"
57
56
  ref="searchinput"
57
+ v-model="searchText"
58
58
  :style="{ display: searchVisibile ? 'block' : 'none' }"
59
+ type="text"
59
60
  @click="handleSearchInput($event)"
60
61
  @input="handleSearchInput($event)"
61
62
  @blur="handleSearch($event)"
62
- @keydown.enter="handleSearch($event)"
63
- type="text" />
63
+ @keydown.enter="handleSearch($event)" />
64
64
  </a>
65
65
  </li>
66
66
  <li