241 lines
10 KiB
HTML
241 lines
10 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
|
|
<meta charset="utf-8">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<meta name="description" content="gridstack.js is a jQuery plugin for widget layout">
|
|
<meta name="author" content="Pavel Reznikov">
|
|
|
|
<title>gridstack.js</title>
|
|
|
|
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
|
|
|
|
<!-- Custom CSS -->
|
|
<link href="freelancer/css/freelancer.css" rel="stylesheet">
|
|
|
|
<!-- Custom Fonts -->
|
|
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.2.0/css/font-awesome.min.css"/>
|
|
<link href="//fonts.googleapis.com/css?family=Montserrat:400,700" rel="stylesheet" type="text/css">
|
|
<link href="//fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic" rel="stylesheet" type="text/css">
|
|
<link href='//fonts.googleapis.com/css?family=Indie+Flower' rel='stylesheet' type='text/css'>
|
|
|
|
<link href='//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.3/styles/github.min.css' rel='stylesheet' type='text/css'>
|
|
|
|
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
|
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
|
|
<!--[if lt IE 9]>
|
|
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
|
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
|
|
<![endif]-->
|
|
|
|
<link href="gridstack.css" rel="stylesheet">
|
|
<link href="gridstack-demo.css" rel="stylesheet">
|
|
</head>
|
|
|
|
<body id="page-top" class="index">
|
|
|
|
<!-- Navigation -->
|
|
<nav class="navbar navbar-default navbar-fixed-top">
|
|
<div class="container">
|
|
<!-- Brand and toggle get grouped for better mobile display -->
|
|
<div class="navbar-header page-scroll">
|
|
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
|
|
<span class="sr-only">Toggle navigation</span>
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
</button>
|
|
<a class="navbar-brand" href="http://troolee.github.io/gridstack.js/"><span class="fa fa-th"></span> gridstack.js</a>
|
|
</div>
|
|
|
|
<!-- Collect the nav links, forms, and other content for toggling -->
|
|
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
|
|
<ul class="nav navbar-nav navbar-right">
|
|
<li class="hidden">
|
|
<a href="#page-top"></a>
|
|
</li>
|
|
<li class="page-scroll">
|
|
<a href="#demo">Demo</a>
|
|
</li>
|
|
<li class="page-scroll">
|
|
<a href="#usage">Usage</a>
|
|
</li>
|
|
<li>
|
|
<a href="https://github.com/troolee/gridstack.js/issues">Issues</a>
|
|
</li>
|
|
<li>
|
|
<a href="https://github.com/troolee/gridstack.js">Fork me on GitHub</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<!-- /.navbar-collapse -->
|
|
</div>
|
|
<!-- /.container-fluid -->
|
|
</nav>
|
|
|
|
|
|
<header>
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-lg-12">
|
|
<div class="intro-text">
|
|
<span class="name">gridstack.js</span>
|
|
<hr class="star-light">
|
|
<p>gridstack.js is a jQuery plugin for widget layout. This is drag-and-drop multi-column
|
|
grid. It allows you to build draggable responsive bootstrap v3 friendly layouts.
|
|
It also works great with <a href="http://knockoutjs.com">knockout.js</a></p>
|
|
|
|
<p>Inspired by <a href="http://gridster.net">gridster.js</a>. Built with love.</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</header>
|
|
|
|
<section id="demo" class="darklue">
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-lg-12 text-center">
|
|
<h2>Demo</h2>
|
|
<hr class="star-light">
|
|
</div>
|
|
</div>
|
|
|
|
<div class="grid-stack" data-gs-width="12">
|
|
<div class="grid-stack-item" data-gs-x="0" data-gs-y="0" data-gs-width="4" data-gs-height="2"><div class="grid-stack-item-content"></div></div>
|
|
<div class="grid-stack-item" data-gs-x="4" data-gs-y="0" data-gs-width="4" data-gs-height="4"><div class="grid-stack-item-content"></div></div>
|
|
<div class="grid-stack-item" data-gs-x="8" data-gs-y="0" data-gs-width="2" data-gs-height="2" data-gs-min-width="2" data-gs-no-resize="yes"><div class="grid-stack-item-content"> <span class="fa fa-hand-o-up"></span> Drag me! </div></div>
|
|
<div class="grid-stack-item" data-gs-x="10" data-gs-y="0" data-gs-width="2" data-gs-height="2"><div class="grid-stack-item-content"></div></div>
|
|
<div class="grid-stack-item" data-gs-x="0" data-gs-y="4" data-gs-width="2" data-gs-height="2"><div class="grid-stack-item-content"></div></div>
|
|
<div class="grid-stack-item" data-gs-x="2" data-gs-y="4" data-gs-width="2" data-gs-height="4"><div class="grid-stack-item-content"></div></div>
|
|
<div class="grid-stack-item" data-gs-x="8" data-gs-y="4" data-gs-width="4" data-gs-height="2"><div class="grid-stack-item-content"></div></div>
|
|
<div class="grid-stack-item" data-gs-x="0" data-gs-y="6" data-gs-width="2" data-gs-height="2"><div class="grid-stack-item-content"></div></div>
|
|
<div class="grid-stack-item" data-gs-x="4" data-gs-y="6" data-gs-width="4" data-gs-height="2"><div class="grid-stack-item-content"></div></div>
|
|
<div class="grid-stack-item" data-gs-x="8" data-gs-y="6" data-gs-width="2" data-gs-height="2"><div class="grid-stack-item-content"></div></div>
|
|
<div class="grid-stack-item" data-gs-x="10" data-gs-y="6" data-gs-width="2" data-gs-height="2"><div class="grid-stack-item-content"></div></div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- Portfolio Grid Section -->
|
|
<section id="usage">
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-lg-12 text-center">
|
|
<h2>Usage</h2>
|
|
<hr class="star-primary">
|
|
</div>
|
|
</div>
|
|
|
|
<p>Coming soon...</p>
|
|
|
|
<h3>Use with knockout.js</h3>
|
|
|
|
<pre><code class="javascript">
|
|
ko.components.register('dashboard-grid', {
|
|
viewModel: {
|
|
createViewModel: function (params, componentInfo) {
|
|
var ViewModel = function (params, componentInfo) {
|
|
var grid = null;
|
|
|
|
this.widgets = params.widgets;
|
|
|
|
this.afterAddWidget = function (items) {
|
|
_.each(items, function (item) {
|
|
item = $(item);
|
|
|
|
if (grid == null) {
|
|
grid = $(componentInfo.element).find('.grid-stack').gridstack({
|
|
auto: false
|
|
}).data('gridstack');
|
|
}
|
|
|
|
grid.add_widget(item);
|
|
ko.utils.domNodeDisposal.addDisposeCallback(item[0], function () {
|
|
grid.remove_widget(item);
|
|
});
|
|
}, this);
|
|
};
|
|
|
|
};
|
|
|
|
return new ViewModel(params, componentInfo);
|
|
}
|
|
},
|
|
template: [
|
|
'<div class="grid-stack">',
|
|
' <!-- ko foreach: widgets, afterRender: afterAddWidget -->',
|
|
' <div class="grid-stack-item" data-bind="attr: {',
|
|
' \'data-gs-x\': x,',
|
|
' \'data-gs-y\': y,',
|
|
' \'data-gs-width\': width,',
|
|
' \'data-gs-height\': height',
|
|
' }">',
|
|
' <span data-bind="text: $index"></span>',
|
|
' </div>',
|
|
' <!-- /ko -->',
|
|
'</div>'
|
|
].join('\n')
|
|
});
|
|
</code></pre>
|
|
|
|
<p>and HTML:</p>
|
|
|
|
<pre><code class="html">
|
|
<div data-bind="component: {name: 'dashboard-grid', params: $data}"></div>
|
|
</code></pre>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- Footer -->
|
|
<footer class="text-center">
|
|
<div class="footer-below">
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-lg-12">
|
|
Copyright © Pavel Reznikov 2014
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
|
|
<!-- Scroll to Top Button (Only visible on small and extra-small screen sizes) -->
|
|
<div class="scroll-top page-scroll visible-xs visble-sm">
|
|
<a class="btn btn-primary" href="#page-top">
|
|
<i class="fa fa-chevron-up"></i>
|
|
</a>
|
|
</div>
|
|
|
|
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
|
|
<script src="http://code.jquery.com/ui/1.11.2/jquery-ui.min.js"></script>
|
|
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
|
|
<script src="http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.7.0/underscore-min.js"></script>
|
|
|
|
<!-- Plugin JavaScript -->
|
|
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min.js"></script>
|
|
<script src="freelancer/js/classie.js"></script>
|
|
<script src="freelancer/js/cbpAnimatedHeader.js"></script>
|
|
|
|
<script src="http://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.3/highlight.min.js"></script>
|
|
|
|
<!-- Custom Theme JavaScript -->
|
|
<script src="freelancer/js/freelancer.js"></script>
|
|
|
|
<script src="gridstack.js"></script>
|
|
<script type="text/javascript">
|
|
hljs.initHighlightingOnLoad();
|
|
$(function () {
|
|
$('.grid-stack').gridstack({
|
|
width: 12
|
|
});
|
|
});
|
|
</script>
|
|
</body>
|
|
|
|
</html>
|
|
|
|
|