You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
892 B
JavaScript
32 lines
892 B
JavaScript
'use strict';
|
|
|
|
const React = require("react");
|
|
const createReactClass = require("create-react-class");
|
|
|
|
module.exports = function ({dependencies}) {
|
|
require("../abbreviated-item")({dependencies});
|
|
|
|
dependencies.set("AstItemChildSequence", createReactClass({
|
|
displayName: "AstItemChildSequence",
|
|
render: function () {
|
|
const AbbreviatedAstItem = dependencies.get("AbbreviatedAstItem");
|
|
|
|
return (
|
|
<div key={this.props.itemKey} className="child">
|
|
<span className="name">{this.props.itemKey}</span>
|
|
<div className="items">
|
|
{this.props.value.map((item, i) => {
|
|
return (
|
|
<span key={`${this.props.itemKey}:${i}`} className="item">
|
|
{/* FIXME: The way the key is generated here, may break rendering after AST mutations. */}
|
|
<AbbreviatedAstItem data={item} />
|
|
</span>
|
|
);
|
|
})}
|
|
</div>
|
|
</div>
|
|
);
|
|
}
|
|
}));
|
|
};
|