[refactor] improve string handling

This commit is contained in:
zombieFox 2020-06-12 19:19:48 +01:00
parent ef64359565
commit 294914f380
12 changed files with 115 additions and 84 deletions

View File

@ -172,7 +172,7 @@ var background = (function() {
render.feedback = {
init: function() {
if (state.get.current().background.image.file.name != "") {
if (helper.checkValueString(state.get.current().background.image.file.name)) {
render.feedback.current();
} else {
render.feedback.empty();

View File

@ -11,7 +11,7 @@ var bookmarks = (function() {
show: true
},
items: [{
visual:{
visual: {
display: "icon",
letter: "AS",
image: null,
@ -53,7 +53,7 @@ var bookmarks = (function() {
searchMatch: false,
timeStamp: 1546453104010
}, {
visual:{
visual: {
display: "letter",
letter: "AZ",
image: null,
@ -95,7 +95,7 @@ var bookmarks = (function() {
searchMatch: false,
timeStamp: 1546453107633
}, {
visual:{
visual: {
display: "letter",
letter: "GM",
image: null,
@ -137,7 +137,7 @@ var bookmarks = (function() {
searchMatch: false,
timeStamp: 1546453110265
}, {
visual:{
visual: {
display: "icon",
letter: "R",
image: null,
@ -179,7 +179,7 @@ var bookmarks = (function() {
searchMatch: false,
timeStamp: 1546453111491
}, {
visual:{
visual: {
display: "icon",
letter: "N",
image: null,
@ -221,7 +221,7 @@ var bookmarks = (function() {
searchMatch: false,
timeStamp: 1546453104460
}, {
visual:{
visual: {
display: "letter",
letter: "DR",
image: null,
@ -272,7 +272,7 @@ var bookmarks = (function() {
show: true
},
items: [{
visual:{
visual: {
display: "icon",
letter: "DEV",
image: null,
@ -314,7 +314,7 @@ var bookmarks = (function() {
searchMatch: false,
timeStamp: 1546453101749
}, {
visual:{
visual: {
display: "icon",
letter: "GIT",
image: null,
@ -387,34 +387,30 @@ var bookmarks = (function() {
mod.add = {
link: function(data) {
if (data.position.group.new) {
mod.add.group({
position: {
origin: null,
destination: data.position.destination.group
},
group: {
name: {
text: data.position.group.name.text,
show: data.position.group.name.show
if (data) {
if (data.position.group.new) {
mod.add.group({
position: {
origin: null,
destination: data.position.destination.group
},
openAll: {
show: data.position.group.openAll.show
},
items: []
}
});
group: {
name: {
text: data.position.group.name.text,
show: data.position.group.name.show
},
openAll: {
show: data.position.group.openAll.show
},
items: []
}
});
};
mod.all[data.position.destination.group].items.splice(data.position.destination.item, 0, data.link);
};
mod.all[data.position.destination.group].items.splice(data.position.destination.item, 0, data.link);
},
group: function(data) {
if (data) {
if (data.group.name.text == null) {
data.group.name.text = "";
};
if (typeof data.group.name.text == "string") {
data.group.name.text = data.group.name.text.trim();
};
mod.all.splice(data.position.destination, 0, data.group);
};
}

View File

@ -112,10 +112,9 @@ var clock = (function() {
};
if (state.get.current().header.clock.separator.show) {
var separatorCharacter;
if (typeof state.get.current().header.clock.separator.text == "string" && state.get.current().header.clock.separator.text != "") {
separatorCharacter = state.get.current().header.clock.separator.text.trim().replace(/\s\s+/g, " ");
};
if (separatorCharacter == "" || separatorCharacter == " " || separatorCharacter == undefined) {
if (helper.checkValueString(state.get.current().header.clock.separator.text)) {
separatorCharacter = helper.trimString(state.get.current().header.clock.separator.text);
} else {
separatorCharacter = ":";
};
var parts = clock.querySelectorAll("span");

View File

@ -2225,8 +2225,25 @@ var control = (function() {
path: "header.search.engine.custom.queryName",
type: "text",
func: function() {
console.log("hit");
header.render.item.clear();
header.render.item.all();
header.render.search.width.size();
greeting.render.clear();
greeting.render.all();
clock.render.clear();
clock.render.all();
transitional.render.clear();
transitional.render.all();
date.render.clear();
date.render.all();
render.class();
render.dependents();
render.update.control.header();
bind.control.header();
search.render.engine();
search.bind.input();
search.bind.clear();
dropdown.bind.editAdd();
}
}, {
element: ".control-header-search-text-justify-left",

View File

@ -129,11 +129,10 @@ var date = (function() {
};
if (state.get.current().header.date.separator.show) {
var separatorCharacter;
if (typeof state.get.current().header.date.separator.text == "string" && state.get.current().header.date.separator.text != "") {
separatorCharacter = state.get.current().header.date.separator.text.trim().replace(/\s\s+/g, " ");
};
if (separatorCharacter == "" || separatorCharacter == " " || separatorCharacter == undefined) {
separatorCharacter = "/";
if (helper.checkValueString(state.get.current().header.date.separator.text)) {
separatorCharacter = helper.trimString(state.get.current().header.date.separator.text);
} else {
separatorCharacter = ":";
};
var parts = date.querySelectorAll("span");
if (parts.length > 1) {

View File

@ -37,8 +37,8 @@ var greeting = (function() {
}
};
var string = message[state.get.current().header.greeting.type]();
if (state.get.current().header.greeting.name != "" && state.get.current().header.greeting.name != undefined) {
string = string + ", " + state.get.current().header.greeting.name;
if (helper.checkValueString(state.get.current().header.greeting.name)) {
string = string + ", " + helper.trimString(state.get.current().header.greeting.name)
};
var greetingItem = helper.node("span|class:greeting-item");
var greetingItemText = helper.node("span:" + string + "|class:greeting-item-text");

View File

@ -373,8 +373,8 @@ var header = (function() {
var headerSearchBody = helper.node("div|class:search-wrapper");
var form = helper.node("form|class:search,action,method:get");
var searchInput;
if (typeof state.get.current().header.search.engine.custom.queryName == "string" && state.get.current().header.search.engine.custom.queryName != "") {
searchInput = helper.node("input|class:search-input,type:search,placeholder:Find or Search,name:" + state.get.current().header.search.engine.custom.queryName.trim() + ",autocomplete:off,autocorrect:off,autocapitalize:off,spellcheck:false,tabindex:1");
if (helper.checkValueString(state.get.current().header.search.engine.custom.queryName)) {
searchInput = helper.node("input|class:search-input,type:search,placeholder:Find or Search,name:" + helper.trimString(state.get.current().header.search.engine.custom.queryName) + ",autocomplete:off,autocorrect:off,autocapitalize:off,spellcheck:false,tabindex:1");
} else {
searchInput = helper.node("input|class:search-input,type:search,placeholder:Find or Search,name:q,autocomplete:off,autocorrect:off,autocapitalize:off,spellcheck:false,tabindex:1");
};

View File

@ -767,6 +767,25 @@ var helper = (function() {
};
};
var checkValueString = function(value) {
var result = false;
if (typeof value == "string") {
value = value.trim().replace(/\s/g, "");
if (value != "") {
result = true;
};
};
return result;
};
var trimString = function(value) {
if (typeof value == "string") {
return value.trim().replace(/\s\s+/g, " ");
} else {
return value;
};
};
// exposed methods
return {
e: e,
@ -792,7 +811,9 @@ var helper = (function() {
ordinalNumber: ordinalNumber,
isJsonString: isJsonString,
isHexNumber: isHexNumber,
convertColor: convertColor
convertColor: convertColor,
checkValueString: checkValueString,
trimString: trimString
};
})();

View File

@ -24,8 +24,8 @@ var layout = (function() {
render.title = function() {
var title = helper.e("title");
if (typeof state.get.current().layout.title == "string" && state.get.current().layout.title != "") {
title.textContent = state.get.current().layout.title.trim().replace(/\s\s+/g, " ");
if (helper.checkValueString(state.get.current().layout.title)) {
title.textContent = helper.trimString(state.get.current().layout.title);
} else {
title.textContent = "New tab";
};

View File

@ -709,7 +709,7 @@ var link = (function() {
});
groupHeader.appendChild(groupHeaderItemControl);
if (stagedGroup.group.name.show && stagedGroup.group.name.text.replace(/\s/g, "") != "") {
if (stagedGroup.group.name.show && helper.checkValueString(stagedGroup.group.name.text)) {
helper.addClass(groupHeader, "group-header-name");
groupHeader.appendChild(groupHeaderItemName);
};
@ -916,7 +916,7 @@ var link = (function() {
value: "link-item"
}]
};
if (stagedLink.link.accent.by == "custom" || stagedLink.link.color.by == "custom" || (stagedLink.link.image != null && typeof stagedLink.link.image == "string" && stagedLink.link.image != "")) {
if (stagedLink.link.accent.by == "custom" || stagedLink.link.color.by == "custom" || helper.checkValueString(stagedLink.link.image)) {
linkItemOptions.attr.push({
key: "style",
value: ""
@ -940,8 +940,8 @@ var link = (function() {
"--link-item-color: " + stagedLink.link.color.rgb.r + ", " + stagedLink.link.color.rgb.g + ", " + stagedLink.link.color.rgb.b + ";" +
"--link-item-color-focus-hover: " + stagedLink.link.color.rgb.r + ", " + stagedLink.link.color.rgb.g + ", " + stagedLink.link.color.rgb.b + ";";
};
if (stagedLink.link.image != null && stagedLink.link.image != "") {
linkItemOptions.attr[1].value = linkItemOptions.attr[1].value + "--link-image-url: url(" + stagedLink.link.image.trim() + ");"
if (helper.checkValueString(stagedLink.link.image)) {
linkItemOptions.attr[1].value = linkItemOptions.attr[1].value + "--link-image-url: url(" + helper.trimString(stagedLink.link.image) + ");"
};
};
var linkItem = helper.makeNode(linkItemOptions);
@ -993,15 +993,17 @@ var link = (function() {
value: "link-display-image"
}, {
key: "style",
value: "--link-display-image-url: url(" + stagedLink.link.visual.image.trim() + ")"
value: "--link-display-image-url: url(" + helper.trimString(stagedLink.link.visual.image) + ")"
}]
});
};
var nameText = "";
if (typeof stagedLink.link.name == "string" && stagedLink.link.name != "") {
nameText = stagedLink.link.name.trim().replace(/\s\s+/g, " ");
var linkDisplayName;
if (helper.checkValueString(stagedLink.link.name)) {
linkDisplayName = helper.node("p:" + helper.trimString(stagedLink.link.name) + "|class:link-display-name");
} else {
linkDisplayName = helper.node("p|class:link-display-name");
};
var linkDisplayName = helper.node("p:" + nameText + "|class:link-display-name");
var linkUrl = helper.node("div|class:link-url");
var url = "";
@ -1043,11 +1045,11 @@ var link = (function() {
linkDisplay.appendChild(linkDisplayVisual);
};
if (stagedLink.link.name != null && stagedLink.link.name != "") {
if (helper.checkValueString(stagedLink.link.name)) {
linkDisplay.appendChild(linkDisplayName);
};
if (stagedLink.link.image != null && stagedLink.link.image != "") {
if (helper.checkValueString(stagedLink.link.image)) {
linkPanelFront.appendChild(linkImage);
};
linkPanelFront.appendChild(linkDisplay);
@ -2898,7 +2900,7 @@ var link = (function() {
useStagedLink: true
});
var heading;
if (stagedLink.link.name != null && stagedLink.link.name != "") {
if (helper.checkValueString(stagedLink.link.name)) {
heading = "Edit " + stagedLink.link.name;
} else {
heading = "Edit unnamed bookmark";
@ -3003,7 +3005,7 @@ var link = (function() {
stagedLink.link = JSON.parse(JSON.stringify(copyStagedLink.link));
stagedLink.position = JSON.parse(JSON.stringify(copyStagedLink.position));
var heading;
if (stagedLink.link.name != null && stagedLink.link.name != "") {
if (helper.checkValueString(stagedLink.link.name)) {
heading = "Remove " + stagedLink.link.name;
} else {
heading = "Remove unnamed bookmark";

View File

@ -144,7 +144,7 @@ var search = (function() {
render.check = function() {
var searchInput = helper.e(".search-input");
if (searchInput.value.replace(/\s/g, "") != "") {
if (helper.checkValueString(searchInput.value)) {
mod.searching.open();
} else {
mod.searching.close();

View File

@ -2298,11 +2298,11 @@ var theme = (function() {
mod.preset.all.forEach(function(arrayItem, index) {
var displayFont = arrayItem.font.display.name + ":" + arrayItem.font.display.weight;
var uiFont = arrayItem.font.ui.name + ":" + arrayItem.font.ui.weight;
if (arrayItem.font.display.name != "" && !allPresetFonts.includes(displayFont)) {
if (helper.checkValueString(arrayItem.font.display.name) && !allPresetFonts.includes(displayFont)) {
mod.font.loaded.push(arrayItem.font.display.name);
allPresetFonts.push(displayFont);
};
if (arrayItem.font.ui.name != "" && !allPresetFonts.includes(uiFont)) {
if (helper.checkValueString(arrayItem.font.ui.name) && !allPresetFonts.includes(uiFont)) {
mod.font.loaded.push(arrayItem.font.ui.name);
allPresetFonts.push(uiFont);
};
@ -2315,24 +2315,24 @@ var theme = (function() {
},
custom: {
display: function() {
var displayFont = state.get.current().theme.font.display.name.trim().replace(/\s\s+/g, " ");
if (!mod.font.loaded.includes(displayFont) && displayFont != "") {
var displayFont = helper.trimString(state.get.current().theme.font.display.name);
if (!mod.font.loaded.includes(displayFont) && helper.checkValueString(displayFont)) {
mod.font.loaded.push(displayFont);
WebFont.load({
google: {
families: [state.get.current().theme.font.display.name.trim().replace(/\s\s+/g, " ") + ":100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i"]
families: [helper.trimString(state.get.current().theme.font.display.name) + ":100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i"]
}
});
};
render.font.display.name();
},
ui: function() {
var uiFont = state.get.current().theme.font.ui.name.trim().replace(/\s\s+/g, " ");
if (!mod.font.loaded.includes(uiFont) && uiFont != "") {
var uiFont = helper.trimString(state.get.current().theme.font.ui.name);
if (!mod.font.loaded.includes(uiFont) && helper.checkValueString(uiFont)) {
mod.font.loaded.push(uiFont);
WebFont.load({
google: {
families: [state.get.current().theme.font.ui.name.trim().replace(/\s\s+/g, " ") + ":100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i"]
families: [helper.trimString(state.get.current().theme.font.ui.name) + ":100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i"]
}
});
};
@ -2353,9 +2353,8 @@ var theme = (function() {
display: {
name: function() {
var html = helper.e("html");
var name = state.get.current().theme.font.display.name.trim().replace(/\s\s+/g, " ");
if (name != "") {
html.style.setProperty("--theme-font-display-name", "\"" + name + "\"" + ", \"Fjalla One\", sans-serif");
if (helper.checkValueString(state.get.current().theme.font.display.name)) {
html.style.setProperty("--theme-font-display-name", "\"" + helper.trimString(state.get.current().theme.font.display.name) + "\", \"Fjalla One\", sans-serif");
} else {
html.style.removeProperty("--theme-font-display-name");
};
@ -2373,9 +2372,8 @@ var theme = (function() {
ui: {
name: function() {
var html = helper.e("html");
var name = state.get.current().theme.font.ui.name.trim().replace(/\s\s+/g, " ");
if (name != "") {
html.style.setProperty("--theme-font-ui-name", "\"" + name + "\"" + ", \"Open Sans\", sans-serif");
if (helper.checkValueString(state.get.current().theme.font.ui.name)) {
html.style.setProperty("--theme-font-ui-name", "\"" + helper.trimString(state.get.current().theme.font.ui.name) + "\", \"Open Sans\", sans-serif");
} else {
html.style.removeProperty("--theme-font-ui-name");
};
@ -2457,7 +2455,8 @@ var theme = (function() {
var themePresetAccent = helper.node("span|class:theme-preset-accent");
themePresetPreview.style.setProperty("--theme-preset-accent", arrayItem.accent.rgb.r + ", " + arrayItem.accent.rgb.g + ", " + arrayItem.accent.rgb.b);
themePresetPreview.appendChild(themePresetAccent);
if (arrayItem.name != null && arrayItem.name != "") {
if (helper.checkValueString(arrayItem.name)) {
var themePresetName = helper.node("span:" + arrayItem.name + "|class:theme-preset-name");
themePresetPreview.appendChild(themePresetName);
};
@ -2554,11 +2553,9 @@ var theme = (function() {
var themeCustomAccent = helper.node("span|class:theme-custom-accent");
themeCustomPreview.style.setProperty("--theme-custom-accent", arrayItem.accent.rgb.r + ", " + arrayItem.accent.rgb.g + ", " + arrayItem.accent.rgb.b);
themeCustomPreview.appendChild(themeCustomAccent);
if (arrayItem.name != null && arrayItem.name != "") {
var themeCustomName = helper.node("span:" + arrayItem.name + "|class:theme-custom-name");
themeCustomPreview.appendChild(themeCustomName);
if (helper.checkValueString(arrayItem.name)) {
themeCustomPreview.appendChild(helper.node("span:" + helper.trimString(arrayItem.name) + "|class:theme-custom-name"));
};
themeCustomButton.appendChild(themeCustomPreview);
themeCustomEdit.appendChild(themeCustomEditIcon);
themeCustomRemove.appendChild(themeCustomRemoveIcon);
@ -2713,7 +2710,7 @@ var theme = (function() {
useStagedTheme: true
});
var heading;
if (stagedThemeCustom.theme.name != null && stagedThemeCustom.theme.name != "") {
if (helper.checkValueString(stagedThemeCustom.theme.name)) {
heading = "Edit " + stagedThemeCustom.theme.name;
} else {
heading = "Edit unnamed theme";
@ -2753,7 +2750,7 @@ var theme = (function() {
stagedThemeCustom.position.index = JSON.parse(JSON.stringify(copyStagedThemeCustom.position.index));
stagedThemeCustom.theme = JSON.parse(JSON.stringify(copyStagedThemeCustom.theme));
var heading;
if (stagedThemeCustom.theme.name != null && stagedThemeCustom.theme.name != "") {
if (helper.checkValueString(stagedThemeCustom.theme.name)) {
heading = "Remove " + stagedThemeCustom.theme.name;
} else {
heading = "Remove unnamed theme";