UNPKG

angular-gantt

Version:

Gantt chart component for AngularJS

269 lines (199 loc) 9.58 kB
<!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.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>