From: Łukasz Rekucki Date: Tue, 15 Sep 2009 15:13:59 +0000 (+0200) Subject: * Poprawki w redmine. X-Git-Url: https://git.mdrn.pl/redakcja.git/commitdiff_plain/fef7f24f34c07be9d9aff6db434e997f9a1f3451 * Poprawki w redmine. * Lepsza autokorekta. refs #127 * Support dla kropek w id pliku. --- diff --git a/apps/explorer/fixtures/przyciski.xml b/apps/explorer/fixtures/przyciski.xml deleted file mode 100755 index afa1deb2..00000000 --- a/apps/explorer/fixtures/przyciski.xml +++ /dev/null @@ -1,1228 +0,0 @@ - - - - Dodatkowe przyciski w XMLEditor - xmleditor-extra-buttons - -1 - - - HTMLEditor Extra - htmleditor-extra - -1 - - - Akapity i długie cytaty - akapity-i-dlugie-cytaty - 0 - - - Autokorekta - autokorekta - 0 - - - Bloki - bloki - 0 - - - Dramat wierszowany - dramat-wierszowany - 0 - - - Dramat współczesny - dramat-wspolczesny - 0 - - - Elementy początkowe - elementy-poczatkowe - 0 - - - Nagłówki - naglowki - 0 - - - Początek dramatu - poczatek-dramatu - 0 - - - Polecenia - polecenia - 0 - - - Strukturalne - strukturalne - 0 - - - Style znakowe - style-znakowe - 0 - - - Wersy - wersy - 0 - - - A<sup>+</sup> - increase_font_size - {"change": 2} - codemirror_fontsize - - - 0 - Zwiększ rozmiar czcionki. - - - - - - A<sup>-</sup> - descrease_font_size - {"change": -2} - codemirror_fontsize - - - 0 - Zmniejsz rozmiar czcionki. - - - - - - A<sup>=</sup> - reset_font_size - {"fontSize": 13} - codemirror_fontsize - - - 0 - Przywróć orginalny rozmiar czcionki. - - - - - - A<sup>↓</sup> - tolowercase - [] - lowercase - - u - 6 - Zamień wielkie litery na małe. - - - - - - Podstawowa - basic_correction - {"exprs": [["\n\\d+\n", "\n"], ["-\\s*\n+", ""], ["\\,\\.\\.|\\.\\,\\.|\\.\\.\\,", "..."]]} - fulltextregexp - - - 0 - Wykonuję operację z novel-pages i poem-pages. - - - - - - Usuń spację - strip_whitespace - {"exprs": [["^\\s+|\\s+$", ""], ["\\s+", " "]]} - lineregexp - - - 0 - Usuwa zbędne spację z dokumentu. - - - - - - Wers wcięty - wers-wciety - {"tag": "wers_wciety", "attrs": {"typ": ""}} - insert_tag - - - 0 - - - - - - - - Wydrukuj - print-xml - [] - - - - print/xml - - 0 - - - - - - - Wydrukuj - htmleditor-print - [] - - - - print/html - - 0 - - - - - - - Wydziel - split-text-from-xmleditor - [] - show_splitmodal - - - 0 - - - - - - - Zamień cudzysłowy - zamien-cudzyslowy - {"exprs": [["\u00bb|\u201e", ",,"], ["\u00ab", "\""], ["\"([\u0104\u0118\u00d3\u0141\u017b\u0179\u0106\u0143\u0105\u017c\u017a\u015b\u0144\u00f3\u0142\u0107\\w])", ",,$1"]]} - lineregexp - - - 0 - - - - - - - Zamień dywiz - zamien_dywiz - {"exprs": [["(\\d)[\u2014-](\\d)", "$1--$2"], ["\u2014", "---"]]} - lineregexp - - - 0 - Zamienia '—' na '---', oraz '1—2' na '1--2'. - - - - - - akapit - akapit - {"tag": "akap"} - insert_tag - - - 0 - - - - - - - akapit cd. - akapit-cd - {"tag": "akap_cd"} - insert_tag - - - 0 - - - - - - - akapit dialogowy - akapit-dialogowy - {"tag": "akap_dialog"} - insert_tag - - - 0 - - - - - - - akt - akt - {"tag": "akt"} - insert_tag - - - 0 - - - - - - - autor - autor - {"tag": "autor"} - insert_tag - - - 0 - - - - - - - część/księga - czesc - {"tag": "naglowek_czesc"} - insert_tag - - - 0 - - - - - - - dedykacja - dedykacja - {"tag": "dedykacja"} - insert_tag - - - 0 - - - - - - - - didaskalia - didaskalia - {"tag": "didaskalia"} - insert_tag - - - 0 - - - - - - - - didaskalia początkowe - didaskalia-poczatkowe - {"tag": "miejsce_czas"} - insert_tag - - - 0 - - - - - - - didaskalia wewn. - didaskalia-wewn - {"tag": "didask_tekst"} - insert_tag - - - 0 - - - - - - - - dramat wiersz. - dramat-wiersz - {"tag": "dramat_wierszowany_l"} - insert_tag - - - 0 - - - - - - - dramat wiersz./w. łam - dramat-wiersz-w-lam - {"tag": "dramat_wierszowany_lp"} - insert_tag - - - 0 - - - - - - - dramat współczesny - dramat-wspolczesny - {"tag": "dramat_wspolczesny"} - insert_tag - - - 0 - - - - - - - dzieło nadrzędne - dzielo-nadrzedne - {"tag": "dzielo_nadrzedne"} - insert_tag - - - 0 - - - - - - - długi cyt. poet. - dlugi-cyt-poet - {"tag": "poezja_cyt"} - insert_tag - - - 0 - - - - - - - - długi cytat - dlugi-cytat - {"tag": "dlugi_cyt"} - insert_tag - - - 0 - - - - - - - - ekstra - ekstra - {"tag": "ekstra"} - insert_tag - - - 0 - - - - - - - kwestia - kwestia - {"tag": "kwestia"} - insert_tag - - - 0 - - - - - - - - liryka - liryka - {"tag": "liryka_l"} - insert_tag - - - 0 - - - - - - - liryka/w. łam - liryka-w-lam - {"tag": "liryka_lp"} - insert_tag - - - 0 - - - - - - - lista osób: pole - lista-osob-pole - {"tag": "lista_osoba", "attrs": {"typ": ""}} - insert_tag - - - 0 - - - - - - - mamtemat. - matemat - {"tag": "mat"} - insert_tag - - - 0 - - - - - - - motto - motto - {"tag": "motto"} - insert_tag - - - 0 - - - - - - - - motto podpis - motto-podpis - {"tag": "motto_podpis"} - insert_tag - - - 0 - - - - - - - nagłówek kwestii - naglowek-kwestii - {"tag": "naglowek_osoba"} - insert_tag - - - 0 - - - - - - - nota - nota - {"tag": "nota"} - insert_tag - - - 0 - - - - - - - opowiadanie - opowiadanie - {"tag": "opowiadanie"} - insert_tag - - - 0 - - - - - - - osoba - osoba - {"tag": "osoba"} - insert_tag - - - 0 - - - - - - - - podrozdział - podrozdzial - {"tag": "naglowek_podrozdzial"} - insert_tag - - - 0 - - - - - - - podtytuł - podtytul - {"tag": "podtytul"} - insert_tag - - - 0 - - - - - - - powieść - powiesc - {"tag": "powiesc"} - insert_tag - - - 0 - - - - - - - przypis autorski - przypis-autorski - {"tag": "pa"} - insert_tag - - - 0 - - - - - - - przypis edytorski - przypis-edytorski - {"tag": "pe"} - insert_tag - - - 0 - - - - - - - przypis redaktorski - przypis-redaktorski - {"tag": "pr"} - insert_tag - - - 0 - - - - - - - przypis tłumacza - przypis-tlumacza - {"tag": "pt"} - insert_tag - - - 0 - - - - - - - rozdział - rozdzial - {"tag": "naglowek_rozdzial"} - insert_tag - - - 0 - - - - - - - scena - scena - {"tag": "naglowek_scena"} - insert_tag - - - 0 - - - - - - - sep. asteryks - sep-asteryks - {"tag": "sekcja_asteryks"} - insert_tag - - - 0 - - - - - - - sep. linia - sep-linia - {"tag": "separator_linia"} - insert_tag - - - 0 - - - - - - - sep. światło - sep-swiatlo - {"tag": "sekcja_swiatlo"} - insert_tag - - - 0 - - - - - - - strofa - strofa - {"tag": "strofa"} - insert_stanza - - s - 1 - - - - - - - - słowo obce - slowo-obce - {"tag": "slowo_obce"} - insert_tag - - - 0 - - - - - - - tagi główne - tagi-glowne - {"tag": "utwor"} - insert_tag - - - 0 - - - - - - - tytuł - tytul - {"tag": "nazwa_utworu"} - insert_tag - - - 0 - - - - - - - tytuł dzieła - tytul-dziela - {"tag": "tytul_dziela", "attrs": {"typ": "1"}} - insert_tag - - - 0 - - - - - - - uwaga - uwaga - {"tag": "uwaga"} - insert_tag - - - 0 - - - - - - - wers akap. - wers-akap - {"tag": "wers_akap"} - insert_tag - - - 0 - - - - - - - - wers cd. - wers-cd - {"tag": "wers_cd"} - insert_tag - - - 0 - - - - - - - - www - www - {"tag": "www"} - insert_tag - - - 0 - - - - - - - wyróżnienie - wyroznienie - {"tag": "wyroznienie"} - insert_tag - - - 0 - - - - - - - wywiad - wywiad - {"tag": "wywiad"} - insert_tag - - - 0 - - - - - - - wywiad odpowiedź - wywiad-odpowiedz - {"tag": "wywiad_odp"} - insert_tag - - - 0 - - - - - - - wywiad pytanie - wywiad-pytanie - {"tag": "wywiad_pyt"} - insert_tag - - - 0 - - - - - - - zastępnik wersu - zastepnik-wersu - {"tag": "zastepnik_wersu"} - insert_tag - - - 0 - - - - - - - śródtytuł - srodtytul - {"tag": "srodtytul"} - insert_tag - - - 0 - - - - - - - var texteditor = panel.texteditor; - -var text = texteditor.selection(); - -var out = '<'+params.tag; - -for (var attr in params.attrs) { - - out += ' '+attr+'="' + params.attrs[attr] + '"'; - -}; - -out += '>'; - -out += text; - -out += '</' + params.tag + '>'; - - - -texteditor.replaceSelection(out); - - - -if (text.length == 0) { - - var pos = texteditor.cursorPosition(); - - texteditor.selectLines(pos.line, pos.character + params.tag.length + 2); - -} - - - -panel.fireEvent('contentChanged'); - - - editor.showPopup('generic-info', 'Przetwarzanie zaznaczonego tekstu...', '', -1); - -var cm = panel.texteditor; -var exprs = $.map(params.exprs, function(expr) { - - var opts = "g"; - - if(expr.length > 2) - - opts = expr[2]; - - return {rx: new RegExp(expr[0], opts), repl: expr[1]}; - -}); - - - -var partial = true; - -var text = cm.selection(); - - - -if(!text) { - - var cpos = cm.cursorPosition(); - - cpos.line = cm.lineNumber(cpos.line) - - cm.selectLines(cm.firstLine(), 0, cm.lastLine(), 0); - - text = cm.selection(); - - partial = false; - -} - - - -var changed = 0; -var lines = text.split('\n'); -var lines = $.map(lines, function(line) { - var old_line = line; - $(exprs).each(function() { - var expr = this; - line = line.replace(expr.rx, expr.repl); - }); - - if(old_line != line) changed += 1; - return line; -}); - -if(changed > 0) -{ - cm.replaceSelection( lines.join('\n') ); - panel.fireEvent('contentChanged'); - editor.showPopup('generic-yes', 'Zmieniono ' + changed + ' linii.', 1500); - editor.advancePopupQueue(); -} -else { - editor.showPopup('generic-info', 'Brak zmian w tekście', 1500); - editor.advancePopupQueue(); -} - -if(!partial) - cm.selectLines( cm.nthLine(cpos.line), cpos.character ) - - - var texteditor = panel.texteditor; - -var frameBody = $('body', $(texteditor.frame).contents()); - - - -if(params.fontSize) { - - frameBody.css('font-size', params.fontSize); - -} - -else { - - var old_size = parseInt(frameBody.css('font-size')); - - frameBody.css('font-size', old_size + (params.change || 0) ); - -} - - - editor.showPopup('generic-info', 'Przetwarzanie zaznaczonego tekstu...', '', -1); - -var cm = panel.texteditor; - -var exprs = $.map(params.exprs, function(expr) { - var opts = "mg"; - if(expr.length > 2) - opts = expr[2]; - - return {rx: new RegExp(expr[0], opts), repl: expr[1]}; -}); - -var partial = true; -var text = cm.selection(); - -if(!text) { - var cpos = cm.cursorPosition(); - cpos.line = cm.lineNumber(cpos.line) - cm.selectLines(cm.firstLine(), 0, cm.lastLine(), 0); - - text = cm.selection(); - partial = false; -} - - - -var original = text; -$(exprs).each(function() { - text = text.replace(this.rx, this.repl); -}); - -if( original != text) -{ - cm.replaceSelection(text); - panel.fireEvent('contentChanged'); - editor.showPopup('generic-yes', 'Zmieniono tekst' ); - editor.advancePopupQueue(); -} -else { - editor.showPopup('generic-info', 'Brak zmian w tekście.'); - editor.advancePopupQueue(); -} - -if(!partial) { - cm.selectLines( cm.nthLine(cpos.line), cpos.character ); -} - - - params.each(function() { - - editor.callScriptlet(this[0], this[1]); - -}); - - - var cm = panel.texteditor; - -var text = cm.selection(); - -if(!text) return; - -var repl = text.toLowerCase(); - -if(repl != text) { - - cm.replaceSelection(repl); - - panel.fireEvent('contentChanged'); - -}; - - - var texteditor = panel.texteditor; - -var text = texteditor.selection(); - - - -if(text) { - - text = '\n' + text.split('\n').join('\\\n') + '\n'; - -} - - - -texteditor.replaceSelection('<strofa>'+text+'</strofa>'); - - - -if (!text) { - - var pos = texteditor.cursorPosition(); - - texteditor.selectLines(pos.line, pos.character + 6 + 2); - -} - - - - - - - -panel.fireEvent('contentChanged'); - - - var cm = panel.texteditor; - -cm.focus(); - -var text = cm.selection(); - -if(!text) return; - - - -cm.replaceSelection('<include-tag-placeholder />'); - -var fulltext = cm.getCode(); - - - -$('#split-dialog').jqmShow({ - - selection: text, fulltext: fulltext, - - success: function(uri) { - - editor.refreshPanels(); - - }, - - failure: function() { cm.undo(); } - -}) ; - - - - - - diff --git a/apps/toolbar/fixtures/przyciski.xml b/apps/toolbar/fixtures/przyciski.xml new file mode 100755 index 00000000..e2aa914e --- /dev/null +++ b/apps/toolbar/fixtures/przyciski.xml @@ -0,0 +1,1242 @@ + + + + Dodatkowe przyciski w XMLEditor + xmleditor-extra-buttons + -1 + + + HTMLEditor Extra + htmleditor-extra + -1 + + + Akapity i długie cytaty + akapity-i-dlugie-cytaty + 0 + + + Autokorekta + autokorekta + 0 + + + Bloki + bloki + 0 + + + Dramat wierszowany + dramat-wierszowany + 0 + + + Dramat współczesny + dramat-wspolczesny + 0 + + + Elementy początkowe + elementy-poczatkowe + 0 + + + Nagłówki + naglowki + 0 + + + Początek dramatu + poczatek-dramatu + 0 + + + Polecenia + polecenia + 0 + + + Strukturalne + strukturalne + 0 + + + Style znakowe + style-znakowe + 0 + + + Wersy + wersy + 0 + + + A<sup>+</sup> + increase_font_size + {"change": 2} + codemirror_fontsize + + + 0 + Zwiększ rozmiar czcionki. + + + + + + A<sup>-</sup> + descrease_font_size + {"change": -2} + codemirror_fontsize + + + 0 + Zmniejsz rozmiar czcionki. + + + + + + A<sup>=</sup> + reset_font_size + {"fontSize": 13} + codemirror_fontsize + + + 0 + Przywróć orginalny rozmiar czcionki. + + + + + + A<sup>↓</sup> + tolowercase + [] + lowercase + + u + 1 + Zamień wielkie litery na małe. + + + + + + Cudzysłowy (1) + fix-quotes-inner-arrows + {"exprs": [["\u00ab|\u201e", ",,"], ["\u00bb", "\""], ["([^=])\"([\u0104\u0118\u00d3\u0141\u017b\u0179\u0106\u0143\u0105\u017c\u017a\u015b\u0144\u00f3\u0142\u0107\\w])", "$1,,$2"], ["^\"([\u0104\u0118\u00d3\u0141\u017b\u0179\u0106\u0143\u0105\u017c\u017a\u015b\u0144\u00f3\u0142\u0107\\w])", ",,$1"], ["(,,)\\s+|\\s+(\")", "$1"]]} + lineregexp + + + 0 + + + + + + + Cudzysłowy (2) + swap-quotes-outer-arrows + {"exprs": [["\u00bb|\u201e", ",,"], ["\u00ab", "\""], ["([^=])\"([\u0104\u0118\u00d3\u0141\u017b\u0179\u0106\u0143\u0105\u017c\u017a\u015b\u0144\u00f3\u0142\u0107\\w])", "$1,,$2"], ["^\"([\u0104\u0118\u00d3\u0141\u017b\u0179\u0106\u0143\u0105\u017c\u017a\u015b\u0144\u00f3\u0142\u0107\\w])", ",,$1"], ["(,,)\\s+|\\s+(\")", "$1"]]} + lineregexp + + + 0 + + + + + + + Podstawowa + basic_correction + [["fulltextregexp", {"exprs": [["\ufeff", ""], ["$[\\s]*\\d+[\\s]*^", ""], ["-\\s*^", ""], ["\\,\\.\\.|\\.\\,\\.|\\.\\.\\,", "..."]]}], ["lineregexp", {"exprs": [["^\\s+|\\s+$", ""], ["\\s+", " "], ["(,,)\\s+|\\s+(\")", "$1"], ["(\\d)[\u2014-](\\d)", "$1--$2"], ["\u2014", "---"], ["<(/?)P([aert])", "<$1p$2"], ["([^\\.])(\\s*)</p", "$1.$2</p"]]}]] + macro + + + 0 + Wykonuję operację z novel-pages i poem-pages. + + + + + + Usuń spację + strip_whitespace + {"exprs": [["^\\s+|\\s+$", ""], ["\\s+", " "], ["(,,)\\s+|\\s+(\")", "$1"]]} + lineregexp + + + 0 + Usuwa zbędne spację z dokumentu. + + + + + + Wers wcięty + wers-wciety + {"tag": "wers_wciety", "attrs": {"typ": ""}} + insert_tag + + + 0 + + + + + + + + Wydrukuj + print-xml + [] + + + + print/xml + + 0 + + + + + + + Wydrukuj + htmleditor-print + [] + + + + print/html + + 0 + + + + + + + Wydziel + split-text-from-xmleditor + [] + show_splitmodal + + + 0 + + + + + + + Zamień dywiz + zamien_dywiz + {"exprs": [["(\\d)[\u2014-](\\d)", "$1--$2"], ["\u2014", "---"]]} + lineregexp + + + 0 + Zamienia '—' na '---', oraz '1—2' na '1--2'. + + + + + + akapit + akapit + {"tag": "akap"} + insert_tag + + + 0 + + + + + + + akapit cd. + akapit-cd + {"tag": "akap_cd"} + insert_tag + + + 0 + + + + + + + akapit dialogowy + akapit-dialogowy + {"tag": "akap_dialog"} + insert_tag + + + 0 + + + + + + + akt + akt + {"tag": "akt"} + insert_tag + + + 0 + + + + + + + autor + autor + {"tag": "autor"} + insert_tag + + + 0 + + + + + + + część/księga + czesc + {"tag": "naglowek_czesc"} + insert_tag + + + 0 + + + + + + + dedykacja + dedykacja + {"tag": "dedykacja"} + insert_tag + + + 0 + + + + + + + + didaskalia + didaskalia + {"tag": "didaskalia"} + insert_tag + + + 0 + + + + + + + + didaskalia początkowe + didaskalia-poczatkowe + {"tag": "miejsce_czas"} + insert_tag + + + 0 + + + + + + + didaskalia wewn. + didaskalia-wewn + {"tag": "didask_tekst"} + insert_tag + + + 0 + + + + + + + + dramat wiersz. + dramat-wiersz + {"tag": "dramat_wierszowany_l"} + insert_tag + + + 0 + + + + + + + dramat wiersz./w. łam + dramat-wiersz-w-lam + {"tag": "dramat_wierszowany_lp"} + insert_tag + + + 0 + + + + + + + dramat współczesny + dramat-wspolczesny + {"tag": "dramat_wspolczesny"} + insert_tag + + + 0 + + + + + + + dzieło nadrzędne + dzielo-nadrzedne + {"tag": "dzielo_nadrzedne"} + insert_tag + + + 0 + + + + + + + długi cyt. poet. + dlugi-cyt-poet + {"tag": "poezja_cyt"} + insert_tag + + + 0 + + + + + + + + długi cytat + dlugi-cytat + {"tag": "dlugi_cyt"} + insert_tag + + + 0 + + + + + + + + ekstra + ekstra + {"tag": "ekstra"} + insert_tag + + + 0 + + + + + + + kwestia + kwestia + {"tag": "kwestia"} + insert_tag + + + 0 + + + + + + + + liryka + liryka + {"tag": "liryka_l"} + insert_tag + + + 0 + + + + + + + liryka/w. łam + liryka-w-lam + {"tag": "liryka_lp"} + insert_tag + + + 0 + + + + + + + lista osób: pole + lista-osob-pole + {"tag": "lista_osoba", "attrs": {"typ": ""}} + insert_tag + + + 0 + + + + + + + mamtemat. + matemat + {"tag": "mat"} + insert_tag + + + 0 + + + + + + + motto + motto + {"tag": "motto"} + insert_tag + + + 0 + + + + + + + + motto podpis + motto-podpis + {"tag": "motto_podpis"} + insert_tag + + + 0 + + + + + + + nagłówek kwestii + naglowek-kwestii + {"tag": "naglowek_osoba"} + insert_tag + + + 0 + + + + + + + nota + nota + {"tag": "nota"} + insert_tag + + + 0 + + + + + + + opowiadanie + opowiadanie + {"tag": "opowiadanie"} + insert_tag + + + 0 + + + + + + + osoba + osoba + {"tag": "osoba"} + insert_tag + + + 0 + + + + + + + + podrozdział + podrozdzial + {"tag": "naglowek_podrozdzial"} + insert_tag + + + 0 + + + + + + + podtytuł + podtytul + {"tag": "podtytul"} + insert_tag + + + 0 + + + + + + + powieść + powiesc + {"tag": "powiesc"} + insert_tag + + + 0 + + + + + + + przypis autorski + przypis-autorski + {"tag": "pa"} + insert_tag + + + 0 + + + + + + + przypis edytorski + przypis-edytorski + {"tag": "pe"} + insert_tag + + + 0 + + + + + + + przypis redaktorski + przypis-redaktorski + {"tag": "pr"} + insert_tag + + + 0 + + + + + + + przypis tłumacza + przypis-tlumacza + {"tag": "pt"} + insert_tag + + + 0 + + + + + + + rozdział + rozdzial + {"tag": "naglowek_rozdzial"} + insert_tag + + + 0 + + + + + + + scena + scena + {"tag": "naglowek_scena"} + insert_tag + + + 0 + + + + + + + sep. asteryks + sep-asteryks + {"tag": "sekcja_asteryks"} + insert_tag + + + 0 + + + + + + + sep. linia + sep-linia + {"tag": "separator_linia"} + insert_tag + + + 0 + + + + + + + sep. światło + sep-swiatlo + {"tag": "sekcja_swiatlo"} + insert_tag + + + 0 + + + + + + + strofa + strofa + {"tag": "strofa"} + insert_stanza + + s + 1 + + + + + + + + słowo obce + slowo-obce + {"tag": "slowo_obce"} + insert_tag + + + 0 + + + + + + + tagi główne + tagi-glowne + {"tag": "utwor"} + insert_tag + + + 0 + + + + + + + tytuł + tytul + {"tag": "nazwa_utworu"} + insert_tag + + + 0 + + + + + + + tytuł dzieła + tytul-dziela + {"tag": "tytul_dziela", "attrs": {"typ": "1"}} + insert_tag + + + 0 + + + + + + + uwaga + uwaga + {"tag": "uwaga"} + insert_tag + + + 0 + + + + + + + wers akap. + wers-akap + {"tag": "wers_akap"} + insert_tag + + + 0 + + + + + + + + wers cd. + wers-cd + {"tag": "wers_cd"} + insert_tag + + + 0 + + + + + + + + www + www + {"tag": "www"} + insert_tag + + + 0 + + + + + + + wyróżnienie + wyroznienie + {"tag": "wyroznienie"} + insert_tag + + + 0 + + + + + + + wywiad + wywiad + {"tag": "wywiad"} + insert_tag + + + 0 + + + + + + + wywiad odpowiedź + wywiad-odpowiedz + {"tag": "wywiad_odp"} + insert_tag + + + 0 + + + + + + + wywiad pytanie + wywiad-pytanie + {"tag": "wywiad_pyt"} + insert_tag + + + 0 + + + + + + + zastępnik wersu + zastepnik-wersu + {"tag": "zastepnik_wersu"} + insert_tag + + + 0 + + + + + + + śródtytuł + srodtytul + {"tag": "srodtytul"} + insert_tag + + + 0 + + + + + + + var texteditor = panel.texteditor; + +var text = texteditor.selection(); + +var out = '<'+params.tag; + +for (var attr in params.attrs) { + + out += ' '+attr+'="' + params.attrs[attr] + '"'; + +}; + +out += '>'; + +out += text; + +out += '</' + params.tag + '>'; + + + +texteditor.replaceSelection(out); + + + +if (text.length == 0) { + + var pos = texteditor.cursorPosition(); + + texteditor.selectLines(pos.line, pos.character + params.tag.length + 2); + +} + + + +panel.fireEvent('contentChanged'); + + + editor.showPopup('generic-info', 'Przetwarzanie zaznaczonego tekstu...', '', -1); + +var cm = panel.texteditor; +var exprs = $.map(params.exprs, function(expr) { + + var opts = "g"; + + if(expr.length > 2) + + opts = expr[2]; + + return {rx: new RegExp(expr[0], opts), repl: expr[1]}; + +}); + + + +var partial = true; + +var text = cm.selection(); + + + +if(!text) { + + var cpos = cm.cursorPosition(); + + cpos.line = cm.lineNumber(cpos.line) + + cm.selectLines(cm.firstLine(), 0, cm.lastLine(), 0); + + text = cm.selection(); + + partial = false; + +} + + + +var changed = 0; +var lines = text.split('\n'); +var lines = $.map(lines, function(line) { + var old_line = line; + $(exprs).each(function() { + var expr = this; + line = line.replace(expr.rx, expr.repl); + }); + + if(old_line != line) changed += 1; + return line; +}); + +if(changed > 0) +{ + cm.replaceSelection( lines.join('\n') ); + panel.fireEvent('contentChanged'); + editor.showPopup('generic-yes', 'Zmieniono ' + changed + ' linii.', 1500); + editor.advancePopupQueue(); +} +else { + editor.showPopup('generic-info', 'Brak zmian w tekście', 1500); + editor.advancePopupQueue(); +} + +if(!partial) + cm.selectLines( cm.nthLine(cpos.line), cpos.character ) + + + var texteditor = panel.texteditor; + +var frameBody = $('body', $(texteditor.frame).contents()); + + + +if(params.fontSize) { + + frameBody.css('font-size', params.fontSize); + +} + +else { + + var old_size = parseInt(frameBody.css('font-size')); + + frameBody.css('font-size', old_size + (params.change || 0) ); + +} + + + editor.showPopup('generic-info', 'Przetwarzanie zaznaczonego tekstu...', '', -1); +$.log(editor, panel, params); +var cm = panel.texteditor; +var exprs = $.map(params.exprs, function(expr) { + var opts = "mg"; + if(expr.length > 2) + opts = expr[2]; + + return {rx: new RegExp(expr[0], opts), repl: expr[1]}; +}); + +var partial = true; +var text = cm.selection(); + +if(!text) { + var cpos = cm.cursorPosition(); + cpos.line = cm.lineNumber(cpos.line) + cm.selectLines(cm.firstLine(), 0, cm.lastLine(), 0); + + text = cm.selection(); + partial = false; +} + +var original = text; +$(exprs).each(function() { + text = text.replace(this.rx, this.repl); +}); + +if( original != text) +{ + cm.replaceSelection(text); + panel.fireEvent('contentChanged'); + editor.showPopup('generic-yes', 'Zmieniono tekst' ); + editor.advancePopupQueue(); +} +else { + editor.showPopup('generic-info', 'Brak zmian w tekście.'); + editor.advancePopupQueue(); +} + +if(!partial) { + cm.selectLines( cm.nthLine(cpos.line), cpos.character ); +} + + + $(params).each(function() { + $.log(this[0], this[1]); + editor.callScriptlet(this[0], panel, this[1]); + +}); + + + var cm = panel.texteditor; +var text = cm.selection(); + +if(!text) return; +var repl = ''; +var lcase = text.toLowerCase(); +var ucase = text.toUpperCase(); + +if(lcase == text) repl = ucase; /* was lowercase */ +else if(ucase != text) repl = lcase; /* neither lower- or upper-case */ +else { /* upper case -> camel-case */ + repl = '' + $(lcase.split(/\s/)).each(function() { + if(this.length > 0) repl += this[0].toUpperCase() + this.slice(1) + ' '; + }); +} + +if(repl != text) { + cm.replaceSelection(repl); + panel.fireEvent('contentChanged'); +}; + + + var texteditor = panel.texteditor; +var text = texteditor.selection(); + +if(text) { + var verses = text.split('\n'); + var text = ''; var buf = ''; var ebuf = ''; + var first = true; + + for(var i=0; i < verses.length; i++) { + verse = verses[i].replace(/^\s+/, "").replace(/\s+$/, ""); + if(verse) { + text += (buf ? buf + '\\\n' : '') + ebuf; + buf = (first ? '<strofa>\n' : '') + verses[i]; + ebuf = ''; + first = false; + } else { + ebuf += '\n' + verses[i]; + } + }; + text = text + buf + '\n</strofa>' + ebuf; + texteditor.replaceSelection(text); +} + +if (!text) { + var pos = texteditor.cursorPosition(); + texteditor.selectLines(pos.line, pos.character + 6 + 2); +} + + + + + + + +panel.fireEvent('contentChanged'); + + + var cm = panel.texteditor; + +cm.focus(); + +var text = cm.selection(); + +if(!text) return; + + + +cm.replaceSelection('<include-tag-placeholder />'); + +var fulltext = cm.getCode(); + + + +$('#split-dialog').jqmShow({ + + selection: text, fulltext: fulltext, + + success: function(uri) { + + editor.refreshPanels(); + + }, + + failure: function() { cm.undo(); } + +}) ; + + diff --git a/dump_toolbar.sh b/dump_toolbar.sh index 6dcbbe08..aede1747 100755 --- a/dump_toolbar.sh +++ b/dump_toolbar.sh @@ -1 +1 @@ -./project/manage.py dumpdata --format=xml toolbar | xmllint --format - > fixtures/przyciski.new.xml +./project/manage.py dumpdata --format=xml toolbar | xmllint --format - > apps/toolbar/fixtures/przyciski.xml diff --git a/project/static/js/editor.js b/project/static/js/editor.js index 3ae16b0a..e37228ce 100644 --- a/project/static/js/editor.js +++ b/project/static/js/editor.js @@ -460,8 +460,10 @@ Editor.prototype.sendMergeRequest = function (message) { if( $('.panel-wrap.changed').length != 0) alert("There are unsaved changes - can't commit."); - var self = this; - $.log('URL !: ', $('#commit-dialog form').attr('action')); + var self = this; + + $('#commit-dialog-related-issues input:checked'). + each(function() { message += ' refs #' + $(this).val(); }); $.ajax({ url: $('#commit-dialog form').attr('action'), diff --git a/project/static/js/editor.ui.js b/project/static/js/editor.ui.js index aed04553..4d2a5d39 100755 --- a/project/static/js/editor.ui.js +++ b/project/static/js/editor.ui.js @@ -163,15 +163,17 @@ Editor.prototype.setupUI = function() { $('#commit-dialog'). jqm({ modal: true, + onShow: $.fbind(self, self.loadRelatedIssues), trigger: '#toolbar-button-commit' }); - + + /* STATIC BINDS */ $('#commit-dialog-cancel-button').click(function() { $('#commit-dialog-error-empty-message').hide(); $('#commit-dialog').jqmHide(); }); - $('#commit-dialog-save-button').click( function (event, data) + $('#commit-dialog-save-button').click( function (event, data) { if( $('#commit-dialog-message').val().match(/^\s*$/)) { $('#commit-dialog-error-empty-message').fadeIn(); @@ -180,10 +182,11 @@ Editor.prototype.setupUI = function() { $('#commit-dialog-error-empty-message').hide(); $('#commit-dialog').jqmHide(); self.sendMergeRequest($('#commit-dialog-message').val() ); - } - + } + return false; - }); + }); + /* SPLIT DIALOG */ $('#split-dialog').jqm({ @@ -195,6 +198,31 @@ Editor.prototype.setupUI = function() { // $('#split-dialog'). } +Editor.prototype.loadRelatedIssues = function(hash) +{ + var self = this; + var c = $('#commit-dialog-related-issues'); + + $("div.loading-box", c).show(); + $("div.fatal-error-box", c).hide(); + $("div.container-box", c).hide(); + + $.getJSON( c.attr('ui:ajax-src') + '?callback=?', + function(data, status) + { + var fmt = ''; + $(data).each( function() { + fmt += '\n' + }); + $("div.container-box", c).html(fmt); + $("div.loading-box", c).hide(); + $("div.container-box", c).show(); + }); + + hash.w.show(); +} + Editor.prototype.loadSplitDialog = function(hash) { var self = this; diff --git a/project/templates/explorer/editor.html b/project/templates/explorer/editor.html index 6ee1cf85..02a1c758 100644 --- a/project/templates/explorer/editor.html +++ b/project/templates/explorer/editor.html @@ -81,11 +81,20 @@ {% endfor %} +
- -

Wiadomość nie może być pusta.

+ +

Wiadomość nie może być pusta.

+

@@ -96,7 +105,7 @@