Skip to content

shagstrom/angular-split-pane

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 

angular-split-pane

An AngularJS Split Pane directive

Demo

The directive should work in IE8 and above as well as in Chrome, Safari and Firefox.

You can add angular-split-pane.js by to you project by installing with bower

bower install angular-split-pane

or with npm

npm install @shagstrom/angular-split-pane

You can get and set component sizes in the object specified by attribute "split-pane-properties".

Below is a basic example on how to use the directive:

Basic Demo

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<title>Fixed left</title>
		<link rel="stylesheet" href="../bower_components/split-pane/split-pane.css" />
		<script src="../bower_components/jquery/dist/jquery.min.js"></script>
		<script src="../bower_components/angular/angular.js"></script>
		<script src="../bower_components/split-pane/split-pane.js"></script>
		<script src="../bower_components/angular-split-pane/angular-split-pane.js"></script>
		<style type="text/css">
			html, body { height: 100%; min-height: 100%; margin: 0; padding: 0; }
			/* The styling bolow is very simple. You can style things your own way. */
			body { box-sizing: border-box; background: #aaa; padding: 5px; }
			.split-pane-divider { background: #aaa; }
			.split-pane-component { background: #fff; }
		</style>
	</head>
	<body data-ng-app="example">
		<div data-split-pane>
			<div data-split-pane-component data-width="20em">left</div>
			<div data-split-pane-divider data-width="5px"></div>
			<div data-split-pane-component>right</div>
		</div>
		<script>
			angular.module('example', ['shagstrom.angular-split-pane']);
		</script>
	</body>
</html>

Here is an example where we are getting and setting component sizes:

Set component size Demo

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
		<title>Fixed left</title>
		<link rel="stylesheet" href="../bower_components/split-pane/split-pane.css" />
		<script src="../bower_components/jquery/dist/jquery.min.js"></script>
		<script src="../bower_components/angular/angular.js"></script>
		<script src="../bower_components/split-pane/split-pane.js"></script>
		<script src="../angular-split-pane.js"></script>
		<style type="text/css">
			html, body { height: 100%; min-height: 100%; margin: 0; padding: 0; }
			/* The styling bolow is very simple. You can style things your own way. */
			body { box-sizing: border-box; background: #aaa; padding: 5px; }
			.split-pane-divider { background: #aaa; }
			.split-pane-component { background: #fff; }
		</style>
	</head>
	<body data-ng-app="example" ng-controller="MainCtrl">
		<div data-split-pane data-split-pane-properties="splitPaneProperties">
			<div data-split-pane-component data-width="20em">
				<p>Left</p>
				<p>
					<button data-ng-click="setLastComponent(0)">Collapse right component</button>
				</p>
				<p>Left component size {{splitPaneProperties.firstComponentSize}}px</p>
				<p>Right component size {{splitPaneProperties.lastComponentSize}}px</p>
			</div>
			<div data-split-pane-divider data-width="5px"></div>
			<div data-split-pane-component>
				<p>Right</p>
				<p>
					<button data-ng-click="setFirstComponent(0)">Collapse left component</button>
				</p>
				<p>Left component size {{splitPaneProperties.firstComponentSize}}px</p>
				<p>Right component size {{splitPaneProperties.lastComponentSize}}px</p>
			</div>
		</div>
		<script>
			angular.module('example', ['shagstrom.angular-split-pane'])
			.controller('MainCtrl', function ($scope) {
				$scope.splitPaneProperties = {};
				$scope.setFirstComponent = function (value) {
					$scope.splitPaneProperties.firstComponentSize = value;
				};
				$scope.setLastComponent = function (value) {
					$scope.splitPaneProperties.lastComponentSize = value;
				};
			});
		</script>
	</body>
</html>

About

An AngularJS Split Pane directive

Resources

License

Stars

Watchers

Forks

Packages

No packages published