diff --git a/ambari-logsearch-web/src/app/modules/shared/components/dropdown-button/dropdown-button.component.ts b/ambari-logsearch-web/src/app/modules/shared/components/dropdown-button/dropdown-button.component.ts index fb8a9819bc5..2165d28dab9 100644 --- a/ambari-logsearch-web/src/app/modules/shared/components/dropdown-button/dropdown-button.component.ts +++ b/ambari-logsearch-web/src/app/modules/shared/components/dropdown-button/dropdown-button.component.ts @@ -54,8 +54,18 @@ export class DropdownButtonComponent implements OnChanges { selectItem: EventEmitter = new EventEmitter(); // PROXY PROPERTIES TO DROPDOWN LIST COMPONENT + private _options: ListItem[] = []; + private originalOptions: ListItem[] = []; + @Input() - options: ListItem[] = []; + set options(options: ListItem[]) { + this._options = options; + this.originalOptions = options.map(option => Object.assign({}, option)); + } + + get options(): ListItem[] { + return this._options; + } @Input() listItemArguments: any[] = []; @@ -153,8 +163,8 @@ export class DropdownButtonComponent implements OnChanges { const items: ListItem[] = Array.isArray(updates) ? updates : [updates]; if (this.isMultipleChoice) { items.forEach((item: ListItem) => { - if (this.options && this.options.length) { - const itemToUpdate: ListItem = this.options.find((option: ListItem) => + if (this.originalOptions && this.originalOptions.length) { + const itemToUpdate: ListItem = this.originalOptions.find((option: ListItem) => this.utils.isEqual(option.value, item.value) ); if (itemToUpdate) {