User-interface for fschopp/project-planning-for-you-track. Allows easy embedding of arbitrary widgets (for instance, a Gantt chart) in order to visualize project schedules created from YouTrack saved searches.
Status
Overview
- See the demo for experimenting with the user interface.
- Based on the S.js reactive programming library and the Surplus compiler and runtime for web views using JSX.
- Written in TypeScript, but easily usable from JavaScript.
- Partial API documentation available. Generated by TypeDoc.
- Test coverage (for this user-interface library) is currently limited. However, the underlying algorithm packages fschopp/project-planning-js and fschopp/project-planning-for-you-track have complete test coverage.
License
Releases and Usage
Published releases include TypeScript type declarations and are available as either UMD or ECMAScript 2015 (aka ES6) modules.
Node.js
Install with npm install @fschopp/project-planning-ui-for-you-track
or yarn add @fschopp/project-planning-ui-for-you-track
. See the demo directory for a usage example. Note that in a new project, '../main'
in the import statements would have to be replaced by '@fschopp/project-planning-ui-for-you-track'
.
Browser
Include the minified sources from the jsDelivr CDN:
<script src="https://cdn.jsdelivr.net/npm/@fschopp/project-planning-ui-for-you-track@.../dist/index.min.js"
integrity="..." crossorigin="anonymous"></script>
Of course, the two occurrences of ...
need to be replaced by the current version and its corresponding subresource integrity (SRI) hash.
Note that you also need to add <script>
elements for all (transitive) dependencies. See package.json for the dependency versions. You may also want to check the Rollup configuration file which lists the global symbols this package expects. Currently, the only indirect (that is, purely transitive) dependency is fschopp/project-planning-js.
Build
- See the corresponding section in project fschopp/project-planning-js. The description there applies for this project as well.
- This project requires additional machinery to compile TypeScript .tsx files into plain JavaScript. The compilation happens in two steps: First, the TypeScript compiler produces a .jsx file. Afterwards, the Surplus compiler takes this to produce a plain .js file. Unfortunately, this build chain is not well supported by existing tools (see Surplus issue #87 for background). This project therefore has its own Surplus compilation script. This script also creates proper source maps.
- Parcel is given only pure JavaScript assets, which also means that compilation of the demo has to be manually triggered even when
parcel serve
is currently running. - For the distribution, rollup-plugin-postcss is used to combine the different css assets into one.