"Kanban-Board"
Bootstrap 3.3.0 Snippet by hiilmiee

<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css"> <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.0/js/bootstrap.min.js"></script> <script src="//code.jquery.com/jquery-1.11.1.min.js"></script> <!------ Include the above in your HEAD tag ----------> <div class="container-fluid" style="min-width: 1050px;"> <div id="sortableKanbanBoards" class="row"> <div class="col-md-10 col-md-offset-1"> <div class="panel panel-primary kanban-col"> <div class="panel-heading"> TODO <i class="fa fa-2x fa-plus-circle pull-right"></i> </div> <div class="panel-body" style="max-height: 401px;"> <div id="TODO" class="kanban-centered"> <article class="kanban-entry grab" id="item0" draggable="true"><div class="kanban-entry-inner"><div class="kanban-label"><h2>qwdq</h2></div></div></article><article class="kanban-entry grab" id="item1" draggable="true"><div class="kanban-entry-inner"><div class="kanban-label"><h2>wdq</h2></div></div></article><article class="kanban-entry grab" id="item2" draggable="true"><div class="kanban-entry-inner"><div class="kanban-label"><h2>wdqqeqe</h2></div></div></article><article class="kanban-entry grab" id="item3" draggable="true"><div class="kanban-entry-inner"><div class="kanban-label"><h2>wqe</h2></div></div></article></div> </div> </div> <div class="panel panel-primary kanban-col"> <div class="panel-heading"> DOING <i class="fa fa-2x fa-plus-circle pull-right"></i> </div> <div class="panel-body" style="max-height: 401px;"> <div id="DOING" class="kanban-centered"> </div> </div> </div> <div class="panel panel-primary kanban-col"> <div class="panel-heading"> DONE <i class="fa fa-2x fa-plus-circle pull-right"></i> </div> <div class="panel-body" style="max-height: 401px;"> <div id="DONE" class="kanban-centered"> </div> </div> </div> <div class="col-md-2"> <button id="btn-add-task" class="btn btn-primary">Add Task</button> </div> </div> </div> </div>
img { vertical-align: middle; } .img-responsive { display: block; height: auto; max-width: 100%; } .img-rounded { border-radius: 3px; } .img-thumbnail { background-color: #fff; border: 1px solid #ededf0; border-radius: 3px; display: inline-block; height: auto; line-height: 1.428571429; max-width: 100%; moz-transition: all .2s ease-in-out; o-transition: all .2s ease-in-out; padding: 2px; transition: all .2s ease-in-out; webkit-transition: all .2s ease-in-out; } .img-circle { border-radius: 50%; } .kanban-centered { position: relative; margin-bottom: 30px; } .kanban-centered:before, .kanban-centered:after { content: " "; display: table; } .kanban-centered:after { clear: both; } .kanban-centered:before, .kanban-centered:after { content: " "; display: table; } .kanban-centered:after { clear: both; } .kanban-centered:before { content: ''; position: absolute; display: block; width: 2px; /*background: #f5f5f6;*/ top: 20px; bottom: 20px; /*margin-left: 18px;*/ } .kanban-centered .kanban-entry { position: relative; /*width: 50%; float: right;*/ margin: 10px 8px; clear: both; border-radius: 4px; -webkit-box-shadow: 1px 1px 2px 0px rgba(50, 50, 50, 0.5); -moz-box-shadow: 1px 1px 2px 0px rgba(50, 50, 50, 0.5); box-shadow: 1px 1px 2px 0px rgba(50, 50, 50, 0.5); } .kanban-centered .kanban-entry:before, .kanban-centered .kanban-entry:after { content: " "; display: table; } .kanban-centered .kanban-entry:after { clear: both; } .kanban-centered .kanban-entry:before, .kanban-centered .kanban-entry:after { content: " "; display: table; } .kanban-centered .kanban-entry:after { clear: both; } .kanban-centered .kanban-entry.begin { margin-bottom: 0; } .kanban-centered .kanban-entry.left-aligned { float: left; } .kanban-centered .kanban-entry.left-aligned .kanban-entry-inner { margin-left: 0; margin-right: -18px; } .kanban-centered .kanban-entry.left-aligned .kanban-entry-inner .kanban-time { left: auto; right: -100px; text-align: left; } .kanban-centered .kanban-entry.left-aligned .kanban-entry-inner .kanban-icon { float: right; } .kanban-centered .kanban-entry.left-aligned .kanban-entry-inner .kanban-label { margin-left: 0; margin-right: 70px; } .kanban-centered .kanban-entry.left-aligned .kanban-entry-inner .kanban-label:after { left: auto; right: 0; margin-left: 0; margin-right: -9px; -moz-transform: rotate(180deg); -o-transform: rotate(180deg); -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); } .kanban-centered .kanban-entry .kanban-entry-inner { position: relative; /*margin-left: -24px;*/ } .kanban-centered .kanban-entry .kanban-entry-inner:before, .kanban-centered .kanban-entry .kanban-entry-inner:after { content: " "; display: table; } .kanban-centered .kanban-entry .kanban-entry-inner:after { clear: both; } .kanban-centered .kanban-entry .kanban-entry-inner:before, .kanban-centered .kanban-entry .kanban-entry-inner:after { content: " "; display: table; } .kanban-centered .kanban-entry .kanban-entry-inner:after { clear: both; } .kanban-centered .kanban-entry .kanban-entry-inner .kanban-time { position: absolute; left: -100px; text-align: right; padding: 10px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } .kanban-centered .kanban-entry .kanban-entry-inner .kanban-time > span { display: block; } .kanban-centered .kanban-entry .kanban-entry-inner .kanban-time > span:first-child { font-size: 15px; font-weight: bold; } .kanban-centered .kanban-entry .kanban-entry-inner .kanban-time > span:last-child { font-size: 12px; } .kanban-centered .kanban-entry .kanban-entry-inner .kanban-icon { background: #fff; color: #737881; display: block; width: 25px; height: 25px; -webkit-background-clip: padding-box; -moz-background-clip: padding; background-clip: padding-box; -webkit-border-radius: 20px; -moz-border-radius: 20px; border-radius: 20px; text-align: center; -moz-box-shadow: 0 0 0 4px #f5f5f6; -webkit-box-shadow: 0 0 0 4px #f5f5f6; box-shadow: 0 0 0 4px #f5f5f6; float: left; margin-top: 6px; } .kanban-centered .kanban-entry .kanban-entry-inner .kanban-icon.bg-primary { background-color: #303641; color: #fff; } .kanban-centered .kanban-entry .kanban-entry-inner .kanban-icon.bg-secondary { background-color: #ee4749; color: #fff; } .kanban-centered .kanban-entry .kanban-entry-inner .kanban-icon.bg-success { background-color: #00a651; color: #fff; } .kanban-centered .kanban-entry .kanban-entry-inner .kanban-icon.bg-info { background-color: #21a9e1; color: #fff; } .kanban-centered .kanban-entry .kanban-entry-inner .kanban-icon.bg-warning { background-color: #fad839; color: #fff; } .kanban-centered .kanban-entry .kanban-entry-inner .kanban-icon.bg-danger { background-color: #cc2424; color: #fff; } .kanban-centered .kanban-entry .kanban-entry-inner .kanban-label { position: relative; background: #f5f5f6; padding: 0.75em; /*margin-left: 50px;*/ -webkit-background-clip: padding-box; -moz-background-clip: padding; background-clip: padding-box; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; } /*.kanban-centered .kanban-entry .kanban-entry-inner .kanban-label:after { content: ''; display: block; position: absolute; width: 0; height: 0; border-style: solid; border-width: 9px 9px 9px 0; border-color: transparent #f5f5f6 transparent transparent; left: 0; top: 10px; margin-left: -9px; }*/ .kanban-centered .kanban-entry .kanban-entry-inner .kanban-label h2, .kanban-centered .kanban-entry .kanban-entry-inner .kanban-label p { color: #737881; font-family: "Noto Sans",sans-serif; font-size: 12px; margin: 0; line-height: 1.428571429; } .kanban-centered .kanban-entry .kanban-entry-inner .kanban-label p + p { margin-top: 15px; } .kanban-centered .kanban-entry .kanban-entry-inner .kanban-label h2 { font-size: 16px; margin-bottom: 10px; } .kanban-centered .kanban-entry .kanban-entry-inner .kanban-label h2 a { color: #303641; } .kanban-centered .kanban-entry .kanban-entry-inner .kanban-label h2 span { -webkit-opacity: .6; -moz-opacity: .6; opacity: .6; -ms-filter: alpha(opacity=60); filter: alpha(opacity=60); } .modal-static { position: fixed; top: 50% !important; left: 50% !important; margin-top: -100px; margin-left: -100px; overflow: visible !important; } .modal-static, .modal-static .modal-dialog, .modal-static .modal-content { width: 200px; height: 150px; } .modal-static .modal-dialog, .modal-static .modal-content { padding: 0 !important; margin: 0 !important; } .kanban-col { width: 300px; margin-right: 20px; float: left; } .panel-body { padding: 15px 0 0 0; overflow-y: auto; } /*.panel-heading { cursor: -moz-grab; cursor: -webkit-grab; cursor: grab; }*/ .grab { cursor: -moz-grab; cursor: -webkit-grab; } .grabbing { cursor: -moz-grabbing; cursor: -webkit-grabbing; } .panel-heading { cursor: context-menu; } .panel-heading i { cursor: pointer; } body { -webkit-user-select: none; /* Chrome/Safari */ -moz-user-select: none; /* Firefox */ -ms-user-select: none; /* IE10+ */ /* Rules below not implemented in browsers yet */ -o-user-select: none; user-select: none; }
$(function () { var kanbanCol = $('.panel-body'); kanbanCol.css('max-height', (window.innerHeight - 150) + 'px'); var kanbanColCount = parseInt(kanbanCol.length); $('.container-fluid').css('min-width', (kanbanColCount * 350) + 'px'); draggableInit(); $('.panel-heading').click(function() { var $panelBody = $(this).parent().children('.panel-body'); $panelBody.slideToggle(); }); }); function draggableInit() { var sourceId; $('[draggable=true]').bind('dragstart', function (event) { sourceId = $(this).parent().attr('id'); event.originalEvent.dataTransfer.setData("text/plain", event.target.getAttribute('id')); }); $('.panel-body').bind('dragover', function (event) { event.preventDefault(); }); $('.panel-body').bind('drop', function (event) { var children = $(this).children(); var targetId = children.attr('id'); if (sourceId != targetId) { var elementId = event.originalEvent.dataTransfer.getData("text/plain"); // $('#processing-modal').modal('toggle'); //before post // Post data // setTimeout(function () { var element = document.getElementById(elementId); children.prepend(element); // $('#processing-modal').modal('toggle'); // after post // }, 1000); } event.preventDefault(); }); }

Related: See More


Questions / Comments: