jQuery(function($) { "use strict"; var p = '#site-add-', IDS = ['name', 'slug', 'body', 'lang', 'theme_id']; var DEFAULTS = { lang: DATA.default_lang, theme_id: DATA.default_theme_id, }; $(p + 'dialog').on('show.bs.modal', function() { $.each(IDS, function(_, id) { $(p + id).val(DEFAULTS[id] || ''); }); // clear list of domains $(p + 'domains').val(''); }); $(p + 'dialog').on('shown.bs.modal', function() { // show content tab $(p + 'tab-content').click(); // focus name field $(p + 'name').focus(); }); $(p + 'dialog input[type="text"]').keydown(function(ev) { if (ev.which == 13) { setTimeout(function() { $(p + 'confirm').click(); }, 10); // stop event return false; } }); $(p + 'name').keydown(function(ev) { var me = $(this); setTimeout(function() { $(p + 'slug').val(slugify(me.val())); }, 10); }); $(p + 'confirm').click(function() { var me = $(this); if (me.hasClass('disabled')) return false; // toggle loading me.toggleClass('disabled').find('.loading').toggleClass('hidden'); send('site/add', IDS.reduce(function(r, id) { r[id] = $(p + id).val(); return r; }, { is_full_feed: 't', domains: listify(p + 'domains'), })).always(function() { // toggle loading me.toggleClass('disabled').find('.loading').toggleClass('hidden'); }).fail(function(r) { gripe(r, 'add site'); }).done(function(r) { $('#sites-reload').click(); $(p + 'dialog').modal('hide'); }); // stop event return false; }); });