定制 linuxstreet/wire-content-loader 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

linuxstreet/wire-content-loader

最新稳定版本:v2.0.1

Composer 安装命令:

composer require linuxstreet/wire-content-loader

包简介

Flexible way of loading Livewire component or Blade view anywhere on the page.

README 文档

README

Latest Stable Version License Total Downloads

Installation

Requires:

Via Composer:

composer require linuxstreet/wire-content-loader

Usage

Seamlessly integrate dynamic content into any part of your web page. By specifying a unique ID for each loader, you can ensure accurate and independent loading of content within multiple containers. This feature is particularly valuable for Single-Page Applications (SPAs) or when you need to dynamically load components for a more interactive user experience.

Place content loader with default ID

<livewire:content-loader/>

Set content loader ID to 'menu'

<livewire:content-loader id="menu"/>

Set ID to 'sidebar' and initially load Blade view into it.

<livewire:content-loader id="sidebar" view="my-blade-view"/>

Set ID to 'footer' and initially load Livewire component into it.

<livewire:content-loader id="footer" component="my-livewire-component"/>

Content loader is listening for 'content-load' browser event.

AlpineJS @click example:

<button x-data @click.throttle="$dispatch('content-load', [=PARAMS])">Show</button>

Params:

Mandatory:

  • component: [string] - Name of the Livewire component to be loaded
  • OR
  • view: [string] - Name of the Blade view to be loaded

NOTE: If neither component or view is provided, Exception will be thrown.

Optional:

  • forceReload: [true|false] - Use only when loading Livewire component. Forces component to re-render if called multiple times. (default: false)
  • spinner: [true|false] - Enable/Disable loading spinner inside the loader while content is loading. (default: true)
  • spinnerClass: [string] - Pass additional CSS classes to the loading spinner (default: '')
  • target: [string] - Use only if multiple content loaders present on page. (default: 'main')
  • hideWhileLoading: [true|false] - Show/hide content while re-loading the component.(default: false)
  • params: [array] - Pass additional params to Component/View (default: [])

Examples:

Provide either 'component' or 'view' options like this:

{ component: 'livewire_component' }
{ view: 'blade_view' }

Here are some examples with optional params:

{ component: 'my-component', forceReload: true }
{ component: 'my-component', forceReload: true, hideWhileLoading: false }
{ component: 'my-component', forceReload: false, target: 'sidebar }
{ view: 'my-view', target: 'footer, spinner: false }
{ view: 'my-view', target: 'footer, spinner: false, params: { id: 5 } }

Examples with HTML button element using AlpineJS:

<button x-data @click.throttle="$dispatch('content-load', [{ component: 'my-component', forceReload: true }] )">Show</button>
<button x-data @click.throttle="$dispatch('content-load', [{ component: 'my-component', forceReload: true, hideWhileLoading: false }] )">Show</button>
<button x-data @click.throttle="$dispatch('content-load', [{ component: 'my-component', forceReload: true, params: { id: 1 } }] )">Show</button>

Change log

Please see the changelog for more information on what has changed recently.

Layout Customisation

This package uses TailwindCSS classes. If you want to customize the layout for different CSS framework use:

php artisan vendor:publish --provider="Linuxstreet\WireContentLoader\WireContentLoaderServiceProvider"

Testing

./vendor/bin/pest

Contributing

Please see contributing.md for details.

Security

If you discover any security related issues, please email author email instead of using the issue tracker.

Credits

  • Igor Jovanovic

License

Please see the license file for more information.

统计信息

  • 总下载量: 7
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-12-12

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固