mirror of
https://github.com/anotherhadi/spilltea.git
synced 2026-05-20 01:32:33 +02:00
Change paginator dots when no entry
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
This commit is contained in:
@@ -19,7 +19,12 @@ func (m Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
|
|||||||
if m.cursor >= len(m.findings) {
|
if m.cursor >= len(m.findings) {
|
||||||
m.cursor = max(0, len(m.findings)-1)
|
m.cursor = max(0, len(m.findings)-1)
|
||||||
}
|
}
|
||||||
|
if len(m.findings) == 0 {
|
||||||
|
m.pager.Page = 0
|
||||||
|
m.pager.TotalPages = 0
|
||||||
|
} else {
|
||||||
m.pager.SetTotalPages(len(m.findings))
|
m.pager.SetTotalPages(len(m.findings))
|
||||||
|
}
|
||||||
m.refreshListViewport()
|
m.refreshListViewport()
|
||||||
m.refreshBody()
|
m.refreshBody()
|
||||||
return m, nil
|
return m, nil
|
||||||
|
|||||||
@@ -28,7 +28,10 @@ func (m Model) View() tea.View {
|
|||||||
|
|
||||||
func (m *Model) renderListPanel(w, h int) string {
|
func (m *Model) renderListPanel(w, h int) string {
|
||||||
s := style.S
|
s := style.S
|
||||||
dots := s.Faint.Render(m.pager.View())
|
var dots string
|
||||||
|
if len(m.findings) > 0 {
|
||||||
|
dots = s.Faint.Render(m.pager.View())
|
||||||
|
}
|
||||||
inner := lipgloss.JoinVertical(lipgloss.Left,
|
inner := lipgloss.JoinVertical(lipgloss.Left,
|
||||||
m.listViewport.View(),
|
m.listViewport.View(),
|
||||||
lipgloss.PlaceHorizontal(m.listViewport.Width(), lipgloss.Center, dots),
|
lipgloss.PlaceHorizontal(m.listViewport.Width(), lipgloss.Center, dots),
|
||||||
|
|||||||
@@ -282,9 +282,14 @@ func (m Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
|
|||||||
|
|
||||||
func (m *Model) refreshListViewport() {
|
func (m *Model) refreshListViewport() {
|
||||||
if m.pager.PerPage > 0 {
|
if m.pager.PerPage > 0 {
|
||||||
|
if len(m.entries) == 0 {
|
||||||
|
m.pager.Page = 0
|
||||||
|
m.pager.TotalPages = 0
|
||||||
|
} else {
|
||||||
m.pager.Page = m.cursor / m.pager.PerPage
|
m.pager.Page = m.cursor / m.pager.PerPage
|
||||||
m.pager.SetTotalPages(len(m.entries))
|
m.pager.SetTotalPages(len(m.entries))
|
||||||
}
|
}
|
||||||
|
}
|
||||||
m.listViewport.SetContent(m.renderList())
|
m.listViewport.SetContent(m.renderList())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -28,7 +28,10 @@ func (m Model) View() tea.View {
|
|||||||
|
|
||||||
func (m *Model) renderListPanel(w, h int) string {
|
func (m *Model) renderListPanel(w, h int) string {
|
||||||
s := style.S
|
s := style.S
|
||||||
dots := s.Faint.Render(m.pager.View())
|
var dots string
|
||||||
|
if len(m.entries) > 0 {
|
||||||
|
dots = s.Faint.Render(m.pager.View())
|
||||||
|
}
|
||||||
inner := lipgloss.JoinVertical(lipgloss.Left,
|
inner := lipgloss.JoinVertical(lipgloss.Left,
|
||||||
m.listViewport.View(),
|
m.listViewport.View(),
|
||||||
lipgloss.PlaceHorizontal(m.listViewport.Width(), lipgloss.Center, dots),
|
lipgloss.PlaceHorizontal(m.listViewport.Width(), lipgloss.Center, dots),
|
||||||
|
|||||||
@@ -295,17 +295,27 @@ func (m *Model) recalcSizes() {
|
|||||||
|
|
||||||
func (m *Model) refreshListViewport() {
|
func (m *Model) refreshListViewport() {
|
||||||
if m.pager.PerPage > 0 {
|
if m.pager.PerPage > 0 {
|
||||||
|
if len(m.queue) == 0 {
|
||||||
|
m.pager.Page = 0
|
||||||
|
m.pager.TotalPages = 0
|
||||||
|
} else {
|
||||||
m.pager.Page = m.cursor / m.pager.PerPage
|
m.pager.Page = m.cursor / m.pager.PerPage
|
||||||
m.pager.SetTotalPages(len(m.queue))
|
m.pager.SetTotalPages(len(m.queue))
|
||||||
}
|
}
|
||||||
|
}
|
||||||
m.listViewport.SetContent(m.renderList())
|
m.listViewport.SetContent(m.renderList())
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Model) refreshResponseListViewport() {
|
func (m *Model) refreshResponseListViewport() {
|
||||||
if m.responsePager.PerPage > 0 {
|
if m.responsePager.PerPage > 0 {
|
||||||
|
if len(m.responseQueue) == 0 {
|
||||||
|
m.responsePager.Page = 0
|
||||||
|
m.responsePager.TotalPages = 0
|
||||||
|
} else {
|
||||||
m.responsePager.Page = m.responseCursor / m.responsePager.PerPage
|
m.responsePager.Page = m.responseCursor / m.responsePager.PerPage
|
||||||
m.responsePager.SetTotalPages(len(m.responseQueue))
|
m.responsePager.SetTotalPages(len(m.responseQueue))
|
||||||
}
|
}
|
||||||
|
}
|
||||||
m.responseViewport.SetContent(m.renderResponseList())
|
m.responseViewport.SetContent(m.renderResponseList())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -45,7 +45,10 @@ func (m *Model) renderListPanel(w, h int) string {
|
|||||||
border = s.PanelFocused
|
border = s.PanelFocused
|
||||||
}
|
}
|
||||||
|
|
||||||
dots := s.Faint.Render(m.pager.View())
|
var dots string
|
||||||
|
if len(m.queue) > 0 {
|
||||||
|
dots = s.Faint.Render(m.pager.View())
|
||||||
|
}
|
||||||
inner := lipgloss.JoinVertical(lipgloss.Left,
|
inner := lipgloss.JoinVertical(lipgloss.Left,
|
||||||
m.listViewport.View(),
|
m.listViewport.View(),
|
||||||
lipgloss.PlaceHorizontal(m.listViewport.Width(), lipgloss.Center, dots),
|
lipgloss.PlaceHorizontal(m.listViewport.Width(), lipgloss.Center, dots),
|
||||||
|
|||||||
@@ -187,9 +187,14 @@ func (m *Model) syncDetailViewport() {
|
|||||||
|
|
||||||
func (m *Model) refreshListViewport() {
|
func (m *Model) refreshListViewport() {
|
||||||
if m.pager.PerPage > 0 {
|
if m.pager.PerPage > 0 {
|
||||||
|
if len(m.filtered) == 0 {
|
||||||
|
m.pager.Page = 0
|
||||||
|
m.pager.TotalPages = 0
|
||||||
|
} else {
|
||||||
m.pager.Page = m.cursor / m.pager.PerPage
|
m.pager.Page = m.cursor / m.pager.PerPage
|
||||||
m.pager.SetTotalPages(len(m.filtered))
|
m.pager.SetTotalPages(len(m.filtered))
|
||||||
}
|
}
|
||||||
|
}
|
||||||
m.listViewport.SetContent(m.renderList())
|
m.listViewport.SetContent(m.renderList())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -34,7 +34,10 @@ func (m *Model) renderListPanel(w, h int) string {
|
|||||||
if m.editing {
|
if m.editing {
|
||||||
panelStyle = s.Panel
|
panelStyle = s.Panel
|
||||||
}
|
}
|
||||||
dots := s.Faint.Render(m.pager.View())
|
var dots string
|
||||||
|
if len(m.filtered) > 0 {
|
||||||
|
dots = s.Faint.Render(m.pager.View())
|
||||||
|
}
|
||||||
inner := lipgloss.JoinVertical(lipgloss.Left,
|
inner := lipgloss.JoinVertical(lipgloss.Left,
|
||||||
m.listViewport.View(),
|
m.listViewport.View(),
|
||||||
lipgloss.PlaceHorizontal(m.listViewport.Width(), lipgloss.Center, dots),
|
lipgloss.PlaceHorizontal(m.listViewport.Width(), lipgloss.Center, dots),
|
||||||
|
|||||||
@@ -242,9 +242,14 @@ func (m Model) updateEditMode(msg tea.KeyPressMsg) (tea.Model, tea.Cmd) {
|
|||||||
|
|
||||||
func (m *Model) refreshListViewport() {
|
func (m *Model) refreshListViewport() {
|
||||||
if m.pager.PerPage > 0 {
|
if m.pager.PerPage > 0 {
|
||||||
|
if len(m.entries) == 0 {
|
||||||
|
m.pager.Page = 0
|
||||||
|
m.pager.TotalPages = 0
|
||||||
|
} else {
|
||||||
m.pager.Page = m.cursor / m.pager.PerPage
|
m.pager.Page = m.cursor / m.pager.PerPage
|
||||||
m.pager.SetTotalPages(len(m.entries))
|
m.pager.SetTotalPages(len(m.entries))
|
||||||
}
|
}
|
||||||
|
}
|
||||||
m.listViewport.SetContent(m.renderList())
|
m.listViewport.SetContent(m.renderList())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -37,7 +37,10 @@ func (m *Model) renderListPanel(w, h int) string {
|
|||||||
if m.editing {
|
if m.editing {
|
||||||
panelStyle = s.Panel
|
panelStyle = s.Panel
|
||||||
}
|
}
|
||||||
dots := s.Faint.Render(m.pager.View())
|
var dots string
|
||||||
|
if len(m.entries) > 0 {
|
||||||
|
dots = s.Faint.Render(m.pager.View())
|
||||||
|
}
|
||||||
inner := lipgloss.JoinVertical(lipgloss.Left,
|
inner := lipgloss.JoinVertical(lipgloss.Left,
|
||||||
m.listViewport.View(),
|
m.listViewport.View(),
|
||||||
lipgloss.PlaceHorizontal(m.listViewport.Width(), lipgloss.Center, dots),
|
lipgloss.PlaceHorizontal(m.listViewport.Width(), lipgloss.Center, dots),
|
||||||
|
|||||||
Reference in New Issue
Block a user