Browse Source

Add editor page

tags/v1.1.0
Skylar Ittner 10 months ago
parent
commit
c32f985ec4
8 changed files with 129 additions and 7 deletions
  1. 13
    0
      www/css/editor.css
  2. 3
    0
      www/index.html
  3. 8
    4
      www/js/Notes.class.js
  4. 12
    0
      www/js/home.js
  5. 1
    0
      www/package.json
  6. 58
    0
      www/pages/editnote.html
  7. 3
    3
      www/routes.js
  8. 31
    0
      www/yarn.lock

+ 13
- 0
www/css/editor.css View File

@@ -0,0 +1,13 @@
/*
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
/*
Created on : Jan 7, 2019, 9:30:35 PM
Author : Skylar Ittner
*/

.CodeMirror {
border-bottom: none;
}

+ 3
- 0
www/index.html View File

@@ -10,6 +10,8 @@
<link rel="stylesheet" href="fonts/material.css">
<link rel="stylesheet" href="css/notecards.css">
<link rel="stylesheet" href="node_modules/@fortawesome/fontawesome-free/css/all.min.css">
<link rel="stylesheet" href="node_modules/easymde/dist/easymde.min.css">
<link rel="stylesheet" href="css/editor.css">

<title>NotePost</title>

@@ -26,6 +28,7 @@
<script src="node_modules/jquery/dist/jquery.min.js"></script>
<script src="node_modules/framework7/js/framework7.min.js"></script>
<script src="node_modules/marked/marked.min.js"></script>
<script src="node_modules/easymde/dist/easymde.min.js"></script>

<script src="js/Notes.class.js"></script>
<script src="js/home.js"></script>

+ 8
- 4
www/js/Notes.class.js View File

@@ -40,7 +40,6 @@ Notes.prototype.add = function (note, callback) {
}

Notes.prototype.fix = function (note) {
console.log("Fixing note " + note.id);
// Set background color
if (typeof note.color !== 'string') {
note.color = "FFF59D";
@@ -50,9 +49,6 @@ Notes.prototype.fix = function (note) {
var r = parseInt(note.color.substring(0, 2), 16);
var g = parseInt(note.color.substring(2, 4), 16);
var b = parseInt(note.color.substring(4, 6), 16);
console.log(r);
console.log(g);
console.log(b);

var contrast = Math.sqrt(
r * r * 0.241 +
@@ -66,6 +62,14 @@ Notes.prototype.fix = function (note) {
note.textcolor = "FFFFFF";
}
}
// Just in case
if (typeof note.content !== 'string') {
note.content = "";
}
// Set title
if (typeof note.title !== 'string') {
note.title = note.content.split('\n')[0].replace(/[#\-]+/gi, "").trim();
}
// Render Markdown to HTML
if (typeof note.html !== 'string') {
note.html = marked(note.content);

+ 12
- 0
www/js/home.js View File

@@ -29,6 +29,14 @@ $(".view-main").on("ptr:refresh", ".ptr-content", function () {
});

function editNote(id) {
var note = notes.get(id);
router.navigate("/editnote", {
context: {
noteid: id,
content: note.content,
notetitle: note.title,
}
});
console.log("Editing " + id);
}

@@ -46,18 +54,22 @@ function deleteNote(id) {

$("#app").on("click", ".edit-note-btn", function () {
editNote($(this).data("note"));
app.popover.close();
});

$("#app").on("click", ".favorite-note-btn", function () {
favoriteNote($(this).data("note"));
app.popover.close();
});

$("#app").on("click", ".listify-note-btn", function () {
makeList($(this).data("note"));
app.popover.close();
});

$("#app").on("click", ".delete-note-btn", function () {
deleteNote($(this).data("note"));
app.popover.close();
});

function openNoteActionMenu(notecard) {

+ 1
- 0
www/package.json View File

@@ -7,6 +7,7 @@
"license": "MPL-2.0",
"dependencies": {
"@fortawesome/fontawesome-free": "^5.6.3",
"easymde": "^2.4.2",
"framework7": "^3.6.5",
"jquery": "^3.3.1",
"marked": "^0.6.0"

+ 58
- 0
www/pages/editnote.html View File

@@ -0,0 +1,58 @@
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<div class="page" data-name="editnote">

<div class="navbar">
<div class="navbar-inner">
<div class="left">
<a href="#" class="link icon-only back">
<i class="icon icon-back"></i>
</a>
</div>

<div class="title">
{{if notetitle}}
{{notetitle}}
{{else}}
New note
{{/if}}</div>
</div>
</div>

<div class="page-content ptr-content">

<textarea id="note_content" data-noteid="{{noteid}}">{{content}}</textarea>

</div>

<script>
var easymde = new EasyMDE({
element: $("#note_content")[0],
autoDownloadFontAwesome: false,
autofocus: true,
forceSync: true,
status: false,
toolbar: [
{
name: "save",
action: function saveNote(editor) {
$("#noteform").submit();
},
className: "fas fa-save",
title: "Save",
},
"|",
"bold",
"italic",
"heading",
"|",
"quote",
"unordered-list",
"ordered-list",
"horizontal-rule"
]
});
</script>

</div>

+ 3
- 3
www/routes.js View File

@@ -17,8 +17,8 @@ var routes = [
name: 'credits'
},
{
path: '/loaderror',
url: './pages/loaderror.html',
name: 'loaderror'
path: '/editnote',
templateUrl: './pages/editnote.html',
name: 'editnote'
},
];

+ 31
- 0
www/yarn.lock View File

@@ -7,6 +7,18 @@
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-5.6.3.tgz#61c122c420d7a91613f393d6a06e5a4c6ae6abf3"
integrity sha512-s5PLdI9NYgjBvfrv6rhirPHlAHWx+Sfo/IjsAeiXYfmemC/GSjwsyz1wLnGPazbLPXWfk62ks980o9AmsxYUEQ==

codemirror-spell-checker@1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/codemirror-spell-checker/-/codemirror-spell-checker-1.1.2.tgz#1c660f9089483ccb5113b9ba9ca19c3f4993371e"
integrity sha1-HGYPkIlIPMtRE7m6nKGcP0mTNx4=
dependencies:
typo-js "*"

codemirror@^5.41.0:
version "5.42.2"
resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.42.2.tgz#801ab715a7a7e1c7ed4162b78e9d8138b98de8f0"
integrity sha512-Tkv6im39VuhduFMsDA3MlXcC/kKas3Z0PI1/8N88QvFQbtOeiiwnfFJE4juGyC8/a4sb1BSxQlzsil8XLQdxRw==

dom7@^2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/dom7/-/dom7-2.1.2.tgz#a914070c0abe8465384997a9c4f34475f67f75bd"
@@ -14,6 +26,15 @@ dom7@^2.1.2:
dependencies:
ssr-window "^1.0.1"

easymde@^2.4.2:
version "2.4.2"
resolved "https://registry.yarnpkg.com/easymde/-/easymde-2.4.2.tgz#c91f79893b6fa6f5cb4184c234fc49e1c2e51884"
integrity sha512-LQ+kt98qKBUiykFG8e4E+UJezIowpeku5vowdPeVMKLtEV8sU7xxPxqS3GgDZWwhO3HghEngNa70eJInSMHh6A==
dependencies:
codemirror "^5.41.0"
codemirror-spell-checker "1.1.2"
marked "^0.5.1"

framework7@^3.6.5:
version "3.6.5"
resolved "https://registry.yarnpkg.com/framework7/-/framework7-3.6.5.tgz#dbd3c044ad36df73a9ed57cde5467e3c7c0d137e"
@@ -29,6 +50,11 @@ jquery@^3.3.1:
resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.3.1.tgz#958ce29e81c9790f31be7792df5d4d95fc57fbca"
integrity sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg==

marked@^0.5.1:
version "0.5.2"
resolved "https://registry.yarnpkg.com/marked/-/marked-0.5.2.tgz#3efdb27b1fd0ecec4f5aba362bddcd18120e5ba9"
integrity sha512-fdZvBa7/vSQIZCi4uuwo2N3q+7jJURpMVCcbaX0S1Mg65WZ5ilXvC67MviJAsdjqqgD+CEq4RKo5AYGgINkVAA==

marked@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/marked/-/marked-0.6.0.tgz#a18d01cfdcf8d15c3c455b71c8329e5e0f01faa1"
@@ -48,3 +74,8 @@ template7@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/template7/-/template7-1.4.0.tgz#d400af49ea56fc08cc835a20e6167a26b288fb1b"
integrity sha512-NMJWbKIoowHixUYIHq+DLvcBM47t/oZ/xfvBbYuMusjjS6BUjC02+gLWctntJuTTiEqILfefBNCXbfp/EMt/zQ==

typo-js@*:
version "1.0.3"
resolved "https://registry.yarnpkg.com/typo-js/-/typo-js-1.0.3.tgz#54d8ebc7949f1a7810908b6002c6841526c99d5a"
integrity sha1-VNjrx5SfGngQkItgAsaEFSbJnVo=

Loading…
Cancel
Save