From a6eb5c02b0829ea041acff42780f478e1f7dfa66 Mon Sep 17 00:00:00 2001 From: Oleg Date: Tue, 27 Feb 2018 15:28:55 +0200 Subject: [PATCH 1/4] wip --- src/core/resource/profile/sagas/ProfileInit.saga.js | 1 - 1 file changed, 1 deletion(-) delete mode 100644 src/core/resource/profile/sagas/ProfileInit.saga.js diff --git a/src/core/resource/profile/sagas/ProfileInit.saga.js b/src/core/resource/profile/sagas/ProfileInit.saga.js deleted file mode 100644 index cd12a9b3d..000000000 --- a/src/core/resource/profile/sagas/ProfileInit.saga.js +++ /dev/null @@ -1 +0,0 @@ -import { } -- GitLab From 92fe6d74629f97283b695b0295c01852c9f0ce70 Mon Sep 17 00:00:00 2001 From: Oleg Date: Tue, 27 Feb 2018 15:29:20 +0200 Subject: [PATCH 2/4] wip --- .../Auth/AuthForm/AuthForn.container.js | 12 +-- src/core/bert/SignatureGenerator.bert.js | 87 +++++++++++++------ .../profile/data/InitProfile.reducer.js | 2 +- src/core/services/MqttEventChannel.service.js | 7 +- 4 files changed, 68 insertions(+), 40 deletions(-) diff --git a/src/containers/Auth/AuthForm/AuthForn.container.js b/src/containers/Auth/AuthForm/AuthForn.container.js index 5bf194b3d..5a7d0ad87 100644 --- a/src/containers/Auth/AuthForm/AuthForn.container.js +++ b/src/containers/Auth/AuthForm/AuthForn.container.js @@ -33,13 +33,13 @@ class AuthForm extends Component {
-
+
- - -
+ + + diff --git a/src/core/bert/SignatureGenerator.bert.js b/src/core/bert/SignatureGenerator.bert.js index 92efdcc28..73d1c4fa6 100644 --- a/src/core/bert/SignatureGenerator.bert.js +++ b/src/core/bert/SignatureGenerator.bert.js @@ -742,7 +742,7 @@ function decRoom(d) { function encTag(d) { const tup = atom('Tag'); - const roster_id = 'roster_id' in d && d.roster_id ? bin(d.roster_id) : nil(); + const roster_id = 'roster_id' in d && d.roster_id ? number(d.roster_id) : nil(); const name = 'name' in d && d.name ? bin(d.name) : nil(); const color = 'color' in d && d.color ? bin(d.color) : nil(); const status = 'status' in d && d.status ? atom(d.status) : nil(); @@ -752,7 +752,7 @@ function encTag(d) { function lenTag() { return 5; } function decTag(d) { const r = {}; r.tup = 'Tag'; - r.roster_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.roster_id = d && d.v[1] ? d.v[1].v : undefined; r.name = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; r.color = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; r.status = d && d.v[4] ? decode(d.v[4]) : undefined; @@ -761,7 +761,8 @@ function decTag(d) { function encStar(d) { const tup = atom('Star'); - const roster_id = 'roster_id' in d && d.roster_id ? bin(d.roster_id) : nil(); + const id = 'id' in d && d.id ? bin(d.id) : nil(); + const roster_id = 'roster_id' in d && d.roster_id ? number(d.roster_id) : nil(); const message = 'message' in d && d.message ? encode(d.message) : nil(); let tags = []; if ('tags' in d && d.tags) { d.tags.forEach((x) => { @@ -770,19 +771,20 @@ function encStar(d) { tags = { t: 108, v: tags }; } else { tags = nil(); } const status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup, roster_id, message, tags, status); + return tuple(tup, id, roster_id, message, tags, status); } -function lenStar() { return 5; } +function lenStar() { return 6; } function decStar(d) { const r = {}; r.tup = 'Star'; - r.roster_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.message = d && d.v[2] ? decode(d.v[2]) : undefined; + r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.roster_id = d && d.v[2] ? d.v[2].v : undefined; + r.message = d && d.v[3] ? decode(d.v[3]) : undefined; r.tags = []; - (d && d.v[3] && d.v[3].v) ? - d.v[3].v.forEach((x) => { r.tags.push(decode(x)); }) : + (d && d.v[4] && d.v[4].v) ? + d.v[4].v.forEach((x) => { r.tags.push(decode(x)); }) : r.tags = undefined; - r.status = d && d.v[4] ? decode(d.v[4]) : undefined; + r.status = d && d.v[5] ? decode(d.v[5]) : undefined; return clean(r); } @@ -845,6 +847,7 @@ function encContact(d) { const unread = 'unread' in d && d.unread ? number(d.unread) : nil(); const last_msg = 'last_msg' in d && d.last_msg ? encode(d.last_msg) : nil(); const update = 'update' in d && d.update ? number(d.update) : nil(); + const created = 'created' in d && d.created ? number(d.created) : nil(); let settings = []; if ('settings' in d && d.settings) { d.settings.forEach((x) => { settings.push(encode(x)); @@ -855,11 +858,11 @@ function encContact(d) { const status = 'status' in d && d.status ? atom(d.status) : nil(); return tuple( tup, phone_id, avatar, names, surnames, nick, email, vox_id, reader, unread, last_msg, - update, settings, presence, status + update, created, settings, presence, status ); } -function lenContact() { return 15; } +function lenContact() { return 16; } function decContact(d) { const r = {}; r.tup = 'Contact'; r.phone_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; @@ -873,12 +876,13 @@ function decContact(d) { r.unread = d && d.v[9] ? d.v[9].v : undefined; r.last_msg = d && d.v[10] ? decode(d.v[10]) : undefined; r.update = d && d.v[11] ? d.v[11].v : undefined; + r.created = d && d.v[12] ? d.v[12].v : undefined; r.settings = []; - (d && d.v[12] && d.v[12].v) ? - d.v[12].v.forEach((x) => { r.settings.push(decode(x)); }) : + (d && d.v[13] && d.v[13].v) ? + d.v[13].v.forEach((x) => { r.settings.push(decode(x)); }) : r.settings = undefined; - r.presence = d && d.v[13] ? d.v[13].v : undefined; - r.status = d && d.v[14] ? decode(d.v[14]) : undefined; + r.presence = d && d.v[14] ? d.v[14].v : undefined; + r.status = d && d.v[15] ? decode(d.v[15]) : undefined; return clean(r); } @@ -1082,8 +1086,8 @@ function encLoc(d) { const tup = atom('Loc'); const x = 'x' in d && d.x ? bin(d.x) : nil(); const y = 'y' in d && d.y ? bin(d.y) : nil(); - const z = 'z' in d && d.z ? bin(d.z) : nil(); - return tuple(tup, x, y, z); + const place_id = 'place_id' in d && d.place_id ? bin(d.place_id) : nil(); + return tuple(tup, x, y, place_id); } function lenLoc() { return 4; } @@ -1091,7 +1095,7 @@ function decLoc(d) { const r = {}; r.tup = 'Loc'; r.x = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; r.y = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.z = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; + r.place_id = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; return clean(r); } @@ -1099,16 +1103,26 @@ function encFriend(d) { const tup = atom('Friend'); const phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); const friend_id = 'friend_id' in d && d.friend_id ? bin(d.friend_id) : nil(); + let settings = []; if ('settings' in d && d.settings) { + d.settings.forEach((x) => { + settings.push(encode(x)); + }); + settings = { t: 108, v: settings }; + } else { settings = nil(); } const status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup, phone_id, friend_id, status); + return tuple(tup, phone_id, friend_id, settings, status); } -function lenFriend() { return 4; } +function lenFriend() { return 5; } function decFriend(d) { const r = {}; r.tup = 'Friend'; r.phone_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; r.friend_id = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.status = d && d.v[3] ? decode(d.v[3]) : undefined; + r.settings = []; + (d && d.v[3] && d.v[3].v) ? + d.v[3].v.forEach((x) => { r.settings.push(decode(x)); }) : + r.settings = undefined; + r.status = d && d.v[4] ? decode(d.v[4]) : undefined; return clean(r); } @@ -1210,6 +1224,21 @@ function decIndex(d) { return clean(r); } +function encWhitelist(d) { + const tup = atom('Whitelist'); + const phone = 'phone' in d && d.phone ? bin(d.phone) : nil(); + const created = 'created' in d && d.created ? number(d.created) : nil(); + return tuple(tup, phone, created); +} + +function lenWhitelist() { return 3; } +function decWhitelist(d) { + const r = {}; r.tup = 'Whitelist'; + r.phone = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.created = d && d.v[2] ? d.v[2].v : undefined; + return clean(r); +} + function encerror(d) { const tup = atom('error'); const code = 'code' in d && d.code ? encode(d.code) : nil(); @@ -1760,25 +1789,27 @@ function decaction(d) { function encShedule(d) { const tup = atom('Shedule'); const id = 'id' in d && d.id ? number(d.id) : nil(); - const proc = 'proc' in d && d.proc ? encode(d.proc) : nil(); + const proc = 'proc' in d && d.proc ? number(d.proc) : nil(); let data = []; if ('data' in d && d.data) { d.data.forEach((x) => { data.push(encode(x)); }); data = { t: 108, v: data }; } else { data = nil(); } - return tuple(tup, id, proc, data); + const state = 'state' in d && d.state ? encode(d.state) : nil(); + return tuple(tup, id, proc, data, state); } -function lenShedule() { return 4; } +function lenShedule() { return 5; } function decShedule(d) { const r = {}; r.tup = 'Shedule'; r.id = d && d.v[1] ? d.v[1].v : undefined; - r.proc = d && d.v[2] ? decode(d.v[2]) : undefined; + r.proc = d && d.v[2] ? d.v[2].v : undefined; r.data = []; (d && d.v[3] && d.v[3].v) ? d.v[3].v.forEach((x) => { r.data.push(decode(x)); }) : r.data = undefined; + r.state = d && d.v[4] ? decode(d.v[4].v) : undefined; return clean(r); } @@ -1789,7 +1820,7 @@ function encJob(d) { const feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); const next = 'next' in d && d.next ? number(d.next) : nil(); const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - const context = 'context' in d && d.context ? bin(d.context) : nil(); + const context = 'context' in d && d.context ? encode(d.context) : nil(); const proc = 'proc' in d && d.proc ? encode(d.proc) : nil(); const time = 'time' in d && d.time ? number(d.time) : nil(); let data = []; if ('data' in d && d.data) { @@ -1816,7 +1847,7 @@ function decJob(d) { r.feed_id = d && d.v[3] ? decode(d.v[3]) : undefined; r.next = d && d.v[4] ? d.v[4].v : undefined; r.prev = d && d.v[5] ? d.v[5].v : undefined; - r.context = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; + r.context = d && d.v[6] ? decode(d.v[6]) : undefined; r.proc = d && d.v[7] ? decode(d.v[7]) : undefined; r.time = d && d.v[8] ? d.v[8].v : undefined; r.data = []; diff --git a/src/core/resource/profile/data/InitProfile.reducer.js b/src/core/resource/profile/data/InitProfile.reducer.js index 0ba1b30d0..d606e0acc 100644 --- a/src/core/resource/profile/data/InitProfile.reducer.js +++ b/src/core/resource/profile/data/InitProfile.reducer.js @@ -1,6 +1,6 @@ import { createAction, createReducer } from 'redux-act'; -const profileInit = createAction('PROFILE/INIT/SUCCES'); +const profileInit = createAction('PROFILE/INIT/SUCCESS'); const handleLoad = (state, action) => { console.log('ACTION INIT', state, action); diff --git a/src/core/services/MqttEventChannel.service.js b/src/core/services/MqttEventChannel.service.js index 26b5b895b..4ab9889c6 100644 --- a/src/core/services/MqttEventChannel.service.js +++ b/src/core/services/MqttEventChannel.service.js @@ -34,17 +34,14 @@ const supplierEventChannel = action => eventChannel((emitter) => { // boundEventHandlers.publish(topic, message, packet) }); client.on(eventTypes.PACKETRECEIVE, (packet = {}) => { - if (!packet.payload) { + if (!packet.payload) { return; } const processedResponse = formatter(packet); const { event, response } = validate(processedResponse); - boundEventHandlers.serverResponse(event, response, packet); - console.log('PACKETRECEIVE', packet); boundEventHandlers.serverResponse(event, response, packet); - // put(event,response); - console.log('PACKETRECEIVE', event, response); + console.log('PACKETRECEIVE', packet); }); client.on(eventTypes.PACKETSEND, (packet) => { console.log('PACKETSEND', packet); -- GitLab From 882d62f1eb33d025a860ac30a117ef68795daebf Mon Sep 17 00:00:00 2001 From: Oleg Date: Tue, 27 Feb 2018 16:27:31 +0200 Subject: [PATCH 3/4] wip --- src/core/resource/Combined.action.js | 4 +++- src/core/resource/Root.saga.js | 4 +++- src/core/resource/index.js | 4 ++-- .../resource/profile/data/InitProfile.reducer.js | 7 ++++--- src/core/resource/profile/index.js | 5 ++++- .../resource/profile/sagas/InitProfile.saga.js | 15 +++++++++++++++ 6 files changed, 31 insertions(+), 8 deletions(-) create mode 100644 src/core/resource/profile/sagas/InitProfile.saga.js diff --git a/src/core/resource/Combined.action.js b/src/core/resource/Combined.action.js index 46cec9ea1..a6856b510 100644 --- a/src/core/resource/Combined.action.js +++ b/src/core/resource/Combined.action.js @@ -1,10 +1,12 @@ import { authInitActions } from './auth/init'; import { authVerifyActions } from './auth/verification'; import { supplierActions } from './supplier'; +import { userActions } from './profile'; export const combinedActions = { ...authInitActions, ...authVerifyActions, - ...supplierActions + ...supplierActions, + ...userActions }; diff --git a/src/core/resource/Root.saga.js b/src/core/resource/Root.saga.js index 159aa0f4c..c5aec1644 100644 --- a/src/core/resource/Root.saga.js +++ b/src/core/resource/Root.saga.js @@ -2,6 +2,7 @@ import { fork } from 'redux-saga/effects'; import { authInitSagas } from './auth/init'; import { authVerifySagas } from './auth/verification'; import { supplierSagas } from './supplier'; +import { initProfileSaga } from './profile'; const GeneratorFunction = (function* () {}).constructor; @@ -9,6 +10,7 @@ function* rootSaga() { yield fork(supplierSagas.connectInitiator); yield fork(authInitSagas.sentCode); yield fork(authVerifySagas.verifyCode); + yield fork(initProfileSaga); } -export { rootSaga }; +export default rootSaga ; diff --git a/src/core/resource/index.js b/src/core/resource/index.js index b3b00207f..41f964fca 100644 --- a/src/core/resource/index.js +++ b/src/core/resource/index.js @@ -1,6 +1,6 @@ -import { rootSaga } from './Root.saga'; +import rootSaga from './Root.saga'; import { rootReducer } from './Root.reducer'; -import { combinedActions } from './Combined.action'; +import combinedActions from './Combined.action'; export { combinedActions, diff --git a/src/core/resource/profile/data/InitProfile.reducer.js b/src/core/resource/profile/data/InitProfile.reducer.js index d606e0acc..7f4fe9a0a 100644 --- a/src/core/resource/profile/data/InitProfile.reducer.js +++ b/src/core/resource/profile/data/InitProfile.reducer.js @@ -1,6 +1,7 @@ import { createAction, createReducer } from 'redux-act'; -const profileInit = createAction('PROFILE/INIT/SUCCESS'); +const profileInitSuccess = createAction('PROFILE/INIT/SUCCESS'); +console.log(profileInitSuccess); const handleLoad = (state, action) => { console.log('ACTION INIT', state, action); @@ -12,11 +13,11 @@ const initialState = { }; const profile = createReducer((on) => { - on(profileInit, handleLoad); + on(profileInitSuccess, handleLoad); }, initialState); export const userActions = { - profileInit + profileInitSuccess }; export default profile; diff --git a/src/core/resource/profile/index.js b/src/core/resource/profile/index.js index f5219995e..d4861c2ca 100644 --- a/src/core/resource/profile/index.js +++ b/src/core/resource/profile/index.js @@ -1,6 +1,9 @@ import profile, { userActions } from './data/InitProfile.reducer'; +import initProfileSaga from './sagas/InitProfile.saga'; +console.log(userActions); export { profile, - userActions + userActions, + initProfileSaga }; diff --git a/src/core/resource/profile/sagas/InitProfile.saga.js b/src/core/resource/profile/sagas/InitProfile.saga.js new file mode 100644 index 000000000..a855529ee --- /dev/null +++ b/src/core/resource/profile/sagas/InitProfile.saga.js @@ -0,0 +1,15 @@ +import { effects } from 'redux-saga'; +import { userActions } from '../index'; + +const { put, take } = effects; + + +const initProfileSaga = function* (params) { + console.log('initProfile',params); + while(true) { + const data = yield take('PROFILE/INIT'); + yield put(userActions.profileInitSuccess(data.response)); + } +}; + +export default initProfileSaga; \ No newline at end of file -- GitLab From c9bf6d961ca5b97a3d88d0e0b4872b46d6eedb55 Mon Sep 17 00:00:00 2001 From: Oleg Date: Mon, 5 Mar 2018 13:18:14 +0200 Subject: [PATCH 4/4] merge --- .gitignore | 5 ---- package-lock.json | 27 +++++++++++++------ package.json | 5 +++- src/assets/vendor/utils/handlers.js | 5 ---- src/assets/vendor/utils/signin.js | 1 - src/componets/PaperWithDrop/PaperWithDrop.js | 3 +-- src/containers/UnreadMsg/UnreadMsg.js | 19 +++++++++++++ src/core/protocols/Index.protocol.js | 1 - src/core/resource/Combined.action.js | 12 --------- src/core/resource/Root.reducer.js | 4 ++- .../contacts/data/Contacts.reducer.js | 25 +++++++++++++++++ src/core/resource/contacts/index.js | 6 +++++ src/core/resource/index.js | 2 -- src/core/resource/profile/index.js | 1 - .../profile/sagas/InitProfile.saga.js | 10 ++++--- src/modules/Dashboard/Dashboard.js | 20 +++++++------- src/pages/NinjaApp/NinjaApp.js | 1 - 17 files changed, 94 insertions(+), 53 deletions(-) create mode 100644 src/containers/UnreadMsg/UnreadMsg.js delete mode 100644 src/core/resource/Combined.action.js create mode 100644 src/core/resource/contacts/data/Contacts.reducer.js create mode 100644 src/core/resource/contacts/index.js diff --git a/.gitignore b/.gitignore index 3fef9c087..89075ecfd 100644 --- a/.gitignore +++ b/.gitignore @@ -5,11 +5,6 @@ ebin/ */webpack-assets.json */.editorconfig */.gitignore -<<<<<<< HEAD -======= -webpack.dev.config.babel.js -webpack.prod.config.babel.js ->>>>>>> wip # Logs logs diff --git a/package-lock.json b/package-lock.json index 73779e461..fe82ce7f7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -156,7 +156,7 @@ "ansi-escapes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.0.0.tgz", - "integrity": "sha512-O/klc27mWNUigtv0F8NJWbLF00OcegQalkqKURWdosW08YZKi4m6CnSUSvIZG1otNJbTWhN01Hhz389DW7mvDQ==", + "integrity": "sha1-7D6LTp+AZPwCw6ybZfHCdb2o75I=", "dev": true }, "ansi-html": { @@ -992,6 +992,17 @@ "babel-types": "6.26.0" } }, + "babel-plugin-transform-decorators-legacy": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators-legacy/-/babel-plugin-transform-decorators-legacy-1.3.4.tgz", + "integrity": "sha1-dBtY9sW86eYCfgiC2cmU8E82aSU=", + "dev": true, + "requires": { + "babel-plugin-syntax-decorators": "6.13.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, "babel-plugin-transform-do-expressions": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-do-expressions/-/babel-plugin-transform-do-expressions-6.22.0.tgz", @@ -2353,7 +2364,7 @@ "circular-json": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", - "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", + "integrity": "sha1-gVyZ6oT2gJUp0vRXkb34JxE1LWY=", "dev": true }, "clap": { @@ -4088,7 +4099,7 @@ "js-yaml": { "version": "3.10.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", - "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", + "integrity": "sha1-LnhEFka9RoLpY/IrbpKCPDCcYtw=", "dev": true, "requires": { "argparse": "1.0.9", @@ -4157,7 +4168,7 @@ "eslint-module-utils": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.1.1.tgz", - "integrity": "sha512-jDI/X5l/6D1rRD/3T43q8Qgbls2nq5km5KSqiwlyUbGo5+04fXhMKdCPhjwbqAa6HXWaMxj8Q4hQDIh7IadJQw==", + "integrity": "sha1-q67IJBd2E7ipWymWOeG2+s9HNEk=", "dev": true, "requires": { "debug": "2.6.9", @@ -6719,7 +6730,7 @@ "inquirer": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", - "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", + "integrity": "sha1-ndLyrXZdyrH/BEO0kUQqILoifck=", "dev": true, "requires": { "ansi-escapes": "3.0.0", @@ -6753,7 +6764,7 @@ "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", "dev": true, "requires": { "is-fullwidth-code-point": "2.0.0", @@ -14584,7 +14595,7 @@ "slice-ansi": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", - "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", + "integrity": "sha1-BE8aSdiEL/MHqta1Be0Xi9lQE00=", "dev": true, "requires": { "is-fullwidth-code-point": "2.0.0" @@ -15451,7 +15462,7 @@ "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", "dev": true, "requires": { "is-fullwidth-code-point": "2.0.0", diff --git a/package.json b/package.json index 20196b95e..60df3ef31 100644 --- a/package.json +++ b/package.json @@ -57,6 +57,7 @@ "babel-jest": "20.0.3", "babel-loader": "^7.1.3", "babel-plugin-transform-class-properties": "^6.24.1", + "babel-plugin-transform-decorators-legacy": "^1.3.4", "babel-plugin-transform-react-constant-elements": "6.23.0", "babel-plugin-transform-react-remove-prop-types": "0.4.6", "babel-polyfill": "^6.26.0", @@ -138,7 +139,8 @@ "env" ], "plugins": [ - "transform-class-properties" + "transform-class-properties", + "transform-decorators-legacy" ] }, "production": { @@ -157,6 +159,7 @@ ] ], "plugins": [ + "transform-decorators-legacy", "transform-react-constant-elements", "transform-react-remove-prop-types" ] diff --git a/src/assets/vendor/utils/handlers.js b/src/assets/vendor/utils/handlers.js index e82a11976..a7579e62f 100644 --- a/src/assets/vendor/utils/handlers.js +++ b/src/assets/vendor/utils/handlers.js @@ -20,11 +20,6 @@ const $io = {}; $io.on = function onio(r, cb) { e += `.${res.data.tup.toLowerCase()}.${res.data.status}`; } } - - console.log(`Subscribe event: ${e}`); - // console.log(r); - // console.log(res); - GlobalWidget.publish(e, res); return { status: 'ok' }; } catch (e) { diff --git a/src/assets/vendor/utils/signin.js b/src/assets/vendor/utils/signin.js index 64d65a17c..da936c23f 100644 --- a/src/assets/vendor/utils/signin.js +++ b/src/assets/vendor/utils/signin.js @@ -202,7 +202,6 @@ let SignInWidget; }, login(res) { if (res.code.src) { - console.log(res.code.src); localStorage.setItem('client', res.code.src[0]); localStorage.setItem('token', res.code.src[1]); localStorage.removeItem('currentStep'); diff --git a/src/componets/PaperWithDrop/PaperWithDrop.js b/src/componets/PaperWithDrop/PaperWithDrop.js index a28efaa5f..8298925e4 100644 --- a/src/componets/PaperWithDrop/PaperWithDrop.js +++ b/src/componets/PaperWithDrop/PaperWithDrop.js @@ -35,8 +35,7 @@ class PaperWithDrop extends React.Component { { data - } - /* remove variant caused error*/ + } diff --git a/src/containers/UnreadMsg/UnreadMsg.js b/src/containers/UnreadMsg/UnreadMsg.js new file mode 100644 index 000000000..831a3717b --- /dev/null +++ b/src/containers/UnreadMsg/UnreadMsg.js @@ -0,0 +1,19 @@ +import React, { Component, PropTypes } from 'react'; + + +export default class UnreadMsg extends Component { + static propTypes = { + + }; + constructor(props) { + super(props); + this.state = { + + }; + } + render() { + return (
+ unread msg +
); + } +} \ No newline at end of file diff --git a/src/core/protocols/Index.protocol.js b/src/core/protocols/Index.protocol.js index ee9a2fc98..0a1daf32a 100644 --- a/src/core/protocols/Index.protocol.js +++ b/src/core/protocols/Index.protocol.js @@ -40,7 +40,6 @@ const factory = (name = '', utils = {}, eventFormer = null, ...args) => { } else { eventFormer = (res = []) => prepareEvent(eventFormerCopy(res)); } - console.log(name,); return { name, ...utils, diff --git a/src/core/resource/Combined.action.js b/src/core/resource/Combined.action.js deleted file mode 100644 index a6856b510..000000000 --- a/src/core/resource/Combined.action.js +++ /dev/null @@ -1,12 +0,0 @@ -import { authInitActions } from './auth/init'; -import { authVerifyActions } from './auth/verification'; -import { supplierActions } from './supplier'; -import { userActions } from './profile'; - -export const combinedActions = { - ...authInitActions, - ...authVerifyActions, - ...supplierActions, - ...userActions -}; - diff --git a/src/core/resource/Root.reducer.js b/src/core/resource/Root.reducer.js index ab920852e..3b62caf3b 100644 --- a/src/core/resource/Root.reducer.js +++ b/src/core/resource/Root.reducer.js @@ -2,11 +2,13 @@ import { combineReducers } from 'redux'; import { supplier } from './supplier/data/Supplier.reducer'; import { authInitReducers } from './auth/init'; import { profile } from './profile'; +import { contacts } from './contacts'; const rootReducer = combineReducers({ supplier, - user: combineReducers({ + roster: combineReducers({ profile, + contacts, auth: authInitReducers.credentials }) }); diff --git a/src/core/resource/contacts/data/Contacts.reducer.js b/src/core/resource/contacts/data/Contacts.reducer.js new file mode 100644 index 000000000..10a1ccbed --- /dev/null +++ b/src/core/resource/contacts/data/Contacts.reducer.js @@ -0,0 +1,25 @@ +import { createAction, createReducer } from 'redux-act'; + +const contactsInit = createAction('CONTACTS/INIT'); + +const handleLoad = (state, action) => { + return { ...state, init: true, data: action }; +}; + +const initialState = { + init: false +}; + +const contacts = createReducer((on) => { + on(contactsInit, handleLoad); +}, initialState); + +export const contactsActions = { + contactsInit +}; + +export default contacts; + +export function isLoaded(globalState) { + return globalState.profile && globalState.profile.init; +} diff --git a/src/core/resource/contacts/index.js b/src/core/resource/contacts/index.js new file mode 100644 index 000000000..86e68e5fb --- /dev/null +++ b/src/core/resource/contacts/index.js @@ -0,0 +1,6 @@ +import contacts, { contactsActions } from './data/Contacts.reducer'; + +export { + contacts, + contactsActions, +}; diff --git a/src/core/resource/index.js b/src/core/resource/index.js index 41f964fca..7a058034b 100644 --- a/src/core/resource/index.js +++ b/src/core/resource/index.js @@ -1,9 +1,7 @@ import rootSaga from './Root.saga'; import { rootReducer } from './Root.reducer'; -import combinedActions from './Combined.action'; export { - combinedActions, rootReducer, rootSaga }; diff --git a/src/core/resource/profile/index.js b/src/core/resource/profile/index.js index d4861c2ca..1086a76d5 100644 --- a/src/core/resource/profile/index.js +++ b/src/core/resource/profile/index.js @@ -1,7 +1,6 @@ import profile, { userActions } from './data/InitProfile.reducer'; import initProfileSaga from './sagas/InitProfile.saga'; -console.log(userActions); export { profile, userActions, diff --git a/src/core/resource/profile/sagas/InitProfile.saga.js b/src/core/resource/profile/sagas/InitProfile.saga.js index a855529ee..0382a5d6b 100644 --- a/src/core/resource/profile/sagas/InitProfile.saga.js +++ b/src/core/resource/profile/sagas/InitProfile.saga.js @@ -1,15 +1,17 @@ import { effects } from 'redux-saga'; import { userActions } from '../index'; +import { contactsActions } from '../../contacts'; const { put, take } = effects; const initProfileSaga = function* (params) { console.log('initProfile',params); - while(true) { - const data = yield take('PROFILE/INIT'); - yield put(userActions.profileInitSuccess(data.response)); - } +while(true) { + const data = yield take('PROFILE/INIT'); + yield put(userActions.profileInitSuccess(data.response)); + yield put(contactsActions.contactsInit(data.response.rosters[0].userlist)); +} }; export default initProfileSaga; \ No newline at end of file diff --git a/src/modules/Dashboard/Dashboard.js b/src/modules/Dashboard/Dashboard.js index 4e6748782..d18ded230 100644 --- a/src/modules/Dashboard/Dashboard.js +++ b/src/modules/Dashboard/Dashboard.js @@ -5,6 +5,7 @@ import { ChatListItem } from '../../componets'; import { withStyles } from 'material-ui/styles'; import { List, Grid } from 'material-ui'; import { ChatModal } from '../../containers/ChatModal/ChatModal'; +import { connect } from 'react-redux'; const styles = { item: { @@ -12,6 +13,11 @@ const styles = { width: 'calc(33.33% - 16px)' } }; + +// @connect( ({ user }) => ({ +// roster: user.profile.data, +// }) +// ) export class Dashboard extends Component { constructor(props) { super(props); @@ -22,24 +28,20 @@ export class Dashboard extends Component { } static propTypes = { - classes: PropTypes.object.isRequired + classes: PropTypes.object.isRequired, + roster: PropTypes.object }; render() { - const mockUsers = [{ name: 'John Smith' }, { name: 'John Smith2' }, { name: 'John Smith3' }, { name: 'John Smith4' }, { name: 'John Smith5' }]; - const sideList = []; - mockUsers.map((item, index) => ( - sideList.push( - { this.setState({ openChat: !this.state.openChat }); }} /> - ))); - const { classes } = this.props; + const { classes, roster } = this.props; const { openChat } = this.state; + return ( - + this.setState({ openChat: false })} /> diff --git a/src/pages/NinjaApp/NinjaApp.js b/src/pages/NinjaApp/NinjaApp.js index 68672a775..a422b8d1f 100644 --- a/src/pages/NinjaApp/NinjaApp.js +++ b/src/pages/NinjaApp/NinjaApp.js @@ -33,7 +33,6 @@ export class Dashboard extends Component { } render() { - console.log(this.props); const { classes } = this.props; return ( -- GitLab