Follow #23394
There were many bad smells in old code. This PR only moves the code into
Vue SFC, doesn't touch the unrelated logic.
update: after
						
					
				
			 | 
			||
|---|---|---|
| .. | ||
| dom.js | ||
| url.js | ||
| url.test.js | ||
				
					
						
							Follow #23394
There were many bad smells in old code. This PR only moves the code into
Vue SFC, doesn't touch the unrelated logic.
update: after
						
					
				
			 | 
			||
|---|---|---|
| .. | ||
| dom.js | ||
| url.js | ||
| url.test.js | ||