angular-gantt
Version:
Gantt chart component for AngularJS
269 lines (199 loc) • 9.58 kB
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.0">
<link rel="canonical" href="https://www.angular-gantt.com/configuration/write_plugin/">
<link rel="shortcut icon" href="../../img/favicon.ico">
<title>Write a Plugin - angular-gantt</title>
<link href="../../css/bootstrap-custom.min.css" rel="stylesheet">
<link href="../../css/font-awesome-4.0.3.css" rel="stylesheet">
<link href="../../css/prettify-1.0.css" rel="stylesheet">
<link href="../../css/base.css" rel="stylesheet">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[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.3.0/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<!-- Collapsed navigation -->
<div class="navbar-header">
<!-- Expander button -->
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<!-- Main title -->
<a class="navbar-brand" href="../..">angular-gantt</a>
</div>
<!-- Expanded navigation -->
<div class="navbar-collapse collapse">
<!-- Main navigation -->
<ul class="nav navbar-nav">
<li >
<a href="../../get-started">Get Started</a>
</li>
<li class="dropdown active">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Configuration <b class="caret"></b></a>
<ul class="dropdown-menu">
<li >
<a href="../data">Data</a>
</li>
<li >
<a href="../timespans">Timespans</a>
</li>
<li >
<a href="../attributes">Attributes</a>
</li>
<li >
<a href="../plugins">Plugins</a>
</li>
<li >
<a href="../customize">Customize</a>
</li>
<li >
<a href="../api">API</a>
</li>
<li class="active">
<a href=".">Write a Plugin</a>
</li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Plugins <b class="caret"></b></a>
<ul class="dropdown-menu">
<li >
<a href="../../plugins/labels">Labels</a>
</li>
<li >
<a href="../../plugins/table">Table</a>
</li>
<li >
<a href="../../plugins/tree">Tree</a>
</li>
<li >
<a href="../../plugins/corner">Corner</a>
</li>
<li >
<a href="../../plugins/groups">Groups</a>
</li>
<li >
<a href="../../plugins/dependencies">Dependencies</a>
</li>
<li >
<a href="../../plugins/sortable">Sortable</a>
</li>
<li >
<a href="../../plugins/movable">Movable</a>
</li>
<li >
<a href="../../plugins/drawtask">Draw Task</a>
</li>
<li >
<a href="../../plugins/tooltips">Tooltips</a>
</li>
<li >
<a href="../../plugins/bounds">Bounds</a>
</li>
<li >
<a href="../../plugins/sections">Sections</a>
</li>
<li >
<a href="../../plugins/progress">Progress</a>
</li>
<li >
<a href="../../plugins/overlap">Overlap</a>
</li>
<li >
<a href="../../plugins/resizeSensor">Resize Sensor</a>
</li>
</ul>
</li>
<li >
<a href="../../sources">Sources</a>
</li>
<li >
<a href="../../contribute">Contribute</a>
</li>
<li >
<a href="../../faq">FAQ</a>
</li>
<li >
<a href="../../about">About</a>
</li>
</ul>
<!-- Search, Navigation and Repo links -->
<ul class="nav navbar-nav navbar-right">
<li >
<a rel="next" href="../api">
<i class="fa fa-arrow-left"></i> Previous
</a>
</li>
<li >
<a rel="prev" href="../../plugins/labels">
Next <i class="fa fa-arrow-right"></i>
</a>
</li>
<li>
<a href="https://github.com/angular-gantt/angular-gantt">
<i class="fa fa-github"></i>
GitHub
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="container">
<div class="col-md-3"><div class="bs-sidebar hidden-print affix well" role="complementary">
<ul class="nav bs-sidenav">
<li class="main active"><a href="#write-a-plugin">Write a Plugin</a></li>
</ul>
</div></div>
<div class="col-md-9" role="main">
<h1 id="write-a-plugin">Write a Plugin</h1>
<p>A <a href="../plugins">plugin</a> is a child directive of main <code>gantt</code> directive
<a href="https://docs.angularjs.org/api/ng/directive/ngTransclude">transcluded</a> in <a href="../customize#default-template">Template</a>.</p>
<ol>
<li>
<p>Copy skeleton file from <code>docs/skeletons/plugin.js</code> to <code>src/plugins</code></p>
</li>
<li>
<p>Rename the skeleton copy using the plugin name (dash-delimited notation, <code>plugin-name.js</code>)</p>
</li>
<li>
<p>Open the plugin file with your favorite editor.</p>
</li>
<li>
<p>Replace <code>xxxxxx</code> with the name of the plugin (camelCase notation, <code>pluginName</code>). Take special care
to directive name, that must be camelCase to (<code>ganttPluginName</code>). There are 5 matches.</p>
</li>
<li>
<p>Register plugin in <code>Gruntfile.js</code> by adding its dash-delimited name to <code>plugins</code> variable.</p>
</li>
<li>
<p>Add options as binded attributes in the directive <code>scope</code>.</p>
</li>
<li>
<p>Implement plugin feature using a <a href="../customize#template-hooks">Template Hook</a>.</p>
</li>
<li>
<p>You can add additional files in a subfolder named as your filename (without <code>.js</code>).
This folder can contains templates (<code>*.html</code>), CSS (<code>*.css</code>) and other JavaScript (<code>*.js</code>). Those files will be included in the build.</p>
</li>
</ol>
</div>
</div>
<script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="../../js/bootstrap-3.0.3.min.js"></script>
<script src="../../js/prettify-1.0.min.js"></script>
<script src="../../js/base.js"></script>
<script src="../../skeletons/plugin.js"></script>
</body>
</html>