Skip to content

Commit 2c05e1f

Browse files
authored
Merge pull request #185 from arran4/edit-ctrl-enter-5365824988694728777
feat: Enable Ctrl+Enter to save in edit forms
2 parents 68527dd + 79150e7 commit 2c05e1f

File tree

2 files changed

+36
-2
lines changed

2 files changed

+36
-2
lines changed

cmd/gobookmarks/test_verification_template_command.go

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ func (c *TemplateCommand) Execute(args []string) error {
7777
}
7878

7979
var bookmarksStr string
80+
templateName := "mainPage.gohtml"
8081
switch subcommandRange {
8182
case "default":
8283
bookmarksStr = `
@@ -107,6 +108,15 @@ Category: Coding
107108
https://github.com GitHub
108109
https://stackoverflow.com Stack Overflow
109110
`
111+
case "edit":
112+
templateName = "edit.gohtml"
113+
bookmarksStr = `
114+
Tab: Default Tab
115+
Page: Default Page
116+
Category: Default Category
117+
https://example.com Example Link
118+
`
119+
coreData.EditMode = true
110120
default:
111121
// If unknown range, maybe treat it as empty or minimal
112122
bookmarksStr = "Tab: Empty\n"
@@ -253,6 +263,14 @@ https://stackoverflow.com Stack Overflow
253263
funcs["showPages"] = func() bool { return true }
254264

255265

266+
// Override additional functions for edit pages
267+
funcs["bookmarksOrEditBookmarks"] = func() (string, error) {
268+
return bookmarksStr, nil
269+
}
270+
funcs["branchOrEditBranch"] = func() string { return "main" }
271+
funcs["ref"] = func() string { return "sha123" }
272+
funcs["bookmarksSHA"] = func() string { return "sha123" }
273+
256274
// Compile templates with our modified funcs
257275
tmpl := GetCompiledTemplates(funcs)
258276

@@ -266,8 +284,8 @@ https://stackoverflow.com Stack Overflow
266284
}
267285

268286
var buf bytes.Buffer
269-
if err := tmpl.ExecuteTemplate(&buf, "mainPage.gohtml", data); err != nil {
270-
return fmt.Errorf("failed to render template: %w", err)
287+
if err := tmpl.ExecuteTemplate(&buf, templateName, data); err != nil {
288+
return fmt.Errorf("failed to render template %s: %w", templateName, err)
271289
}
272290

273291
output := buf.Bytes()

templates/tail.gohtml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -491,6 +491,22 @@
491491
return;
492492
}
493493

494+
if (inInput && (e.ctrlKey || e.metaKey) && e.key === 'Enter') {
495+
if (!e.defaultPrevented) {
496+
var form = active.form;
497+
if (form) {
498+
var submitBtn = form.querySelector('[type="submit"]');
499+
if (submitBtn) {
500+
submitBtn.click();
501+
} else {
502+
form.submit();
503+
}
504+
e.preventDefault();
505+
return;
506+
}
507+
}
508+
}
509+
494510
if (!inInput) {
495511
if (e.key === 'ArrowDown') { moveSelection(1); e.preventDefault(); }
496512
else if (e.key === 'ArrowUp') { moveSelection(-1); e.preventDefault(); }

0 commit comments

Comments
 (0)