diff options
Diffstat (limited to 'public/bundle.js')
| -rw-r--r-- | public/bundle.js | 123 |
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) { |
