@@ -14,12 +14,15 @@ import SelectorElementClick from './Selector/SelectorElementClick';
1414import SelectorElementScroll from './Selector/SelectorElementScroll' ;
1515import SelectorElementAttribute from './Selector/SelectorElementAttribute' ;
1616import SelectorTable from './Selector/SelectorTable' ;
17+ import SelectorPageURL from './Selector/SelectorPageURL' ;
1718
1819export default class SelectorList extends Array {
1920 static createSelector ( options ) {
2021 switch ( options . type ) {
2122 case 'ConstantValue' :
2223 return new ConstantValue ( options ) ;
24+ case 'SelectorPageURL' :
25+ return new SelectorPageURL ( options ) ;
2326 case 'SelectorDocument' :
2427 return new SelectorDocument ( options ) ;
2528 case 'SelectorElement' :
@@ -96,9 +99,9 @@ export default class SelectorList extends Array {
9699 return this ;
97100 }
98101
99- let getAllChildSelectors = function ( parentSelectorId , resultSelectors ) {
102+ let getAllChildSelectors = function ( parentSelectorId , resultSelectors ) {
100103 this . forEach (
101- function ( selector ) {
104+ function ( selector ) {
102105 if ( selector . hasParentSelector ( parentSelectorId ) ) {
103106 if ( resultSelectors . indexOf ( selector ) === - 1 ) {
104107 resultSelectors . push ( selector ) ;
@@ -121,7 +124,7 @@ export default class SelectorList extends Array {
121124 */
122125 getDirectChildSelectors ( parentSelectorId ) {
123126 let resultSelectors = new SelectorList ( ) ;
124- this . forEach ( function ( selector ) {
127+ this . forEach ( function ( selector ) {
125128 if ( selector . hasParentSelector ( parentSelectorId ) ) {
126129 resultSelectors . push ( selector ) ;
127130 }
@@ -131,15 +134,15 @@ export default class SelectorList extends Array {
131134
132135 clone ( ) {
133136 let resultList = new SelectorList ( ) ;
134- this . forEach ( function ( selector ) {
137+ this . forEach ( function ( selector ) {
135138 resultList . push ( selector ) ;
136139 } ) ;
137140 return resultList ;
138141 }
139142
140143 fullClone ( ) {
141144 let resultList = new SelectorList ( ) ;
142- this . forEach ( function ( selector ) {
145+ this . forEach ( function ( selector ) {
143146 resultList . push ( JSON . parse ( JSON . stringify ( selector ) ) ) ;
144147 } ) ;
145148 return resultList ;
@@ -149,7 +152,7 @@ export default class SelectorList extends Array {
149152 let resultList = this . clone ( ) ;
150153 for ( let i in arguments ) {
151154 arguments [ i ] . forEach (
152- function ( selector ) {
155+ function ( selector ) {
153156 resultList . push ( selector ) ;
154157 } . bind ( this )
155158 ) ;
@@ -178,9 +181,9 @@ export default class SelectorList extends Array {
178181 resultList . push ( this . getSelector ( selectorId ) ) ;
179182
180183 // recursively find all parent selectors that could lead to the page where selectorId is used.
181- let findParentSelectors = function ( selector ) {
184+ let findParentSelectors = function ( selector ) {
182185 selector . parentSelectors . forEach (
183- function ( parentSelectorId ) {
186+ function ( parentSelectorId ) {
184187 if ( parentSelectorId === '_root' ) return ;
185188 let parentSelector = this . getSelector ( parentSelectorId ) ;
186189 if ( resultList . indexOf ( parentSelector ) !== - 1 ) return ;
@@ -205,11 +208,11 @@ export default class SelectorList extends Array {
205208 */
206209 getSinglePageAllChildSelectors ( parentSelectorId ) {
207210 let resultList = new SelectorList ( ) ;
208- let addChildSelectors = function ( parentSelector ) {
211+ let addChildSelectors = function ( parentSelector ) {
209212 if ( parentSelector . willReturnElements ( ) ) {
210213 let childSelectors = this . getDirectChildSelectors ( parentSelector . id ) ;
211214 childSelectors . forEach (
212- function ( childSelector ) {
215+ function ( childSelector ) {
213216 if ( resultList . indexOf ( childSelector ) === - 1 ) {
214217 resultList . push ( childSelector ) ;
215218 addChildSelectors ( childSelector ) ;
@@ -249,7 +252,7 @@ export default class SelectorList extends Array {
249252 */
250253 toJSON ( ) {
251254 let result = [ ] ;
252- this . forEach ( function ( selector ) {
255+ this . forEach ( function ( selector ) {
253256 result . push ( selector ) ;
254257 } ) ;
255258 return result ;
@@ -303,10 +306,10 @@ export default class SelectorList extends Array {
303306 let RecursionFound = false ;
304307
305308 this . forEach (
306- function ( topSelector ) {
309+ function ( topSelector ) {
307310 let visitedSelectors = [ ] ;
308311
309- let checkRecursion = function ( parentSelector ) {
312+ let checkRecursion = function ( parentSelector ) {
310313 // already visited
311314 if ( visitedSelectors . indexOf ( parentSelector ) !== - 1 ) {
312315 RecursionFound = true ;
0 commit comments