Файловый менеджер ⚬ 文件管理器 ⚬ File manager
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

115 rindas
3.8KB

  1. УглубитьсяВВыбраннуюДиректорию = мир =>
  2. {
  3. const номер = мир.номерВыбранногоФайла;
  4. const директория = мир.списокФайловТекущейДиректории[номер];
  5. мир.директория = мир.директория + директория + "/";
  6. мир.уведомить("изменили директорию");
  7. };
  8. // // // //
  9. ОпределитьТипВыбранногоФайла = мир =>
  10. {
  11. const номер = мир.номерВыбранногоФайла;
  12. const свойство = мир.свойстваФайловТекущейДиректории[номер];
  13. if (свойство.isDirectory())
  14. {
  15. мир.уведомить("тип выбранного файла директория");
  16. }
  17. else
  18. {
  19. мир.уведомить("тип выбранного файла файл");
  20. }
  21. };
  22. // // // //
  23. ОтобразитьСписокФайловТекущейДиректории = мир =>
  24. {
  25. var список = [];
  26. const файлы = мир.списокФайловТекущейДиректории;
  27. const свойства = мир.свойстваФайловТекущейДиректории;
  28. for (var н in файлы)
  29. {
  30. const свойство = свойства[н];
  31. const окончание = свойство.isDirectory() ? "/" : "";
  32. const файл = файлы[н] + окончание;
  33. список.push(файл);
  34. }
  35. мир.списокФайлов = список;
  36. мир.уведомить("изменили список файлов");
  37. };
  38. // // // //
  39. ПолучитьСвойстваФайловТекущейДиректории = мир =>
  40. {
  41. const список = мир.списокФайловТекущейДиректории;
  42. (async() => {
  43. try
  44. {
  45. var свойстваФайлов = [];
  46. for (var н in список)
  47. {
  48. const имя = список[н];
  49. const путь = мир.директория + имя;
  50. const свойства = await мир.фс.promises.stat(путь);
  51. свойстваФайлов.push(свойства);
  52. }
  53. мир.свойстваФайловТекущейДиректории = свойстваФайлов;
  54. мир.уведомить("получили свойства файлов текущей директории");
  55. }
  56. catch (ошибка)
  57. {
  58. мир.ошибкаОперацииФС = ошибка.code;
  59. мир.уведомить("ошибка операции файловой системы");
  60. }
  61. })();
  62. };
  63. // // // //
  64. ПолучитьСписокФайловТекущейДиректории = мир =>
  65. {
  66. (async() => {
  67. try
  68. {
  69. const список = await мир.фс.promises.readdir(мир.директория);
  70. мир.списокФайловТекущейДиректории = список;
  71. мир.уведомить("получили список файлов текущей директории");
  72. }
  73. catch (ошибка)
  74. {
  75. мир.ошибкаОперацииФС = ошибка.code;
  76. мир.уведомить("ошибка операции файловой системы");
  77. }
  78. })();
  79. };
  80. // // // //
  81. ЗадатьТекущуюДиректориюКорнем = мир =>
  82. {
  83. мир.директория = "/";
  84. мир.уведомить("изменили директорию");
  85. };
  86. // // // //
  87. СоздатьФайловуюСистему = мир =>
  88. {
  89. мир.фс = new LightningFS("AMYP");
  90. };