summaryrefslogtreecommitdiff
path: root/public/bundle.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/bundle.js')
-rw-r--r--public/bundle.js123
1 files changed, 109 insertions, 14 deletions
diff --git a/public/bundle.js b/public/bundle.js
index 9648ca0..512deb7 100644
--- a/public/bundle.js
+++ b/public/bundle.js
@@ -2839,14 +2839,6 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
-/*
- at this point we can list files
- - filelist should support parentdirectory
- - filelist should list directories first
- - handle fetching a file from the server
- - maybe don't let it fetch if it's larger than 2 megs?
-*/
-
var Browser = function (_Component) {
_inherits(Browser, _Component);
@@ -2892,7 +2884,7 @@ var Browser = function (_Component) {
console.log('fetch', dir);
var module = this.state.module;
- this.setState({ dir: dir, loading: true });
+ this.setState({ dir: dir, file: null, loading: true });
_actions2.default.socket.list_directory({ module: module, dir: dir }).then(function (files) {
console.log(files);
_this2.setState({ dir: dir, files: files, loading: false });
@@ -2908,6 +2900,7 @@ var Browser = function (_Component) {
this.setState({ file: null, loadingFile: true });
_actions2.default.socket.read_file({ module: module, fn: fn }).then(function (file) {
+ console.log(file);
_this3.setState({ file: file, loadingFile: false });
});
}
@@ -2932,7 +2925,8 @@ var Browser = function (_Component) {
(0, _preact.h)(
'h1',
null,
- dir
+ dir,
+ dir[dir.length - 1] !== '/' && '/'
),
app.tool,
(0, _preact.h)('br', null),
@@ -2951,10 +2945,11 @@ var Browser = function (_Component) {
},
onClickParent: function onClickParent(e) {
console.log('navigate up');
- _this4.fetch(_this4.state.dir.split('/').slice(0, -1).join('') || '/');
+ _this4.fetch(_this4.state.dir.split('/').slice(0, -1).join('/') || '/');
}
}),
- loadingFile && (0, _preact.h)(_common.Loading, null)
+ loadingFile && (0, _preact.h)(_common.Loading, null),
+ file && (0, _preact.h)(_common.FileViewer, { file: file })
);
}
}]);
@@ -4158,6 +4153,99 @@ exports.default = FileUpload;
/***/ }),
+/***/ "./app/client/common/fileViewer.component.js":
+/*!***************************************************!*\
+ !*** ./app/client/common/fileViewer.component.js ***!
+ \***************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.default = FileViewer;
+
+var _preact = __webpack_require__(/*! preact */ "./node_modules/preact/dist/preact.esm.js");
+
+var image_types = {
+ 'jpg': 'image/jpeg',
+ 'jpeg': 'image/jpeg',
+ 'png': 'image/png',
+ 'gif': 'image/gif'
+};
+
+var audio_types = {
+ 'wav': 'audio/wav',
+ 'mp3': 'audio/mp3',
+ 'flac': 'audio/flac',
+ 'aiff': 'audio/aiff'
+};
+
+var video_types = {
+ 'mp4': 'video/mp4'
+};
+
+function FileViewer(_ref) {
+ var file = _ref.file;
+ var error = file.error,
+ name = file.name,
+ path = file.path,
+ date = file.date,
+ size = file.size,
+ buf = file.buf;
+
+ if (error) {
+ return (0, _preact.h)(
+ 'div',
+ { className: 'fileViewer' },
+ error
+ );
+ }
+ if (!buf) {
+ return (0, _preact.h)(
+ 'div',
+ { className: 'fileViewer' },
+ 'File empty'
+ );
+ }
+ var ext = name.split('.').slice(-1)[0].toLowerCase();
+ var tag = void 0;
+ if (ext in image_types) {
+ tag = (0, _preact.h)('img', { src: getURLFor(buf, image_types[ext]) });
+ } else if (ext in audio_types) {
+ tag = (0, _preact.h)('audio', { src: getURLFor(buf, audio_types[ext]), controls: true, autoplay: true });
+ } else if (ext in video_types) {
+ tag = (0, _preact.h)('video', { src: getURLFor(buf, audio_types[ext]), controls: true, autoplay: true });
+ } else {
+ tag = (0, _preact.h)(
+ 'div',
+ { className: 'text' },
+ ab2str(buf)
+ );
+ }
+ return (0, _preact.h)(
+ 'div',
+ { className: 'fileViewer' },
+ tag
+ );
+}
+
+var getURLFor = function getURLFor(buf, type) {
+ var arrayBufferView = new Uint8Array(buf);
+ var blob = new Blob([arrayBufferView], { type: type });
+ var urlCreator = window.URL || window.webkitURL;
+ return urlCreator.createObjectURL(blob);
+};
+
+var ab2str = function ab2str(buf) {
+ return String.fromCharCode.apply(null, new Uint8Array(buf));
+};
+
+/***/ }),
+
/***/ "./app/client/common/folderList.component.js":
/*!***************************************************!*\
!*** ./app/client/common/folderList.component.js ***!
@@ -4546,7 +4634,7 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(
Object.defineProperty(exports, "__esModule", {
value: true
});
-exports.AugmentationGrid = exports.ButtonGrid = exports.TaskList = exports.CurrentTask = exports.Checkbox = exports.Button = exports.SelectGroup = exports.Select = exports.Slider = exports.NumberInput = exports.TextInput = exports.Param = exports.ParamGroup = exports.Group = exports.Player = exports.Gallery = exports.FileUpload = exports.FileRow = exports.FileList = exports.FolderList = exports.AudioPlayer = exports.Header = exports.Progress = exports.Loading = exports.Views = undefined;
+exports.AugmentationGrid = exports.ButtonGrid = exports.TaskList = exports.CurrentTask = exports.Checkbox = exports.Button = exports.SelectGroup = exports.Select = exports.Slider = exports.NumberInput = exports.TextInput = exports.Param = exports.ParamGroup = exports.Group = exports.Player = exports.Gallery = exports.FileViewer = exports.FileUpload = exports.FileRow = exports.FileList = exports.FolderList = exports.AudioPlayer = exports.Header = exports.Progress = exports.Loading = exports.Views = undefined;
var _audioPlayer = __webpack_require__(/*! ./audioPlayer/audioPlayer.component */ "./app/client/common/audioPlayer/audioPlayer.component.js");
@@ -4578,6 +4666,10 @@ var _fileUpload = __webpack_require__(/*! ./fileUpload.component */ "./app/clien
var _fileUpload2 = _interopRequireDefault(_fileUpload);
+var _fileViewer = __webpack_require__(/*! ./fileViewer.component */ "./app/client/common/fileViewer.component.js");
+
+var _fileViewer2 = _interopRequireDefault(_fileViewer);
+
var _folderList = __webpack_require__(/*! ./folderList.component */ "./app/client/common/folderList.component.js");
var _folderList2 = _interopRequireDefault(_folderList);
@@ -4655,6 +4747,7 @@ exports.FolderList = _folderList2.default;
exports.FileList = _fileList.FileList;
exports.FileRow = _fileList.FileRow;
exports.FileUpload = _fileUpload2.default;
+exports.FileViewer = _fileViewer2.default;
exports.Gallery = _gallery2.default;
exports.Player = _player2.default;
exports.Group = _group2.default;
@@ -16229,7 +16322,9 @@ var upload_file = exports.upload_file = function upload_file(opt) {
return syscall_async('upload_file', opt);
};
var read_file = exports.read_file = function read_file(opt) {
- return syscall_async('read_file', opt);
+ return syscall_async('read_file', opt).then(function (res) {
+ return res.file;
+ });
};
var syscall_async = exports.syscall_async = function syscall_async(tag, payload) {