PHPackages                             nanicas/legacy-laravel-toolkit-view-library - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Templating &amp; Views](/categories/templating)
4. /
5. nanicas/legacy-laravel-toolkit-view-library

ActiveLibrary[Templating &amp; Views](/categories/templating)

nanicas/legacy-laravel-toolkit-view-library
===========================================

Abstraction of all common view logic with laravel

1.0.0(1y ago)055MITBlade

Since Apr 27Pushed 1y agoCompare

[ Source](https://github.com/nanicas/legacy-laravel-toolkit-view-library)[ Packagist](https://packagist.org/packages/nanicas/legacy-laravel-toolkit-view-library)[ RSS](/packages/nanicas-legacy-laravel-toolkit-view-library/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)DependenciesVersions (2)Used By (0)

> Atenção: Todos os comandos abaixo deverão ser executados em seu projeto principal.

Instalar dependência
--------------------

[](#instalar-dependência)

```
composer require nanicas/legacy-laravel-toolkit-view-library:dev-main

```

Importar SASS
-------------

[](#importar-sass)

Caso não exista, crie uma pasta chamada `sass` em `/resources` e adicione um arquivo dentro com o nome de `app.scss` com o seguinte conteúdo:

```
@import '../vendor/legacy_laravel_toolkit_view_library/sass/bootstrap';

```

Importar JS
-----------

[](#importar-js)

Dentro da pasta `/resources`, navegue até sua pasta `js` e edite seu arquivo `app.js`:

```
import '../vendor/legacy_laravel_toolkit_view_library/js/bootstrap';

```

Configurar o `Provider` como gatilho
------------------------------------

[](#configurar-o-provider-como-gatilho)

Edite o arquivo `/config/app.php` e adicione a linha:

```
'providers' => [
    \Nanicas\LegacyLaravelToolkitView\Providers\AppServiceProvider::class,
]

```

Executar o comando de publicação dos arquivos de configuração
-------------------------------------------------------------

[](#executar-o-comando-de-publicação-dos-arquivos-de-configuração)

```
php artisan vendor:publish --tag="legacy_laravel_toolkit_view_library:resources"
php artisan vendor:publish --tag="legacy_laravel_toolkit_view_library:views"
php artisan vendor:publish --tag="legacy_laravel_toolkit_view_library:public"

```

Instalar bibliotecas terceiras
------------------------------

[](#instalar-bibliotecas-terceiras)

Se olharmos o arquivo , temos várias bibliotecas que precisam existir para que o `build` na etapa posterior funcione. Para isso, precisamos então executar os seguintes comandos:

**JS - Node Modules**:

```
npm install vite-plugin-static-copy@^0.17.0

```

```
npm install \
  moment-timezone \
  bootstrap-icons \
  jquery \
  jquery-mask-plugin \
  ladda \
  chart.js \
  @kurkle/color \
  select2 \
  jspdf \
  datatables.net-bs5 \
  datatables.net-plugins

```

**PHP - Composer**:

```
composer require yajra/laravel-datatables:^10.0

```

```
php artisan vendor:publish --tag=datatables

```

Configurar o Vite para copiar os assets globais
-----------------------------------------------

[](#configurar-o-vite-para-copiar-os-assets-globais)

```
import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';
import { viteStaticCopy } from 'vite-plugin-static-copy'

export default defineConfig({
    plugins: [
        laravel({
            input: [
                'resources/sass/app.scss',
                'resources/js/app.js',
            ],
            refresh: true,
        }),
        viteStaticCopy({
            targets: [
                {
                    src: 'resources/vendor/legacy_laravel_toolkit_view_library/vendor/chartjs/utils.js',
                    dest: 'vendor/chartjs'
                },
                {
                    src: 'resources/vendor/legacy_laravel_toolkit_view_library/vendor/select2/i18n/pt-BR.js',
                    dest: 'vendor/select2/i18n'
                },
                {
                    src: 'resources/vendor/legacy_laravel_toolkit_view_library/vendor/select2/custom.css',
                    dest: 'vendor/select2'
                }
            ]
        })
    ],
});

```

Buildar os assets
-----------------

[](#buildar-os-assets)

```
npm run build

```

A saída deve ser algo similar:

```
> build
> vite build

vite v4.5.3 building for production...
✓ 491 modules transformed.
public/build/manifest.json                              1.44 kB │ gzip:   0.36 kB
public/build/assets/bootstrap-icons-476adf42.woff2    130.40 kB
public/build/assets/bootstrap-icons-bb1de989.woff     176.03 kB
public/build/assets/app-9db8a062.css                  340.61 kB │ gzip:  49.83 kB
public/build/assets/purify.es-2de9db7f.js              21.98 kB │ gzip:   8.74 kB
public/build/assets/index.es-2bde8445.js              149.69 kB │ gzip:  51.12 kB
public/build/assets/html2canvas.esm-e0a7d97b.js       201.43 kB │ gzip:  48.04 kB
public/build/assets/app-a8d26880.js                 1,754.44 kB │ gzip: 379.47 kB

(!) Some chunks are larger than 500 kBs after minification. Consider:
- Using dynamic import() to code-split the application
- Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks
- Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.
[vite-plugin-static-copy] Copied 3 items.
✓ built in 8.50s

```

Ícones
------

[](#ícones)

Por ora, a biblioteca configurada para lidar com os ícones é o Bootstrap Icons, sendo:

Observações
-----------

[](#observações)

### Antes de invocar uma View estrutural

[](#antes-de-invocar-uma-view-estrutural)

Antes de chamar qualquer `view` que dependa da estrutura básica de layout, tenha certeza de que o método `beforeView` do controller **base/herdado** está sendo chamado também, exemplo:

```
/**
 * Show the application's login form.
 *
 * @return \Illuminate\View\View
 */
public function showLoginForm()
{
    parent::beforeView(request());

    return view('auth.login');
}
```

Existem várias variáveis e comportamentos que precisam ser compartilhada/os com uma view estrutural, por isso a necessidade da chamada, segue as referências:

-
-
-

Exemplos
--------

[](#exemplos)

### Criar um CRUD do zero

[](#criar-um-crud-do-zero)

Abaixo, serão listados os arquivos que estarão envolvidos durante a criação de um módulo novo, nesse caso, iremos usar o exemplo de `Suppliers` (fornecedores):

```
new file:   app/Handlers/SupplierHandler.php
new file:   app/Http/Controllers/Pages/SupplierController.php
new file:   app/Models/Supplier.php
new file:   app/Repositories/SupplierRepository.php
new file:   app/Services/SupplierService.php
new file:   app/Validators/SupplierValidator.php
new file:   database/migrations/2023_04_04_084932_create_suppliers_table.php
new file:   public/resources/pages/supplier/create.css
new file:   public/resources/pages/supplier/create.js
new file:   public/resources/pages/supplier/form.css
new file:   public/resources/pages/supplier/form.js
new file:   public/resources/pages/supplier/index.css
new file:   public/resources/pages/supplier/index.js
new file:   public/resources/pages/supplier/list.css
new file:   public/resources/pages/supplier/list.js
new file:   public/resources/pages/supplier/show.css
new file:   public/resources/pages/supplier/show.js
modified:   resources/views/layouts/dashboard.blade.php
new file:   resources/views/pages/supplier/create.blade.php
new file:   resources/views/pages/supplier/form.blade.php
new file:   resources/views/pages/supplier/index.blade.php
new file:   resources/views/pages/supplier/list-buttons.blade.php
new file:   resources/views/pages/supplier/list.blade.php
new file:   resources/views/pages/supplier/show.blade.php
modified:   routes/web.php
```

- Pendência: criar uma pasta contendo todos os arquivos envolvidos acima, mantendo a estrutura da árvore, de forma automática e dinâmica.

### Personalizar lista de pesquisa

[](#personalizar-lista-de-pesquisa)

Basta adicionar uma função de callback no objeto global `DASHBOARD`, exemplo:

```
DASHBOARD.callbacks.eachSearchItem = function (row, element) {
    element.append(`\

                ${row}

        `);
};
```

Exemplo de resposta durante a pesquisa no servidor:

URL: `GET /dashboard/search?query=teste`

```
{
    "response": {
        "result": [
            "user x",
            "user y",
            "user z"
        ],
        "message": "\n Ação executada com sucesso!\n"
    },
    "status": true
}
```

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance48

Moderate activity, may be stable

Popularity8

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity37

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

381d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/86dcf46ce9d62459616bfd74302c1762d15928a27df52cfda894b18a958fbc36?d=identicon)[zevitagem](/maintainers/zevitagem)

---

Top Contributors

[![zevitagem](https://avatars.githubusercontent.com/u/7613393?v=4)](https://github.com/zevitagem "zevitagem (34 commits)")

---

Tags

laravelcoreviewtoolkit

### Embed Badge

![Health badge](/badges/nanicas-legacy-laravel-toolkit-view-library/health.svg)

```
[![Health](https://phpackages.com/badges/nanicas-legacy-laravel-toolkit-view-library/health.svg)](https://phpackages.com/packages/nanicas-legacy-laravel-toolkit-view-library)
```

###  Alternatives

[itstructure/laravel-grid-view

Grid view for laravel framework

2546.6k2](/packages/itstructure-laravel-grid-view)[leitsch/kirby-blade

Enable Laravel Blade Template Engine for Kirby 4 and Kirby 5

219.2k](/packages/leitsch-kirby-blade)[delatbabel/viewpages

Support rendering/view of Laravel pages and templates from a database.

121.4k](/packages/delatbabel-viewpages)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
