Add getTitle method
This commit is contained in:
parent
a73bf1ad98
commit
bdd8122a9f
|
@ -10362,6 +10362,7 @@
|
|||
generator: SharedGenerator,
|
||||
isInteractive: false,
|
||||
latestProcessed: null,
|
||||
latestTitle: '',
|
||||
parser: SharedParser,
|
||||
registerCodeMirrorMode,
|
||||
renderer: new Renderer(Object.assign({
|
||||
|
@ -10527,6 +10528,10 @@
|
|||
};
|
||||
}
|
||||
|
||||
getTitle() {
|
||||
return this.latestTitle;
|
||||
}
|
||||
|
||||
_revertParent(state) {
|
||||
const dom = this.renderer.dom();
|
||||
if(dom.parentNode !== state.originalParent) {
|
||||
|
@ -10563,6 +10568,10 @@
|
|||
if(!state.processed) {
|
||||
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);
|
||||
} catch(e) {
|
||||
this._sendRenderError(e);
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -10362,6 +10362,7 @@
|
|||
generator: SharedGenerator,
|
||||
isInteractive: false,
|
||||
latestProcessed: null,
|
||||
latestTitle: '',
|
||||
parser: SharedParser,
|
||||
registerCodeMirrorMode,
|
||||
renderer: new Renderer(Object.assign({
|
||||
|
@ -10527,6 +10528,10 @@
|
|||
};
|
||||
}
|
||||
|
||||
getTitle() {
|
||||
return this.latestTitle;
|
||||
}
|
||||
|
||||
_revertParent(state) {
|
||||
const dom = this.renderer.dom();
|
||||
if(dom.parentNode !== state.originalParent) {
|
||||
|
@ -10563,6 +10568,10 @@
|
|||
if(!state.processed) {
|
||||
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);
|
||||
} catch(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.
|
||||
</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>
|
||||
|
||||
<pre data-lang="javascript">
|
||||
|
|
|
@ -92,6 +92,7 @@ export default class SequenceDiagram extends EventObject {
|
|||
generator: SharedGenerator,
|
||||
isInteractive: false,
|
||||
latestProcessed: null,
|
||||
latestTitle: '',
|
||||
parser: SharedParser,
|
||||
registerCodeMirrorMode,
|
||||
renderer: new Renderer(Object.assign({
|
||||
|
@ -257,6 +258,10 @@ export default class SequenceDiagram extends EventObject {
|
|||
};
|
||||
}
|
||||
|
||||
getTitle() {
|
||||
return this.latestTitle;
|
||||
}
|
||||
|
||||
_revertParent(state) {
|
||||
const dom = this.renderer.dom();
|
||||
if(dom.parentNode !== state.originalParent) {
|
||||
|
@ -293,6 +298,10 @@ export default class SequenceDiagram extends EventObject {
|
|||
if(!state.processed) {
|
||||
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);
|
||||
} catch(e) {
|
||||
this._sendRenderError(e);
|
||||
|
|
|
@ -185,4 +185,10 @@ describe('SequenceDiagram', () => {
|
|||
expect(svg).toContain('<?xml version="1.0" encoding="UTF-8" ?>');
|
||||
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',
|
||||
'clone',
|
||||
'getSize',
|
||||
'getTitle',
|
||||
'process',
|
||||
'getThemeNames',
|
||||
'on',
|
||||
|
@ -28,6 +29,7 @@ describe('Interface', () => {
|
|||
});
|
||||
sequenceDiagram.on.and.returnValue(sequenceDiagram);
|
||||
sequenceDiagram.getSize.and.returnValue({height: 20, width: 10});
|
||||
sequenceDiagram.getTitle.and.returnValue('');
|
||||
sequenceDiagram.dom.and.returnValue(dom.createElement('svg'));
|
||||
container = dom.createElement('div');
|
||||
|
||||
|
|
Loading…
Reference in New Issue