From a213d6e9971586b5921b8d2c5763b665fb2a8d11 Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Wed, 29 May 2013 22:47:07 +0100 Subject: [PATCH] groups: accordion information on left side, more edit options for group information --- src/app/groups.coffee | 9 +++ src/app/index.coffee | 2 + src/app/misc.coffee | 10 ++-- views/app/groups.html | 126 +++++++++++++++++++++++++++++++++++------- 4 files changed, 120 insertions(+), 27 deletions(-) diff --git a/src/app/groups.coffee b/src/app/groups.coffee index 7578e42ba1..1d74906ab2 100644 --- a/src/app/groups.coffee +++ b/src/app/groups.coffee @@ -19,6 +19,15 @@ module.exports.app = (appExports, model, app) -> type: $(el).attr('data-type') , ->location.reload()) + appExports.toggleGroupEdit = (e, el) -> + path = "_editing.groups.#{$(el).attr('data-gid')}" + model.set path, !model.get(path) + + appExports.groupAddWebsite = (e, el) -> + test = e.get() + e.at().unshift 'websites', model.get('_newGroupWebsite') + model.del '_newGroupWebsite' + appExports.groupInvite = (e,el) -> uid = model.get('_groupInvitee').replace(/[\s"]/g, '') model.set '_groupInvitee', '' diff --git a/src/app/index.coffee b/src/app/index.coffee index 5eabf24199..da5e3279d9 100644 --- a/src/app/index.coffee +++ b/src/app/index.coffee @@ -133,6 +133,8 @@ ready (model) -> user = model.at('_user') browser = require './browser' + exports.removeAt = (e) -> e.at().remove() # used for things like remove website, chat, etc + require('./tasks').app(exports, model) require('./items').app(exports, model) require('./groups').app(exports, model, app) diff --git a/src/app/misc.coffee b/src/app/misc.coffee index 5ae183c5dc..8c960323ce 100644 --- a/src/app/misc.coffee +++ b/src/app/misc.coffee @@ -119,17 +119,15 @@ module.exports.viewHelpers = (view) -> #TODO put this in habitrpg-shared taskInChallenge = (task) -> return false unless task?.challenge - [gid, cid, gType] = [task.group.id, task.challenge, task.group.type] + [tid, gid, cid, gType] = [task.id, task.group.id, task.challenge, task.group.type] getTask = (challenges) -> challenge = _.find(challenges,{id:cid}) - challenge and _.find(challenge["#{task.type}s"],{id:task.id}) + challenge and _.find(challenge["#{task.type}s"],{id:tid}) switch gType when 'party' - party = @model.get('_party') - return party?.challenges and getTask(party.challenges) + (party = @model.get '_party') and party and (getTask party.challenges) when 'guild' - guilds = @model.get("_guilds") - return guilds and getTask(_.find(guilds,{id:gid}).challenges) + (guilds = @model.get "_guilds") and (guild = _.find guilds,{id:gid}) and guild and (getTask guild.challenges) #Challenges view.fn 'taskInChallenge', taskInChallenge diff --git a/views/app/groups.html b/views/app/groups.html index 187787c696..6b1ed5c40c 100644 --- a/views/app/groups.html +++ b/views/app/groups.html @@ -62,9 +62,10 @@ +
-
+
{{#if equal(@group.id,'habitrpg')}}
@@ -95,28 +96,111 @@ {{else}} -

{{@group.name}}

-
- {{#each @group.members as :memberId}} - - {{/}} -
- - {{username(_members[:memberId].auth, _members[:memberId].profile.name)}}({{:memberId}}) - -
- {#with @group as :group} -
- {#if _groupError} -
{_groupError}
- {/} -
- - +
+
+ +
+
+ {#if _editing.groups[@group.id]} +
+ +
+
+ +
+ + + {#with @group} + + + + + {#if @group.websites} +

Resources

+
    + {#each @group.websites as :website} +
  • {:website}
  • + {/} +
+ {/} + {/} + {else} + {#if @group.logo}{/} + {{#if equal(@group.leader,_user.id)}} + + {{/}} +

{@group.name}

+
{@group.description}
+ {/} + {#if @group.websites} +

Resources

+
    + {#each @group.websites as :website} +
  • {:website}
  • + {/} +
+ {/} +
+
- + +
+
+ Members +
+
+
+ + {{#each @group.members as :memberId}} + + + + {{/}} +
+ + {{username(_members[:memberId].auth, _members[:memberId].profile.name)}} + + + ({{:memberId}}) +
+ {#with @group as :group} +
+ {#if _groupError} +
{_groupError}
+ {/} +
+ + +
+
+ {/} +
+
+
+ +
+ +
+
+ + {{#each @group.challenges as :challenge}} + + {{/}} +
+ {{:challenge.name}} +
+
+ +
+
+ + +
Leave - {/} {{/}}