<div class="col-sm-12 form-section-title ldap-custom-admin-group-title" ng-style="$ctrl.isLimitedFeatureSelfContained && { 'padding-bottom': '15px' }">
  Auto-populate team admins <be-feature-indicator feature="$ctrl.limitedFeatureId" class="space-left" ng-if="$ctrl.isLimitedFeatureSelfContained"></be-feature-indicator>
</div>

<rd-widget ng-repeat="config in $ctrl.settings.AdminGroupSearchSettings | limitTo: (1 - $ctrl.settings.AdminGroupSearchSettings)">
  <rd-widget-body>
    <div class="form-group mb-3" ng-if="$index > 0">
      <span class="col-sm-12 text-muted small"> Extra search configuration </span>
    </div>

    <div class="form-group">
      <label for="ldap_admin_group_basedn_{{ $index }}" class="col-sm-4 col-md-2 control-label text-left">
        Group Base DN
        <portainer-tooltip message="'The distinguished name of the element from which the LDAP server will search for groups.'"></portainer-tooltip>
      </label>
      <div class="col-sm-8 col-md-4">
        <input
          type="text"
          class="form-control"
          id="ldap_admin_group_basedn_{{ $index }}"
          ng-model="config.GroupBaseDN"
          placeholder="dc=ldap,dc=domain,dc=tld"
          limited-feature-dir="{{::$ctrl.limitedFeatureId}}"
          limited-feature-class=" {{ $ctrl.isLimitedFeatureSelfContained && 'limited-be' }}"
          ng-disabled="{{ $ctrl.isLimitedFeatureSelfContained }}"
          limited-feature-tabindex="-1"
        />
      </div>

      <label for="ldap_admin_group_att_{{ $index }}" class="col-sm-4 col-md-2 control-label text-left">
        Group Membership Attribute
        <portainer-tooltip message="'LDAP attribute which denotes the group membership.'"></portainer-tooltip>
      </label>
      <div class="col-sm-8 col-md-4">
        <input
          type="text"
          class="form-control"
          id="ldap_admin_group_att_{{ $index }}"
          ng-model="config.GroupAttribute"
          placeholder="member"
          limited-feature-dir="{{::$ctrl.limitedFeatureId}}"
          limited-feature-class=" {{ $ctrl.isLimitedFeatureSelfContained && 'limited-be' }}"
          ng-disabled="{{ $ctrl.isLimitedFeatureSelfContained }}"
          limited-feature-tabindex="-1"
        />
      </div>
    </div>
    <div class="form-group">
      <label for="ldap_admin_group_filter_{{ $index }}" class="col-sm-4 col-md-2 control-label text-left">
        Group Filter
        <portainer-tooltip message="'The LDAP search filter used to select group elements, optional.'"></portainer-tooltip>
      </label>
      <div class="col-sm-8 col-md-10 vertical-center">
        <input
          type="text"
          class="form-control"
          id="ldap_admin_group_filter_{{ $index }}"
          ng-model="config.GroupFilter"
          placeholder="(objectClass=groupOfNames)"
          limited-feature-dir="{{::$ctrl.limitedFeatureId}}"
          limited-feature-class=" {{ $ctrl.isLimitedFeatureSelfContained && 'limited-be' }}"
          ng-disabled="{{ $ctrl.isLimitedFeatureSelfContained }}"
          limited-feature-tabindex="-1"
        />
        <button class="btn btn-md btn-danger" type="button" ng-click="$ctrl.onRemoveClick($index)" ng-if="$index > 0">
          <pr-icon icon="'trash-2'" feather="true" size="'md'"></pr-icon>
        </button>
      </div>
    </div>
  </rd-widget-body>
</rd-widget>

<div class="form-group mt-3">
  <div class="col-sm-12">
    <button
      class="label label-default interactive no-border vertical-center"
      ng-click="$ctrl.onAddClick()"
      limited-feature-dir="{{ $ctrl.limitedFeatureId }}"
      limited-feature-class=" {{ $ctrl.isLimitedFeatureSelfContained && 'limited-be' }}"
      limited-feature-disabled
    >
      <pr-icon icon="'plus-circle'" feather="true"></pr-icon>
      add group search configuration
    </button>
  </div>
  <div class="col-sm-12 vertical-center mt-2">
    <button
      class="btn btm-sm btn-primary"
      type="button"
      ng-click="$ctrl.search()"
      limited-feature-dir="{{ $ctrl.limitedFeatureId }}"
      limited-feature-class=" {{ $ctrl.isLimitedFeatureSelfContained && 'limited-be' }}"
      ng-disabled="{{ $ctrl.isLimitedFeatureSelfContained }}"
      limited-feature-tabindex="-1"
    >
      Fetch Admin Group(s)
    </button>
    <span ng-if="$ctrl.groups && $ctrl.groups.length === 0" class="ml-6 vertical-center">
      <pr-icon icon="'alert-triangle'" mode="'warning'" feather="true"></pr-icon>
      No groups found
    </span>
  </div>
</div>

<div class="form-group">
  <div class="col-sm-12 vertical-center">
    <label for="admin-auto-populate" class="control-label text-left text-muted !pt-0" ng-class="{ 'text-muted': !$ctrl.enableAssignAdminGroup }">
      Assign admin rights to group(s)
    </label>
    <label class="switch ml-7 my-0" ng-class="{ 'business limited': $ctrl.isLimitedFeatureSelfContained }">
      <input id="admin-auto-populate" ng-disabled="!$ctrl.enableAssignAdminGroup" name="admin-auto-populate" type="checkbox" ng-model="$ctrl.settings.AdminAutoPopulate" />
      <span class="slider round before:content-['']"></span>
    </label>
  </div>
</div>

<div class="form-group" ng-if="$ctrl.settings.AdminAutoPopulate">
  <div class="col-sm-12">
    <label for="group-access" class="control-label text-left"> Select Group(s) </label>
    <span
      class="ml-7"
      isteven-multi-select
      ng-if="$ctrl.enableAssignAdminGroup"
      input-model="$ctrl.groups"
      output-model="$ctrl.selectedAdminGroups"
      button-label="name"
      item-label="name"
      tick-property="selected"
      helper-elements="filter"
      search-property="name"
      translation="{nothingSelected: 'Select one or more groups', search: 'Search...'}"
    >
    </span>
  </div>
</div>
