X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/8132fc186eb0c5fd02c86828c3a4735754296d02..5913c54d19b8f6775633176032161d49f9b2f1aa:/src/toolbar/fixtures/initial_toolbar.yaml diff --git a/src/toolbar/fixtures/initial_toolbar.yaml b/src/toolbar/fixtures/initial_toolbar.yaml new file mode 100644 index 00000000..be8c3399 --- /dev/null +++ b/src/toolbar/fixtures/initial_toolbar.yaml @@ -0,0 +1,1067 @@ +- fields: {name: "Nag\u0142\xF3wki", position: 0, slug: naglowki} + model: toolbar.buttongroup + pk: 1 +- fields: {name: Autokorekta, position: 0, slug: autokorekta} + model: toolbar.buttongroup + pk: 2 +- fields: {name: Mastery, position: 0, slug: mastery} + model: toolbar.buttongroup + pk: 11 +- fields: {name: 'Dramat ', position: 0, slug: dramat} + model: toolbar.buttongroup + pk: 12 +- fields: {name: "Elementy pocz\u0105tkowe", position: 0, slug: elementy-poczatkowe} + model: toolbar.buttongroup + pk: 13 +- fields: {name: Akapity, position: 0, slug: akapity} + model: toolbar.buttongroup + pk: 14 +- fields: {name: Style znakowe, position: 0, slug: style-znakowe} + model: toolbar.buttongroup + pk: 15 +- fields: {name: Separatory, position: 0, slug: separatory} + model: toolbar.buttongroup + pk: 16 +- fields: {name: Wersy, position: 0, slug: wersy} + model: toolbar.buttongroup + pk: 17 +- fields: {name: Bloki, position: 0, slug: bloki} + model: toolbar.buttongroup + pk: 21 +- fields: {name: "Pocz\u0105tek dramatu", position: 0, slug: poczatek-dramatu} + model: toolbar.buttongroup + pk: 22 +- fields: {name: Przypisy, position: 0, slug: przypisy} + model: toolbar.buttongroup + pk: 26 +- fields: {name: Autotagowanie, position: 0, slug: autotagowanie} + model: toolbar.buttongroup + pk: 28 +- fields: {name: Uwaga, position: 0, slug: uwaga} + model: toolbar.buttongroup + pk: 29 +- fields: + accesskey: '' + group: [2] + label: ",,\u2026\" na \xAB\u2026\xBB" + link: '' + params: '{"exprs": [[",,", "\u00ab"], ["\"", "\u00bb"]]}' + scriptlet: fulltextregexp + slug: na-francuskie + tooltip: "Zamienia cudzys\u0142owy podw\xF3jne na francuskie" + model: toolbar.button + pk: 2 +- fields: + accesskey: '' + group: [2] + label: ",,\u2026\" na \xBB\u2026\xAB" + link: '' + params: '{"exprs": [[",,", "\u00bb"], ["\"", "\u00ab"]]}' + scriptlet: fulltextregexp + slug: na-niemieckie + tooltip: "Zamienia cudzys\u0142owy podw\xF3jne na niemieckie" + model: toolbar.button + pk: 3 +- fields: + accesskey: '' + group: [2] + label: Podstawowa + link: '' + params: '[["fulltextregexp", {"exprs": [["\ufeff", ""], ["$[\\s]*\\d+[\\s]*^", + ""], ["-\\s*^", ""], ["\\,\\.\\.|\\.\\,\\.|\\.\\.\\,", "..."], ["<(/?)P([aert])", + "<$1p$2"], ["[\u2014\u2013\u2010-]{2,}|[\u2014\u2013\u2010]+", "---"], + ["(\\s)-([^-])", "$1---$2"], ["([^-])-(\\s)", "$1---$2"], ["(\\d)-+(\\d)", + "$1--$2"], ["---(\\S)", "--- $1"], ["(\\S)---", "$1 ---"], ["\\s*-+\\s*", + "--- "]]}], ["lineregexp", {"exprs": [["^\\s+|\\s+$", ""], + ["\\s+", " "], ["(,,)\\s+", "$1"], ["\\s+(\")", "$1"], ["([^\\.])(\\s*)\u2193" + link: '' + params: '[]' + scriptlet: lowercase + slug: tolowercase + tooltip: "Zamie\u0144 wielkie litery na ma\u0142e" + model: toolbar.button + pk: 76 +- fields: + accesskey: '' + group: [2] + label: "zamiana cudzys\u0142ow\xF3w 2" + link: '' + params: '{"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"]]}' + scriptlet: lineregexp + slug: cudzyslow-niemiecki + tooltip: "zamienia \" na ,, oraz \xBBa\xAB na ,,a\"" + model: toolbar.button + pk: 77 +- fields: + accesskey: '' + group: [22] + label: 'typ osoby ' + link: '' + params: '{"padding_top": 1, "padding_bottom": 1, "tag": "lista_osoba", "attrs": + {"typ": ""}}' + scriptlet: insert_tag + slug: lista-osob-pole + tooltip: osoby z takim samym opisem + model: toolbar.button + pk: 78 +- fields: + accesskey: '' + group: [22] + label: "didaskalia pocz\u0105tkowe" + link: '' + params: '{"padding_top": 1, "padding_bottom": 3, "tag": "miejsce_czas"}' + scriptlet: insert_tag + slug: didaskalia-poczatkowe + tooltip: "komentarze wprowadzaj\u0105ce przed tekstem dramatu" + model: toolbar.button + pk: 79 +- fields: + accesskey: s + group: [12, 17] + label: strofa + link: '' + params: '{"padding_top": 1, "padding_bottom": 3, "tag": "strofa"}' + scriptlet: insert_stanza + slug: strofa + tooltip: "wstawia strof\u0119" + model: toolbar.button + pk: 81 +- fields: + accesskey: k + group: [12] + label: kwestia + link: '' + params: '{"padding_top": 1, "padding_bottom": 1, "tag": "kwestia"}' + scriptlet: insert_tag + slug: kwestia + tooltip: "wstawia kwesti\u0119" + model: toolbar.button + pk: 82 +- fields: + accesskey: w + group: [12, 17] + label: "wers mocno wci\u0119ty" + link: '' + params: '{"tag": "wers_wciety", "attrs": {"typ": ""}}' + scriptlet: insert_tag + slug: wers-mocno-wciety + tooltip: "argumenty wersu wci\u0119tego: od 2 do 6" + model: toolbar.button + pk: 84 +- fields: + accesskey: '' + group: [12, 17] + label: wers cd. + link: '' + params: '{"tag": "wers_cd"}' + scriptlet: insert_tag + slug: wers-cd + tooltip: "cz\u0119\u015B\u0107 wersu przeniesiona do innego wiersza" + model: toolbar.button + pk: 85 +- fields: + accesskey: '' + group: [12, 17] + label: wers do prawej + link: '' + params: '{"tag": "wers_do_prawej"}' + scriptlet: insert_tag + slug: wers-do-prawej + tooltip: "wers wyr\xf3wnany do prawej" + model: toolbar.button + pk: 109 +- fields: + accesskey: '' + group: [] + label: Wydrukuj + link: print/xml + params: '[]' + scriptlet: insert_tag + slug: print-xml + tooltip: '' + model: toolbar.button + pk: 86 +- fields: + accesskey: '' + group: [] + label: Wydrukuj + link: print/html + params: '[]' + scriptlet: insert_tag + slug: htmleditor-print + tooltip: '' + model: toolbar.button + pk: 87 +- fields: + accesskey: '' + group: [2] + label: "zamiana cudzys\u0142ow\xF3w 1" + link: '' + params: '{"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"]]}' + scriptlet: lineregexp + slug: cudzyslow-francuski + tooltip: "zamiana \" na ,, oraz \xABa\xBB na ,,a\"" + model: toolbar.button + pk: 89 +- fields: + accesskey: q + group: [12, 17] + label: "wers wci\u0119ty" + link: '' + params: '{"tag": "wers_wciety", "attrs": {"typ": "1"}}' + scriptlet: insert_tag + slug: wers-wciety + tooltip: "wstawia wers wci\u0119ty" + model: toolbar.button + pk: 91 +- fields: + accesskey: r + group: [15] + label: "tytu\u0142 dzie\u0142a" + link: '' + params: '{"tag": "tytul_dziela"}' + scriptlet: insert_tag + slug: tytul-dziela + tooltip: '' + model: toolbar.button + pk: 92 +- fields: + accesskey: '' + group: [22] + label: "lista os\xF3b" + link: '' + params: '{"padding_top": 1, "padding_bottom": 4, "tag": "lista_osob"}' + scriptlet: insert_tag + slug: lista-osob + tooltip: "lista os\xF3b poprzedzaj\u0105ca tekst dramatu" + model: toolbar.button + pk: 93 +- fields: + accesskey: '' + group: [22] + label: "nag\u0142\xF3wek listy" + link: '' + params: '{"padding_top": 1, "padding_bottom": 2, "tag": "naglowek_listy"}' + scriptlet: insert_tag + slug: naglowek-listy + tooltip: "nag\u0142\xF3wek listy os\xF3b" + model: toolbar.button + pk: 94 +- fields: + accesskey: '' + group: [22] + label: osoba na liscie + link: '' + params: '{"padding_top": 1, "padding_bottom": 1, "tag": "lista_osoba"}' + scriptlet: insert_tag + slug: osoba-na-liscie + tooltip: "nazwa osoby na liscie os\xF3b" + model: toolbar.button + pk: 95 +- fields: + accesskey: '' + group: [] + label: extra + link: '' + params: '{"tag": "extra"}' + scriptlet: insert_tag + slug: extra + tooltip: "uwagi dotycz\u0105ce sk\u0142adu" + model: toolbar.button + pk: 96 +- fields: + accesskey: '' + group: [28] + label: akapity + link: '' + params: '{"tag": "akap"}' + scriptlet: autotag + slug: akapity + tooltip: "autotagowanie akapit\xF3w" + model: toolbar.button + pk: 97 +- fields: + accesskey: '' + group: [28] + label: strofy + link: '' + params: '{"tag": "strofa"}' + scriptlet: autotag + slug: strofy + tooltip: autotagowanie strof + model: toolbar.button + pk: 99 +- fields: + accesskey: '' + group: [28] + label: "wersy wci\u0119te" + link: '' + params: '{"padding": 1, "tag": "wers_wciety", "split": 1}' + scriptlet: autotag + slug: wersy-wciete + tooltip: "autotagowanie wers\xF3w wci\u0119tych" + model: toolbar.button + pk: 100 +- fields: + accesskey: g + group: [12] + label: kwestioakapit + link: '' + params: '[["insert_tag", {"tag": "akap"}], ["insert_tag", {"padding_top": + 1, "padding_bottom": 1, "tag": "kwestia"}]]' + scriptlet: macro + slug: kwestioakapit + tooltip: '' + model: toolbar.button + pk: 101 +- fields: + accesskey: '' + group: [12] + label: kwestiostrofa + link: '' + params: '[["insert_stanza", {"tag": "strofa"}], ["insert_tag", {"padding_top": + 1, "padding_bottom": 1, "tag": "kwestia"}]]' + scriptlet: macro + slug: kwestiostrofa + tooltip: '' + model: toolbar.button + pk: 102 +- fields: + accesskey: '' + group: [28] + label: "nag\u0142. dramatu" + link: '' + params: '{"exprs": [["^AKT(\\s\\w*)$", "AKT$1"], + ["^SCENA(\\s\\w*)$", "SCENA$1"], ["([A-Z\u0104\u0106\u0118\u0141\u0143\u00d3\u015a\u017b\u0179]{2}[A-Z\u0104\u0106\u0118\u0141\u0143\u00d3\u015a\u017b\u0179\\s]+)$", + "$1"]]}' + scriptlet: lineregexp + slug: nagl-dramatu + tooltip: "autotagowanie akt\xF3w, scen, nag\u0142\xF3wk\xF3w os\xF3b" + model: toolbar.button + pk: 103 +- fields: + accesskey: x + group: [13] + label: nota red. + link: '' + params: '{"padding_top": 1, "padding_bottom": 3, "tag": "nota_red"}' + scriptlet: insert_tag + slug: nota-red + tooltip: nota redakcyjna + model: toolbar.button + pk: 104 +- fields: + accesskey: '' + group: [2] + label: slug + link: '' + params: '[]' + scriptlet: slugify + slug: slug + tooltip: slugifikacja + model: toolbar.button + pk: 105 +- fields: + accesskey: '' + group: [11] + label: trim begin + link: '' + params: '{"text": "\n\n"}' + scriptlet: insert_text + slug: trim-begin + tooltip: "Wstawia pocz\u0105tkowy znacznik ci\u0119cia cz\u0119\u015Bci" + model: toolbar.button + pk: 106 +- fields: + accesskey: '' + group: [11] + label: trim end + link: '' + params: '{"text": "\n\n"}' + scriptlet: insert_text + slug: trim-end + tooltip: "Wstawia ko\u0144cowy znacznik ci\u0119cia cz\u0119\u015Bci" + model: toolbar.button + pk: 107 +- fields: + accesskey: '' + group: [11] + label: etap + link: '' + params: '{"tag": "developmentStage"}' + scriptlet: insert_tag + slug: etap + tooltip: "wymaga uwsp\xF3\u0142czesnienia: 0.3" + model: toolbar.button + pk: 108 +- fields: {code: '-'} + model: toolbar.scriptlet + pk: autotag +- fields: {code: "editor.showPopup('generic-info', 'Przetwarzanie zaznaczonego tekstu...',\ + \ '', -1);\n$.log(editor, panel, params);\nvar cm = panel.texteditor;\n\ + var exprs = $.map(params.exprs, function(expr) {\n var opts = \"mg\"\ + ;\n if(expr.length > 2)\n opts = expr[2];\n\n return {rx:\ + \ new RegExp(expr[0], opts), repl: expr[1]};\n});\n\nvar partial = true;\n\ + var text = cm.selection();\n\nif(!text) {\n var cpos = cm.cursorPosition();\n\ + \ cpos.line = cm.lineNumber(cpos.line)\n cm.selectLines(cm.firstLine(),\ + \ 0, cm.lastLine(), 0);\n\n text = cm.selection();\n partial = false;\n\ + }\n\nvar original = text;\n$(exprs).each(function() { \n text = text.replace(this.rx,\ + \ this.repl);\n});\n\nif( original != text) \n{ \n cm.replaceSelection(text);\n\ + \ panel.fireEvent('contentChanged');\n editor.showPopup('generic-yes',\ + \ 'Zmieniono tekst' );\n editor.advancePopupQueue();\n}\nelse {\n \ + \ editor.showPopup('generic-info', 'Brak zmian w tek\u015Bcie.');\n\ + \ editor.advancePopupQueue();\n}\n\nif(!partial) {\n cm.selectLines(\ + \ cm.nthLine(cpos.line), cpos.character );\n}"} + model: toolbar.scriptlet + pk: fulltextregexp +- fields: {code: "var texteditor = panel.texteditor;\r\nvar text = texteditor.selection();\r\ + \n\r\nif(text) {\r\n var verses = text.split('\\n');\r\n var text =\ + \ ''; var buf = ''; var ebuf = '';\r\n var first = true;\r\n\r\n for(var\ + \ i=0; i < verses.length; i++) {\r\n verse = verses[i].replace(/^\\\ + s+/, \"\").replace(/\\s+$/, \"\"); \r\n if(verse) {\r\n text\ + \ += (buf ? buf + '/\\n' : '') + ebuf;\r\n buf = (first ? '\\\ + n' : '') + verses[i];\r\n ebuf = '';\r\n first = false;\r\n\ + \ } else { \r\n ebuf += '\\n' + verses[i];\r\n }\r\n };\r\ + \n text = text + buf + '\\n' + ebuf; \r\n texteditor.replaceSelection(text);\r\ + \n}\r\n\r\nif (!text) {\r\n var pos = texteditor.cursorPosition();\r\ + \n texteditor.selectLines(pos.line, pos.character + 6 + 2);\r\n}\r\n\ + \r\n\r\n\r\n\r\n\r\n\r\n\r\npanel.fireEvent('contentChanged');"} + model: toolbar.scriptlet + pk: insert_stanza +- fields: {code: "var texteditor = panel.texteditor;\nvar text = texteditor.selection();\n\ + var start_tag = '<'+params.tag;\nfor (var attr in params.attrs) {\n \ + \ start_tag += ' '+attr+'=\"' + params.attrs[attr] + '\"';\n};\nstart_tag\ + \ += '>';\nvar end_tag = '';\n\nif(text.length > 0) {\n\ + // tokenize\nvar output = ''\nvar token = ''\nfor(var index=0; index <\ + \ text.length; index++)\n{\n if (text[index].match(/\\s/)) { // whitespace\n\ + \ token += text[index];\n }\n else { // character\n \ + \ output += token;\n if(output == token) output += start_tag;\n\ + \ token = ''\n output += text[index];\n }\n}\n\nif( output[output.length-1]\ + \ == '\\\\' ) {\n output = output.substr(0, output.length-1) + end_tag\ + \ + '\\\\';\n} else {\n output += end_tag;\n}\noutput += token;\n}\n\ + else {\n output = start_tag + end_tag;\n}\n\ntexteditor.replaceSelection(output);\n\ + \nif (text.length == 0) {\n var pos = texteditor.cursorPosition();\n\ + \ texteditor.selectLines(pos.line, pos.character + params.tag.length\ + \ + 2);\n}\n\npanel.fireEvent('contentChanged');"} + model: toolbar.scriptlet + pk: insert_tag +- fields: {code: '-'} + model: toolbar.scriptlet + pk: insert_text +- fields: {code: "editor.showPopup('generic-info', 'Przetwarzanie zaznaczonego tekstu...',\ + \ '', -1);\n\nvar cm = panel.texteditor;\nvar exprs = $.map(params.exprs,\ + \ function(expr) {\n\n var opts = \"g\";\n\n if(expr.length > 2)\n\ + \n opts = expr[2];\n\n return {rx: new RegExp(expr[0], opts),\ + \ repl: expr[1]};\n\n});\n\n\n\nvar partial = true;\n\nvar text = cm.selection();\n\ + \n\n\nif(!text) {\n\n var cpos = cm.cursorPosition();\n\n cpos.line\ + \ = cm.lineNumber(cpos.line)\n\n cm.selectLines(cm.firstLine(), 0,\ + \ cm.lastLine(), 0);\n\n text = cm.selection();\n\n partial = false;\n\ + \n}\n\n\n\nvar changed = 0;\nvar lines = text.split('\\n');\nvar lines\ + \ = $.map(lines, function(line) { \n var old_line = line;\n $(exprs).each(function()\ + \ { \n var expr = this;\n line = line.replace(expr.rx, expr.repl);\n\ + \ });\n\n if(old_line != line) changed += 1;\n return line;\n\ + });\n\nif(changed > 0) \n{\n cm.replaceSelection( lines.join('\\n')\ + \ );\n panel.fireEvent('contentChanged');\n editor.showPopup('generic-yes',\ + \ 'Zmieniono ' + changed + ' linii.', 1500);\n editor.advancePopupQueue();\n\ + }\nelse {\n editor.showPopup('generic-info', 'Brak zmian w tek\u015B\ + cie', 1500);\n editor.advancePopupQueue();\n}\n\nif(!partial)\n \ + \ cm.selectLines( cm.nthLine(cpos.line), cpos.character )"} + model: toolbar.scriptlet + pk: lineregexp +- fields: {code: "var cm = panel.texteditor;\r\nvar text = cm.selection();\r\n\r\ + \nif(!text) return;\r\nvar repl = '';\r\nvar lcase = text.toLowerCase();\r\ + \nvar ucase = text.toUpperCase();\r\n\r\nif(lcase == text) repl = ucase;\ + \ /* was lowercase */\r\nelse if(ucase != text) repl = lcase; /* neither\ + \ lower- or upper-case */\r\nelse { /* upper case -> title-case */\r\n\ + \ var words = $(lcase.split(/\\s/)).map(function() { \r\n if(this.length\ + \ > 0) { return this[0].toUpperCase() + this.slice(1); } else { return\ + \ ''}\r\n }); \r\n repl = words.join(' ');\r\n} \r\n\r\nif(repl !=\ + \ text) {\r\n cm.replaceSelection(repl);\r\n panel.fireEvent('contentChanged');\r\ + \n};"} + model: toolbar.scriptlet + pk: lowercase +- fields: {code: "$(params).each(function() {\n $.log(this[0], this[1]);\n \ + \ editor.callScriptlet(this[0], panel, this[1]);\n\n});"} + model: toolbar.scriptlet + pk: macro +- fields: {code: '-'} + model: toolbar.scriptlet + pk: slugify