Project

General

Profile

1
// Copyright 2006 Stepan Riha
2
// www.nonplus.net
3
// $Id: restore_pages.js 65 2017-03-03 21:38:16Z manu $
4
//console.info(ids);
5

    
6
// Array of ids that can be toggled using toggle_visibility()
7
JsAdmin.toggled_ids = function() {
8
    var links = document.getElementsByTagName('a');
9
    var ids = [];
10
    var reId = /toggle_visibility\s*\(\s*\'([^\']+)/;
11

    
12
    for(var i = 0; i < links.length; i++) {
13
        var href = links[i].href || '';
14
        var match = href.match(reId);
15

    
16
        if(!match) {
17
            continue;
18
        }
19
        var id = match[1];
20
        ids.push(id);
21
    }
22

    
23
    if(ids.length > 0) {
24
console.info(ids);
25
        return ids;
26
    } else {
27
        return false;
28
    }
29
};
30

    
31
// Expand sections stored in the wb_jsadmin_pages cookie
32
JsAdmin.restore_toggled = function() {
33
    var ids = this.toggled_ids();
34

    
35
    if(!ids) {
36
        return;
37
    }
38

    
39
    var saved = this.util.readCookie('wb_jsadmin_pages');
40
    if(!saved) {
41
        return;
42
    }
43

    
44
    var reNum = /(\d+)/;
45

    
46
    saved = ',' + saved + ',';
47

    
48
    for(var i = ids.length-1; i >= 0; i--) {
49
        var id = ids[i];
50
        if(saved.indexOf(',' + id + ',') >= 0) {
51
            toggle_visibility(id);
52
            var match = id.match(reNum);
53
            if(match)
54
                toggle_plus_minus(match[1]);
55
        }
56
    }
57
};
58

    
59
// Store expanded section ids in the wb_jsadmin_pages cookie
60
JsAdmin.save_toggled = function() {
61

    
62
    var ids = this.toggled_ids();
63

    
64
    if(!ids) {
65
        return;
66
    }
67

    
68
    var visible = [];
69
    for(var i = 0; i < ids.length; i++) {
70
        var id = ids[i];
71
        var elt = YAHOO.util.Dom.get(id);
72
        var display = elt.style.display;
73
        if(display == 'block') {
74
            visible.push(ids[i]);
75
        }
76
    }
77

    
78
    var ids = visible.join(",");
79
    this.util.createCookie('wb_jsadmin_pages', ids, 14);
80
};
81

    
(4-4/5)