X-Git-Url: http://git.euphorik.ch/?p=pompage.git;a=blobdiff_plain;f=doc%2Fwebdeveloper%2Fdashboard%2Fedit_html.js;fp=doc%2Fwebdeveloper%2Fdashboard%2Fedit_html.js;h=0000000000000000000000000000000000000000;hp=a8bed74458e178859cf3012a96423225e0302458;hb=eb7467621891b71883916c90f91bddf4c38d615f;hpb=de6efc861c1f471125cb4d3ab3d0f82572b3d21b diff --git a/doc/webdeveloper/dashboard/edit_html.js b/doc/webdeveloper/dashboard/edit_html.js deleted file mode 100644 index a8bed74..0000000 --- a/doc/webdeveloper/dashboard/edit_html.js +++ /dev/null @@ -1,252 +0,0 @@ -var webdeveloper_editHTMLIntervalId = null; -var webdeveloper_editHTMLOldHTML = null; -var webdeveloper_editHTMLSelectedTab = 0; -var webdeveloper_editHTMLUpdateFrequency = 500; - -// Applies the HTML -function webdeveloper_applyHTML() -{ - var contentBody = webdeveloper_getDocumentBodyElement(webdeveloper_getContentDocument()); - var newHTML = document.getElementById("webdeveloper-edit-html-text-box").value; - - // If the content body is set and the new HTML is not the same as the old HTML - if(contentBody && newHTML != webdeveloper_editHTMLOldHTML) - { - contentBody.innerHTML = newHTML; - webdeveloper_editHTMLOldHTML = newHTML; - } -} - -// Clear the HTML -function webdeveloper_clearHTML() -{ - document.getElementById("webdeveloper-edit-html-text-box").value = ""; -} - -// Reinitializes the dashboard when the page changes -function webdeveloper_editHTMLContentPageLoad(event) -{ - var eventTarget = event.target; - - // Try to get the original target - try - { - var originalTarget = event.originalTarget; - - // If the page is the target and the URI matches - if(originalTarget && eventTarget && eventTarget.contentDocument && eventTarget.hasAttribute && eventTarget.hasAttribute("id") && eventTarget.getAttribute("id").toLowerCase() == "content" && originalTarget.documentURI == eventTarget.contentDocument.documentURI) - { - // If the page is generated - if(originalTarget.documentURI == "about:blank") - { - window.clearInterval(webdeveloper_editHTMLIntervalId); - window.setTimeout(webdeveloper_retrieveHTML, 1000); - window.setTimeout(webdeveloper_updateHTML, 1000); - } - else - { - webdeveloper_retrieveHTML(); - } - } - } - catch(exception) - { - // Do nothing - } -} - -// Handles a browser tab being selected -function webdeveloper_editHTMLMainTabSelect(event) -{ - var browser = window.top.getBrowser(); - var selectedTab = browser.mTabBox.selectedIndex; - - // If the selected tab is different - if(selectedTab != webdeveloper_editHTMLSelectedTab) - { - browser.browsers[webdeveloper_editHTMLSelectedTab].contentDocument.location.reload(false); - - webdeveloper_editHTMLSelectedTab = selectedTab; - - webdeveloper_retrieveHTML(); - } -} - -// Initializes the edit HTML dashboard -function webdeveloper_initializeEditHTML() -{ - var mainTabBox = window.top.getBrowser().mTabBox; - var textBox = document.getElementById("webdeveloper-edit-html-text-box"); - var textBoxStyle = ""; - - webdeveloper_editHTMLSelectedTab = mainTabBox.selectedIndex; - webdeveloper_editHTMLUpdateFrequency = webdeveloper_getIntegerPreference("webdeveloper.edit.update.frequency", true); - - document.getElementById("webdeveloper-search-dashboard-text").addEventListener("keypress", webdeveloper_searchTextKeyPress, false); - mainTabBox.addEventListener("select", webdeveloper_editHTMLMainTabSelect, false); - window.top.addEventListener("load", webdeveloper_editHTMLContentPageLoad, true); - - // If the edit CSS background color preference is set - if(webdeveloper_isPreferenceSet("webdeveloper.edit.color.background")) - { - textBoxStyle += "background-color: " + webdeveloper_getStringPreference("webdeveloper.edit.color.background", true) + " !important; "; - } - - // If the edit CSS text color preference is set - if(webdeveloper_isPreferenceSet("webdeveloper.edit.color.text")) - { - textBoxStyle += "color: " + webdeveloper_getStringPreference("webdeveloper.edit.color.text", true) + " !important; "; - } - - // If the edit CSS font preference is set - if(webdeveloper_isPreferenceSet("webdeveloper.edit.font.size")) - { - textBoxStyle += "font-size: " + webdeveloper_getIntegerPreference("webdeveloper.edit.font.size", true) + "px !important; "; - } - - textBox.setAttribute("style", textBoxStyle.trim()); - - webdeveloper_retrieveHTML(); - webdeveloper_updateHTML(); -} - -// Resets the edited HTML -function webdeveloper_resetHTML() -{ - window.top.BrowserReload(); -} - -// Retrieves the HTML -function webdeveloper_retrieveHTML() -{ - var contentBody = webdeveloper_getDocumentBodyElement(webdeveloper_getContentDocument()); - var textBox = document.getElementById("webdeveloper-edit-html-text-box"); - - // If the content body is set - if(contentBody) - { - textBox.value = contentBody.innerHTML; - } - - webdeveloper_applyHTML(); -} - -// Saves the HTML -function webdeveloper_saveHTML() -{ - var contentDocument = webdeveloper_getContentDocument(); - var filePicker = Components.classes["@mozilla.org/filepicker;1"].createInstance(Components.interfaces.nsIFilePicker); - var result = null; - var stringBundle = document.getElementById("webdeveloper-string-bundle"); - var url = Components.classes["@mozilla.org/network/standard-url;1"].createInstance(Components.interfaces.nsIURL); - - url.spec = contentDocument.documentURI; - filePicker.defaultExtension = url.fileExtension; - filePicker.defaultString = url.fileName; - - filePicker.init(window, stringBundle.getString("webdeveloper_saveHTML"), filePicker.modeSave); - - result = filePicker.show(); - - // If the user selected a file - if(result == filePicker.returnOK || result == filePicker.returnReplace) - { - var file = filePicker.file; - var webBrowserPersistInterface = Components.interfaces.nsIWebBrowserPersist; - var webBrowserPersist = Components.classes["@mozilla.org/embedding/browser/nsWebBrowserPersist;1"].createInstance(webBrowserPersistInterface); - - webBrowserPersist.persistFlags = webBrowserPersistInterface.PERSIST_FLAGS_AUTODETECT_APPLY_CONVERSION | webBrowserPersistInterface.PERSIST_FLAGS_FROM_CACHE | webBrowserPersistInterface.PERSIST_FLAGS_REPLACE_EXISTING_FILES; - - // If the file does not exist - if(!file.exists()) - { - file.create(Components.interfaces.nsIFile.NORMAL_FILE_TYPE, 00644); - } - - webBrowserPersist.saveDocument(contentDocument, file, null, contentDocument.contentType, webBrowserPersistInterface.ENCODE_FLAGS_ENCODE_BASIC_ENTITIES, 0); - } -} - -// Searches the HTML -function webdeveloper_searchHTML() -{ - var searchText = document.getElementById("webdeveloper-search-dashboard-text").value; - - // If the search text is set - if(searchText) - { - document.getElementById("webdeveloper-edit-html-text-box").focus(); - - // If the search failed to find a match - if(!window.find(searchText, false, false, true, false, false, false)) - { - document.getElementById("webdeveloper-edit-html-text-box").setSelectionRange(0, 0); - window.find(searchText, false, false, true, false, false, false); - } - } -} - -// Searches the HTML when the enter key is pressed -function webdeveloper_searchTextKeyPress(event) -{ - var keyCode = event.keyCode; - - // If the key code is set and is 13 - if(keyCode && keyCode == 13) - { - webdeveloper_searchHTML(); - } -} - -// Unloads edit HTML -function webdeveloper_unloadEditHTML() -{ - var browser = window.top.getBrowser(); - var mainTabBox = browser.mTabBox; - - webdeveloper_editHTMLOldHTML = null; - - window.clearInterval(webdeveloper_editHTMLIntervalId); - - // Try to remove the event listener - try - { - document.getElementById("webdeveloper-search-dashboard-text").removeEventListener("keypress", webdeveloper_searchTextKeyPress, false); - } - catch(exception) - { - // Do nothing - } - - // Try to remove the event listener - try - { - mainTabBox.removeEventListener("select", webdeveloper_editHTMLMainTabSelect, false); - } - catch(exception) - { - // Do nothing - } - - // Try to remove the event listener - try - { - window.top.removeEventListener("load", webdeveloper_editHTMLContentPageLoad, true); - } - catch(exception) - { - // Do nothing - } - - window.top.BrowserReload(); -} - -// Updates the HTML -function webdeveloper_updateHTML() -{ - // If the update frequency is greater than 0 - if(webdeveloper_editHTMLUpdateFrequency > 0) - { - webdeveloper_editHTMLIntervalId = window.setInterval(webdeveloper_applyHTML, webdeveloper_editHTMLUpdateFrequency); - } -} \ No newline at end of file