$(document).ready(function() { setup_draggable(); $("#n-columns").on("change", function() { var v = $(this).val(); if(v==="1") { var $col = $('.form-body .col-md-12').toggle(true); $('.form-body .col-md-6 .draggable').each(function(i, el) { $(this).remove().appendTo($col); }) $('.form-body .col-md-6').toggle(false); } else { var $col = $('.form-body .col-md-6').toggle(true); $(".form-body .col-md-12 .draggable").each(function(i, el) { $(this).remove().appendTo(i % 2 ? $col[1] : $col[0]); }); $('.form-body .col-md-12').toggle(false); } }); $("#copy-to-clipboard").on("click", function() { var $copy = $(".form-body").parent().clone().appendTo(document.body); $copy.find(".tools, :hidden").remove(); $.each(["draggable", "droppable", "sortable", "dropped", "ui-sortable", "ui-draggable", "ui-droppable", "form-body"], function(i, c) { $copy.find("." + c).removeClass(c); }) var html = html_beautify($copy.html()); $copy.remove(); $modal = get_modal(html).modal("show"); $modal.find(".btn").remove(); $modal.find(".modal-title").html("Copy HTML"); $modal.find(":input:first").select().focus(); return false; }) }); var setup_draggable = function() { $( ".draggable" ).draggable({ appendTo: "body", helper: "clone" }); $( ".droppable" ).droppable({ accept: ".draggable", helper: "clone", hoverClass: "droppable-active", drop: function( event, ui ) { $(".empty-form").remove(); var $orig = $(ui.draggable) if(!$(ui.draggable).hasClass("dropped")) { var $el = $orig .clone() .addClass("dropped") .css({"position": "static", "left": null, "right": null}) .appendTo(this); // update id var id = $orig.find(":input").attr("id"); if(id) { id = id.split("-").slice(0,-1).join("-") + "-" + (parseInt(id.split("-").slice(-1)[0]) + 1) $orig.find(":input").attr("id", id); $orig.find("label").attr("for", id); } // tools $('
').appendTo($el); } else { if($(this)[0]!=$orig.parent()[0]) { var $el = $orig .clone() .css({"position": "static", "left": null, "right": null}) .appendTo(this); $orig.remove(); } } } }).sortable(); } var get_modal = function(content) { var modal = $('