%body
!= render :haml, :'index/_css_and_js', :layout => false
.container
!= render :haml, :'index/_navbar', :layout => false, locals: {tag_toggle: true, base_url: base_url}
- if index_items.empty? && search.blank?
!= render :haml, :'index/_getting-started', :layout => false
%h1.page-header
Pacts
- unless errors.blank?
- errors.each do | error |
%div.alert.alert-danger
= error
%form{action: "#{base_url}"}
.field
%label{for: 'search'}
Search
%input{name: 'search', id: 'search', class: 'search', value: search}
%input{type: 'submit', value: 'Submit'}
%input{type: 'button', class: 'reset-search', value: 'Reset' }
%table.table.table-bordered.table-striped{ id: 'relationships' }
%thead
%tr
%th
%th.consumer
Consumer
%span.sort-icon.relationships-sort
%th.pact
%th.provider
Provider
%span.sort-icon.relationships-sort
%th
%th
Latest pact
published
%th
Webhook
status
%th
Last
verified
%th
%tbody
- index_items.each do | index_item |
%tr{'data-pact-versions-url': index_item.pact_versions_url, 'data-consumer-name': index_item.consumer_name, 'data-provider-name': index_item.provider_name, 'data-integration-url': index_item.integration_url}
%td
%td.consumer
%a{ href: index_item.consumer_group_url }
= index_item.consumer_name
%td.pact
%span.pact
%a{ href: index_item.latest_pact_url, :title => "View pact" }
%span.pact-matrix
%a{ href: index_item.pact_matrix_url, title: "View pact matrix" }
%td.provider
%a{ href: index_item.provider_group_url }
= index_item.provider_name
%td
%td{"data-text": index_item.publication_date_of_latest_pact_order}
= index_item.publication_date_of_latest_pact
%td{class: "table-#{index_item.webhook_status}"}
%a{ href: index_item.webhook_url }
= index_item.webhook_label
%td{ class: "table-#{index_item.pseudo_branch_verification_status}", title: index_item.verification_tooltip, "data-toggle": "tooltip", "data-placement": "left" }
%div
= index_item.last_verified_date
- if index_item.warning?
%span.warning-icon{ 'aria-hidden': true }
%td
%span.integration-settings.kebab-horizontal{ 'aria-hidden': true }
%div.pagination.text-center
- pagination_locals = { page_number: page_number, page_size: page_size, pagination_record_count: pagination_record_count, current_page_size: current_page_size }
!= render :haml, :'index/_pagination', :layout => false, locals: pagination_locals
:javascript
$(function(){
$("#relationships").tablesorter();
});
$(document).ready(function(){
$("span.pact a").load("#{base_url}/images/doc-text.svg");
$("span.pact-matrix a").load("#{base_url}/images/doc-matrix.svg");
$('td[data-toggle="tooltip"]').each(function(index, td){
//appended tooltip div screws up table if it's appended after a
//td, so need to append it to a div
$(td).tooltip({container: $(td).first()});
});
});
$(".reset-search").on("click", function() {
const url = new URL(window.location)
url.searchParams.delete('search')
window.location = url.toString();
})