Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1816)

Unified Diff: Source/devtools/front_end/documentation/DocumentationView.js

Issue 525363003: DevTools: [Documentation] Add signature section for renderer (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@iliia-patch
Patch Set: Add signature section Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/devtools/front_end/documentation/DocumentationView.js
diff --git a/Source/devtools/front_end/documentation/DocumentationView.js b/Source/devtools/front_end/documentation/DocumentationView.js
index 5e782965a5ae9b94703114a957809ef2cd9a23cc..84f2a566d08ddec124890e286a22a00d68b67c8d 100644
--- a/Source/devtools/front_end/documentation/DocumentationView.js
+++ b/Source/devtools/front_end/documentation/DocumentationView.js
@@ -22,6 +22,7 @@ WebInspector.DocumentationView.showDocumentationURL = function(url, searchItem)
if (!WebInspector.DocumentationView._view)
WebInspector.DocumentationView._view = new WebInspector.DocumentationView();
var view = WebInspector.DocumentationView._view;
+ view.element.removeChildren();
WebInspector.inspectorView.showCloseableViewInDrawer("documentation", WebInspector.UIString("Documentation"), view);
view.showDocumentation(url, searchItem);
}
@@ -99,6 +100,7 @@ WebInspector.DocumentationView.Renderer.prototype = {
this._createStandardizationStatus(this._article.standardizationStatus);
this._createTextSectionWithTitle("Summary", this._article.summary);
this._createSignatureSection(this._article.parameters, this._article.methods);
+ this._createParametresSection(this._article.parameters);
apavlov 2014/09/05 11:32:14 Parameters
semeny 2014/09/05 13:30:20 Done.
this._createReturnValueSection(this._article.methods);
this._createExamplesSection(this._article.examples);
this._createTextSectionWithTitle("Remarks", this._article.remarks);
@@ -152,6 +154,38 @@ WebInspector.DocumentationView.Renderer.prototype = {
*/
_createSignatureSection: function(parameters, method)
{
+ if (!method)
+ return;
+ var section = this._element.createChild("div", "documentation-section");
+ var title = section.createChild("div", "documentation-section-title");
+ title.textContent = "Signature";
+ var signature = section.createChild("p", "documentation-method-signature");
+ var methodName = signature.createChild("span", "documentation-method-name");
+ methodName.textContent = this._searchItem.split(".").pop() + "(";
apavlov 2014/09/05 11:32:14 pop() > peekLast() to avoid extraneous temporary a
semeny 2014/09/05 13:30:19 Done.
+ for (var i = 0; i < parameters.length; ++i) {
+ if (i > 0) {
+ var separator = signature.createChild("span");
apavlov 2014/09/05 11:32:14 Inline
semeny 2014/09/05 13:30:20 Done.
+ separator.textContent = ", ";
+ }
+ var parameterType = signature.createChild("span", "documentation-parameter-data-type-value");
+ var optional = "";
+ if (parameters[i].optional) {
+ parameterType.className = "documentation-parameter-optional";
+ optional = "=";
+ }
+ parameterType.textContent = optional + parameters[i].dataType;
+ }
+ var separator = signature.createChild("span");
apavlov 2014/09/05 11:32:14 Inline
semeny 2014/09/05 13:30:19 Done.
+ separator.textContent = ") : ";
+ var returnTypeElement = signature.createChild("span", "documentation-return-type");
+ returnTypeElement.textContent = method.returnValueName;
+ },
+
+ /**
+ * @param {!Array.<!WebInspector.JSArticle.Parameter>} parameters
+ */
+ _createParametresSection: function(parameters)
+ {
if (!parameters.length)
return;
var section = this._element.createChild("div", "documentation-section");
@@ -163,13 +197,16 @@ WebInspector.DocumentationView.Renderer.prototype = {
var name = header.createChild("span", "documentation-parameter-name");
name.textContent = parameters[i].name;
var dataTypeValue = header.createChild("span", "documentation-parameter-data-type-value");
+ dataTypeValue.classList.add("documentation-parameter-margin");
dataTypeValue.textContent = parameters[i].dataType;
if (parameters[i].optional) {
var optional = header.createChild("span", "documentation-parameter-optional");
+ optional.classList.add("documentation-parameter-margin");
optional.textContent = WebInspector.UIString("Optional");
}
parameter.appendChild(this._renderBlock(parameters[i].description));
}
+
},
/**
@@ -292,12 +329,15 @@ WebInspector.DocumentationView.ContextMenuProvider.prototype = {
return;
if (descriptors.length === 1) {
var formatString = WebInspector.useLowerCaseMenuTitles() ? "Show documentation for %s.%s" : "Show Documentation for %s.%s";
- contextMenu.appendItem(WebInspector.UIString(formatString, descriptors[0].name(), descriptors[0].searchItem()), WebInspector.DocumentationView.showDocumentationURL.bind(null, descriptors[0].url(), descriptors[0].searchItem()));
+ var methodName = String.sprintf("%s.%s", descriptors[0].name(), descriptors[0].searchItem());
+ contextMenu.appendItem(WebInspector.UIString(formatString, descriptors[0].name(), descriptors[0].searchItem()), WebInspector.DocumentationView.showDocumentationURL.bind(null, descriptors[0].url(), methodName));
return;
}
var subMenuItem = contextMenu.appendSubMenuItem(WebInspector.UIString(WebInspector.useLowerCaseMenuTitles() ? "Show documentation for..." : "Show Documentation for..."));
- for (var i = 0; i < descriptors.length; ++i)
- subMenuItem.appendItem(String.sprintf("%s.%s", descriptors[i].name(), descriptors[i].searchItem()), WebInspector.DocumentationView.showDocumentationURL.bind(null, descriptors[i].url(), descriptors[i].searchItem()));
+ for (var i = 0; i < descriptors.length; ++i) {
+ var methodName = String.sprintf("%s.%s", descriptors[i].name(), descriptors[i].searchItem());
+ subMenuItem.appendItem(methodName, WebInspector.DocumentationView.showDocumentationURL.bind(null, descriptors[i].url(), methodName));
+ }
},
/**

Powered by Google App Engine
This is Rietveld 408576698