Архивация модулей MAOH в один файл zip
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

115 lines
3.7KB

  1. ПерезагрузитьПриложениеПослеОбновления = мир =>
  2. {
  3. window.location.reload(false);
  4. };
  5. // // // //
  6. УдалитьМодулиПриложенияПередОбновлением = мир =>
  7. {
  8. var список = мир.списокМодулейПриложенияДляОбновления;
  9. for (var номер in список)
  10. {
  11. var указатель = список[номер];
  12. localStorage.removeItem(указатель);
  13. }
  14. };
  15. // // // //
  16. ПроверитьНаличиеМодулейПриложенияДляОбновления = мир =>
  17. {
  18. if (мир.списокМодулейПриложенияДляОбновления.length)
  19. {
  20. мир.уведомить("присутствуют модули приложения для обновления");
  21. }
  22. else
  23. {
  24. мир.уведомить("отсутствуют модули приложения для обновления");
  25. }
  26. }
  27. // // // //
  28. СоставитьСписокМодулейПриложенияДляОбновления = мир =>
  29. {
  30. var список = [];
  31. var описания = мир.описанияМодулейПриложения;
  32. for (var указатель in описания)
  33. {
  34. var описание = описания[указатель];
  35. var модуль = мир.модули.модульПоУказателю(указатель);
  36. if (
  37. модуль &&
  38. модуль.версия != описание.версия
  39. ) {
  40. список.push(указатель);
  41. }
  42. }
  43. мир.списокМодулейПриложенияДляОбновления = список;
  44. };
  45. // // // //
  46. УведомитьОбОтсутствииОбновленийПриложения = мир =>
  47. {
  48. мир.уведомить("обновления приложения отсутствуют");
  49. };
  50. // // // //
  51. ЗагрузитьОписаниеВсехМодулейПриложения = мир =>
  52. {
  53. var указатели = [УКАЗАТЕЛЬ_ЭТОГО_МОДУЛЯ];
  54. var м = мир.модули.модульПоУказателю(УКАЗАТЕЛЬ_ЭТОГО_МОДУЛЯ);
  55. var содержимое = м.содержимое["/📦"];
  56. var строки = содержимое.split(/\n/);
  57. for (var номер in строки)
  58. {
  59. var строка = строки[номер];
  60. if (!строка.startsWith("#") && строка.length)
  61. {
  62. указатели.push(строка);
  63. }
  64. }
  65. мир.описанияМодулейПриложения = [];
  66. function загрузитьОписание(мир, список, номер, успех, провал)
  67. {
  68. const указатель = список[номер];
  69. мир.взять(
  70. указатель,
  71. function(содержимое) {
  72. var описание = мир.разобрать0000(содержимое);
  73. мир.описанияМодулейПриложения[указатель] = описание;
  74. успех();
  75. },
  76. function(ошибка) {
  77. провал();
  78. }
  79. );
  80. }
  81. сделатьПараллельно(
  82. мир,
  83. указатели,
  84. загрузитьОписание,
  85. function() {
  86. мир.уведомить("загрузили описание всех модулей приложения");
  87. },
  88. function() {
  89. мир.уведомить("не загрузили описание всех модулей приложения");
  90. }
  91. );
  92. };