Skip to content

Commit efdb7a2

Browse files
committed
feat: Implement 'country' URL param support for DevIndex (#9110)
1 parent 4ef8ef4 commit efdb7a2

3 files changed

Lines changed: 49 additions & 0 deletions

File tree

apps/devindex/view/home/ControlsContainer.mjs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ class ControlsContainer extends Container {
4747
labelText : 'Country',
4848
listeners : {change: 'up.onFilterChange'},
4949
name : 'location',
50+
reference : 'country-field',
5051
showFlags : true,
5152
style : {marginTop: '.3em'},
5253
width : 200

apps/devindex/view/home/MainContainer.mjs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import Container from '../../../../src/container/Base.mjs';
2+
import Controller from './MainContainerController.mjs';
23
import ControlsContainer from './ControlsContainer.mjs';
34
import GridContainer from './GridContainer.mjs';
45

@@ -13,6 +14,10 @@ class MainContainer extends Container {
1314
* @protected
1415
*/
1516
className: 'DevIndex.view.home.MainContainer',
17+
/**
18+
* @member {Neo.controller.Component} controller=Controller
19+
*/
20+
controller: Controller,
1621
/**
1722
* @member {Object[]} items
1823
*/
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import Controller from '../../../../src/controller/Component.mjs';
2+
3+
/**
4+
* @class DevIndex.view.home.MainContainerController
5+
* @extends Neo.controller.Component
6+
*/
7+
class MainContainerController extends Controller {
8+
static config = {
9+
/**
10+
* @member {String} className='DevIndex.view.home.MainContainerController'
11+
* @protected
12+
*/
13+
className: 'DevIndex.view.home.MainContainerController'
14+
}
15+
16+
/**
17+
*
18+
*/
19+
onComponentConstructed() {
20+
let me = this;
21+
22+
Neo.Main.getByPath({
23+
path : 'location.search',
24+
windowId: me.windowId
25+
}).then(data => {
26+
if (data) {
27+
let params = new URLSearchParams(data),
28+
country = params.get('country'),
29+
field;
30+
31+
if (country) {
32+
field = me.getReference('country-field');
33+
34+
if (field) {
35+
field.value = country
36+
}
37+
}
38+
}
39+
})
40+
}
41+
}
42+
43+
export default Neo.setupClass(MainContainerController);

0 commit comments

Comments
 (0)