diff --git a/src/app/handle-page/handle-table/handle-table.component.html b/src/app/handle-page/handle-table/handle-table.component.html index fe9c49bf7f4..7eb92d78e65 100644 --- a/src/app/handle-page/handle-table/handle-table.component.html +++ b/src/app/handle-page/handle-table/handle-table.component.html @@ -21,7 +21,8 @@
{{ 'handle-table.title' | translate }}
+ [(ngModel)]="searchQuery" + [disabled]="!searchOption"> diff --git a/src/app/handle-page/handle-table/handle-table.component.ts b/src/app/handle-page/handle-table/handle-table.component.ts index 4aed5177cd5..2c86e160e0c 100644 --- a/src/app/handle-page/handle-table/handle-table.component.ts +++ b/src/app/handle-page/handle-table/handle-table.component.ts @@ -373,40 +373,45 @@ export class HandleTableComponent implements OnInit { // parse searchQuery for the server request // the new sorting query is in the format e.g. `handle:123456`, `resourceTypeId:2`, `url:internal` let parsedSearchOption = ''; - let parsedSearchQuery = this.searchQuery; - switch (this.searchOption) { - case this.handleOption: - parsedSearchOption = HANDLE_SEARCH_OPTION; - break; - case this.internalOption: - // if the handle doesn't have the URL - is internal, if it does - is external - parsedSearchOption = URL_SEARCH_OPTION; - if (this.searchQuery.toLowerCase() === 'yes') { - parsedSearchQuery = 'internal'; - } else if (this.searchQuery.toLowerCase() === 'no') { - parsedSearchQuery = 'external'; - } - break; - case this.resourceTypeOption: - parsedSearchOption = RESOURCE_TYPE_SEARCH_OPTION; - // parse resourceType from string to the number because the resourceType is integer on the server - switch (this.searchQuery) { - case ITEM: - parsedSearchQuery = '' + 2; - break; - case COLLECTION: - parsedSearchQuery = '' + 3; - break; - case COMMUNITY: - parsedSearchQuery = '' + 4; - break; - case SITE: - parsedSearchQuery = '' + 5; - } - break; - default: - parsedSearchOption = ''; - break; + let parsedSearchQuery = ''; + if (this.searchQuery) { + parsedSearchQuery = this.searchQuery; + switch (this.searchOption) { + case this.handleOption: + parsedSearchOption = HANDLE_SEARCH_OPTION; + break; + case this.internalOption: + // if the handle doesn't have the URL - is internal, if it does - is external + parsedSearchOption = URL_SEARCH_OPTION; + if (this.searchQuery.toLowerCase() === 'yes') { + parsedSearchQuery = 'internal'; + } else if (this.searchQuery.toLowerCase() === 'no') { + parsedSearchQuery = 'external'; + } + break; + case this.resourceTypeOption: + parsedSearchOption = RESOURCE_TYPE_SEARCH_OPTION; + // parse resourceType from string to the number because the resourceType is integer on the server + switch (this.searchQuery.toLowerCase()) { + case ITEM.toLowerCase(): + parsedSearchQuery = '' + 2; + break; + case COLLECTION.toLowerCase(): + parsedSearchQuery = '' + 3; + break; + case COMMUNITY.toLowerCase(): + parsedSearchQuery = '' + 4; + break; + case SITE.toLowerCase(): + parsedSearchQuery = '' + 5; + break; + // no results for invalid search inputs + default: + parsedSearchQuery = '' + -1; + break; + } + break; + } } this.sortConfiguration.field = parsedSearchOption + ':' + parsedSearchQuery; diff --git a/src/assets/i18n/cs.json5 b/src/assets/i18n/cs.json5 index 4eec3150fcc..77766d61c2a 100644 --- a/src/assets/i18n/cs.json5 +++ b/src/assets/i18n/cs.json5 @@ -2469,7 +2469,7 @@ // "handle-table.table.handle": "Handle", "handle-table.table.handle": "Handle", // "handle-table.table.internal": "Internal", - "handle-table.table.internal": "InternĂ­", + "handle-table.table.internal": "Je internĂ­", // "handle-table.table.is-internal": "Yes", "handle-table.table.is-internal": "Ano", // "handle-table.table.not-internal": "No", diff --git a/src/assets/i18n/en.json5 b/src/assets/i18n/en.json5 index 59b75e666cb..05d19d89105 100644 --- a/src/assets/i18n/en.json5 +++ b/src/assets/i18n/en.json5 @@ -2029,7 +2029,7 @@ "handle-table.table.handle": "Handle", - "handle-table.table.internal": "Internal", + "handle-table.table.internal": "Is Internal", "handle-table.table.is-internal": "Yes",