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

« back to all changes in this revision

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

  • Committer: dcoles
  • Date: 2008-02-20 01:12:43 UTC
  • Revision ID: svn-v3-trunk0:2b9c9e99-6f39-0410-b283-7f802c844ae2:trunk:520
forum: Fixed setup.py to include forum files in install, disabled 
reauthentication for admin control panel (lets admin users log in as they have 
no valid password hash) and updated install procedure

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