@syncfusion/ej2-filemanager 34.1.29 → 34.1.33

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.
Files changed (78) hide show
  1. package/dist/ej2-filemanager.min.js +2 -2
  2. package/dist/ej2-filemanager.umd.min.js +2 -2
  3. package/dist/ej2-filemanager.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-filemanager.es2015.js +62 -31
  5. package/dist/es6/ej2-filemanager.es2015.js.map +1 -1
  6. package/dist/es6/ej2-filemanager.es5.js +62 -31
  7. package/dist/es6/ej2-filemanager.es5.js.map +1 -1
  8. package/dist/global/ej2-filemanager.min.js +2 -2
  9. package/dist/global/ej2-filemanager.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/package.json +9 -9
  12. package/src/file-manager/layout/details-view.js +39 -23
  13. package/src/file-manager/layout/large-icons-view.js +16 -6
  14. package/src/file-manager/pop-up/dialog.js +7 -2
  15. package/styles/bds-lite.css +5 -0
  16. package/styles/bds.css +5 -0
  17. package/styles/bootstrap-dark-lite.css +5 -0
  18. package/styles/bootstrap-dark.css +5 -0
  19. package/styles/bootstrap-lite.css +5 -0
  20. package/styles/bootstrap.css +5 -0
  21. package/styles/bootstrap4-lite.css +5 -0
  22. package/styles/bootstrap4.css +5 -0
  23. package/styles/bootstrap5-dark-lite.css +5 -0
  24. package/styles/bootstrap5-dark.css +5 -0
  25. package/styles/bootstrap5-lite.css +5 -0
  26. package/styles/bootstrap5.3-lite.css +5 -0
  27. package/styles/bootstrap5.3.css +5 -0
  28. package/styles/bootstrap5.css +5 -0
  29. package/styles/fabric-dark-lite.css +5 -0
  30. package/styles/fabric-dark.css +5 -0
  31. package/styles/fabric-lite.css +5 -0
  32. package/styles/fabric.css +5 -0
  33. package/styles/file-manager/_layout.scss +5 -0
  34. package/styles/file-manager/bds.css +5 -0
  35. package/styles/file-manager/bootstrap-dark.css +5 -0
  36. package/styles/file-manager/bootstrap.css +5 -0
  37. package/styles/file-manager/bootstrap4.css +5 -0
  38. package/styles/file-manager/bootstrap5-dark.css +5 -0
  39. package/styles/file-manager/bootstrap5.3.css +5 -0
  40. package/styles/file-manager/bootstrap5.css +5 -0
  41. package/styles/file-manager/fabric-dark.css +5 -0
  42. package/styles/file-manager/fabric.css +5 -0
  43. package/styles/file-manager/fluent-dark.css +5 -0
  44. package/styles/file-manager/fluent.css +5 -0
  45. package/styles/file-manager/fluent2.css +5 -0
  46. package/styles/file-manager/highcontrast-light.css +5 -0
  47. package/styles/file-manager/highcontrast.css +5 -0
  48. package/styles/file-manager/material-dark.css +5 -0
  49. package/styles/file-manager/material.css +5 -0
  50. package/styles/file-manager/material3-dark.css +5 -0
  51. package/styles/file-manager/material3.css +5 -0
  52. package/styles/file-manager/tailwind-dark.css +5 -0
  53. package/styles/file-manager/tailwind.css +5 -0
  54. package/styles/file-manager/tailwind3.css +5 -0
  55. package/styles/fluent-dark-lite.css +5 -0
  56. package/styles/fluent-dark.css +5 -0
  57. package/styles/fluent-lite.css +5 -0
  58. package/styles/fluent.css +5 -0
  59. package/styles/fluent2-lite.css +5 -0
  60. package/styles/fluent2.css +5 -0
  61. package/styles/highcontrast-light-lite.css +5 -0
  62. package/styles/highcontrast-light.css +5 -0
  63. package/styles/highcontrast-lite.css +5 -0
  64. package/styles/highcontrast.css +5 -0
  65. package/styles/material-dark-lite.css +5 -0
  66. package/styles/material-dark.css +5 -0
  67. package/styles/material-lite.css +5 -0
  68. package/styles/material.css +5 -0
  69. package/styles/material3-dark-lite.css +5 -0
  70. package/styles/material3-dark.css +5 -0
  71. package/styles/material3-lite.css +5 -0
  72. package/styles/material3.css +5 -0
  73. package/styles/tailwind-dark-lite.css +5 -0
  74. package/styles/tailwind-dark.css +5 -0
  75. package/styles/tailwind-lite.css +5 -0
  76. package/styles/tailwind.css +5 -0
  77. package/styles/tailwind3-lite.css +5 -0
  78. package/styles/tailwind3.css +5 -0
@@ -4383,6 +4383,7 @@ function onFolderDialogOpen(parent) {
4383
4383
  createInput(ele, getLocaleText(parent, 'Content-NewFolder'));
4384
4384
  }
4385
4385
  ele.parentElement.nextElementSibling.innerHTML = '';
4386
+ ele.setAttribute('aria-invalid', 'false');
4386
4387
  ele.oninput = function () {
4387
4388
  onValidate(parent, ele);
4388
4389
  };
@@ -4407,6 +4408,7 @@ function onRenameDialogOpen(parent) {
4407
4408
  createInput(inputEle, getLocaleText(parent, 'Content-Rename'));
4408
4409
  }
4409
4410
  inputEle.parentElement.nextElementSibling.innerHTML = '';
4411
+ inputEle.setAttribute('aria-invalid', 'false');
4410
4412
  inputEle.oninput = function () {
4411
4413
  onValidate(parent, inputEle);
4412
4414
  };
@@ -4486,7 +4488,7 @@ function getOptions(parent, text, e, details) {
4486
4488
  case 'NewFolder':
4487
4489
  options.dialogName = 'Create Folder';
4488
4490
  options.header = getLocaleText(parent, 'Header-NewFolder');
4489
- options.content = '<input type="text" value="New folder" id="newname"><div class="e-fe-error"></div>';
4491
+ options.content = '<input type="text" value="New folder" id="newname" aria-invalid="false" aria-describedby="newname_error"><div id="newname_error" class="e-fe-error" role="alert"></div>';
4490
4492
  options.buttons = [
4491
4493
  {
4492
4494
  buttonModel: { isPrimary: true, content: getLocaleText(parent, 'Button-Create') },
@@ -4529,7 +4531,7 @@ function getOptions(parent, text, e, details) {
4529
4531
  case 'Rename':
4530
4532
  options.dialogName = 'Rename';
4531
4533
  options.header = getLocaleText(parent, 'Header-Rename');
4532
- options.content = '<input type="text" class="e-input" id="rename"><div class="e-fe-error"></div>';
4534
+ options.content = '<input type="text" class="e-input" id="rename" aria-invalid="false" aria-describedby="rename_error"><div id="rename_error" class="e-fe-error" role="alert"></div>';
4533
4535
  options.buttons = [
4534
4536
  {
4535
4537
  buttonModel: { isPrimary: true, content: getLocaleText(parent, 'Button-Save') },
@@ -4783,9 +4785,11 @@ function onValidate(parent, ele) {
4783
4785
  addInvalid(parent, ele);
4784
4786
  }
4785
4787
  else if (ele.value === '') {
4788
+ ele.setAttribute('aria-invalid', 'true');
4786
4789
  ele.parentElement.nextElementSibling.innerHTML = getLocaleText(parent, 'Validation-Empty');
4787
4790
  }
4788
4791
  else {
4792
+ ele.setAttribute('aria-invalid', 'false');
4789
4793
  ele.parentElement.nextElementSibling.innerHTML = '';
4790
4794
  }
4791
4795
  }
@@ -4813,6 +4817,7 @@ function onSubmitValidate(parent, ele) {
4813
4817
  */
4814
4818
  function addInvalid(parent, ele) {
4815
4819
  var error = getLocaleText(parent, 'Validation-Invalid').replace('{0}', '"' + ele.value + '"');
4820
+ ele.setAttribute('aria-invalid', 'true');
4816
4821
  if (parent.enableHtmlSanitizer) {
4817
4822
  ele.parentElement.nextElementSibling.textContent = error;
4818
4823
  }
@@ -6246,12 +6251,22 @@ var LargeIconsView = /** @__PURE__ @class */ (function () {
6246
6251
  }
6247
6252
  };
6248
6253
  LargeIconsView.prototype.spaceKey = function (fItem) {
6249
- if (!isNullOrUndefined(fItem) && !fItem.classList.contains(ACTIVE)) {
6250
- var fileSelectionArgs = this.triggerSelection('select', fItem);
6251
- if (fileSelectionArgs.cancel !== true) {
6252
- this.addActive(fItem);
6253
- this.parent.notify(selectionChanged, {});
6254
- this.triggerSelect('select', fItem);
6254
+ if (!isNullOrUndefined(fItem)) {
6255
+ if (!fItem.classList.contains(ACTIVE)) {
6256
+ var fileSelectionArgs = this.triggerSelection('select', fItem);
6257
+ if (fileSelectionArgs.cancel !== true) {
6258
+ this.addActive(fItem);
6259
+ this.parent.notify(selectionChanged, {});
6260
+ this.triggerSelect('select', fItem);
6261
+ }
6262
+ }
6263
+ else {
6264
+ var fileSelectionArgs = this.triggerSelection('unselect', fItem);
6265
+ if (fileSelectionArgs.cancel !== true) {
6266
+ this.removeActive(fItem);
6267
+ this.parent.notify(selectionChanged, {});
6268
+ this.triggerSelect('unselect', fItem);
6269
+ }
6255
6270
  }
6256
6271
  }
6257
6272
  };
@@ -12842,11 +12857,15 @@ var DetailsView = /** @__PURE__ @class */ (function () {
12842
12857
  case 'enter':
12843
12858
  if (this.gridObj.selectedRowIndex === -1 && this.gridObj.allowSorting === true) {
12844
12859
  if (!e.target.classList.contains('e-fe-grid-icon')) {
12845
- var direction = !e.target.getElementsByClassName('e-ascending').length ? 'Ascending' : 'Descending';
12846
- var currentField = this.gridObj.getColumnByUid(e.target.querySelector('.e-headercelldiv').getAttribute('e-mappinguid')).field;
12847
- this.gridObj.sortColumn(currentField, direction);
12848
- if (!isNullOrUndefined(this.getFocusedItem().nextSibling)) {
12849
- this.getFocusedItem().nextSibling.setAttribute('tabindex', '0');
12860
+ var headerDiv = e.target.querySelector('.e-headercelldiv');
12861
+ if (headerDiv) {
12862
+ var mappingUid = headerDiv.getAttribute('data-mappinguid');
12863
+ var direction = !e.target.getElementsByClassName('e-ascending').length ? 'Ascending' : 'Descending';
12864
+ var currentField = this.gridObj.getColumnByUid(mappingUid).field;
12865
+ this.gridObj.sortColumn(currentField, direction);
12866
+ if (!isNullOrUndefined(this.getFocusedItem().nextSibling)) {
12867
+ this.getFocusedItem().nextSibling.setAttribute('tabindex', '0');
12868
+ }
12850
12869
  }
12851
12870
  }
12852
12871
  break;
@@ -12888,21 +12907,19 @@ var DetailsView = /** @__PURE__ @class */ (function () {
12888
12907
  case 'ctrlHome':
12889
12908
  case 'tab':
12890
12909
  case 'shiftTab':
12891
- if (!isNullOrUndefined(gridItems[0])) {
12892
- if (!this.parent.allowMultiSelection && e.action === 'ctrlHome') {
12893
- this.gridObj.selectRow(0);
12894
- }
12895
- else if (e.action === 'shiftTab') {
12896
- this.handleReverseTabNavigation(e);
12897
- }
12898
- else if (e.action === 'tab') {
12899
- this.isTabKeypressed = true;
12900
- this.addHeaderFocus(e);
12901
- this.isTabKeypressed = false;
12902
- }
12903
- else {
12904
- this.addHeaderFocus(e);
12905
- }
12910
+ if (!this.parent.allowMultiSelection && e.action === 'ctrlHome') {
12911
+ this.gridObj.selectRow(0);
12912
+ }
12913
+ else if (e.action === 'shiftTab') {
12914
+ this.handleReverseTabNavigation(e);
12915
+ }
12916
+ else if (e.action === 'tab') {
12917
+ this.isTabKeypressed = true;
12918
+ this.addHeaderFocus(e);
12919
+ this.isTabKeypressed = false;
12920
+ }
12921
+ else {
12922
+ this.addHeaderFocus(e);
12906
12923
  }
12907
12924
  break;
12908
12925
  case 'ctrlEnd':
@@ -13080,6 +13097,14 @@ var DetailsView = /** @__PURE__ @class */ (function () {
13080
13097
  this.gridObj.selectRows(selRowIndeces);
13081
13098
  this.addFocus(lItem);
13082
13099
  }
13100
+ else if (e.action === 'space' && this.isSelected(selRowIndeces, focIndex)) {
13101
+ var indexToRemove = selRowIndeces.indexOf(focIndex);
13102
+ if (indexToRemove > -1) {
13103
+ selRowIndeces.splice(indexToRemove, 1);
13104
+ this.gridObj.selectRows(selRowIndeces);
13105
+ this.addFocus(focIndex);
13106
+ }
13107
+ }
13083
13108
  else if (e.action === 'shiftSpace') {
13084
13109
  this.gridObj.selectRow(selIndex);
13085
13110
  }
@@ -13320,9 +13345,11 @@ var DetailsView = /** @__PURE__ @class */ (function () {
13320
13345
  nameFocus.setAttribute('tabindex', '0');
13321
13346
  nameFocus.focus();
13322
13347
  addClass([nameFocus], [FOCUS, FOCUSED]);
13323
- treeFocus.setAttribute('tabindex', '0');
13324
- if (treeFocus.tabIndex === 0 && nameFocus.tabIndex === 0) {
13325
- removeClass([treeFocus], [FOCUS, FOCUSED]);
13348
+ if (!isNullOrUndefined(treeFocus)) {
13349
+ treeFocus.setAttribute('tabindex', '0');
13350
+ if (treeFocus.tabIndex === 0 && nameFocus.tabIndex === 0) {
13351
+ removeClass([treeFocus], [FOCUS, FOCUSED]);
13352
+ }
13326
13353
  }
13327
13354
  }
13328
13355
  };
@@ -13388,6 +13415,10 @@ var DetailsView = /** @__PURE__ @class */ (function () {
13388
13415
  if (headers.length === 0) {
13389
13416
  return;
13390
13417
  }
13418
+ if (isNullOrUndefined(focusedItem)) {
13419
+ this.moveFocusToHeader(headers[headers.length - 1]);
13420
+ return;
13421
+ }
13391
13422
  if (!isNullOrUndefined(focusedItem) && focusedItem.classList.contains('e-rowcell')) {
13392
13423
  var row = focusedItem.parentElement;
13393
13424
  var cells = row ? Array.from(row.querySelectorAll('.e-rowcell:not(.e-gridchkbox)')) : [];