Как вернуть значение из контроллера в $ provide.decorator - PullRequest
0 голосов
/ 30 октября 2019

Я использую текстовый редактор angularjs, так как мне нужно передать значение из контроллера в $ provide.decorator

$provide.decorator('taOptions', ['taRegisterTool', 
'$delegate','$aside', function (taRegisterTool, taOptions, $aside) {

    taRegisterTool('uploadImage', {
        iconclass: "fa fa-image",
        action: function (deferred) {
            debugger;
            var editor_data = this;
            $aside.open({
                controller: 'UploadImageModalInstance',
                templateUrl: 'views/engine/common/imageUpload.html',

            }).result.then(
                function (result) {
                    debugger;
                    document.execCommand('insertImage', true, result);
                    deferred.resolve();
                },
                function () {
                    deferred.resolve();
                }
            );
            return false;
        }
    });
    taOptions.toolbar[1].push('uploadImage');
    return taOptions;
}]);

Я звоню сюда UploadImageModalInstance контроллер, и он загрузит изображение в s3 ивернуть S3 изображение URL. Теперь я хочу отправить это значение URL вызываемому декоратору.

bizexEngine.controller('UploadImageModalInstance', 
  function($scope, $aside, Upload, $uibModalInstance){

    $scope.image = 'img/default.png';
    debugger;
    $scope.progress = 0;
    $scope.files = [];        

    $scope.upload = function(files){
        debugger;
        Upload.upload({
            url: __env.apiUrl + '/api/v1/accounts/upload_image_sss',
            data: {data: files},
            method: 'PUT'    
        }).progress(function (evt) {
            $scope.progress = parseInt(100.0 * evt.loaded / evt.total);
        }).success(function (data) {
            $scope.progress = 0;
            $scope.image = data.url;

        });
    };

    $scope.insert = function(){
        $uibModalInstance.dismiss();
    };
})

Здесь возвращаем $ scope.image вызываемому декоратору

...