@@ -29,6 +29,8 @@ function showConfirmDialog(database) {
29
29
}
30
30
31
31
function formatSize ( bytes ) {
32
+ if ( bytes == 0 )
33
+ return "0\xA0MB" ;
32
34
var suffixes = [ "bytes" , "kB" , "MB" ,
33
35
// Eh, why not? :-D
34
36
"GB" , "TB" , "PB" , "EB" , "ZB" , "YB" ] ;
@@ -60,10 +62,14 @@ function createRow(name, size) {
60
62
return tr ;
61
63
}
62
64
63
- function loadInfo ( ) {
65
+ function refreshInfo ( ) {
64
66
var locker = getCurrentLocker ( ) ;
65
67
$ ( ".field-locker-name" ) . text ( locker ) ;
66
- sqlCommand ( [ "database" , "list" , locker ] ) . then ( function ( data ) {
68
+ clearAlerts ( "manage-alert" ) ;
69
+ // showAlert("manage-alert", "Loading...", "Please wait.");
70
+ sqlCommand ( [ "database" , "list" , locker ] ) . finally ( function ( ) {
71
+ clearAlerts ( "manage-alert" ) ;
72
+ } ) . then ( function ( data ) {
67
73
var totalSize = 0 ;
68
74
69
75
var tbody = $ ( ".field-database-tbody" ) ;
@@ -78,9 +84,36 @@ function loadInfo() {
78
84
$ ( ".field-quota" ) . text ( formatSize ( data . quota ) ) ;
79
85
$ ( ".field-used-percent" ) . text ( ( ( totalSize / data . quota ) * 100 ) . toFixed ( 1 ) ) ;
80
86
} , function ( err ) {
81
- // FIXME!
82
- alert ( err ) ;
87
+ // TODO(davidben): Distinguish UserError from others.
88
+ showAlert ( "manage-alert" , "Error" , err , "alert-error" ) ;
89
+ } ) . done ( ) ;
90
+ }
91
+
92
+ function setupForms ( ) {
93
+ var form = $ ( "#database-create-form" ) ;
94
+ form . submit ( function ( ev ) {
95
+ ev . preventDefault ( ) ;
96
+ var name = form . find ( ".field-database-name" ) . val ( ) ;
97
+ if ( ! name )
98
+ return ;
99
+
100
+ var locker = getCurrentLocker ( ) ;
101
+
102
+ clearAlerts ( "create-alert" ) ;
103
+ showAlert ( "create-alert" , "Creating database..." , "Please wait." ) ;
104
+ form . find ( ":submit" ) . attr ( "disabled" , "" ) ;
105
+
106
+ sqlCommand ( [ "database" , "create" , locker , name ] ) . finally ( function ( ) {
107
+ form . find ( ":submit" ) . removeAttr ( "disabled" ) ;
108
+ clearAlerts ( "create-alert" ) ;
109
+ } ) . then ( function ( ) {
110
+ refreshInfo ( ) ;
111
+ } , function ( err ) {
112
+ // TODO(davidben): Distinguish UserError from others.
113
+ showAlert ( "create-alert" , "Error" , err , "alert-error" ) ;
114
+ } ) . done ( ) ;
83
115
} ) ;
84
116
}
85
117
86
- loadInfo ( ) ;
118
+ refreshInfo ( ) ;
119
+ setupForms ( ) ;
0 commit comments