[9970] | 1 | {combine_script id="jquery.ui.draggable"} |
---|
[9863] | 2 | {combine_script id="jquery.ui.droppable"} |
---|
[9829] | 3 | {combine_script id="farbtastic" require="jquery" path=$ROOT_URL|@cat:"plugins/typetags/admin/farbtastic/farbtastic.js"} |
---|
| 4 | {combine_css path=$ROOT_URL|@cat:"plugins/typetags/admin/farbtastic/farbtastic.css"} |
---|
[9863] | 5 | {combine_css path=$ROOT_URL|@cat:"plugins/typetags/admin/typetags_style.css"} |
---|
[3609] | 6 | |
---|
[9829] | 7 | {footer_script} |
---|
| 8 | {literal} |
---|
[10987] | 9 | $(document).ready(function(){ |
---|
| 10 | // colorpicker |
---|
| 11 | $('#colorpicker').farbtastic('#hexval'); |
---|
[9863] | 12 | |
---|
[10987] | 13 | // déplace chaque élément dans la bonne case |
---|
| 14 | jQuery('ul#tt-NULL li').each(function() { |
---|
| 15 | var $target = jQuery('ul#' + jQuery(this).attr('title')); |
---|
| 16 | jQuery(this).appendTo($target).css('float', 'left'); |
---|
| 17 | }); |
---|
| 18 | |
---|
| 19 | // initialise les déplacement |
---|
| 20 | jQuery("li").draggable({ |
---|
| 21 | revert: "invalid", |
---|
| 22 | helper: "clone", |
---|
| 23 | cursor: "move" |
---|
| 24 | }); |
---|
[9863] | 25 | |
---|
[10987] | 26 | // initialise le dépôt |
---|
| 27 | jQuery('.tt-container').droppable({ |
---|
| 28 | accept: "li", |
---|
| 29 | hoverClass: "active", |
---|
| 30 | drop: function(event, ui) { |
---|
| 31 | var $gallery = this; |
---|
| 32 | ui.draggable.fadeOut(function() { |
---|
| 33 | jQuery(this).appendTo($gallery).fadeIn(); |
---|
| 34 | equilibrate(); // on rééquilibre les colonnes à chaque déplacement |
---|
| 35 | }); |
---|
| 36 | } |
---|
| 37 | }); |
---|
| 38 | |
---|
| 39 | // équilibrage des colonnes |
---|
| 40 | equilibrate(); |
---|
| 41 | }); |
---|
| 42 | |
---|
| 43 | function equilibrate() { |
---|
| 44 | jQuery("#associations").each(function(){ |
---|
| 45 | var h=0; |
---|
| 46 | jQuery("> ul", this).css('height', 'auto') |
---|
| 47 | .each(function(){ h=Math.max(h,jQuery(this).height()); }) |
---|
| 48 | .css({'height': h+'px'}); |
---|
| 49 | }); |
---|
| 50 | } |
---|
| 51 | |
---|
| 52 | // génération des couples tag:typetag avant de valider le formulaire |
---|
| 53 | function save_datas(form) { |
---|
| 54 | var out = ''; |
---|
| 55 | |
---|
| 56 | jQuery(".tt-container").each(function(){ |
---|
| 57 | var section = jQuery(this).attr('id'); |
---|
| 58 | jQuery("> li", this).each(function(){ |
---|
| 59 | out += jQuery(this).attr('id') + ':' + section + ';'; |
---|
| 60 | }); |
---|
| 61 | }); |
---|
| 62 | |
---|
| 63 | jQuery('#assoc-input').val(out); |
---|
| 64 | submit(form); |
---|
| 65 | } |
---|
[9829] | 66 | {/literal} |
---|
| 67 | {/footer_script} |
---|
[3609] | 68 | |
---|
| 69 | <div class="titrePage"> |
---|
[10987] | 70 | <h2>TypeT@gs</h2> |
---|
[3301] | 71 | </div> |
---|
[3609] | 72 | |
---|
[9863] | 73 | <form action="{$typetags_ADMIN}" method="post" name="form"> |
---|
[10987] | 74 | <fieldset> |
---|
| 75 | {if isset($edited_typetag)} |
---|
| 76 | <legend>{'Edit typetag'|@translate}</legend> |
---|
| 77 | <input type="hidden" name="edited_typetag" value="{$edited_typetag}" /> |
---|
| 78 | <div class="edit-container"> |
---|
| 79 | <div id="colorpicker" style="float:right;"></div> |
---|
| 80 | <p><b>{'Edited TypeTag'|@translate} : <input type="text" readonly="readonly" size="18" style="background-color:{$typetag.OLD_COLOR};color:{$typetag.COLOR_TEXT};" value="{$typetag.OLD_NAME}"></b></p> |
---|
| 81 | <p> </p> |
---|
| 82 | <p>{'New name'|@translate} : <input type="text" size="18" name="typetag_name" value="{$typetag.NAME}"/></p> |
---|
| 83 | <p>{'New color'|@translate} : <input type="text" id="hexval" name="typetag_color" size="7" maxlength="7" value="{$typetag.COLOR}"/></p> |
---|
| 84 | <p> </p> |
---|
| 85 | <p> |
---|
| 86 | <input class="submit" type="submit" name="edittypetag" value="{'Modify'|@translate}"/> |
---|
| 87 | <input class="submit" type="submit" name="cancel" value="{'Reset'|@translate}"/> |
---|
| 88 | </p> |
---|
| 89 | </div> |
---|
| 90 | {else} |
---|
| 91 | <legend>{'Create a Typetag'|@translate}</legend> |
---|
| 92 | <div class="edit-container"> |
---|
| 93 | <div id="colorpicker" style="float:right;"></div> |
---|
| 94 | <p> </p> |
---|
| 95 | <p>{'New TypeTag'|@translate} : <input type="text" size="18" name="typetag_name" value="{if isset($typetag.NAME)}{$typetag.NAME}{/if}"/></p> |
---|
| 96 | <p>{'Color TypeTag'|@translate} : <input type="text" id="hexval" name="typetag_color" size="7" maxlength="7" value="{if isset($typetag.COLOR)}{$typetag.COLOR}{else}#444444{/if}"/></p> |
---|
| 97 | <p> </p> |
---|
| 98 | <p> |
---|
| 99 | <input class="submit" type="submit" name="addtypetag" value="{'Create a Typetag'|@translate}"/> |
---|
| 100 | </p> |
---|
| 101 | </div> |
---|
| 102 | {/if} |
---|
| 103 | </fieldset> |
---|
[9863] | 104 | </form> |
---|
[3609] | 105 | |
---|
[10987] | 106 | {if !empty($typetags_selection)} |
---|
| 107 | <fieldset> |
---|
| 108 | <legend>{'TypeTag selection'|@translate}</legend> |
---|
| 109 | <ul class="tagSelection"> |
---|
| 110 | {foreach from=$typetags_selection item=typetag} |
---|
| 111 | <li> |
---|
| 112 | <input type="text" readonly="readonly" style="background-color:{$typetag.color};color:{$typetag.color_text};margin:5px 0;" value="{$typetag.name}"> |
---|
| 113 | <a href="{$typetag.u_edit}" title="{'edit'|@translate}"><img src="{$themeconf.icon_dir}/edit.png" class="button" alt="{'edit'|@translate}"/></a> |
---|
| 114 | <a href="{$typetag.u_delete}" title="{'delete'|@translate}" onclick="return confirm('{'Are you sure?'|@translate}');"><img src="{$themeconf.admin_icon_dir}/plug_delete.png" class="button" alt="{'delete'|@translate}"/></a> |
---|
| 115 | </li> |
---|
| 116 | {/foreach} |
---|
| 117 | </ul> |
---|
| 118 | </fieldset> |
---|
| 119 | {/if} |
---|
[3609] | 120 | |
---|
[9863] | 121 | <form action="{$typetags_ADMIN}" method="post" name="form" onsubmit="save_datas(this);"> |
---|
[10987] | 122 | {if !empty($typetags_association) and !empty($typetags_selection)} |
---|
| 123 | <fieldset> |
---|
| 124 | <legend>{'TypeTag association'|@translate}</legend> |
---|
| 125 | |
---|
| 126 | <ul id="tt-NULL" class="tt-container NULL"> |
---|
| 127 | <h5>Non associés</h5> |
---|
| 128 | {foreach from=$typetags_association item=tag} |
---|
| 129 | <li id="t-{$tag.tagid}" title="tt-{$tag.typetagid}"> |
---|
| 130 | {$tag.tagname} |
---|
| 131 | </li> |
---|
| 132 | {/foreach} |
---|
| 133 | </ul> |
---|
| 134 | |
---|
| 135 | <div id="associations"> |
---|
| 136 | {foreach from=$typetags_selection item=typetag} |
---|
| 137 | <ul id="tt-{$typetag.id}" class="tt-container" style="box-shadow:inset 0 0 5px {$typetag.color};"> |
---|
| 138 | <h5 style="background-color:{$typetag.color};color:{$typetag.color_text};">{$typetag.name}</h5> |
---|
| 139 | </ul> |
---|
| 140 | {/foreach} |
---|
| 141 | </div> |
---|
| 142 | |
---|
| 143 | <p style="clear:both;"> |
---|
| 144 | <input type="hidden" name="associations" id="assoc-input"/> |
---|
| 145 | <input class="submit" type="submit" name="associate" value="{'Validate'|@translate}"/> |
---|
| 146 | <input class="submit" type="submit" name="delete_all_assoc" value="{'Delete all associations'|@translate}" onclick="return confirm('{'Are you sure?'|@translate}');"/> |
---|
| 147 | </p> |
---|
| 148 | </fieldset> |
---|
| 149 | {/if} |
---|
[3609] | 150 | </form> |
---|