Add getTitle method
This commit is contained in:
parent
a73bf1ad98
commit
bdd8122a9f
|
@ -10362,6 +10362,7 @@
|
||||||
generator: SharedGenerator,
|
generator: SharedGenerator,
|
||||||
isInteractive: false,
|
isInteractive: false,
|
||||||
latestProcessed: null,
|
latestProcessed: null,
|
||||||
|
latestTitle: '',
|
||||||
parser: SharedParser,
|
parser: SharedParser,
|
||||||
registerCodeMirrorMode,
|
registerCodeMirrorMode,
|
||||||
renderer: new Renderer(Object.assign({
|
renderer: new Renderer(Object.assign({
|
||||||
|
@ -10527,6 +10528,10 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getTitle() {
|
||||||
|
return this.latestTitle;
|
||||||
|
}
|
||||||
|
|
||||||
_revertParent(state) {
|
_revertParent(state) {
|
||||||
const dom = this.renderer.dom();
|
const dom = this.renderer.dom();
|
||||||
if(dom.parentNode !== state.originalParent) {
|
if(dom.parentNode !== state.originalParent) {
|
||||||
|
@ -10563,6 +10568,10 @@
|
||||||
if(!state.processed) {
|
if(!state.processed) {
|
||||||
state.processed = this.process(this.code);
|
state.processed = this.process(this.code);
|
||||||
}
|
}
|
||||||
|
const titleParts = state.processed.meta.title || [];
|
||||||
|
this.latestTitle = titleParts
|
||||||
|
.map((ln) => ln.map((p) => p.text).join(''))
|
||||||
|
.join(' ');
|
||||||
this.renderer.optimisedRenderPreReflow(state.processed);
|
this.renderer.optimisedRenderPreReflow(state.processed);
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
this._sendRenderError(e);
|
this._sendRenderError(e);
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -10362,6 +10362,7 @@
|
||||||
generator: SharedGenerator,
|
generator: SharedGenerator,
|
||||||
isInteractive: false,
|
isInteractive: false,
|
||||||
latestProcessed: null,
|
latestProcessed: null,
|
||||||
|
latestTitle: '',
|
||||||
parser: SharedParser,
|
parser: SharedParser,
|
||||||
registerCodeMirrorMode,
|
registerCodeMirrorMode,
|
||||||
renderer: new Renderer(Object.assign({
|
renderer: new Renderer(Object.assign({
|
||||||
|
@ -10527,6 +10528,10 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getTitle() {
|
||||||
|
return this.latestTitle;
|
||||||
|
}
|
||||||
|
|
||||||
_revertParent(state) {
|
_revertParent(state) {
|
||||||
const dom = this.renderer.dom();
|
const dom = this.renderer.dom();
|
||||||
if(dom.parentNode !== state.originalParent) {
|
if(dom.parentNode !== state.originalParent) {
|
||||||
|
@ -10563,6 +10568,10 @@
|
||||||
if(!state.processed) {
|
if(!state.processed) {
|
||||||
state.processed = this.process(this.code);
|
state.processed = this.process(this.code);
|
||||||
}
|
}
|
||||||
|
const titleParts = state.processed.meta.title || [];
|
||||||
|
this.latestTitle = titleParts
|
||||||
|
.map((ln) => ln.map((p) => p.text).join(''))
|
||||||
|
.join(' ');
|
||||||
this.renderer.optimisedRenderPreReflow(state.processed);
|
this.renderer.optimisedRenderPreReflow(state.processed);
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
this._sendRenderError(e);
|
this._sendRenderError(e);
|
||||||
|
|
11
library.htm
11
library.htm
|
@ -679,6 +679,17 @@ Returns an object containing <code>width</code> and <code>height</code>
|
||||||
properties, corresponding to the size of the diagram in units.
|
properties, corresponding to the size of the diagram in units.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
<h3 id="API_getTitle">.getTitle</h3>
|
||||||
|
|
||||||
|
<pre data-lang="javascript">
|
||||||
|
title = diagram.getTitle();
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Returns the document title as a string. All formatting is lost, and
|
||||||
|
newlines are replaced with spaces. Returns a blank string if no title is set.
|
||||||
|
</p>
|
||||||
|
|
||||||
<h3 id="API_setContainer">.setContainer</h3>
|
<h3 id="API_setContainer">.setContainer</h3>
|
||||||
|
|
||||||
<pre data-lang="javascript">
|
<pre data-lang="javascript">
|
||||||
|
|
|
@ -92,6 +92,7 @@ export default class SequenceDiagram extends EventObject {
|
||||||
generator: SharedGenerator,
|
generator: SharedGenerator,
|
||||||
isInteractive: false,
|
isInteractive: false,
|
||||||
latestProcessed: null,
|
latestProcessed: null,
|
||||||
|
latestTitle: '',
|
||||||
parser: SharedParser,
|
parser: SharedParser,
|
||||||
registerCodeMirrorMode,
|
registerCodeMirrorMode,
|
||||||
renderer: new Renderer(Object.assign({
|
renderer: new Renderer(Object.assign({
|
||||||
|
@ -257,6 +258,10 @@ export default class SequenceDiagram extends EventObject {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getTitle() {
|
||||||
|
return this.latestTitle;
|
||||||
|
}
|
||||||
|
|
||||||
_revertParent(state) {
|
_revertParent(state) {
|
||||||
const dom = this.renderer.dom();
|
const dom = this.renderer.dom();
|
||||||
if(dom.parentNode !== state.originalParent) {
|
if(dom.parentNode !== state.originalParent) {
|
||||||
|
@ -293,6 +298,10 @@ export default class SequenceDiagram extends EventObject {
|
||||||
if(!state.processed) {
|
if(!state.processed) {
|
||||||
state.processed = this.process(this.code);
|
state.processed = this.process(this.code);
|
||||||
}
|
}
|
||||||
|
const titleParts = state.processed.meta.title || [];
|
||||||
|
this.latestTitle = titleParts
|
||||||
|
.map((ln) => ln.map((p) => p.text).join(''))
|
||||||
|
.join(' ');
|
||||||
this.renderer.optimisedRenderPreReflow(state.processed);
|
this.renderer.optimisedRenderPreReflow(state.processed);
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
this._sendRenderError(e);
|
this._sendRenderError(e);
|
||||||
|
|
|
@ -185,4 +185,10 @@ describe('SequenceDiagram', () => {
|
||||||
expect(svg).toContain('<?xml version="1.0" encoding="UTF-8" ?>');
|
expect(svg).toContain('<?xml version="1.0" encoding="UTF-8" ?>');
|
||||||
expect(svg).toContain('<svg width="');
|
expect(svg).toContain('<svg width="');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('makes the raw title text available', () => {
|
||||||
|
const diagram = makeDiagram('title "foo **bold**\nbar"');
|
||||||
|
|
||||||
|
expect(diagram.getTitle()).toEqual('foo bold bar');
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -15,6 +15,7 @@ describe('Interface', () => {
|
||||||
'render',
|
'render',
|
||||||
'clone',
|
'clone',
|
||||||
'getSize',
|
'getSize',
|
||||||
|
'getTitle',
|
||||||
'process',
|
'process',
|
||||||
'getThemeNames',
|
'getThemeNames',
|
||||||
'on',
|
'on',
|
||||||
|
@ -28,6 +29,7 @@ describe('Interface', () => {
|
||||||
});
|
});
|
||||||
sequenceDiagram.on.and.returnValue(sequenceDiagram);
|
sequenceDiagram.on.and.returnValue(sequenceDiagram);
|
||||||
sequenceDiagram.getSize.and.returnValue({height: 20, width: 10});
|
sequenceDiagram.getSize.and.returnValue({height: 20, width: 10});
|
||||||
|
sequenceDiagram.getTitle.and.returnValue('');
|
||||||
sequenceDiagram.dom.and.returnValue(dom.createElement('svg'));
|
sequenceDiagram.dom.and.returnValue(dom.createElement('svg'));
|
||||||
container = dom.createElement('div');
|
container = dom.createElement('div');
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue