happy-dom 9.1.7 → 9.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of happy-dom might be problematic. Click here for more details.
- package/lib/nodes/document/Document.d.ts +5 -5
- package/lib/nodes/document/Document.js +1 -1
- package/lib/nodes/document/Document.js.map +1 -1
- package/lib/nodes/document/IDocument.d.ts +1 -1
- package/lib/nodes/document-fragment/DocumentFragment.d.ts +1 -1
- package/lib/nodes/document-fragment/DocumentFragment.js.map +1 -1
- package/lib/nodes/element/Element.d.ts +4 -4
- package/lib/nodes/element/Element.js +2 -2
- package/lib/nodes/element/Element.js.map +1 -1
- package/lib/nodes/element/ElementUtility.js +1 -1
- package/lib/nodes/element/ElementUtility.js.map +1 -1
- package/lib/nodes/element/HTMLCollection.d.ts +10 -3
- package/lib/nodes/element/HTMLCollection.js +18 -5
- package/lib/nodes/element/HTMLCollection.js.map +1 -1
- package/lib/nodes/element/IHTMLCollection.d.ts +2 -2
- package/lib/nodes/html-form-element/HTMLFormControlsCollection.d.ts +21 -3
- package/lib/nodes/html-form-element/HTMLFormControlsCollection.js +41 -6
- package/lib/nodes/html-form-element/HTMLFormControlsCollection.js.map +1 -1
- package/lib/nodes/html-form-element/IHTMLFormControlsCollection.d.ts +1 -2
- package/lib/nodes/html-select-element/HTMLOptionsCollection.d.ts +1 -1
- package/lib/nodes/html-select-element/HTMLOptionsCollection.js.map +1 -1
- package/lib/nodes/html-select-element/HTMLSelectElement.js +1 -1
- package/lib/nodes/html-select-element/HTMLSelectElement.js.map +1 -1
- package/lib/nodes/html-select-element/IHTMLOptionsCollection.d.ts +1 -1
- package/lib/nodes/parent-node/IParentNode.d.ts +4 -4
- package/lib/nodes/parent-node/ParentNodeUtility.d.ts +3 -3
- package/lib/nodes/parent-node/ParentNodeUtility.js.map +1 -1
- package/package.json +1 -1
- package/src/nodes/document/Document.ts +6 -14
- package/src/nodes/document/IDocument.ts +1 -1
- package/src/nodes/document-fragment/DocumentFragment.ts +1 -1
- package/src/nodes/element/Element.ts +13 -14
- package/src/nodes/element/ElementUtility.ts +8 -7
- package/src/nodes/element/HTMLCollection.ts +21 -10
- package/src/nodes/element/IHTMLCollection.ts +2 -2
- package/src/nodes/html-form-element/HTMLFormControlsCollection.ts +53 -13
- package/src/nodes/html-form-element/IHTMLFormControlsCollection.ts +2 -8
- package/src/nodes/html-select-element/HTMLOptionsCollection.ts +1 -1
- package/src/nodes/html-select-element/HTMLSelectElement.ts +1 -3
- package/src/nodes/html-select-element/IHTMLOptionsCollection.ts +1 -2
- package/src/nodes/parent-node/IParentNode.ts +4 -7
- package/src/nodes/parent-node/ParentNodeUtility.ts +9 -9
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"HTMLOptionsCollection.js","sourceRoot":"","sources":["../../../src/nodes/html-select-element/HTMLOptionsCollection.ts"],"names":[],"mappings":";;;;;AAAA,gFAAwD;AACxD,+EAAuD;AAKvD;;;;;GAKG;AACH,MAAqB,qBACpB,SAAQ,
|
1
|
+
{"version":3,"file":"HTMLOptionsCollection.js","sourceRoot":"","sources":["../../../src/nodes/html-select-element/HTMLOptionsCollection.ts"],"names":[],"mappings":";;;;;AAAA,gFAAwD;AACxD,+EAAuD;AAKvD;;;;;GAKG;AACH,MAAqB,qBACpB,SAAQ,wBAAkC;IAK1C;;;OAGG;IACH,YAAY,aAAiC;QAC5C,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,IAAW,aAAa;QACvB,OAAO,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACH,IAAW,aAAa,CAAC,aAAqB;QAC7C,IAAI,CAAC,cAAc,CAAC,aAAa,GAAG,aAAa,CAAC;IACnD,CAAC;IAED;;;;OAIG;IACI,IAAI,CAAC,KAAa;QACxB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACI,GAAG,CAAC,OAA2B,EAAE,MAAoC;QAC3E,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,CAAC,EAAE;YAC5B,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACzC,OAAO;SACP;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE;YAClC,IAAI,MAAM,GAAG,CAAC,EAAE;gBACf,OAAO;aACP;YAED,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAS,MAAM,CAAC,CAAC,CAAC;YAChE,OAAO;SACP;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEnC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YACjB,MAAM,IAAI,sBAAY,CACrB,8HAA8H,CAC9H,CAAC;SACF;QAED,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACxD,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,KAAa;QAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE;YAChB,IAAI,CAAC,cAAc,CAAC,WAAW,CAAqB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;SACjE;IACF,CAAC;CACD;AApFD,wCAoFC"}
|
@@ -308,7 +308,7 @@ class HTMLSelectElement extends HTMLElement_1.default {
|
|
308
308
|
* @param [selectedOption] Selected option.
|
309
309
|
*/
|
310
310
|
_updateOptionItems(selectedOption) {
|
311
|
-
const optionElements =
|
311
|
+
const optionElements = this.getElementsByTagName('option');
|
312
312
|
if (optionElements.length < this.options.length) {
|
313
313
|
this.options.splice(this.options.length - 1, this.options.length - optionElements.length);
|
314
314
|
for (let i = optionElements.length - 1, max = this.length; i < max; i++) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"HTMLSelectElement.js","sourceRoot":"","sources":["../../../src/nodes/html-select-element/HTMLSelectElement.ts"],"names":[],"mappings":";;;;;AAAA,8EAAsD;AAGtD,uFAA+D;AAG/D,oFAA4D;AAG5D,8DAAsC;AAItC,wEAAgD;AAIhD,gEAAwC;AAIxC;;;;;GAKG;AACH,MAAqB,iBAAkB,SAAQ,qBAAW;IAA1D;;QACC,qBAAqB;QACL,WAAM,GAAG,CAAC,CAAC;QACX,YAAO,GAA2B,IAAI,+BAAqB,CAAC,IAAI,CAAC,CAAC;QAClE,sBAAiB,GAAG,EAAE,CAAC;QACvB,aAAQ,GAAG,IAAI,uBAAa,CAAC,IAAI,CAAC,CAAC;QAEnD,qBAAqB;QACd,gBAAW,GAAU,IAAI,CAAC;QAEjC,SAAS;QACF,aAAQ,GAAkC,IAAI,CAAC;QAC/C,YAAO,GAAkC,IAAI,CAAC;
|
1
|
+
{"version":3,"file":"HTMLSelectElement.js","sourceRoot":"","sources":["../../../src/nodes/html-select-element/HTMLSelectElement.ts"],"names":[],"mappings":"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"}
|
@@ -6,7 +6,7 @@ import IHTMLOptionElement from '../html-option-element/IHTMLOptionElement';
|
|
6
6
|
* Reference:
|
7
7
|
* https://developer.mozilla.org/en-US/docs/Web/API/HTMLOptionsCollection.
|
8
8
|
*/
|
9
|
-
export default interface IHTMLOptionsCollection extends IHTMLCollection<IHTMLOptionElement
|
9
|
+
export default interface IHTMLOptionsCollection extends IHTMLCollection<IHTMLOptionElement> {
|
10
10
|
selectedIndex: number;
|
11
11
|
length: number;
|
12
12
|
/**
|
@@ -6,7 +6,7 @@ export default interface IParentNode extends INode {
|
|
6
6
|
readonly childElementCount: number;
|
7
7
|
readonly firstElementChild: IElement;
|
8
8
|
readonly lastElementChild: IElement;
|
9
|
-
readonly children: IHTMLCollection<IElement
|
9
|
+
readonly children: IHTMLCollection<IElement>;
|
10
10
|
/**
|
11
11
|
* Inserts a set of Node objects or DOMString objects after the last child of the ParentNode. DOMString objects are inserted as equivalent Text nodes.
|
12
12
|
*
|
@@ -39,14 +39,14 @@ export default interface IParentNode extends INode {
|
|
39
39
|
* @param className Tag name.
|
40
40
|
* @returns Matching element.
|
41
41
|
*/
|
42
|
-
getElementsByClassName(className: string): IHTMLCollection<IElement
|
42
|
+
getElementsByClassName(className: string): IHTMLCollection<IElement>;
|
43
43
|
/**
|
44
44
|
* Returns an elements by tag name.
|
45
45
|
*
|
46
46
|
* @param tagName Tag name.
|
47
47
|
* @returns Matching element.
|
48
48
|
*/
|
49
|
-
getElementsByTagName(tagName: string): IHTMLCollection<IElement
|
49
|
+
getElementsByTagName(tagName: string): IHTMLCollection<IElement>;
|
50
50
|
/**
|
51
51
|
* Returns an elements by tag name and namespace.
|
52
52
|
*
|
@@ -54,7 +54,7 @@ export default interface IParentNode extends INode {
|
|
54
54
|
* @param tagName Tag name.
|
55
55
|
* @returns Matching element.
|
56
56
|
*/
|
57
|
-
getElementsByTagNameNS(namespaceURI: string, tagName: string): IHTMLCollection<IElement
|
57
|
+
getElementsByTagNameNS(namespaceURI: string, tagName: string): IHTMLCollection<IElement>;
|
58
58
|
/**
|
59
59
|
* Replaces the existing children of a node with a specified new set of children.
|
60
60
|
*
|
@@ -35,7 +35,7 @@ export default class ParentNodeUtility {
|
|
35
35
|
* @param className Tag name.
|
36
36
|
* @returns Matching element.
|
37
37
|
*/
|
38
|
-
static getElementsByClassName(parentNode: IElement | IDocumentFragment | IDocument, className: string): IHTMLCollection<IElement
|
38
|
+
static getElementsByClassName(parentNode: IElement | IDocumentFragment | IDocument, className: string): IHTMLCollection<IElement>;
|
39
39
|
/**
|
40
40
|
* Returns an elements by tag name.
|
41
41
|
*
|
@@ -43,7 +43,7 @@ export default class ParentNodeUtility {
|
|
43
43
|
* @param tagName Tag name.
|
44
44
|
* @returns Matching element.
|
45
45
|
*/
|
46
|
-
static getElementsByTagName(parentNode: IElement | IDocumentFragment | IDocument, tagName: string): IHTMLCollection<IElement
|
46
|
+
static getElementsByTagName(parentNode: IElement | IDocumentFragment | IDocument, tagName: string): IHTMLCollection<IElement>;
|
47
47
|
/**
|
48
48
|
* Returns an elements by tag name and namespace.
|
49
49
|
*
|
@@ -52,7 +52,7 @@ export default class ParentNodeUtility {
|
|
52
52
|
* @param tagName Tag name.
|
53
53
|
* @returns Matching element.
|
54
54
|
*/
|
55
|
-
static getElementsByTagNameNS(parentNode: IElement | IDocumentFragment | IDocument, namespaceURI: string, tagName: string): IHTMLCollection<IElement
|
55
|
+
static getElementsByTagNameNS(parentNode: IElement | IDocumentFragment | IDocument, namespaceURI: string, tagName: string): IHTMLCollection<IElement>;
|
56
56
|
/**
|
57
57
|
* Returns the first element matching a tag name.
|
58
58
|
* This is not part of the browser standard and is only used internally in the document.
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ParentNodeUtility.js","sourceRoot":"","sources":["../../../src/nodes/parent-node/ParentNodeUtility.ts"],"names":[],"mappings":";;;;;AAAA,2EAAmD;AAMnD,+EAAuD;AAEvD;;GAEG;AACH,MAAqB,iBAAiB;IACrC;;;;;OAKG;IACI,MAAM,CAAC,MAAM,CAAC,UAAiB,EAAE,GAAG,KAAyB;QACnE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC7B,MAAM,aAAa,GAAG,mBAAS,CAAC,KAAK,CACzB,UAAU,CAAC,aAAa,EACnC,IAAI,CACJ,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACrB,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE;oBACzC,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;iBACrC;aACD;iBAAM;gBACN,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aAC7B;SACD;IACF,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,OAAO,CAAC,UAAiB,EAAE,GAAG,KAAyB;QACpE,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QAEzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC7B,MAAM,aAAa,GAAG,mBAAS,CAAC,KAAK,CACzB,UAAU,CAAC,aAAa,EACnC,IAAI,CACJ,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACrB,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE;oBACzC,UAAU,CAAC,YAAY,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;iBAClD;aACD;iBAAM;gBACN,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;aAC1C;SACD;IACF,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,eAAe,CAAC,UAAiB,EAAE,GAAG,KAAyB;QAC5E,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE;YACjD,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SAC7B;QAED,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,KAAK,CAAC,CAAC;IACnC,CAAC;IACD;;;;;;OAMG;IACI,MAAM,CAAC,sBAAsB,CACnC,UAAoD,EACpD,SAAiB;QAEjB,IAAI,OAAO,GAAG,IAAI,wBAAc,
|
1
|
+
{"version":3,"file":"ParentNodeUtility.js","sourceRoot":"","sources":["../../../src/nodes/parent-node/ParentNodeUtility.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -57,10 +57,7 @@ export default class Document extends Node implements IDocument {
|
|
57
57
|
public nodeType = Node.DOCUMENT_NODE;
|
58
58
|
public adoptedStyleSheets: CSSStyleSheet[] = [];
|
59
59
|
public implementation: DOMImplementation;
|
60
|
-
public readonly children: IHTMLCollection<IElement
|
61
|
-
IElement,
|
62
|
-
IElement
|
63
|
-
>();
|
60
|
+
public readonly children: IHTMLCollection<IElement> = new HTMLCollection<IElement>();
|
64
61
|
public readonly readyState = DocumentReadyStateEnum.interactive;
|
65
62
|
public readonly isConnected: boolean = true;
|
66
63
|
public readonly defaultView: IWindow;
|
@@ -421,10 +418,8 @@ export default class Document extends Node implements IDocument {
|
|
421
418
|
*
|
422
419
|
* @returns Scripts.
|
423
420
|
*/
|
424
|
-
public get scripts(): IHTMLCollection<IHTMLScriptElement
|
425
|
-
return <IHTMLCollection<IHTMLScriptElement
|
426
|
-
this.getElementsByTagName('script')
|
427
|
-
);
|
421
|
+
public get scripts(): IHTMLCollection<IHTMLScriptElement> {
|
422
|
+
return <IHTMLCollection<IHTMLScriptElement>>this.getElementsByTagName('script');
|
428
423
|
}
|
429
424
|
|
430
425
|
/**
|
@@ -538,7 +533,7 @@ export default class Document extends Node implements IDocument {
|
|
538
533
|
* @param className Tag name.
|
539
534
|
* @returns Matching element.
|
540
535
|
*/
|
541
|
-
public getElementsByClassName(className: string): IHTMLCollection<IElement
|
536
|
+
public getElementsByClassName(className: string): IHTMLCollection<IElement> {
|
542
537
|
return ParentNodeUtility.getElementsByClassName(this, className);
|
543
538
|
}
|
544
539
|
|
@@ -548,7 +543,7 @@ export default class Document extends Node implements IDocument {
|
|
548
543
|
* @param tagName Tag name.
|
549
544
|
* @returns Matching element.
|
550
545
|
*/
|
551
|
-
public getElementsByTagName(tagName: string): IHTMLCollection<IElement
|
546
|
+
public getElementsByTagName(tagName: string): IHTMLCollection<IElement> {
|
552
547
|
return ParentNodeUtility.getElementsByTagName(this, tagName);
|
553
548
|
}
|
554
549
|
|
@@ -559,10 +554,7 @@ export default class Document extends Node implements IDocument {
|
|
559
554
|
* @param tagName Tag name.
|
560
555
|
* @returns Matching element.
|
561
556
|
*/
|
562
|
-
public getElementsByTagNameNS(
|
563
|
-
namespaceURI: string,
|
564
|
-
tagName: string
|
565
|
-
): IHTMLCollection<IElement, IElement> {
|
557
|
+
public getElementsByTagNameNS(namespaceURI: string, tagName: string): IHTMLCollection<IElement> {
|
566
558
|
return ParentNodeUtility.getElementsByTagNameNS(this, namespaceURI, tagName);
|
567
559
|
}
|
568
560
|
|
@@ -32,7 +32,7 @@ export default interface IDocument extends IParentNode {
|
|
32
32
|
readonly doctype: IDocumentType;
|
33
33
|
readonly body: IHTMLElement;
|
34
34
|
readonly head: IHTMLElement;
|
35
|
-
readonly scripts: IHTMLCollection<IHTMLScriptElement
|
35
|
+
readonly scripts: IHTMLCollection<IHTMLScriptElement>;
|
36
36
|
readonly activeElement: IHTMLElement;
|
37
37
|
readonly styleSheets: CSSStyleSheet[];
|
38
38
|
readonly scrollingElement: IHTMLElement;
|
@@ -14,7 +14,7 @@ import INodeList from '../node/INodeList';
|
|
14
14
|
*/
|
15
15
|
export default class DocumentFragment extends Node implements IDocumentFragment {
|
16
16
|
public nodeType = Node.DOCUMENT_FRAGMENT_NODE;
|
17
|
-
public readonly children: IHTMLCollection<IElement
|
17
|
+
public readonly children: IHTMLCollection<IElement> = new HTMLCollection();
|
18
18
|
public _rootNode: INode = this;
|
19
19
|
|
20
20
|
/**
|
@@ -46,7 +46,7 @@ export default class Element extends Node implements IElement {
|
|
46
46
|
|
47
47
|
public scrollTop = 0;
|
48
48
|
public scrollLeft = 0;
|
49
|
-
public children: IHTMLCollection<IElement
|
49
|
+
public children: IHTMLCollection<IElement> = new HTMLCollection<IElement>();
|
50
50
|
public readonly namespaceURI: string = null;
|
51
51
|
|
52
52
|
// Events
|
@@ -778,7 +778,7 @@ export default class Element extends Node implements IElement {
|
|
778
778
|
* @param className Tag name.
|
779
779
|
* @returns Matching element.
|
780
780
|
*/
|
781
|
-
public getElementsByClassName(className: string): IHTMLCollection<IElement
|
781
|
+
public getElementsByClassName(className: string): IHTMLCollection<IElement> {
|
782
782
|
return ParentNodeUtility.getElementsByClassName(this, className);
|
783
783
|
}
|
784
784
|
|
@@ -788,7 +788,7 @@ export default class Element extends Node implements IElement {
|
|
788
788
|
* @param tagName Tag name.
|
789
789
|
* @returns Matching element.
|
790
790
|
*/
|
791
|
-
public getElementsByTagName(tagName: string): IHTMLCollection<IElement
|
791
|
+
public getElementsByTagName(tagName: string): IHTMLCollection<IElement> {
|
792
792
|
return ParentNodeUtility.getElementsByTagName(this, tagName);
|
793
793
|
}
|
794
794
|
|
@@ -799,10 +799,7 @@ export default class Element extends Node implements IElement {
|
|
799
799
|
* @param tagName Tag name.
|
800
800
|
* @returns Matching element.
|
801
801
|
*/
|
802
|
-
public getElementsByTagNameNS(
|
803
|
-
namespaceURI: string,
|
804
|
-
tagName: string
|
805
|
-
): IHTMLCollection<IElement, IElement> {
|
802
|
+
public getElementsByTagNameNS(namespaceURI: string, tagName: string): IHTMLCollection<IElement> {
|
806
803
|
return ParentNodeUtility.getElementsByTagNameNS(this, namespaceURI, tagName);
|
807
804
|
}
|
808
805
|
|
@@ -834,14 +831,16 @@ export default class Element extends Node implements IElement {
|
|
834
831
|
if (attribute.name === 'id' || attribute.name === 'name') {
|
835
832
|
if (this.parentNode && (<IElement>this.parentNode).children && attribute.value !== oldValue) {
|
836
833
|
if (oldValue) {
|
837
|
-
(<HTMLCollection<IElement
|
838
|
-
|
839
|
-
|
834
|
+
(<HTMLCollection<IElement>>(<IElement>this.parentNode).children)._removeNamedItem(
|
835
|
+
this,
|
836
|
+
oldValue
|
837
|
+
);
|
840
838
|
}
|
841
839
|
if (attribute.value) {
|
842
|
-
(<HTMLCollection<IElement
|
843
|
-
|
844
|
-
|
840
|
+
(<HTMLCollection<IElement>>(<IElement>this.parentNode).children)._appendNamedItem(
|
841
|
+
this,
|
842
|
+
attribute.value
|
843
|
+
);
|
845
844
|
}
|
846
845
|
}
|
847
846
|
}
|
@@ -946,7 +945,7 @@ export default class Element extends Node implements IElement {
|
|
946
945
|
|
947
946
|
if (attribute.name === 'id' || attribute.name === 'name') {
|
948
947
|
if (this.parentNode && (<IElement>this.parentNode).children && attribute.value) {
|
949
|
-
(<HTMLCollection<IElement
|
948
|
+
(<HTMLCollection<IElement>>(<IElement>this.parentNode).children)._removeNamedItem(
|
950
949
|
this,
|
951
950
|
attribute.value
|
952
951
|
);
|
@@ -29,9 +29,10 @@ export default class ElementUtility {
|
|
29
29
|
if (index !== -1) {
|
30
30
|
for (const attribute of NAMED_ITEM_ATTRIBUTES) {
|
31
31
|
if ((<Element>node)._attributes[attribute]) {
|
32
|
-
(<HTMLCollection<IHTMLElement
|
33
|
-
|
34
|
-
|
32
|
+
(<HTMLCollection<IHTMLElement>>(<IElement>node.parentNode).children)._removeNamedItem(
|
33
|
+
<IHTMLElement>node,
|
34
|
+
(<Element>node)._attributes[attribute].value
|
35
|
+
);
|
35
36
|
}
|
36
37
|
}
|
37
38
|
(<IHTMLElement>node.parentNode).children.splice(index, 1);
|
@@ -40,7 +41,7 @@ export default class ElementUtility {
|
|
40
41
|
|
41
42
|
for (const attribute of NAMED_ITEM_ATTRIBUTES) {
|
42
43
|
if ((<Element>node)._attributes[attribute]) {
|
43
|
-
(<HTMLCollection<IHTMLElement
|
44
|
+
(<HTMLCollection<IHTMLElement>>parentElement.children)._appendNamedItem(
|
44
45
|
<IHTMLElement>node,
|
45
46
|
(<Element>node)._attributes[attribute].value
|
46
47
|
);
|
@@ -66,7 +67,7 @@ export default class ElementUtility {
|
|
66
67
|
if (index !== -1) {
|
67
68
|
for (const attribute of NAMED_ITEM_ATTRIBUTES) {
|
68
69
|
if ((<Element>node)._attributes[attribute]) {
|
69
|
-
(<HTMLCollection<IHTMLElement
|
70
|
+
(<HTMLCollection<IHTMLElement>>parentElement.children)._removeNamedItem(
|
70
71
|
<IHTMLElement>node,
|
71
72
|
(<Element>node)._attributes[attribute].value
|
72
73
|
);
|
@@ -96,7 +97,7 @@ export default class ElementUtility {
|
|
96
97
|
if (index !== -1) {
|
97
98
|
for (const attribute of NAMED_ITEM_ATTRIBUTES) {
|
98
99
|
if ((<Element>newNode)._attributes[attribute]) {
|
99
|
-
(<HTMLCollection<IHTMLElement
|
100
|
+
(<HTMLCollection<IHTMLElement>>(
|
100
101
|
(<IElement>newNode.parentNode).children
|
101
102
|
))._removeNamedItem(
|
102
103
|
<IHTMLElement>newNode,
|
@@ -132,7 +133,7 @@ export default class ElementUtility {
|
|
132
133
|
if (referenceNode || referenceNode === null) {
|
133
134
|
for (const attribute of NAMED_ITEM_ATTRIBUTES) {
|
134
135
|
if ((<Element>newNode)._attributes[attribute]) {
|
135
|
-
(<HTMLCollection<IHTMLElement
|
136
|
+
(<HTMLCollection<IHTMLElement>>parentElement.children)._appendNamedItem(
|
136
137
|
<IHTMLElement>newNode,
|
137
138
|
(<Element>newNode)._attributes[attribute].value
|
138
139
|
);
|
@@ -1,12 +1,9 @@
|
|
1
1
|
import IHTMLCollection from './IHTMLCollection';
|
2
2
|
|
3
3
|
/**
|
4
|
-
*
|
4
|
+
* HTML collection.
|
5
5
|
*/
|
6
|
-
export default class HTMLCollection<T
|
7
|
-
extends Array
|
8
|
-
implements IHTMLCollection<T, NamedItem>
|
9
|
-
{
|
6
|
+
export default class HTMLCollection<T> extends Array implements IHTMLCollection<T> {
|
10
7
|
protected _namedItems: { [k: string]: T[] } = {};
|
11
8
|
|
12
9
|
/**
|
@@ -24,8 +21,10 @@ export default class HTMLCollection<T, NamedItem>
|
|
24
21
|
* @param name Name.
|
25
22
|
* @returns Node.
|
26
23
|
*/
|
27
|
-
public namedItem(name: string):
|
28
|
-
return this[name]
|
24
|
+
public namedItem(name: string): T | null {
|
25
|
+
return this._namedItems[name] && this._namedItems[name].length
|
26
|
+
? this._namedItems[name][0]
|
27
|
+
: null;
|
29
28
|
}
|
30
29
|
|
31
30
|
/**
|
@@ -42,7 +41,7 @@ export default class HTMLCollection<T, NamedItem>
|
|
42
41
|
this._namedItems[name].push(node);
|
43
42
|
}
|
44
43
|
|
45
|
-
if (!this[name]) {
|
44
|
+
if (!this[name] && this._isValidPropertyName(name)) {
|
46
45
|
this[name] = this._namedItems[name][0];
|
47
46
|
}
|
48
47
|
}
|
@@ -63,11 +62,23 @@ export default class HTMLCollection<T, NamedItem>
|
|
63
62
|
|
64
63
|
if (this._namedItems[name].length === 0) {
|
65
64
|
delete this._namedItems[name];
|
66
|
-
|
67
|
-
|
65
|
+
if (this._isValidPropertyName(name)) {
|
66
|
+
delete this[name];
|
67
|
+
}
|
68
|
+
} else if (this._isValidPropertyName(name)) {
|
68
69
|
this[name] = this._namedItems[name][0];
|
69
70
|
}
|
70
71
|
}
|
71
72
|
}
|
72
73
|
}
|
74
|
+
|
75
|
+
/**
|
76
|
+
* Returns "true" if the property name is valid.
|
77
|
+
*
|
78
|
+
* @param name Name.
|
79
|
+
* @returns True if the property name is valid.
|
80
|
+
*/
|
81
|
+
protected _isValidPropertyName(name: string): boolean {
|
82
|
+
return isNaN(Number(name)) || name.includes('.');
|
83
|
+
}
|
73
84
|
}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/**
|
2
2
|
* HTMLCollection.
|
3
3
|
*/
|
4
|
-
export default interface IHTMLCollection<T
|
4
|
+
export default interface IHTMLCollection<T> extends Array<T> {
|
5
5
|
/**
|
6
6
|
* Returns item by index.
|
7
7
|
*
|
@@ -15,5 +15,5 @@ export default interface IHTMLCollection<T, NamedItem> extends Array<T> {
|
|
15
15
|
* @param name Name.
|
16
16
|
* @returns Node.
|
17
17
|
*/
|
18
|
-
namedItem(name: string):
|
18
|
+
namedItem(name: string): T | null;
|
19
19
|
}
|
@@ -2,10 +2,8 @@ import IHTMLFormControlsCollection from './IHTMLFormControlsCollection';
|
|
2
2
|
import IHTMLInputElement from '../html-input-element/IHTMLInputElement';
|
3
3
|
import IHTMLTextAreaElement from '../html-text-area-element/IHTMLTextAreaElement';
|
4
4
|
import IHTMLSelectElement from '../html-select-element/IHTMLSelectElement';
|
5
|
-
import HTMLCollection from '../element/HTMLCollection';
|
6
5
|
import RadioNodeList from './RadioNodeList';
|
7
6
|
import IHTMLButtonElement from '../html-button-element/IHTMLButtonElement';
|
8
|
-
import IRadioNodeList from './IRadioNodeList';
|
9
7
|
|
10
8
|
/**
|
11
9
|
* HTMLFormControlsCollection.
|
@@ -13,17 +11,45 @@ import IRadioNodeList from './IRadioNodeList';
|
|
13
11
|
* @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormControlsCollection
|
14
12
|
*/
|
15
13
|
export default class HTMLFormControlsCollection
|
16
|
-
extends
|
17
|
-
|
14
|
+
extends Array<IHTMLInputElement | IHTMLTextAreaElement | IHTMLSelectElement | IHTMLButtonElement>
|
15
|
+
implements IHTMLFormControlsCollection
|
16
|
+
{
|
17
|
+
public _namedItems: { [k: string]: RadioNodeList } = {};
|
18
|
+
|
19
|
+
/**
|
20
|
+
* Returns item by index.
|
21
|
+
*
|
22
|
+
* @param index Index.
|
23
|
+
*/
|
24
|
+
public item(
|
25
|
+
index: number
|
26
|
+
): IHTMLInputElement | IHTMLTextAreaElement | IHTMLSelectElement | IHTMLButtonElement | null {
|
27
|
+
return index >= 0 && this[index] ? this[index] : null;
|
28
|
+
}
|
29
|
+
|
30
|
+
/**
|
31
|
+
* Returns named item.
|
32
|
+
*
|
33
|
+
* @param name Name.
|
34
|
+
* @returns Node.
|
35
|
+
*/
|
36
|
+
public namedItem(
|
37
|
+
name: string
|
38
|
+
):
|
18
39
|
| IHTMLInputElement
|
19
40
|
| IHTMLTextAreaElement
|
20
41
|
| IHTMLSelectElement
|
21
42
|
| IHTMLButtonElement
|
22
|
-
|
|
23
|
-
|
24
|
-
|
25
|
-
{
|
26
|
-
|
43
|
+
| RadioNodeList
|
44
|
+
| null {
|
45
|
+
if (this._namedItems[name] && this._namedItems[name].length) {
|
46
|
+
if (this._namedItems[name].length === 1) {
|
47
|
+
return this._namedItems[name][0];
|
48
|
+
}
|
49
|
+
return this._namedItems[name];
|
50
|
+
}
|
51
|
+
return null;
|
52
|
+
}
|
27
53
|
|
28
54
|
/**
|
29
55
|
* Appends named item.
|
@@ -42,8 +68,10 @@ export default class HTMLFormControlsCollection
|
|
42
68
|
this._namedItems[name].push(node);
|
43
69
|
}
|
44
70
|
|
45
|
-
this
|
46
|
-
this
|
71
|
+
if (this._isValidPropertyName(name)) {
|
72
|
+
this[name] =
|
73
|
+
this._namedItems[name].length > 1 ? this._namedItems[name] : this._namedItems[name][0];
|
74
|
+
}
|
47
75
|
}
|
48
76
|
}
|
49
77
|
|
@@ -65,12 +93,24 @@ export default class HTMLFormControlsCollection
|
|
65
93
|
|
66
94
|
if (this._namedItems[name].length === 0) {
|
67
95
|
delete this._namedItems[name];
|
68
|
-
|
69
|
-
|
96
|
+
if (this._isValidPropertyName(name)) {
|
97
|
+
delete this[name];
|
98
|
+
}
|
99
|
+
} else if (this._isValidPropertyName(name)) {
|
70
100
|
this[name] =
|
71
101
|
this._namedItems[name].length > 1 ? this._namedItems[name] : this._namedItems[name][0];
|
72
102
|
}
|
73
103
|
}
|
74
104
|
}
|
75
105
|
}
|
106
|
+
|
107
|
+
/**
|
108
|
+
* Returns "true" if the property name is valid.
|
109
|
+
*
|
110
|
+
* @param name Name.
|
111
|
+
* @returns True if the property name is valid.
|
112
|
+
*/
|
113
|
+
protected _isValidPropertyName(name: string): boolean {
|
114
|
+
return isNaN(Number(name)) || name.includes('.');
|
115
|
+
}
|
76
116
|
}
|
@@ -1,4 +1,3 @@
|
|
1
|
-
import IHTMLCollection from '../element/IHTMLCollection';
|
2
1
|
import IHTMLButtonElement from '../html-button-element/IHTMLButtonElement';
|
3
2
|
import IHTMLInputElement from '../html-input-element/IHTMLInputElement';
|
4
3
|
import IHTMLSelectElement from '../html-select-element/IHTMLSelectElement';
|
@@ -11,13 +10,8 @@ import IRadioNodeList from './IRadioNodeList';
|
|
11
10
|
* @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormControlsCollection
|
12
11
|
*/
|
13
12
|
export default interface IHTMLFormControlsCollection
|
14
|
-
extends
|
15
|
-
IHTMLInputElement | IHTMLTextAreaElement | IHTMLSelectElement | IHTMLButtonElement
|
16
|
-
| IHTMLInputElement
|
17
|
-
| IHTMLTextAreaElement
|
18
|
-
| IHTMLSelectElement
|
19
|
-
| IHTMLButtonElement
|
20
|
-
| IRadioNodeList
|
13
|
+
extends Array<
|
14
|
+
IHTMLInputElement | IHTMLTextAreaElement | IHTMLSelectElement | IHTMLButtonElement
|
21
15
|
> {
|
22
16
|
/**
|
23
17
|
* Returns item by index.
|
@@ -11,7 +11,7 @@ import IHTMLOptionsCollection from './IHTMLOptionsCollection';
|
|
11
11
|
* https://developer.mozilla.org/en-US/docs/Web/API/HTMLOptionsCollection.
|
12
12
|
*/
|
13
13
|
export default class HTMLOptionsCollection
|
14
|
-
extends HTMLCollection<IHTMLOptionElement
|
14
|
+
extends HTMLCollection<IHTMLOptionElement>
|
15
15
|
implements IHTMLOptionsCollection
|
16
16
|
{
|
17
17
|
private _selectElement: IHTMLSelectElement;
|
@@ -342,9 +342,7 @@ export default class HTMLSelectElement extends HTMLElement implements IHTMLSelec
|
|
342
342
|
* @param [selectedOption] Selected option.
|
343
343
|
*/
|
344
344
|
public _updateOptionItems(selectedOption?: IHTMLOptionElement): void {
|
345
|
-
const optionElements = <IHTMLCollection<IHTMLOptionElement
|
346
|
-
this.getElementsByTagName('option')
|
347
|
-
);
|
345
|
+
const optionElements = <IHTMLCollection<IHTMLOptionElement>>this.getElementsByTagName('option');
|
348
346
|
|
349
347
|
if (optionElements.length < this.options.length) {
|
350
348
|
this.options.splice(this.options.length - 1, this.options.length - optionElements.length);
|
@@ -7,8 +7,7 @@ import IHTMLOptionElement from '../html-option-element/IHTMLOptionElement';
|
|
7
7
|
* Reference:
|
8
8
|
* https://developer.mozilla.org/en-US/docs/Web/API/HTMLOptionsCollection.
|
9
9
|
*/
|
10
|
-
export default interface IHTMLOptionsCollection
|
11
|
-
extends IHTMLCollection<IHTMLOptionElement, IHTMLOptionElement> {
|
10
|
+
export default interface IHTMLOptionsCollection extends IHTMLCollection<IHTMLOptionElement> {
|
12
11
|
selectedIndex: number;
|
13
12
|
length: number;
|
14
13
|
|
@@ -7,7 +7,7 @@ export default interface IParentNode extends INode {
|
|
7
7
|
readonly childElementCount: number;
|
8
8
|
readonly firstElementChild: IElement;
|
9
9
|
readonly lastElementChild: IElement;
|
10
|
-
readonly children: IHTMLCollection<IElement
|
10
|
+
readonly children: IHTMLCollection<IElement>;
|
11
11
|
|
12
12
|
/**
|
13
13
|
* Inserts a set of Node objects or DOMString objects after the last child of the ParentNode. DOMString objects are inserted as equivalent Text nodes.
|
@@ -45,7 +45,7 @@ export default interface IParentNode extends INode {
|
|
45
45
|
* @param className Tag name.
|
46
46
|
* @returns Matching element.
|
47
47
|
*/
|
48
|
-
getElementsByClassName(className: string): IHTMLCollection<IElement
|
48
|
+
getElementsByClassName(className: string): IHTMLCollection<IElement>;
|
49
49
|
|
50
50
|
/**
|
51
51
|
* Returns an elements by tag name.
|
@@ -53,7 +53,7 @@ export default interface IParentNode extends INode {
|
|
53
53
|
* @param tagName Tag name.
|
54
54
|
* @returns Matching element.
|
55
55
|
*/
|
56
|
-
getElementsByTagName(tagName: string): IHTMLCollection<IElement
|
56
|
+
getElementsByTagName(tagName: string): IHTMLCollection<IElement>;
|
57
57
|
|
58
58
|
/**
|
59
59
|
* Returns an elements by tag name and namespace.
|
@@ -62,10 +62,7 @@ export default interface IParentNode extends INode {
|
|
62
62
|
* @param tagName Tag name.
|
63
63
|
* @returns Matching element.
|
64
64
|
*/
|
65
|
-
getElementsByTagNameNS(
|
66
|
-
namespaceURI: string,
|
67
|
-
tagName: string
|
68
|
-
): IHTMLCollection<IElement, IElement>;
|
65
|
+
getElementsByTagNameNS(namespaceURI: string, tagName: string): IHTMLCollection<IElement>;
|
69
66
|
|
70
67
|
/**
|
71
68
|
* Replaces the existing children of a node with a specified new set of children.
|