UNPKG

@botonic/plugin-contentful

Version:

Botonic Plugin Contentful is one of the **[available](https://github.com/hubtype/botonic/tree/master/packages)** plugins for Botonic. **[Contentful](http://www.contentful.com)** is a CMS (Content Management System) which manages contents of a great variet

42 lines 1.55 kB
import { Button, ContentCallback, PRIORITY_MAX, } from '../cms'; import { ContentType } from '../cms/cms'; export class SearchCandidate { /** * @param contentId It may be a {@link Callback}'s with an URL instead of payload */ constructor(contentId, common, priority = PRIORITY_MAX) { this.contentId = contentId; this.common = common; this.priority = priority; } withResult(match, score) { return new SearchResult(this, match, score); } } export class SearchResult extends SearchCandidate { /** * @param match part of the input which match against a recognized text */ constructor(candidate, match, score) { super(candidate.contentId, candidate.common, candidate.priority); this.match = match; this.score = score; } toButton() { let shortText = this.common.shortText; if (!shortText) { shortText = this.common.name; console.error(`${JSON.stringify(this.contentId)} ${this.common.name} without shortText. Assigning name to button text`); } return new Button(this.common.name, this.common.name, shortText, ContentCallback.ofContentId(this.contentId)); } getCallbackIfChitchat() { if (this.common.shortText !== SearchResult.CHITCHAT_SHORT_TEXT && this.contentId.model !== ContentType.CHITCHAT) { return undefined; } return this.contentId; } } SearchResult.CHITCHAT_SHORT_TEXT = 'chitchat'; //# sourceMappingURL=search-result.js.map