@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/dist/desktop.css +1 -1
- package/dist/desktop.js +2565 -2830
- package/dist/desktop.js.map +1 -1
- package/dist/desktop.umd.cjs +11 -11
- package/dist/desktop.umd.cjs.map +1 -1
- package/package.json +14 -13
- package/src/components/ActionSet.vue +8 -8
- package/src/components/Doctype.vue +7 -2
- package/src/components/Records.vue +1 -0
- package/src/components/SheetNav.vue +10 -10
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stonecrop/desktop",
|
|
3
|
-
"version": "0.4.
|
|
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.
|
|
41
|
-
"@stonecrop/atable": "0.4.
|
|
42
|
-
"@stonecrop/stonecrop": "0.4.
|
|
43
|
-
"@stonecrop/themes": "0.4.
|
|
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
|
-
"@
|
|
46
|
+
"@eslint/js": "^9.38.0",
|
|
47
|
+
"@microsoft/api-documenter": "^7.27.3",
|
|
47
48
|
"@miragejs/graphql": "^0.1.13",
|
|
48
|
-
"@rushstack/heft": "^
|
|
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": "^
|
|
53
|
-
"eslint-config-prettier": "^
|
|
54
|
-
"eslint-plugin-vue": "^
|
|
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 .
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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(
|
|
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"
|
|
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-
|
|
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
|