diff --git a/build/main.js b/build/main.js
index 5ad1283..5707cb5 100644
--- a/build/main.js
+++ b/build/main.js
@@ -30447,7 +30447,7 @@ var Directory = (function (_Component) {
var input = undefined,
label = undefined;
if (this.props.selectView) {
- input = _react2['default'].createElement('input', { type: 'checkbox', id: checkId, checked: this.props.selected, readOnly: true });
+ input = _react2['default'].createElement('input', { type: 'checkbox', id: checkId, checked: this.props.selected, readOnly: true, ref: 'check' });
label = _react2['default'].createElement('label', { htmlFor: checkId });
}
@@ -30476,6 +30476,8 @@ var Directory = (function (_Component) {
}, {
key: 'peek',
value: function peek() {
+ if (document.querySelector('#file-menu.active')) return;
+
var file = _store2['default'].getState().get('files')[this.props.index];
_store2['default'].dispatch((0, _actionsChangedir2['default'])(file.path.replace(/^\//, '') + file.name));
@@ -30664,7 +30666,7 @@ var File = (function (_Component) {
var input = undefined,
label = undefined;
if (this.props.selectView) {
- input = _react2['default'].createElement('input', { type: 'checkbox', id: checkId, checked: this.props.selected, readOnly: true });
+ input = _react2['default'].createElement('input', { type: 'checkbox', id: checkId, checked: this.props.selected, readOnly: true, ref: 'check' });
label = _react2['default'].createElement('label', { htmlFor: checkId });
}
@@ -30693,8 +30695,8 @@ var File = (function (_Component) {
}, {
key: 'open',
value: function open(e) {
- e.preventDefault();
- e.stopPropagation();
+ if (document.querySelector('#file-menu.active')) return;
+
var file = _store2['default'].getState().get('files')[this.props.index];
var name = file.type === 'application/pdf' ? 'view' : 'open';
@@ -30905,7 +30907,7 @@ exports['default'] = {
var left = window.innerWidth / 2 - _componentsMenu.MENU_WIDTH / 2,
top = y + height / 2 + MENU_TOP_SPACE;
- var dialogHeight = document.getElementById('fileMenu').offsetHeight;
+ var dialogHeight = document.getElementById('file-menu').offsetHeight;
var diff = window.innerHeight - (dialogHeight + top);
if (diff <= 0) {
@@ -30917,16 +30919,19 @@ exports['default'] = {
},
select: function select(e) {
- e.preventDefault();
- e.stopPropagation();
+ if (document.querySelector('#file-menu.active')) return;
var current = (store.getState().get('activeFile') || []).slice(0);
var file = store.getState().get('files')[this.props.index];
+ var check = _react2['default'].findDOMNode(this.refs.check);
+
if (current.indexOf(file) > -1) {
current.splice(current.indexOf(file), 1);
+ check.checked = false;
} else {
current.push(file);
+ check.checked = true;
}
store.dispatch((0, _actionsFile.active)(current));
}
@@ -31318,8 +31323,8 @@ var Root = (function (_Component) {
_react2['default'].createElement(_componentsNavigation2['default'], null),
_react2['default'].createElement(_componentsFileList2['default'], null),
_react2['default'].createElement(_componentsToolbar2['default'], null),
- _react2['default'].createElement(FileMenu, { id: 'fileMenu' }),
- _react2['default'].createElement(MoreMenu, { id: 'moreMenu' }),
+ _react2['default'].createElement(FileMenu, { id: 'file-menu' }),
+ _react2['default'].createElement(MoreMenu, { id: 'more-menu' }),
_react2['default'].createElement(RenameDialog, null),
_react2['default'].createElement(DeleteDialog, null),
_react2['default'].createElement(ErrorDialog, null),
@@ -32750,8 +32755,8 @@ function humanSize(size) {
for (var key in sizes) {
var value = sizes[key];
- if (size > value) {
- return Math.round(size / value) + key;
+ if (size >= value) {
+ return Math.abs(Math.round(size / value)) + key;
}
}
}
diff --git a/src/js/components/directory.js b/src/js/components/directory.js
index b1ab90e..41b79ca 100644
--- a/src/js/components/directory.js
+++ b/src/js/components/directory.js
@@ -14,7 +14,7 @@ export default class Directory extends Component {
let input, label;
if (this.props.selectView) {
- input = ;
+ input = ;
label = ;
}
@@ -37,6 +37,8 @@ export default class Directory extends Component {
}
peek() {
+ if (document.querySelector('#file-menu.active')) return;
+
let file = store.getState().get('files')[this.props.index];
store.dispatch(changedir(file.path.replace(/^\//, '') + file.name));
diff --git a/src/js/components/file.js b/src/js/components/file.js
index dc47894..b7fc86f 100644
--- a/src/js/components/file.js
+++ b/src/js/components/file.js
@@ -14,7 +14,7 @@ export default class File extends Component {
let input, label;
if (this.props.selectView) {
- input = ;
+ input = ;
label = ;
}
@@ -37,8 +37,8 @@ export default class File extends Component {
}
open(e) {
- e.preventDefault();
- e.stopPropagation();
+ if (document.querySelector('#file-menu.active')) return;
+
let file = store.getState().get('files')[this.props.index];
let name = file.type === 'application/pdf' ? 'view' : 'open';
diff --git a/src/js/components/mixins/entry.js b/src/js/components/mixins/entry.js
index 4095d2a..fc38338 100644
--- a/src/js/components/mixins/entry.js
+++ b/src/js/components/mixins/entry.js
@@ -17,7 +17,7 @@ export default {
let left = window.innerWidth / 2 - MENU_WIDTH / 2,
top = y + height / 2 + MENU_TOP_SPACE;
- let dialogHeight = document.getElementById('fileMenu').offsetHeight;
+ let dialogHeight = document.getElementById('file-menu').offsetHeight;
let diff = window.innerHeight - (dialogHeight + top);
if (diff <= 0) {
@@ -29,16 +29,19 @@ export default {
},
select(e) {
- e.preventDefault();
- e.stopPropagation();
+ if (document.querySelector('#file-menu.active')) return;
let current = (store.getState().get('activeFile') || []).slice(0);
let file = store.getState().get('files')[this.props.index];
+ let check = React.findDOMNode(this.refs.check);
+
if (current.indexOf(file) > -1) {
current.splice(current.indexOf(file), 1);
+ check.checked = false;
} else {
current.push(file)
+ check.checked = true;
}
store.dispatch(active(current));
}
diff --git a/src/js/components/root.js b/src/js/components/root.js
index d21b430..67a7f83 100644
--- a/src/js/components/root.js
+++ b/src/js/components/root.js
@@ -39,8 +39,8 @@ export default class Root extends Component {
-
-
+
+
diff --git a/src/js/utils.js b/src/js/utils.js
index fd5754d..08441f2 100644
--- a/src/js/utils.js
+++ b/src/js/utils.js
@@ -39,14 +39,14 @@ const sizes = {
'GB': Math.pow(2, 30),
'MB': Math.pow(2, 20),
'KB': Math.pow(2, 10),
- 'B': 0
+ 'B': -1
}
export function humanSize(size) {
for (let key in sizes) {
let value = sizes[key];
if (size >= value) {
- return Math.round(size / value) + key;
+ return Math.abs(Math.round(size / value)) + key;
}
}
}