Open group settings when the group is created
This commit is contained in:
parent
f1db564506
commit
36cd22663a
4 changed files with 13 additions and 3 deletions
|
@ -392,6 +392,8 @@ export default React.createClass({
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
groupId: PropTypes.string.isRequired,
|
groupId: PropTypes.string.isRequired,
|
||||||
|
// Whether this is the first time the group admin is viewing the group
|
||||||
|
groupIsNew: PropTypes.bool,
|
||||||
},
|
},
|
||||||
|
|
||||||
childContextTypes: {
|
childContextTypes: {
|
||||||
|
@ -422,7 +424,7 @@ export default React.createClass({
|
||||||
|
|
||||||
componentWillMount: function() {
|
componentWillMount: function() {
|
||||||
this._changeAvatarComponent = null;
|
this._changeAvatarComponent = null;
|
||||||
this._initGroupStore(this.props.groupId);
|
this._initGroupStore(this.props.groupId, true);
|
||||||
|
|
||||||
MatrixClientPeg.get().on("Group.myMembership", this._onGroupMyMembership);
|
MatrixClientPeg.get().on("Group.myMembership", this._onGroupMyMembership);
|
||||||
},
|
},
|
||||||
|
@ -449,7 +451,7 @@ export default React.createClass({
|
||||||
this.setState({membershipBusy: false});
|
this.setState({membershipBusy: false});
|
||||||
},
|
},
|
||||||
|
|
||||||
_initGroupStore: function(groupId) {
|
_initGroupStore: function(groupId, firstInit) {
|
||||||
this._groupStore = GroupStoreCache.getGroupStore(MatrixClientPeg.get(), groupId);
|
this._groupStore = GroupStoreCache.getGroupStore(MatrixClientPeg.get(), groupId);
|
||||||
this._groupStore.registerListener(() => {
|
this._groupStore.registerListener(() => {
|
||||||
const summary = this._groupStore.getSummary();
|
const summary = this._groupStore.getSummary();
|
||||||
|
@ -472,6 +474,9 @@ export default React.createClass({
|
||||||
),
|
),
|
||||||
error: null,
|
error: null,
|
||||||
});
|
});
|
||||||
|
if (this.props.groupIsNew && firstInit) {
|
||||||
|
this._onEditClick();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
this._groupStore.on('error', (err) => {
|
this._groupStore.on('error', (err) => {
|
||||||
this.setState({
|
this.setState({
|
||||||
|
|
|
@ -301,6 +301,7 @@ export default React.createClass({
|
||||||
case PageTypes.GroupView:
|
case PageTypes.GroupView:
|
||||||
page_element = <GroupView
|
page_element = <GroupView
|
||||||
groupId={this.props.currentGroupId}
|
groupId={this.props.currentGroupId}
|
||||||
|
isNew={this.props.currentGroupIsNew}
|
||||||
collapsedRhs={this.props.collapseRhs}
|
collapsedRhs={this.props.collapseRhs}
|
||||||
/>;
|
/>;
|
||||||
if (!this.props.collapseRhs) right_panel = <RightPanel groupId={this.props.currentGroupId} disabled={this.props.rightDisabled} />;
|
if (!this.props.collapseRhs) right_panel = <RightPanel groupId={this.props.currentGroupId} disabled={this.props.rightDisabled} />;
|
||||||
|
|
|
@ -490,7 +490,10 @@ module.exports = React.createClass({
|
||||||
case 'view_group':
|
case 'view_group':
|
||||||
{
|
{
|
||||||
const groupId = payload.group_id;
|
const groupId = payload.group_id;
|
||||||
this.setState({currentGroupId: groupId});
|
this.setState({
|
||||||
|
currentGroupId: groupId,
|
||||||
|
currentGroupIsNew: payload.group_is_new,
|
||||||
|
});
|
||||||
this._setPage(PageTypes.GroupView);
|
this._setPage(PageTypes.GroupView);
|
||||||
this.notifyNewScreen('group/' + groupId);
|
this.notifyNewScreen('group/' + groupId);
|
||||||
}
|
}
|
||||||
|
|
|
@ -81,6 +81,7 @@ export default React.createClass({
|
||||||
dis.dispatch({
|
dis.dispatch({
|
||||||
action: 'view_group',
|
action: 'view_group',
|
||||||
group_id: result.group_id,
|
group_id: result.group_id,
|
||||||
|
group_is_new: true,
|
||||||
});
|
});
|
||||||
this.props.onFinished(true);
|
this.props.onFinished(true);
|
||||||
}).catch((e) => {
|
}).catch((e) => {
|
||||||
|
|
Loading…
Reference in a new issue