50 lines
2.0 KiB
JavaScript
50 lines
2.0 KiB
JavaScript
$(function() {
|
|
// TODO: someone should fix all of this...
|
|
// $("a[rel*=leanModal]").leanModal(); //TODO: Make this work with the new modal library. Try and integrate this with the "slices"
|
|
|
|
$('body').append('\
|
|
<div id="circuit_editor_modal" class="modal hide fade"> \
|
|
<div class="modal-body"> \
|
|
<input class="schematic" height="300" width="500" id="schematic_editor" name="schematic" type="hidden" value=""/> \
|
|
</div> \
|
|
<div class="modal-footer"> \
|
|
<button type="button" id="circuit_save_btn" class="btn btn-primary" data-dismiss="modal"> \
|
|
Save circuit \
|
|
</button> \
|
|
</div> \
|
|
</div>');
|
|
|
|
// This is the editor that pops up as a modal
|
|
var editorCircuit = $('#schematic_editor').get(0);
|
|
// This is the circuit that they last clicked. The one being edited.
|
|
var editingCircuit = null;
|
|
// Notice we use live, because new circuits can be inserted
|
|
$('.schematic_open').live('click', function() {
|
|
// Find the new editingCircuit. Transfer its contents to the editorCircuit
|
|
editingCircuit = $(this).children('input.schematic').get(0);
|
|
|
|
editingCircuit.schematic.update_value();
|
|
var circuit_so_far = $(editingCircuit).val();
|
|
|
|
var n = editorCircuit.schematic.components.length;
|
|
for (var i = 0; i < n; i++)
|
|
editorCircuit.schematic.components[n - 1 - i].remove();
|
|
|
|
editorCircuit.schematic.load_schematic(circuit_so_far, '');
|
|
editorCircuit.schematic.zoomall();
|
|
});
|
|
|
|
$('#circuit_save_btn').click(function() {
|
|
// Take the circuit from the editor and put it back into editingCircuit
|
|
editorCircuit.schematic.update_value();
|
|
var saving_circuit = $(editorCircuit).val();
|
|
|
|
var n = editingCircuit.schematic.components.length;
|
|
for (var i = 0; i < n; i++)
|
|
editingCircuit.schematic.components[n - 1 - i].remove();
|
|
|
|
editingCircuit.schematic.load_schematic(saving_circuit, '');
|
|
editingCircuit.schematic.zoomall();
|
|
});
|
|
});
|