From 05c296e7236b874a3a66db0579d2b37ca506d0eb Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Sun, 12 Oct 2014 22:00:26 +0800 Subject: [PATCH] #42, $39, Fix #27 --- conf/wide.json | 5 +-- editor/editors.go | 5 ++- i18n/zh_CN.json | 2 + main.go | 22 ++++++----- static/css/login.css | 6 ++- static/css/wide.css | 25 ++++++++++++ static/favicon.ico | Bin 0 -> 36882 bytes static/images/wide-logo.png | Bin 0 -> 15277 bytes static/js/editors.js | 75 +++++++++++++++++++++++++----------- static/js/wide.js | 17 +++----- view/index.html | 13 +++++-- view/login.html | 5 ++- view/shell.html | 13 ++++--- 13 files changed, 126 insertions(+), 62 deletions(-) create mode 100644 static/favicon.ico create mode 100644 static/images/wide-logo.png diff --git a/conf/wide.json b/conf/wide.json index a932613..8dcc030 100644 --- a/conf/wide.json +++ b/conf/wide.json @@ -21,10 +21,9 @@ "D:\\GoGoGo\\src\\github.com\\b3log\\wide\\data\\user_workspaces\\admin\\src\\mytest\\time\\pkg" ], "Files": [ - "D:\\GoGoGo\\src\\github.com\\b3log\\wide\\data\\user_workspaces\\admin\\src\\mytest\\time\\main.go", - "D:\\GoGoGo\\src\\github.com\\b3log\\wide\\data\\user_workspaces\\admin\\src\\mytest\\time\\pkg\\time.go" + "D:\\GoGoGo\\src\\github.com\\b3log\\wide\\data\\user_workspaces\\admin\\src\\mytest\\time\\main.go" ], - "CurrentFile": "D:\\GoGoGo\\src\\github.com\\b3log\\wide\\data\\user_workspaces\\admin\\src\\mytest\\time\\pkg\\time.go" + "CurrentFile": "D:\\GoGoGo\\src\\github.com\\b3log\\wide\\data\\user_workspaces\\admin\\src\\mytest\\time\\main.go" } } ] diff --git a/editor/editors.go b/editor/editors.go index 9dc89df..0b46130 100644 --- a/editor/editors.go +++ b/editor/editors.go @@ -356,6 +356,7 @@ func FindUsagesHandler(w http.ResponseWriter, r *http.Request) { ch := int(args["cursorCh"].(float64)) offset := getCursorOffset(code, line, ch) + // glog.Infof("offset [%d]", offset) // TODO: 目前是调用 liteide_stub 工具来查找使用,后续需要重新实现 ide_stub := conf.Wide.GetIDEStub() @@ -391,11 +392,11 @@ func FindUsagesHandler(w http.ResponseWriter, r *http.Request) { cursorLine, _ := strconv.Atoi(found[cursorSep+1 : strings.LastIndex(found, ":")]) cursorCh, _ := strconv.Atoi(found[strings.LastIndex(found, ":")+1:]) - usage := &file.Snippet{Path: path, Line: cursorLine, Ch: cursorCh /* TODO: 获取附近的代码片段 */} + usage := &file.Snippet{Path: path, Line: cursorLine, Ch: cursorCh, Contents: []string{""}} usages = append(usages, usage) } - data["usages"] = usages + data["founds"] = usages } // 计算光标偏移位置. diff --git a/i18n/zh_CN.json b/i18n/zh_CN.json index 3c8662e..2a15381 100644 --- a/i18n/zh_CN.json +++ b/i18n/zh_CN.json @@ -44,5 +44,7 @@ "notification": "通知", "min": "最小化", "restore_side": "左侧窗口还原", + "usages": "查找使用", + "search_text": "查找文本", "restore_bottom": "底部窗口还原" } \ No newline at end of file diff --git a/main.go b/main.go index 0da0d30..62cd886 100644 --- a/main.go +++ b/main.go @@ -149,9 +149,11 @@ func indexHandler(w http.ResponseWriter, r *http.Request) { t.Execute(w, model) } -// favicon.ico 请求处理. -func faviconHandler(w http.ResponseWriter, r *http.Request) { - // TODO: favicon.ico 请求处理 +// 单个文件资源请求处理. +func serveSingle(pattern string, filename string) { + http.HandleFunc(pattern, func(w http.ResponseWriter, r *http.Request) { + http.ServeFile(w, r, filename) + }) } // 主程序入口. @@ -160,17 +162,17 @@ func main() { defer glog.Flush() - // 静态资源 - http.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("static")))) - http.HandleFunc("/favicon.ico", handlerWrapper(faviconHandler)) - - // 库资源 - http.Handle("/data/", http.StripPrefix("/data/", http.FileServer(http.Dir("data")))) - // IDE http.HandleFunc("/login", handlerWrapper(loginHandler)) http.HandleFunc("/", handlerWrapper(indexHandler)) + // 静态资源 + http.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("static")))) + serveSingle("/favicon.ico", "./static/favicon.ico") + + // 库资源 + http.Handle("/data/", http.StripPrefix("/data/", http.FileServer(http.Dir("data")))) + // 会话 http.HandleFunc("/session/ws", handlerWrapper(session.WSHandler)) http.HandleFunc("/session/save", handlerWrapper(session.SaveContent)) diff --git a/static/css/login.css b/static/css/login.css index a2a7aff..7aec7fa 100644 --- a/static/css/login.css +++ b/static/css/login.css @@ -3,8 +3,10 @@ width: 980px; } -.header h1 { - margin: 0; +.header .logo { + float: left; + height: 32px; + margin-top: 3px; } .header { diff --git a/static/css/wide.css b/static/css/wide.css index 970e539..1be49dd 100644 --- a/static/css/wide.css +++ b/static/css/wide.css @@ -280,6 +280,31 @@ width: 50px; padding: 0 5px; } + +.bottom-window-group .search li { + cursor: pointer; + line-height: 20px; + padding: 0 3px; + word-wrap: normal; + word-break: normal; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.bottom-window-group .search li.selected { + background-color: #3875d7; + color: #FFF; +} + +.bottom-window-group .search .path { + color: #999; + font-size: 12px; +} + +.bottom-window-group .search li.selected .path { + color: #FFF; +} /* end bottom-window-group */ /* start footer */ diff --git a/static/favicon.ico b/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..73bb45f6c464e5b23c459d710b775abf5723e7a9 GIT binary patch literal 36882 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 P(2teHN%Lo>9x49^jN0Ia literal 0 HcmV?d00001 diff --git a/static/js/editors.js b/static/js/editors.js index 05b51b5..bbdf980 100644 --- a/static/js/editors.js +++ b/static/js/editors.js @@ -259,38 +259,69 @@ var editors = { return; } - var usagesHTML = '
    '; - - for (var i = 0, ii = data.usages.length; i < ii; i++) { - usagesHTML += '
  • ' + data.usages[i].path - + '
  • '; - } - usagesHTML += '
'; - - editors.appendSearch(usagesHTML); + editors.appendSearch(data.founds, 'usages', ''); } }); }; }, - appendSearch: function (html) { - var $usages = $('.bottom-window-group .search'); - if ($usages.find("ul").length === 0) { - wide.usagesTab = new Tabs({ + appendSearch: function (data, type, key) { + var searcHTML = '
    '; + + for (var i = 0, ii = data.length; i < ii; i++) { + var contents = data[i].contents[0], + index = contents.indexOf(key); + contents = contents.substring(0, index) + + '' + key + '' + + contents.substring(index + key.length); + + searcHTML += '
  • ' + + contents + "    " + data[i].path + + ' (' + data[i].line + ':' + + data[i].ch + ')
  • '; + } + searcHTML += '
'; + + var $search = $('.bottom-window-group .search'), + title = config.label.usages; + if (type === "founds") { + title = config.label.search_text; + } + if ($search.find("ul").length === 0) { + wide.searchTab = new Tabs({ id: ".bottom-window-group .search", removeAfter: function (id, prevId) { - if ($usages.find("ul").length === 1) { - $usages.find(".tabs").hide(); + if ($search.find("ul").length === 1) { + $search.find(".tabs").hide(); } } }); - $usages.find(".tabs-panel > div").append(html); - } else if ($usages.find("ul").length === 1) { - $usages.find(".tabs").show(); - wide.usagesTab.add({ - id: "b", - "title": 'Usages of ', - "content": html + 1 + $search.on("click", "li", function () { + $search.find("li").removeClass("selected"); + $(this).addClass("selected"); + }); + + $search.on("dblclick", "li", function () { + var $it = $(this), + tId = tree.getTIdByPath($it.attr("title")); + tree.openFile(tree.fileTree.getNodeByTId(tId)); + tree.fileTree.selectNode(wide.curNode); + + var cursor = CodeMirror.Pos($it.find(".position").data("line") - 1, $it.find(".position").data("ch") - 1); + wide.curEditor.setCursor(cursor); + wide.curEditor.focus(); + }); + + $search.find(".tabs-panel > div").append(searcHTML); + + $search.find(".tabs .first").text(title); + } else { + $search.find(".tabs").show(); + wide.searchTab.add({ + "id": "search" + (new Date()).getTime(), + "title": title, + "content": searcHTML }); } diff --git a/static/js/wide.js b/static/js/wide.js index 77f5845..3435455 100644 --- a/static/js/wide.js +++ b/static/js/wide.js @@ -213,8 +213,8 @@ var wide = { $("#dialogSearchForm").dialog({ "height": 52, "width": 260, - "title": config.label.create_dir, - "okText": config.label.create, + "title": config.label.search, + "okText": config.label.search, "cancelText": config.label.cancel, "afterOpen": function () { $("#dialogSearchForm > input:eq(0)").val('').focus(); @@ -234,16 +234,9 @@ var wide = { if (!data.succ) { return; } - - var searcHTML = '
    '; - - for (var i = 0, ii = data.founds.length; i < ii; i++) { - searcHTML += '
  • ' + data.founds[i].path - + '
  • '; - } - searcHTML += '
'; - - editors.appendSearch(searcHTML); + + $("#dialogSearchForm").dialog("close"); + editors.appendSearch(data.founds, 'founds', request.text); } }); } diff --git a/view/index.html b/view/index.html index c434ae3..e7c9b87 100644 --- a/view/index.html +++ b/view/index.html @@ -15,6 +15,8 @@ + + @@ -155,12 +157,12 @@
@@ -216,7 +218,10 @@ "tip": "{{.i18n.tip}}", "confirm": "{{.i18n.confirm}}", "build_n_run": "{{.i18n.build_n_run}}", - "stop": "{{.i18n.stop}}" + "stop": "{{.i18n.stop}}", + "usages": "{{.i18n.usages}}", + "search_text": "{{.i18n.search_text}}", + "search": "{{.i18n.search}}" }, "channel": { "editor": '{{.conf.EditorChannel}}', diff --git a/view/login.html b/view/login.html index a4ff680..e6060d4 100644 --- a/view/login.html +++ b/view/login.html @@ -5,11 +5,14 @@ {{.i18n.wide}} - {{.i18n.login}} +
-

Wide

+ +
  • GitHub
  • {{.i18n.help}}
  • diff --git a/view/shell.html b/view/shell.html index 19d9a29..9633b7e 100644 --- a/view/shell.html +++ b/view/shell.html @@ -4,6 +4,8 @@ {{.i18n.wide}} + + @@ -14,12 +16,11 @@ + channel: { + shell: '{{.conf.ShellChannel}}' + }, + wideSessionId: {{.session.Id}} + };