c3fe03e0a277750f655a9a33e117b44c298ba9d4
[redakcja.git] / redakcja / static / js / wiki_img / loader.js
1 if (!window.console) {
2     window.console = {
3         log: function(){
4         }
5     }
6 }
7
8 DEFAULT_PERSPECTIVE = "#MotifsPerspective";
9
10 $(function()
11 {
12         var tabs = $('ol#tabs li');
13         var gallery = null;
14         CurrentDocument = new $.wikiapi.WikiDocument("document-meta");
15
16         $.blockUI.defaults.baseZ = 10000;
17
18     function initialize()
19         {
20                 $(document).keydown(function(event) {
21                         console.log("Received key:", event);
22                 });
23
24                 /* The save button */
25         $('#save-button').click(function(event){
26             event.preventDefault();
27                         $.wiki.showDialog('#save_dialog');
28         });
29
30                 $('.editor').hide();
31
32                 /*
33                  * TABS
34                  */
35         $('.tabs li').live('click', function(event, callback) {
36             event.preventDefault();
37                         $.wiki.switchToTab(this);
38         });
39
40                 $('#tabs li > .tabclose').live('click', function(event, callback) {
41                         var $tab = $(this).parent();
42
43                         if($tab.is('.active'))
44                                 $.wiki.switchToTab(DEFAULT_PERSPECTIVE);
45
46                         var p = $.wiki.perspectiveForTab($tab);
47                         p.destroy();
48
49                         return false;
50         });
51
52
53         /*$(window).resize(function(){
54             $('iframe').height($(window).height() - $('#tabs').outerHeight() - $('#source-editor .toolbar').outerHeight());
55         });
56
57         $(window).resize();*/
58
59         /*$('.vsplitbar').toggle(
60                         function() {
61                                 $.wiki.state.perspectives.ScanGalleryPerspective.show = true;
62                                 $('#sidebar').show();
63                                 $('.vsplitbar').css('right', 480).addClass('active');
64                                 $('#editor .editor').css('right', 510);
65                                 $(window).resize();
66                                 $.wiki.perspectiveForTab('#tabs-right .active').onEnter();
67                         },
68                         function() {
69                             var active_right = $.wiki.perspectiveForTab('#tabs-right .active');
70                                 $.wiki.state.perspectives.ScanGalleryPerspective.show = false;
71                                 $('#sidebar').hide();
72                                 $('.vsplitbar').css('right', 0).removeClass('active');
73                                 $(".vsplitbar-title").html("↑ " + active_right.vsplitbar + " ↑");
74                                 $('#editor .editor').css('right', 30);
75                                 $(window).resize();
76                                 active_right.onExit();
77                         }
78                 );*/
79
80         window.onbeforeunload = function(e) {
81             if($.wiki.isDirty()) {
82                                 e.returnValue = "Na stronie mogą być nie zapisane zmiany.";
83                                 return "Na stronie mogą być nie zapisane zmiany.";
84                         };
85         };
86
87                 console.log("Fetching document's text");
88
89                 $(document).bind('wlapi_document_changed', function(event, doc) {
90                         try {
91                                 $('#document-revision').text(doc.revision);
92                         } catch(e) {
93                                 console.log("Failed handler", e);
94                         }
95                 });
96
97                 CurrentDocument.fetch({
98                         success: function(){
99                                 console.log("Fetch success");
100                                 $('#loading-overlay').fadeOut();
101                                 var active_tab = document.location.hash || DEFAULT_PERSPECTIVE;
102
103                                 console.log("Initial tab is:", active_tab)
104                                 $.wiki.switchToTab(active_tab);
105                         },
106                         failure: function() {
107                                 $('#loading-overlay').fadeOut();
108                                 alert("FAILURE");
109                         }
110                 });
111     }; /* end of initialize() */
112
113
114         /* Load configuration */
115         $.wiki.loadConfig();
116
117         var initAll = function(a, f) {
118                 if (a.length == 0) return f();
119
120                 $.wiki.initTab({
121                         tab: a.pop(),
122                         doc: CurrentDocument,
123                         callback: function(){
124                                 initAll(a, f);
125                         }
126                 });
127         };
128
129
130         /*
131          * Initialize all perspectives
132          */
133         initAll( $.makeArray($('.tabs li')), initialize);
134         console.log(location.hash);
135 });
136
137