fixed bugs

This commit is contained in:
maru21 2023-10-16 14:18:55 +02:00
parent 9ee0b3e2c8
commit e4336766a0
6 changed files with 108 additions and 100 deletions

View File

@ -104,17 +104,10 @@
<a
class="w3-button w3-right w3-padding-large w3-hover-grey w3-large w3-flat-wet-aspalt"
href="javascript:void(0);"
title="Toggle Files Menu"
title="Open Files Menu"
id="toggleFilesMenu"
><i class="fa fa-file"></i
></a>
<a
class="w3-button w3-right w3-padding-large w3-hover-grey w3-large w3-flat-wet-aspalt"
href="javascript:void(0);"
title="Logout"
id="logout"
><i class="fa fa-sign-out-alt"></i
></a>
<a
href="."
class="w3-left-align w3-button w3-padding-large w3-flat-wet-asphalt"

View File

@ -71,7 +71,7 @@ function insertTextBlocks(t) {
function handleOnBlur(t) {
activeState.lastElement = t.id;
createStorageObj();
//createStorageObj();
}
function clickClearForm() {

View File

@ -229,7 +229,7 @@ function loadFileSidebar(tF) {
function mainFormPlaceholder(msg = "Select a file") {
return (
"<div class='w3-row-padding w3-padding-24 w3-container w3-flat-clouds'><div class='w3-code notranslate w3-border-white' style='font-family: Arial, Helvetica, sans-serif;'><p>" +
"<div id='fileDisplay' class='w3-row-padding w3-padding-24 w3-container w3-flat-clouds'><div class='w3-code notranslate w3-border-white' style='font-family: Arial, Helvetica, sans-serif;'><p>" +
msg +
"</p><br><br><br><br><br><br><br><br><br><br><br></div></div>"
);
@ -315,6 +315,7 @@ function formEvts(storageName) {
document.getElementById("mainForm").innerHTML =
mainFormPlaceholder("No file yet");
}
modalNotifier(activeState.fileName + " deleted!", 2);
break;
default:
@ -332,6 +333,10 @@ function loadSpecificTemplate(storageName) {
//reset sidebar to clear events
let sidebarDiv = document.getElementById("sidebar");
sidebarDiv.replaceWith(sidebarDiv.cloneNode(true));
//reset correct activePage
activeState.activePage = "template";
loadTemplate(storageName.split("_m21_")[1]);
}

View File

@ -1,6 +1,18 @@
import { hideMenus, showMenu, showSidebar, showTextBlocks, clickSetForm, clickImportFiles, modalNotifier } from "./evts.js";
import {
hideMenus,
showMenu,
showSidebar,
showTextBlocks,
clickSetForm,
clickImportFiles,
modalNotifier,
} from "./evts.js";
import { buildFile } from "./files.js";
import setPassword, { passwordHash, sessionVerification, inputRead } from "./scripts.js";
import setPassword, {
passwordHash,
sessionVerification,
inputRead,
} from "./scripts.js";
import { getUsrId, logout } from "./scripts.js";
import parseFormOnSubmit from "./parseForm.js";
import { createStorageObj } from "./storage.js";
@ -8,7 +20,6 @@ import XORCipher from "./xorc.js";
import sha256 from "./sha256.min.js";
import { loadNavBar, initTextBlocks } from "./web.js";
window.activeState = {
userId: getUsrId(),
activePage: "landing",
@ -25,18 +36,10 @@ window.activeState = {
"current_date",
"markup",
],
markups: [
"title",
"link",
"italic",
"green_highlighted",
"highlighted",
]
markups: ["title", "link", "italic", "green_highlighted", "highlighted"],
};
function init() {
//load settings into activeState
for (let setting of Object.entries(window.settings)) {
activeState[setting[0]] = setting[1];
@ -51,7 +54,6 @@ function init() {
//write verifiedStatus content into passwordHash for decode check later
passwordHash.set(XORCipher.decode(sha256("passwordHash"), verfiedStatus));
document.getElementById("login").style.display = "none";
} else {
document.getElementById("login").style.display = "block";
}
@ -68,23 +70,13 @@ function init() {
//print current version to footer
printVersion();
//add sign out
document
.getElementById("logout")
.addEventListener("click", logout);
//adjust title for mobile use
if (screen.width < 993) {
document.getElementById("siteTitle").innerHTML = "TG";
}
}
function eventListeners() {
//add hideMenu to Body
document
.getElementsByClassName("w3-main")[0]
@ -135,15 +127,16 @@ document
//add key listener for ctrl s in form mode
inputRead.init();
window.addEventListener("keydown", (e) => {
if (activeState.activePage == "template") {
inputRead.read(e);
if (e.ctrlKey && e.key == "s") {
if (activeState.activePage == "form");
createStorageObj();
parseFormOnSubmit();
modalNotifier("File copied to clipboard", 1);
e.preventDefault();
}
})
}
});
}
function printVersion() {

View File

@ -181,7 +181,7 @@ export function sanitize(string) {
return string.replace(reg, (match)=>(map[match]));
}
function isAlphaNumeric(str) {
export function isAlphaNumeric(str) {
var code, i, len;
for (i = 0, len = str.length; i < len; i++) {
@ -201,26 +201,31 @@ export const inputRead = {
this.inputString = "";
this.source = "";
this.inputContent = "";
this.lastRunTime = new Date();
this.lastExecId = "";
},
read: function (event) {
this.event = event;
this.source = event.srcElement.id;
let previousContent = this.inputContent;
let key = (event.key !=undefined) ? event.key : "";
let contentElement = document.getElementById(this.source);
this.inputContent = (contentElement != undefined) ? contentElement.value + key : "";
if (this.inputContent == "" || key == "") return;
if (!isAlphaNumeric(key)) return;
if (key.length > 1) return;
if (activeState.activePage != "template") return;
if (event.ctrlKey) return;
if (this.inputContent == previousContent) return;
this.lastRunTime = new Date();
clearTimeout(this.lastExecId);
document.getElementById("toggleFilesMenu").style.backgroundColor = "#c0392b";
const run = setTimeout(() => {
this.lastExecId = setTimeout(() => {
createStorageObj();
document.getElementById("toggleFilesMenu").style.backgroundColor = "#34495e"
}, 3000);
}, 1000);
},
//filter words
}
export default setPassword;

View File

@ -3,7 +3,7 @@ import { loadFileDivCallBack } from "./files.js";
import { retrieveData, clearData, getFileName, importBookShelf } from "./storage.js";
import { insertTextBlocks, modalNotifier } from "./evts.js";
import { createTemplate, createTemplateCallBack} from "./createTemplate.js";
import { getUsrId, sessionVerification } from "./scripts.js";
import { getUsrId, logout, sessionVerification } from "./scripts.js";
function loadTemplate(template, newFlag = false, loadOnly = false) {
document.getElementById("siteTitle").innerHTML = template.replace(/_/g, " ");
@ -113,18 +113,30 @@ function loadNavBar() {
}
let createEntry = document.createElement("a");
createEntry.setAttribute("href", "#");
createEntry.setAttribute("data-template", "createNew");
createEntry.setAttribute("data-template", "!createNew");
createEntry.classList.add("w3-bar-item", "w3-button", "w3-padding-large");
createEntry.style.borderTop = "2px solid rgb(221, 221, 221)";
createEntry.innerHTML = "Manage templates";
divMob.appendChild(createEntry);
createEntry = document.createElement("a");
createEntry.setAttribute("href", "#");
createEntry.setAttribute("data-template", "!logout");
createEntry.classList.add("w3-bar-item", "w3-button", "w3-padding-large", "w3-flat-pomegranate");
createEntry.innerHTML = "Logout";
divMob.appendChild(createEntry);
divMob.addEventListener("click", (e) => {
if (e.target && e.target.matches("a.w3-bar-item")) {
let template = e.target.dataset.template;
if (template == "createNew") {
if (template == "!createNew") {
createTemplate();
return;
}
if (template == "!logout") {
logout();
return;
}
loadNewTemplate(template);
}
});