var DEFAULT_PERSPECTIVE = "#VisualPerspective";
-$(function()
-{
- var tabs = $('ol#tabs li');
- var gallery = null;
- CurrentDocument = new $.wikiapi.WikiDocument("document-meta");
+$(function() {
+ var tabs = $('ol#tabs li');
+ var gallery = null;
+ var MIN_SIDEBAR_WIDTH = 50,
+ DEFAULT_SIDEBAR_WIDTH = 480;
- $.blockUI.defaults.baseZ = 10000;
+ CurrentDocument = new $.wikiapi.WikiDocument("document-meta");
- function initialize()
- {
+ $.blockUI.defaults.baseZ = 10000;
+
+ function initialize() {
var splitter = $('#splitter'),
- editors = $('#editor .editor'),
- vsplitbar = $('.vsplitbar'),
+ vsplitbar = $('#vsplitbar'),
sidebar = $('#sidebar'),
dragLayer = $('#drag-layer'),
vsplitbarWidth = vsplitbar.outerWidth(),
isHolding = false;
- // Moves panes so that left border of the vsplitbar lands x pixels from the left border of the splitter
- function setSplitbarAt(x) {
- var right = splitterWidth - x;
- editors.each(function() {
- this.style.right = right + 'px';
- });
- vsplitbar[0].style.right = sidebar[0].style.width = (right - vsplitbarWidth) + 'px';
+ function setSidebarWidth(x) {
+ if (x < MIN_SIDEBAR_WIDTH) {
+ x = 0;
+ vsplitbar.removeClass('active');
+ } else {
+ vsplitbar.addClass('active');
+ }
+ $.wiki.state.perspectives.ScanGalleryPerspective.width = x;
+ sidebar[0].style.width = x + 'px';
};
- $(document).keydown(function(event) {
- console.log("Received key:", event);
- });
-
- /* The save button */
+ /* The save button */
$('#save-button').click(function(event){
event.preventDefault();
- $.wiki.showDialog('#save_dialog');
+ $.wiki.showDialog('#save_dialog');
});
- $('.editor').hide();
+ $('.editor').hide();
- /*
- * TABS
- */
- $('.tabs li').live('click', function(event, callback) {
+ /*
+ * TABS
+ */
+ $(document).on('click', '.tabs li', function(event, callback) {
event.preventDefault();
- $.wiki.switchToTab(this);
+ $.wiki.switchToTab(this);
});
- $('#tabs li > .tabclose').live('click', function(event, callback) {
- var $tab = $(this).parent();
+ $(document).on('click', '#tabs li .tabclose', function(event, callback) {
+ var $tab = $(this).parent().parent();
- if($tab.is('.active'))
- $.wiki.switchToTab(DEFAULT_PERSPECTIVE);
+ if($('a', $tab).is('.active'))
+ $.wiki.switchToTab(DEFAULT_PERSPECTIVE);
- var p = $.wiki.perspectiveForTab($tab);
- p.destroy();
+ var p = $.wiki.perspectiveForTab($tab);
+ p.destroy();
- return false;
+ return false;
});
-
$(window).resize(function(){
- $('iframe').height($(window).height() - $('#tabs').outerHeight() - $('#source-editor .toolbar').outerHeight());
splitterWidth = splitter.width();
});
$(window).resize();
-
- vsplitbar.toggle(
- function() {
- $.wiki.state.perspectives.ScanGalleryPerspective.show = true;
- setSplitbarAt(splitterWidth - (480 + vsplitbarWidth));
- $('.vsplitbar').addClass('active');
- $(window).resize();
- $.wiki.perspectiveForTab('#tabs-right .active').onEnter();
- },
- function() {
- var active_right = $.wiki.perspectiveForTab('#tabs-right .active');
- $.wiki.state.perspectives.ScanGalleryPerspective.show = false;
- $(".vsplitbar-title").html("↑ " + active_right.vsplitbar + " ↑");
- setSplitbarAt(splitterWidth - vsplitbarWidth);
- $('.vsplitbar').removeClass('active');
- $(window).resize();
- active_right.onExit();
- }
- );
-
+ $.wiki.perspectiveForTab($('#tabs-right .active').parent()).onEnter();
+
+ vsplitbar.on('click', function() {
+ var $this = $(this);
+ if ($this.hasClass('active')) {
+ $.wiki.state.perspectives.ScanGalleryPerspective.lastWidth = sidebar.width();
+ setSidebarWidth(0);
+ } else {
+ setSidebarWidth($.wiki.state.perspectives.ScanGalleryPerspective.lastWidth);
+ }
+ });
/* Splitbar dragging support */
vsplitbar
.mousedown(function(e) {
e.preventDefault();
isHolding = true;
+ if (sidebar.width() > MIN_SIDEBAR_WIDTH) {
+ $.wiki.state.perspectives.ScanGalleryPerspective.lastWidth = sidebar.width();
+ }
})
.mousemove(function(e) {
if(isHolding) {
}
});
dragLayer.mousemove(function(e) {
- setSplitbarAt(e.clientX - vsplitbarWidth/2);
+ setSidebarWidth(splitterWidth - e.clientX - vsplitbarWidth / 2);
});
$('body').mouseup(function(e) {
dragLayer.hide();
isHolding = false;
});
+ setSidebarWidth($.wiki.state.perspectives.ScanGalleryPerspective.width);
- if($.wiki.state.perspectives.ScanGalleryPerspective.show){
- $('.vsplitbar').trigger('click');
- $(".vsplitbar-title").html("↓ GALERIA ↓");
- } else {
- $(".vsplitbar-title").html("↑ GALERIA ↑");
- }
window.onbeforeunload = function(e) {
if($.wiki.isDirty()) {
- e.returnValue = "Na stronie mogą być nie zapisane zmiany.";
- return "Na stronie mogą być nie zapisane zmiany.";
- };
+ e.returnValue = "Na stronie mogą być nie zapisane zmiany.";
+ return "Na stronie mogą być nie zapisane zmiany.";
+ };
};
- console.log("Fetching document's text");
+ $('body').mousemove(function(e) {
+ CurrentDocument.active = new Date();
+ });
+ $('body').keydown(function(e) {
+ CurrentDocument.active = new Date();
+ });
- $(document).bind('wlapi_document_changed', function(event, doc) {
- try {
- $('#document-revision').text(doc.revision);
- } catch(e) {
- console.log("Failed handler", e);
- }
- });
+ console.log("Fetching document's text");
+
+ $(document).bind('wlapi_document_changed', function(event, doc) {
+ try {
+ $('#document-revision').text(doc.revision);
+ } catch(e) {
+ console.log("Failed handler", e);
+ }
+ });
- CurrentDocument.fetch({
- success: function(){
- console.log("Fetch success");
- $('#loading-overlay').fadeOut();
- var active_tab = document.location.hash || DEFAULT_PERSPECTIVE;
+ CurrentDocument.fetch({
+ success: function(){
+ console.log("Fetch success");
+ $('#loading-overlay').fadeOut();
+ var active_tab = document.location.hash || DEFAULT_PERSPECTIVE;
- if(active_tab == "#ScanGalleryPerspective")
- active_tab = DEFAULT_PERSPECTIVE;
+ if(active_tab == "#ScanGalleryPerspective")
+ active_tab = DEFAULT_PERSPECTIVE;
- console.log("Initial tab is:", active_tab)
- $.wiki.switchToTab(active_tab);
+ console.log("Initial tab is:", active_tab)
+ $.wiki.switchToTab(active_tab);
- /* every 5 minutes check for a newer version */
+ /* check for a newer version */
+ CurrentDocument.checkRevision({outdated: function(){
+ $('#header').addClass('out-of-date');
+ }});
var revTimer = setInterval(function() {
- CurrentDocument.checkRevision({outdated: function(){
- $('#header').addClass('out-of-date');
- clearInterval(revTimer);
- }});
- }, 300000);
- },
- failure: function() {
- $('#loading-overlay').fadeOut();
- alert("FAILURE");
- }
- });
+ CurrentDocument.checkRevision({outdated: function(){
+ $('#header').addClass('out-of-date');
+ }});
+ }, 5 * 1000);
+ },
+ failure: function() {
+ $('#loading-overlay').fadeOut();
+ alert("FAILURE");
+ }
+ });
}; /* end of initialize() */
- /* Load configuration */
- $.wiki.loadConfig();
-
- var initAll = function(a, f) {
- if (a.length == 0) return f();
-
- $.wiki.initTab({
- tab: a.pop(),
- doc: CurrentDocument,
- callback: function(){
- initAll(a, f);
- }
- });
- };
-
+ /* Load configuration */
+ $.wiki.loadConfig();
- /*
- * Initialize all perspectives
- */
- initAll( $.makeArray($('.tabs li')), initialize);
- console.log(location.hash);
+ /*
+ * Initialize all perspectives
+ */
+ $('.tabs li').each((i, e) => {
+ $.wiki.initTab({tab: e, doc: CurrentDocument});
+ });
+ initialize();
});