2017-06-17 64 views
0

4.5.1バージョン(Angular 1)のjHipsterプロジェクトがあり、本当にうまく機能します。しかし、私はすでに生成されたフロントエンドコードを変更しています。これは、すべてのエンティティに焦点を当てたCRUDであり、それらの多くを統一したいのです。JHipsterで警告するエンティティの設定

つまり、UI-Bootstrapを使用して警告するエンティティを選択できるようにしたいと考えています。今、EntityBを同じビューに管理するEntityAを保存すると、各エンティティに対して2つのアラートが表示されます。私はちょうど最初のものについてのメッセージを取得したい。

これを行う方法はありますか?あるいは、自動エンティティのメッセージングを無効にして、コントローラで手作業でそれを行うだけでよいのですか?

答えて

0

角度HTTPリクエストの管理者は、app/blocks/interceptorに保持されます。そこでは、notification.interceptor.jsと呼ばれるファイルがありますと表示されているエンティティのためのフィルタはありませんので、我々はいくつかの方法でそれを設定する必要があります。我々はまた、アラートを表示またはからエラー応答を記録したい場合は、

(function() { 
    'use strict'; 

    angular 
     .module('myApp') 
     .factory('notificationInterceptor', notificationInterceptor); 

    notificationInterceptor.$inject = ['$q', 'AlertService']; 

    function notificationInterceptor ($q, AlertService) { 
     var service = { 
      response: response 
     }; 

     return service; 

     function response (response) { 
      var headers = Object.keys(response.headers()).filter(function (header) { 
       return header.indexOf('app-alert', header.length - 'app-alert'.length) !== -1 || header.indexOf('app-params', header.length - 'app-params'.length) !== -1; 
      }).sort(); 
      var alertKey = response.headers(headers[0]); 
      if (angular.isString(alertKey) && alertKey.indexOf('myEntityToBeDisplayed') !== -1) { 
       AlertService.success(alertKey, { param : response.headers(headers[1])}); 
      } 
      return response; 
     } 
    } 
})(); 

を次にサーバでは、errorhandler.interceptor.jsが発生したエラー応答のそれぞれをインターセプトします。それを少しチューニング、それらのすべてのアラートを表示するチャンスがあります:

(function() { 
    'use strict'; 

    angular 
     .module('myApp') 
     .factory('errorHandlerInterceptor', errorHandlerInterceptor); 

    errorHandlerInterceptor.$inject = ['$q', '$rootScope']; 

    function errorHandlerInterceptor ($q, $rootScope) { 
     var service = { 
      responseError: responseError 
     }; 

     return service; 

     function responseError (response) { 
      if (!(response.status === 401)) { 
       $rootScope.$emit('myApp.httpError', response); 
      } 
      return $q.reject(response); 
     } 
    } 
})(); 

も参照してください: