@hxui/angular
Version:
* * *
87 lines • 7.39 kB
JavaScript
/**
* @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==