summaryrefslogtreecommitdiff
path: root/public/bundle.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/bundle.js')
-rw-r--r--public/bundle.js470
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 "&middot;";else return "&middot;:";
+}
+
+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 + "&nbsp;v."];
+ }
+ if (n < 200) {
+ return ["quiet", txt + "&nbsp;v."];
+ } else if (n < 500) {
+ return ["quiet", txt + "&nbsp;v."];
+ } else if (n < 1000) {
+ return ["old", txt + "&nbsp;v."];
+ } else if (n < 5000) {
+ return ["med", txt + "&nbsp;kv."];
+ } else if (nobold || n < 10000) {
+ return ["recent", txt + "&nbsp;kv."];
+ } else {
+ return ["new", txt + "&nbsp;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 + "&nbsp;b."];
+ }
+ if (n < 1024 * 1024) {
+ return ["quiet", txt + "&nbsp;kb."];
+ } else if (n < 20000000 / bias) {
+ return ["quiet", txt + "&nbsp;mb."];
+ } else if (n < 50000000 / bias) {
+ return ["old", txt + "&nbsp;mb."];
+ } else if (n < 80000000 / bias) {
+ return ["med", txt + "&nbsp;mb."];
+ } else if (nobold || n < 170000000 / bias) {
+ return ["recent", txt + "&nbsp;mb."];
+ } else {
+ return ["new", txt + "&nbsp;mb."];
+ }
+}
+
+function hushNull(n, unit, no_bold) {
+ var s = unit ? n + "&nbsp;" + 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