配置哪些实体在JHipster中提醒

时间:2017-06-17 08:02:18

标签: javascript jhipster

我有一个带有4.5.1版本(Angular 1)的jHipster项目,它做得非常好。但是,我已经修改了生成的前端代码,它是针对所有实体的CRUD,并希望统一其中许多代码。

那就是说,我希望能够选择哪些实体提醒使用UI-Bootstrap。现在,当我在同一视图中保存管理EntityB的EntityA时,我会为每个实体收到两个警报。我只想得到关于第一个的消息。

有什么办法吗?或者更好的是,禁用自动实体消息传递并在控制器中手动执行它?

1 个答案:

答案 0 :(得分: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);
        }
    }
})();

另见: