@alihbuzaid/ember-ui
Version:
Fleetbase UI provides all the interface components, helpers, services and utilities for building a Fleetbase extension into the Console.
47 lines (36 loc) • 1.23 kB
JavaScript
import Component from '@glimmer/component';
import { tracked } from '@glimmer/tracking';
import { action, computed } from '@ember/object';
import { later } from '@ember/runloop';
export default class OverlayHeaderComponent extends Component {
overlayPanelHeaderRef;
('args.title') get useEllipsis() {
const { title } = this.args;
return title?.length > 15;
}
('args.title') get titleWithElipsis() {
const { title } = this.args;
return `${title?.substring(0, 15)}...`;
}
setupComponent(element) {
this.overlayPanelHeaderRef = element;
}
cancel() {
const { onPressCancel } = this.args;
const closeOverlay = (callback) => {
this.overlayPanelHeaderRef?.closest('.next-content-overlay')?.classList.remove('is-open');
later(
this,
() => {
if (typeof callback === 'function') {
callback();
}
},
600
);
};
if (typeof onPressCancel === 'function') {
onPressCancel({ closeOverlay });
}
}
}