[0] | 1 | $(function() { |
---|
| 2 | $('#themes-actions').hide(); |
---|
| 3 | var submit_s = $('#themes-actions input[name=select]'); |
---|
| 4 | var submit_r = $('#themes-actions input[name=remove]'); |
---|
| 5 | |
---|
| 6 | var details = $('#themes div.theme-details'); |
---|
| 7 | $('div.theme-actions',details).hide(); |
---|
| 8 | $('input:radio',details).hide(); |
---|
| 9 | $('div.theme-info span, div.theme-info a',details).hide(); |
---|
| 10 | details.removeClass('theme-details').addClass('theme-details-js'); |
---|
| 11 | |
---|
| 12 | var themes_wrapper = $('<div id="themes-wrapper"></div>'); |
---|
| 13 | var theme_box = $('<div id="theme-box"><div</div>'); |
---|
| 14 | $('#themes').wrap(themes_wrapper).before(theme_box); |
---|
| 15 | |
---|
| 16 | details.each(function() { |
---|
| 17 | var box = this; |
---|
| 18 | var a = $(document.createElement('a')); |
---|
| 19 | a.attr('href','#'); |
---|
| 20 | a.attr('title',$('>div h3>label',this).text()); |
---|
| 21 | $(box).wrap(a); |
---|
| 22 | $(box).parent().click(function(event) { |
---|
| 23 | update_box(box); |
---|
| 24 | event.preventDefault(); |
---|
| 25 | return false; |
---|
| 26 | }); |
---|
| 27 | }); |
---|
| 28 | |
---|
| 29 | function update_box(e) { |
---|
| 30 | theme_box.empty(); |
---|
| 31 | var img = $('div.theme-shot',e).clone(); |
---|
| 32 | var info = $('div.theme-info',e).clone(); |
---|
| 33 | |
---|
| 34 | if ($(e).hasClass('current-theme')) { |
---|
| 35 | var actions = $('div.theme-actions',e).clone(); |
---|
| 36 | actions.show(); |
---|
| 37 | } else { |
---|
| 38 | var actions = $('<div class="theme-actions"></div>'); |
---|
| 39 | if (submit_s.length > 0 && !$('input:radio',info).attr('disabled')) { |
---|
| 40 | var select = $('<a href="#" class="button">' + dotclear.msg.use_this_theme + '</a>'); |
---|
| 41 | select.css('font-weight','bold').click(function() { |
---|
| 42 | submit_s.click(); |
---|
| 43 | return false; |
---|
| 44 | }); |
---|
| 45 | actions.append(select).append(' '); |
---|
| 46 | } |
---|
| 47 | if (submit_r.length > 0 && $('input:radio',info).attr('id') != 'theme_default') { |
---|
[3] | 48 | var remove = $('<a href="#" class="button delete">' + dotclear.msg.remove_this_theme + '</a>'); |
---|
[0] | 49 | remove.click(function() { |
---|
| 50 | var t_name = $(this).parents('#theme-box').find('div.theme-info h3:first').text(); |
---|
| 51 | t_name = $.trim(t_name); |
---|
| 52 | if (window.confirm(dotclear.msg.confirm_delete_theme.replace('%s',t_name))) { |
---|
| 53 | submit_r.click(); |
---|
| 54 | } |
---|
| 55 | return false; |
---|
| 56 | }); |
---|
| 57 | actions.append(remove); |
---|
| 58 | } |
---|
| 59 | } |
---|
| 60 | |
---|
| 61 | $('input:radio',info).remove(); |
---|
| 62 | $('span, a',info).show(); |
---|
| 63 | |
---|
| 64 | theme_box.append(img).append(info).append(actions); |
---|
| 65 | details.removeClass('theme-selected'); |
---|
| 66 | $(e).addClass('theme-selected'); |
---|
| 67 | $('input:radio',e).attr('checked','checked'); |
---|
| 68 | } |
---|
| 69 | |
---|
| 70 | update_box(details[0]); |
---|
| 71 | }); |
---|