|
|
- define(["sugar-web/activity/activity","webL10n","sugar-web/datastore"], function (activity, webL10n, datastore) {
-
- // Manipulate the DOM only when it is ready.
- requirejs(['domReady!'], function (doc) {
-
- // Initialize the activity.
- activity.setup();
- var buttons = ["insertText", "wmd-bold-button-second", "wmd-italic-button-second", "wmd-heading-button", "wmd-hr-button",
- "wmd-olist-button", "wmd-ulist-button", "wmd-code-button", "wmd-quote-button", "wmd-link-button",
- "wmd-undo-button", "wmd-redo-button", "wmd-showHideEditor-button","wmd-showHidePreview-button"];
- inputTextContent = document.getElementById("wmd-input-second");
- inputTextContent.value = "#"+l10n_s.get("sample-input");
-
- //to save and resume the contents from datastore.
- var datastoreObject = activity.getDatastoreObject();
-
- inputTextContent.onblur = function () {
-
- var jsonData = JSON.stringify((inputTextContent.value).toString());
- datastoreObject.setDataAsText(jsonData);
- datastoreObject.save(function () {});
- };
- markdownParsing(); //to load for the first time
- datastoreObject.loadAsText(function (error, metadata, data) {
- markdowntext = JSON.parse(data);
- inputTextContent.value = markdowntext;
- markdownParsing(); //to load again when there is a datastore entry
- });
-
- for (i = 0; i < buttons.length; i++) {
- document.getElementById(buttons[i]).title = l10n_s.get(buttons[i]);
- }
- var journal = document.getElementById("insertText");
-
- journal.onclick = function () {
- activity.showObjectChooser(function (error, result) {
- //result1 = result.toString();
- var datastoreObject2 = new datastore.DatastoreObject(result);
- datastoreObject2.loadAsText(function (error, metadata, data) {
- try {
- textdata = JSON.parse(data);
- } catch (e) {
- textdata = data;
- }
-
- var inputTextContent = document.getElementById("wmd-input-second");
- //inputTextContent.value += textdata;
- insertAtCursor(inputTextContent, textdata);
- });
- });
- };
- var showHideEditor = document.getElementById("wmd-showHideEditor-button");
- var showHidePreview = document.getElementById("wmd-showHidePreview-button");
-
- var panel = document.getElementById("wmd-panel");
- var preview = document.getElementById("wmd-preview-second");
- var textArea = document.getElementById("wmd-input-second");
-
- function isElementHidden (element) {
- return window.getComputedStyle(element, null).getPropertyValue('display') === 'none';
- }
- showHideEditor.onclick = function(){
-
- if(isElementHidden(preview))
- {
- preview.style.display = "inline";
- preview.style.width = "97%";
- panel.style.width = "1%";
- }
- if(isElementHidden(panel))
- {
- panel.style.display = "inline";
- panel.style.width = "47%";
- preview.style.width = "47%";
- }
- else{
- panel.style.display = "none";
- panel.style.width = "1%";
- preview.style.width = "97%";
- }
-
- }
- showHidePreview.onclick = function(){
- if(isElementHidden(panel))
- {
- panel.style.display = "inline";
- panel.style.width = "97%";
- preview.style.width = "1%";
- }
- if(isElementHidden(preview))
- {
- preview.style.display = "inline";
- preview.style.width = "47%";
- panel.style.width = "47%";
- }
- else{
- preview.style.display = "none";
- preview.style.width = "1%";
- panel.style.width = "94%";
- }
-
- }
-
- function insertAtCursor(myField, myValue) {
- //IE support
- if (document.selection) {
- myField.focus();
- sel = document.selection.createRange();
- sel.text = myValue;
- }
- //MOZILLA and others
- else if (myField.selectionStart || myField.selectionStart == '0') {
- var startPos = myField.selectionStart;
- var endPos = myField.selectionEnd;
- myField.value = myField.value.substring(0, startPos)
- + myValue
- + myField.value.substring(endPos, myField.value.length);
- } else {
- myField.value += myValue;
- }
- //markdownParsing();
- }
-
- function markdownParsing() {
- var converter2 = new Markdown.Converter();
-
- var help = function () {
- alert(l10n_s.get("need-help"));
- }
- var options = {
- helpButton: {
- handler: help
- },
- strings: {
- quoteexample: l10n_s.get("put-it-right-here")
- }
- };
-
- var editor2 = new Markdown.Editor(converter2, "-second", options);
-
- editor2.run();
- }
-
- });
-
- });
|