瀏覽代碼

Focus compose area on quoting a text (#342)

Fixes #251
Silly 8 年之前
父節點
當前提交
42ec03b8f4
共有 2 個文件被更改,包括 15 次插入3 次删除
  1. 7 1
      src/directives/compose_area.ts
  2. 8 2
      src/services/webclient.ts

+ 7 - 1
src/directives/compose_area.ts

@@ -30,13 +30,15 @@ export default [
     '$mdDialog',
     '$filter',
     '$log',
+    '$rootScope',
     function(browserService: BrowserService,
              stringService: StringService,
              $window, $timeout: ng.ITimeoutService,
              $translate: ng.translate.ITranslateService,
              $mdDialog: ng.material.IDialogService,
              $filter: ng.IFilterService,
-             $log: ng.ILogService) {
+             $log: ng.ILogService,
+             $rootScope: ng.IRootScopeService) {
         return {
             restrict: 'EA',
             scope: {
@@ -656,6 +658,10 @@ export default [
                 sendTrigger.on('click', onSendTrigger);
 
                 updateView();
+
+                $rootScope.$on('onQuoted', (event: ng.IAngularEvent, args: any) => {
+                    composeDiv[0].focus();
+                });
             },
             // tslint:disable:max-line-length
             template: `

+ 8 - 2
src/services/webclient.ts

@@ -1303,10 +1303,16 @@ export class WebClientService {
             }
 
             if (quoteText !== undefined) {
-                this.drafts.setQuote(receiver, {
+                let quote = {
                     identity: message.isOutbox ? this.me.id : message.partnerId,
                     text: quoteText,
-                } as threema.Quote);
+                } as threema.Quote;
+
+                this.drafts.setQuote(receiver, quote);
+                this.$rootScope.$broadcast('onQuoted', {
+                    receiver: receiver,
+                    quote: quote,
+                });
             }
         }
     }