UNPKG

e5core-angular-ui

Version:

e5 Anywhere Angular UI

134 lines 12.7 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, Input, EventEmitter, Output, ViewChildren, QueryList } from '@angular/core'; import { UiStyleService } from '../../services/ui-style.service'; import { SearchDataSourceService } from '../../datasource/search-data-source.service'; import { DataSourceQuery } from '../../datasource/data-source-query'; export class E5coreUiSearchResultsComponent { /** * @param {?} style * @param {?} datasource */ constructor(style, datasource) { this.style = style; this.datasource = datasource; this.open = new EventEmitter(); this.link = new EventEmitter(); } /** * @return {?} */ ngOnInit() { if (this.searchDefinitionId == null) { this.error = 'e5core-ui-search-results [searchDefinitionId] must be specified'; console.error(this.error); return; } this.datasource.setSearchDefinitionId(this.searchDefinitionId); /** @type {?} */ let options = this.datasource.defaultOptions(); options.includeSla = this.includeSla; options.includeNextDueTask = this.includeNextDueTask; this.datasource.setDefaultOptions(options); } /** * Pass the open work item event on to any listener. * @param {?} data the row of data, including the "Id" from the table. * @return {?} */ onOpen(data) { this.open.emit(data); } /** * Pass the open link on to any listener. * @param {?} url * @return {?} */ onLink(url) { this.open.emit(url); } /** * Execute a search with the required search expression values. * @param {?} query * @return {?} */ search(query) { this.resultChildren.forEach(c => c.search(query)); } /** * Clear the search results. * @return {?} */ reset() { this.resultChildren.forEach(c => c.reset()); } /** * Refresh the search results at the current page. * @return {?} */ refresh() { this.resultChildren.forEach(c => c.refresh()); } } E5coreUiSearchResultsComponent.decorators = [ { type: Component, args: [{ selector: 'e5core-ui-search-results', // (open)='onOpen' (link)='onLink' // We don't need a switch as the e5core-ui-datagrid handles the different implementations template: ` <span *ngIf="!error"> <e5core-ui-datagrid #SearchResults [datasource]='datasource' [query]='query' [autoSearch]='autoSearch' (open)='onOpen($event)' (link)='onLink($event)'> </e5core-ui-datagrid> </span> <div *ngIf="error" class="e5core-component-error">{{error}}</div>`, //changeDetection: ChangeDetectionStrategy.OnPush providers: [ SearchDataSourceService ], styles: [".e5core-component-error{border-left:5px solid red;background-color:#ffbaba;color:#d8000c;padding:12px;box-sizing:content-box;border-radius:4pt;display:inline-block;font-family:Arial,Helvetica,sans-serif;margin:5pt 0}.e5-component{margin:5pt;border:solid #00f;box-sizing:content-box;padding:5pt}.e5-component .e5-title{color:#00f;font-weight:700}"] }] } ]; /** @nocollapse */ E5coreUiSearchResultsComponent.ctorParameters = () => [ { type: UiStyleService }, { type: SearchDataSourceService } ]; E5coreUiSearchResultsComponent.propDecorators = { searchDefinitionId: [{ type: Input }], query: [{ type: Input }], includeSla: [{ type: Input }], includeNextDueTask: [{ type: Input }], autoSearch: [{ type: Input }], open: [{ type: Output }], link: [{ type: Output }], resultChildren: [{ type: ViewChildren, args: ["SearchResults",] }] }; if (false) { /** @type {?} */ E5coreUiSearchResultsComponent.prototype.searchDefinitionId; /** @type {?} */ E5coreUiSearchResultsComponent.prototype.query; /** @type {?} */ E5coreUiSearchResultsComponent.prototype.includeSla; /** @type {?} */ E5coreUiSearchResultsComponent.prototype.includeNextDueTask; /** @type {?} */ E5coreUiSearchResultsComponent.prototype.autoSearch; /** @type {?} */ E5coreUiSearchResultsComponent.prototype.open; /** @type {?} */ E5coreUiSearchResultsComponent.prototype.link; /** @type {?} */ E5coreUiSearchResultsComponent.prototype.resultChildren; /** @type {?} */ E5coreUiSearchResultsComponent.prototype.error; /** @type {?} */ E5coreUiSearchResultsComponent.prototype.style; /** @type {?} */ E5coreUiSearchResultsComponent.prototype.datasource; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZTVjb3JlLXVpLXNlYXJjaC1yZXN1bHRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2U1Y29yZS1hbmd1bGFyLXVpLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZTVjb3JlLXVpLXNlYXJjaC1yZXN1bHRzL2U1Y29yZS11aS1zZWFyY2gtcmVzdWx0cy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQW1DLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQXlELE1BQU0sZUFBZSxDQUFDO0FBRXhMLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVqRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUV0RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFvQnJFLE1BQU0sT0FBTyw4QkFBOEI7Ozs7O0lBcUJ6QyxZQUFtQixLQUFvQixFQUFTLFVBQW1DO1FBQWhFLFVBQUssR0FBTCxLQUFLLENBQWU7UUFBUyxlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQVB6RSxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBRTtRQUNoQyxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBRTtJQU02QyxDQUFDOzs7O0lBRXhGLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLEVBQUU7WUFDbkMsSUFBSSxDQUFDLEtBQUssR0FBRyxpRUFBaUUsQ0FBRTtZQUNoRixPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMxQixPQUFRO1NBQ1Q7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFFOztZQUM1RCxPQUFPLEdBQTJCLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFO1FBQ3RFLE9BQU8sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBRTtRQUN0QyxPQUFPLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFFO1FBQ3RELElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUU7SUFDOUMsQ0FBQzs7Ozs7O0lBTUQsTUFBTSxDQUFDLElBQVE7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBRTtJQUN4QixDQUFDOzs7Ozs7SUFNRCxNQUFNLENBQUMsR0FBVTtRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFFO0lBQ3ZCLENBQUM7Ozs7OztJQU1NLE1BQU0sQ0FBQyxLQUFxQjtRQUNqQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBRTtJQUN0RCxDQUFDOzs7OztJQUtNLEtBQUs7UUFDVixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFFO0lBQ2hELENBQUM7Ozs7O0lBS00sT0FBTztRQUNaLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUU7SUFDbEQsQ0FBQzs7O1lBekZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsMEJBQTBCOzs7Z0JBR3BDLFFBQVEsRUFBRTs7Ozs7OztvRUFPd0Q7O2dCQUVsRSxTQUFTLEVBQUU7b0JBQ1QsdUJBQXVCO2lCQUN4Qjs7YUFDRjs7OztZQXZCUSxjQUFjO1lBRWQsdUJBQXVCOzs7aUNBd0I3QixLQUFLO29CQUNMLEtBQUs7eUJBUUwsS0FBSztpQ0FDTCxLQUFLO3lCQUNMLEtBQUs7bUJBQ0wsTUFBTTttQkFDTixNQUFNOzZCQUVOLFlBQVksU0FBQyxlQUFlOzs7O0lBZjdCLDREQUFzQzs7SUFDdEMsK0NBQWlDOztJQVFqQyxvREFBK0I7O0lBQy9CLDREQUF1Qzs7SUFDdkMsb0RBQThCOztJQUM5Qiw4Q0FBMEM7O0lBQzFDLDhDQUEwQzs7SUFFMUMsd0RBQStGOztJQUUvRiwrQ0FBZTs7SUFFSCwrQ0FBMkI7O0lBQUUsb0RBQTBDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBJbnB1dCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIFZpZXdDaGlsZHJlbiwgUXVlcnlMaXN0LCBWaWV3Q2hpbGQsIEFmdGVyVmlld0luaXQsIEFmdGVyQ29udGVudEluaXQsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVUlTZWFyY2hGaWVsZE1vZGVsLCBVSVByb3BlcnR5TW9kZWwsIFVpU2VhcmNoRGVmaW5pdGlvblNlcnZpY2UgfSBmcm9tICdlNWNvcmUtYW5ndWxhci1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBVaVN0eWxlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3VpLXN0eWxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRTVjb3JlVWlTZWFyY2hSZXN1bHRzQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L2U1Y29yZS11aS1zZWFyY2gtcmVzdWx0cy1iYXNlJztcbmltcG9ydCB7IFNlYXJjaERhdGFTb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZS9zZWFyY2gtZGF0YS1zb3VyY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBFNWNvcmVVaVNlYXJjaFJlc3VsdHNNYXRlcmlhbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L2U1Y29yZS11aS1zZWFyY2gtcmVzdWx0cy1tYXRlcmlhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0YVNvdXJjZVF1ZXJ5IH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZS9kYXRhLXNvdXJjZS1xdWVyeSc7XG5pbXBvcnQgeyBTZWFyY2hEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2VhcmNoLWRhdGEtc291cmNlLW9wdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlNWNvcmUtdWktc2VhcmNoLXJlc3VsdHMnLFxuICBzdHlsZVVybHM6IFsnLi8uLi8uLi9jc3MvZGVmYXVsdC5jc3MnXSwgLy8gKG9wZW4pPSdvbk9wZW4nIChsaW5rKT0nb25MaW5rJ1xuICAvLyBXZSBkb24ndCBuZWVkIGEgc3dpdGNoIGFzIHRoZSBlNWNvcmUtdWktZGF0YWdyaWQgaGFuZGxlcyB0aGUgZGlmZmVyZW50IGltcGxlbWVudGF0aW9uc1xuICB0ZW1wbGF0ZTogYFxuICA8c3BhbiAqbmdJZj1cIiFlcnJvclwiPlxuICAgIDxlNWNvcmUtdWktZGF0YWdyaWQgI1NlYXJjaFJlc3VsdHNcbiAgICAgIFtkYXRhc291cmNlXT0nZGF0YXNvdXJjZScgIFtxdWVyeV09J3F1ZXJ5JyBbYXV0b1NlYXJjaF09J2F1dG9TZWFyY2gnXG4gICAgICAob3Blbik9J29uT3BlbigkZXZlbnQpJyAobGluayk9J29uTGluaygkZXZlbnQpJz5cbiAgICA8L2U1Y29yZS11aS1kYXRhZ3JpZD5cbiAgPC9zcGFuPlxuICA8ZGl2ICpuZ0lmPVwiZXJyb3JcIiBjbGFzcz1cImU1Y29yZS1jb21wb25lbnQtZXJyb3JcIj57e2Vycm9yfX08L2Rpdj5gLFxuICAvL2NoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG4gIHByb3ZpZGVyczogW1xuICAgIFNlYXJjaERhdGFTb3VyY2VTZXJ2aWNlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRTVjb3JlVWlTZWFyY2hSZXN1bHRzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0ICB7XG5cbiAgQElucHV0KCkgc2VhcmNoRGVmaW5pdGlvbklkIDogbnVtYmVyIDtcbiAgQElucHV0KCkgcXVlcnk6IERhdGFTb3VyY2VRdWVyeSA7XG4gIC8vIEBJbnB1dCgpIHNldCBxdWVyeSh2YWx1ZTogRGF0YVNvdXJjZVF1ZXJ5KSB7XG4gIC8vICAgLy8gSWYgdGhpcyBpcyBjYWxsZWQgYmVmb3JlIHRoZSBjaGlsZHJlbiBhcyByZXNvbHZlZCB0aGVuIHN0b3JlIHRoZSB2YWx1ZSB1bnRpbCB0aGV5IGV4aXN0LlxuICAvLyAgIGlmKHRoaXMuc2VhcmNoICYmIHRoaXMucmVzdWx0Q2hpbGRyZW4pXG4gIC8vICAgICB0aGlzLnNlYXJjaCh2YWx1ZSkgO1xuICAvLyAgIGVsc2UgXG4gIC8vICAgICB0aGlzLmxhc3RRdWVyeSA9IHZhbHVlIDtcbiAgLy8gfTtcbiAgQElucHV0KCkgaW5jbHVkZVNsYSA6IGJvb2xlYW4gO1xuICBASW5wdXQoKSBpbmNsdWRlTmV4dER1ZVRhc2sgOiBib29sZWFuIDtcbiAgQElucHV0KCkgYXV0b1NlYXJjaDogYm9vbGVhbiA7XG4gIEBPdXRwdXQoKSBvcGVuID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCkgO1xuICBAT3V0cHV0KCkgbGluayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpIDtcblxuICBAVmlld0NoaWxkcmVuKFwiU2VhcmNoUmVzdWx0c1wiKSByZXN1bHRDaGlsZHJlbiAhOiBRdWVyeUxpc3Q8RTVjb3JlVWlTZWFyY2hSZXN1bHRzQmFzZUNvbXBvbmVudD47XG5cbiAgZXJyb3I6IHN0cmluZyA7XG5cbiAgY29uc3RydWN0b3IocHVibGljIHN0eWxlOlVpU3R5bGVTZXJ2aWNlLCBwdWJsaWMgZGF0YXNvdXJjZTogU2VhcmNoRGF0YVNvdXJjZVNlcnZpY2UpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLnNlYXJjaERlZmluaXRpb25JZCA9PSBudWxsKSB7XG4gICAgICB0aGlzLmVycm9yID0gJ2U1Y29yZS11aS1zZWFyY2gtcmVzdWx0cyBbc2VhcmNoRGVmaW5pdGlvbklkXSBtdXN0IGJlIHNwZWNpZmllZCcgO1xuICAgICAgY29uc29sZS5lcnJvcih0aGlzLmVycm9yKTtcbiAgICAgIHJldHVybiA7XG4gICAgfVxuICAgIHRoaXMuZGF0YXNvdXJjZS5zZXRTZWFyY2hEZWZpbml0aW9uSWQodGhpcy5zZWFyY2hEZWZpbml0aW9uSWQpIDtcbiAgICBsZXQgb3B0aW9uczpTZWFyY2hEYXRhU291cmNlT3B0aW9ucyA9IHRoaXMuZGF0YXNvdXJjZS5kZWZhdWx0T3B0aW9ucygpIDtcbiAgICBvcHRpb25zLmluY2x1ZGVTbGEgPSB0aGlzLmluY2x1ZGVTbGEgO1xuICAgIG9wdGlvbnMuaW5jbHVkZU5leHREdWVUYXNrID0gdGhpcy5pbmNsdWRlTmV4dER1ZVRhc2sgO1xuICAgIHRoaXMuZGF0YXNvdXJjZS5zZXREZWZhdWx0T3B0aW9ucyhvcHRpb25zKSA7XG4gIH1cblxuICAvKipcbiAgICogIFBhc3MgdGhlIG9wZW4gd29yayBpdGVtIGV2ZW50IG9uIHRvIGFueSBsaXN0ZW5lci5cbiAgICogQHBhcmFtIGRhdGEgdGhlIHJvdyBvZiBkYXRhLCBpbmNsdWRpbmcgdGhlIFwiSWRcIiBmcm9tIHRoZSB0YWJsZS5cbiAgICovXG4gIG9uT3BlbihkYXRhOmFueSkge1xuICAgIHRoaXMub3Blbi5lbWl0KGRhdGEpIDtcbiAgfVxuXG4gIC8qKlxuICAgKiAgUGFzcyB0aGUgb3BlbiBsaW5rIG9uIHRvIGFueSBsaXN0ZW5lci5cbiAgICogQHBhcmFtIGRhdGEgdGhlIHJvdyBvZiBkYXRhLCBpbmNsdWRpbmcgdGhlIFwiSWRcIiBmcm9tIHRoZSB0YWJsZS5cbiAgICovXG4gIG9uTGluayh1cmw6c3RyaW5nKSB7XG4gICAgdGhpcy5vcGVuLmVtaXQodXJsKSA7XG4gIH1cblxuICAvKipcbiAgICogRXhlY3V0ZSBhIHNlYXJjaCB3aXRoIHRoZSByZXF1aXJlZCBzZWFyY2ggZXhwcmVzc2lvbiB2YWx1ZXMuXG4gICAqIEBwYXJhbSBleHByZXNzaW9uIHRoZSBmaWVsZHMgYW5kIHZhbHVlcyByZXF1aXJlZCB0byBwZXJmb3JtIHRoZSBzZWFyY2guXG4gICAqL1xuICBwdWJsaWMgc2VhcmNoKHF1ZXJ5OkRhdGFTb3VyY2VRdWVyeSkge1xuICAgIHRoaXMucmVzdWx0Q2hpbGRyZW4uZm9yRWFjaCggYyA9PiBjLnNlYXJjaChxdWVyeSkpIDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhciB0aGUgc2VhcmNoIHJlc3VsdHMuXG4gICAqL1xuICBwdWJsaWMgcmVzZXQoKSB7XG4gICAgdGhpcy5yZXN1bHRDaGlsZHJlbi5mb3JFYWNoKCBjID0+IGMucmVzZXQoKSkgO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZnJlc2ggdGhlIHNlYXJjaCByZXN1bHRzIGF0IHRoZSBjdXJyZW50IHBhZ2UuXG4gICAqL1xuICBwdWJsaWMgcmVmcmVzaCgpIHsgIFxuICAgIHRoaXMucmVzdWx0Q2hpbGRyZW4uZm9yRWFjaCggYyA9PiBjLnJlZnJlc2goKSkgOyAgXG4gIH1cbn1cbiJdfQ==