Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Unified Diff: pages/uninstall-abp.md

Issue 29329984: Issue 3257 - Create uninstallation page in adblockplus.org (Closed)
Patch Set: Fix old jinja files compatibility with markdown and implement noscript Created Nov. 19, 2015, 4:40 p.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | pages/uninstall-abp-submit.md » ('j') | templates/simple.tmpl » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pages/uninstall-abp.md
===================================================================
new file mode 100644
--- /dev/null
+++ b/pages/uninstall-abp.md
@@ -0,0 +1,101 @@
+title=Adblock Plus has been uninstalled
+template=simple
+
+<head>
+ <meta name="robots" content="noindex" />
+ <script type="text/javascript">
+ (function()
+ {
+ var reasons = [
+ ["1v0", "{{reason-not-installed I didn't install Adblock Plus.}}"],
+ ["2v0", "{{reason-slowing-down Adblock Plus slowed down my browser.}}"],
+ ["3v0", "{{reason-acceptable-ads I don't like the Acceptable Ads program.}}"],
+ ["4v0", "{{reason-see-ads Adblock Plus didn't block all ads.}}"],
+ ["5v0", "{{reason-better-adblocker I found better ad blocking software.}}"],
+ ["6v0", "{{reason-break-websites Adblock Plus breaks websites that I visit.}}"]
+ ];
+
+ function init()
+ {
+ var form = document.getElementById("reasons-form");
+
+ // create hidden input for GET parameters
kzar 2015/11/20 13:06:13 Nit: Capitalize "create" to match the comment belo
saroyanm 2015/11/20 18:33:54 Done.
+ window.location.search.substr(1).split("&").forEach(function(param)
+ {
+ if (!/.=./.test(param))
+ return;
+
+ var paramSplit = param.split("=");
+ var input = document.createElement("input");
+ input.setAttribute("type", "hidden");
+ input.setAttribute("name", paramSplit[0]);
+ input.setAttribute("value", paramSplit[1]);
+ form.appendChild(input);
+ });
+
+ // Randomly add reasons
+ while (reasons.length > 0)
kzar 2015/11/20 13:06:13 Would it make more sense to use a for loop here? S
saroyanm 2015/11/20 18:33:53 Not sure why it makes more sense. From my point of
kzar 2015/11/21 19:01:24 Well in your current implementation you're (re)dec
saroyanm 2015/11/23 10:50:29 Well, with your implementation we also generating
+ {
+ var randomIndex = Math.floor(Math.random() * (reasons.length));
+ var reason = reasons.splice(randomIndex, 1)[0];
+ var listElement = document.createElement("li");
+ var labelElement = document.createElement("label");
+ var checkboxElement = document.createElement("input");
+ checkboxElement.setAttribute("type", "checkbox");
+ checkboxElement.setAttribute("name", "reason");
+ checkboxElement.setAttribute("value", reason[0]);
+ var spanElement = document.createElement("span");
+ spanElement.innerHTML = reason[1];
+ labelElement.appendChild(checkboxElement);
+ labelElement.appendChild(spanElement);
+ listElement.appendChild(labelElement);
+ var reasonContainer = document.getElementById("reasons");
+ reasonContainer.insertBefore(listElement, reasonContainer.firstChild);
+ }
+
+ document.getElementById("reason-other").addEventListener("change",
+ function()
+ {
+ var textArea = document.getElementById("reason-other-input");
+ textArea.hasAttribute("class") ? textArea.removeAttribute("class") :
+ textArea.setAttribute("class", "hidden");
+ }, false);
+
+ document.getElementById("submit-form").addEventListener("click",
+ function(event)
+ {
+ if (!document.querySelector("ul input:checked"))
+ {
+ event.preventDefault();
+ form.setAttribute("class", "error");
+ }
+ else
+ form.submit();
+ }, false);
+ }
+ document.addEventListener("DOMContentLoaded", init, false);
+ })();
+ </script>
+</head>
+
+#{{reasons-header[Form heading] Please select the reason(s) why you uninstalled Adblock Plus:}}
+
+<form id="reasons-form" action="uninstall-abp-submit" method="post">
+ <ul id="reasons">
+ <li>
+ <label>
+ <input id="reason-other" type="checkbox" name="reason" value="0v0" />
+ <span>{{reason-other[Last uninstallation reason] Other, namely...}}</span>
+ </label>
+ <textarea id="reason-other-input" class="hidden" name="reasonOther" placeholder="{{reason-other-placeholder[Textarea placeholder text, appears after selecting 'Other, namely...' option] Please explain why you are uninstalling Adblock Plus}}"></textarea>
+ </li>
+ </ul>
+ <button id="submit-form" type="button">{{submit[Submit button text] Submit}}</button>
+ <span class="error-label">{{error-msg[Error message, is being shown after submission if no item selected] Please select at least one of the options above}}</span>
+ <noscript>
+ <span>{{noscript[No script notification] Form can not be submited with disabled JavaScript}}</span>
kzar 2015/11/20 13:06:14 If the user doesn't have JavaScript then we can't
saroyanm 2015/11/20 18:33:53 Can see any good way to do that. I've just removed
kzar 2015/11/21 19:01:24 Perhaps we should discuss what should happen for n
saroyanm 2015/11/23 10:50:29 I can see a reason of discussing this question in
+ </noscript>
+</form>
+
+{{disclaimer[Disclaimer below form] By clicking Submit, you are sending your response to Adblock Plus. Please see our [privacy policy](https://adblockplus.org/privacy).}}
+{: .disclaimer }
« no previous file with comments | « no previous file | pages/uninstall-abp-submit.md » ('j') | templates/simple.tmpl » ('J')

Powered by Google App Engine
This is Rietveld