UNPKG

slack-block-builder

Version:

Maintainable code for interactive Slack messages, modals, home tabs, and workflow steps. A must-have for the Slack Block Kit framework.

42 lines (41 loc) 1.36 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ModalBuilder = void 0; const base_1 = require("../internal/base"); const constants_1 = require("../internal/constants"); const dto_1 = require("../internal/dto"); const helpers_1 = require("../internal/helpers"); const methods_1 = require("../internal/methods"); /** * @@link https://api.slack.com/reference/surfaces/views * @@displayName Modal */ class ModalBuilder extends base_1.SurfaceBuilderBase { /** @internal */ build() { return this.getResult(dto_1.SlackModalDto, { type: constants_1.SurfaceType.Modal, title: helpers_1.getPlainTextObject(this.props.title), blocks: helpers_1.getBuilderResults(this.props.blocks), close: helpers_1.getPlainTextObject(this.props.close), submit: helpers_1.getPlainTextObject(this.props.submit), }); } } exports.ModalBuilder = ModalBuilder; helpers_1.applyMixins(ModalBuilder, [ methods_1.Blocks, methods_1.CallbackId, methods_1.ClearOnClose, methods_1.Close, methods_1.ExternalId, methods_1.NotifyOnClose, methods_1.PrivateMetaData, methods_1.Submit, methods_1.Title, methods_1.BuildToJSON, methods_1.BuildToObject, methods_1.GetBlocks, methods_1.GetPreviewUrl, methods_1.PrintPreviewUrl, ]);