Skip to content

Commit 9870cbb

Browse files
committed
Refactor ref menu code
1 parent b8e6c55 commit 9870cbb

File tree

3 files changed

+34
-25
lines changed

3 files changed

+34
-25
lines changed

static/menus.js

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ export class Menu extends React.Component {
2020
}
2121

2222
didRender() {
23-
if (this.isEmpty) {
23+
if (this.items().length == 0) {
2424
this.props.onClose();
2525
return;
2626
}
@@ -29,6 +29,20 @@ export class Menu extends React.Component {
2929
menuDiv.offset(this.props.location);
3030
}
3131

32+
items() {
33+
return this.props
34+
.items
35+
.filter((i) => { return !i.unstable || CONFIG.unstable_features })
36+
.map((i) => {
37+
const className = `${this.props.id}_link menu_link`;
38+
let onClick = (ev) => {
39+
hideMenu(ev);
40+
i.fn(self.props.target, self.props.location);
41+
};
42+
return <div className={className} id={i.id} key={i.id} onClick={onClick}>{i.label}</div>;
43+
});
44+
}
45+
3246
render() {
3347
const self = this;
3448
const hideMenu = (event) => {
@@ -37,18 +51,9 @@ export class Menu extends React.Component {
3751
event.stopPropagation();
3852
};
3953

40-
let items = this.props.items.filter((i) => {return !i.unstable || CONFIG.unstable_features})
41-
.map((i) => {
42-
const className = `${this.props.id}_link menu_link`;
43-
let onClick = (ev) => {
44-
hideMenu(ev);
45-
i.fn(self.props.target, self.props.location);
46-
};
47-
return <div className={className} id={i.id} key={i.id} onClick={onClick}>{i.label}</div>;
48-
});
54+
let items = this.items();
4955

5056
if (items.length === 0) {
51-
this.isEmpty = true;
5257
return null;
5358
}
5459

static/rustw.out.js

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6429,7 +6429,7 @@ var RustwApp = exports.RustwApp = function (_React$Component) {
64296429
key: 'loadFileTreeData',
64306430
value: function loadFileTreeData() {
64316431
var self = this;
6432-
utils.request('tree/' + CONFIG.workspace_root, function (json) {
6432+
utils.request('tree/' + CONFIG.workspace_root.replace('\\', '/'), function (json) {
64336433
if (json.Directory) {
64346434
self.setState({ fileTreeData: json });
64356435
} else {
@@ -6731,7 +6731,7 @@ var Menu = exports.Menu = function (_React$Component) {
67316731
}, {
67326732
key: "didRender",
67336733
value: function didRender() {
6734-
if (this.isEmpty) {
6734+
if (this.items().length == 0) {
67356735
this.props.onClose();
67366736
return;
67376737
}
@@ -6740,18 +6740,11 @@ var Menu = exports.Menu = function (_React$Component) {
67406740
menuDiv.offset(this.props.location);
67416741
}
67426742
}, {
6743-
key: "render",
6744-
value: function render() {
6743+
key: "items",
6744+
value: function items() {
67456745
var _this2 = this;
67466746

6747-
var self = this;
6748-
var hideMenu = function hideMenu(event) {
6749-
self.props.onClose();
6750-
event.preventDefault();
6751-
event.stopPropagation();
6752-
};
6753-
6754-
var items = this.props.items.filter(function (i) {
6747+
return this.props.items.filter(function (i) {
67556748
return !i.unstable || CONFIG.unstable_features;
67566749
}).map(function (i) {
67576750
var className = _this2.props.id + "_link menu_link";
@@ -6765,9 +6758,20 @@ var Menu = exports.Menu = function (_React$Component) {
67656758
i.label
67666759
);
67676760
});
6761+
}
6762+
}, {
6763+
key: "render",
6764+
value: function render() {
6765+
var self = this;
6766+
var hideMenu = function hideMenu(event) {
6767+
self.props.onClose();
6768+
event.preventDefault();
6769+
event.stopPropagation();
6770+
};
6771+
6772+
var items = this.items();
67686773

67696774
if (items.length === 0) {
6770-
this.isEmpty = true;
67716775
return null;
67726776
}
67736777

static/rustw.out.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)