diff --git a/src/accordion/right-to-left.html b/src/accordion/right-to-left.html
index 69393ef7..d126ee5d 100644
--- a/src/accordion/right-to-left.html
+++ b/src/accordion/right-to-left.html
@@ -41,7 +41,7 @@
The RTL sample illustrates the direction of the Accordion from right to left.
- This sample shows an arc gauge with a real-time scenario of a customer satisfaction score ranging from 0 to 10.
-
-
-
-
- In this example, you can see how to render an arc gauge showing customer satisfaction score. You can use axes, ranges,
- annotations,
- legend and tooltip
- oriented properties to customize the appearance of the arc gauge, in order to achieve the desired outcome.
-
+ This sample shows an arc gauge with a real-time scenario of a customer satisfaction score ranging from 0 to 10.
+
+
+
+
+ In this example, you can see how to render an arc gauge showing customer satisfaction score. You can use axes, ranges,
+ annotations,
+ legend and tooltip
+ oriented properties to customize the appearance of the arc gauge, in order to achieve the desired outcome.
+
+
+
\ No newline at end of file
diff --git a/src/arc-gauge/default.html b/src/arc-gauge/default.html
index e0fc710a..38862958 100644
--- a/src/arc-gauge/default.html
+++ b/src/arc-gauge/default.html
@@ -1,56 +1,58 @@
-
-
-
-
-
- This sample shows the arc gauge's default rendering. It also shows the most popular social media platforms and
- the percentage of female users.
-
-
-
-
- In this example, you can see how to render a default arc gauge. The arc gauge helps in the visualization of
- numerical values of scales in a semi-circular manner. You can use axes, ranges and annotations oriented
- properties to customize the default appearance of the arc gauge.
-
- This sample shows an arc gauge with a key performance indicator (KPI), which is a measurable value that shows
- how an organization meets key business objectives.
-
-
-
-
- In this example, you can see how to render an arc gauge showing key performance indicator (KPI). You can use axes, ranges,
- pointers
- and annotations oriented
- properties to customize the appearance of the arc gauge, in order to achieve the desired outcome.
-
- This sample includes a wide range of arc gauges with varying appearances based on the built-in features and
- customization options.
-
-
-
-
- In this example, you can see how to render an arc gauge in various styles. You can use axes, ranges, pointers and annotations oriented
- properties to customize the appearance of the arc gauge, in order to achieve the desired outcome.
-
+ This sample includes a wide range of arc gauges with varying appearances based on the built-in features and
+ customization options.
+
+
+
+
+ In this example, you can see how to render an arc gauge in various styles. You can use axes, ranges, pointers and annotations oriented
+ properties to customize the appearance of the arc gauge, in order to achieve the desired outcome.
+
This example showcases the disabled items of AutoComplete. When you type on the AutoComplete the popup will open, and you will notice that the disabled items are greyed out and cannot be selected.
+
+
+
+
The AutoComplete provides options for individual items to be in either an enabled or disabled state for specific scenarios.
+ Once an item is disabled, it cannot be selected as a value for the component. To configure the disabled item columns, use the fields.disabled property.
+
+
+
+
\ No newline at end of file
diff --git a/src/auto-complete/disabled-items.ts b/src/auto-complete/disabled-items.ts
new file mode 100644
index 00000000..63deef5c
--- /dev/null
+++ b/src/auto-complete/disabled-items.ts
@@ -0,0 +1,34 @@
+import { loadCultureFiles } from '../common/culture-loader';
+import { AutoComplete } from '@syncfusion/ej2-dropdowns';
+import * as data from './dataSource.json';
+
+(window as any).default = (): void => {
+ loadCultureFiles();
+
+// initialize AutoComplete component
+let defaultObject: AutoComplete = new AutoComplete({
+ //set the data to dataSource property
+ dataSource: (data as any).status,
+ // set placeholder to AutoComplete input element
+ placeholder: "Select Status",
+ // map the appropriate columns to fields property
+ fields: { value: 'Status', disabled: 'State' },
+});
+
+// render initialized AutoComplete
+defaultObject.appendTo('#default');
+
+// initialize AutoComplete component
+let groupingObject: AutoComplete = new AutoComplete({
+ //set the data to dataSource property
+ dataSource: (data as any).groupingData,
+ // set placeholder to AutoComplete input element
+ placeholder: "Select Vegetable",
+ // map the appropriate columns to fields property
+ fields: { groupBy: 'Category', value: 'Vegetable', disabled: 'State' },
+});
+
+// render initialized AutoComplete
+groupingObject.appendTo('#grouping');
+
+};
\ No newline at end of file
diff --git a/src/auto-complete/grouping-icon.html b/src/auto-complete/grouping-icon.html
index 930fb95d..17cfbecd 100644
--- a/src/auto-complete/grouping-icon.html
+++ b/src/auto-complete/grouping-icon.html
@@ -1,14 +1,14 @@
diff --git a/src/auto-complete/sample.json b/src/auto-complete/sample.json
index 45b040ed..a9881161 100644
--- a/src/auto-complete/sample.json
+++ b/src/auto-complete/sample.json
@@ -8,7 +8,8 @@
{ "url": "default", "name": "Default Functionalities", "description": "This example demonstrates the default functionalities of the JavaScript autocomplete control with minimum configuration.", "category": "AutoComplete", "api": { "AutoComplete": ["dataSource", "value", "placeholder"] } },
{ "url": "grouping-icon", "name": "Grouping and Icons", "description": "This example demonstrates how to group based on the different categories with individual header and icon support using the JavaScript autocomplete control.", "category": "AutoComplete", "api": { "AutoComplete": ["fields", "placeholder"] } },
{ "url": "data-binding", "name": "Data Binding", "description": "This example demonstrates how to bind with local data source and fetch data from remote data service in the JavaScript autocomplete control.", "category": "AutoComplete", "api": { "AutoComplete": ["dataSource", "suggestionCount", "query", "sortOrder", "autofill", "filterType", "change"] } },
- { "url": "object-value-binding", "type": "new", "name": "Object Value Binding", "description": "This example demonstrates how to bind with data source in the JavaScript autocomplete control.", "category": "AutoComplete", "api": { "AutoComplete": ["dataSource", "fields", "query", "sortOrder", "autofill", "popupHeight", "placeholder", "allowObjectBinding"] } },
+ { "url": "object-value-binding", "name": "Object Value Binding", "description": "This example demonstrates how to bind with data source in the JavaScript autocomplete control.", "category": "AutoComplete", "api": { "AutoComplete": ["dataSource", "fields", "query", "sortOrder", "autofill", "popupHeight", "placeholder", "allowObjectBinding"] } },
+ { "url": "disabled-items", "name": "Disabled Items", "type": "new", "description": "This example demonstrates the disabled items in the JavaScript autocomplete control..", "category": "AutoComplete", "api": { "AutoComplete": ["dataSource", "placeholder", "fields"] } },
{ "url": "template", "name": "Template", "description": "This example demonstrates how to customize the appearance of each item in the JavaScript autocomplete control pop-up list using template.", "category": "AutoComplete", "api": { "AutoComplete": ["dataSource", "fields", "headerTemplate", "itemTemplate", "placeholder", "popupHeight"] } },
{ "url": "virtual-scroll", "name": "Virtualization", "description": "This example demonstrates how to use virtualization support of the JavaScript autocomplete control.", "category": "AutoComplete", "api": { "AutoComplete": ["dataSource", "fields", "enableVirtualization", "placeholder"] } },
{ "url": "highlight", "name": "Highlight", "description": "This example demonstrates how to highlight the searched characters in the suggested list items of the JavaScript autocomplete control.", "category": "AutoComplete", "api": { "AutoComplete": ["dataSource", "fields", "highlight", "placeholder"] } },
diff --git a/src/auto-complete/template.html b/src/auto-complete/template.html
index aebe0fb8..5a80007a 100644
--- a/src/auto-complete/template.html
+++ b/src/auto-complete/template.html
@@ -1,7 +1,7 @@
This sample demonstrates the properties available in the JavaScript Carousel component.
+
This sample demonstrates the properties available in the JavaScript Carousel component.
In this demo, you can manually change the properties of the JavaScript Carousel component like
diff --git a/src/carousel/data-binding.html b/src/carousel/data-binding.html
index da4739bb..65ea63b3 100644
--- a/src/carousel/data-binding.html
+++ b/src/carousel/data-binding.html
@@ -2,7 +2,7 @@
-
${Title}
+
${Title}
${Content}
@@ -68,7 +68,7 @@
${Title}
- This sample demonstrates the basic rendering of the JavaScript Carousel component by binding
+ This sample demonstrates the basic rendering of the JavaScript Carousel component by binding
dataSource property.
This sample demonstrates the types of indicators in the JavaScript Carousel component.
+
This sample demonstrates the types of indicators in the JavaScript Carousel component.
In this demo, the available types of indicators of JavaScript Carousel are showcased. They are default, dynamic, progress and fraction, and can be set using the indicatorsType property.
More information about accessbilities of JavaScript Carousel component can be found in this
-
+
documentation section.
\ No newline at end of file
diff --git a/src/carousel/partial-visible.html b/src/carousel/partial-visible.html
index d283bd16..a8ea6329 100644
--- a/src/carousel/partial-visible.html
+++ b/src/carousel/partial-visible.html
@@ -43,7 +43,7 @@
}
+ This sample illustrates a chart that allows end users to add new data and update the existing data source by clicking in the chart area. Additionally, clicking on an existing point will remove that data from the existing data source.
+
+
+
+
+ In this example, the X-Axis and Y-Axis data of the currently clicked location are retrieved from the chartMouseClick event arguments and converted into a new point. This point is then added to the existing data source using the addPoint method. If a point with the same coordinates already exists, it will be removed from the data source using the removePoint method.
+
+
Injecting Module
+
+ Chart component features are segregated into individual feature-wise modules. To use the line series, we need to inject the LineSeries module using Chart.Inject(LineSeries) method.
+
+
+ More information on the line series can be found in this
+ documentation section.
+
+
+
\ No newline at end of file
diff --git a/src/chart/click-add-point.ts b/src/chart/click-add-point.ts
new file mode 100644
index 00000000..845e3ae9
--- /dev/null
+++ b/src/chart/click-add-point.ts
@@ -0,0 +1,82 @@
+import { loadCultureFiles } from '../common/culture-loader';
+import { Chart, LineSeries, DataLabel, Tooltip, ILoadedEventArgs, ChartTheme, IMouseEventArgs, IAxisRangeCalculatedEventArgs, Series } from '@syncfusion/ej2-charts';
+Chart.Inject(LineSeries, DataLabel, Tooltip);
+import { Browser } from '@syncfusion/ej2-base';
+
+/**
+ * Sample for click to add a point.
+ */
+let chartData: Object[] = [
+ { x: 20, y: 20 }, { x: 80, y: 80 }
+];
+(window as any).default = (): void => {
+ loadCultureFiles();
+ let chart: Chart = new Chart({
+ //Initializing Primary X and Y Axis
+ primaryXAxis: {
+ edgeLabelPlacement: 'Shift',
+ rangePadding: 'Additional',
+ majorGridLines: { width: 0 }
+ },
+ chartArea: { border: { width: 0 } },
+ primaryYAxis:
+ {
+ title: 'Value', interval: 20, lineStyle: { width: 0 }, majorTickLines: { width: 0 }
+ },
+ //Initializing Chart Series
+ series: [
+ {
+ dataSource: chartData, xName: 'x', yName: 'y', type: 'Line', width: 3,
+ marker: { visible: true, isFilled: true, border: { width: 2, color: 'White' }, width: 13, height: 13 }
+ }
+ ],
+ width: Browser.isDevice ? '100%' : '70%',
+ title: 'User supplied data',
+ tooltip: { enable: true },
+ load: (args: ILoadedEventArgs) => {
+ let selectedTheme: string = location.hash.split('/')[1];
+ selectedTheme = selectedTheme ? selectedTheme : 'Material';
+ args.chart.theme = (selectedTheme.charAt(0).toUpperCase() +
+ selectedTheme.slice(1)).replace(/-dark/i, 'Dark').replace(/contrast/i, 'Contrast');
+ },
+ chartMouseClick: (args: IMouseEventArgs) => {
+ let isRemoved: boolean = false;
+ if (args.axisData) {
+ for (let i: number = 0; i < (chart.series[0] as Series).points.length; i++) {
+ let markerWidth: number = (chart.series[0] as Series).marker.width / 2;
+ let roundedX: number = Math.round(args.axisData['primaryXAxis']) + markerWidth;
+ let roundedY: number = Math.round(args.axisData['primaryYAxis']) + markerWidth;
+ let pointX: number = Math.round((chart.series[0] as Series).points[i].x as number) + markerWidth;
+ let pointY: number = Math.round((chart.series[0] as Series).points[i].y as number) + markerWidth;
+ if ((roundedX === pointX || roundedX + 1 === pointX || roundedX - 1 === pointX) &&
+ (roundedY === pointY || roundedY + 1 === pointY || roundedY - 1 === pointY)) {
+ if ((chart.series[0] as Series).points.length > 1) {
+ const points = (chart.series[0] as Series).points;
+ const duration: number = i === 0 || i === points[points.length - 1].index ? 500 : 0;
+ chart.series[0].removePoint(i, duration);
+ }
+ isRemoved = true;
+ }
+ }
+ if (!isRemoved) {
+ chart.series[0].addPoint({x: Math.round(args.axisData['primaryXAxis']), y: Math.round(args.axisData['primaryYAxis'])});
+ }
+ }
+ },
+ axisRangeCalculated: (args: IAxisRangeCalculatedEventArgs) => {
+ if (args.axis.name === 'primaryXAxis') {
+ if (args.interval < 10) {
+ args.maximum = args.maximum + 10;
+ args.minimum = args.minimum - 10;
+ args.interval = 10;
+ }
+ }
+ if (args.axis.name === 'primaryYAxis') {
+ if (args.maximum <= 60) {
+ args.interval = 10;
+ }
+ }
+ }
+ });
+ chart.appendTo('#AddPoint');
+};
diff --git a/src/chart/column-placement.html b/src/chart/column-placement.html
index 5d9bba5b..85c1d793 100644
--- a/src/chart/column-placement.html
+++ b/src/chart/column-placement.html
@@ -21,7 +21,7 @@
- In this example, you can see how to render and configure empty points for a chart. Users can customize the empty points using ChartEmptyPointSettings in series. Default empty point mode is Gap.
+ In this example, you can see how to render and configure empty points for a chart. Users can customize the empty points using ChartEmptyPointSettings in series. Default empty point mode is Gap.
Tooltip is enabled in this example, to see the tooltip in action, hover a point or tap on a point in touch enabled devices.
@@ -53,7 +53,7 @@
\ No newline at end of file
diff --git a/src/chart/live-stock-data.ts b/src/chart/live-stock-data.ts
new file mode 100644
index 00000000..a4a6509f
--- /dev/null
+++ b/src/chart/live-stock-data.ts
@@ -0,0 +1,174 @@
+import { loadCultureFiles } from '../common/culture-loader';
+import { Chart, ChartTheme, CandleSeries, DateTime, Crosshair, ChartAnnotation, ILoadedEventArgs, IAxisRangeCalculatedEventArgs, Series } from '@syncfusion/ej2-charts';
+Chart.Inject(CandleSeries, DateTime, Crosshair, ChartAnnotation);
+import { Browser } from '@syncfusion/ej2-base';
+
+/**
+ * Sample of candle updates for a few seconds.
+ */
+let value: number = 180;
+let intervalId: number;
+let getData = (): { series: Candlestick[] } => {
+ let series: Candlestick[] = [];
+ let point: Candlestick;
+ for (let i: number = 0; i < 30; i++) {
+ value = 180 + Math.round((Math.random() * 25) * Math.sin(i * Math.PI / 8));
+ value = Math.max(140, Math.min(260, value));
+ if (value > 260) {
+ value = 260;
+ }
+ if (value < 140) {
+ value = 140;
+ }
+ let open: number = value + Math.round(Math.random() * 18);
+ let low: number = Math.min(value, open) - Math.round(Math.random() * 6);
+ let high: number = Math.min(220, Math.max(value, open) + Math.round(Math.random() * 15));
+ point = {
+ x: new Date(2000, 5, 2, 2, 0, i),
+ close: value,
+ open: open,
+ low: low,
+ high: high
+ };
+ series.push(point);
+ }
+ return { series: series };
+};
+
+let data: Candlestick[] = getData().series;
+let incVal: number = 0;
+let updateVal: number = data.length;
+let pointAdded: boolean = false;
+
+(window as any).default = (): void => {
+ loadCultureFiles();
+ let chart: Chart = new Chart({
+ //Initializing Primary X and Y Axis
+ primaryXAxis: {
+ valueType: 'DateTime', interval: Browser.isDevice ? 8 : 4, crosshairTooltip: { enable: true }, edgeLabelPlacement: Browser.isDevice ? 'None' : 'Shift', majorGridLines: { width: 0 }, labelIntersectAction: 'Hide'
+ },
+ chartArea: { border: { width: 0 } },
+ primaryYAxis:
+ {
+ interval: 20, opposedPosition: true, minimum: 120, crosshairTooltip: { enable: true }, lineStyle: { width: 0 },
+ majorGridLines: { width: 1 }, majorTickLines: { width: 0 }
+ },
+ //Initializing Chart Series
+ series: [
+ {
+ type: 'Candle', bearFillColor: '#2ecd71', bullFillColor: '#e74c3d', columnWidth: 0.4,
+ dataSource: data, xName: 'x', low: 'low', high: 'high', open: 'open', close: 'close'
+ }
+ ],
+ width: Browser.isDevice ? '100%' : '90%',
+ title: 'AAPL Historical',
+ crosshair: { enable: true, dashArray: '5,5' },
+ pointRender: function (args) {
+ if (args.series.chart.enableRtl) {
+ args.series.chart.annotations[0].x = 0;
+ }
+ if (pointAdded && args.series.points[args.series.points.length - 1] === args.point) {
+ const firstPoint = args.series.chart.enableRtl ? args.series.points[args.series.points.length - 1].x : args.series.points[0].x;
+ args.series.chart.annotations[0].x = new Date(Number(firstPoint)).getTime() + (args.series.chart.enableRtl ? 2000 : 1000);
+ args.series.chart.annotations[0].y = args.point.close + 0.25;
+ args.series.chart.annotations[0].content = `
+
+
+
+ ${(args.point.close as number).toFixed(2)}
+
`;
+ }
+ },
+ annotations: [{
+ x: new Date(2000, 5, 2, 2, 0, 1),
+ region: "Series",
+ coordinateUnits: 'Point',
+ y: 140,
+ content: ``
+ }],
+ load: (args: ILoadedEventArgs) => {
+ let selectedTheme: string = location.hash.split('/')[1];
+ selectedTheme = selectedTheme ? selectedTheme : 'Material';
+ args.chart.theme = (selectedTheme.charAt(0).toUpperCase() +
+ selectedTheme.slice(1)).replace(/-dark/i, 'Dark').replace(/contrast/i, 'Contrast');
+ stockClearInterval();
+ intervalId = setInterval(function () {
+ let container = document.getElementById('stock');
+ if (container && container.id === args.chart.element.id) {
+ let newData1: Candlestick[] = [];
+ let value: number = 180;
+ pointAdded = true;
+ for (let i: number = 0; i < data.length; i++) {
+ newData1.push(Object.assign({}, data[i]));
+ }
+ if (newData1.length > 0) {
+ const lastIndex: number = newData1.length - 1;
+ const previousClose: number = newData1[lastIndex].close;
+ newData1[lastIndex].close += (Math.random() < 0.5 ? 1 : -1) * Math.random() * 25;
+ newData1[lastIndex].close = Math.min(Math.min(Math.max(newData1[lastIndex].close, newData1[lastIndex].low + 5), newData1[lastIndex].high - 5), newData1[lastIndex].open - 2);
+ if (previousClose === newData1[lastIndex].close) {
+ newData1[lastIndex].close -= 5;
+ }
+ }
+ if (incVal < 10) {
+ if (chart.series.length > 0) {
+ chart.series[0].setData(newData1);
+ incVal++;
+ }
+ }
+ else {
+ let change: number = Math.round((Math.random() < 0.49 ? 1 : -1) * Math.random() * 10);
+ value += change;
+ if (value > 260) {
+ value = 260;
+ }
+ if (value < 140) {
+ value = 140;
+ }
+ let open: number = value + Math.round(Math.random() * 12);
+ let low: number = Math.min(value, open) - Math.round(Math.random() * 8);
+ let high: number = Math.max(value, open) + Math.round(Math.random() * 15);
+ if (chart.series.length > 0) {
+ let lastDataPointIndex = data.length - 1;
+ if (lastDataPointIndex >= 0) {
+ let timestamp = chart.series[0].dataSource[lastDataPointIndex].x;
+ let lastTimestamp = new Date(timestamp).getTime();
+ chart.series[0].addPoint({ x: new Date(lastTimestamp + 1000), high: high, low: low, open: open, close: value });
+ }
+ }
+ incVal = 0;
+ updateVal++;
+ }
+ }
+ else {
+ stockClearInterval();
+ }
+ }, 1000);
+ },
+ axisRangeCalculated: (args: IAxisRangeCalculatedEventArgs) => {
+ if (args.axis.name === 'primaryXAxis') {
+ let lastPoint: Object = args.axis.series[0].points[args.axis.series[0].points.length - 1].x;
+ args.maximum = new Date(Number(lastPoint)).getTime() + 2500;
+ let firstPoint: Object = args.axis.series[0].points[0].x;
+ args.minimum = new Date(Number(firstPoint)).getTime() + 500;
+ }
+ }
+ });
+ chart.appendTo('#stock');
+ function stockClearInterval() {
+ if (intervalId) {
+ clearInterval(intervalId);
+ intervalId = null;
+ }
+ }
+};
+interface Candlestick {
+ open: number;
+ close: number;
+ high: number;
+ low: number;
+ x: Date;
+}
\ No newline at end of file
diff --git a/src/chart/local-data.html b/src/chart/local-data.html
index b240584b..b75c4374 100644
--- a/src/chart/local-data.html
+++ b/src/chart/local-data.html
@@ -7,11 +7,11 @@
-
The Charts control supports data binding. The DataSource property can be assigned either as list of objects or with instance of DataManager.
+
The Charts control supports data binding. The dataSource property can be assigned either as list of objects or with instance of DataManager.
In this demo, the list of objects is assigned as the data source to the Charts control. The chart can be bound to IEnumerable, IQueryable, and ObservableCollection data sources.
More information on the local data binding can be found in this
- documentation section.
+ This sample demonstrates how to add and remove data in a spline chart, allowing modification of the data at set intervals.
+
+
+
+
+ In this example, you can see how to render and configure a spline chart to display data that updates every second using the addPoint method, with old data being removed using the removePoint method. The X-axis represents the time at which the data is added, while the Y-axis displays the data values.
+
+
Injecting Module
+
+ Chart component features are segregated into individual feature-wise modules. To use the spline series, we need to inject the SplineSeries module using the Chart.Inject(SplineSeries) method.
+
+
+ More information on the spline series can be found in this
+ documentation section.
+
- In this example, you can see how to render and configure a vertical chart. Use the isTransposed property to render the chart vertically.
+ In this example, you can see how to render and configure a vertical chart. Use the isTransposed property to render the chart vertically.
- This sample shows the work progress using a circular gauge and a range bar pointer with rounded corners.
-
-
-
-
- In this example, you can see how to render the range and range bar pointer with rounded corners. A slider is
- placed at the bottom of the circular gauge using annotation to change the range bar pointer value. Based on the
- value, the color of the pointer can also be changed.
-
- This sample demonstrates a circular gauge with an axis and a background image set for the axis.
-
-
-
-
- In this example, you can see how to render and configure the axis in the circular gauge with a background image.
- To accomplish this, the annotations
- is used and an image is set as the background content.
-
+ This sample demonstrates a circular gauge with an axis and a background image set for the axis.
+
+
+
+
+ In this example, you can see how to render and configure the axis in the circular gauge with a background image.
+ To accomplish this, the annotations
+ is used and an image is set as the background content.
+
- This sample demonstrates how to create an analog clock that displays the time.
-
-
-
-
-
- In this example, a clock has been created by adding axis, minor ticks, major ticks, and needles in a circular
- gauge and customizing it accordingly. In addition, the clock ticks, displaying the time in a lively manner.
-
+ This sample demonstrates how to create an analog clock that displays the time.
+
+
+
+
+
+ In this example, a clock has been created by adding axis, minor ticks, major ticks, and needles in a circular
+ gauge and customizing it accordingly. In addition, the clock ticks, displaying the time in a lively manner.
+
- This example demonstrates how to introduce and position custom labels in a circular gauge. In addition,
- gradient colors are used on the circular gauge elements such as the pointer and range.
-
-
-
-
- In this example, you can see how to render and configure custom labels in the circular gauge. The label text
- can
- be modified using the axisLabelRender
- event which will be triggered everytime when a label is rendered.
-
+ This example demonstrates how to introduce and position custom labels in a circular gauge. In addition,
+ gradient colors are used on the circular gauge elements such as the pointer and range.
+
+
+
+
+ In this example, you can see how to render and configure custom labels in the circular gauge. The label text
+ can
+ be modified using the axisLabelRender
+ event which will be triggered everytime when a label is rendered.
+
- This sample shows live stock price data displayed in multiple circular gauges.
-
-
-
-
- The pointer value in the circular gauge can be dynamically updated using the setPointerValue
- method. In this example, the stock price changes across countries are displayed in multiple circular gauges.
-
+ This sample shows live stock price data displayed in multiple circular gauges.
+
+
+
+
+ The pointer value in the circular gauge can be dynamically updated using the setPointerValue
+ method. In this example, the stock price changes across countries are displayed in multiple circular gauges.
+
+
+
\ No newline at end of file
diff --git a/src/circular-gauge/default-functionalities.html b/src/circular-gauge/default-functionalities.html
index cc659bf0..006c68da 100644
--- a/src/circular-gauge/default-functionalities.html
+++ b/src/circular-gauge/default-functionalities.html
@@ -1,23 +1,25 @@
-
-
-
-
-
- This sample shows the circular gauge's basic rendering, which includes an axis and a pointer.
-
-
-
-
- In this example, an axis with a pointer is used, and you can use axes and pointers to get
- the circular gauge's basic appearance. The circular gauge component helps in the visualization of numerical
- scale values on a circular scale.
-
+ This sample shows the circular gauge's basic rendering, which includes an axis and a pointer.
+
+
+
+
+ In this example, an axis with a pointer is used, and you can use axes and pointers to get
+ the circular gauge's basic appearance. The circular gauge component helps in the visualization of numerical
+ scale values on a circular scale.
+
+
+
\ No newline at end of file
diff --git a/src/circular-gauge/direction-compass.html b/src/circular-gauge/direction-compass.html
index 902ea86d..39ed579d 100644
--- a/src/circular-gauge/direction-compass.html
+++ b/src/circular-gauge/direction-compass.html
@@ -1,23 +1,25 @@
-
-
-
-
-
-
- This sample demonstrates how to create a direction compass by modifying the circular gauge's functionalities
- to
- meet the needs of the user.
-
-
-
-
-
- In this example, a direction compass has been depicted by adding a couple of needle pointers in the circular
- gauge and customizing labels to show the direction.
-
+ This sample demonstrates how to create a direction compass by modifying the circular gauge's functionalities
+ to
+ meet the needs of the user.
+
+
+
+
+
+ In this example, a direction compass has been depicted by adding a couple of needle pointers in the circular
+ gauge and customizing labels to show the direction.
+
+
+
\ No newline at end of file
diff --git a/src/circular-gauge/image-pointer.html b/src/circular-gauge/image-pointer.html
index 9848cfe4..2344e943 100644
--- a/src/circular-gauge/image-pointer.html
+++ b/src/circular-gauge/image-pointer.html
@@ -1,34 +1,36 @@
-
-
-
-
-
- This sample visualizes the shot put distance covered by the athletes using the image pointer in the circular
- gauge.
-
-
-
-
- In this example, you can see how to use an image to customize the pointer in the circular gauge. The image can
- be added to the circular gauge's pointer primarily through the use of the type, markerShape
- and imageUrl
- properties in the pointers.
-
+ This sample visualizes the shot put distance covered by the athletes using the image pointer in the circular
+ gauge.
+
+
+
+
+ In this example, you can see how to use an image to customize the pointer in the circular gauge. The image can
+ be added to the circular gauge's pointer primarily through the use of the type, markerShape
+ and imageUrl
+ properties in the pointers.
+
- This sample directs the visualization of moving wind types based on their speed via the legend of the circular
- gauge component. The visibility, shape, alignment, and position of the legend can all be customized.
-
-
-
-
- The legend provides useful information for interpreting what the circular gauge's axis range displays,
- and it can be represented in a variety of colors, shapes, and other identifiers depending on the data.
- To do so, use the legendSettings
- and its properties.
-
+ This sample directs the visualization of moving wind types based on their speed via the legend of the circular
+ gauge component. The visibility, shape, alignment, and position of the legend can all be customized.
+
+
+
+
+ The legend provides useful information for interpreting what the circular gauge's axis range displays,
+ and it can be represented in a variety of colors, shapes, and other identifiers depending on the data.
+ To do so, use the legendSettings
+ and its properties.
+
+
+
\ No newline at end of file
diff --git a/src/circular-gauge/multiple-axes.html b/src/circular-gauge/multiple-axes.html
index 5f3cd49f..2a4242c2 100644
--- a/src/circular-gauge/multiple-axes.html
+++ b/src/circular-gauge/multiple-axes.html
@@ -1,99 +1,101 @@
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Axis
-
-
-
-
-
-
-
-
-
-
Direction
-
-
-
-
-
-
-
-
-
-
Start Angle
-
-
-
-
-
-
-
-
- 220
-
-
-
-
-
-
End Angle
-
-
-
-
-
-
-
-
- 140
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Axis
+
+
+
+
+
+
+
+
+
+
Direction
+
+
+
+
+
+
+
+
+
+
Start Angle
+
+
+
+
+
+
+
+
+ 220
+
+
+
+
+
+
End Angle
+
+
+
+
+
+
+
+
+ 140
+
+
+
+
+
+
+
-
-
-
-
- This sample illustrates the multiple axes in the circular gauge as well as the options for changing the
- direction, start, and end angle of an axis.
-
-
-
-
-
- In this example, you can see how to render and configure multiple axes in the circular gauge. To render multiple
- axes in the circular gauge, use the axes collection, and each axis can be customized with pointers and ticks.
-
+ This sample illustrates the multiple axes in the circular gauge as well as the options for changing the
+ direction, start, and end angle of an axis.
+
+
+
+
+
+ In this example, you can see how to render and configure multiple axes in the circular gauge. To render multiple
+ axes in the circular gauge, use the axes collection, and each axis can be customized with pointers and ticks.
+
+
+
\ No newline at end of file
diff --git a/src/circular-gauge/multiple-ranges.html b/src/circular-gauge/multiple-ranges.html
index ca0053c5..ee3bebcb 100644
--- a/src/circular-gauge/multiple-ranges.html
+++ b/src/circular-gauge/multiple-ranges.html
@@ -1,22 +1,24 @@
-
-
-
-
-
- This sample shows temperature variations in a circular gauge using multiple ranges. In addition, the needle
- pointer and annotation help in displaying the temperature that has been measured.
-
-
-
-
- In this example, you can see how to render and configure multiple ranges in the circular gauge. The ranges
- collection
- can be used to define multiple ranges, each of which points to a different start and end value.
-
+ This sample shows temperature variations in a circular gauge using multiple ranges. In addition, the needle
+ pointer and annotation help in displaying the temperature that has been measured.
+
+
+
+
+ In this example, you can see how to render and configure multiple ranges in the circular gauge. The ranges
+ collection
+ can be used to define multiple ranges, each of which points to a different start and end value.
+
- This sample illustrates dragging a pointer and a range in a circular gauge. End-user can drag the pointer and
- the range by enabling the pointer drag and range drag options.
-
-
-
-
- In this example, you can see how to move the pointer and range in the circular gauge via drag action. The enablePointerDrag
- property can be used to enable or disable the pointer drag functionality. Similarly, the enableRangeDrag
- property can be used to enable or disable the range drag functionality.
-
+ This sample illustrates dragging a pointer and a range in a circular gauge. End-user can drag the pointer and
+ the range by enabling the pointer drag and range drag options.
+
+
+
+
+ In this example, you can see how to move the pointer and range in the circular gauge via drag action. The enablePointerDrag
+ property can be used to enable or disable the pointer drag functionality. Similarly, the enableRangeDrag
+ property can be used to enable or disable the range drag functionality.
+
- This sample demonstrates the various pointer types available in the circular gauge.
-
-
-
-
- In this example, you can see how to customize the pointer for an axis in the circular gauge. The circular gauge
- supports a variety of pointers, including marker, needle, and range bar. Additionally, the pointer can be
- customized, and multiple pointers can also be enabled.
-
+ This sample demonstrates the various pointer types available in the circular gauge.
+
+
+
+
+ In this example, you can see how to customize the pointer for an axis in the circular gauge. The circular gauge
+ supports a variety of pointers, including marker, needle, and range bar. Additionally, the pointer can be
+ customized, and multiple pointers can also be enabled.
+
- This sample demonstrates the print and export functionalities of the circular gauge.
-
-
-
-
- In this example, you can see how to print and export the rendered circular gauge. You can add print
- functionality by using the print method when
- allowPrint is set as true. Also, you can add export functionality by using the export
- method when
- allowImageExport and allowPdfExport
- are set as true. The circular gauge can be exported to JPEG, PNG, SVG, and PDF formats.
-
+ This sample demonstrates the print and export functionalities of the circular gauge.
+
+
+
+
+ In this example, you can see how to print and export the rendered circular gauge. You can add print
+ functionality by using the print method when
+ allowPrint is set as true. Also, you can add export functionality by using the export
+ method when
+ allowImageExport and allowPdfExport
+ are set as true. The circular gauge can be exported to JPEG, PNG, SVG, and PDF formats.
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/circular-gauge/print-export.ts b/src/circular-gauge/print-export.ts
index 0508ceaa..45715774 100644
--- a/src/circular-gauge/print-export.ts
+++ b/src/circular-gauge/print-export.ts
@@ -87,8 +87,11 @@ loadCultureFiles();
});
exportGauge.appendTo('#export');
let fileText: TextBox = new TextBox({
+ value: 'Circular Gauge',
+ width: '100%'
});
fileText.appendTo('#fileName');
+
document.getElementById('export').onclick = () => {
let fileName: string = fileText.value;
circulargauge.export(mode.value, fileName);
diff --git a/src/circular-gauge/radial-slider.html b/src/circular-gauge/radial-slider.html
index ad520f5c..3c494b03 100644
--- a/src/circular-gauge/radial-slider.html
+++ b/src/circular-gauge/radial-slider.html
@@ -1,21 +1,23 @@
-
-
-
-
-
- This sample demonstrates how to create a range slider component by utilizing the functions available in the circular
- gauge.
-
-
-
-
- In this example, you can see how to render and configure a new range slider in the circular gauge. It is
- possible to achieve this by combining ranges and a marker pointer. The marker pointer has been made interactive,
- so the value changes as you drag it.
-
+ This sample demonstrates how to create a range slider component by utilizing the functions available in the circular
+ gauge.
+
+
+
+
+ In this example, you can see how to render and configure a new range slider in the circular gauge. It is
+ possible to achieve this by combining ranges and a marker pointer. The marker pointer has been made interactive,
+ so the value changes as you drag it.
+
+
+
\ No newline at end of file
diff --git a/src/circular-gauge/range-color-for-axis.html b/src/circular-gauge/range-color-for-axis.html
index f22849e0..d010baad 100644
--- a/src/circular-gauge/range-color-for-axis.html
+++ b/src/circular-gauge/range-color-for-axis.html
@@ -1,32 +1,34 @@
-
-
-
-
-
-
- This sample shows the basic rendering of the circular gauge, which includes an axis and a range. Here, the
- appropriate range color is applied to its respective axis labels, minor ticks, and major ticks.
-
-
-
-
- In this example, you can see how to render and configure the range and axis in the circular gauge with the
- same
- color. To accomplish this, set the useRangeColor
- property in labelStyle, majorTicks and minorTicks to
- true.
-
-
-
-
-
\ No newline at end of file
+
+
+
+
+
+
+
+ This sample shows the basic rendering of the circular gauge, which includes an axis and a range. Here, the
+ appropriate range color is applied to its respective axis labels, minor ticks, and major ticks.
+
+
+
+
+ In this example, you can see how to render and configure the range and axis in the circular gauge with the
+ same
+ color. To accomplish this, set the useRangeColor
+ property in labelStyle, majorTicks and minorTicks to
+ true.
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/circular-gauge/range-customization.html b/src/circular-gauge/range-customization.html
index 31812094..e43f4435 100644
--- a/src/circular-gauge/range-customization.html
+++ b/src/circular-gauge/range-customization.html
@@ -1,139 +1,141 @@
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Select Range
+
+
+
+
+
+
+
+
+
+
Range Start
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
Range End
+
+
+
+
+
+
+
+ 40
+
+
+
+
+
Start Width
+
+
+
+
+
+
+
+ 10
+
+
+
+
+
End Width
+
+
+
+
+
+
+
+ 10
+
+
+
+
+
Corner Radius
+
+
+
+
+
+
+
+ 0
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
Select Range
-
-
-
-
-
-
-
-
-
-
Range Start
-
-
-
-
-
-
-
- 0
-
-
-
-
-
-
Range End
-
-
-
-
-
-
-
- 40
-
-
-
-
-
Start Width
-
-
-
-
-
-
-
- 10
-
-
-
-
-
End Width
-
-
-
-
-
-
-
- 10
-
-
-
-
-
Corner Radius
-
-
-
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
- This sample demonstrates how to highlight a region in an axis using ranges in the circular gauge. The width,
- corner radius, and start and end range of a range can all be customized.
-
-
-
-
- In this example, you can see how to render and configure the ranges in the circular gauge. Ranges are used to
- group the axis values, and you can use start, end,
- color, startWidth,
- endWidth,
- radius and
- roundedCornerRadius
- properties to customize them. In addition, an axis with multiple ranges is shown in the circular gauge
- component, as well as options to customize the range properties via the property panel.
-
+ This sample demonstrates how to highlight a region in an axis using ranges in the circular gauge. The width,
+ corner radius, and start and end range of a range can all be customized.
+
+
+
+
+ In this example, you can see how to render and configure the ranges in the circular gauge. Ranges are used to
+ group the axis values, and you can use start, end,
+ color, startWidth,
+ endWidth,
+ radius and
+ roundedCornerRadius
+ properties to customize them. In addition, an axis with multiple ranges is shown in the circular gauge
+ component, as well as options to customize the range properties via the property panel.
+
- This sample shows how to create semi-circular or quarter-circular gauges by modifying a circular gauge with
- different start and end angles.
-
-
-
-
- In this example, a circular gauge is rendered with different start and end angles to create semi-circular or
- quarter-circular gauges. The radius, start angle, end angle, and center position of the circular gauge can all
- be customized using the options in the properties panel.
-
-
- More information on the semi-circular or quarter-circular gauges can be found in this documentation
- section.
-
-
\ No newline at end of file
+
+
+
+ This sample shows how to create semi-circular or quarter-circular gauges by modifying a circular gauge with
+ different start and end angles.
+
+
+
+
+ In this example, a circular gauge is rendered with different start and end angles to create semi-circular or
+ quarter-circular gauges. The radius, start angle, end angle, and center position of the circular gauge can all
+ be customized using the options in the properties panel.
+
+
+ More information on the semi-circular or quarter-circular gauges can be found in this documentation
+ section.
+
+
+
\ No newline at end of file
diff --git a/src/circular-gauge/sleep-tracker.html b/src/circular-gauge/sleep-tracker.html
index b88321f7..90d28b95 100644
--- a/src/circular-gauge/sleep-tracker.html
+++ b/src/circular-gauge/sleep-tracker.html
@@ -1,20 +1,22 @@
-
-
-
-
-
- This sample represents the number of hours slept by a person using a sleep tracker. The sleep tracker also
- displays the start and end time of each sleep cycle.
-
-
-
-
- In this example, you can see how to make the circular gauge look like a sleep tracker. Additionally, the date,
- start and end time, and duration of sleep are all displayed.
-
+ This sample represents the number of hours slept by a person using a sleep tracker. The sleep tracker also
+ displays the start and end time of each sleep cycle.
+
+
+
+
+ In this example, you can see how to make the circular gauge look like a sleep tracker. Additionally, the date,
+ start and end time, and duration of sleep are all displayed.
+
- This sample depicts the appearance of a speedometer rendered using the circular gauge. The pointer value is
- dynamically updated with random values in this case.
-
-
-
-
- In this example, you can see how to make a circular gauge look like a speedometer. Using the options in the
- properties panel, a gap can be added between ranges or ranges can be combined to form a single range.
-
+ This sample depicts the appearance of a speedometer rendered using the circular gauge. The pointer value is
+ dynamically updated with random values in this case.
+
+
+
+
+ In this example, you can see how to make a circular gauge look like a speedometer. Using the options in the
+ properties panel, a gap can be added between ranges or ranges can be combined to form a single range.
+
+
+
\ No newline at end of file
diff --git a/src/circular-gauge/text-pointer.html b/src/circular-gauge/text-pointer.html
index 6f8ae56b..99d6cfa9 100644
--- a/src/circular-gauge/text-pointer.html
+++ b/src/circular-gauge/text-pointer.html
@@ -1,26 +1,28 @@
-
-
-
-
-
- This sample visualizes the performance outcome of a work using the text pointer in the circular gauge.
-
-
-
-
- In this example, you can see how to use a text to customize the pointer in the circular gauge. The text can be
- added to the circular gauge's pointer primarily through the use of the type, markerShape
- and text
- properties in the pointers.
-
+ This sample visualizes the performance outcome of a work using the text pointer in the circular gauge.
+
+
+
+
+ In this example, you can see how to use a text to customize the pointer in the circular gauge. The text can be
+ added to the circular gauge's pointer primarily through the use of the type, markerShape
+ and text
+ properties in the pointers.
+
+
+
\ No newline at end of file
diff --git a/src/circular-gauge/ticks-and-labels.html b/src/circular-gauge/ticks-and-labels.html
index 4aa8c5da..b42764d6 100644
--- a/src/circular-gauge/ticks-and-labels.html
+++ b/src/circular-gauge/ticks-and-labels.html
@@ -1,133 +1,140 @@
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Ticks
+
+
+
+
+
+
+
+
+
+
Tick Position
+
+
+
+
+
+
+
+
+
+
Label Position
+
+
+
+
+
+
+
+
+
+
Tick Offset
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
Tick Height
+
+
+
+
+
+
+
+ 10
+
+
+
+
+
Label Offset
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
Show Last Label
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
Ticks
-
-
-
-
-
-
-
-
-
-
Tick Position
-
-
-
-
-
-
-
-
-
-
Label Position
-
-
-
-
-
-
-
-
-
-
Tick Offset
-
-
-
-
-
-
-
- 0
-
-
-
-
-
Tick Height
-
-
-
-
-
-
-
- 10
-
-
-
-
-
Label Offset
-
-
-
-
-
-
-
- 0
-
-
-
-
-
Show Last Label
-
-
-
-
-
-
-
-
-
-
-
-
-
- This sample demonstrates how to customize the ticks and labels on an axis. The position, offset, and height of
- the ticks and labels can be changed.
-
-
-
-
- In this example, you can see how to render and configure the ticks and labels of an axis in the circular gauge.
- Labels are units that are used to display the values on the axis. Labels can be customized using labelStyle. Ticks
- are used to represent values on the axis. Ticks can be customized using majorTicks and minorTicks.
-
+ This sample demonstrates how to customize the ticks and labels on an axis. The position, offset, and height of
+ the ticks and labels can be changed.
+
+
+
+
+ In this example, you can see how to render and configure the ticks and labels of an axis in the circular gauge.
+ Labels are units that are used to display the values on the axis. Labels can be customized using labelStyle. Ticks
+ are used to represent values on the axis. Ticks can be customized using majorTicks and minorTicks.
+
+
+
+
\ No newline at end of file
diff --git a/src/circular-gauge/tooltip.html b/src/circular-gauge/tooltip.html
index 2c5a8098..890e6e9f 100644
--- a/src/circular-gauge/tooltip.html
+++ b/src/circular-gauge/tooltip.html
@@ -1,22 +1,24 @@
-
-
-
-
-
- This sample helps in visualizing the tooltip of the pointer and the range in a circular gauge.
-
-
-
-
- In this example, you can see how to display the tooltip for the pointer and the range in a circular gauge. The
- tooltip settings is
- used to enable and customize the tooltip. To see the tooltip in action, hover your mouse over the pointer or the
- range, or tap them on touch-enabled devices.
-
+ This sample helps in visualizing the tooltip of the pointer and the range in a circular gauge.
+
+
+
+
+ In this example, you can see how to display the tooltip for the pointer and the range in a circular gauge. The
+ tooltip settings is
+ used to enable and customize the tooltip. To see the tooltip in action, hover your mouse over the pointer or the
+ range, or tap them on touch-enabled devices.
+
This example showcases the disabled items of ComboBox. When you type on the ComboBox the popup will open, and you will notice that the disabled items are greyed out and cannot be selected.
+
+
+
+
The ComboBox provides options for individual items to be in either an enabled or disabled state for specific scenarios. Once an item is disabled, it cannot be selected as a value for the component. To configure the disabled item columns, use the fields.disabled property.
+
+
+
+
\ No newline at end of file
diff --git a/src/combo-box/disabled-items.ts b/src/combo-box/disabled-items.ts
new file mode 100644
index 00000000..52a4ae5a
--- /dev/null
+++ b/src/combo-box/disabled-items.ts
@@ -0,0 +1,36 @@
+import { loadCultureFiles } from '../common/culture-loader';
+import { ComboBox } from '@syncfusion/ej2-dropdowns';
+import * as data from './dataSource.json';
+
+(window as any).default = (): void => {
+ loadCultureFiles();
+
+// initialize ComboBox component
+let defaultObject: ComboBox = new ComboBox({
+ //set the data to dataSource property
+ dataSource: (data as any).status,
+ // set placeholder to ComboBox input element
+ placeholder: "Select Staus",
+ // set true for enable the filtering support.
+ allowFiltering: true,
+ // map the appropriate columns to fields property
+ fields: { value: 'ID', text: 'Text', disabled: 'State' },
+});
+
+// render initialized ComboBox
+defaultObject.appendTo('#default');
+
+// initialize ComboBox component
+let groupingObject: ComboBox = new ComboBox({
+ //set the data to dataSource property
+ dataSource: (data as any).groupingData,
+ // set placeholder to ComboBox input element
+ placeholder: "Select Vegetable",
+ // map the appropriate columns to fields property
+ fields: { groupBy: 'Category', text: 'Vegetable', value: 'Id', disabled: 'State' },
+});
+
+// render initialized ComboBox
+groupingObject.appendTo('#grouping');
+
+};
\ No newline at end of file
diff --git a/src/combo-box/grouping-icon.html b/src/combo-box/grouping-icon.html
index 01667d38..d1735d10 100644
--- a/src/combo-box/grouping-icon.html
+++ b/src/combo-box/grouping-icon.html
@@ -1,14 +1,14 @@
diff --git a/src/combo-box/object-value-binding.ts b/src/combo-box/object-value-binding.ts
index e9e35bc5..aee56ebd 100644
--- a/src/combo-box/object-value-binding.ts
+++ b/src/combo-box/object-value-binding.ts
@@ -53,6 +53,6 @@ for (let i = 1; i <= 150; i++) {
function valueChange(): void {
let value: Element = document.getElementById('value');
// update the text and value property values in property panel based on selected item in ComboBox
- value.innerHTML = comboBoxObj.value === null ? 'null' : "Selected value : " + JSON.stringify(comboBoxObj.value);
+ value.innerHTML = "Selected value : " + JSON.stringify(comboBoxObj.value);
}
};
\ No newline at end of file
diff --git a/src/combo-box/sample.json b/src/combo-box/sample.json
index 0e2a3933..8793d9eb 100644
--- a/src/combo-box/sample.json
+++ b/src/combo-box/sample.json
@@ -8,7 +8,8 @@
{ "url": "default", "name": "Default Functionalities", "description": "This example demonstrates the default functionalities of the JavaScript combo box control with minimum configuration.", "category": "ComboBox", "api": { "ComboBox": ["popupHeight", "index", "change", "placeholder"] } },
{ "url": "grouping-icon", "name": "Grouping and Icons", "description": "This example demonstrates how to group based on the different categories with individual header and icon support using the JavaScript combo box control.", "category": "ComboBox", "api": { "ComboBox": ["dataSource", "fields", "placeholder", "popupHeight"] } },
{ "url": "data-binding", "name": "Data Binding", "description": "This example demonstrates how to bind with local data source and fetch data from remote data service in the JavaScript combo box control.", "category": "ComboBox", "api": { "ComboBox": ["dataSource", "fields", "query", "sortOrder", "autofill", "popupHeight", "placeholder"] } },
- { "url": "object-value-binding", "type": "new", "name": "Object Value Binding", "description": "This example demonstrates how to bind with data source in the JavaScript combo box control.", "category": "ComboBox", "api": { "ComboBox": ["dataSource", "fields", "query", "sortOrder", "autofill", "popupHeight", "placeholder", "allowObjectBinding"] } },
+ { "url": "object-value-binding", "name": "Object Value Binding", "description": "This example demonstrates how to bind with data source in the JavaScript combo box control.", "category": "ComboBox", "api": { "ComboBox": ["dataSource", "fields", "query", "sortOrder", "autofill", "popupHeight", "placeholder", "allowObjectBinding"] } },
+ { "url": "disabled-items", "name": "Disabled Items", "type": "new", "description": "This example demonstrates the disabled items in the JavaScript combo box control.", "category": "ComboBox", "api": { "ComboBox": ["dataSource", "placeholder", "fields", "allowFiltering"] } },
{ "url": "custom-value", "name": "Custom Value", "description": "This example demonstrates the addition of a new value that is not present in the predefined list of the JavaScript combo box control.", "category": "ComboBox", "api": { "ComboBox": ["dataSource", "fields", "placeholder", "popupHeight", "allowFiltering", "noRecordsTemplate", "filtering", "width"] } },
{ "url": "template", "name": "Template", "description": "This example demonstrates how to customize the appearance of each item in the JavaScript combo box control pop-up list using the template.", "category": "ComboBox", "api": { "ComboBox": ["dataSource", "fields", "headerTemplate", "itemTemplate", "placeholder", "popupHeight"] } },
{ "url": "virtual-scroll", "name": "Virtualization", "description": "This example demonstrates how to use virtualization support of the JavaScript comboBox control.", "category": "ComboBox", "api": { "ComboBox": ["dataSource", "fields", "enableVirtualization", "popupHeight", "placeholder"] } },
diff --git a/src/combo-box/template.html b/src/combo-box/template.html
index 67073e12..2f090ff7 100644
--- a/src/combo-box/template.html
+++ b/src/combo-box/template.html
@@ -1,7 +1,7 @@
${/if}',
- actionComplete: setSelectList
- },
- '#controlList');
- }
- function getTreeviewList(list: any[]): Controls[] | { [key: string]: Object }[] {
- let id: number;
- let pid: number;
- let tempList: any[] = [];
- let category: string = '';
- for (let i: number = 0; i < list.length; i++) {
- if (category !== list[i].category) {
- category = list[i].category;
- tempList = tempList.concat({ id: i + 1, name: list[i].category, hasChild: true, expanded: true });
- pid = i + 1;
- id = pid;
- }
- id += 1;
- tempList = tempList.concat(
- {
- id: id,
- pid: pid,
- name: list[i].name,
- type: list[i].type,
- url: {
- 'data-path': '/' + list[i].directory + '/' + list[i].samples[0].url + '.html',
- 'control-name': list[i].directory,
- }
- });
- controlSampleData[list[i].directory] = getSamples(list[i].samples);
- }
- return tempList;
- }
-
- function getSamples(samples: any): any {
- let tempSamples: any = [];
- for (let i: number = 0; i < samples.length; i++) {
- tempSamples[i] = samples[i];
- tempSamples[i].data = { 'sample-name': samples[i].url, 'data-path': '/' + samples[i].dir + '/' + samples[i].url + '.html' };
- }
- return tempSamples;
- }
- function controlSelect(arg: any): void {
- let path: string = (arg.node || arg.item).getAttribute('data-path');
- let curHashCollection: string = '/' + location.hash.split('/').slice(2).join('/');
- if (path) {
- controlListRefresh(arg.node || arg.item);
- if (path !== curHashCollection) {
- sampleOverlay();
- let theme: string = location.hash.split('/')[1] || 'material3';
- if (arg.item && ((isMobile && !select('#left-sidebar').classList.contains('sb-hide')) ||
- ((isTablet || (Browser.isDevice && isPc)) && isLeftPaneOpen()))) {
- toggleLeftPane();
- }
- window.hashString = '#/' + theme + path;
- setTimeout(() => {
- location.hash = '#/' + theme + path;
- }, 600);
- }
- }
- }
-
- function controlListRefresh(ele: Element): void {
- let samples: any = controlSampleData[ele.getAttribute('control-name')];
- if (samples) {
- let listView: ListView = (select('#controlList') as any).ej2_instances[0];
- listView.dataSource = samples;
- showHideControlTree();
- }
- }
-
- function showHideControlTree(): void {
- let controlTree: HTMLElement = select('#controlTree') as HTMLElement;
- let controlList: HTMLElement = select('#controlSamples') as HTMLElement;
- let reverse: boolean = (select('#controlTree') as HTMLElement).style.display === 'none';
- reverse ? viewSwitch(controlList, controlTree, reverse) : viewSwitch(controlTree, controlList, reverse);
- }
-
- function viewSwitch(from: HTMLElement, to: HTMLElement, reverse: boolean): void {
- let anim: Animation = new Animation({ duration: 500, timingFunction: 'ease' });
- let controlTree: HTMLElement = select('#controlTree') as HTMLElement;
- let controlList: Element = select('#controlList');
- controlTree.style.overflowY = 'hidden';
- controlList.classList.remove('e-view');
- controlList.classList.remove('sb-control-list-top');
- controlList.classList.add('sb-adjust-juggle');
- to.style.display = '';
- anim.animate(from, {
- name: reverse ? 'SlideRightOut' : 'SlideLeftOut', end: (): void => {
- controlTree.style.overflowY = 'auto';
- from.style.display = 'none';
- controlList.classList.add('e-view');
- controlList.classList.add('sb-control-list-top');
- controlList.classList.remove('sb-adjust-juggle');
- }
- });
- anim.animate(to, { name: reverse ? 'SlideLeftIn' : 'SlideRightIn' });
- }
-
- function setSelectList(): void {
- const eles = document.querySelectorAll('#controlList .e-list-item.e-level-1');
- for (const ele of eles as any) {
- ele.tabIndex = 0;
- }
- let hString: string = window.hashString || location.hash;
- let hash: string[] = hString.split('/');
- let list: ListView = (select('#controlList') as any).ej2_instances[0];
- let control: Element = select('[control-name="' + hash[2] + '"]');
- if (control) {
- let data: any = list.dataSource;
- let samples: any = controlSampleData[control.getAttribute('control-name')];
- if (JSON.stringify(data) !== JSON.stringify(samples)) {
- list.dataSource = samples;
- list.dataBind();
- }
- let selectSample: Element = select('[sample-name="' + hash.slice(-1)[0].split('.html')[0] + '"]');
- if (selectSample) {
- if ((select('#controlTree') as HTMLElement).style.display !== 'none') {
- showHideControlTree();
- }
- list.selectItem(selectSample);
- selectSample.scrollIntoView({ block: "nearest" })
- }
- } else {
- showHideControlTree();
- list.selectItem(select('[sample-name="grid-overview"]'));
- }
- }
- /**
- * Sample Navigation
- */
- function toggleButtonState(id: string, state: boolean): void {
- let ele: HTMLButtonElement = document.getElementById(id);
- let mobileEle: HTMLButtonElement = document.getElementById('mobile-' + id);
- ele.disabled = state;
- mobileEle.disabled = state;
- if (state) {
- mobileEle.classList.add('e-disabled');
- ele.classList.add('e-disabled');
- } else {
- mobileEle.classList.remove('e-disabled');
- ele.classList.remove('e-disabled');
- }
- }
- /**
- * Routing functions
- */
-
- function setPropertySectionHeight(): void {
- let propertypane: HTMLElement = select('.property-section');
- let ele: HTMLElement = document.querySelector('.control-section');
- if (ele && propertypane) {
- ele.classList.add('sb-property-border');
- } else {
- ele.classList.remove('sb-property-border');
- }
- }
-
- function routeDefault(): void {
- crossRoads.addRoute('', () => {
- window.location.href = '#/' + selectedTheme + '/grid/grid-overview.html';
- isInitRedirected = true;
- });
- crossRoads.bypassed.add((request: string) => {
- let hash: string[] = request.split('.html')[0].split('/');
- if (samplePath.indexOf(hash.slice(1).join('/')) === -1) {
- location.hash = '#/' + hash[0] + '/' + (defaultSamples[hash[1]] || 'grid/grid-overview.html');
- isInitRedirected = true;
- reloadPageForRedirection=true;
- }
- });
- }
- function destroyControls(): void {
- let elementlist: HTMLElement[] = selectAll('.e-control', document.getElementById('control-content'));
- for (let control of elementlist) {
- let eleinstance: Object[] = (control).ej2_instances;
- if (eleinstance) {
- for (let instance of eleinstance) {
- (instance).destroy();
- }
- }
- }
- }
-
-
- function loadScriptfile(path: string): Promise
-
This example illustrates how to efficiently export a document to various formats using the DocumentEditor. You can seamlessly convert your content into formats such as PDF, RTF, HTML, ODT, Plain Text, Word Template, and Markdown.
+
This example illustrates how to efficiently export a document to various formats using the DocumentEditor. You can seamlessly convert your content into formats such as PDF, RTF, HTML, ODT, WordML, Plain Text, Word Template, and Markdown.
Document Editor provides exporting of the document as follows
@@ -21,6 +21,7 @@
OpenDocument Text (*.odt)
Markdown (*.md)
Rich Text Format (*.rtf)
+
Word XML Document (*.xml)
More information about the document editor features can be found in this
documentation section.
@@ -30,9 +31,6 @@
.ej2-new {
height: 590px;
}
- .e-spinner-pane .e-de-spin-overlay {
- background-color: rgba(var(--color-sf-scrim), 0.5);
- }
#documenteditor_titlebar {
border-bottom: 1px solid #2B3481;
height: 36px;
@@ -98,4 +96,4 @@
function onbeforeunload() {
return 'Want to save your changes?';
};
-
+
\ No newline at end of file
diff --git a/src/document-editor/advanced-exporting.ts b/src/document-editor/advanced-exporting.ts
index b6c41d24..d1fc84fc 100644
--- a/src/document-editor/advanced-exporting.ts
+++ b/src/document-editor/advanced-exporting.ts
@@ -3,7 +3,7 @@ import { DocumentEditorContainer, Toolbar } from '@syncfusion/ej2-documenteditor
import { TitleBar } from './title-bar';
import { DropDownButton, DropDownButtonModel } from '@syncfusion/ej2/splitbuttons';
import { ListView, SelectEventArgs as ListSelectEventArgs } from '@syncfusion/ej2-lists';
-import { createSpinner, showSpinner, hideSpinner, DialogUtility } from '@syncfusion/ej2-popups';
+import { createSpinner, showSpinner, hideSpinner } from '@syncfusion/ej2-popups';
import * as data from './data-default.json';
/**
@@ -134,8 +134,7 @@ function created() {
}
function formatSave(type: string) {
createSpinner({
- target: document.getElementById('container'),
- cssClass: 'e-de-spin-overlay'
+ target: document.getElementById('container')
});
showSpinner(document.getElementById('container'));
let format: string = type;
@@ -151,17 +150,7 @@ function formatSave(type: string) {
Filename: container.documentEditor.documentName,
Format: '.' + format
};
- http.onloadend = function() {
- hideSpinner(document.getElementById('container'));
- }
- http.onerror = function() {
- DialogUtility.alert({
- title: "Information",
- content: "Error in establishing connection with web server.",
- okButton: { text: "OK" },
- closeOnEscape: true,
- });
- }
+
// Set up event listener for the response
http.onload = function () {
if (http.status === 200) {
diff --git a/src/document-editor/bindUI-to-document.html b/src/document-editor/bindUI-to-document.html
new file mode 100644
index 00000000..e7bbc301
--- /dev/null
+++ b/src/document-editor/bindUI-to-document.html
@@ -0,0 +1,159 @@
+
+
+
+
+
+
+
+
+
+
Form UI
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This example showcases how to retrieve content control data from a document and subsequently import data into it.
+
+
+
Content controls are individual controls that users can add and customize for use in templates, forms, and documents.
+
+
Rich Text: Format and manage rich text with ease, allowing for bold, italic, and underlined text, among
+ other formatting options. This control provides a rich editing experience, making your documents more
+ dynamic and visually appealing.
+
Plain Text: Insert and edit plain text effortlessly, ensuring a clean and straightforward document layout.
+ Ideal for simple text entries without the need for complex formatting.
+
Dropdown List: Create and customize dropdown menus to streamline user input and enhance form functionality.
+ This control simplifies data entry by providing predefined options for users to choose from.
+
Combobox: Combine text input and dropdown options to offer flexible user interaction. Users can either
+ select from a list of predefined choices or enter their own text, increasing versatility.
+
Date Picker: Select and insert dates with an intuitive picker, reducing the chances of formatting errors.
+ This control makes date entry quick and consistent across your documents.
+
Check Box: Add check boxes for easy task tracking and selection, perfect for creating lists and forms. Users
+ can quickly mark items as completed, improving document interactivity.
+
Image: Insert and manage images seamlessly, enhancing the visual appeal of your documents. This control
+ supports various image formats and allows for easy resizing and positioning.
+
+
More information about the document editor content control can be found in this
+ documentation section.
+
This example showcases the disabled items of DropDownList. When you click on the DropDownList the popup will open, and you will notice that the disabled items are greyed out and cannot be selected.
+
+
+
+
The DropDownList provides options for individual items to be in either an enabled or disabled state for specific scenarios. Once an item is disabled, it cannot be selected as a value for the component. To configure the disabled item columns, use the fields.disabled property.
+
+
+
+
\ No newline at end of file
diff --git a/src/drop-down-list/disabled-items.ts b/src/drop-down-list/disabled-items.ts
new file mode 100644
index 00000000..e1121580
--- /dev/null
+++ b/src/drop-down-list/disabled-items.ts
@@ -0,0 +1,36 @@
+import { loadCultureFiles } from '../common/culture-loader';
+import { DropDownList } from '@syncfusion/ej2-dropdowns';
+import * as data from './dataSource.json';
+
+(window as any).default = (): void => {
+ loadCultureFiles();
+
+// initialize DropDownList component
+let defaultObject: DropDownList = new DropDownList({
+ //set the local data to dataSource property
+ dataSource: (data as any).status,
+ // set placeholder to DropDownList input element
+ placeholder: "Select Status",
+ // set true for enable the filtering support.
+ allowFiltering: true,
+ // map the appropriate columns to fields property
+ fields: { value: 'ID', text: 'Text', disabled: 'State' },
+});
+
+// render initialized DropDownList
+defaultObject.appendTo('#default');
+
+// initialize DropDownList component
+let groupingObject: DropDownList = new DropDownList({
+ //set the local data to dataSource property
+ dataSource: (data as any).groupingData,
+ // set placeholder to DropDownList input element
+ placeholder: "Select Vegetable",
+ // map the appropriate columns to fields property
+ fields: { groupBy: 'Category', text: 'Vegetable', value: 'Id', disabled: 'State' },
+});
+
+// render initialized DropDownList
+groupingObject.appendTo('#grouping');
+
+};
\ No newline at end of file
diff --git a/src/drop-down-list/filtering.html b/src/drop-down-list/filtering.html
index 01872c76..5710040b 100644
--- a/src/drop-down-list/filtering.html
+++ b/src/drop-down-list/filtering.html
@@ -1,7 +1,7 @@
diff --git a/src/drop-down-list/sample.json b/src/drop-down-list/sample.json
index 79a7a17b..3aee652d 100644
--- a/src/drop-down-list/sample.json
+++ b/src/drop-down-list/sample.json
@@ -8,7 +8,8 @@
{ "url": "default", "name": "Default Functionalities", "description": "This example demonstrates the default functionalities of the JavaScript drop-down list control with minimum configuration.", "category": "Dropdown List", "api": { "DropDownList": ["popupHeight", "placeholder", "index", "change"] } },
{ "url": "grouping-icon", "name": "Grouping and Icons", "description": "This example demonstrates how to group based on the different categories with individual header and icon support using JavaScript drop-down list control.", "category": "Dropdown List", "api": { "DropDownList": ["dataSource", "fields", "popupHeight", "placeholder"] } },
{ "url": "data-binding", "name": "Data Binding", "description": "This example demonstrates how to bind with local data source and fetch data from remote data service in the JavaScript drop-down list control.", "category": "Dropdown List", "api": { "DropDownList": ["dataSource", "fields", "query", "sortOrder", "autofill", "popupHeight", "placeholder"] } },
- { "url": "object-value-binding", "type": "new", "name": "Object Value Binding", "description": "This example demonstrates how to bind with data source in the JavaScript drop-down list control.", "category": "Dropdown List", "api": { "DropDownList": ["dataSource", "fields", "query", "sortOrder", "autofill", "popupHeight", "placeholder", "allowObjectBinding"] } },
+ { "url": "object-value-binding", "name": "Object Value Binding", "description": "This example demonstrates how to bind with data source in the JavaScript drop-down list control.", "category": "Dropdown List", "api": { "DropDownList": ["dataSource", "fields", "query", "sortOrder", "autofill", "popupHeight", "placeholder", "allowObjectBinding"] } },
+ { "url": "disabled-items", "name": "Disabled Items", "type": "new", "description": "This example demonstrates the disabled items in the JavaScript drop-down list control.", "category": "Dropdown List", "api": { "Dropdown List": ["dataSource", "placeholder", "fields", "allowFiltering"] } },
{ "url": "template", "name": "Template", "description": "This example demonstrates how to customize the appearance of each item in the JavaScript drop-down list control pop-up list using the template.", "category": "Dropdown List", "api": { "DropDownList": ["dataSource", "fields", "headerTemplate", "itemTemplate", "valueTemplate", "popupHeight", "placeholder"] } },
{ "url": "virtual-scroll", "name": "Virtualization", "description": "This example demonstrates how to use virtualization support of the JavaScript dropdownlist control.", "category": "Dropdown List", "api": { "DropDownList": ["dataSource", "fields", "enableVirtualization", "popupHeight", "placeholder"] } },
{ "url": "filtering", "name": "Filtering", "description": "This example demonstrates how the filtering functionalities works based on the typed characters in the JavaScript drop-down list control.", "category": "Dropdown List", "api": { "DropDownList": ["dataSource", "fields", "allowFiltering", "filtering", "filterBarPlaceholder", "popupHeight", "placeholder"] } },
diff --git a/src/drop-down-list/template.html b/src/drop-down-list/template.html
index f12ffeaf..229a859d 100644
--- a/src/drop-down-list/template.html
+++ b/src/drop-down-list/template.html
@@ -1,7 +1,7 @@
\ No newline at end of file
diff --git a/src/drop-down-tree/local-data.html b/src/drop-down-tree/local-data.html
index 8979714e..35c21818 100644
--- a/src/drop-down-tree/local-data.html
+++ b/src/drop-down-tree/local-data.html
@@ -1,13 +1,13 @@
-
Hierarchical Data
+
Hierarchical Data
-
List Data
+
List Data
@@ -37,4 +37,11 @@
List Data
margin: 0 auto;
width: 250px;
}
-
\ No newline at end of file
+ .displayText {
+ font-size: 18px;
+ font-weight: 500;
+ line-height: 1.1;
+ margin-top: 10px;
+ margin-bottom: 10px;
+ }
+
diff --git a/src/drop-down-tree/template.html b/src/drop-down-tree/template.html
index 9d06aa21..bf1823d6 100644
--- a/src/drop-down-tree/template.html
+++ b/src/drop-down-tree/template.html
@@ -1,6 +1,6 @@
In this demo, a folder upload enabled by setting directoryUpload as true. It allows to select or drop a folder to upload all its contents including hierarchy folders and files.
-
The folder (directory) upload is supported for the following file system providers,
+
The folder (directory) upload is supported for the following file system providers,
+
Physical provider
NodeJS provider
Azure provider
Amazon S3 provider
-
+
The File Manager component is used to explore a file system through a web application, similar to the windows
explorer for windows. It supports the basic file operations such as create, rename, delete.
This sample demonstrates the flat data rendering of the File Manager component. The File Manager uses a flat data object as an array of JSON objects for rendering, eliminating the need to define ajaxSettings url.
+
+
+
+
The File Manager component is used to manage the files and folders in a file system . It supports all the basic file operations such as create, rename, delete, cut, copy, paste, upload, download, and more.
+
+
To load a folder data as an array of JSON objects, use the File Manager component fileSystemData property.
+
\ No newline at end of file
diff --git a/src/file-manager/flat-data.ts b/src/file-manager/flat-data.ts
new file mode 100644
index 00000000..e031a711
--- /dev/null
+++ b/src/file-manager/flat-data.ts
@@ -0,0 +1,272 @@
+import { loadCultureFiles } from '../common/culture-loader';
+import { FileManager, Toolbar, NavigationPane, DetailsView, ContextMenu, Permission, FileData} from '@syncfusion/ej2-filemanager';
+
+FileManager.Inject(Toolbar, NavigationPane, DetailsView, ContextMenu);
+
+/**
+ * File Manager flat data sample
+ */
+(window as any).default = (): void => {
+ loadCultureFiles();
+ let permission: Permission = {
+ "copy": false,
+ "download": false,
+ "write": false,
+ "writeContents": false,
+ "read": true,
+ "upload": false,
+ "message": ""
+ };
+ let resultData: FileData[] = [
+ {
+ dateCreated: new Date("2023-11-15T19:02:02.3419426+05:30"),
+ dateModified: new Date("2024-01-08T18:16:38.4384894+05:30"),
+ filterPath: "",
+ hasChild: true,
+ id: '0',
+ isFile: false,
+ name: "Files",
+ parentId: null,
+ size: 1779448,
+ type: "folder",
+ }, {
+ dateCreated: new Date("2023-11-15T19:02:02.3419426+05:30"),
+ dateModified: new Date("2024-01-08T16:55:20.9464164+05:30"),
+ filterPath: "\\",
+ hasChild: false,
+ id: '1',
+ isFile: false,
+ name: "Documents",
+ parentId: '0',
+ size: 680786,
+ type: "folder",
+ permission: permission
+ },
+ {
+ dateCreated: new Date("2023-11-15T19:02:02.3419426+05:30"),
+ dateModified: new Date("2024-01-08T16:55:20.9464164+05:30"),
+ filterPath: "\\",
+ hasChild: false,
+ id: "2",
+ isFile: false,
+ name: "Downloads",
+ parentId: "0",
+ size: 6172,
+ type: "folder"
+ },
+ {
+ dateCreated: new Date("2023-11-15T19:02:02.3419426+05:30"),
+ dateModified: new Date("2024-01-08T16:55:20.9464164+05:30"),
+ filterPath: "\\",
+ hasChild: false,
+ id: "3",
+ isFile: false,
+ name: "Music",
+ parentId: "0",
+ size: 20,
+ type: "folder"
+ },
+ {
+ dateCreated: new Date("2023-11-15T19:02:02.3419426+05:30"),
+ dateModified: new Date("2024-01-08T16:55:20.9464164+05:30"),
+ filterPath: "\\",
+ hasChild: true,
+ id: "4",
+ isFile: false,
+ name: "Pictures",
+ parentId: "0",
+ size: 228465,
+ type: "folder"
+ },
+ {
+ dateCreated: new Date("2023-11-15T19:02:02.3419426+05:30"),
+ dateModified: new Date("2024-01-08T16:55:20.9464164+05:30"),
+ filterPath: "\\",
+ hasChild: false,
+ id: "5",
+ isFile: false,
+ name: "Videos",
+ parentId: "0",
+ size: 20,
+ type: "folder"
+ },
+ {
+ dateCreated: new Date("2023-11-15T19:02:02.3419426+05:30"),
+ dateModified: new Date("2024-01-08T16:55:20.9464164+05:30"),
+ filterPath: "\\Documents\\",
+ hasChild: false,
+ id: "6",
+ isFile: true,
+ name: "EJ2_File_Manager",
+ parentId: "1",
+ size: 12403,
+ type: ".docx"
+ },
+ {
+ dateCreated: new Date("2023-11-15T19:02:02.3419426+05:30"),
+ dateModified: new Date("2024-01-08T16:55:20.9464164+05:30"),
+ filterPath: "\\Documents\\",
+ hasChild: false,
+ id: "7",
+ isFile: true,
+ name: "EJ2_File_Manager",
+ parentId: "1",
+ size: 90099,
+ type: ".pdf"
+ },
+ {
+ dateCreated: new Date("2023-11-15T19:02:02.3419426+05:30"),
+ dateModified: new Date("2024-01-08T16:55:20.9464164+05:30"),
+ filterPath: "\\Documents\\",
+ hasChild: false,
+ id: "8",
+ isFile: true,
+ name: "File_Manager_PPT",
+ parentId: "1",
+ size: 578010,
+ type: ".pptx"
+ },
+ {
+ dateCreated: new Date("2023-11-15T19:02:02.3419426+05:30"),
+ dateModified: new Date("2024-01-08T16:55:20.9464164+05:30"),
+ filterPath: "\\Documents\\",
+ hasChild: false,
+ id: "9",
+ isFile: true,
+ name: "File_Manager",
+ parentId: "1",
+ size: 274,
+ type: ".txt"
+ },
+ {
+ dateCreated: new Date("2023-11-15T19:02:02.3419426+05:30"),
+ dateModified: new Date("2024-01-08T16:55:20.9464164+05:30"),
+ filterPath: "\\Downloads\\",
+ hasChild: false,
+ id: "10",
+ isFile: true,
+ name: "Sample_Work_Sheet",
+ parentId: "2",
+ size: 6172,
+ type: ".xlsx"
+ },
+ {
+ dateCreated: new Date("2023-11-15T19:02:02.3419426+05:30"),
+ dateModified: new Date("2024-01-08T16:55:20.9464164+05:30"),
+ filterPath: "\\Music\\",
+ hasChild: false,
+ id: "11",
+ isFile: true,
+ name: "Music",
+ parentId: "3",
+ size: 10,
+ type: ".mp3"
+ },
+ {
+ dateCreated: new Date("2023-11-15T19:02:02.3419426+05:30"),
+ dateModified: new Date("2024-01-08T16:55:20.9464164+05:30"),
+ filterPath: "\\Music\\",
+ hasChild: false,
+ id: "12",
+ isFile: true,
+ name: "Sample_Music",
+ parentId: "3",
+ size: 10,
+ type: ".mp3"
+ },
+ {
+ dateCreated: new Date("2023-11-15T19:02:02.3419426+05:30"),
+ dateModified: new Date("2024-01-08T16:55:20.9464164+05:30"),
+ filterPath: "\\Videos\\",
+ hasChild: false,
+ id: "13",
+ isFile: true,
+ name: "Demo_Video",
+ parentId: "5",
+ size: 10,
+ type: ".mp4"
+ },
+ {
+ dateCreated: new Date("2023-11-15T19:02:02.3419426+05:30"),
+ dateModified: new Date("2024-01-08T16:55:20.9464164+05:30"),
+ filterPath: "\\Videos\\",
+ hasChild: false,
+ id: "14",
+ isFile: true,
+ name: "Sample_Video",
+ parentId: "5",
+ size: 10,
+ type: ".mp4"
+ },
+ {
+ dateCreated: new Date("2023-11-15T19:02:02.3419426+05:30"),
+ dateModified: new Date("2024-01-08T16:55:20.9464164+05:30"),
+ filterPath: "\\Pictures\\",
+ hasChild: false,
+ id: '15',
+ isFile: false,
+ name: "Employees",
+ parentId: '4',
+ size: 237568,
+ type: "folder",
+ },
+ {
+ dateCreated: new Date("2023-11-15T19:02:02.3419426+05:30"),
+ dateModified: new Date("2024-01-08T16:55:20.9464164+05:30"),
+ filterPath: "\\Pictures\\Employees\\",
+ hasChild: false,
+ id: '16',
+ isFile: true,
+ name: "Albert",
+ parentId: '15',
+ size: 53248,
+ type: ".png",
+ imageUrl: "https://ej2.syncfusion.com/demos/src/avatar/images/pic01.png"
+ },
+ {
+ dateCreated: new Date("2023-11-15T19:02:02.3419426+05:30"),
+ dateModified: new Date("2024-01-08T16:55:20.9464164+05:30"),
+ filterPath: "\\Pictures\\Employees\\",
+ hasChild: false,
+ id: '17',
+ isFile: true,
+ name: "Nancy",
+ parentId: '15',
+ size: 65536,
+ type: ".png",
+ imageUrl: "https://ej2.syncfusion.com/demos/src/avatar/images/pic02.png"
+ },
+ {
+ dateCreated: new Date("2023-11-15T19:02:02.3419426+05:30"),
+ dateModified: new Date("2024-01-08T16:55:20.9464164+05:30"),
+ filterPath: "\\Pictures\\Employees\\",
+ hasChild: false,
+ id: '18',
+ isFile: true,
+ name: "Michael",
+ parentId: '15',
+ size: 69632,
+ type: ".png",
+ imageUrl: "https://ej2.syncfusion.com/demos/src/avatar/images/pic03.png"
+ },
+ {
+ dateCreated: new Date("2023-11-15T19:02:02.3419426+05:30"),
+ dateModified: new Date("2024-01-08T16:55:20.9464164+05:30"),
+ filterPath: "\\Pictures\\Employees\\",
+ hasChild: false,
+ id: '19',
+ isFile: true,
+ name: "Robert",
+ parentId: '15',
+ size: 48951,
+ type: ".png",
+ imageUrl: "https://ej2.syncfusion.com/demos/src/avatar/images/pic04.png"
+ }
+ ];
+ let fileObject: FileManager = new FileManager({
+ fileSystemData: [].slice.call(resultData) as { [key: string]: Object }[],
+ toolbarSettings: { items: ['NewFolder', 'Cut', 'Copy', 'Paste', 'Delete', 'Rename', 'SortBy', 'Refresh', 'Selection', 'View', 'Details'], visible: true },
+ contextMenuSettings: { file: ["Cut", "Copy", "|", "Delete", "Rename", "|", "Details"], folder: ["Open", "|", "Cut", "Copy", "Paste", "|", "Delete", "Rename", "|", "Details"], layout: ["SortBy", "View", "Refresh", "|", "Paste", "|", "NewFolder", "|", "Details", "|", "SelectAll"], visible: true }
+ });
+ fileObject.appendTo('#filemanager');
+};
\ No newline at end of file
diff --git a/src/file-manager/ftp-file-provider.ts b/src/file-manager/ftp-file-provider.ts
index a3f73e38..0b5c6039 100644
--- a/src/file-manager/ftp-file-provider.ts
+++ b/src/file-manager/ftp-file-provider.ts
@@ -18,8 +18,9 @@ FileManager.Inject(Toolbar, NavigationPane, DetailsView, ContextMenu);
},
toolbarSettings: { items: ['NewFolder', 'SortBy', 'Cut', 'Copy', 'Paste', 'Delete', 'Refresh', 'Download', 'Rename', 'Selection', 'View', 'Details'] },
contextMenuSettings: {
- layout: ["SortBy", "View", "Refresh", "|", "Paste", "|", "NewFolder", "|", "Details", "|", "SelectAll"],
- visible: true
+ file: [ "Cut", "Copy", "|", "Delete", "Download", "Rename", "|", "Details"],
+ layout: ["SortBy", "View", "Refresh", "|", "Paste", "|", "NewFolder", "|", "Details", "|", "SelectAll"],
+ visible: true
}
});
fileObject.appendTo('#ftpFilemanager');
diff --git a/src/file-manager/ibm-cos-node-file-provider.ts b/src/file-manager/ibm-cos-node-file-provider.ts
index 17fbbe98..0a48fb3c 100644
--- a/src/file-manager/ibm-cos-node-file-provider.ts
+++ b/src/file-manager/ibm-cos-node-file-provider.ts
@@ -18,8 +18,9 @@ FileManager.Inject(Toolbar, NavigationPane, DetailsView, ContextMenu);
},
toolbarSettings: { items: ['NewFolder', 'SortBy', 'Cut', 'Copy', 'Paste', 'Delete', 'Refresh', 'Download', 'Rename', 'Selection', 'View', 'Details'] },
contextMenuSettings: {
- layout: ["SortBy", "View", "Refresh", "|", "Paste", "|", "NewFolder", "|", "Details", "|", "SelectAll"],
- visible: true
+ file: [ "Cut", "Copy", "|", "Delete", "Download", "Rename", "|", "Details"],
+ layout: ["SortBy", "View", "Refresh", "|", "Paste", "|", "NewFolder", "|", "Details", "|", "SelectAll"],
+ visible: true
},
rootAliasName: 'Files'
});
diff --git a/src/file-manager/nodejs-file-provider.ts b/src/file-manager/nodejs-file-provider.ts
index ac3ad704..b19ddcfa 100644
--- a/src/file-manager/nodejs-file-provider.ts
+++ b/src/file-manager/nodejs-file-provider.ts
@@ -18,8 +18,9 @@ FileManager.Inject(Toolbar, NavigationPane, DetailsView, ContextMenu);
},
toolbarSettings: { items: ['NewFolder', 'SortBy', 'Cut', 'Copy', 'Paste', 'Delete', 'Refresh', 'Download', 'Rename', 'Selection', 'View', 'Details'] },
contextMenuSettings: {
- layout: ["SortBy", "View", "Refresh", "|", "Paste", "|", "NewFolder", "|", "Details", "|", "SelectAll"],
- visible: true
+ file: [ "Cut", "Copy", "|", "Delete", "Download", "Rename", "|", "Details"],
+ layout: ["SortBy", "View", "Refresh", "|", "Paste", "|", "NewFolder", "|", "Details", "|", "SelectAll"],
+ visible: true
}
});
fileObject.appendTo('#filemanager');
diff --git a/src/file-manager/overview.ts b/src/file-manager/overview.ts
index a118f719..04402547 100644
--- a/src/file-manager/overview.ts
+++ b/src/file-manager/overview.ts
@@ -18,8 +18,9 @@ FileManager.Inject(Toolbar, NavigationPane, DetailsView, ContextMenu);
},
toolbarSettings: { items: ['NewFolder', 'SortBy', 'Cut', 'Copy', 'Paste', 'Delete', 'Refresh', 'Download', 'Rename', 'Selection', 'View', 'Details'] },
contextMenuSettings: {
- layout: ["SortBy", "View", "Refresh", "|", "Paste", "|", "NewFolder", "|", "Details", "|", "SelectAll"],
- visible: true
+ file: [ "Cut", "Copy", "|", "Delete", "Download", "Rename", "|", "Details"],
+ layout: ["SortBy", "View", "Refresh", "|", "Paste", "|", "NewFolder", "|", "Details", "|", "SelectAll"],
+ visible: true
},
view: 'Details',
detailsViewSettings: {
diff --git a/src/file-manager/sample.json b/src/file-manager/sample.json
index 9e55da5f..5af518dc 100644
--- a/src/file-manager/sample.json
+++ b/src/file-manager/sample.json
@@ -2,6 +2,7 @@
"name": "File Manager",
"directory": "file-manager",
"category": "Navigation",
+ "type": "update",
"ftName": "file-manager",
"samples": [
{
@@ -11,6 +12,13 @@
"api": { "FileManager": ["ajaxSettings", "view"] },
"description": "This example demonstrates full view of the File Manager like a windows explorer UI in a JavaScript (TypeScript) File Manager."
},
+ {
+ "url": "flat-data",
+ "name": "Flat Data",
+ "type": "new",
+ "category": "File Manager",
+ "description": "Introduces a new feature in the File Manager, Showcases the seamless integration of Flat Data retrieved as complete folder data as a array of JavaScript objects during the initial rendering of the File Manager."
+ },
{
"url": "custom-thumbnail",
"name": "Custom Thumbnails",
diff --git a/src/file-manager/sql-server-provider.ts b/src/file-manager/sql-server-provider.ts
index 5cf9dd34..1548e737 100644
--- a/src/file-manager/sql-server-provider.ts
+++ b/src/file-manager/sql-server-provider.ts
@@ -18,8 +18,9 @@ FileManager.Inject(Toolbar, NavigationPane, DetailsView, ContextMenu);
},
toolbarSettings: { items: ['NewFolder', 'SortBy', 'Cut', 'Copy', 'Paste', 'Delete', 'Refresh', 'Download', 'Rename', 'Selection', 'View', 'Details'] },
contextMenuSettings: {
- layout: ["SortBy", "View", "Refresh", "|", "Paste", "|", "NewFolder", "|", "Details", "|", "SelectAll"],
- visible: true
+ file: [ "Cut", "Copy", "|", "Delete", "Download", "Rename", "|", "Details"],
+ layout: ["SortBy", "View", "Refresh", "|", "Paste", "|", "NewFolder", "|", "Details", "|", "SelectAll"],
+ visible: true
}
});
fileObject.appendTo('#filemanager');
diff --git a/src/file-manager/usecase.html b/src/file-manager/usecase.html
index 1432c211..1b6f44b2 100644
--- a/src/file-manager/usecase.html
+++ b/src/file-manager/usecase.html
@@ -56,4 +56,7 @@
top: 26px;
}
+ .fluent2 .fileupload .e-file-select-wrap {
+ padding: 20px 0 20px 20px;
+ }
\ No newline at end of file
diff --git a/src/file-manager/usecase.ts b/src/file-manager/usecase.ts
index 5f7264e1..f7497e03 100644
--- a/src/file-manager/usecase.ts
+++ b/src/file-manager/usecase.ts
@@ -36,7 +36,6 @@ FileManager.Inject(Toolbar, NavigationPane, DetailsView);
dialogObj.appendTo('#dialog');
let hostUrl: string = 'https://ej2-aspcore-service.azurewebsites.net/';
- let contextmenuItems: string[] = ['Open', '|', 'Cut', 'Copy', 'Delete', 'Rename', '|', 'Details'];
// Initialize the FileManager component
let filemanagerInstance: FileManager = new FileManager({
@@ -48,10 +47,11 @@ FileManager.Inject(Toolbar, NavigationPane, DetailsView);
},
allowMultiSelection: false,
toolbarSettings: {
- items: ['NewFolder', 'Upload', 'Delete', 'Cut', 'Copy', 'Rename', 'SortBy', 'Refresh', 'Selection', 'View', 'Details']},
+ items: ['NewFolder', 'Upload', 'Delete', 'Cut', 'Copy', 'Rename', 'SortBy', 'Refresh', 'Selection', 'View', 'Details']
+ },
contextMenuSettings: {
- file: contextmenuItems,
- folder: contextmenuItems
+ file: [ "Cut", "Copy", "|", "Delete", "Download", "Rename", "|", "Details"],
+ visible: true
},
fileOpen : onFileOpen
});
diff --git a/src/file-manager/virtualization.ts b/src/file-manager/virtualization.ts
index 92618bb6..72ee5a5a 100644
--- a/src/file-manager/virtualization.ts
+++ b/src/file-manager/virtualization.ts
@@ -19,8 +19,9 @@ FileManager.Inject(Toolbar, NavigationPane, DetailsView, ContextMenu, Virtualiza
view: 'Details',
toolbarSettings: { items: ['NewFolder', 'SortBy', 'Cut', 'Copy', 'Paste', 'Delete', 'Refresh', 'Download', 'Rename', 'View', 'Details'] },
contextMenuSettings: {
- layout: ["SortBy", "View", "Refresh", "|", "Paste", "|", "NewFolder", "|", "Details", "|", "SelectAll"],
- visible: true
+ file: [ "Cut", "Copy", "|", "Delete", "Download", "Rename", "|", "Details"],
+ layout: ["SortBy", "View", "Refresh", "|", "Paste", "|", "NewFolder", "|", "Details", "|", "SelectAll"],
+ visible: true
},
enableVirtualization: true
});
diff --git a/src/gantt/baseline.ts b/src/gantt/baseline.ts
index a4aaa971..6fb06d59 100644
--- a/src/gantt/baseline.ts
+++ b/src/gantt/baseline.ts
@@ -48,8 +48,8 @@ Gantt.Inject(Selection);
dateFormat: 'hh:mm a',
height: '450px',
dayWorkingTime: [{ from: 0, to: 24 }],
- projectStartDate: new Date('03/05/2018 09:30:00 AM'),
- projectEndDate: new Date('03/05/2018 07:00:00 PM')
+ projectStartDate: new Date('03/05/2024 09:30:00 AM'),
+ projectEndDate: new Date('03/05/2024 07:00:00 PM')
});
gantt.appendTo('#Baseline');
};
diff --git a/src/gantt/column-menu.ts b/src/gantt/column-menu.ts
index 9f7a4744..599c5c5b 100644
--- a/src/gantt/column-menu.ts
+++ b/src/gantt/column-menu.ts
@@ -49,8 +49,8 @@ Gantt.Inject(Selection, Filter, Sort, ColumnMenu, Resize );
splitterSettings: {
columnIndex: 4
},
- projectStartDate: new Date('03/24/2019'),
- projectEndDate: new Date('07/06/2019')
+ projectStartDate: new Date('03/24/2024'),
+ projectEndDate: new Date('07/06/2024')
});
gantt.appendTo('#ColumnMenu');
};
\ No newline at end of file
diff --git a/src/gantt/column-template.html b/src/gantt/column-template.html
index 48af66f7..2b7c382c 100644
--- a/src/gantt/column-template.html
+++ b/src/gantt/column-template.html
@@ -8,7 +8,7 @@
diff --git a/src/gantt/column-template.ts b/src/gantt/column-template.ts
index 87953fb2..08d082d7 100644
--- a/src/gantt/column-template.ts
+++ b/src/gantt/column-template.ts
@@ -53,8 +53,8 @@ Gantt.Inject(Selection, Filter, Sort, ColumnMenu, Resize );
name: 'resourceName'
},
resources: editingResources,
- projectStartDate: new Date('03/24/2019'),
- projectEndDate: new Date('07/06/2019')
+ projectStartDate: new Date('03/24/2024'),
+ projectEndDate: new Date('07/06/2024')
});
gantt.appendTo('#ColumnTemplate');
};
diff --git a/src/gantt/contextMenu.ts b/src/gantt/contextMenu.ts
index d94cbeda..6562fb2d 100644
--- a/src/gantt/contextMenu.ts
+++ b/src/gantt/contextMenu.ts
@@ -12,7 +12,7 @@ import { editingData, editingResources } from './data-source';
Gantt.Inject(Edit, Selection, Toolbar, DayMarkers, ContextMenu, Resize, Sort);
let contextMenuOpen: EmitType = (args?: ContextMenuOpenEventArgs) => {
let record: IGanttData = args.rowData;
- if (args.type !== 'Header' && record) {
+ if (args.type !== 'Header') {
if (!record.hasChildRecords) {
args.hideItems.push('Collapse the Row');
args.hideItems.push('Expand the Row');
@@ -75,10 +75,10 @@ let contextMenuOpen: EmitType = (args?: ContextMenuOpe
contextMenuItems: contextMenuItems as ContextMenuItem[],
contextMenuClick: (args?: ContextMenuClickEventArgs) => {
let record: IGanttData = args.rowData;
- if (args.item.id === 'collapserow' && record) {
+ if (args.item.id === 'collapserow') {
gantt.collapseByID(Number(record.ganttProperties.taskId));
}
- if (args.item.id === 'expandrow' && record) {
+ if (args.item.id === 'expandrow') {
gantt.expandByID(Number(record.ganttProperties.taskId));
}
},
@@ -104,10 +104,10 @@ let contextMenuOpen: EmitType = (args?: ContextMenuOpe
},
},
eventMarkers: [
- { day: '4/17/2019', label: 'Project approval and kick-off' },
- { day: '5/3/2019', label: 'Foundation inspection' },
- { day: '6/7/2019', label: 'Site manager inspection' },
- { day: '7/16/2019', label: 'Property handover and sign-off' },
+ { day: '4/17/2024', label: 'Project approval and kick-off' },
+ { day: '5/3/2024', label: 'Foundation inspection' },
+ { day: '6/7/2024', label: 'Site manager inspection' },
+ { day: '7/16/2024', label: 'Property handover and sign-off' },
],
labelSettings: {
leftLabel: 'TaskName',
@@ -119,8 +119,8 @@ let contextMenuOpen: EmitType = (args?: ContextMenuOpe
{ type: 'Resources' },
{ type: 'Notes' },
],
- projectStartDate: new Date('03/25/2019'),
- projectEndDate: new Date('07/28/2019')
+ projectStartDate: new Date('03/25/2024'),
+ projectEndDate: new Date('07/28/2024')
});
gantt.appendTo('#ContextMenu');
};
diff --git a/src/gantt/critical-path.ts b/src/gantt/critical-path.ts
index ce85c0f1..08deba3f 100644
--- a/src/gantt/critical-path.ts
+++ b/src/gantt/critical-path.ts
@@ -45,8 +45,8 @@ Gantt.Inject(Selection, Toolbar, CriticalPath, Edit);
labelSettings: {
leftLabel: 'TaskName'
},
- projectStartDate: new Date('03/24/2019'),
- projectEndDate: new Date('07/06/2019')
+ projectStartDate: new Date('03/24/2024'),
+ projectEndDate: new Date('07/06/2024')
});
gantt.appendTo('#CriticalPath');
};
diff --git a/src/gantt/data-source.ts b/src/gantt/data-source.ts
index 500084c0..3bfc4356 100644
--- a/src/gantt/data-source.ts
+++ b/src/gantt/data-source.ts
@@ -6,22 +6,22 @@ export let projectNewData: Object[] = [
{
TaskID: 1,
TaskName: 'Product concept',
- StartDate: new Date('04/02/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('04/02/2024'),
+ EndDate: new Date('04/21/2024'),
subtasks: [
- { TaskID: 2, TaskName: 'Defining the product and its usage', StartDate: new Date('04/02/2019'), Duration: 3, Progress: 30 },
- { TaskID: 3, TaskName: 'Defining target audience', StartDate: new Date('04/02/2019'), Duration: 3 },
+ { TaskID: 2, TaskName: 'Defining the product and its usage', StartDate: new Date('04/02/2024'), Duration: 3, Progress: 30 },
+ { TaskID: 3, TaskName: 'Defining target audience', StartDate: new Date('04/02/2024'), Duration: 3 },
{
- TaskID: 4, TaskName: 'Prepare product sketch and notes', StartDate: new Date('04/02/2019'), Duration: 2,
+ TaskID: 4, TaskName: 'Prepare product sketch and notes', StartDate: new Date('04/02/2024'), Duration: 2,
Predecessor: '2', Progress: 30
},
]
},
{
- TaskID: 5, TaskName: 'Concept approval', StartDate: new Date('04/02/2019'), Duration: 0, Predecessor: '3,4',
+ TaskID: 5, TaskName: 'Concept approval', StartDate: new Date('04/02/2024'), Duration: 0, Predecessor: '3,4',
Indicators: [
{
- 'date': '04/10/2019',
+ 'date': '04/10/2024',
'name': 'Design Phase',
'tooltip': 'Design phase completed',
'iconClass': 'okIcon e-icons'
@@ -31,32 +31,32 @@ export let projectNewData: Object[] = [
{
TaskID: 6,
TaskName: 'Market research',
- StartDate: new Date('04/02/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('04/02/2024'),
+ EndDate: new Date('04/21/2024'),
subtasks: [
{
TaskID: 7,
TaskName: 'Demand analysis',
- StartDate: new Date('04/04/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('04/04/2024'),
+ EndDate: new Date('04/21/2024'),
subtasks: [
{
- TaskID: 8, TaskName: 'Customer strength', StartDate: new Date('04/04/2019'), Duration: 4,
+ TaskID: 8, TaskName: 'Customer strength', StartDate: new Date('04/04/2024'), Duration: 4,
Predecessor: '5', Progress: 30
},
- { TaskID: 9, TaskName: 'Market opportunity analysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '5' }
+ { TaskID: 9, TaskName: 'Market opportunity analysis', StartDate: new Date('04/04/2024'), Duration: 4, Predecessor: '5' }
]
},
{
- TaskID: 10, TaskName: 'Competitor analysis', StartDate: new Date('04/04/2019'), Duration: 4,
+ TaskID: 10, TaskName: 'Competitor analysis', StartDate: new Date('04/04/2024'), Duration: 4,
Predecessor: '7, 8', Progress: 30
},
- { TaskID: 11, TaskName: 'Product strength analsysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '9' },
+ { TaskID: 11, TaskName: 'Product strength analsysis', StartDate: new Date('04/04/2024'), Duration: 4, Predecessor: '9' },
{
- TaskID: 12, TaskName: 'Research complete', StartDate: new Date('04/04/2019'), Duration: 0, Predecessor: '10',
+ TaskID: 12, TaskName: 'Research complete', StartDate: new Date('04/04/2024'), Duration: 0, Predecessor: '10',
Indicators: [
{
- 'date': '04/27/2019',
+ 'date': '04/27/2024',
'name': 'Research completed',
'tooltip': 'Research completed',
'iconClass': 'description e-icons'
@@ -68,80 +68,80 @@ export let projectNewData: Object[] = [
{
TaskID: 13,
TaskName: 'Product design and development',
- StartDate: new Date('04/04/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('04/04/2024'),
+ EndDate: new Date('04/21/2024'),
subtasks: [
{
- TaskID: 14, TaskName: 'Functionality design', StartDate: new Date('04/04/2019'),
+ TaskID: 14, TaskName: 'Functionality design', StartDate: new Date('04/04/2024'),
Duration: 3, Progress: 30, Predecessor: '12'
},
- { TaskID: 15, TaskName: 'Quality design', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '12' },
- { TaskID: 16, TaskName: 'Define reliability', StartDate: new Date('04/04/2019'), Duration: 2, Progress: 30, Predecessor: '15' },
- { TaskID: 17, TaskName: 'Identifying raw materials', StartDate: new Date('04/04/2019'), Duration: 2, Predecessor: '15' },
+ { TaskID: 15, TaskName: 'Quality design', StartDate: new Date('04/04/2024'), Duration: 3, Predecessor: '12' },
+ { TaskID: 16, TaskName: 'Define reliability', StartDate: new Date('04/04/2024'), Duration: 2, Progress: 30, Predecessor: '15' },
+ { TaskID: 17, TaskName: 'Identifying raw materials', StartDate: new Date('04/04/2024'), Duration: 2, Predecessor: '15' },
{
TaskID: 18,
TaskName: 'Define cost plan',
- StartDate: new Date('04/04/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('04/04/2024'),
+ EndDate: new Date('04/21/2024'),
subtasks: [
{
- TaskID: 19, TaskName: 'Manufacturing cost', StartDate: new Date('04/04/2019'),
+ TaskID: 19, TaskName: 'Manufacturing cost', StartDate: new Date('04/04/2024'),
Duration: 2, Progress: 30, Predecessor: '17'
},
- { TaskID: 20, TaskName: 'Selling cost', StartDate: new Date('04/04/2019'), Duration: 2, Predecessor: '17' }
+ { TaskID: 20, TaskName: 'Selling cost', StartDate: new Date('04/04/2024'), Duration: 2, Predecessor: '17' }
]
},
{
TaskID: 21,
TaskName: 'Development of the final design',
- StartDate: new Date('04/04/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('04/04/2024'),
+ EndDate: new Date('04/21/2024'),
subtasks: [
{
- TaskID: 22, TaskName: 'Defining dimensions and package volume', StartDate: new Date('04/04/2019'),
+ TaskID: 22, TaskName: 'Defining dimensions and package volume', StartDate: new Date('04/04/2024'),
Duration: 2, Progress: 30, Predecessor: '19,20'
},
{
- TaskID: 23, TaskName: 'Develop design to meet industry standards', StartDate: new Date('04/04/2019'),
+ TaskID: 23, TaskName: 'Develop design to meet industry standards', StartDate: new Date('04/04/2024'),
Duration: 2, Predecessor: '22'
},
- { TaskID: 24, TaskName: 'Include all the details', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '23' }
+ { TaskID: 24, TaskName: 'Include all the details', StartDate: new Date('04/04/2024'), Duration: 3, Predecessor: '23' }
]
},
{
- TaskID: 25, TaskName: 'CAD computer-aided design', StartDate: new Date('04/04/2019'),
+ TaskID: 25, TaskName: 'CAD computer-aided design', StartDate: new Date('04/04/2024'),
Duration: 3, Progress: 30, Predecessor: '24'
},
- { TaskID: 26, TaskName: 'CAM computer-aided manufacturing', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '25' },
+ { TaskID: 26, TaskName: 'CAM computer-aided manufacturing', StartDate: new Date('04/04/2024'), Duration: 3, Predecessor: '25' },
{
- TaskID: 27, TaskName: 'Design complete', StartDate: new Date('04/04/2019'), Duration: 0, Predecessor: '26',
+ TaskID: 27, TaskName: 'Design complete', StartDate: new Date('04/04/2024'), Duration: 0, Predecessor: '26',
}
]
},
- { TaskID: 28, TaskName: 'Prototype testing', StartDate: new Date('04/04/2019'), Duration: 4, Progress: 30, Predecessor: '27' },
- { TaskID: 29, TaskName: 'Include feedback', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '28ss', Indicators: [
+ { TaskID: 28, TaskName: 'Prototype testing', StartDate: new Date('04/04/2024'), Duration: 4, Progress: 30, Predecessor: '27' },
+ { TaskID: 29, TaskName: 'Include feedback', StartDate: new Date('04/04/2024'), Duration: 4, Predecessor: '28ss', Indicators: [
{
- 'date': '05/24/2019',
+ 'date': '05/31/2024',
'name': 'Production phase',
'tooltip': 'Production phase completed',
'iconClass': 'okIcon e-icons'
}
], },
- { TaskID: 30, TaskName: 'Manufacturing', StartDate: new Date('04/04/2019'), Duration: 5, Progress: 30, Predecessor: '28,29' },
- { TaskID: 31, TaskName: 'Assembling materials to finsihed goods', StartDate: new Date('04/04/2019'), Duration: 5, Predecessor: '30' },
+ { TaskID: 30, TaskName: 'Manufacturing', StartDate: new Date('04/04/2024'), Duration: 5, Progress: 30, Predecessor: '28,29' },
+ { TaskID: 31, TaskName: 'Assembling materials to finsihed goods', StartDate: new Date('04/04/2024'), Duration: 5, Predecessor: '30' },
{
TaskID: 32,
TaskName: 'Feedback and testing',
- StartDate: new Date('04/04/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('04/04/2024'),
+ EndDate: new Date('04/21/2024'),
subtasks: [
{
- TaskID: 33, TaskName: 'Internal testing and feedback', StartDate: new Date('04/04/2019'),
+ TaskID: 33, TaskName: 'Internal testing and feedback', StartDate: new Date('04/04/2024'),
Duration: 3, Progress: 45, Predecessor: '31'
},
{
- TaskID: 34, TaskName: 'Customer testing and feedback', StartDate: new Date('04/04/2019'),
+ TaskID: 34, TaskName: 'Customer testing and feedback', StartDate: new Date('04/04/2024'),
Duration: 3, Progress: 50, Predecessor: '33'
}
]
@@ -149,19 +149,19 @@ export let projectNewData: Object[] = [
{
TaskID: 35,
TaskName: 'Final product development',
- StartDate: new Date('04/04/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('04/04/2024'),
+ EndDate: new Date('04/21/2024'),
subtasks: [
{
- TaskID: 36, TaskName: 'Important improvements', StartDate: new Date('04/04/2019'),
+ TaskID: 36, TaskName: 'Important improvements', StartDate: new Date('04/04/2024'),
Duration: 4, Progress: 30, Predecessor: '34'
},
{
- TaskID: 37, TaskName: 'Address any unforeseen issues', StartDate: new Date('04/04/2019'),
+ TaskID: 37, TaskName: 'Address any unforeseen issues', StartDate: new Date('04/04/2024'),
Duration: 4, Progress: 30, Predecessor: '36ss',
Indicators: [
{
- 'date': '06/21/2019',
+ 'date': '06/28/2024',
'name': 'Sales and marketing',
'tooltip': 'Sales and marketing',
'iconClass': 'description e-icons'
@@ -173,12 +173,12 @@ export let projectNewData: Object[] = [
{
TaskID: 38,
TaskName: 'Final product',
- StartDate: new Date('04/04/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('04/04/2024'),
+ EndDate: new Date('04/21/2024'),
subtasks: [
- { TaskID: 39, TaskName: 'Branding product', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '37' },
+ { TaskID: 39, TaskName: 'Branding product', StartDate: new Date('04/04/2024'), Duration: 4, Predecessor: '37' },
{
- TaskID: 40, TaskName: 'Marketing and presales', StartDate: new Date('04/04/2019'),
+ TaskID: 40, TaskName: 'Marketing and presales', StartDate: new Date('04/04/2024'),
Duration: 4, Progress: 30, Predecessor: '39'
}
]
@@ -189,40 +189,40 @@ export let templateData: Object[] = [
{
TaskID: 1,
TaskName: 'Product concept',
- StartDate: new Date('04/02/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('04/02/2024'),
+ EndDate: new Date('04/21/2024'),
subtasks: [
- { TaskID: 2, TaskName: 'Defining the product and its usage', StartDate: new Date('04/02/2019'),
+ { TaskID: 2, TaskName: 'Defining the product and its usage', StartDate: new Date('04/02/2024'),
Duration: 3, Progress: 30, resources: [2] },
- { TaskID: 3, TaskName: 'Defining target audience', StartDate: new Date('04/02/2019'),
+ { TaskID: 3, TaskName: 'Defining target audience', StartDate: new Date('04/02/2024'),
Duration: 3, resources: [3]},
- { TaskID: 4, TaskName: 'Prepare product sketch and notes', StartDate: new Date('04/02/2019'),
+ { TaskID: 4, TaskName: 'Prepare product sketch and notes', StartDate: new Date('04/02/2024'),
Duration: 2, Predecessor: '2', Progress: 30, resources: [4] }]
},
{
- TaskID: 5, TaskName: 'Concept approval', StartDate: new Date('04/02/2019'), Duration: 0, Predecessor: '3,4', resources: [1]
+ TaskID: 5, TaskName: 'Concept approval', StartDate: new Date('04/02/2024'), Duration: 0, Predecessor: '3,4', resources: [1]
},
{
TaskID: 6,
TaskName: 'Market research',
- StartDate: new Date('04/02/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('04/02/2024'),
+ EndDate: new Date('04/21/2024'),
subtasks: [
{
TaskID: 7,
TaskName: 'Demand analysis',
- StartDate: new Date('04/04/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('04/04/2024'),
+ EndDate: new Date('04/21/2024'),
subtasks: [
- { TaskID: 8, TaskName: 'Customer strength', StartDate: new Date('04/04/2019'),
+ { TaskID: 8, TaskName: 'Customer strength', StartDate: new Date('04/04/2024'),
Duration: 4, Predecessor: '5', Progress: 30, resources: [5] },
- { TaskID: 9, TaskName: 'Market opportunity analysis', StartDate: new Date('04/04/2019'),
+ { TaskID: 9, TaskName: 'Market opportunity analysis', StartDate: new Date('04/04/2024'),
Duration: 4, Predecessor: '5', resources: [6] }
]
},
- { TaskID: 10, TaskName: 'Competitor analysis', StartDate: new Date('04/04/2019'),
+ { TaskID: 10, TaskName: 'Competitor analysis', StartDate: new Date('04/04/2024'),
Duration: 4, Predecessor: '7, 8', Progress: 30, resources: [4] },
- { TaskID: 11, TaskName: 'Product strength analsysis', StartDate: new Date('04/04/2019'),
+ { TaskID: 11, TaskName: 'Product strength analsysis', StartDate: new Date('04/04/2024'),
Duration: 4, Predecessor: '9', resources: [8] },
]
}
@@ -232,22 +232,22 @@ export let zoomingData: Object[] = [
{
TaskID: 1,
TaskName: 'Product concept',
- StartDate: new Date('04/02/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('04/02/2024'),
+ EndDate: new Date('04/21/2024'),
subtasks: [
- { TaskID: 2, TaskName: 'Defining the product and its usage', StartDate: new Date('04/02/2019'), Duration: 3, Progress: 30 },
- { TaskID: 3, TaskName: 'Defining target audience', StartDate: new Date('04/02/2019'), Duration: 3 },
+ { TaskID: 2, TaskName: 'Defining the product and its usage', StartDate: new Date('04/02/2024'), Duration: 3, Progress: 30 },
+ { TaskID: 3, TaskName: 'Defining target audience', StartDate: new Date('04/02/2024'), Duration: 3 },
{
- TaskID: 4, TaskName: 'Prepare product sketch and notes', StartDate: new Date('04/02/2019'), Duration: 2,
+ TaskID: 4, TaskName: 'Prepare product sketch and notes', StartDate: new Date('04/02/2024'), Duration: 2,
Predecessor: '2', Progress: 30
},
]
},
{
- TaskID: 5, TaskName: 'Concept approval', StartDate: new Date('04/02/2019'), Duration: 0, Predecessor: '3,4',
+ TaskID: 5, TaskName: 'Concept approval', StartDate: new Date('04/02/2024'), Duration: 0, Predecessor: '3,4',
Indicators: [
{
- 'date': '04/10/2019',
+ 'date': '04/10/2024',
'name': '#briefing',
'title': 'Product concept breifing',
}
@@ -256,32 +256,32 @@ export let zoomingData: Object[] = [
{
TaskID: 6,
TaskName: 'Market research',
- StartDate: new Date('04/02/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('04/02/2024'),
+ EndDate: new Date('04/21/2024'),
subtasks: [
{
TaskID: 7,
TaskName: 'Demand analysis',
- StartDate: new Date('04/04/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('04/04/2024'),
+ EndDate: new Date('04/21/2024'),
subtasks: [
{
- TaskID: 8, TaskName: 'Customer strength', StartDate: new Date('04/04/2019'), Duration: 4,
+ TaskID: 8, TaskName: 'Customer strength', StartDate: new Date('04/04/2024'), Duration: 4,
Predecessor: '5', Progress: 30
},
- { TaskID: 9, TaskName: 'Market opportunity analysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '5' }
+ { TaskID: 9, TaskName: 'Market opportunity analysis', StartDate: new Date('04/04/2024'), Duration: 4, Predecessor: '5' }
]
},
{
- TaskID: 10, TaskName: 'Competitor analysis', StartDate: new Date('04/04/2019'), Duration: 4,
+ TaskID: 10, TaskName: 'Competitor analysis', StartDate: new Date('04/04/2024'), Duration: 4,
Predecessor: '7, 8', Progress: 30
},
- { TaskID: 11, TaskName: 'Product strength analsysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '9' },
+ { TaskID: 11, TaskName: 'Product strength analsysis', StartDate: new Date('04/04/2024'), Duration: 4, Predecessor: '9' },
{
- TaskID: 12, TaskName: 'Research complete', StartDate: new Date('04/04/2019'), Duration: 1, Predecessor: '10',
+ TaskID: 12, TaskName: 'Research complete', StartDate: new Date('04/04/2024'), Duration: 1, Predecessor: '10',
Indicators: [
{
- 'date': '04/20/2019',
+ 'date': '04/20/2024',
'name': '#meeting',
'title': '1st board of directors meeting',
}
@@ -310,68 +310,68 @@ export let editingData: Object[] = [
{
TaskID: 1,
TaskName: 'Project initiation',
- StartDate: new Date('04/02/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('04/02/2024'),
+ EndDate: new Date('04/21/2024'),
subtasks: [
{
- TaskID: 2, TaskName: 'Identify site location', StartDate: new Date('04/02/2019'), Duration: 0,
+ TaskID: 2, TaskName: 'Identify site location', StartDate: new Date('04/02/2024'), Duration: 0,
Progress: 30, resources: [1], info: 'Measure the total property area alloted for construction'
},
{
- TaskID: 3, TaskName: 'Perform soil test', StartDate: new Date('04/02/2019'), Duration: 4, Predecessor: '2',
+ TaskID: 3, TaskName: 'Perform soil test', StartDate: new Date('04/02/2024'), Duration: 4, Predecessor: '2',
resources: [2, 3, 5], info: 'Obtain an engineered soil test of lot where construction is planned.' +
'From an engineer or company specializing in soil testing'
},
- { TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('04/02/2019'), Duration: 0, Predecessor: '3', Progress: 30 },
+ { TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('04/02/2024'), Duration: 0, Predecessor: '3', Progress: 30 },
]
},
{
TaskID: 5,
TaskName: 'Project estimation',
- StartDate: new Date('04/02/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('04/02/2024'),
+ EndDate: new Date('04/21/2024'),
subtasks: [
{
- TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('04/04/2019'),
+ TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('04/04/2024'),
Duration: 3, Predecessor: '4', Progress: 30, resources: 4,
info: 'Develop floor plans and obtain a materials list for estimations'
},
{
- TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/04/2019'),
+ TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/04/2024'),
Duration: 3, Predecessor: '6', resources: [4, 8], info: ''
},
{
- TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/04/2019'),
+ TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/04/2024'),
Duration: 0, Predecessor: '7', resources: [12, 5], info: ''
}
]
},
{
- TaskID: 9, TaskName: 'Sign contract', StartDate: new Date('04/04/2019'), Duration: 1,
+ TaskID: 9, TaskName: 'Sign contract', StartDate: new Date('04/04/2024'), Duration: 1,
Predecessor: '8', Progress: 30, resources: [12],
info: 'If required obtain approval from HOA (homeowners association) or ARC (architectural review committee)'
},
{
TaskID: 10,
TaskName: 'Project approval and kick off',
- StartDate: new Date('04/04/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('04/04/2024'),
+ EndDate: new Date('04/21/2024'),
Duration: 0,
Predecessor: '9'
},
{
TaskID: 11,
TaskName: 'Site work',
- StartDate: new Date('04/04/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('04/04/2024'),
+ EndDate: new Date('04/21/2024'),
subtasks: [
{
- TaskID: 12, TaskName: 'Clear the building site', StartDate: new Date('04/04/2019'),
+ TaskID: 12, TaskName: 'Clear the building site', StartDate: new Date('04/04/2024'),
Duration: 2, Progress: 30, Predecessor: '9', resources: [6, 7],
info: 'Clear the building site (demolition of existing home if necessary)'
},
{
- TaskID: 13, TaskName: 'Install temporary power service', StartDate: new Date('04/04/2019'),
+ TaskID: 13, TaskName: 'Install temporary power service', StartDate: new Date('04/04/2024'),
Duration: 2, Predecessor: '12', resources: [6, 7], info: ''
},
]
@@ -379,28 +379,28 @@ export let editingData: Object[] = [
{
TaskID: 14,
TaskName: 'Foundation',
- StartDate: new Date('04/04/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('04/04/2024'),
+ EndDate: new Date('04/21/2024'),
subtasks: [
{
- TaskID: 15, TaskName: 'Excavate for foundations', StartDate: new Date('04/04/2019'),
+ TaskID: 15, TaskName: 'Excavate for foundations', StartDate: new Date('04/04/2024'),
Duration: 3, Progress: 30, Predecessor: '13', resources: [2, 8],
info: 'Excavate the foundation and dig footers (Scope of work is dependent of foundation designed by engineer)'
},
{
- TaskID: 16, TaskName: 'Dig footer', StartDate: new Date('04/04/2019'),
+ TaskID: 16, TaskName: 'Dig footer', StartDate: new Date('04/04/2024'),
Duration: 2, Predecessor: '15FF', resources: [8], info: ''
},
{
- TaskID: 17, TaskName: 'Install plumbing grounds', StartDate: new Date('04/04/2019'), Duration: 4,
+ TaskID: 17, TaskName: 'Install plumbing grounds', StartDate: new Date('04/04/2024'), Duration: 4,
Progress: 30, Predecessor: '15', resources: [9], info: ''
},
{
- TaskID: 18, TaskName: 'Pour a foundation and footer with concrete', StartDate: new Date('04/04/2019'),
+ TaskID: 18, TaskName: 'Pour a foundation and footer with concrete', StartDate: new Date('04/04/2024'),
Duration: 1, Predecessor: '17', resources: [8, 9, 10], info: ''
},
{
- TaskID: 19, TaskName: 'Cure basement walls', StartDate: new Date('04/04/2019'), Duration: 4,
+ TaskID: 19, TaskName: 'Cure basement walls', StartDate: new Date('04/04/2024'), Duration: 4,
Progress: 30, Predecessor: '18', resources: [10], info: ''
},
]
@@ -408,33 +408,33 @@ export let editingData: Object[] = [
{
TaskID: 20,
TaskName: 'Framing',
- StartDate: new Date('04/04/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('04/04/2024'),
+ EndDate: new Date('04/21/2024'),
subtasks: [
{
- TaskID: 21, TaskName: 'Add load-bearing structure', StartDate: new Date('04/04/2019'),
+ TaskID: 21, TaskName: 'Add load-bearing structure', StartDate: new Date('04/04/2024'),
Duration: 3, Progress: 30, Predecessor: '19', resources: [4, 5],
info: 'Build the main load-bearing structure out of thick pieces of wood and' +
'possibly metal I-beams for large spans with few supports'
},
{
- TaskID: 22, TaskName: 'Install floor joists', StartDate: new Date('04/04/2019'),
+ TaskID: 22, TaskName: 'Install floor joists', StartDate: new Date('04/04/2024'),
Duration: 3, Predecessor: '21', resources: [2, 3], info: 'Add floor and ceiling joists and install subfloor panels'
},
{
- TaskID: 23, TaskName: 'Add ceiling joists', StartDate: new Date('04/04/2019'),
+ TaskID: 23, TaskName: 'Add ceiling joists', StartDate: new Date('04/04/2024'),
Duration: 3, Progress: 30, Predecessor: '22SS', resources: [5], info: ''
},
{
- TaskID: 24, TaskName: 'Install subfloor panels', StartDate: new Date('04/04/2019'),
+ TaskID: 24, TaskName: 'Install subfloor panels', StartDate: new Date('04/04/2024'),
Duration: 3, Predecessor: '23', resources: [8, 9]
},
{
- TaskID: 25, TaskName: 'Frame floor walls', StartDate: new Date('04/04/2019'), Duration: 3,
+ TaskID: 25, TaskName: 'Frame floor walls', StartDate: new Date('04/04/2024'), Duration: 3,
Progress: 30, Predecessor: '24', resources: [10], info: ''
},
{
- TaskID: 26, TaskName: 'Frame floor decking', StartDate: new Date('04/04/2019'), Duration: 3,
+ TaskID: 26, TaskName: 'Frame floor decking', StartDate: new Date('04/04/2024'), Duration: 3,
Progress: 30, Predecessor: '25SS', resources: [4, 8], info: ''
},
]
@@ -442,50 +442,50 @@ export let editingData: Object[] = [
{
TaskID: 27,
TaskName: 'Exterior finishing',
- StartDate: new Date('04/04/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('04/04/2024'),
+ EndDate: new Date('04/21/2024'),
subtasks: [
{
- TaskID: 28, TaskName: 'Cover outer walls and roof in OSB', StartDate: new Date('04/04/2019'),
+ TaskID: 28, TaskName: 'Cover outer walls and roof in OSB', StartDate: new Date('04/04/2024'),
Duration: 3, Progress: 30, Predecessor: '26', resources: [2, 8],
info: 'Cover outer walls and roof in OSB or plywood and a water-resistive barrier'
},
{
- TaskID: 29, TaskName: 'Add water resistive barrier', StartDate: new Date('04/04/2019'),
+ TaskID: 29, TaskName: 'Add water resistive barrier', StartDate: new Date('04/04/2024'),
Duration: 3, Predecessor: '28', resources: [1, 10],
info: 'Cover the walls with siding, typically vinyl, wood, or brick veneer but possibly stone or other materials'
},
{
- TaskID: 30, TaskName: 'Install roof shingles', StartDate: new Date('04/04/2019'), Duration: 3,
+ TaskID: 30, TaskName: 'Install roof shingles', StartDate: new Date('04/04/2024'), Duration: 3,
Progress: 30, Predecessor: '29', resources: [8, 9], info: 'Install roof shingles or other covering for flat roof'
},
- { TaskID: 31, TaskName: 'Install windows', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '29', resources: 7 },
+ { TaskID: 31, TaskName: 'Install windows', StartDate: new Date('04/04/2024'), Duration: 3, Predecessor: '29', resources: 7 },
]
},
{
TaskID: 32,
TaskName: 'Utilities',
- StartDate: new Date('04/04/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('04/04/2024'),
+ EndDate: new Date('04/21/2024'),
subtasks: [
{
- TaskID: 33, TaskName: 'Install internal plumbing', StartDate: new Date('04/04/2019'), Duration: 3,
+ TaskID: 33, TaskName: 'Install internal plumbing', StartDate: new Date('04/04/2024'), Duration: 3,
Progress: 30, Predecessor: '26', resources: [1, 10]
},
{
- TaskID: 34, TaskName: 'Install HVAC', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '33',
+ TaskID: 34, TaskName: 'Install HVAC', StartDate: new Date('04/04/2024'), Duration: 3, Predecessor: '33',
resources: [4, 9], info: 'Add internal plumbing, HVAC, electrical, and natural gas utilities'
},
{
- TaskID: 35, TaskName: 'Electrical utilities', StartDate: new Date('04/04/2019'), Duration: 3,
+ TaskID: 35, TaskName: 'Electrical utilities', StartDate: new Date('04/04/2024'), Duration: 3,
Progress: 30, Predecessor: '34'
},
{
- TaskID: 36, TaskName: 'Natural gas utilities', StartDate: new Date('04/04/2019'), Duration: 3,
+ TaskID: 36, TaskName: 'Natural gas utilities', StartDate: new Date('04/04/2024'), Duration: 3,
Predecessor: '35', resources: 11
},
{
- TaskID: 37, TaskName: 'Install bathroom fixtures', StartDate: new Date('04/04/2019'), Duration: 3,
+ TaskID: 37, TaskName: 'Install bathroom fixtures', StartDate: new Date('04/04/2024'), Duration: 3,
Progress: 30, Predecessor: '35', resources: [3, 7]
},
],
@@ -494,32 +494,32 @@ export let editingData: Object[] = [
{
TaskID: 38,
TaskName: 'Interior finsihing',
- StartDate: new Date('04/04/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('04/04/2024'),
+ EndDate: new Date('04/21/2024'),
subtasks: [
{
- TaskID: 39, TaskName: 'Install insulation', StartDate: new Date('04/04/2019'),
+ TaskID: 39, TaskName: 'Install insulation', StartDate: new Date('04/04/2024'),
Duration: 3, Progress: 30, Predecessor: '37', resources: [1, 8], info: 'Frame interior walls with wooden 2×4s'
},
{
- TaskID: 40, TaskName: 'Install drywall panels', StartDate: new Date('04/04/2019'), Duration: 3,
+ TaskID: 40, TaskName: 'Install drywall panels', StartDate: new Date('04/04/2024'), Duration: 3,
Predecessor: '39', resources: 5,
info: 'Install insulation and interior drywall panels (cementboard for wet areas) and to complete walls and ceilings'
},
{
- TaskID: 41, TaskName: 'Spackle', StartDate: new Date('04/04/2019'), Duration: 3,
+ TaskID: 41, TaskName: 'Spackle', StartDate: new Date('04/04/2024'), Duration: 3,
Progress: 30, Predecessor: '40', resources: 10
},
{
- TaskID: 42, TaskName: 'Apply primer', StartDate: new Date('04/04/2019'), Duration: 3,
+ TaskID: 42, TaskName: 'Apply primer', StartDate: new Date('04/04/2024'), Duration: 3,
Predecessor: '41', resources: [10, 11]
},
{
- TaskID: 43, TaskName: 'Paint wall and ceilings', StartDate: new Date('04/04/2019'),
+ TaskID: 43, TaskName: 'Paint wall and ceilings', StartDate: new Date('04/04/2024'),
Duration: 3, Progress: 30, Predecessor: '42', resources: [2, 9]
},
{
- TaskID: 44, TaskName: 'Install modular kitchen', StartDate: new Date('04/04/2019'),
+ TaskID: 44, TaskName: 'Install modular kitchen', StartDate: new Date('04/04/2024'),
Duration: 3, Progress: 30, Predecessor: '43', resources: [5, 7]
},
]
@@ -527,16 +527,16 @@ export let editingData: Object[] = [
{
TaskID: 45,
TaskName: 'Flooring',
- StartDate: new Date('04/04/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('04/04/2024'),
+ EndDate: new Date('04/21/2024'),
subtasks: [
{
- TaskID: 46, TaskName: 'Tile kitchen, bathroom and entry walls', StartDate: new Date('04/04/2019'),
+ TaskID: 46, TaskName: 'Tile kitchen, bathroom and entry walls', StartDate: new Date('04/04/2024'),
Duration: 3, Progress: 30, Predecessor: '44', resources: [4, 9, 3],
info: 'Additional tiling on top of cementboard for wet areas, such as the bathroom and kitchen backsplash'
},
{
- TaskID: 47, TaskName: 'Tile floor', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '46SS',
+ TaskID: 47, TaskName: 'Tile floor', StartDate: new Date('04/04/2024'), Duration: 3, Predecessor: '46SS',
resources: [2, 8], info: 'Installation of final floor covering, such as floor tile, carpet, or wood flooring'
},
]
@@ -544,19 +544,19 @@ export let editingData: Object[] = [
{
TaskID: 48,
TaskName: 'Final Acceptance',
- StartDate: new Date('04/04/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('04/04/2024'),
+ EndDate: new Date('04/21/2024'),
subtasks: [
{
- TaskID: 49, TaskName: 'Final inspection', StartDate: new Date('04/04/2019'), Duration: 2,
+ TaskID: 49, TaskName: 'Final inspection', StartDate: new Date('04/04/2024'), Duration: 2,
Progress: 30, Predecessor: '47', resources: 12, info: 'Ensure the contracted items'
},
{
- TaskID: 50, TaskName: 'Cleanup for occupancy', StartDate: new Date('04/04/2019'), Duration: 2,
+ TaskID: 50, TaskName: 'Cleanup for occupancy', StartDate: new Date('04/04/2024'), Duration: 2,
Predecessor: '49', resources: [1, 5], info: 'Installation of major appliances'
},
{
- TaskID: 51, TaskName: 'Property handover', StartDate: new Date('04/04/2019'), Duration: 0,
+ TaskID: 51, TaskName: 'Property handover', StartDate: new Date('04/04/2024'), Duration: 0,
Predecessor: '50', info: 'Ending the contract'
},
]
@@ -567,77 +567,77 @@ export let remoteData: Object[] = [
{
TaskID: 1,
TaskName: 'Germination',
- StartDate: new Date('03/01/2019'),
+ StartDate: new Date('03/01/2024'),
subtasks: [
- { TaskID: 2, TaskName: 'Dry seed (caryopsis)', StartDate: new Date('03/01/2019'), Duration: 0 },
- { TaskID: 3, TaskName: 'Seed imbibition complete', StartDate: new Date('03/01/2019'), Duration: 3, Predecessor: '2FS' },
- { TaskID: 4, TaskName: 'Radicle emerged from caryopsis', StartDate: new Date('03/04/2019'), Duration: 2, Predecessor: '3FS' },
+ { TaskID: 2, TaskName: 'Dry seed (caryopsis)', StartDate: new Date('03/01/2024'), Duration: 0 },
+ { TaskID: 3, TaskName: 'Seed imbibition complete', StartDate: new Date('03/01/2024'), Duration: 3, Predecessor: '2FS' },
+ { TaskID: 4, TaskName: 'Radicle emerged from caryopsis', StartDate: new Date('03/04/2024'), Duration: 2, Predecessor: '3FS' },
{
- TaskID: 5, TaskName: 'Coleoptile emerged from caryopsis', StartDate: new Date('03/06/2019'),
+ TaskID: 5, TaskName: 'Coleoptile emerged from caryopsis', StartDate: new Date('03/06/2024'),
Duration: 2, Predecessor: '4FS'
},
{
TaskID: 6, TaskName: 'Emergence: coleoptile penetrates soil surface (cracking stage)',
- StartDate: new Date('03/08/2019'), Duration: 2, Predecessor: '5FS'
+ StartDate: new Date('03/08/2024'), Duration: 2, Predecessor: '5FS'
},
]
},
{
TaskID: 7,
TaskName: 'Leaf development',
- StartDate: new Date('03/10/2019'),
+ StartDate: new Date('03/10/2024'),
subtasks: [
- { TaskID: 8, TaskName: 'First leaf through coleoptile', StartDate: new Date('03/10/2019'), Duration: 1, Predecessor: '6FS' },
- { TaskID: 9, TaskName: 'First leaf unfolded', StartDate: new Date('03/11/2019'), Duration: 1, Predecessor: '8FS' },
- { TaskID: 10, TaskName: '3 leaves unfolded', StartDate: new Date('03/12/2019'), Duration: 2, Predecessor: '9FS' },
- { TaskID: 11, TaskName: '9 or more leaves unfolded', StartDate: new Date('03/14/2019'), Duration: 5, Predecessor: '10FS' },
+ { TaskID: 8, TaskName: 'First leaf through coleoptile', StartDate: new Date('03/10/2024'), Duration: 1, Predecessor: '6FS' },
+ { TaskID: 9, TaskName: 'First leaf unfolded', StartDate: new Date('03/11/2024'), Duration: 1, Predecessor: '8FS' },
+ { TaskID: 10, TaskName: '3 leaves unfolded', StartDate: new Date('03/12/2024'), Duration: 2, Predecessor: '9FS' },
+ { TaskID: 11, TaskName: '9 or more leaves unfolded', StartDate: new Date('03/14/2024'), Duration: 5, Predecessor: '10FS' },
]
},
{
TaskID: 12,
TaskName: 'Tillering',
- StartDate: new Date('03/18/2019'),
+ StartDate: new Date('03/18/2024'),
subtasks: [
{
TaskID: 13, TaskName: 'Beginning of tillering: first tiller detectable',
- StartDate: new Date('03/18/2019'), Duration: 0, Predecessor: '11FS'
+ StartDate: new Date('03/18/2024'), Duration: 0, Predecessor: '11FS'
},
- { TaskID: 14, TaskName: '2 tillers detectable', StartDate: new Date('03/19/2019'), Duration: 3, Predecessor: '13FS' },
- { TaskID: 15, TaskName: '3 tillers detectable', StartDate: new Date('03/22/2019'), Duration: 3, Predecessor: '14FS' },
+ { TaskID: 14, TaskName: '2 tillers detectable', StartDate: new Date('03/19/2024'), Duration: 3, Predecessor: '13FS' },
+ { TaskID: 15, TaskName: '3 tillers detectable', StartDate: new Date('03/22/2024'), Duration: 3, Predecessor: '14FS' },
{
- TaskID: 16, TaskName: 'Maximum no. of tillers detectable', StartDate: new Date('03/25/2019'),
+ TaskID: 16, TaskName: 'Maximum no. of tillers detectable', StartDate: new Date('03/25/2024'),
Duration: 6, Predecessor: '15FS'
},
- { TaskID: 17, TaskName: 'End of tillering', StartDate: new Date('03/30/2019'), Duration: 0, Predecessor: '16FS' },
+ { TaskID: 17, TaskName: 'End of tillering', StartDate: new Date('03/30/2024'), Duration: 0, Predecessor: '16FS' },
]
},
{
TaskID: 18,
TaskName: 'Stem elongation',
- StartDate: new Date('03/30/2019'),
+ StartDate: new Date('03/30/2024'),
subtasks: [
{
TaskID: 19,
TaskName: 'Beginning of stem elongation: pseudostem and tillers erect, first internode begins to elongate,' +
'top of inflorescence at least 1 cm above tillering node',
- StartDate: new Date('03/30/2019'),
+ StartDate: new Date('03/30/2024'),
Duration: 0,
Predecessor: '17FS'
},
{
- TaskID: 20, TaskName: 'First node at least 1 cm above tillering node', StartDate: new Date('03/31/2019'),
+ TaskID: 20, TaskName: 'First node at least 1 cm above tillering node', StartDate: new Date('03/31/2024'),
Duration: 1, Predecessor: '19FS'
},
{
- TaskID: 21, TaskName: 'Node 3 at least 2 cm above node 2', StartDate: new Date('04/01/2019'),
+ TaskID: 21, TaskName: 'Node 3 at least 2 cm above node 2', StartDate: new Date('04/01/2024'),
Duration: 2, Predecessor: '20FS'
},
{
- TaskID: 22, TaskName: 'Flag leaf just visible, still rolled', StartDate: new Date('04/03/2019'),
+ TaskID: 22, TaskName: 'Flag leaf just visible, still rolled', StartDate: new Date('04/03/2024'),
Duration: 4, Predecessor: '21FS'
},
{
- TaskID: 23, TaskName: 'Flag leaf stage: flag leaf fully unrolled, ligule just visible', StartDate: new Date('04/07/2019'),
+ TaskID: 23, TaskName: 'Flag leaf stage: flag leaf fully unrolled, ligule just visible', StartDate: new Date('04/07/2024'),
Duration: 2, Predecessor: '22FS'
},
]
@@ -645,23 +645,23 @@ export let remoteData: Object[] = [
{
TaskID: 24,
TaskName: 'Booting',
- StartDate: new Date('04/09/2019'),
+ StartDate: new Date('04/09/2024'),
subtasks: [
{
- TaskID: 25, TaskName: 'Early boot stage: flag leaf sheath extending', StartDate: new Date('04/09/2019'),
+ TaskID: 25, TaskName: 'Early boot stage: flag leaf sheath extending', StartDate: new Date('04/09/2024'),
Duration: 2, Predecessor: '23FS'
},
{
- TaskID: 26, TaskName: 'Mid boot stage: flag leaf sheath just visibly swollen', StartDate: new Date('04/11/2019'),
+ TaskID: 26, TaskName: 'Mid boot stage: flag leaf sheath just visibly swollen', StartDate: new Date('04/11/2024'),
Duration: 2, Predecessor: '25FS'
},
{
- TaskID: 27, TaskName: 'Late boot stage: flag leaf sheath swollen', StartDate: new Date('04/13/2019'),
+ TaskID: 27, TaskName: 'Late boot stage: flag leaf sheath swollen', StartDate: new Date('04/13/2024'),
Duration: 2, Predecessor: '26FS'
},
- { TaskID: 28, TaskName: 'Flag leaf sheath opening', StartDate: new Date('04/15/2019'), Duration: 2, Predecessor: '27FS' },
+ { TaskID: 28, TaskName: 'Flag leaf sheath opening', StartDate: new Date('04/15/2024'), Duration: 2, Predecessor: '27FS' },
{
- TaskID: 29, TaskName: 'First awns visible (in awned forms only)', StartDate: new Date('04/17/2019'),
+ TaskID: 29, TaskName: 'First awns visible (in awned forms only)', StartDate: new Date('04/17/2024'),
Duration: 2, Predecessor: '28FS'
},
]
@@ -669,22 +669,22 @@ export let remoteData: Object[] = [
{
TaskID: 30,
TaskName: 'Inflorescence emergence, heading',
- StartDate: new Date('04/18/2019'),
+ StartDate: new Date('04/18/2024'),
subtasks: [
{
TaskID: 31, TaskName: 'Beginning of heading: tip of inflorescence emerged from sheath, first spikelet just visible',
- StartDate: new Date('04/18/2019'), Duration: 0, Predecessor: '29FS'
+ StartDate: new Date('04/18/2024'), Duration: 0, Predecessor: '29FS'
},
- { TaskID: 32, TaskName: '20% of inflorescence emerged', StartDate: new Date('04/19/2019'), Duration: 3, Predecessor: '31FS' },
- { TaskID: 33, TaskName: '40% of inflorescence emerged', StartDate: new Date('04/22/2019'), Duration: 2, Predecessor: '32FS' },
+ { TaskID: 32, TaskName: '20% of inflorescence emerged', StartDate: new Date('04/19/2024'), Duration: 3, Predecessor: '31FS' },
+ { TaskID: 33, TaskName: '40% of inflorescence emerged', StartDate: new Date('04/22/2024'), Duration: 2, Predecessor: '32FS' },
{
- TaskID: 34, TaskName: 'Middle of heading: half of inflorescence emerged', StartDate: new Date('04/23/2019'),
+ TaskID: 34, TaskName: 'Middle of heading: half of inflorescence emerged', StartDate: new Date('04/23/2024'),
Duration: 0, Predecessor: '33FS'
},
- { TaskID: 35, TaskName: '60% of inflorescence emerged', StartDate: new Date('04/24/2019'), Duration: 2, Predecessor: '34FS' },
- { TaskID: 36, TaskName: '80% of inflorescence emerged', StartDate: new Date('04/26/2019'), Duration: 3, Predecessor: '35FS' },
+ { TaskID: 35, TaskName: '60% of inflorescence emerged', StartDate: new Date('04/24/2024'), Duration: 2, Predecessor: '34FS' },
+ { TaskID: 36, TaskName: '80% of inflorescence emerged', StartDate: new Date('04/26/2024'), Duration: 3, Predecessor: '35FS' },
{
- TaskID: 37, TaskName: 'End of heading: inflorescence fully emerged', StartDate: new Date('04/28/2019'),
+ TaskID: 37, TaskName: 'End of heading: inflorescence fully emerged', StartDate: new Date('04/28/2024'),
Duration: 0, Predecessor: '36FS'
},
]
@@ -692,72 +692,72 @@ export let remoteData: Object[] = [
{
TaskID: 38,
TaskName: 'Flowering, anthesis',
- StartDate: new Date('04/28/2019'),
+ StartDate: new Date('04/28/2024'),
subtasks: [
{
- TaskID: 39, TaskName: 'Beginning of flowering: first anthers visible', StartDate: new Date('04/28/2019'),
+ TaskID: 39, TaskName: 'Beginning of flowering: first anthers visible', StartDate: new Date('04/28/2024'),
Duration: 0, Predecessor: '37FS'
},
{
- TaskID: 40, TaskName: 'Full flowering: 50% of anthers mature', StartDate: new Date('04/29/2019'),
+ TaskID: 40, TaskName: 'Full flowering: 50% of anthers mature', StartDate: new Date('04/29/2024'),
Duration: 5, Predecessor: '39FS'
},
{
- TaskID: 41, TaskName: 'Spikelet have completed flowering', StartDate: new Date('05/04/2019'),
+ TaskID: 41, TaskName: 'Spikelet have completed flowering', StartDate: new Date('05/04/2024'),
Duration: 5, Predecessor: '40FS'
},
- { TaskID: 42, TaskName: 'End of flowering', StartDate: new Date('05/08/2019'), Duration: 0, Predecessor: '41FS' },
+ { TaskID: 42, TaskName: 'End of flowering', StartDate: new Date('05/08/2024'), Duration: 0, Predecessor: '41FS' },
]
},
{
TaskID: 43,
TaskName: 'Development of fruit',
- StartDate: new Date('05/08/2019'),
+ StartDate: new Date('05/08/2024'),
subtasks: [
{
TaskID: 44, TaskName: 'Watery ripe: first grains have reached half their final size',
- StartDate: new Date('05/08/2019'), Duration: 0, Predecessor: '42FS'
+ StartDate: new Date('05/08/2024'), Duration: 0, Predecessor: '42FS'
},
- { TaskID: 45, TaskName: 'Early milk', StartDate: new Date('05/09/2019'), Duration: 3, Predecessor: '44FS' },
+ { TaskID: 45, TaskName: 'Early milk', StartDate: new Date('05/09/2024'), Duration: 3, Predecessor: '44FS' },
{
TaskID: 46, TaskName: 'Medium milk: grain content milky, grains reached final size,still green',
- StartDate: new Date('05/12/2019'), Duration: 3, Predecessor: '45FS'
+ StartDate: new Date('05/12/2024'), Duration: 3, Predecessor: '45FS'
},
- { TaskID: 47, TaskName: 'Late milk', StartDate: new Date('05/15/2019'), Duration: 2, Predecessor: '46FS' },
+ { TaskID: 47, TaskName: 'Late milk', StartDate: new Date('05/15/2024'), Duration: 2, Predecessor: '46FS' },
]
},
{
TaskID: 48,
TaskName: 'Ripening',
- StartDate: new Date('05/17/2019'),
+ StartDate: new Date('05/17/2024'),
subtasks: [
- { TaskID: 49, TaskName: 'Early dough', StartDate: new Date('05/17/2019'), Duration: 6, Predecessor: '47FS' },
+ { TaskID: 49, TaskName: 'Early dough', StartDate: new Date('05/17/2024'), Duration: 6, Predecessor: '47FS' },
{
TaskID: 50, TaskName: 'Soft dough: grain content soft but dry. Fingernail impression not held',
- StartDate: new Date('05/23/2019'), Duration: 2, Predecessor: '49FS'
+ StartDate: new Date('05/23/2024'), Duration: 2, Predecessor: '49FS'
},
{
TaskID: 51, TaskName: 'Hard dough: grain content solid. Fingernail impression held',
- StartDate: new Date('05/25/2019'), Duration: 2, Predecessor: '50FS'
+ StartDate: new Date('05/25/2024'), Duration: 2, Predecessor: '50FS'
},
{
TaskID: 52, TaskName: 'Fully ripe: grain hard, difficult to divide with thumbnail',
- StartDate: new Date('05/27/2019'), Duration: 2, Predecessor: '51FS'
+ StartDate: new Date('05/27/2024'), Duration: 2, Predecessor: '51FS'
},
]
},
{
TaskID: 53,
TaskName: 'Senescence',
- StartDate: new Date('05/29/2019'),
+ StartDate: new Date('05/29/2024'),
subtasks: [
{
TaskID: 54, TaskName: 'Over-ripe: grain very hard, cannot be dented by thumbnail',
- StartDate: new Date('05/29/2019'), Duration: 3, Predecessor: '52FS'
+ StartDate: new Date('05/29/2024'), Duration: 3, Predecessor: '52FS'
},
- { TaskID: 55, TaskName: 'Grains loosening in day-time', StartDate: new Date('06/01/2019'), Duration: 1, Predecessor: '54FS' },
- { TaskID: 56, TaskName: 'Plant dead and collapsing', StartDate: new Date('06/02/2019'), Duration: 4, Predecessor: '55FS' },
- { TaskID: 57, TaskName: 'Harvested product', StartDate: new Date('06/06/2019'), Duration: 2, Predecessor: '56FS' },
+ { TaskID: 55, TaskName: 'Grains loosening in day-time', StartDate: new Date('06/01/2024'), Duration: 1, Predecessor: '54FS' },
+ { TaskID: 56, TaskName: 'Plant dead and collapsing', StartDate: new Date('06/02/2024'), Duration: 4, Predecessor: '55FS' },
+ { TaskID: 57, TaskName: 'Harvested product', StartDate: new Date('06/06/2024'), Duration: 2, Predecessor: '56FS' },
]
},
];
@@ -976,137 +976,137 @@ export let filteredData: Object[] = [
export let customizedData: Object[] = [
{
TaskId: 1, TaskName: 'Oscar moments', Performance: 'Jimmy kimmel hosts the show',
- StartDate: new Date('03/05/2018 06:00:00 PM'), EndDate: new Date('03/05/2018 06:15:00 PM')
+ StartDate: new Date('03/05/2024 06:00:00 PM'), EndDate: new Date('03/05/2024 06:15:00 PM')
},
{
TaskId: 2, TaskName: 'Actor in a supporting role', Predecessor: '1FS',
- StartDate: new Date('03/05/2018 06:16:00 PM'), EndDate: new Date('03/05/2018 06:25:00 PM'),
+ StartDate: new Date('03/05/2024 06:16:00 PM'), EndDate: new Date('03/05/2024 06:25:00 PM'),
Winner: 'Sam Rockwell', Movie: 'Three Billboards Outside Ebbing, Missouri.'
},
{
TaskId: 3, TaskName: 'Hair and makeup', Movie: 'Darkest Hour', Predecessor: '2FS',
- StartDate: new Date('03/05/2018 06:26:00 PM'), EndDate: new Date('03/05/2018 06:32:00 PM')
+ StartDate: new Date('03/05/2024 06:26:00 PM'), EndDate: new Date('03/05/2024 06:32:00 PM')
},
{
TaskId: 4, TaskName: 'Costume design', Winner: 'Mark Bridges', Movie: 'Phantom Thread', Predecessor: '3FS',
- StartDate: new Date('03/05/2018 06:33:00 PM'), EndDate: new Date('03/05/2018 06:40:00 PM')
+ StartDate: new Date('03/05/2024 06:33:00 PM'), EndDate: new Date('03/05/2024 06:40:00 PM')
},
{
TaskId: 5, TaskName: 'Documentary feature', Winner: 'Bryan Fogel', Movie: ' Icarus', Predecessor: '4FS',
- StartDate: new Date('03/05/2018 06:41:00 PM'), EndDate: new Date('03/05/2018 06:58:00 PM')
+ StartDate: new Date('03/05/2024 06:41:00 PM'), EndDate: new Date('03/05/2024 06:58:00 PM')
},
{
TaskId: 6, TaskName: 'Best sound editing and sound mixing', Winner: 'Richard King and Alex Gibson', Movie: 'Dunkirk',
- StartDate: new Date('03/05/2018 06:59:00 PM'), EndDate: new Date('03/05/2018 07:10:00 PM'), Predecessor: '5FS'
+ StartDate: new Date('03/05/2024 06:59:00 PM'), EndDate: new Date('03/05/2024 07:10:00 PM'), Predecessor: '5FS'
},
{
TaskId: 7, TaskName: 'Production design', Movie: 'The Shape of Water', Predecessor: '6FS',
- StartDate: new Date('03/05/2018 07:11:00 PM'), EndDate: new Date('03/05/2018 07:15:00 PM')
+ StartDate: new Date('03/05/2024 07:11:00 PM'), EndDate: new Date('03/05/2024 07:15:00 PM')
},
{
TaskId: 8, TaskName: 'Oscar performance', Performance: 'Second performance of the night is "Remember Me" from Coco',
- StartDate: new Date('03/05/2018 07:16:00 PM'), EndDate: new Date('03/05/2018 07:23:00 PM'), Predecessor: '7FS'
+ StartDate: new Date('03/05/2024 07:16:00 PM'), EndDate: new Date('03/05/2024 07:23:00 PM'), Predecessor: '7FS'
},
{
TaskId: 9, TaskName: 'Best foreign language film goes', Movie: 'A Fantastic Woman', Predecessor: '8FS',
- StartDate: new Date('03/05/2018 07:24:00 PM'), EndDate: new Date('03/05/2018 07:29:00 PM')
+ StartDate: new Date('03/05/2024 07:24:00 PM'), EndDate: new Date('03/05/2024 07:29:00 PM')
},
{
TaskId: 10, TaskName: 'Best supporting actress', Winner: 'Allison Janney', Movie: 'I, Tonya',
- StartDate: new Date('03/05/2018 07:30:00 PM'), EndDate: new Date('03/05/2018 07:35:00 PM'), Predecessor: '9FS'
+ StartDate: new Date('03/05/2024 07:30:00 PM'), EndDate: new Date('03/05/2024 07:35:00 PM'), Predecessor: '9FS'
},
{
TaskId: 11, TaskName: 'Best animated short', Winner: 'Kobe Bryant', Movie: 'Dear Basketball',
- StartDate: new Date('03/05/2018 07:36:00 PM'), EndDate: new Date('03/05/2018 07:45:00 PM'), Predecessor: '10FS'
+ StartDate: new Date('03/05/2024 07:36:00 PM'), EndDate: new Date('03/05/2024 07:45:00 PM'), Predecessor: '10FS'
},
{
TaskId: 12, TaskName: 'Award for best animated feature.', Movie: 'Coco', Predecessor: '11FS',
- StartDate: new Date('03/05/2018 07:46:00 PM'), EndDate: new Date('03/05/2018 07:52:00 PM')
+ StartDate: new Date('03/05/2024 07:46:00 PM'), EndDate: new Date('03/05/2024 07:52:00 PM')
},
{
TaskId: 13, TaskName: 'Best visual effects.', Movie: 'Blade Runner 2049', Predecessor: '12FS',
- StartDate: new Date('03/05/2018 07:53:00 PM'), EndDate: new Date('03/05/2018 07:56:00 PM')
+ StartDate: new Date('03/05/2024 07:53:00 PM'), EndDate: new Date('03/05/2024 07:56:00 PM')
},
{
TaskId: 14, TaskName: 'Achievement in film editing', Movie: 'Dunkirk', Predecessor: '13FS',
- StartDate: new Date('03/05/2018 07:57:00 PM'), EndDate: new Date('03/05/2018 07:59:00 PM')
+ StartDate: new Date('03/05/2024 07:57:00 PM'), EndDate: new Date('03/05/2024 07:59:00 PM')
},
{
TaskId: 15, TaskName: 'Oscar moments', Performance: 'Jimmy Kimmel surprises moviegoers along with celebrities',
- StartDate: new Date('03/05/2018 08:00:00 PM'), EndDate: new Date('03/05/2018 08:09:00 PM'), Predecessor: '14FS'
+ StartDate: new Date('03/05/2024 08:00:00 PM'), EndDate: new Date('03/05/2024 08:09:00 PM'), Predecessor: '14FS'
},
{
TaskId: 16, TaskName: 'Best documentary short', Movie: 'Heaven is a Traffic Jam on the 405', Predecessor: '15FS',
- StartDate: new Date('03/05/2018 08:10:00 PM'), EndDate: new Date('03/05/2018 08:12:00 PM')
+ StartDate: new Date('03/05/2024 08:10:00 PM'), EndDate: new Date('03/05/2024 08:12:00 PM')
},
{
TaskId: 17, TaskName: 'Best live action short film', Movie: 'The Silent Child', Predecessor: '16FS',
- StartDate: new Date('03/05/2018 08:13:00 PM'), EndDate: new Date('03/05/2018 08:15:00 PM')
+ StartDate: new Date('03/05/2024 08:13:00 PM'), EndDate: new Date('03/05/2024 08:15:00 PM')
},
{
TaskId: 18, TaskName: 'Oscar performance',
Performance: 'Jimmy Kimmel surprCommon and Andra Day performs "Stand Up for Something" by "Marshall"',
- StartDate: new Date('03/05/2018 08:16:00 PM'), EndDate: new Date('03/05/2018 08:25:00 PM'), Predecessor: '17FS'
+ StartDate: new Date('03/05/2024 08:16:00 PM'), EndDate: new Date('03/05/2024 08:25:00 PM'), Predecessor: '17FS'
},
{
TaskId: 19, TaskName: 'Oscar moments',
Performance: 'The Oscars are showcasing the #MeToo and #TimesUp movements with a montage and interviews with actors and filmmakers',
- StartDate: new Date('03/05/2018 08:26:00 PM'), EndDate: new Date('03/05/2018 08:29:00 PM'), Predecessor: '18FS'
+ StartDate: new Date('03/05/2024 08:26:00 PM'), EndDate: new Date('03/05/2024 08:29:00 PM'), Predecessor: '18FS'
},
{
TaskId: 20, TaskName: 'Oscar for best adapted screenplay', Winner: 'James Ivory', Movie: 'Call Me By Your Name',
- StartDate: new Date('03/05/2018 08:30:00 PM'), EndDate: new Date('03/05/2018 08:35:00 PM'), Predecessor: '19FS'
+ StartDate: new Date('03/05/2024 08:30:00 PM'), EndDate: new Date('03/05/2024 08:35:00 PM'), Predecessor: '19FS'
},
{
TaskId: 21, TaskName: 'Oscar for best original screenplay', Winner: 'Jordan Peele', Movie: 'Get Out',
- StartDate: new Date('03/05/2018 08:36:00 PM'), EndDate: new Date('03/05/2018 08:44:00 PM'), Predecessor: '20FS'
+ StartDate: new Date('03/05/2024 08:36:00 PM'), EndDate: new Date('03/05/2024 08:44:00 PM'), Predecessor: '20FS'
},
{
TaskId: 22, TaskName: 'Oscar moments',
Performance: 'Who’s trending on Twitter at the Oscars? Actors Timothée Chalamet, Chadwick Boseman,' +
'Tom Holland, Lupita Nyong’o and Adam Rippon.',
- StartDate: new Date('03/05/2018 08:40:00 PM'), EndDate: new Date('03/05/2018 08:45:00 PM'), Predecessor: '21FS'
+ StartDate: new Date('03/05/2024 08:40:00 PM'), EndDate: new Date('03/05/2024 08:45:00 PM'), Predecessor: '21FS'
},
{
TaskId: 23, TaskName: 'Best cinematography', Winner: 'Roger A. Deakins', Movie: 'Blade Runner 2049',
- StartDate: new Date('03/05/2018 08:46:00 PM'), EndDate: new Date('03/05/2018 08:48:00 PM'), Predecessor: '22FS'
+ StartDate: new Date('03/05/2024 08:46:00 PM'), EndDate: new Date('03/05/2024 08:48:00 PM'), Predecessor: '22FS'
},
{
TaskId: 24, TaskName: 'Oscar performance',
Performance: 'Keala Settle performs the nominated song "This is Me" from "The Greatest Showman".',
- StartDate: new Date('03/05/2018 08:49:00 PM'), EndDate: new Date('03/05/2018 08:54:00 PM'), Predecessor: '23FS'
+ StartDate: new Date('03/05/2024 08:49:00 PM'), EndDate: new Date('03/05/2024 08:54:00 PM'), Predecessor: '23FS'
},
{
TaskId: 25, TaskName: 'Best original score', Movie: 'The Shape of Water', Predecessor: '24FS',
- StartDate: new Date('03/05/2018 08:55:00 PM'), EndDate: new Date('03/05/2018 08:59:00 PM')
+ StartDate: new Date('03/05/2024 08:55:00 PM'), EndDate: new Date('03/05/2024 08:59:00 PM')
},
{
TaskId: 26, TaskName: 'Award for original song', Winner: 'Remember Me', Movie: 'Coco', Predecessor: '25FS',
- StartDate: new Date('03/05/2018 09:00:00 PM'), EndDate: new Date('03/05/2018 09:07:00 PM')
+ StartDate: new Date('03/05/2024 09:00:00 PM'), EndDate: new Date('03/05/2024 09:07:00 PM')
},
{
TaskId: 27, TaskName: 'Oscar moments', Performance: 'Time to pay tribute to those in the cinema world we lost last year',
- StartDate: new Date('03/05/2018 09:05:00 PM'), EndDate: new Date('03/05/2018 09:11:00 PM'), Predecessor: '26FS'
+ StartDate: new Date('03/05/2024 09:05:00 PM'), EndDate: new Date('03/05/2024 09:11:00 PM'), Predecessor: '26FS'
},
{
TaskId: 28, TaskName: 'Oscar for best director', Winner: 'Guillermo del Toro', Movie: 'The Shape of Water',
- StartDate: new Date('03/05/2018 09:12:00 PM'), EndDate: new Date('03/05/2018 09:19:00 PM'), Predecessor: '27FS'
+ StartDate: new Date('03/05/2024 09:12:00 PM'), EndDate: new Date('03/05/2024 09:19:00 PM'), Predecessor: '27FS'
},
{
TaskId: 29, TaskName: 'Best actor in a leading role', Winner: 'Gary Oldman', Movie: 'The Shape of Water',
- StartDate: new Date('03/05/2018 09:20:00 PM'), EndDate: new Date('03/05/2018 09:29:00 PM'), Predecessor: '28FS'
+ StartDate: new Date('03/05/2024 09:20:00 PM'), EndDate: new Date('03/05/2024 09:29:00 PM'), Predecessor: '28FS'
},
{
TaskId: 30, TaskName: 'Best leading actress', Winner: 'Frances McDormand', Movie: 'Three Billboards Outside Ebbing, Missouri',
- StartDate: new Date('03/05/2018 09:30:00 PM'), EndDate: new Date('03/05/2018 09:44:00 PM'), Predecessor: '29FS'
+ StartDate: new Date('03/05/2024 09:30:00 PM'), EndDate: new Date('03/05/2024 09:44:00 PM'), Predecessor: '29FS'
},
{
TaskId: 31, TaskName: 'Oscar for best picture.', Movie: 'The Shape of Water', Predecessor: '30FS',
- StartDate: new Date('03/05/2018 09:45:00 PM'), EndDate: new Date('03/05/2018 10:00:00 PM')
+ StartDate: new Date('03/05/2024 09:45:00 PM'), EndDate: new Date('03/05/2024 10:00:00 PM')
},
{
TaskId: 32, TaskName: 'Oscar moments', Performance: '90th Academy awards wind-up', Predecessor: '31FS',
- StartDate: new Date('03/05/2018 10:00:00 PM'), EndDate: new Date('03/05/2018 10:00:00 PM'), Duration: 0
+ StartDate: new Date('03/05/2024 10:00:00 PM'), EndDate: new Date('03/05/2024 10:00:00 PM'), Duration: 0
}
];
@@ -1121,96 +1121,96 @@ export let projectData: Object[] = [
{
taskID: 1,
taskName: 'Project schedule',
- startDate: new Date('02/08/2019'),
- endDate: new Date('03/15/2019'),
+ startDate: new Date('02/08/2024'),
+ endDate: new Date('03/15/2024'),
subtasks: [
{
taskID: 2,
taskName: 'Planning',
- startDate: new Date('02/08/2019'),
- endDate: new Date('02/12/2019'),
+ startDate: new Date('02/08/2024'),
+ endDate: new Date('02/12/2024'),
subtasks: [
{
- taskID: 3, taskName: 'Plan timeline', startDate: new Date('02/08/2019'),
- endDate: new Date('02/12/2019'), duration: 5, progress: '100', resourceId: [1]
+ taskID: 3, taskName: 'Plan timeline', startDate: new Date('02/08/2024'),
+ endDate: new Date('02/12/2024'), duration: 5, progress: '100', resourceId: [1]
},
{
- taskID: 4, taskName: 'Plan budget', startDate: new Date('02/08/2019'),
- endDate: new Date('02/12/2019'), duration: 5, progress: '100', resourceId: [1]
+ taskID: 4, taskName: 'Plan budget', startDate: new Date('02/08/2024'),
+ endDate: new Date('02/12/2024'), duration: 5, progress: '100', resourceId: [1]
},
{
- taskID: 5, taskName: 'Allocate resources', startDate: new Date('02/08/2019'),
- endDate: new Date('02/12/2019'), duration: 5, progress: '100', resourceId: [1]
+ taskID: 5, taskName: 'Allocate resources', startDate: new Date('02/08/2024'),
+ endDate: new Date('02/12/2024'), duration: 5, progress: '100', resourceId: [1]
},
{
- taskID: 6, taskName: 'Planning complete', startDate: new Date('02/10/2019'),
- endDate: new Date('02/10/2019'), duration: 0, predecessor: '3FS,4FS,5FS'
+ taskID: 6, taskName: 'Planning complete', startDate: new Date('02/10/2024'),
+ endDate: new Date('02/10/2024'), duration: 0, predecessor: '3FS,4FS,5FS'
}
]
}, {
taskID: 7,
taskName: 'Design',
- startDate: new Date('02/15/2019'),
- endDate: new Date('02/19/2019'),
+ startDate: new Date('02/15/2024'),
+ endDate: new Date('02/19/2024'),
subtasks: [
{
- taskID: 8, taskName: 'Software specification', startDate: new Date('02/15/2019'),
- endDate: new Date('02/17/2019'), duration: 3, progress: '60', predecessor: '6FS', resourceId: [2]
+ taskID: 8, taskName: 'Software specification', startDate: new Date('02/15/2024'),
+ endDate: new Date('02/17/2024'), duration: 3, progress: '60', predecessor: '6FS', resourceId: [2]
},
{
- taskID: 9, taskName: 'Develop prototype', startDate: new Date('02/15/2019'),
- endDate: new Date('02/17/2019'), duration: 3, progress: '100', predecessor: '6FS', resourceId: [3]
+ taskID: 9, taskName: 'Develop prototype', startDate: new Date('02/15/2024'),
+ endDate: new Date('02/17/2024'), duration: 3, progress: '100', predecessor: '6FS', resourceId: [3]
},
{
- taskID: 10, taskName: 'Get approval from customer', startDate: new Date('02/18/2019'),
- endDate: new Date('02/19/2019'), duration: 2, progress: '100', predecessor: '9FS', resourceId: [1]
+ taskID: 10, taskName: 'Get approval from customer', startDate: new Date('02/18/2024'),
+ endDate: new Date('02/19/2024'), duration: 2, progress: '100', predecessor: '9FS', resourceId: [1]
},
{
- taskID: 11, taskName: 'Design complete', startDate: new Date('02/17/2019'),
- endDate: new Date('02/17/2019'), duration: 0, predecessor: '10FS'
+ taskID: 11, taskName: 'Design complete', startDate: new Date('02/17/2024'),
+ endDate: new Date('02/17/2024'), duration: 0, predecessor: '10FS'
}
]
},
{
taskID: 12,
taskName: 'Implementation phase',
- startDate: new Date('02/25/2019'),
- endDate: new Date('03/05/2019'),
+ startDate: new Date('02/25/2024'),
+ endDate: new Date('03/05/2024'),
subtasks: [
{
taskID: 13,
taskName: 'Phase 1',
- startDate: new Date('02/25/2019'),
- endDate: new Date('03/07/2019'),
+ startDate: new Date('02/25/2024'),
+ endDate: new Date('03/07/2024'),
subtasks: [{
taskID: 14,
taskName: 'Implementation module 1',
- startDate: new Date('02/25/2019'),
- endDate: new Date('03/07/2019'),
+ startDate: new Date('02/25/2024'),
+ endDate: new Date('03/07/2024'),
subtasks: [
{
- taskID: 15, taskName: 'Development task 1', startDate: new Date('02/22/2019'),
- endDate: new Date('02/24/2019'), duration: 3, progress: '50', predecessor: '11FS', resourceId: [3]
+ taskID: 15, taskName: 'Development task 1', startDate: new Date('02/22/2024'),
+ endDate: new Date('02/24/2024'), duration: 3, progress: '50', predecessor: '11FS', resourceId: [3]
},
{
- taskID: 16, taskName: 'Development task 2', startDate: new Date('02/22/2019'),
- endDate: new Date('02/24/2019'), duration: 3, progress: '50', predecessor: '11FS', resourceId: [3]
+ taskID: 16, taskName: 'Development task 2', startDate: new Date('02/22/2024'),
+ endDate: new Date('02/24/2024'), duration: 3, progress: '50', predecessor: '11FS', resourceId: [3]
},
{
- taskID: 17, taskName: 'Testing', startDate: new Date('02/25/2019'),
- endDate: new Date('02/26/2019'), duration: 2, progress: '0', predecessor: '15FS,16FS', resourceId: [4]
+ taskID: 17, taskName: 'Testing', startDate: new Date('02/25/2024'),
+ endDate: new Date('02/26/2024'), duration: 2, progress: '0', predecessor: '15FS,16FS', resourceId: [4]
},
{
- taskID: 18, taskName: 'Bug fix', startDate: new Date('03/01/2019'),
- endDate: new Date('03/02/2019'), duration: 2, progress: '0', predecessor: '17FS', resourceId: [3]
+ taskID: 18, taskName: 'Bug fix', startDate: new Date('03/01/2024'),
+ endDate: new Date('03/02/2024'), duration: 2, progress: '0', predecessor: '17FS', resourceId: [3]
},
{
- taskID: 19, taskName: 'Customer review meeting', startDate: new Date('03/03/2019'),
- endDate: new Date('03/07/2019'), duration: 2, progress: '0', predecessor: '18FS', resourceId: [1]
+ taskID: 19, taskName: 'Customer review meeting', startDate: new Date('03/03/2024'),
+ endDate: new Date('03/07/2024'), duration: 2, progress: '0', predecessor: '18FS', resourceId: [1]
},
{
- taskID: 20, taskName: 'Phase 1 complete', startDate: new Date('03/05/2019'),
- endDate: new Date('03/05/2019'), duration: 0, predecessor: '19FS'
+ taskID: 20, taskName: 'Phase 1 complete', startDate: new Date('03/05/2024'),
+ endDate: new Date('03/05/2024'), duration: 0, predecessor: '19FS'
}
]
@@ -1220,37 +1220,37 @@ export let projectData: Object[] = [
{
taskID: 21,
taskName: 'Phase 2',
- startDate: new Date('02/25/2019'),
- endDate: new Date('03/05/2019'),
+ startDate: new Date('02/25/2024'),
+ endDate: new Date('03/05/2024'),
subtasks: [{
taskID: 22,
taskName: 'Implementation Module 2',
- startDate: new Date('02/25/2019'),
- endDate: new Date('03/05/2019'),
+ startDate: new Date('02/25/2024'),
+ endDate: new Date('03/05/2024'),
subtasks: [
{
- taskID: 23, taskName: 'Development task 1', startDate: new Date('02/22/2019'),
- endDate: new Date('02/25/2019'), duration: 4, progress: '50', resourceId: [3]
+ taskID: 23, taskName: 'Development task 1', startDate: new Date('02/22/2024'),
+ endDate: new Date('02/25/2024'), duration: 4, progress: '50', resourceId: [3]
},
{
- taskID: 24, taskName: 'Development task 2', startDate: new Date('02/22/2019'),
- endDate: new Date('02/25/2019'), duration: 4, progress: '50', resourceId: [3]
+ taskID: 24, taskName: 'Development task 2', startDate: new Date('02/22/2024'),
+ endDate: new Date('02/25/2024'), duration: 4, progress: '50', resourceId: [3]
},
{
- taskID: 25, taskName: 'Testing', startDate: new Date('02/26/2019'),
- endDate: new Date('03/01/2019'), duration: 2, progress: '0', predecessor: '23FS,24FS', resourceId: [4]
+ taskID: 25, taskName: 'Testing', startDate: new Date('02/26/2024'),
+ endDate: new Date('03/01/2024'), duration: 2, progress: '0', predecessor: '23FS,24FS', resourceId: [4]
},
{
- taskID: 26, taskName: 'Bug fix', startDate: new Date('03/02/2019'),
- endDate: new Date('03/03/2019'), duration: 2, progress: '0', predecessor: '25FS', resourceId: [3]
+ taskID: 26, taskName: 'Bug fix', startDate: new Date('03/02/2024'),
+ endDate: new Date('03/03/2024'), duration: 2, progress: '0', predecessor: '25FS', resourceId: [3]
},
{
- taskID: 27, taskName: 'Customer review meeting', startDate: new Date('03/07/2019'),
- endDate: new Date('03/09/2019'), duration: 2, progress: '0', predecessor: '26FS', resourceId: [1]
+ taskID: 27, taskName: 'Customer review meeting', startDate: new Date('03/07/2024'),
+ endDate: new Date('03/09/2024'), duration: 2, progress: '0', predecessor: '26FS', resourceId: [1]
},
{
- taskID: 28, taskName: 'Phase 2 complete', startDate: new Date('03/03/2019'),
- endDate: new Date('03/03/2019'), duration: 0, predecessor: '27FS'
+ taskID: 28, taskName: 'Phase 2 complete', startDate: new Date('03/03/2024'),
+ endDate: new Date('03/03/2024'), duration: 0, predecessor: '27FS'
}
]
@@ -1260,38 +1260,38 @@ export let projectData: Object[] = [
{
taskID: 29,
taskName: 'Phase 3',
- startDate: new Date('02/25/2019'),
- endDate: new Date('03/07/2019'),
+ startDate: new Date('02/25/2024'),
+ endDate: new Date('03/07/2024'),
subtasks: [{
taskID: 30,
taskName: 'Implementation module 3',
- startDate: new Date('02/25/2019'),
- endDate: new Date('03/07/2019'),
+ startDate: new Date('02/25/2024'),
+ endDate: new Date('03/07/2024'),
subtasks: [
{
- taskID: 31, taskName: 'Development task 1', startDate: new Date('02/22/2019'),
- endDate: new Date('02/24/2019'), duration: 3, progress: '50', resourceId: [3]
+ taskID: 31, taskName: 'Development task 1', startDate: new Date('02/22/2024'),
+ endDate: new Date('02/24/2024'), duration: 3, progress: '50', resourceId: [3]
},
{
- taskID: 32, taskName: 'Development task 2', startDate: new Date('02/22/2019'),
- endDate: new Date('02/24/2019'), duration: 3, progress: '50', resourceId: [3]
+ taskID: 32, taskName: 'Development task 2', startDate: new Date('02/22/2024'),
+ endDate: new Date('02/24/2024'), duration: 3, progress: '50', resourceId: [3]
},
{
- taskID: 33, taskName: 'Testing', startDate: new Date('02/25/2019'), endDate: new Date('02/26/2019'),
+ taskID: 33, taskName: 'Testing', startDate: new Date('02/25/2024'), endDate: new Date('02/26/2024'),
duration: 2, progress: '0', predecessor: '31FS,32FS', resourceId: [4]
},
{
- taskID: 34, taskName: 'Bug fix', startDate: new Date('03/01/2019'), endDate: new Date('03/05/2019'),
+ taskID: 34, taskName: 'Bug fix', startDate: new Date('03/01/2024'), endDate: new Date('03/05/2024'),
duration: 2, progress: '0', predecessor: '33FS', resourceId: [3]
},
{
- taskID: 35, taskName: 'Customer review meeting', startDate: new Date('03/03/2019'),
- endDate: new Date('03/04/2019'), duration: 2, progress: '0', predecessor: '34FS',
+ taskID: 35, taskName: 'Customer review meeting', startDate: new Date('03/03/2024'),
+ endDate: new Date('03/04/2024'), duration: 2, progress: '0', predecessor: '34FS',
resourceId: [1]
},
{
- taskID: 36, taskName: 'Phase 3 complete', startDate: new Date('03/02/2019'),
- endDate: new Date('03/02/2019'), duration: 0, predecessor: '35FS'
+ taskID: 36, taskName: 'Phase 3 complete', startDate: new Date('03/02/2024'),
+ endDate: new Date('03/02/2024'), duration: 0, predecessor: '35FS'
},
]
@@ -1300,15 +1300,15 @@ export let projectData: Object[] = [
]
},
{
- taskID: 37, taskName: 'Integration', startDate: new Date('03/08/2019'), endDate: new Date('03/10/2019'), duration: 3,
+ taskID: 37, taskName: 'Integration', startDate: new Date('03/08/2024'), endDate: new Date('03/10/2024'), duration: 3,
progress: '0', predecessor: '20FS,28FS,36FS', resourceId: [3]
},
{
- taskID: 38, taskName: 'Final testing', startDate: new Date('03/11/2019'), endDate: new Date('03/12/2019'), duration: 2,
+ taskID: 38, taskName: 'Final testing', startDate: new Date('03/11/2024'), endDate: new Date('03/12/2024'), duration: 2,
progress: '0', predecessor: '37FS', resourceId: [4]
},
{
- taskID: 39, taskName: 'Final delivery', startDate: new Date('03/10/2019'), endDate: new Date('03/10/2019'),
+ taskID: 39, taskName: 'Final delivery', startDate: new Date('03/10/2024'), endDate: new Date('03/10/2024'),
duration: 0, predecessor: '38FS'
}
]
@@ -1317,140 +1317,140 @@ export let projectData: Object[] = [
export let baselineData: Object[] = [
{
- TaskId: 1, TaskName: 'Receive vehicle and create job card', BaselineStartDate: new Date('03/05/2018 10:00:00 AM'),
- BaselineEndDate: new Date('03/05/2018 10:00:00 AM'), StartDate: new Date('03/05/2018 10:00:00 AM'),
- EndDate: new Date('03/05/2018 10:00:00 AM')
+ TaskId: 1, TaskName: 'Receive vehicle and create job card', BaselineStartDate: new Date('03/05/2024 10:00:00 AM'),
+ BaselineEndDate: new Date('03/05/2024 10:00:00 AM'), StartDate: new Date('03/05/2024 10:00:00 AM'),
+ EndDate: new Date('03/05/2024 10:00:00 AM')
},
{
- TaskId: 2, TaskName: 'Allot mechanic and send vehicle to service bay', BaselineStartDate: new Date('03/05/2018 10:00:00 AM'),
- BaselineEndDate: new Date('03/05/2018 10:15:00 AM'), StartDate: new Date('03/05/2018 10:15:00 AM'),
- EndDate: new Date('03/05/2018 10:20:00 AM')
+ TaskId: 2, TaskName: 'Allot mechanic and send vehicle to service bay', BaselineStartDate: new Date('03/05/2024 10:00:00 AM'),
+ BaselineEndDate: new Date('03/05/2024 10:15:00 AM'), StartDate: new Date('03/05/2024 10:15:00 AM'),
+ EndDate: new Date('03/05/2024 10:20:00 AM')
},
{
TaskId: 3, TaskName: 'Change the receive vehicle and create job cardengine oil',
- BaselineStartDate: new Date('03/05/2018 10:15:00 AM'),
- BaselineEndDate: new Date('03/05/2018 10:45:00 AM'), StartDate: new Date('03/05/2018 10:20:00 AM'),
- EndDate: new Date('03/05/2018 10:35:00 AM')
+ BaselineStartDate: new Date('03/05/2024 10:15:00 AM'),
+ BaselineEndDate: new Date('03/05/2024 10:45:00 AM'), StartDate: new Date('03/05/2024 10:20:00 AM'),
+ EndDate: new Date('03/05/2024 10:35:00 AM')
},
{
- TaskId: 4, TaskName: 'Replace the oil filter', BaselineStartDate: new Date('03/05/2018 10:45:00 AM'),
- BaselineEndDate: new Date('03/05/2018 11:15:00 AM'), StartDate: new Date('03/05/2018 10:35:00 AM'),
- EndDate: new Date('03/05/2018 11:00:00 AM')
+ TaskId: 4, TaskName: 'Replace the oil filter', BaselineStartDate: new Date('03/05/2024 10:45:00 AM'),
+ BaselineEndDate: new Date('03/05/2024 11:15:00 AM'), StartDate: new Date('03/05/2024 10:35:00 AM'),
+ EndDate: new Date('03/05/2024 11:00:00 AM')
},
{
- TaskId: 5, TaskName: 'Replace the air filter', BaselineStartDate: new Date('03/05/2018 10:45:00 AM'),
- BaselineEndDate: new Date('03/05/2018 11:15:00 AM'), StartDate: new Date('03/05/2018 10:35:00 AM'),
- EndDate: new Date('03/05/2018 11:00:00 AM')
+ TaskId: 5, TaskName: 'Replace the air filter', BaselineStartDate: new Date('03/05/2024 10:45:00 AM'),
+ BaselineEndDate: new Date('03/05/2024 11:15:00 AM'), StartDate: new Date('03/05/2024 10:35:00 AM'),
+ EndDate: new Date('03/05/2024 11:00:00 AM')
},
{
- TaskId: 6, TaskName: 'Replace the fuel filter', BaselineStartDate: new Date('03/05/2018 11:15:00 AM'),
- BaselineEndDate: new Date('03/05/2018 11:25:00 AM'), StartDate: new Date('03/05/2018 11:00:00 AM'),
- EndDate: new Date('03/05/2018 11:20:00 AM')
+ TaskId: 6, TaskName: 'Replace the fuel filter', BaselineStartDate: new Date('03/05/2024 11:15:00 AM'),
+ BaselineEndDate: new Date('03/05/2024 11:25:00 AM'), StartDate: new Date('03/05/2024 11:00:00 AM'),
+ EndDate: new Date('03/05/2024 11:20:00 AM')
},
{
- TaskId: 7, TaskName: 'Replace the cabin filter', BaselineStartDate: new Date('03/05/2018 11:00:00 AM'),
- BaselineEndDate: new Date('03/05/2018 11:20:00 AM'), StartDate: new Date('03/05/2018 11:00:00 AM'),
- EndDate: new Date('03/05/2018 11:25:00 AM')
+ TaskId: 7, TaskName: 'Replace the cabin filter', BaselineStartDate: new Date('03/05/2024 11:00:00 AM'),
+ BaselineEndDate: new Date('03/05/2024 11:20:00 AM'), StartDate: new Date('03/05/2024 11:00:00 AM'),
+ EndDate: new Date('03/05/2024 11:25:00 AM')
},
{
- TaskId: 8, TaskName: 'Replace the spark plugs', BaselineStartDate: new Date('03/05/2018 11:00:00 AM'),
- BaselineEndDate: new Date('03/05/2018 11:30:00 AM'), StartDate: new Date('03/05/2018 11:25:00 AM'),
- EndDate: new Date('03/05/2018 11:45:00 AM')
+ TaskId: 8, TaskName: 'Replace the spark plugs', BaselineStartDate: new Date('03/05/2024 11:00:00 AM'),
+ BaselineEndDate: new Date('03/05/2024 11:30:00 AM'), StartDate: new Date('03/05/2024 11:25:00 AM'),
+ EndDate: new Date('03/05/2024 11:45:00 AM')
},
{
- TaskId: 9, TaskName: 'Check level and refill brake fluid/clutch fluid', BaselineStartDate: new Date('03/05/2018 11:20:00 AM'),
- BaselineEndDate: new Date('03/05/2018 11:40:00 AM'), StartDate: new Date('03/05/2018 11:30:00 AM'),
- EndDate: new Date('03/05/2018 11:50:00 AM')
+ TaskId: 9, TaskName: 'Check level and refill brake fluid/clutch fluid', BaselineStartDate: new Date('03/05/2024 11:20:00 AM'),
+ BaselineEndDate: new Date('03/05/2024 11:40:00 AM'), StartDate: new Date('03/05/2024 11:30:00 AM'),
+ EndDate: new Date('03/05/2024 11:50:00 AM')
},
{
TaskId: 10, TaskName: 'Check Brake Pads/Liners, Brake Discs/Drums, and replace if worn out.',
- BaselineStartDate: new Date('03/05/2018 11:40:00 AM'),
- BaselineEndDate: new Date('03/05/2018 12:00:00 PM'), StartDate: new Date('03/05/2018 11:50:00 AM'),
- EndDate: new Date('03/05/2018 12:20:00 PM')
+ BaselineStartDate: new Date('03/05/2024 11:40:00 AM'),
+ BaselineEndDate: new Date('03/05/2024 12:00:00 PM'), StartDate: new Date('03/05/2024 11:50:00 AM'),
+ EndDate: new Date('03/05/2024 12:20:00 PM')
},
{
- TaskId: 11, TaskName: 'Check level and refill power steering fluid', BaselineStartDate: new Date('03/05/2018 11:40:00 AM'),
- BaselineEndDate: new Date('03/05/2018 12:00:00 PM'), StartDate: new Date('03/05/2018 11:50:00 AM'),
- EndDate: new Date('03/05/2018 12:15:00 PM')
+ TaskId: 11, TaskName: 'Check level and refill power steering fluid', BaselineStartDate: new Date('03/05/2024 11:40:00 AM'),
+ BaselineEndDate: new Date('03/05/2024 12:00:00 PM'), StartDate: new Date('03/05/2024 11:50:00 AM'),
+ EndDate: new Date('03/05/2024 12:15:00 PM')
},
{
TaskId: 12, TaskName: 'Check level and refill Automatic/Manual Transmission Fluid',
- BaselineStartDate: new Date('03/05/2018 12:00:00 PM'),
- BaselineEndDate: new Date('03/05/2018 12:35:00 PM'), StartDate: new Date('03/05/2018 11:50:00 AM'),
- EndDate: new Date('03/05/2018 12:20:00 PM')
+ BaselineStartDate: new Date('03/05/2024 12:00:00 PM'),
+ BaselineEndDate: new Date('03/05/2024 12:35:00 PM'), StartDate: new Date('03/05/2024 11:50:00 AM'),
+ EndDate: new Date('03/05/2024 12:20:00 PM')
},
{
- TaskId: 13, TaskName: 'Grease and lubricate components', BaselineStartDate: new Date('03/05/2018 12:20:00 PM'),
- BaselineEndDate: new Date('03/05/2018 12:35:00 PM'), StartDate: new Date('03/05/2018 12:20:00 PM'),
- EndDate: new Date('03/05/2018 12:45:00 PM')
+ TaskId: 13, TaskName: 'Grease and lubricate components', BaselineStartDate: new Date('03/05/2024 12:20:00 PM'),
+ BaselineEndDate: new Date('03/05/2024 12:35:00 PM'), StartDate: new Date('03/05/2024 12:20:00 PM'),
+ EndDate: new Date('03/05/2024 12:45:00 PM')
},
{
TaskId: 14, TaskName: 'Inspect and replace the timing belt or timing chain if needed',
- BaselineStartDate: new Date('03/05/2018 12:35:00 PM'),
- BaselineEndDate: new Date('03/05/2018 1:00:00 PM'), StartDate: new Date('03/05/2018 12:45:00 PM'),
- EndDate: new Date('03/05/2018 1:00:00 PM')
+ BaselineStartDate: new Date('03/05/2024 12:35:00 PM'),
+ BaselineEndDate: new Date('03/05/2024 1:00:00 PM'), StartDate: new Date('03/05/2024 12:45:00 PM'),
+ EndDate: new Date('03/05/2024 1:00:00 PM')
},
{
- TaskId: 15, TaskName: 'Wheel balancing', BaselineStartDate: new Date('03/05/2018 1:00:00 PM'),
- BaselineEndDate: new Date('03/05/2018 1:20:00 PM'), StartDate: new Date('03/05/2018 1:00:00 PM'),
- EndDate: new Date('03/05/2018 1:45:00 PM')
+ TaskId: 15, TaskName: 'Wheel balancing', BaselineStartDate: new Date('03/05/2024 1:00:00 PM'),
+ BaselineEndDate: new Date('03/05/2024 1:20:00 PM'), StartDate: new Date('03/05/2024 1:00:00 PM'),
+ EndDate: new Date('03/05/2024 1:45:00 PM')
},
{
- TaskId: 16, TaskName: 'Wheel alignment', BaselineStartDate: new Date('03/05/2018 1:20:00 PM'),
- BaselineEndDate: new Date('03/05/2018 1:45:00 PM'), StartDate: new Date('03/05/2018 1:45:00 PM'),
- EndDate: new Date('03/05/2018 2:45:00 PM')
+ TaskId: 16, TaskName: 'Wheel alignment', BaselineStartDate: new Date('03/05/2024 1:20:00 PM'),
+ BaselineEndDate: new Date('03/05/2024 1:45:00 PM'), StartDate: new Date('03/05/2024 1:45:00 PM'),
+ EndDate: new Date('03/05/2024 2:45:00 PM')
},
{
- TaskId: 17, TaskName: 'Check for proper operation of all lights, wipers etc.', BaselineStartDate: new Date('03/05/2018 1:50:00 PM'),
- BaselineEndDate: new Date('03/05/2018 02:30:00 PM'), StartDate: new Date('03/05/2018 02:45:00 PM'),
- EndDate: new Date('03/05/2018 03:30:00 PM')
+ TaskId: 17, TaskName: 'Check for proper operation of all lights, wipers etc.', BaselineStartDate: new Date('03/05/2024 1:50:00 PM'),
+ BaselineEndDate: new Date('03/05/2024 02:30:00 PM'), StartDate: new Date('03/05/2024 02:45:00 PM'),
+ EndDate: new Date('03/05/2024 03:30:00 PM')
},
{
TaskId: 18, TaskName: 'Check for any Error codes in the ECU and take corrective action.',
- BaselineStartDate: new Date('03/05/2018 2:30:00 PM'),
- BaselineEndDate: new Date('03/05/2018 3:30:00 PM'), StartDate: new Date('03/05/2018 03:30:00 PM'),
- EndDate: new Date('03/05/2018 04:15:00 PM')
+ BaselineStartDate: new Date('03/05/2024 2:30:00 PM'),
+ BaselineEndDate: new Date('03/05/2024 3:30:00 PM'), StartDate: new Date('03/05/2024 03:30:00 PM'),
+ EndDate: new Date('03/05/2024 04:15:00 PM')
},
{
- TaskId: 19, TaskName: 'Use scan tool read trouble code', BaselineStartDate: new Date('03/05/2018 03:30:00 PM'),
- BaselineEndDate: new Date('03/05/2018 04:45:00 PM'), StartDate: new Date('03/05/2018 04:15:00 PM'),
- EndDate: new Date('03/05/2018 04:45:00 PM')
+ TaskId: 19, TaskName: 'Use scan tool read trouble code', BaselineStartDate: new Date('03/05/2024 03:30:00 PM'),
+ BaselineEndDate: new Date('03/05/2024 04:45:00 PM'), StartDate: new Date('03/05/2024 04:15:00 PM'),
+ EndDate: new Date('03/05/2024 04:45:00 PM')
},
{
- TaskId: 20, TaskName: 'Exterior washing', BaselineStartDate: new Date('03/05/2018 04:45:00 PM'),
- BaselineEndDate: new Date('03/05/2018 05:15:00 PM'), StartDate: new Date('03/05/2018 04:45:00 PM'),
- EndDate: new Date('03/05/2018 05:30:00 PM')
+ TaskId: 20, TaskName: 'Exterior washing', BaselineStartDate: new Date('03/05/2024 04:45:00 PM'),
+ BaselineEndDate: new Date('03/05/2024 05:15:00 PM'), StartDate: new Date('03/05/2024 04:45:00 PM'),
+ EndDate: new Date('03/05/2024 05:30:00 PM')
},
{
- TaskId: 21, TaskName: 'Interior vacuuming', BaselineStartDate: new Date('03/05/2018 05:15:00 PM'),
- BaselineEndDate: new Date('03/05/2018 05:45:00 PM'), StartDate: new Date('03/05/2018 05:30:00 PM'),
- EndDate: new Date('03/05/2018 06:00:00 PM')
+ TaskId: 21, TaskName: 'Interior vacuuming', BaselineStartDate: new Date('03/05/2024 05:15:00 PM'),
+ BaselineEndDate: new Date('03/05/2024 05:45:00 PM'), StartDate: new Date('03/05/2024 05:30:00 PM'),
+ EndDate: new Date('03/05/2024 06:00:00 PM')
},
{
- TaskId: 22, TaskName: 'Final service inspection', BaselineStartDate: new Date('03/05/2018 05:45:00 PM'),
- BaselineEndDate: new Date('03/05/2018 06:00:00 PM'), StartDate: new Date('03/05/2018 06:00:00 PM'),
- EndDate: new Date('03/05/2018 06:30:00 PM')
+ TaskId: 22, TaskName: 'Final service inspection', BaselineStartDate: new Date('03/05/2024 05:45:00 PM'),
+ BaselineEndDate: new Date('03/05/2024 06:00:00 PM'), StartDate: new Date('03/05/2024 06:00:00 PM'),
+ EndDate: new Date('03/05/2024 06:30:00 PM')
},
{
- TaskId: 23, TaskName: 'Vehicle handover', BaselineStartDate: new Date('03/05/2018 06:00:00 PM'),
- BaselineEndDate: new Date('03/05/2018 06:00:00 PM'), StartDate: new Date('03/05/2018 06:30:00 PM'),
- EndDate: new Date('03/05/2018 06:30:00 PM')
+ TaskId: 23, TaskName: 'Vehicle handover', BaselineStartDate: new Date('03/05/2024 06:00:00 PM'),
+ BaselineEndDate: new Date('03/05/2024 06:00:00 PM'), StartDate: new Date('03/05/2024 06:30:00 PM'),
+ EndDate: new Date('03/05/2024 06:30:00 PM')
}
];
export let unscheduledData: Object[] = [
{
- TaskId: 1, TaskName: 'Task 1', StartDate: new Date('01/03/2019'),
- EndDate: new Date('01/08/2019'), Duration: '5', TaskType: ''
+ TaskId: 1, TaskName: 'Task 1', StartDate: new Date('01/03/2024'),
+ EndDate: new Date('01/08/2024'), Duration: '5', TaskType: ''
},
{
TaskId: 2, TaskName: 'Task 2', Duration: '5', TaskType: 'Task with duration only'
},
{
- TaskId: 3, TaskName: 'Task 3', StartDate: new Date('01/03/2019'), TaskType: 'Task with start date only'
+ TaskId: 3, TaskName: 'Task 3', StartDate: new Date('01/03/2024'), TaskType: 'Task with start date only'
},
{
- TaskId: 4, TaskName: 'Task 4', EndDate: new Date('01/08/2019'), TaskType: 'Task with end date only'
+ TaskId: 4, TaskName: 'Task 4', EndDate: new Date('01/08/2024'), TaskType: 'Task with end date only'
},
];
@@ -1458,23 +1458,23 @@ export let tooltipData: object[] = [
{
TaskID: 1,
TaskName: 'Project initiation',
- StartDate: new Date('04/02/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('04/02/2024'),
+ EndDate: new Date('04/21/2024'),
subtasks: [
{
- TaskID: 2, TaskName: 'Identify site location', StartDate: new Date('04/02/2019'), Duration: 0,
+ TaskID: 2, TaskName: 'Identify site location', StartDate: new Date('04/02/2024'), Duration: 0,
Progress: 30, resources: [1], info: 'Measure the total property area alloted for construction',
- BaselineStartDate: new Date('04/02/2019'), BaselineEndDate: new Date('04/02/2019')
+ BaselineStartDate: new Date('04/02/2024'), BaselineEndDate: new Date('04/02/2024')
},
{
- TaskID: 3, TaskName: 'Perform soil test', StartDate: new Date('04/02/2019'), Duration: 4, Predecessor: '2',
+ TaskID: 3, TaskName: 'Perform soil test', StartDate: new Date('04/02/2024'), Duration: 4, Predecessor: '2',
resources: [2], info: 'Obtain an engineered soil test of lot where construction is planned.' +
- 'From an engineer or company specializing in soil testing', BaselineStartDate: new Date('04/01/2019'),
- BaselineEndDate: new Date('04/04/2019')
+ 'From an engineer or company specializing in soil testing', BaselineStartDate: new Date('04/01/2024'),
+ BaselineEndDate: new Date('04/04/2024')
},
{
- TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('04/02/2019'), Duration: 0, Predecessor: '3', Progress: 30,
- BaselineStartDate: new Date('04/06/2019'), BaselineEndDate: new Date('04/06/2019')
+ TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('04/02/2024'), Duration: 0, Predecessor: '3', Progress: 30,
+ BaselineStartDate: new Date('04/06/2024'), BaselineEndDate: new Date('04/06/2024')
},
]
@@ -1482,58 +1482,58 @@ export let tooltipData: object[] = [
{
TaskID: 5,
TaskName: 'Project estimation',
- StartDate: new Date('04/02/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('04/02/2024'),
+ EndDate: new Date('04/21/2024'),
subtasks: [
{
- TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('04/04/2019'),
+ TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('04/04/2024'),
Duration: 3, Predecessor: '4', Progress: 30, resources: 4,
info: 'Develop floor plans and obtain a materials list for estimations',
- BaselineStartDate: new Date('04/05/2019'), BaselineEndDate: new Date('04/07/2019')
+ BaselineStartDate: new Date('04/05/2024'), BaselineEndDate: new Date('04/07/2024')
},
{
- TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/04/2019'),
+ TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/04/2024'),
Duration: 3, Predecessor: '6', resources: [4], info: '',
- BaselineStartDate: new Date('04/09/2019'), BaselineEndDate: new Date('04/12/2019')
+ BaselineStartDate: new Date('04/09/2024'), BaselineEndDate: new Date('04/12/2024')
},
{
- TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/04/2019'),
+ TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/04/2024'),
Duration: 0, Predecessor: '7', resources: [12], info: '',
- BaselineStartDate: new Date('04/16/2019'), BaselineEndDate: new Date('04/16/2019')
+ BaselineStartDate: new Date('04/16/2024'), BaselineEndDate: new Date('04/16/2024')
}
]
},
{
- TaskID: 9, TaskName: 'Sign contract', StartDate: new Date('04/04/2019'), Duration: 1,
+ TaskID: 9, TaskName: 'Sign contract', StartDate: new Date('04/04/2024'), Duration: 1,
Predecessor: '8', Progress: 30, resources: [12],
info: 'If required obtain approval from HOA (homeowners association) or ARC (architectural review committee)',
- BaselineStartDate: new Date('04/16/2019'), BaselineEndDate: new Date('04/17/2019')
+ BaselineStartDate: new Date('04/16/2024'), BaselineEndDate: new Date('04/17/2024')
},
{
TaskID: 10,
TaskName: 'Project approval and kick off',
- StartDate: new Date('04/04/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('04/04/2024'),
+ EndDate: new Date('04/21/2024'),
Duration: 0,
Predecessor: '9',
- BaselineStartDate: new Date('04/17/2019'), BaselineEndDate: new Date('04/17/2019')
+ BaselineStartDate: new Date('04/17/2024'), BaselineEndDate: new Date('04/17/2024')
},
{
TaskID: 11,
TaskName: 'Site work',
- StartDate: new Date('04/04/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('04/04/2024'),
+ EndDate: new Date('04/21/2024'),
subtasks: [
{
- TaskID: 12, TaskName: 'Clear the building site', StartDate: new Date('04/04/2019'),
+ TaskID: 12, TaskName: 'Clear the building site', StartDate: new Date('04/04/2024'),
Duration: 2, Progress: 30, Predecessor: '9',
info: 'Clear the building site (demolition of existing home if necessary)',
- BaselineStartDate: new Date('04/16/2019'), BaselineEndDate: new Date('04/18/2019')
+ BaselineStartDate: new Date('04/16/2024'), BaselineEndDate: new Date('04/18/2024')
},
{
- TaskID: 13, TaskName: 'Install temporary power service', StartDate: new Date('04/04/2019'),
+ TaskID: 13, TaskName: 'Install temporary power service', StartDate: new Date('04/04/2024'),
Duration: 2, Predecessor: '12', info: '',
- BaselineStartDate: new Date('04/17/2019'), BaselineEndDate: new Date('04/19/2019')
+ BaselineStartDate: new Date('04/17/2024'), BaselineEndDate: new Date('04/19/2024')
},
]
}
@@ -1543,21 +1543,21 @@ export let selfData: object[] = [
{
taskID: 1,
taskName: 'Project Schedule',
- startDate: new Date('02/04/2019'),
- endDate: new Date('03/10/2019')
+ startDate: new Date('02/04/2024'),
+ endDate: new Date('03/10/2024')
},
{
taskID: 2,
taskName: 'Planning',
- startDate: new Date('02/04/2019'),
- endDate: new Date('02/10/2019'),
+ startDate: new Date('02/04/2024'),
+ endDate: new Date('02/10/2024'),
parentID: 1
},
{
taskID: 3,
taskName: 'Plan timeline',
- startDate: new Date('02/04/2019'),
- endDate: new Date('02/10/2019'),
+ startDate: new Date('02/04/2024'),
+ endDate: new Date('02/10/2024'),
duration: 6,
progress: '60',
parentID: 2
@@ -1565,8 +1565,8 @@ export let selfData: object[] = [
{
taskID: 4,
taskName: 'Plan budget',
- startDate: new Date('02/04/2019'),
- endDate: new Date('02/10/2019'),
+ startDate: new Date('02/04/2024'),
+ endDate: new Date('02/10/2024'),
duration: 6,
progress: '90',
parentID: 2
@@ -1574,8 +1574,8 @@ export let selfData: object[] = [
{
taskID: 5,
taskName: 'Allocate resources',
- startDate: new Date('02/04/2019'),
- endDate: new Date('02/10/2019'),
+ startDate: new Date('02/04/2024'),
+ endDate: new Date('02/10/2024'),
duration: 6,
progress: '75',
parentID: 2
@@ -1583,8 +1583,8 @@ export let selfData: object[] = [
{
taskID: 6,
taskName: 'Planning complete',
- startDate: new Date('02/06/2019'),
- endDate: new Date('02/10/2019'),
+ startDate: new Date('02/06/2024'),
+ endDate: new Date('02/10/2024'),
duration: 0,
predecessor: '3FS,4FS,5FS',
parentID: 2
@@ -1592,15 +1592,15 @@ export let selfData: object[] = [
{
taskID: 7,
taskName: 'Design',
- startDate: new Date('02/13/2019'),
- endDate: new Date('02/17/2019'),
+ startDate: new Date('02/13/2024'),
+ endDate: new Date('02/17/2024'),
parentID: 1,
},
{
taskID: 8,
taskName: 'Software Specification',
- startDate: new Date('02/13/2019'),
- endDate: new Date('02/15/2019'),
+ startDate: new Date('02/13/2024'),
+ endDate: new Date('02/15/2024'),
duration: 3,
progress: '60',
predecessor: '6FS',
@@ -1609,8 +1609,8 @@ export let selfData: object[] = [
{
taskID: 9,
taskName: 'Develop prototype',
- startDate: new Date('02/13/2019'),
- endDate: new Date('02/15/2019'),
+ startDate: new Date('02/13/2024'),
+ endDate: new Date('02/15/2024'),
duration: 3,
progress: '100',
predecessor: '6FS',
@@ -1619,8 +1619,8 @@ export let selfData: object[] = [
{
taskID: 10,
taskName: 'Get approval from customer',
- startDate: new Date('02/16/2019'),
- endDate: new Date('02/17/2019'),
+ startDate: new Date('02/16/2024'),
+ endDate: new Date('02/17/2024'),
duration: 2,
progress: '100',
predecessor: '9FS',
@@ -1629,8 +1629,8 @@ export let selfData: object[] = [
{
taskID: 11,
taskName: 'Design complete',
- startDate: new Date('02/17/2019'),
- endDate: new Date('02/17/2019'),
+ startDate: new Date('02/17/2024'),
+ endDate: new Date('02/17/2024'),
duration: 0,
predecessor: '10FS',
parentID: 7,
@@ -1641,23 +1641,23 @@ export let labelData: object[] = [
{
TaskID: 1,
TaskName: 'Project initiation',
- StartDate: new Date('04/02/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('04/02/2024'),
+ EndDate: new Date('04/21/2024'),
subtasks: [
{
- TaskID: 2, TaskName: 'Identify site location', StartDate: new Date('04/02/2019'), Duration: 0,
+ TaskID: 2, TaskName: 'Identify site location', StartDate: new Date('04/02/2024'), Duration: 0,
Progress: 30, resources: [1], info: 'Measure the total property area alloted for construction',
- BaselineStartDate: new Date('04/02/2019'), BaselineEndDate: new Date('04/02/2019')
+ BaselineStartDate: new Date('04/02/2024'), BaselineEndDate: new Date('04/02/2024')
},
{
- TaskID: 3, TaskName: 'Perform soil test', StartDate: new Date('04/02/2019'), Duration: 4, Predecessor: '2',
+ TaskID: 3, TaskName: 'Perform soil test', StartDate: new Date('04/02/2024'), Duration: 4, Predecessor: '2',
resources: [2, 3, 5], info: 'Obtain an engineered soil test of lot where construction is planned.' +
- 'From an engineer or company specializing in soil testing', BaselineStartDate: new Date('04/01/2019'),
- BaselineEndDate: new Date('04/04/2019')
+ 'From an engineer or company specializing in soil testing', BaselineStartDate: new Date('04/01/2024'),
+ BaselineEndDate: new Date('04/04/2024')
},
{
- TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('04/02/2019'), Duration: 0, Predecessor: '3', Progress: 30,
- BaselineStartDate: new Date('04/06/2019'), BaselineEndDate: new Date('04/06/2019')
+ TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('04/02/2024'), Duration: 0, Predecessor: '3', Progress: 30,
+ BaselineStartDate: new Date('04/06/2024'), BaselineEndDate: new Date('04/06/2024')
},
]
@@ -1665,58 +1665,58 @@ export let labelData: object[] = [
{
TaskID: 5,
TaskName: 'Project estimation',
- StartDate: new Date('04/02/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('04/02/2024'),
+ EndDate: new Date('04/21/2024'),
subtasks: [
{
- TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('04/04/2019'),
+ TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('04/04/2024'),
Duration: 3, Predecessor: '4', Progress: 30, resources: 4,
info: 'Develop floor plans and obtain a materials list for estimations',
- BaselineStartDate: new Date('04/05/2019'), BaselineEndDate: new Date('04/07/2019')
+ BaselineStartDate: new Date('04/05/2024'), BaselineEndDate: new Date('04/07/2024')
},
{
- TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/04/2019'),
+ TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/04/2024'),
Duration: 3, Predecessor: '6', resources: [4, 8], info: '',
- BaselineStartDate: new Date('04/09/2019'), BaselineEndDate: new Date('04/12/2019')
+ BaselineStartDate: new Date('04/09/2024'), BaselineEndDate: new Date('04/12/2024')
},
{
- TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/04/2019'),
+ TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/04/2024'),
Duration: 0, Predecessor: '7', resources: [12, 5], info: '',
- BaselineStartDate: new Date('04/16/2019'), BaselineEndDate: new Date('04/16/2019')
+ BaselineStartDate: new Date('04/16/2024'), BaselineEndDate: new Date('04/16/2024')
}
]
},
{
- TaskID: 9, TaskName: 'Sign contract', StartDate: new Date('04/04/2019'), Duration: 1,
+ TaskID: 9, TaskName: 'Sign contract', StartDate: new Date('04/04/2024'), Duration: 1,
Predecessor: '8', Progress: 30, resources: [12],
info: 'If required obtain approval from HOA (homeowners association) or ARC (architectural review committee)',
- BaselineStartDate: new Date('04/16/2019'), BaselineEndDate: new Date('04/17/2019')
+ BaselineStartDate: new Date('04/16/2024'), BaselineEndDate: new Date('04/17/2024')
},
{
TaskID: 10,
TaskName: 'Project approval and kick off',
- StartDate: new Date('04/04/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('04/04/2024'),
+ EndDate: new Date('04/21/2024'),
Duration: 0,
Predecessor: '9',
- BaselineStartDate: new Date('04/17/2019'), BaselineEndDate: new Date('04/17/2019')
+ BaselineStartDate: new Date('04/17/2024'), BaselineEndDate: new Date('04/17/2024')
},
{
TaskID: 11,
TaskName: 'Site work',
- StartDate: new Date('04/04/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('04/04/2024'),
+ EndDate: new Date('04/21/2024'),
subtasks: [
{
- TaskID: 12, TaskName: 'Clear the building site', StartDate: new Date('04/04/2019'),
+ TaskID: 12, TaskName: 'Clear the building site', StartDate: new Date('04/04/2024'),
Duration: 2, Progress: 30, Predecessor: '9',
info: 'Clear the building site (demolition of existing home if necessary)',
- BaselineStartDate: new Date('04/16/2019'), BaselineEndDate: new Date('04/18/2019')
+ BaselineStartDate: new Date('04/16/2024'), BaselineEndDate: new Date('04/18/2024')
},
{
- TaskID: 13, TaskName: 'Install temporary power service', StartDate: new Date('04/04/2019'),
+ TaskID: 13, TaskName: 'Install temporary power service', StartDate: new Date('04/04/2024'),
Duration: 2, Predecessor: '12', info: '',
- BaselineStartDate: new Date('04/17/2019'), BaselineEndDate: new Date('04/19/2019')
+ BaselineStartDate: new Date('04/17/2024'), BaselineEndDate: new Date('04/19/2024')
},
]
},
@@ -1725,43 +1725,43 @@ export let resourceData: object[] = [
{
TaskID: 1,
TaskName: 'Project initiation',
- StartDate: new Date('03/29/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('03/29/2024'),
+ EndDate: new Date('04/21/2024'),
subtasks: [
{
- TaskID: 2, TaskName: 'Identify site location', StartDate: new Date('03/29/2019'), Duration: 2,
+ TaskID: 2, TaskName: 'Identify site location', StartDate: new Date('03/29/2024'), Duration: 2,
Progress: 30, work: 16, resources: [{ resourceId: 1, unit: 70 }, 6]
},
{
- TaskID: 3, TaskName: 'Perform soil test', StartDate: new Date('03/29/2019'), Duration: 4,
+ TaskID: 3, TaskName: 'Perform soil test', StartDate: new Date('03/29/2024'), Duration: 4,
resources: [2, 3, 5], work: 96
},
{
- TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('03/29/2019'), Duration: 1,
+ TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('03/29/2024'), Duration: 1,
work: 16, resources: [8, { resourceId: 9, unit: 50 }], Progress: 30
},
]
},
{
TaskID: 5,
- TaskName: 'Project estimation', StartDate: new Date('03/29/2019'), EndDate: new Date('04/21/2019'),
+ TaskName: 'Project estimation', StartDate: new Date('03/29/2024'), EndDate: new Date('04/21/2024'),
subtasks: [
{
- TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('03/29/2019'),
+ TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('03/29/2024'),
Duration: 3, Progress: 30, resources: [{ resourceId: 4, unit: 50 }], work: 30
},
{
- TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/01/2019'), Duration: 3,
+ TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/01/2024'), Duration: 3,
work: 48, resources: [4, 8]
},
{
- TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/01/2019'),
+ TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/01/2024'),
Duration: 2, work: 60, resources: [12, { resourceId: 5, unit: 70 }]
}
]
},
{
- TaskID: 9, TaskName: 'Sign contract', StartDate: new Date('04/01/2019'), Duration: 1,
+ TaskID: 9, TaskName: 'Sign contract', StartDate: new Date('04/01/2024'), Duration: 1,
Progress: 30, resources: [12], work: 24
}
];
@@ -1783,54 +1783,54 @@ export let taskModeData: Object[] = [
{
'TaskID': 1,
'TaskName': 'Parent Task 1',
- 'StartDate': new Date('02/27/2017'),
- 'EndDate': new Date('03/03/2017'),
+ 'StartDate': new Date('02/27/2024'),
+ 'EndDate': new Date('03/03/2024'),
'Progress': '40',
'isManual' : true,
'Children': [
- { 'TaskID': 2, 'TaskName': 'Child Task 1', 'StartDate': new Date('02/27/2017'),
- 'EndDate': new Date('03/03/2017'), 'Progress': '40' },
- { 'TaskID': 3, 'TaskName': 'Child Task 2', 'StartDate': new Date('02/26/2017'),
- 'EndDate': new Date('03/03/2017'), 'Progress': '40', 'isManual': true },
- { 'TaskID': 4, 'TaskName': 'Child Task 3', 'StartDate': new Date('02/27/2017'),
- 'EndDate': new Date('03/03/2017'), 'Duration': 5, 'Progress': '40', }
+ { 'TaskID': 2, 'TaskName': 'Child Task 1', 'StartDate': new Date('02/27/2024'),
+ 'EndDate': new Date('03/03/2024'), 'Progress': '40' },
+ { 'TaskID': 3, 'TaskName': 'Child Task 2', 'StartDate': new Date('02/26/2024'),
+ 'EndDate': new Date('03/03/2024'), 'Progress': '40', 'isManual': true },
+ { 'TaskID': 4, 'TaskName': 'Child Task 3', 'StartDate': new Date('02/27/2024'),
+ 'EndDate': new Date('03/03/2024'), 'Duration': 5, 'Progress': '40', }
]
},
{
'TaskID': 5,
'TaskName': 'Parent Task 2',
- 'StartDate': new Date('03/05/2017'),
- 'EndDate': new Date('03/09/2017'),
+ 'StartDate': new Date('03/05/2024'),
+ 'EndDate': new Date('03/09/2024'),
'Progress': '40',
'isManual': true,
'Children': [
- { 'TaskID': 6, 'TaskName': 'Child Task 1', 'StartDate': new Date('03/06/2017'),
- 'EndDate': new Date('03/09/2017'), 'Progress': '40' },
- { 'TaskID': 7, 'TaskName': 'Child Task 2', 'StartDate': new Date('03/06/2017'),
- 'EndDate': new Date('03/09/2017'), 'Progress': '40', },
- { 'TaskID': 8, 'TaskName': 'Child Task 3', 'StartDate': new Date('02/28/2017'),
- 'EndDate': new Date('03/05/2017'), 'Progress': '40', 'isManual': true },
- { 'TaskID': 9, 'TaskName': 'Child Task 4', 'StartDate': new Date('03/04/2017'),
- 'EndDate': new Date('03/09/2017'), 'Progress': '40', 'isManual': true }
+ { 'TaskID': 6, 'TaskName': 'Child Task 1', 'StartDate': new Date('03/06/2024'),
+ 'EndDate': new Date('03/09/2024'), 'Progress': '40' },
+ { 'TaskID': 7, 'TaskName': 'Child Task 2', 'StartDate': new Date('03/06/2024'),
+ 'EndDate': new Date('03/09/2024'), 'Progress': '40', },
+ { 'TaskID': 8, 'TaskName': 'Child Task 3', 'StartDate': new Date('02/28/2024'),
+ 'EndDate': new Date('03/05/2024'), 'Progress': '40', 'isManual': true },
+ { 'TaskID': 9, 'TaskName': 'Child Task 4', 'StartDate': new Date('03/04/2024'),
+ 'EndDate': new Date('03/09/2024'), 'Progress': '40', 'isManual': true }
]
},
{
'TaskID': 10,
'TaskName': 'Parent Task 3',
- 'StartDate': new Date('03/13/2017'),
- 'EndDate': new Date('03/17/2017'),
+ 'StartDate': new Date('03/13/2024'),
+ 'EndDate': new Date('03/17/2024'),
'Progress': '40',
'Children': [
- { 'TaskID': 11, 'TaskName': 'Child Task 1', 'StartDate': new Date('03/13/2017'),
- 'EndDate': new Date('03/17/2017'), 'Progress': '40' },
- { 'TaskID': 12, 'TaskName': 'Child Task 2', 'StartDate': new Date('03/13/2017'),
- 'EndDate': new Date('03/17/2017'), 'Progress': '40', },
- { 'TaskID': 13, 'TaskName': 'Child Task 3', 'StartDate': new Date('03/13/2017'),
- 'EndDate': new Date('03/17/2017'), 'Progress': '40', },
- { 'TaskID': 14, 'TaskName': 'Child Task 4', 'StartDate': new Date('03/12/2017'),
- 'EndDate': new Date('03/17/2017'), 'Progress': '40', 'isManual': true },
- { 'TaskID': 15, 'TaskName': 'Child Task 5', 'StartDate': new Date('03/13/2017'),
- 'EndDate': new Date('03/17/2017'), 'Progress': '40' }
+ { 'TaskID': 11, 'TaskName': 'Child Task 1', 'StartDate': new Date('03/13/2024'),
+ 'EndDate': new Date('03/17/2024'), 'Progress': '40' },
+ { 'TaskID': 12, 'TaskName': 'Child Task 2', 'StartDate': new Date('03/13/2024'),
+ 'EndDate': new Date('03/17/2024'), 'Progress': '40', },
+ { 'TaskID': 13, 'TaskName': 'Child Task 3', 'StartDate': new Date('03/13/2024'),
+ 'EndDate': new Date('03/17/2024'), 'Progress': '40', },
+ { 'TaskID': 14, 'TaskName': 'Child Task 4', 'StartDate': new Date('03/12/2024'),
+ 'EndDate': new Date('03/17/2024'), 'Progress': '40', 'isManual': true },
+ { 'TaskID': 15, 'TaskName': 'Child Task 5', 'StartDate': new Date('03/13/2024'),
+ 'EndDate': new Date('03/17/2024'), 'Progress': '40' }
]
}
];
@@ -1838,59 +1838,59 @@ export let resourcesData: object[] = [
{
TaskID: 1,
TaskName: 'Project initiation',
- StartDate: new Date('03/29/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('03/29/2024'),
+ EndDate: new Date('04/21/2024'),
subtasks: [
{
- TaskID: 2, TaskName: 'Identify site location', StartDate: new Date('03/29/2019'), Duration: 3,
+ TaskID: 2, TaskName: 'Identify site location', StartDate: new Date('03/29/2024'), Duration: 3,
Progress: 30, work: 10, resources: [{ resourceId: 1, resourceUnit: 50 }]
},
{
- TaskID: 3, TaskName: 'Perform soil test', StartDate: new Date('03/29/2019'), Duration: 4,
+ TaskID: 3, TaskName: 'Perform soil test', StartDate: new Date('03/29/2024'), Duration: 4,
resources: [{ resourceId: 2, resourceUnit: 70 }], Progress: 30, work: 20
},
{
- TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('03/29/2019'), Duration: 4,
+ TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('03/29/2024'), Duration: 4,
resources: [{ resourceId: 1, resourceUnit: 75 }], Predecessor: 2, Progress: 30, work: 10,
},
]
},
{
TaskID: 5,
- TaskName: 'Project estimation', StartDate: new Date('03/29/2019'), EndDate: new Date('04/21/2019'),
+ TaskName: 'Project estimation', StartDate: new Date('03/29/2024'), EndDate: new Date('04/21/2024'),
subtasks: [
{
- TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('03/29/2019'),
+ TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('03/29/2024'),
Duration: 3, Progress: 30, resources: [{ resourceId: 2, resourceUnit: 70 }], Predecessor: '3FS+2', work: 30
},
{
- TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/08/2019'), Duration: 12,
+ TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/08/2024'), Duration: 12,
resources: [{ resourceId: 6, resourceUnit: 40 }], Progress: 30, work: 40
},
{
- TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/03/2019'),
+ TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/03/2024'),
Duration: 10, resources: [{ resourceId: 5, resourceUnit: 75 }], Progress: 30, work: 60,
},
{
- TaskID: 9, TaskName: 'Excavate for foundations', StartDate: new Date('04/01/2019'),
- Duration: 4, Progress: 30, resources: [4]
+ TaskID: 9, TaskName: 'Excavate for foundations', StartDate: new Date('04/01/2024'),
+ Duration: 4, Progress: 30, resources: [{ resourceId: 4, resourceUnit: 100 }], work: 32
},
{
- TaskID: 10, TaskName: 'Install plumbing grounds', StartDate: new Date('04/08/2019'), Duration: 4,
- Progress: 30, Predecessor: '9SS', resources: [3]
+ TaskID: 10, TaskName: 'Install plumbing grounds', StartDate: new Date('04/08/2024'), Duration: 4,
+ Progress: 30, Predecessor: '9SS', resources: [{ resourceId: 3, resourceUnit: 100 }], work: 32
},
{
- TaskID: 11, TaskName: 'Dig footer', StartDate: new Date('04/08/2019'),
- Duration: 3, resources: [2]
+ TaskID: 11, TaskName: 'Dig footer', StartDate: new Date('04/08/2024'),
+ Duration: 3, resources: [{ resourceId: 2, resourceUnit: 100 }], work: 24
},
{
- TaskID: 12, TaskName: 'Electrical utilities', StartDate: new Date('04/03/2019'),
- Duration: 4, Progress: 30, resources: [3]
+ TaskID: 12, TaskName: 'Electrical utilities', StartDate: new Date('04/03/2024'),
+ Duration: 4, Progress: 30, resources: [{ resourceId: 3, resourceUnit: 100 }], work: 32
}
]
},
{
- TaskID: 13, TaskName: 'Sign contract', StartDate: new Date('04/04/2019'), Duration: 2,
+ TaskID: 13, TaskName: 'Sign contract', StartDate: new Date('04/04/2024'), Duration: 2,
Progress: 30,
}
];
@@ -1907,37 +1907,37 @@ export let multiTaskbarData: Object[] = [
{
TaskID: 1,
TaskName: 'Project initiation',
- StartDate: new Date('03/29/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('03/29/2024'),
+ EndDate: new Date('04/21/2024'),
subtasks: [
{
- TaskID: 2, TaskName: 'Identify site location', StartDate: new Date('03/29/2019'), Duration: 3,
+ TaskID: 2, TaskName: 'Identify site location', StartDate: new Date('03/29/2024'), Duration: 3,
Progress: 30, work: 10, resources: [{ resourceId: 1, resourceUnit: 50 }]
},
{
- TaskID: 3, TaskName: 'Perform soil test', StartDate: new Date('04/03/2019'), Duration: 4,
+ TaskID: 3, TaskName: 'Perform soil test', StartDate: new Date('04/03/2024'), Duration: 4,
resources: [{ resourceId: 1, resourceUnit: 70 }], Predecessor: 2, Progress: 30, work: 20
},
{
- TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('04/09/2019'), Duration: 4,
+ TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('04/09/2024'), Duration: 4,
resources: [{ resourceId: 1, resourceUnit: 25 }], Predecessor: 3, Progress: 30, work: 10,
},
]
},
{
TaskID: 5,
- TaskName: 'Project estimation', StartDate: new Date('03/29/2019'), EndDate: new Date('04/21/2019'),
+ TaskName: 'Project estimation', StartDate: new Date('03/29/2024'), EndDate: new Date('04/21/2024'),
subtasks: [
{
- TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('04/01/2019'),
+ TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('04/01/2024'),
Duration: 5, Progress: 30, resources: [{ resourceId: 2, resourceUnit: 50 }], work: 30
},
{
- TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/04/2019'), Duration: 4,
+ TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/04/2024'), Duration: 4,
resources: [{ resourceId: 2, resourceUnit: 40 }], Predecessor: '6FS-2', Progress: 30, work: 40
},
{
- TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/09/2019'),
+ TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/09/2024'),
Duration: 4, resources: [{ resourceId: 2, resourceUnit: 75 }], Predecessor: '7FS-1', Progress: 30, work: 60,
}
]
@@ -1945,60 +1945,60 @@ export let multiTaskbarData: Object[] = [
{
TaskID: 9,
TaskName: 'Site work',
- StartDate: new Date('04/04/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('04/04/2024'),
+ EndDate: new Date('04/21/2024'),
subtasks: [
{
- TaskID: 10, TaskName: 'Install temporary power service', StartDate: new Date('04/01/2019'), Duration: 14,
- Progress: 30, resources: [{ resourceId: 3, resourceUnit: 75 }]
+ TaskID: 10, TaskName: 'Install temporary power service', StartDate: new Date('04/01/2024'), Duration: 14,
+ Progress: 30, resources: [{ resourceId: 3, resourceUnit: 100 }], work: 112
},
{
- TaskID: 11, TaskName: 'Clear the building site', StartDate: new Date('04/08/2019'),
- Duration: 9, Progress: 30, Predecessor: '10FS-9', resources: [3]
+ TaskID: 11, TaskName: 'Clear the building site', StartDate: new Date('04/08/2024'),
+ Duration: 9, Progress: 30, Predecessor: '10FS-2', resources: [{ resourceId: 3, resourceUnit: 100 }], work: 72
},
{
- TaskID: 12, TaskName: 'Sign contract', StartDate: new Date('04/12/2019'),
- Duration: 5, resources: [3], Predecessor: '11FS-5'
+ TaskID: 12, TaskName: 'Sign contract', StartDate: new Date('04/12/2024'),
+ Duration: 5, resources: [{ resourceId: 3, resourceUnit: 100 }], work: 40, Predecessor: '11FS-2'
},
]
},
{
TaskID: 13,
TaskName: 'Foundation',
- StartDate: new Date('04/04/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('04/04/2024'),
+ EndDate: new Date('04/21/2024'),
subtasks: [
{
- TaskID: 14, TaskName: 'Excavate for foundations', StartDate: new Date('04/01/2019'),
- Duration: 2, Progress: 30, resources: [4]
+ TaskID: 14, TaskName: 'Excavate for foundations', StartDate: new Date('04/01/2024'),
+ Duration: 2, Progress: 30, resources: [{ resourceId: 4, resourceUnit: 100 }], work: 16,
},
{
- TaskID: 15, TaskName: 'Dig footer', StartDate: new Date('04/04/2019'),
- Duration: 2, Predecessor: '14FS + 1', resources: [4]
+ TaskID: 15, TaskName: 'Dig footer', StartDate: new Date('04/04/2024'),
+ Duration: 2, Predecessor: '14FS + 1', resources: [{ resourceId: 4, resourceUnit: 100 }], work: 16,
},
{
- TaskID: 16, TaskName: 'Install plumbing grounds', StartDate: new Date('04/08/2019'), Duration: 2,
- Progress: 30, Predecessor: 15, resources: [4]
+ TaskID: 16, TaskName: 'Install plumbing grounds', StartDate: new Date('04/08/2024'), Duration: 2,
+ Progress: 30, Predecessor: 15, resources: [{ resourceId: 4, resourceUnit: 100 }], work: 16,
}
]
},
{
TaskID: 17,
TaskName: 'Framing',
- StartDate: new Date('04/04/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('04/04/2024'),
+ EndDate: new Date('04/21/2024'),
subtasks: [
{
- TaskID: 18, TaskName: 'Add load-bearing structure', StartDate: new Date('04/03/2019'),
- Duration: 2, Progress: 30, resources: [5]
+ TaskID: 18, TaskName: 'Add load-bearing structure', StartDate: new Date('04/03/2024'),
+ Duration: 2, Progress: 30, resources: [{ resourceId: 5, resourceUnit: 100 }], work: 16,
},
{
- TaskID: 19, TaskName: 'Natural gas utilities', StartDate: new Date('04/08/2019'),
- Duration: 4, Predecessor: '18', resources: [5]
+ TaskID: 19, TaskName: 'Natural gas utilities', StartDate: new Date('04/08/2024'),
+ Duration: 4, Predecessor: '18', resources: [{ resourceId: 5, resourceUnit: 100 }], work: 32,
},
{
- TaskID: 20, TaskName: 'Electrical utilities', StartDate: new Date('04/11/2019'),
- Duration: 2, Progress: 30, Predecessor: '19FS + 1', resources: [5]
+ TaskID: 20, TaskName: 'Electrical utilities', StartDate: new Date('04/11/2024'),
+ Duration: 2, Progress: 30, Predecessor: '19FS + 1', resources: [{ resourceId: 5, resourceUnit: 100 }], work: 16,
}
]
}
@@ -2016,37 +2016,37 @@ export let splitTasksData: object[] = [
{
TaskID: 1,
TaskName: 'Project Schedule',
- StartDate: new Date('02/04/2019'),
- EndDate: new Date('03/10/2019'),
+ StartDate: new Date('02/04/2024'),
+ EndDate: new Date('03/10/2024'),
subtasks: [
{
TaskID: 2,
TaskName: 'Planning',
- StartDate: new Date('02/04/2019'),
+ StartDate: new Date('02/04/2024'),
subtasks: [
{
- TaskID: 3, TaskName: 'Plan timeline', StartDate: new Date('02/04/2019'), EndDate: new Date('02/10/2019'),
+ TaskID: 3, TaskName: 'Plan timeline', StartDate: new Date('02/04/2024'), EndDate: new Date('02/10/2024'),
Duration: 10, Progress: '60',
Segments: [
- { StartDate: new Date('02/04/2019'), Duration: 2 },
- { StartDate: new Date('02/05/2019'), Duration: 5 },
- { StartDate: new Date('02/08/2019'), Duration: 3 }
+ { StartDate: new Date('02/04/2024'), Duration: 2 },
+ { StartDate: new Date('02/05/2024'), Duration: 5 },
+ { StartDate: new Date('02/08/2024'), Duration: 3 }
]
},
{
- TaskID: 4, TaskName: 'Plan budget', StartDate: new Date('02/04/2019'), EndDate: new Date('02/10/2019'),
+ TaskID: 4, TaskName: 'Plan budget', StartDate: new Date('02/04/2024'), EndDate: new Date('02/10/2024'),
Duration: 10, Progress: '90'
},
{
- TaskID: 5, TaskName: 'Allocate resources', StartDate: new Date('02/04/2019'), EndDate: new Date('02/10/2019'),
+ TaskID: 5, TaskName: 'Allocate resources', StartDate: new Date('02/04/2024'), EndDate: new Date('02/10/2024'),
Duration: 10, Progress: '75',
Segments: [
- { StartDate: new Date('02/04/2019'), Duration: 4 },
- { StartDate: new Date('02/08/2019'), Duration: 2 }
+ { StartDate: new Date('02/04/2024'), Duration: 4 },
+ { StartDate: new Date('02/08/2024'), Duration: 2 }
]
},
{
- TaskID: 6, TaskName: 'Planning complete', StartDate: new Date('02/21/2019'), EndDate: new Date('02/21/2019'),
+ TaskID: 6, TaskName: 'Planning complete', StartDate: new Date('02/21/2024'), EndDate: new Date('02/21/2024'),
Duration: 0, Predecessor: '3FS,5FS'
},
]
@@ -2054,26 +2054,26 @@ export let splitTasksData: object[] = [
{
TaskID: 7,
TaskName: 'Design',
- StartDate: new Date('02/25/2019'),
+ StartDate: new Date('02/25/2024'),
subtasks: [
{
- TaskID: 8, TaskName: 'Software Specification', StartDate: new Date('02/25/2019'), EndDate: new Date('03/02/2019'),
+ TaskID: 8, TaskName: 'Software Specification', StartDate: new Date('02/25/2024'), EndDate: new Date('03/02/2024'),
Duration: 5, Progress: '60', Predecessor: '6FS'
},
{
- TaskID: 9, TaskName: 'Develop prototype', StartDate: new Date('02/25/2019'), EndDate: new Date('03/02/2019'),
+ TaskID: 9, TaskName: 'Develop prototype', StartDate: new Date('02/25/2024'), EndDate: new Date('03/02/2024'),
Duration: 5, Progress: '100', Predecessor: '6FS',
Segments: [
- { StartDate: new Date('02/25/2019'), Duration: 2 },
- { StartDate: new Date('02/28/2019'), Duration: 3 }
+ { StartDate: new Date('02/25/2024'), Duration: 2 },
+ { StartDate: new Date('02/28/2024'), Duration: 3 }
]
},
{
- TaskID: 10, TaskName: 'Get approval from customer', StartDate: new Date('02/25/2019'),
- EndDate: new Date('03/01/2019'), Duration: 4, Progress: '100', Predecessor: '9FS'
+ TaskID: 10, TaskName: 'Get approval from customer', StartDate: new Date('02/25/2024'),
+ EndDate: new Date('03/01/2024'), Duration: 4, Progress: '100', Predecessor: '9FS'
},
{
- TaskID: 11, TaskName: 'Design complete', StartDate: new Date('02/25/2019'), EndDate: new Date('02/25/2019'),
+ TaskID: 11, TaskName: 'Design complete', StartDate: new Date('02/25/2024'), EndDate: new Date('02/25/2024'),
Duration: 0, Predecessor: '10FS'
}
]
@@ -2086,14 +2086,14 @@ export let tempData: any[] = [
{
TaskID: 1,
TaskName: 'Product concept',
- StartDate: new Date('04/02/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('04/02/2024'),
+ EndDate: new Date('04/21/2024'),
parentID: 0
},
{
TaskID: 2,
TaskName: 'Defining the product and its usage',
- StartDate: new Date('04/02/2019'),
+ StartDate: new Date('04/02/2024'),
Duration: 3,
Progress: 30,
parentID: 1
@@ -2101,14 +2101,14 @@ export let tempData: any[] = [
{
TaskID: 3,
TaskName: 'Defining target audience',
- StartDate: new Date('04/02/2019'),
+ StartDate: new Date('04/02/2024'),
parentID: 1,
Duration: 3
},
{
TaskID: 4,
TaskName: 'Prepare product sketch and notes',
- StartDate: new Date('04/05/2019'),
+ StartDate: new Date('04/05/2024'),
Duration: 2,
parentID: 1,
Progress: 30
@@ -2116,28 +2116,28 @@ export let tempData: any[] = [
{
TaskID: 5,
TaskName: 'Concept approval',
- StartDate: new Date('04/08/2019'),
+ StartDate: new Date('04/08/2024'),
parentID: 0,
Duration: 0
},
{
TaskID: 6,
TaskName: 'Market research',
- StartDate: new Date('04/02/2019'),
+ StartDate: new Date('04/02/2024'),
parentID: 0,
- EndDate: new Date('04/21/2019')
+ EndDate: new Date('04/21/2024')
},
{
TaskID: 7,
TaskName: 'Demand analysis',
- StartDate: new Date('04/04/2019'),
- EndDate: new Date('04/21/2019'),
+ StartDate: new Date('04/04/2024'),
+ EndDate: new Date('04/21/2024'),
parentID: 6
},
{
TaskID: 8,
TaskName: 'Customer strength',
- StartDate: new Date('04/09/2019'),
+ StartDate: new Date('04/09/2024'),
Duration: 4,
parentID: 7,
Progress: 30
@@ -2145,14 +2145,14 @@ export let tempData: any[] = [
{
TaskID: 9,
TaskName: 'Market opportunity analysis',
- StartDate: new Date('04/09/2019'),
+ StartDate: new Date('04/09/2024'),
Duration: 4,
parentID: 7
},
{
TaskID: 10,
TaskName: 'Competitor analysis',
- StartDate: new Date('04/15/2019'),
+ StartDate: new Date('04/15/2024'),
Duration: 4,
parentID: 6,
Progress: 30
@@ -2160,28 +2160,28 @@ export let tempData: any[] = [
{
TaskID: 11,
TaskName: 'Product strength analsysis',
- StartDate: new Date('04/15/2019'),
+ StartDate: new Date('04/15/2024'),
Duration: 4,
parentID: 6
},
{
TaskID: 12,
TaskName: 'Research complete',
- StartDate: new Date('04/18/2019'),
+ StartDate: new Date('04/18/2024'),
Duration: 0,
parentID: 6
},
{
TaskID: 13,
TaskName: 'Product design and development',
- StartDate: new Date('04/04/2019'),
+ StartDate: new Date('04/04/2024'),
parentID: 0,
- EndDate: new Date('04/21/2019')
+ EndDate: new Date('04/21/2024')
},
{
TaskID: 14,
TaskName: 'Functionality design',
- StartDate: new Date('04/19/2019'),
+ StartDate: new Date('04/19/2024'),
Duration: 3,
parentID: 13,
Progress: 30
@@ -2189,14 +2189,14 @@ export let tempData: any[] = [
{
TaskID: 15,
TaskName: 'Quality design',
- StartDate: new Date('04/19/2019'),
+ StartDate: new Date('04/19/2024'),
Duration: 3,
parentID: 13
},
{
TaskID: 16,
TaskName: 'Define reliability',
- StartDate: new Date('04/24/2019'),
+ StartDate: new Date('04/24/2024'),
Duration: 2,
Progress: 30,
parentID: 13
@@ -2204,21 +2204,21 @@ export let tempData: any[] = [
{
TaskID: 17,
TaskName: 'Identifying raw materials',
- StartDate: new Date('04/24/2019'),
+ StartDate: new Date('04/24/2024'),
Duration: 2,
parentID: 13
},
{
TaskID: 18,
TaskName: 'Define cost plan',
- StartDate: new Date('04/04/2019'),
+ StartDate: new Date('04/04/2024'),
parentID: 13,
- EndDate: new Date('04/21/2019')
+ EndDate: new Date('04/21/2024')
},
{
TaskID: 19,
TaskName: 'Manufacturing cost',
- StartDate: new Date('04/26/2019'),
+ StartDate: new Date('04/26/2024'),
Duration: 2,
Progress: 30,
parentID: 18
@@ -2226,21 +2226,21 @@ export let tempData: any[] = [
{
TaskID: 20,
TaskName: 'Selling cost',
- StartDate: new Date('04/26/2019'),
+ StartDate: new Date('04/26/2024'),
Duration: 2,
parentID: 18
},
{
TaskID: 21,
TaskName: 'Development of the final design',
- StartDate: new Date('04/30/2019'),
+ StartDate: new Date('04/30/2024'),
parentID: 13,
- EndDate: new Date('04/21/2019')
+ EndDate: new Date('04/21/2024')
},
{
TaskID: 22,
TaskName: 'Defining dimensions and package volume',
- StartDate: new Date('04/30/2019'),
+ StartDate: new Date('04/30/2024'),
Duration: 2,
parentID: 21,
Progress: 30
@@ -2248,21 +2248,21 @@ export let tempData: any[] = [
{
TaskID: 23,
TaskName: 'Develop design to meet industry standards',
- StartDate: new Date('05/02/2019'),
+ StartDate: new Date('05/02/2024'),
Duration: 2,
parentID: 21
},
{
TaskID: 24,
TaskName: 'Include all the details',
- StartDate: new Date('05/06/2019'),
+ StartDate: new Date('05/06/2024'),
Duration: 3,
parentID: 21
},
{
TaskID: 25,
TaskName: 'CAD computer-aided design',
- StartDate: new Date('05/09/2019'),
+ StartDate: new Date('05/09/2024'),
Duration: 3,
parentID: 13,
Progress: 30
@@ -2270,21 +2270,21 @@ export let tempData: any[] = [
{
TaskID: 26,
TaskName: 'CAM computer-aided manufacturing',
- StartDate: new Date('09/14/2019'),
+ StartDate: new Date('09/14/2024'),
Duration: 3,
parentID: 13
},
{
TaskID: 27,
TaskName: 'Design complete',
- StartDate: new Date('05/16/2019'),
+ StartDate: new Date('05/16/2024'),
Duration: 0,
parentID: 13
},
{
TaskID: 28,
TaskName: 'Prototype testing',
- StartDate: new Date('05/17/2019'),
+ StartDate: new Date('05/17/2024'),
Duration: 4,
Progress: 30,
parentID: 0
@@ -2292,14 +2292,14 @@ export let tempData: any[] = [
{
TaskID: 29,
TaskName: 'Include feedback',
- StartDate: new Date('05/17/2019'),
+ StartDate: new Date('05/17/2024'),
Duration: 4,
parentID: 0
},
{
TaskID: 30,
TaskName: 'Manufacturing',
- StartDate: new Date('05/23/2019'),
+ StartDate: new Date('05/23/2024'),
Duration: 5,
Progress: 30,
parentID: 0
@@ -2307,21 +2307,21 @@ export let tempData: any[] = [
{
TaskID: 31,
TaskName: 'Assembling materials to finsihed goods',
- StartDate: new Date('05/30/2019'),
+ StartDate: new Date('05/30/2024'),
Duration: 5,
parentID: 0
},
{
TaskID: 32,
TaskName: 'Feedback and testing',
- StartDate: new Date('04/04/2019'),
+ StartDate: new Date('04/04/2024'),
parentID: 0,
- EndDate: new Date('04/21/2019'),
+ EndDate: new Date('04/21/2024'),
},
{
TaskID: 33,
TaskName: 'Internal testing and feedback',
- StartDate: new Date('06/06/2019'),
+ StartDate: new Date('06/06/2024'),
Duration: 3,
parentID: 32,
Progress: 45
@@ -2329,7 +2329,7 @@ export let tempData: any[] = [
{
TaskID: 34,
TaskName: 'Customer testing and feedback',
- StartDate: new Date('06/11/2019'),
+ StartDate: new Date('06/11/2024'),
Duration: 3,
parentID: 32,
Progress: 50
@@ -2337,14 +2337,14 @@ export let tempData: any[] = [
{
TaskID: 35,
TaskName: 'Final product development',
- StartDate: new Date('04/04/2019'),
+ StartDate: new Date('04/04/2024'),
parentID: 0,
- EndDate: new Date('04/21/2019'),
+ EndDate: new Date('04/21/2024'),
},
{
TaskID: 36,
TaskName: 'Important improvements',
- StartDate: new Date('06/14/2019'),
+ StartDate: new Date('06/14/2024'),
Duration: 4,
Progress: 30,
parentID: 35
@@ -2352,7 +2352,7 @@ export let tempData: any[] = [
{
TaskID: 37,
TaskName: 'Address any unforeseen issues',
- StartDate: new Date('06/14/2019'),
+ StartDate: new Date('06/14/2024'),
Duration: 4,
Progress: 30,
parentID: 35
@@ -2360,21 +2360,21 @@ export let tempData: any[] = [
{
TaskID: 38,
TaskName: 'Final product',
- StartDate: new Date('04/04/2019'),
+ StartDate: new Date('04/04/2024'),
parentID: 0,
- EndDate: new Date('04/21/2019'),
+ EndDate: new Date('04/21/2024'),
},
{
TaskID: 39,
TaskName: 'Branding product',
- StartDate: new Date('06/20/2019'),
+ StartDate: new Date('06/20/2024'),
Duration: 4,
parentID: 38
},
{
TaskID: 40,
TaskName: 'Marketing and presales',
- StartDate: new Date('06/26/2019'),
+ StartDate: new Date('06/26/2024'),
Duration: 4,
Progress: 30,
parentID: 38
@@ -2406,21 +2406,21 @@ export let timezoneData: object[] = [
{
taskID: 1,
taskName: 'Project Schedule',
- startDate: new Date('02/04/2019 08:00'),
- endDate: new Date('03/10/2019')
+ startDate: new Date('02/04/2024 08:00'),
+ endDate: new Date('03/10/2024')
},
{
taskID: 2,
taskName: 'Planning',
- startDate: new Date('02/04/2019 08:00'),
- endDate: new Date('02/10/2019'),
+ startDate: new Date('02/04/2024 08:00'),
+ endDate: new Date('02/10/2024'),
parentID: 1
},
{
taskID: 3,
taskName: 'Plan timeline',
- startDate: new Date('02/04/2019 08:00'),
- endDate: new Date('02/10/2019'),
+ startDate: new Date('02/04/2024 08:00'),
+ endDate: new Date('02/10/2024'),
duration: 6,
progress: '60',
parentID: 2
@@ -2428,8 +2428,8 @@ export let timezoneData: object[] = [
{
taskID: 4,
taskName: 'Plan budget',
- startDate: new Date('02/04/2019 08:00'),
- endDate: new Date('02/10/2019'),
+ startDate: new Date('02/04/2024 08:00'),
+ endDate: new Date('02/10/2024'),
duration: 6,
progress: '90',
parentID: 2
@@ -2437,8 +2437,8 @@ export let timezoneData: object[] = [
{
taskID: 5,
taskName: 'Allocate resources',
- startDate: new Date('02/04/2019 08:00'),
- endDate: new Date('02/10/2019'),
+ startDate: new Date('02/04/2024 08:00'),
+ endDate: new Date('02/10/2024'),
duration: 6,
progress: '75',
parentID: 2
@@ -2446,8 +2446,8 @@ export let timezoneData: object[] = [
{
taskID: 6,
taskName: 'Planning complete',
- startDate: new Date('02/06/2019 08:00'),
- endDate: new Date('02/10/2019'),
+ startDate: new Date('02/06/2024 08:00'),
+ endDate: new Date('02/10/2024'),
duration: 0,
predecessor: '3FS,4FS,5FS',
parentID: 2
@@ -2455,15 +2455,15 @@ export let timezoneData: object[] = [
{
taskID: 7,
taskName: 'Design',
- startDate: new Date('02/13/2019 08:00'),
- endDate: new Date('02/17/2019 08:00'),
+ startDate: new Date('02/13/2024 08:00'),
+ endDate: new Date('02/17/2024 08:00'),
parentID: 1,
},
{
taskID: 8,
taskName: 'Software Specification',
- startDate: new Date('02/13/2019 08:00'),
- endDate: new Date('02/15/2019'),
+ startDate: new Date('02/13/2024 08:00'),
+ endDate: new Date('02/15/2024'),
duration: 3,
progress: '60',
predecessor: '6FS',
@@ -2472,8 +2472,8 @@ export let timezoneData: object[] = [
{
taskID: 9,
taskName: 'Develop prototype',
- startDate: new Date('02/13/2019 08:00'),
- endDate: new Date('02/15/2019'),
+ startDate: new Date('02/13/2024 08:00'),
+ endDate: new Date('02/15/2024'),
duration: 3,
progress: '100',
predecessor: '6FS',
@@ -2482,8 +2482,8 @@ export let timezoneData: object[] = [
{
taskID: 10,
taskName: 'Get approval from customer',
- startDate: new Date('02/16/2019 08:00'),
- endDate: new Date('02/17/2019 08:00'),
+ startDate: new Date('02/16/2024 08:00'),
+ endDate: new Date('02/17/2024 08:00'),
duration: 2,
progress: '100',
predecessor: '9FS',
@@ -2492,8 +2492,8 @@ export let timezoneData: object[] = [
{
taskID: 11,
taskName: 'Design complete',
- startDate: new Date('02/17/2019 08:00'),
- endDate: new Date('02/17/2019 08:00'),
+ startDate: new Date('02/17/2024 08:00'),
+ endDate: new Date('02/17/2024 08:00'),
duration: 0,
predecessor: '10FS',
parentID: 7,
@@ -2504,8 +2504,8 @@ export let overviewData: object[] = [
{
TaskId: '1',
TaskName: "Q-1 Release",
- StartDate: new Date('2021/12/20'),
- EndDate: new Date('2022/04/04'),
+ StartDate: new Date('2023/12/20'),
+ EndDate: new Date('2024/04/04'),
TimeLog: 2,
Work: 2,
Progress: 80,
@@ -2524,8 +2524,8 @@ export let overviewData: object[] = [
{
TaskId: '4',
TaskName: "Grid",
- StartDate: new Date('2021/12/20'),
- EndDate: new Date('2022/02/20'),
+ StartDate: new Date('2023/12/20'),
+ EndDate: new Date('2024/02/20'),
TimeLog: 44,
Work: 45,
Progress: 70,
@@ -2534,8 +2534,8 @@ export let overviewData: object[] = [
{
TaskId: '5',
TaskName: "Batch Editing",
- StartDate: new Date('2021/12/24'),
- EndDate: new Date('2022/02/21'),
+ StartDate: new Date('2023/12/24'),
+ EndDate: new Date('2024/02/21'),
Assignee: [1],
TimeLog: 42,
Work: 43,
@@ -2548,8 +2548,8 @@ export let overviewData: object[] = [
{
TaskId: '6',
TaskName: "PDF Export",
- StartDate: new Date('2021/12/28'),
- EndDate: new Date('2022/02/25'),
+ StartDate: new Date('2023/12/28'),
+ EndDate: new Date('2024/02/25'),
Assignee: [2],
TimeLog: 42,
Work: 45,
@@ -2562,8 +2562,8 @@ export let overviewData: object[] = [
{
TaskId: '7',
TaskName: "Tree Grid",
- StartDate: new Date('2022/01/02'),
- EndDate: new Date('2022/02/20'),
+ StartDate: new Date('2024/01/02'),
+ EndDate: new Date('2024/02/20'),
TimeLog: 33,
Work: 30,
Progress: 80,
@@ -2572,8 +2572,8 @@ export let overviewData: object[] = [
{
TaskId: '8',
TaskName: "Drag Multi-selection",
- StartDate: new Date('2022/01/02'),
- EndDate: new Date('2022/02/20'),
+ StartDate: new Date('2024/01/02'),
+ EndDate: new Date('2024/02/20'),
Assignee: [4],
TimeLog: 33,
Work: 32,
@@ -2586,8 +2586,8 @@ export let overviewData: object[] = [
{
TaskId: '9',
TaskName: "Gantt Chart",
- StartDate: new Date('2022/02/20'),
- EndDate: new Date('2022/04/28'),
+ StartDate: new Date('2024/02/20'),
+ EndDate: new Date('2024/04/28'),
TimeLog: 2,
Work: 2,
Progress: 100,
@@ -2596,8 +2596,8 @@ export let overviewData: object[] = [
{
TaskId: '10',
TaskName: "Initial loading performance",
- StartDate: new Date('2022/02/24'),
- EndDate: new Date('2022/03/14'),
+ StartDate: new Date('2024/02/24'),
+ EndDate: new Date('2024/03/14'),
Assignee: [1],
TimeLog: 13,
Work: 15,
@@ -2610,8 +2610,8 @@ export let overviewData: object[] = [
{
TaskId: '11',
TaskName: "Drag Multi-selection",
- StartDate: new Date('2022/02/22'),
- EndDate: new Date('2022/03/14'),
+ StartDate: new Date('2024/02/22'),
+ EndDate: new Date('2024/03/14'),
Assignee: [8],
TimeLog: 13,
Work: 14,
@@ -2625,8 +2625,8 @@ export let overviewData: object[] = [
{
TaskId: '12',
TaskName: "ScrollToViewAsync Method",
- StartDate: new Date('2022/02/20'),
- EndDate: new Date('2022/03/10'),
+ StartDate: new Date('2024/02/20'),
+ EndDate: new Date('2024/03/10'),
Assignee: [1],
TimeLog: 13,
Work: 10,
@@ -2639,8 +2639,8 @@ export let overviewData: object[] = [
{
TaskId: '13',
TaskName: "ScrollToTimelineAsync Method",
- StartDate: new Date('2022/02/20'),
- EndDate: new Date('2022/03/10'),
+ StartDate: new Date('2024/02/20'),
+ EndDate: new Date('2024/03/10'),
Assignee: [4],
TimeLog: 13,
Work: 10,
@@ -2653,8 +2653,8 @@ export let overviewData: object[] = [
{
TaskId: '14',
TaskName: "ScrollToTaskbarAsync Method",
- StartDate: new Date('2022/03/10'),
- EndDate: new Date('2022/03/25'),
+ StartDate: new Date('2024/03/10'),
+ EndDate: new Date('2024/03/25'),
Assignee: [1],
TimeLog: 11,
Work: 15,
@@ -2667,8 +2667,8 @@ export let overviewData: object[] = [
{
TaskId: '15',
TaskName: "Web Accessibility",
- StartDate: new Date('2022/03/10'),
- EndDate: new Date('2022/03/25'),
+ StartDate: new Date('2024/03/10'),
+ EndDate: new Date('2024/03/25'),
Assignee: [4],
TimeLog: 11,
Work: 12,
@@ -2687,8 +2687,8 @@ export let overviewData: object[] = [
{
TaskId: '17',
TaskName: "Phase-1",
- StartDate: new Date('2022/03/20'),
- EndDate: new Date('2022/03/24'),
+ StartDate: new Date('2024/03/20'),
+ EndDate: new Date('2024/03/24'),
Work: 2,
Progress: 0,
ParentId: 16,
@@ -2696,8 +2696,8 @@ export let overviewData: object[] = [
{
TaskId: '18',
TaskName: "Phase-2",
- StartDate: new Date('2022/03/22'),
- EndDate: new Date('2022/03/26'),
+ StartDate: new Date('2024/03/22'),
+ EndDate: new Date('2024/03/26'),
Work: 1,
Progress: 0,
Predecessor: "17FS",
@@ -2706,22 +2706,22 @@ export let overviewData: object[] = [
{
TaskId: '19',
TaskName: "Testing Completion",
- StartDate: new Date('2022/03/27'),
+ StartDate: new Date('2024/03/27'),
TimeLog: 0,
ParentId: 3,
},
{
TaskId: '20',
TaskName: "Release Roll-out",
- StartDate: new Date('2022/04/04'),
+ StartDate: new Date('2024/04/04'),
TimeLog: 0,
ParentId: 2,
},
{
TaskId: '21',
TaskName: "Q-2 Release",
- StartDate: new Date('2022/04/05'),
- EndDate: new Date('2022/06/30'),
+ StartDate: new Date('2024/04/05'),
+ EndDate: new Date('2024/06/30'),
TimeLog: 2,
Work: 2,
Progress: 90,
@@ -2740,8 +2740,8 @@ export let overviewData: object[] = [
{
TaskId: '24',
TaskName: "Grid",
- StartDate: new Date('2022/04/05'),
- EndDate: new Date('2022/05/30'),
+ StartDate: new Date('2024/04/05'),
+ EndDate: new Date('2024/05/30'),
TimeLog: 2,
Work: 2,
Progress: 100,
@@ -2750,8 +2750,8 @@ export let overviewData: object[] = [
{
TaskId: '25',
TaskName: "Web Accessibility",
- StartDate: new Date('2022/04/05'),
- EndDate: new Date('2022/04/30'),
+ StartDate: new Date('2024/04/05'),
+ EndDate: new Date('2024/04/30'),
Assignee: [1],
TimeLog: 19,
Work: 15,
@@ -2764,8 +2764,8 @@ export let overviewData: object[] = [
{
TaskId: '26',
TaskName: "Sticky Header",
- StartDate: new Date('2022/04/15'),
- EndDate: new Date('2022/05/10'),
+ StartDate: new Date('2024/04/15'),
+ EndDate: new Date('2024/05/10'),
Assignee: [8],
TimeLog: 19,
Work: 20,
@@ -2778,8 +2778,8 @@ export let overviewData: object[] = [
{
TaskId: '27',
TaskName: "Adapative UI Mode",
- StartDate: new Date('2022/04/20'),
- EndDate: new Date('2022/05/20'),
+ StartDate: new Date('2024/04/20'),
+ EndDate: new Date('2024/05/20'),
Assignee: [2],
TimeLog: 19,
Work: 25,
@@ -2792,8 +2792,8 @@ export let overviewData: object[] = [
{
TaskId: '28',
TaskName: "Tree Grid",
- StartDate: new Date('2022/04/25'),
- EndDate: new Date('2022/05/30'),
+ StartDate: new Date('2024/04/25'),
+ EndDate: new Date('2024/05/30'),
TimeLog: 2,
Work: 2,
Progress: 50,
@@ -2802,8 +2802,8 @@ export let overviewData: object[] = [
{
TaskId: '29',
TaskName: "CRUD Opreation for virtualization",
- StartDate: new Date('2022/04/25'),
- EndDate: new Date('2022/05/30'),
+ StartDate: new Date('2024/04/25'),
+ EndDate: new Date('2024/05/30'),
Assignee: [4],
TimeLog: 26,
Work: 28,
@@ -2816,8 +2816,8 @@ export let overviewData: object[] = [
{
TaskId: '30',
TaskName: "Frozen Column",
- StartDate: new Date('2022/04/28'),
- EndDate: new Date('2022/05/30'),
+ StartDate: new Date('2024/04/28'),
+ EndDate: new Date('2024/05/30'),
Assignee: [1],
TimeLog: 26,
Work: 28,
@@ -2830,8 +2830,8 @@ export let overviewData: object[] = [
{
TaskId: '31',
TaskName: "Gantt Chart",
- StartDate: new Date('2022/05/05'),
- EndDate: new Date('2022/06/20'),
+ StartDate: new Date('2024/05/05'),
+ EndDate: new Date('2024/06/20'),
TimeLog: 2,
Work: 2,
Progress: 50,
@@ -2840,8 +2840,8 @@ export let overviewData: object[] = [
{
TaskId: '32',
TaskName: "Observable Collection",
- StartDate: new Date('2022/05/15'),
- EndDate: new Date('2022/06/10'),
+ StartDate: new Date('2024/05/15'),
+ EndDate: new Date('2024/06/10'),
Assignee: [2],
TimeLog: 19,
Work: 15,
@@ -2854,8 +2854,8 @@ export let overviewData: object[] = [
{
TaskId: '33',
TaskName: "INotifyPropertyChanged",
- StartDate: new Date('2022/05/18'),
- EndDate: new Date('2022/05/30'),
+ StartDate: new Date('2024/05/18'),
+ EndDate: new Date('2024/05/30'),
Assignee: [4],
TimeLog: 19,
Work: 18,
@@ -2868,8 +2868,8 @@ export let overviewData: object[] = [
{
TaskId: '34',
TaskName: "INotifyPropertyChanged",
- StartDate: new Date('2022/05/25'),
- EndDate: new Date('2022/06/15'),
+ StartDate: new Date('2024/05/25'),
+ EndDate: new Date('2024/06/15'),
Assignee: [8],
TimeLog: 19,
Work: 25,
@@ -2882,8 +2882,8 @@ export let overviewData: object[] = [
{
TaskId: '35',
TaskName: "Customized Taskbar Editing",
- StartDate: new Date('2022/05/25'),
- EndDate: new Date('2022/06/30'),
+ StartDate: new Date('2024/05/25'),
+ EndDate: new Date('2024/06/30'),
Assignee: [1],
TimeLog: 15,
Work: 20,
@@ -2896,8 +2896,8 @@ export let overviewData: object[] = [
{
TaskId: '36',
TaskName: "Column Virtualization ",
- StartDate: new Date('2022/05/05'),
- EndDate: new Date('2022/05/30'),
+ StartDate: new Date('2024/05/05'),
+ EndDate: new Date('2024/05/30'),
Assignee: [2],
TimeLog: 18,
Work: 22,
@@ -2910,8 +2910,8 @@ export let overviewData: object[] = [
{
TaskId: '37',
TaskName: "Touch Interaction ",
- StartDate: new Date('2022/05/27'),
- EndDate: new Date('2022/6/17'),
+ StartDate: new Date('2024/05/27'),
+ EndDate: new Date('2024/6/17'),
Assignee: [8],
TimeLog: 18,
Work: 14,
@@ -2924,8 +2924,8 @@ export let overviewData: object[] = [
{
TaskId: '38',
TaskName: "Editing Tooltip Template",
- StartDate: new Date('2022/05/29'),
- EndDate: new Date('2022/06/19'),
+ StartDate: new Date('2024/05/29'),
+ EndDate: new Date('2024/06/19'),
Assignee: [4],
TimeLog: 18,
Work: 20,
@@ -2938,8 +2938,8 @@ export let overviewData: object[] = [
{
TaskId: '39',
TaskName: "Predecessor Drag Vertical Auto Scroll",
- StartDate: new Date('2022/05/25'),
- EndDate: new Date('2022/06/15'),
+ StartDate: new Date('2024/05/25'),
+ EndDate: new Date('2024/06/15'),
Assignee: [2],
TimeLog: 18,
Work: 15,
@@ -2952,8 +2952,8 @@ export let overviewData: object[] = [
{
TaskId: '40',
TaskName: "Taskbar Drag Horizontal Auto Scroll",
- StartDate: new Date('2022/05/27'),
- EndDate: new Date('2022/06/17'),
+ StartDate: new Date('2024/05/27'),
+ EndDate: new Date('2024/06/17'),
Assignee: [1],
TimeLog: 18,
Work: 14,
@@ -2966,8 +2966,8 @@ export let overviewData: object[] = [
{
TaskId: '41',
TaskName: "Predecessor Types Configure",
- StartDate: new Date('2022/05/28'),
- EndDate: new Date('2022/06/18'),
+ StartDate: new Date('2024/05/28'),
+ EndDate: new Date('2024/06/18'),
Assignee: [8],
TimeLog: 18,
Work: 15,
@@ -2980,8 +2980,8 @@ export let overviewData: object[] = [
{
TaskId: '42',
TaskName: "Based on content height holiday, event markers, and weekend container rendering",
- StartDate: new Date('2022/05/28'),
- EndDate: new Date('2022/06/15'),
+ StartDate: new Date('2024/05/28'),
+ EndDate: new Date('2024/06/15'),
Assignee: [4],
TimeLog: 18,
Work: 17,
@@ -2994,7 +2994,7 @@ export let overviewData: object[] = [
{
TaskId: '43',
TaskName: "Feature Completion",
- StartDate: new Date('2022/06/15'),
+ StartDate: new Date('2024/06/15'),
TimeLog: 0,
ParentId: 23,
},
@@ -3007,8 +3007,8 @@ export let overviewData: object[] = [
{
TaskId: '45',
TaskName: "Phase-1",
- StartDate: new Date('2022/06/15'),
- EndDate: new Date('2022/06/20'),
+ StartDate: new Date('2024/06/15'),
+ EndDate: new Date('2024/06/20'),
Work: 3,
Progress: 0,
ParentId: 44,
@@ -3016,8 +3016,8 @@ export let overviewData: object[] = [
{
TaskId: '46',
TaskName: "Phase-2",
- StartDate: new Date('2022/06/18'),
- EndDate: new Date('2022/06/23'),
+ StartDate: new Date('2024/06/18'),
+ EndDate: new Date('2024/06/23'),
Work: 2,
Predecessor: "45FS",
Progress: 0,
@@ -3026,22 +3026,22 @@ export let overviewData: object[] = [
{
TaskId: '47',
TaskName: "Testing Completion",
- StartDate: new Date('2022/06/24'),
+ StartDate: new Date('2024/06/24'),
TimeLog: 0,
ParentId: 24,
},
{
TaskId: '48',
TaskName: "Release Roll-out",
- StartDate: new Date('2022/06/30'),
+ StartDate: new Date('2024/06/30'),
TimeLog: 0,
ParentId: 22,
},
{
TaskId: '49',
TaskName: "Q-3 Release",
- StartDate: new Date('2022/07/01'),
- EndDate: new Date('2022/09/29'),
+ StartDate: new Date('2024/07/01'),
+ EndDate: new Date('2024/09/29'),
TimeLog: 2,
Work: 2,
Progress: 100,
@@ -3061,8 +3061,8 @@ export let overviewData: object[] = [
{
TaskId: '52',
TaskName: "Grid",
- StartDate: new Date('2022/07/01'),
- EndDate: new Date('2022/07/20'),
+ StartDate: new Date('2024/07/01'),
+ EndDate: new Date('2024/07/20'),
TimeLog: 15,
Work: 120,
Progress: 100,
@@ -3071,8 +3071,8 @@ export let overviewData: object[] = [
{
TaskId: '53',
TaskName: "Lazy-Loading Grouping with Virtualization",
- StartDate: new Date('2022/07/01'),
- EndDate: new Date('2022/07/15'),
+ StartDate: new Date('2024/07/01'),
+ EndDate: new Date('2024/07/15'),
Assignee: [1],
TimeLog: 11,
Work: 12,
@@ -3085,8 +3085,8 @@ export let overviewData: object[] = [
{
TaskId: '54',
TaskName: "Filter Bar Keyboard Navigation",
- StartDate: new Date('2022/07/04'),
- EndDate: new Date('2022/07/18'),
+ StartDate: new Date('2024/07/04'),
+ EndDate: new Date('2024/07/18'),
Assignee: [8],
TimeLog: 11,
Work: 15,
@@ -3099,8 +3099,8 @@ export let overviewData: object[] = [
{
TaskId: '55',
TaskName: "Keyboard Navigation Enhanced",
- StartDate: new Date('2022/07/07'),
- EndDate: new Date('2022/07/20'),
+ StartDate: new Date('2024/07/07'),
+ EndDate: new Date('2024/07/20'),
Assignee: [2],
TimeLog: 11,
Work: 12,
@@ -3113,8 +3113,8 @@ export let overviewData: object[] = [
{
TaskId: '56',
TaskName: "Tree Grid",
- StartDate: new Date('2022/07/01'),
- EndDate: new Date('2022/07/20'),
+ StartDate: new Date('2024/07/01'),
+ EndDate: new Date('2024/07/20'),
TimeLog: 15,
Work: 12,
Progress: 100,
@@ -3123,8 +3123,8 @@ export let overviewData: object[] = [
{
TaskId: '57',
TaskName: "Persistence State",
- StartDate: new Date('2022/07/15'),
- EndDate: new Date('2022/08/15'),
+ StartDate: new Date('2024/07/15'),
+ EndDate: new Date('2024/08/15'),
Assignee: [2],
TimeLog: 24,
Work: 20,
@@ -3137,8 +3137,8 @@ export let overviewData: object[] = [
{
TaskId: '58',
TaskName: "Add or Remove Frozen Columns",
- StartDate: new Date('2022/07/18'),
- EndDate: new Date('2022/08/15'),
+ StartDate: new Date('2024/07/18'),
+ EndDate: new Date('2024/08/15'),
Assignee: [1],
TimeLog: 24,
Work: 20,
@@ -3151,8 +3151,8 @@ export let overviewData: object[] = [
{
TaskId: '59',
TaskName: "Gantt Chart",
- StartDate: new Date('2022/07/01'),
- EndDate: new Date('2022/07/20'),
+ StartDate: new Date('2024/07/01'),
+ EndDate: new Date('2024/07/20'),
TimeLog: 15,
Work: 120,
Progress: 100,
@@ -3161,8 +3161,8 @@ export let overviewData: object[] = [
{
TaskId: '60',
TaskName: "Timeline Virtualization",
- StartDate: new Date('2022/07/18'),
- EndDate: new Date('2022/08/15'),
+ StartDate: new Date('2024/07/18'),
+ EndDate: new Date('2024/08/15'),
Assignee: [8],
TimeLog: 24,
Work: 21,
@@ -3175,8 +3175,8 @@ export let overviewData: object[] = [
{
TaskId: '61',
TaskName: "String and GUID Task Id type",
- StartDate: new Date('2022/07/25'),
- EndDate: new Date('2022/08/20'),
+ StartDate: new Date('2024/07/25'),
+ EndDate: new Date('2024/08/20'),
Assignee: [4],
TimeLog: 24,
Work: 19,
@@ -3189,8 +3189,8 @@ export let overviewData: object[] = [
{
TaskId: '62',
TaskName: "Rendering spinner for every Gantt action",
- StartDate: new Date('2022/07/27'),
- EndDate: new Date('2022/08/20'),
+ StartDate: new Date('2024/07/27'),
+ EndDate: new Date('2024/08/20'),
Assignee: [2],
TimeLog: 24,
Work: 20,
@@ -3203,8 +3203,8 @@ export let overviewData: object[] = [
{
TaskId: '63',
TaskName: "External Key Events",
- StartDate: new Date('2022/07/27'),
- EndDate: new Date('2022/08/15'),
+ StartDate: new Date('2024/07/27'),
+ EndDate: new Date('2024/08/15'),
Assignee: [8],
TimeLog: 24,
Work: 18,
@@ -3217,8 +3217,8 @@ export let overviewData: object[] = [
{
TaskId: '64',
TaskName: "Dependency and CRUD operation in row virtualization",
- StartDate: new Date('2022/07/25'),
- EndDate: new Date('2022/08/15'),
+ StartDate: new Date('2024/07/25'),
+ EndDate: new Date('2024/08/15'),
Assignee: [1],
TimeLog: 24,
Work: 17,
@@ -3232,8 +3232,8 @@ export let overviewData: object[] = [
{
TaskId: '65',
TaskName: "AutoCalculateDateScheduling API",
- StartDate: new Date('2022/07/27'),
- EndDate: new Date('2022/08/20'),
+ StartDate: new Date('2024/07/27'),
+ EndDate: new Date('2024/08/20'),
Assignee: [2],
TimeLog: 24,
Work: 19,
@@ -3246,8 +3246,8 @@ export let overviewData: object[] = [
{
TaskId: '66',
TaskName: "Persistence State",
- StartDate: new Date('2022/08/15'),
- EndDate: new Date('2022/09/15'),
+ StartDate: new Date('2024/08/15'),
+ EndDate: new Date('2024/09/15'),
Assignee: [4],
TimeLog: 24,
Work: 18,
@@ -3261,7 +3261,7 @@ export let overviewData: object[] = [
{
TaskId: '67',
TaskName: "Feature Completion",
- StartDate: new Date('2022/09/15'),
+ StartDate: new Date('2024/09/15'),
TimeLog: 0,
ParentId: 51,
},
@@ -3274,8 +3274,8 @@ export let overviewData: object[] = [
{
TaskId: '69',
TaskName: "Phase-1",
- StartDate: new Date('2022/09/15'),
- EndDate: new Date('2022/09/19'),
+ StartDate: new Date('2024/09/15'),
+ EndDate: new Date('2024/09/19'),
Work: 3,
Progress: 0,
ParentId: 68,
@@ -3283,8 +3283,8 @@ export let overviewData: object[] = [
{
TaskId: '70',
TaskName: "Phase-2",
- StartDate: new Date('2022/09/18'),
- EndDate: new Date('2022/09/23'),
+ StartDate: new Date('2024/09/18'),
+ EndDate: new Date('2024/09/23'),
Work: 4,
Predecessor: "69FS",
Progress: 0,
@@ -3293,15 +3293,119 @@ export let overviewData: object[] = [
{
TaskId: '71',
TaskName: "Testing Completion",
- StartDate: new Date('2022/09/24'),
+ StartDate: new Date('2024/09/24'),
TimeLog: 0,
ParentId: 51,
},
{
TaskId: '72',
TaskName: "Release Roll-out",
- StartDate: new Date('2022/09/29'),
+ StartDate: new Date('2024/09/29'),
TimeLog: 0,
ParentId: 50,
},
];
+export let timelineTemplateData: Object[] = [
+ {
+ TaskID: 1,
+ TaskName: 'Product Concept',
+ StartDate: new Date('03/31/2024'),
+ EndDate: new Date('04/21/2024'),
+ subtasks: [
+ { TaskID: 2, TaskName: 'Defining the product and its usage', StartDate: new Date('03/31/2024'), Duration: 3,Progress: 30 },
+ { TaskID: 3, TaskName: 'Defining target audience', StartDate: new Date('03/31/2024'), Duration: 3 },
+ { TaskID: 4, TaskName: 'Prepare product sketch and notes', StartDate: new Date('03/31/2024'), Duration: 3, Predecessor: "2" ,Progress: 30},
+ ]
+ },
+ { TaskID: 5, TaskName: 'Concept Approval', StartDate: new Date('03/31/2024'), Duration: 0, Predecessor: "3,4" },
+ {
+ TaskID: 6,
+ TaskName: 'Market Research',
+ StartDate: new Date('03/31/2024'),
+ EndDate: new Date('04/21/2024'),
+ subtasks: [
+ {
+ TaskID: 7,
+ TaskName: 'Demand Analysis',
+ StartDate: new Date('03/31/2024'),
+ EndDate: new Date('04/21/2024'),
+ subtasks: [
+ { TaskID: 8, TaskName: 'Customer strength', StartDate: new Date('03/31/2024'), Duration: 4,Progress: 30 },
+ { TaskID: 9, TaskName: 'Market opportunity analysis', StartDate: new Date('03/31/2024'), Duration: 4,}
+ ]
+ },
+ { TaskID: 10, TaskName: 'Competitor Analysis', StartDate: new Date('03/31/2024'), Duration: 4, Predecessor: "7,8" ,Progress: 30},
+ { TaskID: 11, TaskName: 'Product strength analysis', StartDate: new Date('03/31/2024'), Duration: 4, Predecessor: "9" },
+ { TaskID: 12, TaskName: 'Research complete', StartDate: new Date('03/31/2024'), Duration: 0, Predecessor: "10" }
+ ]
+ },
+ {
+ TaskID: 13,
+ TaskName: 'Product Design and Development',
+ StartDate: new Date('03/31/2024'),
+ EndDate: new Date('04/21/2024'),
+ subtasks: [
+ { TaskID: 14, TaskName: 'Functionality design', StartDate: new Date('03/31/2024'), Duration: 7,Progress: 30 },
+ { TaskID: 15, TaskName: 'Quality design', StartDate: new Date('03/31/2024'), Duration: 5 },
+ { TaskID: 16, TaskName: 'Define Reliability', StartDate: new Date('03/31/2024'), Duration: 5,Progress: 30 },
+ { TaskID: 17, TaskName: 'Identifying raw materials ', StartDate: new Date('03/31/2024'), Duration: 4 },
+ {
+ TaskID: 18,
+ TaskName: 'Define cost plan',
+ StartDate: new Date('03/31/2024'),
+ EndDate: new Date('04/21/2024'),
+ subtasks: [
+ { TaskID: 19, TaskName: 'Manufacturing cost', StartDate: new Date('03/31/2024'), Duration: 1,Progress: 30 },
+ { TaskID: 20, TaskName: 'Selling cost', StartDate: new Date('04/04/2024'), Duration: 1 }
+ ]
+ },
+ {
+ TaskID: 21,
+ TaskName: 'Development of the final design',
+ StartDate: new Date('04/04/2024'),
+ EndDate: new Date('04/21/2024'),
+ subtasks: [
+ { TaskID: 22, TaskName: 'Defining dimensions and package volume', StartDate: new Date('04/04/2024'), Duration: 2,Progress: 30 },
+ { TaskID: 23, TaskName: 'Develop design to meet industry standards', StartDate: new Date('04/04/2024'), Duration: 3 },
+ { TaskID: 24, TaskName: 'Include all the details', StartDate: new Date('04/04/2024'), Duration: 5 }
+ ]
+ },
+ { TaskID: 25, TaskName: 'CAD Computer-aided design', StartDate: new Date('04/04/2024'), Duration: 10,Progress: 30 },
+ { TaskID: 26, TaskName: 'CAM Computer-aided manufacturing', StartDate: new Date('04/04/2024'), Duration: 10 }
+ ]
+ },
+ { TaskID: 27, TaskName: 'Prototype Testing', StartDate: new Date('04/04/2024'), Duration: 12,Progress: 30 },
+ { TaskID: 28, TaskName: 'Include feedback', StartDate: new Date('04/04/2024'), Duration: 5 },
+ { TaskID: 29, TaskName: 'Manufacturing', StartDate: new Date('04/04/2024'), Duration: 9 ,Progress: 30},
+ { TaskID: 30, TaskName: 'Assembling materials to finished goods', StartDate: new Date('04/04/2024'), Duration: 12 },
+ {
+ TaskID: 31,
+ TaskName: 'Feedback and Testing',
+ StartDate: new Date('04/04/2024'),
+ EndDate: new Date('04/21/2024'),
+ subtasks: [
+ { TaskID: 32, TaskName: 'Internal testing and feedback', StartDate: new Date('04/04/2024'), Duration: 5,Progress: 30 },
+ { TaskID: 33, TaskName: 'Customer testing and feedback', StartDate: new Date('04/04/2024'), Duration: 7,Progress: 30 }
+ ]
+ },
+ {
+ TaskID: 34,
+ TaskName: 'Product Development',
+ StartDate: new Date('04/04/2024'),
+ EndDate: new Date('04/21/2024'),
+ subtasks: [
+ { TaskID: 35, TaskName: 'Important improvements', StartDate: new Date('04/04/2024'), Duration: 2,Progress: 30 },
+ { TaskID: 36, TaskName: 'Address any unforeseen issues', StartDate: new Date('04/04/2024'), Duration: 2,Progress: 30 }
+ ]
+ },
+ {
+ TaskID: 37,
+ TaskName: 'Final Product',
+ StartDate: new Date('04/04/2024'),
+ EndDate: new Date('04/21/2024'),
+ subtasks: [
+ { TaskID: 38, TaskName: 'Branding product', StartDate: new Date('04/04/2024'), Duration: 5 },
+ { TaskID: 39, TaskName: 'Marketing and pre-sales', StartDate: new Date('04/04/2024'), Duration: 10,Progress: 30 }
+ ]
+ }
+];
diff --git a/src/gantt/default.ts b/src/gantt/default.ts
index 4a3638d9..b20fad66 100644
--- a/src/gantt/default.ts
+++ b/src/gantt/default.ts
@@ -36,8 +36,8 @@ Gantt.Inject(Selection);
labelSettings: {
leftLabel: 'TaskName'
},
- projectStartDate: new Date('03/24/2019'),
- projectEndDate: new Date('07/06/2019')
+ projectStartDate: new Date('03/24/2024'),
+ projectEndDate: new Date('07/06/2024')
});
gantt.appendTo('#DefaultFunctionalities');
};
diff --git a/src/gantt/drag-and-drop.ts b/src/gantt/drag-and-drop.ts
index 6bd6adf1..39679d41 100644
--- a/src/gantt/drag-and-drop.ts
+++ b/src/gantt/drag-and-drop.ts
@@ -51,8 +51,8 @@ Gantt.Inject(Selection, RowDD, Edit);
labelSettings: {
leftLabel: 'TaskName'
},
- projectStartDate: new Date('03/24/2019'),
- projectEndDate: new Date('07/06/2019')
+ projectStartDate: new Date('03/24/2024'),
+ projectEndDate: new Date('07/06/2024')
});
gantt.appendTo('#DragAndDrop');
};
diff --git a/src/gantt/editing.ts b/src/gantt/editing.ts
index 1855f1af..68f7a996 100644
--- a/src/gantt/editing.ts
+++ b/src/gantt/editing.ts
@@ -61,10 +61,10 @@ Gantt.Inject(Edit, Selection, Toolbar, DayMarkers);
{ field: 'Predecessor' }
],
eventMarkers: [
- { day: '4/17/2019', label: 'Project approval and kick-off' },
- { day: '5/3/2019', label: 'Foundation inspection' },
- { day: '6/7/2019', label: 'Site manager inspection' },
- { day: '7/16/2019', label: 'Property handover and sign-off' },
+ { day: '4/17/2024', label: 'Project approval and kick-off' },
+ { day: '5/3/2024', label: 'Foundation inspection' },
+ { day: '6/7/2024', label: 'Site manager inspection' },
+ { day: '7/16/2024', label: 'Property handover and sign-off' },
],
labelSettings: {
leftLabel: 'TaskName',
@@ -79,8 +79,8 @@ Gantt.Inject(Edit, Selection, Toolbar, DayMarkers);
splitterSettings: {
position: "35%"
},
- projectStartDate: new Date('03/25/2019'),
- projectEndDate: new Date('07/28/2019')
+ projectStartDate: new Date('03/25/2024'),
+ projectEndDate: new Date('07/28/2024')
});
gantt.appendTo('#Editing');
};
diff --git a/src/gantt/event-markers.ts b/src/gantt/event-markers.ts
index 819297f8..140d1614 100644
--- a/src/gantt/event-markers.ts
+++ b/src/gantt/event-markers.ts
@@ -39,23 +39,23 @@ Gantt.Inject(Selection, DayMarkers);
},
eventMarkers: [
{
- day: new Date('04/02/2019'),
+ day: new Date('04/02/2024'),
}, {
- day: new Date('04/09/2019'),
+ day: new Date('04/09/2024'),
label: 'Research phase'
}, {
- day: new Date('04/30/2019'),
+ day: new Date('04/30/2024'),
label: 'Design phase'
}, {
- day: new Date('05/23/2019'),
+ day: new Date('05/23/2024'),
label: 'Production phase'
}, {
- day: new Date('06/20/2019'),
+ day: new Date('06/20/2024'),
label: 'Sales and marketing phase'
}
],
- projectStartDate: new Date('03/24/2019'),
- projectEndDate: new Date('07/06/2019')
+ projectStartDate: new Date('03/24/2024'),
+ projectEndDate: new Date('07/06/2024')
});
gantt.appendTo('#EventMarkers');
};
diff --git a/src/gantt/events.ts b/src/gantt/events.ts
index ee26f2b4..f88b85ea 100644
--- a/src/gantt/events.ts
+++ b/src/gantt/events.ts
@@ -90,8 +90,8 @@ Gantt.Inject(Selection, Reorder, Sort, Resize, ContextMenu, ColumnMenu, Toolbar,
splitterSettings: {
columnIndex: 2
},
- projectStartDate: new Date('03/24/2019'),
- projectEndDate: new Date('07/06/2019')
+ projectStartDate: new Date('03/24/2024'),
+ projectEndDate: new Date('07/06/2024')
});
gantt.appendTo('#Events');
let clear: Button = new Button();
diff --git a/src/gantt/exporting.html b/src/gantt/exporting.html
index 22ae2572..1f307646 100644
--- a/src/gantt/exporting.html
+++ b/src/gantt/exporting.html
@@ -2,7 +2,7 @@
-
+
@@ -35,3 +35,9 @@
To use PDF export feature, inject the PdfExport module using the
Gantt.Inject(PdfExport) method.
+
\ No newline at end of file
diff --git a/src/gantt/exporting.ts b/src/gantt/exporting.ts
index 68757eaf..be3cd313 100644
--- a/src/gantt/exporting.ts
+++ b/src/gantt/exporting.ts
@@ -28,33 +28,33 @@ Gantt.Inject(Selection, Toolbar, ExcelExport, PdfExport, DayMarkers);
},
eventMarkers: [
{
- day: new Date('04/02/2019'),
+ day: new Date('04/02/2024'),
}, {
- day: new Date('04/09/2019'),
+ day: new Date('04/09/2024'),
label: 'Research phase'
}, {
- day: new Date('04/30/2019'),
+ day: new Date('04/30/2024'),
label: 'Design phase'
}, {
- day: new Date('05/23/2019'),
+ day: new Date('05/23/2024'),
label: 'Production phase'
}, {
- day: new Date('06/20/2019'),
+ day: new Date('06/20/2024'),
label: 'Sales and marketing phase'
}
],
holidays: [
{
- from: new Date('04/04/2019'),
- to: new Date('04/04/2019'),
+ from: new Date('04/04/2024'),
+ to: new Date('04/04/2024'),
label: 'Local Holiday'
}, {
- from: new Date('04/19/2019'),
- to: new Date('04/19/2019'),
+ from: new Date('04/19/2024'),
+ to: new Date('04/19/2024'),
label: 'Good Friday'
}, {
- from: new Date('04/30/2019'),
- to: new Date('04/30/2019'),
+ from: new Date('04/30/2024'),
+ to: new Date('04/30/2024'),
label: 'Release Holiday'
},
],
@@ -104,8 +104,8 @@ Gantt.Inject(Selection, Toolbar, ExcelExport, PdfExport, DayMarkers);
labelSettings: {
leftLabel: 'TaskName'
},
- projectStartDate: new Date('03/25/2019'),
- projectEndDate: new Date('07/28/2019')
+ projectStartDate: new Date('03/25/2024'),
+ projectEndDate: new Date('07/28/2024')
});
gantt.appendTo('#GanttExport');
diff --git a/src/gantt/filtering.html b/src/gantt/filtering.html
index bd8a61e0..036cd4fb 100644
--- a/src/gantt/filtering.html
+++ b/src/gantt/filtering.html
@@ -54,10 +54,12 @@
Gantt chart also provides support for a set of filtering modes with hierarchyMode property. The
below are the type of filter mode available in Gantt chart.
+
Parent - This is the default filter hierarchy mode in Gantt chart. The filtered records are displayed with its parent records, if the filtered records not have any parent record then the filtered record alone will be displayed.
Child - The filtered records are displayed with its child record, if the filtered records do not have any child record then only the filtered records are displayed.
Both - The filtered records are displayed with its both parent and child record. If the filtered records do not have any parent and child record then only the filtered records are displayed.
None - Only the filtered records are displayed.
+
Injecting Module:
diff --git a/src/gantt/grid-lines.ts b/src/gantt/grid-lines.ts
index bbd913c9..0fcebcbb 100644
--- a/src/gantt/grid-lines.ts
+++ b/src/gantt/grid-lines.ts
@@ -42,8 +42,8 @@ Gantt.Inject(DayMarkers, Selection );
splitterSettings: {
columnIndex: 2
},
- projectStartDate: new Date('03/24/2019'),
- projectEndDate: new Date('07/06/2019')
+ projectStartDate: new Date('03/24/2024'),
+ projectEndDate: new Date('07/06/2024')
});
gantt.appendTo('#GridLines');
diff --git a/src/gantt/header-template.html b/src/gantt/header-template.html
index 65a9e195..24b471b1 100644
--- a/src/gantt/header-template.html
+++ b/src/gantt/header-template.html
@@ -1,56 +1,57 @@
@@ -63,35 +64,35 @@
diff --git a/src/gantt/header-template.ts b/src/gantt/header-template.ts
index 71ede708..d0a9165b 100644
--- a/src/gantt/header-template.ts
+++ b/src/gantt/header-template.ts
@@ -51,8 +51,8 @@ Gantt.Inject(Selection);
name: 'resourceName'
},
resources: projectResources,
- projectStartDate: new Date('03/24/2019'),
- projectEndDate: new Date('07/06/2019')
+ projectStartDate: new Date('03/24/2024'),
+ projectEndDate: new Date('07/06/2024')
});
gantt.appendTo('#HeaderTemplate');
};
diff --git a/src/gantt/holidays.ts b/src/gantt/holidays.ts
index 5b875921..538f9518 100644
--- a/src/gantt/holidays.ts
+++ b/src/gantt/holidays.ts
@@ -39,21 +39,21 @@ Gantt.Inject(Selection, DayMarkers);
},
holidays: [
{
- from: new Date('04/04/2019'),
- to: new Date('04/04/2019'),
+ from: new Date('04/04/2024'),
+ to: new Date('04/04/2024'),
label: 'Local Holiday'
}, {
- from: new Date('04/19/2019'),
- to: new Date('04/19/2019'),
+ from: new Date('04/19/2024'),
+ to: new Date('04/19/2024'),
label: 'Good Friday'
}, {
- from: new Date('04/30/2019'),
- to: new Date('04/30/2019'),
+ from: new Date('04/30/2024'),
+ to: new Date('04/30/2024'),
label: 'Release Holiday'
},
],
- projectStartDate: new Date('03/24/2019'),
- projectEndDate: new Date('07/06/2019')
+ projectStartDate: new Date('03/24/2024'),
+ projectEndDate: new Date('07/06/2024')
});
gantt.appendTo('#Holidays');
};
diff --git a/src/gantt/images/f.svg b/src/gantt/images/f.svg
new file mode 100644
index 00000000..b5a5e6e5
--- /dev/null
+++ b/src/gantt/images/f.svg
@@ -0,0 +1,22 @@
+
+
\ No newline at end of file
diff --git a/src/gantt/images/m.svg b/src/gantt/images/m.svg
new file mode 100644
index 00000000..b5a5e6e5
--- /dev/null
+++ b/src/gantt/images/m.svg
@@ -0,0 +1,22 @@
+
+
\ No newline at end of file
diff --git a/src/gantt/images/s.svg b/src/gantt/images/s.svg
new file mode 100644
index 00000000..b469d869
--- /dev/null
+++ b/src/gantt/images/s.svg
@@ -0,0 +1,19 @@
+
+
\ No newline at end of file
diff --git a/src/gantt/images/t.svg b/src/gantt/images/t.svg
new file mode 100644
index 00000000..8bdf83a0
--- /dev/null
+++ b/src/gantt/images/t.svg
@@ -0,0 +1,12 @@
+
+
\ No newline at end of file
diff --git a/src/gantt/images/w.svg b/src/gantt/images/w.svg
new file mode 100644
index 00000000..b469d869
--- /dev/null
+++ b/src/gantt/images/w.svg
@@ -0,0 +1,19 @@
+
+
\ No newline at end of file
diff --git a/src/gantt/indicators.html b/src/gantt/indicators.html
index 26c33dfa..700e058b 100644
--- a/src/gantt/indicators.html
+++ b/src/gantt/indicators.html
@@ -39,12 +39,16 @@
}
.bootstrap5-dark #Indicators .okIcon::before,
.tailwind #Indicators .okIcon::before, .tailwind-dark #Indicators .okIcon::before,
- .fluent #Indicators .okIcon::before, .fluent-dark #Indicators .okIcon::before,.material3-dark #Indicators .okIcon::before,.material3 #Indicators .okIcon::before {
+ .fluent #Indicators .okIcon::before,.fluent2 #Indicators .okIcon::before,.fluent2-highcontrast #Indicators .okIcon::before,
+ .fluent2-dark #Indicators .okIcon::before, .fluent-dark #Indicators .okIcon::before,.material3-dark #Indicators .okIcon::before,
+ .material3 #Indicators .okIcon::before {
content: '\e72b';
}
.bootstrap5-dark #Indicators .description::before,
.tailwind #Indicators .description::before, .tailwind-dark #Indicators .description::before,
- .fluent #Indicators .description::before, .fluent-dark #Indicators .description::before,.material3-dark #Indicators .description::before,.material3 #Indicators .description::before {
+ .fluent #Indicators .description::before, .fluent-dark #Indicators .description::before,.material3-dark #Indicators .description::before,.material3 #Indicators .description::before,
+ .fluent2 #Indicators .description::before,.fluent2-highcontrast #Indicators .description::before,
+ .fluent2-dark #Indicators .description::before {
content: '\e7c0';
}
.bootstrap5 #Indicators .okIcon::before {
diff --git a/src/gantt/indicators.ts b/src/gantt/indicators.ts
index fdc824d8..e4703dd9 100644
--- a/src/gantt/indicators.ts
+++ b/src/gantt/indicators.ts
@@ -38,8 +38,8 @@ Gantt.Inject(Selection, DayMarkers);
labelSettings: {
leftLabel: 'TaskName'
},
- projectStartDate: new Date('03/24/2019'),
- projectEndDate: new Date('07/06/2019')
+ projectStartDate: new Date('03/24/2024'),
+ projectEndDate: new Date('07/06/2024')
});
gantt.appendTo('#Indicators');
};
diff --git a/src/gantt/keyboard-interactions.ts b/src/gantt/keyboard-interactions.ts
index 70c2f5da..33847a7e 100644
--- a/src/gantt/keyboard-interactions.ts
+++ b/src/gantt/keyboard-interactions.ts
@@ -48,8 +48,8 @@ Gantt.Inject(Selection, Toolbar, Edit, Filter, DayMarkers );
splitterSettings: {
columnIndex: 2
},
- projectStartDate: new Date('03/24/2019'),
- projectEndDate: new Date('07/06/2019')
+ projectStartDate: new Date('03/24/2024'),
+ projectEndDate: new Date('07/06/2024')
});
gantt.appendTo('#KeyboardNavigation');
};
diff --git a/src/gantt/loading-animation.html b/src/gantt/loading-animation.html
index a07b69b3..65359591 100644
--- a/src/gantt/loading-animation.html
+++ b/src/gantt/loading-animation.html
@@ -11,7 +11,7 @@
diff --git a/src/gantt/show-hide-column.ts b/src/gantt/show-hide-column.ts
index a3cce520..c675715f 100644
--- a/src/gantt/show-hide-column.ts
+++ b/src/gantt/show-hide-column.ts
@@ -42,8 +42,8 @@ Gantt.Inject(Selection);
splitterSettings: {
columnIndex: 3
},
- projectStartDate: new Date('03/24/2019'),
- projectEndDate: new Date('07/06/2019')
+ projectStartDate: new Date('03/24/2024'),
+ projectEndDate: new Date('07/06/2024')
});
gantt.appendTo('#ShowHideColumn');
diff --git a/src/gantt/sorting-api.ts b/src/gantt/sorting-api.ts
index 7cf78675..3d16bc94 100644
--- a/src/gantt/sorting-api.ts
+++ b/src/gantt/sorting-api.ts
@@ -43,8 +43,8 @@ Gantt.Inject(Sort, DayMarkers, Selection );
splitterSettings: {
columnIndex: 2
},
- projectStartDate: new Date('03/25/2019'),
- projectEndDate: new Date('07/28/2019'),
+ projectStartDate: new Date('03/25/2024'),
+ projectEndDate: new Date('07/28/2024'),
});
gantt.appendTo('#SortingAPI');
diff --git a/src/gantt/sorting.ts b/src/gantt/sorting.ts
index 007c5112..b79458eb 100644
--- a/src/gantt/sorting.ts
+++ b/src/gantt/sorting.ts
@@ -43,8 +43,8 @@ Gantt.Inject(Sort, DayMarkers, Selection );
columnIndex: 2
},
sortSettings: { columns: [{ field: 'TaskName', direction: 'Ascending' }, { field: 'TaskID', direction: 'Ascending' }] },
- projectStartDate: new Date('03/25/2019'),
- projectEndDate: new Date('07/28/2019'),
+ projectStartDate: new Date('03/25/2024'),
+ projectEndDate: new Date('07/28/2024'),
});
gantt.appendTo('#Sorting');
};
diff --git a/src/gantt/split-tasks.ts b/src/gantt/split-tasks.ts
index 6ef7f460..6d6195cd 100644
--- a/src/gantt/split-tasks.ts
+++ b/src/gantt/split-tasks.ts
@@ -55,8 +55,8 @@ Gantt.Inject(Selection, DayMarkers, Toolbar, Edit, ContextMenu);
leftLabel: 'TaskName',
taskLabel: '${Progress}%'
},
- projectStartDate: new Date('01/30/2019'),
- projectEndDate: new Date('03/04/2019')
+ projectStartDate: new Date('01/30/2024'),
+ projectEndDate: new Date('03/04/2024')
});
gantt.appendTo('#SplitTasks');
};
diff --git a/src/gantt/taskMode.ts b/src/gantt/taskMode.ts
index 8e73fbcb..59e05310 100644
--- a/src/gantt/taskMode.ts
+++ b/src/gantt/taskMode.ts
@@ -49,8 +49,8 @@ Gantt.Inject(Selection, Edit, Toolbar);
splitterSettings: {
position: '35%'
},
- projectStartDate: new Date('02/20/2017'),
- projectEndDate: new Date('03/30/2017'),
+ projectStartDate: new Date('02/20/2024'),
+ projectEndDate: new Date('03/30/2024'),
});
gantt.appendTo('#TaskMode');
};
diff --git a/src/gantt/taskbar-template.html b/src/gantt/taskbar-template.html
index 84a87104..0551e504 100644
--- a/src/gantt/taskbar-template.html
+++ b/src/gantt/taskbar-template.html
@@ -43,7 +43,7 @@
+
+
This sample explains the way of rendering timeline template by mapping template elements to the
+ timelineTemplate property.
+
+
+
+
+
+ In this demo, the
+ timelineTemplate property enables the customization of timeline cells with any HTML content, allowing for enhanced visual appeal and personalized functionality.
+
The template contains these context properties to design the timeline cells.
+
date: Defines the date of timeline date.
+
value: Defines the date value to display in the timeline.
@@ -40,4 +40,24 @@
Selection module using the Gantt.Inject(Selection) method. To use markers, inject the
DayMarkers module using the Gantt.Inject(DayMarkers) method.
-
\ No newline at end of file
+
+
+
+
+
diff --git a/src/gantt/work-week.ts b/src/gantt/work-week.ts
index 54fc462b..84fb860a 100644
--- a/src/gantt/work-week.ts
+++ b/src/gantt/work-week.ts
@@ -51,9 +51,12 @@ MultiSelect.Inject(CheckBoxSelection);
labelSettings: {
leftLabel: 'TaskName'
},
+ splitterSettings: {
+ columnIndex: 1
+ },
workWeek: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'],
- projectStartDate: new Date('03/24/2019'),
- projectEndDate: new Date('07/06/2019')
+ projectStartDate: new Date('03/24/2024'),
+ projectEndDate: new Date('07/06/2024')
});
gantt.appendTo('#WorkWeek');
const select: any = (args: SelectEventArgs) => {
diff --git a/src/gantt/working-time-range.html b/src/gantt/working-time-range.html
index 884ff968..740dbe35 100644
--- a/src/gantt/working-time-range.html
+++ b/src/gantt/working-time-range.html
@@ -1,40 +1,90 @@
-
+
-
+
-
-
Work Start Time
+
+
-
-
-
+
+
Work Start Time
+
+
+
+
+
+
+
+
+
+
Work End Time
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Working Days
+
+
+
+
-
-
Work End Time
+
+
Work Start Time
+
+
+
+
+
-
-
-
+
+
Work End Time
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -43,11 +93,19 @@
- In this example, you can see how to render a Gantt chart with the provided data source and customizable working hours in a day. You can split the working hours in a day to one or more range. So, You can also provide the dayWorkingTime property value as array of object collection. Gantt chart also supports different durationUnit values as follows:
+ In this example, you can see how to render a Gantt chart with the provided data source and customizable working hours in a day. You can split the working hours in a day to one or more range. So, you can also provide the
+ dayWorkingTime property value as array of object collection. Gantt chart also supports different
+ durationUnit values as follows:
+
day
hour
minute
+
+
You can also set different working time range for different working days using
+ weekWorkingTime property. The
+ weekWorkingTime property enables you to specify different working hours for each day of the week in your Gantt chart.
+ By configuring this property, you can ensure that tasks are only scheduled during defined working periods, avoiding non-working hours.
Given duration in dataSource will be considered with this unit. In this demo, the hour unit is used to render taskbars in day hour timeline mode. Gantt chart supports only 24hours format as of now. The working hours will differ between organizations. This feature will be helpful to keep track of each task and resource task status based on the working time of company.
@@ -57,4 +115,4 @@
Selection module using the Gantt.Inject(Selection) method. To use markers, inject the
DayMarkers module using the Gantt.Inject(DayMarkers) method.
-
\ No newline at end of file
+
diff --git a/src/gantt/working-time-range.ts b/src/gantt/working-time-range.ts
index 6e0df41c..60116a36 100644
--- a/src/gantt/working-time-range.ts
+++ b/src/gantt/working-time-range.ts
@@ -2,6 +2,8 @@ import { loadCultureFiles } from '../common/culture-loader';
import { Gantt, Selection, DayMarkers } from '@syncfusion/ej2-gantt';
import {NumericTextBox} from '@syncfusion/ej2-inputs';
import { projectNewData } from './data-source';
+import { Button } from '@syncfusion/ej2-buttons';
+import { DropDownList } from '@syncfusion/ej2-dropdowns';
/**
* Default Gantt sample
@@ -25,10 +27,8 @@ Gantt.Inject(Selection, DayMarkers);
dependency: 'Predecessor',
child: 'subtasks'
},
- treeColumnIndex: 1,
columns: [
- { field: 'TaskID', width: 80 },
- { field: 'TaskName',headerText: 'Name', width: 250 },
+ { field: 'TaskName',headerText: 'Name', width: 270 },
{ field: 'StartDate' },
{ field: 'EndDate' },
{ field: 'Duration' },
@@ -47,53 +47,130 @@ Gantt.Inject(Selection, DayMarkers);
unit: 'Hour'
}
},
- projectStartDate: new Date('04/02/2019'),
- projectEndDate: new Date('07/06/2019')
+ projectStartDate: new Date('04/02/2024'),
+ projectEndDate: new Date('07/06/2024')
});
gantt.appendTo('#WorkTimeRange');
+ let workDays: any = [
+ { id: 'Monday', day: 'Monday' },
+ { id: 'Tuesday', day: 'Tuesday' },
+ { id: 'Wednesday', day: 'Wednesday' },
+ { id: 'Thursday', day: 'Thursday' },
+ { id: 'Friday', day: 'Friday' },
+ ];
+ const change1: any = (args: any) => {
+ let startTime = ((document.getElementById('WorkStartTime'))).ej2_instances[0].value;
+ let endTime = ((document.getElementById('WorkEndTime'))).ej2_instances[0].value;
+ if (startTime >= endTime) {
+ if(startTime < 24) {
+ ((document.getElementById('WorkEndTime'))).ej2_instances[0].value = startTime + 1.00;
+ }
+ else {
+ ((document.getElementById('WorkEndTime'))).ej2_instances[0].value = 0.00;
+ }
+ }
+ };
+ const change2: any = (args: any) => {
+ let startTime = ((document.getElementById('WorkStart'))).ej2_instances[0].value;
+ let endTime = ((document.getElementById('WorkEnd'))).ej2_instances[0].value;
+ if (startTime >= endTime) {
+ if(startTime < 24) {
+ ((document.getElementById('WorkEnd'))).ej2_instances[0].value = startTime + 1.00;
+ }
+ else {
+ ((document.getElementById('WorkEnd'))).ej2_instances[0].value = 0.00;
+ }
+ }
+ };
let workStartTime: NumericTextBox = new NumericTextBox({
min: 0,
max: 24,
value: 8,
- change: updateTime,
showSpinButton: true,
+ change: change1.bind(this),
step: 0.5
});
workStartTime.appendTo('#WorkStartTime');
-
let workEndTime: NumericTextBox = new NumericTextBox({
min: 0,
max: 24,
value: 17,
- change: updateTime,
showSpinButton: true,
+ change: change1.bind(this),
step: 0.5
});
workEndTime.appendTo('#WorkEndTime');
-
-
- let isTimeUpdated: boolean = false;
- function updateTime(): void {
- let defaultDate: string = '08/08/2016';
- let startDate: Date = new Date(defaultDate);
- let endDate: Date = new Date(defaultDate);
- let decPlace: number = workStartTime.value - Math.floor(workStartTime.value);
- startDate.setHours(workStartTime.value);
- startDate.setMinutes(decPlace * 60);
- decPlace = workEndTime.value - Math.floor(workEndTime.value);
- endDate.setHours(workEndTime.value);
- endDate.setMinutes(decPlace * 60);
- /*Validate time value and update the time range*/
- if (startDate.getTime() < endDate.getTime() && isTimeUpdated === false) {
- let workingTime: any = [{ from: workStartTime.value, to: workEndTime.value }];
- gantt.dayWorkingTime = workingTime;
- isTimeUpdated = false;
- } else {
- isTimeUpdated = true;
- workStartTime.value = gantt.dayWorkingTime[0].from;
- workEndTime.value = gantt.dayWorkingTime[gantt.dayWorkingTime.length - 1].to;
+ const select: any = (args: any) => {
+ let startTime: number = 8;
+ let endTime: number = 17;
+ for(let i=0;i {
+ let selectedDay = ((document.getElementById('Days'))).ej2_instances[0].value;
+ let startTime = ((document.getElementById('WorkStart'))).ej2_instances[0].value;
+ let endTime = ((document.getElementById('WorkEnd'))).ej2_instances[0].value;
+ let workingTime: any = [];
+ let weekWorkingTime = gantt.weekWorkingTime;
+ let isUpdated = false;
+ for (let i = 0; i < weekWorkingTime.length; i++) {
+ workingTime.push({ dayOfWeek: weekWorkingTime[i].dayOfWeek, timeRange: weekWorkingTime[i].timeRange });
+ }
+ for (let i = 0; i < workingTime.length; i++) {
+ if (workingTime[i].dayOfWeek === selectedDay) {
+ workingTime[i].dayOfWeek = workingTime[i].dayOfWeek;
+ workingTime[i].timeRange = [{ from: startTime, to: endTime }]
+ isUpdated = true;
+ break;
+ }
+ }
+ if (!isUpdated) {
+ workingTime.push({ dayOfWeek: selectedDay, timeRange: [{ from: startTime, to: endTime }] });
+ }
+ gantt.weekWorkingTime = workingTime;
+ };
+ let update: Button = new Button();
+ update.appendTo('#update');
+ document.getElementById('update').onclick = () => {
+ let startTime = ((document.getElementById('WorkStartTime'))).ej2_instances[0].value;
+ let endTime = ((document.getElementById('WorkEndTime'))).ej2_instances[0].value;
+ let workingTime = [{ from: startTime, to: endTime }];
+ gantt.dayWorkingTime = workingTime;
+ };
};
diff --git a/src/gantt/zooming.ts b/src/gantt/zooming.ts
index 60c4af27..91f8819c 100644
--- a/src/gantt/zooming.ts
+++ b/src/gantt/zooming.ts
@@ -40,8 +40,8 @@ Gantt.Inject(Toolbar);
splitterSettings: {
position: "35%"
},
- projectStartDate: new Date('03/24/2019'),
- projectEndDate: new Date('04/28/2019')
+ projectStartDate: new Date('03/24/2024'),
+ projectEndDate: new Date('04/28/2024')
});
gantt.appendTo('#Zooming');
};
diff --git a/src/grid/adaptive-layout.html b/src/grid/adaptive-layout.html
index 08146798..a3790976 100644
--- a/src/grid/adaptive-layout.html
+++ b/src/grid/adaptive-layout.html
@@ -16,7 +16,7 @@
This sample demonstrates the Grid component with the infinite scrolling feature. Click the button at the top of the Grid
+ to load data source and scroll the Grid content vertically and horizontally to load rows and columns respectively.
+
+
+
The Grid Infinite scrolling feature enables the loading of data using the lazy loading concept, where buffer data is loaded only when the scrollbar reaches the end of the scroller.
To enable Infinite scrolling, set the Alt+W- Move the focus to the grid content element
-
+
+
+
+ This sample illustrates the number of commercial air craft accidents and the fatalities across the world between 2012 and 2017. Each data point interprets the accident count and the fatality associated with the accident, the size of the bubble depicts the accident count and the shade of the bubble depicts the fatality count.
+
+
+
+
+ In this example, you can see how to map more than one data for each data point or cell of the bubble heatmap. The size and shade parameters of the bubble is used to depict the data source values. The legend will be displayed only for the shade parameter of the bubble. For JSON data, you can specify which data source value should be mapped to either size or shade of the bubble parameters using the bubbleDataMapping property. The data source field should be mapped to the size and color properties of the bubbleDataMapping property.
+
+
The tooltip is enabled in this example. To see the tooltip in action, hover the mouse over an item or tap an item on touch-enabled devices.
+
+
Injecting Module
+
+ Heatmap component features are separated into discrete feature-based modules. To use a tooltip, inject the Tooltip module using the Heatmap.Inject(Tooltip) method, and to use a legend, inject the Legend module using the Heatmap.Inject(Legend) method.
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/heatmap-chart/color-range.html b/src/heatmap-chart/color-range.html
index f41dfb56..e3fc80ac 100644
--- a/src/heatmap-chart/color-range.html
+++ b/src/heatmap-chart/color-range.html
@@ -1,47 +1,49 @@
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
Palette Type:
-
-
-
-
-
-
-
-
+
+
+
+
+
+
Palette Type:
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
- This sample visualizes the energy consumption in trillion British thermal units (btu) by the various public sectors in US government over the years. The data label is disabled in this sample, the tooltip displays the data point values. In property panel, the options are available to change palette type in Heatmap by means of radio button.
-
-
-
-
- This example explains how to provide a specific color for specific range in heatmap. The startValue and endValue properties are used to define the range start and end values. The minColor and maxColor properties represent the colors of given range.
-
-
The tooltip is enabled in this example. To see the tooltip in action, hover the mouse over an item or tap an item on touch-enabled devices.
-
-
Injecting Module
-
-
- Heatmap component features are separated into discrete feature-based modules. To use a tooltip, inject the Tooltip module using the Heatmap.Inject(Tooltip) method, and to use a legend, inject the Legend module using the Heatmap.Inject(Legend) method.
-
-
\ No newline at end of file
+
+
+ This sample visualizes the energy consumption in trillion British thermal units (btu) by the various public sectors in US government over the years. The data label is disabled in this sample, the tooltip displays the data point values. In property panel, the options are available to change palette type in Heatmap by means of radio button.
+
+
+
+
+ This example explains how to provide a specific color for specific range in heatmap. The startValue and endValue properties are used to define the range start and end values. The minColor and maxColor properties represent the colors of given range.
+
+
The tooltip is enabled in this example. To see the tooltip in action, hover the mouse over an item or tap an item on touch-enabled devices.
+
+
Injecting Module
+
+
+ Heatmap component features are separated into discrete feature-based modules. To use a tooltip, inject the Tooltip module using the Heatmap.Inject(Tooltip) method, and to use a legend, inject the Legend module using the Heatmap.Inject(Legend) method.
+
+
+
\ No newline at end of file
diff --git a/src/heatmap-chart/default-functionalities.html b/src/heatmap-chart/default-functionalities.html
index 0c7c7b7f..0020dfa7 100644
--- a/src/heatmap-chart/default-functionalities.html
+++ b/src/heatmap-chart/default-functionalities.html
@@ -1,14 +1,16 @@
-
-
-
-
-
- This sample visualizes the sales revenue of items sold by the employees in a week, where the revenue for the day is displayed in 1000 USD as cell data.
-
-
-
-
- In this example, you can see how to render a heat map with the provided data source. The palette color is applied to the items in heat map. The default legend is enabled in this example to represent the items.
-
-
The tooltip is enabled in this example. To see the tooltip in action, hover the mouse over an item or tap an item on touch-enabled devices.
-
\ No newline at end of file
+
+
+
+
+
+
+ This sample visualizes the sales revenue of items sold by the employees in a week, where the revenue for the day is displayed in 1000 USD as cell data.
+
+
+
+
+ In this example, you can see how to render a heat map with the provided data source. The palette color is applied to the items in heat map. The default legend is enabled in this example to represent the items.
+
+
The tooltip is enabled in this example. To see the tooltip in action, hover the mouse over an item or tap an item on touch-enabled devices.
+
+
\ No newline at end of file
diff --git a/src/heatmap-chart/empty-points.html b/src/heatmap-chart/empty-points.html
index 0e8ebc83..a1bfcf1d 100644
--- a/src/heatmap-chart/empty-points.html
+++ b/src/heatmap-chart/empty-points.html
@@ -1,23 +1,25 @@
-
-
-
-
-
- This sample visualizes the number of defective product count per 1000 units coming out from a manufacturing unit
- Data points are enhanced with labels and tooltip. Some data points were not marked with any values which indicates there are no defective products and these data points are termed as empty points.
-
-
-
-
- In this example, you can see how to render empty points in the Heatmap. The empty points or the points with no data
- can be marked using null in the data source. You can also customize the background color of the
- empty points by using the emptyPointColor property in paletteSettings
-
-
The tooltip is enabled in this example. To see the tooltip in action, hover the mouse over an item or tap an item on touch-enabled devices.
-
-
- Heatmap component features are separated into discrete feature-based modules. To use a tooltip, inject the Tooltip module using the Heatmap.Inject(Tooltip) method, and to use a legend, inject the Legend module using the Heatmap.Inject(Legend) method.
-
-
\ No newline at end of file
+
+
+
+
+
+
+ This sample visualizes the number of defective product count per 1000 units coming out from a manufacturing unit
+ Data points are enhanced with labels and tooltip. Some data points were not marked with any values which indicates there are no defective products and these data points are termed as empty points.
+
+
+
+
+ In this example, you can see how to render empty points in the Heatmap. The empty points or the points with no data
+ can be marked using null in the data source. You can also customize the background color of the
+ empty points by using the emptyPointColor property in paletteSettings
+
+
The tooltip is enabled in this example. To see the tooltip in action, hover the mouse over an item or tap an item on touch-enabled devices.
+
+
+ Heatmap component features are separated into discrete feature-based modules. To use a tooltip, inject the Tooltip module using the Heatmap.Inject(Tooltip) method, and to use a legend, inject the Legend module using the Heatmap.Inject(Legend) method.
+
+
+
\ No newline at end of file
diff --git a/src/heatmap-chart/inversed-axis.html b/src/heatmap-chart/inversed-axis.html
index 6197e875..57974cf8 100644
--- a/src/heatmap-chart/inversed-axis.html
+++ b/src/heatmap-chart/inversed-axis.html
@@ -1,46 +1,53 @@
-
- This sample illustrates the population growth rate of the most populous countries over the years. The data label is disabled in this sample, the tooltip displays the data point values. In property panel, the options are available to reverse the origin of the axes by means of checkbox for each axis.
-
-
-
-
- In this example, you can see how to reverse the axis origin for both axes, once the axis origin has been reversed the axis data will be displayed inverted. You can reverse the axis origin by enabling the isInversed property for each axis.
-
-
The tooltip is enabled in this example. To see the tooltip in action, hover the mouse over an item or tap an item on touch-enabled devices.
-
-
Injecting Module
-
- Heatmap component features are separated into discrete feature-based modules. To use a tooltip, inject the Tooltip module using the Heatmap.Inject(Tooltip) method.
-
-
\ No newline at end of file
+
+
+ This sample illustrates the population growth rate of the most populous countries over the years. The data label is disabled in this sample, the tooltip displays the data point values. In property panel, the options are available to reverse the origin of the axes by means of checkbox for each axis.
+
+
+
+
+ In this example, you can see how to reverse the axis origin for both axes, once the axis origin has been reversed the axis data will be displayed inverted. You can reverse the axis origin by enabling the isInversed property for each axis.
+
+
The tooltip is enabled in this example. To see the tooltip in action, hover the mouse over an item or tap an item on touch-enabled devices.
+
+
Injecting Module
+
+ Heatmap component features are separated into discrete feature-based modules. To use a tooltip, inject the Tooltip module using the Heatmap.Inject(Tooltip) method.
+
+
+
+
\ No newline at end of file
diff --git a/src/heatmap-chart/json-cell.html b/src/heatmap-chart/json-cell.html
index 675b827d..a2a59d6a 100644
--- a/src/heatmap-chart/json-cell.html
+++ b/src/heatmap-chart/json-cell.html
@@ -1,26 +1,29 @@
-
- This sample visualizes the number of international tourist arrivals in millions of the most visited destinations in the world.
-
-
-
- In this example, you can see how to bind JSON data and configure the Heatmap using the data adaptor support. You can bind
- the JSON data with information for each cell to the Heatmap using
- isJsonData and by defining the
- adaptorType properties. In cell JSON data, the value for each cell is mapped using the
- xDataMapping ,
- yDataMapping and
- valueMapping properties.
-
The tooltip is enabled in this example. To see the tooltip in action, hover the mouse over an item or tap an item on touch-enabled devices.
-
-
Injecting Module
-
- Heatmap component features are separated into discrete feature-based modules. To use data adaptor support, inject the Adaptor module using Heatmap.Inject(Adaptor) method, to use a tooltip, inject the Tooltip module using the Heatmap.Inject(Tooltip) method, and to use a legend, inject the Legend module using the Heatmap.Inject(Legend) method.
-
-
+
+
+ This sample visualizes the number of international tourist arrivals in millions of the most visited destinations in the world.
+
+
+
+ In this example, you can see how to bind JSON data and configure the Heatmap using the data adaptor support. You can bind
+ the JSON data with information for each cell to the Heatmap using
+ isJsonData and by defining the
+ adaptorType properties. In cell JSON data, the value for each cell is mapped using the
+ xDataMapping ,
+ yDataMapping and
+ valueMapping properties.
+
The tooltip is enabled in this example. To see the tooltip in action, hover the mouse over an item or tap an item on touch-enabled devices.
+
+
Injecting Module
+
+ Heatmap component features are separated into discrete feature-based modules. To use data adaptor support, inject the Adaptor module using Heatmap.Inject(Adaptor) method, to use a tooltip, inject the Tooltip module using the Heatmap.Inject(Tooltip) method, and to use a legend, inject the Legend module using the Heatmap.Inject(Legend) method.
+
+
+
+
\ No newline at end of file
diff --git a/src/heatmap-chart/json-row.html b/src/heatmap-chart/json-row.html
index 1d4893fd..ce59611f 100644
--- a/src/heatmap-chart/json-row.html
+++ b/src/heatmap-chart/json-row.html
@@ -1,26 +1,28 @@
-
- This sample visualizes the overall Olympic medals won by the countries in all the summer Olympic events from the year 2000 to 2016.
-
-
-
-
- In this example, you can see how to bind JSON data and configure the Heatmap using the data adaptor support. You can bind
- the JSON data with information for each row to the Heatmap using
- isJsonData and by defining the
- adaptorType properties. In row JSON data, the row header is mapped using the
- xDataMapping.
-
-
The tooltip is enabled in this example. To see the tooltip in action, hover the mouse over an item or tap an item on touch-enabled devices.
-
Injecting Module
-
-
- Heatmap component features are separated into discrete feature-based modules. To use data adaptor support, inject the Adaptor module using Heatmap.Inject(Adaptor) method, to use a tooltip, inject the Tooltip module using the Heatmap.Inject(Tooltip) method, and to use a legend, inject the Legend module using the Heatmap.Inject(Legend) method.
-
-
\ No newline at end of file
+
+
+ This sample visualizes the overall Olympic medals won by the countries in all the summer Olympic events from the year 2000 to 2016.
+
+
+
+
+ In this example, you can see how to bind JSON data and configure the Heatmap using the data adaptor support. You can bind
+ the JSON data with information for each row to the Heatmap using
+ isJsonData and by defining the
+ adaptorType properties. In row JSON data, the row header is mapped using the
+ xDataMapping.
+
+
The tooltip is enabled in this example. To see the tooltip in action, hover the mouse over an item or tap an item on touch-enabled devices.
+
Injecting Module
+
+
+ Heatmap component features are separated into discrete feature-based modules. To use data adaptor support, inject the Adaptor module using Heatmap.Inject(Adaptor) method, to use a tooltip, inject the Tooltip module using the Heatmap.Inject(Tooltip) method, and to use a legend, inject the Legend module using the Heatmap.Inject(Legend) method.
+
+
+
\ No newline at end of file
diff --git a/src/heatmap-chart/label-template.html b/src/heatmap-chart/label-template.html
index ab657399..49c8c829 100644
--- a/src/heatmap-chart/label-template.html
+++ b/src/heatmap-chart/label-template.html
@@ -1,18 +1,21 @@
-
-
-
-
-
- This sample illustrates a comprehensive view of the likelihood and impact of an organization’s risks. Risks that fall into the HeatMap's green zones require no action. Action is required in the yellow areas. Risks that fall into the red zone require immediate action.
-
-
-
-
In this example, you can see how to use the labelTemplate to display images in the HeatMap cells. The labelTemplate can be used to add any HTML elements into the HeatMap cells, such as images, text, and so on.
-
The tooltip is enabled in this example. To see the tooltip in action, hover the mouse over an item or tap an item on touch-enabled devices.
-
-
Injecting Module
-
- Heatmap component features are separated into discrete feature-based modules. To use data adaptor support, inject the Adaptor module using Heatmap.Inject(Adaptor) method and to use a tooltip, inject the Tooltip module using the Heatmap.Inject(Tooltip) method.
-
+ This sample illustrates a comprehensive view of the likelihood and impact of an organization’s risks. Risks that fall into the HeatMap's green zones require no action. Action is required in the yellow areas. Risks that fall into the red zone require immediate action.
+
+
+
+
In this example, you can see how to use the labelTemplate to display images in the HeatMap cells. The labelTemplate can be used to add any HTML elements into the HeatMap cells, such as images, text, and so on.
+
The tooltip is enabled in this example. To see the tooltip in action, hover the mouse over an item or tap an item on touch-enabled devices.
+
+
Injecting Module
+
+ Heatmap component features are separated into discrete feature-based modules. To use data adaptor support, inject the Adaptor module using Heatmap.Inject(Adaptor) method and to use a tooltip, inject the Tooltip module using the Heatmap.Inject(Tooltip) method.
+
+
+
+
\ No newline at end of file
diff --git a/src/heatmap-chart/label-template.ts b/src/heatmap-chart/label-template.ts
index 4889c46e..8b4dfa1d 100644
--- a/src/heatmap-chart/label-template.ts
+++ b/src/heatmap-chart/label-template.ts
@@ -72,7 +72,7 @@ loadCultureFiles();
],
},
cellSettings: {
- labelTemplate:'',
+ labelTemplate:'',
textStyle: {
fontFamily: 'inherit'
}
diff --git a/src/heatmap-chart/large-data.html b/src/heatmap-chart/large-data.html
index 3eb601bf..7eaf0695 100644
--- a/src/heatmap-chart/large-data.html
+++ b/src/heatmap-chart/large-data.html
@@ -1,19 +1,22 @@
-
-
-
-
-
- This sample visualizes the annual traffic report of an airport with the number of flight arrivals in a year.The data label is disabled in this sample, the tooltip displays the data point values.
-
-
-
-
- In this example, you can see how to switch the Heatmap to canvas rendering mode.The rendering performance will be better in Canvas rendering mode, while loading large datasets. You can switch the rendering mode for Heatmap between SVG and Canvas using the renderingMode property. When the renderingMode property is set to Auto, the rendering mode will be switched automatically based of the size of data source to improve the rendering performance.
-
-
The tooltip is enabled in this example. To see the tooltip in action, hover the mouse over an item or tap an item on touch-enabled devices.
-
-
Injecting Module
-
- Heatmap component features are separated into discrete feature-based modules. To use a tooltip, inject the Tooltip module using the Heatmap.Inject(Tooltip) method and to use a legend, inject the Legend module using the Heatmap.Inject(Legend) method.
-
-
+
+
+
+
+
+
+ This sample visualizes the annual traffic report of an airport with the number of flight arrivals in a year.The data label is disabled in this sample, the tooltip displays the data point values.
+
+
+
+
+ In this example, you can see how to switch the Heatmap to canvas rendering mode.The rendering performance will be better in Canvas rendering mode, while loading large datasets. You can switch the rendering mode for Heatmap between SVG and Canvas using the renderingMode property. When the renderingMode property is set to Auto, the rendering mode will be switched automatically based of the size of data source to improve the rendering performance.
+
+
The tooltip is enabled in this example. To see the tooltip in action, hover the mouse over an item or tap an item on touch-enabled devices.
+
+
Injecting Module
+
+ Heatmap component features are separated into discrete feature-based modules. To use a tooltip, inject the Tooltip module using the Heatmap.Inject(Tooltip) method and to use a legend, inject the Legend module using the Heatmap.Inject(Legend) method.
+
+
+
+
\ No newline at end of file
diff --git a/src/heatmap-chart/legend-placement.html b/src/heatmap-chart/legend-placement.html
index 77421fdd..08319212 100644
--- a/src/heatmap-chart/legend-placement.html
+++ b/src/heatmap-chart/legend-placement.html
@@ -1,54 +1,56 @@
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
Legend Position:
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
Legend Position:
-
-
-
-
-
-
-
-
-
-
-
-
-
- This sample visualizes the hourly weather forecast for some major European cities. The data label is disabled in this sample, the tooltip displays the data point values. In property panel, the options are available to change the display position of the Heatmap legend axes by means of dropdown.
-
-
-
-
- In this example, you can see how to change the display position of the Heatmap legend. You can change the display position
- of legend to left, right, bottom and top by using the
- position property in
- legendSettings.
-
-
The tooltip is enabled in this example. To see the tooltip in action, hover the mouse over an item or tap an item on touch-enabled devices.
-
-
Injecting Module
-
- Heatmap component features are separated into discrete feature-based modules. To use a tooltip, inject the Tooltip module using the Heatmap.Inject(Tooltip) method and to use a legend, inject the Legend module using the Heatmap.Inject(Legend) method.
-
-
-
-
-
\ No newline at end of file
+
+
+ This sample visualizes the hourly weather forecast for some major European cities. The data label is disabled in this sample, the tooltip displays the data point values. In property panel, the options are available to change the display position of the Heatmap legend axes by means of dropdown.
+
+
+
+
+ In this example, you can see how to change the display position of the Heatmap legend. You can change the display position
+ of legend to left, right, bottom and top by using the
+ position property in
+ legendSettings.
+
+
The tooltip is enabled in this example. To see the tooltip in action, hover the mouse over an item or tap an item on touch-enabled devices.
+
+
Injecting Module
+
+ Heatmap component features are separated into discrete feature-based modules. To use a tooltip, inject the Tooltip module using the Heatmap.Inject(Tooltip) method and to use a legend, inject the Legend module using the Heatmap.Inject(Legend) method.
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/heatmap-chart/multi-level-labels.html b/src/heatmap-chart/multi-level-labels.html
index da260d58..36e5f221 100644
--- a/src/heatmap-chart/multi-level-labels.html
+++ b/src/heatmap-chart/multi-level-labels.html
@@ -1,29 +1,31 @@
-
-
-
-
-
- This sample visualizes the product wise monthly sales revenue of the items sold by an online retailer in a year. The products are grouped based on the purchase domains and revenue is displayed as cell data.
-
-
-
-
- In this example, you can see how to group axis labels.
- You can customize text in each level by using alignment,textSytle and border properties.
-
-
Border of the axis labels can be customized by using type property.
-
-
-
Rectangle
-
Brace
-
WithoutTopBorder
-
WithoutBottomBorder
-
WithoutTopandBottomBorder
-
WithoutBorder.
-
-
-
Injecting Module
-
- Heatmap component features are separated into discrete feature-based modules. To use a tooltip, inject the Tooltip module using the Heatmap.Inject(Tooltip) method.
-
-
\ No newline at end of file
+
+
+
+
+
+
+ This sample visualizes the product wise monthly sales revenue of the items sold by an online retailer in a year. The products are grouped based on the purchase domains and revenue is displayed as cell data.
+
+
+
+
+ In this example, you can see how to group axis labels.
+ You can customize text in each level by using alignment,textSytle and border properties.
+
+
Border of the axis labels can be customized by using type property.
+
+
+
Rectangle
+
Brace
+
WithoutTopBorder
+
WithoutBottomBorder
+
WithoutTopandBottomBorder
+
WithoutBorder.
+
+
+
Injecting Module
+
+ Heatmap component features are separated into discrete feature-based modules. To use a tooltip, inject the Tooltip module using the Heatmap.Inject(Tooltip) method.
+
- This sample illustrates the monthly flight arrivals at JFK international airport, New York. The data label is disabled in this sample, the tooltip displays the data point values. In property panel, the options are available to change the position of the axes by means of checkbox for each axis.
-
-
-
-
- In this example, you can see how to change the display position of the axis. You can change the display position of axes
- by enabling the
- opposedPosition property for each axis.
-
-
The tooltip is enabled in this example. To see the tooltip in action, hover the mouse over an item or tap an item on touch-enabled devices.
-
-
Injecting Module
-
- Heatmap component features are separated into discrete feature-based modules. To use a tooltip, inject the Tooltip module using the Heatmap.Inject(Tooltip) method.
-
-
\ No newline at end of file
+
+
+ This sample illustrates the monthly flight arrivals at JFK international airport, New York. The data label is disabled in this sample, the tooltip displays the data point values. In property panel, the options are available to change the position of the axes by means of checkbox for each axis.
+
+
+
+
+ In this example, you can see how to change the display position of the axis. You can change the display position of axes
+ by enabling the
+ opposedPosition property for each axis.
+
+
The tooltip is enabled in this example. To see the tooltip in action, hover the mouse over an item or tap an item on touch-enabled devices.
+
+
Injecting Module
+
+ Heatmap component features are separated into discrete feature-based modules. To use a tooltip, inject the Tooltip module using the Heatmap.Inject(Tooltip) method.
+
+
+
+
\ No newline at end of file
diff --git a/src/heatmap-chart/palette-mode.html b/src/heatmap-chart/palette-mode.html
index 7fb5b72e..5d974e5f 100644
--- a/src/heatmap-chart/palette-mode.html
+++ b/src/heatmap-chart/palette-mode.html
@@ -1,61 +1,63 @@
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
Palette Type:
-
-
-
-
-
-
-
-
+
+
+
+
+
+
Palette Type:
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
Enable Smart Legend:
-
-
-
-
-
+
+
+
+
+
Enable Smart Legend:
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
- This sample visualizes the energy consumption in trillion British thermal units (btu) by the various public sectors in US government over the years. The data label is disabled in this sample, the tooltip displays the data point values. In property panel, the options are available to change palette type in Heatmap by means of radio button.
-
-
-
-
- In this example, you can see how to change the palette type between
- Fixed and
- Gradient types in Heatmap. The palette type can be defined using the
- type property in
- paletteSettings. Legend is enabled in this example, changing the palette mode the legend type will be automatically switched between
- gradient legend and list type legend.
-
-
The tooltip is enabled in this example. To see the tooltip in action, hover the mouse over an item or tap an item on touch-enabled devices.
-
-
Injecting Module
-
- Heatmap component features are separated into discrete feature-based modules. To use the tooltip, inject the Tooltip module using the Heatmap.Inject(Tooltip) method and to use a legend, inject the Legend module using the Heatmap.Inject(Legend) method.
-
-
\ No newline at end of file
+
+
+ This sample visualizes the energy consumption in trillion British thermal units (btu) by the various public sectors in US government over the years. The data label is disabled in this sample, the tooltip displays the data point values. In property panel, the options are available to change palette type in Heatmap by means of radio button.
+
+
+
+
+ In this example, you can see how to change the palette type between
+ Fixed and
+ Gradient types in Heatmap. The palette type can be defined using the
+ type property in
+ paletteSettings. Legend is enabled in this example, changing the palette mode the legend type will be automatically switched between
+ gradient legend and list type legend.
+
+
The tooltip is enabled in this example. To see the tooltip in action, hover the mouse over an item or tap an item on touch-enabled devices.
+
+
Injecting Module
+
+ Heatmap component features are separated into discrete feature-based modules. To use the tooltip, inject the Tooltip module using the Heatmap.Inject(Tooltip) method and to use a legend, inject the Legend module using the Heatmap.Inject(Legend) method.
+
+
+
\ No newline at end of file
diff --git a/src/heatmap-chart/render-mode.html b/src/heatmap-chart/render-mode.html
index 57b20f4f..a852e62a 100644
--- a/src/heatmap-chart/render-mode.html
+++ b/src/heatmap-chart/render-mode.html
@@ -1,42 +1,44 @@
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
Rendering Mode:
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
Rendering Mode:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- This sample visualizes the net migration rate for the northern European countries over the years. The data label is disabled in this sample, the tooltip displays the data point values. In property panel, the options are available to change the rendering mode between Canvas and SVG means of radio button.
-
-
-
-
- In this example, you can see how to change the rendering mode between Canvas and SVG types in Heatmap. You can change the rendering mode using the renderingMode property.
-
-
The tooltip is enabled in this example. To see the tooltip in action, hover the mouse over an item or tap an item on touch-enabled devices.
-
-
Injecting Module
-
- Heatmap component features are separated into discrete feature-based modules. To use the tooltip, inject the Tooltip module using the Heatmap.Inject(Tooltip) method and to use a legend, inject the Legend module using the Heatmap.Inject(Legend) method.
-
-
\ No newline at end of file
+
+
+ This sample visualizes the net migration rate for the northern European countries over the years. The data label is disabled in this sample, the tooltip displays the data point values. In property panel, the options are available to change the rendering mode between Canvas and SVG means of radio button.
+
+
+
+
+ In this example, you can see how to change the rendering mode between Canvas and SVG types in Heatmap. You can change the rendering mode using the renderingMode property.
+
+
The tooltip is enabled in this example. To see the tooltip in action, hover the mouse over an item or tap an item on touch-enabled devices.
+
+
Injecting Module
+
+ Heatmap component features are separated into discrete feature-based modules. To use the tooltip, inject the Tooltip module using the Heatmap.Inject(Tooltip) method and to use a legend, inject the Legend module using the Heatmap.Inject(Legend) method.
+
+
+
\ No newline at end of file
diff --git a/src/heatmap-chart/row.html b/src/heatmap-chart/row.html
index 0b5d5f64..2863ee24 100644
--- a/src/heatmap-chart/row.html
+++ b/src/heatmap-chart/row.html
@@ -1,18 +1,20 @@
-
-
-
-
-
- This sample visualizes the GDP growth rate for the countries which are the world's major economies over the years.
-
-
-
-
- In this example, you can see how to bind array object as data source for Heatmap and configure the Heatmap using the data adaptor support. You can directly bind the array object to the Heatmap data source with default property settings.
-
The tooltip is enabled in this example. To see the tooltip in action, hover the mouse over an item or tap an item on touch-enabled devices.
-
-
Injecting Module
-
- Heatmap component features are separated into discrete feature-based modules. To use data adaptor support, we need to inject Adaptor module using Heatmap.Inject(Adaptor) method, to use a tooltip, inject theTooltip module using the Heatmap.Inject(Tooltip) method, and to use a legend, inject the Legend module using the Heatmap.Inject(Legend) method.
-
-
\ No newline at end of file
+
+
+
+
+
+
+ This sample visualizes the GDP growth rate for the countries which are the world's major economies over the years.
+
+
+
+
+ In this example, you can see how to bind array object as data source for Heatmap and configure the Heatmap using the data adaptor support. You can directly bind the array object to the Heatmap data source with default property settings.
+
The tooltip is enabled in this example. To see the tooltip in action, hover the mouse over an item or tap an item on touch-enabled devices.
+
+
Injecting Module
+
+ Heatmap component features are separated into discrete feature-based modules. To use data adaptor support, we need to inject Adaptor module using Heatmap.Inject(Adaptor) method, to use a tooltip, inject theTooltip module using the Heatmap.Inject(Tooltip) method, and to use a legend, inject the Legend module using the Heatmap.Inject(Legend) method.
+
+
+
\ No newline at end of file
diff --git a/src/heatmap-chart/tooltip-template.html b/src/heatmap-chart/tooltip-template.html
index 382636de..da194ba1 100644
--- a/src/heatmap-chart/tooltip-template.html
+++ b/src/heatmap-chart/tooltip-template.html
@@ -1,22 +1,24 @@
-
-
-
-
-
- This sample visualizes the crude oil production of the non-OPEC countries over the years. The data point values displayed are in million barrels per day units.
-
-
-
-
- In this example, you can see how to customize the tooltip content in the HeatMap. You can customize the tooltip content by using the template property.
-
-
The tooltip is enabled in this example. To see the tooltip in action, hover the mouse over an item or tap an item on touch-enabled devices.
-
-
Injecting Module
-
-
- Heatmap component features are separated into discrete feature-based modules. To use a tooltip, inject the Tooltip module using the Heatmap.Inject(Tooltip) method, and to use a legend, inject the Legend module using the Heatmap.Inject(Legend) method.
-
-
\ No newline at end of file
+
+
+
+
+
+
+ This sample visualizes the crude oil production of the non-OPEC countries over the years. The data point values displayed are in million barrels per day units.
+
+
+
+
+ In this example, you can see how to customize the tooltip content in the HeatMap. You can customize the tooltip content by using the template property.
+
+
The tooltip is enabled in this example. To see the tooltip in action, hover the mouse over an item or tap an item on touch-enabled devices.
+
+
Injecting Module
+
+
+ Heatmap component features are separated into discrete feature-based modules. To use a tooltip, inject the Tooltip module using the Heatmap.Inject(Tooltip) method, and to use a legend, inject the Legend module using the Heatmap.Inject(Legend) method.
+
Filters : The predefined filters such as chrome, cold, warm, grayscale, sepia, and invert can be applied to the image.
Frames : The predefined frames such as mat, bevel, line, hook, and inset can be applied to the image.
Resize : The image can be resized to cater to the user's preferences and needs, enhancing the adaptability and usability of the content.
+
Z-Order : Adjust the positioning of annotations to manage the layering of elements, essential for creating polished designs.
More information about Image Editor can be found in this
diff --git a/src/image-editor/profile-picture.ts b/src/image-editor/profile-picture.ts
index 330c9be7..6fadbaed 100644
--- a/src/image-editor/profile-picture.ts
+++ b/src/image-editor/profile-picture.ts
@@ -62,6 +62,7 @@ import { loadCultureFiles } from '../common/culture-loader';
click: () => {
const imageEditor: ImageEditor = getComponent(document.getElementById('image-editor'), 'image-editor') as ImageEditor;
imageEditor.reset();
+ imageEditor.select('circle');
},
buttonModel: { content: 'Reset', isPrimary: false, cssClass: 'e-custom-img-btn e-img-custom-reset' }
},
diff --git a/src/image-editor/sample.json b/src/image-editor/sample.json
index fd4f7acb..3f3e4f05 100644
--- a/src/image-editor/sample.json
+++ b/src/image-editor/sample.json
@@ -10,6 +10,7 @@
"name": "Default Functionalities",
"category": "Image Editor",
"ftName": "image-editor",
+ "type": "update",
"api": {
"ImageEditor": [
@@ -34,7 +35,6 @@
"name": "Custom Toolbar",
"category": "Image Editor",
"ftName": "image-editor",
- "type": "new",
"api": {
"ImageEditor": [
diff --git a/src/linear-gauge/bar-pointer.html b/src/linear-gauge/bar-pointer.html
index b8f42735..9ec9bb2d 100644
--- a/src/linear-gauge/bar-pointer.html
+++ b/src/linear-gauge/bar-pointer.html
@@ -1,80 +1,82 @@
-
-
-
+
+
+
+
+
+
+
+
+
+ Horizontal
+
+
+
+ Vertical
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
- Horizontal
-
-
-
- Vertical
-
-
-
-
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- This sample shows the various bar pointer shapes available in the linear gauge. Additionally, multiple bar
- pointer
- and animation support are enabled.
-
-
-
-
- In this example, you can see how to render and configure bar pointer in the linear gauge. The pointers
- collection is useful for displaying multiple pointers. The properties available in pointers help
- in the customization of the bar pointer in the linear gauge.
-
+ This sample shows the various bar pointer shapes available in the linear gauge. Additionally, multiple bar
+ pointer
+ and animation support are enabled.
+
+
+
+
+ In this example, you can see how to render and configure bar pointer in the linear gauge. The pointers
+ collection is useful for displaying multiple pointers. The properties available in pointers help
+ in the customization of the bar pointer in the linear gauge.
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/linear-gauge/battery-indicator.html b/src/linear-gauge/battery-indicator.html
index 2e0957c5..0e16eb4f 100644
--- a/src/linear-gauge/battery-indicator.html
+++ b/src/linear-gauge/battery-indicator.html
@@ -1,34 +1,36 @@
-
-
-
+
+
+
+
+
-
-
-
- This sample shows the battery indicator charged up to 75% by utilizing the linear gauge's functionalities.
-
-
-
-
- In this example, you can see how to render and configure a linear gauge to look like a battery indicator. This
- can be accomplished by combining axis, pointer, multiple ranges, and multiple annotation.
-
-
-
-
\ No newline at end of file
+
+ @media (max-width: 600px) {
+ #batteryContainer {
+ width: 200px;
+ }
+ }
+
+
+
\ No newline at end of file
diff --git a/src/linear-gauge/battery-indicator.ts b/src/linear-gauge/battery-indicator.ts
index 01768b44..d7665d07 100644
--- a/src/linear-gauge/battery-indicator.ts
+++ b/src/linear-gauge/battery-indicator.ts
@@ -87,10 +87,10 @@ let textColor: string = '#000000';
if (args.gauge.theme == 'FabricDark' || args.gauge.theme == 'BootstrapDark' || args.gauge.theme == 'MaterialDark' || args.gauge.theme == 'HighContrast' || args.gauge.theme == 'Material' || args.gauge.theme == 'Fabric' || args.gauge.theme == 'Bootstrap') {
borderColor = "#bfbfbf";
}
- if (args.gauge.theme == 'Fluent') {
+ if (args.gauge.theme == 'Fluent' || args.gauge.theme == 'Fluent2') {
borderColor = "#EDEBE9";
}
- if (args.gauge.theme == 'FluentDark') {
+ if (args.gauge.theme == 'FluentDark' || args.gauge.theme == 'Fluent2Dark') {
borderColor = "#292827";
}
if (args.gauge.theme == 'Bootstrap5' || args.gauge.theme == 'Tailwind') {
diff --git a/src/linear-gauge/container.html b/src/linear-gauge/container.html
index 73cdef74..227e00c9 100644
--- a/src/linear-gauge/container.html
+++ b/src/linear-gauge/container.html
@@ -1,77 +1,79 @@
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Orientation
+
+
+
+
+
+
+
+
+
+
Container Type
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
Orientation
-
-
-
-
-
-
-
-
-
-
Container Type
-
-
-
-
-
-
-
-
-
-
-
-
-
- This sample shows the different types of containers, such as normal, thermometer, and rounded rectangle. The
- linear
- gauge's orientation can also be changed from vertical to horizontal.
-
-
-
-
- The linear gauge can be rendered vertically or horizontally depending on the option selected in the
- Orientation drop-down list. You can also select the container type from the Container Type
- drop-down list.
-
+ This sample shows the different types of containers, such as normal, thermometer, and rounded rectangle. The
+ linear
+ gauge's orientation can also be changed from vertical to horizontal.
+
+
+
+
+ The linear gauge can be rendered vertically or horizontally depending on the option selected in the
+ Orientation drop-down list. You can also select the container type from the Container Type
+ drop-down list.
+
This sample demonstrates the inclusion of text and image pointers in the linear gauge. Additionally, multiple
pointer support is enabled.
-
-
+
+
In this example, you can see how to render and configure text and image pointers in the linear gauge. The
properties available in documentation section.
-
+
-
\ No newline at end of file
+
+
\ No newline at end of file
diff --git a/src/linear-gauge/default-functionalities.html b/src/linear-gauge/default-functionalities.html
index a59b80fb..704c6a4d 100644
--- a/src/linear-gauge/default-functionalities.html
+++ b/src/linear-gauge/default-functionalities.html
@@ -1,29 +1,31 @@
-
-
+
+
+
+
-
-
-
- This sample shows the linear gauge's basic rendering, which includes an axis, a pointer, major ticks, minor
- ticks
- and annotation.
-
-
-
-
- The linear gauge control shows scale values in either horizontal or vertical orientation. Axis, range, ticks,
- pointer, and container properties can be used to customize the basic appearance of the linear gauge.
-
+ This sample shows the linear gauge's basic rendering, which includes an axis, a pointer, major ticks, minor
+ ticks
+ and annotation.
+
+
+
+
+ The linear gauge control shows scale values in either horizontal or vertical orientation. Axis, range, ticks,
+ pointer, and container properties can be used to customize the basic appearance of the linear gauge.
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/linear-gauge/labels.html b/src/linear-gauge/labels.html
index f4487948..4f618495 100644
--- a/src/linear-gauge/labels.html
+++ b/src/linear-gauge/labels.html
@@ -1,90 +1,92 @@
-
-
-
+
+
+
+
+
+
+
+
+
+ Horizontal
+
+
+
+ Vertical
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
- Horizontal
-
-
-
- Vertical
-
-
-
-
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
- This sample demonstrates the various options for customizing the axis labels, such as styling, formatting,
- replacing
- text, and setting offset in the linear gauge.
-
-
-
-
- In this example, you can see how to render and configure axis labels in the linear gauge. The properties in the
- labelStyle
- can be
- used to style, format, and offset the label, while the label's text can be changed
- dynamically via the
- axisLabelRender event.
-
-
-
-
\ No newline at end of file
+
+
+
\ No newline at end of file
diff --git a/src/linear-gauge/labels.ts b/src/linear-gauge/labels.ts
index 322a7412..05ccaad6 100644
--- a/src/linear-gauge/labels.ts
+++ b/src/linear-gauge/labels.ts
@@ -163,6 +163,9 @@ loadCultureFiles();
selectedTheme = selectedTheme ? selectedTheme : 'Material';
args.gauge.theme = (selectedTheme.charAt(0).toUpperCase() +
selectedTheme.slice(1)).replace(/-dark/i, 'Dark').replace(/contrast/i, 'Contrast');
+ if (args.gauge.theme === "Fluent2Dark") {
+ (args.gauge.axes[0].pointers as any)[3].color = "#292827";
+ }
// custom code end
}
});
diff --git a/src/linear-gauge/marker-pointer.html b/src/linear-gauge/marker-pointer.html
index 57a51a21..69f01c02 100644
--- a/src/linear-gauge/marker-pointer.html
+++ b/src/linear-gauge/marker-pointer.html
@@ -1,84 +1,86 @@
-
-
-
+
+
+
+
+
+
+
+
+
+ Horizontal
+
+
+
+ Vertical
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
- Horizontal
-
-
-
- Vertical
-
-
-
-
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- This sample shows the various marker pointer shapes available in the linear gauge. Additionally, multiple marker
- pointer, animation and drag support are enabled.
-
-
-
-
- In this example, you can see how to render and configure marker pointer in the linear gauge. The
- pointers collection is useful for displaying multiple pointers. The properties available in
- pointers help in the customization of the marker pointer in the linear gauge. Drag pointers are
- assisted by the dragStart and dragEnd
- events.
-
+ This sample shows the various marker pointer shapes available in the linear gauge. Additionally, multiple marker
+ pointer, animation and drag support are enabled.
+
+
+
+
+ In this example, you can see how to render and configure marker pointer in the linear gauge. The
+ pointers collection is useful for displaying multiple pointers. The properties available in
+ pointers help in the customization of the marker pointer in the linear gauge. Drag pointers are
+ assisted by the dragStart and dragEnd
+ events.
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/linear-gauge/print-export.html b/src/linear-gauge/print-export.html
index c8495201..ee91f7ef 100644
--- a/src/linear-gauge/print-export.html
+++ b/src/linear-gauge/print-export.html
@@ -1,157 +1,159 @@
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Export Type
+
+
+
+
+
+
+
+
+
+
+
File Name
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
Export Type
-
-
-
-
-
-
-
-
-
-
-
File Name
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- This sample demonstrates the print and export functionalities of the linear gauge.
-
-
-
-
- In this example, you can see how to print and export the rendered linear gauge. You can add print functionality
- by using the print method when allowPrint
- is set as true. Also, you can add export functionality by using the export method when allowImageExport and
- allowPdfExport are set
- as true. The linear gauge can be exported to JPEG, PNG, SVG, and PDF formats.
-
+ This sample demonstrates the print and export functionalities of the linear gauge.
+
+
+
+
+ In this example, you can see how to print and export the rendered linear gauge. You can add print functionality
+ by using the print method when allowPrint
+ is set as true. Also, you can add export functionality by using the export method when allowImageExport and
+ allowPdfExport are set
+ as true. The linear gauge can be exported to JPEG, PNG, SVG, and PDF formats.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/linear-gauge/print-export.ts b/src/linear-gauge/print-export.ts
index c7d1abc3..d6bf3a1a 100644
--- a/src/linear-gauge/print-export.ts
+++ b/src/linear-gauge/print-export.ts
@@ -101,7 +101,9 @@ loadCultureFiles();
});
exportGauge.appendTo('#export');
let fileText: TextBox = new TextBox({
- });
+ value: 'Linear Gauge',
+ width: '90%'
+ });
fileText.appendTo('#fileName');
document.getElementById('export').onclick = () => {
let fileName: string = fileText.value;
diff --git a/src/linear-gauge/progress-bar.html b/src/linear-gauge/progress-bar.html
index 272120b6..2e5032ca 100644
--- a/src/linear-gauge/progress-bar.html
+++ b/src/linear-gauge/progress-bar.html
@@ -1,27 +1,29 @@
-
-
+
+
+
+
-
-
-
-
-
-
- This sample shows a linear gauge that resembles a progress bar and indicates a task completion rate of 41%.
-
-
-
-
- In this example, you can see how to render and configure a new progress bar using the linear gauge. This can be
- accomplished by combining axis, pointer, and annotation.
-
+ This sample shows a linear gauge that resembles a progress bar and indicates a task completion rate of 41%.
+
+
+
+
+ In this example, you can see how to render and configure a new progress bar using the linear gauge. This can be
+ accomplished by combining axis, pointer, and annotation.
+
+
+
\ No newline at end of file
diff --git a/src/linear-gauge/range.html b/src/linear-gauge/range.html
index 24a0af5e..185b9d02 100644
--- a/src/linear-gauge/range.html
+++ b/src/linear-gauge/range.html
@@ -1,79 +1,81 @@
-
-
-
+
+
+
+
+
+
+
+
+
+ Horizontal
+
+
+
+ Vertical
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
- Horizontal
-
-
-
- Vertical
-
-
-
-
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- This sample demonstrates the various customization options for the linear gauge's range. For example, an
- exponential appearance, a gradient color, and a multiple range.
-
-
-
-
- In this example, you can see how to render and configure ranges in the linear gauge. The ranges and
- linearGradient are used to display multiple ranges, perform range customization, and apply gradient
- colors, respectively.
-
+ This sample demonstrates the various customization options for the linear gauge's range. For example, an
+ exponential appearance, a gradient color, and a multiple range.
+
+
+
+
+ In this example, you can see how to render and configure ranges in the linear gauge. The ranges and
+ linearGradient are used to display multiple ranges, perform range customization, and apply gradient
+ colors, respectively.
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/linear-gauge/slider.html b/src/linear-gauge/slider.html
index 4deb362d..96b791bb 100644
--- a/src/linear-gauge/slider.html
+++ b/src/linear-gauge/slider.html
@@ -1,35 +1,37 @@
-
-
-
+
+
+
+
+
-
-
-
+
+
+
-
-
-
- This sample demonstrates how to create a slider by utilizing the functionalities available in the
- linear gauge.
-
-
-
-
- In this example, you can see how to render and configure a new slider in the linear gauge. This can be
- accomplished by combining axis, range, and pointer. The pointer has been made interactive, so the value changes
- as you drag it.
-
+ This sample demonstrates how to create a slider by utilizing the functionalities available in the
+ linear gauge.
+
+
+
+
+ In this example, you can see how to render and configure a new slider in the linear gauge. This can be
+ accomplished by combining axis, range, and pointer. The pointer has been made interactive, so the value changes
+ as you drag it.
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/linear-gauge/step-progress-bar.html b/src/linear-gauge/step-progress-bar.html
index 6fa6dc11..cde7783c 100644
--- a/src/linear-gauge/step-progress-bar.html
+++ b/src/linear-gauge/step-progress-bar.html
@@ -1,22 +1,24 @@
-
-
+
+
+
+
-
-
-
-
- This sample shows a linear gauge that resembles a step progress bar and indicates shipment status.
-
-
-
-
- In this example, you can see how to render and configure a new step progress bar using the linear gauge. This
- can be
- accomplished by combining axis, multiple pointers, and multiple ranges.
-
+ This sample shows a linear gauge that resembles a step progress bar and indicates shipment status.
+
+
+
+
+ In this example, you can see how to render and configure a new step progress bar using the linear gauge. This
+ can be
+ accomplished by combining axis, multiple pointers, and multiple ranges.
+
+
+
\ No newline at end of file
diff --git a/src/linear-gauge/steps-counter.html b/src/linear-gauge/steps-counter.html
index d10e6854..26f88e82 100644
--- a/src/linear-gauge/steps-counter.html
+++ b/src/linear-gauge/steps-counter.html
@@ -1,13 +1,14 @@
-
+
+
-
+
This sample shows a linear gauge displaying the number of steps taken by a person in a day.
-
-
+
+
In this example, you can see how to render and configure a linear gauge to look like a steps counter. This can
be
@@ -19,11 +20,12 @@
href="https://ej2.syncfusion.com/documentation/linear-gauge/getting-started/">documentation
section.
-
+
-
\ No newline at end of file
+
+
\ No newline at end of file
diff --git a/src/linear-gauge/thermometer.html b/src/linear-gauge/thermometer.html
index f54f31fb..db19b55d 100644
--- a/src/linear-gauge/thermometer.html
+++ b/src/linear-gauge/thermometer.html
@@ -1,20 +1,22 @@
-
+
+
-
+
This sample shows a thermometer that displays temperature in both degrees and fahrenheit.
-
-
+
+
In this example, you can see how to render and configure a linear gauge to look like a thermometer. More
information about containers can be found in this documentation
section.
-
\ No newline at end of file
+
+
\ No newline at end of file
diff --git a/src/linear-gauge/ticks.html b/src/linear-gauge/ticks.html
index 57151a56..c88621d5 100644
--- a/src/linear-gauge/ticks.html
+++ b/src/linear-gauge/ticks.html
@@ -1,78 +1,80 @@
-
-
-
+
+
+
+
+
+
+
+
+
+ Horizontal
+
+
+
+ Vertical
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
- Horizontal
-
-
-
- Vertical
-
-
-
-
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
- This sample shows ticks in various positions such as inside, middle, and outside. Additionally, the position of
- the ticks can be customized using offset.
-
-
-
-
- In this example, you can see how to render and configure ticks in the linear gauge. The position
- and offset
- properties in majorTicks and
- minorTicks are used to position the ticks as well as provide offset.
-
+ This sample shows ticks in various positions such as inside, middle, and outside. Additionally, the position of
+ the ticks can be customized using offset.
+
+
+
+
+ In this example, you can see how to render and configure ticks in the linear gauge. The position
+ and offset
+ properties in majorTicks and
+ minorTicks are used to position the ticks as well as provide offset.
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/linear-gauge/tooltip.html b/src/linear-gauge/tooltip.html
index 048a0b14..f909543d 100644
--- a/src/linear-gauge/tooltip.html
+++ b/src/linear-gauge/tooltip.html
@@ -1,28 +1,30 @@
-
-
-
-
-
- This sample depicts the linear gauge as a measuring scale and shows the tooltip in the linear gauge.
-
-
-
-
- The tooltip is used to track the current value that is closest to the mouse position or touch contact. When
- using a
- touch-enabled device, the tooltip is displayed by hovering or tapping.
-
+ This sample depicts the linear gauge as a measuring scale and shows the tooltip in the linear gauge.
+
+
+
+
+ The tooltip is used to track the current value that is closest to the mouse position or touch contact. When
+ using a
+ touch-enabled device, the tooltip is displayed by hovering or tapping.
+
+
-
\ No newline at end of file
+
+
\ No newline at end of file
diff --git a/src/linear-gauge/volume-settings.html b/src/linear-gauge/volume-settings.html
index 97dba3c8..2dbcf98e 100644
--- a/src/linear-gauge/volume-settings.html
+++ b/src/linear-gauge/volume-settings.html
@@ -1,74 +1,77 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
- This sample demonstrates volume adjustments made for music/video and alarm clock applications.
-
-
-
-
- In this example, you can see how to render and configure a linear gauge to look like a sound tracker. This can
- be accomplished by combining axis, pointer and annotation.
-
+ This sample demonstrates volume adjustments made for music/video and alarm clock applications.
+
+
+
+
+ In this example, you can see how to render and configure a linear gauge to look like a sound tracker. This can
+ be accomplished by combining axis, pointer and annotation.
+