X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/03c5ba6e50339d7bc470eb6d7f051483eff1e96b..24c1d259ba4af084959d70c6a1f355d0a57f1191:/platforma/static/js/wiki/main.js?ds=sidebyside diff --git a/platforma/static/js/wiki/main.js b/platforma/static/js/wiki/main.js index 270bc7cc..9693ce24 100644 --- a/platforma/static/js/wiki/main.js +++ b/platforma/static/js/wiki/main.js @@ -1,4 +1,3 @@ - if (!window.console) { window.console = { log: function(){ @@ -6,260 +5,34 @@ if (!window.console) { } } -THEMES = ['Alkohol', 'Ambicja', 'AnioÅ', 'Antysemityzm', 'Arkadia', 'Artysta', 'BezdomnoÅÄ', 'BezpieczeÅstwo', 'Bieda', 'Bijatyka', 'BÅazen', 'BÅÄ dzenie', 'BÅoto', 'Bogactwo', 'Bóg', 'Brat', 'Bunt', 'Buntownik', 'Burza', 'Car', 'Carpe diem', 'CiemnoÅÄ', 'CieÅ', 'Cisza', 'ChciwoÅÄ', 'Chleb', 'ChÅop', 'Choroba', 'Chrystus', 'Chrzest', 'CiaÅo', 'Cierpienie', 'Cmentarz', 'Cnota', 'Córka', 'Cud', 'Czarownika', 'Czary', 'Czas', 'Czyn', 'CzyÅciec', 'Dama', 'Danse macabre', 'Deszcz', 'DiabeÅ', 'Dobro', 'Dom', 'DorosÅoÅÄ', 'Drzewo', 'Duch', 'Dusza', 'Duma', 'Dworek', 'Dworzanin', 'Dwór', 'DzieciÅstwo', 'Dziecko', 'Dziedzictwo', 'Dziewictwo', 'DźwiÄk', 'Egzorcyzm', 'Elita', 'Emigrant', 'FaÅsz', 'Filozof', 'Fircyk', 'Flirt', 'GÅupiec', 'GÅupota', 'GÅód', 'Gospodarz', 'Gospodyni', 'GoÅÄ', 'Gotycyzm', 'Góra', 'Gra', 'Grób', 'Grzech', 'GrzecznoÅÄ', 'Gwiazda', 'Handel', 'HaÅba', 'Historia', 'Honor', 'Idealista', 'ImiÄ', 'Interes', 'JabÅka', 'Jedzenie', 'JesieÅ', 'Kaleka', 'Kara', 'Karczma', 'KlÄska', 'KÅamstwo', 'KÅótnia', 'Kobieta', 'Kobieta demoniczna', 'Kobieta "upadÅa"', 'Kochanek', 'Kochanek romantyczny', 'Kolonializm', 'Kondycja ludzka', 'Konflikt', 'Konflikt wewnÄtrzny', 'Koniec Åwiata', 'KoÅ', 'KorzyÅÄ', 'Kot', 'Kradzież', 'Krew', 'Król', 'Krzywda', 'KsiÄ dz', 'KsiÄ Å¼ka', 'KsiÄżyc', 'Kuchnia', 'Kuszenie', 'Kwiaty', 'Labirynt', 'Las', 'Lato', 'Lekarz', 'Lenistwo', 'List', 'Liberat', 'Los', 'Lud', 'Lustro', 'Åzy', 'MaÅżeÅstwo', 'Marzenie', 'Maska', 'Maszyna', 'Matka', 'Matka Boska', 'MÄ droÅÄ', 'MÄ Å¼', 'Melancholia', 'MÄdrzec', 'MÄżczyzna', 'Miasto', 'Mieszczanin', 'MiÅosierdzie', 'MiÅoÅÄ', 'MiÅoÅÄ niespeÅniona', 'MiÅoÅÄ platoniczna', 'MiÅoÅÄ romantyczna', 'MiÅoÅÄ silniejsza niż ÅmierÄ', 'MiÅoÅÄ speÅniona', 'MiÅoÅÄ tragiczna', 'Mizoginia', 'MÅodoÅÄ', 'Moda', 'Modlitwa', 'Morderstwo', 'Morze', 'Motyl', 'Mucha', 'Muzyka', 'Narodziny', 'Naród', 'Natura', 'Nauczyciel', 'Nauczycielka', 'Nauka', 'NiebezpieczeÅstwo', 'Niedziela', 'Niemiec', 'NienawiÅÄ', 'NieÅmiertelnoÅÄ', 'Niewola', 'Noc', 'Nuda', 'Obcy', 'ObÅok', 'ObowiÄ zek', 'Obraz Åwiata', 'ObrzÄdy', 'Obyczaje', 'Obywatel', 'Odrodzenie przez grób', 'Odwaga', 'Ofiara', 'OgieÅ', 'Ogród', 'Ojciec', 'Ojczyzna', 'Oko', 'OkrÄt', 'OkrucieÅstwo', 'Omen', 'Opieka', 'Organizm', 'OtchÅaÅ', 'PajÄ k', 'PamiÄÄ', 'Pan', 'Panna mÅoda', 'PaÅstwo', 'Patriota', 'PiekÅo', 'Pielgrzym', 'PieniÄ dz', 'Pies', 'PiÄtno', 'PijaÅstwo', 'Piwnica', 'Plotka', 'PobożnoÅÄ', 'PocaÅunek', 'Pochlebstwo', 'Poeta', 'Poetka', 'Poezja', 'Podróż', 'PodstÄp', 'Pogrzeb', 'Pojedynek', 'Pokora', 'Pokusa', 'Polak', 'Polityka', 'Polowanie', 'Polska', 'Portret', 'Porwanie', 'PoÅwiÄcenie', 'Potwór', 'Powstanie', 'Powstaniec', 'Pozory', 'Pozycja spoÅeczna', 'Pożar', 'PoÅ¼Ä danie', 'Praca', 'Praca u podstaw', 'Praca organiczna', 'Prawda', 'Prawnik', 'Prometeusz', 'Proroctwo', 'Prorok', 'PróżnoÅÄ', 'Przebranie', 'Przeczucie', 'Przedmurze chrzeÅcijaÅstwa', 'PrzekleÅstwo', 'Przekupstwo', 'Przemiana', 'Przemijanie', 'Przemoc', 'PrzestrzeÅ', 'PrzyjaźÅ', 'Przyroda nieożywiona', 'PrzysiÄga', 'Przywódca', 'Ptak', 'Pustynia', 'Pycha', 'Raj', 'Realista', 'Religia', 'Rewolucja', 'Robak', 'Robotnik', 'Rodzina', 'Rosja', 'Rosjanin', 'RoÅliny', 'Rozczarowanie', 'Rozpacz', 'Rozstanie', 'Rozum', 'Ruiny', 'Rycerz', 'Rzeka', 'Salon', 'Samobójstwo', 'Samolubstwo', 'Samotnik', 'SamotnoÅÄ', 'Sarmata', 'SÄ siad', 'SÄ d', 'SÄ d Ostateczny', 'Sen', 'Serce', 'SÄdzia', 'Sielanka', 'Sierota', 'SiÅa', 'Siostra', 'SÅawa', 'SÅoÅce', 'SÅowo', 'SÅuga', 'SÅużalczoÅÄ', 'SkÄ piec', 'Sobowtór', 'SpoÅecznik', 'Spowiedź', 'SprawiedliwoÅÄ', 'StaroÅÄ', 'Strach', 'Strój', 'Stworzenie', 'Sumienie', 'Swaty', 'Syberia', 'Syn', 'Syn marnotrawny', 'Syzyf', 'Szaleniec', 'SzaleÅstwo', 'Szantaż', 'Szatan', 'SzczÄÅcie', 'SzkoÅa', 'Szlachcic', 'Szpieg', 'Sztuka', 'Ålub', 'Åmiech', 'ÅmierÄ', 'ÅmierÄ bohaterska', 'Åpiew', 'ÅwiatÅo', 'ÅwiÄtoszek', 'ÅwiÄty', 'Åwit', 'Tajemnica', 'Taniec', 'Tchórzostwo', 'Teatr', 'Testament', 'TÄsknota', 'Theatrum mundi', 'TÅum', 'Trucizna', 'Trup', 'TwórczoÅÄ', 'UczeÅ', 'Uczta', 'Uroda', 'Umiarkowanie', 'Upadek', 'Upiór', 'UrzÄdnik', 'Vanitas', 'Walka', 'Walka klas', 'Wampir', 'Warszawa', 'WÄ Å¼', 'Wdowa', 'Wdowiec', 'Wesele', 'Wiatr', 'WiernoÅÄ', 'Wierzenia', 'WieÅ', 'Wiedza', 'Wieża Babel', 'WiÄzienie', 'WiÄzieÅ', 'Wina', 'Wino', 'Wiosna', 'Wizja', 'WÅadza', 'WÅasnoÅÄ', 'Woda', 'Wojna', 'Wojna pokoleÅ', 'WolnoÅÄ', 'Wróg', 'Wspomnienia', 'WspóÅpraca', 'Wygnanie', 'Wyrzuty sumienia', 'Wyspa', 'Wzrok', 'Zabawa', 'Zabobony', 'Zamek', 'ZarÄczyny', 'ZaÅwiaty', 'ZazdroÅÄ', 'Zbawienie', 'Zbrodnia', 'Zbrodniarz', 'Zdrada', 'Zdrowie', 'Zemsta', 'ZesÅaniec', 'Ziarno', 'Ziemia', 'Zima', 'ZÅo', 'ZÅodziej', 'ZÅoty wiek', 'Zmartwychwstanie', 'ZwÄ tpienie', 'ZwierzÄta', 'ZwyciÄstwo', 'Å»aÅoba', 'Å»ebrak', 'Å»oÅnierz', 'Å»ona', 'Å»ycie jako wÄdrówka', 'Å»ycie snem', 'Å»yd', 'Å»ywioÅy', 'OÅwiadczyny'] +var DEFAULT_PERSPECTIVE = "#SummaryPerspective"; -function gallery(element, url){ - var element = $(element); - var imageDimensions = {}; - element.data('images', []); - - function changePage(pageNumber){ - $('.gallery-image img', element).attr('src', element.data('images')[pageNumber - 1]); - } - - function normalizeNumber(pageNumber){ - // Numer strony musi byÄ pomiÄdzy 1 a najwyższym numerem - var pageCount = element.data('images').length; - pageNumber = parseInt(pageNumber, 10); - - if (!pageNumber || pageNumber == NaN || pageNumber == Infinity || pageNumber == -Infinity) { - return 1; - } - else - if (pageNumber < 1) { - return 1; - } - else - if (pageNumber > pageCount) { - return pageCount; - } - else { - return pageNumber; - } - } - - var pn = $('.page-number', element); - pn.change(function(event){ - event.preventDefault(); - var n = normalizeNumber(pn.val()); - pn.val(n); - changePage(n); - }); - $('.previous-page', element).click(function(){ - pn.val(normalizeNumber(pn.val()) - 1); - pn.change(); - }); - $('.next-page', element).click(function(){ - pn.val(normalizeNumber(pn.val()) + 1); - pn.change(); - }); - - - var image = $('.gallery-image img', element).attr('unselectable', 'on'); - var origin = {}; - var imageOrigin = {}; - var zoomFactor = 1; - - $('.zoom-in', element).click(function(){ - zoomFactor = Math.min(2, zoomFactor + 0.2); - zoom(); - }); - $('.zoom-out', element).click(function(){ - zoomFactor = Math.max(0.2, zoomFactor - 0.2); - zoom(); - }); - $('.change-gallery', element).click(function(){ - $('.chosen-gallery').val($('#document-meta .gallery').html() || '/platforma/gallery/'); - $('.gallery-image').animate({ - top: 60 - }, 200); - $('.chosen-gallery').focus(); - }); - $('.change-gallery-ok', element).click(function(){ - if ($('#document-meta .gallery').length == 0) { - $('
').appendTo('#document-meta'); - } - $('#document-meta .gallery').html($('.chosen-gallery').val()); - updateGallery($('.chosen-gallery').val()); - $('.gallery-image').animate({ - top: 30 - }, 200); - }); - $('.change-gallery-cancel', element).click(function(){ - $('.gallery-image').animate({ - top: 30 - }, 200); - }); - - $('.gallery-image img', element).load(function(){ - image.css({ - width: null, - height: null - }); - imageDimensions = { - width: $(this).width() * zoomFactor, - height: $(this).height() * zoomFactor, - originWidth: $(this).width(), - originHeight: $(this).height(), - galleryWidth: $(this).parent().width(), - galleryHeight: $(this).parent().height() - }; - - if (!(imageDimensions.width && imageDimensions.height)) { - setTimeout(function(){ - $('.gallery-image img', element).load(); - }, 100); - } - var position = normalizePosition(image.position().left, image.position().top, imageDimensions.galleryWidth, imageDimensions.galleryHeight, imageDimensions.width, imageDimensions.height); - image.css({ - left: position.x, - top: position.y, - width: $(this).width() * zoomFactor, - height: $(this).height() * zoomFactor - }); - }); - - $(window).resize(function(){ - imageDimensions.galleryWidth = image.parent().width(); - imageDimensions.galleryHeight = image.parent().height(); - }); - - function bounds(galleryWidth, galleryHeight, imageWidth, imageHeight){ - return { - maxX: 0, - maxY: 0, - minX: galleryWidth - imageWidth, - minY: galleryHeight - imageHeight - } - } - - function normalizePosition(x, y, galleryWidth, galleryHeight, imageWidth, imageHeight){ - var b = bounds(galleryWidth, galleryHeight, imageWidth, imageHeight); - return { - x: Math.min(b.maxX, Math.max(b.minX, x)), - y: Math.min(b.maxY, Math.max(b.minY, y)) - } - } - - function onMouseMove(event){ - var position = normalizePosition(event.clientX - origin.x + imageOrigin.left, event.clientY - origin.y + imageOrigin.top, imageDimensions.galleryWidth, imageDimensions.galleryHeight, imageDimensions.width, imageDimensions.height); - image.css({ - position: 'absolute', - top: position.y, - left: position.x - }); - return false; - } - - function setZoom(factor){ - zoomFactor = factor; - } - - function zoom(){ - imageDimensions.width = imageDimensions.originWidth * zoomFactor; - imageDimensions.height = imageDimensions.originHeight * zoomFactor; - var position = normalizePosition(image.position().left, image.position().top, imageDimensions.galleryWidth, imageDimensions.galleryHeight, imageDimensions.width, imageDimensions.height); - image.css({ - width: imageDimensions.width, - height: imageDimensions.height, - left: position.x, - top: position.y - }); - - } - - function onMouseUp(event){ - $(document).unbind('mousemove.gallery').unbind('mouseup.gallery'); - return false; - } - - image.bind('mousedown', function(event){ - origin = { - x: event.clientX, - y: event.clientY - }; - imageOrigin = image.position(); - $(document).bind('mousemove.gallery', onMouseMove).bind('mouseup.gallery', onMouseUp); - return false; - }); - - function updateGallery(url){ - $.ajax({ - url: url, - type: 'GET', - dataType: 'json', - - success: function(data){ - element.data('images', data); - pn.val(1); - pn.change(); - $('.gallery-image img', element).show(); - }, - - error: function(data){ - element.data('images', []); - pn.val(1); - pn.change(); - $('.gallery-image img', element).hide(); - } - }); - } - - if (url) { - updateGallery(url); - } -} +THEMES = [ + 'Alkohol', 'Ambicja', 'AnioÅ', 'Antysemityzm', 'Arkadia', 'Artysta', 'BezdomnoÅÄ', 'BezpieczeÅstwo', 'Bieda', 'Bijatyka', 'BÅazen', 'BÅÄ dzenie', 'BÅoto', 'Bogactwo', 'Bóg', 'Brat', 'Bunt', 'Buntownik', 'Burza', 'Car', 'Carpe diem', 'CiemnoÅÄ', 'CieÅ', 'Cisza', 'ChciwoÅÄ', 'Chleb', 'ChÅop', 'Choroba', 'Chrystus', 'Chrzest', 'CiaÅo', 'Cierpienie', 'Cmentarz', 'Cnota', 'Córka', 'Cud', 'Czarownika', 'Czary', 'Czas', 'Czyn', 'CzyÅciec', 'Dama', 'Danse macabre', 'Deszcz', 'DiabeÅ', 'Dobro', 'Dom', 'DorosÅoÅÄ', 'Drzewo', 'Duch', 'Dusza', 'Duma', 'Dworek', 'Dworzanin', 'Dwór', 'DzieciÅstwo', 'Dziecko', 'Dziedzictwo', 'Dziewictwo', 'DźwiÄk', 'Egzorcyzm', 'Elita', 'Emigrant', 'FaÅsz', 'Filozof', 'Fircyk', 'Flirt', 'GÅupiec', 'GÅupota', 'GÅód', 'Gospodarz', 'Gospodyni', 'GoÅÄ', 'Gotycyzm', 'Góra', 'Gra', 'Grób', 'Grzech', 'GrzecznoÅÄ', 'Gwiazda', 'Handel', 'HaÅba', 'Historia', 'Honor', 'Idealista', 'ImiÄ', 'Interes', 'JabÅka', 'Jedzenie', 'JesieÅ', 'Kaleka', 'Kara', 'Karczma', 'KlÄska', 'KÅamstwo', 'KÅótnia', 'Kobieta', 'Kobieta demoniczna', 'Kobieta "upadÅa"', 'Kochanek', 'Kochanek romantyczny', 'Kolonializm', 'Kondycja ludzka', 'Konflikt', 'Konflikt wewnÄtrzny', 'Koniec Åwiata', 'KoÅ', 'KorzyÅÄ', 'Kot', 'Kradzież', 'Krew', 'Król', 'Krzywda', 'KsiÄ dz', 'KsiÄ Å¼ka', 'KsiÄżyc', 'Kuchnia', 'Kuszenie', 'Kwiaty', 'Labirynt', 'Las', 'Lato', 'Lekarz', 'Lenistwo', 'List', 'Liberat', 'Los', 'Lud', 'Lustro', 'Åzy', 'MaÅżeÅstwo', 'Marzenie', 'Maska', 'Maszyna', 'Matka', 'Matka Boska', 'MÄ droÅÄ', 'MÄ Å¼', 'Melancholia', 'MÄdrzec', 'MÄżczyzna', 'Miasto', 'Mieszczanin', 'MiÅosierdzie', 'MiÅoÅÄ', 'MiÅoÅÄ niespeÅniona', 'MiÅoÅÄ platoniczna', 'MiÅoÅÄ romantyczna', 'MiÅoÅÄ silniejsza niż ÅmierÄ', 'MiÅoÅÄ speÅniona', 'MiÅoÅÄ tragiczna', 'Mizoginia', 'MÅodoÅÄ', 'Moda', 'Modlitwa', 'Morderstwo', 'Morze', 'Motyl', 'Mucha', 'Muzyka', 'Narodziny', 'Naród', 'Natura', 'Nauczyciel', 'Nauczycielka', 'Nauka', 'NiebezpieczeÅstwo', 'Niedziela', 'Niemiec', 'NienawiÅÄ', 'NieÅmiertelnoÅÄ', 'Niewola', 'Noc', 'Nuda', 'Obcy', 'ObÅok', 'ObowiÄ zek', 'Obraz Åwiata', 'ObrzÄdy', 'Obyczaje', 'Obywatel', 'Odrodzenie przez grób', 'Odwaga', 'Ofiara', 'OgieÅ', 'Ogród', 'Ojciec', 'Ojczyzna', 'Oko', 'OkrÄt', 'OkrucieÅstwo', 'Omen', 'Opieka', 'Organizm', 'OtchÅaÅ', 'PajÄ k', 'PamiÄÄ', 'Pan', 'Panna mÅoda', 'PaÅstwo', 'Patriota', 'PiekÅo', 'Pielgrzym', 'PieniÄ dz', 'Pies', 'PiÄtno', 'PijaÅstwo', 'Piwnica', 'Plotka', 'PobożnoÅÄ', 'PocaÅunek', 'Pochlebstwo', 'Poeta', 'Poetka', 'Poezja', 'Podróż', 'PodstÄp', 'Pogrzeb', 'Pojedynek', 'Pokora', 'Pokusa', 'Polak', 'Polityka', 'Polowanie', 'Polska', 'Portret', 'Porwanie', 'PoÅwiÄcenie', 'Potwór', 'Powstanie', 'Powstaniec', 'Pozory', 'Pozycja spoÅeczna', 'Pożar', 'PoÅ¼Ä danie', 'Praca', 'Praca u podstaw', 'Praca organiczna', 'Prawda', 'Prawnik', 'Prometeusz', 'Proroctwo', 'Prorok', 'PróżnoÅÄ', 'Przebranie', 'Przeczucie', 'Przedmurze chrzeÅcijaÅstwa', 'PrzekleÅstwo', 'Przekupstwo', 'Przemiana', 'Przemijanie', 'Przemoc', 'PrzestrzeÅ', 'PrzyjaźÅ', 'Przyroda nieożywiona', 'PrzysiÄga', 'Przywódca', 'Ptak', 'Pustynia', 'Pycha', 'Raj', 'Realista', 'Religia', 'Rewolucja', 'Robak', 'Robotnik', 'Rodzina', 'Rosja', 'Rosjanin', 'RoÅliny', 'Rozczarowanie', 'Rozpacz', 'Rozstanie', 'Rozum', 'Ruiny', 'Rycerz', 'Rzeka', 'Salon', 'Samobójstwo', 'Samolubstwo', 'Samotnik', 'SamotnoÅÄ', 'Sarmata', 'SÄ siad', 'SÄ d', 'SÄ d Ostateczny', 'Sen', 'Serce', 'SÄdzia', 'Sielanka', 'Sierota', 'SiÅa', 'Siostra', 'SÅawa', 'SÅoÅce', 'SÅowo', 'SÅuga', 'SÅużalczoÅÄ', 'SkÄ piec', 'Sobowtór', 'SpoÅecznik', 'Spowiedź', 'SprawiedliwoÅÄ', 'StaroÅÄ', 'Strach', 'Strój', 'Stworzenie', 'Sumienie', 'Swaty', 'Syberia', 'Syn', 'Syn marnotrawny', 'Syzyf', 'Szaleniec', 'SzaleÅstwo', 'Szantaż', 'Szatan', 'SzczÄÅcie', 'SzkoÅa', 'Szlachcic', 'Szpieg', 'Sztuka', 'Ålub', 'Åmiech', 'ÅmierÄ', 'ÅmierÄ bohaterska', 'Åpiew', 'ÅwiatÅo', 'ÅwiÄtoszek', 'ÅwiÄty', 'Åwit', 'Tajemnica', 'Taniec', 'Tchórzostwo', 'Teatr', 'Testament', 'TÄsknota', 'Theatrum mundi', 'TÅum', 'Trucizna', 'Trup', 'TwórczoÅÄ', 'UczeÅ', 'Uczta', 'Uroda', 'Umiarkowanie', 'Upadek', 'Upiór', 'UrzÄdnik', 'Vanitas', 'Walka', 'Walka klas', 'Wampir', 'Warszawa', 'WÄ Å¼', 'Wdowa', 'Wdowiec', 'Wesele', 'Wiatr', 'WiernoÅÄ', 'Wierzenia', 'WieÅ', 'Wiedza', 'Wieża Babel', 'WiÄzienie', 'WiÄzieÅ', 'Wina', 'Wino', 'Wiosna', 'Wizja', 'WÅadza', 'WÅasnoÅÄ', 'Woda', 'Wojna', 'Wojna pokoleÅ', 'WolnoÅÄ', 'Wróg', 'Wspomnienia', 'WspóÅpraca', 'Wygnanie', 'Wyrzuty sumienia', 'Wyspa', 'Wzrok', 'Zabawa', 'Zabobony', 'Zamek', 'ZarÄczyny', 'ZaÅwiaty', 'ZazdroÅÄ', 'Zbawienie', 'Zbrodnia', 'Zbrodniarz', 'Zdrada', 'Zdrowie', 'Zemsta', 'ZesÅaniec', 'Ziarno', 'Ziemia', 'Zima', 'ZÅo', 'ZÅodziej', 'ZÅoty wiek', 'Zmartwychwstanie', 'ZwÄ tpienie', 'ZwierzÄta', 'ZwyciÄstwo', 'Å»aÅoba', 'Å»ebrak', 'Å»oÅnierz', 'Å»ona', 'Å»ycie jako wÄdrówka', 'Å»ycie snem', 'Å»yd', 'Å»ywioÅy', 'OÅwiadczyny' +]; -$(function() { - // gallery('#sidebar', $('#document-meta .gallery').html()); - +$(function() +{ var tabs = $('ol#tabs li'); - var perspectives = {}; - var wikidoc = new $.wikiapi.WikiDocument("document-meta"); - - function activePerspective() { - return perspectives[$("#tabs " + document.location.hash + "-tab").attr('data-ui-jsclass')]; - }; - + var gallery = null; + CurrentDocument = new $.wikiapi.WikiDocument("document-meta"); + + $.blockUI.defaults.baseZ = 10000; + function initialize() { + gallery = new $.wiki.ScanGalleryPerspective({ + doc: CurrentDocument + }); + + $(document).keydown(function(event) { + console.log("Received key:", event); + }); + /* The save button */ $('#save-button').click(function(event){ event.preventDefault(); - $.blockUI({ - message: $('#save-dialog') - }); - }); - - $('#save-ok').click(function(){ - $.blockUI({ - message: 'Zapisywanie...' - }); - - var ap = activePerspective(); - - /* exit perspective */ - ap.onExit(); - - function finalize() { - ap.onEnter(); - $.unblockUI(); - }; - - wikidoc.save( $("#komentarz").text(), - function(doc, changed) { - console.log("Saved."); - finalize(); - }, - function(doc, message) { - alert(message); - finalize(); - } - ); - }); - - $('#save-cancel').click(function(){ - $.unblockUI(); + $.wiki.showDialog('#save_dialog'); }); $('.editor').hide(); @@ -267,20 +40,20 @@ $(function() { /* * TABS */ - tabs.click(function(event, callback) { - /* hide old */ - var $old = tabs.filter('.active'); - - $old.each(function(){ - $(this).removeClass('active'); - $('#' + $(this).attr('data-ui-related')).hide(); - perspectives[$(this).attr('data-ui-jsclass')].onExit(); - }); + $('#tabs li').live('click', function(event, callback) { + $.wiki.switchToTab(this); + }); + + $('#tabs li > .tabclose').live('click', function(event, callback) { + var $tab = $(this).parent(); + + if($tab.is('.active')) + $.wiki.switchToTab(DEFAULT_PERSPECTIVE); + + var p = $.wiki.perspectiveForTab($tab); + p.destroy(); - /* show new */ - $(this).addClass('active'); - $('#' + $(this).attr('data-ui-related')).show(); - perspectives[$(this).attr('data-ui-jsclass')].onEnter(); + return false; }); @@ -290,42 +63,46 @@ $(function() { $(window).resize(); - $('.vsplitbar').click(function(){ - if ($('#sidebar').width() == 0) { - $('#sidebar').width(480).css({ - right: 0 - }).show(); - $('#editor .editor').css({ - right: 495 - }); - $('.vsplitbar').css({ - right: 480 - }).addClass('active'); - } - else { - $('#sidebar').width(0).hide(); - $('#editor .editor').css({ - right: 15 - }); - $('.vsplitbar').css({ - right: 0 - }).removeClass('active'); - } - $(window).resize(); - }); + $('.vsplitbar').toggle( + function() { + $('#side-gallery').show(); + $('.vsplitbar').css('right', 480).addClass('.active'); + $('#editor .editor').css('right', 510); + $(window).resize(); + gallery.onEnter(); + }, + function() { + $('#side-gallery').hide(); + $('.vsplitbar').css('right', 0).removeClass('active'); + $('#editor .editor').css('right', 30); + $(window).resize(); + gallery.onExit(); + } + ); - $(window).bind('beforeunload', function(event){ - return "Na stronie mogÄ byÄ zmiany."; - }); + window.onbeforeunload = function(e) { + if($.wiki.isDirty()) { + e.returnValue = "Na stronie mogÄ byÄ nie zapisane zmiany."; + return "Na stronie mogÄ byÄ nie zapisane zmiany."; + }; + }; + + console.log("Fetching document's text"); - console.log("prepare for fetch"); + $(document).bind('wlapi_document_changed', function(event, doc) { + try { + $('#document-revision').text(doc.revision); + } catch(e) { + console.log("Failed handler", e); + } + }); - wikidoc.fetch({ + CurrentDocument.fetch({ success: function(){ console.log("Fetch success"); $('#loading-overlay').fadeOut(); - var active_tab = document.location.hash || "#VisualPerspective"; - var $active = $("#tabs " + active_tab + "-tab"); + var active_tab = document.location.hash || DEFAULT_PERSPECTIVE; + var $active = $("#tabs " + active_tab); $active.trigger("click"); }, @@ -334,28 +111,25 @@ $(function() { alert("FAILURE"); } }); - + + $(window).resize(); }; /* end of initialize() */ var initAll = function(a, f) { if (a.length == 0) return f(); - - var klass = a.pop(); - console.log("INIT", klass); - var p = new $.wiki[klass](wikidoc, function() { - perspectives[this.perspective_id] = this; - initAll(a, f); - }); - + + $.wiki.initTab({ + tab: a.pop(), + doc: CurrentDocument, + callback: function(){ + initAll(a, f); + } + }); }; /* * Initialize all perspectives */ - initAll($.makeArray( $('ol#tabs li').map(function(){ - return $(this).attr('data-ui-jsclass'); - })), initialize); - - console.log(location.hash); - + initAll( $.makeArray($('ol#tabs li')), initialize); + console.log(location.hash); });