|
1 | 1 | 'use strict';
|
2 | 2 |
|
3 |
| -var EXTEND = require('whet.extend'); |
| 3 | +var EXTEND = require('whet.extend'), |
| 4 | + textElem = require('../../plugins/_collections.js').elemsGroups.textContent.concat('title'), |
| 5 | + textChildElem = require('../../plugins/_collections.js').elemsGroups.textContentChild; |
4 | 6 |
|
5 | 7 | var defaults = {
|
6 | 8 | doctypeStart: '<!DOCTYPE',
|
@@ -62,7 +64,6 @@ function JS2SVG(config) {
|
62 | 64 | this.config.tagShortEnd += '\n';
|
63 | 65 | this.config.tagOpenEnd += '\n';
|
64 | 66 | this.config.tagCloseEnd += '\n';
|
65 |
| - this.config.textEnd += '\n'; |
66 | 67 | }
|
67 | 68 |
|
68 | 69 | this.indentLevel = 0;
|
@@ -227,17 +228,37 @@ JS2SVG.prototype.createElem = function(data) {
|
227 | 228 |
|
228 | 229 | // non-empty element
|
229 | 230 | } else {
|
| 231 | + var tagOpenStart = this.config.tagOpenStart, |
| 232 | + tagOpenEnd = this.config.tagOpenEnd, |
| 233 | + tagCloseStart = this.config.tagCloseStart, |
| 234 | + tagCloseEnd = this.config.tagCloseEnd, |
| 235 | + openIdent = '', |
| 236 | + closeIdent = ''; |
| 237 | + |
| 238 | + if (data.isElem(textChildElem)) { |
| 239 | + tagOpenStart = defaults.tagOpenStart; |
| 240 | + tagCloseEnd = defaults.tagCloseEnd; |
| 241 | + } else { |
| 242 | + openIdent = this.createIndent(); |
| 243 | + } |
230 | 244 |
|
231 |
| - return this.createIndent() + |
232 |
| - this.config.tagOpenStart + |
| 245 | + if (data.isElem(textElem)) { |
| 246 | + tagOpenEnd = defaults.tagOpenEnd; |
| 247 | + tagCloseStart = defaults.tagCloseStart; |
| 248 | + } else { |
| 249 | + closeIdent = this.createIndent(); |
| 250 | + } |
| 251 | + |
| 252 | + return openIdent + |
| 253 | + tagOpenStart + |
233 | 254 | data.elem +
|
234 | 255 | this.createAttrs(data) +
|
235 |
| - this.config.tagOpenEnd + |
| 256 | + tagOpenEnd + |
236 | 257 | this.convert(data).data +
|
237 |
| - this.createIndent() + |
238 |
| - this.config.tagCloseStart + |
| 258 | + closeIdent + |
| 259 | + tagCloseStart + |
239 | 260 | data.elem +
|
240 |
| - this.config.tagCloseEnd; |
| 261 | + tagCloseEnd; |
241 | 262 |
|
242 | 263 | }
|
243 | 264 |
|
@@ -282,8 +303,7 @@ JS2SVG.prototype.createText = function(text) {
|
282 | 303 | text = text.split(entity).join(this.config.entities[entity]);
|
283 | 304 | }
|
284 | 305 |
|
285 |
| - return this.createIndent() + |
286 |
| - this.config.textStart + |
| 306 | + return this.config.textStart + |
287 | 307 | text +
|
288 | 308 | this.config.textEnd;
|
289 | 309 |
|
|
0 commit comments