mirror of
https://github.com/flarum/core.git
synced 2025-08-05 07:57:46 +02:00
Frontend refactor (#1471)
Refactor Frontend + Asset code - Use Laravel's Filesystem component for asset IO, meaning theoretically assets should be storable on S3 etc. - More reliable checking for asset recompilation when debug mode is on, so you don't have to constantly delete the compiled assets to force a recompile. Should also fix issues with locale JS files being recompiled with the same name and cached. - Remove JavaScript minification, because it will be done by Webpack (exception is for the TextFormatter JS). - Add support for JS sourcemaps. - Separate frontend view and assets completely. This is an important distinction because frontend assets are compiled independent of a request, whereas putting together a view depends on a request. - Bind frontend view/asset factory instances to the container (in service providers) rather than subclassing. Asset and content populators can be added to these factories – these are simply objects that populate the asset compilers or the view with information. - Add RouteHandlerFactory functions that make it easy to hook up a frontend controller with a frontend instance ± some content. - Remove the need for "nojs" - Fix cache:clear command - Recompile assets when settings/enabled extensions change
This commit is contained in:
@@ -11,8 +11,7 @@
|
||||
|
||||
namespace Flarum\Api\Controller;
|
||||
|
||||
use Flarum\Settings\Event\Saved;
|
||||
use Flarum\Settings\Event\Serializing;
|
||||
use Flarum\Settings\Event;
|
||||
use Flarum\Settings\SettingsRepositoryInterface;
|
||||
use Flarum\User\AssertPermissionTrait;
|
||||
use Illuminate\Contracts\Events\Dispatcher;
|
||||
@@ -53,14 +52,16 @@ class SetSettingsController implements RequestHandlerInterface
|
||||
|
||||
$settings = $request->getParsedBody();
|
||||
|
||||
$this->dispatcher->dispatch(new Event\Saving($settings));
|
||||
|
||||
foreach ($settings as $k => $v) {
|
||||
$this->dispatcher->dispatch(new Serializing($k, $v));
|
||||
$this->dispatcher->dispatch(new Event\Serializing($k, $v));
|
||||
|
||||
$this->settings->set($k, $v);
|
||||
|
||||
$this->dispatcher->dispatch(new Saved($k, $v));
|
||||
}
|
||||
|
||||
$this->dispatcher->dispatch(new Event\Saved($settings));
|
||||
|
||||
return new EmptyResponse(204);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user