From 27bbd77e8cc6368603016efc3f909acb0f78e501 Mon Sep 17 00:00:00 2001 From: Rokt33r Date: Mon, 7 Dec 2015 17:52:07 +0900 Subject: [PATCH] =?UTF-8?q?MAIN=5FDETAIL=5FCOPY,=20*=5FBY=5FSYNTAX,=20CLIE?= =?UTF-8?q?NT=5FVERSION=20=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- browser/main/HomePage/ArticleDetail.js | 5 +++-- lib/activityRecord.js | 24 ++++++++++++++++++++++-- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/browser/main/HomePage/ArticleDetail.js b/browser/main/HomePage/ArticleDetail.js index 52e49f39..e11c140b 100644 --- a/browser/main/HomePage/ArticleDetail.js +++ b/browser/main/HomePage/ArticleDetail.js @@ -162,6 +162,7 @@ export default class ArticleDetail extends React.Component { } handleClipboardButtonClick (e) { + activityRecord.emit('MAIN_DETAIL_COPY') clipboard.writeText(this.props.activeArticle.content) notify('Saved to Clipboard!', { body: 'Paste it wherever you want!' @@ -293,9 +294,9 @@ export default class ArticleDetail extends React.Component { if (newArticle.title.length === 0) { newArticle.title = `Created at ${moment(newArticle.createdAt).format('YYYY/MM/DD HH:mm')}` } - activityRecord.emit('ARTICLE_CREATE') + activityRecord.emit('ARTICLE_CREATE', {mode: newArticle.mode}) } else { - activityRecord.emit('ARTICLE_UPDATE') + activityRecord.emit('ARTICLE_UPDATE', {mode: newArticle.mode}) } dispatch(updateArticle(newArticle)) diff --git a/lib/activityRecord.js b/lib/activityRecord.js index b79e2447..9a83b1ec 100644 --- a/lib/activityRecord.js +++ b/lib/activityRecord.js @@ -4,6 +4,9 @@ import keygen from 'boost/keygen' import dataStore from 'boost/dataStore' import { request, WEB_URL } from 'boost/api' +const electron = require('electron') +const version = electron.remote.app.getVersion() + function isSameDate (a, b) { a = moment(a).utcOffset(+540).format('YYYYMMDD') b = moment(b).utcOffset(+540).format('YYYYMMDD') @@ -81,7 +84,7 @@ export function postRecords (data) { }) } -export function emit (type, data) { +export function emit (type, data = {}) { let records = getAllRecords() let index = _.findIndex(records, record => { @@ -94,7 +97,6 @@ export function emit (type, data) { records.push(todayRecord) } else todayRecord = records[index] - console.log(type) switch (type) { case 'ARTICLE_CREATE': case 'ARTICLE_UPDATE': @@ -104,6 +106,7 @@ export function emit (type, data) { case 'FOLDER_DESTROY': case 'FINDER_OPEN': case 'FINDER_COPY': + case 'MAIN_DETAIL_COPY': todayRecord[type] = todayRecord[type] == null ? 1 : todayRecord[type] + 1 @@ -111,9 +114,26 @@ export function emit (type, data) { break } + // Count ARTICLE_CREATE and ARTICLE_UPDATE again by syntax + if ((type === 'ARTICLE_CREATE' || type === 'ARTICLE_UPDATE') && data.mode != null) { + let recordKey = type + '_BY_SYNTAX' + if (todayRecord[recordKey] == null) todayRecord[recordKey] = {} + + todayRecord[recordKey][data.mode] = todayRecord[recordKey][data.mode] == null + ? 1 + : todayRecord[recordKey][data.mode] + 1 + } + let storeData = dataStore.getData() todayRecord.FOLDER_COUNT = _.isArray(storeData.folders) ? storeData.folders.length : 0 todayRecord.ARTICLE_COUNT = _.isArray(storeData.articles) ? storeData.articles.length : 0 + todayRecord.CLIENT_VERSION = version + + todayRecord.SYNTAX_COUNT = storeData.articles.reduce((sum, article) => { + if (sum[article.mode] == null) sum[article.mode] = 1 + else sum[article.mode]++ + return sum + }, {}) saveAllRecords(records) }