Файловый менеджер ⚬ 文件管理器 ⚬ File manager
25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.

129 satır
4.3KB

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