UNPKG

office-ui-fabric-react

Version:

Reusable React components for building experiences for Office 365.

52 lines 1.97 kB
import * as tslib_1 from "tslib"; import { autobind } from '../../../Utilities'; var SuggestionsStore = /** @class */ (function () { function SuggestionsStore() { this.suggestions = []; } SuggestionsStore.prototype.updateSuggestions = function (newSuggestions) { if (newSuggestions && newSuggestions.length > 0) { this.suggestions = this.convertSuggestionsToSuggestionItems(newSuggestions); } else { this.suggestions = []; } }; SuggestionsStore.prototype.getSuggestions = function () { return this.suggestions; }; SuggestionsStore.prototype.getSuggestionAtIndex = function (index) { return this.suggestions[index]; }; SuggestionsStore.prototype.removeSuggestion = function (index) { this.suggestions.splice(index, 1); }; SuggestionsStore.prototype.convertSuggestionsToSuggestionItems = function (suggestions) { return Array.isArray(suggestions) ? suggestions.map(this._ensureSuggestionModel) : []; }; SuggestionsStore.prototype._isSuggestionModel = function (value) { return value.item !== undefined; }; SuggestionsStore.prototype._ensureSuggestionModel = function (suggestion) { if (this._isSuggestionModel(suggestion)) { return suggestion; } else { return { item: suggestion, selected: false, // tslint:disable-next-line:no-any ariaLabel: suggestion.name || suggestion.primaryText }; } }; tslib_1.__decorate([ autobind ], SuggestionsStore.prototype, "_isSuggestionModel", null); tslib_1.__decorate([ autobind ], SuggestionsStore.prototype, "_ensureSuggestionModel", null); return SuggestionsStore; }()); export { SuggestionsStore }; //# sourceMappingURL=SuggestionsStore.js.map