.min-h-200px draggable-zone
and define draggable elements with .draggable
and let drag & drop through .draggable-handle
element.
var containers = document.querySelectorAll(".min-h-200px draggable-zone");
if (containers.length === 0) {
return false;
}
var swappable = new Sortable.default(containers, {
draggable: ".draggable",
handle: ".draggable .draggable-handle",
mirror: {
//appendTo: selector,
appendTo: "body",
constrainDimensions: true
}
});
<!--begin::Card-->
<div class="card card-bordered mb-10">
<!--begin::Card header-->
<div class="card-header">
<div class="card-title">
<h3 class="card-label">Container A</h3>
</div>
</div>
<!--end::Card header-->
<!--begin::Card body-->
<div class="card-body">
<!--begin::Row-->
<div class="row row-cols-lg-3 g-10 min-h-200px draggable-zone">
<!--begin::Col-->
<div class="col draggable">
<!--begin::Card-->
<div class="card bg-light-primary">
...
</div>
<!--end::Card-->
</div>
<!--begin::Col-->
<!--end::Col-->
<div class="col draggable">
<!--begin::Card-->
<div class="card bg-light-primary">
...
</div>
<!--end::Card-->
</div>
<!--begin::Col-->
<!--end::Col-->
<div class="col draggable">
<!--begin::Card-->
<div class="card bg-light-primary">
...
</div>
<!--end::Card-->
</div>
<!--end::Col-->
</div>
<!--end::Row-->
</div>
<!--end::Card body-->
</div>
<!--end::Card-->
<!--begin::Row-->
<div class="row row-cols-lg-2 g-10">
<!--begin::Col-->
<div class="col">
<!--begin::Card-->
<div class="card card-bordered">
<!--begin::Card header-->
<div class="card-header">
<div class="card-title">
<h3 class="card-label">Container B</h3>
</div>
</div>
<!--end::Card header-->
<!--begin::Card body-->
<div class="card-body">
<!--begin::Row-->
<div class="row row-cols-1 g-10 min-h-200px draggable-zone">
<!--begin::Col-->
<div class="col draggable">
<!--begin::Card-->
<div class="card bg-light-success">
...
</div>
<!--end::Card-->
</div>
<!--end::Col-->
<!--begin::Col-->
<div class="col draggable">
<!--begin::Card-->
<div class="card bg-light-success">
...
</div>
<!--end::Card-->
</div>
<!--end::Col-->
<!--begin::Col-->
<div class="col draggable">
<!--begin::Card-->
<div class="card bg-light-success">
...
</div>
<!--end::Card-->
</div>
<!--end::Col-->
</div>
<!--end::Row-->
</div>
<!--end::Card body-->
</div>
<!--end::Card-->
</div>
<!--end::Col-->
<!--begin::Col-->
<div class="col">
<!--begin::Card-->
<div class="card card-bordered">
<!--begin::Card header-->
<div class="card-header">
<div class="card-title">
<h3 class="card-label">Container C</h3>
</div>
</div>
<!--end::Card header-->
<!--begin::Card body-->
<div class="card-body">
<!--begin::Row-->
<div class="row row-cols-1 g-10 min-h-200px draggable-zone">
<!--begin::Col-->
<div class="col draggable">
<!--begin::Card-->
<div class="card bg-light-danger">
...
</div>
<!--end::Card-->
</div>
<!--end::Col-->
<!--begin::Col-->
<div class="col draggable">
<!--begin::Card-->
<div class="card bg-light-danger">
...
</div>
<!--end::Card-->
</div>
<!--end::Col-->
</div>
<!--end::Row-->
</div>
<!--end::Card body-->
</div>
<!--end::Card-->
</div>
<!--end::Col-->
</div>
<!--end::Row-->
Pro Version Benefits | Free | Pro |
---|---|---|
UI Elements | 20 | 100 |
In-house Components | 20 | 40 |
Crafted Pages | 5 | 20 |
Complete Documentation | ||
Product Support | ||
Layout Builder | ||
Source Vectors | ||
Email Templates | ||
Calendar App | ||
User Management App | ||
Chat App | ||
Customers App |