Changeset 577

Show
Ignore:
Timestamp:
01/01/07 23:00:55 (2 years ago)
Author:
alo
Message:

--

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • cherokee-admin/cherokee-admin.py

    r572 r577  
    7373        # Web pages 
    7474        # 
    75         if uri.startswith ('/basic'): 
     75        if uri == '/' or \ 
     76           uri.startswith ('/summary'): 
     77            page = PageSummary (server, theme) 
     78        elif uri.startswith ('/basic'): 
    7679            page = PageBasic (server, theme) 
    77         if uri.startswith ('/summary'): 
    78             page = PageSummary (server, theme) 
    7980        elif uri.startswith ('/vservers'): 
    8081            page = PageVServersList (server, theme) 
  • cherokee-admin/editable.py

    r569 r577  
    22<div id="editable_%%key%%">%%val%%</div> 
    33<script type="text/javascript"> 
    4     YAHOO.util.Event.addListener ("editable_%%key%%", 'click', cherokee_handle_editable, '%%key%%'); 
     4    YAHOO.util.Event.addListener ("editable_%%key%%", 'click', CHEROKEE.Editable.Text.clicked_cb, '%%key%%'); 
     5</script> 
     6''' 
     7 
     8HTML_STR_EMPTY = ''' 
     9<div id="editable_%%key%%"><div class="empty">empty</div></div> 
     10<script type="text/javascript"> 
     11    YAHOO.util.Event.addListener ("editable_%%key%%", 'click', CHEROKEE.Editable.Text.clicked_empty_cb, '%%key%%'); 
    512</script> 
    613''' 
     
    916<input id="editable_%%key%%" type="checkbox" %%checked%% /> 
    1017<script type="text/javascript"> 
    11     YAHOO.util.Event.addListener ("editable_%%key%%", 'click', cherokee_handle_checkbox, '%%key%%'); 
     18    YAHOO.util.Event.addListener ("editable_%%key%%", 'click', CHEROKEE.Editable.Bool.clicked_cb, '%%key%%'); 
    1219</script> 
    1320''' 
     
    2330           self._type == str or \ 
    2431           self._type == list: 
    25             html = HTML_STR 
     32            if self._val and len(self._val): 
     33                html = HTML_STR 
     34            else: 
     35                html = HTML_STR_EMPTY 
     36 
    2637        elif self._type == bool: 
    2738            html = HTML_BOOL 
     
    3142                html = html.replace ("%%checked%%", "") 
    3243 
     44        html = html.replace ("%%val%%",  self._val) 
    3345        html = html.replace ("%%key%%",  self._key) 
    34         html = html.replace ("%%val%%",  self._val) 
    3546        html = html.replace ("%%type%%", str(self._type)) 
    3647        return html 
  • cherokee-admin/theme.py

    r569 r577  
    22 
    33COMMON_HEADERS = """ 
     4%%yui_headers%% 
     5<script type="text/javascript" src="/theme/cherokee.js" ></script> 
    46<link rel="stylesheet" type="text/css" href="/yui/assets/menu.css"> 
    5 %%yui_headers%% 
    67""" 
    78 
  • cherokee-admin/theme/cherokee.css

    r569 r577  
    130130        margin-bottom: 20px; 
    131131        color: #1f4b83; 
     132} 
     133 
     134.empty { 
     135        color: #BBBBBB; 
     136        font-size: x-small; 
    132137} 
    133138 
  • cherokee-admin/theme/editable.js

    r569 r577  
    1    var che_editing = false; 
    2    var che_old_val; 
     1CHEROKEE.Editable = { 
    32 
    4    cherokee_editable_update_cb_done = function (resp) { 
    5                  if (resp.responseText.substring(0,2) != "ok") { 
    6                       var obj = document.getElementById (che_editing); 
    7                          obj.innerHTML = che_old_val; 
     3   update_cb_failed : function (resp) { 
     4          alert (resp.statusText); 
     5   }, 
    86 
    9                          alert (resp.responseText); 
    10                  } 
     7   /* Text 
     8    */ 
     9   Text : { 
     10      _editing : false, 
     11      _old_val : false, 
     12         _is_empty: false, 
    1113 
    12            che_editing   = false; 
    13    } 
     14      update : function (key, value) { 
     15          var post_data = 'key='+key+'&value='+value; 
     16          YAHOO.util.Connect.asyncRequest ("POST", "/set", { 
     17                          success: CHEROKEE.Editable.Text.update_cb_done, 
     18                          failure: CHEROKEE.Editable.update_cb_failed 
     19               }, post_data); 
     20      }, 
    1421 
    15    cherokee_editable_update = function (key, value) { 
    16          var post_data = 'key='+key+'&value='+value; 
    17          YAHOO.util.Connect.asyncRequest ("POST", "/set", { 
    18                           success: cherokee_editable_update_cb_done, 
    19                           failure: cherokee_editable_update_cb_done 
    20                }, post_data); 
    21    } 
     22      update_cb_done : function (resp) { 
     23         if (resp.responseText.substring(0,2) != "ok") { 
     24                   var obj = document.getElementById (CHEROKEE.Editable._editing); 
     25                   obj.innerHTML = CHEROKEE.Editable._old_val; 
    2226 
    23    cherokee_handle_editable_save = function (event, params) { 
     27                   alert (resp.responseText); 
     28            } 
     29 
     30            if (CHEROKEE.Editable.Text._is_empty) { 
     31                          YAHOO.util.Event.removeListener (CHEROKEE.Editable._editing, 'click', CHEROKEE.Editable.Text.clicked_empty_cb); 
     32                          YAHOO.util.Event.addListener    (CHEROKEE.Editable._editing, 'click', CHEROKEE.Editable.Text.clicked_cb); 
     33 
     34                          CHEROKEE.Editable.Text._is_empty = false; 
     35            } 
     36 
     37         CHEROKEE.Editable._editing = false; 
     38      }, 
     39 
     40      handle_save : function (event, params) { 
    2441         var key    = params['key']; 
    2542         var obj    = document.getElementById (params['target_id']); 
     
    2744 
    2845         obj.innerHTML = edit.value; 
    29             che_old_val   = params['old']; 
     46            CHEROKEE.Editable._old_val   = params['old']; 
    3047 
    31          cherokee_editable_update (key, edit.value); 
    32    } 
     48         CHEROKEE.Editable.Text.update (key, edit.value); 
     49      }, 
    3350 
    34    cherokee_handle_editable_cancel = function (event, params) { 
     51      handle_cancel : function (event, params) { 
    3552         var key    = params['key']; 
    3653         var old    = params['old']; 
     
    3855       
    3956         obj.innerHTML = old; 
    40          che_editing = false; 
    41    } 
     57         CHEROKEE.Editable._editing = false; 
     58      }, 
    4259 
    43    cherokee_handle_editable = function (event, param) { 
    44          var target = YAHOO.util.Event.getTarget (event, true); 
     60      handle_generic : function (target, param, content) { 
     61         if (CHEROKEE.Editable._editing)  
     62                          return; 
     63 
    4564         var obj    = document.getElementById (target.id); 
    4665         var key    = param; 
    4766         var old    = obj.innerHTML; 
    48  
    49          if (che_editing) return; 
    5067 
    5168         var ok_edit   = obj.id+'_edit'; 
     
    5370         var cancel_id = obj.id+'_cancel'; 
    5471            var buttons   = '<div><input id="'+ok_id+'" type="button" value="SAVE" /> OR <input id="'+cancel_id+'" type="button" value="CANCEL" /></div></div>'; 
    55 //          var textarea  = '<div id="'+obj.id+'_editor"><textarea id="'+ok_edit+'" name="'+obj.id+'" rows="1" cols="60">'+obj.innerHTML+'</textarea>'; 
    56             var textarea  = '<div id="'+obj.id+'_editor"><input type="textarea" id="'+ok_edit+'" name="'+obj.id+'" value="'+obj.innerHTML+'">'; 
     72            var textarea  = '<div id="'+obj.id+'_editor"><input type="textarea" id="'+ok_edit+'" name="'+obj.id+'" value="'+content+'">'; 
    5773  
    58          che_editing   = target.id; 
    59             che_old_val   = obj.innerHTML; 
     74         CHEROKEE.Editable._editing   = target.id; 
     75            CHEROKEE.Editable._old_val   = obj.innerHTML; 
    6076         obj.innerHTML = textarea + buttons; 
     77 
     78            document.getElementById(ok_edit).focus(); 
    6179 
    6280         params = { 'key': key, 'old': old, 'target_id': target.id, 'ok_edit': ok_edit }; 
    6381 
    64          YAHOO.util.Event.addListener (ok_id,     'click', cherokee_handle_editable_save,   params); 
    65          YAHOO.util.Event.addListener (cancel_id, 'click', cherokee_handle_editable_cancel, params); 
    66    } 
     82         YAHOO.util.Event.addListener (ok_id,     'click', CHEROKEE.Editable.Text.handle_save,   params); 
     83         YAHOO.util.Event.addListener (cancel_id, 'click', CHEROKEE.Editable.Text.handle_cancel, params); 
     84      }, 
     85                          
     86      clicked_cb : function (event, param) { 
     87         var target = YAHOO.util.Event.getTarget (event, true); 
     88         var obj    = document.getElementById (target.id); 
    6789 
    68    cherokee_handle_checkbox = function (event, param) { 
     90            return CHEROKEE.Editable.Text.handle_generic (target, param, obj.innerHTML); 
     91         }, 
     92 
     93      clicked_empty_cb : function (event, param) { 
     94         var target = YAHOO.util.Event.getTarget(event, true).parentNode; 
     95         var obj    = document.getElementById (target.id); 
     96 
     97            CHEROKEE.Editable.Text._is_empty = true; 
     98            return CHEROKEE.Editable.Text.handle_generic (target, param, ''); 
     99         } 
     100   }, 
     101 
     102   /* Bool 
     103    */ 
     104   Bool : { 
     105      update : function (key, value) { 
     106          var post_data = 'key='+key+'&value='+value; 
     107 
     108          YAHOO.util.Connect.asyncRequest ("POST", "/set", { 
     109                          success: CHEROKEE.Editable.Bool.update_cb_done, 
     110                          failure: CHEROKEE.Editable.update_cb_failed 
     111               }, post_data); 
     112      }, 
     113 
     114      update_cb_done : function (resp) { 
     115         if (resp.responseText.substring(0,2) != "ok") { 
     116                          CHEROKEE.Editable.update_cb_failed (resp); 
     117            } 
     118         CHEROKEE.Editable._editing = false; 
     119      }, 
     120 
     121      clicked_cb : function (event, param) { 
    69122         var target = YAHOO.util.Event.getTarget (event, true); 
    70123         var obj    = document.getElementById (target.id); 
     
    72125         var key    = param; 
    73126 
    74             che_old_val = params['old']; 
    75          cherokee_editable_update (key, active ? '1' : '0'); 
     127            CHEROKEE.Editable._editing = target.id; 
     128         CHEROKEE.Editable.Bool.update (key, active ? '1' : '0'); 
     129      } 
    76130   } 
     131};