diff --git a/gui/app/components/folder/category-admin.js b/gui/app/components/folder/category-admin.js index 6d3d5c61..2bfb1927 100644 --- a/gui/app/components/folder/category-admin.js +++ b/gui/app/components/folder/category-admin.js @@ -12,18 +12,19 @@ import Ember from 'ember'; import NotifierMixin from '../../mixins/notifier'; import TooltipMixin from '../../mixins/tooltip'; +import DropdownMixin from '../../mixins/dropdown'; const { inject: { service } } = Ember; -export default Ember.Component.extend(NotifierMixin, TooltipMixin, { +export default Ember.Component.extend(NotifierMixin, TooltipMixin, DropdownMixin, { userService: service('user'), categoryService: service('category'), appMeta: service(), store: service(), newCategory: '', - drop: null, + dropdown: null, users: [], didReceiveAttrs() { @@ -35,11 +36,7 @@ export default Ember.Component.extend(NotifierMixin, TooltipMixin, { }, willDestroyElement() { - let drop = this.get('drop'); - - if (is.not.null(drop)) { - drop.destroy(); - } + this.destroyDropdown(); }, load() { @@ -131,13 +128,13 @@ export default Ember.Component.extend(NotifierMixin, TooltipMixin, { }, onShowAccessPicker(catId) { + this.closeDropdown(); let users = this.get('users'); let category = this.get('category').findBy('id', catId); this.get('categoryService').getViewers(category.get('id')).then((viewers) => { // mark those users as selected that have already been given permission // to see the current category; - console.log(viewers); users.forEach((user) => { let selected = viewers.isAny('id', user.get('id')); @@ -162,13 +159,12 @@ export default Ember.Component.extend(NotifierMixin, TooltipMixin, { remove: false }); - this.set('drop', drop); + this.set('dropdown', drop); }); }, onGrantCancel() { - let drop = this.get('drop'); - drop.close(); + this.closeDropdown(); }, onGrantAccess() { @@ -189,8 +185,7 @@ export default Ember.Component.extend(NotifierMixin, TooltipMixin, { this.get('categoryService').setViewers(category.get('id'), viewers).then( () => {}); - let drop = this.get('drop'); - drop.close(); + this.closeDropdown(); } } }); diff --git a/gui/app/mixins/dropdown.js b/gui/app/mixins/dropdown.js new file mode 100644 index 00000000..fb15df6e --- /dev/null +++ b/gui/app/mixins/dropdown.js @@ -0,0 +1,30 @@ +// Copyright 2016 Documize Inc. . All rights reserved. +// +// This software (Documize Community Edition) is licensed under +// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html +// +// You can operate outside the AGPL restrictions by purchasing +// Documize Enterprise Edition and obtaining a commercial license +// by contacting . +// +// https://documize.com + +import Ember from 'ember'; + +export default Ember.Mixin.create({ + closeDropdown() { + let drop = this.get('dropdown'); + + if (is.not.null(drop) && is.not.null(drop.drop)) { + drop.close(); + } + }, + + destroyDropdown() { + let drop = this.get('dropdown'); + + if (is.not.null(drop) && is.not.null(drop.drop)) { + drop.destroy(); + } + } +}); diff --git a/gui/app/styles/widget/widget-dropdown.scss b/gui/app/styles/widget/widget-dropdown.scss index 6210fbf6..213d8ee6 100644 --- a/gui/app/styles/widget/widget-dropdown.scss +++ b/gui/app/styles/widget/widget-dropdown.scss @@ -40,11 +40,12 @@ .content { > p { margin: 7px 0; - font-size: 0.9em; + font-size: 1rem; } > .heading { - font-weight: bold; + line-height: 3rem; + font-size: 1.2rem; } } diff --git a/gui/app/styles/widget/widget-list-picker.scss b/gui/app/styles/widget/widget-list-picker.scss index 6ba8bc25..03b87d3e 100644 --- a/gui/app/styles/widget/widget-list-picker.scss +++ b/gui/app/styles/widget/widget-list-picker.scss @@ -4,6 +4,7 @@ > .options { width: 300px; max-height: 400px; + margin: 0 auto; overflow: auto; > .option { diff --git a/gui/app/templates/components/folder/category-admin.hbs b/gui/app/templates/components/folder/category-admin.hbs index 7779e221..9d7874c0 100644 --- a/gui/app/templates/components/folder/category-admin.hbs +++ b/gui/app/templates/components/folder/category-admin.hbs @@ -62,6 +62,7 @@