@syncfusion/ej2-gantt 20.2.49 → 20.2.50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  import { Browser, ChildProperty, Collection, Complex, Component, Event, EventHandler, Internationalization, KeyboardEvents, L10n, NotifyPropertyChanges, Property, addClass, append, classList, closest, compile, createElement, deleteObject, extend, formatUnit, getValue, isNullOrUndefined, isObject, isObjectArray, isUndefined, merge, remove, removeClass, setValue } from '@syncfusion/ej2-base';
2
2
  import { Dialog, Tooltip, createSpinner, hideSpinner, showSpinner } from '@syncfusion/ej2-popups';
3
- import { Edit, ForeignKey, Grid, Page, Predicate, Toolbar, ValueFormatter, click, filterAfterOpen, getActualProperties, getCustomDateFormat, getFilterMenuPostion, getForeignData, getObject, getUid, parentsUntil, setCssInGridPopUp } from '@syncfusion/ej2-grids';
3
+ import { Edit, ForeignKey, Grid, Page, Predicate, Toolbar, ValueFormatter, click, filterAfterOpen, getActualProperties, getCustomDateFormat, getForeignData, getObject, getUid, parentsUntil, setCssInGridPopUp } from '@syncfusion/ej2-grids';
4
4
  import { CacheAdaptor, DataManager, DataUtil, Deferred, ODataAdaptor, ODataV4Adaptor, Query, RemoteSaveAdaptor, UrlAdaptor, WebApiAdaptor, WebMethodAdaptor } from '@syncfusion/ej2-data';
5
5
  import { ColumnMenu, ContextMenu, Edit as Edit$1, ExcelExport, Filter, Reorder, Resize, RowDD, Selection, Sort, TreeGrid, VirtualScroll } from '@syncfusion/ej2-treegrid';
6
6
  import { Splitter } from '@syncfusion/ej2-layouts';
@@ -19944,7 +19944,20 @@ class DialogEdit {
19944
19944
  const rowResource = ganttData.ganttProperties.resourceInfo;
19945
19945
  const inputModel = this.beforeOpenArgs[itemName];
19946
19946
  const resourceTreeGridId = ganttObj.element.id + '' + itemName + 'TabContainer';
19947
- const resourceData = extend([], [], ganttObj.resources, true);
19947
+ let resourceData = [];
19948
+ if (this.parent.viewType === 'ResourceView') {
19949
+ for (let i = 0; i < ganttObj.currentViewData.length; i++) {
19950
+ for (let j = 0; j < ganttObj.resources.length; j++) {
19951
+ if (ganttObj.currentViewData[i][ganttObj.taskFields.id] === ganttObj.resources[j][resourceSettings.id] &&
19952
+ (ganttObj.currentViewData[i].hasChildRecords || isNullOrUndefined(ganttObj.currentViewData[i].parentItem))) {
19953
+ resourceData.push(ganttObj.resources[j]);
19954
+ }
19955
+ }
19956
+ }
19957
+ }
19958
+ else {
19959
+ resourceData = extend([], [], ganttObj.resources, true);
19960
+ }
19948
19961
  this.parent.dataOperation.updateResourceUnit(resourceData);
19949
19962
  if (!isNullOrUndefined(rowResource)) {
19950
19963
  let count;
@@ -21786,7 +21799,7 @@ class Edit$2 {
21786
21799
  this.parent.dataOperation.updateMappingData(ganttData, 'duration');
21787
21800
  this.parent.dataOperation.updateMappingData(ganttData, 'endDate');
21788
21801
  }
21789
- else if (key === 'taskType') {
21802
+ else if (key === tasks.type) {
21790
21803
  ganttObj.setRecordValue('taskType', data[key], ganttData.ganttProperties, true);
21791
21804
  //this.parent.dataOperation.updateMappingData(ganttData, 'taskType');
21792
21805
  }
@@ -22880,10 +22893,14 @@ class Edit$2 {
22880
22893
  for (let i = 0; i < selectedRecords.length; i++) {
22881
22894
  if (selectedRecords[i].parentItem) {
22882
22895
  const data = selectedRecords[i];
22883
- const ids = data.ganttProperties.sharedTaskUniqueIds;
22884
- for (let j = 0; j < ids.length; j++) {
22885
- deleteRecords.push(this.parent.flatData[this.parent.ids.indexOf(ids[j].toString())]);
22886
- }
22896
+ deleteRecords.push(this.parent.flatData[this.parent.ids.indexOf(data.ganttProperties.rowUniqueID)]);
22897
+ }
22898
+ else {
22899
+ const resourceParent = this.parent.flatData.filter((data) => {
22900
+ return (parseInt(data.ganttProperties.taskId) == parseInt(selectedRecords[i].ganttProperties.taskId) &&
22901
+ data.hasChildRecords);
22902
+ })[0];
22903
+ deleteRecords.push(resourceParent);
22887
22904
  }
22888
22905
  }
22889
22906
  this.deleteRow(deleteRecords);
@@ -23330,6 +23347,14 @@ class Edit$2 {
23330
23347
  eventArgs.modifiedTaskData = getTaskData(args.updatedRecordCollection, null, null, this.parent);
23331
23348
  setValue('action', args.action, eventArgs);
23332
23349
  this.parent.isOnDelete = false;
23350
+ if (this.parent.viewType === 'ResourceView') {
23351
+ const updateUnAssignedResources = eventArgs.data.filter((data) => {
23352
+ return !data.hasChildRecords;
23353
+ });
23354
+ for (let i = 0; i < updateUnAssignedResources.length; i++) {
23355
+ this.checkWithUnassignedTask(updateUnAssignedResources[i]);
23356
+ }
23357
+ }
23333
23358
  this.parent.trigger('actionComplete', eventArgs);
23334
23359
  this.deletedTaskDetails = [];
23335
23360
  this.parent.initiateEditAction(false);
@@ -25109,45 +25134,9 @@ class Filter$1 {
25109
25134
  }
25110
25135
  }
25111
25136
  }
25112
- setPosition(li, ul) {
25113
- const gridPos = this.parent.element.getBoundingClientRect();
25114
- const liPos = li.getBoundingClientRect();
25115
- let left = liPos.right + window.scrollX;
25116
- const top = liPos.top + window.scrollY;
25117
- if (gridPos.right < (left + ul.offsetWidth)) {
25118
- if ((liPos.left - ul.offsetWidth) > gridPos.left) {
25119
- left = (liPos.left - ul.offsetWidth);
25120
- }
25121
- else {
25122
- left -= (left + ul.offsetWidth) - gridPos.right;
25123
- }
25124
- }
25125
- ul.style.top = top + 'px';
25126
- ul.style.left = left + 'px';
25127
- }
25128
25137
  updateFilterMenuPosition(element, args) {
25129
25138
  addClass([element], 'e-gantt');
25130
- document.querySelector('#' + this.parent.controlId).appendChild(element);
25131
- let targetElement;
25132
- if (this.parent.showColumnMenu) {
25133
- targetElement = document.querySelector('#treeGrid' + this.parent.controlId + '_gridcontrol_colmenu_Filter');
25134
- element.style.zIndex = targetElement.parentElement.style.zIndex;
25135
- if (this.parent.treeGrid.filterSettings.type === 'Menu') {
25136
- this.setPosition(targetElement, getValue('filterModel.dlgObj.element', args));
25137
- }
25138
- else {
25139
- this.setPosition(targetElement, getValue('filterModel.dialogObj.element', args));
25140
- }
25141
- }
25142
- else {
25143
- targetElement = this.parent.treeGrid.grid.getColumnHeaderByField(args.columnName).querySelector('.e-filtermenudiv');
25144
- if (this.parent.treeGrid.filterSettings.type === 'Menu') {
25145
- getFilterMenuPostion(targetElement, getValue('filterModel.dlgObj', args));
25146
- }
25147
- else {
25148
- getFilterMenuPostion(targetElement, getValue('filterModel.dialogObj', args));
25149
- }
25150
- }
25139
+ document.querySelector('#' + this.parent.treeGrid.grid.element.id).appendChild(element);
25151
25140
  if (this.parent.treeGrid.filterSettings.type === 'Menu') {
25152
25141
  element.querySelector('.e-valid-input').focus();
25153
25142
  }
@@ -26171,7 +26160,7 @@ class Toolbar$3 {
26171
26160
  const isDeleteSelected = gObj.selectionModule ? gObj.selectionModule.selectedRowIndexes.length > 0 ||
26172
26161
  gObj.selectionModule.getSelectedRowCellIndexes().length > 0 ? true : false : false;
26173
26162
  // eslint-disable-next-line
26174
- edit.allowDeleting && isResouceParent && hasData && isDeleteSelected && !touchEdit ?
26163
+ edit.allowDeleting && hasData && isDeleteSelected && !touchEdit ?
26175
26164
  enableItems.push(gID + '_delete') : disableItems.push(gID + '_delete');
26176
26165
  if (gObj.editSettings.mode === 'Auto' && !isNullOrUndefined(gObj.editModule.cellEditModule)
26177
26166
  && gObj.editModule.cellEditModule.isCellEdit) {