var angular = require('angular');
require('../modules');
require('../../tree/app');
require('../services/UserChooser');
var module = angular.module('linker.directives');
/**
 * sino-user-select-zf指令用来让用户可以选择人员。
 *
 * 示例：
 *
 * ```
 * <sino-user-select-zf
 * modal-title="选择同行人"
 * multiple>
 * </sino-user-select-zf>
 * ```
 *
 * 属性：
 *
 * * ***modal-title***: 人员选择框头部的标题
 * * ***user-name***: 指定与人员的userName,
 * * ***filter-fn***: 指定过滤部门树的过滤器函数。不指定filterFn，则显示整棵部门树。组件内部会调用此函数用来判断哪些部门可以选择，函数可以接受两个参数，即dept代表过滤的部门，superDepts代表所有的父级部门。
 * * ***multiple***: 指定该表单选择控件是否为多选。如果是多选，则可以选择多个人员。默认为单选。
 */
module.directive('sinoUserSelectZf', function($ionicModal, linkerConfig, UserChooser) {
  return {
    restrict: 'E',
    template:
      '<button class="button button-clear button-positive icon-left ion-arrow-return-right" style="float:right;" ' +
      'ng-click="openSelectUserModal()">{{title}}</button> ',
    replace: true,
    scope: {
      filterFn: '&',
      closeFn: '&'
    },

    link: function(scope, element, attrs) {
      scope.title = attrs.title;

      scope.attrs = attrs;
      scope.openSelectUserModal = function() {
        UserChooser.choose(scope, element, attrs);
      }
    }
  };
});
