diff options
Diffstat (limited to 'public/bundle.js')
| -rw-r--r-- | public/bundle.js | 470 |
1 files changed, 403 insertions, 67 deletions
diff --git a/public/bundle.js b/public/bundle.js index 8708e39..794b786 100644 --- a/public/bundle.js +++ b/public/bundle.js @@ -1474,6 +1474,12 @@ var loadTasks = exports.loadTasks = function loadTasks(tasks) { tasks: tasks }; }; +var cancelTask = exports.cancelTask = function cancelTask(task) { + return { + type: 'CANCEL_TASK', + task: task + }; +}; /* folders */ @@ -2155,9 +2161,11 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de // import PropTypes from 'prop-types' var Link = function Link(_ref) { - var active = _ref.active, + var href = _ref.href, + active = _ref.active, children = _ref.children, _onClick = _ref.onClick, + selected = _ref.selected, disabled = _ref.disabled; if (active) { @@ -2167,13 +2175,12 @@ var Link = function Link(_ref) { children ); } - var className = disabled ? 'disabled' : ''; - + var className = disabled ? 'disabled' : selected ? 'selected' : ''; return ( // eslint-disable-next-line (0, _preact.h)( 'a', - { href: '#', + { href: href || '#', 'class': className, onClick: function onClick(e) { e.preventDefault(); @@ -3479,6 +3486,8 @@ var _reactRedux = __webpack_require__(5); var _actions = __webpack_require__(6); +var _paths = __webpack_require__(121); + var _Link = __webpack_require__(17); var _Link2 = _interopRequireDefault(_Link); @@ -3487,8 +3496,10 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de var mapStateToProps = function mapStateToProps(state, ownProps) { return { - children: ownProps.children || ownProps.file ? ownProps.file.name : "(~)", - disabled: ownProps.disabled || !ownProps.file + href: ownProps.file ? (0, _paths.filepath)(ownProps.file) : '#', + children: ownProps.children || (ownProps.file ? ownProps.file.name : "(~)"), + disabled: ownProps.disabled || !ownProps.file, + selected: ownProps.file && state.audioPlayer.file && state.audioPlayer.file.id == ownProps.file.id }; }; @@ -3497,7 +3508,14 @@ var mapDispatchToProps = function mapDispatchToProps(dispatch, ownProps) { onClick: function onClick() { switch (ownProps.file.type) { case 'audio': - dispatch((0, _actions.audioPlayFile)(ownProps.file)); + var file = ownProps.file; + dispatch((0, _actions.audioPlayFile)(null)); + setTimeout(function () { + dispatch((0, _actions.audioPlayFile)(ownProps.file)); + }, 10); + break; + case 'image': + // document.body.style.backgroundImage = break; } } @@ -5984,20 +6002,26 @@ exports.default = AudioPlayerView; var _preact = __webpack_require__(3); +var _paths = __webpack_require__(121); + var audio = document.createElement('audio'); function AudioPlayerView(props) { if (props.file) { - document.body.style.backgroundImage = 'url(' + pngpath(props.file) + ')'; - audio.src = mp3path(props.file); + document.body.style.backgroundImage = 'url(' + (0, _paths.pngpath)(props.file) + ')'; + audio.src = (0, _paths.mp3path)(props.file); + audio.currentTime = 0; audio.play(); return (0, _preact.h)( 'div', - { 'class': 'audioPlayer' }, + { 'class': 'audioPlayer', onClick: function onClick() { + return audio.paused ? audio.play() : audio.pause(); + } }, 'Playing ', props.file.name ); } else { + audio.pause(); return (0, _preact.h)( 'div', { 'class': 'audioPlayer' }, @@ -6006,19 +6030,6 @@ function AudioPlayerView(props) { } } -function filepath(file) { - return '/data/' + file.folder_id + '/' + encodeURIComponent(file.name); -} -function mp3path(file) { - if (file.mime !== 'audio/mp3') { - return filepath(file) + '.mp3'; - } - return filepath(file); -} -function pngpath(file) { - return filepath(file) + '.png'; -} - /***/ }), /* 72 */ /***/ (function(module, exports, __webpack_require__) { @@ -6262,7 +6273,7 @@ function FolderListView(props) { return props.openFolder(folder); } }, (0, _preact.h)( - 'span', + 'a', { 'class': 'name' }, folder.name ) @@ -6292,7 +6303,7 @@ function FolderListView(props) { ), (0, _preact.h)( 'div', - { 'class': 'list' }, + { 'class': 'folders list' }, folders ) ); @@ -6394,7 +6405,7 @@ function FileListView(props) { (0, _preact.h)( 'span', { 'class': 'mime' }, - file.processed ? file.mime : 'working...' + file.processed ? file.mime : '(waiting)' ), (0, _preact.h)( 'span', @@ -6441,7 +6452,7 @@ function FileListView(props) { ), (0, _preact.h)( 'div', - { 'class': 'list' }, + { 'class': 'files list' }, files ) ); @@ -6564,7 +6575,9 @@ var _Link2 = _interopRequireDefault(_Link); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var mapStateToProps = function mapStateToProps(state, ownProps) { - return {}; + return { + selected: state.currentTask.content == ownProps.file + }; }; var mapDispatchToProps = function mapDispatchToProps(dispatch, ownProps) { @@ -6601,7 +6614,9 @@ var _Link2 = _interopRequireDefault(_Link); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var mapStateToProps = function mapStateToProps(state, ownProps) { - return {}; + return { + selected: state.currentTask.style == ownProps.file + }; }; var mapDispatchToProps = function mapDispatchToProps(dispatch, ownProps) { @@ -9021,6 +9036,8 @@ Object.defineProperty(exports, "__esModule", { var _reactRedux = __webpack_require__(5); +var _actions = __webpack_require__(6); + var _TaskListView = __webpack_require__(112); var _TaskListView2 = _interopRequireDefault(_TaskListView); @@ -9030,10 +9047,14 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de var mapStateToProps = function mapStateToProps(state) { return { tasks: state.tasks }; }; -// import {} from '../actions' - -var mapDispatchToProps = {}; +var mapDispatchToProps = function mapDispatchToProps(dispatch) { + return { + cancelTask: function cancelTask(task) { + dispatch((0, _actions.cancelTask)(task)); + } + }; +}; var TaskList = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(_TaskListView2.default); @@ -9053,6 +9074,10 @@ exports.default = TaskListView; var _preact = __webpack_require__(3); +var _format = __webpack_require__(120); + +var _format2 = _interopRequireDefault(_format); + var _fileLink = __webpack_require__(33); var _fileLink2 = _interopRequireDefault(_fileLink); @@ -9061,46 +9086,78 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de function TaskListView(props) { var tasks = (props.tasks || []).map(function (task, i) { - return (0, _preact.h)( - 'div', - { key: i }, - (0, _preact.h)( - 'span', - null, - task.id - ), - (0, _preact.h)( - 'span', - null, - task.created_at - ), - (0, _preact.h)( + var created_at = _format2.default.verboseDate(task.created_at); + var files = []; + var cancel = void 0; + if (task.content_file) { + files.push((0, _preact.h)( 'span', { 'class': 'name' }, (0, _preact.h)(_fileLink2.default, { file: task.content_file }) - ), - (0, _preact.h)( + )); + } + if (task.style_file) { + files.push((0, _preact.h)( 'span', { 'class': 'name' }, (0, _preact.h)(_fileLink2.default, { file: task.style_file }) - ), - (0, _preact.h)( + )); + } + if (!task.output_file && !task.processing) { + cancel = (0, _preact.h)( 'span', - null, - '\u03B1=', - task.alpha + { 'class': 'cancel', onClick: function onClick() { + return props.cancelTask(task); + } }, + 'x' + ); + } + var completed = task.completed ? 'completed' : ''; + var filename = task.output_file ? task.output_file.name : task.processing ? '(processing)' : '(waiting)'; + return (0, _preact.h)( + 'div', + { key: i }, + (0, _preact.h)( + 'div', + { 'class': 'row' }, + (0, _preact.h)( + 'span', + { 'class': 'date' }, + created_at.date + ), + (0, _preact.h)( + 'span', + { 'class': 'time' }, + created_at.time + ), + (0, _preact.h)( + 'span', + { 'class': 'name output ' + completed }, + (0, _preact.h)( + _fileLink2.default, + { file: task.output_file }, + filename + ) + ), + cancel ), (0, _preact.h)( - 'span', - { 'class': 'name' }, - (0, _preact.h)(_fileLink2.default, { file: task.output_file }) + 'div', + { 'class': 'row' }, + (0, _preact.h)( + 'span', + { 'class': 'alpha' }, + '\u03B1=', + task.alpha + ), + files ) ); // <span class='name'>{task.result_file.name}</span> }); return (0, _preact.h)( 'div', - { 'class': 'list' }, + { 'class': 'tasks list' }, tasks ); } @@ -9269,6 +9326,8 @@ var tasks = function tasks() { var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; var action = arguments[1]; + var updated_tasks = void 0; + switch (action.type) { case 'LOAD_TASKS': return action.tasks; @@ -9277,14 +9336,20 @@ var tasks = function tasks() { return [action.task].concat(state); case 'UPDATE_TASK': - var updated_tasks = state.map(function (task) { - if (task.id == id) { - return task; + updated_tasks = state.map(function (task) { + if (task.id === action.task.id) { + return action.task; } - return id; + return task; }); return updated_tasks; + case 'CANCEL_TASK': + _client2.default.task.destroy(action.task); + return state.filter(function (task) { + return task !== action.task; + }); + default: return state; } @@ -9360,7 +9425,7 @@ var folders = function folders() { folder = action.folder; folder_id = folder.id; if (openFolders.indexOf(folder.id) === -1) { - openFolders = openFolders.concat(folder.id); + openFolders = [folder.id].concat(openFolders || []); localStorage['openFolders'] = JSON.stringify(openFolders); } filesAreLoaded = state.folders.some(function (folder) { @@ -9522,17 +9587,288 @@ socket.on('connect', function (data) { socket.on('worker', function (data) { console.log('worker connected', data); }); -socket.on('processed', function (data) { - console.log('processed', data); +socket.on('updateFile', function (data) { + console.log('updateFile', data); _store2.default.dispatch((0, _actions.updateFile)(data.file)); }); -socket.on('completed', function (data) { - console.log('completed', data); - _store2.default.dispatch(updateTask(data.task)); +socket.on('updateTask', function (data) { + console.log('updateTask', data); + _store2.default.dispatch((0, _actions.updateTask)(data.task)); + if (data.task.output_file) { + _store2.default.dispatch((0, _actions.addFile)(data.task.output_file)); + } }); exports.default = socket; +/***/ }), +/* 120 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = { + commatize: commatize, + privacyDot: privacyDot, + shortMonths: shortMonths, + verboseDate: verboseDate, + carbonDate: carbonDate, + hushViews: hushViews, + hushSize: hushSize, + hushNull: hushNull, + courtesyS: courtesyS, + getRevision: getRevision, + getAge: getAge, + tidyURLs: tidyURLs, + getDomain: getDomain +}; + + +function commatize(n) { + var nums = [], + i, + counter = 0, + r = Math.floor; + if (n > 1024) { + n /= 1024; + nums.unshift(r(n * 10 % 10)); + nums.unshift("."); + } + do { + i = n % 10; + n = r(n / 10); + if (n && !(++counter % 3)) { + i = ' ' + r(i); + } + nums.unshift(r(i)); + } while (n); + return nums.join(""); +} + +function privacyDot(p) { + if (!p) return "·";else return "·:"; +} + +var shortMonths = "Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "); +function verboseDate(dateStr, pad_hours) { + var dateObj = new Date(dateStr); + var d = dateObj.getDate(); + var m = dateObj.getMinutes(); + var h = dateObj.getHours(); + var meridian = void 0; + + if (h == 0) { + h = 12; + meridian = " am"; + } else if (h == 12) { + meridian = " pm"; + } else if (h > 12) { + h -= 12; + meridian = " pm"; + } else { + meridian = " am"; + } + + if (d < 10) d = "0" + d; + if (m < 10) m = "0" + m; + if (pad_hours && h < 10) h = "0" + h; + + var date = d + '-' + shortMonths[dateObj.getMonth()] + '-' + dateObj.getFullYear(); + var time = h + ':' + m + meridian; + + return { date: date, time: time }; +} +function carbonDate(date, no_bold) { + var span = (+new Date() - new Date(date)) / 1000; + if (!no_bold && span < 86400) // modified today + { + color = "new"; + } else if (span < 604800) // modifed this week + { + color = "recent"; + } else if (span < 1209600) // modifed 2 weeks ago + { + color = "med"; + } else if (span < 3024000) // modifed 5 weeks ago + { + color = "old"; + } else if (span < 12315200) // modifed 6 months ago + { + color = "older"; + } else { + color = "quiet"; + } + return color; +} + +function hushViews(n, bias, no_bold) { + var txt = commatize(n); + bias = bias || 1; + n = n || 0; + if (n < 30) { + return ["quiet", n + " v."]; + } + if (n < 200) { + return ["quiet", txt + " v."]; + } else if (n < 500) { + return ["quiet", txt + " v."]; + } else if (n < 1000) { + return ["old", txt + " v."]; + } else if (n < 5000) { + return ["med", txt + " kv."]; + } else if (nobold || n < 10000) { + return ["recent", txt + " kv."]; + } else { + return ["new", txt + " kv."]; + } +} + +function hushSize(n, bias, nobold) { + var txt = commatize(Math.floor(n / 1024)); + bias = 1 || bias; + n = n || 0; + if (n < 1024) { + return ["quiet", n + " b."]; + } + if (n < 1024 * 1024) { + return ["quiet", txt + " kb."]; + } else if (n < 20000000 / bias) { + return ["quiet", txt + " mb."]; + } else if (n < 50000000 / bias) { + return ["old", txt + " mb."]; + } else if (n < 80000000 / bias) { + return ["med", txt + " mb."]; + } else if (nobold || n < 170000000 / bias) { + return ["recent", txt + " mb."]; + } else { + return ["new", txt + " mb."]; + } +} + +function hushNull(n, unit, no_bold) { + var s = unit ? n + " " + unit + "." : n; + if (n < 3) { + return ["quiet", s]; + } else if (n < 6) { + return ["older", s]; + } else if (n < 10) { + return ["old", s]; + } else if (n < 16) { + return ["med", s]; + } else if (no_bold || n < 21) { + return ["recent", s]; + } else { + return ["new", s]; + } +} + +function courtesyS(n, s) { + return v == 1 ? "" : s || "s"; +} + +var revisionLetters = "z a b c d f g h j k l m n p q r s t v w x y".split(" "); +function getRevision(thread) { + if (!thread.revision) return ""; + var rev = thread.revision; + var n = 0; + var digits = ""; + do { + n = rev % 21; + rev = Math.floor(rev / 21); + digits = revisionLetters[n] + digits; + } while (rev !== 0); + return digits; +} + +function getAge(t) { + var age = Math.abs(Date.now() / 1000 - t); + var r = Math.floor; + var m = void 0; + if (age < 5) { + return "now"; + } + if (age < 60) { + return r(age) + "s"; + } + age /= 60; + if (age < 60) { + return r(age) + "m"; + } + m = r(age % 60); + age /= 60; + if (m > 0 && age < 2) { + return m + "m" + r(age) + "h"; + } + if (age < 24) { + return r(age) + "h"; + } + age /= 24; + if (age < 7) { + return r(age) + "d"; + } + age /= 7; + if (age < 12) { + return r(age) + "w"; + } + age /= 4; + if (age < 12) { + return r(age) + "m"; + } + age /= 12; + return r(age) + "y"; +} + +function tidyURLs(s, short_urls) { + return s.split("\n").map(function (line) { + if (line.indexOf("<") !== -1) { + return line; + } + return line.replace(/https?:\/\/[^ ]+/g, function (url) { + if (is_image(url)) { + return '<a href="' + url + '" target="_blank"><img src="' + url + '"></a>'; + } else if (short_urls) { + return '<a href="' + url + '" target="_blank">[' + get_domain(url) + ']</a>'; + } else { + return '<a href="' + url + '" target="_blank">' + url + '</a>'; + } + }); + }).join("<br>\n"); +} +function getDomain(url) { + return url.replace(/https?:\/\//, "").replace(/\/.*/, "").replace(/www\./, ""); +} + +/***/ }), +/* 121 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +function filepath(file) { + return '/data/' + file.folder_id + '/' + encodeURIComponent(file.name); +} +function mp3path(file) { + if (file.mime !== 'audio/mp3') { + return filepath(file) + '.mp3'; + } + return filepath(file); +} +function pngpath(file) { + return filepath(file) + '.png'; +} + +exports.filepath = filepath; +exports.mp3path = mp3path; +exports.pngpath = pngpath; + /***/ }) /******/ ]); //# sourceMappingURL=bundle.js.map
\ No newline at end of file |
