mirror of
https://github.com/zulip/zulip.git
synced 2025-11-13 18:36:36 +00:00
frontend: Add embedded bot config data editing.
This commit is contained in:
@@ -1531,6 +1531,16 @@ function render(template_name, args) {
|
||||
assert.equal($(html).find('#edit_service_interface').attr('value'), args.service.interface);
|
||||
}());
|
||||
|
||||
(function edit_embedded_bot_service() {
|
||||
var args = {
|
||||
service: {service_name: "giphy",
|
||||
config_data: {key: "abcd1234"}},
|
||||
};
|
||||
var html = render('edit-embedded-bot-service', args);
|
||||
assert.equal($(html).find('#embedded_bot_key_edit').attr('name'), 'key');
|
||||
assert.equal($(html).find('#embedded_bot_key_edit').val(), 'abcd1234');
|
||||
}());
|
||||
|
||||
// By the end of this test, we should have compiled all our templates. Ideally,
|
||||
// we will also have exercised them to some degree, but that's a little trickier
|
||||
// to enforce.
|
||||
|
||||
@@ -279,11 +279,16 @@ exports.set_up = function () {
|
||||
var errors = form.find('.bot_edit_errors');
|
||||
|
||||
$("#settings_page .edit_bot .edit-bot-owner select").val(bot.owner);
|
||||
var service = bot_data.get_services(bot_id)[0];
|
||||
if (bot.bot_type.toString() === OUTGOING_WEBHOOK_BOT_TYPE) {
|
||||
var services = bot_data.get_services(bot_id);
|
||||
$("#service_data").append(templates.render("edit-outgoing-webhook-service",
|
||||
{service: services[0]}));
|
||||
{service: service}));
|
||||
}
|
||||
if (bot.bot_type.toString() === EMBEDDED_BOT_TYPE) {
|
||||
$("#service_data").append(templates.render("edit-embedded-bot-service",
|
||||
{service: service}));
|
||||
}
|
||||
|
||||
avatar_widget.clear();
|
||||
|
||||
form.validate({
|
||||
@@ -312,6 +317,12 @@ exports.set_up = function () {
|
||||
var service_interface = $("#edit_service_interface :selected").val();
|
||||
formData.append('service_payload_url', JSON.stringify(service_payload_url));
|
||||
formData.append('service_interface', service_interface);
|
||||
} else if (type === EMBEDDED_BOT_TYPE) {
|
||||
var config_data = {};
|
||||
$("#config_edit_inputbox input").each(function () {
|
||||
config_data[$(this).attr('name')] = $(this).val();
|
||||
});
|
||||
formData.append('config_data', JSON.stringify(config_data));
|
||||
}
|
||||
jQuery.each(file_input[0].files, function (i, file) {
|
||||
formData.append('file-'+i, file);
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
<div id="config_edit_inputbox">
|
||||
{{#each service.config_data}}
|
||||
<div class="input-group">
|
||||
<label for="embedded_bot_{{@key}}_edit">{{@key}}</label>
|
||||
<input type="text" name="{{@key}}" id="embedded_bot_{{@key}}_edit"
|
||||
maxlength=1000 value="{{this}}" />
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
Reference in New Issue
Block a user