UNPKG

office-ui-fabric-react

Version:

Reusable React components for building experiences for Office 365.

54 lines 2.33 kB
define(["require", "exports", "tslib", "../../../Utilities"], function (require, exports, tslib_1, Utilities_1) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 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([ Utilities_1.autobind ], SuggestionsStore.prototype, "_isSuggestionModel", null); tslib_1.__decorate([ Utilities_1.autobind ], SuggestionsStore.prototype, "_ensureSuggestionModel", null); return SuggestionsStore; }()); exports.SuggestionsStore = SuggestionsStore; }); //# sourceMappingURL=SuggestionsStore.js.map