Bug 1283123 - Reps: make it possible to pass in a component to handle object links. r=linclark,honza

MozReview-Commit-ID: 20xvwUua4WA
This commit is contained in:
Nicolas Chevobbe
2016-06-21 22:56:10 +02:00
parent f4db0de988
commit 18d7a056ab
19 changed files with 266 additions and 120 deletions

View File

@@ -12,7 +12,7 @@ define(function (require, exports, module) {
// Reps
const { createFactories, isGrip, cropString } = require("./rep-utils");
const { ObjectLink } = createFactories(require("./object-link"));
const { ObjectBox } = createFactories(require("./object-box"));
/**
* This component represents a template for Function objects.
@@ -24,6 +24,15 @@ define(function (require, exports, module) {
object: React.PropTypes.object.isRequired
},
getTitle: function (grip) {
if (this.props.objectLink) {
return this.props.objectLink({
object: grip
}, "function");
}
return "";
},
summarizeFunction: function (grip) {
let name = grip.displayName || grip.name || "function";
return cropString(name + "()", 100);
@@ -33,7 +42,8 @@ define(function (require, exports, module) {
let grip = this.props.object;
return (
ObjectLink({className: "function"},
ObjectBox({className: "function"},
this.getTitle(grip),
this.summarizeFunction(grip)
)
);