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 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')