fixed bugs
This commit is contained in:
parent
9ee0b3e2c8
commit
e4336766a0
@ -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"
|
||||
|
||||
@ -71,7 +71,7 @@ function insertTextBlocks(t) {
|
||||
|
||||
function handleOnBlur(t) {
|
||||
activeState.lastElement = t.id;
|
||||
createStorageObj();
|
||||
//createStorageObj();
|
||||
}
|
||||
|
||||
function clickClearForm() {
|
||||
|
||||
@ -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]);
|
||||
}
|
||||
|
||||
|
||||
151
js/9.9.9/init.js
151
js/9.9.9/init.js
@ -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,98 +70,89 @@ 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]
|
||||
.addEventListener("click", hideMenus);
|
||||
.getElementsByClassName("w3-main")[0]
|
||||
.addEventListener("click", hideMenus);
|
||||
|
||||
//add set Password to loginForm
|
||||
document
|
||||
.getElementById("submitPassword")
|
||||
.addEventListener("click", setPassword);
|
||||
//add toggle Navigation Menu
|
||||
document
|
||||
.getElementById("toggleNavigationMenu")
|
||||
.addEventListener("click", showMenu);
|
||||
//add loadTemplateBtn event showMenu
|
||||
document
|
||||
.getElementById("loadTemplateBtn")
|
||||
.addEventListener("click", showMenu);
|
||||
//add toggle sideBar Menu
|
||||
document
|
||||
.getElementById("toggleSidebarMenu")
|
||||
.addEventListener("click", showSidebar);
|
||||
//add toggle files Menu and sidebar button
|
||||
document
|
||||
.getElementById("toggleFilesMenuSB")
|
||||
.addEventListener("click", buildFile);
|
||||
document
|
||||
.getElementById("toggleFilesMenu")
|
||||
.addEventListener("click", buildFile);
|
||||
//add load template sidebar entry
|
||||
document
|
||||
.getElementById("loadTemplateBtn")
|
||||
.addEventListener("click", showMenu);
|
||||
//add toggle textBLocks Menu
|
||||
document
|
||||
.getElementById("toggleTestBlocksMenu")
|
||||
.addEventListener("click", showTextBlocks);
|
||||
//add set Password to loginForm
|
||||
document
|
||||
.getElementById("submitPassword")
|
||||
.addEventListener("click", setPassword);
|
||||
//add toggle Navigation Menu
|
||||
document
|
||||
.getElementById("toggleNavigationMenu")
|
||||
.addEventListener("click", showMenu);
|
||||
//add loadTemplateBtn event showMenu
|
||||
document
|
||||
.getElementById("loadTemplateBtn")
|
||||
.addEventListener("click", showMenu);
|
||||
//add toggle sideBar Menu
|
||||
document
|
||||
.getElementById("toggleSidebarMenu")
|
||||
.addEventListener("click", showSidebar);
|
||||
//add toggle files Menu and sidebar button
|
||||
document
|
||||
.getElementById("toggleFilesMenuSB")
|
||||
.addEventListener("click", buildFile);
|
||||
document
|
||||
.getElementById("toggleFilesMenu")
|
||||
.addEventListener("click", buildFile);
|
||||
//add load template sidebar entry
|
||||
document
|
||||
.getElementById("loadTemplateBtn")
|
||||
.addEventListener("click", showMenu);
|
||||
//add toggle textBLocks Menu
|
||||
document
|
||||
.getElementById("toggleTestBlocksMenu")
|
||||
.addEventListener("click", showTextBlocks);
|
||||
|
||||
//add setFormBtn for use in form
|
||||
document
|
||||
.getElementById("setFormBtn")
|
||||
.addEventListener("click", (e) => clickSetForm(e));
|
||||
//add setFormBtn for use in form
|
||||
document
|
||||
.getElementById("setFormBtn")
|
||||
.addEventListener("click", (e) => clickSetForm(e));
|
||||
|
||||
//add saveFiles to server listener on launch page
|
||||
document
|
||||
.getElementById("importFilesSB")
|
||||
.addEventListener("click", () => clickImportFiles());
|
||||
//add saveFiles to server listener on launch page
|
||||
document
|
||||
.getElementById("importFilesSB")
|
||||
.addEventListener("click", () => clickImportFiles());
|
||||
|
||||
//add key listener for ctrl s in form mode
|
||||
inputRead.init();
|
||||
window.addEventListener("keydown", (e) => {
|
||||
inputRead.read(e);
|
||||
if (e.ctrlKey && e.key == "s") {
|
||||
if (activeState.activePage == "form");
|
||||
createStorageObj();
|
||||
parseFormOnSubmit();
|
||||
modalNotifier("File copied to clipboard", 1);
|
||||
e.preventDefault();
|
||||
}
|
||||
})
|
||||
//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") {
|
||||
createStorageObj();
|
||||
parseFormOnSubmit();
|
||||
modalNotifier("File copied to clipboard", 1);
|
||||
e.preventDefault();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function printVersion() {
|
||||
const scripts = document.getElementsByTagName("script");
|
||||
const versionSpan = document.getElementById("currentVersion").lastChild;
|
||||
|
||||
for (var i=0;i<scripts.length;i++) {
|
||||
for (var i = 0; i < scripts.length; i++) {
|
||||
if (scripts[i].src) {
|
||||
let source = scripts[i].src;
|
||||
// js/version/main.js
|
||||
let pathVersion = source.split("/");
|
||||
pathVersion = pathVersion[pathVersion.length-2];
|
||||
pathVersion = pathVersion[pathVersion.length - 2];
|
||||
//add it to document footer currentVersion
|
||||
versionSpan.textContent = "version: " + pathVersion;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
init();
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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);
|
||||
}
|
||||
});
|
||||
|
||||
Loading…
Reference in New Issue
Block a user