Skip to content

Commit

Permalink
select_menu: Initial investigation to fix navigating back issue #3.
Browse files Browse the repository at this point in the history
  • Loading branch information
dmitshur committed Jan 27, 2015
1 parent 4fbd26d commit 68f1d91
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 0 deletions.
4 changes: 4 additions & 0 deletions select_menu/backend.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,10 @@ func New(options []string, defaultOption string, query url.Values, queryParamete
// HACK: Don't use Sprintf, properly encode (as json at this time).
Val: fmt.Sprintf(`SelectMenuOnInput(event, this, %q, %q);`, strconv.Quote(defaultOption), strconv.Quote(queryParameter)),
})
selectElement.Attr = append(selectElement.Attr, html.Attribute{
Key: "onload",
Val: `alert('loaded');`,
})

html, err := html_gen.RenderNodes(selectElement)
if err != nil {
Expand Down
10 changes: 10 additions & 0 deletions select_menu/frontend.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,5 +31,15 @@ func SelectMenuOnInput(event dom.Event, object dom.HTMLElement, defaultOption, q
query.Set(queryParameter, selected)
}

var originalSelected int
options := selectElement.Underlying().Get("options")
for i := 0; i < options.Length(); i++ {
if options.Index(i).Get("defaultSelected").Bool() {
originalSelected = i
break
}
}
selectElement.Underlying().Set("selectedIndex", originalSelected)

dom.GetWindow().Location().Search = "?" + query.Encode()
}

0 comments on commit 68f1d91

Please sign in to comment.