erd 0.1.6 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/README.rdoc +1 -3
- data/app/assets/javascripts/erd/application.js +1 -1
- data/app/assets/javascripts/erd/erd.js.coffee +80 -2
- data/app/assets/stylesheets/erd/erd.css.scss +425 -130
- data/app/controllers/erd/erd_controller.rb +9 -8
- data/app/views/erd/erd/_column.html.erb +14 -1
- data/app/views/erd/erd/_model.html.erb +34 -3
- data/app/views/erd/erd/index.html.erb +10 -4
- data/erd.gemspec +4 -1
- data/lib/erd/railtie.rb +4 -7
- data/lib/erd/version.rb +1 -1
- data/spec/fake_app/fake_app.rb +2 -0
- data/spec/{requests → features}/erd_spec.rb +0 -0
- data/spec/lib/migrator_spec.rb +2 -2
- data/vendor/assets/javascripts/jquery-ui.min.js +12 -0
- metadata +95 -36
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 1f72d039d2e3a380b178558b66f5d6f5f2bf27dc
|
4
|
+
data.tar.gz: 44dbc5d5f38a2bd2b633227edbc56baafca34b6a
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: ed3527095628c3148b30ff030608f933ea8910b3f7a4f565bd6d7eb3b826ac9f44e5b9eb0334ea7feb50745a014602c8a83cae4091501ce210e53b7436cd1859
|
7
|
+
data.tar.gz: 07a41f90d9fb8746d106f3ccca5a52b681da491f4c95f54c2538cdf48ddfe299af9f69925cf901ee1c7a956adf58fff8f891fcf72c75603964483aa392cde5fc
|
data/README.rdoc
CHANGED
@@ -5,7 +5,7 @@ A Rails engine for drawing your app's ER diagram and operating migrations
|
|
5
5
|
|
6
6
|
== Requirements
|
7
7
|
|
8
|
-
* Rails 3.2 or 3.1
|
8
|
+
* Rails 4.0, 3.2, or 3.1
|
9
9
|
|
10
10
|
* Graphviz
|
11
11
|
|
@@ -39,8 +39,6 @@ Browse at your http://localhost:3000/erd
|
|
39
39
|
|
40
40
|
== TODO
|
41
41
|
|
42
|
-
* Better design
|
43
|
-
|
44
42
|
* Better UI
|
45
43
|
|
46
44
|
* Fix buggy JS
|
@@ -90,7 +90,10 @@ class ERD
|
|
90
90
|
setup_click_handlers: ->
|
91
91
|
$('div.model_name_text, span.column_name_text, span.column_type_text').on 'click', @handle_text_elem_click
|
92
92
|
$('div.model a.add_column').on 'click', @handle_add_column_click
|
93
|
+
$('div.model a.cancel').on 'click', @handle_cancel_click
|
93
94
|
$('div.model a.close').on 'click', @handle_remove_model_click
|
95
|
+
$('div#open_migration').on 'click', @handle_open_migration_click
|
96
|
+
$('div#close_migration').on 'click', @handle_close_migration_click
|
94
97
|
|
95
98
|
setup_submit_handlers: ->
|
96
99
|
$('form.rename_model_form').on 'submit', @handle_rename_model
|
@@ -130,10 +133,10 @@ class ERD
|
|
130
133
|
name_span = $("<span/>", class: 'column_name_text')
|
131
134
|
.append(name)
|
132
135
|
|
133
|
-
type_span = $("<span/>", class: 'column_type_text')
|
136
|
+
type_span = $("<span/>", class: 'column_type_text unsaved')
|
134
137
|
.append(type)
|
135
138
|
|
136
|
-
li_node = $("<li/>", class: 'column')
|
139
|
+
li_node = $("<li/>", class: 'column unsaved')
|
137
140
|
.append(name_span)
|
138
141
|
.append(" ")
|
139
142
|
.append(type_span)
|
@@ -164,6 +167,9 @@ class ERD
|
|
164
167
|
.siblings('.column_type_text')
|
165
168
|
.text(to)
|
166
169
|
.show()
|
170
|
+
.addClass('unsaved')
|
171
|
+
.parents('.column')
|
172
|
+
.addClass('unsaved')
|
167
173
|
|
168
174
|
handle_rename_column: (ev) =>
|
169
175
|
ev.preventDefault()
|
@@ -180,6 +186,8 @@ class ERD
|
|
180
186
|
.siblings('.column_name_text')
|
181
187
|
.text(to)
|
182
188
|
.show()
|
189
|
+
.parents('.column')
|
190
|
+
.addClass('unsaved')
|
183
191
|
|
184
192
|
handle_rename_model: (ev) =>
|
185
193
|
ev.preventDefault()
|
@@ -195,6 +203,7 @@ class ERD
|
|
195
203
|
.siblings('.model_name_text')
|
196
204
|
.text(to)
|
197
205
|
.show()
|
206
|
+
.addClass('unsaved')
|
198
207
|
|
199
208
|
handle_add_column_click: (ev) =>
|
200
209
|
ev.preventDefault()
|
@@ -208,6 +217,8 @@ class ERD
|
|
208
217
|
target.hide()
|
209
218
|
.next('form')
|
210
219
|
.show()
|
220
|
+
.find('a.cancel')
|
221
|
+
.show()
|
211
222
|
.find('input[name=type]')
|
212
223
|
.val('string')
|
213
224
|
.end()
|
@@ -215,6 +226,22 @@ class ERD
|
|
215
226
|
.val('')
|
216
227
|
.focus()
|
217
228
|
|
229
|
+
handle_cancel_click: (ev) =>
|
230
|
+
ev.preventDefault()
|
231
|
+
target = $(ev.currentTarget)
|
232
|
+
|
233
|
+
m = target.parents('div.model')
|
234
|
+
if m.hasClass('noclick')
|
235
|
+
m.removeClass('noclick')
|
236
|
+
return false
|
237
|
+
|
238
|
+
target.hide()
|
239
|
+
.parent('form')
|
240
|
+
.hide()
|
241
|
+
.prev('a.add_column, span, div')
|
242
|
+
.show()
|
243
|
+
|
244
|
+
|
218
245
|
handle_text_elem_click: (ev) =>
|
219
246
|
target = $(ev.currentTarget)
|
220
247
|
text = target.text()
|
@@ -227,6 +254,8 @@ class ERD
|
|
227
254
|
target.hide()
|
228
255
|
.next('form')
|
229
256
|
.show()
|
257
|
+
.find('a.cancel')
|
258
|
+
.show()
|
230
259
|
.find('input[name=to]')
|
231
260
|
.val(text)
|
232
261
|
.focus()
|
@@ -253,9 +282,58 @@ class ERD
|
|
253
282
|
@paper.clear()
|
254
283
|
@connect_arrows(@edges)
|
255
284
|
|
285
|
+
handle_open_migration_click: (ev) =>
|
286
|
+
ev.preventDefault()
|
287
|
+
|
288
|
+
target = $(ev.currentTarget)
|
289
|
+
text = target.text()
|
290
|
+
|
291
|
+
m = target.parents('div.model')
|
292
|
+
if m.hasClass('noclick')
|
293
|
+
m.removeClass('noclick')
|
294
|
+
return false
|
295
|
+
|
296
|
+
target.hide()
|
297
|
+
.next('div')
|
298
|
+
.show()
|
299
|
+
.find('#close_migration')
|
300
|
+
.show()
|
301
|
+
|
302
|
+
|
303
|
+
handle_close_migration_click: (ev) =>
|
304
|
+
ev.preventDefault()
|
305
|
+
|
306
|
+
target = $(ev.currentTarget)
|
307
|
+
text = target.text()
|
308
|
+
|
309
|
+
m = target.parents('div.model')
|
310
|
+
if m.hasClass('noclick')
|
311
|
+
m.removeClass('noclick')
|
312
|
+
return false
|
313
|
+
|
314
|
+
target.hide()
|
315
|
+
.parent()
|
316
|
+
.hide()
|
317
|
+
.prev('div')
|
318
|
+
.show()
|
319
|
+
|
256
320
|
$ ->
|
257
321
|
window.erd = new ERD('erd', $('#erd'), window.raw_edges)
|
258
322
|
|
259
323
|
$('#erd').css('height', window.innerHeight)
|
260
324
|
$(window).on 'resize', ->
|
261
325
|
$('#erd').css('height', window.innerHeight)
|
326
|
+
|
327
|
+
$("#open_migration").click ->
|
328
|
+
$('#close_migration').css('right', $('#migration').width() + ($(this).width() / 2) - 5)
|
329
|
+
|
330
|
+
$('#open_up').click ->
|
331
|
+
$('#migration_status .up').addClass('open')
|
332
|
+
$('#migration_status .down').removeClass('open')
|
333
|
+
|
334
|
+
$('#open_down').click ->
|
335
|
+
$('#migration_status .down').addClass('open')
|
336
|
+
$('#migration_status .up').removeClass('open')
|
337
|
+
|
338
|
+
$('#close_all').click ->
|
339
|
+
$('#migration_status tr').removeClass('open')
|