Browse Source

Support custom data options

master
Roderick Hsiao 4 years ago
parent
commit
f90dd0c0ea
  1. 6
      src/categoryButtons.ts
  2. 2
      src/emojiArea.ts
  3. 5
      src/index.ts
  4. 1
      src/types.ts

6
src/categoryButtons.ts

@ -2,8 +2,6 @@ import { TinyEmitter as Emitter } from 'tiny-emitter';
import { CLASS_CATEGORY_BUTTONS, CLASS_CATEGORY_BUTTON } from './classes';
import emojiData from './data/emoji';
import { CATEGORY_CLICKED } from './events';
import * as icons from './icons';
@ -40,8 +38,8 @@ export class CategoryButtons {
const container = createElement('div', CLASS_CATEGORY_BUTTONS);
let categories = this.options.showRecents
? ['recents', ...(this.options.categories || emojiData.categories)]
: this.options.categories || emojiData.categories;
? ['recents', ...(this.options.categories || this.options.emojiData.categories)]
: this.options.categories || his.options.emojiData.categories;
if (this.options.custom) {
categories = [...categories, 'custom'];

2
src/emojiArea.ts

@ -53,7 +53,7 @@ export class EmojiArea {
private options: EmojiButtonOptions
) {
this.emojisPerRow = options.emojisPerRow || 8;
this.categories = options.categories || emojiData.categories;
this.categories = options.categories || options.emojiData.categories;
if (options.showRecents) {
this.categories = ['recents', ...this.categories];

5
src/index.ts

@ -57,6 +57,7 @@ const DEFAULT_OPTIONS: EmojiButtonOptions = {
showVariants: true,
showCategoryButtons: true,
recentsCount: 50,
emojiData,
emojiVersion: '12.1',
theme: 'light',
categories: [
@ -197,9 +198,9 @@ export class EmojiButton {
this.events,
this.i18n,
this.options,
emojiData.emoji,
this.options.emojiData.emoji,
(this.options.categories || []).map(category =>
emojiData.categories.indexOf(category)
this.options.emojiData.categories.indexOf(category)
)
).render();
this.pickerEl.appendChild(searchContainer);

1
src/types.ts

@ -46,6 +46,7 @@ export interface EmojiButtonOptions {
showCategoryButtons?: boolean;
recentsCount?: number;
rootElement?: HTMLElement;
emojiData?: EmojiData,
emojiVersion?: EmojiVersion;
i18n?: I18NStrings;
zIndex?: number;

Loading…
Cancel
Save