~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to www/media/browser/browser.js

  • Committer: mattgiuca
  • Date: 2008-01-13 12:08:48 UTC
  • Revision ID: svn-v3-trunk0:2b9c9e99-6f39-0410-b283-7f802c844ae2:trunk:211
fileservice/listing: Slight change to date format.
browser.js: Abstracted get_handler_type.
browser/listing.js: Wrote code to populate the side panel with the information
about the selected file and action links (very rough).

Show diffs side-by-side

added added

removed removed

Lines of Context:
77
77
    "text/x-python",
78
78
];
79
79
 
 
80
 
 
81
/* Global variables */
 
82
 
 
83
current_path = "";
 
84
 
80
85
/** Calls the server using Ajax, performing an action on the server side.
81
86
 * Receives the response from the server and performs a refresh of the page
82
87
 * contents, updating it to display the returned data (such as a directory
128
133
    handle_response(path, response, editmode);
129
134
}
130
135
 
 
136
/** Determines the "handler type" from a MIME type.
 
137
 * The handler type is a string, either "text", "image", "audio" or "binary".
 
138
 */
 
139
function get_handler_type(content_type)
 
140
{
 
141
    if (!content_type)
 
142
        return null;
 
143
    if (content_type in type_handlers)
 
144
        return type_handlers[content_type];
 
145
    else
 
146
    {   /* Based on the first part of the MIME type */
 
147
        var handler_type = content_type.split('/')[0];
 
148
        if (handler_type != "text" && handler_type != "image" &&
 
149
            handler_type != "audio")
 
150
            handler_type = "binary";
 
151
        return handler_type;
 
152
    }
 
153
}
 
154
 
131
155
/** Given an HTTP response object, cleans up and rebuilds the contents of the
132
156
 * page using the response data. This does not navigate away from the page, it
133
157
 * merely rebuilds most of the data.
144
168
function handle_response(path, response, editmode)
145
169
{
146
170
    /* TODO: Set location bar to "path" */
 
171
    current_path = path;
147
172
    settitle(path);
148
173
 
149
174
    /* Clear away the existing page contents */
182
207
    {
183
208
        /* Treat this as an ordinary file. Get the file type. */
184
209
        var content_type = response.getResponseHeader("Content-Type");
185
 
        var handler_type;
186
 
        if (content_type in type_handlers)
187
 
            handler_type = type_handlers[content_type];
188
 
        else
189
 
        {   /* Based on the first part of the MIME type */
190
 
            handler_type = content_type.split('/')[0];
191
 
            if (handler_type != "text" && handler_type != "image" &&
192
 
                handler_type != "audio")
193
 
                handler_type = "binary";
194
 
        }
 
210
        var handler_type = get_handler_type(content_type);
195
211
        /* If we're in "edit mode", always treat this file as text */
196
212
        would_be_handler_type = handler_type;
197
213
        if (editmode) handler_type = "text";