Skip to content

Commit

Permalink
Merge commit '269d3c1f72ae0b74def636fe5d84e4064e630b41'
Browse files Browse the repository at this point in the history
  • Loading branch information
butschster committed Mar 11, 2017
2 parents b864c9f + 269d3c1 commit ed91663
Show file tree
Hide file tree
Showing 240 changed files with 9,986 additions and 3,454 deletions.
5 changes: 3 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,18 +1,19 @@
language: php

php:
- 5.5
- 5.6
- 7.0
- nightly
- hhvm

allow_failures:
- php: nightly

before_script:
- travis_retry composer self-update

script:
- vendor/bin/phpunit

install:
- travis_retry composer install --no-interaction --prefer-dist

Expand Down
258 changes: 258 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,258 @@
# Release Notes

## [Unreleased]

### Changed
* Добавлен колбек на сохранение файлов (читать в документации)
```php
AdminFormElement::images('some_images', "Some Label")
...
->setSaveCallback(function ($file, $path, $filename, $settings) use ($id) {
$result = $youimage;

return ['path' => $result['url'], 'value' => $result['path|url']];
}),
```
* Исправлена проблема с заменой контроллера для раздела для Laravel версии > 5.2
* Перенос интерфейсов `SleepingOwl\Admin\Contracts\RepositoryInterface` и `SleepingOwl\Admin\Contracts\TreeRepositoryInterface` в директорию `SleepingOwl\Admin\Contracts\Repositories`
* Замена название директории `src\Repository` в `src\Repositories`
* Добавлена поддержка Laravel 5.4
* В конструктор класса раздела добавлен еще один обязательный параметр `Application $app`

```php
public function __construct(\Illuminate\Contracts\Foundation\Application $app, $class)
{
...
}
```

* Исправлена проблема с использованием Policy в классах разделов.

* Глобальный рефакторинг и структурирование кода.

* Класс шаблона теперь ответчает за отображение хлебных крошек, meta и навгации
* Класс `Admin` стал более системным и центральным. В него вынесены регистрируемые сервис провайдеры и алиасы
сервис контейнеров.
https://github.com/LaravelRUS/SleepingOwlAdmin/commit/43e24a7b43d0429283024e9b18c3c3dbb5207b65

Алиасы для сервис контейнеров
```php
[
'sleeping_owl' => ['SleepingOwl\Admin\Admin', 'SleepingOwl\Admin\Contracts\AdminInterface'],
'sleeping_owl.template' => ['SleepingOwl\Admin\Contracts\Template\TemplateInterface'],
'sleeping_owl.breadcrumbs' => ['SleepingOwl\Admin\Contracts\Template\Breadcrumbs'],
'sleeping_owl.widgets' => ['SleepingOwl\Admin\Contracts\Widgets\WidgetsRegistryInterface', 'SleepingOwl\Admin\Widgets\WidgetsRegistry'],
'sleeping_owl.message' => ['SleepingOwl\Admin\Widgets\Messages\MessageStack'],
'sleeping_owl.navigation' => ['SleepingOwl\Admin\Navigation', 'SleepingOwl\Admin\Contracts\Navigation\NavigationInterface'],
'sleeping_owl.wysiwyg' => ['SleepingOwl\Admin\Wysiwyg\Manager', 'SleepingOwl\Admin\Contracts\Wysiwyg\WysiwygMangerInterface'],
'sleeping_owl.meta' => ['assets.meta', 'SleepingOwl\Admin\Contracts\Template\MetaInterface', 'SleepingOwl\Admin\Templates\Meta'],
]
```

* Структурирование интерфейсов.

```bash
SleepingOwl\Admin\Contracts\ColumnInterface -> SleepingOwl\Admin\Contracts\Display\ColumnInterface`
SleepingOwl\Admin\Contracts\DisplayInterface -> SleepingOwl\Admin\Contracts\Display\DisplayInterface
SleepingOwl\Admin\Contracts\ActionInterface -> SleepingOwl\Admin\Contracts\Display\Extension\ActionInterface
SleepingOwl\Admin\Contracts\ColumnFilterInterface -> SleepingOwl\Admin\Contracts\Display\Extension\ColumnFilterInterface
SleepingOwl\Admin\Contracts\FilterInterface -> SleepingOwl\Admin\Contracts\Display\Extension\FilterInterface
SleepingOwl\Admin\Contracts\NamedColumnInterface -> SleepingOwl\Admin\Contracts\Display\NamedColumnInterface
SleepingOwl\Admin\Contracts\FormButtonsInterface -> SleepingOwl\Admin\Contracts\Form\FormButtonsInterface
SleepingOwl\Admin\Contracts\FormElementInterface -> SleepingOwl\Admin\Contracts\Form\FormElementInterface
SleepingOwl\Admin\Contracts\FormInterface -> SleepingOwl\Admin\Contracts\Form\FormInterface
```

* Переделана инициализация хлебных крошек
Для лучшей совместимости было принято решение об отказе от сервис провайдера `DaveJamesMiller\Breadcrumbs\ServiceProvider`, т.к.
при испльзовании этого сервис провайдера была проблема с использованием пакета в своем приложении.
Для использования пакета в своем приложении вы должны подключать самостоятельно сервис провайдер `DaveJamesMiller\Breadcrumbs\ServiceProvider`
и регистрировать при необходимости фасад.

* Вынос логики роутов отдельных компонентов из анонимных функций в контроллеры для возможности кеширования роутов.
* Phpunit version `~4.1 -> ~5.0`


### Added

* Collection `SleepingOwl\Admin\Form\FormElementsCollection`
* Collection `SleepingOwl\Admin\Display\DisplayTabsCollection`
* Collection `SleepingOwl\Admin\Display\ExtensionCollection`
* Interface `SleepingOwl\Admin\Contracts\WithModel`
* Admin Element Factories

```php
// Display Column Filters
'sleeping_owl.column_filter' => SleepingOwl\Admin\Contracts\Display\DisplayColumnFilterFactoryInterface::class;

// Displays
'sleeping_owl.display' => SleepingOwl\Admin\Contracts\Display\DisplayFactoryInterface::class;

// Display Columns
'sleeping_owl.table.column' => SleepingOwl\Admin\Contracts\Display\DisplayColumnFactoryInterface::class;

// Display ColumnEditables
'sleeping_owl.table.column.editable' => SleepingOwl\Admin\Contracts\Display\DisplayColumnEditableFactoryInterface::class;

// Display Filters
'sleeping_owl.display.filter' => SleepingOwl\Admin\Contracts\Display\DisplayFilterFactoryInterface::class;

// Forms
'sleeping_owl.form' => SleepingOwl\Admin\Contracts\Form\FormFactoryInterface::class;

// Form Elements
'sleeping_owl.form.element' => SleepingOwl\Admin\Contracts\Form\FormElementFactoryInterface::class;
```


### Issues

* #377
* #339
* #405
* #410
* #368
* #218
* #404
* #399
* #418
* #438
* #461
* #463
* #473


## 4.74.30

- fixed problem with using Display columns in form
- fixed #255
- fixed #269
- added laravel 5.3 pagination support
- issue #272
- fixed problem with custom validation messages
- pull request #287
- pull request #289
- pull request #291
- pull request #292
- pull request #294
- pull request #296
- fixed #301
- pull request #304
- pull request #312
- pull request #316
- added form element `number` - [Docs](http://sleepingowladmin.ru/docs/form-element#number)
- refactored display control buttons - [Docs](http://sleepingowladmin.ru/docs/columns#control)
- pull request #337 - [Docs](http://sleepingowladmin.ru/docs/form-element#dependentselect)
- refactored Display column ordering

``` php
AdminColumn::custom(function($model)
return $model->first_name.' '.$model->last_name;
})->setOrderable(function($query, $direction) {
$query->orderBy('last_name', $direction);
})

// Или просто передать ключ поля
->setOrderable('last_name')

// Или с помощью класса реализующего интерфейс SleepingOwl\Admin\Contracts\Display\OrderByClauseInterface
->setOrderable(new CustomOrderByClause())
```
- issue #347
- optimized and updated npm packages
- fixed display column filters
- pull request #352
- pull request #355
- pull request #364
- issue #369
- issue #370
- issue #371
- fixed problem with form element helpText
- refactored navigation badges - [Docs](http://sleepingowladmin.ru/docs/menu_configuration#page-badge)

Также обновлена документация на русском языке. http://sleepingowladmin.ru/docs


## 4.60.13

- fixed problem with reordering tree list
- fixed problem with using Display columns in form
- fixed problem with ordering datatable by date field
- fixed bug with using several wysiwyg filelds
- fixed problem with ModelConfiguration events `updating` and `creating`. Added new event `saving`
- fixed multiselect template
- fixed problem with display placable extensions
- added additional parameters to DisplayTab constructor
- fixed problem with console command `route:list` #263
- fix #243
- fix #248
- pull request #246
- pull request #251

**After update:**
`php artisan vendor:publish --tag=assets --force`


## 4.60.0

- use webpack for javascript building
- use vuejs
- Fixed datatables range search
- Refactoring form elements - `image`, `images` and `file`. Use vuejs to render fields data
- Replaced flowjs with dropbox
- Replaced bootbox with sweetalets
- Added confirm dialog for tree control
- Wysiwyg Editor config array replaced to `Config\Repository`
- Added javascript modules system
- issue #237

**After update:**
`php artisan vendor:publish --tag=assets --force`


## 4.55.51

- fix #207
- pull request #208
- pull request #210
- pull request #211
- fix #212
- pull request #215
- pull request #216
- pull request #224
- pull request #230
- pull request #231
- new element `AdminForm::elements`
- Improvements of form image, images and file elements .

You can use validators for files

``` php
AdminFormElement::image(...)->maxSize('2028') // kilobytes
AdminFormElement::image(...)->minSize('1024') // kilobytes
AdminFormElement::image(...)->addValidationRule('mimes:....') //
AdminFormElement::image(...)->addValidationRule('dimensions:min_width=100,min_height=200') // https://laravel.com/docs/5.2/validation#rule-dimensions
// etc
```
- Add new console command `sleepingowl:section:provider`
- Update Ukraine language
- Fix problem with searching page by id


## 4.52.36

- Form panel refactoring
https://github.com/LaravelRUS/SleepingOwlAdmin-docs/blob/master/form.md#panel
- #188
- #196
- #198
- #201
- #202
- #203
- Extend `SleepingOwl\Admin\Display\Column\Link` class from `SleepingOwl\Admin\Display\Column\Url` class. Add Link attributes to url class
- Add new interface Placable for display extensions with custom placement https://github.com/LaravelRUS/SleepingOwlAdmin-docs/blob/master/displays.md#Расширение-таблиц
- Add ordering for display extensions
- Fix html for `tabbed` form
- Added tabs support in forms https://github.com/LaravelRUS/SleepingOwlAdmin-docs/blob/master/form.md#Табы
- Make tree reorder route customizable

13 changes: 7 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
![bg](https://cloud.githubusercontent.com/assets/773481/14028746/24d7efa8-f20f-11e5-8e38-3d264739f0aa.png)

## Laravel 5.* Admin Module
## Laravel >=5.2 Admin Module

[![Build Status](https://travis-ci.org/LaravelRUS/SleepingOwlAdmin.svg?branch=development)](https://travis-ci.org/LaravelRUS/SleepingOwlAdmin)
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/LaravelRUS/SleepingOwlAdmin/badges/quality-score.png?b=development)](https://scrutinizer-ci.com/g/LaravelRUS/SleepingOwlAdmin/?branch=development)
[![StyleCI](https://styleci.io/repos/52141393/shield?branch=development)](https://styleci.io/repos/52141393)
[![Join the chat at https://gitter.im/LaravelRUS/SleepingOwlAdmin](https://badges.gitter.im/LaravelRUS/SleepingOwlAdmin.svg)](https://gitter.im/LaravelRUS/SleepingOwlAdmin?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Latest Stable Version](https://poser.pugx.org/laravelrus/sleepingowl/v/stable)](https://packagist.org/packages/laravelrus/sleepingowl)
Expand All @@ -15,6 +16,11 @@ SleepingOwl Admin is an administrative interface builder for Laravel.

Official site: [http://sleepingowladmin.ru](http://sleepingowladmin.ru)

## Requirements

- php >= 5.6
- Laravel >= 5.2
- Capable hands

## Documentation

Expand All @@ -37,7 +43,6 @@ You can download the demo project at https://github.com/SleepingOwlAdmin/demo

```
"require": {
"php": ">=5.5.9",
...
"laravelrus/sleepingowl": "4.*@dev"
},
Expand Down Expand Up @@ -71,10 +76,6 @@ $ php artisan sleepingowl:install

### Installation

- After all actions: open `config/sleeping_owl.php` and change `'middleware' => ['web']` to `'middleware' => []`

---

## Authentication
By default, admin module uses Laravel authentication.

Expand Down
7 changes: 4 additions & 3 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@
}
],
"require": {
"php": ">=5.5.9",
"laravel/framework": "5.*",
"php": ">=5.6.4",
"laravel/framework": "~5.2",
"kodicomponents/support": "0.*",
"kodicomponents/navigation": "0.*",
"doctrine/dbal": "~2.3",
Expand All @@ -41,7 +41,8 @@
},
"autoload": {
"psr-4": {
"SleepingOwl\\Admin\\": "src/"
"SleepingOwl\\Admin\\": "src/",
"SleepingOwl\\Tests\\": "tests/"
}
},
"autoload-dev": {
Expand Down
4 changes: 2 additions & 2 deletions config/sleeping_owl.php
Original file line number Diff line number Diff line change
Expand Up @@ -169,11 +169,10 @@
// Components
'Assets' => KodiCMS\Assets\Facades\Assets::class,
'PackageManager' => KodiCMS\Assets\Facades\PackageManager::class,
'Meta' => KodiCMS\Assets\Facades\Meta::class,
'Meta' => KodiCMS\Assets\Facades\Meta::class, // todo избавиться
'Form' => Collective\Html\FormFacade::class,
'HTML' => Collective\Html\HtmlFacade::class,
'WysiwygManager' => SleepingOwl\Admin\Facades\WysiwygManager::class,
'Breadcrumbs' => DaveJamesMiller\Breadcrumbs\Facade::class,
'MessagesStack' => SleepingOwl\Admin\Facades\MessageStack::class,

// Presenters
Expand All @@ -187,5 +186,6 @@
'AdminForm' => SleepingOwl\Admin\Facades\Form::class,
'AdminFormElement' => SleepingOwl\Admin\Facades\FormElement::class,
'AdminDisplay' => SleepingOwl\Admin\Facades\Display::class,
'AdminWidgets' => SleepingOwl\Admin\Facades\Widgets::class,
],
];
2 changes: 1 addition & 1 deletion phpunit.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
syntaxCheck="false"
>
<testsuites>
<testsuite name="Package Test Suite">
<testsuite name="SleepingOwlAdmin Test Suite">
<directory>./tests/</directory>
</testsuite>
</testsuites>
Expand Down
20 changes: 8 additions & 12 deletions public/default/css/admin-app.css

Large diffs are not rendered by default.

52 changes: 26 additions & 26 deletions public/default/js/admin-app.js

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions resources/assets.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@ function resources_url($path)
|--------------------------------------------------------------------------
*/

WysiwygManager::register('ckeditor')
$this->app['sleeping_owl.wysiwyg']->register('ckeditor')
->js(null, '//cdn.ckeditor.com/4.5.7/standard/ckeditor.js', ['jquery']);

WysiwygManager::register('tinymce')
$this->app['sleeping_owl.wysiwyg']->register('tinymce')
->js(null, '//cdn.tinymce.com/4/tinymce.min.js', ['jquery']);

WysiwygManager::register('simplemde', new \SleepingOwl\Admin\Wysiwyg\MarkdownFilter())
$this->app['sleeping_owl.wysiwyg']->register('simplemde', new \SleepingOwl\Admin\Wysiwyg\MarkdownFilter())
->js(null, '//cdn.jsdelivr.net/simplemde/latest/simplemde.min.js', ['jquery'])
->css(null, '//cdn.jsdelivr.net/simplemde/latest/simplemde.min.css');
Loading

0 comments on commit ed91663

Please sign in to comment.