", "g"), "");
863 | if (oneSettingProperty.name.includes("🧪")) {
864 | oneSettingProperty.desp = language["setting_experimental"] + oneSettingProperty.desp;
865 | }
866 | let temp = `
867 |
875 | `;
876 | switch (oneSettingProperty.type) {
877 | case "NUMBER": {
878 | let min = oneSettingProperty.limit[0];
879 | let max = oneSettingProperty.limit[1];
880 | inputElemStr = ``;
888 | break;
889 | }
890 | case "SELECT": {
891 |
892 | let optionStr = "";
893 | for (let option of oneSettingProperty.limit) {
894 | let optionName = option.name;
895 | if (!optionName) {
896 | optionName = language[`setting_${oneSettingProperty.simpId}_option_${option.value}`];
897 | }
898 | optionStr += ``;
902 | }
903 | inputElemStr = ``;
909 | break;
910 | }
911 | case "TEXT": {
912 | inputElemStr = ``;
913 | temp = `
914 | `
921 | break;
922 | }
923 | case "SWITCH": {
924 | inputElemStr = `
929 | `;
930 | break;
931 | }
932 | case "TEXTAREA": {
933 | inputElemStr = ``;
937 | temp = `
938 | `
946 | break;
947 | }
948 | }
949 |
950 | resultHTML += temp.replace("*#*##*#*", inputElemStr);
951 | }
952 | // console.log(resultHTML);
953 | return resultHTML;
954 | }
955 |
956 | /**
957 | * 由配置文件读取配置
958 | */
959 | function loadCacheSettings() {
960 | // 检索当前页面所有设置项元素
961 |
962 | }
963 |
964 | /**
965 | * 由设置界面读取配置
966 | */
967 | function loadUISettings(formElement) {
968 | let data = new FormData(formElement);
969 | // 扫描标准元素 input[]
970 | let result = {};
971 | for(const [key, value] of data.entries()) {
972 | // console.log(key, value);
973 | result[key] = value;
974 | if (value === "on") {
975 | result[key] = true;
976 | }else if (value === "null" || value == "false") {
977 | result[key] = "";
978 | }
979 | }
980 | let checkboxes = formElement.querySelectorAll('input[type="checkbox"]');
981 | for (let i = 0; i < checkboxes.length; i++) {
982 | let checkbox = checkboxes[i];
983 | // console.log(checkbox, checkbox.name, data[checkbox.name], checkbox.name);
984 | if (result[checkbox.name] == undefined) {
985 | result[checkbox.name] = false;
986 | }
987 | }
988 |
989 | let numbers = formElement.querySelectorAll("input[type='number']");
990 | // console.log(numbers);
991 | for (let number of numbers) {
992 | let minValue = number.getAttribute("min");
993 | let maxValue = number.getAttribute("max");
994 | let value = parseFloat(number.value);
995 |
996 | if (minValue !== null && value < parseFloat(minValue)) {
997 | number.value = minValue;
998 | result[number.name] = parseFloat(minValue);
999 | } else if (maxValue !== null && value > parseFloat(maxValue)) {
1000 | number.value = maxValue;
1001 | result[number.name] = parseFloat(maxValue);
1002 | } else {
1003 | result[number.name] = value;
1004 | }
1005 | }
1006 |
1007 | debugPush("UI SETTING", result);
1008 | return result;
1009 | }
1010 |
1011 | function isMobile() {
1012 | return window.top.document.getElementById("sidebar") ? true : false;
1013 | };
1014 |
1015 |
1016 | const keyCodeList = {
1017 | "⌫": 8,
1018 | "⇥": 9,
1019 | "↩": 13,
1020 | "⇧": 16,
1021 | "⌘": 91,
1022 | "⌥": 18,
1023 | "Pause": 19,
1024 | "CapsLock": 20,
1025 | "Escape": 27,
1026 | " ": 32,
1027 | "PageUp": 33,
1028 | "PageDown": 34,
1029 | "End": 35,
1030 | "Home": 36,
1031 | "←": 37,
1032 | "↑": 38,
1033 | "→": 39,
1034 | "↓": 40,
1035 | "PrintScreen": 44,
1036 | "Insert": 45,
1037 | "⌦": 46,
1038 | "0": 48,
1039 | "1": 49,
1040 | "2": 50,
1041 | "3": 51,
1042 | "4": 52,
1043 | "5": 53,
1044 | "6": 54,
1045 | "7": 55,
1046 | "8": 56,
1047 | "9": 57,
1048 | "A": 65,
1049 | "B": 66,
1050 | "C": 67,
1051 | "D": 68,
1052 | "E": 69,
1053 | "F": 70,
1054 | "G": 71,
1055 | "H": 72,
1056 | "I": 73,
1057 | "J": 74,
1058 | "K": 75,
1059 | "L": 76,
1060 | "M": 77,
1061 | "N": 78,
1062 | "O": 79,
1063 | "P": 80,
1064 | "Q": 81,
1065 | "R": 82,
1066 | "S": 83,
1067 | "T": 84,
1068 | "U": 85,
1069 | "V": 86,
1070 | "W": 87,
1071 | "X": 88,
1072 | "Y": 89,
1073 | "Z": 90,
1074 | "ContextMenu": 93,
1075 | "MyComputer": 182,
1076 | "MyCalculator": 183,
1077 | ";": 186,
1078 | "=": 187,
1079 | ",": 188,
1080 | "-": 189,
1081 | ".": 190,
1082 | "/": 191,
1083 | "`": 192,
1084 | "[": 219,
1085 | "\\": 220,
1086 | "]": 221,
1087 | "'": 222,
1088 | "*": 106,
1089 | "+": 107,
1090 | "-": 109,
1091 | ".": 110,
1092 | "/": 111,
1093 | "F1": 112,
1094 | "F2": 113,
1095 | "F3": 114,
1096 | "F4": 115,
1097 | "F5": 116,
1098 | "F6": 117,
1099 | "F7": 118,
1100 | "F8": 119,
1101 | "F9": 120,
1102 | "F10": 121,
1103 | "F11": 122,
1104 | "F12": 123,
1105 | "NumLock": 144,
1106 | "ScrollLock": 145
1107 | };
1108 |
1109 | module.exports = {
1110 | default: FileLostAlarmerPlugin,
1111 | };
--------------------------------------------------------------------------------