Угловой с помощью трубы - PullRequest
0 голосов
/ 31 мая 2019

У меня есть пользовательский канал, который преобразует имя смайлика (например: wink :) в родной смайлик (например, ?), чтобы пользователь мог видеть смайлики вместо текста.

Но когда пользователь щелкает сообщение, мне нужно отправлять текст на сервер, а не смайлики. Как я могу показать эмодзи внутри текстовой области, но отправить текст?

        private emojiObj = new Map();

        constructor(private emojiService: EmojiService) {
        emojis.forEach((el) => {
        this.emojiObj.set(el.shortName, el.unified);
      })  

       transform(value: any): any {

    if (!value.length) {

      return '';
    } else {

      return this.match(value);
    }
  }

  match(value: any): any {
    const findShortNames = new RegExp(':(.*?):', 'g');

    if (value.match(findShortNames)) {

      return value.replace(findShortNames, this.emojiService.unifiedToNative(this.emojiObj.get(Array.from(value.matchAll(findShortNames))[0][1])));
    } else {

      return value;
    }
...