UNPKG

@hxui/angular

Version:

* * *

87 lines 7.39 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc */ import { Component, Input } from '@angular/core'; import { EmptyStateConfig } from './empty-state.config'; export class EmptyStateComponent { /** * @param {?} config */ constructor(config) { this.config = config; this.actions = []; } /** * @return {?} */ ngOnInit() { } /** * Calls the parsed callback with optional arguments * @param {?} event * @param {?} cb * @return {?} */ executeCallback(event, cb) { if (cb.length) { if (cb.length === 1) { // if callback has no arguments cb[0](); } else { // if callback has 1 or more arguments // if callback has 1 or more arguments /** @type {?} */ const args = []; for (let i = 1; i < cb.length; i++) { args.push(cb[i]); } cb[0].apply(this, args); } } return false; } } EmptyStateComponent.decorators = [ { type: Component, args: [{ selector: 'hxa-empty-state', template: `<div class="hxui-reset emptyState"> <i class="hx-icon is-lightest emptyState__icon" [ngClass]="icon"></i> <div class="emptySate__msg is-lighter">{{msg}}</div> <div class="emptyState__actions hx-flex"> <button *ngFor="let action of actions" class="hx-button is-small" [attr.id]="action.id" [ngClass]="action.css" (click)='executeCallback($event,action.callback)'>{{action.label}}</button> </div> </div> `, styles: [ ':host { min-height: 12rem; width:100%; display:flex; flex-direction: column; flex:1;}', ':host .emptyState { display:flex; flex-direction: column; justify-content: center; align-items: center; flex:1; margin: 1rem 0; }', ':host .emptyState__icon { height:3.5rem; width:3.5rem; font-size:64px; margin: 1rem; }', ':host .emptyState__msg { margin: 1rem; }', ':host .emptyState__actions{ margin: 1.5rem 1rem ; }', ':host .emptyState__actions button { margin: 0 .5rem; }' ] },] }, ]; /** @nocollapse */ EmptyStateComponent.ctorParameters = () => [ { type: EmptyStateConfig } ]; EmptyStateComponent.propDecorators = { icon: [{ type: Input }], msg: [{ type: Input }], actions: [{ type: Input }] }; if (false) { /** @type {?} */ EmptyStateComponent.prototype.icon; /** @type {?} */ EmptyStateComponent.prototype.msg; /** @type {?} */ EmptyStateComponent.prototype.actions; /** @type {?} */ EmptyStateComponent.prototype.config; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHktc3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGh4dWkvYW5ndWxhci8iLCJzb3VyY2VzIjpbImxpYi9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBRXZELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBeUJ0RCxNQUFNLE9BQU8sbUJBQW1COzs7O0lBTTlCLFlBQW9CLE1BQXdCO1FBQXhCLFdBQU0sR0FBTixNQUFNLENBQWtCO1FBRm5DLFlBQU8sR0FBd0IsRUFBRSxDQUFDO0lBRUssQ0FBQzs7OztJQUVqRCxRQUFRLEtBQUksQ0FBQzs7Ozs7OztJQU9iLGVBQWUsQ0FBQyxLQUFZLEVBQUUsRUFBUztRQUNyQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUU7WUFDYixJQUFJLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLEVBQUUsK0JBQStCO2dCQUNwRCxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQzthQUNUO2lCQUFNLEVBQUUsc0NBQXNDOzs7c0JBQ3ZDLElBQUksR0FBVSxFQUFFO2dCQUN0QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtvQkFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDbEI7Z0JBQ0QsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDekI7U0FDRjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7O1lBbkRGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7O0NBV1g7Z0JBQ0MsTUFBTSxFQUFFO29CQUNOLHVGQUF1RjtvQkFDdkYsbUlBQW1JO29CQUNuSSx3RkFBd0Y7b0JBQ3hGLDBDQUEwQztvQkFDMUMscURBQXFEO29CQUNyRCx3REFBd0Q7aUJBQ3pEO2FBQ0Y7Ozs7WUF4Qk8sZ0JBQWdCOzs7bUJBMkJyQixLQUFLO2tCQUNMLEtBQUs7c0JBQ0wsS0FBSzs7OztJQUZOLG1DQUFzQjs7SUFDdEIsa0NBQXFCOztJQUNyQixzQ0FBMkM7O0lBRS9CLHFDQUFnQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtJRW1wdHlTdGF0ZUFjdGlvbn0gZnJvbSAnLi9lbXB0eS1zdGF0ZS1hY3Rpb24uaW50ZXJmYWNlJztcclxuaW1wb3J0IHtFbXB0eVN0YXRlQ29uZmlnfSBmcm9tICcuL2VtcHR5LXN0YXRlLmNvbmZpZyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2h4YS1lbXB0eS1zdGF0ZScsXHJcbiAgdGVtcGxhdGU6IGA8ZGl2IGNsYXNzPVwiaHh1aS1yZXNldCBlbXB0eVN0YXRlXCI+XHJcbiAgPGkgY2xhc3M9XCJoeC1pY29uIGlzLWxpZ2h0ZXN0IGVtcHR5U3RhdGVfX2ljb25cIiBbbmdDbGFzc109XCJpY29uXCI+PC9pPlxyXG4gIDxkaXYgY2xhc3M9XCJlbXB0eVNhdGVfX21zZyBpcy1saWdodGVyXCI+e3ttc2d9fTwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJlbXB0eVN0YXRlX19hY3Rpb25zIGh4LWZsZXhcIj5cclxuICAgIDxidXR0b24gKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBhY3Rpb25zXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJoeC1idXR0b24gaXMtc21hbGxcIlxyXG4gICAgICAgICAgICBbYXR0ci5pZF09XCJhY3Rpb24uaWRcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJhY3Rpb24uY3NzXCJcclxuICAgICAgICAgICAgKGNsaWNrKT0nZXhlY3V0ZUNhbGxiYWNrKCRldmVudCxhY3Rpb24uY2FsbGJhY2spJz57e2FjdGlvbi5sYWJlbH19PC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5gLFxyXG4gIHN0eWxlczogW1xyXG4gICAgJzpob3N0IHsgbWluLWhlaWdodDogMTJyZW07IHdpZHRoOjEwMCU7IGRpc3BsYXk6ZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZmxleDoxO30nLFxyXG4gICAgJzpob3N0IC5lbXB0eVN0YXRlIHsgZGlzcGxheTpmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZmxleDoxOyBtYXJnaW46IDFyZW0gMDsgfScsXHJcbiAgICAnOmhvc3QgLmVtcHR5U3RhdGVfX2ljb24geyBoZWlnaHQ6My41cmVtOyB3aWR0aDozLjVyZW07IGZvbnQtc2l6ZTo2NHB4OyBtYXJnaW46IDFyZW07IH0nLFxyXG4gICAgJzpob3N0IC5lbXB0eVN0YXRlX19tc2cgeyBtYXJnaW46IDFyZW07IH0nLFxyXG4gICAgJzpob3N0IC5lbXB0eVN0YXRlX19hY3Rpb25zeyBtYXJnaW46IDEuNXJlbSAxcmVtIDsgfScsXHJcbiAgICAnOmhvc3QgLmVtcHR5U3RhdGVfX2FjdGlvbnMgYnV0dG9uIHsgbWFyZ2luOiAwIC41cmVtOyB9J1xyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEVtcHR5U3RhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSBpY29uOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbXNnOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgYWN0aW9uczogSUVtcHR5U3RhdGVBY3Rpb25bXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpZzogRW1wdHlTdGF0ZUNvbmZpZykgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge31cclxuXHJcbiAgLyoqXHJcbiAgICogQ2FsbHMgdGhlIHBhcnNlZCBjYWxsYmFjayB3aXRoIG9wdGlvbmFsIGFyZ3VtZW50c1xyXG4gICAqIEBwYXJhbSBldmVudFxyXG4gICAqIEBwYXJhbSBjYlxyXG4gICAqL1xyXG4gIGV4ZWN1dGVDYWxsYmFjayhldmVudDogRXZlbnQsIGNiOiBhbnlbXSkge1xyXG4gICAgaWYgKGNiLmxlbmd0aCkge1xyXG4gICAgICBpZiAoY2IubGVuZ3RoID09PSAxKSB7IC8vIGlmIGNhbGxiYWNrIGhhcyBubyBhcmd1bWVudHNcclxuICAgICAgICBjYlswXSgpO1xyXG4gICAgICB9IGVsc2UgeyAvLyBpZiBjYWxsYmFjayBoYXMgMSBvciBtb3JlIGFyZ3VtZW50c1xyXG4gICAgICAgIGNvbnN0IGFyZ3M6IGFueVtdID0gW107XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPCBjYi5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgYXJncy5wdXNoKGNiW2ldKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY2JbMF0uYXBwbHkodGhpcywgYXJncyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==