Файловый менеджер ⚬ 文件管理器 ⚬ File manager
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

82 lines
2.9KB

  1. ОтобразитьСписокФайловТекущейДиректории = мир =>
  2. {
  3. const список = мир.списокФайловТекущейДиректории;
  4. const свойства = мир.свойстваФайловТекущейДиректории;
  5. var содержимое = "";
  6. for (var н in список)
  7. {
  8. const файл = список[н];
  9. const свойство = свойства[н];
  10. const окончание = свойство.isDirectory() ? "/" : "";
  11. содержимое += `
  12. <li id="фс_список-файлов_${н}">
  13. <a id="фс_список-файлов_${н}_ссылка">
  14. ${файл}${окончание}
  15. </a>
  16. </li>
  17. `;
  18. }
  19. содержимое = `<ul class="uk-nav uk-nav-default tm-nav">${содержимое}</ul>`;
  20. $(`#${мир.макет.константы.меню}`).html(содержимое);
  21. };
  22. // // // //
  23. ПолучитьСвойстваФайловТекущейДиректории = мир =>
  24. {
  25. const список = мир.списокФайловТекущейДиректории;
  26. (async() => {
  27. try
  28. {
  29. var свойстваФайлов = [];
  30. for (var н in список)
  31. {
  32. const имя = список[н];
  33. const путь = мир.директория + имя;
  34. const свойства = await мир.фс.promises.stat(путь);
  35. свойстваФайлов.push(свойства);
  36. }
  37. мир.свойстваФайловТекущейДиректории = свойстваФайлов;
  38. мир.уведомить("получили свойства файлов текущей директории");
  39. }
  40. catch (ошибка)
  41. {
  42. мир.ошибкаОперацииФС = ошибка.code;
  43. мир.уведомить("ошибка операции файловой системы");
  44. }
  45. })();
  46. };
  47. // // // //
  48. ПолучитьСписокФайловТекущейДиректории = мир =>
  49. {
  50. (async() => {
  51. try
  52. {
  53. const список = await мир.фс.promises.readdir(мир.директория);
  54. мир.списокФайловТекущейДиректории = список;
  55. мир.уведомить("получили список файлов текущей директории");
  56. }
  57. catch (ошибка)
  58. {
  59. мир.ошибкаОперацииФС = ошибка.code;
  60. мир.уведомить("ошибка операции файловой системы");
  61. }
  62. })();
  63. };
  64. // // // //
  65. СоздатьФайловуюСистему = мир =>
  66. {
  67. мир.фс = new LightningFS("AMYP");
  68. мир.директория = "/";
  69. };