neo4j-meta_model 0.3.5 → 0.4.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 881b10829d1fd797db41ff3803b5b8c5c73ccba8
4
- data.tar.gz: 42ec53b17c3759f10d01df9fd737b0083a9cc5b9
3
+ metadata.gz: 2caf094405df625b822183c8743f87892956b01b
4
+ data.tar.gz: 595d5ed59b900aa59c3afc071e8e1020d06e4399
5
5
  SHA512:
6
- metadata.gz: 9002630d066f60d9ab3ba0bc613ba9ea7c93269356f35953573c30ef5948633a16c1d1d7e7556b5453e742d141858110ddd493fafe223bb5a5df05e88c6441b4
7
- data.tar.gz: 7555eb48560daa59f3bcfefb32c283a519e5527fc845123bca18582e7b43d774149aa825f36ea77726a2158d4ad657ccbc73893fd2c7dcbea090e692ac89a43c
6
+ metadata.gz: 80f779ece5d8e0642d9d41ebeeaa797d5a974b4fc2b0b68d11e0c4355488e15f04dadb68bfac446e3a182b9f196d33c3c84c33d7578cb784871aa0c3802c46c7
7
+ data.tar.gz: 25a57d80cc74e94f91931b1d955b5d667c6a396105c378b3082d87163378ba3562c3ad575ffbe481a54bfe03666188527cbf389246a68a4cf2cd2cdd8f1d780f
data/Rakefile CHANGED
@@ -33,5 +33,21 @@ Rake::TestTask.new(:test) do |t|
33
33
  t.verbose = false
34
34
  end
35
35
 
36
+ namespace :ember do
37
+ def system_or_fail(command)
38
+ system(command) or fail "Unable to run: #{command}" # rubocop:disable Style/AndOr
39
+ end
40
+
41
+ task :build do
42
+ system_or_fail("cd ember_src && ember build")
43
+ system_or_fail("mkdir -p app/assets/javascripts/meta_model")
44
+ system_or_fail("cp ember_src/dist/assets/ember-src.js app/assets/javascripts/meta_model/app.js")
45
+ system_or_fail("cp ember_src/dist/assets/ember-src.map app/assets/javascripts/meta_model/ember-src.map")
46
+
47
+ system_or_fail("cp ember_src/dist/assets/vendor.js app/assets/javascripts/meta_model/vendor.js")
48
+ system_or_fail("cp ember_src/dist/assets/vendor.map app/assets/javascripts/meta_model/vendor.map")
49
+ end
50
+ end
51
+
36
52
 
37
53
  task default: :test
@@ -0,0 +1,2086 @@
1
+ /* jshint ignore:start */
2
+
3
+ /* jshint ignore:end */
4
+
5
+ define('ember-src/adapters/application', ['exports', 'ember-data'], function (exports, DS) {
6
+
7
+ 'use strict';
8
+
9
+ var ApplicationAdapter;
10
+
11
+ ApplicationAdapter = DS['default'].ActiveModelAdapter.extend();
12
+
13
+ exports['default'] = ApplicationAdapter;
14
+
15
+ });
16
+ define('ember-src/adapters/association', ['exports', 'ember-src/adapters/application'], function (exports, ApplicationAdapter) {
17
+
18
+ 'use strict';
19
+
20
+ var AssociationAdapter;
21
+
22
+ AssociationAdapter = MetaModelAdapter.extend({
23
+ buildURL: function(type, id, record) {
24
+ var result;
25
+ result = "/meta/has_associations";
26
+ if (id) {
27
+ result += "/" + id;
28
+ }
29
+ return mm_path(result);
30
+ }
31
+ });
32
+
33
+ exports['default'] = AssociationAdapter;
34
+
35
+ });
36
+ define('ember-src/adapters/meta-model', ['exports', 'ember-src/adapters/application'], function (exports, ApplicationAdapter) {
37
+
38
+ 'use strict';
39
+
40
+ var MetaModelAdapter;
41
+
42
+ MetaModelAdapter = DS.RESTAdapter.extend({
43
+ namespace: mm_path('meta').slice(1)
44
+ });
45
+
46
+ exports['default'] = MetaModelAdapter;
47
+
48
+ });
49
+ define('ember-src/adapters/model', ['exports', 'ember-src/adapters/application'], function (exports, ApplicationAdapter) {
50
+
51
+ 'use strict';
52
+
53
+ var ModelAdapter;
54
+
55
+ ModelAdapter = MetaModelAdapter.extend();
56
+
57
+ exports['default'] = ModelAdapter;
58
+
59
+ });
60
+ define('ember-src/adapters/property', ['exports', 'ember-src/adapters/application'], function (exports, ApplicationAdapter) {
61
+
62
+ 'use strict';
63
+
64
+ var PropertyAdapter;
65
+
66
+ PropertyAdapter = MetaModelAdapter.extend();
67
+
68
+ exports['default'] = PropertyAdapter;
69
+
70
+ });
71
+ define('ember-src/app', ['exports', 'ember', 'ember/resolver', 'ember/load-initializers', 'ember-src/config/environment'], function (exports, Ember, Resolver, loadInitializers, config) {
72
+
73
+ 'use strict';
74
+
75
+ var MetaModelApp;
76
+
77
+ Ember['default'].MODEL_FACTORY_INJECTIONS = true;
78
+
79
+ MetaModelApp = Ember['default'].Application.extend({
80
+ modulePrefix: config['default'].modulePrefix,
81
+ podModulePrefix: config['default'].podModulePrefix,
82
+ Resolver: Resolver['default']
83
+ });
84
+
85
+ loadInitializers['default'](MetaModelApp, config['default'].modulePrefix);
86
+
87
+ exports['default'] = App;
88
+
89
+ });
90
+ define('ember-src/components/focus-input', ['exports', 'ember'], function (exports, Ember) {
91
+
92
+ 'use strict';
93
+
94
+ var FocusInputComponent;
95
+
96
+ FocusInputComponent = Ember['default'].TextField.extend({
97
+ becomeFocused: (function() {
98
+ return this.$().focus();
99
+ }).on('didInsertElement')
100
+ });
101
+
102
+ exports['default'] = FocusInputComponent;
103
+
104
+ });
105
+ define('ember-src/components/model-list-item', ['exports', 'ember'], function (exports, Ember) {
106
+
107
+ 'use strict';
108
+
109
+ var ModelListItemComponent;
110
+
111
+ ModelListItemComponent = Ember['default'].Component.extend({
112
+ action: 'meta_model_clicked',
113
+ actions: {
114
+ clicked: function() {
115
+ return this.sendAction('action', this.get('model'));
116
+ },
117
+ goto_metamodel: function(model) {
118
+ return this.sendAction('action', model);
119
+ }
120
+ }
121
+ });
122
+
123
+ exports['default'] = ModelListItemComponent;
124
+
125
+ });
126
+ define('ember-src/components/model-list', ['exports', 'ember'], function (exports, Ember) {
127
+
128
+ 'use strict';
129
+
130
+ var ModelListComponent;
131
+
132
+ ModelListComponent = Ember['default'].Component.extend({
133
+ action: 'goto_metamodel',
134
+ actions: {
135
+ meta_model_clicked: function(model) {
136
+ return this.sendAction('action', model);
137
+ }
138
+ }
139
+ });
140
+
141
+ exports['default'] = ModelListComponent;
142
+
143
+ });
144
+ define('ember-src/controllers/application', ['exports', 'ember'], function (exports, Ember) {
145
+
146
+ 'use strict';
147
+
148
+ var ApplicationController;
149
+
150
+ ApplicationController = Ember['default'].Controller.extend();
151
+
152
+ exports['default'] = ApplicationController;
153
+
154
+ });
155
+ define('ember-src/controllers/models-hierarchy', ['exports', 'ember'], function (exports, Ember) {
156
+
157
+ 'use strict';
158
+
159
+ var ModelsHierarchyController;
160
+
161
+ ModelsHierarchyController = Ember['default'].Controller.extend({
162
+ new_model_name: '',
163
+ actions: {
164
+ add_model: function(class_name) {
165
+ return this.store.createRecord('model', {
166
+ class_name: this.new_model_name
167
+ }).save().then((function(_this) {
168
+ return function(record) {
169
+ console.log({
170
+ queryParams: {
171
+ class_name: record.get('class_name')
172
+ }
173
+ });
174
+ return _this.transitionToRoute('models.edit', record.get('class_name'));
175
+ };
176
+ })(this));
177
+ }
178
+ }
179
+ });
180
+
181
+ exports['default'] = ModelsHierarchyController;
182
+
183
+ });
184
+ define('ember-src/helpers/mm-path', ['exports', 'ember'], function (exports, Ember) {
185
+
186
+ 'use strict';
187
+
188
+ var MmPathHelper, mmPath;
189
+
190
+ mmPath = function() {
191
+ var base_path, p;
192
+ base_path = meta_model_root_path;
193
+ if (base_path.slice(-1) === '/') {
194
+ base_path = base_path.slice(0, -1);
195
+ }
196
+ p = path;
197
+ if (p[0] === '/') {
198
+ p = p.slice(1);
199
+ }
200
+ return base_path + '/' + p;
201
+ };
202
+
203
+ MmPathHelper = Ember['default'].HTMLBars.makeBoundHelper(mmPath);
204
+
205
+ exports['default'] = MmPathHelper;
206
+
207
+ exports.mmPath = mmPath;
208
+
209
+ });
210
+ define('ember-src/initializers/app-version', ['exports', 'ember-src/config/environment', 'ember'], function (exports, config, Ember) {
211
+
212
+ 'use strict';
213
+
214
+ var classify = Ember['default'].String.classify;
215
+ var registered = false;
216
+
217
+ exports['default'] = {
218
+ name: 'App Version',
219
+ initialize: function initialize(container, application) {
220
+ if (!registered) {
221
+ var appName = classify(application.toString());
222
+ Ember['default'].libraries.register(appName, config['default'].APP.version);
223
+ registered = true;
224
+ }
225
+ }
226
+ };
227
+
228
+ });
229
+ define('ember-src/initializers/export-application-global', ['exports', 'ember', 'ember-src/config/environment'], function (exports, Ember, config) {
230
+
231
+ 'use strict';
232
+
233
+ exports.initialize = initialize;
234
+
235
+ function initialize(container, application) {
236
+ var classifiedName = Ember['default'].String.classify(config['default'].modulePrefix);
237
+
238
+ if (config['default'].exportApplicationGlobal && !window[classifiedName]) {
239
+ window[classifiedName] = application;
240
+ }
241
+ }
242
+
243
+ ;
244
+
245
+ exports['default'] = {
246
+ name: 'export-application-global',
247
+
248
+ initialize: initialize
249
+ };
250
+
251
+ });
252
+ define('ember-src/meta_model.js', function () {
253
+
254
+ 'use strict';
255
+
256
+
257
+ /*
258
+
259
+ #= require_tree ./templates
260
+
261
+ ready = ->
262
+ if $('#ember-application').length
263
+ ## for more details see: http://emberjs.com/guides/application/
264
+ * window.MetaModelApp = Ember.Application.create(rootElement: '#ember-application')
265
+
266
+
267
+
268
+
269
+
270
+ $(document).ready ready
271
+ $(document).on 'page:load', ready
272
+ */
273
+
274
+ });
275
+ define('ember-src/models/has-association', ['exports', 'ember-data'], function (exports, DS) {
276
+
277
+ 'use strict';
278
+
279
+ var HasAssociation;
280
+
281
+ HasAssociation = DS['default'].Model.extend({
282
+ join_type: DS['default'].attr('string'),
283
+ name: DS['default'].attr('string'),
284
+ opposite_name: DS['default'].attr('string'),
285
+ relationship_type: DS['default'].attr('string'),
286
+ from_model: DS['default'].belongsTo('Model', {
287
+ async: true
288
+ }),
289
+ to_model: DS['default'].belongsTo('Model', {
290
+ async: true
291
+ }),
292
+ source_join_type: (function() {
293
+ var ref;
294
+ return (ref = this.get('join_type')) != null ? ref.split('_to_')[0] : void 0;
295
+ }).property('join_type'),
296
+ destination_join_type: (function() {
297
+ var ref;
298
+ return (ref = this.get('join_type')) != null ? ref.split('_to_')[1] : void 0;
299
+ }).property('join_type'),
300
+ source_is_defined: (function() {
301
+ return this.get('source_join_type') && this.get('from_model');
302
+ }).property('source_join_type', 'from_model'),
303
+ destination_is_defined: (function() {
304
+ return this.get('destination_join_type') && this.get('to_model');
305
+ }).property('destination_join_type', 'to_model'),
306
+ models_are_defined: (function() {
307
+ return this.get('from_model') && this.get('to_model');
308
+ }).property('from_model', 'to_model'),
309
+ standardize_name: (function() {
310
+ return this.set('name', this.standardized_name(this.get('name')));
311
+ }).observes('name'),
312
+ standardize_opposite_name: (function() {
313
+ return this.set('opposite_name', this.standardized_name(this.get('opposite_name')));
314
+ }).observes('opposite_name'),
315
+ standardized_name: function(name) {
316
+ return name.replace(/^[\s0-9]/, '').replace(/[^a-zA-Z0-9]+/g, '_').toLowerCase();
317
+ },
318
+ standardize_relationship_type: (function() {
319
+ return this.set('relationship_type', this.get('relationship_type').replace(/[^a-zA-Z0-9]+/g, '_'));
320
+ }).observes('relationship_type')
321
+ });
322
+
323
+ exports['default'] = HasAssociation;
324
+
325
+ });
326
+ define('ember-src/models/model', ['exports', 'ember-data'], function (exports, DS) {
327
+
328
+ 'use strict';
329
+
330
+ var Model;
331
+
332
+ Model = DS['default'].Model.extend({
333
+ class_name: DS['default'].attr('string'),
334
+ superclass_model: DS['default'].belongsTo('Model'),
335
+ properties: DS['default'].hasMany('Property'),
336
+ id_property: DS['default'].belongsTo('Property'),
337
+ source_has_associations: DS['default'].hasMany('HasAssociation', {
338
+ inverse: 'to_model'
339
+ }),
340
+ destination_has_associations: DS['default'].hasMany('HasAssociation', {
341
+ inverse: 'from_model'
342
+ })
343
+ });
344
+
345
+ exports['default'] = Model;
346
+
347
+ });
348
+ define('ember-src/models/property', ['exports', 'ember-data'], function (exports, DS) {
349
+
350
+ 'use strict';
351
+
352
+ var Property;
353
+
354
+ Property = DS['default'].Model.extend({
355
+ name: DS['default'].attr('string'),
356
+ type: DS['default'].attr('string'),
357
+ model: DS['default'].belongsTo('Model', {
358
+ inverse: 'properties'
359
+ })
360
+ });
361
+
362
+ exports['default'] = Property;
363
+
364
+ });
365
+ define('ember-src/router', ['exports', 'ember', 'ember-src/config/environment'], function (exports, Ember, config) {
366
+
367
+ 'use strict';
368
+
369
+ var Router;
370
+
371
+ Router = Ember['default'].Router.extend({
372
+ location: config['default'].locationType
373
+ });
374
+
375
+ Router.map(function() {
376
+ this.route('index', {
377
+ path: "/"
378
+ });
379
+ this.resource('models', {
380
+ path: '/models'
381
+ }, function() {
382
+ this.route('hierarchy', {
383
+ path: "/"
384
+ });
385
+ return this.route('edit', {
386
+ path: "/:class_name/edit"
387
+ });
388
+ });
389
+ return this.resource('has_associations', function() {
390
+ this.route('index', {
391
+ path: '/'
392
+ });
393
+ return this.route('new', {
394
+ path: '/new'
395
+ });
396
+ });
397
+ });
398
+
399
+ exports['default'] = Router.map(function() {
400
+ this.route('models_hierarchy');
401
+ this.route('models_edit');
402
+ this.route('has_associations_new');
403
+ });
404
+
405
+ });
406
+ define('ember-src/routes/has-associations-new', ['exports', 'ember'], function (exports, Ember) {
407
+
408
+ 'use strict';
409
+
410
+ var HasAssociationsNewRoute;
411
+
412
+ HasAssociationsNewRoute = Ember['default'].Route.extend({
413
+ model: function(params) {
414
+ return Ember['default'].RSVP.hash({
415
+ has_association: this.store.createRecord('has_association'),
416
+ models: this.store.find('model'),
417
+ join_types: ['one_to_many', 'many_to_one', 'many_to_many']
418
+ });
419
+ },
420
+ actions: {
421
+ create: function(has_association) {
422
+ return has_association.save().then((function(_this) {
423
+ return function(record) {
424
+ return _this.transitionTo('has_associations.index');
425
+ };
426
+ })(this));
427
+ }
428
+ }
429
+ });
430
+
431
+ exports['default'] = HasAssociationsNewRoute;
432
+
433
+ });
434
+ define('ember-src/routes/models-edit', ['exports', 'ember'], function (exports, Ember) {
435
+
436
+ 'use strict';
437
+
438
+ var ModelsEditRoute;
439
+
440
+ ModelsEditRoute = Ember['default'].Route.extend({
441
+ model: function(params) {
442
+ return Ember['default'].RSVP.hash({
443
+ model: this.store.find('model', params.class_name),
444
+ models: this.store.find('model'),
445
+ property_types: ['String', 'DateTime']
446
+ });
447
+ },
448
+ actions: {
449
+ add_property: function(model) {
450
+ var property;
451
+ property = model.get('properties').createRecord({
452
+ name: '',
453
+ type: 'String',
454
+ model_id: model.id
455
+ });
456
+ return property.save();
457
+ },
458
+ delete_property: function(property) {
459
+ return property.destroyRecord();
460
+ },
461
+ save: function(model) {
462
+ model.save();
463
+ return model.get('properties').forEach(function(property) {
464
+ if (property.get('isDirty')) {
465
+ return property.save();
466
+ }
467
+ });
468
+ },
469
+ "delete": function(model) {
470
+ return model.destroyRecord().then((function(_this) {
471
+ return function() {
472
+ return _this.transitionTo('models.hierarchy');
473
+ };
474
+ })(this));
475
+ }
476
+ }
477
+ });
478
+
479
+ exports['default'] = ModelsEditRoute;
480
+
481
+ });
482
+ define('ember-src/routes/models-hierarchy', ['exports', 'ember'], function (exports, Ember) {
483
+
484
+ 'use strict';
485
+
486
+ var ModelsHierarchyRoute;
487
+
488
+ ModelsHierarchyRoute = Ember['default'].Route.extend({
489
+ model: function() {
490
+ return Ember['default'].$.getJSON(mm_path('/meta/models/hierarchy.json')).then(function(data) {
491
+ return data.models;
492
+ });
493
+ },
494
+ actions: {
495
+ goto_metamodel: function(model) {
496
+ return this.transitionTo('models.edit', model.class_name);
497
+ }
498
+ }
499
+ });
500
+
501
+ exports['default'] = ModelsHierarchyRoute;
502
+
503
+ });
504
+ define('ember-src/serializers/application', ['exports', 'ember-data'], function (exports, DS) {
505
+
506
+ 'use strict';
507
+
508
+ var ApplicationSerializer;
509
+
510
+ ApplicationSerializer = DS['default'].ActiveModelSerializer.extend();
511
+
512
+ exports['default'] = ApplicationSerializer;
513
+
514
+ });
515
+ define('ember-src/templates/application', ['exports'], function (exports) {
516
+
517
+ 'use strict';
518
+
519
+ exports['default'] = Ember.HTMLBars.template((function() {
520
+ return {
521
+ isHTMLBars: true,
522
+ revision: "Ember@1.11.1",
523
+ blockParams: 0,
524
+ cachedFragment: null,
525
+ hasRendered: false,
526
+ build: function build(dom) {
527
+ var el0 = dom.createDocumentFragment();
528
+ var el1 = dom.createElement("div");
529
+ dom.setAttribute(el1,"class","container");
530
+ var el2 = dom.createComment("");
531
+ dom.appendChild(el1, el2);
532
+ dom.appendChild(el0, el1);
533
+ return el0;
534
+ },
535
+ render: function render(context, env, contextualElement) {
536
+ var dom = env.dom;
537
+ var hooks = env.hooks, content = hooks.content;
538
+ dom.detectNamespace(contextualElement);
539
+ var fragment;
540
+ if (env.useFragmentCache && dom.canClone) {
541
+ if (this.cachedFragment === null) {
542
+ fragment = this.build(dom);
543
+ if (this.hasRendered) {
544
+ this.cachedFragment = fragment;
545
+ } else {
546
+ this.hasRendered = true;
547
+ }
548
+ }
549
+ if (this.cachedFragment) {
550
+ fragment = dom.cloneNode(this.cachedFragment, true);
551
+ }
552
+ } else {
553
+ fragment = this.build(dom);
554
+ }
555
+ var morph0 = dom.createMorphAt(dom.childAt(fragment, [0]),0,0);
556
+ content(env, morph0, context, "outlet");
557
+ return fragment;
558
+ }
559
+ };
560
+ }()));
561
+
562
+ });
563
+ define('ember-src/templates/components/has-association-diagram', ['exports'], function (exports) {
564
+
565
+ 'use strict';
566
+
567
+ exports['default'] = Ember.HTMLBars.template((function() {
568
+ return {
569
+ isHTMLBars: true,
570
+ revision: "Ember@1.11.1",
571
+ blockParams: 0,
572
+ cachedFragment: null,
573
+ hasRendered: false,
574
+ build: function build(dom) {
575
+ var el0 = dom.createDocumentFragment();
576
+ var el1 = dom.createElement("div");
577
+ dom.setAttribute(el1,"class","row has-associations-row");
578
+ var el2 = dom.createComment("");
579
+ dom.appendChild(el1, el2);
580
+ var el2 = dom.createElement("div");
581
+ dom.setAttribute(el2,"class","relationship");
582
+ var el3 = dom.createElement("span");
583
+ dom.setAttribute(el3,"class","source-join-type");
584
+ var el4 = dom.createComment("");
585
+ dom.appendChild(el3, el4);
586
+ dom.appendChild(el2, el3);
587
+ var el3 = dom.createElement("span");
588
+ dom.setAttribute(el3,"class","source-association-name");
589
+ var el4 = dom.createComment("");
590
+ dom.appendChild(el3, el4);
591
+ dom.appendChild(el2, el3);
592
+ var el3 = dom.createTextNode(":");
593
+ dom.appendChild(el2, el3);
594
+ var el3 = dom.createComment("");
595
+ dom.appendChild(el2, el3);
596
+ var el3 = dom.createElement("span");
597
+ dom.setAttribute(el3,"class","destination-join-type");
598
+ var el4 = dom.createComment("");
599
+ dom.appendChild(el3, el4);
600
+ dom.appendChild(el2, el3);
601
+ var el3 = dom.createElement("span");
602
+ dom.setAttribute(el3,"class","destination-association-name");
603
+ var el4 = dom.createComment("");
604
+ dom.appendChild(el3, el4);
605
+ dom.appendChild(el2, el3);
606
+ dom.appendChild(el1, el2);
607
+ var el2 = dom.createElement("i");
608
+ dom.setAttribute(el2,"class","glyphicon glyphicon-triangle-right");
609
+ dom.appendChild(el1, el2);
610
+ var el2 = dom.createComment("");
611
+ dom.appendChild(el1, el2);
612
+ var el2 = dom.createComment("");
613
+ dom.appendChild(el1, el2);
614
+ dom.appendChild(el0, el1);
615
+ return el0;
616
+ },
617
+ render: function render(context, env, contextualElement) {
618
+ var dom = env.dom;
619
+ var hooks = env.hooks, content = hooks.content;
620
+ dom.detectNamespace(contextualElement);
621
+ var fragment;
622
+ if (env.useFragmentCache && dom.canClone) {
623
+ if (this.cachedFragment === null) {
624
+ fragment = this.build(dom);
625
+ if (this.hasRendered) {
626
+ this.cachedFragment = fragment;
627
+ } else {
628
+ this.hasRendered = true;
629
+ }
630
+ }
631
+ if (this.cachedFragment) {
632
+ fragment = dom.cloneNode(this.cachedFragment, true);
633
+ }
634
+ } else {
635
+ fragment = this.build(dom);
636
+ }
637
+ var element0 = dom.childAt(fragment, [0]);
638
+ var element1 = dom.childAt(element0, [1]);
639
+ var morph0 = dom.createMorphAt(element0,0,0);
640
+ var morph1 = dom.createMorphAt(dom.childAt(element1, [0]),0,0);
641
+ var morph2 = dom.createMorphAt(dom.childAt(element1, [1]),0,0);
642
+ var morph3 = dom.createMorphAt(element1,3,3);
643
+ var morph4 = dom.createMorphAt(dom.childAt(element1, [4]),0,0);
644
+ var morph5 = dom.createMorphAt(dom.childAt(element1, [5]),0,0);
645
+ var morph6 = dom.createMorphAt(element0,3,3);
646
+ var morph7 = dom.createMorphAt(element0,4,4);
647
+ content(env, morph0, context, "has_association.from_model.class_name");
648
+ content(env, morph1, context, "has_association.source_join_type");
649
+ content(env, morph2, context, "has_association.name");
650
+ content(env, morph3, context, "has_association.relationship_type");
651
+ content(env, morph4, context, "has_association.destination_join_type");
652
+ content(env, morph5, context, "has_association.opposite_name");
653
+ content(env, morph6, context, "has_association.to_model.class_name");
654
+ content(env, morph7, context, "yield");
655
+ return fragment;
656
+ }
657
+ };
658
+ }()));
659
+
660
+ });
661
+ define('ember-src/templates/components/model-list-item', ['exports'], function (exports) {
662
+
663
+ 'use strict';
664
+
665
+ exports['default'] = Ember.HTMLBars.template((function() {
666
+ return {
667
+ isHTMLBars: true,
668
+ revision: "Ember@1.11.1",
669
+ blockParams: 0,
670
+ cachedFragment: null,
671
+ hasRendered: false,
672
+ build: function build(dom) {
673
+ var el0 = dom.createDocumentFragment();
674
+ var el1 = dom.createElement("a");
675
+ dom.setAttribute(el1,"class","list-group-item");
676
+ var el2 = dom.createComment("");
677
+ dom.appendChild(el1, el2);
678
+ var el2 = dom.createComment("");
679
+ dom.appendChild(el1, el2);
680
+ dom.appendChild(el0, el1);
681
+ var el1 = dom.createComment("");
682
+ dom.appendChild(el0, el1);
683
+ return el0;
684
+ },
685
+ render: function render(context, env, contextualElement) {
686
+ var dom = env.dom;
687
+ var hooks = env.hooks, element = hooks.element, content = hooks.content, get = hooks.get, inline = hooks.inline;
688
+ dom.detectNamespace(contextualElement);
689
+ var fragment;
690
+ if (env.useFragmentCache && dom.canClone) {
691
+ if (this.cachedFragment === null) {
692
+ fragment = this.build(dom);
693
+ if (this.hasRendered) {
694
+ this.cachedFragment = fragment;
695
+ } else {
696
+ this.hasRendered = true;
697
+ }
698
+ }
699
+ if (this.cachedFragment) {
700
+ fragment = dom.cloneNode(this.cachedFragment, true);
701
+ }
702
+ } else {
703
+ fragment = this.build(dom);
704
+ }
705
+ var element0 = dom.childAt(fragment, [0]);
706
+ var morph0 = dom.createMorphAt(element0,0,0);
707
+ var morph1 = dom.createMorphAt(element0,1,1);
708
+ var morph2 = dom.createMorphAt(fragment,1,1,contextualElement);
709
+ dom.insertBoundary(fragment, null);
710
+ element(env, element0, context, "action", ["clicked"], {"on": "click"});
711
+ content(env, morph0, context, "model.class_name");
712
+ content(env, morph1, context, "model.level");
713
+ inline(env, morph2, context, "model-list", [], {"node": get(env, context, "sub_hierarchy")});
714
+ return fragment;
715
+ }
716
+ };
717
+ }()));
718
+
719
+ });
720
+ define('ember-src/templates/components/model-list', ['exports'], function (exports) {
721
+
722
+ 'use strict';
723
+
724
+ exports['default'] = Ember.HTMLBars.template((function() {
725
+ var child0 = (function() {
726
+ return {
727
+ isHTMLBars: true,
728
+ revision: "Ember@1.11.1",
729
+ blockParams: 0,
730
+ cachedFragment: null,
731
+ hasRendered: false,
732
+ build: function build(dom) {
733
+ var el0 = dom.createDocumentFragment();
734
+ return el0;
735
+ },
736
+ render: function render(context, env, contextualElement) {
737
+ var dom = env.dom;
738
+ dom.detectNamespace(contextualElement);
739
+ var fragment;
740
+ if (env.useFragmentCache && dom.canClone) {
741
+ if (this.cachedFragment === null) {
742
+ fragment = this.build(dom);
743
+ if (this.hasRendered) {
744
+ this.cachedFragment = fragment;
745
+ } else {
746
+ this.hasRendered = true;
747
+ }
748
+ }
749
+ if (this.cachedFragment) {
750
+ fragment = dom.cloneNode(this.cachedFragment, true);
751
+ }
752
+ } else {
753
+ fragment = this.build(dom);
754
+ }
755
+ return fragment;
756
+ }
757
+ };
758
+ }());
759
+ return {
760
+ isHTMLBars: true,
761
+ revision: "Ember@1.11.1",
762
+ blockParams: 0,
763
+ cachedFragment: null,
764
+ hasRendered: false,
765
+ build: function build(dom) {
766
+ var el0 = dom.createDocumentFragment();
767
+ var el1 = dom.createElement("div");
768
+ dom.setAttribute(el1,"class","list-group");
769
+ var el2 = dom.createComment("");
770
+ dom.appendChild(el1, el2);
771
+ dom.appendChild(el0, el1);
772
+ return el0;
773
+ },
774
+ render: function render(context, env, contextualElement) {
775
+ var dom = env.dom;
776
+ var hooks = env.hooks, get = hooks.get, block = hooks.block;
777
+ dom.detectNamespace(contextualElement);
778
+ var fragment;
779
+ if (env.useFragmentCache && dom.canClone) {
780
+ if (this.cachedFragment === null) {
781
+ fragment = this.build(dom);
782
+ if (this.hasRendered) {
783
+ this.cachedFragment = fragment;
784
+ } else {
785
+ this.hasRendered = true;
786
+ }
787
+ }
788
+ if (this.cachedFragment) {
789
+ fragment = dom.cloneNode(this.cachedFragment, true);
790
+ }
791
+ } else {
792
+ fragment = this.build(dom);
793
+ }
794
+ var morph0 = dom.createMorphAt(dom.childAt(fragment, [0]),0,0);
795
+ block(env, morph0, context, "each", [get(env, context, "node")], {"keyword": "child"}, child0, null);
796
+ return fragment;
797
+ }
798
+ };
799
+ }()));
800
+
801
+ });
802
+ define('ember-src/templates/has_associations/index', ['exports'], function (exports) {
803
+
804
+ 'use strict';
805
+
806
+ exports['default'] = Ember.HTMLBars.template((function() {
807
+ var child0 = (function() {
808
+ return {
809
+ isHTMLBars: true,
810
+ revision: "Ember@1.11.1",
811
+ blockParams: 0,
812
+ cachedFragment: null,
813
+ hasRendered: false,
814
+ build: function build(dom) {
815
+ var el0 = dom.createDocumentFragment();
816
+ var el1 = dom.createTextNode("New Association");
817
+ dom.appendChild(el0, el1);
818
+ return el0;
819
+ },
820
+ render: function render(context, env, contextualElement) {
821
+ var dom = env.dom;
822
+ dom.detectNamespace(contextualElement);
823
+ var fragment;
824
+ if (env.useFragmentCache && dom.canClone) {
825
+ if (this.cachedFragment === null) {
826
+ fragment = this.build(dom);
827
+ if (this.hasRendered) {
828
+ this.cachedFragment = fragment;
829
+ } else {
830
+ this.hasRendered = true;
831
+ }
832
+ }
833
+ if (this.cachedFragment) {
834
+ fragment = dom.cloneNode(this.cachedFragment, true);
835
+ }
836
+ } else {
837
+ fragment = this.build(dom);
838
+ }
839
+ return fragment;
840
+ }
841
+ };
842
+ }());
843
+ var child1 = (function() {
844
+ var child0 = (function() {
845
+ return {
846
+ isHTMLBars: true,
847
+ revision: "Ember@1.11.1",
848
+ blockParams: 0,
849
+ cachedFragment: null,
850
+ hasRendered: false,
851
+ build: function build(dom) {
852
+ var el0 = dom.createDocumentFragment();
853
+ var el1 = dom.createElement("a");
854
+ dom.setAttribute(el1,"class","btn btn-danger pull-right");
855
+ var el2 = dom.createTextNode("DELETE");
856
+ dom.appendChild(el1, el2);
857
+ dom.appendChild(el0, el1);
858
+ return el0;
859
+ },
860
+ render: function render(context, env, contextualElement) {
861
+ var dom = env.dom;
862
+ var hooks = env.hooks, get = hooks.get, element = hooks.element;
863
+ dom.detectNamespace(contextualElement);
864
+ var fragment;
865
+ if (env.useFragmentCache && dom.canClone) {
866
+ if (this.cachedFragment === null) {
867
+ fragment = this.build(dom);
868
+ if (this.hasRendered) {
869
+ this.cachedFragment = fragment;
870
+ } else {
871
+ this.hasRendered = true;
872
+ }
873
+ }
874
+ if (this.cachedFragment) {
875
+ fragment = dom.cloneNode(this.cachedFragment, true);
876
+ }
877
+ } else {
878
+ fragment = this.build(dom);
879
+ }
880
+ var element0 = dom.childAt(fragment, [0]);
881
+ element(env, element0, context, "action", [get(env, context, "delete"), get(env, context, "has_association")], {"on": "click"});
882
+ return fragment;
883
+ }
884
+ };
885
+ }());
886
+ return {
887
+ isHTMLBars: true,
888
+ revision: "Ember@1.11.1",
889
+ blockParams: 0,
890
+ cachedFragment: null,
891
+ hasRendered: false,
892
+ build: function build(dom) {
893
+ var el0 = dom.createDocumentFragment();
894
+ var el1 = dom.createComment("");
895
+ dom.appendChild(el0, el1);
896
+ return el0;
897
+ },
898
+ render: function render(context, env, contextualElement) {
899
+ var dom = env.dom;
900
+ var hooks = env.hooks, get = hooks.get, block = hooks.block;
901
+ dom.detectNamespace(contextualElement);
902
+ var fragment;
903
+ if (env.useFragmentCache && dom.canClone) {
904
+ if (this.cachedFragment === null) {
905
+ fragment = this.build(dom);
906
+ if (this.hasRendered) {
907
+ this.cachedFragment = fragment;
908
+ } else {
909
+ this.hasRendered = true;
910
+ }
911
+ }
912
+ if (this.cachedFragment) {
913
+ fragment = dom.cloneNode(this.cachedFragment, true);
914
+ }
915
+ } else {
916
+ fragment = this.build(dom);
917
+ }
918
+ var morph0 = dom.createMorphAt(fragment,0,0,contextualElement);
919
+ dom.insertBoundary(fragment, null);
920
+ dom.insertBoundary(fragment, 0);
921
+ block(env, morph0, context, "has-association-diagram", [], {"has_association": get(env, context, "has_association")}, child0, null);
922
+ return fragment;
923
+ }
924
+ };
925
+ }());
926
+ return {
927
+ isHTMLBars: true,
928
+ revision: "Ember@1.11.1",
929
+ blockParams: 0,
930
+ cachedFragment: null,
931
+ hasRendered: false,
932
+ build: function build(dom) {
933
+ var el0 = dom.createDocumentFragment();
934
+ var el1 = dom.createElement("div");
935
+ dom.setAttribute(el1,"class","row");
936
+ var el2 = dom.createComment("");
937
+ dom.appendChild(el1, el2);
938
+ dom.appendChild(el0, el1);
939
+ var el1 = dom.createElement("div");
940
+ dom.setAttribute(el1,"class","has-association-list");
941
+ var el2 = dom.createComment("");
942
+ dom.appendChild(el1, el2);
943
+ dom.appendChild(el0, el1);
944
+ return el0;
945
+ },
946
+ render: function render(context, env, contextualElement) {
947
+ var dom = env.dom;
948
+ var hooks = env.hooks, block = hooks.block, get = hooks.get;
949
+ dom.detectNamespace(contextualElement);
950
+ var fragment;
951
+ if (env.useFragmentCache && dom.canClone) {
952
+ if (this.cachedFragment === null) {
953
+ fragment = this.build(dom);
954
+ if (this.hasRendered) {
955
+ this.cachedFragment = fragment;
956
+ } else {
957
+ this.hasRendered = true;
958
+ }
959
+ }
960
+ if (this.cachedFragment) {
961
+ fragment = dom.cloneNode(this.cachedFragment, true);
962
+ }
963
+ } else {
964
+ fragment = this.build(dom);
965
+ }
966
+ var morph0 = dom.createMorphAt(dom.childAt(fragment, [0]),0,0);
967
+ var morph1 = dom.createMorphAt(dom.childAt(fragment, [1]),0,0);
968
+ block(env, morph0, context, "link-to", ["has_associations.new"], {"class": "btn btn-primary"}, child0, null);
969
+ block(env, morph1, context, "each", [get(env, context, "model")], {"keyword": "has_association"}, child1, null);
970
+ return fragment;
971
+ }
972
+ };
973
+ }()));
974
+
975
+ });
976
+ define('ember-src/templates/has_associations/new', ['exports'], function (exports) {
977
+
978
+ 'use strict';
979
+
980
+ exports['default'] = Ember.HTMLBars.template((function() {
981
+ var child0 = (function() {
982
+ return {
983
+ isHTMLBars: true,
984
+ revision: "Ember@1.11.1",
985
+ blockParams: 0,
986
+ cachedFragment: null,
987
+ hasRendered: false,
988
+ build: function build(dom) {
989
+ var el0 = dom.createDocumentFragment();
990
+ var el1 = dom.createElement("span");
991
+ dom.setAttribute(el1,"class","help-block");
992
+ var el2 = dom.createComment("");
993
+ dom.appendChild(el1, el2);
994
+ var el2 = dom.createTextNode(" has ");
995
+ dom.appendChild(el1, el2);
996
+ var el2 = dom.createComment("");
997
+ dom.appendChild(el1, el2);
998
+ var el2 = dom.createTextNode("...");
999
+ dom.appendChild(el1, el2);
1000
+ dom.appendChild(el0, el1);
1001
+ return el0;
1002
+ },
1003
+ render: function render(context, env, contextualElement) {
1004
+ var dom = env.dom;
1005
+ var hooks = env.hooks, content = hooks.content;
1006
+ dom.detectNamespace(contextualElement);
1007
+ var fragment;
1008
+ if (env.useFragmentCache && dom.canClone) {
1009
+ if (this.cachedFragment === null) {
1010
+ fragment = this.build(dom);
1011
+ if (this.hasRendered) {
1012
+ this.cachedFragment = fragment;
1013
+ } else {
1014
+ this.hasRendered = true;
1015
+ }
1016
+ }
1017
+ if (this.cachedFragment) {
1018
+ fragment = dom.cloneNode(this.cachedFragment, true);
1019
+ }
1020
+ } else {
1021
+ fragment = this.build(dom);
1022
+ }
1023
+ var element2 = dom.childAt(fragment, [0]);
1024
+ var morph0 = dom.createMorphAt(element2,0,0);
1025
+ var morph1 = dom.createMorphAt(element2,2,2);
1026
+ content(env, morph0, context, "model.has_association.from_model.class_name");
1027
+ content(env, morph1, context, "model.has_association.source_join_type");
1028
+ return fragment;
1029
+ }
1030
+ };
1031
+ }());
1032
+ var child1 = (function() {
1033
+ return {
1034
+ isHTMLBars: true,
1035
+ revision: "Ember@1.11.1",
1036
+ blockParams: 0,
1037
+ cachedFragment: null,
1038
+ hasRendered: false,
1039
+ build: function build(dom) {
1040
+ var el0 = dom.createDocumentFragment();
1041
+ var el1 = dom.createElement("span");
1042
+ dom.setAttribute(el1,"class","help-block");
1043
+ var el2 = dom.createComment("");
1044
+ dom.appendChild(el1, el2);
1045
+ var el2 = dom.createTextNode(" has ");
1046
+ dom.appendChild(el1, el2);
1047
+ var el2 = dom.createComment("");
1048
+ dom.appendChild(el1, el2);
1049
+ var el2 = dom.createTextNode("...");
1050
+ dom.appendChild(el1, el2);
1051
+ dom.appendChild(el0, el1);
1052
+ return el0;
1053
+ },
1054
+ render: function render(context, env, contextualElement) {
1055
+ var dom = env.dom;
1056
+ var hooks = env.hooks, content = hooks.content;
1057
+ dom.detectNamespace(contextualElement);
1058
+ var fragment;
1059
+ if (env.useFragmentCache && dom.canClone) {
1060
+ if (this.cachedFragment === null) {
1061
+ fragment = this.build(dom);
1062
+ if (this.hasRendered) {
1063
+ this.cachedFragment = fragment;
1064
+ } else {
1065
+ this.hasRendered = true;
1066
+ }
1067
+ }
1068
+ if (this.cachedFragment) {
1069
+ fragment = dom.cloneNode(this.cachedFragment, true);
1070
+ }
1071
+ } else {
1072
+ fragment = this.build(dom);
1073
+ }
1074
+ var element1 = dom.childAt(fragment, [0]);
1075
+ var morph0 = dom.createMorphAt(element1,0,0);
1076
+ var morph1 = dom.createMorphAt(element1,2,2);
1077
+ content(env, morph0, context, "model.has_association.to_model.class_name");
1078
+ content(env, morph1, context, "model.has_association.destination_join_type");
1079
+ return fragment;
1080
+ }
1081
+ };
1082
+ }());
1083
+ var child2 = (function() {
1084
+ return {
1085
+ isHTMLBars: true,
1086
+ revision: "Ember@1.11.1",
1087
+ blockParams: 0,
1088
+ cachedFragment: null,
1089
+ hasRendered: false,
1090
+ build: function build(dom) {
1091
+ var el0 = dom.createDocumentFragment();
1092
+ var el1 = dom.createElement("span");
1093
+ dom.setAttribute(el1,"class","help-block");
1094
+ var el2 = dom.createComment("");
1095
+ dom.appendChild(el1, el2);
1096
+ var el2 = dom.createTextNode(" ... ");
1097
+ dom.appendChild(el1, el2);
1098
+ var el2 = dom.createComment("");
1099
+ dom.appendChild(el1, el2);
1100
+ dom.appendChild(el0, el1);
1101
+ return el0;
1102
+ },
1103
+ render: function render(context, env, contextualElement) {
1104
+ var dom = env.dom;
1105
+ var hooks = env.hooks, content = hooks.content;
1106
+ dom.detectNamespace(contextualElement);
1107
+ var fragment;
1108
+ if (env.useFragmentCache && dom.canClone) {
1109
+ if (this.cachedFragment === null) {
1110
+ fragment = this.build(dom);
1111
+ if (this.hasRendered) {
1112
+ this.cachedFragment = fragment;
1113
+ } else {
1114
+ this.hasRendered = true;
1115
+ }
1116
+ }
1117
+ if (this.cachedFragment) {
1118
+ fragment = dom.cloneNode(this.cachedFragment, true);
1119
+ }
1120
+ } else {
1121
+ fragment = this.build(dom);
1122
+ }
1123
+ var element0 = dom.childAt(fragment, [0]);
1124
+ var morph0 = dom.createMorphAt(element0,0,0);
1125
+ var morph1 = dom.createMorphAt(element0,2,2);
1126
+ content(env, morph0, context, "model.has_association.from_model.class_name");
1127
+ content(env, morph1, context, "model.has_association.to_model.class_name");
1128
+ return fragment;
1129
+ }
1130
+ };
1131
+ }());
1132
+ return {
1133
+ isHTMLBars: true,
1134
+ revision: "Ember@1.11.1",
1135
+ blockParams: 0,
1136
+ cachedFragment: null,
1137
+ hasRendered: false,
1138
+ build: function build(dom) {
1139
+ var el0 = dom.createDocumentFragment();
1140
+ var el1 = dom.createElement("div");
1141
+ dom.setAttribute(el1,"class","well well-sm");
1142
+ var el2 = dom.createElement("p");
1143
+ var el3 = dom.createTextNode("Here you can define an association between two models.");
1144
+ dom.appendChild(el2, el3);
1145
+ dom.appendChild(el1, el2);
1146
+ var el2 = dom.createElement("p");
1147
+ var el3 = dom.createTextNode("First choose the join type and the ");
1148
+ dom.appendChild(el2, el3);
1149
+ var el3 = dom.createElement("strong");
1150
+ var el4 = dom.createTextNode("source and destination");
1151
+ dom.appendChild(el3, el4);
1152
+ dom.appendChild(el2, el3);
1153
+ var el3 = dom.createTextNode(".");
1154
+ dom.appendChild(el2, el3);
1155
+ dom.appendChild(el1, el2);
1156
+ var el2 = dom.createElement("p");
1157
+ var el3 = dom.createTextNode("Then give names to the associations. These should finish the sentence \"SOURCE/DESTINATION MODEL has one/many...\" (e.g. Person has many ");
1158
+ dom.appendChild(el2, el3);
1159
+ var el3 = dom.createElement("strong");
1160
+ var el4 = dom.createTextNode("comments");
1161
+ dom.appendChild(el3, el4);
1162
+ dom.appendChild(el2, el3);
1163
+ var el3 = dom.createTextNode(" / Comment has one ");
1164
+ dom.appendChild(el2, el3);
1165
+ var el3 = dom.createElement("strong");
1166
+ var el4 = dom.createTextNode("person");
1167
+ dom.appendChild(el3, el4);
1168
+ dom.appendChild(el2, el3);
1169
+ var el3 = dom.createTextNode(")");
1170
+ dom.appendChild(el2, el3);
1171
+ dom.appendChild(el1, el2);
1172
+ var el2 = dom.createElement("p");
1173
+ var el3 = dom.createTextNode("Lastly give a relationship type. This should complete the sentence \"SOURCE MODEL ... DESTINATION MODEL\" (e.g. Person ");
1174
+ dom.appendChild(el2, el3);
1175
+ var el3 = dom.createElement("strong");
1176
+ var el4 = dom.createTextNode("wrote_comment");
1177
+ dom.appendChild(el3, el4);
1178
+ dom.appendChild(el2, el3);
1179
+ var el3 = dom.createTextNode(" Comment)");
1180
+ dom.appendChild(el2, el3);
1181
+ dom.appendChild(el1, el2);
1182
+ var el2 = dom.createElement("p");
1183
+ var el3 = dom.createTextNode("Rules");
1184
+ dom.appendChild(el2, el3);
1185
+ dom.appendChild(el1, el2);
1186
+ var el2 = dom.createElement("ul");
1187
+ var el3 = dom.createElement("li");
1188
+ var el4 = dom.createTextNode("For name, opposite name, and relationship type spaces will be converted to underscores (_)");
1189
+ dom.appendChild(el3, el4);
1190
+ dom.appendChild(el2, el3);
1191
+ var el3 = dom.createElement("li");
1192
+ var el4 = dom.createTextNode("Name and opposite name cannot start with numbers and cannot be upper case");
1193
+ dom.appendChild(el3, el4);
1194
+ dom.appendChild(el2, el3);
1195
+ dom.appendChild(el1, el2);
1196
+ dom.appendChild(el0, el1);
1197
+ var el1 = dom.createElement("form");
1198
+ dom.setAttribute(el1,"class","form-horizontal");
1199
+ var el2 = dom.createElement("div");
1200
+ dom.setAttribute(el2,"class","form-group");
1201
+ var el3 = dom.createElement("label");
1202
+ var el4 = dom.createElement("div");
1203
+ dom.setAttribute(el4,"class","col-sm-2 control-label");
1204
+ var el5 = dom.createTextNode("Join Type");
1205
+ dom.appendChild(el4, el5);
1206
+ dom.appendChild(el3, el4);
1207
+ var el4 = dom.createElement("div");
1208
+ dom.setAttribute(el4,"class","col-sm-4");
1209
+ var el5 = dom.createComment("");
1210
+ dom.appendChild(el4, el5);
1211
+ dom.appendChild(el3, el4);
1212
+ var el4 = dom.createElement("div");
1213
+ dom.setAttribute(el4,"class","col-sm-6");
1214
+ var el5 = dom.createComment("");
1215
+ dom.appendChild(el4, el5);
1216
+ dom.appendChild(el3, el4);
1217
+ dom.appendChild(el2, el3);
1218
+ dom.appendChild(el1, el2);
1219
+ var el2 = dom.createElement("div");
1220
+ dom.setAttribute(el2,"class","form-group");
1221
+ var el3 = dom.createElement("label");
1222
+ var el4 = dom.createElement("div");
1223
+ dom.setAttribute(el4,"class","col-sm-2 control-label");
1224
+ var el5 = dom.createTextNode("Source Model");
1225
+ dom.appendChild(el4, el5);
1226
+ dom.appendChild(el3, el4);
1227
+ var el4 = dom.createElement("div");
1228
+ dom.setAttribute(el4,"class","col-sm-10");
1229
+ var el5 = dom.createComment("");
1230
+ dom.appendChild(el4, el5);
1231
+ dom.appendChild(el3, el4);
1232
+ dom.appendChild(el2, el3);
1233
+ dom.appendChild(el1, el2);
1234
+ var el2 = dom.createElement("div");
1235
+ dom.setAttribute(el2,"class","form-group");
1236
+ var el3 = dom.createElement("label");
1237
+ var el4 = dom.createElement("div");
1238
+ dom.setAttribute(el4,"class","col-sm-2 control-label");
1239
+ var el5 = dom.createTextNode("Destination Model");
1240
+ dom.appendChild(el4, el5);
1241
+ dom.appendChild(el3, el4);
1242
+ var el4 = dom.createElement("div");
1243
+ dom.setAttribute(el4,"class","col-sm-10");
1244
+ var el5 = dom.createComment("");
1245
+ dom.appendChild(el4, el5);
1246
+ dom.appendChild(el3, el4);
1247
+ dom.appendChild(el2, el3);
1248
+ dom.appendChild(el1, el2);
1249
+ var el2 = dom.createElement("div");
1250
+ dom.setAttribute(el2,"class","form-group");
1251
+ var el3 = dom.createElement("label");
1252
+ var el4 = dom.createElement("div");
1253
+ dom.setAttribute(el4,"class","col-sm-2 control-label");
1254
+ var el5 = dom.createTextNode("Name");
1255
+ dom.appendChild(el4, el5);
1256
+ var el5 = dom.createComment("");
1257
+ dom.appendChild(el4, el5);
1258
+ dom.appendChild(el3, el4);
1259
+ var el4 = dom.createElement("div");
1260
+ dom.setAttribute(el4,"class","col-sm-10");
1261
+ var el5 = dom.createComment("");
1262
+ dom.appendChild(el4, el5);
1263
+ dom.appendChild(el3, el4);
1264
+ dom.appendChild(el2, el3);
1265
+ dom.appendChild(el1, el2);
1266
+ var el2 = dom.createElement("div");
1267
+ dom.setAttribute(el2,"class","form-group");
1268
+ var el3 = dom.createElement("label");
1269
+ var el4 = dom.createElement("div");
1270
+ dom.setAttribute(el4,"class","col-sm-2 control-label");
1271
+ var el5 = dom.createTextNode("Opposite Name");
1272
+ dom.appendChild(el4, el5);
1273
+ var el5 = dom.createComment("");
1274
+ dom.appendChild(el4, el5);
1275
+ dom.appendChild(el3, el4);
1276
+ var el4 = dom.createElement("div");
1277
+ dom.setAttribute(el4,"class","col-sm-10");
1278
+ var el5 = dom.createComment("");
1279
+ dom.appendChild(el4, el5);
1280
+ dom.appendChild(el3, el4);
1281
+ dom.appendChild(el2, el3);
1282
+ dom.appendChild(el1, el2);
1283
+ var el2 = dom.createElement("div");
1284
+ dom.setAttribute(el2,"class","form-group");
1285
+ var el3 = dom.createElement("label");
1286
+ var el4 = dom.createElement("div");
1287
+ dom.setAttribute(el4,"class","col-sm-2 control-label");
1288
+ var el5 = dom.createTextNode("Relationship Type");
1289
+ dom.appendChild(el4, el5);
1290
+ var el5 = dom.createComment("");
1291
+ dom.appendChild(el4, el5);
1292
+ dom.appendChild(el3, el4);
1293
+ var el4 = dom.createElement("div");
1294
+ dom.setAttribute(el4,"class","col-sm-10");
1295
+ var el5 = dom.createComment("");
1296
+ dom.appendChild(el4, el5);
1297
+ dom.appendChild(el3, el4);
1298
+ dom.appendChild(el2, el3);
1299
+ dom.appendChild(el1, el2);
1300
+ dom.appendChild(el0, el1);
1301
+ var el1 = dom.createElement("div");
1302
+ dom.setAttribute(el1,"class","form-group");
1303
+ var el2 = dom.createElement("button");
1304
+ dom.setAttribute(el2,"class","btn btn-primary");
1305
+ var el3 = dom.createTextNode("Create Association");
1306
+ dom.appendChild(el2, el3);
1307
+ dom.appendChild(el1, el2);
1308
+ dom.appendChild(el0, el1);
1309
+ return el0;
1310
+ },
1311
+ render: function render(context, env, contextualElement) {
1312
+ var dom = env.dom;
1313
+ var hooks = env.hooks, get = hooks.get, inline = hooks.inline, block = hooks.block, element = hooks.element;
1314
+ dom.detectNamespace(contextualElement);
1315
+ var fragment;
1316
+ if (env.useFragmentCache && dom.canClone) {
1317
+ if (this.cachedFragment === null) {
1318
+ fragment = this.build(dom);
1319
+ if (this.hasRendered) {
1320
+ this.cachedFragment = fragment;
1321
+ } else {
1322
+ this.hasRendered = true;
1323
+ }
1324
+ }
1325
+ if (this.cachedFragment) {
1326
+ fragment = dom.cloneNode(this.cachedFragment, true);
1327
+ }
1328
+ } else {
1329
+ fragment = this.build(dom);
1330
+ }
1331
+ var element3 = dom.childAt(fragment, [1]);
1332
+ var element4 = dom.childAt(element3, [0, 0]);
1333
+ var element5 = dom.childAt(element3, [3, 0]);
1334
+ var element6 = dom.childAt(element3, [4, 0]);
1335
+ var element7 = dom.childAt(element3, [5, 0]);
1336
+ var element8 = dom.childAt(fragment, [2, 0]);
1337
+ var morph0 = dom.createMorphAt(dom.childAt(element4, [1]),0,0);
1338
+ var morph1 = dom.createMorphAt(dom.childAt(element4, [2]),0,0);
1339
+ var morph2 = dom.createMorphAt(dom.childAt(element3, [1, 0, 1]),0,0);
1340
+ var morph3 = dom.createMorphAt(dom.childAt(element3, [2, 0, 1]),0,0);
1341
+ var morph4 = dom.createMorphAt(dom.childAt(element5, [0]),1,1);
1342
+ var morph5 = dom.createMorphAt(dom.childAt(element5, [1]),0,0);
1343
+ var morph6 = dom.createMorphAt(dom.childAt(element6, [0]),1,1);
1344
+ var morph7 = dom.createMorphAt(dom.childAt(element6, [1]),0,0);
1345
+ var morph8 = dom.createMorphAt(dom.childAt(element7, [0]),1,1);
1346
+ var morph9 = dom.createMorphAt(dom.childAt(element7, [1]),0,0);
1347
+ inline(env, morph0, context, "view", ["select"], {"content": get(env, context, "model.join_types"), "selectionBinding": "model.has_association.join_type", "prompt": "Please Select", "class": "form-control"});
1348
+ inline(env, morph1, context, "has-association-diagram", [], {"has_association": get(env, context, "model.has_association")});
1349
+ inline(env, morph2, context, "view", ["select"], {"content": get(env, context, "model.models"), "optionValuePath": "content.id", "optionLabelPath": "content.class_name", "selectionBinding": "model.has_association.from_model", "prompt": "Please Select", "class": "form-control"});
1350
+ inline(env, morph3, context, "view", ["select"], {"content": get(env, context, "model.models"), "optionValuePath": "content.id", "optionLabelPath": "content.class_name", "selectionBinding": "model.has_association.to_model", "prompt": "Please Select", "class": "form-control"});
1351
+ block(env, morph4, context, "if", [get(env, context, "model.has_association.source_is_defined")], {}, child0, null);
1352
+ inline(env, morph5, context, "input", [], {"valueBinding": "model.has_association.name", "class": "form-control"});
1353
+ block(env, morph6, context, "if", [get(env, context, "model.has_association.destination_is_defined")], {}, child1, null);
1354
+ inline(env, morph7, context, "input", [], {"valueBinding": "model.has_association.opposite_name", "class": "form-control"});
1355
+ block(env, morph8, context, "if", [get(env, context, "model.has_association.models_are_defined")], {}, child2, null);
1356
+ inline(env, morph9, context, "input", [], {"valueBinding": "model.has_association.relationship_type", "class": "form-control"});
1357
+ element(env, element8, context, "action", [get(env, context, "create"), get(env, context, "model.has_association")], {"on": "click"});
1358
+ return fragment;
1359
+ }
1360
+ };
1361
+ }()));
1362
+
1363
+ });
1364
+ define('ember-src/templates/index', ['exports'], function (exports) {
1365
+
1366
+ 'use strict';
1367
+
1368
+ exports['default'] = Ember.HTMLBars.template((function() {
1369
+ return {
1370
+ isHTMLBars: true,
1371
+ revision: "Ember@1.11.1",
1372
+ blockParams: 0,
1373
+ cachedFragment: null,
1374
+ hasRendered: false,
1375
+ build: function build(dom) {
1376
+ var el0 = dom.createDocumentFragment();
1377
+ var el1 = dom.createElement("ul");
1378
+ dom.setAttribute(el1,"class","list-group");
1379
+ var el2 = dom.createElement("li");
1380
+ dom.setAttribute(el2,"class","list-group-item");
1381
+ var el3 = dom.createComment("");
1382
+ dom.appendChild(el2, el3);
1383
+ dom.appendChild(el1, el2);
1384
+ var el2 = dom.createElement("li");
1385
+ dom.setAttribute(el2,"class","list-group-item");
1386
+ var el3 = dom.createComment("");
1387
+ dom.appendChild(el2, el3);
1388
+ dom.appendChild(el1, el2);
1389
+ dom.appendChild(el0, el1);
1390
+ return el0;
1391
+ },
1392
+ render: function render(context, env, contextualElement) {
1393
+ var dom = env.dom;
1394
+ var hooks = env.hooks, inline = hooks.inline;
1395
+ dom.detectNamespace(contextualElement);
1396
+ var fragment;
1397
+ if (env.useFragmentCache && dom.canClone) {
1398
+ if (this.cachedFragment === null) {
1399
+ fragment = this.build(dom);
1400
+ if (this.hasRendered) {
1401
+ this.cachedFragment = fragment;
1402
+ } else {
1403
+ this.hasRendered = true;
1404
+ }
1405
+ }
1406
+ if (this.cachedFragment) {
1407
+ fragment = dom.cloneNode(this.cachedFragment, true);
1408
+ }
1409
+ } else {
1410
+ fragment = this.build(dom);
1411
+ }
1412
+ var element0 = dom.childAt(fragment, [0]);
1413
+ var morph0 = dom.createMorphAt(dom.childAt(element0, [0]),0,0);
1414
+ var morph1 = dom.createMorphAt(dom.childAt(element0, [1]),0,0);
1415
+ inline(env, morph0, context, "link-to", ["Models", "models.hierarchy"], {});
1416
+ inline(env, morph1, context, "link-to", ["Associations", "has_associations.index"], {});
1417
+ return fragment;
1418
+ }
1419
+ };
1420
+ }()));
1421
+
1422
+ });
1423
+ define('ember-src/templates/models/edit', ['exports'], function (exports) {
1424
+
1425
+ 'use strict';
1426
+
1427
+ exports['default'] = Ember.HTMLBars.template((function() {
1428
+ var child0 = (function() {
1429
+ return {
1430
+ isHTMLBars: true,
1431
+ revision: "Ember@1.11.1",
1432
+ blockParams: 0,
1433
+ cachedFragment: null,
1434
+ hasRendered: false,
1435
+ build: function build(dom) {
1436
+ var el0 = dom.createDocumentFragment();
1437
+ var el1 = dom.createElement("div");
1438
+ var el2 = dom.createElement("i");
1439
+ dom.setAttribute(el2,"class","glyphicon glyphicon-remove-circle close pull-right");
1440
+ dom.appendChild(el1, el2);
1441
+ var el2 = dom.createElement("label");
1442
+ var el3 = dom.createElement("div");
1443
+ dom.setAttribute(el3,"class","col-sm-2 control-label");
1444
+ var el4 = dom.createTextNode("Name");
1445
+ dom.appendChild(el3, el4);
1446
+ dom.appendChild(el2, el3);
1447
+ var el3 = dom.createElement("div");
1448
+ dom.setAttribute(el3,"class","col-sm-10");
1449
+ var el4 = dom.createComment("");
1450
+ dom.appendChild(el3, el4);
1451
+ dom.appendChild(el2, el3);
1452
+ dom.appendChild(el1, el2);
1453
+ var el2 = dom.createElement("label");
1454
+ var el3 = dom.createElement("div");
1455
+ dom.setAttribute(el3,"class","col-sm-2 control-label");
1456
+ var el4 = dom.createTextNode("Type");
1457
+ dom.appendChild(el3, el4);
1458
+ dom.appendChild(el2, el3);
1459
+ var el3 = dom.createElement("div");
1460
+ dom.setAttribute(el3,"class","col-sm-10");
1461
+ var el4 = dom.createComment("");
1462
+ dom.appendChild(el3, el4);
1463
+ dom.appendChild(el2, el3);
1464
+ dom.appendChild(el1, el2);
1465
+ dom.appendChild(el0, el1);
1466
+ return el0;
1467
+ },
1468
+ render: function render(context, env, contextualElement) {
1469
+ var dom = env.dom;
1470
+ var hooks = env.hooks, element = hooks.element, get = hooks.get, inline = hooks.inline;
1471
+ dom.detectNamespace(contextualElement);
1472
+ var fragment;
1473
+ if (env.useFragmentCache && dom.canClone) {
1474
+ if (this.cachedFragment === null) {
1475
+ fragment = this.build(dom);
1476
+ if (this.hasRendered) {
1477
+ this.cachedFragment = fragment;
1478
+ } else {
1479
+ this.hasRendered = true;
1480
+ }
1481
+ }
1482
+ if (this.cachedFragment) {
1483
+ fragment = dom.cloneNode(this.cachedFragment, true);
1484
+ }
1485
+ } else {
1486
+ fragment = this.build(dom);
1487
+ }
1488
+ var element0 = dom.childAt(fragment, [0]);
1489
+ var element1 = dom.childAt(element0, [0]);
1490
+ var morph0 = dom.createMorphAt(dom.childAt(element0, [1, 1]),0,0);
1491
+ var morph1 = dom.createMorphAt(dom.childAt(element0, [2, 1]),0,0);
1492
+ element(env, element0, context, "bind-attr", [], {"class": ":well :property :col-sm-6 property.isDirty:has-warning:"});
1493
+ element(env, element1, context, "action", [get(env, context, "delete_property"), get(env, context, "property")], {"on": "click"});
1494
+ inline(env, morph0, context, "focus-input", [], {"valueBinding": "property.name", "class": "form-control"});
1495
+ inline(env, morph1, context, "view", ["select"], {"content": get(env, context, "property_types"), "valueBinding": "property.type", "class": "form-control"});
1496
+ return fragment;
1497
+ }
1498
+ };
1499
+ }());
1500
+ return {
1501
+ isHTMLBars: true,
1502
+ revision: "Ember@1.11.1",
1503
+ blockParams: 0,
1504
+ cachedFragment: null,
1505
+ hasRendered: false,
1506
+ build: function build(dom) {
1507
+ var el0 = dom.createDocumentFragment();
1508
+ var el1 = dom.createElement("div");
1509
+ dom.setAttribute(el1,"class","form-group");
1510
+ var el2 = dom.createElement("label");
1511
+ var el3 = dom.createElement("div");
1512
+ dom.setAttribute(el3,"class","col-sm-2 control-label");
1513
+ var el4 = dom.createTextNode("Class Name");
1514
+ dom.appendChild(el3, el4);
1515
+ dom.appendChild(el2, el3);
1516
+ var el3 = dom.createElement("div");
1517
+ dom.setAttribute(el3,"class","col-sm-10");
1518
+ var el4 = dom.createComment("");
1519
+ dom.appendChild(el3, el4);
1520
+ dom.appendChild(el2, el3);
1521
+ dom.appendChild(el1, el2);
1522
+ dom.appendChild(el0, el1);
1523
+ var el1 = dom.createElement("div");
1524
+ dom.setAttribute(el1,"class","form-group");
1525
+ var el2 = dom.createElement("label");
1526
+ var el3 = dom.createElement("div");
1527
+ dom.setAttribute(el3,"class","col-sm-2 control-label");
1528
+ var el4 = dom.createTextNode("Inherits from");
1529
+ dom.appendChild(el3, el4);
1530
+ dom.appendChild(el2, el3);
1531
+ var el3 = dom.createElement("div");
1532
+ dom.setAttribute(el3,"class","col-sm-10");
1533
+ var el4 = dom.createComment("");
1534
+ dom.appendChild(el3, el4);
1535
+ dom.appendChild(el2, el3);
1536
+ dom.appendChild(el1, el2);
1537
+ dom.appendChild(el0, el1);
1538
+ var el1 = dom.createElement("div");
1539
+ dom.setAttribute(el1,"class","properties row");
1540
+ var el2 = dom.createElement("h2");
1541
+ var el3 = dom.createTextNode("Properties ");
1542
+ dom.appendChild(el2, el3);
1543
+ var el3 = dom.createElement("a");
1544
+ dom.setAttribute(el3,"class","add btn btn-default");
1545
+ var el4 = dom.createTextNode("Add Property");
1546
+ dom.appendChild(el3, el4);
1547
+ dom.appendChild(el2, el3);
1548
+ dom.appendChild(el1, el2);
1549
+ var el2 = dom.createElement("div");
1550
+ dom.setAttribute(el2,"class","form-group");
1551
+ var el3 = dom.createElement("label");
1552
+ var el4 = dom.createElement("div");
1553
+ dom.setAttribute(el4,"class","col-sm-2 control-label");
1554
+ var el5 = dom.createTextNode("ID Property");
1555
+ dom.appendChild(el4, el5);
1556
+ dom.appendChild(el3, el4);
1557
+ var el4 = dom.createElement("div");
1558
+ dom.setAttribute(el4,"class","col-sm-10");
1559
+ var el5 = dom.createComment("");
1560
+ dom.appendChild(el4, el5);
1561
+ dom.appendChild(el3, el4);
1562
+ dom.appendChild(el2, el3);
1563
+ dom.appendChild(el1, el2);
1564
+ var el2 = dom.createComment("");
1565
+ dom.appendChild(el1, el2);
1566
+ dom.appendChild(el0, el1);
1567
+ var el1 = dom.createElement("div");
1568
+ dom.setAttribute(el1,"class","form-group");
1569
+ var el2 = dom.createElement("button");
1570
+ dom.setAttribute(el2,"class","btn btn-danger pull-right");
1571
+ var el3 = dom.createTextNode("DELETE!");
1572
+ dom.appendChild(el2, el3);
1573
+ dom.appendChild(el1, el2);
1574
+ dom.appendChild(el0, el1);
1575
+ var el1 = dom.createElement("div");
1576
+ dom.setAttribute(el1,"class","form-group");
1577
+ var el2 = dom.createElement("button");
1578
+ dom.setAttribute(el2,"class","btn btn-primary");
1579
+ var el3 = dom.createTextNode("Update");
1580
+ dom.appendChild(el2, el3);
1581
+ dom.appendChild(el1, el2);
1582
+ dom.appendChild(el0, el1);
1583
+ return el0;
1584
+ },
1585
+ render: function render(context, env, contextualElement) {
1586
+ var dom = env.dom;
1587
+ var hooks = env.hooks, inline = hooks.inline, get = hooks.get, element = hooks.element, block = hooks.block;
1588
+ dom.detectNamespace(contextualElement);
1589
+ var fragment;
1590
+ if (env.useFragmentCache && dom.canClone) {
1591
+ if (this.cachedFragment === null) {
1592
+ fragment = this.build(dom);
1593
+ if (this.hasRendered) {
1594
+ this.cachedFragment = fragment;
1595
+ } else {
1596
+ this.hasRendered = true;
1597
+ }
1598
+ }
1599
+ if (this.cachedFragment) {
1600
+ fragment = dom.cloneNode(this.cachedFragment, true);
1601
+ }
1602
+ } else {
1603
+ fragment = this.build(dom);
1604
+ }
1605
+ var element2 = dom.childAt(fragment, [2]);
1606
+ var element3 = dom.childAt(element2, [0, 1]);
1607
+ var element4 = dom.childAt(fragment, [3, 0]);
1608
+ var element5 = dom.childAt(fragment, [4, 0]);
1609
+ var morph0 = dom.createMorphAt(dom.childAt(fragment, [0, 0, 1]),0,0);
1610
+ var morph1 = dom.createMorphAt(dom.childAt(fragment, [1, 0, 1]),0,0);
1611
+ var morph2 = dom.createMorphAt(dom.childAt(element2, [1, 0, 1]),0,0);
1612
+ var morph3 = dom.createMorphAt(element2,2,2);
1613
+ inline(env, morph0, context, "input", [], {"valueBinding": "model.model.class_name", "class": "form-control"});
1614
+ inline(env, morph1, context, "view", ["select"], {"content": get(env, context, "model.models"), "optionValuePath": "content.id", "optionLabelPath": "content.class_name", "selectionBinding": "model.model.superclass_model", "class": "form-control"});
1615
+ element(env, element3, context, "action", [get(env, context, "add_property"), get(env, context, "model.model")], {"on": "click"});
1616
+ inline(env, morph2, context, "view", ["select"], {"content": get(env, context, "model.model.properties"), "selectionBinding": "model.model.id_property", "optionValuePath": "content.id", "optionLabelPath": "content.name", "prompt": "Auto", "class": "form-control"});
1617
+ block(env, morph3, context, "each", [get(env, context, "model.model.properties")], {"keyword": "property"}, child0, null);
1618
+ element(env, element4, context, "action", [get(env, context, "delete"), get(env, context, "model.model")], {"on": "click"});
1619
+ element(env, element5, context, "action", [get(env, context, "save"), get(env, context, "model.model")], {"on": "click"});
1620
+ return fragment;
1621
+ }
1622
+ };
1623
+ }()));
1624
+
1625
+ });
1626
+ define('ember-src/templates/models/hierarchy', ['exports'], function (exports) {
1627
+
1628
+ 'use strict';
1629
+
1630
+ exports['default'] = Ember.HTMLBars.template((function() {
1631
+ return {
1632
+ isHTMLBars: true,
1633
+ revision: "Ember@1.11.1",
1634
+ blockParams: 0,
1635
+ cachedFragment: null,
1636
+ hasRendered: false,
1637
+ build: function build(dom) {
1638
+ var el0 = dom.createDocumentFragment();
1639
+ var el1 = dom.createElement("div");
1640
+ dom.setAttribute(el1,"class","well well-sm");
1641
+ var el2 = dom.createElement("p");
1642
+ var el3 = dom.createTextNode("Here you can create new models and edit existing models.");
1643
+ dom.appendChild(el2, el3);
1644
+ dom.appendChild(el1, el2);
1645
+ var el2 = dom.createElement("p");
1646
+ var el3 = dom.createTextNode("To create a model, enter the model name in the box below and click the button");
1647
+ dom.appendChild(el2, el3);
1648
+ dom.appendChild(el1, el2);
1649
+ var el2 = dom.createElement("p");
1650
+ var el3 = dom.createTextNode("To edit a model, simply click on a model from the list");
1651
+ dom.appendChild(el2, el3);
1652
+ dom.appendChild(el1, el2);
1653
+ dom.appendChild(el0, el1);
1654
+ var el1 = dom.createElement("div");
1655
+ dom.setAttribute(el1,"class","row");
1656
+ var el2 = dom.createElement("div");
1657
+ dom.setAttribute(el2,"class","col-sm-11");
1658
+ var el3 = dom.createComment("");
1659
+ dom.appendChild(el2, el3);
1660
+ dom.appendChild(el1, el2);
1661
+ var el2 = dom.createElement("a");
1662
+ dom.setAttribute(el2,"class","btn btn-default add-model-btn col-sm-1");
1663
+ var el3 = dom.createTextNode("+");
1664
+ dom.appendChild(el2, el3);
1665
+ dom.appendChild(el1, el2);
1666
+ dom.appendChild(el0, el1);
1667
+ var el1 = dom.createComment("");
1668
+ dom.appendChild(el0, el1);
1669
+ return el0;
1670
+ },
1671
+ render: function render(context, env, contextualElement) {
1672
+ var dom = env.dom;
1673
+ var hooks = env.hooks, inline = hooks.inline, get = hooks.get, element = hooks.element;
1674
+ dom.detectNamespace(contextualElement);
1675
+ var fragment;
1676
+ if (env.useFragmentCache && dom.canClone) {
1677
+ if (this.cachedFragment === null) {
1678
+ fragment = this.build(dom);
1679
+ if (this.hasRendered) {
1680
+ this.cachedFragment = fragment;
1681
+ } else {
1682
+ this.hasRendered = true;
1683
+ }
1684
+ }
1685
+ if (this.cachedFragment) {
1686
+ fragment = dom.cloneNode(this.cachedFragment, true);
1687
+ }
1688
+ } else {
1689
+ fragment = this.build(dom);
1690
+ }
1691
+ var element0 = dom.childAt(fragment, [1]);
1692
+ var element1 = dom.childAt(element0, [1]);
1693
+ var morph0 = dom.createMorphAt(dom.childAt(element0, [0]),0,0);
1694
+ var morph1 = dom.createMorphAt(fragment,2,2,contextualElement);
1695
+ dom.insertBoundary(fragment, null);
1696
+ inline(env, morph0, context, "input", [], {"valueBinding": "new_model_name", "placeholder": "Model Name", "class": "form-control form-control"});
1697
+ element(env, element1, context, "action", [get(env, context, "add_model"), get(env, context, "add_model_name")], {"on": "click"});
1698
+ inline(env, morph1, context, "model-list", [], {"node": get(env, context, "model"), "id": "model-list", "class": "nested-list-group"});
1699
+ return fragment;
1700
+ }
1701
+ };
1702
+ }()));
1703
+
1704
+ });
1705
+ define('ember-src/tests/helpers/resolver', ['exports', 'ember/resolver', 'ember-src/config/environment'], function (exports, Resolver, config) {
1706
+
1707
+ 'use strict';
1708
+
1709
+ var resolver = Resolver['default'].create();
1710
+
1711
+ resolver.namespace = {
1712
+ modulePrefix: config['default'].modulePrefix,
1713
+ podModulePrefix: config['default'].podModulePrefix
1714
+ };
1715
+
1716
+ exports['default'] = resolver;
1717
+
1718
+ });
1719
+ define('ember-src/tests/helpers/resolver.jshint', function () {
1720
+
1721
+ 'use strict';
1722
+
1723
+ module('JSHint - helpers');
1724
+ test('helpers/resolver.js should pass jshint', function() {
1725
+ ok(true, 'helpers/resolver.js should pass jshint.');
1726
+ });
1727
+
1728
+ });
1729
+ define('ember-src/tests/helpers/start-app', ['exports', 'ember', 'ember-src/app', 'ember-src/router', 'ember-src/config/environment'], function (exports, Ember, Application, Router, config) {
1730
+
1731
+ 'use strict';
1732
+
1733
+
1734
+
1735
+ exports['default'] = startApp;
1736
+ function startApp(attrs) {
1737
+ var application;
1738
+
1739
+ var attributes = Ember['default'].merge({}, config['default'].APP);
1740
+ attributes = Ember['default'].merge(attributes, attrs); // use defaults, but you can override;
1741
+
1742
+ Ember['default'].run(function () {
1743
+ application = Application['default'].create(attributes);
1744
+ application.setupForTesting();
1745
+ application.injectTestHelpers();
1746
+ });
1747
+
1748
+ return application;
1749
+ }
1750
+
1751
+ });
1752
+ define('ember-src/tests/helpers/start-app.jshint', function () {
1753
+
1754
+ 'use strict';
1755
+
1756
+ module('JSHint - helpers');
1757
+ test('helpers/start-app.js should pass jshint', function() {
1758
+ ok(true, 'helpers/start-app.js should pass jshint.');
1759
+ });
1760
+
1761
+ });
1762
+ define('ember-src/tests/test-helper', ['ember-src/tests/helpers/resolver', 'ember-qunit'], function (resolver, ember_qunit) {
1763
+
1764
+ 'use strict';
1765
+
1766
+ ember_qunit.setResolver(resolver['default']);
1767
+
1768
+ });
1769
+ define('ember-src/tests/test-helper.jshint', function () {
1770
+
1771
+ 'use strict';
1772
+
1773
+ module('JSHint - .');
1774
+ test('test-helper.js should pass jshint', function() {
1775
+ ok(true, 'test-helper.js should pass jshint.');
1776
+ });
1777
+
1778
+ });
1779
+ define('ember-src/tests/unit/adapters/application-test', ['ember-qunit'], function (ember_qunit) {
1780
+
1781
+ 'use strict';
1782
+
1783
+ ember_qunit.moduleFor('adapter:application', 'ApplicationAdapter', {});
1784
+
1785
+ ember_qunit.test('it exists', function(assert) {
1786
+ var adapter;
1787
+ adapter = this.subject();
1788
+ return assert.ok(adapter);
1789
+ });
1790
+
1791
+ });
1792
+ define('ember-src/tests/unit/adapters/association-test', ['ember-qunit'], function (ember_qunit) {
1793
+
1794
+ 'use strict';
1795
+
1796
+ ember_qunit.moduleFor('adapter:association', 'AssociationAdapter', {});
1797
+
1798
+ ember_qunit.test('it exists', function(assert) {
1799
+ var adapter;
1800
+ adapter = this.subject();
1801
+ return assert.ok(adapter);
1802
+ });
1803
+
1804
+ });
1805
+ define('ember-src/tests/unit/adapters/meta-model-test', ['ember-qunit'], function (ember_qunit) {
1806
+
1807
+ 'use strict';
1808
+
1809
+ ember_qunit.moduleFor('adapter:meta-model', 'MetaModelAdapter', {});
1810
+
1811
+ ember_qunit.test('it exists', function(assert) {
1812
+ var adapter;
1813
+ adapter = this.subject();
1814
+ return assert.ok(adapter);
1815
+ });
1816
+
1817
+ });
1818
+ define('ember-src/tests/unit/adapters/model-test', ['ember-qunit'], function (ember_qunit) {
1819
+
1820
+ 'use strict';
1821
+
1822
+ ember_qunit.moduleFor('adapter:model', 'ModelAdapter', {});
1823
+
1824
+ ember_qunit.test('it exists', function(assert) {
1825
+ var adapter;
1826
+ adapter = this.subject();
1827
+ return assert.ok(adapter);
1828
+ });
1829
+
1830
+ });
1831
+ define('ember-src/tests/unit/adapters/property-test', ['ember-qunit'], function (ember_qunit) {
1832
+
1833
+ 'use strict';
1834
+
1835
+ ember_qunit.moduleFor('adapter:property', 'PropertyAdapter', {});
1836
+
1837
+ ember_qunit.test('it exists', function(assert) {
1838
+ var adapter;
1839
+ adapter = this.subject();
1840
+ return assert.ok(adapter);
1841
+ });
1842
+
1843
+ });
1844
+ define('ember-src/tests/unit/components/focus-input-test', ['ember-qunit'], function (ember_qunit) {
1845
+
1846
+ 'use strict';
1847
+
1848
+ ember_qunit.moduleForComponent('focus-input', {});
1849
+
1850
+ ember_qunit.test('it renders', function(assert) {
1851
+ var component;
1852
+ assert.expect(2);
1853
+ component = this.subject();
1854
+ assert.equal(component._state, 'preRender');
1855
+ this.render();
1856
+ return assert.equal(component._state, 'inDOM');
1857
+ });
1858
+
1859
+ });
1860
+ define('ember-src/tests/unit/components/model-list-item-test', ['ember-qunit'], function (ember_qunit) {
1861
+
1862
+ 'use strict';
1863
+
1864
+ ember_qunit.moduleForComponent('model-list-item', {});
1865
+
1866
+ ember_qunit.test('it renders', function(assert) {
1867
+ var component;
1868
+ assert.expect(2);
1869
+ component = this.subject();
1870
+ assert.equal(component._state, 'preRender');
1871
+ this.render();
1872
+ return assert.equal(component._state, 'inDOM');
1873
+ });
1874
+
1875
+ });
1876
+ define('ember-src/tests/unit/components/model-list-test', ['ember-qunit'], function (ember_qunit) {
1877
+
1878
+ 'use strict';
1879
+
1880
+ ember_qunit.moduleForComponent('model-list', {});
1881
+
1882
+ ember_qunit.test('it renders', function(assert) {
1883
+ var component;
1884
+ assert.expect(2);
1885
+ component = this.subject();
1886
+ assert.equal(component._state, 'preRender');
1887
+ this.render();
1888
+ return assert.equal(component._state, 'inDOM');
1889
+ });
1890
+
1891
+ });
1892
+ define('ember-src/tests/unit/controllers/application-test', ['ember-qunit'], function (ember_qunit) {
1893
+
1894
+ 'use strict';
1895
+
1896
+ ember_qunit.moduleFor('controller:application', {});
1897
+
1898
+ ember_qunit.test('it exists', function(assert) {
1899
+ var controller;
1900
+ controller = this.subject();
1901
+ return assert.ok(controller);
1902
+ });
1903
+
1904
+ });
1905
+ define('ember-src/tests/unit/controllers/models-edit-test', ['ember-qunit'], function (ember_qunit) {
1906
+
1907
+ 'use strict';
1908
+
1909
+ ember_qunit.moduleFor('controller:models-edit', {});
1910
+
1911
+ ember_qunit.test('it exists', function(assert) {
1912
+ var controller;
1913
+ controller = this.subject();
1914
+ return assert.ok(controller);
1915
+ });
1916
+
1917
+ });
1918
+ define('ember-src/tests/unit/controllers/models-hierarchy-test', ['ember-qunit'], function (ember_qunit) {
1919
+
1920
+ 'use strict';
1921
+
1922
+ ember_qunit.moduleFor('controller:models-hierarchy', {});
1923
+
1924
+ ember_qunit.test('it exists', function(assert) {
1925
+ var controller;
1926
+ controller = this.subject();
1927
+ return assert.ok(controller);
1928
+ });
1929
+
1930
+ });
1931
+ define('ember-src/tests/unit/helpers/mm-path-test', ['ember-src/helpers/mm-path', 'qunit'], function (mm_path, qunit) {
1932
+
1933
+ 'use strict';
1934
+
1935
+ qunit.module('MmPathHelper');
1936
+
1937
+ qunit.test('it works', function(assert) {
1938
+ var result;
1939
+ result = mm_path.mmPath(42);
1940
+ return assert.ok(result);
1941
+ });
1942
+
1943
+ });
1944
+ define('ember-src/tests/unit/models/has-association-test', ['ember-qunit'], function (ember_qunit) {
1945
+
1946
+ 'use strict';
1947
+
1948
+ ember_qunit.moduleForModel('has-association', {
1949
+ needs: []
1950
+ });
1951
+
1952
+ ember_qunit.test('it exists', function(assert) {
1953
+ var model;
1954
+ model = this.subject();
1955
+ return assert.ok(!!model);
1956
+ });
1957
+
1958
+ });
1959
+ define('ember-src/tests/unit/models/model-test', ['ember-qunit'], function (ember_qunit) {
1960
+
1961
+ 'use strict';
1962
+
1963
+ ember_qunit.moduleForModel('model', {
1964
+ needs: []
1965
+ });
1966
+
1967
+ ember_qunit.test('it exists', function(assert) {
1968
+ var model;
1969
+ model = this.subject();
1970
+ return assert.ok(!!model);
1971
+ });
1972
+
1973
+ });
1974
+ define('ember-src/tests/unit/models/property-test', ['ember-qunit'], function (ember_qunit) {
1975
+
1976
+ 'use strict';
1977
+
1978
+ ember_qunit.moduleForModel('property', {
1979
+ needs: []
1980
+ });
1981
+
1982
+ ember_qunit.test('it exists', function(assert) {
1983
+ var model;
1984
+ model = this.subject();
1985
+ return assert.ok(!!model);
1986
+ });
1987
+
1988
+ });
1989
+ define('ember-src/tests/unit/routes/has-association-index-test', ['ember-qunit'], function (ember_qunit) {
1990
+
1991
+ 'use strict';
1992
+
1993
+ ember_qunit.moduleFor('route:has-association-index', {});
1994
+
1995
+ ember_qunit.test('it exists', function(assert) {
1996
+ var route;
1997
+ route = this.subject();
1998
+ return assert.ok(route);
1999
+ });
2000
+
2001
+ });
2002
+ define('ember-src/tests/unit/routes/has-associations-new-test', ['ember-qunit'], function (ember_qunit) {
2003
+
2004
+ 'use strict';
2005
+
2006
+ ember_qunit.moduleFor('route:has-associations-new', {});
2007
+
2008
+ ember_qunit.test('it exists', function(assert) {
2009
+ var route;
2010
+ route = this.subject();
2011
+ return assert.ok(route);
2012
+ });
2013
+
2014
+ });
2015
+ define('ember-src/tests/unit/routes/models-edit-test', ['ember-qunit'], function (ember_qunit) {
2016
+
2017
+ 'use strict';
2018
+
2019
+ ember_qunit.moduleFor('route:models-edit', {});
2020
+
2021
+ ember_qunit.test('it exists', function(assert) {
2022
+ var route;
2023
+ route = this.subject();
2024
+ return assert.ok(route);
2025
+ });
2026
+
2027
+ });
2028
+ define('ember-src/tests/unit/routes/models-hierarchy-test', ['ember-qunit'], function (ember_qunit) {
2029
+
2030
+ 'use strict';
2031
+
2032
+ ember_qunit.moduleFor('route:models-hierarchy', {});
2033
+
2034
+ ember_qunit.test('it exists', function(assert) {
2035
+ var route;
2036
+ route = this.subject();
2037
+ return assert.ok(route);
2038
+ });
2039
+
2040
+ });
2041
+ define('ember-src/tests/unit/serializers/application-test', ['ember-qunit'], function (ember_qunit) {
2042
+
2043
+ 'use strict';
2044
+
2045
+ ember_qunit.moduleFor('serializer:application', {});
2046
+
2047
+ ember_qunit.test('it exists', function(assert) {
2048
+ var serializer;
2049
+ serializer = this.subject();
2050
+ return assert.ok(serializer);
2051
+ });
2052
+
2053
+ });
2054
+ /* jshint ignore:start */
2055
+
2056
+ /* jshint ignore:end */
2057
+
2058
+ /* jshint ignore:start */
2059
+
2060
+ define('ember-src/config/environment', ['ember'], function(Ember) {
2061
+ var prefix = 'ember-src';
2062
+ /* jshint ignore:start */
2063
+
2064
+ try {
2065
+ var metaName = prefix + '/config/environment';
2066
+ var rawConfig = Ember['default'].$('meta[name="' + metaName + '"]').attr('content');
2067
+ var config = JSON.parse(unescape(rawConfig));
2068
+
2069
+ return { 'default': config };
2070
+ }
2071
+ catch(err) {
2072
+ throw new Error('Could not read config from meta tag with name "' + metaName + '".');
2073
+ }
2074
+
2075
+ /* jshint ignore:end */
2076
+
2077
+ });
2078
+
2079
+ if (runningTests) {
2080
+ require("ember-src/tests/test-helper");
2081
+ } else {
2082
+ require("ember-src/app")["default"].create({"name":"ember-src","version":"0.0.0.a1e08cd2"});
2083
+ }
2084
+
2085
+ /* jshint ignore:end */
2086
+ //# sourceMappingURL=ember-src.map