2017 © Pedro Peláez
 

library laravel-history-navigation

History navigation inspired by JavaScript's History API

image

rodrigopedra/laravel-history-navigation

History navigation inspired by JavaScript's History API

  • Wednesday, August 30, 2017
  • by rodrigo.pedra
  • Repository
  • 1 Watchers
  • 0 Stars
  • 86 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 18 Versions
  • 1 % Grown

The README.md

Laravel History Navigation

History navigation inspired by the browser's History API, (*1)

composer require rodrigopedra/laravel-history-navigation
  • Version 1.0.0 supports Laravel 10.x (and as such, requires PHP 8.1)
  • Version 0.9.x supports Laravel from version 6.x through 9.x

Introduction

This package aims to mimic the browser's History API., (*2)

It tries to automatically track the navigation history, and provides two global helpers to allow redirecting a user back on history., (*3)

The idea was to provide back history navigation to applications which do deep navigation, such as drill-down data dashboards, and doesn't always have a clear back path., (*4)

Usage

On a view you can use the navigate_back() helper as the href of a a back link/button:, (*5)

<a href="{{ navigate_back('/') }}">Go back</a>

The parameter is a default destination, in case the history is empty., (*6)

There is also the navigate_default() helper. It will check if a use_default query parameter is present in the request, if so it will try to redirect to the default route defined as its parameter. If the query parameter is not present it will defer to navigate_back()., (*7)

Configuration

You can publish the configuration by running, (*8)

php artisan vendor:publish --provider=RodrigoPedra\\HistoryNavigation\\HistoryNavigationServiceProvider

You should now have a file called navigate-back.php under your config folder. Below are the default values:, (*9)

<?php

return [
    'default-url' => '/',
    'history-limit' => 50,
    'skip-patterns' => [],
    'query' => [
        'remove-empty' => true,
        'ignore-parameters' => ['page'],
    ],
];

Caveats

This package relies on the user's session, as such if a user has multiple tabs or windows opened and navigates within the same application, it will not work as expected as it will mix the different tabs/windows navigation history., (*10)

This package was developed with a very specific scenario in mind, for an intranet application that ran within a single window browser wrapper (similar to electron)., (*11)

Nowadays, I do not recommend its adoption on new projects, and advise on using the browser's native History API., (*12)

The Versions

30/08 2017

v0.7.0

0.7.0.0

History navigation inspired by JavaScript's History API

  Sources   Download

MIT

The Requires

 

The Development Requires

by Rodrigo Pedra Brum

laravel history history navigation

30/08 2017

dev-master

9999999-dev

History navigation inspired by JavaScript's History API

  Sources   Download

MIT

The Requires

 

The Development Requires

by Rodrigo Pedra Brum

laravel history history navigation

24/07 2017

v0.6.4

0.6.4.0

History navigation inspired by JavaScript's History API

  Sources   Download

MIT

The Requires

 

The Development Requires

by Rodrigo Pedra Brum

laravel history history navigation

14/07 2017

v0.6.3

0.6.3.0

History navigation inspired by JavaScript's History API

  Sources   Download

MIT

The Requires

 

The Development Requires

by Rodrigo Pedra Brum

laravel history history navigation

14/07 2017

v0.6.2

0.6.2.0

History navigation inspired by JavaScript's History API

  Sources   Download

MIT

The Requires

 

The Development Requires

by Rodrigo Pedra Brum

laravel history history navigation

14/07 2017

v0.6.1

0.6.1.0

History navigation inspired by JavaScript's History API

  Sources   Download

MIT

The Requires

 

The Development Requires

by Rodrigo Pedra Brum

laravel history history navigation

14/07 2017

v0.6.0

0.6.0.0

History navigation inspired by JavaScript's History API

  Sources   Download

MIT

The Requires

 

The Development Requires

by Rodrigo Pedra Brum

laravel history history navigation

14/07 2017

v0.5.1

0.5.1.0

History navigation inspired by JavaScript's History API

  Sources   Download

MIT

The Requires

 

The Development Requires

by Rodrigo Pedra Brum

laravel history history navigation

14/07 2017

v0.5.0

0.5.0.0

History navigation inspired by JavaScript's History API

  Sources   Download

MIT

The Requires

 

The Development Requires

by Rodrigo Pedra Brum

laravel history history navigation

13/07 2017

v0.4.3

0.4.3.0

History navigation inspired by JavaScript's History API

  Sources   Download

MIT

The Requires

 

The Development Requires

by Rodrigo Pedra Brum

laravel history history navigation

13/07 2017

v0.4.2

0.4.2.0

History navigation inspired by JavaScript's History API

  Sources   Download

MIT

The Requires

 

The Development Requires

by Rodrigo Pedra Brum

laravel history history navigation

13/07 2017

v0.4.1

0.4.1.0

History navigation inspired by JavaScript's History API

  Sources   Download

MIT

The Requires

 

The Development Requires

by Rodrigo Pedra Brum

laravel history history navigation

12/07 2017

v0.4.0

0.4.0.0

History navigation inspired by JavaScript's History API

  Sources   Download

MIT

The Requires

 

The Development Requires

by Rodrigo Pedra Brum

laravel history history navigation

12/07 2017

v0.3.1

0.3.1.0

History navigation inspired by JavaScript's History API

  Sources   Download

MIT

The Requires

 

The Development Requires

by Rodrigo Pedra Brum

laravel history history navigation

12/07 2017

v0.3.0

0.3.0.0

History navigation inspired by JavaScript's History API

  Sources   Download

MIT

The Requires

 

The Development Requires

by Rodrigo Pedra Brum

laravel history history navigation

12/07 2017

v0.2.1

0.2.1.0

History navigation inspired by JavaScript's History API

  Sources   Download

MIT

The Requires

 

The Development Requires

by Rodrigo Pedra Brum

laravel history history navigation

12/07 2017

v0.2.0

0.2.0.0

History navigation inspired by JavaScript's History API

  Sources   Download

MIT

The Requires

 

The Development Requires

by Rodrigo Pedra Brum

laravel history history navigation

11/07 2017

v0.1.0

0.1.0.0

History navigation inspired by JavaScript's History API

  Sources   Download

MIT

The Requires

 

The Development Requires

by Rodrigo Pedra Brum

laravel history history navigation