UNPKG

fox-block-builder

Version:

Maintainable code for loop slack-block-kit-like modal builder

46 lines 1.53 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: (0, helpers_1.getPlainTextObject)(this.props.title), close: (0, helpers_1.getPlainTextObject)(this.props.close), submit: (0, helpers_1.getPlainTextObject)(this.props.submit), blocks: (0, helpers_1.getBuilderResults)(this.props.blocks), }); } getBlockIds() { return this.getBlocks().map((b) => b.block_id); } } exports.ModalBuilder = ModalBuilder; (0, 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, methods_1.FetchValues, ]); //# sourceMappingURL=modal.js.map