source: extensions/typetags/admin/typetags_admin.tpl @ 15477

Revision 15477, 5.9 KB checked in by mistic100, 7 years ago (diff)

improve a bit the admin page

Line 
1{combine_script id="jquery.ui.draggable"}
2{combine_script id="jquery.ui.droppable"}
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"}
5{combine_css path=$ROOT_URL|@cat:"plugins/typetags/admin/typetags_style.css"}
6
7{footer_script}{literal}
8// set all containers the same size
9function equilibrate() {
10  var h=0;
11  jQuery("#associations ul")
12    .css('height', 'auto')
13    .each(function() {
14      h = Math.max(h, jQuery(this).height());
15    })
16    .promise().done(function() {
17      jQuery("#associations ul").css({'height': h+'px'});
18    });
19   
20  //jQuery("#tt-NULL").css('height', 'auto');
21}
22
23// generate tag:typetag couples before submit the form
24function save_datas(form) {
25  var out = '';
26 
27  jQuery(".tt-container").each(function() {
28    var section = jQuery(this).attr('id');
29    jQuery("> li", this).each(function() {
30      out += jQuery(this).attr('id') + ':' + section + ';';
31    });
32  });
33 
34  jQuery('#assoc-input').val(out);
35  submit(form);
36}
37
38// colorpicker
39jQuery('#colorpicker').farbtastic('#hexval');
40
41// move each tag in it's typetag container
42jQuery('ul#tt-NULL li').each(function() {
43  var $target = jQuery('ul#' + jQuery(this).attr('data'));
44  jQuery(this).appendTo($target).css('float', 'left');
45  if ($($target).attr('id') == 'tt-NULL') jQuery(this).css({'display':'inline-block','float':'none'});
46});
47equilibrate();
48
49// init drag
50jQuery("li").draggable({
51  revert: "invalid",
52  helper: "clone",
53  cursor: "move"
54});
55
56// init drop
57jQuery('.tt-container').droppable({
58  accept: "li",
59  hoverClass: "active",
60  drop: function(event, ui) {
61    var $gallery = this;
62    ui.draggable.fadeOut(function() {
63      jQuery(this).appendTo($gallery).css('float', 'left').css('display','').fadeIn();
64      if ($($gallery).attr('id') == 'tt-NULL') jQuery(this).css({'display':'inline-block','float':'none'});
65      equilibrate();
66    });     
67  }
68});
69{/literal}{/footer_script}
70
71<div class="titrePage">
72  <h2>TypeT@gs</h2>
73</div>
74 
75<form action="{$typetags_ADMIN}" method="post" name="form">
76  <fieldset>
77  {if isset($IN_EDIT)}
78    <legend>{'Edit typetag'|@translate}</legend>
79    <div class="edit-container">
80      <div id="colorpicker"></div>
81      <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>
82      <p>&nbsp;</p>
83      <p>{'New name'|@translate} : <input type="text" size="18" name="typetag_name" value="{$typetag.NAME}"></p>
84      <p>{'New color'|@translate} : <input type="text" id="hexval" name="typetag_color" size="7" maxlength="7" value="{$typetag.COLOR}"></p>
85      <p>&nbsp;</p>
86      <p>
87        <input type="hidden" name="edited_typetag" value="{$edited_typetag}">
88        <input class="submit" type="submit" name="edittypetag" value="{'Modify'|@translate}">
89        <input class="submit" type="submit" name="cancel" value="{'Reset'|@translate}">
90      </p>
91    </div>
92  {else}
93    <legend>{'Create a Typetag'|@translate}</legend>
94    <div class="edit-container">
95      <div id="colorpicker"></div>
96      <p>{'New TypeTag'|@translate} : <input type="text" size="18" name="typetag_name" value="{if isset($typetag.NAME)}{$typetag.NAME}{/if}"></p>
97      <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>
98      <p>&nbsp;</p>
99      <p>
100        <input class="submit" type="submit" name="addtypetag" value="{'Create a Typetag'|@translate}">
101      </p>
102    </div>
103  {/if}
104  </fieldset>
105</form>
106
107{if !empty($typetags_selection) and !isset($IN_EDIT)}
108<form action="{$typetags_ADMIN}" method="post" name="form" onsubmit="save_datas(this);">
109  <fieldset>
110    <legend>{'Edit and associate TypeTags'|@translate}</legend>
111   
112    <ul id="tt-NULL" class="tt-container NULL">
113      <h5>{'Not associated'|@translate}</h5>
114      {foreach from=$typetags_association item=tag}
115      <li id="t-{$tag.tagid}" data="tt-{$tag.typetagid}">
116        {$tag.tagname}
117      </li>
118      {/foreach}
119    </ul>
120   
121    <div id="associations">
122    {foreach from=$typetags_selection item=typetag}
123      <ul id="tt-{$typetag.id}" class="tt-container" style="box-shadow:inset 0 0 5px {$typetag.color};">
124        <span class="buttons">
125          <a href="{$typetag.u_edit}" title="{'edit'|@translate}"><img src="{$themeconf.icon_dir}/edit.png" class="button" alt="{'edit'|@translate}"></a>
126          <a href="{$typetag.u_delete}" title="{'delete'|@translate}" onclick="return confirm('{'Are you sure?'|@translate}');"><img src="{$themeconf.icon_dir}/delete.png" class="button" alt="{'delete'|@translate}"></a>
127        </span>
128        <h5 style="background-color:{$typetag.color};color:{$typetag.color_text};">{$typetag.name}</h5>
129      </ul>
130    {/foreach}
131    </div>
132   
133    <div style="clear:both;"></div>
134    <p style="margin-top:20px;">
135      <input type="hidden" name="associations" id="assoc-input">
136      <input class="submit" type="submit" name="associate" value="{'Validate'|@translate}">
137      <input class="submit" type="submit" name="delete_all_assoc" value="{'Delete all associations'|@translate}" onclick="return confirm('{'Are you sure?'|@translate}');">
138    </p>
139  </fieldset>
140</form>
141{/if}
142
143{if !isset($IN_EDIT)}
144<form action="{$typetags_ADMIN}" method="post" name="form">
145<fieldset>
146  <legend>{'Configuration'|@translate}</legend>
147  <b>{'Display colored tags'|@translate}</b>
148  <label><input type="radio" name="show_all" value="false" {if not $SHOW_ALL}checked="checked"{/if}> {'Only on tags page'|@translate}</label>
149  <label><input type="radio" name="show_all" value="true" {if $SHOW_ALL}checked="checked"{/if}> {'Everywhere'|@translate}</label>
150  <p><input class="submit" type="submit" name="save_config" value="{'Submit'|@translate}"></p>
151</fieldset>
152</form>
153{/if}
Note: See TracBrowser for help on using the repository browser.