|
@@ -13,6 +13,10 @@ https://github.com/Bernardo-Castilho/dragdroptouch -->
|
|
}
|
|
}
|
|
function drag(ev) {
|
|
function drag(ev) {
|
|
ev.dataTransfer.setData("text", ev.target.id);
|
|
ev.dataTransfer.setData("text", ev.target.id);
|
|
|
|
+ document.getElementById("module-input").classList.add('drag-target');
|
|
|
|
+ }
|
|
|
|
+ function dragEnd(ev) {
|
|
|
|
+ document.getElementById("module-input").classList.remove('drag-target');
|
|
}
|
|
}
|
|
function drop(ev) {
|
|
function drop(ev) {
|
|
ev.preventDefault();
|
|
ev.preventDefault();
|
|
@@ -62,9 +66,9 @@ https://github.com/Bernardo-Castilho/dragdroptouch -->
|
|
module.id += "-" + nowModule.getTime();
|
|
module.id += "-" + nowModule.getTime();
|
|
}
|
|
}
|
|
// hide the info button
|
|
// hide the info button
|
|
- module.children[1].style.display = "none";
|
|
|
|
|
|
+ // module.children[1].style.display = "none";
|
|
// display the deletion button
|
|
// display the deletion button
|
|
- module.children[2].style.display = "inline";
|
|
|
|
|
|
+ // module.children[2].style.display = "inline";
|
|
// pop it in!
|
|
// pop it in!
|
|
target.appendChild(module);
|
|
target.appendChild(module);
|
|
// add module-field button (using HTML so it saves to Library)
|
|
// add module-field button (using HTML so it saves to Library)
|
|
@@ -266,76 +270,73 @@ https://github.com/Bernardo-Castilho/dragdroptouch -->
|
|
// Toggles whether editable fields are editable or not
|
|
// Toggles whether editable fields are editable or not
|
|
// and removes editing tools.
|
|
// and removes editing tools.
|
|
function toggleEditMode() {
|
|
function toggleEditMode() {
|
|
- if (editMode === true) { // switch to preview mode
|
|
|
|
- editMode = false;
|
|
|
|
- classDisplayAll("prompt","none");
|
|
|
|
- classDisplayAll("delete-module","none");
|
|
|
|
- var editableFields = document.getElementsByClassName("editable");
|
|
|
|
- // de-editable-ize the editable fields
|
|
|
|
- for (var i = 0; i < editableFields.length; i++) {
|
|
|
|
- editableFields[i].contentEditable = "false";
|
|
|
|
- editableFields[i].style.borderStyle = "none";
|
|
|
|
- // Remove empty fields entirely
|
|
|
|
- var content = editableFields[i].innerHTML;
|
|
|
|
- content = stripHTML(content);
|
|
|
|
- if (content === "") {
|
|
|
|
- editableFields[i].style.display = "none";
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- // RuleBuilder sections
|
|
|
|
- if (builderEmpty()) {
|
|
|
|
- document.getElementById("rule-builder").style.display = "none";
|
|
|
|
- } else {
|
|
|
|
- document.getElementById("builder-field").innerHTML = displayBuilderHTML();
|
|
|
|
- document.getElementById("module-input").style.border = "none";
|
|
|
|
- }
|
|
|
|
- if (document.contains(document.getElementById("custom-field-container"))) {
|
|
|
|
- document.getElementById("custom-field-container").remove();
|
|
|
|
- }
|
|
|
|
- document.getElementById("module-menu").style.display = "none";
|
|
|
|
- // Handle author link
|
|
|
|
- var authorName = document.getElementById("author-text").value;
|
|
|
|
- var authorURL = document.getElementById("author-url").value;
|
|
|
|
- if (authorName != "") {
|
|
|
|
- document.getElementById("authorship-words").style.display = "inline";
|
|
|
|
- if (authorURL != "") { // both author and URL present
|
|
|
|
- document.getElementById("authorship-result").innerHTML = "<a href='" + authorURL +"'>" + authorName + "</a>";
|
|
|
|
- document.getElementById("authorship-result").style.display = "inline";
|
|
|
|
- } else { // only authorName present
|
|
|
|
- document.getElementById("authorship-result").innerHTML = authorName;
|
|
|
|
- document.getElementById("authorship-result").style.display = "inline";
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
- document.getElementById("authorship").style.display = "none";
|
|
|
|
- }
|
|
|
|
- // Finally, change button name
|
|
|
|
- document.getElementById("editToggle").innerHTML = "Customize";
|
|
|
|
- } else { // Switch to editMode
|
|
|
|
- editMode = true;
|
|
|
|
- classDisplayAll("prompt","block");
|
|
|
|
- classDisplayAll("editable","block");
|
|
|
|
- // RuleBuilder handling
|
|
|
|
- classDisplayAll("delete-module","inline");
|
|
|
|
- document.getElementById("rule-builder").style.display = "block";
|
|
|
|
- document.getElementById("module-menu").style.display = "block";
|
|
|
|
- document.getElementById("module-input").style.border = "";
|
|
|
|
- document.getElementById("builder-field").innerHTML = "";
|
|
|
|
- // link handling
|
|
|
|
- classDisplayAll("link-text","inline");
|
|
|
|
- classDisplayAll("link-url","inline");
|
|
|
|
- document.getElementById("authorship-result").style.display = "none";
|
|
|
|
- document.getElementById("authorship-words").style.display = "none";
|
|
|
|
- document.getElementById("authorship").style.display = "block";
|
|
|
|
- // make all editable fields visible
|
|
|
|
- var editableFields = document.getElementsByClassName("editable");
|
|
|
|
- for (var i = 0; i < editableFields.length; i++) {
|
|
|
|
- editableFields[i].style.borderStyle = "none none dashed none";
|
|
|
|
- editableFields[i].contentEditable = "true";
|
|
|
|
- }
|
|
|
|
- // Change button name
|
|
|
|
- document.getElementById("editToggle").innerHTML = "Preview";
|
|
|
|
|
|
+ if (editMode === true) {
|
|
|
|
+ disableEditMode();
|
|
|
|
+ } else {
|
|
|
|
+ enableEditMode();
|
|
}
|
|
}
|
|
- }
|
|
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ function disableEditMode() { // switch to preview mode
|
|
|
|
+ editMode = false;
|
|
|
|
+
|
|
|
|
+ document.getElementById("rulebox").classList.add('rulebox-preview');
|
|
|
|
+ document.getElementById("rulebox").classList.remove('rulebox-edit');
|
|
|
|
+
|
|
|
|
+ var editableFields = document.getElementsByClassName("editable");
|
|
|
|
+ // de-editable-ize the editable fields
|
|
|
|
+ for (var i = 0; i < editableFields.length; i++) {
|
|
|
|
+ editableFields[i].contentEditable = "false";
|
|
|
|
+ // Remove empty fields entirely
|
|
|
|
+ var content = editableFields[i].innerHTML;
|
|
|
|
+ content = stripHTML(content);
|
|
|
|
+ if (content === "") {
|
|
|
|
+ // editableFields[i].style.display = "none";
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // RuleBuilder sections
|
|
|
|
+ if (builderEmpty()) {
|
|
|
|
+ } else {
|
|
|
|
+ document.getElementById("builder-field").innerHTML = displayBuilderHTML();
|
|
|
|
+ }
|
|
|
|
+ if (document.contains(document.getElementById("custom-field-container"))) {
|
|
|
|
+ document.getElementById("custom-field-container").remove();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // Handle author link
|
|
|
|
+ var authorName = document.getElementById("author-text").value;
|
|
|
|
+ var authorURL = document.getElementById("author-url").value;
|
|
|
|
+ if (authorName != "") {
|
|
|
|
+ if (authorURL != "") { // both author and URL present
|
|
|
|
+ document.getElementById("authorship-result").innerHTML = "<a href='" + authorURL +"'>" + authorName + "</a>";
|
|
|
|
+ } else { // only authorName present
|
|
|
|
+ document.getElementById("authorship-result").innerHTML = authorName;
|
|
|
|
+ }
|
|
|
|
+ document.getElementById("authorship").style.display = "";
|
|
|
|
+ } else {
|
|
|
|
+ document.getElementById("authorship").style.display = "none";
|
|
|
|
+ }
|
|
|
|
+ // Finally, change button name
|
|
|
|
+ document.getElementById("editToggle").innerHTML = "Customize";
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ function enableEditMode() { // Switch to editMode
|
|
|
|
+ editMode = true;
|
|
|
|
+
|
|
|
|
+ document.getElementById("rulebox").classList.remove('rulebox-preview');
|
|
|
|
+ document.getElementById("rulebox").classList.add('rulebox-edit');
|
|
|
|
+
|
|
|
|
+ // RuleBuilder handling
|
|
|
|
+ document.getElementById("builder-field").innerHTML = "";
|
|
|
|
+ // make all editable fields visible
|
|
|
|
+ var editableFields = document.getElementsByClassName("editable");
|
|
|
|
+ for (var i = 0; i < editableFields.length; i++) {
|
|
|
|
+ editableFields[i].contentEditable = "true";
|
|
|
|
+ }
|
|
|
|
+ // Change button name
|
|
|
|
+ document.getElementById("editToggle").innerHTML = "Preview";
|
|
|
|
+ }
|
|
|
|
|
|
// toggleDisplayMode()
|
|
// toggleDisplayMode()
|
|
// toggles full displayMode, the Rule-only display for a published Rule
|
|
// toggles full displayMode, the Rule-only display for a published Rule
|