mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-11-30 11:54:33 +03:00
26 lines
967 B
JavaScript
26 lines
967 B
JavaScript
|
import Component from '@ember/component';
|
||
|
import calculatePosition from 'ember-basic-dropdown/utils/calculate-position';
|
||
|
import {and, match} from '@ember/object/computed';
|
||
|
import {inject as service} from '@ember/service';
|
||
|
|
||
|
export default Component.extend({
|
||
|
config: service(),
|
||
|
session: service(),
|
||
|
router: service(),
|
||
|
whatsNew: service(),
|
||
|
feature: service(),
|
||
|
|
||
|
showDropdownExtension: and('config.clientExtensions.dropdown', 'session.user.isOwner'),
|
||
|
isSettingsRoute: match('router.currentRouteName', /^settings/),
|
||
|
|
||
|
// equivalent to "left: auto; right: -20px"
|
||
|
userDropdownPosition(trigger, dropdown) {
|
||
|
let {horizontalPosition, verticalPosition, style} = calculatePosition(...arguments);
|
||
|
let {width: dropdownWidth} = dropdown.firstElementChild.getBoundingClientRect();
|
||
|
|
||
|
style.right += (dropdownWidth - 20);
|
||
|
style['z-index'] = '1100';
|
||
|
|
||
|
return {horizontalPosition, verticalPosition, style};
|
||
|
}
|
||
|
});
|