directive_module.directive('mergeandpublishmodal', mergeAndPublishDirective);

function mergeAndPublishDirective(AppUtil, EventManager) {
    return {
        restrict: 'E',
        templateUrl: '../../views/component/merge-and-publish-modal.html',
        transclude: true,
        replace: true,
        scope: {
            appId: '=',
            env: '=',
            cluster: '='
        },
        link: function (scope) {

            scope.showReleaseModal = showReleaseModal;

            EventManager.subscribe(EventManager.EventType.MERGE_AND_PUBLISH_NAMESPACE,
                                   function (context) {
                                       var branch = context.branch;
                                       scope.toReleaseNamespace = branch;
                                       scope.toDeleteBranch = branch;

                                       var branchStatusMerge = 2;
                                       branch.branchStatus = branchStatusMerge;
                                       branch.mergeAndPublish = true;
                                       
                                       AppUtil.showModal('#mergeAndPublishModal');
                                   });


            function showReleaseModal() {
                EventManager.emit(EventManager.EventType.PUBLISH_NAMESPACE, {namespace: scope.toReleaseNamespace});
            }

        }
    }
}


