diff --git a/frontend/html2notecase.js b/frontend/html2notecase.js
new file mode 100644
index 000000000..f39bea486
--- /dev/null
+++ b/frontend/html2notecase.js
@@ -0,0 +1,124 @@
+function html2notecase(contents, note) {
+ contents = contents.replace(/
/g, '\n');
+ contents = contents.replace(/
/g, '\n');
+ contents = contents.replace(/<\/p>/g, '\n');
+ contents = contents.replace(/
/g, '');
+
+ let index = 0;
+
+ note.formatting = [];
+ note.links = [];
+ note.images = [];
+
+ while (index < contents.length) {
+ let found = false;
+
+ if (contents[index] == '<') {
+ let curContent = contents.substr(index);
+ let endOfTag = curContent.indexOf('>');
+
+ if (endOfTag == -1) {
+ console.log("Can't find the end of the tag");
+ }
+
+ let curTag = curContent.substr(0, endOfTag + 1);
+
+ //console.log(contents);
+
+ for (tagId in tags) {
+ let tag = tags[tagId];
+
+ if (contents.substr(index, tag.length) == tag) {
+ found = true;
+ // if (tagMap.get(index) == undefined) {
+ // tagMap.get(index) = [];
+ // }
+
+ // tagMap.get(index).push(key);
+
+ note.formatting.push({
+ note_id: note.detail.note_id,
+ note_offset: index,
+ fmt_tag: tagId,
+ fmt_color: '',
+ fmt_font: '',
+ fmt_value: 100
+ });
+
+ contents = contents.substr(0, index) + contents.substr(index + tag.length);
+
+ break;
+ }
+ }
+
+ if (curTag.substr(0, 4) == "
]+?href="([^"]+?)"[^>]+?>([^<]+?)<\/a>/.exec(curContent);
+
+ if (match != null) {
+ note.links.push({
+ note_id: note.detail.note_id,
+ note_offset: index,
+ target_url: match[1],
+ lnk_text: match[2]
+ });
+
+ //console.log("Found link with text: " + match[2] + ", targetting: " + match[1]);
+
+ contents = contents.substr(0, index) + match[2] + contents.substr(index + match[0].length);
+
+ found = true;
+ }
+
+ // let imageRegex = /
]+src="data:image\/(jpg|png);base64,([^>\"]+)"[^>]+>/;
+
+ // console.log("Testing for image: " + curTag.substr(0, 100));
+ // console.log("End of image: " + curTag.substr(curTag.length - 100));
+
+ // let match = imageRegex.exec(curTag);
+
+ // if (match != null) {
+
+ // }
+ }
+
+ if (!found) {
+ index++;
+ }
+ }
+
+ note.detail.note_text = contents;
+}
\ No newline at end of file
diff --git a/frontend/index.html b/frontend/index.html
index 2471af2d8..ec8de9df1 100644
--- a/frontend/index.html
+++ b/frontend/index.html
@@ -2,472 +2,52 @@
- frontend
+ Notecase web app
+
+
+
+
-
-
-
-
+
+
+
-
-
+
+
+
+
-
-
-
-
-
-
- Nothing here right now!
-
-
-
+
+ Nothing here right now!
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/js/bootstrap/css/bootstrap-theme.css b/frontend/lib/bootstrap/css/bootstrap-theme.css
similarity index 100%
rename from frontend/js/bootstrap/css/bootstrap-theme.css
rename to frontend/lib/bootstrap/css/bootstrap-theme.css
diff --git a/frontend/js/bootstrap/css/bootstrap-theme.css.map b/frontend/lib/bootstrap/css/bootstrap-theme.css.map
similarity index 100%
rename from frontend/js/bootstrap/css/bootstrap-theme.css.map
rename to frontend/lib/bootstrap/css/bootstrap-theme.css.map
diff --git a/frontend/js/bootstrap/css/bootstrap-theme.min.css b/frontend/lib/bootstrap/css/bootstrap-theme.min.css
similarity index 100%
rename from frontend/js/bootstrap/css/bootstrap-theme.min.css
rename to frontend/lib/bootstrap/css/bootstrap-theme.min.css
diff --git a/frontend/js/bootstrap/css/bootstrap-theme.min.css.map b/frontend/lib/bootstrap/css/bootstrap-theme.min.css.map
similarity index 100%
rename from frontend/js/bootstrap/css/bootstrap-theme.min.css.map
rename to frontend/lib/bootstrap/css/bootstrap-theme.min.css.map
diff --git a/frontend/js/bootstrap/css/bootstrap.css b/frontend/lib/bootstrap/css/bootstrap.css
similarity index 100%
rename from frontend/js/bootstrap/css/bootstrap.css
rename to frontend/lib/bootstrap/css/bootstrap.css
diff --git a/frontend/js/bootstrap/css/bootstrap.css.map b/frontend/lib/bootstrap/css/bootstrap.css.map
similarity index 100%
rename from frontend/js/bootstrap/css/bootstrap.css.map
rename to frontend/lib/bootstrap/css/bootstrap.css.map
diff --git a/frontend/js/bootstrap/css/bootstrap.min.css b/frontend/lib/bootstrap/css/bootstrap.min.css
similarity index 100%
rename from frontend/js/bootstrap/css/bootstrap.min.css
rename to frontend/lib/bootstrap/css/bootstrap.min.css
diff --git a/frontend/js/bootstrap/css/bootstrap.min.css.map b/frontend/lib/bootstrap/css/bootstrap.min.css.map
similarity index 100%
rename from frontend/js/bootstrap/css/bootstrap.min.css.map
rename to frontend/lib/bootstrap/css/bootstrap.min.css.map
diff --git a/frontend/js/bootstrap/fonts/glyphicons-halflings-regular.eot b/frontend/lib/bootstrap/fonts/glyphicons-halflings-regular.eot
similarity index 100%
rename from frontend/js/bootstrap/fonts/glyphicons-halflings-regular.eot
rename to frontend/lib/bootstrap/fonts/glyphicons-halflings-regular.eot
diff --git a/frontend/js/bootstrap/fonts/glyphicons-halflings-regular.svg b/frontend/lib/bootstrap/fonts/glyphicons-halflings-regular.svg
similarity index 100%
rename from frontend/js/bootstrap/fonts/glyphicons-halflings-regular.svg
rename to frontend/lib/bootstrap/fonts/glyphicons-halflings-regular.svg
diff --git a/frontend/js/bootstrap/fonts/glyphicons-halflings-regular.ttf b/frontend/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf
similarity index 100%
rename from frontend/js/bootstrap/fonts/glyphicons-halflings-regular.ttf
rename to frontend/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf
diff --git a/frontend/js/bootstrap/fonts/glyphicons-halflings-regular.woff b/frontend/lib/bootstrap/fonts/glyphicons-halflings-regular.woff
similarity index 100%
rename from frontend/js/bootstrap/fonts/glyphicons-halflings-regular.woff
rename to frontend/lib/bootstrap/fonts/glyphicons-halflings-regular.woff
diff --git a/frontend/js/bootstrap/fonts/glyphicons-halflings-regular.woff2 b/frontend/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2
similarity index 100%
rename from frontend/js/bootstrap/fonts/glyphicons-halflings-regular.woff2
rename to frontend/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2
diff --git a/frontend/js/bootstrap/js/bootstrap.js b/frontend/lib/bootstrap/js/bootstrap.js
similarity index 100%
rename from frontend/js/bootstrap/js/bootstrap.js
rename to frontend/lib/bootstrap/js/bootstrap.js
diff --git a/frontend/js/bootstrap/js/bootstrap.min.js b/frontend/lib/bootstrap/js/bootstrap.min.js
similarity index 100%
rename from frontend/js/bootstrap/js/bootstrap.min.js
rename to frontend/lib/bootstrap/js/bootstrap.min.js
diff --git a/frontend/js/bootstrap/js/npm.js b/frontend/lib/bootstrap/js/npm.js
similarity index 100%
rename from frontend/js/bootstrap/js/npm.js
rename to frontend/lib/bootstrap/js/npm.js
diff --git a/frontend/js/fancytree/LICENSE.txt b/frontend/lib/fancytree/LICENSE.txt
similarity index 100%
rename from frontend/js/fancytree/LICENSE.txt
rename to frontend/lib/fancytree/LICENSE.txt
diff --git a/frontend/js/fancytree/jquery.fancytree-all.js b/frontend/lib/fancytree/jquery.fancytree-all.js
similarity index 100%
rename from frontend/js/fancytree/jquery.fancytree-all.js
rename to frontend/lib/fancytree/jquery.fancytree-all.js
diff --git a/frontend/js/fancytree/jquery.fancytree-all.min.js b/frontend/lib/fancytree/jquery.fancytree-all.min.js
similarity index 100%
rename from frontend/js/fancytree/jquery.fancytree-all.min.js
rename to frontend/lib/fancytree/jquery.fancytree-all.min.js
diff --git a/frontend/js/fancytree/jquery.fancytree.js b/frontend/lib/fancytree/jquery.fancytree.js
similarity index 100%
rename from frontend/js/fancytree/jquery.fancytree.js
rename to frontend/lib/fancytree/jquery.fancytree.js
diff --git a/frontend/js/fancytree/jquery.fancytree.min.js b/frontend/lib/fancytree/jquery.fancytree.min.js
similarity index 100%
rename from frontend/js/fancytree/jquery.fancytree.min.js
rename to frontend/lib/fancytree/jquery.fancytree.min.js
diff --git a/frontend/js/fancytree/skin-awesome/ui.fancytree.css b/frontend/lib/fancytree/skin-awesome/ui.fancytree.css
similarity index 100%
rename from frontend/js/fancytree/skin-awesome/ui.fancytree.css
rename to frontend/lib/fancytree/skin-awesome/ui.fancytree.css
diff --git a/frontend/js/fancytree/skin-awesome/ui.fancytree.less b/frontend/lib/fancytree/skin-awesome/ui.fancytree.less
similarity index 100%
rename from frontend/js/fancytree/skin-awesome/ui.fancytree.less
rename to frontend/lib/fancytree/skin-awesome/ui.fancytree.less
diff --git a/frontend/js/fancytree/skin-awesome/ui.fancytree.min.css b/frontend/lib/fancytree/skin-awesome/ui.fancytree.min.css
similarity index 100%
rename from frontend/js/fancytree/skin-awesome/ui.fancytree.min.css
rename to frontend/lib/fancytree/skin-awesome/ui.fancytree.min.css
diff --git a/frontend/js/fancytree/skin-awesome/vline-rtl.gif b/frontend/lib/fancytree/skin-awesome/vline-rtl.gif
similarity index 100%
rename from frontend/js/fancytree/skin-awesome/vline-rtl.gif
rename to frontend/lib/fancytree/skin-awesome/vline-rtl.gif
diff --git a/frontend/js/fancytree/skin-awesome/vline.gif b/frontend/lib/fancytree/skin-awesome/vline.gif
similarity index 100%
rename from frontend/js/fancytree/skin-awesome/vline.gif
rename to frontend/lib/fancytree/skin-awesome/vline.gif
diff --git a/frontend/js/fancytree/skin-bootstrap-n/ui.fancytree.css b/frontend/lib/fancytree/skin-bootstrap-n/ui.fancytree.css
similarity index 100%
rename from frontend/js/fancytree/skin-bootstrap-n/ui.fancytree.css
rename to frontend/lib/fancytree/skin-bootstrap-n/ui.fancytree.css
diff --git a/frontend/js/fancytree/skin-bootstrap-n/ui.fancytree.less b/frontend/lib/fancytree/skin-bootstrap-n/ui.fancytree.less
similarity index 100%
rename from frontend/js/fancytree/skin-bootstrap-n/ui.fancytree.less
rename to frontend/lib/fancytree/skin-bootstrap-n/ui.fancytree.less
diff --git a/frontend/js/fancytree/skin-bootstrap-n/ui.fancytree.min.css b/frontend/lib/fancytree/skin-bootstrap-n/ui.fancytree.min.css
similarity index 100%
rename from frontend/js/fancytree/skin-bootstrap-n/ui.fancytree.min.css
rename to frontend/lib/fancytree/skin-bootstrap-n/ui.fancytree.min.css
diff --git a/frontend/js/fancytree/skin-bootstrap-n/vline-rtl.gif b/frontend/lib/fancytree/skin-bootstrap-n/vline-rtl.gif
similarity index 100%
rename from frontend/js/fancytree/skin-bootstrap-n/vline-rtl.gif
rename to frontend/lib/fancytree/skin-bootstrap-n/vline-rtl.gif
diff --git a/frontend/js/fancytree/skin-bootstrap-n/vline.gif b/frontend/lib/fancytree/skin-bootstrap-n/vline.gif
similarity index 100%
rename from frontend/js/fancytree/skin-bootstrap-n/vline.gif
rename to frontend/lib/fancytree/skin-bootstrap-n/vline.gif
diff --git a/frontend/js/fancytree/skin-bootstrap/ui.fancytree.css b/frontend/lib/fancytree/skin-bootstrap/ui.fancytree.css
similarity index 100%
rename from frontend/js/fancytree/skin-bootstrap/ui.fancytree.css
rename to frontend/lib/fancytree/skin-bootstrap/ui.fancytree.css
diff --git a/frontend/js/fancytree/skin-bootstrap/ui.fancytree.less b/frontend/lib/fancytree/skin-bootstrap/ui.fancytree.less
similarity index 100%
rename from frontend/js/fancytree/skin-bootstrap/ui.fancytree.less
rename to frontend/lib/fancytree/skin-bootstrap/ui.fancytree.less
diff --git a/frontend/js/fancytree/skin-bootstrap/ui.fancytree.min.css b/frontend/lib/fancytree/skin-bootstrap/ui.fancytree.min.css
similarity index 100%
rename from frontend/js/fancytree/skin-bootstrap/ui.fancytree.min.css
rename to frontend/lib/fancytree/skin-bootstrap/ui.fancytree.min.css
diff --git a/frontend/js/fancytree/skin-bootstrap/vline-rtl.gif b/frontend/lib/fancytree/skin-bootstrap/vline-rtl.gif
similarity index 100%
rename from frontend/js/fancytree/skin-bootstrap/vline-rtl.gif
rename to frontend/lib/fancytree/skin-bootstrap/vline-rtl.gif
diff --git a/frontend/js/fancytree/skin-bootstrap/vline.gif b/frontend/lib/fancytree/skin-bootstrap/vline.gif
similarity index 100%
rename from frontend/js/fancytree/skin-bootstrap/vline.gif
rename to frontend/lib/fancytree/skin-bootstrap/vline.gif
diff --git a/frontend/js/fancytree/skin-common.less b/frontend/lib/fancytree/skin-common.less
similarity index 100%
rename from frontend/js/fancytree/skin-common.less
rename to frontend/lib/fancytree/skin-common.less
diff --git a/frontend/js/fancytree/skin-custom-1/README.md b/frontend/lib/fancytree/skin-custom-1/README.md
similarity index 100%
rename from frontend/js/fancytree/skin-custom-1/README.md
rename to frontend/lib/fancytree/skin-custom-1/README.md
diff --git a/frontend/js/fancytree/skin-lion/icons-rtl.gif b/frontend/lib/fancytree/skin-lion/icons-rtl.gif
similarity index 100%
rename from frontend/js/fancytree/skin-lion/icons-rtl.gif
rename to frontend/lib/fancytree/skin-lion/icons-rtl.gif
diff --git a/frontend/js/fancytree/skin-lion/icons.gif b/frontend/lib/fancytree/skin-lion/icons.gif
similarity index 100%
rename from frontend/js/fancytree/skin-lion/icons.gif
rename to frontend/lib/fancytree/skin-lion/icons.gif
diff --git a/frontend/js/fancytree/skin-lion/loading.gif b/frontend/lib/fancytree/skin-lion/loading.gif
similarity index 100%
rename from frontend/js/fancytree/skin-lion/loading.gif
rename to frontend/lib/fancytree/skin-lion/loading.gif
diff --git a/frontend/js/fancytree/skin-lion/ui.fancytree.css b/frontend/lib/fancytree/skin-lion/ui.fancytree.css
similarity index 100%
rename from frontend/js/fancytree/skin-lion/ui.fancytree.css
rename to frontend/lib/fancytree/skin-lion/ui.fancytree.css
diff --git a/frontend/js/fancytree/skin-lion/ui.fancytree.less b/frontend/lib/fancytree/skin-lion/ui.fancytree.less
similarity index 100%
rename from frontend/js/fancytree/skin-lion/ui.fancytree.less
rename to frontend/lib/fancytree/skin-lion/ui.fancytree.less
diff --git a/frontend/js/fancytree/skin-lion/ui.fancytree.min.css b/frontend/lib/fancytree/skin-lion/ui.fancytree.min.css
similarity index 100%
rename from frontend/js/fancytree/skin-lion/ui.fancytree.min.css
rename to frontend/lib/fancytree/skin-lion/ui.fancytree.min.css
diff --git a/frontend/js/fancytree/skin-lion/vline-rtl.gif b/frontend/lib/fancytree/skin-lion/vline-rtl.gif
similarity index 100%
rename from frontend/js/fancytree/skin-lion/vline-rtl.gif
rename to frontend/lib/fancytree/skin-lion/vline-rtl.gif
diff --git a/frontend/js/fancytree/skin-lion/vline.gif b/frontend/lib/fancytree/skin-lion/vline.gif
similarity index 100%
rename from frontend/js/fancytree/skin-lion/vline.gif
rename to frontend/lib/fancytree/skin-lion/vline.gif
diff --git a/frontend/js/fancytree/skin-themeroller/icons-rtl.gif b/frontend/lib/fancytree/skin-themeroller/icons-rtl.gif
similarity index 100%
rename from frontend/js/fancytree/skin-themeroller/icons-rtl.gif
rename to frontend/lib/fancytree/skin-themeroller/icons-rtl.gif
diff --git a/frontend/js/fancytree/skin-themeroller/icons.gif b/frontend/lib/fancytree/skin-themeroller/icons.gif
similarity index 100%
rename from frontend/js/fancytree/skin-themeroller/icons.gif
rename to frontend/lib/fancytree/skin-themeroller/icons.gif
diff --git a/frontend/js/fancytree/skin-themeroller/loading.gif b/frontend/lib/fancytree/skin-themeroller/loading.gif
similarity index 100%
rename from frontend/js/fancytree/skin-themeroller/loading.gif
rename to frontend/lib/fancytree/skin-themeroller/loading.gif
diff --git a/frontend/js/fancytree/skin-themeroller/ui.fancytree.css b/frontend/lib/fancytree/skin-themeroller/ui.fancytree.css
similarity index 100%
rename from frontend/js/fancytree/skin-themeroller/ui.fancytree.css
rename to frontend/lib/fancytree/skin-themeroller/ui.fancytree.css
diff --git a/frontend/js/fancytree/skin-themeroller/ui.fancytree.less b/frontend/lib/fancytree/skin-themeroller/ui.fancytree.less
similarity index 100%
rename from frontend/js/fancytree/skin-themeroller/ui.fancytree.less
rename to frontend/lib/fancytree/skin-themeroller/ui.fancytree.less
diff --git a/frontend/js/fancytree/skin-themeroller/ui.fancytree.min.css b/frontend/lib/fancytree/skin-themeroller/ui.fancytree.min.css
similarity index 100%
rename from frontend/js/fancytree/skin-themeroller/ui.fancytree.min.css
rename to frontend/lib/fancytree/skin-themeroller/ui.fancytree.min.css
diff --git a/frontend/js/fancytree/skin-themeroller/vline-rtl.gif b/frontend/lib/fancytree/skin-themeroller/vline-rtl.gif
similarity index 100%
rename from frontend/js/fancytree/skin-themeroller/vline-rtl.gif
rename to frontend/lib/fancytree/skin-themeroller/vline-rtl.gif
diff --git a/frontend/js/fancytree/skin-themeroller/vline.gif b/frontend/lib/fancytree/skin-themeroller/vline.gif
similarity index 100%
rename from frontend/js/fancytree/skin-themeroller/vline.gif
rename to frontend/lib/fancytree/skin-themeroller/vline.gif
diff --git a/frontend/js/fancytree/skin-vista/icons-rtl.gif b/frontend/lib/fancytree/skin-vista/icons-rtl.gif
similarity index 100%
rename from frontend/js/fancytree/skin-vista/icons-rtl.gif
rename to frontend/lib/fancytree/skin-vista/icons-rtl.gif
diff --git a/frontend/js/fancytree/skin-vista/icons.gif b/frontend/lib/fancytree/skin-vista/icons.gif
similarity index 100%
rename from frontend/js/fancytree/skin-vista/icons.gif
rename to frontend/lib/fancytree/skin-vista/icons.gif
diff --git a/frontend/js/fancytree/skin-vista/loading.gif b/frontend/lib/fancytree/skin-vista/loading.gif
similarity index 100%
rename from frontend/js/fancytree/skin-vista/loading.gif
rename to frontend/lib/fancytree/skin-vista/loading.gif
diff --git a/frontend/js/fancytree/skin-vista/ui.fancytree.css b/frontend/lib/fancytree/skin-vista/ui.fancytree.css
similarity index 100%
rename from frontend/js/fancytree/skin-vista/ui.fancytree.css
rename to frontend/lib/fancytree/skin-vista/ui.fancytree.css
diff --git a/frontend/js/fancytree/skin-vista/ui.fancytree.less b/frontend/lib/fancytree/skin-vista/ui.fancytree.less
similarity index 100%
rename from frontend/js/fancytree/skin-vista/ui.fancytree.less
rename to frontend/lib/fancytree/skin-vista/ui.fancytree.less
diff --git a/frontend/js/fancytree/skin-vista/ui.fancytree.min.css b/frontend/lib/fancytree/skin-vista/ui.fancytree.min.css
similarity index 100%
rename from frontend/js/fancytree/skin-vista/ui.fancytree.min.css
rename to frontend/lib/fancytree/skin-vista/ui.fancytree.min.css
diff --git a/frontend/js/fancytree/skin-vista/vline-rtl.gif b/frontend/lib/fancytree/skin-vista/vline-rtl.gif
similarity index 100%
rename from frontend/js/fancytree/skin-vista/vline-rtl.gif
rename to frontend/lib/fancytree/skin-vista/vline-rtl.gif
diff --git a/frontend/js/fancytree/skin-vista/vline.gif b/frontend/lib/fancytree/skin-vista/vline.gif
similarity index 100%
rename from frontend/js/fancytree/skin-vista/vline.gif
rename to frontend/lib/fancytree/skin-vista/vline.gif
diff --git a/frontend/js/fancytree/skin-win7/icons-rtl.gif b/frontend/lib/fancytree/skin-win7/icons-rtl.gif
similarity index 100%
rename from frontend/js/fancytree/skin-win7/icons-rtl.gif
rename to frontend/lib/fancytree/skin-win7/icons-rtl.gif
diff --git a/frontend/js/fancytree/skin-win7/icons.gif b/frontend/lib/fancytree/skin-win7/icons.gif
similarity index 100%
rename from frontend/js/fancytree/skin-win7/icons.gif
rename to frontend/lib/fancytree/skin-win7/icons.gif
diff --git a/frontend/js/fancytree/skin-win7/loading.gif b/frontend/lib/fancytree/skin-win7/loading.gif
similarity index 100%
rename from frontend/js/fancytree/skin-win7/loading.gif
rename to frontend/lib/fancytree/skin-win7/loading.gif
diff --git a/frontend/js/fancytree/skin-win7/ui.fancytree.css b/frontend/lib/fancytree/skin-win7/ui.fancytree.css
similarity index 100%
rename from frontend/js/fancytree/skin-win7/ui.fancytree.css
rename to frontend/lib/fancytree/skin-win7/ui.fancytree.css
diff --git a/frontend/js/fancytree/skin-win7/ui.fancytree.less b/frontend/lib/fancytree/skin-win7/ui.fancytree.less
similarity index 100%
rename from frontend/js/fancytree/skin-win7/ui.fancytree.less
rename to frontend/lib/fancytree/skin-win7/ui.fancytree.less
diff --git a/frontend/js/fancytree/skin-win7/ui.fancytree.min.css b/frontend/lib/fancytree/skin-win7/ui.fancytree.min.css
similarity index 100%
rename from frontend/js/fancytree/skin-win7/ui.fancytree.min.css
rename to frontend/lib/fancytree/skin-win7/ui.fancytree.min.css
diff --git a/frontend/js/fancytree/skin-win7/vline-rtl.gif b/frontend/lib/fancytree/skin-win7/vline-rtl.gif
similarity index 100%
rename from frontend/js/fancytree/skin-win7/vline-rtl.gif
rename to frontend/lib/fancytree/skin-win7/vline-rtl.gif
diff --git a/frontend/js/fancytree/skin-win7/vline.gif b/frontend/lib/fancytree/skin-win7/vline.gif
similarity index 100%
rename from frontend/js/fancytree/skin-win7/vline.gif
rename to frontend/lib/fancytree/skin-win7/vline.gif
diff --git a/frontend/js/fancytree/skin-win8-n/icons-rtl.gif b/frontend/lib/fancytree/skin-win8-n/icons-rtl.gif
similarity index 100%
rename from frontend/js/fancytree/skin-win8-n/icons-rtl.gif
rename to frontend/lib/fancytree/skin-win8-n/icons-rtl.gif
diff --git a/frontend/js/fancytree/skin-win8-n/icons.gif b/frontend/lib/fancytree/skin-win8-n/icons.gif
similarity index 100%
rename from frontend/js/fancytree/skin-win8-n/icons.gif
rename to frontend/lib/fancytree/skin-win8-n/icons.gif
diff --git a/frontend/js/fancytree/skin-win8-n/loading.gif b/frontend/lib/fancytree/skin-win8-n/loading.gif
similarity index 100%
rename from frontend/js/fancytree/skin-win8-n/loading.gif
rename to frontend/lib/fancytree/skin-win8-n/loading.gif
diff --git a/frontend/js/fancytree/skin-win8-n/ui.fancytree.css b/frontend/lib/fancytree/skin-win8-n/ui.fancytree.css
similarity index 100%
rename from frontend/js/fancytree/skin-win8-n/ui.fancytree.css
rename to frontend/lib/fancytree/skin-win8-n/ui.fancytree.css
diff --git a/frontend/js/fancytree/skin-win8-n/ui.fancytree.less b/frontend/lib/fancytree/skin-win8-n/ui.fancytree.less
similarity index 100%
rename from frontend/js/fancytree/skin-win8-n/ui.fancytree.less
rename to frontend/lib/fancytree/skin-win8-n/ui.fancytree.less
diff --git a/frontend/js/fancytree/skin-win8-n/ui.fancytree.min.css b/frontend/lib/fancytree/skin-win8-n/ui.fancytree.min.css
similarity index 100%
rename from frontend/js/fancytree/skin-win8-n/ui.fancytree.min.css
rename to frontend/lib/fancytree/skin-win8-n/ui.fancytree.min.css
diff --git a/frontend/js/fancytree/skin-win8-n/vline-rtl.gif b/frontend/lib/fancytree/skin-win8-n/vline-rtl.gif
similarity index 100%
rename from frontend/js/fancytree/skin-win8-n/vline-rtl.gif
rename to frontend/lib/fancytree/skin-win8-n/vline-rtl.gif
diff --git a/frontend/js/fancytree/skin-win8-n/vline.gif b/frontend/lib/fancytree/skin-win8-n/vline.gif
similarity index 100%
rename from frontend/js/fancytree/skin-win8-n/vline.gif
rename to frontend/lib/fancytree/skin-win8-n/vline.gif
diff --git a/frontend/js/fancytree/skin-win8-xxl/icons-rtl.gif b/frontend/lib/fancytree/skin-win8-xxl/icons-rtl.gif
similarity index 100%
rename from frontend/js/fancytree/skin-win8-xxl/icons-rtl.gif
rename to frontend/lib/fancytree/skin-win8-xxl/icons-rtl.gif
diff --git a/frontend/js/fancytree/skin-win8-xxl/icons.gif b/frontend/lib/fancytree/skin-win8-xxl/icons.gif
similarity index 100%
rename from frontend/js/fancytree/skin-win8-xxl/icons.gif
rename to frontend/lib/fancytree/skin-win8-xxl/icons.gif
diff --git a/frontend/js/fancytree/skin-win8-xxl/loading.gif b/frontend/lib/fancytree/skin-win8-xxl/loading.gif
similarity index 100%
rename from frontend/js/fancytree/skin-win8-xxl/loading.gif
rename to frontend/lib/fancytree/skin-win8-xxl/loading.gif
diff --git a/frontend/js/fancytree/skin-win8-xxl/ui.fancytree.css b/frontend/lib/fancytree/skin-win8-xxl/ui.fancytree.css
similarity index 100%
rename from frontend/js/fancytree/skin-win8-xxl/ui.fancytree.css
rename to frontend/lib/fancytree/skin-win8-xxl/ui.fancytree.css
diff --git a/frontend/js/fancytree/skin-win8-xxl/ui.fancytree.less b/frontend/lib/fancytree/skin-win8-xxl/ui.fancytree.less
similarity index 100%
rename from frontend/js/fancytree/skin-win8-xxl/ui.fancytree.less
rename to frontend/lib/fancytree/skin-win8-xxl/ui.fancytree.less
diff --git a/frontend/js/fancytree/skin-win8-xxl/ui.fancytree.min.css b/frontend/lib/fancytree/skin-win8-xxl/ui.fancytree.min.css
similarity index 100%
rename from frontend/js/fancytree/skin-win8-xxl/ui.fancytree.min.css
rename to frontend/lib/fancytree/skin-win8-xxl/ui.fancytree.min.css
diff --git a/frontend/js/fancytree/skin-win8-xxl/vline-rtl.gif b/frontend/lib/fancytree/skin-win8-xxl/vline-rtl.gif
similarity index 100%
rename from frontend/js/fancytree/skin-win8-xxl/vline-rtl.gif
rename to frontend/lib/fancytree/skin-win8-xxl/vline-rtl.gif
diff --git a/frontend/js/fancytree/skin-win8-xxl/vline.gif b/frontend/lib/fancytree/skin-win8-xxl/vline.gif
similarity index 100%
rename from frontend/js/fancytree/skin-win8-xxl/vline.gif
rename to frontend/lib/fancytree/skin-win8-xxl/vline.gif
diff --git a/frontend/js/fancytree/skin-win8/icons-rtl.gif b/frontend/lib/fancytree/skin-win8/icons-rtl.gif
similarity index 100%
rename from frontend/js/fancytree/skin-win8/icons-rtl.gif
rename to frontend/lib/fancytree/skin-win8/icons-rtl.gif
diff --git a/frontend/js/fancytree/skin-win8/icons.gif b/frontend/lib/fancytree/skin-win8/icons.gif
similarity index 100%
rename from frontend/js/fancytree/skin-win8/icons.gif
rename to frontend/lib/fancytree/skin-win8/icons.gif
diff --git a/frontend/js/fancytree/skin-win8/loading.gif b/frontend/lib/fancytree/skin-win8/loading.gif
similarity index 100%
rename from frontend/js/fancytree/skin-win8/loading.gif
rename to frontend/lib/fancytree/skin-win8/loading.gif
diff --git a/frontend/js/fancytree/skin-win8/ui.fancytree.css b/frontend/lib/fancytree/skin-win8/ui.fancytree.css
similarity index 100%
rename from frontend/js/fancytree/skin-win8/ui.fancytree.css
rename to frontend/lib/fancytree/skin-win8/ui.fancytree.css
diff --git a/frontend/js/fancytree/skin-win8/ui.fancytree.less b/frontend/lib/fancytree/skin-win8/ui.fancytree.less
similarity index 100%
rename from frontend/js/fancytree/skin-win8/ui.fancytree.less
rename to frontend/lib/fancytree/skin-win8/ui.fancytree.less
diff --git a/frontend/js/fancytree/skin-win8/ui.fancytree.min.css b/frontend/lib/fancytree/skin-win8/ui.fancytree.min.css
similarity index 100%
rename from frontend/js/fancytree/skin-win8/ui.fancytree.min.css
rename to frontend/lib/fancytree/skin-win8/ui.fancytree.min.css
diff --git a/frontend/js/fancytree/skin-win8/vline-rtl.gif b/frontend/lib/fancytree/skin-win8/vline-rtl.gif
similarity index 100%
rename from frontend/js/fancytree/skin-win8/vline-rtl.gif
rename to frontend/lib/fancytree/skin-win8/vline-rtl.gif
diff --git a/frontend/js/fancytree/skin-win8/vline.gif b/frontend/lib/fancytree/skin-win8/vline.gif
similarity index 100%
rename from frontend/js/fancytree/skin-win8/vline.gif
rename to frontend/lib/fancytree/skin-win8/vline.gif
diff --git a/frontend/js/fancytree/skin-xp/icons-rtl.gif b/frontend/lib/fancytree/skin-xp/icons-rtl.gif
similarity index 100%
rename from frontend/js/fancytree/skin-xp/icons-rtl.gif
rename to frontend/lib/fancytree/skin-xp/icons-rtl.gif
diff --git a/frontend/js/fancytree/skin-xp/icons.gif b/frontend/lib/fancytree/skin-xp/icons.gif
similarity index 100%
rename from frontend/js/fancytree/skin-xp/icons.gif
rename to frontend/lib/fancytree/skin-xp/icons.gif
diff --git a/frontend/js/fancytree/skin-xp/loading.gif b/frontend/lib/fancytree/skin-xp/loading.gif
similarity index 100%
rename from frontend/js/fancytree/skin-xp/loading.gif
rename to frontend/lib/fancytree/skin-xp/loading.gif
diff --git a/frontend/js/fancytree/skin-xp/ui.fancytree.css b/frontend/lib/fancytree/skin-xp/ui.fancytree.css
similarity index 100%
rename from frontend/js/fancytree/skin-xp/ui.fancytree.css
rename to frontend/lib/fancytree/skin-xp/ui.fancytree.css
diff --git a/frontend/js/fancytree/skin-xp/ui.fancytree.less b/frontend/lib/fancytree/skin-xp/ui.fancytree.less
similarity index 100%
rename from frontend/js/fancytree/skin-xp/ui.fancytree.less
rename to frontend/lib/fancytree/skin-xp/ui.fancytree.less
diff --git a/frontend/js/fancytree/skin-xp/ui.fancytree.min.css b/frontend/lib/fancytree/skin-xp/ui.fancytree.min.css
similarity index 100%
rename from frontend/js/fancytree/skin-xp/ui.fancytree.min.css
rename to frontend/lib/fancytree/skin-xp/ui.fancytree.min.css
diff --git a/frontend/js/fancytree/skin-xp/vline-rtl.gif b/frontend/lib/fancytree/skin-xp/vline-rtl.gif
similarity index 100%
rename from frontend/js/fancytree/skin-xp/vline-rtl.gif
rename to frontend/lib/fancytree/skin-xp/vline-rtl.gif
diff --git a/frontend/js/fancytree/skin-xp/vline.gif b/frontend/lib/fancytree/skin-xp/vline.gif
similarity index 100%
rename from frontend/js/fancytree/skin-xp/vline.gif
rename to frontend/lib/fancytree/skin-xp/vline.gif
diff --git a/frontend/js/fancytree/src/jquery.fancytree.ariagrid.js b/frontend/lib/fancytree/src/jquery.fancytree.ariagrid.js
similarity index 100%
rename from frontend/js/fancytree/src/jquery.fancytree.ariagrid.js
rename to frontend/lib/fancytree/src/jquery.fancytree.ariagrid.js
diff --git a/frontend/js/fancytree/src/jquery.fancytree.childcounter.js b/frontend/lib/fancytree/src/jquery.fancytree.childcounter.js
similarity index 100%
rename from frontend/js/fancytree/src/jquery.fancytree.childcounter.js
rename to frontend/lib/fancytree/src/jquery.fancytree.childcounter.js
diff --git a/frontend/js/fancytree/src/jquery.fancytree.clones.js b/frontend/lib/fancytree/src/jquery.fancytree.clones.js
similarity index 100%
rename from frontend/js/fancytree/src/jquery.fancytree.clones.js
rename to frontend/lib/fancytree/src/jquery.fancytree.clones.js
diff --git a/frontend/js/fancytree/src/jquery.fancytree.columnview.js b/frontend/lib/fancytree/src/jquery.fancytree.columnview.js
similarity index 100%
rename from frontend/js/fancytree/src/jquery.fancytree.columnview.js
rename to frontend/lib/fancytree/src/jquery.fancytree.columnview.js
diff --git a/frontend/js/fancytree/src/jquery.fancytree.debug.js b/frontend/lib/fancytree/src/jquery.fancytree.debug.js
similarity index 100%
rename from frontend/js/fancytree/src/jquery.fancytree.debug.js
rename to frontend/lib/fancytree/src/jquery.fancytree.debug.js
diff --git a/frontend/js/fancytree/src/jquery.fancytree.dnd.js b/frontend/lib/fancytree/src/jquery.fancytree.dnd.js
similarity index 100%
rename from frontend/js/fancytree/src/jquery.fancytree.dnd.js
rename to frontend/lib/fancytree/src/jquery.fancytree.dnd.js
diff --git a/frontend/js/fancytree/src/jquery.fancytree.dnd5.js b/frontend/lib/fancytree/src/jquery.fancytree.dnd5.js
similarity index 100%
rename from frontend/js/fancytree/src/jquery.fancytree.dnd5.js
rename to frontend/lib/fancytree/src/jquery.fancytree.dnd5.js
diff --git a/frontend/js/fancytree/src/jquery.fancytree.edit.js b/frontend/lib/fancytree/src/jquery.fancytree.edit.js
similarity index 100%
rename from frontend/js/fancytree/src/jquery.fancytree.edit.js
rename to frontend/lib/fancytree/src/jquery.fancytree.edit.js
diff --git a/frontend/js/fancytree/src/jquery.fancytree.filter.js b/frontend/lib/fancytree/src/jquery.fancytree.filter.js
similarity index 100%
rename from frontend/js/fancytree/src/jquery.fancytree.filter.js
rename to frontend/lib/fancytree/src/jquery.fancytree.filter.js
diff --git a/frontend/js/fancytree/src/jquery.fancytree.fixed.js b/frontend/lib/fancytree/src/jquery.fancytree.fixed.js
similarity index 100%
rename from frontend/js/fancytree/src/jquery.fancytree.fixed.js
rename to frontend/lib/fancytree/src/jquery.fancytree.fixed.js
diff --git a/frontend/js/fancytree/src/jquery.fancytree.glyph.js b/frontend/lib/fancytree/src/jquery.fancytree.glyph.js
similarity index 100%
rename from frontend/js/fancytree/src/jquery.fancytree.glyph.js
rename to frontend/lib/fancytree/src/jquery.fancytree.glyph.js
diff --git a/frontend/js/fancytree/src/jquery.fancytree.gridnav.js b/frontend/lib/fancytree/src/jquery.fancytree.gridnav.js
similarity index 100%
rename from frontend/js/fancytree/src/jquery.fancytree.gridnav.js
rename to frontend/lib/fancytree/src/jquery.fancytree.gridnav.js
diff --git a/frontend/js/fancytree/src/jquery.fancytree.js b/frontend/lib/fancytree/src/jquery.fancytree.js
similarity index 100%
rename from frontend/js/fancytree/src/jquery.fancytree.js
rename to frontend/lib/fancytree/src/jquery.fancytree.js
diff --git a/frontend/js/fancytree/src/jquery.fancytree.menu.js b/frontend/lib/fancytree/src/jquery.fancytree.menu.js
similarity index 100%
rename from frontend/js/fancytree/src/jquery.fancytree.menu.js
rename to frontend/lib/fancytree/src/jquery.fancytree.menu.js
diff --git a/frontend/js/fancytree/src/jquery.fancytree.persist.js b/frontend/lib/fancytree/src/jquery.fancytree.persist.js
similarity index 100%
rename from frontend/js/fancytree/src/jquery.fancytree.persist.js
rename to frontend/lib/fancytree/src/jquery.fancytree.persist.js
diff --git a/frontend/js/fancytree/src/jquery.fancytree.table.js b/frontend/lib/fancytree/src/jquery.fancytree.table.js
similarity index 100%
rename from frontend/js/fancytree/src/jquery.fancytree.table.js
rename to frontend/lib/fancytree/src/jquery.fancytree.table.js
diff --git a/frontend/js/fancytree/src/jquery.fancytree.themeroller.js b/frontend/lib/fancytree/src/jquery.fancytree.themeroller.js
similarity index 100%
rename from frontend/js/fancytree/src/jquery.fancytree.themeroller.js
rename to frontend/lib/fancytree/src/jquery.fancytree.themeroller.js
diff --git a/frontend/js/fancytree/src/jquery.fancytree.wide.js b/frontend/lib/fancytree/src/jquery.fancytree.wide.js
similarity index 100%
rename from frontend/js/fancytree/src/jquery.fancytree.wide.js
rename to frontend/lib/fancytree/src/jquery.fancytree.wide.js
diff --git a/frontend/js/jquery.fancytree.hotkeys.js b/frontend/lib/jquery.fancytree.hotkeys.js
similarity index 100%
rename from frontend/js/jquery.fancytree.hotkeys.js
rename to frontend/lib/jquery.fancytree.hotkeys.js
diff --git a/frontend/js/jquery.hotkeys.js b/frontend/lib/jquery.hotkeys.js
similarity index 100%
rename from frontend/js/jquery.hotkeys.js
rename to frontend/lib/jquery.hotkeys.js
diff --git a/frontend/js/jquery.js b/frontend/lib/jquery.js
similarity index 100%
rename from frontend/js/jquery.js
rename to frontend/lib/jquery.js
diff --git a/frontend/js/jqueryui/AUTHORS.txt b/frontend/lib/jqueryui/AUTHORS.txt
similarity index 100%
rename from frontend/js/jqueryui/AUTHORS.txt
rename to frontend/lib/jqueryui/AUTHORS.txt
diff --git a/frontend/js/jqueryui/LICENSE.txt b/frontend/lib/jqueryui/LICENSE.txt
similarity index 100%
rename from frontend/js/jqueryui/LICENSE.txt
rename to frontend/lib/jqueryui/LICENSE.txt
diff --git a/frontend/js/jqueryui/images/ui-icons_444444_256x240.png b/frontend/lib/jqueryui/images/ui-icons_444444_256x240.png
similarity index 100%
rename from frontend/js/jqueryui/images/ui-icons_444444_256x240.png
rename to frontend/lib/jqueryui/images/ui-icons_444444_256x240.png
diff --git a/frontend/js/jqueryui/images/ui-icons_555555_256x240.png b/frontend/lib/jqueryui/images/ui-icons_555555_256x240.png
similarity index 100%
rename from frontend/js/jqueryui/images/ui-icons_555555_256x240.png
rename to frontend/lib/jqueryui/images/ui-icons_555555_256x240.png
diff --git a/frontend/js/jqueryui/images/ui-icons_777620_256x240.png b/frontend/lib/jqueryui/images/ui-icons_777620_256x240.png
similarity index 100%
rename from frontend/js/jqueryui/images/ui-icons_777620_256x240.png
rename to frontend/lib/jqueryui/images/ui-icons_777620_256x240.png
diff --git a/frontend/js/jqueryui/images/ui-icons_777777_256x240.png b/frontend/lib/jqueryui/images/ui-icons_777777_256x240.png
similarity index 100%
rename from frontend/js/jqueryui/images/ui-icons_777777_256x240.png
rename to frontend/lib/jqueryui/images/ui-icons_777777_256x240.png
diff --git a/frontend/js/jqueryui/images/ui-icons_cc0000_256x240.png b/frontend/lib/jqueryui/images/ui-icons_cc0000_256x240.png
similarity index 100%
rename from frontend/js/jqueryui/images/ui-icons_cc0000_256x240.png
rename to frontend/lib/jqueryui/images/ui-icons_cc0000_256x240.png
diff --git a/frontend/js/jqueryui/images/ui-icons_ffffff_256x240.png b/frontend/lib/jqueryui/images/ui-icons_ffffff_256x240.png
similarity index 100%
rename from frontend/js/jqueryui/images/ui-icons_ffffff_256x240.png
rename to frontend/lib/jqueryui/images/ui-icons_ffffff_256x240.png
diff --git a/frontend/js/jqueryui/index.html b/frontend/lib/jqueryui/index.html
similarity index 100%
rename from frontend/js/jqueryui/index.html
rename to frontend/lib/jqueryui/index.html
diff --git a/frontend/js/jqueryui/jquery-ui.css b/frontend/lib/jqueryui/jquery-ui.css
similarity index 100%
rename from frontend/js/jqueryui/jquery-ui.css
rename to frontend/lib/jqueryui/jquery-ui.css
diff --git a/frontend/js/jqueryui/jquery-ui.js b/frontend/lib/jqueryui/jquery-ui.js
similarity index 100%
rename from frontend/js/jqueryui/jquery-ui.js
rename to frontend/lib/jqueryui/jquery-ui.js
diff --git a/frontend/js/jqueryui/jquery-ui.min.css b/frontend/lib/jqueryui/jquery-ui.min.css
similarity index 100%
rename from frontend/js/jqueryui/jquery-ui.min.css
rename to frontend/lib/jqueryui/jquery-ui.min.css
diff --git a/frontend/js/jqueryui/jquery-ui.min.js b/frontend/lib/jqueryui/jquery-ui.min.js
similarity index 100%
rename from frontend/js/jqueryui/jquery-ui.min.js
rename to frontend/lib/jqueryui/jquery-ui.min.js
diff --git a/frontend/js/jqueryui/jquery-ui.structure.css b/frontend/lib/jqueryui/jquery-ui.structure.css
similarity index 100%
rename from frontend/js/jqueryui/jquery-ui.structure.css
rename to frontend/lib/jqueryui/jquery-ui.structure.css
diff --git a/frontend/js/jqueryui/jquery-ui.structure.min.css b/frontend/lib/jqueryui/jquery-ui.structure.min.css
similarity index 100%
rename from frontend/js/jqueryui/jquery-ui.structure.min.css
rename to frontend/lib/jqueryui/jquery-ui.structure.min.css
diff --git a/frontend/js/jqueryui/jquery-ui.theme.css b/frontend/lib/jqueryui/jquery-ui.theme.css
similarity index 100%
rename from frontend/js/jqueryui/jquery-ui.theme.css
rename to frontend/lib/jqueryui/jquery-ui.theme.css
diff --git a/frontend/js/jqueryui/jquery-ui.theme.min.css b/frontend/lib/jqueryui/jquery-ui.theme.min.css
similarity index 100%
rename from frontend/js/jqueryui/jquery-ui.theme.min.css
rename to frontend/lib/jqueryui/jquery-ui.theme.min.css
diff --git a/frontend/js/jqueryui/package.json b/frontend/lib/jqueryui/package.json
similarity index 100%
rename from frontend/js/jqueryui/package.json
rename to frontend/lib/jqueryui/package.json
diff --git a/frontend/js/summernote/font/summernote.eot b/frontend/lib/summernote/font/summernote.eot
similarity index 100%
rename from frontend/js/summernote/font/summernote.eot
rename to frontend/lib/summernote/font/summernote.eot
diff --git a/frontend/js/summernote/font/summernote.ttf b/frontend/lib/summernote/font/summernote.ttf
similarity index 100%
rename from frontend/js/summernote/font/summernote.ttf
rename to frontend/lib/summernote/font/summernote.ttf
diff --git a/frontend/js/summernote/font/summernote.woff b/frontend/lib/summernote/font/summernote.woff
similarity index 100%
rename from frontend/js/summernote/font/summernote.woff
rename to frontend/lib/summernote/font/summernote.woff
diff --git a/frontend/js/summernote/lang/summernote-ar-AR.js b/frontend/lib/summernote/lang/summernote-ar-AR.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-ar-AR.js
rename to frontend/lib/summernote/lang/summernote-ar-AR.js
diff --git a/frontend/js/summernote/lang/summernote-ar-AR.min.js b/frontend/lib/summernote/lang/summernote-ar-AR.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-ar-AR.min.js
rename to frontend/lib/summernote/lang/summernote-ar-AR.min.js
diff --git a/frontend/js/summernote/lang/summernote-bg-BG.js b/frontend/lib/summernote/lang/summernote-bg-BG.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-bg-BG.js
rename to frontend/lib/summernote/lang/summernote-bg-BG.js
diff --git a/frontend/js/summernote/lang/summernote-bg-BG.min.js b/frontend/lib/summernote/lang/summernote-bg-BG.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-bg-BG.min.js
rename to frontend/lib/summernote/lang/summernote-bg-BG.min.js
diff --git a/frontend/js/summernote/lang/summernote-ca-ES.js b/frontend/lib/summernote/lang/summernote-ca-ES.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-ca-ES.js
rename to frontend/lib/summernote/lang/summernote-ca-ES.js
diff --git a/frontend/js/summernote/lang/summernote-ca-ES.min.js b/frontend/lib/summernote/lang/summernote-ca-ES.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-ca-ES.min.js
rename to frontend/lib/summernote/lang/summernote-ca-ES.min.js
diff --git a/frontend/js/summernote/lang/summernote-cs-CZ.js b/frontend/lib/summernote/lang/summernote-cs-CZ.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-cs-CZ.js
rename to frontend/lib/summernote/lang/summernote-cs-CZ.js
diff --git a/frontend/js/summernote/lang/summernote-cs-CZ.min.js b/frontend/lib/summernote/lang/summernote-cs-CZ.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-cs-CZ.min.js
rename to frontend/lib/summernote/lang/summernote-cs-CZ.min.js
diff --git a/frontend/js/summernote/lang/summernote-da-DK.js b/frontend/lib/summernote/lang/summernote-da-DK.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-da-DK.js
rename to frontend/lib/summernote/lang/summernote-da-DK.js
diff --git a/frontend/js/summernote/lang/summernote-da-DK.min.js b/frontend/lib/summernote/lang/summernote-da-DK.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-da-DK.min.js
rename to frontend/lib/summernote/lang/summernote-da-DK.min.js
diff --git a/frontend/js/summernote/lang/summernote-de-DE.js b/frontend/lib/summernote/lang/summernote-de-DE.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-de-DE.js
rename to frontend/lib/summernote/lang/summernote-de-DE.js
diff --git a/frontend/js/summernote/lang/summernote-de-DE.min.js b/frontend/lib/summernote/lang/summernote-de-DE.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-de-DE.min.js
rename to frontend/lib/summernote/lang/summernote-de-DE.min.js
diff --git a/frontend/js/summernote/lang/summernote-el-GR.js b/frontend/lib/summernote/lang/summernote-el-GR.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-el-GR.js
rename to frontend/lib/summernote/lang/summernote-el-GR.js
diff --git a/frontend/js/summernote/lang/summernote-el-GR.min.js b/frontend/lib/summernote/lang/summernote-el-GR.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-el-GR.min.js
rename to frontend/lib/summernote/lang/summernote-el-GR.min.js
diff --git a/frontend/js/summernote/lang/summernote-es-ES.js b/frontend/lib/summernote/lang/summernote-es-ES.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-es-ES.js
rename to frontend/lib/summernote/lang/summernote-es-ES.js
diff --git a/frontend/js/summernote/lang/summernote-es-ES.min.js b/frontend/lib/summernote/lang/summernote-es-ES.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-es-ES.min.js
rename to frontend/lib/summernote/lang/summernote-es-ES.min.js
diff --git a/frontend/js/summernote/lang/summernote-es-EU.js b/frontend/lib/summernote/lang/summernote-es-EU.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-es-EU.js
rename to frontend/lib/summernote/lang/summernote-es-EU.js
diff --git a/frontend/js/summernote/lang/summernote-es-EU.min.js b/frontend/lib/summernote/lang/summernote-es-EU.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-es-EU.min.js
rename to frontend/lib/summernote/lang/summernote-es-EU.min.js
diff --git a/frontend/js/summernote/lang/summernote-fa-IR.js b/frontend/lib/summernote/lang/summernote-fa-IR.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-fa-IR.js
rename to frontend/lib/summernote/lang/summernote-fa-IR.js
diff --git a/frontend/js/summernote/lang/summernote-fa-IR.min.js b/frontend/lib/summernote/lang/summernote-fa-IR.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-fa-IR.min.js
rename to frontend/lib/summernote/lang/summernote-fa-IR.min.js
diff --git a/frontend/js/summernote/lang/summernote-fi-FI.js b/frontend/lib/summernote/lang/summernote-fi-FI.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-fi-FI.js
rename to frontend/lib/summernote/lang/summernote-fi-FI.js
diff --git a/frontend/js/summernote/lang/summernote-fi-FI.min.js b/frontend/lib/summernote/lang/summernote-fi-FI.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-fi-FI.min.js
rename to frontend/lib/summernote/lang/summernote-fi-FI.min.js
diff --git a/frontend/js/summernote/lang/summernote-fr-FR.js b/frontend/lib/summernote/lang/summernote-fr-FR.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-fr-FR.js
rename to frontend/lib/summernote/lang/summernote-fr-FR.js
diff --git a/frontend/js/summernote/lang/summernote-fr-FR.min.js b/frontend/lib/summernote/lang/summernote-fr-FR.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-fr-FR.min.js
rename to frontend/lib/summernote/lang/summernote-fr-FR.min.js
diff --git a/frontend/js/summernote/lang/summernote-gl-ES.js b/frontend/lib/summernote/lang/summernote-gl-ES.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-gl-ES.js
rename to frontend/lib/summernote/lang/summernote-gl-ES.js
diff --git a/frontend/js/summernote/lang/summernote-gl-ES.min.js b/frontend/lib/summernote/lang/summernote-gl-ES.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-gl-ES.min.js
rename to frontend/lib/summernote/lang/summernote-gl-ES.min.js
diff --git a/frontend/js/summernote/lang/summernote-he-IL.js b/frontend/lib/summernote/lang/summernote-he-IL.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-he-IL.js
rename to frontend/lib/summernote/lang/summernote-he-IL.js
diff --git a/frontend/js/summernote/lang/summernote-he-IL.min.js b/frontend/lib/summernote/lang/summernote-he-IL.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-he-IL.min.js
rename to frontend/lib/summernote/lang/summernote-he-IL.min.js
diff --git a/frontend/js/summernote/lang/summernote-hr-HR.js b/frontend/lib/summernote/lang/summernote-hr-HR.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-hr-HR.js
rename to frontend/lib/summernote/lang/summernote-hr-HR.js
diff --git a/frontend/js/summernote/lang/summernote-hr-HR.min.js b/frontend/lib/summernote/lang/summernote-hr-HR.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-hr-HR.min.js
rename to frontend/lib/summernote/lang/summernote-hr-HR.min.js
diff --git a/frontend/js/summernote/lang/summernote-hu-HU.js b/frontend/lib/summernote/lang/summernote-hu-HU.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-hu-HU.js
rename to frontend/lib/summernote/lang/summernote-hu-HU.js
diff --git a/frontend/js/summernote/lang/summernote-hu-HU.min.js b/frontend/lib/summernote/lang/summernote-hu-HU.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-hu-HU.min.js
rename to frontend/lib/summernote/lang/summernote-hu-HU.min.js
diff --git a/frontend/js/summernote/lang/summernote-id-ID.js b/frontend/lib/summernote/lang/summernote-id-ID.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-id-ID.js
rename to frontend/lib/summernote/lang/summernote-id-ID.js
diff --git a/frontend/js/summernote/lang/summernote-id-ID.min.js b/frontend/lib/summernote/lang/summernote-id-ID.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-id-ID.min.js
rename to frontend/lib/summernote/lang/summernote-id-ID.min.js
diff --git a/frontend/js/summernote/lang/summernote-it-IT.js b/frontend/lib/summernote/lang/summernote-it-IT.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-it-IT.js
rename to frontend/lib/summernote/lang/summernote-it-IT.js
diff --git a/frontend/js/summernote/lang/summernote-it-IT.min.js b/frontend/lib/summernote/lang/summernote-it-IT.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-it-IT.min.js
rename to frontend/lib/summernote/lang/summernote-it-IT.min.js
diff --git a/frontend/js/summernote/lang/summernote-ja-JP.js b/frontend/lib/summernote/lang/summernote-ja-JP.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-ja-JP.js
rename to frontend/lib/summernote/lang/summernote-ja-JP.js
diff --git a/frontend/js/summernote/lang/summernote-ja-JP.min.js b/frontend/lib/summernote/lang/summernote-ja-JP.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-ja-JP.min.js
rename to frontend/lib/summernote/lang/summernote-ja-JP.min.js
diff --git a/frontend/js/summernote/lang/summernote-ko-KR.js b/frontend/lib/summernote/lang/summernote-ko-KR.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-ko-KR.js
rename to frontend/lib/summernote/lang/summernote-ko-KR.js
diff --git a/frontend/js/summernote/lang/summernote-ko-KR.min.js b/frontend/lib/summernote/lang/summernote-ko-KR.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-ko-KR.min.js
rename to frontend/lib/summernote/lang/summernote-ko-KR.min.js
diff --git a/frontend/js/summernote/lang/summernote-lt-LT.js b/frontend/lib/summernote/lang/summernote-lt-LT.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-lt-LT.js
rename to frontend/lib/summernote/lang/summernote-lt-LT.js
diff --git a/frontend/js/summernote/lang/summernote-lt-LT.min.js b/frontend/lib/summernote/lang/summernote-lt-LT.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-lt-LT.min.js
rename to frontend/lib/summernote/lang/summernote-lt-LT.min.js
diff --git a/frontend/js/summernote/lang/summernote-lt-LV.js b/frontend/lib/summernote/lang/summernote-lt-LV.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-lt-LV.js
rename to frontend/lib/summernote/lang/summernote-lt-LV.js
diff --git a/frontend/js/summernote/lang/summernote-lt-LV.min.js b/frontend/lib/summernote/lang/summernote-lt-LV.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-lt-LV.min.js
rename to frontend/lib/summernote/lang/summernote-lt-LV.min.js
diff --git a/frontend/js/summernote/lang/summernote-mn-MN b/frontend/lib/summernote/lang/summernote-mn-MN
similarity index 100%
rename from frontend/js/summernote/lang/summernote-mn-MN
rename to frontend/lib/summernote/lang/summernote-mn-MN
diff --git a/frontend/js/summernote/lang/summernote-mn-MN.js b/frontend/lib/summernote/lang/summernote-mn-MN.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-mn-MN.js
rename to frontend/lib/summernote/lang/summernote-mn-MN.js
diff --git a/frontend/js/summernote/lang/summernote-mn-MN.min.js b/frontend/lib/summernote/lang/summernote-mn-MN.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-mn-MN.min.js
rename to frontend/lib/summernote/lang/summernote-mn-MN.min.js
diff --git a/frontend/js/summernote/lang/summernote-nb-NO.js b/frontend/lib/summernote/lang/summernote-nb-NO.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-nb-NO.js
rename to frontend/lib/summernote/lang/summernote-nb-NO.js
diff --git a/frontend/js/summernote/lang/summernote-nb-NO.min.js b/frontend/lib/summernote/lang/summernote-nb-NO.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-nb-NO.min.js
rename to frontend/lib/summernote/lang/summernote-nb-NO.min.js
diff --git a/frontend/js/summernote/lang/summernote-nl-NL.js b/frontend/lib/summernote/lang/summernote-nl-NL.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-nl-NL.js
rename to frontend/lib/summernote/lang/summernote-nl-NL.js
diff --git a/frontend/js/summernote/lang/summernote-nl-NL.min.js b/frontend/lib/summernote/lang/summernote-nl-NL.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-nl-NL.min.js
rename to frontend/lib/summernote/lang/summernote-nl-NL.min.js
diff --git a/frontend/js/summernote/lang/summernote-pl-PL.js b/frontend/lib/summernote/lang/summernote-pl-PL.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-pl-PL.js
rename to frontend/lib/summernote/lang/summernote-pl-PL.js
diff --git a/frontend/js/summernote/lang/summernote-pl-PL.min.js b/frontend/lib/summernote/lang/summernote-pl-PL.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-pl-PL.min.js
rename to frontend/lib/summernote/lang/summernote-pl-PL.min.js
diff --git a/frontend/js/summernote/lang/summernote-pt-BR.js b/frontend/lib/summernote/lang/summernote-pt-BR.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-pt-BR.js
rename to frontend/lib/summernote/lang/summernote-pt-BR.js
diff --git a/frontend/js/summernote/lang/summernote-pt-BR.min.js b/frontend/lib/summernote/lang/summernote-pt-BR.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-pt-BR.min.js
rename to frontend/lib/summernote/lang/summernote-pt-BR.min.js
diff --git a/frontend/js/summernote/lang/summernote-pt-PT.js b/frontend/lib/summernote/lang/summernote-pt-PT.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-pt-PT.js
rename to frontend/lib/summernote/lang/summernote-pt-PT.js
diff --git a/frontend/js/summernote/lang/summernote-pt-PT.min.js b/frontend/lib/summernote/lang/summernote-pt-PT.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-pt-PT.min.js
rename to frontend/lib/summernote/lang/summernote-pt-PT.min.js
diff --git a/frontend/js/summernote/lang/summernote-ro-RO.js b/frontend/lib/summernote/lang/summernote-ro-RO.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-ro-RO.js
rename to frontend/lib/summernote/lang/summernote-ro-RO.js
diff --git a/frontend/js/summernote/lang/summernote-ro-RO.min.js b/frontend/lib/summernote/lang/summernote-ro-RO.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-ro-RO.min.js
rename to frontend/lib/summernote/lang/summernote-ro-RO.min.js
diff --git a/frontend/js/summernote/lang/summernote-ru-RU.js b/frontend/lib/summernote/lang/summernote-ru-RU.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-ru-RU.js
rename to frontend/lib/summernote/lang/summernote-ru-RU.js
diff --git a/frontend/js/summernote/lang/summernote-ru-RU.min.js b/frontend/lib/summernote/lang/summernote-ru-RU.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-ru-RU.min.js
rename to frontend/lib/summernote/lang/summernote-ru-RU.min.js
diff --git a/frontend/js/summernote/lang/summernote-sk-SK.js b/frontend/lib/summernote/lang/summernote-sk-SK.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-sk-SK.js
rename to frontend/lib/summernote/lang/summernote-sk-SK.js
diff --git a/frontend/js/summernote/lang/summernote-sk-SK.min.js b/frontend/lib/summernote/lang/summernote-sk-SK.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-sk-SK.min.js
rename to frontend/lib/summernote/lang/summernote-sk-SK.min.js
diff --git a/frontend/js/summernote/lang/summernote-sl-SI.js b/frontend/lib/summernote/lang/summernote-sl-SI.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-sl-SI.js
rename to frontend/lib/summernote/lang/summernote-sl-SI.js
diff --git a/frontend/js/summernote/lang/summernote-sl-SI.min.js b/frontend/lib/summernote/lang/summernote-sl-SI.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-sl-SI.min.js
rename to frontend/lib/summernote/lang/summernote-sl-SI.min.js
diff --git a/frontend/js/summernote/lang/summernote-sr-RS-Latin.js b/frontend/lib/summernote/lang/summernote-sr-RS-Latin.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-sr-RS-Latin.js
rename to frontend/lib/summernote/lang/summernote-sr-RS-Latin.js
diff --git a/frontend/js/summernote/lang/summernote-sr-RS-Latin.min.js b/frontend/lib/summernote/lang/summernote-sr-RS-Latin.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-sr-RS-Latin.min.js
rename to frontend/lib/summernote/lang/summernote-sr-RS-Latin.min.js
diff --git a/frontend/js/summernote/lang/summernote-sr-RS.js b/frontend/lib/summernote/lang/summernote-sr-RS.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-sr-RS.js
rename to frontend/lib/summernote/lang/summernote-sr-RS.js
diff --git a/frontend/js/summernote/lang/summernote-sr-RS.min.js b/frontend/lib/summernote/lang/summernote-sr-RS.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-sr-RS.min.js
rename to frontend/lib/summernote/lang/summernote-sr-RS.min.js
diff --git a/frontend/js/summernote/lang/summernote-sv-SE.js b/frontend/lib/summernote/lang/summernote-sv-SE.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-sv-SE.js
rename to frontend/lib/summernote/lang/summernote-sv-SE.js
diff --git a/frontend/js/summernote/lang/summernote-sv-SE.min.js b/frontend/lib/summernote/lang/summernote-sv-SE.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-sv-SE.min.js
rename to frontend/lib/summernote/lang/summernote-sv-SE.min.js
diff --git a/frontend/js/summernote/lang/summernote-ta-IN.js b/frontend/lib/summernote/lang/summernote-ta-IN.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-ta-IN.js
rename to frontend/lib/summernote/lang/summernote-ta-IN.js
diff --git a/frontend/js/summernote/lang/summernote-ta-IN.min.js b/frontend/lib/summernote/lang/summernote-ta-IN.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-ta-IN.min.js
rename to frontend/lib/summernote/lang/summernote-ta-IN.min.js
diff --git a/frontend/js/summernote/lang/summernote-th-TH.js b/frontend/lib/summernote/lang/summernote-th-TH.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-th-TH.js
rename to frontend/lib/summernote/lang/summernote-th-TH.js
diff --git a/frontend/js/summernote/lang/summernote-th-TH.min.js b/frontend/lib/summernote/lang/summernote-th-TH.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-th-TH.min.js
rename to frontend/lib/summernote/lang/summernote-th-TH.min.js
diff --git a/frontend/js/summernote/lang/summernote-tr-TR.js b/frontend/lib/summernote/lang/summernote-tr-TR.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-tr-TR.js
rename to frontend/lib/summernote/lang/summernote-tr-TR.js
diff --git a/frontend/js/summernote/lang/summernote-tr-TR.min.js b/frontend/lib/summernote/lang/summernote-tr-TR.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-tr-TR.min.js
rename to frontend/lib/summernote/lang/summernote-tr-TR.min.js
diff --git a/frontend/js/summernote/lang/summernote-uk-UA.js b/frontend/lib/summernote/lang/summernote-uk-UA.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-uk-UA.js
rename to frontend/lib/summernote/lang/summernote-uk-UA.js
diff --git a/frontend/js/summernote/lang/summernote-uk-UA.min.js b/frontend/lib/summernote/lang/summernote-uk-UA.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-uk-UA.min.js
rename to frontend/lib/summernote/lang/summernote-uk-UA.min.js
diff --git a/frontend/js/summernote/lang/summernote-vi-VN.js b/frontend/lib/summernote/lang/summernote-vi-VN.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-vi-VN.js
rename to frontend/lib/summernote/lang/summernote-vi-VN.js
diff --git a/frontend/js/summernote/lang/summernote-vi-VN.min.js b/frontend/lib/summernote/lang/summernote-vi-VN.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-vi-VN.min.js
rename to frontend/lib/summernote/lang/summernote-vi-VN.min.js
diff --git a/frontend/js/summernote/lang/summernote-zh-CN.js b/frontend/lib/summernote/lang/summernote-zh-CN.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-zh-CN.js
rename to frontend/lib/summernote/lang/summernote-zh-CN.js
diff --git a/frontend/js/summernote/lang/summernote-zh-CN.min.js b/frontend/lib/summernote/lang/summernote-zh-CN.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-zh-CN.min.js
rename to frontend/lib/summernote/lang/summernote-zh-CN.min.js
diff --git a/frontend/js/summernote/lang/summernote-zh-TW.js b/frontend/lib/summernote/lang/summernote-zh-TW.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-zh-TW.js
rename to frontend/lib/summernote/lang/summernote-zh-TW.js
diff --git a/frontend/js/summernote/lang/summernote-zh-TW.min.js b/frontend/lib/summernote/lang/summernote-zh-TW.min.js
similarity index 100%
rename from frontend/js/summernote/lang/summernote-zh-TW.min.js
rename to frontend/lib/summernote/lang/summernote-zh-TW.min.js
diff --git a/frontend/js/summernote/plugin/databasic/summernote-ext-databasic.css b/frontend/lib/summernote/plugin/databasic/summernote-ext-databasic.css
similarity index 100%
rename from frontend/js/summernote/plugin/databasic/summernote-ext-databasic.css
rename to frontend/lib/summernote/plugin/databasic/summernote-ext-databasic.css
diff --git a/frontend/js/summernote/plugin/databasic/summernote-ext-databasic.js b/frontend/lib/summernote/plugin/databasic/summernote-ext-databasic.js
similarity index 100%
rename from frontend/js/summernote/plugin/databasic/summernote-ext-databasic.js
rename to frontend/lib/summernote/plugin/databasic/summernote-ext-databasic.js
diff --git a/frontend/js/summernote/plugin/databasic/summernote-ext-databasic.min.css b/frontend/lib/summernote/plugin/databasic/summernote-ext-databasic.min.css
similarity index 100%
rename from frontend/js/summernote/plugin/databasic/summernote-ext-databasic.min.css
rename to frontend/lib/summernote/plugin/databasic/summernote-ext-databasic.min.css
diff --git a/frontend/js/summernote/plugin/databasic/summernote-ext-databasic.min.js b/frontend/lib/summernote/plugin/databasic/summernote-ext-databasic.min.js
similarity index 100%
rename from frontend/js/summernote/plugin/databasic/summernote-ext-databasic.min.js
rename to frontend/lib/summernote/plugin/databasic/summernote-ext-databasic.min.js
diff --git a/frontend/js/summernote/plugin/hello/summernote-ext-hello.js b/frontend/lib/summernote/plugin/hello/summernote-ext-hello.js
similarity index 100%
rename from frontend/js/summernote/plugin/hello/summernote-ext-hello.js
rename to frontend/lib/summernote/plugin/hello/summernote-ext-hello.js
diff --git a/frontend/js/summernote/plugin/hello/summernote-ext-hello.min.js b/frontend/lib/summernote/plugin/hello/summernote-ext-hello.min.js
similarity index 100%
rename from frontend/js/summernote/plugin/hello/summernote-ext-hello.min.js
rename to frontend/lib/summernote/plugin/hello/summernote-ext-hello.min.js
diff --git a/frontend/js/summernote/plugin/specialchars/summernote-ext-specialchars.js b/frontend/lib/summernote/plugin/specialchars/summernote-ext-specialchars.js
similarity index 100%
rename from frontend/js/summernote/plugin/specialchars/summernote-ext-specialchars.js
rename to frontend/lib/summernote/plugin/specialchars/summernote-ext-specialchars.js
diff --git a/frontend/js/summernote/plugin/specialchars/summernote-ext-specialchars.min.js b/frontend/lib/summernote/plugin/specialchars/summernote-ext-specialchars.min.js
similarity index 100%
rename from frontend/js/summernote/plugin/specialchars/summernote-ext-specialchars.min.js
rename to frontend/lib/summernote/plugin/specialchars/summernote-ext-specialchars.min.js
diff --git a/frontend/js/summernote/summernote.css b/frontend/lib/summernote/summernote.css
similarity index 100%
rename from frontend/js/summernote/summernote.css
rename to frontend/lib/summernote/summernote.css
diff --git a/frontend/js/summernote/summernote.js b/frontend/lib/summernote/summernote.js
similarity index 100%
rename from frontend/js/summernote/summernote.js
rename to frontend/lib/summernote/summernote.js
diff --git a/frontend/js/summernote/summernote.min.js b/frontend/lib/summernote/summernote.min.js
similarity index 100%
rename from frontend/js/summernote/summernote.min.js
rename to frontend/lib/summernote/summernote.min.js
diff --git a/frontend/note.js b/frontend/note.js
new file mode 100644
index 000000000..40dc3965d
--- /dev/null
+++ b/frontend/note.js
@@ -0,0 +1,108 @@
+let tags = {
+ 1: "",
+ 2: "",
+ 3: "",
+ 4: "",
+ 5: "",
+ 6: "",
+ 9: "",
+ 10: ""
+};
+
+function noteChanged() {
+ let note = globalNote;
+
+ let contents = $('#noteDetail').summernote('code');
+
+ let title = $('#noteTitle').val();
+
+ $("#tree").fancytree('getNodeByKey', note.detail.note_id).setTitle(title);
+
+ html2notecase(contents, note);
+
+ note.detail.note_title = title;
+
+ $.ajax({
+ url: baseUrl + 'notes/' + note.detail.note_id,
+ type: 'PUT',
+ data: JSON.stringify(note),
+ contentType: "application/json",
+ success: function(result) {
+ message("Saved!");
+ }
+ });
+}
+
+$(document).ready(function() {
+ $("#noteTitle").on('input', function() {
+ noteChanged();
+ });
+
+ $('#noteDetail').summernote({
+ airMode: true,
+ callbacks: {
+ onChange: noteChanged
+ }
+ });
+});
+
+var globalNote;
+
+function setParent(noteId, newParentKey, successCallback) {
+ let newNoteName = "new note";
+
+ $.ajax({
+ url: baseUrl + 'notes/' + nodeId + '/setParent/' + newParentKey,
+ type: 'PUT',
+ contentType: "application/json",
+ success: function(result) {
+ successCallback();
+ }
+ });
+}
+
+function createNote(node, parentKey, target) {
+ let newNoteName = "new note";
+
+ $.ajax({
+ url: baseUrl + 'notes/' + parentKey + '/children' ,
+ type: 'POST',
+ data: JSON.stringify({
+ note_title: newNoteName,
+ target: target,
+ target_note_id: node.key
+ }),
+ contentType: "application/json",
+ success: function(result) {
+ let newNode = {
+ "title": newNoteName,
+ "key": result.note_id,
+ "note_id": result.note_id
+ };
+
+ if (target == 'after') {
+ node.appendSibling(newNode).setActive(true);
+ }
+ else {
+ node.addChildren(newNode).setActive(true);
+
+ node.folder = true;
+ node.renderTitle();
+ }
+
+ message("Created!");
+ }
+ });
+}
+
+function loadNote(noteId) {
+ $.get(baseUrl + 'notes/' + noteId).then(function(note) {
+ globalNote = note;
+
+ $("#noteTitle").val(note.detail.note_title);
+
+ let noteText = notecase2html(note);
+
+ $('#noteDetail').summernote('code', noteText);
+ });
+}
\ No newline at end of file
diff --git a/frontend/notecase2html.js b/frontend/notecase2html.js
new file mode 100644
index 000000000..c3c569496
--- /dev/null
+++ b/frontend/notecase2html.js
@@ -0,0 +1,48 @@
+function notecase2html(note) {
+ let noteText = note.detail.note_text;
+
+ let formatting = note.formatting;
+ let links = note.links;
+ let images = note.images;
+
+ let offset = 0;
+ let lastTag = null;
+
+ function inject(target, injected, position) {
+ offset += injected.length;
+
+ return noteText.substr(0, position) + injected + noteText.substr(position);
+ }
+
+ for (let fmt of formatting) {
+ if (tags[fmt.fmt_tag]) {
+ noteText = inject(noteText, tags[fmt.fmt_tag], fmt.note_offset + offset);
+ }
+ }
+
+ offset = 0;
+
+ for (let link of links) {
+ let linkHtml = '' + link.lnk_text + '';
+
+ noteText = noteText.substr(0, link.note_offset + offset) + noteText.substr(link.note_offset + offset + link.lnk_text.length);
+
+ noteText = inject(noteText, linkHtml, link.note_offset + offset);
+
+ offset -= link.lnk_text.length;
+ }
+
+ offset = 0;
+
+ for (let image of images) {
+ let type = image.is_png ? "png" : "jpg";
+
+ let imgHtml = '
';
+
+ noteText = inject(noteText, imgHtml, image.note_offset + offset);
+ }
+
+ noteText = noteText.replace(/(?:\r\n|\r|\n)/g, '
');
+
+ return noteText;
+}
\ No newline at end of file
diff --git a/frontend/tree.js b/frontend/tree.js
new file mode 100644
index 000000000..ae2951333
--- /dev/null
+++ b/frontend/tree.js
@@ -0,0 +1,135 @@
+$(function(){
+ $.get(baseUrl + 'tree').then(notes => {
+ function copyTitle(notes) {
+ for (let note of notes) {
+ note.title = note.note_title;
+ note.key = note.note_id;
+ note.expanded = note.is_expanded;
+
+ if (note.children && note.children.length > 0) {
+ copyTitle(note.children);
+ }
+ }
+ }
+
+ copyTitle(notes);
+
+ function setExpanded(note_id, is_expanded) {
+ expanded_num = is_expanded ? 1 : 0;
+
+ $.ajax({
+ url: baseUrl + 'notes/' + note_id + '/expanded/' + expanded_num,
+ type: 'PUT',
+ contentType: "application/json",
+ success: function(result) {
+
+ }
+ });
+ }
+
+ $("#tree").fancytree({
+ extensions: ["hotkeys"],
+ source: notes,
+ activate: function(event, data){
+ var node = data.node.data;
+ var noteId = node.note_id;
+
+ loadNote(noteId);
+ },
+ expand: function(event, data) {
+ setExpanded(data.node.key, true);
+ },
+ collapse: function(event, data) {
+ setExpanded(data.node.key, false);
+ },
+ hotkeys: {
+ keydown: {
+ "insert": function(node) {
+ let parentKey = (node.getParent() == null || node.getParent().key == "root_1") ? "root" : node.getParent().key;
+
+ createNote(node, parentKey, 'after');
+ },
+ "shift+insert": function(node) {
+ createNote(node, node.key, 'into');
+ },
+ "del": function(node) {
+ if (confirm('Are you sure you want to delete note "' + node.title + '"?')) {
+ $.ajax({
+ url: baseUrl + 'notes/' + node.key,
+ type: 'DELETE',
+ success: function(result) {
+ if (node.getParent() != null && node.getParent().getChildren().length <= 1) {
+ node.getParent().folder = false;
+ node.getParent().renderTitle();
+ }
+
+ node.remove();
+ }
+ });
+ }
+ },
+ "shift+up": function(node) {
+ if (node.getPrevSibling() != null) {
+ $.ajax({
+ url: baseUrl + 'notes/' + node.key + '/moveBefore/' + node.getPrevSibling().key,
+ type: 'PUT',
+ contentType: "application/json",
+ success: function(result) {
+ node.moveTo(node.getPrevSibling(), 'before');
+ }
+ });
+ }
+ },
+ "shift+down": function(node) {
+ if (node.getNextSibling() != null) {
+ $.ajax({
+ url: baseUrl + 'notes/' + node.key + '/moveAfter/' + node.getNextSibling().key,
+ type: 'PUT',
+ contentType: "application/json",
+ success: function(result) {
+ node.moveTo(node.getNextSibling(), 'after');
+ }
+ });
+ }
+ },
+ "shift+left": function(node) {
+ if (node.getParent() != null) {
+ $.ajax({
+ url: baseUrl + 'notes/' + node.key + '/moveAfter/' + node.getParent().key,
+ type: 'PUT',
+ contentType: "application/json",
+ success: function(result) {
+ if (node.getParent() != null && node.getParent().getChildren().length <= 1) {
+ node.getParent().folder = false;
+ node.getParent().renderTitle();
+ }
+
+ node.moveTo(node.getParent(), 'after');
+ }
+ });
+ }
+ },
+ "shift+right": function(node) {
+ let prevSibling = node.getPrevSibling();
+
+ if (prevSibling != null) {
+ $.ajax({
+ url: baseUrl + 'notes/' + node.key + '/moveTo/' + prevSibling.key,
+ type: 'PUT',
+ contentType: "application/json",
+ success: function(result) {
+ node.moveTo(prevSibling);
+
+ prevSibling.setExpanded(true);
+
+ prevSibling.folder = true;
+ prevSibling.renderTitle();
+ }
+ });
+ }
+ }
+ }
+ }
+ });
+ });
+});
\ No newline at end of file
diff --git a/frontend/utils.js b/frontend/utils.js
new file mode 100644
index 000000000..53aa59a31
--- /dev/null
+++ b/frontend/utils.js
@@ -0,0 +1,5 @@
+function message(str) {
+ $("#top-message").show();
+ $("#top-message").html(str);
+ $("#top-message").fadeOut(3000);
+}
\ No newline at end of file