@alihbuzaid/ember-ui
Version:
Fleetbase UI provides all the interface components, helpers, services and utilities for building a Fleetbase extension into the Console.
25 lines (22 loc) • 946 B
JavaScript
import Component from '@glimmer/component';
import { tracked } from '@glimmer/tracking';
import { inject as service } from '@ember/service';
export default class LayoutSidebarPanelComponent extends Component {
abilities;
dropdownButtonRenderInPlace = true;
permissionRequired = null;
disabled = false;
doesntHavePermissions = false;
visible = true;
constructor(owner, { dropdownButtonRenderInPlace = true, permission = null, disabled = false, visible = true }) {
super(...arguments);
this.dropdownButtonRenderInPlace = dropdownButtonRenderInPlace;
this.permissionRequired = permission;
this.disabled = disabled;
this.visible = visible;
// If no permissions disable
if (!disabled) {
this.disabled = this.doesntHavePermissions = permission && this.abilities.cannot(permission);
}
}
}