1 <div class=
"box box-primary" id=
"control">
2 <div class=
"box-header">
3 <div class=
"col-sm-10" style=
"padding-top:8px;">
4 <i class=
"fa fa-list-ul"> </i>
5 <h1 class=
"box-title" style=
"font-weight:bold;" id=
"id_h1_page_title">xx
</h1>
8 <div class=
"col-sm-2" style=
"font-size:16px;padding-top:8px;">
9 <a id=
"id_a_official_doc" target=
"_blank" href=
"https://www.ventoy.net/en/plugin_menuclass.html"><span class=
"fa fa-link"></span><span id=
"id_span_official_doc">官网文档
</span></a>
14 <div class=
"box-body">
15 <div class=
"nav-tabs-custom">
16 <ul class=
"nav nav-tabs" id=
"id_tab_menu_class">
17 <li class=
""><a href=
"#tab_0" data-toggle=
"tab" aria-expanded=
"false" style=
"font-weight:bold" >menu_class
</a></li>
18 <li class=
""><a href=
"#tab_1" data-toggle=
"tab" aria-expanded=
"false" style=
"font-weight:bold">menu_class_legacy
</a></li>
19 <li class=
""><a href=
"#tab_2" data-toggle=
"tab" aria-expanded=
"false" style=
"font-weight:bold">menu_class_uefi
</a></li>
20 <li class=
""><a href=
"#tab_3" data-toggle=
"tab" aria-expanded=
"false" style=
"font-weight:bold">menu_class_ia32
</a></li>
21 <li class=
""><a href=
"#tab_4" data-toggle=
"tab" aria-expanded=
"false" style=
"font-weight:bold">menu_class_aa64
</a></li>
22 <li class=
""><a href=
"#tab_5" data-toggle=
"tab" aria-expanded=
"false" style=
"font-weight:bold">menu_class_mips
</a></li>
26 <table id=
"id_class_tbl" class=
"table table-bordered">
29 <th style=
"width: 2%;">#
</th>
30 <th id=
"id_th_class_type" style=
"width: 5%;"></th>
31 <th id=
"id_th_class_path" style=
"width: 35%;"></th>
32 <th id=
"id_th_status" style=
"width: 5%;"></th>
33 <th id=
"id_th_class_class" style=
"width: 40%;"></th>
34 <th id=
"id_th_operation" style=
"width: 5%;"></th>
42 <script type=
"text/javascript">
44 function VtoyPageLanguageChange(newlang) {
45 VtoyCommonChangeLanguage(newlang);
46 $('h1[id=id_h1_page_title]').text(g_vtoy_cur_language.STR_PLUG_CLASS);
48 $("span[id=id_span_file_exist]").each(function(){
49 $(this).text(g_vtoy_cur_language.STR_FILE_EXIST);
51 $("span[id=id_span_file_nonexist]").each(function(){
52 $(this).text(g_vtoy_cur_language.STR_FILE_NONEXIST);
54 $("span[id=id_span_file_fuzzy]").each(function(){
55 $(this).text(g_vtoy_cur_language.STR_FILE_FUZZY);
58 $("span[id=id_span_dir_exist]").each(function(){
59 $(this).text(g_vtoy_cur_language.STR_DIR_EXIST);
62 $("span[id=id_span_dir_nonexist]").each(function(){
63 $(this).text(g_vtoy_cur_language.STR_DIR_NONEXIST);
66 if (newlang === 'en') {
67 $('#id_th_class_path').text('Key/Absolute Path');
68 $('#id_th_class_class').text('Menu Class');
69 $('#id_th_class_type').text('Type');
71 $('#id_th_class_path').text('关键字/绝对路径');
72 $('#id_th_class_class').text('菜单类型');
73 $('#id_th_class_type').text('类型');
78 function FillClassTable(data) {
80 var direxist = ventoy_get_status_line(
1,
1);
81 var dirnonexist = ventoy_get_status_line(
1,
0);
83 var addbtn = ventoy_get_xslg_addbtn('ClassAddBtn');
84 var delbtn = ventoy_get_xslg_delbtn('ClassDelBtn');
86 var td1, td2, td3, td4, td5, td6;
87 var $tbl = $("#id_class_tbl tbody");
90 for (var i =
0; i < data.length; i++) {
92 td1 = '
<td>' + (i +
1) + '
</td>';
94 td3 = '
<td>' + data[i].path + '
</td>';
95 if (data[i].type ===
0) {
99 if (data[i].type ===
1) {
100 td2 = '
<td>dir
</td>';
102 td2 = '
<td>parent
</td>';
105 if (data[i].valid ===
0) {
106 td4 = '
<td>' + dirnonexist + '
</td>';
108 td4 = '
<td>' + direxist + '
</td>';
112 td5 = '
<td>' + data[i].class + '
</td>';
113 td6 = '
<td>' + delbtn + '
</td>';
115 $tr = $('
<tr>' + td1 + td2 + td3 + td4 + td5 + td6 + '
</tr>');
117 $tr.data('path', data[i].path);
118 $tr.data('index', i);
122 $tbl.append('
<tr><td></td><td></td><td></td><td></td><td></td><td>' + addbtn + '
</td></tr>');
125 function VtoyFillCurrentPageItem(data) {
126 FillClassTable(data);
130 function OnClickMultiModeTab() {
131 var href = $(this).attr('href');
132 var index = parseInt(href.substr(
5,
1));
134 if (index <
0 || index
>= g_vtoy_data_default_index || current_tab_index === index) {
138 current_tab_index = index;
139 VtoyFillCurrentPageItem(m_data_class[index]);
144 var current_tab_index =
0;
145 callVtoySync({method : 'get_class'}, function(data) {
150 function AddClassEntry(root, type, valid, extra) {
151 var list = m_data_class[current_tab_index];
162 data.path = root.substr(g_current_dir.length);
165 for (var i =
0; i < list.length; i++) {
166 if (list[i].path === data.path) {
167 Message.error(g_vtoy_cur_language.STR_DUPLICATE_PATH);
173 method : 'class_add',
174 index: current_tab_index,
180 FillClassTable(list);
181 Message.success(g_vtoy_cur_language.STR_SAVE_SUCCESS);
185 function OnAddKeyClass(key, value) {
186 if (!ventoy_check_file_name_char(key)) {
187 Message.error(g_current_language === 'en' ? "As part of file name, key can not include invalid characters!" : "作为文件名的一部分,key 中不能包含特殊的符号!");
191 AddClassEntry(key,
0,
1, value);
194 function OnAddDirClassDir(root, extra) {
195 AddClassEntry(root,
1,
1, extra);
197 function OnAddDirClassParent(root, extra) {
198 AddClassEntry(root,
2,
1, extra);
201 function OnAddClassBtnClick(sel) {
204 "title": g_vtoy_cur_language.STR_SET_CLASS,
206 "title2": g_vtoy_cur_language.STR_CLASS
209 VtoySetKey(OnAddKeyClass, para);
211 var tip = (g_current_os === 'windows') ? '\\ISO\\Windows' : "/ISO/Linux";
213 "title": g_vtoy_cur_language.STR_SET_CLASS,
214 "tip": g_current_dir + tip,
217 "extra_title": g_vtoy_cur_language.STR_CLASS
221 VtoySelectDirPath(OnAddDirClassDir, para);
223 VtoySelectDirPath(OnAddDirClassParent, para);
229 $("#id_class_tbl").on('click', '.ClassAddBtn', function() {
233 "tip": g_vtoy_cur_language.STR_SET_CLASS_BY_KEY
237 "tip": g_vtoy_cur_language.STR_SET_CLASS_BY_DIR
241 "tip": g_vtoy_cur_language.STR_SET_CLASS_BY_PARENT
245 VtoySelectType(OnAddClassBtnClick, para);
248 $("#id_class_tbl").on('click', '.ClassDelBtn', function() {
249 var $tr = $(this).closest('tr');
250 var path = $tr.data('path');
251 var index = $tr.data('index');
254 method : 'class_del',
255 index: current_tab_index,
258 m_data_class[current_tab_index].splice(index,
1);
259 FillClassTable(m_data_class[current_tab_index]);
260 Message.success(g_vtoy_cur_language.STR_SAVE_SUCCESS);
267 $('#id_tab_menu_class a[
href="#tab_0"]').click(OnClickMultiModeTab);
268 $('#id_tab_menu_class a[
href="#tab_1"]').click(OnClickMultiModeTab);
269 $('#id_tab_menu_class a[
href="#tab_2"]').click(OnClickMultiModeTab);
270 $('#id_tab_menu_class a[
href="#tab_3"]').click(OnClickMultiModeTab);
271 $('#id_tab_menu_class a[
href="#tab_4"]').click(OnClickMultiModeTab);
272 $('#id_tab_menu_class a[
href="#tab_5"]').click(OnClickMultiModeTab);
274 $('#id_tab_menu_class a[
href="#tab_0"]').tab('show');
275 VtoyFillCurrentPageItem(m_data_class[
0]);
276 VtoyPageLanguageChange(g_current_language);