UNPKG

@bennerinformatics/ember-fw-gc

Version:

A set of components, controllers, routes, and helpers used in all Group-Control managed FW App System applications

67 lines (61 loc) 2.15 kB
import Component from '@ember/component'; import {inject as service} from '@ember/service'; import AuthComponentMixin from '@bennerinformatics/ember-fw-gc/mixins/auth-component'; /** * For Ember deprecation notice, [click here](https://deprecations.emberjs.com/id/ember-component-is-visible/). This component is used to show or hide a button * based on a certain permission level or department. It is similar to the same * function as [has-role](../classes/HasRole.html) or [has-department](../classes/HasDepartment.html) helpers, * except more robust, and designed only for a button itself. * * Basic Usage: * * ```handlebars * <AuthButton @perm="admin" @type="button" @class="btn btn-sm btn-default" @click={{action "click"}}> * Click me if you're an admin! * </AuthBlock> * ``` * * See the docs for [AuthComponentMixin](../classes/AuthComponentMixin.html) * for more details on how you can use this component. * * @public * @class AuthButton * @extends Ember.Component * @uses AuthComponentMixin * @module Components * @deprecated Ember Component isVisible has been deprecated by Ember. Use has-role or has-department helper instead. */ export default Component.extend(AuthComponentMixin, { tagName: 'button', attributeBindings: ['disabled', 'type'], /** * Whether or not to mark the button as 'disabled' * See <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-disabled">here</a> * for more details * * @public * @property disabled * @type {Boolean} */ disabled: false, /** * What the type of the button is * See <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-type">here</a> * for more details * * @public * @property type * @type {String} */ type: 'button', session: service(), user: service('current-user'), /** * Action to be called when the button is clicked. * * @public * @property click * @type {Action} */ click: () => {} });