UNPKG

@stratio/egeo

Version:
167 lines 13 kB
/** * @fileoverview added by tsickle * Generated from: lib/st-sidebar/st-sidebar.component.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /* * © 2017 Stratio Big Data Inc., Sucursal en España. * * This software is licensed under the Apache License, Version 2.0. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the terms of the License for more details. * * SPDX-License-Identifier: Apache-2.0. */ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core'; import { StSidebarVisualMode } from './st-sidebar-visual-mode'; /** * \@description {Component} [Sidebar] * * The sidebar component has been designed to navigate through different sections of a web page. * * \@model * * [Sidebar items] {./st-sidebar-item.interface.ts#StSidebarItem} * * \@example * * {html} * * ``` * <st-sidebar class="sidebar" title="Mesos Manager" [items]="items" qaTag="sidebar-demo"> * </st-sidebar> * ``` * */ export class StSidebarComponent { constructor() { /** * \@Input {string} [title=''] Title displayed on the top of menu */ this.title = ''; /** * \@Input {StSidebarItem[]} [items=''] List of items displayed on the menu */ this.items = []; /** * \@Input {boolean} [defaultActive=true] Unset first item as active by default if false */ this.defaultActive = true; /** * \@Input {boolean} [searchMode=''] Boolean to enable or disable the search mode. By default, it is disabled */ this.searchMode = false; /** * \@Input {string} [searchPlaceholder='Search'] Search placeholder */ this.searchPlaceholder = 'Search'; /** * \@Input {StSidebarVisualMode} [visualMode='StSidebarVisualMode.normal'] Visual mode used to display the item list */ this.visualMode = StSidebarVisualMode.normal; /** * \@Output {StSidebarItem} [change=''] Event emitted when the active item is changed. This emits the active item */ this.change = new EventEmitter(); /** * \@Output {string} [search=''] Event emitted when search mode is enabled and user interacts with the search input */ this.search = new EventEmitter(); } /** * @param {?} item * @return {?} */ onChange(item) { if (!this.active || this.active.id !== item.id) { this.change.emit(item); } } /** * @param {?} searchData * @return {?} */ onSearch(searchData) { if (searchData) { this.searchText = searchData.text; this.search.emit(searchData.text); } } } StSidebarComponent.decorators = [ { type: Component, args: [{ selector: 'st-sidebar', template: "<!--\n\n \u00A9 2017 Stratio Big Data Inc., Sucursal en Espa\u00F1a.\n\n This software is licensed under the Apache License, Version 2.0.\n This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;\n without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n See the terms of the License for more details.\n\n SPDX-License-Identifier: Apache-2.0.\n\n-->\n<ng-content select=[sidebar-header]></ng-content>\n<h1 class=\"title\" *ngIf=\"title\"> {{title}}</h1>\n<st-search class=\"search\" *ngIf=\"searchMode\" [placeholder]=\"searchPlaceholder\" (search)=\"onSearch($event)\" (change)=\"$event.stopPropagation()\"></st-search>\n<ul class=\"item-list\">\n <st-sidebar-item-list [active]=\"active\" [defaultActive]=\"defaultActive\" [items]=\"items\" [visualMode]=\"visualMode\" (change)=\"onChange($event)\">\n </st-sidebar-item-list>\n</ul>\n<span *ngIf=\"emptyResults && searchText && (!items || !items.length)\" class=\"empty-results\">{{emptyResults}}</span>\n<ng-content select=[sidebar-footer]></ng-content>\n", host: { class: 'st-sidebar' }, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["@charset \"UTF-8\";:host{width:100%;height:100%;display:block}.search{display:block;padding-bottom:30px}"] }] } ]; StSidebarComponent.propDecorators = { title: [{ type: Input }], active: [{ type: Input }], items: [{ type: Input }], defaultActive: [{ type: Input }], searchMode: [{ type: Input }], searchPlaceholder: [{ type: Input }], emptyResults: [{ type: Input }], visualMode: [{ type: Input }], change: [{ type: Output }], search: [{ type: Output }] }; if (false) { /** * \@Input {string} [title=''] Title displayed on the top of menu * @type {?} */ StSidebarComponent.prototype.title; /** * \@Input {StSidebarItem} [active=''] The current active item * @type {?} */ StSidebarComponent.prototype.active; /** * \@Input {StSidebarItem[]} [items=''] List of items displayed on the menu * @type {?} */ StSidebarComponent.prototype.items; /** * \@Input {boolean} [defaultActive=true] Unset first item as active by default if false * @type {?} */ StSidebarComponent.prototype.defaultActive; /** * \@Input {boolean} [searchMode=''] Boolean to enable or disable the search mode. By default, it is disabled * @type {?} */ StSidebarComponent.prototype.searchMode; /** * \@Input {string} [searchPlaceholder='Search'] Search placeholder * @type {?} */ StSidebarComponent.prototype.searchPlaceholder; /** * \@Input {string} [emptyResults=] Message displayed when search does not have any result * @type {?} */ StSidebarComponent.prototype.emptyResults; /** * \@Input {StSidebarVisualMode} [visualMode='StSidebarVisualMode.normal'] Visual mode used to display the item list * @type {?} */ StSidebarComponent.prototype.visualMode; /** * \@Output {StSidebarItem} [change=''] Event emitted when the active item is changed. This emits the active item * @type {?} */ StSidebarComponent.prototype.change; /** * \@Output {string} [search=''] Event emitted when search mode is enabled and user interacts with the search input * @type {?} */ StSidebarComponent.prototype.search; /** @type {?} */ StSidebarComponent.prototype.searchText; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Qtc2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3RyYXRpby9lZ2VvLyIsInNvdXJjZXMiOlsibGliL3N0LXNpZGViYXIvc3Qtc2lkZWJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBVUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdoRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE2Qi9ELE1BQU0sT0FBTyxrQkFBa0I7SUFQL0I7Ozs7UUFTWSxVQUFLLEdBQVcsRUFBRSxDQUFDOzs7O1FBSW5CLFVBQUssR0FBb0IsRUFBRSxDQUFDOzs7O1FBRTVCLGtCQUFhLEdBQVksSUFBSSxDQUFDOzs7O1FBRTlCLGVBQVUsR0FBWSxLQUFLLENBQUM7Ozs7UUFFNUIsc0JBQWlCLEdBQVcsUUFBUSxDQUFDOzs7O1FBSXJDLGVBQVUsR0FBd0IsbUJBQW1CLENBQUMsTUFBTSxDQUFDOzs7O1FBRTVELFdBQU0sR0FBZ0MsSUFBSSxZQUFZLEVBQWlCLENBQUM7Ozs7UUFFeEUsV0FBTSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO0lBZ0J2RSxDQUFDOzs7OztJQVpFLFFBQVEsQ0FBQyxJQUFtQjtRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQzdDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3pCO0lBQ0osQ0FBQzs7Ozs7SUFFRCxRQUFRLENBQUMsVUFBeUI7UUFDL0IsSUFBSSxVQUFVLEVBQUU7WUFDYixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3BDO0lBQ0osQ0FBQzs7O1lBMUNILFNBQVMsU0FBQztnQkFDUixRQUFRLEVBQUUsWUFBWTtnQkFDdEIsdWxDQUEwQztnQkFFMUMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRTtnQkFDN0IsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2pEOzs7b0JBR0csS0FBSztxQkFFTCxLQUFLO29CQUVMLEtBQUs7NEJBRUwsS0FBSzt5QkFFTCxLQUFLO2dDQUVMLEtBQUs7MkJBRUwsS0FBSzt5QkFFTCxLQUFLO3FCQUVMLE1BQU07cUJBRU4sTUFBTTs7Ozs7OztJQWxCUCxtQ0FBNEI7Ozs7O0lBRTVCLG9DQUErQjs7Ozs7SUFFL0IsbUNBQXFDOzs7OztJQUVyQywyQ0FBdUM7Ozs7O0lBRXZDLHdDQUFxQzs7Ozs7SUFFckMsK0NBQThDOzs7OztJQUU5QywwQ0FBK0I7Ozs7O0lBRS9CLHdDQUFzRTs7Ozs7SUFFdEUsb0NBQWtGOzs7OztJQUVsRixvQ0FBb0U7O0lBRXBFLHdDQUEwQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiDCqSAyMDE3IFN0cmF0aW8gQmlnIERhdGEgSW5jLiwgU3VjdXJzYWwgZW4gRXNwYcOxYS5cbiAqXG4gKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAuXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZO1xuICogd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS5cbiAqIFNlZSB0aGUgdGVybXMgb2YgdGhlIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMC5cbiAqL1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN0U2lkZWJhckl0ZW0gfSBmcm9tICcuL3N0LXNpZGViYXItaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3RTaWRlYmFyVmlzdWFsTW9kZSB9IGZyb20gJy4vc3Qtc2lkZWJhci12aXN1YWwtbW9kZSc7XG5pbXBvcnQgeyBTdFNlYXJjaEV2ZW50IH0gZnJvbSAnLi4vc3Qtc2VhcmNoL3N0LXNlYXJjaC5tb2RlbCc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIHtDb21wb25lbnR9IFtTaWRlYmFyXVxuICpcbiAqIFRoZSBzaWRlYmFyIGNvbXBvbmVudCBoYXMgYmVlbiBkZXNpZ25lZCB0byBuYXZpZ2F0ZSB0aHJvdWdoIGRpZmZlcmVudCBzZWN0aW9ucyBvZiBhIHdlYiBwYWdlLlxuICpcbiAqICBAbW9kZWxcbiAqXG4gKiAgIFtTaWRlYmFyIGl0ZW1zXSB7Li9zdC1zaWRlYmFyLWl0ZW0uaW50ZXJmYWNlLnRzI1N0U2lkZWJhckl0ZW19XG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiB7aHRtbH1cbiAqXG4gKiBgYGBcbiAqIDxzdC1zaWRlYmFyIGNsYXNzPVwic2lkZWJhclwiIHRpdGxlPVwiTWVzb3MgTWFuYWdlclwiIFtpdGVtc109XCJpdGVtc1wiIHFhVGFnPVwic2lkZWJhci1kZW1vXCI+XG4gKiA8L3N0LXNpZGViYXI+XG4gKiBgYGBcbiAqXG4gKi9cbkBDb21wb25lbnQoe1xuICAgc2VsZWN0b3I6ICdzdC1zaWRlYmFyJyxcbiAgIHRlbXBsYXRlVXJsOiAnLi9zdC1zaWRlYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgIHN0eWxlVXJsczogWycuL3N0LXNpZGViYXIuY29tcG9uZW50LnNjc3MnXSxcbiAgIGhvc3Q6IHsgY2xhc3M6ICdzdC1zaWRlYmFyJyB9LFxuICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgU3RTaWRlYmFyQ29tcG9uZW50IHtcbiAgIC8qKiBASW5wdXQge3N0cmluZ30gW3RpdGxlPScnXSBUaXRsZSBkaXNwbGF5ZWQgb24gdGhlIHRvcCBvZiBtZW51ICovXG4gICBASW5wdXQoKSB0aXRsZTogc3RyaW5nID0gJyc7XG4gICAvKiogQElucHV0IHtTdFNpZGViYXJJdGVtfSBbYWN0aXZlPScnXSBUaGUgY3VycmVudCBhY3RpdmUgaXRlbSAqL1xuICAgQElucHV0KCkgYWN0aXZlOiBTdFNpZGViYXJJdGVtO1xuICAgLyoqIEBJbnB1dCB7U3RTaWRlYmFySXRlbVtdfSBbaXRlbXM9JyddIExpc3Qgb2YgaXRlbXMgZGlzcGxheWVkIG9uIHRoZSBtZW51ICovXG4gICBASW5wdXQoKSBpdGVtczogU3RTaWRlYmFySXRlbVtdID0gW107XG4gICAvKiogQElucHV0IHtib29sZWFufSBbZGVmYXVsdEFjdGl2ZT10cnVlXSBVbnNldCBmaXJzdCBpdGVtIGFzIGFjdGl2ZSBieSBkZWZhdWx0IGlmIGZhbHNlICovXG4gICBASW5wdXQoKSBkZWZhdWx0QWN0aXZlOiBib29sZWFuID0gdHJ1ZTtcbiAgIC8qKiBASW5wdXQge2Jvb2xlYW59IFtzZWFyY2hNb2RlPScnXSBCb29sZWFuIHRvIGVuYWJsZSBvciBkaXNhYmxlIHRoZSBzZWFyY2ggbW9kZS4gQnkgZGVmYXVsdCwgaXQgaXMgZGlzYWJsZWQgKi9cbiAgIEBJbnB1dCgpIHNlYXJjaE1vZGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgIC8qKiBASW5wdXQge3N0cmluZ30gW3NlYXJjaFBsYWNlaG9sZGVyPSdTZWFyY2gnXSBTZWFyY2ggcGxhY2Vob2xkZXIgKi9cbiAgIEBJbnB1dCgpIHNlYXJjaFBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnU2VhcmNoJztcbiAgIC8qKiBASW5wdXQge3N0cmluZ30gW2VtcHR5UmVzdWx0cz1dIE1lc3NhZ2UgZGlzcGxheWVkIHdoZW4gc2VhcmNoIGRvZXMgbm90IGhhdmUgYW55IHJlc3VsdCAqL1xuICAgQElucHV0KCkgZW1wdHlSZXN1bHRzPzogc3RyaW5nO1xuICAgLyoqIEBJbnB1dCB7U3RTaWRlYmFyVmlzdWFsTW9kZX0gW3Zpc3VhbE1vZGU9J1N0U2lkZWJhclZpc3VhbE1vZGUubm9ybWFsJ10gVmlzdWFsIG1vZGUgdXNlZCB0byBkaXNwbGF5IHRoZSBpdGVtIGxpc3QgKi9cbiAgIEBJbnB1dCgpIHZpc3VhbE1vZGU6IFN0U2lkZWJhclZpc3VhbE1vZGUgPSBTdFNpZGViYXJWaXN1YWxNb2RlLm5vcm1hbDtcbiAgIC8qKiBAT3V0cHV0IHtTdFNpZGViYXJJdGVtfSBbY2hhbmdlPScnXSBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGFjdGl2ZSBpdGVtIGlzIGNoYW5nZWQuIFRoaXMgZW1pdHMgdGhlIGFjdGl2ZSBpdGVtICovXG4gICBAT3V0cHV0KCkgY2hhbmdlOiBFdmVudEVtaXR0ZXI8U3RTaWRlYmFySXRlbT4gPSBuZXcgRXZlbnRFbWl0dGVyPFN0U2lkZWJhckl0ZW0+KCk7XG4gICAvKiogQE91dHB1dCB7c3RyaW5nfSBbc2VhcmNoPScnXSBFdmVudCBlbWl0dGVkIHdoZW4gc2VhcmNoIG1vZGUgaXMgZW5hYmxlZCBhbmQgdXNlciBpbnRlcmFjdHMgd2l0aCB0aGUgc2VhcmNoIGlucHV0ICovXG4gICBAT3V0cHV0KCkgc2VhcmNoOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICBwdWJsaWMgc2VhcmNoVGV4dDogc3RyaW5nO1xuXG4gICBvbkNoYW5nZShpdGVtOiBTdFNpZGViYXJJdGVtKTogdm9pZCB7XG4gICAgICBpZiAoIXRoaXMuYWN0aXZlIHx8IHRoaXMuYWN0aXZlLmlkICE9PSBpdGVtLmlkKSB7XG4gICAgICAgICB0aGlzLmNoYW5nZS5lbWl0KGl0ZW0pO1xuICAgICAgfVxuICAgfVxuXG4gICBvblNlYXJjaChzZWFyY2hEYXRhOiBTdFNlYXJjaEV2ZW50KTogdm9pZCB7XG4gICAgICBpZiAoc2VhcmNoRGF0YSkge1xuICAgICAgICAgdGhpcy5zZWFyY2hUZXh0ID0gc2VhcmNoRGF0YS50ZXh0O1xuICAgICAgICAgdGhpcy5zZWFyY2guZW1pdChzZWFyY2hEYXRhLnRleHQpO1xuICAgICAgfVxuICAgfVxufVxuIl19