コード例 #1
0
ファイル: js.go プロジェクト: platinasystems/weeb
func submitInput(input jquery.JQuery) {
	if currentPath != "/exec" {
		log.Println("ignore non exec ", currentPath)
		return
	}

	cmd := strings.TrimSpace(input.Val())
	if cmd == "" {
		return
	}

	go func() {
		d := mySite.DocByPath[currentPath]
		page := mySite.PageByPath[currentPath]

		var pre, result string
		args := strings.Split(cmd, " ")
		err := rpc.Call("Listener.Exec", &args, &result)
		if err != nil {
			pre = fmt.Sprintf("error: %v", err)
		} else {
			pre = result
		}
		pre = ghtml.EscapeString(pre)
		body := d.Pre(&String{pre}).Markup(d)

		jq(input).SetAttr("disabled", "yes")
		ec := jq(input).Closest("div.ExecCommand")
		res := ec.Find("div.ExecResult")

		jq(res).SetHtml(body)

		jq(res).Closest("div.row").RemoveClass("hide")

		parent := jq(ec).Parent()
		add := page.(*execPage).ExecCommand.Body(d)

		parent.Append(add.Markup(d))
		jqBind(jq(parent))

		jq(parent).Find("input:last").Focus()
	}()
}