// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. // See LICENSE.txt for license information. function getFullDialog(triggerId, webhookBaseUrl) { return { trigger_id: triggerId, url: `${webhookBaseUrl}/dialog_submit`, dialog: { callback_id: 'somecallbackid', title: 'Title for Full Dialog Test', icon_url: 'http://www.mattermost.org/wp-content/uploads/2016/04/icon.png', elements: [ { display_name: 'Display Name', name: 'realname', type: 'text', subtype: '', default: 'default text', placeholder: 'placeholder', help_text: 'This a regular input in an interactive dialog triggered by a test integration.', optional: false, min_length: 0, max_length: 0, data_source: '', options: null, }, { display_name: 'Email', name: 'someemail', type: 'text', subtype: 'email', default: '', placeholder: 'placeholder@bladekick.com', help_text: 'This a regular email input in an interactive dialog triggered by a test integration.', optional: false, min_length: 0, max_length: 0, data_source: '', options: null, }, { display_name: 'Number', name: 'somenumber', type: 'text', subtype: 'number', default: '', placeholder: '', help_text: '', optional: false, min_length: 0, max_length: 0, data_source: '', options: null, }, { display_name: 'Password', name: 'somepassword', type: 'text', subtype: 'password', default: 'p@ssW0rd', placeholder: 'placeholder', help_text: 'This a password input in an interactive dialog triggered by a test integration.', optional: true, min_length: 0, max_length: 0, data_source: '', options: null, }, { display_name: 'Display Name Long Text Area', name: 'realnametextarea', type: 'textarea', subtype: '', default: '', placeholder: 'placeholder', help_text: '', optional: true, min_length: 5, max_length: 100, data_source: '', options: null, }, { display_name: 'User Selector', name: 'someuserselector', type: 'select', subtype: '', default: '', placeholder: 'Select a user...', help_text: '', optional: false, min_length: 0, max_length: 0, data_source: 'users', options: null, }, { display_name: 'Channel Selector', name: 'somechannelselector', type: 'select', subtype: '', default: '', placeholder: 'Select a channel...', help_text: 'Choose a channel from the list.', optional: true, min_length: 0, max_length: 0, data_source: 'channels', options: null, }, { display_name: 'Option Selector', name: 'someoptionselector', type: 'select', subtype: '', default: '', placeholder: 'Select an option...', help_text: '', optional: false, min_length: 0, max_length: 0, data_source: '', options: [ { text: 'Option1', value: 'opt1', }, { text: 'Option2', value: 'opt2', }, { text: 'Option3', value: 'opt3', }, ], }, { display_name: 'Radio Option Selector', name: 'someradiooptions', type: 'radio', help_text: '', optional: false, options: [ { text: 'Engineering', value: 'engineering', }, { text: 'Sales', value: 'sales', }, ], }, { display_name: 'Boolean Selector', placeholder: 'Was this modal helpful?', name: 'boolean_input', type: 'bool', default: 'True', optional: true, help_text: 'This is the help text', }, ], submit_label: 'Submit', notify_on_cancel: true, state: 'somestate', }, }; } function getSimpleDialog(triggerId, webhookBaseUrl) { return { trigger_id: triggerId, url: `${webhookBaseUrl}/dialog_submit`, dialog: { callback_id: 'somecallbackid', title: 'Title for Dialog Test without elements', icon_url: 'http://www.mattermost.org/wp-content/uploads/2016/04/icon.png', submit_label: 'Submit Test', notify_on_cancel: true, state: 'somestate', }, }; } function getUserAndChannelDialog(triggerId, webhookBaseUrl) { return { trigger_id: triggerId, url: `${webhookBaseUrl}/dialog_submit`, dialog: { callback_id: 'somecallbackid', title: 'Title for Dialog Test with user and channel element', icon_url: 'http://www.mattermost.org/wp-content/uploads/2016/04/icon.png', submit_label: 'Submit Test', notify_on_cancel: true, state: 'somestate', elements: [ { display_name: 'User Selector', name: 'someuserselector', type: 'select', subtype: '', default: '', placeholder: 'Select a user...', help_text: '', optional: false, min_length: 0, max_length: 0, data_source: 'users', options: null, }, { display_name: 'Channel Selector', name: 'somechannelselector', type: 'select', subtype: '', default: '', placeholder: 'Select a channel...', help_text: 'Choose a channel from the list.', optional: true, min_length: 0, max_length: 0, data_source: 'channels', options: null, }, ], }, }; } function getBooleanDialog(triggerId, webhookBaseUrl) { return { trigger_id: triggerId, url: `${webhookBaseUrl}/dialog_submit`, dialog: { callback_id: 'somecallbackid', title: 'Title for Dialog Test with boolean element', icon_url: 'http://www.mattermost.org/wp-content/uploads/2016/04/icon.png', submit_label: 'Submit Test', notify_on_cancel: true, state: 'somestate', elements: [ { display_name: 'Boolean Selector', placeholder: 'Was this modal helpful?', name: 'boolean_input', type: 'bool', default: 'True', optional: true, help_text: 'This is the help text', }, ], }, }; } module.exports = { getFullDialog, getSimpleDialog, getUserAndChannelDialog, getBooleanDialog, };