var schematic_height = 220; var schematic_width = 400; var styling_height_delta = 2; //How many pixels are added to the height of the box because of styling (like a shadow) var styling_width_delta = 2; $(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(); if (editingCircuit.codeMirrorLine) { editingCircuit.codeMirrorLine.replace(0, null, "circuit-schematic:" + saving_circuit); } }); });