123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 |
- $(function () {
- Panel = {};
-
- Panel.tinyMCE = new tinymce.Editor('editor-panel', {
- mode : "exact",
- elements : "editor",
- theme : "advanced",
- theme_advanced_toolbar_location : "top",
- theme_advanced_toolbar_align : "left",
- height : "342",
- theme_advanced_buttons1 : "savebutton,separator,bold,italic,underline,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,bullist,numlist",
- theme_advanced_buttons2 : "",
- theme_advanced_buttons3 : ""
- });
- Panel.tinyMCE.addButton('savebutton', {
- title : 'Save',
- image : 'full/images/save.png',
- onclick : function() {
- if(Panel.jsTree.selected && !Panel.tinyMCE.isHidden()) {
- $.post('full/server.php?server&type=savefile',{ data : Panel.tinyMCE.getContent(), lang : ($.inArray(Panel.jsTree.current_lang, Panel.jsTree.settings.languages) + 1), id : Panel.jsTree.selected.attr("id") });
- }
- }
- });
- Panel.tinyMCE.onChange.add(function(ed, l) {
- Panel.tinyMCE.content_edited = true;
- });
- Panel.tinyMCE.render_state = 0;
-
- Panel.jsTree = $.tree_create();
- Panel.jsTree.init($("#tree-panel .tree"),{
- data : { type : "json", async : true, url : "full/server.php?server&type=list" },
- languages : [ "en", "de", "fr" ],
- rules : { draggable : "all", multiple : "ctrl" },
- callback : {
- beforechange : function (n, t) {
-
- return true;
- },
- onchange : function (n) {
- if(n.id) Panel.loadContent(n.id);
- },
-
- oncreate : function (n, r, h, t) {
- if(!Panel.tinyMCE.isHidden()) Panel.tinyMCE.hide();
- $("#editor").html("<p class='message'>Please create the node first</p>");
- Panel.creating = 1;
- Panel.move(n,r,h);
- },
- onrename : function (n,l,t,r) {
- $.get("full/server.php?server&type=rename", { data : $(n).children("a:visible").text(), lang : ($.inArray(t.current_lang, t.settings.languages) + 1), id : n.id });
- if(Panel.creating == 1) {
- Panel.loadContent(n.id);
- Panel.creating = 0;
- }
- },
- onmove : function (n, r, h) {
- Panel.move(n,r,h);
- },
- beforedelete : function (n) {
- return confirm("Are you sure you want to delete?");
- },
- ondelete : function (n) {
- $.get("full/server.php?server&type=delete&id=" + n.id);
- if(!Panel.tinyMCE.isHidden()) Panel.tinyMCE.hide();
- $("#editor").html("<p class='message'>Click a node on the left to edit its content</p>");
- },
- onload : function (t) {
-
- }
- }
- });
- Panel.creating = 0;
-
- Panel.loadContent = function(id) {
- if(Panel.tinyMCE.render_state == 0) {
- Panel.tinyMCE.onInit.add(function(ed) {
- ed.setContent("");
- ed.render_state = 1;
- Panel.loadContent(id);
- });
- Panel.tinyMCE.render();
- }
- else {
- if(Panel.tinyMCE.isHidden()) Panel.tinyMCE.show();
- Panel.tinyMCE.setProgressState(1);
- $.get('full/server.php?server&type=loadfile&id=' + id + '&lang=' + ($.inArray(Panel.jsTree.current_lang, Panel.jsTree.settings.languages) + 1), function (data) {
- Panel.tinyMCE.setContent(data);
- Panel.tinyMCE.content_edited = false;
- Panel.tinyMCE.setProgressState(0);
- });
- }
- }
- Panel.move = function(n,r,h) {
- $.get("full/server.php?server&type=move&id=" + n.id + "&ref_id=" + (r === -1 ? 0 : r.id) + "&move_type=" + h, function (data) {
- if(!n.id) n.id = data;
- });
- }
- Panel.create = function () { Panel.jsTree.create(false, (Panel.jsTree.container.find("li").size() == 0 ? -1 : false) ); }
- Panel.rename = function () { Panel.jsTree.rename(); }
- Panel.remove = function () { Panel.jsTree.remove(); }
- Panel.copy = function () { if(Panel.jsTree.selected) { Panel.jsTree.copy(); } }
- Panel.cut = function () { if(Panel.jsTree.selected) { Panel.jsTree.cut(); } }
- Panel.paste = function () { Panel.jsTree.paste(); }
-
- $(document)
- .bind('keydown', {combi:'up', disableInInput: true} , function() { Panel.jsTree.get_prev(); return false; })
- .bind('keydown', {combi:'down', disableInInput: true} , function() { Panel.jsTree.get_next(); return false; })
- .bind('keydown', {combi:'left', disableInInput: true} , function() { Panel.jsTree.get_left(); return false; })
- .bind('keydown', {combi:'right', disableInInput: true} , function() { Panel.jsTree.get_right(); return false; })
- .bind('keydown', {combi:'return', disableInInput: true} , function() { if(Panel.jsTree.hovered) Panel.jsTree.select_branch(Panel.jsTree.hovered); return false; })
- .bind('keydown', {combi:'f2', disableInInput: true} , function() { if(Panel.jsTree.hovered) Panel.jsTree.rename(); return false; })
- .bind('keydown', {combi:'del', disableInInput: true} , function() { if(Panel.jsTree.selected) Panel.jsTree.remove(); return false; })
- .bind('keydown', {combi:'insert', disableInInput: true} , function() { if(Panel.jsTree.selected) Panel.jsTree.create(); return false; })
- .bind('keydown', {combi:'ctrl+c', disableInInput: true} , function() { Panel.jsTree.copy(); return false; })
- .bind('keydown', {combi:'ctrl+x', disableInInput: true} , function() { Panel.jsTree.cut(); return false; })
- .bind('keydown', {combi:'ctrl+v', disableInInput: true} , function() { Panel.jsTree.paste(); return false; })
-
- $("#tree-panel .menu")
- .find("a").not(".lang")
- .bind("click", function () {
- try { Panel[$(this).attr("rel")](); } catch(err) { }
- this.blur();
- })
- .end().end()
- .children(".cmenu")
- .hover( function () { $(this).addClass("hover"); }, function () { $(this).removeClass("hover") })
- $("#tree-panel .menu a.lang")
- .live("click", function (event) {
- Panel.jsTree.show_lang(($(this).attr("href").replace(/.*?#/ig, "") - 1));
- $(this).clone().prependTo($(this).parent());
- $(this).remove();
- if(Panel.jsTree.selected) Panel.loadContent(Panel.jsTree.selected.attr("id"));
- event.preventDefault();
- event.stopPropagation();
- return false;
- });
-
- });
|