@hxui/angular
Version:
This README includes the steps that are necessary to import the HxUi-angular into a project or to contribute with development.
97 lines (96 loc) • 7.73 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} 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
const /** @type {?} */ args = [];
for (let /** @type {?} */ 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"
[]="action.id"
[]="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; 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 },],
};
function EmptyStateComponent_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
EmptyStateComponent.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
EmptyStateComponent.ctorParameters;
/** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
EmptyStateComponent.propDecorators;
/** @type {?} */
EmptyStateComponent.prototype.icon;
/** @type {?} */
EmptyStateComponent.prototype.msg;
/** @type {?} */
EmptyStateComponent.prototype.actions;
/** @type {?} */
EmptyStateComponent.prototype.config;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHktc3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGh4dWkvYW5ndWxhci8iLCJzb3VyY2VzIjpbImxpYi9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBRXZELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBeUJ0RCxNQUFNOzs7O0lBTUosWUFBb0IsTUFBd0I7UUFBeEIsV0FBTSxHQUFOLE1BQU0sQ0FBa0I7dUJBRkosRUFBRTtLQUVPOzs7O0lBRWpELFFBQVEsTUFBSzs7Ozs7OztJQU9iLGVBQWUsQ0FBQyxLQUFZLEVBQUUsRUFBUztRQUNyQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUNkLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQzs7Z0JBQ3BCLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2FBQ1Q7WUFBQyxJQUFJLENBQUMsQ0FBQzs7Z0JBQ04sdUJBQU0sSUFBSSxHQUFVLEVBQUUsQ0FBQztnQkFDdkIsR0FBRyxDQUFDLENBQUMscUJBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO29CQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUNsQjtnQkFDRCxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQzthQUN6QjtTQUNGO1FBQ0QsTUFBTSxDQUFDLEtBQUssQ0FBQztLQUNkOzs7WUFuREYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Q0FXWDtnQkFDQyxNQUFNLEVBQUU7b0JBQ04sdUZBQXVGO29CQUN2RiwyR0FBMkc7b0JBQzNHLHdGQUF3RjtvQkFDeEYsMENBQTBDO29CQUMxQyxxREFBcUQ7b0JBQ3JELHdEQUF3RDtpQkFDekQ7YUFDRjs7OztZQXhCTyxnQkFBZ0I7OztxQkEyQnJCLEtBQUs7b0JBQ0wsS0FBSzt3QkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0lFbXB0eVN0YXRlQWN0aW9ufSBmcm9tICcuL2VtcHR5LXN0YXRlLWFjdGlvbi5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge0VtcHR5U3RhdGVDb25maWd9IGZyb20gJy4vZW1wdHktc3RhdGUuY29uZmlnJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaHhhLWVtcHR5LXN0YXRlJyxcclxuICB0ZW1wbGF0ZTogYDxkaXYgY2xhc3M9XCJoeHVpLXJlc2V0IGVtcHR5U3RhdGVcIj5cclxuICA8aSBjbGFzcz1cImh4LWljb24gaXMtbGlnaHRlc3QgZW1wdHlTdGF0ZV9faWNvblwiIFtuZ0NsYXNzXT1cImljb25cIj48L2k+XHJcbiAgPGRpdiBjbGFzcz1cImVtcHR5U2F0ZV9fbXNnIGlzLWxpZ2h0ZXJcIj57e21zZ319PC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImVtcHR5U3RhdGVfX2FjdGlvbnMgaHgtZmxleFwiPlxyXG4gICAgPGJ1dHRvbiAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGFjdGlvbnNcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImh4LWJ1dHRvbiBpcy1zbWFsbFwiXHJcbiAgICAgICAgICAgIFthdHRyLmlkXT1cImFjdGlvbi5pZFwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cImFjdGlvbi5jc3NcIlxyXG4gICAgICAgICAgICAoY2xpY2spPSdleGVjdXRlQ2FsbGJhY2soJGV2ZW50LGFjdGlvbi5jYWxsYmFjayknPnt7YWN0aW9uLmxhYmVsfX08L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbmAsXHJcbiAgc3R5bGVzOiBbXHJcbiAgICAnOmhvc3QgeyBtaW4taGVpZ2h0OiAxMnJlbTsgd2lkdGg6MTAwJTsgZGlzcGxheTpmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBmbGV4OjE7fScsXHJcbiAgICAnOmhvc3QgLmVtcHR5U3RhdGUgeyBkaXNwbGF5OmZsZXg7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBhbGlnbi1pdGVtczogY2VudGVyOyBmbGV4OjE7IG1hcmdpbjogMXJlbSAwOyB9JyxcclxuICAgICc6aG9zdCAuZW1wdHlTdGF0ZV9faWNvbiB7IGhlaWdodDozLjVyZW07IHdpZHRoOjMuNXJlbTsgZm9udC1zaXplOjY0cHg7IG1hcmdpbjogMXJlbTsgfScsXHJcbiAgICAnOmhvc3QgLmVtcHR5U3RhdGVfX21zZyB7IG1hcmdpbjogMXJlbTsgfScsXHJcbiAgICAnOmhvc3QgLmVtcHR5U3RhdGVfX2FjdGlvbnN7IG1hcmdpbjogMS41cmVtIDFyZW0gOyB9JyxcclxuICAgICc6aG9zdCAuZW1wdHlTdGF0ZV9fYWN0aW9ucyBidXR0b24geyBtYXJnaW46IDAgLjVyZW07IH0nXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRW1wdHlTdGF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIGljb246IHN0cmluZztcclxuICBASW5wdXQoKSBtc2c6IHN0cmluZztcclxuICBASW5wdXQoKSBhY3Rpb25zOiBJRW1wdHlTdGF0ZUFjdGlvbltdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlnOiBFbXB0eVN0YXRlQ29uZmlnKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBDYWxscyB0aGUgcGFyc2VkIGNhbGxiYWNrIHdpdGggb3B0aW9uYWwgYXJndW1lbnRzXHJcbiAgICogQHBhcmFtIGV2ZW50XHJcbiAgICogQHBhcmFtIGNiXHJcbiAgICovXHJcbiAgZXhlY3V0ZUNhbGxiYWNrKGV2ZW50OiBFdmVudCwgY2I6IGFueVtdKSB7XHJcbiAgICBpZiAoY2IubGVuZ3RoKSB7XHJcbiAgICAgIGlmIChjYi5sZW5ndGggPT09IDEpIHsgLy8gaWYgY2FsbGJhY2sgaGFzIG5vIGFyZ3VtZW50c1xyXG4gICAgICAgIGNiWzBdKCk7XHJcbiAgICAgIH0gZWxzZSB7IC8vIGlmIGNhbGxiYWNrIGhhcyAxIG9yIG1vcmUgYXJndW1lbnRzXHJcbiAgICAgICAgY29uc3QgYXJnczogYW55W10gPSBbXTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8IGNiLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICBhcmdzLnB1c2goY2JbaV0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjYlswXS5hcHBseSh0aGlzLCBhcmdzKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbn1cclxuIl19