├── src
├── Console
│ ├── stubs
│ │ ├── extension
│ │ │ ├── view.stub
│ │ │ ├── README.md.stub
│ │ │ ├── .gitignore.stub
│ │ │ ├── routes.stub
│ │ │ ├── controller.stub
│ │ │ ├── extension.stub
│ │ │ ├── composer.json.stub
│ │ │ └── service-provider.stub
│ │ ├── AuthController.stub
│ │ ├── blank.stub
│ │ ├── grid-row-action.stub
│ │ ├── routes.stub
│ │ ├── grid-batch-action.stub
│ │ ├── action.stub
│ │ ├── bootstrap.stub
│ │ ├── step-form.stub
│ │ └── HomeController.stub
│ ├── MenuCommand.php
│ ├── ControllerCommand.php
│ └── PublishCommand.php
├── Grid
│ ├── Filter
│ │ ├── Equal.php
│ │ ├── Ilike.php
│ │ ├── EndsWith.php
│ │ ├── StartsWith.php
│ │ ├── NotIn.php
│ │ ├── Day.php
│ │ ├── Year.php
│ │ ├── Month.php
│ │ ├── Presenter
│ │ │ └── Checkbox.php
│ │ ├── Date.php
│ │ ├── NotEqual.php
│ │ ├── In.php
│ │ ├── Gt.php
│ │ ├── Lt.php
│ │ ├── Hidden.php
│ │ └── Like.php
│ ├── Displayers
│ │ ├── ContextMenuActions.php
│ │ ├── Button.php
│ │ ├── Suffix.php
│ │ ├── Prefix.php
│ │ ├── Link.php
│ │ ├── Upload.php
│ │ ├── Input.php
│ │ ├── Textarea.php
│ │ ├── Badge.php
│ │ ├── Radio.php
│ │ ├── Select.php
│ │ ├── Datetime.php
│ │ ├── Checkbox.php
│ │ ├── MultipleSelect.php
│ │ ├── ProgressBar.php
│ │ ├── Secret.php
│ │ └── Image.php
│ ├── Exporters
│ │ └── ExporterInterface.php
│ ├── Selectable
│ │ ├── Radio.php
│ │ ├── Checkbox.php
│ │ └── BrowserBtn.php
│ ├── Actions
│ │ ├── Show.php
│ │ └── Edit.php
│ ├── Concerns
│ │ ├── CanFixHeader.php
│ │ ├── CanDoubleClick.php
│ │ ├── HasHeader.php
│ │ ├── HasFooter.php
│ │ └── CanFixColumns.php
│ └── Tools
│ │ ├── FilterButton.php
│ │ └── CreateButton.php
├── Layout
│ └── Buildable.php
├── Form
│ ├── Field
│ │ ├── Month.php
│ │ ├── Year.php
│ │ ├── Id.php
│ │ ├── Display.php
│ │ ├── Hidden.php
│ │ ├── TimeRange.php
│ │ ├── DatetimeRange.php
│ │ ├── Nullable.php
│ │ ├── Datetime.php
│ │ ├── Password.php
│ │ ├── Email.php
│ │ ├── Time.php
│ │ ├── Url.php
│ │ ├── Rate.php
│ │ ├── Editor.php
│ │ ├── Timezone.php
│ │ ├── Button.php
│ │ ├── Divider.php
│ │ ├── Mobile.php
│ │ ├── Ip.php
│ │ ├── Decimal.php
│ │ ├── RadioCard.php
│ │ ├── CheckboxCard.php
│ │ ├── Icon.php
│ │ ├── Slider.php
│ │ └── RadioButton.php
│ └── Concerns
│ │ └── HandleCascadeFields.php
├── Show
│ └── Divider.php
├── Controllers
│ ├── ModelForm.php
│ └── HasResourceActions.php
├── Widgets
│ └── Navbar
│ │ ├── RefreshButton.php
│ │ └── Fullscreen.php
├── Middleware
│ ├── Bootstrap.php
│ └── Session.php
├── Traits
│ ├── DefaultDatetimeFormat.php
│ ├── ShouldSnakeAttributes.php
│ └── AdminBuilder.php
└── Actions
│ ├── SweatAlert2.php
│ └── Interactor
│ └── Interactor.php
├── CHANGELOG.md
├── resources
├── views
│ ├── partials
│ │ ├── html.blade.php
│ │ ├── style.blade.php
│ │ ├── js.blade.php
│ │ ├── css.blade.php
│ │ ├── script.blade.php
│ │ ├── toastr.blade.php
│ │ └── footer.blade.php
│ ├── form
│ │ ├── hidden.blade.php
│ │ ├── row.blade.php
│ │ ├── help-block.blade.php
│ │ ├── button.blade.php
│ │ ├── id.blade.php
│ │ ├── file.blade.php
│ │ ├── display.blade.php
│ │ ├── slider.blade.php
│ │ ├── editor.blade.php
│ │ ├── textarea.blade.php
│ │ ├── embeds.blade.php
│ │ ├── multiplefile.blade.php
│ │ ├── switchfield.blade.php
│ │ ├── error.blade.php
│ │ ├── rate.blade.php
│ │ ├── captcha.blade.php
│ │ ├── map.blade.php
│ │ ├── listbox.blade.php
│ │ ├── tab.blade.php
│ │ ├── multipleselect.blade.php
│ │ ├── tags.blade.php
│ │ ├── input.blade.php
│ │ ├── radio.blade.php
│ │ ├── radiobutton.blade.php
│ │ └── belongsto.blade.php
│ ├── actions
│ │ └── form
│ │ │ ├── hidden.blade.php
│ │ │ ├── text.blade.php
│ │ │ ├── date.blade.php
│ │ │ ├── help-block.blade.php
│ │ │ ├── file.blade.php
│ │ │ ├── muitplefile.blade.php
│ │ │ ├── textarea.blade.php
│ │ │ ├── select.blade.php
│ │ │ ├── multipleselect.blade.php
│ │ │ ├── radio.blade.php
│ │ │ └── checkbox.blade.php
│ ├── grid
│ │ ├── quick-create
│ │ │ ├── text.blade.php
│ │ │ ├── date.blade.php
│ │ │ ├── select.blade.php
│ │ │ ├── multipleselect.blade.php
│ │ │ └── form.blade.php
│ │ ├── total-row.blade.php
│ │ ├── displayer
│ │ │ └── table.blade.php
│ │ ├── quick-search.blade.php
│ │ └── inline-edit
│ │ │ ├── textarea.blade.php
│ │ │ └── input.blade.php
│ ├── widgets
│ │ ├── callout.blade.php
│ │ ├── alert.blade.php
│ │ ├── info-box.blade.php
│ │ ├── table.blade.php
│ │ ├── collapse.blade.php
│ │ └── box.blade.php
│ ├── filter
│ │ ├── where.blade.php
│ │ ├── gt.blade.php
│ │ ├── lt.blade.php
│ │ ├── select.blade.php
│ │ ├── multipleselect.blade.php
│ │ ├── radio.blade.php
│ │ ├── checkbox.blade.php
│ │ ├── between.blade.php
│ │ ├── text.blade.php
│ │ └── datetime.blade.php
│ ├── show.blade.php
│ ├── components
│ │ └── refresh-btn.blade.php
│ ├── show
│ │ ├── panel.blade.php
│ │ └── field.blade.php
│ ├── tree
│ │ └── branch.blade.php
│ └── dashboard
│ │ ├── title.blade.php
│ │ └── environment.blade.php
└── assets
│ ├── AdminLTE
│ ├── plugins
│ │ ├── input-mask
│ │ │ └── phone-codes
│ │ │ │ └── readme.txt
│ │ ├── iCheck
│ │ │ ├── flat
│ │ │ │ ├── aero.png
│ │ │ │ ├── blue.png
│ │ │ │ ├── flat.png
│ │ │ │ ├── grey.png
│ │ │ │ ├── pink.png
│ │ │ │ ├── red.png
│ │ │ │ ├── green.png
│ │ │ │ ├── orange.png
│ │ │ │ ├── purple.png
│ │ │ │ ├── red@2x.png
│ │ │ │ ├── yellow.png
│ │ │ │ ├── aero@2x.png
│ │ │ │ ├── blue@2x.png
│ │ │ │ ├── flat@2x.png
│ │ │ │ ├── green@2x.png
│ │ │ │ ├── grey@2x.png
│ │ │ │ ├── orange@2x.png
│ │ │ │ ├── pink@2x.png
│ │ │ │ ├── purple@2x.png
│ │ │ │ └── yellow@2x.png
│ │ │ ├── line
│ │ │ │ ├── line.png
│ │ │ │ └── line@2x.png
│ │ │ ├── minimal
│ │ │ │ ├── red.png
│ │ │ │ ├── aero.png
│ │ │ │ ├── blue.png
│ │ │ │ ├── green.png
│ │ │ │ ├── grey.png
│ │ │ │ ├── orange.png
│ │ │ │ ├── pink.png
│ │ │ │ ├── purple.png
│ │ │ │ ├── red@2x.png
│ │ │ │ ├── yellow.png
│ │ │ │ ├── aero@2x.png
│ │ │ │ ├── blue@2x.png
│ │ │ │ ├── green@2x.png
│ │ │ │ ├── grey@2x.png
│ │ │ │ ├── minimal.png
│ │ │ │ ├── pink@2x.png
│ │ │ │ ├── minimal@2x.png
│ │ │ │ ├── orange@2x.png
│ │ │ │ ├── purple@2x.png
│ │ │ │ └── yellow@2x.png
│ │ │ ├── square
│ │ │ │ ├── aero.png
│ │ │ │ ├── blue.png
│ │ │ │ ├── grey.png
│ │ │ │ ├── pink.png
│ │ │ │ ├── red.png
│ │ │ │ ├── aero@2x.png
│ │ │ │ ├── blue@2x.png
│ │ │ │ ├── green.png
│ │ │ │ ├── grey@2x.png
│ │ │ │ ├── orange.png
│ │ │ │ ├── pink@2x.png
│ │ │ │ ├── purple.png
│ │ │ │ ├── red@2x.png
│ │ │ │ ├── square.png
│ │ │ │ ├── yellow.png
│ │ │ │ ├── green@2x.png
│ │ │ │ ├── orange@2x.png
│ │ │ │ ├── purple@2x.png
│ │ │ │ ├── square@2x.png
│ │ │ │ └── yellow@2x.png
│ │ │ ├── polaris
│ │ │ │ ├── polaris.png
│ │ │ │ └── polaris@2x.png
│ │ │ └── futurico
│ │ │ │ ├── futurico.png
│ │ │ │ └── futurico@2x.png
│ │ ├── colorpicker
│ │ │ └── img
│ │ │ │ ├── alpha.png
│ │ │ │ ├── hue.png
│ │ │ │ ├── saturation.png
│ │ │ │ ├── hue-horizontal.png
│ │ │ │ └── alpha-horizontal.png
│ │ ├── ionslider
│ │ │ └── img
│ │ │ │ ├── sprite-skin-flat.png
│ │ │ │ └── sprite-skin-nice.png
│ │ └── select2
│ │ │ └── i18n
│ │ │ ├── zh-TW.js
│ │ │ ├── zh-CN.js
│ │ │ ├── az.js
│ │ │ ├── fi.js
│ │ │ ├── ja.js
│ │ │ ├── hu.js
│ │ │ ├── tr.js
│ │ │ ├── ko.js
│ │ │ ├── th.js
│ │ │ ├── id.js
│ │ │ ├── vi.js
│ │ │ ├── is.js
│ │ │ ├── ar.js
│ │ │ ├── de.js
│ │ │ ├── et.js
│ │ │ ├── sv.js
│ │ │ ├── bg.js
│ │ │ ├── km.js
│ │ │ ├── nb.js
│ │ │ ├── ms.js
│ │ │ ├── gl.js
│ │ │ ├── da.js
│ │ │ ├── en.js
│ │ │ ├── he.js
│ │ │ ├── fa.js
│ │ │ ├── hi.js
│ │ │ ├── hr.js
│ │ │ ├── mk.js
│ │ │ ├── eu.js
│ │ │ ├── pt-BR.js
│ │ │ ├── pt.js
│ │ │ ├── lv.js
│ │ │ ├── es.js
│ │ │ ├── ca.js
│ │ │ ├── it.js
│ │ │ ├── fr.js
│ │ │ ├── ro.js
│ │ │ ├── nl.js
│ │ │ ├── lt.js
│ │ │ ├── pl.js
│ │ │ ├── el.js
│ │ │ ├── sr.js
│ │ │ ├── uk.js
│ │ │ ├── sr-Cyrl.js
│ │ │ └── ru.js
│ ├── dist
│ │ └── img
│ │ │ ├── icons.png
│ │ │ ├── boxed-bg.jpg
│ │ │ ├── boxed-bg.png
│ │ │ ├── default-50x50.gif
│ │ │ └── user2-160x160.jpg
│ └── bootstrap
│ │ └── fonts
│ │ ├── glyphicons-halflings-regular.eot
│ │ ├── glyphicons-halflings-regular.ttf
│ │ ├── glyphicons-halflings-regular.woff
│ │ └── glyphicons-halflings-regular.woff2
│ ├── bootstrap3-editable
│ └── img
│ │ ├── clear.png
│ │ └── loading.gif
│ ├── font-awesome
│ └── fonts
│ │ ├── FontAwesome.otf
│ │ ├── fontawesome-webfont.eot
│ │ ├── fontawesome-webfont.ttf
│ │ ├── fontawesome-webfont.woff
│ │ └── fontawesome-webfont.woff2
│ ├── bootstrap-fileinput
│ ├── img
│ │ ├── loading.gif
│ │ └── loading-sm.gif
│ └── js
│ │ └── plugins
│ │ └── canvas-to-blob.min.js
│ ├── google-fonts
│ └── fonts
│ │ ├── Source-Sans-Pro.eot
│ │ ├── Source-Sans-Pro.ttf
│ │ ├── Source-Sans-Pro.woff
│ │ ├── Source-Sans-Pro.woff2
│ │ ├── Source-Sans-Pro-Bold.ttf
│ │ ├── Source-Sans-Pro-Bold.woff
│ │ ├── Source-Sans-Pro-Light.ttf
│ │ ├── Source-Sans-Pro-Bold.woff2
│ │ ├── Source-Sans-Pro-Italic.ttf
│ │ ├── Source-Sans-Pro-Italic.woff
│ │ ├── Source-Sans-Pro-Italic.woff2
│ │ ├── Source-Sans-Pro-Light.woff
│ │ ├── Source-Sans-Pro-Light.woff2
│ │ ├── Source-Sans-Pro-Semibold.ttf
│ │ ├── Source-Sans-Pro-Semibold.woff
│ │ ├── Source-Sans-Pro-Semibold.woff2
│ │ ├── Source-Sans-Pro-Light-Italic.ttf
│ │ ├── Source-Sans-Pro-Light-Italic.woff
│ │ ├── Source-Sans-Pro-Light-Italic.woff2
│ │ ├── Source-Sans-Pro-Semibold-Italic.ttf
│ │ ├── Source-Sans-Pro-Semibold-Italic.woff
│ │ └── Source-Sans-Pro-Semibold-Italic.woff2
│ └── flatpickr
│ └── dist
│ └── shortcut-buttons-flatpickr
│ └── themes
│ └── light.min.css
├── tests
├── assets
│ └── test.jpg
├── models
│ ├── File.php
│ ├── Image.php
│ ├── Profile.php
│ ├── Tag.php
│ ├── MultipleImage.php
│ ├── Tree.php
│ └── User.php
├── LaravelTest.php
├── routes.php
├── seeds
│ └── UserTableSeeder.php
├── ModelTreeTest.php
└── InstallTest.php
├── .gitignore
├── FUNDING.yml
├── docs
├── issue_template.md
├── zh
│ ├── change-log.md
│ ├── upgrade.md
│ ├── model-grid-exporter.md
│ ├── model-form-validation.md
│ ├── extension-scheduling.md
│ └── extension-config.md
└── en
│ ├── change-log.md
│ ├── upgrade.md
│ └── extension-scheduling.md
├── .github
├── dependabot.yml
└── stale.yml
├── .travis.yml
└── phpunit.xml.dist
/src/Console/stubs/extension/view.stub:
--------------------------------------------------------------------------------
1 | Welcome to laravel-admin
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # Changelog
2 | See https://laravel-admin.org/docs/
3 |
--------------------------------------------------------------------------------
/src/Console/stubs/extension/README.md.stub:
--------------------------------------------------------------------------------
1 | laravel-admin extension
2 | ======
3 |
4 |
5 |
--------------------------------------------------------------------------------
/resources/views/partials/html.blade.php:
--------------------------------------------------------------------------------
1 | @foreach($html as $item)
2 | {!! $item !!}
3 | @endforeach
4 |
--------------------------------------------------------------------------------
/tests/assets/test.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CodeNinja0718/laravel_project/HEAD/tests/assets/test.jpg
--------------------------------------------------------------------------------
/resources/views/partials/style.blade.php:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/resources/views/partials/js.blade.php:
--------------------------------------------------------------------------------
1 | @foreach($js as $j)
2 |
3 | @endforeach
--------------------------------------------------------------------------------
/resources/views/partials/css.blade.php:
--------------------------------------------------------------------------------
1 | @foreach($css as $c)
2 |
3 | @endforeach
--------------------------------------------------------------------------------
/src/Grid/Filter/Equal.php:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/Console/stubs/extension/.gitignore.stub:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | phpunit.phar
3 | /vendor
4 | composer.phar
5 | composer.lock
6 | *.project
7 | .idea/
--------------------------------------------------------------------------------
/FUNDING.yml:
--------------------------------------------------------------------------------
1 | # These are supported funding model platforms
2 |
3 | open_collective: laravel-admin
4 | custom: http://laravel-admin.org/donate
5 |
--------------------------------------------------------------------------------
/resources/views/actions/form/hidden.blade.php:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/Layout/Buildable.php:
--------------------------------------------------------------------------------
1 | $(function () {@foreach($script as $s) {!! $s !!} @endforeach});
2 |
--------------------------------------------------------------------------------
/src/Form/Field/Month.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/resources/assets/bootstrap3-editable/img/clear.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CodeNinja0718/laravel_project/HEAD/resources/assets/bootstrap3-editable/img/clear.png
--------------------------------------------------------------------------------
/resources/assets/font-awesome/fonts/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CodeNinja0718/laravel_project/HEAD/resources/assets/font-awesome/fonts/FontAwesome.otf
--------------------------------------------------------------------------------
/src/Form/Field/Id.php:
--------------------------------------------------------------------------------
1 |
2 | @if(isset($title))
3 |
{{ $title }}
4 | @endif
5 | {!! $content !!}
6 |
--------------------------------------------------------------------------------
/src/Console/stubs/extension/routes.stub:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/colorpicker/img/saturation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CodeNinja0718/laravel_project/HEAD/resources/assets/AdminLTE/plugins/colorpicker/img/saturation.png
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/iCheck/futurico/futurico.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CodeNinja0718/laravel_project/HEAD/resources/assets/AdminLTE/plugins/iCheck/futurico/futurico.png
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/iCheck/minimal/minimal@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CodeNinja0718/laravel_project/HEAD/resources/assets/AdminLTE/plugins/iCheck/minimal/minimal@2x.png
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/iCheck/minimal/orange@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CodeNinja0718/laravel_project/HEAD/resources/assets/AdminLTE/plugins/iCheck/minimal/orange@2x.png
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/iCheck/minimal/purple@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CodeNinja0718/laravel_project/HEAD/resources/assets/AdminLTE/plugins/iCheck/minimal/purple@2x.png
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/iCheck/minimal/yellow@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CodeNinja0718/laravel_project/HEAD/resources/assets/AdminLTE/plugins/iCheck/minimal/yellow@2x.png
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/iCheck/polaris/polaris@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CodeNinja0718/laravel_project/HEAD/resources/assets/AdminLTE/plugins/iCheck/polaris/polaris@2x.png
--------------------------------------------------------------------------------
/resources/assets/google-fonts/fonts/Source-Sans-Pro-Bold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CodeNinja0718/laravel_project/HEAD/resources/assets/google-fonts/fonts/Source-Sans-Pro-Bold.woff2
--------------------------------------------------------------------------------
/resources/assets/google-fonts/fonts/Source-Sans-Pro-Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CodeNinja0718/laravel_project/HEAD/resources/assets/google-fonts/fonts/Source-Sans-Pro-Italic.ttf
--------------------------------------------------------------------------------
/resources/assets/google-fonts/fonts/Source-Sans-Pro-Italic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CodeNinja0718/laravel_project/HEAD/resources/assets/google-fonts/fonts/Source-Sans-Pro-Italic.woff
--------------------------------------------------------------------------------
/resources/assets/google-fonts/fonts/Source-Sans-Pro-Italic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CodeNinja0718/laravel_project/HEAD/resources/assets/google-fonts/fonts/Source-Sans-Pro-Italic.woff2
--------------------------------------------------------------------------------
/resources/assets/google-fonts/fonts/Source-Sans-Pro-Light.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CodeNinja0718/laravel_project/HEAD/resources/assets/google-fonts/fonts/Source-Sans-Pro-Light.woff
--------------------------------------------------------------------------------
/resources/assets/google-fonts/fonts/Source-Sans-Pro-Light.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CodeNinja0718/laravel_project/HEAD/resources/assets/google-fonts/fonts/Source-Sans-Pro-Light.woff2
--------------------------------------------------------------------------------
/resources/assets/google-fonts/fonts/Source-Sans-Pro-Semibold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CodeNinja0718/laravel_project/HEAD/resources/assets/google-fonts/fonts/Source-Sans-Pro-Semibold.ttf
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/iCheck/futurico/futurico@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CodeNinja0718/laravel_project/HEAD/resources/assets/AdminLTE/plugins/iCheck/futurico/futurico@2x.png
--------------------------------------------------------------------------------
/resources/assets/google-fonts/fonts/Source-Sans-Pro-Semibold.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CodeNinja0718/laravel_project/HEAD/resources/assets/google-fonts/fonts/Source-Sans-Pro-Semibold.woff
--------------------------------------------------------------------------------
/resources/assets/google-fonts/fonts/Source-Sans-Pro-Semibold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CodeNinja0718/laravel_project/HEAD/resources/assets/google-fonts/fonts/Source-Sans-Pro-Semibold.woff2
--------------------------------------------------------------------------------
/src/Form/Field/DatetimeRange.php:
--------------------------------------------------------------------------------
1 |
2 | {{ $label }}
3 |
4 | @include('admin::actions.form.help-block')
5 |
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/colorpicker/img/alpha-horizontal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CodeNinja0718/laravel_project/HEAD/resources/assets/AdminLTE/plugins/colorpicker/img/alpha-horizontal.png
--------------------------------------------------------------------------------
/resources/assets/google-fonts/fonts/Source-Sans-Pro-Light-Italic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CodeNinja0718/laravel_project/HEAD/resources/assets/google-fonts/fonts/Source-Sans-Pro-Light-Italic.woff2
--------------------------------------------------------------------------------
/resources/assets/google-fonts/fonts/Source-Sans-Pro-Semibold-Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CodeNinja0718/laravel_project/HEAD/resources/assets/google-fonts/fonts/Source-Sans-Pro-Semibold-Italic.ttf
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/bootstrap/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CodeNinja0718/laravel_project/HEAD/resources/assets/AdminLTE/bootstrap/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/bootstrap/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CodeNinja0718/laravel_project/HEAD/resources/assets/AdminLTE/bootstrap/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/resources/assets/google-fonts/fonts/Source-Sans-Pro-Semibold-Italic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CodeNinja0718/laravel_project/HEAD/resources/assets/google-fonts/fonts/Source-Sans-Pro-Semibold-Italic.woff
--------------------------------------------------------------------------------
/resources/assets/google-fonts/fonts/Source-Sans-Pro-Semibold-Italic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CodeNinja0718/laravel_project/HEAD/resources/assets/google-fonts/fonts/Source-Sans-Pro-Semibold-Italic.woff2
--------------------------------------------------------------------------------
/src/Show/Divider.php:
--------------------------------------------------------------------------------
1 | ';
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/tests/models/File.php:
--------------------------------------------------------------------------------
1 |
2 | {{ $label }}
3 |
4 | @include('admin::actions.form.help-block')
5 |
--------------------------------------------------------------------------------
/resources/views/filter/where.blade.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/Grid/Filter/NotIn.php:
--------------------------------------------------------------------------------
1 |
2 | @foreach($fields as $field)
3 |
4 | {!! $field['element']->render() !!}
5 |
6 | @endforeach
7 |
--------------------------------------------------------------------------------
/src/Grid/Displayers/ContextMenuActions.php:
--------------------------------------------------------------------------------
1 |
2 | {{$label}} (>)
3 |
4 | @include($presenter->view())
5 |
6 |
--------------------------------------------------------------------------------
/resources/views/filter/lt.blade.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/resources/views/form/help-block.blade.php:
--------------------------------------------------------------------------------
1 | @if($help)
2 |
3 | {!! \Illuminate\Support\Arr::get($help, 'text') !!}
4 |
5 | @endif
--------------------------------------------------------------------------------
/src/Console/stubs/AuthController.stub:
--------------------------------------------------------------------------------
1 |
3 | {!! \Illuminate\Support\Arr::get($help, 'text') !!}
4 |
5 | @endif
--------------------------------------------------------------------------------
/resources/views/widgets/alert.blade.php:
--------------------------------------------------------------------------------
1 |
2 | ×
3 |
{{ $title }}
4 | {!! $content !!}
5 |
--------------------------------------------------------------------------------
/resources/views/actions/form/file.blade.php:
--------------------------------------------------------------------------------
1 |
2 | {{ $label }}
3 |
4 | @include('admin::actions.form.help-block')
5 |
6 |
--------------------------------------------------------------------------------
/resources/views/grid/total-row.blade.php:
--------------------------------------------------------------------------------
1 |
2 |
3 | @foreach($columns as $column)
4 | {!! $column['value'] !!}
5 | @endforeach
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/Controllers/ModelForm.php:
--------------------------------------------------------------------------------
1 | visit('/')
8 | ->assertResponseStatus(200)
9 | ->see('Laravel');
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/resources/views/actions/form/muitplefile.blade.php:
--------------------------------------------------------------------------------
1 |
2 | {{ $label }}
3 |
4 | @include('admin::actions.form.help-block')
5 |
6 |
--------------------------------------------------------------------------------
/src/Console/stubs/blank.stub:
--------------------------------------------------------------------------------
1 |
2 |
3 | {!! $panel !!}
4 |
5 |
6 |
7 | @foreach($relations as $relation)
8 | {!! $relation->render() !!}
9 | @endforeach
10 |
11 |
--------------------------------------------------------------------------------
/src/Grid/Filter/Day.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/resources/views/actions/form/textarea.blade.php:
--------------------------------------------------------------------------------
1 |
2 | {{ $label }}
3 |
4 | @include('admin::actions.form.help-block')
5 |
--------------------------------------------------------------------------------
/tests/models/Profile.php:
--------------------------------------------------------------------------------
1 | belongsTo(User::class, 'user_id');
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/Form/Field/Nullable.php:
--------------------------------------------------------------------------------
1 |
2 |
3 | @foreach($options as $select => $option)
4 | {{$option}}
5 | @endforeach
6 |
--------------------------------------------------------------------------------
/src/Form/Field/Datetime.php:
--------------------------------------------------------------------------------
1 | defaultAttribute('style', 'width: 160px');
12 |
13 | return parent::render();
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/tests/models/Tag.php:
--------------------------------------------------------------------------------
1 | belongsToMany(User::class, 'test_user_tags', 'tag_id', 'user_id');
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/Form/Field/Password.php:
--------------------------------------------------------------------------------
1 | prepend(' ')
10 | ->defaultAttribute('type', 'password');
11 |
12 | return parent::render();
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/resources/views/filter/multipleselect.blade.php:
--------------------------------------------------------------------------------
1 |
2 |
3 | @foreach($options as $select => $option)
4 | {{$option}}
5 | @endforeach
6 |
--------------------------------------------------------------------------------
/src/Widgets/Navbar/RefreshButton.php:
--------------------------------------------------------------------------------
1 | prepend(' ')
12 | ->defaultAttribute('type', 'email');
13 |
14 | return parent::render();
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/Form/Field/Time.php:
--------------------------------------------------------------------------------
1 | prepend(' ')
12 | ->defaultAttribute('style', 'width: 150px');
13 |
14 | return parent::render();
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/Form/Field/Url.php:
--------------------------------------------------------------------------------
1 | prepend(' ')
12 | ->defaultAttribute('type', 'url');
13 |
14 | return parent::render();
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/Form/Field/Rate.php:
--------------------------------------------------------------------------------
1 | prepend('')
10 | ->append('%')
11 | ->defaultAttribute('style', 'text-align:right;')
12 | ->defaultAttribute('placeholder', 0);
13 |
14 | return parent::render();
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/Grid/Filter/Presenter/Checkbox.php:
--------------------------------------------------------------------------------
1 | filter->getId()}').iCheck({checkboxClass:'icheckbox_minimal-blue'});";
12 |
13 | Admin::script($script);
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/resources/views/form/id.blade.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/Grid/Displayers/Button.php:
--------------------------------------------------------------------------------
1 | map(function ($style) {
10 | return 'btn-'.$style;
11 | })->implode(' ');
12 |
13 | return "{$this->value} ";
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/Grid/Selectable/Radio.php:
--------------------------------------------------------------------------------
1 | getAttribute($key);
12 |
13 | return <<
15 | EOT;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/resources/views/components/refresh-btn.blade.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
12 |
--------------------------------------------------------------------------------
/resources/views/widgets/info-box.blade.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
{{ $info }}
4 |
5 |
{{ $name }}
6 |
7 |
8 |
9 |
10 |
14 |
--------------------------------------------------------------------------------
/src/Form/Field/Editor.php:
--------------------------------------------------------------------------------
1 | script = "CKEDITOR.replace('{$this->id}');";
16 |
17 | return parent::render();
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/Grid/Selectable/Checkbox.php:
--------------------------------------------------------------------------------
1 | getAttribute($key);
12 |
13 | return <<
15 | EOT;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/resources/views/widgets/table.blade.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | @foreach($headers as $header)
5 | {{ $header }}
6 | @endforeach
7 |
8 |
9 |
10 | @foreach($rows as $row)
11 |
12 | @foreach($row as $item)
13 | {!! $item !!}
14 | @endforeach
15 |
16 | @endforeach
17 |
18 |
--------------------------------------------------------------------------------
/src/Console/stubs/grid-row-action.stub:
--------------------------------------------------------------------------------
1 | response()->success('Success message.')->refresh();
17 | }
18 | DummyInteractor
19 | }
--------------------------------------------------------------------------------
/src/Grid/Displayers/Suffix.php:
--------------------------------------------------------------------------------
1 | call($this->row, $this->getValue());
11 | }
12 |
13 | return <<getValue()}{$delimiter}{$suffix}
15 | HTML;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/Traits/DefaultDatetimeFormat.php:
--------------------------------------------------------------------------------
1 | version(), '7.0.0') < 0) {
12 | return parent::serializeDate($date);
13 | }
14 |
15 | return $date->format(Carbon::DEFAULT_TO_STRING_FORMAT);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: php
2 |
3 | php:
4 | - 7.2
5 | - 7.3
6 | - 7.4
7 | - 8.0
8 |
9 | matrix:
10 | fast_finish: true
11 | allow_failures:
12 | - php: hhvm
13 |
14 | sudo: false
15 |
16 | services:
17 | - mysql
18 |
19 | before_script:
20 | - mysql -e 'create database if not exists laravel_admin_test;'
21 | - travis_retry composer self-update
22 | - travis_retry composer install --no-interaction
23 |
24 | script:
25 | - composer test
26 |
--------------------------------------------------------------------------------
/docs/zh/change-log.md:
--------------------------------------------------------------------------------
1 | # Change log
2 |
3 | ## v1.2.9、v1.3.3、v1.4.1
4 |
5 | - 添加用户设置和修改头像功能
6 | - model-form自定义工具[参考](zh/model-form.md?id=自定义工具)
7 | - 内嵌表单支持[参考](zh/model-form-fields.md?id=embeds)
8 | - 支持自定义导航条(右上角)[参考](https://github.com/z-song/laravel-admin/issues/392)
9 | - 添加脚手架、数据库命令行工具、web artisan帮助工具[参考](zh/helpers.md)
10 | - 支持自定义登陆页面和登陆逻辑[参考](zh/qa.md?id=自定义登陆页面和登陆逻辑)
11 | - 表单支持设置宽度、设置action[参考](zh/model-form.md?id=其它方法)
12 | - 优化表格过滤器
13 | - 修复bug,优化代码和逻辑
--------------------------------------------------------------------------------
/docs/en/change-log.md:
--------------------------------------------------------------------------------
1 | # Change log
2 |
3 | ## v1.2.9、v1.3.3、v1.4.1
4 |
5 | - Add user settings and modify avatar function
6 | - Embedded form support
7 | - Support for customize navigation bar (upper right corner)
8 | - Add scaffolding, database command line tool, web artisan help tool
9 | - Support for customize login page and login logic
10 | - The form supports setting the width and setting the action
11 | - Optimize table filters
12 | - Fix bugs, optimize code and logic
--------------------------------------------------------------------------------
/src/Console/stubs/extension/controller.stub:
--------------------------------------------------------------------------------
1 | title('Title')
14 | ->description('Description')
15 | ->body(view(':base_package::index'));
16 | }
17 | }
--------------------------------------------------------------------------------
/src/Console/stubs/extension/extension.stub:
--------------------------------------------------------------------------------
1 | ':title',
17 | 'path' => ':path',
18 | 'icon' => 'fa-gears',
19 | ];
20 | }
--------------------------------------------------------------------------------
/src/Widgets/Navbar/Fullscreen.php:
--------------------------------------------------------------------------------
1 | config('admin.route.prefix'),
5 | 'namespace' => 'Tests\Controllers',
6 | 'middleware' => ['web', 'admin'],
7 | ], function ($router) {
8 | $router->resource('images', ImageController::class);
9 | $router->resource('multiple-images', MultipleImageController::class);
10 | $router->resource('files', FileController::class);
11 | $router->resource('users', UserController::class);
12 | });
13 |
--------------------------------------------------------------------------------
/src/Console/stubs/routes.stub:
--------------------------------------------------------------------------------
1 | config('admin.route.prefix'),
9 | 'namespace' => config('admin.route.namespace'),
10 | 'middleware' => config('admin.route.middleware'),
11 | 'as' => config('admin.route.prefix') . '.',
12 | ], function (Router $router) {
13 |
14 | $router->get('/', 'HomeController@index')->name('home');
15 |
16 | });
17 |
--------------------------------------------------------------------------------
/src/Grid/Displayers/Prefix.php:
--------------------------------------------------------------------------------
1 | call($this->row, $this->getValue(), $this->getColumn()->getOriginal());
11 | }
12 |
13 | return <<getValue()}
15 | HTML;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/Grid/Actions/Show.php:
--------------------------------------------------------------------------------
1 | getResource()}/{$this->getKey()}";
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/resources/views/form/file.blade.php:
--------------------------------------------------------------------------------
1 |
15 |
--------------------------------------------------------------------------------
/resources/views/grid/displayer/table.blade.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | @foreach($titles as $column => $title)
5 | {{ $title }}
6 | @endforeach
7 |
8 |
9 |
10 | @foreach($data as $datum)
11 |
12 | @foreach($datum as $key => $value)
13 | {{ $value }}
14 | @endforeach
15 |
16 | @endforeach
17 |
18 |
--------------------------------------------------------------------------------
/src/Form/Field/Timezone.php:
--------------------------------------------------------------------------------
1 | options = collect(DateTimeZone::listIdentifiers(DateTimeZone::ALL))->mapWithKeys(function ($timezone) {
14 | return [$timezone => $timezone];
15 | })->toArray();
16 |
17 | return parent::render();
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/Grid/Actions/Edit.php:
--------------------------------------------------------------------------------
1 | getResource()}/{$this->getKey()}/edit";
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/resources/views/form/display.blade.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/Middleware/Session.php:
--------------------------------------------------------------------------------
1 | $path]);
14 |
15 | if ($domain = config('admin.route.domain')) {
16 | config(['session.domain' => $domain]);
17 | }
18 |
19 | return $next($request);
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/Form/Concerns/HandleCascadeFields.php:
--------------------------------------------------------------------------------
1 | pushField($group = new Field\CascadeGroup($dependency));
16 |
17 | call_user_func($closure, $this);
18 |
19 | $group->end();
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/resources/views/actions/form/select.blade.php:
--------------------------------------------------------------------------------
1 |
2 | {{ $label }}
3 |
4 |
5 |
6 |
7 | @foreach($options as $select => $option)
8 | {{$option}}
9 | @endforeach
10 |
11 | @include('admin::actions.form.help-block')
12 |
13 |
14 |
--------------------------------------------------------------------------------
/src/Console/stubs/grid-batch-action.stub:
--------------------------------------------------------------------------------
1 | response()->success('Success message...')->refresh();
19 | }
20 | DummyInteractor
21 | }
--------------------------------------------------------------------------------
/resources/views/form/slider.blade.php:
--------------------------------------------------------------------------------
1 |
15 |
--------------------------------------------------------------------------------
/docs/zh/upgrade.md:
--------------------------------------------------------------------------------
1 | # 升级注意事项
2 |
3 | 因为laravel-admin 1.5的内置表结构有修改,所以建议大家重新安装laravel 5.5和laravel-admin 1.5,然后再将代码迁移过来
4 |
5 | 代码迁移需要注意的事项:
6 |
7 | - 表结构有修改 请参考 [tables.php](https://github.com/z-song/laravel-admin/blob/master/database/migrations/2016_01_04_173148_create_admin_tables.php)
8 | - 路由文件结构有修改 请参考 [routes.stub](https://github.com/z-song/laravel-admin/blob/master/src/Console/stubs/routes.stub)
9 | - 配置文件结构有修改 请参考 [admin.php](https://github.com/z-song/laravel-admin/blob/master/config/admin.php)
10 | - 图表组件已经移除,不能再使用,参考 [自定义图表](/zh/custom-chart.md)
--------------------------------------------------------------------------------
/src/Grid/Filter/Date.php:
--------------------------------------------------------------------------------
1 | {$this->fieldName}();
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/Grid/Filter/NotEqual.php:
--------------------------------------------------------------------------------
1 | column);
15 |
16 | if (!isset($value)) {
17 | return;
18 | }
19 |
20 | $this->value = $value;
21 |
22 | return $this->buildCondition($this->column, '!=', $this->value);
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/resources/views/partials/toastr.blade.php:
--------------------------------------------------------------------------------
1 | @if(Session::has('toastr'))
2 | @php
3 | $toastr = Session::pull('toastr');
4 | $type = \Illuminate\Support\Arr::get($toastr->get('type'), 0, 'success');
5 | $message = \Illuminate\Support\Arr::get($toastr->get('message'), 0, '');
6 | $options = json_encode($toastr->get('options', []));
7 | @endphp
8 |
13 | @endif
--------------------------------------------------------------------------------
/resources/views/grid/quick-search.blade.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/Grid/Selectable/BrowserBtn.php:
--------------------------------------------------------------------------------
1 |
15 |
16 | {$text}
17 |
18 | HTML;
19 |
20 | return $html;
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/tests/models/MultipleImage.php:
--------------------------------------------------------------------------------
1 | attributes['pictures'] = json_encode($pictures);
15 | }
16 | }
17 |
18 | public function getPicturesAttribute($pictures)
19 | {
20 | return json_decode($pictures, true) ?: [];
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/src/Grid/Displayers/Link.php:
--------------------------------------------------------------------------------
1 | bindTo($this->row);
11 | $href = call_user_func_array($callback, [$this->row]);
12 | } else {
13 | $href = $callback ?: $this->value;
14 | }
15 |
16 | return "{$this->value} ";
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/src/Form/Field/Button.php:
--------------------------------------------------------------------------------
1 | class = 'btn-info';
14 |
15 | return $this;
16 | }
17 |
18 | public function on($event, $callback)
19 | {
20 | $this->script = <<getElementClassSelector()}').on('$event', function() {
23 | $callback
24 | });
25 |
26 | EOT;
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/resources/views/form/editor.blade.php:
--------------------------------------------------------------------------------
1 |
15 |
--------------------------------------------------------------------------------
/resources/views/actions/form/multipleselect.blade.php:
--------------------------------------------------------------------------------
1 |
2 | {{ $label }}
3 |
4 |
5 |
6 | @foreach($options as $select => $option)
7 | {{$option}}
8 | @endforeach
9 |
10 | @include('admin::actions.form.help-block')
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/Grid/Concerns/CanFixHeader.php:
--------------------------------------------------------------------------------
1 | create()
13 | ->each(function ($u) {
14 | $u->profile()->save(factory(\Tests\Models\Profile::class)->make());
15 | $u->tags()->saveMany(factory(\Tests\Models\Tag::class, 5)->make());
16 | $u->data = ['json' => ['field' => random_int(0, 50)]];
17 | });
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/phpunit.xml.dist:
--------------------------------------------------------------------------------
1 |
2 |
13 |
14 |
15 | tests/
16 |
17 |
18 |
--------------------------------------------------------------------------------
/src/Console/stubs/action.stub:
--------------------------------------------------------------------------------
1 | response()->success('Success message...')->refresh();
17 | }
18 | DummyInteractor
19 | public function html()
20 | {
21 | return <<DummyName
23 | HTML;
24 | }
25 | }
--------------------------------------------------------------------------------
/resources/views/filter/radio.blade.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/resources/views/filter/checkbox.blade.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/Console/stubs/bootstrap.stub:
--------------------------------------------------------------------------------
1 |
6 | *
7 | * Bootstraper for Admin.
8 | *
9 | * Here you can remove builtin form field:
10 | * Encore\Admin\Form::forget(['map', 'editor']);
11 | *
12 | * Or extend custom form field:
13 | * Encore\Admin\Form::extend('php', PHPEditor::class);
14 | *
15 | * Or require js and css assets:
16 | * Admin::css('/packages/prettydocs/css/styles.css');
17 | * Admin::js('/packages/prettydocs/js/main.js');
18 | *
19 | */
20 |
21 | Encore\Admin\Form::forget(['map', 'editor']);
22 |
--------------------------------------------------------------------------------
/resources/views/form/textarea.blade.php:
--------------------------------------------------------------------------------
1 |
17 |
--------------------------------------------------------------------------------
/resources/views/actions/form/radio.blade.php:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/src/Grid/Concerns/CanDoubleClick.php:
--------------------------------------------------------------------------------
1 | tableID}>tbody>tr', function(e) {
18 | var url = "{$this->resource()}/"+$(this).data('key')+"/edit";
19 | $.admin.redirect(url);
20 | });
21 | SCRIPT;
22 | Admin::script($script);
23 |
24 | return $this;
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/Grid/Displayers/Upload.php:
--------------------------------------------------------------------------------
1 | $this->getKey(),
13 | 'name' => $this->getPayloadName(),
14 | 'value' => $this->getValue(),
15 | 'target' => "inline-upload-{$this->getKey()}",
16 | 'resource' => $this->getResource(),
17 | 'multiple' => $multiple,
18 | ]);
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/resources/views/form/embeds.blade.php:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
22 |
23 |
--------------------------------------------------------------------------------
/resources/views/form/multiplefile.blade.php:
--------------------------------------------------------------------------------
1 |
18 |
--------------------------------------------------------------------------------
/tests/ModelTreeTest.php:
--------------------------------------------------------------------------------
1 | where('uri', '');
18 | }, $rootText);
19 |
20 | $count = Tree::query()->where('uri', '')->count();
21 |
22 | $this->assertEquals(array_shift($options), $rootText);
23 | $this->assertEquals(count($options), $count);
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/resources/views/form/switchfield.blade.php:
--------------------------------------------------------------------------------
1 |
16 |
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/zh-TW.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/zh-TW",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="請刪掉"+t+"個字元";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="請再輸入"+t+"個字元";return n},loadingMore:function(){return"載入中…"},maximumSelected:function(e){var t="你只能選擇最多"+e.maximum+"項";return t},noResults:function(){return"沒有找到相符的項目"},searching:function(){return"搜尋中…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/resources/views/form/error.blade.php:
--------------------------------------------------------------------------------
1 | @if(is_array($errorKey))
2 | @foreach($errorKey as $key => $col)
3 | @if($errors->has($col.$key))
4 | @foreach($errors->get($col.$key) as $message)
5 | {{$message}}
6 | @endforeach
7 | @endif
8 | @endforeach
9 | @else
10 | @if($errors->has($errorKey))
11 | @foreach($errors->get($errorKey) as $message)
12 | {{$message}}
13 | @endforeach
14 | @endif
15 | @endif
--------------------------------------------------------------------------------
/resources/views/grid/quick-create/select.blade.php:
--------------------------------------------------------------------------------
1 |
8 |
9 |
10 |
11 |
12 |
13 | @foreach($options as $select => $option)
14 | {{$option}}
15 | @endforeach
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/resources/views/partials/footer.blade.php:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/resources/views/show/panel.blade.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/models/Tree.php:
--------------------------------------------------------------------------------
1 | setConnection($connection);
22 |
23 | $this->setTable(config('admin.database.menu_table'));
24 |
25 | parent::__construct($attributes);
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/resources/views/actions/form/checkbox.blade.php:
--------------------------------------------------------------------------------
1 |
15 |
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/zh-CN.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/zh-CN",[],function(){return{errorLoading:function(){return"无法载入结果。"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="请删除"+t+"个字符";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="请再输入至少"+t+"个字符";return n},loadingMore:function(){return"载入更多结果…"},maximumSelected:function(e){var t="最多只能选择"+e.maximum+"个项目";return t},noResults:function(){return"未找到结果"},searching:function(){return"搜索中…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/resources/views/tree/branch.blade.php:
--------------------------------------------------------------------------------
1 |
2 |
3 | {!! $branchCallback($branch) !!}
4 |
5 |
6 |
7 |
8 |
9 | @if(isset($branch['children']))
10 |
11 | @foreach($branch['children'] as $branch)
12 | @include($branchView, $branch)
13 | @endforeach
14 |
15 | @endif
16 |
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/az.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/az",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return t+" simvol silin"},inputTooShort:function(e){var t=e.minimum-e.input.length;return t+" simvol daxil edin"},loadingMore:function(){return"Daha çox nəticə yüklənir…"},maximumSelected:function(e){return"Sadəcə "+e.maximum+" element seçə bilərsiniz"},noResults:function(){return"Nəticə tapılmadı"},searching:function(){return"Axtarılır…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/fi.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fi",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return"Ole hyvä ja anna "+t+" merkkiä vähemmän"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Ole hyvä ja anna "+t+" merkkiä lisää"},loadingMore:function(){return"Ladataan lisää tuloksia…"},maximumSelected:function(e){return"Voit valita ainoastaan "+e.maximum+" kpl"},noResults:function(){return"Ei tuloksia"},searching:function(){}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/ja.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ja",[],function(){return{errorLoading:function(){return"結果が読み込まれませんでした"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" 文字を削除してください";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="少なくとも "+t+" 文字を入力してください";return n},loadingMore:function(){return"読み込み中…"},maximumSelected:function(e){var t=e.maximum+" 件しか選択できません";return t},noResults:function(){return"対象が見つかりません"},searching:function(){return"検索しています…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/src/Grid/Filter/In.php:
--------------------------------------------------------------------------------
1 | column);
24 |
25 | if (is_null($value)) {
26 | return;
27 | }
28 |
29 | $this->value = (array) $value;
30 |
31 | return $this->buildCondition($this->column, $this->value);
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/src/Form/Field/Divider.php:
--------------------------------------------------------------------------------
1 | title = $title;
14 | }
15 |
16 | public function render()
17 | {
18 | if (empty($this->title)) {
19 | return ' ';
20 | }
21 |
22 | return <<
24 |
25 | {$this->title}
26 |
27 |
28 | HTML;
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/hu.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hu",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return"Túl hosszú. "+t+" karakterrel több, mint kellene."},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Túl rövid. Még "+t+" karakter hiányzik."},loadingMore:function(){return"Töltés…"},maximumSelected:function(e){return"Csak "+e.maximum+" elemet lehet kiválasztani."},noResults:function(){return"Nincs találat."},searching:function(){return"Keresés…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/tr.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/tr",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" karakter daha girmelisiniz";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="En az "+t+" karakter daha girmelisiniz";return n},loadingMore:function(){return"Daha fazla…"},maximumSelected:function(e){var t="Sadece "+e.maximum+" seçim yapabilirsiniz";return t},noResults:function(){return"Sonuç bulunamadı"},searching:function(){return"Aranıyor…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/resources/views/form/rate.blade.php:
--------------------------------------------------------------------------------
1 |
18 |
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/ko.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ko",[],function(){return{errorLoading:function(){return"결과를 불러올 수 없습니다."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="너무 깁니다. "+t+" 글자 지워주세요.";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="너무 짧습니다. "+t+" 글자 더 입력해주세요.";return n},loadingMore:function(){return"불러오는 중…"},maximumSelected:function(e){var t="최대 "+e.maximum+"개까지만 선택 가능합니다.";return t},noResults:function(){return"결과가 없습니다."},searching:function(){return"검색 중…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/th.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/th",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="โปรดลบออก "+t+" ตัวอักษร";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="โปรดพิมพ์เพิ่มอีก "+t+" ตัวอักษร";return n},loadingMore:function(){return"กำลังค้นข้อมูลเพิ่ม…"},maximumSelected:function(e){var t="คุณสามารถเลือกได้ไม่เกิน "+e.maximum+" รายการ";return t},noResults:function(){return"ไม่พบข้อมูล"},searching:function(){return"กำลังค้นข้อมูล…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/src/Grid/Filter/Gt.php:
--------------------------------------------------------------------------------
1 | column);
24 |
25 | if (is_null($value)) {
26 | return;
27 | }
28 |
29 | $this->value = $value;
30 |
31 | return $this->buildCondition($this->column, '>=', $this->value);
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/src/Grid/Filter/Lt.php:
--------------------------------------------------------------------------------
1 | column);
24 |
25 | if (is_null($value)) {
26 | return;
27 | }
28 |
29 | $this->value = $value;
30 |
31 | return $this->buildCondition($this->column, '<=', $this->value);
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/resources/views/widgets/collapse.blade.php:
--------------------------------------------------------------------------------
1 |
2 | @foreach($items as $key => $item)
3 |
4 |
11 |
12 |
13 | {!! $item['content'] !!}
14 |
15 |
16 |
17 | @endforeach
18 |
19 |
20 |
--------------------------------------------------------------------------------
/src/Form/Field/Mobile.php:
--------------------------------------------------------------------------------
1 | '99999999999',
18 | ];
19 |
20 | public function render()
21 | {
22 | $this->inputmask($this->options);
23 |
24 | $this->prepend(' ')
25 | ->defaultAttribute('style', 'width: 150px');
26 |
27 | return parent::render();
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/Grid/Displayers/Input.php:
--------------------------------------------------------------------------------
1 | $this->getKey(),
13 | 'value' => $this->getValue(),
14 | 'display' => $this->getValue(),
15 | 'name' => $this->getPayloadName(),
16 | 'resource' => $this->getResource(),
17 | 'trigger' => "ie-trigger-{$this->getClassName()}",
18 | 'target' => "ie-template-{$this->getClassName()}",
19 | 'mask' => $mask,
20 | ]);
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/.github/stale.yml:
--------------------------------------------------------------------------------
1 | # Number of days of inactivity before an issue becomes stale
2 | daysUntilStale: 60
3 | # Number of days of inactivity before a stale issue is closed
4 | daysUntilClose: 7
5 | # Issues with these labels will never be considered stale
6 | exemptLabels:
7 | - pinned
8 | - security
9 | # Label to use when marking an issue as stale
10 | staleLabel: wontfix
11 | # Comment to post when marking an issue as stale. Set to `false` to disable
12 | markComment: >
13 | This issue has been automatically marked as stale because it has not had
14 | recent activity. It will be closed if no further activity occurs. Thank you
15 | for your contributions.
16 | # Comment to post when closing a stale issue. Set to `false` to disable
17 | closeComment: false
18 |
--------------------------------------------------------------------------------
/resources/views/form/captcha.blade.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/resources/views/grid/quick-create/multipleselect.blade.php:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
12 |
13 |
14 | @foreach($options as $select => $option)
15 | {{$option}}
16 | @endforeach
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/src/Grid/Displayers/Textarea.php:
--------------------------------------------------------------------------------
1 | $this->getKey(),
13 | 'value' => $this->getValue(),
14 | 'display' => $this->getValue(),
15 | 'name' => $this->getPayloadName(),
16 | 'resource' => $this->getResource(),
17 | 'trigger' => "ie-trigger-{$this->getClassName()}",
18 | 'target' => "ie-template-{$this->getClassName()}",
19 | 'rows' => $rows,
20 | ]);
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/src/Grid/Displayers/Badge.php:
--------------------------------------------------------------------------------
1 | value instanceof Arrayable) {
13 | $this->value = $this->value->toArray();
14 | }
15 |
16 | return collect((array) $this->value)->map(function ($name) use ($style) {
17 | if (is_array($style)) {
18 | $style = Arr::get($style, $this->getColumn()->getOriginal(), 'red');
19 | }
20 |
21 | return "$name ";
22 | })->implode(' ');
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/resources/views/filter/between.blade.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/id.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/id",[],function(){return{errorLoading:function(){return"Data tidak boleh diambil."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Hapuskan "+t+" huruf"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Masukkan "+t+" huruf lagi"},loadingMore:function(){return"Mengambil data…"},maximumSelected:function(e){return"Anda hanya dapat memilih "+e.maximum+" pilihan"},noResults:function(){return"Tidak ada data yang sesuai"},searching:function(){return"Mencari…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/vi.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/vi",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vui lòng nhập ít hơn "+t+" ký tự";return t!=1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vui lòng nhập nhiều hơn "+t+' ký tự"';return n},loadingMore:function(){return"Đang lấy thêm kết quả…"},maximumSelected:function(e){var t="Chỉ có thể chọn được "+e.maximum+" lựa chọn";return t},noResults:function(){return"Không tìm thấy kết quả"},searching:function(){return"Đang tìm…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/src/Form/Field/Ip.php:
--------------------------------------------------------------------------------
1 | 'ip',
20 | ];
21 |
22 | public function render()
23 | {
24 | $this->inputmask($this->options);
25 |
26 | $this->prepend(' ')
27 | ->defaultAttribute('style', 'width: 130px');
28 |
29 | return parent::render();
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/is.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/is",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vinsamlegast styttið texta um "+t+" staf";return t<=1?n:n+"i"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vinsamlegast skrifið "+t+" staf";return t>1&&(n+="i"),n+=" í viðbót",n},loadingMore:function(){return"Sæki fleiri niðurstöður…"},maximumSelected:function(e){return"Þú getur aðeins valið "+e.maximum+" atriði"},noResults:function(){return"Ekkert fannst"},searching:function(){return"Leita…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/docs/zh/model-grid-exporter.md:
--------------------------------------------------------------------------------
1 | # 自定义导出
2 |
3 | laravel-admin的数据表格默认支持导出csv文件,
4 |
5 | ```php
6 | getTable().'.csv';
17 |
18 | $data = $this->getData();
19 |
20 | $output = '';
21 |
22 | $headers = [
23 | 'Content-Encoding' => 'UTF-8',
24 | 'Content-Type' => 'text/csv;charset=UTF-8',
25 | 'Content-Disposition' => "attachment; filename=\"$filename\"",
26 | ];
27 |
28 | response(rtrim($output, "\n"), 200, $headers)->send();
29 |
30 | exit;
31 | }
32 | }
33 | ```
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/ar.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ar",[],function(){return{errorLoading:function(){return"لا يمكن تحميل النتائج"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="الرجاء حذف "+t+" عناصر";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="الرجاء إضافة "+t+" عناصر";return n},loadingMore:function(){return"جاري تحميل نتائج إضافية..."},maximumSelected:function(e){var t="تستطيع إختيار "+e.maximum+" بنود فقط";return t},noResults:function(){return"لم يتم العثور على أي نتائج"},searching:function(){return"جاري البحث…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/de.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/de",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return"Bitte "+t+" Zeichen weniger eingeben"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Bitte "+t+" Zeichen mehr eingeben"},loadingMore:function(){return"Lade mehr Ergebnisse…"},maximumSelected:function(e){var t="Sie können nur "+e.maximum+" Eintr";return e.maximum===1?t+="ag":t+="äge",t+=" auswählen",t},noResults:function(){return"Keine Übereinstimmungen gefunden"},searching:function(){return"Suche…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/et.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/et",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Sisesta "+t+" täht";return t!=1&&(n+="e"),n+=" vähem",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Sisesta "+t+" täht";return t!=1&&(n+="e"),n+=" rohkem",n},loadingMore:function(){return"Laen tulemusi…"},maximumSelected:function(e){var t="Saad vaid "+e.maximum+" tulemus";return e.maximum==1?t+="e":t+="t",t+=" valida",t},noResults:function(){return"Tulemused puuduvad"},searching:function(){return"Otsin…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/src/Form/Field/Decimal.php:
--------------------------------------------------------------------------------
1 | 'decimal',
18 | 'rightAlign' => true,
19 | ];
20 |
21 | public function render()
22 | {
23 | $this->inputmask($this->options);
24 |
25 | $this->prepend(' ')
26 | ->defaultAttribute('style', 'width: 130px');
27 |
28 | return parent::render();
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/docs/zh/model-form-validation.md:
--------------------------------------------------------------------------------
1 | 表单验证
2 | ========
3 |
4 | `model-form`使用laravel的验证规则来验证表单提交的数据:
5 |
6 | ```php
7 | $form->text('title')->rules('required|min:3');
8 |
9 | // 复杂的验证规则可以在回调里面实现
10 | $form->text('title')->rules(function ($form) {
11 |
12 | // 如果不是编辑状态,则添加字段唯一验证
13 | if (!$id = $form->model()->id) {
14 | return 'unique:users,email_address';
15 | }
16 |
17 | });
18 |
19 | ```
20 |
21 | 也可以给验证规则自定义错误提示消息:
22 |
23 | ```php
24 | $form->text('code')->rules('required|regex:/^\d+$/|min:10', [
25 | 'regex' => 'code必须全部为数字',
26 | 'min' => 'code不能少于10个字符',
27 | ]);
28 | ```
29 |
30 | 如果要允许字段为空,首先要在数据库的表里面对该字段设置为`NULL`,然后
31 |
32 | ```php
33 | $form->text('title')->rules('nullable');
34 | ```
35 |
36 | 更多规则请参考[Validation](https://laravel.com/docs/5.5/validation).
--------------------------------------------------------------------------------
/resources/views/form/map.blade.php:
--------------------------------------------------------------------------------
1 |
17 |
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/sv.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sv",[],function(){return{errorLoading:function(){return"Resultat kunde inte laddas."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vänligen sudda ut "+t+" tecken";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vänligen skriv in "+t+" eller fler tecken";return n},loadingMore:function(){return"Laddar fler resultat…"},maximumSelected:function(e){var t="Du kan max välja "+e.maximum+" element";return t},noResults:function(){return"Inga träffar"},searching:function(){return"Söker…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/src/Console/MenuCommand.php:
--------------------------------------------------------------------------------
1 | command('inspire')->everyTenMinutes();
27 |
28 | $schedule->command('route:list')->dailyAt('02:00');
29 | }
30 | }
31 |
32 | ```
33 |
34 | 然后就能在后台看到这两项计划任务的详细情况,也能直接运行这两个计划任务。
35 |
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/bg.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/bg",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Моля въведете с "+t+" по-малко символ";return t>1&&(n+="a"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Моля въведете още "+t+" символ";return t>1&&(n+="a"),n},loadingMore:function(){return"Зареждат се още…"},maximumSelected:function(e){var t="Можете да направите до "+e.maximum+" ";return e.maximum>1?t+="избора":t+="избор",t},noResults:function(){return"Няма намерени съвпадения"},searching:function(){return"Търсене…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/km.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/km",[],function(){return{errorLoading:function(){return"មិនអាចទាញយកទិន្នន័យ"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="សូមលុបចេញ "+t+" អក្សរ";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="សូមបញ្ចូល"+t+" អក្សរ រឺ ច្រើនជាងនេះ";return n},loadingMore:function(){return"កំពុងទាញយកទិន្នន័យបន្ថែម..."},maximumSelected:function(e){var t="អ្នកអាចជ្រើសរើសបានតែ "+e.maximum+" ជម្រើសប៉ុណ្ណោះ";return t},noResults:function(){return"មិនមានលទ្ធផល"},searching:function(){return"កំពុងស្វែងរក..."}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/nb.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/nb",[],function(){return{errorLoading:function(){return"Kunne ikke hente resultater."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Vennligst fjern "+t+" tegn"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vennligst skriv inn ";return t>1?n+=" flere tegn":n+=" tegn til",n},loadingMore:function(){return"Laster flere resultater…"},maximumSelected:function(e){return"Du kan velge maks "+e.maximum+" elementer"},noResults:function(){return"Ingen treff"},searching:function(){return"Søker…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/resources/views/show/field.blade.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/Grid/Displayers/Radio.php:
--------------------------------------------------------------------------------
1 | $this->getKey(),
14 | 'name' => $this->getPayloadName(),
15 | 'value' => $this->getValue(),
16 | 'resource' => $this->getResource(),
17 | 'trigger' => "ie-trigger-{$this->getClassName()}",
18 | 'target' => "ie-template-{$this->getClassName()}",
19 | 'display' => Arr::get($options, $this->getValue(), ''),
20 | 'options' => $options,
21 | ]);
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/ms.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ms",[],function(){return{errorLoading:function(){return"Keputusan tidak berjaya dimuatkan."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Sila hapuskan "+t+" aksara"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Sila masukkan "+t+" atau lebih aksara"},loadingMore:function(){return"Sedang memuatkan keputusan…"},maximumSelected:function(e){return"Anda hanya boleh memilih "+e.maximum+" pilihan"},noResults:function(){return"Tiada padanan yang ditemui"},searching:function(){return"Mencari…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/src/Grid/Displayers/Select.php:
--------------------------------------------------------------------------------
1 | $this->getKey(),
14 | 'value' => $this->getValue(),
15 | 'display' => Arr::get($options, $this->getValue(), ''),
16 | 'name' => $this->getPayloadName(),
17 | 'resource' => $this->getResource(),
18 | 'trigger' => "ie-trigger-{$this->getClassName()}",
19 | 'target' => "ie-template-{$this->getClassName()}",
20 | 'options' => $options,
21 | ]);
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/gl.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/gl",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Elimine ";return t===1?n+="un carácter":n+=t+" caracteres",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Engada ";return t===1?n+="un carácter":n+=t+" caracteres",n},loadingMore:function(){return"Cargando máis resultados…"},maximumSelected:function(e){var t="Só pode ";return e.maximum===1?t+="un elemento":t+=e.maximum+" elementos",t},noResults:function(){return"Non se atoparon resultados"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/src/Form/Field/RadioCard.php:
--------------------------------------------------------------------------------
1 | addStyle();
40 |
41 | return parent::render();
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/src/Grid/Displayers/Datetime.php:
--------------------------------------------------------------------------------
1 | $this->getKey(),
13 | 'value' => $this->getValue(),
14 | 'display' => $this->getValue(),
15 | 'name' => $this->getPayloadName(),
16 | 'resource' => $this->getResource(),
17 | 'trigger' => "ie-trigger-{$this->getClassName()}",
18 | 'target' => "ie-template-{$this->getClassName()}",
19 |
20 | 'format' => $format,
21 | 'locale' => config('app.locale'),
22 | ]);
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/Form/Field/CheckboxCard.php:
--------------------------------------------------------------------------------
1 | addStyle();
40 |
41 | return parent::render();
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/tests/InstallTest.php:
--------------------------------------------------------------------------------
1 | assertFileExists(admin_path());
8 |
9 | $this->assertFileExists(admin_path('Controllers'));
10 |
11 | $this->assertFileExists(admin_path('routes.php'));
12 |
13 | $this->assertFileExists(admin_path('bootstrap.php'));
14 |
15 | $this->assertFileExists(admin_path('Controllers/HomeController.php'));
16 |
17 | $this->assertFileExists(admin_path('Controllers/AuthController.php'));
18 |
19 | $this->assertFileExists(admin_path('Controllers/ExampleController.php'));
20 |
21 | $this->assertFileExists(config_path('admin.php'));
22 |
23 | $this->assertFileExists(public_path('vendor/laravel-admin'));
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/Form/Field/Icon.php:
--------------------------------------------------------------------------------
1 | script = <<getElementClassSelector()}').iconpicker({placement:'bottomLeft'});
22 |
23 | EOT;
24 |
25 | $this->prepend(' ')
26 | ->defaultAttribute('style', 'width: 140px');
27 |
28 | return parent::render();
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/da.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/da",[],function(){return{errorLoading:function(){return"Resultaterne kunne ikke indlæses."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Angiv venligst "+t+" tegn mindre";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Angiv venligst "+t+" tegn mere";return n},loadingMore:function(){return"Indlæser flere resultater…"},maximumSelected:function(e){var t="Du kan kun vælge "+e.maximum+" emne";return e.maximum!=1&&(t+="r"),t},noResults:function(){return"Ingen resultater fundet"},searching:function(){return"Søger…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/docs/en/upgrade.md:
--------------------------------------------------------------------------------
1 | # Upgrade precautions
2 |
3 | Because `laravel-admin 1.5` built-in table structure has been modified, it is recommended that you re-install `laravel 5.5` and `laravel-admin 1.5`, and then migrate the code over
4 |
5 | Code migration needs attention:
6 |
7 | - Please refer to the table structure changes [tables.php](https://github.com/z-song/laravel-admin/blob/master/database/migrations/2016_01_04_173148_create_admin_tables.php)
8 | - Routing file structure is modified please refer to [routes.stub](https://github.com/z-song/laravel-admin/blob/master/src/Console/stubs/routes.stub)
9 | - Please refer to the configuration file structure changes [admin.php](https://github.com/z-song/laravel-admin/blob/master/config/admin.php)
10 | - The chart component has been removed and can no longer be used, please refer to [Custom chart](/en/custom-chart.md)
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/en.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Please delete "+t+" character";return t!=1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Please enter "+t+" or more characters";return n},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var t="You can only select "+e.maximum+" item";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No results found"},searching:function(){return"Searching…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/he.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/he",[],function(){return{errorLoading:function(){return"שגיאה בטעינת התוצאות"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="נא למחוק ";return t===1?n+="תו אחד":n+=t+" תווים",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="נא להכניס ";return t===1?n+="תו אחד":n+=t+" תווים",n+=" או יותר",n},loadingMore:function(){return"טוען תוצאות נוספות…"},maximumSelected:function(e){var t="באפשרותך לבחור עד ";return e.maximum===1?t+="פריט אחד":t+=e.maximum+" פריטים",t},noResults:function(){return"לא נמצאו תוצאות"},searching:function(){return"מחפש…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/fa.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fa",[],function(){return{errorLoading:function(){return"امکان بارگذاری نتایج وجود ندارد."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="لطفاً "+t+" کاراکتر را حذف نمایید";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="لطفاً تعداد "+t+" کاراکتر یا بیشتر وارد نمایید";return n},loadingMore:function(){return"در حال بارگذاری نتایج بیشتر..."},maximumSelected:function(e){var t="شما تنها میتوانید "+e.maximum+" آیتم را انتخاب نمایید";return t},noResults:function(){return"هیچ نتیجهای یافت نشد"},searching:function(){return"در حال جستجو..."}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/hi.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hi",[],function(){return{errorLoading:function(){return"परिणामों को लोड नहीं किया जा सका।"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" अक्षर को हटा दें";return t>1&&(n=t+" अक्षरों को हटा दें "),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="कृपया "+t+" या अधिक अक्षर दर्ज करें";return n},loadingMore:function(){return"अधिक परिणाम लोड हो रहे है..."},maximumSelected:function(e){var t="आप केवल "+e.maximum+" आइटम का चयन कर सकते हैं";return t},noResults:function(){return"कोई परिणाम नहीं मिला"},searching:function(){return"खोज रहा है..."}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/hr.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hr",[],function(){function e(e){var t=" "+e+" znak";return e%10<5&&e%10>0&&(e%100<5||e%100>19)?e%10>1&&(t+="a"):t+="ova",t}return{errorLoading:function(){return"Preuzimanje nije uspjelo."},inputTooLong:function(t){var n=t.input.length-t.maximum;return"Unesite "+e(n)},inputTooShort:function(t){var n=t.minimum-t.input.length;return"Unesite još "+e(n)},loadingMore:function(){return"Učitavanje rezultata…"},maximumSelected:function(e){return"Maksimalan broj odabranih stavki je "+e.maximum},noResults:function(){return"Nema rezultata"},searching:function(){return"Pretraga…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/resources/views/widgets/box.blade.php:
--------------------------------------------------------------------------------
1 |
2 | @if($title || $tools)
3 |
11 | @endif
12 |
13 | {!! $content !!}
14 |
15 | @if($footer)
16 |
19 | @endif
20 |
21 | {{-- 由于widget box 有可能会用于expand,加载完页面后还没有对应的html,导致script失败,故只能和html写在一起。 --}}
22 |
--------------------------------------------------------------------------------
/src/Actions/SweatAlert2.php:
--------------------------------------------------------------------------------
1 | type = $type;
26 | $this->title = $title;
27 |
28 | return $this;
29 | }
30 |
31 | /**
32 | * @return array
33 | */
34 | public function getOptions()
35 | {
36 | return [
37 | 'swal' => [
38 | 'type' => $this->type,
39 | 'title' => $this->title,
40 | ],
41 | ];
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/src/Grid/Displayers/Checkbox.php:
--------------------------------------------------------------------------------
1 | $this->getKey(),
14 | 'name' => $this->getPayloadName(),
15 | 'resource' => $this->getResource(),
16 | 'trigger' => "ie-trigger-{$this->getClassName()}",
17 | 'target' => "ie-content-{$this->getClassName()}-{$this->getKey()}",
18 | 'value' => json_encode($this->getValue()),
19 | 'display' => implode(';', Arr::only($options, $this->getValue())),
20 | 'options' => $options,
21 | ]);
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/mk.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/mk",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Ве молиме внесете "+e.maximum+" помалку карактер";return e.maximum!==1&&(n+="и"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Ве молиме внесете уште "+e.maximum+" карактер";return e.maximum!==1&&(n+="и"),n},loadingMore:function(){return"Вчитување резултати…"},maximumSelected:function(e){var t="Можете да изберете само "+e.maximum+" ставк";return e.maximum===1?t+="а":t+="и",t},noResults:function(){return"Нема пронајдено совпаѓања"},searching:function(){return"Пребарување…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/src/Grid/Displayers/MultipleSelect.php:
--------------------------------------------------------------------------------
1 | $this->getKey(),
14 | 'name' => $this->getPayloadName(),
15 | 'value' => json_encode($this->getValue()),
16 | 'resource' => $this->getResource(),
17 | 'trigger' => "ie-trigger-{$this->getClassName()}",
18 | 'target' => "ie-template-{$this->getClassName()}",
19 | 'display' => implode(';', Arr::only($options, $this->getValue())),
20 | 'options' => $options,
21 | ]);
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/eu.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/eu",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Idatzi ";return t==1?n+="karaktere bat":n+=t+" karaktere",n+=" gutxiago",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Idatzi ";return t==1?n+="karaktere bat":n+=t+" karaktere",n+=" gehiago",n},loadingMore:function(){return"Emaitza gehiago kargatzen…"},maximumSelected:function(e){return e.maximum===1?"Elementu bakarra hauta dezakezu":e.maximum+" elementu hauta ditzakezu soilik"},noResults:function(){return"Ez da bat datorrenik aurkitu"},searching:function(){return"Bilatzen…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/pt-BR.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pt-BR",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Apague "+t+" caracter";return t!=1&&(n+="es"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Digite "+t+" ou mais caracteres";return n},loadingMore:function(){return"Carregando mais resultados…"},maximumSelected:function(e){var t="Você só pode selecionar "+e.maximum+" ite";return e.maximum==1?t+="m":t+="ns",t},noResults:function(){return"Nenhum resultado encontrado"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/pt.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pt",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Por favor apague "+t+" ";return n+=t!=1?"caracteres":"carácter",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Introduza "+t+" ou mais caracteres";return n},loadingMore:function(){return"A carregar mais resultados…"},maximumSelected:function(e){var t="Apenas pode seleccionar "+e.maximum+" ";return t+=e.maximum!=1?"itens":"item",t},noResults:function(){return"Sem resultados"},searching:function(){return"A procurar…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/src/Grid/Tools/FilterButton.php:
--------------------------------------------------------------------------------
1 | grid->getFilter();
16 |
17 | if ($scope = $filter->getCurrentScope()) {
18 | $label = " {$scope->getLabel()} ";
19 | }
20 |
21 | return Admin::component('admin::filter.button', [
22 | 'scopes' => $filter->getScopes(),
23 | 'label' => $label,
24 | 'cancel' => $filter->urlWithoutScopes(),
25 | 'btn_class' => uniqid().'-filter-btn',
26 | 'expand' => $filter->expand,
27 | 'filter_id' => $filter->getFilterID(),
28 | ]);
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/lv.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/lv",[],function(){function e(e,t,n,r){return e===11?t:e%10===1?n:r}return{inputTooLong:function(t){var n=t.input.length-t.maximum,r="Lūdzu ievadiet par "+n;return r+=" simbol"+e(n,"iem","u","iem"),r+" mazāk"},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Lūdzu ievadiet vēl "+n;return r+=" simbol"+e(n,"us","u","us"),r},loadingMore:function(){return"Datu ielāde…"},maximumSelected:function(t){var n="Jūs varat izvēlēties ne vairāk kā "+t.maximum;return n+=" element"+e(t.maximum,"us","u","us"),n},noResults:function(){return"Sakritību nav"},searching:function(){return"Meklēšana…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/resources/views/form/listbox.blade.php:
--------------------------------------------------------------------------------
1 |
20 |
--------------------------------------------------------------------------------
/resources/views/form/tab.blade.php:
--------------------------------------------------------------------------------
1 |
2 |
13 |
14 |
15 | @foreach($tabObj->getTabs() as $tab)
16 |
17 | @foreach($tab['fields'] as $field)
18 | {!! $field->render() !!}
19 | @endforeach
20 |
21 | @endforeach
22 |
23 |
24 |
--------------------------------------------------------------------------------
/src/Console/stubs/extension/composer.json.stub:
--------------------------------------------------------------------------------
1 | {
2 | "name": ":package",
3 | "description": "description...",
4 | "type": "library",
5 | "keywords": ["laravel-admin", "extension"],
6 | "homepage": "https://github.com/:package",
7 | "license": "MIT",
8 | "authors": [
9 | {
10 | "name": "your name",
11 | "email": "your email"
12 | }
13 | ],
14 | "require": {
15 | "php": ">=7.0.0",
16 | "encore/laravel-admin": "~1.6"
17 | },
18 | "require-dev": {
19 | "phpunit/phpunit": "~6.0"
20 | },
21 | "autoload": {
22 | "psr-4": {
23 | ":namespace": "src/"
24 | }
25 | },
26 | "extra": {
27 | "laravel": {
28 | "providers": [
29 | ":namespace:class_nameServiceProvider"
30 | ]
31 | }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/es.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/es",[],function(){return{errorLoading:function(){return"La carga falló"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Por favor, elimine "+t+" car";return t==1?n+="ácter":n+="acteres",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Por favor, introduzca "+t+" car";return t==1?n+="ácter":n+="acteres",n},loadingMore:function(){return"Cargando más resultados…"},maximumSelected:function(e){var t="Sólo puede seleccionar "+e.maximum+" elemento";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No se encontraron resultados"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/resources/views/form/multipleselect.blade.php:
--------------------------------------------------------------------------------
1 |
20 |
--------------------------------------------------------------------------------
/resources/views/form/tags.blade.php:
--------------------------------------------------------------------------------
1 |
22 |
--------------------------------------------------------------------------------
/src/Grid/Filter/Hidden.php:
--------------------------------------------------------------------------------
1 | name = $name;
26 |
27 | $this->value = $value;
28 | }
29 |
30 | /**
31 | * {@inheritdoc}
32 | */
33 | public function condition($inputs)
34 | {
35 | }
36 |
37 | /**
38 | * {@inheritdoc}
39 | */
40 | public function render()
41 | {
42 | return " ";
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/tests/models/User.php:
--------------------------------------------------------------------------------
1 | 'array'];
14 |
15 | public function profile()
16 | {
17 | return $this->hasOne(Profile::class, 'user_id');
18 | }
19 |
20 | public function getFullNameAttribute()
21 | {
22 | return "{$this->profile['first_name']} {$this->profile['last_name']}";
23 | }
24 |
25 | public function getPositionAttribute()
26 | {
27 | return "{$this->profile->latitude} {$this->profile->longitude}";
28 | }
29 |
30 | public function tags()
31 | {
32 | return $this->belongsToMany(Tag::class, 'test_user_tags', 'user_id', 'tag_id');
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/ca.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ca",[],function(){return{errorLoading:function(){return"La càrrega ha fallat"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Si us plau, elimina "+t+" car";return t==1?n+="àcter":n+="àcters",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Si us plau, introdueix "+t+" car";return t==1?n+="àcter":n+="àcters",n},loadingMore:function(){return"Carregant més resultats…"},maximumSelected:function(e){var t="Només es pot seleccionar "+e.maximum+" element";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No s'han trobat resultats"},searching:function(){return"Cercant…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/resources/views/grid/inline-edit/textarea.blade.php:
--------------------------------------------------------------------------------
1 | @extends('admin::grid.inline-edit.comm')
2 |
3 | @section('field')
4 |
5 | @endsection
6 |
7 | @section('assert')
8 |
18 |
19 | {{--after submit--}}
20 |
25 | @endsection
26 |
27 |
28 |
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/it.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/it",[],function(){return{errorLoading:function(){return"I risultati non possono essere caricati."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Per favore cancella "+t+" caratter";return t!==1?n+="i":n+="e",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Per favore inserisci "+t+" o più caratteri";return n},loadingMore:function(){return"Caricando più risultati…"},maximumSelected:function(e){var t="Puoi selezionare solo "+e.maximum+" element";return e.maximum!==1?t+="i":t+="o",t},noResults:function(){return"Nessun risultato trovato"},searching:function(){return"Sto cercando…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/src/Grid/Concerns/HasHeader.php:
--------------------------------------------------------------------------------
1 | header;
26 | }
27 |
28 | $this->header = $closure;
29 |
30 | return $this;
31 | }
32 |
33 | /**
34 | * @return string
35 | */
36 | public function renderHeader()
37 | {
38 | if (!$this->header) {
39 | return '';
40 | }
41 |
42 | return (new Header($this))->render();
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/src/Traits/ShouldSnakeAttributes.php:
--------------------------------------------------------------------------------
1 | model instanceof GridModel) ?
28 | $this->model->eloquent() : $this->model;
29 |
30 | $class = get_class($model);
31 |
32 | return static::$snakeAttributes = $class::$snakeAttributes;
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/fr.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fr",[],function(){return{errorLoading:function(){return"Les résultats ne peuvent pas être chargés."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Supprimez "+t+" caractère";return t!==1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Saisissez "+t+" caractère";return t!==1&&(n+="s"),n},loadingMore:function(){return"Chargement de résultats supplémentaires…"},maximumSelected:function(e){var t="Vous pouvez seulement sélectionner "+e.maximum+" élément";return e.maximum!==1&&(t+="s"),t},noResults:function(){return"Aucun résultat trouvé"},searching:function(){return"Recherche en cours…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/ro.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ro",[],function(){return{errorLoading:function(){return"Rezultatele nu au putut fi incărcate."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vă rugăm să ștergeți"+t+" caracter";return t!==1&&(n+="e"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vă rugăm să introduceți "+t+"sau mai multe caractere";return n},loadingMore:function(){return"Se încarcă mai multe rezultate…"},maximumSelected:function(e){var t="Aveți voie să selectați cel mult "+e.maximum;return t+=" element",e.maximum!==1&&(t+="e"),t},noResults:function(){return"Nu au fost găsite rezultate"},searching:function(){return"Căutare…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/nl.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/nl",[],function(){return{errorLoading:function(){return"De resultaten konden niet worden geladen."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Gelieve "+t+" karakters te verwijderen";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Gelieve "+t+" of meer karakters in te voeren";return n},loadingMore:function(){return"Meer resultaten laden…"},maximumSelected:function(e){var t=e.maximum==1?"kan":"kunnen",n="Er "+t+" maar "+e.maximum+" item";return e.maximum!=1&&(n+="s"),n+=" worden geselecteerd",n},noResults:function(){return"Geen resultaten gevonden…"},searching:function(){return"Zoeken…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/resources/views/grid/quick-create/form.blade.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | {{ __('admin.quick_create') }}
7 |
8 |
9 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/src/Controllers/HasResourceActions.php:
--------------------------------------------------------------------------------
1 | form()->update($id);
17 | }
18 |
19 | /**
20 | * Store a newly created resource in storage.
21 | *
22 | * @return mixed
23 | */
24 | public function store()
25 | {
26 | return $this->form()->store();
27 | }
28 |
29 | /**
30 | * Remove the specified resource from storage.
31 | *
32 | * @param int $id
33 | *
34 | * @return \Illuminate\Http\Response
35 | */
36 | public function destroy($id)
37 | {
38 | return $this->form()->destroy($id);
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/lt.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/lt",[],function(){function e(e,t,n,r){return e%10===1&&(e%100<11||e%100>19)?t:e%10>=2&&e%10<=9&&(e%100<11||e%100>19)?n:r}return{inputTooLong:function(t){var n=t.input.length-t.maximum,r="Pašalinkite "+n+" simbol";return r+=e(n,"į","ius","ių"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Įrašykite dar "+n+" simbol";return r+=e(n,"į","ius","ių"),r},loadingMore:function(){return"Kraunama daugiau rezultatų…"},maximumSelected:function(t){var n="Jūs galite pasirinkti tik "+t.maximum+" element";return n+=e(t.maximum,"ą","us","ų"),n},noResults:function(){return"Atitikmenų nerasta"},searching:function(){return"Ieškoma…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/src/Form/Field/Slider.php:
--------------------------------------------------------------------------------
1 | 'single',
20 | 'prettify' => false,
21 | 'hasGrid' => true,
22 | ];
23 |
24 | public function render()
25 | {
26 | $option = json_encode($this->options);
27 |
28 | $this->script = "$('{$this->getElementClassSelector()}').ionRangeSlider($option);";
29 |
30 | return parent::render();
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/Console/stubs/extension/service-provider.stub:
--------------------------------------------------------------------------------
1 | views()) {
19 | $this->loadViewsFrom($views, ':base_package');
20 | }
21 |
22 | if ($this->app->runningInConsole() && $assets = $extension->assets()) {
23 | $this->publishes(
24 | [$assets => public_path('vendor/:package')],
25 | ':base_package'
26 | );
27 | }
28 |
29 | $this->app->booted(function () {
30 | :class_name::routes(__DIR__.'/../routes/web.php');
31 | });
32 | }
33 | }
--------------------------------------------------------------------------------
/src/Grid/Displayers/ProgressBar.php:
--------------------------------------------------------------------------------
1 | map(function ($style) {
10 | return 'progress-bar-'.$style;
11 | })->implode(' ');
12 |
13 | $this->value = (int) $this->value;
14 |
15 | return <<
17 | {$this->value}%
18 |
22 |
23 | EOT;
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/pl.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pl",[],function(){var e=["znak","znaki","znaków"],t=["element","elementy","elementów"],n=function(t,n){if(t===1)return n[0];if(t>1&&t<=4)return n[1];if(t>=5)return n[2]};return{errorLoading:function(){return"Nie można załadować wyników."},inputTooLong:function(t){var r=t.input.length-t.maximum;return"Usuń "+r+" "+n(r,e)},inputTooShort:function(t){var r=t.minimum-t.input.length;return"Podaj przynajmniej "+r+" "+n(r,e)},loadingMore:function(){return"Trwa ładowanie…"},maximumSelected:function(e){return"Możesz zaznaczyć tylko "+e.maximum+" "+n(e.maximum,t)},noResults:function(){return"Brak wyników"},searching:function(){return"Trwa wyszukiwanie…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/src/Grid/Concerns/HasFooter.php:
--------------------------------------------------------------------------------
1 | footer;
26 | }
27 |
28 | $this->footer = $closure;
29 |
30 | return $this;
31 | }
32 |
33 | /**
34 | * Render grid footer.
35 | *
36 | * @return string
37 | */
38 | public function renderFooter()
39 | {
40 | if (!$this->footer) {
41 | return '';
42 | }
43 |
44 | return (new Footer($this))->render();
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/src/Traits/AdminBuilder.php:
--------------------------------------------------------------------------------
1 | =2&&e%10<=4&&(e%100<12||e%100>14)?n:r}return{errorLoading:function(){return"Preuzimanje nije uspelo."},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Obrišite "+n+" simbol";return r+=e(n,"","a","a"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Ukucajte bar još "+n+" simbol";return r+=e(n,"","a","a"),r},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(t){var n="Možete izabrati samo "+t.maximum+" stavk";return n+=e(t.maximum,"u","e","i"),n},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/src/Form/Field/RadioButton.php:
--------------------------------------------------------------------------------
1 | addScript();
32 |
33 | $this->addCascadeScript();
34 |
35 | $this->addVariables([
36 | 'options' => $this->options,
37 | 'checked' => $this->checked,
38 | ]);
39 |
40 | return parent::fieldRender();
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/uk.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/uk",[],function(){function e(e,t,n,r){return e%100>10&&e%100<15?r:e%10===1?t:e%10>1&&e%10<5?n:r}return{errorLoading:function(){return"Неможливо завантажити результати"},inputTooLong:function(t){var n=t.input.length-t.maximum;return"Будь ласка, видаліть "+n+" "+e(t.maximum,"літеру","літери","літер")},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Будь ласка, введіть "+t+" або більше літер"},loadingMore:function(){return"Завантаження інших результатів…"},maximumSelected:function(t){return"Ви можете вибрати лише "+t.maximum+" "+e(t.maximum,"пункт","пункти","пунктів")},noResults:function(){return"Нічого не знайдено"},searching:function(){return"Пошук…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/sr-Cyrl.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sr-Cyrl",[],function(){function e(e,t,n,r){return e%10==1&&e%100!=11?t:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?n:r}return{errorLoading:function(){return"Преузимање није успело."},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Обришите "+n+" симбол";return r+=e(n,"","а","а"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Укуцајте бар још "+n+" симбол";return r+=e(n,"","а","а"),r},loadingMore:function(){return"Преузимање још резултата…"},maximumSelected:function(t){var n="Можете изабрати само "+t.maximum+" ставк";return n+=e(t.maximum,"у","е","и"),n},noResults:function(){return"Ништа није пронађено"},searching:function(){return"Претрага…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/src/Grid/Concerns/CanFixColumns.php:
--------------------------------------------------------------------------------
1 | fixColumns = new FixColumns($this, $head, $tail);
22 |
23 | $this->rendering($this->fixColumns->apply());
24 | }
25 |
26 | /**
27 | * @return Collection
28 | */
29 | public function leftVisibleColumns()
30 | {
31 | return $this->fixColumns->leftColumns();
32 | }
33 |
34 | /**
35 | * @return Collection
36 | */
37 | public function rightVisibleColumns()
38 | {
39 | return $this->fixColumns->rightColumns();
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/docs/en/extension-scheduling.md:
--------------------------------------------------------------------------------
1 | # Task scheduling
2 |
3 | This tool is a web interface for manage Laravel's scheduled tasks
4 |
5 | 
6 |
7 | ## Installation
8 |
9 | ```
10 | $ composer require laravel-admin-ext/scheduling -vvv
11 |
12 | $ php artisan admin:import scheduling
13 | ```
14 |
15 | Then open `http://localhost/admin/scheduling`
16 |
17 | ## Add tasks
18 |
19 | Open `app/Console/Kernel.php`, try adding two scheduled tasks:
20 |
21 | ```php
22 | class Kernel extends ConsoleKernel
23 | {
24 | protected function schedule(Schedule $schedule)
25 | {
26 | $schedule->command('inspire')->everyTenMinutes();
27 |
28 | $schedule->command('route:list')->dailyAt('02:00');
29 | }
30 | }
31 |
32 | ```
33 |
34 | And then you can see the tasks with details in the page, and you can also directly run these two tasks in the page.
35 |
--------------------------------------------------------------------------------
/resources/views/form/input.blade.php:
--------------------------------------------------------------------------------
1 |
33 |
--------------------------------------------------------------------------------
/resources/assets/AdminLTE/plugins/select2/i18n/ru.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ru",[],function(){function e(e,t,n,r){return e%10<5&&e%10>0&&e%100<5||e%100>20?e%10>1?n:t:r}return{errorLoading:function(){return"Невозможно загрузить результаты"},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Пожалуйста, введите на "+n+" символ";return r+=e(n,"","a","ов"),r+=" меньше",r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Пожалуйста, введите еще хотя бы "+n+" символ";return r+=e(n,"","a","ов"),r},loadingMore:function(){return"Загрузка данных…"},maximumSelected:function(t){var n="Вы можете выбрать не более "+t.maximum+" элемент";return n+=e(t.maximum,"","a","ов"),n},noResults:function(){return"Совпадений не найдено"},searching:function(){return"Поиск…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/resources/views/grid/inline-edit/input.blade.php:
--------------------------------------------------------------------------------
1 | @extends('admin::grid.inline-edit.comm')
2 |
3 | @section('field')
4 |
5 | @endsection
6 |
7 | @section('assert')
8 |
21 |
22 | {{--after submit--}}
23 |
28 | @endsection
29 |
30 |
31 |
--------------------------------------------------------------------------------
/src/Console/stubs/step-form.stub:
--------------------------------------------------------------------------------
1 | all());
27 |
28 | admin_success('Processed successfully.');
29 |
30 | return $this->next($request->all());
31 | }
32 |
33 | /**
34 | * Build a form here.
35 | */
36 | public function form()
37 | {
38 | $this->text('name')->rules('required');
39 | $this->email('email')->rules('email');
40 | $this->datetime('created_at');
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/src/Grid/Displayers/Secret.php:
--------------------------------------------------------------------------------
1 | addScript();
12 |
13 | $dots = str_repeat('*', $dotCount);
14 |
15 | return <<
17 |
18 |
19 | {$dots}
20 | {$this->getValue()}
21 |
22 | HTML;
23 | }
24 |
25 | protected function addScript()
26 | {
27 | $script = <<<'SCRIPT'
28 | $('.secret-wrapper i').click(function () {
29 | $(this).toggleClass('fa-eye fa-eye-slash').parent().find('.secret-placeholder,.secret-content').toggle();
30 | });
31 | SCRIPT;
32 |
33 | Admin::script($script);
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/resources/views/form/radio.blade.php:
--------------------------------------------------------------------------------
1 |
25 |
--------------------------------------------------------------------------------
/resources/views/dashboard/title.blade.php:
--------------------------------------------------------------------------------
1 |
27 |
28 |
29 | Laravel-admin
30 |
31 |
--------------------------------------------------------------------------------
/resources/views/form/radiobutton.blade.php:
--------------------------------------------------------------------------------
1 |
21 |
--------------------------------------------------------------------------------
/src/Actions/Interactor/Interactor.php:
--------------------------------------------------------------------------------
1 | action = $action;
33 | }
34 |
35 | /**
36 | * @return mixed
37 | */
38 | abstract public function addScript();
39 | }
40 |
--------------------------------------------------------------------------------
/src/Grid/Filter/Like.php:
--------------------------------------------------------------------------------
1 | column);
29 |
30 | if (is_array($value)) {
31 | $value = array_filter($value);
32 | }
33 |
34 | if (is_null($value) || empty($value)) {
35 | return;
36 | }
37 |
38 | $this->value = $value;
39 |
40 | $expr = str_replace('{value}', $this->value, $this->exprFormat);
41 |
42 | return $this->buildCondition($this->column, $this->operator, $expr);
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/resources/assets/bootstrap-fileinput/js/plugins/canvas-to-blob.min.js:
--------------------------------------------------------------------------------
1 | !function(a){"use strict";var b=a.HTMLCanvasElement&&a.HTMLCanvasElement.prototype,c=a.Blob&&function(){try{return Boolean(new Blob)}catch(a){return!1}}(),d=c&&a.Uint8Array&&function(){try{return 100===new Blob([new Uint8Array(100)]).size}catch(a){return!1}}(),e=a.BlobBuilder||a.WebKitBlobBuilder||a.MozBlobBuilder||a.MSBlobBuilder,f=(c||e)&&a.atob&&a.ArrayBuffer&&a.Uint8Array&&function(a){var b,f,g,h,i,j;for(b=a.split(",")[0].indexOf("base64")>=0?atob(a.split(",")[1]):decodeURIComponent(a.split(",")[1]),f=new ArrayBuffer(b.length),g=new Uint8Array(f),h=0;h
2 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | @foreach($envs as $env)
18 |
19 | {{ $env['name'] }}
20 | {{ $env['value'] }}
21 |
22 | @endforeach
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/resources/assets/flatpickr/dist/shortcut-buttons-flatpickr/themes/light.min.css:
--------------------------------------------------------------------------------
1 | .shortcut-buttons-flatpickr-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:5px}.shortcut-buttons-flatpickr-wrapper>.shortcut-buttons-flatpickr-label{-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:0 5px}.shortcut-buttons-flatpickr-wrapper>.shortcut-buttons-flatpickr-buttons{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.shortcut-buttons-flatpickr-buttons>.shortcut-buttons-flatpickr-button{margin:2px}.light.shortcut-buttons-flatpickr-wrapper{background-color:#eceef1;color:#5a6171}
--------------------------------------------------------------------------------
/src/Grid/Displayers/Image.php:
--------------------------------------------------------------------------------
1 | value instanceof Arrayable) {
13 | $this->value = $this->value->toArray();
14 | }
15 |
16 | return collect((array) $this->value)->filter()->map(function ($path) use ($server, $width, $height) {
17 | if (url()->isValidUrl($path) || strpos($path, 'data:image') === 0) {
18 | $src = $path;
19 | } elseif ($server) {
20 | $src = rtrim($server, '/').'/'.ltrim($path, '/');
21 | } else {
22 | $src = Storage::disk(config('admin.upload.disk'))->url($path);
23 | }
24 |
25 | return " ";
26 | })->implode(' ');
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/resources/views/filter/text.blade.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/resources/views/form/belongsto.blade.php:
--------------------------------------------------------------------------------
1 |
29 |
--------------------------------------------------------------------------------
/src/Console/ControllerCommand.php:
--------------------------------------------------------------------------------
1 | argument('model');
31 | }
32 |
33 | /**
34 | * @throws \ReflectionException
35 | *
36 | * @return string
37 | */
38 | protected function getControllerName()
39 | {
40 | $name = (new \ReflectionClass($this->modelName))->getShortName();
41 |
42 | return $name.'Controller';
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/src/Console/PublishCommand.php:
--------------------------------------------------------------------------------
1 | option('force');
31 | $options = ['--provider' => 'Encore\Admin\AdminServiceProvider'];
32 | if ($force == true) {
33 | $options['--force'] = true;
34 | }
35 | $this->call('vendor:publish', $options);
36 | $this->call('view:clear');
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/src/Grid/Tools/CreateButton.php:
--------------------------------------------------------------------------------
1 | grid = $grid;
22 | }
23 |
24 | /**
25 | * Render CreateButton.
26 | *
27 | * @return string
28 | */
29 | public function render()
30 | {
31 | if (!$this->grid->showCreateBtn()) {
32 | return '';
33 | }
34 |
35 | $new = trans('admin.new');
36 |
37 | return <<
40 |
41 | {$new}
42 |
43 |
44 |
45 | EOT;
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/docs/zh/extension-config.md:
--------------------------------------------------------------------------------
1 | # 配置管理
2 |
3 | 这个工具将配置数据存在数据库中,然后在能在Laravel中能像普通配置一样使用
4 |
5 | 
6 |
7 | ## 安装
8 |
9 | ```
10 | $ composer require laravel-admin-ext/config
11 |
12 | $ php artisan migrate
13 | ```
14 |
15 | 打开`app/Providers/AppServiceProvider.php`, 在`boot`方法中添加`Config::load();`:
16 |
17 | ```php
18 | title('Dashboard')
17 | ->description('Description...')
18 | ->row(Dashboard::title())
19 | ->row(function (Row $row) {
20 |
21 | $row->column(4, function (Column $column) {
22 | $column->append(Dashboard::environment());
23 | });
24 |
25 | $row->column(4, function (Column $column) {
26 | $column->append(Dashboard::extensions());
27 | });
28 |
29 | $row->column(4, function (Column $column) {
30 | $column->append(Dashboard::dependencies());
31 | });
32 | });
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/resources/views/filter/datetime.blade.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------