Plan view to display activities (#3413)

* (WIP) Adds Plan view and visualization of activities on different rows

* Updates to show activities in the right rows

* Improve algorithm to get activityRow for next activity

* When activities have names that are longer than their width, show the name outside the activity rectangle

* Remove Activity component as we don't need it right now

* Use canvas to draw activities instead of svg for performance

* Retain SVG version if needed

* Include text when calculating overlap

* Fix padding, text positioning

* Add colors for activities

* Fixed bug - Rectangle was shrinking as time passed
Draw using SVG

* Adds performance activities

* [WIP] Refactoring code to be more readable

* Fix issues with activity layout

* Adds draft for groups

* Adds x-offset for groups

* Draw a "now" marker for the canvas

* Fix formatting for the timeline

* Adds now line for the timeline

* Add ability to upload a plan json file.

* Add tests for the Plan view

* Fix issue with File Type checking
add resizing for timeline view plans

* Refactor code to be more readable

* Fix tests that are failing on circleCI

* Fix icon for timeline view
This commit is contained in:
Shefali Joshi
2020-10-02 11:13:04 -07:00
committed by GitHub
parent ee60013f45
commit baa8078d23
12 changed files with 908 additions and 5 deletions

View File

@@ -29,7 +29,6 @@ define(["zepto"], function ($) {
* @memberof platform/forms
*/
function FileInputService() {
}
/**
@@ -38,7 +37,7 @@ define(["zepto"], function ($) {
*
* @returns {Promise} promise for an object containing file meta-data
*/
FileInputService.prototype.getInput = function () {
FileInputService.prototype.getInput = function (fileType) {
var input = this.newInput();
var read = this.readFile;
var fileInfo = {};
@@ -51,6 +50,10 @@ define(["zepto"], function ($) {
file = this.files[0];
input.remove();
if (file) {
if (fileType && (!file.type || (file.type !== fileType))) {
reject("Incompatible file type");
}
read(file)
.then(function (contents) {
fileInfo.name = file.name;

View File

@@ -40,7 +40,7 @@ define(
}
function handleClick() {
fileInputService.getInput().then(function (result) {
fileInputService.getInput(scope.structure.type).then(function (result) {
setText(result.name);
scope.ngModel[scope.field] = result;
control.$setValidity("file-input", true);