Webix 8.2: Resources in Gantt, full-fledged math in Spreadsheet and more

Had hardly we said good-bye to snowflakes and garlands, the birdsongs herald the approach of spring. But warm news does not end here. A month ago we shared our roadmap for 2021 and today we are happy to deliver the first part of the updates – Webix 8.2. New version brings significant upgrades for Gantt, new math engine for Spreadsheet, updates for File Manager and Webix Core. So let’s dive in!

Webix 8.2

Resources in Gantt

Resources allocation

New functionality allows users to efficiently evaluate and allocate assets throughout projects. They can assign and unassign resources to tasks, define the value of assets required to successfully complete a task.

Webix Gantt Resources

Live demo >>

Resources View

A separate resource view helps to get the full picture of the assignments and unassigned tasks. When switched to the Resources View Gantt displays resources and their related tasks in the tree and chart. Unassigned tasks are grouped separately.

Webix Gantt Resources View

Live demo >>

Resources Diagram

There is also a special diagram that helps to keep track of workload and ensures that there are neither underloads nor overloads among resources.

Webix Gantt Diagram

Live demo >>

Critical Path

Critical path is the longest sequence of project activities that has zero slack. The new tool allows users to see the most important tasks in the project and adapt the workflow more efficiently to meet deadlines successfully.

Webix Gantt Critical Path

Live demo >>

Extra scheduling possibilities

Automatic conversion from tasks to projects

Gantt obtained an ability to automatically convert all tasks with subtasks into projects. In Gantt projects behave differently, e.g. you cannot regulate its duration and progress manually as they are calculated based on their tasks. So, if your project requires such a conversion you can enable it with a single line of code:

{
  view: "gantt",
  projects: true
}

Ability to exclude holidays from task duration

Duty comes before pleasure, however weekend breaks must always be. That is why we implemented an ability to exclude holidays from task duration. In this mode, tasks cannot fall on a holiday and will stretch up to the next working day in the chart. For example, if a task starts on Friday and requires 2 days to be completed, visually it stretches up to Monday keeping its duration of 2 days.

Live demo >>

Full-fledged multi-sheet math for Spreadsheet

Finally, we are proud to introduce full-fledged multi-sheet math in Spreadsheet. It ensures stable work of formulas across the whole app.

Global ranges

Also, the new engine made it possible to create named global ranges (just to make it clear, earlier users could create only local ranges). Global ranges can be accessed throughout Spreadsheet.

Webix Named Ranges

Ability to edit several text files simultaneously in File Manager

Less is more. However, it is not the case with File Manager because the widget can now open and edit multiple text files simultaneously. But an example is worth a thousand words so try it out below:

Live demo >>

The update is also valid for Document Manager.

Webix Core updates

Ability to tune Tabbar

Starting from version 8.2, developers can fine tune tabbar popup, the window itself and a list inside via the dedicated tabbarPopup property. You can even provide a custom CSS class to style the popup the way you like.

webix.ui({
  view:"tabbar",
  options: [/* options */],
  tabbarPopup:{
    width: 200,
    // custom styles for popup
    css: "myCSS",
  }
});

Ability to disable resizing of a particular Datatable columns

You can now prohibit resizing of particular columns even if resizeColumn is set to true. If you need to disable resizing of a column, do it with the column’s resize field.

webix.ui({
  view:"datatable",
  // enable resizing of all columns
  resizeColumn: true,
  columns:[
    // disable resizing of the rank column
    { id:"rank", resize:false, header:"", css:"rank", width:50},
    { id:"title", header:"Film title",  fillspace:true},
  ],
});

Live demo >>

Working with hidden columns

You can now work with hidden columns in Datatable. Via the dedicated getColumns method you can retrieve all the columns (incl. the hidden ones) and update the columns set by adding and removing them regardless of visibility.

Ability to clear control value

Users can now clear values of controls with input via the dedicated icon. The functionality is enabled by the clear property in several modes.

Try to clear value:

View code >>

Update of the onChange event

The onChange event handler now receives the 3rd argument – config – to indicate whether the change was made by user or API.

$$("slider").attachEvent("onChange", function(newVal, oldVal, config) {
    webix.message(`Value changed from ${oldVal} to ${newVal}. Source: ${config}`);
});

Ability to adjust Timeline items to their contents

Now you can adjust all or particular Timeline items to their contents. The functionality comes especially useful, when items contain different amount of data.

{
  view:"timeline",
  layout:"y",
  type:{  
    // all items will be adjusted to their contents
    height: "auto",
    // other properties
  }
}

Live demo >>

What’s next

For more information on Webix 8.2 features and updates, go to the What’s new page. To get the library itself, upgrade via npm, Client area or click the big purple button to download the library.

Download Webix 8.2

How do you find this update? Are there features you have been anticipating for? You do know what to do in the comments below 🙂