GithubHelp home page GithubHelp logo

adzon / iframe-tabs Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ichynul/iframe-tabs

0.0 1.0 0.0 196 KB

[laravel-admin]使用tab控制多个iframe打开多页面(Use tabs to control multiple iframes to open multiple pages)

License: MIT License

CSS 13.36% HTML 26.46% PHP 60.18%

iframe-tabs's Introduction

laravel-admin iframe-tabs

原作者里面 config 不兼容我另外的代码,修改下做写死处理。

Installation

Run :

$ composer require ichynul/iframe-tabs

Then run:

$ php artisan vendor:publish --tag=iframe-tabs

$ php artisan admin:import iframe-tabs

Update it

[2019-10-19] 修复左边菜单很多的时候上下滚动无效的bug#32#29#21.修改了dashboard.css样式,升级后记得php artisan vendor:publish --tag=iframe-tabs --force更新一下样式.

(本扩展依赖一些 js 和 css 文件,composer update 若版本号有变请强制发布资源,可能是更新了某些样式)

After composer update , if version of this extension changed :

Run

php artisan vendor:publish --tag=iframe-tabs --force

This will override css and js fiels to /public/vendor/laravel-admin-ext/iframe-tabs/

Or you can and a script in composer.json :

"scripts": {
    "post-update-cmd": "php artisan vendor:publish --tag=iframe-tabs --force",
}

Config

Add a config in config/admin.php:

    'extensions' => [
        'iframe-tabs' => [
           // Set to `false` if you want to disable this extension
            'enable' => true,
            // The controller and action of dashboard page `/admin/dashboard`
            'home_action' => App\Admin\Controllers\HomeController::class . '@index',
            // Default page tab-title
            'home_title' => 'Home',
            // Default page tab-title icon
            'home_icon' => 'fa-home',
            // Whether show icon befor titles for all tab
            'use_icon' => true,
            // dashboard css
            'tabs_css' =>'vendor/laravel-admin-ext/iframe-tabs/dashboard.css',
            // layer.js path
            'layer_path' => 'vendor/laravel-admin-ext/iframe-tabs/layer/layer.js',
            /**
             * href links do not open in tab .
             * selecter : .sidebar-menu li a,.navbar-nav>li a,.sidebar .user-panel a,.sidebar-form .dropdown-menu li a
             * if(href.indexOf(pass_urls[i]) > -1) //pass
             */
            'pass_urls' => ['/auth/logout', '/auth/lock'],
            // When login session state of a tab-page was expired , force top-level window goto login page .
            //登录超时是是否强制整体跳转到登录页面,设为false的话只在触发超时登录的页面跳转,最大程度保留已打开页面。
            'force_login_in_top' => true,
            // tabs left offset
            'tabs_left'  => 42,
            // bind click event of table actions [edit / view]  
            'bind_urls' => 'popup', //[ popup / new_tab / none]
            //table actions dom selecter
            'bind_selecter' => '.box-body table.table tbody a.grid-row-view,.box-body table.table tbody a.grid-row-edit,.box-header .pull-right .btn-success,.popup',
            //table action links [view edit] and create button ,and any thing has class pupop : <a class="pupop" popw="400px" poph="200px" href="someurl">mylink</a>
        ]
    ],

If bind_urls set to popup or new_tab , recommend disableView and disableList in form /Admin/bootstrap.php :

    Encore\Admin\Form::init(function ($form) {
        $form->tools(function ($tools) {
            $tools->disableDelete();
            $tools->disableView();
            $tools->disableList();
        });
    });

See https://laravel-admin.org/docs/zh/model-form-init

And disableEdit and disableList in show :

   $show->panel()
   ->tools(function ($tools) {
       $tools->disableEdit();
       $tools->disableList();
       $tools->disableDelete();
   });;

Lang

Add a lang config in resources/lang/{zh-CN}/admin.php

'iframe_tabs' => [
    'oprations' => '页签操作',
    'refresh_current' => '刷新当前',
    'close_current' => '关闭当前',
    'close_all' => '关闭全部',
    'close_other' => '关闭其他',
    'open_in_new' => '新窗口打开',
    'open_in_pop' => '弹出窗打开',
    'scroll_left' => '滚动到最左',
    'scroll_right' => '滚动到最右',
    'scroll_current' => '滚动到当前',
    'goto_login' => '登录超时,正在跳转登录页面...'
],

Usage

Open http://your-host/admin

Thanks to https://github.com/bswsfhcw/AdminLTE-With-Iframe

License


Licensed under The MIT License (MIT).

iframe-tabs's People

Contributors

ichynul avatar adzon avatar guoyuangang avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.