Bug 1325401 - Export all reps from rep.js without createFactories wrappers;r=jlast
MozReview-Commit-ID: 3gxk5Xf4evr
--- a/devtools/client/dom/content/components/dom-tree.js
+++ b/devtools/client/dom/content/components/dom-tree.js
@@ -7,17 +7,18 @@
// React & Redux
const React = require("devtools/client/shared/vendor/react");
const { connect } = require("devtools/client/shared/vendor/react-redux");
const TreeView = React.createFactory(require("devtools/client/shared/components/tree/tree-view"));
// Reps
-const { Rep, Grip, MODE } = require("devtools/client/shared/components/reps/load-reps");
+const { REPS, MODE, createFactories } = require("devtools/client/shared/components/reps/load-reps");
+const { Rep, Grip } = REPS;
// DOM Panel
const { GripProvider } = require("../grip-provider");
const { DomDecorator } = require("../dom-decorator");
// Shortcuts
const PropTypes = React.PropTypes;
@@ -53,17 +54,17 @@ var DomTree = React.createClass({
let columns = [{
"id": "value"
}];
// This is the integration point with Reps. The DomTree is using
// Reps to render all values. The code also specifies default rep
// used for data types that don't have its own specific template.
let renderValue = props => {
- return Rep(Object.assign({}, props, {
+ return createFactories(Rep).rep(Object.assign({}, props, {
defaultRep: Grip,
cropLimit: 50,
}));
};
return (
TreeView({
object: this.props.object,
--- a/devtools/client/jsonview/components/json-panel.js
+++ b/devtools/client/jsonview/components/json-panel.js
@@ -5,17 +5,18 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";
define(function (require, exports, module) {
const { DOM: dom, createFactory, createClass, PropTypes } = require("devtools/client/shared/vendor/react");
const TreeView = createFactory(require("devtools/client/shared/components/tree/tree-view"));
- const { Rep, createFactories, MODE } = require("devtools/client/shared/components/reps/load-reps");
+ const { REPS, createFactories, MODE } = require("devtools/client/shared/components/reps/load-reps");
+ const Rep = createFactory(REPS.Rep);
const { SearchBox } = createFactories(require("./search-box"));
const { Toolbar, ToolbarButton } = createFactories(require("./reps/toolbar"));
const { div } = dom;
const AUTO_EXPAND_MAX_SIZE = 100 * 1024;
const AUTO_EXPAND_MAX_LEVEL = 7;
--- a/devtools/client/shared/components/reps/load-reps.js
+++ b/devtools/client/shared/components/reps/load-reps.js
@@ -1,46 +1,37 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";
// Make this available to both AMD and CJS environments
define(function (require, exports, module) {
- let Rep;
- let StringRep;
- let Grip;
+ let REPS;
let MODE;
let createFactories;
let parseURLEncodedText;
let parseURLParams;
// useRepsBundle hardcoded to false while we experiment with the reps bundle in
// bugs 1325401 and 1330779. Set it to true to test devtools using the reps bundle.
let useRepsBundle = false;
if (useRepsBundle) {
const bundle = require("devtools/client/shared/components/reps/reps");
- const { createFactory } = require("devtools/client/shared/vendor/react");
- Rep = createFactory(bundle.Rep);
- StringRep = createFactory(bundle.StringRep);
- Grip = createFactory(bundle.Grip);
+ REPS = bundle.REPS;
MODE = bundle.MODE;
createFactories = bundle.createFactories;
parseURLEncodedText = bundle.parseURLEncodedText;
parseURLParams = bundle.parseURLParams;
} else {
({ createFactories, parseURLEncodedText, parseURLParams } =
require("devtools/client/shared/components/reps/rep-utils"));
- Rep = createFactories(require("devtools/client/shared/components/reps/rep")).Rep;
- StringRep = createFactories(require("devtools/client/shared/components/reps/string").StringRep).rep;
- Grip = require("devtools/client/shared/components/reps/grip").Grip;
+ REPS = require("devtools/client/shared/components/reps/rep").REPS;
MODE = require("devtools/client/shared/components/reps/constants").MODE;
}
- exports.Rep = Rep;
- exports.StringRep = StringRep;
- exports.Grip = Grip;
+ exports.REPS = REPS;
exports.MODE = MODE;
exports.createFactories = createFactories;
exports.parseURLEncodedText = parseURLEncodedText;
exports.parseURLParams = parseURLParams;
});
--- a/devtools/client/shared/components/reps/rep.js
+++ b/devtools/client/shared/components/reps/rep.js
@@ -140,9 +140,41 @@ define(function (require, exports, modul
}
}
return React.createFactory(defaultRep.rep);
}
// Exports from this module
exports.Rep = Rep;
+
+ // Export all reps
+ exports.REPS = {
+ ArrayRep,
+ Attribute,
+ CommentNode,
+ DateTime,
+ Document,
+ ElementNode,
+ ErrorRep,
+ Event,
+ Func,
+ Grip,
+ GripArray,
+ GripMap,
+ InfinityRep,
+ LongStringRep,
+ NaNRep,
+ Null,
+ Number,
+ ObjectWithText,
+ ObjectWithURL,
+ PromiseRep,
+ RegExp,
+ Rep,
+ StringRep,
+ StyleSheet,
+ SymbolRep,
+ TextNode,
+ Undefined,
+ Window,
+ };
});
--- a/devtools/client/webconsole/net/components/post-tab.js
+++ b/devtools/client/webconsole/net/components/post-tab.js
@@ -1,19 +1,19 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";
const React = require("devtools/client/shared/vendor/react");
-
const TreeView = React.createFactory(require("devtools/client/shared/components/tree/tree-view"));
-const { Rep, MODE, parseURLEncodedText } = require("devtools/client/shared/components/reps/load-reps");
+const { REPS, MODE, parseURLEncodedText } = require("devtools/client/shared/components/reps/load-reps");
+const Rep = React.createFactory(REPS.Rep);
// Network
const NetInfoParams = React.createFactory(require("./net-info-params"));
const NetInfoGroupList = React.createFactory(require("./net-info-group-list"));
const Spinner = React.createFactory(require("./spinner"));
const SizeLimit = React.createFactory(require("./size-limit"));
const NetUtils = require("../utils/net");
const Json = require("../utils/json");
--- a/devtools/client/webconsole/net/components/response-tab.js
+++ b/devtools/client/webconsole/net/components/response-tab.js
@@ -2,17 +2,18 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";
const React = require("devtools/client/shared/vendor/react");
// Reps
const TreeView = React.createFactory(require("devtools/client/shared/components/tree/tree-view"));
-const { Rep, MODE } = require("devtools/client/shared/components/reps/load-reps");
+const { REPS, MODE } = require("devtools/client/shared/components/reps/load-reps");
+const Rep = React.createFactory(REPS.Rep);
// Network
const SizeLimit = React.createFactory(require("./size-limit"));
const NetInfoGroupList = React.createFactory(require("./net-info-group-list"));
const Spinner = React.createFactory(require("./spinner"));
const Json = require("../utils/json");
const NetUtils = require("../utils/net");
--- a/devtools/client/webconsole/new-console-output/components/grip-message-body.js
+++ b/devtools/client/webconsole/new-console-output/components/grip-message-body.js
@@ -15,17 +15,20 @@ if (typeof define === "undefined") {
// React
const {
createFactory,
PropTypes
} = require("devtools/client/shared/vendor/react");
const VariablesViewLink = createFactory(require("devtools/client/webconsole/new-console-output/components/variables-view-link"));
-const { Rep, StringRep, Grip, MODE } = require("devtools/client/shared/components/reps/load-reps");
+const { REPS, MODE, createFactories } = require("devtools/client/shared/components/reps/load-reps");
+const Rep = createFactory(REPS.Rep);
+const Grip = REPS.Grip;
+const StringRep = createFactories(REPS.StringRep).rep;
GripMessageBody.displayName = "GripMessageBody";
GripMessageBody.propTypes = {
grip: PropTypes.oneOfType([
PropTypes.string,
PropTypes.number,
PropTypes.object,