~ubuntu-branches/debian/stretch/alpine/stretch

« back to all changes in this revision

Viewing changes to web/cgi/alpine-2.0/lib/settings.js

  • Committer: Bazaar Package Importer
  • Author(s): Asheesh Laroia
  • Date: 2008-09-23 12:17:56 UTC
  • mfrom: (2.1.8 intrepid)
  • Revision ID: james.westby@ubuntu.com-20080923121756-6u4x8bwq89qlzt32
Tags: 2.00+dfsg-2
Update to package description: note that Alpine is no longer in
alpha. (Closes: #499640)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* $Id: settings.js 1150 2008-08-20 00:27:11Z mikes@u.washington.edu $
 
2
 * ========================================================================
 
3
 * Copyright 2008 University of Washington
 
4
 *
 
5
 * Licensed under the Apache License, Version 2.0 (the "License");
 
6
 * you may not use this file except in compliance with the License.
 
7
 * You may obtain a copy of the License at
 
8
 *
 
9
 *     http://www.apache.org/licenses/LICENSE-2.0
 
10
 *
 
11
 * ========================================================================
 
12
 */
 
13
 
 
14
 
 
15
function settingsPage(el){
 
16
    var dom = YAHOO.util.Dom;
 
17
    for(var i = 1; i <= 20; i++){
 
18
        dom.setStyle('settingsPage' + i,'display','none');
 
19
        var elPage = document.getElementById('Page' + i);
 
20
        if (elPage) dom.removeClass(elPage.parentNode,'sel');
 
21
    }
 
22
 
 
23
    dom.setStyle('settings' + el.id,'display','block');
 
24
    dom.addClass(el.parentNode,'sel');
 
25
    el.blur();
 
26
    return false;
 
27
}
 
28
 
 
29
function toggleAdvance(el){
 
30
    var dom = YAHOO.util.Dom;
 
31
    var s = dom.getStyle('advancedSettings','display');
 
32
    if(s && s == 'block'){
 
33
        dom.setStyle('advancedSettings','display','none');
 
34
        el.firstChild.src = 'img/cbn/f_plus.gif'
 
35
    }
 
36
    else{
 
37
        dom.setStyle('advancedSettings','display','block');
 
38
        el.firstChild.src = 'img/cbn/f_minus.gif'
 
39
    }
 
40
 
 
41
    el.blur();
 
42
    return false;
 
43
}
 
44
 
 
45
function validFieldName(e){
 
46
    var ev = YAHOO.util.Event;
 
47
    var cc = ev.getCharCode(e);
 
48
    if((cc >= 32 & cc < 127) && !(cc == 45 || (cc >= 65 && cc <= 90) || (cc >= 97 && cc <= 122))) ev.stopEvent(e);
 
49
}
 
50
 
 
51
function customHdrAdd(idTable){
 
52
    var frag = document.createDocumentFragment();
 
53
    var div = document.createElement('div');
 
54
    frag.appendChild(div);
 
55
    div.setAttribute('align','center');
 
56
    div.innerHTML = '<p>Add a new custom header by entering the new header name on the left and an optional value on the left<p>';
 
57
 
 
58
    div = document.createElement('div');
 
59
    frag.appendChild(div);
 
60
    div.setAttribute('align','center');
 
61
 
 
62
    var elName = createInputElement('text','field');
 
63
    div.appendChild(elName);
 
64
    elName.setAttribute('size','12');
 
65
    elName.setAttribute('maxlength','36');
 
66
    YAHOO.util.Event.addListener(elName,'keypress',validFieldName);
 
67
    YAHOO.util.Event.addListener(elName,'keyup',panelDialogInputChange);
 
68
    el = document.createTextNode(' : ');
 
69
    div.appendChild(el);
 
70
    var elValue = createInputElement('text','value');
 
71
    div.appendChild(elValue);
 
72
    elValue.setAttribute('size','40');
 
73
 
 
74
    panelDialog('New Custom Field',
 
75
                frag,
 
76
                {
 
77
                    label:' Add ',
 
78
                    disabled: true,
 
79
                    fn: function() {
 
80
                        var elTD, elTR, elTable = document.getElementById(idTable);
 
81
                        var el = document.getElementById('customHdrFields');
 
82
                        var n = (el.value - 0) + 1;
 
83
                        el.value = n;
 
84
                        if(elTable && elName.value.length){
 
85
                            elTR = elTable.insertRow(elTable.rows.length);
 
86
 
 
87
                            elTD = elTR.insertCell(elTR.cells.length);
 
88
                            el = document.createTextNode(elName.value +':');
 
89
                            elTD.appendChild(el);
 
90
                            el = createInputElement('hidden','customHdrField'+n);
 
91
                            elTD.appendChild(el);
 
92
                            el.setAttribute('value',elName.value);
 
93
 
 
94
                            elTD = elTR.insertCell(elTR.cells.length);
 
95
                            el = createInputElement('text','customHdrData' + n);
 
96
                            elTD.appendChild(el);
 
97
                            el.setAttribute('value',elValue.value);
 
98
                            el.setAttribute('size','45');
 
99
 
 
100
                            el = document.createElement('a');
 
101
                            elTD.appendChild(el);
 
102
                            el.setAttribute('href','#');
 
103
                            YAHOO.util.Event.addListener(el,'click',removeTableRowEvent);
 
104
                            var img = document.createElement('img');
 
105
                            img.setAttribute('src','img/cbn/remove.gif');
 
106
                            YAHOO.util.Dom.addClass(img,'wap');
 
107
                            el.appendChild(img);
 
108
                        }
 
109
                    }
 
110
                });
 
111
 
 
112
    elName.focus();
 
113
    return false;
 
114
}
 
115
 
 
116
function removeTableRow(el){
 
117
    if(el){
 
118
        var iRow = el.parentNode.parentNode.rowIndex;
 
119
        el.parentNode.parentNode.parentNode.parentNode.deleteRow(iRow);
 
120
    }
 
121
    return false;
 
122
}
 
123
 
 
124
function removeTableRowEvent(e){
 
125
    var ev = YAHOO.util.Event;
 
126
    removeTableRow(ev.getTarget(e).parentNode);
 
127
    ev.stopEvent(e);
 
128
}
 
129
 
 
130
function listAdd(idTable,listName){
 
131
    var elTD, elTR, elTable = document.getElementById(idTable);
 
132
    var el = document.getElementById(listName+'s');
 
133
    var n = el.value - 0;
 
134
    el.value = ++n;
 
135
    if(elTable.rows.length < 12){
 
136
        if(elTable){
 
137
            elTR = elTable.insertRow(elTable.rows.length);
 
138
            elTD = elTR.insertCell(elTR.cells.length);
 
139
 
 
140
            el = createInputElement('text',listName + n);
 
141
            elTD.appendChild(el);
 
142
            el.setAttribute('size','45');
 
143
 
 
144
            el = document.createElement('a');
 
145
            elTD.appendChild(el);
 
146
            el.setAttribute('href','#');
 
147
            YAHOO.util.Event.addListener(el,'click',removeTableRowEvent);
 
148
            var img = document.createElement('img');
 
149
            img.setAttribute('src','img/cbn/remove.gif');
 
150
            YAHOO.util.Dom.addClass(img,'wap');
 
151
            el.appendChild(img);
 
152
        }
 
153
    }
 
154
 
 
155
    return false;
 
156
}
 
157
 
 
158
function saveSettings(){
 
159
    showLoading();
 
160
    document.getElementById('settingsForm').submit(); 
 
161
    return false;
 
162
}
 
163
 
 
164
function restoreDefaultSettings(){
 
165
    var el = document.getElementById('restore');
 
166
    if(el){
 
167
        el.value = 'restore';
 
168
        showLoading();
 
169
        document.getElementById('settingsForm').submit();
 
170
    }
 
171
    return false;
 
172
}
 
173
 
 
174
function settingsSuccess(){
 
175
    var alp = YAHOO.alpine;
 
176
    window.location.href = alp.cgi_base + 'browse/' + alp.current.c + '/' + alp.current.f;
 
177
}
 
178
 
 
179
function settingsFailure(m){
 
180
    hideLoading();
 
181
    addStatusMessage('Settings Failure: ' + m);
 
182
    displayStatusMessages();
 
183
}