<commit_before><div>
  <div class="info-box-title-row row">
    <div class="info-box-back"><i ng-if="featureManagerService.getPreviousState() != ''" class="glyphicon glyphicon-chevron-left" ng-click="featureManagerService.showPreviousState()"></i></div>
    <div ng-if="featureManagerService.getState() == 'layers'" class="info-box-title ellipsis" translate="map_layers"></div>
    <div ng-if="featureManagerService.getState() == 'layer'" class="info-box-title ellipsis">{{ layerService.getTitle(featureManagerService.getSelectedItemLayer().layer) }}</div>
    <div ng-if="featureManagerService.getState() == 'feature'" class="info-box-title ellipsis">
      {{ layerService.getTitle(featureManagerService.getSelectedItemLayer().layer) }}<br>{{featureManagerService.getSelectedItem().id}}</div>
      <div ng-if="featureManagerService.getState() == 'pin'" class="info-box-title ellipsis">
          {{ layerService.getTitle(featureManagerService.getSelectedItemLayer().layer) }}<br>{{featureManagerService.getSelectedItem().title}}
      </div>
    <div class="info-box-close"><i class="glyphicon glyphicon-remove" ng-click="featureManagerService.hide()"></i></div>
  </div>
  <div class="animate-switch-container">
    <div ng-if="featureManagerService.getState() == 'layers'">
      <ul class="list-group list-group-info-box">
        <li ng-repeat="layerInfo in featureManagerService.getSelectedItem()" class="list-group-item-info-box"
            ng-click="featureManagerService.show(layerInfo)">
          <div>{{ layerService.getTitle(layerInfo.layer) }}</div>
        </li>
      </ul>
    </div>
    <div ng-if="featureManagerService.getState() == 'layer'">
      <ul class="list-group list-group-info-box">
        <li ng-repeat="feature in featureManagerService.getSelectedItem().features" class="list-group-item-info-box"
            ng-click="featureManagerService.show(feature)">
            <div ng-if="!feature.title">{{ feature.id }}</div>
            <div ng-if="feature.title">{{ feature.title }}</div>
        </li>
      </ul>
    </div>
  </div>

    <div ng-if="featureManagerService.getState() == 'pin'">
        <div class="feature-info-box">
            <span ng-bind="featureManagerService.getSelectedItemProperties()['title']"></span>
            <div ng-if="featureManagerService.getSelectedItemProperties()['media']">
                <br>
                <div ng-if="isUrl(featureManagerService.getSelectedItemProperties()['media'])" >
                    <loom-media max-width="180" max-height="180" src="{{ featureManagerService.getSelectedItemProperties()['media'] }}"></loom-media>
                </div>
                <div ng-if="!isUrl(featureManagerService.getSelectedItemProperties()['media'])">
                    <div ng-bind-html="sanitizeEmbed(featureManagerService.getSelectedItemProperties()['media'])"></div>
                </div>
            </div>
            <br>
            <span ng-bind="featureManagerService.getSelectedItemProperties()['content']"></span>
        </div>
    </div>

  <div ng-if="featureManagerService.getState() == 'feature'">
    <div id="pic-carousel-container" ng-if="featureManagerService.getSelectedItemPics() && isAttributeVisible(featureManagerService.getSelectedItemPics().name)">
      <carousel id="feature-info-box-carousel" interval="2000">
        <slide ng-repeat="pic in featureManagerService.getSelectedItemPics() track by $index">
          <img ng-src="{{pic}}" style="margin: auto" ng-click="featureManagerService.showPics($index)">
        </slide>
      </carousel>
    </div>

    <div class="feature-info-box">
      <span class="info-box-attribute" ng-show="!isShowingAttributes()" translate="no_attributes"></span>
      <span ng-repeat="prop in featureManagerService.getSelectedItemProperties()">
        <div ng-if="prop[0] !== 'fotos' && prop[0] !== 'photos'" ng-show="isAttributeVisible(prop[0])">
          <span class="info-box-attribute">{{prop[0]}}</span>
            <span ng-switch on="isUrl(prop[1])">
              <a ng-switch-when="true" class="info-box-attribute-value" target="_blank" href="{{prop[1]}}">{{prop[1]}}</a>
              <span ng-switch-default class="info-box-attribute-value">{{prop[1]}}</span>
            </span>
        </div>
      </span>
    </div>

    <div id="feature-info-box-bottom">
      <div id="feature-info-box-button-group" class="btn-group pull-right">
        <button type="button" ng-click="showTable(featureManagerService.getSelectedLayer())" tooltip-append-to-body="true" tooltip-placement="top"
                tooltip="{{'show_table' | translate}}" class="btn-composer glyphicon glyphicon-list">
            <div class="loom-loading" spinner-radius="16" spinner-hidden="!isLoadingTable(featureManagerService.getSelectedLayer())"></div>
        </button>
        <button type="button" ng-if="featureManagerService.getSelectedLayer().get('metadata').isGeoGig"
                ng-click="showFeatureHistory()" tooltip-append-to-body="true" tooltip-placement="top"
                tooltip="{{'show_history' | translate}}"
                class="btn-composer glyphicon glyphicon-time">
          <div class="loom-loading" spinner-radius="10" spinner-width="2" spinner-hidden="!loadingHistory"></div>
                </button>
        <!--<button type="button" tooltip-append-to-body="true" tooltip-placement="top" tooltip="{{'show_pics' | translate}}"
                class="btn btn-sm btn-default glyphicon glyphicon-camera"></button>-->
        <button type="button" ng-if="featureManagerService.getSelectedLayer().get('metadata').editable &&
        !featureManagerService.getSelectedLayer().get('metadata').readOnly" ng-click="featureManagerService.startAttributeEditing()"
                tooltip-append-to-body="true" tooltip-placement="top" tooltip="{{'edit_attributes' | translate}}"
                class="btn-composer glyphicon glyphicon-list-alt"></button>
        <button type="button" ng-if="featureManagerService.getSelectedLayer().get('metadata').editable &&
        !featureManagerService.getSelectedLayer().get('metadata').readOnly" ng-click="featureManagerService.startGeometryEditing()"
                tooltip-append-to-body="true" tooltip-placement="top" tooltip="{{'edit_geometry' | translate}}"
                class="btn-composer glyphicon glyphicon-edit"></button>
        <button type="button" ng-if="!featureManagerService.getSelectedLayer().get('metadata').readOnly"
                ng-click="deleteFeature()" tooltip-append-to-body="true" tooltip-placement="top" tooltip="{{'delete_feature' | translate}}"
                class="btn-composer glyphicon glyphicon-trash">
          <div class="loom-loading" spinner-radius="10" spinner-width="2" spinner-hidden="!deletingFeature"></div><commit_msg>Hide "edit history" and "show table" on feature pop-up<commit_after><div>
  <div class="info-box-title-row row">
    <div class="info-box-back"><i ng-if="featureManagerService.getPreviousState() != ''" class="glyphicon glyphicon-chevron-left" ng-click="featureManagerService.showPreviousState()"></i></div>
    <div ng-if="featureManagerService.getState() == 'layers'" class="info-box-title ellipsis" translate="map_layers"></div>
    <div ng-if="featureManagerService.getState() == 'layer'" class="info-box-title ellipsis">{{ layerService.getTitle(featureManagerService.getSelectedItemLayer().layer) }}</div>
    <div ng-if="featureManagerService.getState() == 'feature'" class="info-box-title ellipsis">
      {{ layerService.getTitle(featureManagerService.getSelectedItemLayer().layer) }}<br>{{featureManagerService.getSelectedItem().id}}</div>
      <div ng-if="featureManagerService.getState() == 'pin'" class="info-box-title ellipsis">
          {{ layerService.getTitle(featureManagerService.getSelectedItemLayer().layer) }}<br>{{featureManagerService.getSelectedItem().title}}
      </div>
    <div class="info-box-close"><i class="glyphicon glyphicon-remove" ng-click="featureManagerService.hide()"></i></div>
  </div>
  <div class="animate-switch-container">
    <div ng-if="featureManagerService.getState() == 'layers'">
      <ul class="list-group list-group-info-box">
        <li ng-repeat="layerInfo in featureManagerService.getSelectedItem()" class="list-group-item-info-box"
            ng-click="featureManagerService.show(layerInfo)">
          <div>{{ layerService.getTitle(layerInfo.layer) }}</div>
        </li>
      </ul>
    </div>
    <div ng-if="featureManagerService.getState() == 'layer'">
      <ul class="list-group list-group-info-box">
        <li ng-repeat="feature in featureManagerService.getSelectedItem().features" class="list-group-item-info-box"
            ng-click="featureManagerService.show(feature)">
            <div ng-if="!feature.title">{{ feature.id }}</div>
            <div ng-if="feature.title">{{ feature.title }}</div>
        </li>
      </ul>
    </div>
  </div>

    <div ng-if="featureManagerService.getState() == 'pin'">
        <div class="feature-info-box">
            <span ng-bind="featureManagerService.getSelectedItemProperties()['title']"></span>
            <div ng-if="featureManagerService.getSelectedItemProperties()['media']">
                <br>
                <div ng-if="isUrl(featureManagerService.getSelectedItemProperties()['media'])" >
                    <loom-media max-width="180" max-height="180" src="{{ featureManagerService.getSelectedItemProperties()['media'] }}"></loom-media>
                </div>
                <div ng-if="!isUrl(featureManagerService.getSelectedItemProperties()['media'])">
                    <div ng-bind-html="sanitizeEmbed(featureManagerService.getSelectedItemProperties()['media'])"></div>
                </div>
            </div>
            <br>
            <span ng-bind="featureManagerService.getSelectedItemProperties()['content']"></span>
        </div>
    </div>

  <div ng-if="featureManagerService.getState() == 'feature'">
    <div id="pic-carousel-container" ng-if="featureManagerService.getSelectedItemPics() && isAttributeVisible(featureManagerService.getSelectedItemPics().name)">
      <carousel id="feature-info-box-carousel" interval="2000">
        <slide ng-repeat="pic in featureManagerService.getSelectedItemPics() track by $index">
          <img ng-src="{{pic}}" style="margin: auto" ng-click="featureManagerService.showPics($index)">
        </slide>
      </carousel>
    </div>

    <div class="feature-info-box">
      <span class="info-box-attribute" ng-show="!isShowingAttributes()" translate="no_attributes"></span>
      <span ng-repeat="prop in featureManagerService.getSelectedItemProperties()">
        <div ng-if="prop[0] !== 'fotos' && prop[0] !== 'photos'" ng-show="isAttributeVisible(prop[0])">
          <span class="info-box-attribute">{{prop[0]}}</span>
            <span ng-switch on="isUrl(prop[1])">
              <a ng-switch-when="true" class="info-box-attribute-value" target="_blank" href="{{prop[1]}}">{{prop[1]}}</a>
              <span ng-switch-default class="info-box-attribute-value">{{prop[1]}}</span>
            </span>
        </div>
      </span>
    </div>

    <div id="feature-info-box-bottom">
      <div id="feature-info-box-button-group" class="btn-group pull-right">
<!--         <button type="button" ng-click="showTable(featureManagerService.getSelectedLayer())" tooltip-append-to-body="true" tooltip-placement="top"
                tooltip="{{'show_table' | translate}}" class="btn-composer glyphicon glyphicon-list">
            <div class="loom-loading" spinner-radius="16" spinner-hidden="!isLoadingTable(featureManagerService.getSelectedLayer())"></div>
        </button> -->
<!--         <button type="button" ng-if="featureManagerService.getSelectedLayer().get('metadata').isGeoGig"
                ng-click="showFeatureHistory()" tooltip-append-to-body="true" tooltip-placement="top"
                tooltip="{{'show_history' | translate}}"
                class="btn-composer glyphicon glyphicon-time">
          <div class="loom-loading" spinner-radius="10" spinner-width="2" spinner-hidden="!loadingHistory"></div>
                </button> -->
        <!--<button type="button" tooltip-append-to-body="true" tooltip-placement="top" tooltip="{{'show_pics' | translate}}"
                class="btn btn-sm btn-default glyphicon glyphicon-camera"></button>-->
        <button type="button" ng-if="featureManagerService.getSelectedLayer().get('metadata').editable &&
        !featureManagerService.getSelectedLayer().get('metadata').readOnly" ng-click="featureManagerService.startAttributeEditing()"
                tooltip-append-to-body="true" tooltip-placement="top" tooltip="{{'edit_attributes' | translate}}"
                class="btn-composer glyphicon glyphicon-list-alt"></button>
        <button type="button" ng-if="featureManagerService.getSelectedLayer().get('metadata').editable &&
        !featureManagerService.getSelectedLayer().get('metadata').readOnly" ng-click="featureManagerService.startGeometryEditing()"
                tooltip-append-to-body="true" tooltip-placement="top" tooltip="{{'edit_geometry' | translate}}"
                class="btn-composer glyphicon glyphicon-edit"></button>
        <button type="button" ng-if="!featureManagerService.getSelectedLayer().get('metadata').readOnly"
                ng-click="deleteFeature()" tooltip-append-to-body="true" tooltip-placement="top" tooltip="{{'delete_feature' | translate}}"
                class="btn-composer glyphicon glyphicon-trash">
          <div class="loom-loading" spinner-radius="10" spinner-width="2" spinner-hidden="!deletingFeature"></div>
{'fraction_non_alphanumeric': 0.17706725468577728, 'fraction_numerical': 0.003822124219037119, 'mean_word_length': 3.737465181058496, 'pattern_counts': {'":': 0, '<': 215, '<?xml version=': 0, '>': 215, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7246883', 'n_tokens_mistral': 4032, 'n_tokens_neox': 3877, 'n_words': 537}