]> glassweightruler.freedombox.rocks Git - Ventoy.git/blob - Plugson/www/plugson_auto_memdisk.html
update Russian and Bengali languages.json (#2167)
[Ventoy.git] / Plugson / www / plugson_auto_memdisk.html
1 <div class="box box-primary" id="control">
2 <div class="box-header">
3 <div class="col-sm-9" style="padding-top:8px;">
4 <i class="fa fa-floppy-o">&nbsp;&nbsp;</i>
5 <h1 class="box-title" style="font-weight:bold;" id="id_h1_page_title"></h1>
6 </div>
7 <div class="col-sm-1" style="padding-top:2px;">
8 <button id="id_btn_reset" class="btn btn-sm btn-danger btn-del"><i class="fa fa-trash"></i><span id="id_btn_span_reset">Reset</span></button>
9 </div>
10 <div class="col-sm-2" style="font-size:16px;padding-top:8px;">
11 <a id="id_a_official_doc" target="_blank" href="https://www.ventoy.net/en/plugin_automemdisk.html"><span class="fa fa-link"></span><span id="id_span_official_doc">官网文档</span></a>
12 </div>
13 </div>
14 <legend></legend>
15
16 <div class="box-body">
17 <div class="nav-tabs-custom">
18 <ul class="nav nav-tabs" id="id_tab_auto_memdisk">
19 <li class=""><a href="#tab_0" data-toggle="tab" aria-expanded="false" style="font-weight:bold" >auto_memdisk</a></li>
20 <li class=""><a href="#tab_1" data-toggle="tab" aria-expanded="false" style="font-weight:bold">auto_memdisk_legacy</a></li>
21 <li class=""><a href="#tab_2" data-toggle="tab" aria-expanded="false" style="font-weight:bold">auto_memdisk_uefi</a></li>
22 <li class=""><a href="#tab_3" data-toggle="tab" aria-expanded="false" style="font-weight:bold">auto_memdisk_ia32</a></li>
23 <li class=""><a href="#tab_4" data-toggle="tab" aria-expanded="false" style="font-weight:bold">auto_memdisk_aa64</a></li>
24 <li class=""><a href="#tab_5" data-toggle="tab" aria-expanded="false" style="font-weight:bold">auto_memdisk_mips</a></li>
25 </ul>
26 </div>
27
28 <table id="id_auto_memdisk_tbl" class="table table-bordered">
29 <thead>
30 <tr>
31 <th style="width: 5%;">#</th>
32 <th id="id_th_memdisk_path" style="width: 60%;"></th>
33 <th id="id_th_status" style="width: 10%;"></th>
34 <th id="id_th_operation" style="width: 10%;"></th>
35 </tr>
36 </thead>
37 <tbody>
38 </tbody>
39 </table>
40 </div>
41 </div>
42 <script type="text/javascript">
43
44 function VtoyPageLanguageChange(newlang) {
45 VtoyCommonChangeLanguage(newlang);
46 $('h1[id=id_h1_page_title]').text(g_vtoy_cur_language.STR_PLUG_AUTO_MEMDISK);
47
48 $("span[id=id_span_file_exist]").each(function(){
49 $(this).text(g_vtoy_cur_language.STR_FILE_EXIST);
50 });
51 $("span[id=id_span_file_nonexist]").each(function(){
52 $(this).text(g_vtoy_cur_language.STR_FILE_NONEXIST);
53 });
54 $("span[id=id_span_file_fuzzy]").each(function(){
55 $(this).text(g_vtoy_cur_language.STR_FILE_FUZZY);
56 });
57
58 if (newlang === 'en') {
59 $('#id_th_memdisk_path').text('Absolute Path');
60 } else {
61 $('#id_th_memdisk_path').text('绝对路径');
62
63 }
64 }
65
66 function FillMemdiskTable(data) {
67 var addbtn = ventoy_get_xslg_addbtn('MemdiskAddBtn');
68 var delbtn = ventoy_get_xslg_delbtn('MemdiskDelBtn');
69
70 var td1, td2, td3, td4;
71 var $tbl = $("#id_auto_memdisk_tbl tbody");
72 $tbl.empty();
73
74 for (var i = 0; i < data.length; i++) {
75 var $tr;
76 td1 = '<td>' + (i + 1) + '</td>';
77 td2 = '<td>' + data[i].path + '</td>';
78 td3 = '<td>' + ventoy_get_status_line(0, data[i].valid) + '</td>';
79 td4 = '<td>' + delbtn + '</td>';
80
81 $tr = $('<tr>' + td1 + td2 + td3 + td4 + '</tr>');
82
83 $tr.data('path', data[i].path);
84 $tr.data('index', i);
85 $tbl.append($tr);
86 }
87
88 $tbl.append('<tr><td></td><td></td><td></td><td>' + addbtn + '</td></tr>');
89 }
90
91 function VtoyFillCurrentPageItem(data) {
92 FillMemdiskTable(data);
93 }
94
95
96 function OnClickMultiModeTab() {
97 var href = $(this).attr('href');
98 var index = parseInt(href.substr(5, 1));
99
100 if (index < 0 || index >= g_vtoy_data_default_index || current_tab_index === index) {
101 return;
102 }
103
104 current_tab_index = index;
105 VtoyFillCurrentPageItem(m_data_memdisk[index]);
106 }
107
108 //Main process
109 var m_data_memdisk;
110 var current_tab_index = 0;
111 callVtoySync({method : 'get_auto_memdisk'}, function(data) {
112 m_data_memdisk = data;
113 });
114
115 function OnAddAutoMemdisk(root, valid, extra) {
116 var list = m_data_memdisk[current_tab_index];
117 var data = {
118 "path": root.substr(g_current_dir.length),
119 "valid": valid
120 };
121
122 for (var i = 0; i < list.length; i++) {
123 if (list[i].path === data.path) {
124 Message.error(g_vtoy_cur_language.STR_DUPLICATE_PATH);
125 return;
126 }
127 }
128
129 callVtoy({
130 method : 'auto_memdisk_add',
131 index: current_tab_index,
132 path: data.path,
133 }, function(e) {
134 if (e.result === 'success') {
135 list.push(data);
136 FillMemdiskTable(list);
137 Message.success(g_vtoy_cur_language.STR_SAVE_SUCCESS);
138 } else if (e.result === 'duplicate') {
139 Message.error(g_vtoy_cur_language.STR_DUPLICATE_PATH);
140 }
141 });
142 }
143
144 $("#id_auto_memdisk_tbl").on('click', '.MemdiskAddBtn', function() {
145 var tip1 = (g_current_os === 'windows') ? '\\ISO\\Windows11.iso' : "/ISO/Ubuntu-20.04-desktop-amd64.iso";
146 var tip2 = (g_current_os === 'windows') ? '\\ISO\\Windows**.iso' : "/ISO/Ubuntu-*****-desktop-amd64.iso";
147 var para = {
148 "title": g_vtoy_cur_language.STR_ADD_FILE_TO_LIST,
149 "fuzzy": 1,
150 "tip1": g_current_dir + tip1,
151 "tip2": g_current_dir + tip2,
152 "tip3": '',
153 "extra": false,
154 "extra_title": ''
155 };
156 VtoySelectFilePath(OnAddAutoMemdisk, para);
157 });
158
159 $("#id_auto_memdisk_tbl").on('click', '.MemdiskDelBtn', function() {
160 var $tr = $(this).closest('tr');
161 var path = $tr.data('path');
162 var index = $tr.data('index');
163
164 callVtoySync({
165 method : 'auto_memdisk_del',
166 index: current_tab_index,
167 path: path
168 }, function(data) {
169 m_data_memdisk[current_tab_index].splice(index, 1);
170 FillMemdiskTable(m_data_memdisk[current_tab_index]);
171 Message.success(g_vtoy_cur_language.STR_SAVE_SUCCESS);
172 });
173 });
174
175 $('#id_tab_auto_memdisk a[href="#tab_0"]').click(OnClickMultiModeTab);
176 $('#id_tab_auto_memdisk a[href="#tab_1"]').click(OnClickMultiModeTab);
177 $('#id_tab_auto_memdisk a[href="#tab_2"]').click(OnClickMultiModeTab);
178 $('#id_tab_auto_memdisk a[href="#tab_3"]').click(OnClickMultiModeTab);
179 $('#id_tab_auto_memdisk a[href="#tab_4"]').click(OnClickMultiModeTab);
180 $('#id_tab_auto_memdisk a[href="#tab_5"]').click(OnClickMultiModeTab);
181 function UpdateTabTitleIcon(data) {
182 CommonUpdateTabTitleIcon(data.exist_auto_memdisk, '#id_tab_auto_memdisk a[href="#tab_', 'auto_memdisk');
183 }
184 $('#id_btn_reset').click(function() {
185 Modal.confirm({msg:GetResetTabConfigTipMsg(current_tab_index, 'auto_memdisk')}).on(function(e) {
186 if (e) {
187 callVtoySync({
188 method : 'auto_memdisk_del',
189 index: current_tab_index,
190 path: g_del_all_path
191 }, function(data) {
192
193 });
194
195 m_data_memdisk[current_tab_index].length = 0;
196 VtoyFillCurrentPageItem(m_data_memdisk[g_vtoy_data_default_index]);
197 Message.success(g_vtoy_cur_language.STR_SAVE_SUCCESS);
198 }
199 });
200 });
201
202 $('#id_tab_auto_memdisk a[href="#tab_0"]').tab('show');
203 VtoyFillCurrentPageItem(m_data_memdisk[0]);
204 VtoyPageLanguageChange(g_current_language);
205
206 </script>