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

« back to all changes in this revision

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

  • Committer: drtomc
  • Date: 2007-12-11 03:26:29 UTC
  • Revision ID: svn-v3-trunk0:2b9c9e99-6f39-0410-b283-7f802c844ae2:trunk:25
A bit more work on the userdb stuff.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
saved_status = null;
2
 
 
3
 
function save_file()
4
 
{
5
 
    filename = document.getElementById("save_filename").value;
6
 
    data = editAreaLoader.getValue("editbox");
7
 
    /* Do NOT refresh the page contents (causes problems for editarea and is
8
 
     * unnecessary). */
9
 
    do_action("putfile", filename, {"path":".", "data":data}, null, true);
10
 
    saved_status.data = "Saved.";
11
 
}
12
 
 
13
 
function edit_text()
14
 
{
15
 
    saved_status.data = "Not saved.";
16
 
}
17
 
 
18
 
/** Presents the "editor heading" (the part with the save box)
19
 
 * inserting it into a given element at the front.
20
 
 */
21
 
function present_editorhead(elem, path, handler_type)
22
 
{
23
 
    var div = document.createElement("div");
24
 
    /* Insert as the head element */
25
 
    elem.insertBefore(div, elem.firstChild)
26
 
    div.setAttribute("id", "editorhead");
27
 
 
28
 
    /* Set up minimal interface */
29
 
    var p = dom_make_text_elem("p", "Path: ");
30
 
    var pathname = document.createElement("input");
31
 
    pathname.setAttribute("type", "text");
32
 
    pathname.setAttribute("size", "30");
33
 
    pathname.setAttribute("id", "save_filename");
34
 
    pathname.setAttribute("value", path);
35
 
    p.appendChild(pathname);
36
 
    var savebutton = document.createElement("input");
37
 
    savebutton.setAttribute("type", "button");
38
 
    savebutton.setAttribute("value", "Save");
39
 
    savebutton.setAttribute("onclick", "save_file()");
40
 
    p.appendChild(savebutton);
41
 
    var t = document.createTextNode(" ");
42
 
    p.appendChild(t);
43
 
    saved_status = document.createTextNode("Saved.");
44
 
    //p.appendChild(saved_status);
45
 
    div.appendChild(p);
46
 
 
47
 
    /* Print a warning message if this is not actually a text file.
48
 
     */
49
 
    if (handler_type != "text")
50
 
    {
51
 
        var warn = dom_make_text_elem("p",
52
 
            "Warning: You are editing a binary " +
53
 
            "file, which explains any strange characters you may see. If " +
54
 
            "you save this file, you could corrupt it.");
55
 
        div.appendChild(warn);
56
 
    }
57
 
}
58
 
 
59
 
/** Presents the text editor.
60
 
 */
61
 
function handle_text(path, text, handler_type)
62
 
{
63
 
    /* Create a textarea with the text in it
64
 
     * (The makings of a primitive editor).
65
 
     */
66
 
    setmode(true);
67
 
 
68
 
    var files = document.getElementById("filesbody");
69
 
    /* Put our UI at the top */
70
 
    present_editorhead(files, path, handler_type);
71
 
 
72
 
    var div = document.createElement("div");
73
 
    files.appendChild(div);
74
 
    var txt_elem = dom_make_text_elem("textarea",
75
 
        text.toString())
76
 
    div.appendChild(txt_elem);
77
 
    txt_elem.setAttribute("id", "editbox");
78
 
    txt_elem.setAttribute("onchange", "edit_text()");
79
 
    /* TODO: Make CSS height: 100% work */
80
 
    txt_elem.setAttribute("rows", "35");
81
 
 
82
 
    /* Load EditArea into the editbox */
83
 
    editAreaLoader.init({
84
 
        id : "editbox",
85
 
        syntax: "python",
86
 
        start_highlight: true,
87
 
        allow_toggle: false,
88
 
        allow_resize: false,
89
 
        replace_tab_by_spaces: 4,
90
 
    });
91
 
}
92