<commit_before><f:subview
  xmlns:c="http://java.sun.com/jstl/core"
  xmlns:f="http://java.sun.com/jsf/core"
  xmlns:h="http://java.sun.com/jsf/html"
  xmlns:nxl="http://nuxeo.org/nxforms/layout"
  xmlns:nxu="http://nuxeo.org/nxweb/util"
  xmlns:nxd="http://nuxeo.org/nxweb/document"
  xmlns:a4j="http://richfaces.org/a4j"
  id="#{layout.id}">

  <c:if test="false">
    Layout template applying to an item instance of PageSelections&lt;DocumentModel&gt; named "documents"
    in the search tab

    Other needed parameters are:
    - provider: instance of a PageProvider&lt;DocumentModel&gt; to handle sort
    - layoutListingStatus: iteration status, used to print table header
    matching widget label.
    - formId: the surrounding form id
  </c:if>

  <c:if test="#{layoutListingStatus.index == 0}">
    <div class="detail">
      <a4j:outputPanel id="#{layout.id}_selectAll_panel" layout="block">
        <nxu:set var="selectAllLabel" value="#{nxu:test(documents.selected, 'label.search.deselect.all', 'label.search.select.all')}">
          <span>#{messages[selectAllLabel]}</span>
          <h:selectBooleanCheckbox id="#{layoutColumn.widgets[0].name}_header"
            title="#{messages[selectAllLabel]}"
            value="#{documents.selected}">
            <a4j:ajax event="click"
              listener="#{documentListingActions.processSelectPage(contentView.name, contentView.selectionListName, documents.selected)}"
              onbeforesubmit="javascript:handleAllCheckBoxes(this.form.name, this.checked)"
              render="#{layout.id}_selectAll_panel, #{formId}_buttons:ajax_selection_buttons" />
          </h:selectBooleanCheckbox>
        </nxu:set>
      </a4j:outputPanel>
    </div>
  </c:if>

  <c:set var="boxSelectedStyleClass" value="#{nxu:test(value.data.id == currentDocument.id, 'selectedItem', '')}" />
  <div data-docref="#{value.data.id}" class="bubbleBox #{boxSelectedStyleClass}">
    <nxl:layout name="thumbnail_listing_header" value="#{value}" mode="view" />
    <nxl:layoutColumn>
      <nxu:set var="divStyleClass" value="#{nxu:test(layoutColumn.properties.isBoxTitle, 'bubbleHeader', '')}">
        <div class="#{layoutColumn.properties.columnStyleClass} #{divStyleClass}" dir="auto">
          <nxl:layoutColumnWidget>
            <nxl:widget widget="#{widget}" value="#{value}" />
          </nxl:layoutColumnWidget>
        </div>
      </nxu:set>
    </nxl:layoutColumn>
  </div>
<commit_msg>NXP-15341: fix render clause (now useing spaces instead of commas)<commit_after><f:subview
  xmlns:c="http://java.sun.com/jstl/core"
  xmlns:f="http://java.sun.com/jsf/core"
  xmlns:h="http://java.sun.com/jsf/html"
  xmlns:nxl="http://nuxeo.org/nxforms/layout"
  xmlns:nxu="http://nuxeo.org/nxweb/util"
  xmlns:nxd="http://nuxeo.org/nxweb/document"
  xmlns:a4j="http://richfaces.org/a4j"
  id="#{layout.id}">

  <c:if test="false">
    Layout template applying to an item instance of PageSelections&lt;DocumentModel&gt; named "documents"
    in the search tab

    Other needed parameters are:
    - provider: instance of a PageProvider&lt;DocumentModel&gt; to handle sort
    - layoutListingStatus: iteration status, used to print table header
    matching widget label.
    - formId: the surrounding form id
  </c:if>

  <c:if test="#{layoutListingStatus.index == 0}">
    <div class="detail">
      <a4j:outputPanel id="#{layout.id}_selectAll_panel" layout="block">
        <nxu:set var="selectAllLabel" value="#{nxu:test(documents.selected, 'label.search.deselect.all', 'label.search.select.all')}">
          <span>#{messages[selectAllLabel]}</span>
          <h:selectBooleanCheckbox id="#{layoutColumn.widgets[0].name}_header"
            title="#{messages[selectAllLabel]}"
            value="#{documents.selected}">
            <a4j:ajax event="click"
              listener="#{documentListingActions.processSelectPage(contentView.name, contentView.selectionListName, documents.selected)}"
              onbeforesubmit="javascript:handleAllCheckBoxes(this.form.name, this.checked)"
              render="#{layout.id}_selectAll_panel #{formId}_buttons:ajax_selection_buttons" />
          </h:selectBooleanCheckbox>
        </nxu:set>
      </a4j:outputPanel>
    </div>
  </c:if>

  <c:set var="boxSelectedStyleClass" value="#{nxu:test(value.data.id == currentDocument.id, 'selectedItem', '')}" />
  <div data-docref="#{value.data.id}" class="bubbleBox #{boxSelectedStyleClass}">
    <nxl:layout name="thumbnail_listing_header" value="#{value}" mode="view" />
    <nxl:layoutColumn>
      <nxu:set var="divStyleClass" value="#{nxu:test(layoutColumn.properties.isBoxTitle, 'bubbleHeader', '')}">
        <div class="#{layoutColumn.properties.columnStyleClass} #{divStyleClass}" dir="auto">
          <nxl:layoutColumnWidget>
            <nxl:widget widget="#{widget}" value="#{value}" />
          </nxl:layoutColumnWidget>
        </div>
      </nxu:set>
    </nxl:layoutColumn>
  </div>

{'fraction_non_alphanumeric': 0.1669364629704573, 'fraction_numerical': 0.0038445973290165926, 'mean_word_length': 3.938061938061938, 'pattern_counts': {'":': 0, '<': 61, '<?xml version=': 0, '>': 61, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 14}, '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': '6546609', 'n_tokens_mistral': 1650, 'n_tokens_neox': 1620, 'n_words': 245}