Update Theme Settings.

This commit is contained in:
Bruce
2025-12-13 15:02:41 +08:00
parent fc66b6de72
commit 7c10123c8f
420 changed files with 84224 additions and 540 deletions

View File

@@ -39,263 +39,265 @@
<body>
<div class="pagecontainer full pagesection">
<div class="section padding">
<h2 data-res-fromfile="publicRes(124)"></h2>
<p data-res-fromfile="getFileResPair(exepath, 300)"></p>
<p style="white-space: pre-wrap;"><span data-res-fromfile="publicRes (130)"></span>&#9;<span id="current-version"></span></p>
<script>
try {
var storage = Bridge.External.Storage;
var path = storage.path;
var versionFilePath = path.combine(path.root, "version");
var versionFile = storage.getFile(versionFilePath);
window.currver = versionFile.content;
} catch (e) {
window.currver = "0.0.0.1";
}
document.getElementById("current-version").textContent = window.currver;
</script>
<p id="about-copyright"></p>
<script>
(function() {
var storage = Bridge.External.Storage;
var path = storage.path;
var verinfo = JSON.parse(Bridge.External.getVersionInfoToJSON(exepath));
var aboutCopyright = document.getElementById("about-copyright");
aboutCopyright.textContent = verinfo.LegalCopyright;
})();
</script>
<p data-res-fromfile="publicRes (133)"></p>
<p>
<a href="https://github.com/modernw/App-Installer-For-Windows-8.x-Reset" target="_blank" data-res-fromfile="publicRes (134)"></a>
</p>
<p>
<a id="about-project-description" data-res-fromfile="publicRes(135)"></a>
</p>
<p>
<a id="about-update-log" data-res-fromfile="publicRes(136)"></a>
</p>
<p>
<a id="about-eula" data-res-fromfile="publicRes(137)"></a>
</p>
<p data-res-fromfile="publicRes (138)"></p>
<ul>
<li><a href="https://github.com/chausner/PriTools" target="_blank">chausner/PriTools</a></li>
<li><a href="https://pugixml.org/" target="_blank">pugixml</a></li>
<li><a href="https://rapidjson.org/" target="_blank">RapidJSON</a></li>
<li><a href="https://github.com/winjs/winjs" target="_blank">WinJS</a></li>
<li><a href="https://github.com/evilstreak/markdown-js" target="_blank">markdown.js</a></li>
</ul>
<script>
(function() {
var aboutUpdateLog = document.getElementById("about-update-log");
var aboutEula = document.getElementById("about-eula");
var aboutProjectDescription = document.getElementById("about-project-description");
var eventutil = Windows.UI.Event.Util;
var storage = Bridge.External.Storage;
var path = storage.path;
var strres = Bridge.External.StringResources;
var jslist = [
"js\\module.js",
"js\\polyfill-ie.js",
"js\\bridge.js",
"js\\dpimodes.js"
];
var libroot = path.combine(path.root, "html");
/**
* 异步显示消息框,返回一个 Promise 对象。
* @param {string | HTMLElement} swText 内容
* @param {string} swTitle 标题
* @param {MBFLAGS} uType 标志,使用 MBFLAGS 常量
* @param {string} swColor 背景颜色文本。
* @returns
*/
var msgbox = function() {};
var MsgBox = function() {};
if (typeof window.parent !== "undefined") {
msgbox = window.parent.messageBoxAsync;
MsgBox = window.parent.MsgBoxObj;
} else {
msgbox = messageBoxAsync;
MsgBox = MsgBoxObj;
<div class="bottom-compensate">
<h2 data-res-fromfile="publicRes(124)"></h2>
<p data-res-fromfile="getFileResPair(exepath, 300)"></p>
<p style="white-space: pre-wrap;"><span data-res-fromfile="publicRes (130)"></span>&#9;<span id="current-version"></span></p>
<script>
try {
var storage = Bridge.External.Storage;
var path = storage.path;
var versionFilePath = path.combine(path.root, "version");
var versionFile = storage.getFile(versionFilePath);
window.currver = versionFile.content;
} catch (e) {
window.currver = "0.0.0.1";
}
eventutil.addEvent(aboutUpdateLog, "click", function() {
var content = document.createElement("div");
var progressDisplay = document.createElement("div");
var progress = document.createElement("progress");
var retryBtn = document.createElement("button");
retryBtn.textContent = getPublicRes(132);
retryBtn.style.display = "none";
retryBtn.style.margin = "10px 0";
progress.classList.add("win-ring");
progress.style.color = "white";
var state = document.createElement("span");
progress.style.marginRight = "5px";
progressDisplay.appendChild(progress);
progressDisplay.appendChild(state);
progressDisplay.setAttribute("style", "display: flex; flex-direction: row;");
content.appendChild(progressDisplay);
content.appendChild(retryBtn);
content.style.margin = "10px 0";
content.style.maxHeight = "100%";
content.style.width = "100%";
progressDisplay.style.width = "100%";
content.style.boxSizing = "border-box";
progressDisplay.style.boxSizing = "border-box";
content.classList.add("markdown-style");
msgbox(content, getPublicRes(136));
var fetchFunc = function() {
retryBtn.style.display = "none";
state.textContent = getPublicRes(139);
progress.style.display = "";
WinJS.xhr({
url: "https://api.github.com/repos/modernw/App-Installer-For-Windows-8.x-Reset/releases/tags/" + currver,
}).done(
function(resp) {
var json = JSON.parse(resp.responseText);
var body = json.body;
content.innerHTML = markdown.toHTML(body);
content.style.height = "300px";
content.style.maxHeight = "100%";
},
function(err) {
progress.style.display = "none";
retryBtn.style.display = "block";
var msg = {
message: ""
};
try {
msg = JSON.parse(err.responseText);
} catch (e) {
msg = err.responseText;
}
state.textContent = getPublicRes(140) + (msg.message.length > 0 ? ": " + msg.message : "");
}
);
};
retryBtn.addEventListener("click", function() {
fetchFunc();
});
fetchFunc();
});
eventutil.addEvent(aboutProjectDescription, "click", function() {
function decodeBase64(base64) {
// GitHub 的 content 有换行,必须清理
base64 = base64.replace(/\s/g, "");
return atob(base64);
document.getElementById("current-version").textContent = window.currver;
</script>
<p id="about-copyright"></p>
<script>
(function() {
var storage = Bridge.External.Storage;
var path = storage.path;
var verinfo = JSON.parse(Bridge.External.getVersionInfoToJSON(exepath));
var aboutCopyright = document.getElementById("about-copyright");
aboutCopyright.textContent = verinfo.LegalCopyright;
})();
</script>
<p data-res-fromfile="publicRes (133)"></p>
<p>
<a href="https://github.com/modernw/App-Installer-For-Windows-8.x-Reset" target="_blank" data-res-fromfile="publicRes (134)"></a>
</p>
<p>
<a id="about-project-description" data-res-fromfile="publicRes(135)"></a>
</p>
<p>
<a id="about-update-log" data-res-fromfile="publicRes(136)"></a>
</p>
<p>
<a id="about-eula" data-res-fromfile="publicRes(137)"></a>
</p>
<p data-res-fromfile="publicRes (138)"></p>
<ul>
<li><a href="https://github.com/chausner/PriTools" target="_blank">chausner/PriTools</a></li>
<li><a href="https://pugixml.org/" target="_blank">pugixml</a></li>
<li><a href="https://rapidjson.org/" target="_blank">RapidJSON</a></li>
<li><a href="https://github.com/winjs/winjs" target="_blank">WinJS</a></li>
<li><a href="https://github.com/evilstreak/markdown-js" target="_blank">markdown.js</a></li>
</ul>
<script>
(function() {
var aboutUpdateLog = document.getElementById("about-update-log");
var aboutEula = document.getElementById("about-eula");
var aboutProjectDescription = document.getElementById("about-project-description");
var eventutil = Windows.UI.Event.Util;
var storage = Bridge.External.Storage;
var path = storage.path;
var strres = Bridge.External.StringResources;
var jslist = [
"js\\module.js",
"js\\polyfill-ie.js",
"js\\bridge.js",
"js\\dpimodes.js"
];
var libroot = path.combine(path.root, "html");
/**
* 异步显示消息框,返回一个 Promise 对象。
* @param {string | HTMLElement} swText 内容
* @param {string} swTitle 标题
* @param {MBFLAGS} uType 标志,使用 MBFLAGS 常量
* @param {string} swColor 背景颜色文本。
* @returns
*/
var msgbox = function() {};
var MsgBox = function() {};
if (typeof window.parent !== "undefined") {
msgbox = window.parent.messageBoxAsync;
MsgBox = window.parent.MsgBoxObj;
} else {
msgbox = messageBoxAsync;
MsgBox = MsgBoxObj;
}
var content = document.createElement("div");
var progressDisplay = document.createElement("div");
var progress = document.createElement("progress");
var retryBtn = document.createElement("button");
retryBtn.textContent = getPublicRes(132);
retryBtn.style.display = "none";
retryBtn.style.margin = "10px 0";
progress.classList.add("win-ring");
progress.style.color = "white";
var state = document.createElement("span");
progress.style.marginRight = "5px";
progressDisplay.appendChild(progress);
progressDisplay.appendChild(state);
progressDisplay.setAttribute("style", "display: flex; flex-direction: row;");
content.appendChild(progressDisplay);
content.appendChild(retryBtn);
content.style.margin = "10px 0";
content.style.maxHeight = "100%";
content.style.whiteSpace = "normal";
content.style.width = "100%";
progressDisplay.style.width = "100%";
content.style.boxSizing = "border-box";
content.classList.add("markdown-style");
progressDisplay.style.boxSizing = "border-box";
msgbox(content, getPublicRes(135));
var fetchFunc = function() {
eventutil.addEvent(aboutUpdateLog, "click", function() {
var content = document.createElement("div");
var progressDisplay = document.createElement("div");
var progress = document.createElement("progress");
var retryBtn = document.createElement("button");
retryBtn.textContent = getPublicRes(132);
retryBtn.style.display = "none";
state.textContent = getPublicRes(141);
progress.style.display = "";
WinJS.xhr({
url: "https://api.github.com/repos/modernw/App-Installer-For-Windows-8.x-Reset/readme",
}).done(
function(resp) {
var json = JSON.parse(resp.responseText);
var decoderesult = decodeBase64(json.content);
content.innerHTML = decoderesult;
content.style.height = "300px";
content.style.maxHeight = "100%";
},
function(err) {
progress.style.display = "none";
retryBtn.style.display = "block";
var msg = {
message: ""
};
try {
msg = JSON.parse(err.responseText);
} catch (e) {
msg = err.responseText;
retryBtn.style.margin = "10px 0";
progress.classList.add("win-ring");
progress.style.color = "white";
var state = document.createElement("span");
progress.style.marginRight = "5px";
progressDisplay.appendChild(progress);
progressDisplay.appendChild(state);
progressDisplay.setAttribute("style", "display: flex; flex-direction: row;");
content.appendChild(progressDisplay);
content.appendChild(retryBtn);
content.style.margin = "10px 0";
content.style.maxHeight = "100%";
content.style.width = "100%";
progressDisplay.style.width = "100%";
content.style.boxSizing = "border-box";
progressDisplay.style.boxSizing = "border-box";
content.classList.add("markdown-style");
msgbox(content, getPublicRes(136));
var fetchFunc = function() {
retryBtn.style.display = "none";
state.textContent = getPublicRes(139);
progress.style.display = "";
WinJS.xhr({
url: "https://api.github.com/repos/modernw/App-Installer-For-Windows-8.x-Reset/releases/tags/" + currver,
}).done(
function(resp) {
var json = JSON.parse(resp.responseText);
var body = json.body;
content.innerHTML = markdown.toHTML(body);
content.style.height = "300px";
content.style.maxHeight = "100%";
},
function(err) {
progress.style.display = "none";
retryBtn.style.display = "block";
var msg = {
message: ""
};
try {
msg = JSON.parse(err.responseText);
} catch (e) {
msg = err.responseText;
}
state.textContent = getPublicRes(140) + (msg.message.length > 0 ? ": " + msg.message : "");
}
state.textContent = getPublicRes(142) + (msg.message.length > 0 ? ": " + msg.message : "");
}
);
};
retryBtn.addEventListener("click", function() {
);
};
retryBtn.addEventListener("click", function() {
fetchFunc();
});
fetchFunc();
});
fetchFunc();
});
eventutil.addEvent(aboutEula, "click", function() {
var eulaFilePath = path.combine(path.root, "license");
eulaFilePath = path.combine(eulaFilePath, strres.getString("license"))
var content = document.createElement("iframe");
content.onload = function() {
try {
var winjsurl = path.combine(libroot, "libs\\winjs\\1.0\\css\\ui-light.css");
var style = document.createElement("link");
style.rel = "stylesheet";
style.href = winjsurl;
content.contentWindow.document.head.insertBefore(style, content.contentWindow.document.head.firstChild);
for (var i = 0; i < jslist.length; i++) {
var jsfile = path.combine(libroot, jslist[i]);
var script = document.createElement("script");
script.src = jsfile;
content.contentWindow.document.head.appendChild(script);
}
var style2 = document.createElement("style");
style2.innerHTML = '*,button,input,select,textarea,a,label,p,span,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,table,th,td,tr,img,iframe,object,embed,audio,video,canvas,form,fieldset,legend,.win-type-x-large,.win-type-xx-large,.font-fixed{font-family:"Microsoft YaHei","Segoe UI","Ebrima","Nirmala","Gadugi","Segoe UI Emoji","Segoe UI Symbol","Meiryo","Leelawadee","Microsoft JhengHei","Malgun Gothic","Estrangelo Edessa","Microsoft Himalaya","Microsoft New Tai Lue","Microsoft PhagsPa","Microsoft Tai Le","Microsoft Yi Baiti","Mongolian Baiti","MV Boli","Myanmar Text","Javanese Text","Cambria Math";}';
content.contentWindow.document.head.appendChild(style2);
content.contentWindow.document.body.style.overflowY = "auto";
content.contentWindow.Windows.UI.DPI.mode = 1;
} catch (e) {}
};
content.src = eulaFilePath;
content.style.margin = "10px 0";
var text = document.createElement("div");
text.style.width = "100%";
text.style.height = "300px";
text.style.overflowY = "hidden";
content.style.width = "100%";
content.style.height = "100%";
content.style.maxHeight = "100%";
text.appendChild(content);
var dlg = new MsgBox();
dlg.text = text;
dlg.title = getPublicRes(143);
dlg.show();
setTimeout(function() {
var element = dlg.getElement();
var body = element.querySelector(".notice-body");
var title = element.querySelector(".notice-title");
var content = element.querySelector(".notice-text");
var ctrls = element.querySelector(".notice-controls");
element.classList.remove("win-ui-dark");
element.classList.add("win-ui-light");
title.style.color = "black";
content.style.color = "black";
body.style.backgroundColor = "white";
body.style.color = "black";
}, 0);
});
})();
</script>
eventutil.addEvent(aboutProjectDescription, "click", function() {
function decodeBase64(base64) {
// GitHub 的 content 有换行,必须清理
base64 = base64.replace(/\s/g, "");
return atob(base64);
}
var content = document.createElement("div");
var progressDisplay = document.createElement("div");
var progress = document.createElement("progress");
var retryBtn = document.createElement("button");
retryBtn.textContent = getPublicRes(132);
retryBtn.style.display = "none";
retryBtn.style.margin = "10px 0";
progress.classList.add("win-ring");
progress.style.color = "white";
var state = document.createElement("span");
progress.style.marginRight = "5px";
progressDisplay.appendChild(progress);
progressDisplay.appendChild(state);
progressDisplay.setAttribute("style", "display: flex; flex-direction: row;");
content.appendChild(progressDisplay);
content.appendChild(retryBtn);
content.style.margin = "10px 0";
content.style.maxHeight = "100%";
content.style.whiteSpace = "normal";
content.style.width = "100%";
progressDisplay.style.width = "100%";
content.style.boxSizing = "border-box";
content.classList.add("markdown-style");
progressDisplay.style.boxSizing = "border-box";
msgbox(content, getPublicRes(135));
var fetchFunc = function() {
retryBtn.style.display = "none";
state.textContent = getPublicRes(141);
progress.style.display = "";
WinJS.xhr({
url: "https://api.github.com/repos/modernw/App-Installer-For-Windows-8.x-Reset/readme",
}).done(
function(resp) {
var json = JSON.parse(resp.responseText);
var decoderesult = decodeBase64(json.content);
content.innerHTML = decoderesult;
content.style.height = "300px";
content.style.maxHeight = "100%";
},
function(err) {
progress.style.display = "none";
retryBtn.style.display = "block";
var msg = {
message: ""
};
try {
msg = JSON.parse(err.responseText);
} catch (e) {
msg = err.responseText;
}
state.textContent = getPublicRes(142) + (msg.message.length > 0 ? ": " + msg.message : "");
}
);
};
retryBtn.addEventListener("click", function() {
fetchFunc();
});
fetchFunc();
});
eventutil.addEvent(aboutEula, "click", function() {
var eulaFilePath = path.combine(path.root, "license");
eulaFilePath = path.combine(eulaFilePath, strres.getString("license"))
var content = document.createElement("iframe");
content.onload = function() {
try {
var winjsurl = path.combine(libroot, "libs\\winjs\\1.0\\css\\ui-light.css");
var style = document.createElement("link");
style.rel = "stylesheet";
style.href = winjsurl;
content.contentWindow.document.head.insertBefore(style, content.contentWindow.document.head.firstChild);
for (var i = 0; i < jslist.length; i++) {
var jsfile = path.combine(libroot, jslist[i]);
var script = document.createElement("script");
script.src = jsfile;
content.contentWindow.document.head.appendChild(script);
}
var style2 = document.createElement("style");
style2.innerHTML = '*,button,input,select,textarea,a,label,p,span,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,table,th,td,tr,img,iframe,object,embed,audio,video,canvas,form,fieldset,legend,.win-type-x-large,.win-type-xx-large,.font-fixed{font-family:"Microsoft YaHei","Segoe UI","Ebrima","Nirmala","Gadugi","Segoe UI Emoji","Segoe UI Symbol","Meiryo","Leelawadee","Microsoft JhengHei","Malgun Gothic","Estrangelo Edessa","Microsoft Himalaya","Microsoft New Tai Lue","Microsoft PhagsPa","Microsoft Tai Le","Microsoft Yi Baiti","Mongolian Baiti","MV Boli","Myanmar Text","Javanese Text","Cambria Math";}';
content.contentWindow.document.head.appendChild(style2);
content.contentWindow.document.body.style.overflowY = "auto";
content.contentWindow.Windows.UI.DPI.mode = 1;
} catch (e) {}
};
content.src = eulaFilePath;
content.style.margin = "10px 0";
var text = document.createElement("div");
text.style.width = "100%";
text.style.height = "300px";
text.style.overflowY = "hidden";
content.style.width = "100%";
content.style.height = "100%";
content.style.maxHeight = "100%";
text.appendChild(content);
var dlg = new MsgBox();
dlg.text = text;
dlg.title = getPublicRes(143);
dlg.show();
setTimeout(function() {
var element = dlg.getElement();
var body = element.querySelector(".notice-body");
var title = element.querySelector(".notice-title");
var content = element.querySelector(".notice-text");
var ctrls = element.querySelector(".notice-controls");
element.classList.remove("win-ui-dark");
element.classList.add("win-ui-light");
title.style.color = "black";
content.style.color = "black";
body.style.backgroundColor = "white";
body.style.color = "black";
}, 0);
});
})();
</script>
</div>
</div>
</div>
</body>

View File

@@ -0,0 +1,435 @@
<!DOCTYPE html>
<html>
<head>
<title>App Installer Settings</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script type="text/javascript" src="../../js/module.js"></script>
<script type="text/javascript" src="../../js/polyfill-ie.js"></script>
<link rel="stylesheet" href="../../libs/winjs/2.0/css/ui-light.css" id="winjs-style">
<script type="text/javascript" src="../../libs/winjs/1.0/js/base.js"></script>
<script type="text/javascript" src="../../libs/winjs/1.0/js/ui.js"></script>
<script type="text/javascript" src="../../js/color.js"></script>
<script type="text/javascript" src="../../js/promise.js"></script>
<script type="text/javascript" src="../../js/bridge.js"></script>
<script type="text/javascript" src="../../js/dpimodes.js"></script>
<script type="text/javascript" src="../../js/resources.js"></script>
<script type="text/javascript" src="../../js/animation.js"></script>
<link rel="stylesheet" href="../../fonts/fonts.css">
<script type="text/javascript" src="../../js/event.js"></script>
<script type="text/javascript" src="../../js/tileback.js"></script>
<script type="text/javascript" src="../../js/load.js"></script>
<script type="text/javascript" src="../../js/params.js"></script>
<link rel="stylesheet" type="text/css" href="../../libs/msgbox/msgbox.css">
<script type="text/javascript" src="../../libs/msgbox/msgbox.js"></script>
<link rel="stylesheet" type="text/css" href="../../libs/toggle/toggle.css">
<script type="text/javascript" src="../../libs/toggle/toggle.js"></script>
<script type="text/javascript" src="../../js/init.js"></script>
<script type="text/javascript" src="../initsame.js"></script>
<link rel="stylesheet" type="text/css" href="../page.css">
<script type="text/javascript" src="preinit.js"></script>
<script type="text/javascript" src="items.js"></script>
<script type="text/javascript" src="init.js"></script>
<script type="text/javascript" src="../../js/theme.js"></script>
<link href="../../libs/codemirror/5.0.0/lib/codemirror.css" rel="stylesheet" />
<link href="../../libs/codemirror/5.0.0/theme/neat.css" rel="stylesheet" />
<link href="../../libs/codemirror/5.0.0/addon/hint/show-hint.css" rel="stylesheet" />
<script src="../../libs/codemirror/5.0.0/lib/codemirror.js"></script>
<script src="../../libs/codemirror/5.0.0/mode/css/css.js"></script>
<script src="../../libs/codemirror/5.0.0/addon/edit/matchbrackets.js"></script>
<script src="../../libs/codemirror/5.0.0/addon/edit/closebrackets.js"></script>
<script src="../../libs/codemirror/5.0.0/addon/search/searchcursor.js"></script>
<script src="../../libs/codemirror/5.0.0/addon/search/match-highlighter.js"></script>
<script src="../../libs/codemirror/5.0.0/addon/search/matchesonscrollbar.js"></script>
<script src="../../libs/codemirror/5.0.0/addon/comment/continuecomment.js"></script>
<script src="../../libs/codemirror/5.0.0/addon/comment/comment.js"></script>
<script src="../../libs/codemirror/5.0.0/addon/fold/foldcode.js"></script>
<script src="../../libs/codemirror/5.0.0/addon/fold/foldgutter.js"></script>
<script src="../../libs/codemirror/5.0.0/addon/fold/brace-fold.js"></script>
<script src="../../libs/codemirror/5.0.0/addon/fold/comment-fold.js"></script>
<script src="../../libs/codemirror/5.0.0/addon/fold/xml-fold.js"></script>
<script src="../../libs/codemirror/5.0.0/addon/hint/show-hint.js"></script>
<script src="../../libs/codemirror/5.0.0/addon/hint/css-hint.js"></script>
<script src="../../libs/codemirror/5.0.0/addon/display/panel.js"></script>
<script src="../../libs/codemirror/5.0.0/addon/lint/lint.js"></script>
<script src="../../libs/codemirror/5.0.0/addon/lint/css-lint.js"></script>
<style>
.markdown-style {
font-weight: normal;
font-size: 16px;
-ms-user-select: element;
}
.markdown-style h1 {
font-size: 24px;
}
.markdown-style h2 {
font-size: 20px;
}
.markdown-style p {
font-size: 16px;
}
.markdown-style ul {
font-size: 16px;
}
.markdown-style li {
font-size: 16px;
margin: 0;
}
</style>
<style type="text/css">
.CodeMirror,
.CodeMirror * {
font-family: 'Fixedsys Excelsior 3.01', Consolas, Monaco, 'Andale Mono', monospace, 'Fixedsys Excelsior 1.2', 'Fixedsys Excelsior 1.01', 'Fixedsys Excelsior 1.1', 'Fixedsys Excelsior 3.1', 'Microsoft YaHei', 'Lucida Console', 'Courier New', 'Courier', 'Lucida Sans Typewriter', 'Lucida Sans Typewriter', 'Bitstream Vera Sans Mono', 'Bitstream Vera Sans', 'DejaVu Sans Mono', 'DejaVu Sans', 'Verdana', 'Arial', sans-serif, 'Fixedsys';
}
.CodeMirror {
box-sizing: border-box;
border-top: 1px solid black;
border-bottom: 1px solid black;
}
.editor-container {
display: flex;
flex-direction: row;
flex-wrap: wrap;
align-content: flex-start;
justify-content: flex-start;
position: relative;
width: 100%;
height: calc(100% - 120px);
min-height: 100px;
max-height: 400px;
}
.editor-container * {
/* transition: all 0.3s cubic-bezier(0.1, 0.9, 0.2, 1); */
}
.editor-editblock {
width: calc(60% - 10px);
height: 100%;
position: relative;
}
.editor-editblock .CodeMirror {
height: calc(100% - 20px) !important;
}
.editor-filelist {
width: 40%;
margin-left: 10px;
position: relative;
}
.css-editor-filedir {
box-sizing: border-box;
border: 2px solid #ccc;
padding: 3px;
overflow-y: auto;
height: calc(100% - 20px);
width: 100%;
}
.filedir-rootdir {
box-sizing: border-box;
width: 100% !important;
min-width: 0;
}
.filelist-container {
box-sizing: border-box;
height: calc(100% - 40px);
width: 100%;
overflow-y: auto;
padding: 0px;
margin: 0;
list-style: none;
}
.filelist-container li {
padding: 5px 0 5px 5px;
box-sizing: border-box;
word-break: break-all;
}
.filelist-container li::before {
font-family: 'Segoe UI Symbol', 'Segoe MDL2 Assets', 'Segoe Fluent Icons', Wingdings;
}
.filelist-container li[role=file]::before {
content: '';
}
.filelist-container li[role=dir]::before {
content: '';
}
.filelist-container li:hover {
background-color: rgba(142, 185, 255, 0.499);
}
.filelist-container li:active {
background-color: rgba(101, 183, 255, 0.499);
}
</style>
<script>
function onBack_CssEditPage() {
if (typeof saveCurrentEdit !== "undefined") saveCurrentEdit();
Bridge.Frame.callEvent("InvokeBackPage");
}
</script>
</head>
<body>
<div id="settingpage" class="pagecontainer full">
<div class="page full guide">
<aside class="top win-ui-dark">
<header aria-label="Header content" role="banner" class="titlebanner" id="pagebanner" style="height: 120px;">
<button id="back" class="win-backbutton pagetitlewb-backbutton" onclick="onBack_CssEditPage ()" style="margin-left: 20px; transform: scale(0.72);"></button>
<h2 class="titlearea win-type-ellipsis" id="apptitle" style="">
<span class="pagetitlewb-title" id="apptitlestr" style="margin-left: 10px; margin-right: 20px;">编辑自定义 CSS 样式</span>
</h2>
</header>
</aside>
<main class="main bottom padding">
<div class="bottom-compensate" id="page-edit-css" style="height: 100%;">
<p>在这里,编辑自定义的 CSS 样式。</p>
<label id="theme-custom-color">当前主题颜色基于</label>
<script>
(function() {
"use strict";
var sect = document.getElementById("theme-custom-color");
var toggle = new Toggle();
toggle.create();
toggle.parent = sect;
toggle.setColor("#202020");
toggle.showlabel = true;
toggle.setStatusText("深色", "浅色");
toggle.addEventListener("change", function() {
saveCurrentEdit();
isSwitching = true;
Theme.setCustomColor(toggle.checked ? Theme.ColorType.dark : Theme.ColorType.light);
reloadCurrentEdit();
isSwitching = false;
});
OnLoad.add(function() {
setTimeout(function() {
isSwitching = true;
toggle.checked = Theme.customColor === Theme.ColorType.dark;
reloadCurrentEdit();
isSwitching = false;
}, 100);
});
})();
</script>
<br>
<div class="editor-container">
<div class="editor-editblock">
<label for="css-editor">编辑样式</label>
<textarea id="css-editor" name="code"></textarea>
<script>
var editor = document.getElementById("css-editor");
var storage = Bridge.External.Storage;
var path = storage.path;
editor.codeMirror = CodeMirror.fromTextArea(editor, {
lineNumbers: true,
matchBrackets: true,
continueComments: "Enter",
extraKeys: {
"Ctrl-Q": "toggleComment",
"Ctrl-Space": "autocomplete"
},
mode: "css",
lineWrapping: true,
indentUnit: 4,
indentWithTabs: true,
smartIndent: true,
autoCloseBrackets: true,
foldGutter: true,
styleActiveLine: true,
theme: "neat",
});
var cm = editor.codeMirror;
window.isSwitching = false;
function saveCurrentEdit() {
var currentColor = Theme.customColor;
var colorStr = currentColor === Theme.ColorType.dark ? "dark" : "light";
var customPath = path.combine(path.root, "html\\theme\\{colortype}\\custom\\custom.css").replace("{colortype}", colorStr);
var cssFile = storage.getFile(customPath);
cssFile.content = editor.codeMirror.getValue();
}
var deb_sce = debounce(saveCurrentEdit, 200);
cm.on("change", function(inst, e) {
if (!isSwitching) deb_sce();
});
function reloadCurrentEdit() {
var currentColor = Theme.customColor;
var colorStr = currentColor === Theme.ColorType.dark ? "dark" : "light";
var customPath = path.combine(path.root, "html\\theme\\{colortype}\\custom\\custom.css").replace("{colortype}", colorStr);
var cssFile = storage.getFile(customPath);
var content = cssFile.content;
if (content === null || content === void 0) {
var defaultCssPath = path.combine(path.root, "html\\theme\\{colortype}\\default\\default.css").replace("{colortype}", colorStr);
var defaultCssFile = storage.getFile(defaultCssPath);
content = defaultCssFile.content;
if (content === null || content === void 0) {
content = '\n/* Installer */\n\n.page {\n background-color: #F3F3F3;\n}\n.page.splash {\n background-color: #0078d7;\n}\n.page .content.loading,\n.page .content.main,\n.page .progress,\n.page .reason p,\n.page .controls .checkbox {\n color: black;\n}\n.page .content.main .pkgapplabel {\n color: #0078d7;\n}\n\n/* App Launch List */\n\n.applist-font-title {\n color: black;\n}\n.applist-font-text {\n color: black;\n}\n.applist-window {\n border: 2px solid rgb(42, 42, 42);\n background-color: white;\n}\n.applist-title {\n background: white;\n}\n.applist-control {\n background: white;\n}\n.applist-list-item {\n background-color: rgba(0, 255, 255, 0);\n}\n.applist-list-item:hover {\n background-color: rgb(222, 222, 222);\n}\n.applist-item-picbox {\n background-color: #001020;\n}\n.applist-item-img-border {\n border: 1px solid rgba(254, 254, 254, 0.1);\n}\n.win10.applist-window {\n border: 1px solid #ccc;\n}';
} else {
var idx = content.indexOf("*/");
if (idx >= 0 && idx < content.length / 2) {
content = content.substring(idx + 2);
}
}
var head = "/* The following content is sample content and is for reference only. */";
editor.codeMirror.setValue(head + content);
} else {
editor.codeMirror.setValue(content);
}
}
</script>
</div>
<div class="editor-filelist">
<label>自定义文件目录</label>
<div class="css-editor-filedir">
<input type="text" class="filedir-rootdir" style="direction: rtl; text-align: left;">
<ul class="filelist-container">
</ul>
<script>
(function() {
var rootDir = document.querySelector(".css-editor-filedir .filedir-rootdir");
var fileList = document.querySelector(".css-editor-filedir .filelist-container");
var storage = Bridge.External.Storage;
var path = storage.path;
var currentColor = Theme.customColor;
var colorStr = currentColor === Theme.ColorType.dark ? "dark" : "light";
var customPath = path.combine(path.root, "html\\theme\\{colortype}\\custom").replace("{colortype}", colorStr);
rootDir.value = customPath;
var eventutil = Windows.UI.Event.Util;
function refreshFileList() {
fileList.innerHTML = "";
var root = rootDir.value;
var dirs = JSON.parse(path.enumDirsToJson(root, false, false, false));
dirs.unshift("..");
var files = JSON.parse(path.enumFilesToJson(root, "*.*", false, false, false));
for (var i = 0; i < dirs.length; i++) {
var li = document.createElement("li");
li.setAttribute("role", "dir");
li.textContent = dirs[i];
fileList.appendChild(li);
eventutil.addEvent(li, "dblclick", function(e) {
var self = this;
rootDir.value = path.combine(root, self.textContent);
refreshFileList();
});
}
for (var i = 0; i < files.length; i++) {
var li = document.createElement("li");
li.setAttribute("role", "file");
li.textContent = files[i];
fileList.appendChild(li);
eventutil.addEvent(li, "dblclick", function(e) {
var self = this;
var filePath = path.combine(root, self.textContent);
editor.codeMirror.replaceSelection(self.textContent);
});
eventutil.addEvent(li, "click", function(e) {
var self = this;
var filePath = path.combine(root, self.textContent);
var objele = document.createElement("object");
objele.data = filePath;
var tipele = document.createElement("param");
tipele.name = "type";
tipele.value = "text/html";
tipele.textContent = "不受 Internet Explorer 支持显示的资源。";
objele.appendChild(tipele);
objele.style.maxWidth = "100%";
var title = Bridge.String.format("预览", this.textContent);
var contentele = document.createElement("div");
var filenameele = document.createElement("p");
filenameele.textContent = this.textContent;
contentele.appendChild(filenameele);
contentele.style.width = "100%";
contentele.appendChild(objele);
messageBoxAsync(contentele, title).then(function() {
if (typeof objele.remove === "function") {
objele.remove();
} else if (typeof objele.removeNode === "function") {
objele.removeNode(true);
} else if (typeof objele.parentNode.removeChild === "function") {
objele.parentNode.removeChild(objele);
}
});
});
}
}
OnLoad.add(function() {
setTimeout(refreshFileList, 100);
});
window.refreshFileList = refreshFileList;
})();
</script>
</div>
</div>
</div>
<br>
<h3>向自定义样式中添加自定义文件</h3>
<p>在自定义样式文件目录中,可以添加图片、音效等文件,这些文件将会用于自定义样式中。</p>
<p>添加的文件将在文件列表中显示。双击目录会跳转到该目录,双击文件会将文件名插入到编辑器中。</p>
<p>如果想要删除文件,请在资源管理器中直接删除。</p>
<p>不建议用过大分辨率的图片,因为可能会导致页面加载变慢,而且也用不到。也不要用太大的视频和音频。这些资源都会影响加载速度和内存占用。</p>
<button id="custom-addfile">添加</button>
<script>
var customAddFileBtn = document.getElementById("custom-addfile");
customAddFileBtn.addEventListener("click", function() {
this.disabled = true;
var storage = Bridge.External.Storage;
var path = storage.path;
var currentColor = Theme.customColor;
var colorStr = currentColor === Theme.ColorType.dark ? "dark" : "light";
var customPath = path.combine(path.root, "html\\theme\\{colortype}\\custom").replace("{colortype}", colorStr);
var supportFilterFormat = "{0}|" +
"*.jpg;*.png;*.jpeg;*.bmp;*.gif;*.ico;*.tiff;*.svg|" +
"{1}|" +
"*.mp3;*.wav;*.wma;*.aac;*.m4a|" +
"{2}|" +
"*.mp4;*.avi;*.wmv|" +
"{3}|" +
"*.*";
var getfile = JSON.parse(Bridge.External.SelectFilesToJSON(supportFilterFormat, 0x00080000 | 0x00000800, "请选择文件", null));
for (var i = 0; i < getfile.length; i++) {
var srcfilepath = getfile[i];
var filename = path.getName(srcfilepath);
var fsize = Bridge.External.GetFileSize(srcfilepath);
if (fsize < 0 || fsize > 104857600) { // 100MB 限制
messageBoxAsync("文件大小不符合要求请选择尺寸较小的文件不超过100MB。", "文件无法复制");
} else {
var destfilepath = path.combine(customPath, filename);
Bridge.External.ShellCopyFile(srcfilepath, destfilepath);
refreshFileList();
}
}
this.disabled = false;
});
</script>
<br><br>
<h3>导出</h3>
<p>在这里,您可以导出自己的自定义样式,以便分享给其他人。</p>
<button id="custom-export">导出</button>
<div class="bottom-compensate"></div>
</div>
</main>
</div>
</div>
</body>
</html>

View File

@@ -40,146 +40,148 @@
<body>
<div class="pagecontainer full pagesection">
<div class="section padding">
<h2 id="page-title" data-res-fromfile="publicRes (101)"></h2>
<div class="win-settings-section">
<br>
<label class="win-label" for="save-wnd-size" id="save-wnd-size-label" data-res-fromfile="publicRes (125)"></label>
<script>
(function() {
"use strict";
var label = document.getElementById("save-wnd-size-label");
var toggle = new Toggle();
toggle.create();
toggle.parent = label.parentNode;
toggle.showlabel = true;
var winjsres = Bridge.External.WinJsStringRes;
toggle.setStatusText(winjsres.getString("ms-resource://Microsoft.WinJS.1.0/ui/on"), winjsres.getString("ms-resource://Microsoft.WinJS.1.0/ui/off"));
toggle.inputId = "save-wnd-size";
var ini = Bridge.External.Config.GetConfig();
toggle.addEventListener("change", function() {
ini.set("Settings", "AppInstaller:SavePosAndSizeBeforeCancel", toggle.checked);
});
toggle.checked = parseBool(ini.getSection("Settings").getKey("AppInstaller:SavePosAndSizeBeforeCancel").value);
})();
</script>
</div>
<div class="win-settings-section">
<br>
<label class="win-label" for="default-wndwidth" data-res-fromfile="publicRes(126)"></label><br>
<input type="number" id="default-wndwidth" inputmode="numeric"><br><br>
<label class="win-label" for="default-wndheight" data-res-fromfile="publicRes(127)"></label><br>
<input type="number" id="default-wndheight" inputmode="numeric">
<script>
(function() {
"use strict";
var ini = Bridge.External.Config.GetConfig();
var defWndWInput = document.getElementById("default-wndwidth");
var defWndHInput = document.getElementById("default-wndheight");
var setsect = ini.getSection("Settings");
var defwk = setsect.getKey("AppInstaller:DefaultWidth");
var defhk = setsect.getKey("AppInstaller:DefaultHeight");
defWndWInput.value = defwk.value;
defWndHInput.value = defhk.value;
var eventutil = Windows.UI.Event.Util;
<div class="bottom-compensate">
<h2 id="page-title" data-res-fromfile="publicRes (101)"></h2>
<div class="win-settings-section">
<br>
<label class="win-label" for="save-wnd-size" id="save-wnd-size-label" data-res-fromfile="publicRes (125)"></label>
<script>
(function() {
"use strict";
var label = document.getElementById("save-wnd-size-label");
var toggle = new Toggle();
toggle.create();
toggle.parent = label.parentNode;
toggle.showlabel = true;
var winjsres = Bridge.External.WinJsStringRes;
toggle.setStatusText(winjsres.getString("ms-resource://Microsoft.WinJS.1.0/ui/on"), winjsres.getString("ms-resource://Microsoft.WinJS.1.0/ui/off"));
toggle.inputId = "save-wnd-size";
var ini = Bridge.External.Config.GetConfig();
toggle.addEventListener("change", function() {
ini.set("Settings", "AppInstaller:SavePosAndSizeBeforeCancel", toggle.checked);
});
toggle.checked = parseBool(ini.getSection("Settings").getKey("AppInstaller:SavePosAndSizeBeforeCancel").value);
})();
</script>
</div>
<div class="win-settings-section">
<br>
<label class="win-label" for="default-wndwidth" data-res-fromfile="publicRes(126)"></label><br>
<input type="number" id="default-wndwidth" inputmode="numeric"><br><br>
<label class="win-label" for="default-wndheight" data-res-fromfile="publicRes(127)"></label><br>
<input type="number" id="default-wndheight" inputmode="numeric">
<script>
(function() {
"use strict";
var ini = Bridge.External.Config.GetConfig();
var defWndWInput = document.getElementById("default-wndwidth");
var defWndHInput = document.getElementById("default-wndheight");
var setsect = ini.getSection("Settings");
var defwk = setsect.getKey("AppInstaller:DefaultWidth");
var defhk = setsect.getKey("AppInstaller:DefaultHeight");
defWndWInput.value = defwk.value;
defWndHInput.value = defhk.value;
var eventutil = Windows.UI.Event.Util;
function inputDefaultWidthChangeEvent(e) {
defwk.value = parseInt(defWndWInput.value);
}
function inputDefaultWidthChangeEvent(e) {
defwk.value = parseInt(defWndWInput.value);
}
function inputDefaultHeightChangeEvent(e) {
defhk.value = parseInt(defWndHInput.value);
}
var debounced_idwc = debounce(inputDefaultWidthChangeEvent, 500);
var debounced_idhc = debounce(inputDefaultHeightChangeEvent, 500);
eventutil.addEvent(defWndWInput, "input", debounced_idwc);
eventutil.addEvent(defWndWInput, "propertychange", debounced_idwc);
eventutil.addEvent(defWndWInput, "change", debounced_idwc);
eventutil.addEvent(defWndHInput, "input", debounced_idhc);
eventutil.addEvent(defWndHInput, "propertychange", debounced_idhc);
eventutil.addEvent(defWndHInput, "change", debounced_idhc);
})();
</script>
</div>
<div class="win-settings-section">
<br>
<label class="win-label" for="min-wndwidth" data-res-fromfile="publicRes (128)"></label><br>
<input type="number" id="min-wndwidth" inputmode="numeric"><br><br>
<label class="win-label" for="min-wndheight" data-res-fromfile="publicRes (129)"></label><br>
<input type="number" id="min-wndheight" inputmode="numeric">
<script>
(function() {
"use strict";
var ini = Bridge.External.Config.GetConfig();
var minWndWInput = document.getElementById("min-wndwidth");
var minWndHInput = document.getElementById("min-wndheight");
var setsect = ini.getSection("Settings");
var minwk = setsect.getKey("AppInstaller:MinimumWidth");
var minhk = setsect.getKey("AppInstaller:MinimumHeight");
minWndWInput.value = minwk.value;
minWndHInput.value = minhk.value;
var eventutil = Windows.UI.Event.Util;
function inputDefaultHeightChangeEvent(e) {
defhk.value = parseInt(defWndHInput.value);
}
var debounced_idwc = debounce(inputDefaultWidthChangeEvent, 500);
var debounced_idhc = debounce(inputDefaultHeightChangeEvent, 500);
eventutil.addEvent(defWndWInput, "input", debounced_idwc);
eventutil.addEvent(defWndWInput, "propertychange", debounced_idwc);
eventutil.addEvent(defWndWInput, "change", debounced_idwc);
eventutil.addEvent(defWndHInput, "input", debounced_idhc);
eventutil.addEvent(defWndHInput, "propertychange", debounced_idhc);
eventutil.addEvent(defWndHInput, "change", debounced_idhc);
})();
</script>
</div>
<div class="win-settings-section">
<br>
<label class="win-label" for="min-wndwidth" data-res-fromfile="publicRes (128)"></label><br>
<input type="number" id="min-wndwidth" inputmode="numeric"><br><br>
<label class="win-label" for="min-wndheight" data-res-fromfile="publicRes (129)"></label><br>
<input type="number" id="min-wndheight" inputmode="numeric">
<script>
(function() {
"use strict";
var ini = Bridge.External.Config.GetConfig();
var minWndWInput = document.getElementById("min-wndwidth");
var minWndHInput = document.getElementById("min-wndheight");
var setsect = ini.getSection("Settings");
var minwk = setsect.getKey("AppInstaller:MinimumWidth");
var minhk = setsect.getKey("AppInstaller:MinimumHeight");
minWndWInput.value = minwk.value;
minWndHInput.value = minhk.value;
var eventutil = Windows.UI.Event.Util;
function inputDefaultWidthChangeEvent(e) {
minwk.value = parseInt(minWndWInput.value);
}
function inputDefaultWidthChangeEvent(e) {
minwk.value = parseInt(minWndWInput.value);
}
function inputDefaultHeightChangeEvent(e) {
minhk.value = parseInt(minWndHInput.value);
}
var debounced_idwc = debounce(inputDefaultWidthChangeEvent, 500);
var debounced_idhc = debounce(inputDefaultHeightChangeEvent, 500);
eventutil.addEvent(minWndWInput, "input", debounced_idwc);
eventutil.addEvent(minWndWInput, "propertychange", debounced_idwc);
eventutil.addEvent(minWndWInput, "change", debounced_idwc);
eventutil.addEvent(minWndHInput, "input", debounced_idhc);
eventutil.addEvent(minWndHInput, "propertychange", debounced_idhc);
eventutil.addEvent(minWndHInput, "change", debounced_idhc);
})();
</script>
</div>
<div class="win-settings-section">
<br>
<label class="win-label" for="launch-when-ready" id="launch-when-ready-label" data-res-fromfile="getFileResPair(exepath, 330)"></label>
<script>
(function() {
"use strict";
var label = document.getElementById("launch-when-ready-label");
var toggle = new Toggle();
toggle.create();
toggle.parent = label.parentNode;
toggle.showlabel = true;
var winjsres = Bridge.External.WinJsStringRes;
toggle.setStatusText(winjsres.getString("ms-resource://Microsoft.WinJS.1.0/ui/on"), winjsres.getString("ms-resource://Microsoft.WinJS.1.0/ui/off"));
toggle.inputId = "launch-when-ready";
var ini = Bridge.External.Config.GetConfig();
toggle.addEventListener("change", function() {
ini.set("Settings", "AppInstaller:LaunchWhenReady", toggle.checked);
});
toggle.checked = parseBool(ini.getSection("Settings").getKey("AppInstaller:LaunchWhenReady").value);
})();
</script>
</div>
<div class="win-settings-section">
<br>
<label class="win-label" for="check-app-has-installed" id="check-app-has-installed-label" data-res-fromfile="publicRes (144)"></label>
<script>
(function() {
"use strict";
var label = document.getElementById("check-app-has-installed-label");
var toggle = new Toggle();
toggle.create();
toggle.parent = label.parentNode;
toggle.showlabel = true;
var winjsres = Bridge.External.WinJsStringRes;
toggle.setStatusText(winjsres.getString("ms-resource://Microsoft.WinJS.1.0/ui/on"), winjsres.getString("ms-resource://Microsoft.WinJS.1.0/ui/off"));
toggle.inputId = "check-app-has-installed";
var ini = Bridge.External.Config.GetConfig();
toggle.addEventListener("change", function() {
ini.set("Settings", "AppInstaller:CheckPackageIsIntalled", toggle.checked);
});
toggle.checked = parseBool(ini.getSection("Settings").getKey("AppInstaller:CheckPackageIsIntalled").value);
})();
</script>
function inputDefaultHeightChangeEvent(e) {
minhk.value = parseInt(minWndHInput.value);
}
var debounced_idwc = debounce(inputDefaultWidthChangeEvent, 500);
var debounced_idhc = debounce(inputDefaultHeightChangeEvent, 500);
eventutil.addEvent(minWndWInput, "input", debounced_idwc);
eventutil.addEvent(minWndWInput, "propertychange", debounced_idwc);
eventutil.addEvent(minWndWInput, "change", debounced_idwc);
eventutil.addEvent(minWndHInput, "input", debounced_idhc);
eventutil.addEvent(minWndHInput, "propertychange", debounced_idhc);
eventutil.addEvent(minWndHInput, "change", debounced_idhc);
})();
</script>
</div>
<div class="win-settings-section">
<br>
<label class="win-label" for="launch-when-ready" id="launch-when-ready-label" data-res-fromfile="getFileResPair(exepath, 330)"></label>
<script>
(function() {
"use strict";
var label = document.getElementById("launch-when-ready-label");
var toggle = new Toggle();
toggle.create();
toggle.parent = label.parentNode;
toggle.showlabel = true;
var winjsres = Bridge.External.WinJsStringRes;
toggle.setStatusText(winjsres.getString("ms-resource://Microsoft.WinJS.1.0/ui/on"), winjsres.getString("ms-resource://Microsoft.WinJS.1.0/ui/off"));
toggle.inputId = "launch-when-ready";
var ini = Bridge.External.Config.GetConfig();
toggle.addEventListener("change", function() {
ini.set("Settings", "AppInstaller:LaunchWhenReady", toggle.checked);
});
toggle.checked = parseBool(ini.getSection("Settings").getKey("AppInstaller:LaunchWhenReady").value);
})();
</script>
</div>
<div class="win-settings-section">
<br>
<label class="win-label" for="check-app-has-installed" id="check-app-has-installed-label" data-res-fromfile="publicRes (144)"></label>
<script>
(function() {
"use strict";
var label = document.getElementById("check-app-has-installed-label");
var toggle = new Toggle();
toggle.create();
toggle.parent = label.parentNode;
toggle.showlabel = true;
var winjsres = Bridge.External.WinJsStringRes;
toggle.setStatusText(winjsres.getString("ms-resource://Microsoft.WinJS.1.0/ui/on"), winjsres.getString("ms-resource://Microsoft.WinJS.1.0/ui/off"));
toggle.inputId = "check-app-has-installed";
var ini = Bridge.External.Config.GetConfig();
toggle.addEventListener("change", function() {
ini.set("Settings", "AppInstaller:CheckPackageIsIntalled", toggle.checked);
});
toggle.checked = parseBool(ini.getSection("Settings").getKey("AppInstaller:CheckPackageIsIntalled").value);
})();
</script>
</div>
</div>
</div>
</div>

View File

@@ -38,8 +38,10 @@
<body>
<div class="pagecontainer full pagesection">
<div class="section padding">
<h2 id="guide-title"></h2>
<p id="guide-desc" style="white-space: pre-wrap;"></p>
<div class="bottom-compensate">
<h2 id="guide-title"></h2>
<p id="guide-desc" style="white-space: pre-wrap;"></p>
</div>
</div>
<script>
(function() {

View File

@@ -14,7 +14,7 @@
var list = slide.querySelector("ul");
var backbtn = slide.querySelector("#back");
var title = slide.querySelector("#apptitle");
list.innerHTML = "";
if (list) list.innerHTML = "";
var items = pages;
var tags = Object.keys(items);
var eventutil = Windows.UI.Event.Util;
@@ -27,6 +27,7 @@
li.innerHTML = item.title;
eventutil.addEvent(li, "click", function() {
if (li.hasAttribute("data-require-disabled")) return;
if (!list) return;
content.style.display = "none";
for (var j = 0; j < list.children.length; j++) {
var child = list.children[j];
@@ -43,7 +44,7 @@
}, 0, this);
this.classList.add("selected");
});
list.appendChild(li);
if (list) list.appendChild(li);
}
content.src = guidePage.page;
eventutil.addEvent(content, "load", function() {
@@ -53,7 +54,7 @@
var jumppage = "";
try { var args = cmdargs; if (args.length > 1) jumppage = args[1]; } catch (e) {}
if (jumppage && jumppage.length > 0 && !Bridge.External.jump2) {
for (var i = 0; i < list.children.length; i++) {
for (var i = 0; i < list.children.length && list; i++) {
var child = list.children[i];
if (Bridge.NString.equals(child.getAttribute("data-tag"), jumppage)) {
Bridge.External.jump2 = true;

View File

@@ -30,6 +30,111 @@
<link rel="stylesheet" type="text/css" href="../subpage.css">
<script type="text/javascript" src="preinit.js"></script>
<script type="text/javascript" src="initsame.js"></script>
<script type="text/javascript" src="../../js/theme.js"></script>
<style>
.win-settings-section {
transition: all 0.3s cubic-bezier(0.1, 0.9, 0.2, 1);
overflow-y: hidden;
overflow-x: visible;
}
.settings-listview-h {
width: 100%;
height: 200px;
max-height: 410px;
overflow-y: hidden;
overflow-x: auto;
display: flex;
flex-direction: column;
flex-wrap: wrap;
align-content: flex-start;
justify-content: flex-start;
align-items: flex-start;
box-sizing: border-box;
position: relative;
left: 0px;
right: 0px;
}
.settings-listview-item {
width: 175px;
height: 175px;
border: 3px solid transparent;
transition: all 0.3s cubic-bezier(0.1, 0.9, 0.2, 1);
box-sizing: border-box;
margin: 0 10px 10px 0;
position: relative;
}
.settings-listview-item p {
padding: 0 8px;
margin: 0;
font-weight: normal;
}
.settings-listview-item iframe {
pointer-events: none;
height: 133px;
}
.settings-listview-item:hover {
background-color: rgba(230, 230, 230, 1);
}
.settings-listview-item:active {
transform: scale(0.96);
background-color: rgba(204, 204, 204, 1);
}
.settings-listview-item.selected:hover {
background-color: rgba(187, 187, 187, 1);
}
.settings-listview-item:focus {
border-color: rgba(0, 118, 215, 0.275);
}
.settings-listview-item.selected:before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
border-style: solid;
border-width: 4px;
border-color: rgb(119, 119, 119);
z-index: 10;
pointer-events: none;
}
.settings-listview-item.selected:after {
content: "";
font-family: "Segoe UI Symbol", Symbols;
color: white;
position: absolute;
top: 0;
bottom: auto;
left: auto;
right: 0;
border-left: 0px solid rgba(0, 0, 0, 0);
border-right: 30px solid rgb(119, 119, 119);
border-top: 0px solid rgba(0, 0, 0, 0);
border-bottom: 30px solid rgba(0, 0, 0, 0);
z-index: 11;
width: 0;
height: 0;
text-indent: 14px;
font-size: 11px;
line-height: 22px;
display: flex;
flex-direction: column;
flex-wrap: nowrap;
align-content: flex-end;
justify-content: flex-start;
pointer-events: none;
}
</style>
<script>
try {
window.parent.setItemHighlight("theme");
@@ -40,27 +145,87 @@
<body>
<div class="pagecontainer full pagesection">
<div class="section padding">
<h2 id="page-title" data-res-fromfile="publicRes (102)"></h2>
<div class="win-settings-section">
<br>
<label>主题模式</label><br>
<select>
<option>深色</option>
<option></option>
<option>自动变换</option>
<option>自定义</option>
<div class="bottom-compensate">
<h2 id="page-title" data-res-fromfile="publicRes (102)"></h2>
<div class="win-settings-section">
<br>
<label for="theme-mode">主题模式</label><br>
<select id="theme-mode">
<option value="Theme.ThemeType.light">总是深</option>
<option value="Theme.ThemeType.dark">总是浅色</option>
<option value="Theme.ThemeType.auto">跟随系统</option>
<option value="Theme.ThemeType.time">跟随时间</option>
<option value="Theme.ThemeType.custom">自定义</option>
</select>
<br>
</div>
<div class="win-settings-section">
<br>
<label>自动变换选项</label><br>
<select>
<option>跟随系统</option>
<option>设置变换时间</option>
</select><br>
<div class="win-settings-section" id="item-automode">
<p>设置变换时间</p>
<script>
function refreshSectionDisplay() {
var timeSect = document.getElementById("item-time");
var customSect = document.getElementById("item-custom-theme");
var themeSect = document.getElementById("item-theme");
var customThemeSect = document.getElementById("item-custom-theme-edit");
switch (Theme.getType()) {
case Theme.ThemeType.time:
timeSect.style.height = timeSect.scrollHeight + "px";
customSect.style.height = "0px";
timeSect.style.opacity = "1";
customSect.style.opacity = "0";
themeSect.style.height = themeSect.scrollHeight + "px";
customThemeSect.style.height = "0px";
break;
case Theme.ThemeType.custom:
customSect.style.height = customSect.scrollHeight + "px";
timeSect.style.height = "0px";
timeSect.style.opacity = "0";
customSect.style.opacity = "1";
themeSect.style.height = "0px";
customThemeSect.style.height = customThemeSect.scrollHeight + "px";
break;
default:
case Theme.ThemeType.light:
case Theme.ThemeType.dark:
case Theme.ThemeType.auto:
timeSect.style.height = "0px";
customSect.style.height = "0px";
timeSect.style.opacity = "0";
customSect.style.opacity = "0";
themeSect.style.height = themeSect.scrollHeight + "px";
customThemeSect.style.height = "0px";
break;
}
}
Windows.UI.Event.Util.addEvent(document.getElementById("theme-mode"), "change", function() {
Theme.setType(eval(document.getElementById("theme-mode").value));
refreshSectionDisplay();
});
OnLoad.add(function() {
var thememode = document.getElementById("theme-mode");
var valuestr = "Theme.ThemeType.";
switch (Theme.getType()) {
case Theme.ThemeType.light:
valuestr += "light";
break;
case Theme.ThemeType.dark:
valuestr += "dark";
break;
case Theme.ThemeType.auto:
valuestr += "auto";
break;
case Theme.ThemeType.time:
valuestr += "time";
break;
case Theme.ThemeType.custom:
valuestr += "custom";
break;
}
thememode.value = valuestr;
setTimeout(refreshSectionDisplay, 100);
});
</script>
<br>
</div>
<div class="win-settings-section" id="item-time">
<br>
<label>设置变换时间</label>
<div class="win-settings-row">
<div class="win-settings-label" style="font-weight: normal;">白天</div>
<div class="win-settings-control">
@@ -75,28 +240,132 @@
</div>
</div>
</div>
<script>
var dayTime = document.getElementById("theme-day-time");
var nightTime = document.getElementById("theme-night-time");
dayTime.addEventListener("change", function() {
Theme.setDayTime(dayTime.winControl.current);
});
nightTime.addEventListener("change", function() {
Theme.setNightTime(nightTime.winControl.current);
});
OnLoad.add(function() {
dayTime.winControl.current = Theme.dayTime;
nightTime.winControl.current = Theme.nightTime;
});
</script>
</div>
<div class="win-settings-section" id="item-custom-theme">
<br>
<label>自定义主题颜色</label><br>
<script>
(function() {
var sect = document.getElementById("item-custom-theme");
var toggle = new Toggle();
toggle.create();
toggle.parent = sect;
toggle.setColor("#202020");
toggle.showlabel = true;
toggle.setStatusText("深色", "浅色");
toggle.addEventListener("change", function() {
Theme.setCustomColor(toggle.checked ? Theme.ColorType.dark : Theme.ColorType.light);
refreshCustomPreview();
});
OnLoad.add(function() {
toggle.checked = Theme.customColor === Theme.ColorType.dark;
});
})();
</script>
</div>
<div class="win-settings-section" id="item-theme"> <br>
<h3>选择主题</h3>
<p>浅色主题</p>
<div class="settings-listview-h" id="light-theme-list"></div>
<p>深色主题</p>
<div class="settings-listview-h" id="dark-theme-list"></div>
<script>
var storage = Bridge.External.Storage;
var path = storage.Path;
var config = Bridge.External.Config;
var themeFolder = path.combine(path.root, "html\\theme");
var themeLightFolder = path.combine(themeFolder, "light");
var themeDarkFolder = path.combine(themeFolder, "dark");
var previewHtml = path.combine(path.root, "html\\preview.html");
var themePath = path.combine(path.root, "html\\theme\\{colormode}\\{themeid}\\{themeid}.css");
function createThemeItem(id, color) {
var item = document.createElement("div");
item.className = "settings-listview-item";
item.setAttribute("data-theme-id", id);
item.setAttribute("data-item-color", color);
var iframe = document.createElement("iframe");
iframe.width = "100%";
/*iframe.onload = function(e) {
iframe.contentWindow.Theme.currentColor = color;
iframe.contentWindow.Theme.currentTheme = id;
};*/
iframe.src = previewHtml + "?color=" + color + "&id=" + id;
item.appendChild(iframe);
var colorstr = "light";
if (color === Theme.ColorType.dark) colorstr = "dark";
var themeinfo = config.create(themePath.replace("{colormode}", colorstr).replace("{themeid}", id).replace("{themeid}", id));
var displaNameLabel = document.createElement("p");
displaNameLabel.textContent = themeinfo.getKey("ThemeInfo", "DisplayName").value;
if (Bridge.NString.empty(displaNameLabel.textContent)) displaNameLabel.textContent = id;
item.appendChild(displaNameLabel);
return item;
}
function eventInitList() {
var lightThemeList = document.getElementById("light-theme-list");
var darkThemeList = document.getElementById("dark-theme-list");
var lightThemeListItems = JSON.parse(path.enumSubDirsToJson(themeLightFolder, false));
var darkThemeListItems = JSON.parse(path.enumSubDirsToJson(themeDarkFolder, false));
lightThemeList.innerHTML = "";
darkThemeList.innerHTML = "";
for (var i = 0; i < lightThemeListItems.length; i++) {
var node = createThemeItem(lightThemeListItems[i], Theme.ColorType.light);
lightThemeList.appendChild(node);
WinJS.UI.Animation.createAddToListAnimation(lightThemeList, node).execute();
}
for (var i = 0; i < darkThemeListItems.length; i++) {
var node = createThemeItem(darkThemeListItems[i], Theme.ColorType.dark);
darkThemeList.appendChild(node);
WinJS.UI.Animation.createAddToListAnimation(darkThemeList, node).execute();
}
}
OnLoad.add(function() {
setTimeout(eventInitList, 0);
});
</script>
</div>
<div class="win-settings-section" id="item-custom-theme-edit">
<br>
<h3>编辑当前自定义样式</h3>
<label>预览</label><br>
<iframe src="../../preview.html" id="theme-custom-preview"></iframe>
<br><br>
<button id="jump-editpage">编辑</button>
<script>
function refreshCustomPreview() {
var storage = Bridge.External.Storage;
var path = storage.Path;
var config = Bridge.External.Config;
var customcolor = Theme.customColor;
var customcolorstr = "light";
if (customcolor === Theme.ColorType.dark) customcolorstr = "dark";
var customThemePath = path.combine(path.root, "html\\theme\\{colormode}\\custom\\custom.css").replace("{colormode}", customcolorstr);
var iframe = document.getElementById("theme-custom-preview");
iframe.setAttribute("src", "../../preview.html?id=custom&color=" + customcolor);
}
OnLoad.add(function() {
setTimeout(refreshCustomPreview, 100);
});
Windows.UI.Event.Util.addEvent(document.getElementById("jump-editpage"), "click", function() {
window.parent.location.href = "cssedit.html";
});
</script>
</div>
</div>
<div class="win-settings-section" id="item-theme">
<br>
<label>自定义主题模式</label><br>
<script>
(function() {
var sect = document.getElementById("item-theme");
var toggle = new Toggle();
toggle.create();
toggle.parent = sect;
toggle.setColor("#202020");
toggle.showlabel = true;
toggle.setStatusText("深色", "浅色");
})();
</script>
<br>
<label>选择主题</label>
<p>浅色主题</p>
<div class="win-listview"></div>
<p>深色主题</p>
<div class="win-listview"></div>
</div>
</div>
</div>

View File

@@ -34,15 +34,17 @@
slide.style.transition = "all 0.5s cubic-bezier(0.1, 0.9, 0.2, 1)";
}, 0);
shead.style.display = "none";
list.style.display = "none";
if (list) list.style.display = "none";
content.style.display = "none";
setTimeout(function() {
shead.style.display = "";
Windows.UI.Animation.runAsync(shead, Windows.UI.Animation.Keyframes.Flyout.toLeft);
}, 0);
setTimeout(function() {
list.style.display = "";
Windows.UI.Animation.runAsync(list, Windows.UI.Animation.Keyframes.Flyout.toLeft);
if (list) {
list.style.display = "";
Windows.UI.Animation.runAsync(list, Windows.UI.Animation.Keyframes.Flyout.toLeft);
}
}, 50);
setTimeout(function() {
content.style.display = "";

View File

@@ -133,6 +133,18 @@ aside.left {
color: white;
}
aside.top {
position: absolute;
top: 0px;
height: 120px;
left: 0px;
right: 0px;
box-sizing: border-box;
padding: 0 1px 0 0;
background-color: rgb(20, 0, 68);
color: white;
}
aside .container {
width: 100%;
height: calc(100% - 120px);
@@ -215,6 +227,23 @@ aside .container ul li[data-require-disabled] {
overflow-y: auto;
overflow-x: hidden;
width: calc(100% - 300px);
background-color: white;
}
.main.bottom {
position: absolute;
top: 120px;
bottom: 0px;
right: 0px;
left: 0px;
box-sizing: border-box;
padding: 0;
margin: 0;
box-sizing: border-box;
overflow-y: auto;
overflow-x: hidden;
width: 100%;
background-color: white;
}
.main.padding {
@@ -231,8 +260,21 @@ aside .container ul li[data-require-disabled] {
position: absolute;
top: 0px;
left: 0px;
background-color: white;
}
.section.padding {
padding: 44px 60px;
}
.section.padding .bottom-compensate {
padding-bottom: 44px;
}
.main.bottom.padding {
padding: 30px 60px 44px;
}
.main.padding .bottom-compensate {
padding-bottom: 44px;
}

View File

@@ -40,102 +40,104 @@
<body>
<div class="pagecontainer full pagesection">
<div class="section padding">
<h2 id="page-title" data-res-fromfile="publicRes (101)"></h2>
<div class="win-settings-section">
<br>
<label class="win-label" for="save-wnd-size" id="save-wnd-size-label" data-res-fromfile="publicRes (125)"></label>
<script>
(function() {
"use strict";
var label = document.getElementById("save-wnd-size-label");
var toggle = new Toggle();
toggle.create();
toggle.parent = label.parentNode;
toggle.showlabel = true;
var winjsres = Bridge.External.WinJsStringRes;
toggle.setStatusText(winjsres.getString("ms-resource://Microsoft.WinJS.1.0/ui/on"), winjsres.getString("ms-resource://Microsoft.WinJS.1.0/ui/off"));
toggle.inputId = "save-wnd-size";
var ini = Bridge.External.Config.GetConfig();
toggle.addEventListener("change", function() {
ini.set("Settings", "Settings:SavePosAndSizeBeforeCancel", toggle.checked);
});
toggle.checked = parseBool(ini.getSection("Settings").getKey("Settings:SavePosAndSizeBeforeCancel").value);
})();
</script>
</div>
<div class="win-settings-section">
<br>
<label class="win-label" for="default-wndwidth" data-res-fromfile="publicRes(126)"></label><br>
<input type="number" id="default-wndwidth" inputmode="numeric"><br><br>
<label class="win-label" for="default-wndheight" data-res-fromfile="publicRes(127)"></label><br>
<input type="number" id="default-wndheight" inputmode="numeric">
<script>
(function() {
"use strict";
var ini = Bridge.External.Config.GetConfig();
var defWndWInput = document.getElementById("default-wndwidth");
var defWndHInput = document.getElementById("default-wndheight");
var setsect = ini.getSection("Settings");
var defwk = setsect.getKey("Settings:DefaultWidth");
var defhk = setsect.getKey("Settings:DefaultHeight");
defWndWInput.value = defwk.value;
defWndHInput.value = defhk.value;
var eventutil = Windows.UI.Event.Util;
<div class="bottom-compensate">
<h2 id="page-title" data-res-fromfile="publicRes (101)"></h2>
<div class="win-settings-section">
<br>
<label class="win-label" for="save-wnd-size" id="save-wnd-size-label" data-res-fromfile="publicRes (125)"></label>
<script>
(function() {
"use strict";
var label = document.getElementById("save-wnd-size-label");
var toggle = new Toggle();
toggle.create();
toggle.parent = label.parentNode;
toggle.showlabel = true;
var winjsres = Bridge.External.WinJsStringRes;
toggle.setStatusText(winjsres.getString("ms-resource://Microsoft.WinJS.1.0/ui/on"), winjsres.getString("ms-resource://Microsoft.WinJS.1.0/ui/off"));
toggle.inputId = "save-wnd-size";
var ini = Bridge.External.Config.GetConfig();
toggle.addEventListener("change", function() {
ini.set("Settings", "Settings:SavePosAndSizeBeforeCancel", toggle.checked);
});
toggle.checked = parseBool(ini.getSection("Settings").getKey("Settings:SavePosAndSizeBeforeCancel").value);
})();
</script>
</div>
<div class="win-settings-section">
<br>
<label class="win-label" for="default-wndwidth" data-res-fromfile="publicRes(126)"></label><br>
<input type="number" id="default-wndwidth" inputmode="numeric"><br><br>
<label class="win-label" for="default-wndheight" data-res-fromfile="publicRes(127)"></label><br>
<input type="number" id="default-wndheight" inputmode="numeric">
<script>
(function() {
"use strict";
var ini = Bridge.External.Config.GetConfig();
var defWndWInput = document.getElementById("default-wndwidth");
var defWndHInput = document.getElementById("default-wndheight");
var setsect = ini.getSection("Settings");
var defwk = setsect.getKey("Settings:DefaultWidth");
var defhk = setsect.getKey("Settings:DefaultHeight");
defWndWInput.value = defwk.value;
defWndHInput.value = defhk.value;
var eventutil = Windows.UI.Event.Util;
function inputDefaultWidthChangeEvent(e) {
defwk.value = parseInt(defWndWInput.value);
}
function inputDefaultWidthChangeEvent(e) {
defwk.value = parseInt(defWndWInput.value);
}
function inputDefaultHeightChangeEvent(e) {
defhk.value = parseInt(defWndHInput.value);
}
var debounced_idwc = debounce(inputDefaultWidthChangeEvent, 500);
var debounced_idhc = debounce(inputDefaultHeightChangeEvent, 500);
eventutil.addEvent(defWndWInput, "input", debounced_idwc);
eventutil.addEvent(defWndWInput, "propertychange", debounced_idwc);
eventutil.addEvent(defWndWInput, "change", debounced_idwc);
eventutil.addEvent(defWndHInput, "input", debounced_idhc);
eventutil.addEvent(defWndHInput, "propertychange", debounced_idhc);
eventutil.addEvent(defWndHInput, "change", debounced_idhc);
})();
</script>
</div>
<div class="win-settings-section">
<br>
<label class="win-label" for="min-wndwidth" data-res-fromfile="publicRes (128)"></label><br>
<input type="number" id="min-wndwidth" inputmode="numeric"><br><br>
<label class="win-label" for="min-wndheight" data-res-fromfile="publicRes (129)"></label><br>
<input type="number" id="min-wndheight" inputmode="numeric">
<script>
(function() {
"use strict";
var ini = Bridge.External.Config.GetConfig();
var minWndWInput = document.getElementById("min-wndwidth");
var minWndHInput = document.getElementById("min-wndheight");
var setsect = ini.getSection("Settings");
var minwk = setsect.getKey("Settings:MinimumWidth");
var minhk = setsect.getKey("Settings:MinimumHeight");
minWndWInput.value = minwk.value;
minWndHInput.value = minhk.value;
var eventutil = Windows.UI.Event.Util;
function inputDefaultHeightChangeEvent(e) {
defhk.value = parseInt(defWndHInput.value);
}
var debounced_idwc = debounce(inputDefaultWidthChangeEvent, 500);
var debounced_idhc = debounce(inputDefaultHeightChangeEvent, 500);
eventutil.addEvent(defWndWInput, "input", debounced_idwc);
eventutil.addEvent(defWndWInput, "propertychange", debounced_idwc);
eventutil.addEvent(defWndWInput, "change", debounced_idwc);
eventutil.addEvent(defWndHInput, "input", debounced_idhc);
eventutil.addEvent(defWndHInput, "propertychange", debounced_idhc);
eventutil.addEvent(defWndHInput, "change", debounced_idhc);
})();
</script>
</div>
<div class="win-settings-section">
<br>
<label class="win-label" for="min-wndwidth" data-res-fromfile="publicRes (128)"></label><br>
<input type="number" id="min-wndwidth" inputmode="numeric"><br><br>
<label class="win-label" for="min-wndheight" data-res-fromfile="publicRes (129)"></label><br>
<input type="number" id="min-wndheight" inputmode="numeric">
<script>
(function() {
"use strict";
var ini = Bridge.External.Config.GetConfig();
var minWndWInput = document.getElementById("min-wndwidth");
var minWndHInput = document.getElementById("min-wndheight");
var setsect = ini.getSection("Settings");
var minwk = setsect.getKey("Settings:MinimumWidth");
var minhk = setsect.getKey("Settings:MinimumHeight");
minWndWInput.value = minwk.value;
minWndHInput.value = minhk.value;
var eventutil = Windows.UI.Event.Util;
function inputDefaultWidthChangeEvent(e) {
minwk.value = parseInt(minWndWInput.value);
}
function inputDefaultWidthChangeEvent(e) {
minwk.value = parseInt(minWndWInput.value);
}
function inputDefaultHeightChangeEvent(e) {
minhk.value = parseInt(minWndHInput.value);
}
var debounced_idwc = debounce(inputDefaultWidthChangeEvent, 500);
var debounced_idhc = debounce(inputDefaultHeightChangeEvent, 500);
eventutil.addEvent(minWndWInput, "input", debounced_idwc);
eventutil.addEvent(minWndWInput, "propertychange", debounced_idwc);
eventutil.addEvent(minWndWInput, "change", debounced_idwc);
eventutil.addEvent(minWndHInput, "input", debounced_idhc);
eventutil.addEvent(minWndHInput, "propertychange", debounced_idhc);
eventutil.addEvent(minWndHInput, "change", debounced_idhc);
})();
</script>
function inputDefaultHeightChangeEvent(e) {
minhk.value = parseInt(minWndHInput.value);
}
var debounced_idwc = debounce(inputDefaultWidthChangeEvent, 500);
var debounced_idhc = debounce(inputDefaultHeightChangeEvent, 500);
eventutil.addEvent(minWndWInput, "input", debounced_idwc);
eventutil.addEvent(minWndWInput, "propertychange", debounced_idwc);
eventutil.addEvent(minWndWInput, "change", debounced_idwc);
eventutil.addEvent(minWndHInput, "input", debounced_idhc);
eventutil.addEvent(minWndHInput, "propertychange", debounced_idhc);
eventutil.addEvent(minWndHInput, "change", debounced_idhc);
})();
</script>
</div>
</div>
</div>
</div>

View File

@@ -38,8 +38,10 @@
<body>
<div class="pagecontainer full pagesection">
<div class="section padding">
<h2 id="guide-title"></h2>
<p id="guide-desc" style="white-space: pre-wrap;"></p>
<div class="bottom-compensate">
<h2 id="guide-title"></h2>
<p id="guide-desc" style="white-space: pre-wrap;"></p>
</div>
</div>
<script>
(function() {

View File

@@ -257,7 +257,7 @@
</head>
<body>
<div class="pagecontainer full pagesection" style="overflow-y: auto;">
<div class="pagecontainer full pagesection" style="overflow-y: auto; background-color: white;">
<div class="section padding">
<h2 id="section-title" data-res-fromfile="publicRes (103)"></h2>
<p id="section-desc" style="white-space: pre-wrap;" data-res-fromfile="publicRes (105)"></p>