diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2017-11-21 12:40:48 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2017-11-21 12:40:48 +0900 |
| commit | ed18d3cc2283ea15c6909df9bfbc16027c0ab003 (patch) | |
| tree | 5e7be8b94d24cfd908b811e231819bb77b3362c0 /src/web/app | |
| parent | Merge branch 'master' of https://github.com/syuilo/misskey (diff) | |
| download | sharkey-ed18d3cc2283ea15c6909df9bfbc16027c0ab003.tar.gz sharkey-ed18d3cc2283ea15c6909df9bfbc16027c0ab003.tar.bz2 sharkey-ed18d3cc2283ea15c6909df9bfbc16027c0ab003.zip | |
#935
Diffstat (limited to 'src/web/app')
| -rw-r--r-- | src/web/app/common/mios.ts | 1 | ||||
| -rw-r--r-- | src/web/app/desktop/tags/home.tag | 14 |
2 files changed, 14 insertions, 1 deletions
diff --git a/src/web/app/common/mios.ts b/src/web/app/common/mios.ts index 838be9c370..96dac70f61 100644 --- a/src/web/app/common/mios.ts +++ b/src/web/app/common/mios.ts @@ -198,6 +198,7 @@ export default class MiOS extends EventEmitter { fetchme(cachedMe.token, freshData => { Object.assign(cachedMe, freshData); cachedMe.trigger('updated'); + cachedMe.trigger('refreshed'); }); } else { // Get token from cookie diff --git a/src/web/app/desktop/tags/home.tag b/src/web/app/desktop/tags/home.tag index fb244941a7..c751117517 100644 --- a/src/web/app/desktop/tags/home.tag +++ b/src/web/app/desktop/tags/home.tag @@ -193,11 +193,16 @@ this.home = []; + this.bakeHomeData = () => JSON.stringify(this.I.client_settings.home); + this.bakedHomeData = this.bakeHomeData(); + this.on('mount', () => { this.refs.tl.on('loaded', () => { this.trigger('loaded'); }); + this.I.on('refreshed', this.onMeRefreshed); + this.I.client_settings.home.forEach(widget => { try { this.setWidget(widget); @@ -256,6 +261,8 @@ }); this.on('unmount', () => { + this.I.off('refreshed', this.onMeRefreshed); + this.home.forEach(widget => { widget.unmount(); }); @@ -266,6 +273,12 @@ } }); + this.onMeRefreshed = () => { + if (this.bakedHomeData != this.bakeHomeData()) { + alert('別の場所でホームが編集されました。ページを再度読み込みすると編集が反映されます。'); + } + }; + this.setWidget = (widget, prepend = false) => { const el = document.createElement(`mk-${widget.name}-home-widget`); @@ -366,7 +379,6 @@ this.api('i/update_home', { home: data }).then(() => { - this.I.client_settings.home = data; this.I.update(); }); }; |