@shgysk8zer0/slack
Version:
An npm package for sending messages in Slack
46 lines (35 loc) • 1.03 kB
JavaScript
;
var input = require('./input.cjs');
var functions = require('../../functions.cjs');
var validation = require('../../validation.cjs');
class SlackURLInputElement extends input.SlackInputElement {
#initialValue;
constructor({ id, action, autoFocus = false, placeholder, initialValue } = {}) {
super({ id, action, autoFocus, placeholder });
if (typeof initialValue !== 'undefined') {
this.initialValue = initialValue.toString();
}
}
get initialValue() {
return this.#initialValue;
}
set initialValue(val) {
if (validation.isURL(val)) {
this.#initialValue = val;
} else {
throw new TypeError('initialValue must be a non-empty string.');
}
}
toJSON() {
return {
...super.toJSON(),
initial_value: this.#initialValue,
};
}
static get TYPE() {
return 'url_text_input';
}
}
const createSlackURLInputElement = functions.createFactory(SlackURLInputElement);
exports.SlackURLInputElement = SlackURLInputElement;
exports.createSlackURLInputElement = createSlackURLInputElement;