@ditojs/admin 2.84.1 → 2.85.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.
- package/dist/dito-admin.css +1 -1
- package/dist/dito-admin.es.js +781 -774
- package/dist/dito-admin.umd.js +2 -2
- package/package.json +32 -32
- package/src/components/DitoDialog.vue +16 -0
- package/src/components/DitoRoot.vue +8 -5
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ditojs/admin",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.85.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Dito.js Admin is a schema based admin interface for Dito.js Server, featuring auto-generated views and forms and built with Vue.js",
|
|
6
6
|
"repository": "https://github.com/ditojs/dito/tree/master/packages/admin",
|
|
@@ -42,36 +42,36 @@
|
|
|
42
42
|
"not ie_mob > 0"
|
|
43
43
|
],
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@ditojs/ui": "^2.
|
|
46
|
-
"@ditojs/utils": "^2.
|
|
45
|
+
"@ditojs/ui": "^2.85.0",
|
|
46
|
+
"@ditojs/utils": "^2.85.0",
|
|
47
47
|
"@kyvg/vue3-notification": "^3.4.2",
|
|
48
48
|
"@lk77/vue3-color": "^3.0.6",
|
|
49
|
-
"@tiptap/core": "^3.20.
|
|
50
|
-
"@tiptap/extension-blockquote": "^3.20.
|
|
51
|
-
"@tiptap/extension-bold": "^3.20.
|
|
52
|
-
"@tiptap/extension-bullet-list": "^3.20.
|
|
53
|
-
"@tiptap/extension-code": "^3.20.
|
|
54
|
-
"@tiptap/extension-code-block": "^3.20.
|
|
55
|
-
"@tiptap/extension-document": "^3.20.
|
|
56
|
-
"@tiptap/extension-hard-break": "^3.20.
|
|
57
|
-
"@tiptap/extension-heading": "^3.20.
|
|
58
|
-
"@tiptap/extension-history": "^3.20.
|
|
59
|
-
"@tiptap/extension-horizontal-rule": "^3.20.
|
|
60
|
-
"@tiptap/extension-italic": "^3.20.
|
|
61
|
-
"@tiptap/extension-link": "^3.20.
|
|
62
|
-
"@tiptap/extension-list": "^3.20.
|
|
63
|
-
"@tiptap/extension-list-item": "^3.20.
|
|
64
|
-
"@tiptap/extension-ordered-list": "^3.20.
|
|
65
|
-
"@tiptap/extension-paragraph": "^3.20.
|
|
66
|
-
"@tiptap/extension-strike": "^3.20.
|
|
67
|
-
"@tiptap/extension-subscript": "^3.20.
|
|
68
|
-
"@tiptap/extension-superscript": "^3.20.
|
|
69
|
-
"@tiptap/extension-text": "^3.20.
|
|
70
|
-
"@tiptap/extension-text-style": "^3.20.
|
|
71
|
-
"@tiptap/extension-underline": "^3.20.
|
|
72
|
-
"@tiptap/extensions": "^3.20.
|
|
73
|
-
"@tiptap/pm": "^3.20.
|
|
74
|
-
"@tiptap/vue-3": "^3.20.
|
|
49
|
+
"@tiptap/core": "^3.20.1",
|
|
50
|
+
"@tiptap/extension-blockquote": "^3.20.1",
|
|
51
|
+
"@tiptap/extension-bold": "^3.20.1",
|
|
52
|
+
"@tiptap/extension-bullet-list": "^3.20.1",
|
|
53
|
+
"@tiptap/extension-code": "^3.20.1",
|
|
54
|
+
"@tiptap/extension-code-block": "^3.20.1",
|
|
55
|
+
"@tiptap/extension-document": "^3.20.1",
|
|
56
|
+
"@tiptap/extension-hard-break": "^3.20.1",
|
|
57
|
+
"@tiptap/extension-heading": "^3.20.1",
|
|
58
|
+
"@tiptap/extension-history": "^3.20.1",
|
|
59
|
+
"@tiptap/extension-horizontal-rule": "^3.20.1",
|
|
60
|
+
"@tiptap/extension-italic": "^3.20.1",
|
|
61
|
+
"@tiptap/extension-link": "^3.20.1",
|
|
62
|
+
"@tiptap/extension-list": "^3.20.1",
|
|
63
|
+
"@tiptap/extension-list-item": "^3.20.1",
|
|
64
|
+
"@tiptap/extension-ordered-list": "^3.20.1",
|
|
65
|
+
"@tiptap/extension-paragraph": "^3.20.1",
|
|
66
|
+
"@tiptap/extension-strike": "^3.20.1",
|
|
67
|
+
"@tiptap/extension-subscript": "^3.20.1",
|
|
68
|
+
"@tiptap/extension-superscript": "^3.20.1",
|
|
69
|
+
"@tiptap/extension-text": "^3.20.1",
|
|
70
|
+
"@tiptap/extension-text-style": "^3.20.1",
|
|
71
|
+
"@tiptap/extension-underline": "^3.20.1",
|
|
72
|
+
"@tiptap/extensions": "^3.20.1",
|
|
73
|
+
"@tiptap/pm": "^3.20.1",
|
|
74
|
+
"@tiptap/vue-3": "^3.20.1",
|
|
75
75
|
"@vueuse/integrations": "^14.2.1",
|
|
76
76
|
"codeflask": "^1.4.1",
|
|
77
77
|
"filesize": "^11.0.13",
|
|
@@ -83,15 +83,15 @@
|
|
|
83
83
|
"tippy.js": "^6.3.7",
|
|
84
84
|
"tiptap-footnotes": "^3.0.1",
|
|
85
85
|
"type-fest": "^5.4.4",
|
|
86
|
-
"vue": "^3.5.
|
|
86
|
+
"vue": "^3.5.30",
|
|
87
87
|
"vue-multiselect": "^3.4.0",
|
|
88
88
|
"vue-router": "^5.0.3",
|
|
89
89
|
"vue-upload-component": "^3.1.17"
|
|
90
90
|
},
|
|
91
91
|
"devDependencies": {
|
|
92
|
-
"@ditojs/build": "^2.
|
|
92
|
+
"@ditojs/build": "^2.85.0",
|
|
93
93
|
"typescript": "^5.9.3",
|
|
94
94
|
"vite": "^7.3.1"
|
|
95
95
|
},
|
|
96
|
-
"gitHead": "
|
|
96
|
+
"gitHead": "81532817ab2edd74e2d70ddb85107693dad22ec7"
|
|
97
97
|
}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
UseFocusTrap.dito-dialog__focus-trap(:options="focusTrapOptions")
|
|
11
11
|
form.dito-scroll-parent(
|
|
12
12
|
@submit.prevent="submit"
|
|
13
|
+
@keydown.enter="onEnter"
|
|
13
14
|
)
|
|
14
15
|
// Add an invisible button that prevents the clearable buttons from being
|
|
15
16
|
// pressed when the user presses the Enter key:
|
|
@@ -150,6 +151,15 @@ export default DitoComponent.component('DitoDialog', {
|
|
|
150
151
|
this.remove()
|
|
151
152
|
},
|
|
152
153
|
|
|
154
|
+
onEnter(event) {
|
|
155
|
+
// Handle Enter key on input fields to submit the form. This also handles
|
|
156
|
+
// password managers (e.g. 1Password) that simulate an untrusted Enter
|
|
157
|
+
// keypress to submit, which browsers ignore.
|
|
158
|
+
if (event.target instanceof HTMLInputElement) {
|
|
159
|
+
this.submit()
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
|
|
153
163
|
submit() {
|
|
154
164
|
this.resolve(this.dialogData)
|
|
155
165
|
},
|
|
@@ -193,6 +203,12 @@ export default DitoComponent.component('DitoDialog', {
|
|
|
193
203
|
max-height: 100%;
|
|
194
204
|
}
|
|
195
205
|
|
|
206
|
+
// Place cancel button visually first even though submit comes first in DOM,
|
|
207
|
+
// so that password managers (e.g. 1Password) find the submit button first.
|
|
208
|
+
.dito-container:has(.dito-button--cancel) {
|
|
209
|
+
order: -1;
|
|
210
|
+
}
|
|
211
|
+
|
|
196
212
|
// TODO: `&__inner`
|
|
197
213
|
form {
|
|
198
214
|
position: relative;
|
|
@@ -295,16 +295,19 @@ export default DitoComponent.component('DitoRoot', {
|
|
|
295
295
|
},
|
|
296
296
|
...additionalComponents
|
|
297
297
|
},
|
|
298
|
+
// NOTE: Login must come before cancel in DOM order so that password
|
|
299
|
+
// managers (e.g. 1Password) target the submit button instead of cancel.
|
|
300
|
+
// DitoDialog uses CSS order to visually place cancel first.
|
|
298
301
|
buttons: {
|
|
302
|
+
login: {
|
|
303
|
+
type: 'submit',
|
|
304
|
+
text: 'Login'
|
|
305
|
+
},
|
|
306
|
+
|
|
299
307
|
cancel: {
|
|
300
308
|
type: 'button',
|
|
301
309
|
text: 'Cancel'
|
|
302
310
|
// NOTE: The click event is added in DitoDialog.buttonSchemas()
|
|
303
|
-
},
|
|
304
|
-
|
|
305
|
-
login: {
|
|
306
|
-
type: 'submit',
|
|
307
|
-
text: 'Login'
|
|
308
311
|
}
|
|
309
312
|
}
|
|
310
313
|
})
|