sqlui 0.1.68 → 0.1.70
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.release-version +1 -1
- data/app/checks.rb +49 -0
- data/app/count_down_latch.rb +31 -0
- data/app/database_config.rb +4 -2
- data/app/deep.rb +3 -46
- data/app/github/cache.rb +65 -0
- data/app/github/caching_client.rb +36 -0
- data/app/github/client.rb +36 -0
- data/app/github/file.rb +19 -0
- data/app/github/paths.rb +21 -0
- data/app/github/tree.rb +40 -0
- data/app/github/tree_client.rb +93 -0
- data/app/saved_config.rb +16 -0
- data/app/server.rb +19 -8
- data/app/views/databases.erb +1 -1
- data/app/views/sqlui.erb +126 -73
- data/client/resources/help.css +8 -0
- data/client/resources/sqlui.css +18 -9
- data/client/resources/sqlui.js +149 -820
- metadata +82 -2
data/app/views/sqlui.erb
CHANGED
@@ -31,13 +31,13 @@
|
|
31
31
|
|
32
32
|
<div id="main-box" style="display:none">
|
33
33
|
<div id="tabs-box">
|
34
|
-
<h1 id="header"><a id="header-link">SQLUI</a></h1>
|
34
|
+
<h1 id="header"><a id="header-link">SQLUI<span class="keyboard-shortcut-indicator">[0]</span></a></h1>
|
35
35
|
<h1 id="server-name"></h1>
|
36
|
-
<a id="query-tab-button" class="tab-button">Query</a>
|
37
|
-
<a id="graph-tab-button" class="tab-button">Graph</a>
|
38
|
-
<a id="saved-tab-button" class="tab-button">Saved</a>
|
39
|
-
<a id="structure-tab-button" class="tab-button">Structure</a>
|
40
|
-
<a id="help-tab-button" class="tab-button">Help</a>
|
36
|
+
<a id="query-tab-button" class="tab-button">Query<span class="keyboard-shortcut-indicator">[1]</span></a>
|
37
|
+
<a id="graph-tab-button" class="tab-button">Graph<span class="keyboard-shortcut-indicator">[2]</span></a>
|
38
|
+
<a id="saved-tab-button" class="tab-button">Saved<span class="keyboard-shortcut-indicator">[3]</span></a>
|
39
|
+
<a id="structure-tab-button" class="tab-button">Structure<span class="keyboard-shortcut-indicator">[4]</span></a>
|
40
|
+
<a id="help-tab-button" class="tab-button">Help<span class="keyboard-shortcut-indicator">[5]</span></a>
|
41
41
|
</div>
|
42
42
|
|
43
43
|
<div id="query-box" class="tab-content-element graph-element query-element" style="display: none;">
|
@@ -81,16 +81,16 @@
|
|
81
81
|
<p id="result-time" class="result-time"></p>
|
82
82
|
</div>
|
83
83
|
|
84
|
-
<div id="saved-box" class="tab-content-element saved-element" style="display: none;">
|
84
|
+
<div id="saved-box" class="tab-content-element saved-element" style="display: none;" tabindex="0">
|
85
85
|
</div>
|
86
86
|
|
87
87
|
<div id="structure-box" class="tab-content-element structure-element" style="display: none;">
|
88
88
|
<div class="structure-wrapper">
|
89
89
|
<div id="schemas-tables-and-stats">
|
90
90
|
<div id="schemas-and-tables">
|
91
|
-
<select id="schemas" size="4">
|
91
|
+
<select id="schemas" size="4" tabindex="0">
|
92
92
|
</select>
|
93
|
-
<select id="tables" size="4">
|
93
|
+
<select id="tables" size="4" tabindex="0">
|
94
94
|
</select>
|
95
95
|
</div>
|
96
96
|
<div id="stats">
|
@@ -105,73 +105,126 @@
|
|
105
105
|
</div>
|
106
106
|
</div>
|
107
107
|
|
108
|
-
<div id="help-box" class="tab-content-element" style="display: none;">
|
108
|
+
<div id="help-box" class="tab-content-element" style="display: none;" tabindex="0">
|
109
109
|
<h2>Keyboard Shortcuts</h2>
|
110
110
|
<table id="keyboard-shortcuts">
|
111
111
|
<tbody>
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
112
|
+
<tr class="keyboard-shortcut-section"><td colspan="3">App Shortcuts</td></tr>
|
113
|
+
<tr class="keyboard-shortcut-header"><td> Mac</td><td>Windows</td><td>Action</td></tr>
|
114
|
+
<tr><td>Ctrl+0</td><td></td><td>Show databases</td></tr>
|
115
|
+
<tr><td>Ctrl+1</td><td></td><td>Select query tab</td></tr>
|
116
|
+
<tr><td>Ctrl+2</td><td></td><td>Select graph tab</td></tr>
|
117
|
+
<tr><td>Ctrl+3</td><td></td><td>Select saved tab</td></tr>
|
118
|
+
<tr><td>Ctrl+4</td><td></td><td>Select structure tab</td></tr>
|
119
|
+
<tr><td>Ctrl+5</td><td></td><td>Select help tab</td></tr>
|
120
|
+
|
121
|
+
<tr class="keyboard-shortcut-section"><td colspan="3">Result Table Shortcuts</td></tr>
|
122
|
+
<tr class="keyboard-shortcut-header"><td> Mac</td><td>Windows</td><td>Action</td></tr>
|
123
|
+
<tr><td>Option+click</td><td>Alt+Click</td><td>Copy clicked cell contents to clipboard</td></tr>
|
124
|
+
<tr><td>Cmd+click</td><td>Ctrl+Click</td><td>Open clicked cell contents in popup</td></tr>
|
125
|
+
<tr><td>Escape</td><td>Escape</td><td>Focus editor, Close popup</td></tr>
|
126
|
+
|
127
|
+
<tr class="keyboard-shortcut-section"><td colspan="3">Editor Submit Shortcuts</td></tr>
|
128
|
+
<tr class="keyboard-shortcut-header"><td> Mac</td><td>Windows</td><td>Action</td></tr>
|
129
|
+
<tr><td>Cmd+Enter</td><td>Ctrl+Enter</td><td>Execute query at cursor / selection</td></tr>
|
130
|
+
<tr><td>Cmd+Shift+Enter</td><td>Ctrl+Shift+Enter</td><td>Execute entire editor</td></tr>
|
131
|
+
|
132
|
+
<tr class="keyboard-shortcut-section"><td colspan="3">Editor Standard Shortcuts</td></tr>
|
133
|
+
<tr class="keyboard-shortcut-header"><td> Mac</td><td>Windows</td><td>Action</td></tr>
|
134
|
+
<tr><td>ArrowLeft</td><td>ArrowLeft</td><td>Move cursor left one character (Shift to select)</td></tr>
|
135
|
+
<tr><td>ArrowRight</td><td>ArrowRight</td><td>Move cursor right one character (Shift to select)</td></tr>
|
136
|
+
<tr><td>Option+ArrowLeft</td><td>Ctrl+ArrowLeft</td><td>Move cursor one group left (Shift to select)</td></tr>
|
137
|
+
<tr><td>Option+ArrowRight</td><td>Ctrl+ArrowRight</td><td>Move cursor one group right (Shift to select)</td></tr>
|
138
|
+
<tr><td>Cmd+ArrowLeft</td><td></td><td>Move cursor to start of line (Shift to select)</td></tr>
|
139
|
+
<tr><td>Cmd+ArrowRight</td><td></td><td>Move cursor to end of line (Shift to select)</td></tr>
|
140
|
+
<tr><td>ArrowUp</td><td>ArrowUp</td><td>Move cursor up one line (Shift to select)</td></tr>
|
141
|
+
<tr><td>ArrowDown</td><td>ArrowDown</td><td>Move cursor down one line (Shift to select)</td></tr>
|
142
|
+
<tr><td>Cmd+ArrowUp</td><td></td><td>Move cursor to start of document (Shift to select)</td></tr>
|
143
|
+
<tr><td>Cmd+ArrowDown</td><td></td><td>Move cursor to end of document (Shift to select)</td></tr>
|
144
|
+
<tr><td>Cmd+End</td><td>Ctrl+End</td><td>Move cursor to start of document (Shift to select)</td></tr>
|
145
|
+
<tr><td>Cmd+Home</td><td>Ctrl+Home</td><td>Move cursor to end of document (Shift to select)</td></tr>
|
146
|
+
<tr><td>PageUp</td><td>PageUp</td><td>Move cursor one page up (Shift to select)</td></tr>
|
147
|
+
<tr><td>PageDown</td><td>PageDown</td><td>Move cursor one page down (Shift to select)</td></tr>
|
148
|
+
<tr><td>Home</td><td>Home</td><td>Move cursor to previous line boundary (Shift to select)</td></tr>
|
149
|
+
<tr><td>End</td><td>End</td><td>Move cursor to next line boundary (Shift to select)</td></tr>
|
150
|
+
<tr><td>Enter</td><td>Enter</td><td>Insert new line and indent</td></tr>
|
151
|
+
<tr><td>Cmd+a</td><td>Ctrl+a</td><td>Select all</td></tr>
|
152
|
+
<tr><td>Backspace</td><td>Backspace</td><td>Delete previous character</td></tr>
|
153
|
+
<tr><td>Delete</td><td>Delete</td><td>Delete next character</td></tr>
|
154
|
+
<tr><td>Option+Backspace</td><td>Ctrl+Backspace</td><td>Delete previous group</td></tr>
|
155
|
+
<tr><td>Option+Delete</td><td>Ctrl+Delete</td><td>Delete next group</td></tr>
|
156
|
+
<tr><td>Cmd+Backspace</td><td></td><td>Delete to start of line</td></tr>
|
157
|
+
<tr><td>Cmd+Delete</td><td></td><td>Delete to end of line</td></tr>
|
158
|
+
|
159
|
+
<tr class="keyboard-shortcut-section"><td colspan="3">Editor Default Shortcuts</td></tr>
|
160
|
+
<tr class="keyboard-shortcut-header"><td> Mac</td><td>Windows</td><td>Action</td></tr>
|
161
|
+
<tr><td>Ctrl+ArrowLeft</td><td>Alt+ArrowLeft</td><td>Move cursor one element left (Shift to select)</td></tr>
|
162
|
+
<tr><td>Ctrl+ArrowRight</td><td>Alt+ArrowRight</td><td>Move cursor one element right (Shift to select)</td></tr>
|
163
|
+
<tr><td>Option+ArrowUp</td><td>Alt+ArrowUp</td><td>Move line up</td></tr>
|
164
|
+
<tr><td>Option+ArrowDown</td><td>Alt+ArrowDown</td><td>Move line down</td></tr>
|
165
|
+
<tr><td>Shift+Option+ArrowUp</td><td>Shift+Alt+ArrowUp</td><td>Copy line up</td></tr>
|
166
|
+
<tr><td>Shift+Option+ArrowDown</td><td>Shift+Alt+ArrowDown</td><td>Copy line down</td></tr>
|
167
|
+
<tr><td>Escape</td><td>Escape</td><td>Simplify selection</td></tr>
|
168
|
+
<tr><td>Shift+Enter</td><td>Shift+Enter</td><td>Insert blank line</td></tr>
|
169
|
+
<tr><td>Ctrl+l</td><td>Alt+l</td><td>Select line</td></tr>
|
170
|
+
<tr><td>Cmd+i</td><td>Ctrl+i</td><td>Expand current selection</td></tr>
|
171
|
+
<tr><td>Cmd+[</td><td>Ctrl+[</td><td>Decrease indent</td></tr>
|
172
|
+
<tr><td>Cmd+]</td><td>Ctrl+]</td><td>Increase indent</td></tr>
|
173
|
+
<tr><td>Cmd+Option+\</td><td>Ctrl+Alt+\</td><td>Indent selection</td></tr>
|
174
|
+
<tr><td>Shift+Cmd+k</td><td>Shift+Ctrl+k</td><td>Delete line</td></tr>
|
175
|
+
<tr><td>Shift+Cmd+\</td><td>Shift+Ctrl+\</td><td>cursorMatchingBracket</td></tr>
|
176
|
+
<tr><td>Cmd+/</td><td>Ctrl+/</td><td>Toggle comment</td></tr>
|
177
|
+
<tr><td>Shift+Option+a</td><td>Shift+Alt+a</td><td>Toggle comment</td></tr>
|
178
|
+
|
179
|
+
<tr class="keyboard-shortcut-section"><td colspan="3">Editor Completion Shortcuts</td></tr>
|
180
|
+
<tr class="keyboard-shortcut-header"><td> Mac</td><td>Windows</td><td>Action</td></tr>
|
181
|
+
<tr><td>Ctrl+Space</td><td>Ctrl+Space</td><td>Start completion</td></tr>
|
182
|
+
<tr><td>Escape</td><td>Escape</td><td>Close completion</td></tr>
|
183
|
+
<tr><td>ArrowUp</td><td>ArrowUp</td><td>Move selection up</td></tr>
|
184
|
+
<tr><td>ArrowDown</td><td>ArrowDown</td><td>Move selection down</td></tr>
|
185
|
+
<tr><td>PageUp</td><td>PageUp</td><td>Move selection page up</td></tr>
|
186
|
+
<tr><td>PageDown</td><td>PageDown</td><td>Move selection page down</td></tr>
|
187
|
+
<tr><td>Enter</td><td>Enter</td><td>Accept completion</td></tr>
|
188
|
+
|
189
|
+
<tr class="keyboard-shortcut-section"><td colspan="3">Editor Fold Shortcuts</td></tr>
|
190
|
+
<tr class="keyboard-shortcut-header"><td> Mac</td><td>Windows</td><td>Action</td></tr>
|
191
|
+
<tr><td>Cmd+Option+[</td><td>Ctrl+Shift+[</td><td>Fold code at cursor</td></tr>
|
192
|
+
<tr><td>Cmd+Option+]</td><td>Ctrl+Shift+]</td><td>Unfold code at cursor</td></tr>
|
193
|
+
<tr><td>Ctrl+Option+[</td><td>Ctrl+Alt+[</td><td>Fold all</td></tr>
|
194
|
+
<tr><td>Ctrl+Option+[</td><td>Ctrl+Alt+[</td><td>Unfold all</td></tr>
|
195
|
+
|
196
|
+
<tr class="keyboard-shortcut-section"><td colspan="3">Editor History Shortcuts</td></tr>
|
197
|
+
<tr class="keyboard-shortcut-header"><td> Mac</td><td>Windows</td><td>Action</td></tr>
|
198
|
+
<tr><td>Cmd+z</td><td>Ctrl+z</td><td>Undo</td></tr>
|
199
|
+
<tr><td>Cmd+y</td><td>Ctrl+y</td><td>Redo</td></tr>
|
200
|
+
<tr><td>Cmd+u</td><td>Ctrl+u</td><td>Undo selection</td></tr>
|
201
|
+
<tr><td>Cmd+Shift+u</td><td>Alt+u</td><td>Redo selection</td></tr>
|
202
|
+
|
203
|
+
<tr class="keyboard-shortcut-section"><td colspan="3">Editor Search Shortcuts</td></tr>
|
204
|
+
<tr class="keyboard-shortcut-header"><td> Mac</td><td>Windows</td><td>Action</td></tr>
|
205
|
+
<tr><td>Cmd+f</td><td>Ctrl+f</td><td>Open search panel</td></tr>
|
206
|
+
<tr><td>Escape</td><td>Escape</td><td>Close search panel</td></tr>
|
207
|
+
<tr><td>Cmd+g, F3</td><td>Ctrl+g, F3</td><td>Find next</td></tr>
|
208
|
+
<tr><td>Shift+Cmd+g, Shift+F3</td><td>Shift+Ctrl+g, Shift+F3</td><td>Find previous</td></tr>
|
209
|
+
<tr><td>Option+g</td><td>Alt+g</td><td>Go to line</td></tr>
|
210
|
+
<tr><td>Cmd+d</td><td>Ctrl+d</td><td>Select next occurrence</td></tr>
|
211
|
+
|
212
|
+
<tr class="keyboard-shortcut-section"><td colspan="3">Emacs-Style Shortcuts (Mac Only)</td></tr>
|
213
|
+
<tr class="keyboard-shortcut-header"><td> Mac</td><td>Windows</td><td>Action</td></tr>
|
214
|
+
<tr><td>Ctrl+b</td><td></td><td>Move cursor left one character (Shift to select)</td></tr>
|
215
|
+
<tr><td>Ctrl+f</td><td></td><td>Move cursor right one character (Shift to select)</td></tr>
|
216
|
+
<tr><td>Ctrl+p</td><td></td><td>Move cursor up one line (Shift to select)</td></tr>
|
217
|
+
<tr><td>Ctrl+n</td><td></td><td>Move cursor down one line (Shift to select)</td></tr>
|
218
|
+
<tr><td>Ctrl+a</td><td></td><td>Move cursor to start of line (Shift to select)</td></tr>
|
219
|
+
<tr><td>Ctrl+e</td><td></td><td>Move cursor to end of line (Shift to select)</td></tr>
|
220
|
+
<tr><td>Ctrl+h</td><td></td><td>Delete previous character</td></tr>
|
221
|
+
<tr><td>Ctrl+d</td><td></td><td>Delete next character</td></tr>
|
222
|
+
<tr><td>Ctrl+k</td><td></td><td>Delete to end of line</td></tr>
|
223
|
+
<tr><td>Ctrl+Alt+h</td><td></td><td>Delete previous group</td></tr>
|
224
|
+
<tr><td>Ctrl+o</td><td></td><td>Split line</td></tr>
|
225
|
+
<tr><td>Ctrl+t</td><td></td><td>Flip characters before and after cursor</td></tr>
|
226
|
+
<tr><td>Alt+v</td><td></td><td>Move cursor one page up</td></tr>
|
227
|
+
<tr><td>Ctrl+v</td><td></td><td>Move cursor one page down</td></tr>
|
175
228
|
</tbody>
|
176
229
|
</table>
|
177
230
|
</div>
|
data/client/resources/help.css
CHANGED
data/client/resources/sqlui.css
CHANGED
@@ -49,9 +49,15 @@ body {
|
|
49
49
|
color: #333
|
50
50
|
}
|
51
51
|
|
52
|
+
#header-link {
|
53
|
+
display: flex;
|
54
|
+
flex-direction: row;
|
55
|
+
align-items: center;
|
56
|
+
}
|
57
|
+
|
52
58
|
#server-name {
|
53
59
|
flex: 1;
|
54
|
-
padding-left:
|
60
|
+
padding-left: 5px;
|
55
61
|
font-weight: normal;
|
56
62
|
overflow: hidden;
|
57
63
|
white-space: nowrap;
|
@@ -78,6 +84,8 @@ body {
|
|
78
84
|
background-color: #fff;
|
79
85
|
font-size: 18px;
|
80
86
|
align-self: center;
|
87
|
+
flex-direction: row;
|
88
|
+
align-items: center;
|
81
89
|
}
|
82
90
|
|
83
91
|
.tab-button {
|
@@ -93,6 +101,12 @@ body {
|
|
93
101
|
font-weight: bold;
|
94
102
|
}
|
95
103
|
|
104
|
+
.keyboard-shortcut-indicator {
|
105
|
+
font-size: 14px;
|
106
|
+
visibility: hidden;
|
107
|
+
margin: 0 5px;
|
108
|
+
}
|
109
|
+
|
96
110
|
#query-box {
|
97
111
|
display: flex;
|
98
112
|
flex-direction: column;
|
@@ -242,7 +256,7 @@ body {
|
|
242
256
|
text-overflow: ellipsis;
|
243
257
|
}
|
244
258
|
|
245
|
-
#result-box, #fetch-sql-box, #graph-box, #saved-box, #structure-box
|
259
|
+
#result-box, #fetch-sql-box, #graph-box, #saved-box, #structure-box {
|
246
260
|
flex: 1;
|
247
261
|
overflow: auto;
|
248
262
|
display: flex;
|
@@ -370,6 +384,7 @@ body {
|
|
370
384
|
|
371
385
|
#saved-box {
|
372
386
|
font-family: Helvetica, sans-serif;
|
387
|
+
outline: none;
|
373
388
|
}
|
374
389
|
|
375
390
|
.links {
|
@@ -380,7 +395,7 @@ body {
|
|
380
395
|
}
|
381
396
|
|
382
397
|
.link {
|
383
|
-
margin-right:
|
398
|
+
margin-right: 30px;
|
384
399
|
color: darkblue;
|
385
400
|
font-size: 17px;
|
386
401
|
text-decoration: none;
|
@@ -553,9 +568,3 @@ select {
|
|
553
568
|
.jump-button {
|
554
569
|
font-size: 12px;
|
555
570
|
}
|
556
|
-
|
557
|
-
#help-box {
|
558
|
-
font-family: Helvetica, sans-serif;
|
559
|
-
padding: 10px;
|
560
|
-
width: 100%;
|
561
|
-
}
|