- Framework7 - Layouts
- Framework7 - Navbars
- Framework7 - Toolbars
- Framework7 - Search Bar
- Framework7 - Status Bar
- Framework7 - Side Panels
- Framework7 - Content Block
- Framework7 - Layout Grid
- Framework7 - Overlays
- Framework7 - Preloaders
- Framework7 - Progress Bar
- Framework7 - List Views
- Framework7 - Accordion
- Framework7 - Cards
- Framework7 - Chips
- Framework7 - Buttons
- Framework7 - Action Button
- Framework7 - Forms
- Framework7 - Tabs
- Framework7 - Swiper Slider
- Framework7 - Photo Browser
- Framework7 - Autocomplete
- Framework7 - Picker
- Framework7 - Calendar
- Framework7 - Refresh
- Framework7 - Infinite Scroll
- Framework7 - Messages
- Framework7 - Message Bar
- Framework7 - Notifications
- Framework7 - Lazy Load
- Framework7 Styling
- Framework7 - Color Themes
- Framework7 - Hairlines
- Framework7 Templates
- Framework7 - Templates Overview
- Framework7 - Auto Compilation
- Framework7 - Template7 Pages
- Framework7 Fast Clicks
- Framework7 - Active State
- Framework7 - Tap Hold Event
- Framework7 - Touch Ripple
- Framework7 Useful Resources
- Framework7 - Quick Guide
- Framework7 - Useful Resources
- Framework7 - Discussion
Framework7 - Overlay Sortable List from HTML
Description
You can enable and disable sortable by using the classes and data attributes as shown below −
| S.No | Type & Description |
|---|---|
| 1 |
open-sortable It is required to enable sortable mode to any HTML element. |
| 2 |
close-sortable It is required to disable sortable mode. |
| 3 |
toggle-sortable It is required to toggle sortable mode. |
| 4 |
data-sortable=".sortable" Whenever your app has more than one sortable list in app, you need to specify appropriate sortable list by using this attribute as additional attibute on HTML element. |
Example
The following example specifies enabling, disabling and toggling of the sorting of the HTML element on links in Framework7 −
<!DOCTYPE html>
<html>
<head>
<meta name = "viewport" content = "width = device-width, initial-scale = 1,
maximum-scale = 1, minimum-scale = 1, user-scalable = no, minimal-ui" />
<meta name = "apple-mobile-web-app-capable" content = "yes" />
<meta name = "apple-mobile-web-app-status-bar-style" content = "black" />
<title>Sortable from HTML</title>
<link rel = "stylesheet"
href = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/css/framework7.ios.min.css" />
<link rel = "stylesheet"
href = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/css/framework7.ios.colors.min.css" />
</head>
<body>
<div class = "views">
<div class = "view view-main">
<div class = "navbar">
<div class = "navbar-inner">
<div class = "center sliding">Sortable from HTML</div>
</div>
</div>
<div class = "pages navbar-through">
<div data-page = "index" class = "page navbar-fixed">
<div class = "page-content">
<div class = "content-block">
<p><a href = "#" data-sortable = ".sortable" class = "open-sortable">Click here to enable sortable</a></p>
<p><a href = "#" data-sortable = ".sortable" class = "close-sortable">Click here to disable sortable</a></p>
<p><a href = "#" data-sortable = ".sortable" class = "toggle-sortable">Click here to toggle sortable</a></p>
</div>
<div class = "list-block sortable">
<ul>
<li>
<div class = "item-content">
<div class = "item-media"><i class = "icon icon-form-name"></i></div>
<div class = "item-inner">
<div class = "item-title">Sachin</div>
<div class = "item-after">India</div>
</div>
</div>
<div class = "sortable-handler"></div>
</li>
<li>
<div class = "item-content">
<div class = "item-media"><i class = "icon icon-form-name"></i></div>
<div class = "item-inner">
<div class = "item-title">Smith</div>
<div class = "item-after">Australia</div>
</div>
</div>
<div class = "sortable-handler"></div>
</li>
<li>
<div class = "item-content">
<div class = "item-media"><i class = "icon icon-form-name"></i></div>
<div class = "item-inner">
<div class = "item-title">Morgan</div>
<div class = "item-after">England</div>
</div>
</div>
<div class = "sortable-handler"></div>
</li>
<li>
<div class = "item-content">
<div class = "item-media"><i class = "icon icon-form-name"></i></div>
<div class = "item-inner">
<div class = "item-title">Dhoni</div>
<div class = "item-after">India</div>
</div>
</div>
<div class = "sortable-handler"></div>
</li>
<li>
<div class = "item-content">
<div class = "item-media"><i class = "icon icon-form-name"></i></div>
<div class = "item-inner">
<div class = "item-title">Gayle</div>
<div class = "item-after">West Indies</div>
</div>
</div>
<div class = "sortable-handler"></div>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<script type = "text/javascript"
src = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/js/framework7.min.js"></script>
<script>
// here initialize the app
var myApp = new Framework7();
// If your using custom DOM library, then save it to $$ variable
var $$ = Dom7;
// Add the view
var mainView = myApp.addView('.view-main', {
// enable the dynamic navbar for this view
dynamicNavbar: true
});
</script>
</body>
</html>
Output
Let us carry out the following steps to see how the above given code works −
Save the above given HTML code as enable_disable_sortable_from_html.html file in your server root folder.
Open this HTML file as http://localhost/enable_disable_sortable_from_html.html and the output is displayed as shown below.
The example specifies enabling, disabling and toggling of the sorting of the HTML element on links.