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

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: Fix rebase problems 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..100b4a9239f4ce04d16f3be9e3764c23abba8321 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);
}
@@ -97,8 +98,9 @@ WebInspector.DocumentationView.Renderer.prototype = {
{
this._createPageTitle(this._article.pageTitle, this._searchItem);
this._createStandardizationStatus(this._article.standardizationStatus);
- this._createTextSectionWithTitle("Summary", this._article.summary);
this._createSignatureSection(this._article.parameters, this._article.methods);
+ this._createTextSectionWithTitle("Summary", this._article.summary);
+ this._createParametersSection(this._article.parameters);
this._createReturnValueSection(this._article.methods);
this._createExamplesSection(this._article.examples);
this._createTextSectionWithTitle("Remarks", this._article.remarks);
@@ -143,6 +145,7 @@ WebInspector.DocumentationView.Renderer.prototype = {
title.textContent = titleText;
var text = this._renderBlock(article);
text.classList.add("documentation-text");
+ text.classList.add("documentation-section-content");
section.appendChild(text);
},
@@ -152,6 +155,38 @@ WebInspector.DocumentationView.Renderer.prototype = {
*/
_createSignatureSection: function(parameters, method)
{
+ if (!method)
+ return;
+ var section = this._element.createChild("p", "documentation-section");
+ var signature = section.createChild("div", "documentation-method-signature");
lushnikov 2014/09/05 15:20:44 lets use "span" here instead of "div" and get rid
semeny 2014/09/08 10:03:56 Done.
+ var methodName = signature.createChild("span", "documentation-method-name");
+ methodName.textContent = this._searchItem.split(".").peekLast() + "(";
+ for (var i = 0; i < parameters.length; ++i) {
+ if (i > 0) {
+ var separator = signature.createChild("inline");
lushnikov 2014/09/05 15:20:44 there's no tag "inline". You probably would like t
apavlov 2014/09/05 16:43:00 Yes, I meant that the variable should be inlined
semeny 2014/09/08 10:03:57 Done.
+ separator.textContent = ", ";
+ }
+ var parameterType = signature.createChild("span", "documentation-parameter-data-type-value");
+ var optional = "";
+ if (parameters[i].optional) {
+ parameterType.className = "documentation-parameter-data-type-value";
lushnikov 2014/09/05 15:20:44 You've already set this className in element creat
semeny 2014/09/08 10:03:57 Done.
+ optional = "=";
+ }
+ parameterType.classList.add("documentation-color-box");
apavlov 2014/09/05 16:43:00 This class can be provided during the element cons
semeny 2014/09/08 10:03:56 Done.
+ parameterType.textContent = parameters[i].dataType + optional;
lushnikov 2014/09/05 15:20:44 parameterType.textContent = parameters[i].dataType
semeny 2014/09/08 10:03:56 Done.
+ }
+ var separator = signature.createChild("inline");
lushnikov 2014/09/05 15:20:44 ditto
semeny 2014/09/08 10:03:56 Done.
+ separator.textContent = ") : ";
lushnikov 2014/09/05 15:20:44 lets avoid space after ")"
semeny 2014/09/08 10:03:56 Done.
+ var returnTypeElement = signature.createChild("span", "documentation-parameter-data-type-value");
+ returnTypeElement.classList.add("documentation-color-box");
+ returnTypeElement.textContent = method.returnValueName;
+ },
+
+ /**
+ * @param {!Array.<!WebInspector.JSArticle.Parameter>} parameters
+ */
+ _createParametersSection: function(parameters)
+ {
if (!parameters.length)
return;
var section = this._element.createChild("div", "documentation-section");
@@ -159,16 +194,23 @@ WebInspector.DocumentationView.Renderer.prototype = {
title.textContent = "Parameters";
for (var i = 0; i < parameters.length; ++i) {
var parameter = section.createChild("div", "documentation-parameter");
+ parameter.classList.add("documentation-section-content");
apavlov 2014/09/05 16:43:00 Ditto
semeny 2014/09/08 10:03:56 Done.
var header = parameter.createChild("div", "documentation-parameter-header");
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-color-box");
apavlov 2014/09/05 16:43:00 Ditto for these two classes
semeny 2014/09/08 10:03:57 Done.
+ 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-color-box");
apavlov 2014/09/05 16:43:00 Ditto for these two classes
semeny 2014/09/08 10:03:56 Done.
+ optional.classList.add("documentation-parameter-margin");
optional.textContent = WebInspector.UIString("Optional");
}
- parameter.appendChild(this._renderBlock(parameters[i].description));
+ var description = this._renderBlock(parameters[i].description);
+ description.classList.add("documentation-text");
+ parameter.appendChild(description);
}
},
@@ -183,9 +225,10 @@ WebInspector.DocumentationView.Renderer.prototype = {
var section = this._element.createChild("div", "documentation-section");
var title = section.createChild("div", "documentation-section-title");
title.textContent = "Return Value";
- var returnValueName = section.createChild("div", "documentation-return-value");
+ var returnValueName = section.createChild("div", "documentation-section-content");
returnValueName.textContent = WebInspector.UIString("Returns an object of type " + method.returnValueName + ".");
- var returnValueDescription = section.createChild("div", "documentation-return-value");
+ var returnValueDescription = section.createChild("div", "documentation-section-content");
+ returnValueDescription.classList.add("documentation-text");
apavlov 2014/09/05 16:43:00 Ditto
semeny 2014/09/08 10:03:56 Done.
returnValueDescription.textContent = WebInspector.UIString(method.returnValueDescription);
},
@@ -203,13 +246,17 @@ WebInspector.DocumentationView.Renderer.prototype = {
for (var i = 0; i < examples.length; ++i) {
var example = section.createChild("div", "documentation-example");
+ example.classList.add("documentation-section-content");
apavlov 2014/09/05 16:43:00 Ditto here and below
semeny 2014/09/08 10:03:56 Done.
var exampleDescription = example.createChild("div", "documentation-example-description-section");
if (examples[i].liveUrl) {
var liveUrl = exampleDescription.createChild("a", "documentation-example-link");
+ liveUrl.classList.add("documentation-color-box");
liveUrl.href = examples[i].liveUrl;
liveUrl.textContent = WebInspector.UIString("Example");
}
- exampleDescription.appendChild(this._renderBlock(examples[i].description));
+ var description = this._renderBlock(examples[i].description);
+ description.classList.add("documentation-text");
+ exampleDescription.appendChild(description);
var code = example.createChild("div", "documentation-example-code");
code.classList.add("source-code");
code.textContent = examples[i].code;
@@ -292,12 +339,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));
+ }
},
/**
@@ -334,4 +384,4 @@ WebInspector.DocumentationView.ContextMenuProvider.prototype = {
return urlProvider.itemDescriptors(tokenText);
}
}
-}
+}

Powered by Google App Engine
This is Rietveld 408576698