mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-19 07:37:25 +01:00
[#1489] WIP start adding group edit. remove angular-ui-bootstrap accordion as it
was causing problems.
This commit is contained in:
@@ -35,8 +35,6 @@
|
|||||||
"marked": "~0.2.9"
|
"marked": "~0.2.9"
|
||||||
},
|
},
|
||||||
"resolutions": {
|
"resolutions": {
|
||||||
"jquery": "~2.0.3",
|
"jquery": "~2.0.3"
|
||||||
"angular": "1.2.0-rc.1",
|
|
||||||
"bootstrap": "v2.3.2"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,9 @@ habitrpg.controller("GroupsCtrl", ['$scope', '$rootScope', 'Groups', '$http', 'A
|
|||||||
return ~(group.members.indexOf(user._id));
|
return ~(group.members.indexOf(user._id));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$scope.Members = Members;
|
||||||
|
$scope._editing = {group:false};
|
||||||
|
|
||||||
// ------ Loading ------
|
// ------ Loading ------
|
||||||
|
|
||||||
$scope.groups = Groups.groups;
|
$scope.groups = Groups.groups;
|
||||||
|
|||||||
@@ -6,42 +6,57 @@ a.pull-right.gem-wallet(rel='popover', data-trigger='hover', data-title='Guild B
|
|||||||
.row-fluid
|
.row-fluid
|
||||||
.span4
|
.span4
|
||||||
h3 {{group.name}}
|
h3 {{group.name}}
|
||||||
accordion
|
// FIXME remove angular-ui-bootstrap here and use standard bootstrap accordion. Eventually, remove ui-bootstrap altogether (too buggy)
|
||||||
accordion-group(heading='Information')
|
.accordion(id='accordion-groups-{{group._id}}')
|
||||||
.blah-options
|
|
||||||
div(ng-show='_editing.groups[group.id]')
|
// ------ Information -------
|
||||||
div(style='height:10px')
|
.accordion-group
|
||||||
a.pull-right(x-bind='click:toggleGroupEdit', data-gid='{{group.id}}')
|
.accordion-heading
|
||||||
i.icon-ok
|
a.accordion-toggle(data-toggle='accordion', data-target='#accordion-groups-{{group._id}}-information', data-parent='#accordion-groups-{{group._id}}') Information
|
||||||
input.option-content(type='text', value='{{group.name}}', placeholder='Group Name')
|
.accordion-body.collapse.in(id='accordion-groups-{{group._id}}-information')
|
||||||
textarea(cols='3', placeholder='Description') {{group.description}}
|
.accordion-inner
|
||||||
input.option-content(type='url', placeholder='Logo Url', value='{{group.logo}}')
|
div.whatever-options(ng-show='_editing.group')
|
||||||
form.form-inline(x-bind='submit:groupAddWebsite')
|
.control-group.option-large
|
||||||
|
label.control-label Group Name
|
||||||
|
input.option-content(type='text', ng-model='group.name', placeholder='Group Name')
|
||||||
|
.control-group.option-large
|
||||||
|
label.control-label Description
|
||||||
|
textarea.option-content(style='height:15em;', placeholder='Description', ng-model='group.description')
|
||||||
|
.control-group.option-large
|
||||||
|
label.control-label Logo URL
|
||||||
|
input.option-content(type='url', placeholder='Logo URL', ng-model='group.logo')
|
||||||
|
.control-group.option-large
|
||||||
|
form.form-inline(x-bind='submit:groupAddWebsite', ng-submit='notPorted()')
|
||||||
input.option-content(type='url', placeholder='Website', value='{{_newGroupWebsite}}')
|
input.option-content(type='url', placeholder='Website', value='{{_newGroupWebsite}}')
|
||||||
input(type='submit', value='Add')
|
input.btn(type='submit', value='Add')
|
||||||
|
|
||||||
h4 Assign Group Leader
|
h4 Assign Group Leader
|
||||||
select#group-leader-selection
|
select#group-leader-selection
|
||||||
option(ng-repeat='memberId in group.members', selected='memberId == _new.groupLeader') {{username(_members[memberId].auth,_members[memberId].profile.name)}}
|
option(ng-repeat='member in group.members', selected='member._id == _new.groupLeader') {{username(member.auth,member.profile.name)}}
|
||||||
button(x-bind='click:assignGroupLeader') Assign
|
button(x-bind='click:assignGroupLeader', ng-click='notPorted()') Assign
|
||||||
|
|
||||||
div(ng-show='group.websites')
|
div(ng-show='group.websites')
|
||||||
h4 Resources
|
h4 Resources
|
||||||
ul.unstyled
|
ul.unstyled
|
||||||
li
|
li
|
||||||
a(ng-repeat='website in group.websites', x-bind='click:removeAt')
|
a(ng-repeat='website in group.websites', x-bind='click:removeAt', ng-click='notPorted()')
|
||||||
i.icon-trash
|
i.icon-trash
|
||||||
a(target='_blank', href='{{website}}') {{website}}
|
a(target='_blank', href='{{website}}') {{website}}
|
||||||
div(ng-show='!_editing.groups[group.id]')
|
|
||||||
|
div(ng-show='!_editing.group')
|
||||||
img.pull-right(ng-show='group.logo', style='max-width:150px', ng-src='{{group.logo}}')
|
img.pull-right(ng-show='group.logo', style='max-width:150px', ng-src='{{group.logo}}')
|
||||||
a.pull-right(ng-if='group.leader==user.id', x-bind='click:toggleGroupEdit', data-gid='{{group.id}}')
|
markdown(ng-model='group.description')
|
||||||
i.icon-pencil
|
|
||||||
div {{group.description}}
|
|
||||||
div(ng-show='group.websites')
|
div(ng-show='group.websites')
|
||||||
h4 Resources
|
h4 Websites
|
||||||
ul.unstyled
|
ul.unstyled
|
||||||
li(ng-repeat='website in group.websites')
|
li(ng-repeat='website in group.websites')
|
||||||
a(target='_blank', ng-href='{{website}}') {{website}}
|
a(target='_blank', ng-href='{{website}}') {{website}}
|
||||||
|
|
||||||
accordion-group(heading='Members')
|
.accordion-group
|
||||||
|
.accordion-heading
|
||||||
|
a.accordion-toggle(data-toggle='accordion', data-target='#accordion-groups-{{group._id}}-members', data-parent='#accordion-groups-{{group._id}}') Members
|
||||||
|
.accordion-body.collapse(id='accordion-groups-{{group._id}}-members')
|
||||||
|
.accordion-inner
|
||||||
form.form-inline(ng-submit='invite(group, invitee)')
|
form.form-inline(ng-submit='invite(group, invitee)')
|
||||||
.alert.alert-danger(ng-show='_groupError') {{_groupError}}
|
.alert.alert-danger(ng-show='_groupError') {{_groupError}}
|
||||||
.control-group
|
.control-group
|
||||||
@@ -84,21 +99,23 @@ a.pull-right.gem-wallet(rel='popover', data-trigger='hover', data-title='Guild B
|
|||||||
|
|
||||||
.span8
|
.span8
|
||||||
div(ng-if='group.leader == user.id')
|
div(ng-if='group.leader == user.id')
|
||||||
div(ng-show='_editing.leaderMessage[group.id]')
|
div.blah-options(ng-show='_editing.group')
|
||||||
a.pull-right(x-bind='click:toggleLeaderMessageEdit', data-gid='{{group.id}}')
|
button.btn.btn-primary.pull-right(ng-click='_editing.group = false') Save
|
||||||
i.icon-ok
|
i.icon-ok
|
||||||
textarea(cols='3', placeholder='Message from group leader') {{group.leaderMessage}}
|
.option-large
|
||||||
div(ng-hide='_editing.leaderMessage[group.id]')
|
textarea.option-content(style='height:15em;', placeholder='Message from group leader', ng-model='group.leaderMessage')
|
||||||
a.btn.pull-right(x-bind='click:toggleLeaderMessageEdit', data-gid='{{group.id}}') Edit leader message
|
div(ng-hide='_editing.group')
|
||||||
|
button.btn.btn-default.pull-right(ng-click='_editing.group = true') Edit Group
|
||||||
table(ng-show='group.leaderMessage')
|
table(ng-show='group.leaderMessage')
|
||||||
tr
|
tr
|
||||||
td
|
td
|
||||||
app:avatar:avatar(profile='{{_members[group.leader]}}')
|
app:avatar:avatar(profile='{{Members.members[group.leader]}}')
|
||||||
td
|
td
|
||||||
.popover.static-popover.fade.right.in
|
.popover.static-popover.fade.right.in
|
||||||
.arrow
|
.arrow
|
||||||
h3.popover-title {{username(_members[group.leader].auth,_members[group.leader].profile.name)}}
|
h3.popover-title {{username(Members.members[group.leader].auth, Members.members[group.leader].profile.name)}}
|
||||||
.popover-content {{group.leaderMessage}}
|
.popover-content
|
||||||
|
markdown(ng-model='group.leaderMessage')
|
||||||
div(ng-controller='ChatCtrl')
|
div(ng-controller='ChatCtrl')
|
||||||
h3 Chat
|
h3 Chat
|
||||||
include ./chat-box
|
include ./chat-box
|
||||||
|
|||||||
Reference in New Issue
Block a user