diff --git a/module/gitlab/js/browse.ui.js b/module/gitlab/js/browse.ui.js
new file mode 100644
index 0000000000..e74d6b4592
--- /dev/null
+++ b/module/gitlab/js/browse.ui.js
@@ -0,0 +1,27 @@
+window.createSortLink = function(col)
+{
+ var sort = col.name + '_asc';
+ if(sort == orderBy) sort = col.name + '_desc';
+
+ return sortLink.replace('{orderBy}', sort);
+}
+
+window.renderCell = function(result, {col, row})
+{
+ if(col.name === 'name')
+ {
+ var browseProjectLink = $.createLink('gitlab', 'browseProject', 'gitlabID=' + row.data.id);
+ if(canBrowseProject) result[0] = {html:'' + row.data.name + '', style:{flexDirection:"column"}};
+
+ return result;
+ }
+
+ if(col.name === 'url')
+ {
+ result[0] = {html:'' + row.data.url + '', style:{flexDirection:"column"}};
+
+ return result;
+ }
+
+ return result;
+};
\ No newline at end of file
diff --git a/module/gitlab/ui/browse.html.php b/module/gitlab/ui/browse.html.php
new file mode 100644
index 0000000000..61f41c8fe7
--- /dev/null
+++ b/module/gitlab/ui/browse.html.php
@@ -0,0 +1,42 @@
+
+ * @package gitlab
+ * @link http://www.zentao.net
+ */
+
+namespace zin;
+
+featureBar();
+
+/* zin: Define the toolbar on main menu. */
+$canCreate = hasPriv('gitlab', 'create');
+$createLink = $this->createLink('gitlab', 'create');
+$createItem = array('text' => $lang->gitlab->create, 'url' => $createLink, 'class' => 'primary', 'icon' => 'plus');
+
+$tableData = initTableData($gitlabList, $config->gitlab->dtable->fieldList, $this->gitlab);
+
+toolbar
+(
+ $canCreate ? item(set($createItem)) : null,
+);
+
+jsVar('orderBy', $orderBy);
+jsVar('canBrowseProject', common::hasPriv('gitlab', 'browseProject'));
+jsVar('sortLink', helper::createLink('gitlab', 'browse', "orderBy={orderBy}&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}&pageID={$pager->pageID}"));
+
+dtable
+(
+ set::cols(array_values($config->gitlab->dtable->fieldList)),
+ set::data($tableData),
+ set::sortLink(jsRaw('createSortLink')),
+ set::onRenderCell(jsRaw('window.renderCell')),
+ set::footPager(usePager()),
+);
+
+render();