From 4a144ac03dcf8cb7d392beec29583d055ae4ce50 Mon Sep 17 00:00:00 2001 From: David Baker Date: Mon, 30 Nov 2015 17:30:32 +0000 Subject: [PATCH 1/8] WIP of new component indexing --- src/component-index.js | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/component-index.js diff --git a/src/component-index.js b/src/component-index.js new file mode 100644 index 0000000000..bcefbd34bc --- /dev/null +++ b/src/component-index.js @@ -0,0 +1,42 @@ +/* + * THIS FILE IS AUTO-GENERATED + * You can edit it you like, but your changes will be overwritten, + * so you'd just be trying to swim upstream like a salmon. + * You are not a salmon. + */ + +module.exports.components = {}; +module.exports.components['views.avatars.MemberAvatar'] = require('./components/views/avatars/MemberAvatar'); +module.exports.components['views.avatars.RoomAvatar'] = require('./components/views/avatars/RoomAvatar'); +module.exports.components['views.create_room.CreateRoomButton'] = require('./components/views/create_room/CreateRoomButton'); +module.exports.components['views.create_room.Presets'] = require('./components/views/create_room/Presets'); +module.exports.components['views.create_room.RoomAlias'] = require('./components/views/create_room/RoomAlias'); +module.exports.components['views.elements.EditableText'] = require('./components/views/elements/EditableText'); +module.exports.components['views.elements.ProgressBar'] = require('./components/views/elements/ProgressBar'); +module.exports.components['views.elements.UserSelector'] = require('./components/views/elements/UserSelector'); +module.exports.components['views.login.CaptchaForm'] = require('./components/views/login/CaptchaForm'); +module.exports.components['views.login.CasLogin'] = require('./components/views/login/CasLogin'); +module.exports.components['views.login.PasswordLogin'] = require('./components/views/login/PasswordLogin'); +module.exports.components['views.messages.Event'] = require('./components/views/messages/Event'); +module.exports.components['views.messages.Message'] = require('./components/views/messages/Message'); +module.exports.components['views.messages.MessageComposer'] = require('./components/views/messages/MessageComposer'); +module.exports.components['views.messages.MFileMessage'] = require('./components/views/messages/MFileMessage'); +module.exports.components['views.messages.MImageMessage'] = require('./components/views/messages/MImageMessage'); +module.exports.components['views.messages.MRoomMemberEvent'] = require('./components/views/messages/MRoomMemberEvent'); +module.exports.components['views.messages.MVideoMessage'] = require('./components/views/messages/MVideoMessage'); +module.exports.components['views.messages.TextualEvent'] = require('./components/views/messages/TextualEvent'); +module.exports.components['views.messages.TextualMessage'] = require('./components/views/messages/TextualMessage'); +module.exports.components['views.messages.UnknownMessage'] = require('./components/views/messages/UnknownMessage'); +module.exports.components['views.rooms.MemberInfo'] = require('./components/views/rooms/MemberInfo'); +module.exports.components['views.rooms.MemberTile'] = require('./components/views/rooms/MemberTile'); +module.exports.components['views.rooms.RoomHeader'] = require('./components/views/rooms/RoomHeader'); +module.exports.components['views.rooms.RoomSettings'] = require('./components/views/rooms/RoomSettings'); +module.exports.components['views.rooms.RoomTile'] = require('./components/views/rooms/RoomTile'); +module.exports.components['views.settings.ChangeAvatar'] = require('./components/views/settings/ChangeAvatar'); +module.exports.components['views.settings.ChangeDisplayName'] = require('./components/views/settings/ChangeDisplayName'); +module.exports.components['views.settings.ChangePassword'] = require('./components/views/settings/ChangePassword'); +module.exports.components['views.settings.EnableNotificationsButton'] = require('./components/views/settings/EnableNotificationsButton'); +module.exports.components['views.voip.CallView'] = require('./components/views/voip/CallView'); +module.exports.components['views.voip.IncomingCallBox'] = require('./components/views/voip/IncomingCallBox'); +module.exports.components['views.voip.VideoFeed'] = require('./components/views/voip/VideoFeed'); +module.exports.components['views.voip.VideoView'] = require('./components/views/voip/VideoView'); From 730b33535a766b6735cbe64f788e1bf69507f79e Mon Sep 17 00:00:00 2001 From: David Baker Date: Mon, 30 Nov 2015 17:33:04 +0000 Subject: [PATCH 2/8] More WIP component indexing --- package.json | 3 +- reskindex.js | 71 ++++++++++---------------- src/ContentMessages.js | 112 ++++++++++++++++++++++++++++++----------- src/Skinner.js | 25 ++++++++- 4 files changed, 137 insertions(+), 74 deletions(-) diff --git a/package.json b/package.json index 0b5a18168f..4a55f111bb 100644 --- a/package.json +++ b/package.json @@ -38,8 +38,9 @@ "//depsbuglink": "https://github.com/webpack/webpack/issues/1472", "devDependencies": { "babel": "^5.8.23", - "rimraf": "^2.4.3", "json-loader": "^0.5.3", + "require-json": "0.0.1", + "rimraf": "^2.4.3", "source-map-loader": "^0.1.5" } } diff --git a/reskindex.js b/reskindex.js index e028979122..b628ae59e7 100755 --- a/reskindex.js +++ b/reskindex.js @@ -8,40 +8,13 @@ var args = require('optimist').argv; var header = args.h || args.header; -if (args._.length == 0) { - console.log("No skin given"); - process.exit(1); -} +var componenetsDir = path.join('src', 'components'); -var skin = args._[0]; +var componentIndex = path.join('src', 'component-index.js'); -try { - fs.accessSync(path.join('src', 'skins', skin), fs.F_OK); -} catch (e) { - console.log("Skin "+skin+" not found: "+e); - process.exit(1); -} +var packageJson = JSON.parse(fs.readFileSync('./package.json')); -var skinfoFile = path.join('src', 'skins', skin, 'skinfo.json'); - -try { - fs.accessSync(skinfoFile, fs.F_OK); -} catch (e) { - console.log("Skin "+skin+" has no skinfo.json"); - process.exit(1); -} - -try { - fs.accessSync(path.join('src', 'skins', skin, 'views'), fs.F_OK); -} catch (e) { - console.log("Skin "+skin+" has no views directory"); - process.exit(1); -} - -var skindex = path.join('src', 'skins', skin, 'skindex.js'); -var viewsDir = path.join('src', 'skins', skin, 'views'); - -var strm = fs.createWriteStream(skindex); +var strm = fs.createWriteStream(componentIndex); if (header) { strm.write(fs.readFileSync(header)); @@ -55,28 +28,38 @@ strm.write(" * so you'd just be trying to swim upstream like a salmon.\n"); strm.write(" * You are not a salmon.\n"); strm.write(" */\n\n"); -var mySkinfo = JSON.parse(fs.readFileSync(skinfoFile, "utf8")); +if (packageJson['matrix-react-parent']) { + strm.write("module.exports.components = require('"+packageJson['matrix-react-parent']+"/lib/component-index').components;\n\n"); +} else { + strm.write("module.exports.components = {};\n"); +} -strm.write("var skin = {};\n"); -strm.write('\n'); - -var files = glob.sync('**/*.js', {cwd: viewsDir}); +var files = glob.sync('**/*.js', {cwd: componenetsDir}); for (var i = 0; i < files.length; ++i) { var file = files[i].replace('.js', ''); + var module = (file.replace(/\//g, '.')); - strm.write("skin['"+module+"'] = require('./views/"+file+"');\n"); + strm.write("module.exports.components['"+module+"'] = require('./components/"+file+"');"); + strm.write('\n'); strm.uncork(); } -strm.write("\n"); +// Temporary Vector transition +var vectorViewsPath = path.join('src', 'skins', 'vector', 'views'); +if (fs.existsSync(vectorViewsPath)) { + strm.write('\n'); + strm.write('// Old, unported Vector views:\n'); + var files = glob.sync('**/*.js', {cwd: vectorViewsPath}); + for (var i = 0; i < files.length; ++i) { + var file = files[i].replace('.js', ''); -if (mySkinfo.baseSkin) { - strm.write("module.exports = require('"+mySkinfo.baseSkin+"');"); - strm.write("var extend = require('matrix-react-sdk/lib/extend');\n"); - strm.write("extend(module.exports, skin);\n"); -} else { - strm.write("module.exports = skin;"); + var module = (file.replace(/\//g, '.')); + + strm.write("module.exports.components['"+module+"'] = require('./skins/vector/views/"+file+"');"); + strm.write('\n'); + strm.uncork(); + } } strm.end(); diff --git a/src/ContentMessages.js b/src/ContentMessages.js index eba3011917..607c677994 100644 --- a/src/ContentMessages.js +++ b/src/ContentMessages.js @@ -18,6 +18,7 @@ limitations under the License. var q = require('q'); var extend = require('./extend'); +var dis = require('./dispatcher'); function infoForImageFile(imageFile) { var deferred = q.defer(); @@ -48,39 +49,94 @@ function infoForImageFile(imageFile) { return deferred.promise; } -function sendContentToRoom(file, roomId, matrixClient) { - var content = { - body: file.name, - info: { - size: file.size, +class ContentMessages { + constructor() { + this.inprogress = []; + this.nextId = 0; + } + + sendContentToRoom(file, roomId, matrixClient) { + var content = { + body: file.name, + info: { + size: file.size, + } + }; + + // if we have a mime type for the file, add it to the message metadata + if (file.type) { + content.info.mimetype = file.type; } - }; - // if we have a mime type for the file, add it to the message metadata - if (file.type) { - content.info.mimetype = file.type; - } - - var def = q.defer(); - if (file.type.indexOf('image/') == 0) { - content.msgtype = 'm.image'; - infoForImageFile(file).then(function(imageInfo) { - extend(content.info, imageInfo); + var def = q.defer(); + if (file.type.indexOf('image/') == 0) { + content.msgtype = 'm.image'; + infoForImageFile(file).then(function(imageInfo) { + extend(content.info, imageInfo); + def.resolve(); + }); + } else { + content.msgtype = 'm.file'; def.resolve(); + } + + var upload = { + fileName: file.name, + roomId: roomId, + total: 0, + loaded: 0 + }; + this.inprogress.push(upload); + dis.dispatch({action: 'upload_started'}); + + var self = this; + return def.promise.then(function() { + upload.promise = matrixClient.uploadContent(file); + return upload.promise; + }).then(function(url) { + content.url = url; + return matrixClient.sendMessage(roomId, content); + }).progress(function(ev) { + if (ev) { + upload.total = ev.total; + upload.loaded = ev.loaded; + dis.dispatch({action: 'upload_progress', upload: upload}); + } + }).then(function() { + dis.dispatch({action: 'upload_finished', upload: upload}); + }, function(err) { + dis.dispatch({action: 'upload_failed', upload: upload}); + }).finally(function() { + var inprogressKeys = Object.keys(self.inprogress); + for (var i = 0; i < self.inprogress.length; ++i) { + var k = inprogressKeys[i]; + if (self.inprogress[k].promise === upload_promise) { + delete self.inprogress[k]; + break; + } + } }); - } else { - content.msgtype = 'm.file'; - def.resolve(); } - return def.promise.then(function() { - return matrixClient.uploadContent(file); - }).then(function(url) { - content.url = url; - return matrixClient.sendMessage(roomId, content); - }); + getCurrentUploads() { + return this.inprogress; + } + + cancelUpload(promise) { + var inprogressKeys = Object.keys(self.inprogress); + for (var i = 0; i < self.inprogress.length; ++i) { + var k = inprogressKeys[i]; + if (self.inprogress[k].promise === promise) { + self.inprogress[k].canceled = true; + break; + } + } + MatrixClientPeg.get().cancelUpload(promise); + } } -module.exports = { - sendContentToRoom: sendContentToRoom -}; +if (global.mx_ContentMessage === undefined) { + global.mx_ContentMessage = new ContentMessages(); +} + +module.exports = global.mx_ContentMessage; diff --git a/src/Skinner.js b/src/Skinner.js index ae48d85633..934a68ddf1 100644 --- a/src/Skinner.js +++ b/src/Skinner.js @@ -32,6 +32,11 @@ class Skinner { if (comp) { return comp; } + // XXX + var comp = this.components['views.'+name]; + if (comp) { + return comp; + } throw new Error("No such component: "+name); } @@ -42,7 +47,25 @@ class Skinner { "If you want to change the active skin, call resetSkin first" ); } - this.components = skinObject; + this.components = {}; + var compKeys = Object.keys(skinObject.components); + for (var i = 0; i < compKeys.length; ++i) { + var comp = skinObject.components[compKeys[i]]; + this.addComponent(compKeys[i], comp); + } + } + + addComponent(name, comp) { + var slot = name; + if (comp.replaces !== undefined) { + if (comp.replaces.indexOf('.') > -1) { + slot = comp.replaces; + } else { + slot = name.substr(0, name.lastIndexOf('.') + 1) + comp.replaces.split('.').pop(); + } + } + console.log(slot+" = "+name); + this.components[slot] = comp; } reset() { From ae8c5bdcb025bffd7f9763891d0b8d0979965be0 Mon Sep 17 00:00:00 2001 From: David Baker Date: Mon, 30 Nov 2015 17:56:01 +0000 Subject: [PATCH 3/8] better comment & regenerated index --- src/Skinner.js | 3 ++- src/component-index.js | 17 ++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/Skinner.js b/src/Skinner.js index 934a68ddf1..6f0bd43074 100644 --- a/src/Skinner.js +++ b/src/Skinner.js @@ -32,7 +32,8 @@ class Skinner { if (comp) { return comp; } - // XXX + // XXX: Temporarily also try 'views.' as we're currently + // leaving the 'views.' off views. var comp = this.components['views.'+name]; if (comp) { return comp; diff --git a/src/component-index.js b/src/component-index.js index bcefbd34bc..682553da14 100644 --- a/src/component-index.js +++ b/src/component-index.js @@ -17,18 +17,17 @@ module.exports.components['views.elements.UserSelector'] = require('./components module.exports.components['views.login.CaptchaForm'] = require('./components/views/login/CaptchaForm'); module.exports.components['views.login.CasLogin'] = require('./components/views/login/CasLogin'); module.exports.components['views.login.PasswordLogin'] = require('./components/views/login/PasswordLogin'); -module.exports.components['views.messages.Event'] = require('./components/views/messages/Event'); -module.exports.components['views.messages.Message'] = require('./components/views/messages/Message'); -module.exports.components['views.messages.MessageComposer'] = require('./components/views/messages/MessageComposer'); -module.exports.components['views.messages.MFileMessage'] = require('./components/views/messages/MFileMessage'); -module.exports.components['views.messages.MImageMessage'] = require('./components/views/messages/MImageMessage'); -module.exports.components['views.messages.MRoomMemberEvent'] = require('./components/views/messages/MRoomMemberEvent'); -module.exports.components['views.messages.MVideoMessage'] = require('./components/views/messages/MVideoMessage'); +module.exports.components['views.messages.MessageEvent'] = require('./components/views/messages/MessageEvent'); +module.exports.components['views.messages.MFileBody'] = require('./components/views/messages/MFileBody'); +module.exports.components['views.messages.MImageBody'] = require('./components/views/messages/MImageBody'); +module.exports.components['views.messages.MVideoBody'] = require('./components/views/messages/MVideoBody'); +module.exports.components['views.messages.TextualBody'] = require('./components/views/messages/TextualBody'); module.exports.components['views.messages.TextualEvent'] = require('./components/views/messages/TextualEvent'); -module.exports.components['views.messages.TextualMessage'] = require('./components/views/messages/TextualMessage'); -module.exports.components['views.messages.UnknownMessage'] = require('./components/views/messages/UnknownMessage'); +module.exports.components['views.messages.UnknownBody'] = require('./components/views/messages/UnknownBody'); +module.exports.components['views.rooms.EventTile'] = require('./components/views/rooms/EventTile'); module.exports.components['views.rooms.MemberInfo'] = require('./components/views/rooms/MemberInfo'); module.exports.components['views.rooms.MemberTile'] = require('./components/views/rooms/MemberTile'); +module.exports.components['views.rooms.MessageComposer'] = require('./components/views/rooms/MessageComposer'); module.exports.components['views.rooms.RoomHeader'] = require('./components/views/rooms/RoomHeader'); module.exports.components['views.rooms.RoomSettings'] = require('./components/views/rooms/RoomSettings'); module.exports.components['views.rooms.RoomTile'] = require('./components/views/rooms/RoomTile'); From 4f8895f160effda35ada007167921fbf91a6bfbb Mon Sep 17 00:00:00 2001 From: David Baker Date: Mon, 30 Nov 2015 18:00:19 +0000 Subject: [PATCH 4/8] Copyright header on component index --- header | 15 +++++++++++++++ package.json | 1 + src/component-index.js | 16 ++++++++++++++++ 3 files changed, 32 insertions(+) create mode 100644 header diff --git a/header b/header new file mode 100644 index 0000000000..fd88ee27f7 --- /dev/null +++ b/header @@ -0,0 +1,15 @@ +/* +Copyright 2015 OpenMarket Ltd + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ diff --git a/package.json b/package.json index 4a55f111bb..7afb4d073f 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "reskindex": "./reskindex.js" }, "scripts": { + "reskindex": "reskindex -h header", "build": "babel src -d lib --source-maps", "start": "babel src -w -d lib --source-maps", "clean": "rimraf lib", diff --git a/src/component-index.js b/src/component-index.js index 682553da14..0593128f7e 100644 --- a/src/component-index.js +++ b/src/component-index.js @@ -1,3 +1,19 @@ +/* +Copyright 2015 OpenMarket Ltd + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + /* * THIS FILE IS AUTO-GENERATED * You can edit it you like, but your changes will be overwritten, From 1df03aa82a3503aa38dd5c25278647103a445a65 Mon Sep 17 00:00:00 2001 From: David Baker Date: Tue, 1 Dec 2015 10:20:21 +0000 Subject: [PATCH 5/8] Remove unintentional logging --- src/Skinner.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Skinner.js b/src/Skinner.js index 6f0bd43074..3e71d10e2d 100644 --- a/src/Skinner.js +++ b/src/Skinner.js @@ -65,7 +65,6 @@ class Skinner { slot = name.substr(0, name.lastIndexOf('.') + 1) + comp.replaces.split('.').pop(); } } - console.log(slot+" = "+name); this.components[slot] = comp; } From 1de5d68e95ff8885ce2aa4bf47b9b57af789c036 Mon Sep 17 00:00:00 2001 From: David Baker Date: Tue, 1 Dec 2015 10:25:35 +0000 Subject: [PATCH 6/8] Un-commit accidentally committed file upload stuff --- src/ContentMessages.js | 112 +++++++++++------------------------------ 1 file changed, 28 insertions(+), 84 deletions(-) diff --git a/src/ContentMessages.js b/src/ContentMessages.js index 607c677994..eba3011917 100644 --- a/src/ContentMessages.js +++ b/src/ContentMessages.js @@ -18,7 +18,6 @@ limitations under the License. var q = require('q'); var extend = require('./extend'); -var dis = require('./dispatcher'); function infoForImageFile(imageFile) { var deferred = q.defer(); @@ -49,94 +48,39 @@ function infoForImageFile(imageFile) { return deferred.promise; } -class ContentMessages { - constructor() { - this.inprogress = []; - this.nextId = 0; +function sendContentToRoom(file, roomId, matrixClient) { + var content = { + body: file.name, + info: { + size: file.size, + } + }; + + // if we have a mime type for the file, add it to the message metadata + if (file.type) { + content.info.mimetype = file.type; } - sendContentToRoom(file, roomId, matrixClient) { - var content = { - body: file.name, - info: { - size: file.size, - } - }; - - // if we have a mime type for the file, add it to the message metadata - if (file.type) { - content.info.mimetype = file.type; - } - - var def = q.defer(); - if (file.type.indexOf('image/') == 0) { - content.msgtype = 'm.image'; - infoForImageFile(file).then(function(imageInfo) { - extend(content.info, imageInfo); - def.resolve(); - }); - } else { - content.msgtype = 'm.file'; + var def = q.defer(); + if (file.type.indexOf('image/') == 0) { + content.msgtype = 'm.image'; + infoForImageFile(file).then(function(imageInfo) { + extend(content.info, imageInfo); def.resolve(); - } - - var upload = { - fileName: file.name, - roomId: roomId, - total: 0, - loaded: 0 - }; - this.inprogress.push(upload); - dis.dispatch({action: 'upload_started'}); - - var self = this; - return def.promise.then(function() { - upload.promise = matrixClient.uploadContent(file); - return upload.promise; - }).then(function(url) { - content.url = url; - return matrixClient.sendMessage(roomId, content); - }).progress(function(ev) { - if (ev) { - upload.total = ev.total; - upload.loaded = ev.loaded; - dis.dispatch({action: 'upload_progress', upload: upload}); - } - }).then(function() { - dis.dispatch({action: 'upload_finished', upload: upload}); - }, function(err) { - dis.dispatch({action: 'upload_failed', upload: upload}); - }).finally(function() { - var inprogressKeys = Object.keys(self.inprogress); - for (var i = 0; i < self.inprogress.length; ++i) { - var k = inprogressKeys[i]; - if (self.inprogress[k].promise === upload_promise) { - delete self.inprogress[k]; - break; - } - } }); + } else { + content.msgtype = 'm.file'; + def.resolve(); } - getCurrentUploads() { - return this.inprogress; - } - - cancelUpload(promise) { - var inprogressKeys = Object.keys(self.inprogress); - for (var i = 0; i < self.inprogress.length; ++i) { - var k = inprogressKeys[i]; - if (self.inprogress[k].promise === promise) { - self.inprogress[k].canceled = true; - break; - } - } - MatrixClientPeg.get().cancelUpload(promise); - } + return def.promise.then(function() { + return matrixClient.uploadContent(file); + }).then(function(url) { + content.url = url; + return matrixClient.sendMessage(roomId, content); + }); } -if (global.mx_ContentMessage === undefined) { - global.mx_ContentMessage = new ContentMessages(); -} - -module.exports = global.mx_ContentMessage; +module.exports = { + sendContentToRoom: sendContentToRoom +}; From 7f27ffd7bde89eccfa7687e7d1f3171b646c4f5b Mon Sep 17 00:00:00 2001 From: David Baker Date: Tue, 1 Dec 2015 10:26:08 +0000 Subject: [PATCH 7/8] Fix typos & variable shadowing from PR comments --- reskindex.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/reskindex.js b/reskindex.js index b628ae59e7..4b854de8ec 100755 --- a/reskindex.js +++ b/reskindex.js @@ -8,7 +8,7 @@ var args = require('optimist').argv; var header = args.h || args.header; -var componenetsDir = path.join('src', 'components'); +var componentsDir = path.join('src', 'components'); var componentIndex = path.join('src', 'component-index.js'); @@ -34,13 +34,13 @@ if (packageJson['matrix-react-parent']) { strm.write("module.exports.components = {};\n"); } -var files = glob.sync('**/*.js', {cwd: componenetsDir}); +var files = glob.sync('**/*.js', {cwd: componentsDir}); for (var i = 0; i < files.length; ++i) { var file = files[i].replace('.js', ''); - var module = (file.replace(/\//g, '.')); + var moduleName = (file.replace(/\//g, '.')); - strm.write("module.exports.components['"+module+"'] = require('./components/"+file+"');"); + strm.write("module.exports.components['"+moduleName+"'] = require('./components/"+file+"');"); strm.write('\n'); strm.uncork(); } @@ -54,9 +54,9 @@ if (fs.existsSync(vectorViewsPath)) { for (var i = 0; i < files.length; ++i) { var file = files[i].replace('.js', ''); - var module = (file.replace(/\//g, '.')); + var moduleName = (file.replace(/\//g, '.')); - strm.write("module.exports.components['"+module+"'] = require('./skins/vector/views/"+file+"');"); + strm.write("module.exports.components['"+moduleName+"'] = require('./skins/vector/views/"+file+"');"); strm.write('\n'); strm.uncork(); } From 77b99de46b19e97dd4def11e51c9be59997cbcab Mon Sep 17 00:00:00 2001 From: David Baker Date: Tue, 1 Dec 2015 15:52:32 +0000 Subject: [PATCH 8/8] Update component index --- src/component-index.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/component-index.js b/src/component-index.js index 0593128f7e..a78ea55c17 100644 --- a/src/component-index.js +++ b/src/component-index.js @@ -22,17 +22,29 @@ limitations under the License. */ module.exports.components = {}; +module.exports.components['structures.CreateRoom'] = require('./components/structures/CreateRoom'); +module.exports.components['structures.login.Login'] = require('./components/structures/login/Login'); +module.exports.components['structures.login.PostRegistration'] = require('./components/structures/login/PostRegistration'); +module.exports.components['structures.login.Registration'] = require('./components/structures/login/Registration'); +module.exports.components['structures.MatrixChat'] = require('./components/structures/MatrixChat'); +module.exports.components['structures.RoomView'] = require('./components/structures/RoomView'); +module.exports.components['structures.UserSettings'] = require('./components/structures/UserSettings'); module.exports.components['views.avatars.MemberAvatar'] = require('./components/views/avatars/MemberAvatar'); module.exports.components['views.avatars.RoomAvatar'] = require('./components/views/avatars/RoomAvatar'); module.exports.components['views.create_room.CreateRoomButton'] = require('./components/views/create_room/CreateRoomButton'); module.exports.components['views.create_room.Presets'] = require('./components/views/create_room/Presets'); module.exports.components['views.create_room.RoomAlias'] = require('./components/views/create_room/RoomAlias'); +module.exports.components['views.dialogs.ErrorDialog'] = require('./components/views/dialogs/ErrorDialog'); +module.exports.components['views.dialogs.LogoutPrompt'] = require('./components/views/dialogs/LogoutPrompt'); +module.exports.components['views.dialogs.QuestionDialog'] = require('./components/views/dialogs/QuestionDialog'); module.exports.components['views.elements.EditableText'] = require('./components/views/elements/EditableText'); module.exports.components['views.elements.ProgressBar'] = require('./components/views/elements/ProgressBar'); module.exports.components['views.elements.UserSelector'] = require('./components/views/elements/UserSelector'); module.exports.components['views.login.CaptchaForm'] = require('./components/views/login/CaptchaForm'); module.exports.components['views.login.CasLogin'] = require('./components/views/login/CasLogin'); module.exports.components['views.login.PasswordLogin'] = require('./components/views/login/PasswordLogin'); +module.exports.components['views.login.RegistrationForm'] = require('./components/views/login/RegistrationForm'); +module.exports.components['views.login.ServerConfig'] = require('./components/views/login/ServerConfig'); module.exports.components['views.messages.MessageEvent'] = require('./components/views/messages/MessageEvent'); module.exports.components['views.messages.MFileBody'] = require('./components/views/messages/MFileBody'); module.exports.components['views.messages.MImageBody'] = require('./components/views/messages/MImageBody'); @@ -42,9 +54,11 @@ module.exports.components['views.messages.TextualEvent'] = require('./components module.exports.components['views.messages.UnknownBody'] = require('./components/views/messages/UnknownBody'); module.exports.components['views.rooms.EventTile'] = require('./components/views/rooms/EventTile'); module.exports.components['views.rooms.MemberInfo'] = require('./components/views/rooms/MemberInfo'); +module.exports.components['views.rooms.MemberList'] = require('./components/views/rooms/MemberList'); module.exports.components['views.rooms.MemberTile'] = require('./components/views/rooms/MemberTile'); module.exports.components['views.rooms.MessageComposer'] = require('./components/views/rooms/MessageComposer'); module.exports.components['views.rooms.RoomHeader'] = require('./components/views/rooms/RoomHeader'); +module.exports.components['views.rooms.RoomList'] = require('./components/views/rooms/RoomList'); module.exports.components['views.rooms.RoomSettings'] = require('./components/views/rooms/RoomSettings'); module.exports.components['views.rooms.RoomTile'] = require('./components/views/rooms/RoomTile'); module.exports.components['views.settings.ChangeAvatar'] = require('./components/views/settings/ChangeAvatar');