feat(svg): Provide support for SVG foreignObject by adding xhtml namespace
Closes #6192
This commit is contained in:
parent
61cf499b0b
commit
eb688f2c8e
|
@ -6,8 +6,11 @@ import {splitNsName} from 'angular2/src/compiler/html_tags';
|
|||
|
||||
import {ElementSchemaRegistry} from './element_schema_registry';
|
||||
|
||||
const NAMESPACE_URIS =
|
||||
CONST_EXPR({'xlink': 'http://www.w3.org/1999/xlink', 'svg': 'http://www.w3.org/2000/svg'});
|
||||
const NAMESPACE_URIS = CONST_EXPR({
|
||||
'xlink': 'http://www.w3.org/1999/xlink',
|
||||
'svg': 'http://www.w3.org/2000/svg',
|
||||
'xhtml': 'http://www.w3.org/1999/xhtml'
|
||||
});
|
||||
|
||||
@Injectable()
|
||||
export class DomElementSchemaRegistry extends ElementSchemaRegistry {
|
||||
|
|
|
@ -28,8 +28,11 @@ import {ViewEncapsulation} from 'angular2/src/core/metadata';
|
|||
import {DOM} from 'angular2/src/platform/dom/dom_adapter';
|
||||
import {camelCaseToDashCase} from './util';
|
||||
|
||||
const NAMESPACE_URIS =
|
||||
CONST_EXPR({'xlink': 'http://www.w3.org/1999/xlink', 'svg': 'http://www.w3.org/2000/svg'});
|
||||
const NAMESPACE_URIS = CONST_EXPR({
|
||||
'xlink': 'http://www.w3.org/1999/xlink',
|
||||
'svg': 'http://www.w3.org/2000/svg',
|
||||
'xhtml': 'http://www.w3.org/1999/xhtml'
|
||||
});
|
||||
const TEMPLATE_COMMENT_TEXT = 'template bindings={}';
|
||||
var TEMPLATE_BINDINGS_EXP = /^template bindings=(.*)$/g;
|
||||
|
||||
|
|
|
@ -1859,6 +1859,30 @@ function declareTests() {
|
|||
});
|
||||
}));
|
||||
|
||||
it('should support foreignObjects',
|
||||
inject([TestComponentBuilder, AsyncTestCompleter], (tcb: TestComponentBuilder,
|
||||
async) => {
|
||||
tcb.overrideView(
|
||||
MyComp, new ViewMetadata({
|
||||
template:
|
||||
'<svg><foreignObject><xhtml:div><p>Test</p></xhtml:div></foreignObject></svg>'
|
||||
}))
|
||||
.createAsync(MyComp)
|
||||
.then((fixture) => {
|
||||
var el = fixture.debugElement.nativeElement;
|
||||
var svg = DOM.childNodes(el)[0];
|
||||
var foreignObject = DOM.childNodes(svg)[0];
|
||||
var p = DOM.childNodes(foreignObject)[0];
|
||||
expect(DOM.getProperty(<Element>svg, 'namespaceURI'))
|
||||
.toEqual('http://www.w3.org/2000/svg');
|
||||
expect(DOM.getProperty(<Element>foreignObject, 'namespaceURI'))
|
||||
.toEqual('http://www.w3.org/2000/svg');
|
||||
expect(DOM.getProperty(<Element>p, 'namespaceURI'))
|
||||
.toEqual('http://www.w3.org/1999/xhtml');
|
||||
|
||||
async.done();
|
||||
});
|
||||
}));
|
||||
});
|
||||
|
||||
describe('attributes', () => {
|
||||
|
|
Loading…
Reference in New Issue