erd 0.1.6 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -11,6 +11,6 @@
11
11
  // GO AFTER THE REQUIRES BELOW.
12
12
  //
13
13
  //= require jquery
14
- //= require jquery-ui
14
+ //= require jquery-ui.min
15
15
  //= require raphael-min
16
16
  //= require_tree .
@@ -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("&nbsp;")
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')