From f256e26da09b33b88c40e08369974a6f70dadfa7 Mon Sep 17 00:00:00 2001 From: Spencer Moran Date: Sun, 8 Dec 2019 01:41:53 -0500 Subject: [PATCH] Fixes #172 --- src/lib/picker/emoji-search.service.ts | 7 ++++++- src/lib/picker/picker.component.ts | 4 +++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/lib/picker/emoji-search.service.ts b/src/lib/picker/emoji-search.service.ts index 4a66bbab..2ed4ad28 100644 --- a/src/lib/picker/emoji-search.service.ts +++ b/src/lib/picker/emoji-search.service.ts @@ -93,7 +93,12 @@ export class EmojiSearch { } category.emojis.forEach( - emojiId => (pool[emojiId] = this.emojiService.names[emojiId]), + emojiId => { + // Need to make sure that pool gets keyed + // with the correct id, which is why we call emojiService.getData below + let emoji = this.emojiService.getData(emojiId); + pool[emoji.id] = emoji; + } ); }); diff --git a/src/lib/picker/picker.component.ts b/src/lib/picker/picker.component.ts index 6f3659ad..b03a8960 100644 --- a/src/lib/picker/picker.component.ts +++ b/src/lib/picker/picker.component.ts @@ -238,8 +238,10 @@ export class PickerComponent implements OnInit { this.categories.unshift(this.SEARCH_CATEGORY); this.selected = this.categories.filter(category => category.first)[0].name; - const categoriesToLoadFirst = 3; + // Need to be careful if small number of categories + let categoriesToLoadFirst = Math.min(this.categories.length, 3); this.setActiveCategories(this.activeCategories = this.categories.slice(0, categoriesToLoadFirst)); + // Trim last active category const lastActiveCategoryEmojis = this.categories[categoriesToLoadFirst - 1].emojis.slice(); this.categories[categoriesToLoadFirst - 1].emojis = lastActiveCategoryEmojis.slice(0, 60);