fox-block-builder
Version:
Maintainable code for loop slack-block-kit-like modal builder
46 lines • 1.53 kB
JavaScript
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
;