source: spip-zone/_plugins_/menu_evitement/trunk/scripts/formulaire_configurer_menu_evitement.js.html @ 69453

Last change on this file since 69453 was 69453, checked in by bystrano@…, 8 years ago

Merge branch 'master' of github.com:bystrano/menu_evitement

File size: 2.2 KB
Line 
1function ajouterItem() {
2    var nbItems = $('fieldset').length,
3        url_saisie_menu = '#URL_PAGE{ajax/saisie-menu-item}';
4
5    $.ajax({
6        'url': parametre_url(url_saisie_menu, 'no', nbItems),
7        'success': function (data) {
8            var structures = $('#structures').append(data);
9            initBoutonEffacer(nbItems, structures.find('fieldset .bouton-effacer')[nbItems]);
10        }
11    });
12}
13
14function initBoutonEffacer (index, bouton) {
15
16    $(bouton).append('<a href="#bouton-effacer-' + index + '" name="bouton-effacer-'+ index +'" title="Efface definitivement">effacer</a>')
17        .click(function () {
18            $(this).parents('fieldset')
19                .hide()
20                .find('input')
21                .attr('value', '');
22        });
23}
24
25// Dom Ready
26$(function () {
27
28    // Bouton ajouter
29    $('#bouton-ajouter')
30        .append('<a href="#bouton-ajouter" name="bouton-ajouter" title="ajouter un element au menu">Plus</a>')
31        .find('a').click(function () {
32            ajouterItem();
33        });
34
35    // Boutons effacer
36    $('.bouton-effacer').each(initBoutonEffacer);
37
38    // glisser-deposer
39    $('#structures')
40        .prepend('<input type="hidden" name="permutation-structures" />')
41        .sortable({
42            containement: 'parent',
43            cursor: 'move',
44            items: '> fieldset',
45            placeholder: 'ui-state-highlight',
46            update: function (event, ui) {
47                $('#structures input[name="permutation-structures"]')
48                    .attr('value', (function () {
49                        var permutation = [],
50                            previousValue = '';
51
52                        $('#structures fieldset input').each(function () {
53                            var value = $(this).attr('name')
54                                            .replace(/^structure.([0-9]+).*$/, '$1');
55                            if (value !== previousValue) {
56                                previousValue = value;
57                                permutation.push(value);
58                            }
59                        });
60                        return permutation.join(',');
61                    })());
62            }
63        });
64    $('#structures').disableSelection();
65
66});
Note: See TracBrowser for help on using the repository browser.