diff --git a/js/components/toggle_menu.js b/js/components/toggle_menu.js new file mode 100644 index 00000000..e17a201a --- /dev/null +++ b/js/components/toggle_menu.js @@ -0,0 +1,25 @@ +import ToggleMixin from '../mixins/toggle' + +export default { + name: 'toggleMenu', + + mixins: [ToggleMixin], + + methods: { + toggle: function(e) { + if (this.$el.contains(e.target)) { + this.isVisible = !this.isVisible + } else { + this.isVisible = false + } + }, + }, + + mounted: function() { + document.addEventListener('click', this.toggle) + }, + + beforeDestroy: function() { + document.removeEventListener('click', this.toggle) + }, +} diff --git a/js/index.js b/js/index.js index dd5ef06a..a28c4868 100644 --- a/js/index.js +++ b/js/index.js @@ -30,6 +30,7 @@ import ToForm from './components/forms/to_form' import ClinFields from './components/clin_fields' import PopDateRange from './components/pop_date_range' import Accordion from './components/accordion' +import ToggleMenu from './components/toggle_menu' Vue.config.productionTip = false @@ -61,6 +62,7 @@ const app = new Vue({ ToForm, ClinFields, PopDateRange, + ToggleMenu, }, mounted: function() { diff --git a/templates/applications/fragments/members.html b/templates/applications/fragments/members.html index a8e8d80b..6305f570 100644 --- a/templates/applications/fragments/members.html +++ b/templates/applications/fragments/members.html @@ -94,83 +94,78 @@
- - - +
+ + + + + + + + + {% for member in members %} + {% set perms_modal = "edit_member-{}".format(loop.index) %} + {% set invite_pending = member.role_status == 'invite_pending' %} + {% set invite_expired = member.role_status == 'invite_expired' %} - - - - - - - {% for member in members %} - {% set perms_modal = "edit_member-{}".format(loop.index) %} - {% set invite_pending = member.role_status == 'invite_pending' %} - {% set invite_expired = member.role_status == 'invite_expired' %} - - + - - + - - {% endfor %} - -
{{ "common.name" | translate }}{{ "portfolios.applications.members.form.app_perms.title" | translate }}{{ 'portfolios.applications.members.form.env_access.table_header' | translate }}
{{ "common.name" | translate }}{{ "portfolios.applications.members.form.app_perms.title" | translate }}{{ 'portfolios.applications.members.form.env_access.table_header' | translate }}
- {{ member.user_name }} -
- {{ Label(type=member.role_status, classes='label--below') }} -
+ {{ member.user_name }} +
+ {{ Label(type=member.role_status, classes='label--below') }} +
- {% for perm, value in member.permission_sets.items() %} -
- {{ ("portfolios.applications.members.{}.{}".format(perm, value)) | translate }} -
- {% endfor %} -
- {% for env in member.environment_roles %} -
- - {{ env.environment_name }} - - - : {{ env.role }} - -
- {% endfor %} - {% if user_can(permissions.EDIT_APPLICATION_MEMBER) -%} -
- {% set toggle_button -%} - {{ Icon('ellipsis')}} - {%- endset %} - {% set section = "app_member_edit-{}".format(member.role_id) %} +
+ {% for perm, value in member.permission_sets.items() %} +
+ {{ ("portfolios.applications.members.{}.{}".format(perm, value)) | translate }} +
+ {% endfor %} +
+ {% for env in member.environment_roles %} +
+ + {{ env.environment_name }} + + + : {{ env.role }} + +
+ {% endfor %} + {% if user_can(permissions.EDIT_APPLICATION_MEMBER) -%} + +
+ + {{ Icon('ellipsis')}} + + + {{ Icon('ellipsis')}} + - {{ - ToggleButton( - open_html=toggle_button, - close_html=toggle_button, - section_name=section, - active_style=True - ) - }} - {% call ToggleSection(section_name=section, classes="app-member-menu__toggle") %} - - {{ "portfolios.applications.members.menu.edit" | translate }} +
+ + {{ "portfolios.applications.members.menu.edit" | translate }} + + {% if invite_pending or invite_expired -%} + {% set revoke_invite_modal = "revoke_invite_{}".format(member.role_id) %} + {% set resend_invite_modal = "resend_invite-{}".format(member.role_id) %} + + {{ "portfolios.applications.members.menu.resend" | translate }} - {% if invite_pending or invite_expired -%} - {% set revoke_invite_modal = "revoke_invite_{}".format(member.role_id) %} - {% set resend_invite_modal = "resend_invite-{}".format(member.role_id) %} - - {{ "portfolios.applications.members.menu.resend" | translate }} - - {% if user_can(permissions.DELETE_APPLICATION_MEMBER) -%} - {{ 'invites.revoke' | translate }} - {%- endif %} + {% if user_can(permissions.DELETE_APPLICATION_MEMBER) -%} + {{ 'invites.revoke' | translate }} {%- endif %} - {% endcall %} + {%- endif %}
- {%- endif %} -
-
+ +
+ + {%- endif %} + + + {% endfor %} + +
{% endif %}