Jonas Kress (WMDE) has uploaded a new change for review.
https://gerrit.wikimedia.org/r/251002
Change subject: Cleanup folder structure of codemirror and enable placeholder
......................................................................
Cleanup folder structure of codemirror and enable placeholder
Change-Id: I281ecef1f57d5542e0351b7de593c9b5e602f684
---
M gui/index.html
A gui/vendor/codemirror/addon/display/placeholder.js
R gui/vendor/codemirror/addon/hint/show-hint.css
R gui/vendor/codemirror/addon/hint/show-hint.js
R gui/vendor/codemirror/addon/hint/wikibase-rdf-hint.js
R gui/vendor/codemirror/addon/hint/wikibase-sparql-hint.js
R gui/vendor/codemirror/addon/tooltip/WikibaseRDFTooltip.js
R gui/vendor/codemirror/lib/codemirror.css
R gui/vendor/codemirror/lib/codemirror.js
R gui/vendor/codemirror/mode/sparql.js
10 files changed, 70 insertions(+), 9 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/wikidata/query/rdf
refs/changes/02/251002/1
diff --git a/gui/index.html b/gui/index.html
index 40df811..ab59cc8 100644
--- a/gui/index.html
+++ b/gui/index.html
@@ -3,20 +3,21 @@
<head>
<script src="jquery-1.11.3.js"></script>
<script src="bootstrap.min.js"></script>
-<script src="codemirror.js"></script>
-<script src="sparql.js"></script>
-<script src="addon/hint/show-hint.js"></script>
-<script src="addon/hint/wikibase-sparql-hint.js"></script>
-<script src="addon/hint/wikibase-rdf-hint.js"></script>
-<script src="addon/tooltip/WikibaseRDFTooltip.js"></script>
+<script src="vendor/codemirror/lib/codemirror.js"></script>
+<script src="vendor/codemirror/mode/sparql.js"></script>
+<script src="vendor/codemirror/addon/hint/show-hint.js"></script>
+<script src="vendor/codemirror/addon/hint/wikibase-sparql-hint.js"></script>
+<script src="vendor/codemirror/addon/hint/wikibase-rdf-hint.js"></script>
+<script src="vendor/codemirror/addon/tooltip/WikibaseRDFTooltip.js"></script>
+<script src="vendor/codemirror/addon/display/placeholder.js"></script>
<script src="gui.js"></script>
<script src="vis.js"></script>
<script src="wdqs.js"></script>
<script src="wdqs-explorer.js"></script>
<link rel="stylesheet" href="bootstrap.min.css">
<link rel="stylesheet" href="style.css">
-<link rel="stylesheet" href="codemirror.css">
-<link rel="stylesheet" href="addon/hint/show-hint.css">
+<link rel="stylesheet" href="vendor/codemirror/lib/codemirror.css">
+<link rel="stylesheet" href="vendor/codemirror/addon/hint/show-hint.css">
<link rel="shortcut icon"
href="//www.wikidata.org/static/favicon/testwikidata.ico">
@@ -63,7 +64,7 @@
<div class="col-md-12" id="query-box">
<form class="form-horizontal" id="query-form">
<div class="form-group">
- <textarea id="query"
name="query" placeholder="(Input a SPARQL query)"></textarea>
+ <textarea id="query"
name="query" placeholder="(Input a SPARQL query or choose a query
example)"></textarea>
<div class="alert alert-success
alert-dismissible" role="alert">
<button type="button"
class="close" data-dismiss="alert" aria-label="Close"><span
aria-hidden="true">×</span></button>
Press
<i>[CTRL-SPACE]</i> to activate auto completion. Data last updated: <span
id="dbUpdated">[connecting]</span>
diff --git a/gui/vendor/codemirror/addon/display/placeholder.js
b/gui/vendor/codemirror/addon/display/placeholder.js
new file mode 100644
index 0000000..babddfb
--- /dev/null
+++ b/gui/vendor/codemirror/addon/display/placeholder.js
@@ -0,0 +1,60 @@
+// CodeMirror, copyright (c) by Marijn Haverbeke and others
+// Distributed under an MIT license: http://codemirror.net/LICENSE
+
+(function(mod) {
+ if (typeof exports == "object" && typeof module == "object") // CommonJS
+ mod(require("../../lib/codemirror"));
+ else if (typeof define == "function" && define.amd) // AMD
+ define(["../../lib/codemirror"], mod);
+ else // Plain browser env
+ mod(CodeMirror);
+})(function(CodeMirror) {
+ CodeMirror.defineOption("placeholder", "", function(cm, val, old) {
+ var prev = old && old != CodeMirror.Init;
+ if (val && !prev) {
+ cm.on("blur", onBlur);
+ cm.on("change", onChange);
+ onChange(cm);
+ } else if (!val && prev) {
+ cm.off("blur", onBlur);
+ cm.off("change", onChange);
+ clearPlaceholder(cm);
+ var wrapper = cm.getWrapperElement();
+ wrapper.className = wrapper.className.replace(" CodeMirror-empty", "");
+ }
+
+ if (val && !cm.hasFocus()) onBlur(cm);
+ });
+
+ function clearPlaceholder(cm) {
+ if (cm.state.placeholder) {
+ cm.state.placeholder.parentNode.removeChild(cm.state.placeholder);
+ cm.state.placeholder = null;
+ }
+ }
+ function setPlaceholder(cm) {
+ clearPlaceholder(cm);
+ var elt = cm.state.placeholder = document.createElement("pre");
+ elt.style.cssText = "height: 0; overflow: visible";
+ elt.className = "CodeMirror-placeholder";
+ var placeHolder = cm.getOption("placeholder")
+ if (typeof placeHolder == "string") placeHolder =
document.createTextNode(placeHolder)
+ elt.appendChild(placeHolder)
+ cm.display.lineSpace.insertBefore(elt, cm.display.lineSpace.firstChild);
+ }
+
+ function onBlur(cm) {
+ if (isEmpty(cm)) setPlaceholder(cm);
+ }
+ function onChange(cm) {
+ var wrapper = cm.getWrapperElement(), empty = isEmpty(cm);
+ wrapper.className = wrapper.className.replace(" CodeMirror-empty", "") +
(empty ? " CodeMirror-empty" : "");
+
+ if (empty) setPlaceholder(cm);
+ else clearPlaceholder(cm);
+ }
+
+ function isEmpty(cm) {
+ return (cm.lineCount() === 1) && (cm.getLine(0) === "");
+ }
+});
diff --git a/gui/addon/hint/show-hint.css
b/gui/vendor/codemirror/addon/hint/show-hint.css
similarity index 100%
rename from gui/addon/hint/show-hint.css
rename to gui/vendor/codemirror/addon/hint/show-hint.css
diff --git a/gui/addon/hint/show-hint.js
b/gui/vendor/codemirror/addon/hint/show-hint.js
similarity index 100%
rename from gui/addon/hint/show-hint.js
rename to gui/vendor/codemirror/addon/hint/show-hint.js
diff --git a/gui/addon/hint/wikibase-rdf-hint.js
b/gui/vendor/codemirror/addon/hint/wikibase-rdf-hint.js
similarity index 100%
rename from gui/addon/hint/wikibase-rdf-hint.js
rename to gui/vendor/codemirror/addon/hint/wikibase-rdf-hint.js
diff --git a/gui/addon/hint/wikibase-sparql-hint.js
b/gui/vendor/codemirror/addon/hint/wikibase-sparql-hint.js
similarity index 100%
rename from gui/addon/hint/wikibase-sparql-hint.js
rename to gui/vendor/codemirror/addon/hint/wikibase-sparql-hint.js
diff --git a/gui/addon/tooltip/WikibaseRDFTooltip.js
b/gui/vendor/codemirror/addon/tooltip/WikibaseRDFTooltip.js
similarity index 100%
rename from gui/addon/tooltip/WikibaseRDFTooltip.js
rename to gui/vendor/codemirror/addon/tooltip/WikibaseRDFTooltip.js
diff --git a/gui/codemirror.css b/gui/vendor/codemirror/lib/codemirror.css
similarity index 100%
rename from gui/codemirror.css
rename to gui/vendor/codemirror/lib/codemirror.css
diff --git a/gui/codemirror.js b/gui/vendor/codemirror/lib/codemirror.js
similarity index 100%
rename from gui/codemirror.js
rename to gui/vendor/codemirror/lib/codemirror.js
diff --git a/gui/sparql.js b/gui/vendor/codemirror/mode/sparql.js
similarity index 100%
rename from gui/sparql.js
rename to gui/vendor/codemirror/mode/sparql.js
--
To view, visit https://gerrit.wikimedia.org/r/251002
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I281ecef1f57d5542e0351b7de593c9b5e602f684
Gerrit-PatchSet: 1
Gerrit-Project: wikidata/query/rdf
Gerrit-Branch: master
Gerrit-Owner: Jonas Kress (WMDE) <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits