@c8y/ngx-components 1011.0.21 → 1011.0.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/bundles/c8y-ngx-components-repository.umd.js +2 -1
  2. package/bundles/c8y-ngx-components-repository.umd.js.map +1 -1
  3. package/bundles/c8y-ngx-components-repository.umd.min.js +1 -1
  4. package/bundles/c8y-ngx-components-repository.umd.min.js.map +1 -1
  5. package/bundles/c8y-ngx-components-search.umd.js +7 -4
  6. package/bundles/c8y-ngx-components-search.umd.js.map +1 -1
  7. package/bundles/c8y-ngx-components-search.umd.min.js +1 -1
  8. package/bundles/c8y-ngx-components-search.umd.min.js.map +1 -1
  9. package/bundles/c8y-ngx-components-sensor-phone.umd.js +1 -1
  10. package/bundles/c8y-ngx-components-sensor-phone.umd.js.map +1 -1
  11. package/bundles/c8y-ngx-components-sensor-phone.umd.min.js +2 -2
  12. package/bundles/c8y-ngx-components-sensor-phone.umd.min.js.map +1 -1
  13. package/esm2015/repository/configuration/configuration-detail.component.js +7 -2
  14. package/esm2015/search/search-grid.component.js +2 -2
  15. package/esm2015/search/search.service.js +6 -4
  16. package/esm2015/sensor-phone/sensor-phone-modal.component.js +2 -2
  17. package/fesm2015/c8y-ngx-components-repository.js +6 -1
  18. package/fesm2015/c8y-ngx-components-repository.js.map +1 -1
  19. package/fesm2015/c8y-ngx-components-search.js +6 -4
  20. package/fesm2015/c8y-ngx-components-search.js.map +1 -1
  21. package/fesm2015/c8y-ngx-components-sensor-phone.js +1 -1
  22. package/fesm2015/c8y-ngx-components-sensor-phone.js.map +1 -1
  23. package/locales/locales.pot +13 -6
  24. package/package.json +2 -2
  25. package/repository/c8y-ngx-components-repository.metadata.json +1 -1
  26. package/repository/configuration/configuration-detail.component.d.ts +1 -0
  27. package/search/c8y-ngx-components-search.metadata.json +1 -1
  28. package/search/search.service.d.ts +3 -1
  29. package/sensor-phone/c8y-ngx-components-sensor-phone.metadata.json +1 -1
@@ -29,6 +29,7 @@ export declare class ConfigurationDetailComponent implements ModalModel {
29
29
  uploadChoice: 'uploadBinary' | 'uploadUrl';
30
30
  existingBinary: File;
31
31
  submitButtonTitle: string;
32
+ textForConfigurationUrlPopover: string;
32
33
  result: Promise<void>;
33
34
  private _save;
34
35
  private _cancel;
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"SearchService":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@c8y/ngx-components/sub-assets","name":"SubAssetsService","line":6,"character":35},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1}}],"members":{"filterOnlyAssets":[{"__symbolic":"method"}],"buildCombinedRootQueryFilter":[{"__symbolic":"method"}],"search":[{"__symbolic":"method"}],"isRootDevice":[{"__symbolic":"method"}],"isAnyDevice":[{"__symbolic":"method"}],"hasFragmentOrTypeFromBlacklist":[{"__symbolic":"method"}],"hasTypeFromBlacklist":[{"__symbolic":"method"}],"hasFragmentFromBlacklist":[{"__symbolic":"method"}]}},"SearchBoxComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"c8y-search-box","template":"<div\n class=\"dropdown\"\n dropdown\n #dropdown=\"bs-dropdown\"\n [insideClick]=\"true\"\n (isOpenChange)=\"onOpenChange($event)\"\n>\n <button\n class=\"main-header-button dropdown-toggle c8y-dropdown\"\n dropdownToggle\n type=\"button\"\n title=\"Search\"\n aria-controls=\"searchDropdown\"\n >\n <i c8yIcon=\"search\" class=\"icon-2x\"></i>\n </button>\n\n <div\n id=\"searchDropdown\"\n *dropdownMenu\n class=\"search-header-menu dropdown-menu dropdown-menu-center\"\n >\n <form novalidate #searchForm=\"ngForm\" class=\"c8y-search-form\">\n <c8y-typeahead\n [(ngModel)]=\"selected\"\n placeholder=\"{{ 'Search for groups or assets…' | translate }}\"\n (keydown)=\"keyDown($event)\"\n (onIconClick)=\"reset()\"\n [icon]=\"term ? 'times' : 'search'\"\n [allowFreeEntries]=\"false\"\n name=\"selected\"\n >\n <!-- filter buttons -->\n <c8y-li *ngIf=\"term.length !== 0\" class=\"p-l-16 p-r-16\">\n <div class=\"flex-row\">\n <p class=\"m-r-4 text-muted\">\n <em translate>Searching by exact match. Click for other search options:</em>\n </p>\n <div class=\"btn-group btn-group-sm\">\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Starts with' | translate }}\"\n (click)=\"filter(term + '*')\"\n >\n {{ 'Starts with' | translate }}\n </button>\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Contains' | translate }}\"\n (click)=\"filter('*' + term + '*')\"\n >\n {{ 'Contains' | translate }}\n </button>\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Ends with' | translate }}\"\n (click)=\"filter('*' + term)\"\n >\n {{ 'Ends with' | translate }}\n </button>\n </div>\n </div>\n </c8y-li>\n\n <!-- Recent search -->\n <c8y-li\n *ngIf=\"term.length === 0 && recentSearchResults.length > 0\"\n [selectable]=\"false\"\n class=\"p-l-24 p-r-24\"\n >\n <div class=\"legend form-block\">\n <span translate>Recent search results</span>\n </div>\n </c8y-li>\n <c8y-li\n *ngFor=\"let result of term.length === 0 ? recentSearchResults : []\"\n class=\"c8y-list__item--link m-l-16 m-r-16\"\n (click)=\"open($event, result)\"\n >\n <c8y-li-icon>\n <device-status [mo]=\"result\" *ngIf=\"!result.c8y_IsDeviceGroup\"></device-status>\n <i\n [c8yIcon]=\"'c8y-group-open'\"\n class=\"c8y-icon-duocolor\"\n *ngIf=\"result.c8y_IsDeviceGroup\"\n ></i>\n </c8y-li-icon>\n {{ result.name || '--' }}\n </c8y-li>\n\n <!-- Recently registered devices -->\n <c8y-li\n *ngIf=\"term.length === 0 && (recentlyRegisteredResults$ | async)?.data?.length > 0\"\n class=\"p-l-24 p-r-24\"\n [selectable]=\"false\"\n >\n <div class=\"legend form-block\">\n <span translate>Recently registered devices</span>\n </div>\n </c8y-li>\n <c8y-li\n *c8yFor=\"\n let result of term.length === 0 ? recentlyRegisteredResults$ : { data: [] };\n loadMore: 'none';\n pipe: filterPipe\n \"\n class=\"c8y-list__item--link m-l-16 m-r-16\"\n (click)=\"open($event, result)\"\n >\n <c8y-li-icon>\n <device-status [mo]=\"result\" *ngIf=\"!result.c8y_IsDeviceGroup\"></device-status>\n <i\n [c8yIcon]=\"'c8y-group-open'\"\n class=\"c8y-icon-duocolor\"\n *ngIf=\"result.c8y_IsDeviceGroup\"\n ></i>\n </c8y-li-icon>\n {{ result.name || '--' }}\n </c8y-li>\n\n <!-- Search results -->\n <c8y-li *ngIf=\"term.length !== 0\" class=\"p-l-24 p-r-24\" [selectable]=\"false\">\n <div class=\"legend form-block\">\n <span translate>Search results</span>\n </div>\n </c8y-li>\n <c8y-li\n *c8yFor=\"\n let result of results$;\n loadMore: 'auto';\n pipe: filterPipe;\n notFound: notFoundTemplate;\n loadingTemplate: loading;\n loadNextLabel: 'Find more…'\n \"\n class=\"c8y-list__item--link m-l-16 m-r-16\"\n (click)=\"open($event, result)\"\n >\n <c8y-li-icon>\n <device-status [mo]=\"result\" *ngIf=\"!result.c8y_IsDeviceGroup\"></device-status>\n <i\n [c8yIcon]=\"'c8y-group-open'\"\n class=\"c8y-icon-duocolor\"\n *ngIf=\"result.c8y_IsDeviceGroup\"\n ></i>\n </c8y-li-icon>\n {{ result.name || '--' }}\n </c8y-li>\n\n <!-- No search results found entry -->\n <ng-template #notFoundTemplate>\n <c8y-li *ngIf=\"noMatch\" class=\"p-16 c8y-empty-state\" [selectable]=\"false\">\n <c8y-li-icon [icon]=\"'search'\"></c8y-li-icon>\n <p><strong translate>No match found.</strong></p>\n <small translate>\n Use a filter or go to the asset data table to show all devices and groups.\n </small>\n </c8y-li>\n </ng-template>\n\n <!-- loading bar first entries -->\n <c8y-li *ngIf=\"isLoading\" class=\"p-t-32 p-b-0 p-relative\">\n <div class=\"spinner\" style=\"right:0;\">\n <div class=\"rect1\"></div>\n <div class=\"rect2\"></div>\n <div class=\"rect3\"></div>\n <div class=\"rect4\"></div>\n <div class=\"rect5\"></div>\n </div>\n </c8y-li>\n\n <!-- loading bar for loading more entries (inventory roles) -->\n <ng-template #loading>\n <c8y-li class=\"text-center p-t-32 p-b-0 p-relative\">\n <div class=\"spinner\" style=\"right:0;\">\n <div class=\"rect1\"></div>\n <div class=\"rect2\"></div>\n <div class=\"rect3\"></div>\n <div class=\"rect4\"></div>\n <div class=\"rect5\"></div>\n </div>\n </c8y-li>\n </ng-template>\n\n <!-- more filter possibilities -->\n <c8y-li class=\"m-t-24 bg-gray-lighter p-t-16 p-b-16 p-l-24 p-r-24\" [selectable]=\"false\">\n <div class=\"flex-row\">\n <i c8yIcon=\"info-circle\" class=\"text-info m-r-4\"></i>\n <p translate class=\"m-r-8\">Need more filter possibilities?</p>\n <button\n type=\"button\"\n class=\"m-l-auto btn btn-default btn-sm\"\n translate\n (mousedown)=\"openSearch()\"\n >\n Go to the asset data table\n </button>\n </div>\n </c8y-li>\n </c8y-typeahead>\n </form>\n </div>\n</div>\n"}]}],"members":{"typeahead":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":38,"character":3},"arguments":[{"__symbolic":"reference","module":"@c8y/ngx-components","name":"TypeaheadComponent","line":38,"character":13},{"static":false}]}]}],"dropdown":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":41,"character":3},"arguments":["dropdown",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":45,"character":20},{"__symbolic":"reference","module":"@c8y/client","name":"InventoryService","line":46,"character":23},{"__symbolic":"reference","module":"@c8y/ngx-components/device-grid","name":"DeviceGridService","line":47,"character":31},{"__symbolic":"reference","name":"SearchService"}]}],"ngOnInit":[{"__symbolic":"method"}],"onOpenChange":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}],"keyDown":[{"__symbolic":"method"}],"filter":[{"__symbolic":"method"}],"openSearch":[{"__symbolic":"method"}],"subscribeOnSearch":[{"__symbolic":"method"}],"navigate":[{"__symbolic":"method"}],"mergeRequest":[{"__symbolic":"method"}],"queryInventoryService":[{"__symbolic":"method"}],"onLoadingDone":[{"__symbolic":"method"}],"onTypingStarted":[{"__symbolic":"method"}]}},"SearchModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":9,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"SearchResultsComponent"},{"__symbolic":"reference","name":"SearchBoxComponent"},{"__symbolic":"reference","name":"SearchGridComponent"}],"imports":[{"__symbolic":"reference","module":"@c8y/ngx-components","name":"CoreModule","line":11,"character":12},{"__symbolic":"reference","module":"@c8y/ngx-components/device-grid","name":"DeviceGridModule","line":11,"character":24},{"__symbolic":"reference","module":"ngx-bootstrap/dropdown","name":"BsDropdownModule","line":11,"character":42}],"entryComponents":[{"__symbolic":"reference","name":"SearchResultsComponent"},{"__symbolic":"reference","name":"SearchBoxComponent"}],"exports":[{"__symbolic":"reference","name":"SearchResultsComponent"},{"__symbolic":"reference","name":"SearchBoxComponent"},{"__symbolic":"reference","name":"SearchGridComponent"}],"providers":[{"__symbolic":"reference","name":"SearchService"},{"provide":{"__symbolic":"reference","module":"@c8y/ngx-components","name":"HOOK_ONCE_ROUTE","line":17,"character":15},"useValue":[{"path":"assetsearch","component":{"__symbolic":"reference","name":"SearchResultsComponent"}}],"multi":true},{"provide":{"__symbolic":"reference","module":"@c8y/ngx-components","name":"HOOK_SEARCH","line":27,"character":15},"useValue":[{"template":{"__symbolic":"reference","name":"SearchBoxComponent"}}],"multi":true}]}]}],"members":{}},"SearchResultsComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"c8y-search-results","template":"<c8y-title>\n <span translate class=\"p-r-4\">Search</span>\n <small\n ngNonBindable\n translate\n *ngIf=\"searchTerm\"\n [translateParams]=\"{\n searchHint: searchTerm\n }\"\n >searching \"{{ searchHint }}\"</small\n >\n <small\n ngNonBindable\n translate\n *ngIf=\"filter\"\n [translateParams]=\"{\n filterHint: filter\n }\"\n >filtered by \"{{ filterHint }}\"</small\n >\n</c8y-title>\n\n<c8y-search-grid [searchText]=\"searchTerm\" [filteringName]=\"filteringName\"></c8y-search-grid>\n"}]}],"members":{"searchGrid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":14,"character":3},"arguments":[{"__symbolic":"reference","name":"SearchGridComponent"},{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":19,"character":29},{"__symbolic":"reference","module":"@c8y/ngx-components","name":"AlertService","line":19,"character":60}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"resetSearch":[{"__symbolic":"method"}],"resetFilter":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"onQueryParamsChange":[{"__symbolic":"method"}],"shouldFilter":[{"__symbolic":"method"}],"search":[{"__symbolic":"method"}]}},"SearchGridComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":35,"character":1},"arguments":[{"selector":"c8y-search-grid","template":"<div class=\"card--grid--fullpage\">\n <c8y-data-grid\n [title]=\"'Search results' | translate\"\n [loadingItemsLabel]=\"loadingItemsLabel\"\n [columns]=\"columns\"\n [pagination]=\"pagination\"\n [actionControls]=\"actionControls\"\n [selectable]=\"selectable\"\n [bulkActionControls]=\"bulkActionControls\"\n [serverSideDataCallback]=\"serverSideDataCallback\"\n [infiniteScroll]=\"'auto'\"\n [showSearch]=\"true\"\n [searchText]=\"searchText\"\n [refresh]=\"refresh\"\n (onConfigChange)=\"configChange($event)\"\n class=\"d-contents\"\n >\n <ng-container *ngFor=\"let column of columns; trackBy: trackByName\">\n <c8y-column [name]=\"column.name\"></c8y-column>\n </ng-container>\n <div class=\"c8y-empty-state\">\n <h1 c8yIcon=\"search\"></h1>\n <div>\n <p>\n <strong>{{ 'No items found.' | translate }}</strong>\n </p>\n <small>{{ 'Change your search or filter criteria.' | translate }}</small>\n </div>\n </div>\n </c8y-data-grid>\n</div>\n"}]}],"members":{"parentGroup":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":3},"arguments":["parent-group"]}]}],"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":3}}]}],"loadingItemsLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":3}}]}],"_columns":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":43,"character":3},"arguments":["columns"]}]}],"_pagination":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":3},"arguments":["pagination"]}]}],"_actionControls":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":57,"character":3},"arguments":["actionControls"]}]}],"selectable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":64,"character":3}}]}],"_bulkActionControls":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":65,"character":3},"arguments":["bulkActionControls"]}]}],"onColumnsChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":72,"character":3}}]}],"searchText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":76,"character":3}}]}],"filteringName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":79,"character":3}}]}],"dataGrid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":89,"character":3},"arguments":[{"__symbolic":"reference","module":"@c8y/ngx-components","name":"DataGridComponent","line":89,"character":13},{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"SearchService"},{"__symbolic":"reference","module":"ngx-bootstrap/modal","name":"BsModalService","line":96,"character":28},{"__symbolic":"reference","module":"@c8y/client","name":"SmartGroupsService","line":97,"character":32},{"__symbolic":"reference","module":"@c8y/ngx-components/sub-assets","name":"SubAssetsService","line":98,"character":34}]}],"ngOnInit":[{"__symbolic":"method"}],"trackByName":[{"__symbolic":"method"}],"onDataSourceModifier":[{"__symbolic":"method"}],"setActionControls":[{"__symbolic":"method"}],"updateFiltering":[{"__symbolic":"method"}],"configChange":[{"__symbolic":"method"}],"onDeleteAsset":[{"__symbolic":"method"}]}}},"origins":{"SearchService":"./search.service","SearchBoxComponent":"./search-box.component","SearchModule":"./search.module","SearchResultsComponent":"./search-results.component","SearchGridComponent":"./search-grid.component"},"importAs":"@c8y/ngx-components/search"}
1
+ {"__symbolic":"module","version":4,"metadata":{"SearchService":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@c8y/ngx-components/sub-assets","name":"SubAssetsService","line":7,"character":35},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1}}],"members":{"filterOnlyAssets":[{"__symbolic":"method"}],"buildCombinedRootQueryFilter":[{"__symbolic":"method"}],"search":[{"__symbolic":"method"}],"isRootDevice":[{"__symbolic":"method"}],"isAnyDevice":[{"__symbolic":"method"}],"hasFragmentOrTypeFromBlacklist":[{"__symbolic":"method"}],"hasTypeFromBlacklist":[{"__symbolic":"method"}],"hasFragmentFromBlacklist":[{"__symbolic":"method"}]}},"SearchBoxComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"c8y-search-box","template":"<div\n class=\"dropdown\"\n dropdown\n #dropdown=\"bs-dropdown\"\n [insideClick]=\"true\"\n (isOpenChange)=\"onOpenChange($event)\"\n>\n <button\n class=\"main-header-button dropdown-toggle c8y-dropdown\"\n dropdownToggle\n type=\"button\"\n title=\"Search\"\n aria-controls=\"searchDropdown\"\n >\n <i c8yIcon=\"search\" class=\"icon-2x\"></i>\n </button>\n\n <div\n id=\"searchDropdown\"\n *dropdownMenu\n class=\"search-header-menu dropdown-menu dropdown-menu-center\"\n >\n <form novalidate #searchForm=\"ngForm\" class=\"c8y-search-form\">\n <c8y-typeahead\n [(ngModel)]=\"selected\"\n placeholder=\"{{ 'Search for groups or assets…' | translate }}\"\n (keydown)=\"keyDown($event)\"\n (onIconClick)=\"reset()\"\n [icon]=\"term ? 'times' : 'search'\"\n [allowFreeEntries]=\"false\"\n name=\"selected\"\n >\n <!-- filter buttons -->\n <c8y-li *ngIf=\"term.length !== 0\" class=\"p-l-16 p-r-16\">\n <div class=\"flex-row\">\n <p class=\"m-r-4 text-muted\">\n <em translate>Searching by exact match. Click for other search options:</em>\n </p>\n <div class=\"btn-group btn-group-sm\">\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Starts with' | translate }}\"\n (click)=\"filter(term + '*')\"\n >\n {{ 'Starts with' | translate }}\n </button>\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Contains' | translate }}\"\n (click)=\"filter('*' + term + '*')\"\n >\n {{ 'Contains' | translate }}\n </button>\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Ends with' | translate }}\"\n (click)=\"filter('*' + term)\"\n >\n {{ 'Ends with' | translate }}\n </button>\n </div>\n </div>\n </c8y-li>\n\n <!-- Recent search -->\n <c8y-li\n *ngIf=\"term.length === 0 && recentSearchResults.length > 0\"\n [selectable]=\"false\"\n class=\"p-l-24 p-r-24\"\n >\n <div class=\"legend form-block\">\n <span translate>Recent search results</span>\n </div>\n </c8y-li>\n <c8y-li\n *ngFor=\"let result of term.length === 0 ? recentSearchResults : []\"\n class=\"c8y-list__item--link m-l-16 m-r-16\"\n (click)=\"open($event, result)\"\n >\n <c8y-li-icon>\n <device-status [mo]=\"result\" *ngIf=\"!result.c8y_IsDeviceGroup\"></device-status>\n <i\n [c8yIcon]=\"'c8y-group-open'\"\n class=\"c8y-icon-duocolor\"\n *ngIf=\"result.c8y_IsDeviceGroup\"\n ></i>\n </c8y-li-icon>\n {{ result.name || '--' }}\n </c8y-li>\n\n <!-- Recently registered devices -->\n <c8y-li\n *ngIf=\"term.length === 0 && (recentlyRegisteredResults$ | async)?.data?.length > 0\"\n class=\"p-l-24 p-r-24\"\n [selectable]=\"false\"\n >\n <div class=\"legend form-block\">\n <span translate>Recently registered devices</span>\n </div>\n </c8y-li>\n <c8y-li\n *c8yFor=\"\n let result of term.length === 0 ? recentlyRegisteredResults$ : { data: [] };\n loadMore: 'none';\n pipe: filterPipe\n \"\n class=\"c8y-list__item--link m-l-16 m-r-16\"\n (click)=\"open($event, result)\"\n >\n <c8y-li-icon>\n <device-status [mo]=\"result\" *ngIf=\"!result.c8y_IsDeviceGroup\"></device-status>\n <i\n [c8yIcon]=\"'c8y-group-open'\"\n class=\"c8y-icon-duocolor\"\n *ngIf=\"result.c8y_IsDeviceGroup\"\n ></i>\n </c8y-li-icon>\n {{ result.name || '--' }}\n </c8y-li>\n\n <!-- Search results -->\n <c8y-li *ngIf=\"term.length !== 0\" class=\"p-l-24 p-r-24\" [selectable]=\"false\">\n <div class=\"legend form-block\">\n <span translate>Search results</span>\n </div>\n </c8y-li>\n <c8y-li\n *c8yFor=\"\n let result of results$;\n loadMore: 'auto';\n pipe: filterPipe;\n notFound: notFoundTemplate;\n loadingTemplate: loading;\n loadNextLabel: 'Find more…'\n \"\n class=\"c8y-list__item--link m-l-16 m-r-16\"\n (click)=\"open($event, result)\"\n >\n <c8y-li-icon>\n <device-status [mo]=\"result\" *ngIf=\"!result.c8y_IsDeviceGroup\"></device-status>\n <i\n [c8yIcon]=\"'c8y-group-open'\"\n class=\"c8y-icon-duocolor\"\n *ngIf=\"result.c8y_IsDeviceGroup\"\n ></i>\n </c8y-li-icon>\n {{ result.name || '--' }}\n </c8y-li>\n\n <!-- No search results found entry -->\n <ng-template #notFoundTemplate>\n <c8y-li *ngIf=\"noMatch\" class=\"p-16 c8y-empty-state\" [selectable]=\"false\">\n <c8y-li-icon [icon]=\"'search'\"></c8y-li-icon>\n <p><strong translate>No match found.</strong></p>\n <small translate>\n Use a filter or go to the asset data table to show all devices and groups.\n </small>\n </c8y-li>\n </ng-template>\n\n <!-- loading bar first entries -->\n <c8y-li *ngIf=\"isLoading\" class=\"p-t-32 p-b-0 p-relative\">\n <div class=\"spinner\" style=\"right:0;\">\n <div class=\"rect1\"></div>\n <div class=\"rect2\"></div>\n <div class=\"rect3\"></div>\n <div class=\"rect4\"></div>\n <div class=\"rect5\"></div>\n </div>\n </c8y-li>\n\n <!-- loading bar for loading more entries (inventory roles) -->\n <ng-template #loading>\n <c8y-li class=\"text-center p-t-32 p-b-0 p-relative\">\n <div class=\"spinner\" style=\"right:0;\">\n <div class=\"rect1\"></div>\n <div class=\"rect2\"></div>\n <div class=\"rect3\"></div>\n <div class=\"rect4\"></div>\n <div class=\"rect5\"></div>\n </div>\n </c8y-li>\n </ng-template>\n\n <!-- more filter possibilities -->\n <c8y-li class=\"m-t-24 bg-gray-lighter p-t-16 p-b-16 p-l-24 p-r-24\" [selectable]=\"false\">\n <div class=\"flex-row\">\n <i c8yIcon=\"info-circle\" class=\"text-info m-r-4\"></i>\n <p translate class=\"m-r-8\">Need more filter possibilities?</p>\n <button\n type=\"button\"\n class=\"m-l-auto btn btn-default btn-sm\"\n translate\n (mousedown)=\"openSearch()\"\n >\n Go to the asset data table\n </button>\n </div>\n </c8y-li>\n </c8y-typeahead>\n </form>\n </div>\n</div>\n"}]}],"members":{"typeahead":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":38,"character":3},"arguments":[{"__symbolic":"reference","module":"@c8y/ngx-components","name":"TypeaheadComponent","line":38,"character":13},{"static":false}]}]}],"dropdown":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":41,"character":3},"arguments":["dropdown",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":45,"character":20},{"__symbolic":"reference","module":"@c8y/client","name":"InventoryService","line":46,"character":23},{"__symbolic":"reference","module":"@c8y/ngx-components/device-grid","name":"DeviceGridService","line":47,"character":31},{"__symbolic":"reference","name":"SearchService"}]}],"ngOnInit":[{"__symbolic":"method"}],"onOpenChange":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}],"keyDown":[{"__symbolic":"method"}],"filter":[{"__symbolic":"method"}],"openSearch":[{"__symbolic":"method"}],"subscribeOnSearch":[{"__symbolic":"method"}],"navigate":[{"__symbolic":"method"}],"mergeRequest":[{"__symbolic":"method"}],"queryInventoryService":[{"__symbolic":"method"}],"onLoadingDone":[{"__symbolic":"method"}],"onTypingStarted":[{"__symbolic":"method"}]}},"SearchModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":9,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"SearchResultsComponent"},{"__symbolic":"reference","name":"SearchBoxComponent"},{"__symbolic":"reference","name":"SearchGridComponent"}],"imports":[{"__symbolic":"reference","module":"@c8y/ngx-components","name":"CoreModule","line":11,"character":12},{"__symbolic":"reference","module":"@c8y/ngx-components/device-grid","name":"DeviceGridModule","line":11,"character":24},{"__symbolic":"reference","module":"ngx-bootstrap/dropdown","name":"BsDropdownModule","line":11,"character":42}],"entryComponents":[{"__symbolic":"reference","name":"SearchResultsComponent"},{"__symbolic":"reference","name":"SearchBoxComponent"}],"exports":[{"__symbolic":"reference","name":"SearchResultsComponent"},{"__symbolic":"reference","name":"SearchBoxComponent"},{"__symbolic":"reference","name":"SearchGridComponent"}],"providers":[{"__symbolic":"reference","name":"SearchService"},{"provide":{"__symbolic":"reference","module":"@c8y/ngx-components","name":"HOOK_ONCE_ROUTE","line":17,"character":15},"useValue":[{"path":"assetsearch","component":{"__symbolic":"reference","name":"SearchResultsComponent"}}],"multi":true},{"provide":{"__symbolic":"reference","module":"@c8y/ngx-components","name":"HOOK_SEARCH","line":27,"character":15},"useValue":[{"template":{"__symbolic":"reference","name":"SearchBoxComponent"}}],"multi":true}]}]}],"members":{}},"SearchResultsComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"c8y-search-results","template":"<c8y-title>\n <span translate class=\"p-r-4\">Search</span>\n <small\n ngNonBindable\n translate\n *ngIf=\"searchTerm\"\n [translateParams]=\"{\n searchHint: searchTerm\n }\"\n >searching \"{{ searchHint }}\"</small\n >\n <small\n ngNonBindable\n translate\n *ngIf=\"filter\"\n [translateParams]=\"{\n filterHint: filter\n }\"\n >filtered by \"{{ filterHint }}\"</small\n >\n</c8y-title>\n\n<c8y-search-grid [searchText]=\"searchTerm\" [filteringName]=\"filteringName\"></c8y-search-grid>\n"}]}],"members":{"searchGrid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":14,"character":3},"arguments":[{"__symbolic":"reference","name":"SearchGridComponent"},{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":19,"character":29},{"__symbolic":"reference","module":"@c8y/ngx-components","name":"AlertService","line":19,"character":60}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"resetSearch":[{"__symbolic":"method"}],"resetFilter":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"onQueryParamsChange":[{"__symbolic":"method"}],"shouldFilter":[{"__symbolic":"method"}],"search":[{"__symbolic":"method"}]}},"SearchGridComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":35,"character":1},"arguments":[{"selector":"c8y-search-grid","template":"<div class=\"card--grid--fullpage\">\n <c8y-data-grid\n [title]=\"'Search results' | translate\"\n [loadingItemsLabel]=\"loadingItemsLabel\"\n [columns]=\"columns\"\n [pagination]=\"pagination\"\n [actionControls]=\"actionControls\"\n [selectable]=\"selectable\"\n [bulkActionControls]=\"bulkActionControls\"\n [serverSideDataCallback]=\"serverSideDataCallback\"\n [infiniteScroll]=\"'auto'\"\n [showSearch]=\"true\"\n [searchText]=\"searchText\"\n [refresh]=\"refresh\"\n (onConfigChange)=\"configChange($event)\"\n class=\"d-contents\"\n >\n <ng-container *ngFor=\"let column of columns; trackBy: trackByName\">\n <c8y-column [name]=\"column.name\"></c8y-column>\n </ng-container>\n <div class=\"c8y-empty-state\">\n <h1 c8yIcon=\"search\"></h1>\n <div>\n <p>\n <strong>{{ 'No items found.' | translate }}</strong>\n </p>\n <small>{{ 'Change your search or filter criteria.' | translate }}</small>\n </div>\n </div>\n </c8y-data-grid>\n</div>\n"}]}],"members":{"parentGroup":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":3},"arguments":["parent-group"]}]}],"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":3}}]}],"loadingItemsLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":3}}]}],"_columns":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":43,"character":3},"arguments":["columns"]}]}],"_pagination":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":3},"arguments":["pagination"]}]}],"_actionControls":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":57,"character":3},"arguments":["actionControls"]}]}],"selectable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":64,"character":3}}]}],"_bulkActionControls":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":65,"character":3},"arguments":["bulkActionControls"]}]}],"onColumnsChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":72,"character":3}}]}],"searchText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":76,"character":3}}]}],"filteringName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":79,"character":3}}]}],"dataGrid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":89,"character":3},"arguments":[{"__symbolic":"reference","module":"@c8y/ngx-components","name":"DataGridComponent","line":89,"character":13},{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"SearchService"},{"__symbolic":"reference","module":"ngx-bootstrap/modal","name":"BsModalService","line":96,"character":28},{"__symbolic":"reference","module":"@c8y/client","name":"SmartGroupsService","line":97,"character":32},{"__symbolic":"reference","module":"@c8y/ngx-components/sub-assets","name":"SubAssetsService","line":98,"character":34}]}],"ngOnInit":[{"__symbolic":"method"}],"trackByName":[{"__symbolic":"method"}],"onDataSourceModifier":[{"__symbolic":"method"}],"setActionControls":[{"__symbolic":"method"}],"updateFiltering":[{"__symbolic":"method"}],"configChange":[{"__symbolic":"method"}],"onDeleteAsset":[{"__symbolic":"method"}]}}},"origins":{"SearchService":"./search.service","SearchBoxComponent":"./search-box.component","SearchModule":"./search.module","SearchResultsComponent":"./search-results.component","SearchGridComponent":"./search-grid.component"},"importAs":"@c8y/ngx-components/search"}
@@ -1,5 +1,6 @@
1
1
  import { IManagedObject } from '@c8y/client';
2
2
  import { SubAssetsService } from '@c8y/ngx-components/sub-assets';
3
+ import { Pagination } from '@c8y/ngx-components';
3
4
  export declare class SearchService extends SubAssetsService {
4
5
  protected GRID_CONFIG_STORAGE_KEY: string;
5
6
  protected DEFAULT_PAGE_SIZE: number;
@@ -17,8 +18,9 @@ export declare class SearchService extends SubAssetsService {
17
18
  * Returns the full-text search results.
18
19
  *
19
20
  * @param term The search term.
21
+ * @param pagination The currently used pagination.
20
22
  */
21
- search(term: string): Promise<import("@c8y/client").IResultList<IManagedObject>>;
23
+ search(term: string, pagination?: Pagination): Promise<import("@c8y/client").IResultList<IManagedObject>>;
22
24
  private isRootDevice;
23
25
  private isAnyDevice;
24
26
  private hasFragmentOrTypeFromBlacklist;