]> glassweightruler.freedombox.rocks Git - Ventoy.git/blobdiff - Plugson/www/index.html
Support ext4 fs with checksum seed feature.
[Ventoy.git] / Plugson / www / index.html
index 9037a94770a06851fe3939fd1578c4301169b540..0a35d601710a3fd144534c999bcbb256efb332c7 100644 (file)
                 \r
                 <div class="navbar-custom-menu">\r
                     <ul class="nav navbar-nav">\r
+                        <li class="dropdown user user-menu">\r
+                            <a href="javascript:void(0)" id="id_a_preview">\r
+                                <span class="fa fa-file-code-o"></span>&nbsp;&nbsp;\r
+                                <span id="id_span_preview" class="hidden-xs">Preview</span>\r
+                                <span class="hidden-xs">&nbsp;&nbsp;&nbsp;</span>\r
+                            </a>                        \r
+                        </li>\r
+                    \r
                         <li class="dropdown user user-menu">\r
                             <a href="javascript:void(0)" id="id_a_language">\r
                                 <span class="fa fa-language"></span>&nbsp;&nbsp;\r
                 </div>\r
             </div>\r
         </div>\r
+        \r
+        \r
+        <div class="modal" id="JsonPreviewModal">\r
+            <div class="modal-dialog" style="width: 80%;">\r
+                <div class="modal-content">\r
+                    <form id="JsonPeviewForm" class="form-horizontal">   \r
+                        <div class="modal-header">\r
+                            <button type="button" class="close" data-dismiss="modal" aria-label="Close">\r
+                                <span aria-hidden="true">&times;</span>\r
+                            </button>\r
+                            <h4>\r
+                                <b id="JsonPreviewForm_lang_1">JSON</b>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r
+                                <button type="button" id="id_btn_json_copy" class="btn btn-primary"><span class="fa fa-copy">&nbsp;&nbsp;</span><span id="id_span_copy">Copy</span></button>\r
+                            </h4>\r
+                            \r
+                        </div>\r
+                        <div class="modal-body">\r
+                            <textarea id="pre_json_preview" class="form-control" rows="30" style="font-family:Menlo,Monaco,Consolas,'Courier New',monospace" spellcheck="false"></textarea>\r
+                        </div>\r
+                        <div class="modal-footer">\r
+                            <button id="PrewForm_lang_2" type="button" class="btn btn-primary btn-flat" data-dismiss="modal">确定</button>\r
+                        </div>\r
+                    </form>\r
+                </div>\r
+            </div>        \r
+        </div>\r
 \r
 \r
         <!-- Content Wrapper. Contains page content -->\r
 \r
         <footer class="main-footer">\r
             <div class="pull-right hidden-xs">\r
-                <b id="plugson_build_date">20220204 16:31:23</b>
+                <b id="plugson_build_date">20231014 18:52:12</b>
             </div>\r
             <strong><a href="https://www.ventoy.net" target="_blank">https://www.ventoy.net</a></strong>\r
         </footer>\r
     <script src="/static/js/jQuery-2.1.4.min.js"></script>\r
     <!-- jquery validate -->\r
     <script src="/static/js/jquery.validate.min.js"></script>    \r
-    <script src="/static/js/jquery.validate.vtoymethods.js"></script>\r
+    <script src="/static/js/jquery.validate.vtoymethods.js?v=192"></script>\r
 \r
-    <script src="/static/js/vtoy.js"></script>\r
-    <script src="/static/js/jquery.vtoy.alert.js"></script>\r
+    <script src="/static/js/jquery.vtoy.alert.js?v=192"></script>\r
+    <script src="/static/js/vtoy.js?v=192"></script>\r
     <script src="/static/js/md5.min.js"></script>\r
 \r
     <!-- Bootstrap 3.3.5 -->\r
     \r
     <script type="text/javascript">\r
 \r
+    function VtoyJsonCopyClick() {\r
+        var copyText = document.getElementById("pre_json_preview");\r
+        copyText.select();\r
+        copyText.setSelectionRange(0, 99999); // For mobile devices\r
+\r
+        try {\r
+            var successful = document.execCommand('copy');\r
+            copyText.setSelectionRange(0, 0);\r
+            if (successful) {\r
+                Message.success(g_vtoy_cur_language.STR_JSON_COPY_SUCCESS);\r
+            } else {\r
+                Message.error(g_vtoy_cur_language.STR_JSON_COPY_FAILED);\r
+            }\r
+        } catch (err) {\r
+            Message.error(g_vtoy_cur_language.STR_JSON_COPY_FAILED);\r
+        }\r
+    }\r
+\r
+    function VtoyPreviewClick() {\r
+        callVtoySync({\r
+            method : 'preview_json'\r
+        }, function(data) {\r
+            $('#JsonPeviewForm #JsonPreviewForm_lang_1').text(g_vtoy_cur_language.STR_JSON_PREVIEW);\r
+            $('#JsonPeviewForm #PrewForm_lang_2').text(g_vtoy_cur_language.STR_BTN_OK);\r
+            \r
+            $('#pre_json_preview').text(VtoyUTF16HexToAscii(data.json));            \r
+            $("#JsonPreviewModal").modal();\r
+        });\r
+    }\r
+    \r
     function VtoyLanguageClick() {\r
         var defaultPage = window.location.hash;\r
         \r
 \r
     });\r
  \r
+    $('#id_btn_json_copy').click(VtoyJsonCopyClick);\r
+    $('#id_a_preview').click(VtoyPreviewClick);\r
     $('#id_a_language').click(VtoyLanguageClick);\r
     \r
     $("#plugson-menu a").click(function() {\r
     \r
 \r
     (function ventoy_handshake() {\r
-\r
-        if (m_syntax_error === 1) {\r
-            \r
-        }\r
-\r
         callVtoyCatchErr({\r
             method : 'handshake'\r
         },         \r
                 m_invalid_config = 0;\r
             }\r
 \r
+            if (data.save_error === 1) {\r
+                var title = g_current_language == 'en' ? g_vtoy_cur_language_en.STR_INFO : g_vtoy_cur_language_cn.STR_INFO;\r
+                var msg = g_current_language == 'en' ? g_vtoy_cur_language_en.STR_CONFIG_SAVE_ERROR_TIP : g_vtoy_cur_language_cn.STR_CONFIG_SAVE_ERROR_TIP;\r
+                Modal.alert({title:title,msg:msg}).on(function(e) {\r
+                });\r
+            }\r
+\r
+            if (typeof(UpdateTabTitleIcon)==='function') {\r
+                UpdateTabTitleIcon(data);\r
+            }\r
+\r
             setTimeout(function() {\r
                 ventoy_handshake();\r
-            }, 1000);\r
+            }, 200);\r
         },\r
 \r
         function(xmlHttpRequest, textStatus, errorThrown) {\r