Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
-布谷鸟-
nosqlclient
提交
b5be086b
N
nosqlclient
项目概览
-布谷鸟-
/
nosqlclient
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
N
nosqlclient
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
b5be086b
编写于
8月 27, 2016
作者:
S
Sercan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
resolves #31
上级
8355acc7
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
121 addition
and
26 deletion
+121
-26
client/helper.js
client/helper.js
+1
-0
client/views/layouts/navigation/navigation.html
client/views/layouts/navigation/navigation.html
+1
-1
client/views/layouts/navigation/navigation.js
client/views/layouts/navigation/navigation.js
+1
-1
client/views/layouts/top_navbar/top_navbar.html
client/views/layouts/top_navbar/top_navbar.html
+39
-2
client/views/layouts/top_navbar/top_navbar.js
client/views/layouts/top_navbar/top_navbar.js
+78
-18
client/views/pages/database_stats/database_stats.js
client/views/pages/database_stats/database_stats.js
+0
-3
server/mongodb/methods_common.js
server/mongodb/methods_common.js
+1
-1
未找到文件。
client/helper.js
浏览文件 @
b5be086b
...
...
@@ -4,6 +4,7 @@ var Ladda = require('ladda');
/**
* Created by RSercan on 26.12.2015.
*/
Template
.
strSessionSwitchDatabaseDB
=
"
switchDatabaseDB
"
;
Template
.
strSessionConnection
=
"
connection
"
;
Template
.
strSessionCollectionNames
=
"
collectionNames
"
;
Template
.
strSessionSelectedCollection
=
"
selectedCollection
"
;
...
...
client/views/layouts/navigation/navigation.html
浏览文件 @
b5be086b
...
...
@@ -25,7 +25,7 @@
</a>
{{#if isConnected}}
<ul
class=
"dropdown-menu animated fadeInRight m-t-xs"
>
<li><a
id=
"btnRefreshCollections
2
"
href=
"#"
><i
class=
"fa fa-refresh"
></i>
Refresh
<li><a
id=
"btnRefreshCollections"
href=
"#"
><i
class=
"fa fa-refresh"
></i>
Refresh
collections
</a></li>
<li><a
id=
"btnDropDatabase"
href=
"#"
><i
class=
"fa fa-remove"
></i>
Drop database
</a></li>
<li><a
id=
"btnDropAllCollections"
href=
"#"
><i
class=
"fa fa-remove"
></i>
Drop all
...
...
client/views/layouts/navigation/navigation.js
浏览文件 @
b5be086b
...
...
@@ -18,7 +18,7 @@ Template.navigation.events({
$
(
'
#collectionAddModal
'
).
modal
(
'
show
'
);
},
'
click #btnRefreshCollections
2
'
:
function
(
e
)
{
'
click #btnRefreshCollections
'
:
function
(
e
)
{
e
.
preventDefault
();
Template
.
topNavbar
.
connect
(
true
);
},
...
...
client/views/layouts/top_navbar/top_navbar.html
浏览文件 @
b5be086b
...
...
@@ -15,8 +15,8 @@
<ul
class=
"nav navbar-top-links navbar-right"
>
{{#if isConnected}}
<li>
<a
id=
"btn
RefreshCollections
"
href=
""
>
<i
class=
"fa fa-
refresh"
></i>
Refresh Collections
<a
id=
"btn
SwitchDatabase
"
href=
""
>
<i
class=
"fa fa-
database"
></i>
Switch Database
</a>
</li>
{{/if}}
...
...
@@ -40,6 +40,43 @@
</nav>
</div>
<!-- MODAL Switch Database-->
<div
class=
"modal inmodal"
id=
"switchDatabaseModal"
tabindex=
"-1"
role=
"dialog"
aria-hidden=
"true"
style=
"display: none;"
>
<div
class=
"modal-dialog modal-lg"
>
<div
class=
"modal-content animated bounceInRight"
>
<div
class=
"modal-header"
>
<button
type=
"button"
class=
"close"
data-dismiss=
"modal"
><span
aria-hidden=
"true"
>
×
</span><span
class=
"sr-only"
>
Close
</span></button>
<i
class=
"fa fa-database modal-icon"
></i>
<h4
class=
"modal-title"
>
Databases
</h4>
</div>
<div
class=
"modal-body"
>
<table
id=
"tblSwitchDatabases"
class=
"table table-striped table-bordered table-hover dataTables-example dataTable"
style=
"width: 100%"
>
<thead>
<tr>
<th>
Database Name
</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
<div
class=
"modal-footer"
>
<div
class=
"pull-left"
>
<button
type=
"button"
class=
"btn btn-white"
data-dismiss=
"modal"
>
Close
</button>
</div>
<button
id=
"btnConnectSwitchedDatabase"
title=
"Connect !"
type=
"button"
disabled=
"true"
class=
"btn btn-primary ladda-button"
data-style=
"contract"
>
Connect Now
</button>
</div>
</div>
</div>
</div>
<!-- MODAL Connect-->
<div
class=
"modal inmodal"
id=
"connectionModal"
tabindex=
"-1"
role=
"dialog"
aria-hidden=
"true"
style=
"display: none;"
>
...
...
client/views/layouts/top_navbar/top_navbar.js
浏览文件 @
b5be086b
var
toastr
=
require
(
'
toastr
'
);
var
Ladda
=
require
(
'
ladda
'
);
require
(
'
datatables.net
'
)(
window
,
$
);
require
(
'
datatables.net-buttons
'
)(
window
,
$
);
require
(
'
datatables.net-responsive
'
)(
window
,
$
);
require
(
'
datatables.net
'
)(
window
,
$
);
require
(
'
datatables.net-buttons
'
)(
window
,
$
);
require
(
'
datatables.net-responsive
'
)(
window
,
$
);
require
(
'
datatables.net-bs
'
)(
window
,
$
);
require
(
'
datatables.net-buttons-bs
'
)(
window
,
$
);
require
(
'
datatables.net-responsive-bs
'
)(
window
,
$
);
require
(
'
datatables.net-bs
'
)(
window
,
$
);
require
(
'
datatables.net-buttons-bs
'
)(
window
,
$
);
require
(
'
datatables.net-responsive-bs
'
)(
window
,
$
);
Template
.
topNavbar
.
onRendered
(
function
()
{
...
...
@@ -30,6 +30,24 @@ Template.topNavbar.onRendered(function () {
}
});
var
selectorForSwitchDatabases
=
$
(
'
#tblSwitchDatabases
'
);
selectorForSwitchDatabases
.
find
(
'
tbody
'
).
on
(
'
click
'
,
'
tr
'
,
function
()
{
var
table
=
selectorForSwitchDatabases
.
DataTable
();
if
(
$
(
this
).
hasClass
(
'
selected
'
))
{
$
(
this
).
removeClass
(
'
selected
'
);
}
else
{
table
.
$
(
'
tr.selected
'
).
removeClass
(
'
selected
'
);
$
(
this
).
addClass
(
'
selected
'
);
}
if
(
table
.
row
(
this
).
data
())
{
Session
.
set
(
Template
.
strSessionSwitchDatabaseDB
,
table
.
row
(
this
).
data
().
name
);
}
});
// FIXED TOP NAVBAR OPTION
// Uncomment this if you want to have fixed top navbar
// $('body').addClass('fixed-nav');
...
...
@@ -90,10 +108,42 @@ Template.topNavbar.events({
}
},
'
click #btn
RefreshCollections
'
:
function
(
e
)
{
'
click #btn
SwitchDatabase
'
:
function
(
e
)
{
e
.
preventDefault
();
$
(
'
#switchDatabaseModal
'
).
modal
(
'
show
'
);
var
laddaButton
=
Ladda
.
create
(
document
.
querySelector
(
'
#btnConnectSwitchedDatabase
'
));
laddaButton
.
start
();
Meteor
.
call
(
'
listDatabases
'
,
function
(
err
,
result
)
{
if
(
err
||
result
.
error
)
{
Template
.
showMeteorFuncError
(
err
,
result
,
"
Couldn't fetch databases
"
);
}
else
{
result
.
result
.
databases
.
sort
(
function
compare
(
a
,
b
)
{
if
(
a
.
name
<
b
.
name
)
return
-
1
;
else
if
(
a
.
name
>
b
.
name
)
return
1
;
else
return
0
;
});
Template
.
topNavbar
.
populateSwitchDatabaseTable
(
result
.
result
.
databases
);
Ladda
.
stopAll
();
}
});
Template
.
topNavbar
.
connect
(
true
);
},
'
click #btnConnectSwitchedDatabase
'
:
function
()
{
var
laddaButton
=
Ladda
.
create
(
document
.
querySelector
(
'
#btnConnectSwitchedDatabase
'
));
laddaButton
.
start
();
var
connection
=
Connections
.
findOne
({
_id
:
Session
.
get
(
Template
.
strSessionConnection
)});
connection
.
databaseName
=
Session
.
get
(
Template
.
strSessionSwitchDatabaseDB
);
Meteor
.
call
(
'
updateConnection
'
,
connection
);
Template
.
topNavbar
.
connect
(
false
);
},
'
click #btnCreateNewConnection
'
:
function
()
{
...
...
@@ -112,7 +162,7 @@ Template.topNavbar.events({
'
click .editor_remove
'
:
function
(
e
)
{
e
.
preventDefault
();
var
laddaButton
=
Ladda
.
create
(
document
.
querySelector
(
'
#btnConnect
'
));
laddaButton
.
start
();
...
...
@@ -321,7 +371,7 @@ Template.topNavbar.events({
return
;
}
var
laddaButton
=
Ladda
.
create
(
document
.
querySelector
(
'
#btnSaveConnection
'
));
laddaButton
.
start
();
...
...
@@ -342,7 +392,7 @@ Template.topNavbar.events({
'
click #btnConnect
'
:
function
()
{
// loading button
var
laddaButton
=
Ladda
.
create
(
document
.
querySelector
(
'
#btnConnect
'
));
laddaButton
.
start
();
...
...
@@ -509,7 +559,7 @@ Template.topNavbar.loadFile = function (callback, blob) {
};
Template
.
topNavbar
.
checkConnection
=
function
(
connection
)
{
var
sshAuthTypeSelector
=
$
(
'
#cmbSshAuthType
'
);
if
(
!
connection
.
name
)
{
...
...
@@ -590,7 +640,6 @@ Template.topNavbar.checkConnection = function (connection) {
Template
.
topNavbar
.
connect
=
function
(
isRefresh
)
{
var
connection
=
Connections
.
findOne
({
_id
:
Session
.
get
(
Template
.
strSessionConnection
)});
Meteor
.
call
(
'
connect
'
,
connection
.
_id
,
function
(
err
,
result
)
{
if
(
err
||
result
.
error
)
{
Template
.
showMeteorFuncError
(
err
,
result
,
"
Couldn't connect
"
);
...
...
@@ -609,11 +658,9 @@ Template.topNavbar.connect = function (isRefresh) {
if
(
!
isRefresh
)
{
$
(
'
#connectionModal
'
).
modal
(
'
hide
'
);
// swal({
// title: "Connected!",
// text: "Successfuly connected to " + connection.name,
// type: "success"
// });
$
(
'
#switchDatabaseModal
'
).
modal
(
'
hide
'
);
Router
.
go
(
'
databaseStats
'
);
}
else
{
toastr
.
success
(
"
Successfuly refreshed collections
"
);
...
...
@@ -803,6 +850,19 @@ Template.topNavbar.populateConnectionsTable = function () {
}).
draw
();
};
Template
.
topNavbar
.
populateSwitchDatabaseTable
=
function
(
data
)
{
var
tblSwitchDatabases
=
$
(
'
#tblSwitchDatabases
'
);
tblSwitchDatabases
.
DataTable
({
destroy
:
true
,
data
:
data
,
columns
:
[
{
data
:
"
name
"
}
],
columnDefs
:
[]
}).
draw
();
};
Template
.
topNavbar
.
parseDatabaseNameFromUrl
=
function
(
url
)
{
try
{
var
lastIndex
=
url
.
length
;
...
...
client/views/pages/database_stats/database_stats.js
浏览文件 @
b5be086b
...
...
@@ -55,9 +55,6 @@ Template.databaseStats.onRendered(function () {
// fetch stats only once.
Template
.
databaseStats
.
fetchStats
();
}
if
(
Session
.
get
(
Template
.
strSessionCollectionNames
)
!=
undefined
)
{
toastr
.
info
(
"
It can take a few seconds to populate charts !
"
);
}
});
Template
.
databaseStats
.
onDestroyed
(
function
()
{
...
...
server/mongodb/methods_common.js
浏览文件 @
b5be086b
...
...
@@ -61,7 +61,7 @@ Meteor.methods({
};
if
(
connection
.
sshCertificate
)
{
config
.
privateKey
=
new
Buffer
(
connection
.
sshCertificate
);
config
.
privateKey
=
new
Buffer
(
connection
.
sshCertificate
);
}
if
(
connection
.
sshPassPhrase
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录