mirror of
https://github.com/zulip/zulip.git
synced 2025-11-14 10:57:58 +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);
|
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,
|
// 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
|
// we will also have exercised them to some degree, but that's a little trickier
|
||||||
// to enforce.
|
// to enforce.
|
||||||
|
|||||||
@@ -279,11 +279,16 @@ exports.set_up = function () {
|
|||||||
var errors = form.find('.bot_edit_errors');
|
var errors = form.find('.bot_edit_errors');
|
||||||
|
|
||||||
$("#settings_page .edit_bot .edit-bot-owner select").val(bot.owner);
|
$("#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) {
|
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_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();
|
avatar_widget.clear();
|
||||||
|
|
||||||
form.validate({
|
form.validate({
|
||||||
@@ -312,6 +317,12 @@ exports.set_up = function () {
|
|||||||
var service_interface = $("#edit_service_interface :selected").val();
|
var service_interface = $("#edit_service_interface :selected").val();
|
||||||
formData.append('service_payload_url', JSON.stringify(service_payload_url));
|
formData.append('service_payload_url', JSON.stringify(service_payload_url));
|
||||||
formData.append('service_interface', service_interface);
|
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) {
|
jQuery.each(file_input[0].files, function (i, file) {
|
||||||
formData.append('file-'+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