Factor out data model -> Entity logic to Entities.js

This commit is contained in:
Kegan Dougal 2016-01-15 09:58:48 +00:00
parent 83a458938e
commit 266aee2c6b
3 changed files with 93 additions and 38 deletions

View file

@ -18,6 +18,7 @@ var classNames = require('classnames');
var Matrix = require("matrix-js-sdk");
var MatrixClientPeg = require("../../../MatrixClientPeg");
var Modal = require("../../../Modal");
var Entities = require("../../../Entities");
var sdk = require('../../../index');
var GeminiScrollbar = require('react-gemini-scrollbar');
@ -280,7 +281,7 @@ module.exports = React.createClass({
<SearchableEntityList searchPlaceholderText={"Invite / Search"}
onSubmit={this.onInvite}
entities={
SearchableEntityList.fromRoomMembers(
Entities.fromRoomMembers(
room.currentState.getMembers() // ALLLLL OF THEM
)
} />

View file

@ -14,10 +14,8 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
var React = require('react');
var classNames = require('classnames');
var MatrixClientPeg = require("../../../MatrixClientPeg");
var Modal = require("../../../Modal");
var sdk = require('../../../index');
var GeminiScrollbar = require('react-gemini-scrollbar');
// A list capable of displaying entities which conform to the SearchableEntity
@ -88,39 +86,4 @@ var SearchableEntityList = React.createClass({
}
});
SearchableEntityList.fromRoomMembers = function(members) {
var MemberTile = sdk.getComponent("rooms.MemberTile");
return members.map(function(m) {
return {
matches: function(query) {
return m.name.toLowerCase().indexOf(query.toLowerCase()) === 0;
},
getJsx: function() {
return (
<MemberTile key={m.userId} member={m} />
);
}
};
});
};
SearchableEntityList.fromUsers = function(users) { /*
var UserTile = sdk.getComponent("rooms.UserTile");
return users.map(function(u) {
return {
matches: function(query) {
return u.displayName.toLowerCase().indexOf(query.toLowerCase()) === 0;
},
getJsx: function() {
return (
<UserTile key={u.userId} user={u} />
);
}
};
}); */
};
module.exports = SearchableEntityList;