- fields: {name: Autokorekta, position: 0, slug: autokorekta}
model: toolbar.buttongroup
pk: 2
+- fields: {name: Autotagowanie, position: 0, slug: autotagowanie}
+ model: toolbar.buttongroup
+ pk: 28
- fields: {name: Bloki, position: 0, slug: bloki}
model: toolbar.buttongroup
pk: 21
tooltip: wstawia akapit dialogowy
model: toolbar.button
pk: 41
+- 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: [1]
tooltip: "wstawia strof\u0119"
model: toolbar.button
pk: 81
+- 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: [11]
tooltip: "wstawia wers wci\u0119ty"
model: toolbar.button
pk: 91
+- 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: ''
group: [15]
\r\n\r\n\r\n\r\n\r\n\r\n\r\npanel.fireEvent('contentChanged');"}
model: toolbar.scriptlet
pk: insert_stanza
+- fields: {code: '-'}
+ model: toolbar.scriptlet
+ pk: autotag
};
});
- var partial = true;
if(!text) done(text, move_forward);
var changed = 0;
});
if(!text) done(text, move_forward);
- var original = text;$
nblck_each(exprs, function(expr, index) {
$progress.html(600 + index);
done(text, move_forward);
}.bind(this);
+
+ this.scriptlets['autotag'] = function(context, params, text, move_forward, done)
+ {
+ if(!text.match(/^\n+$/)) done(text, move_forward);
+
+ function insert_done(output, mf) {
+ text += output;
+ }
+
+ if (!params.split) params.split = 2;
+ if (!params.padding) params.padding = 3;
+
+ chunks = text.replace(/^\n+|\n+$/, '').split(new RegExp("\\n{"+params.split+",}"));
+ text = text.match(/^\n+/);
+ if (!text)
+ text = '';
+ padding = '';
+ for(; params.padding; params.padding--) {
+ padding += "\n";
+ }
+
+ if (params.tag == 'strofa')
+ tagger = this.scriptlets['insert_stanza'];
+ else
+ tagger = this.scriptlets['insert_tag'];
+
+ for (i in chunks) {
+ if (chunks[i]) {
+ if (params.tag == 'akap' && chunks[i].match(/^---/))
+ tag = 'akap_dialog';
+ else tag = params.tag;
+ tagger(context, {tag: tag}, chunks[i], 0, insert_done);
+ text += padding;
+ }
+ }
+
+ done(text, move_forward);
+ }.bind(this);
+
}
ScriptletCenter.prototype.callInteractive = function(opts) {