<?php namespace Ichynul\IframeTabs; use Encore\Admin\Admin; use Encore\Admin\Extension; use Encore\Admin\Auth\Database\Menu; use Encore\Admin\Auth\Database\Permission; class IframeTabs extends Extension { public $name = 'iframe-tabs'; public $views = __DIR__ . '/../resources/views'; public $assets = __DIR__ . '/../resources/assets'; public static $manifestData = []; /** * {@inheritdoc} */ public static function import() { if ($menu = Menu::where('uri', '/')->first()) { $menu->update(['uri' => 'dashboard']); } if (!Permission::where('slug', 'tabs.dashboard')->first()) { parent::createPermission('Tab-dashboard', 'tabs.dashboard', 'dashboard'); } } public static function fixMinify() { if (!static::isMinify()) { return; } Admin::$baseJs = Admin::$baseCss = Admin::$css = Admin::$js = []; Admin::js(static::getManifestData('js')); Admin::css(static::getManifestData('css')); } public static function isMinify() { if (!isset(Admin::$manifest)) { return false; } if (!config('admin.minify_assets') || !file_exists(public_path(Admin::$manifest))) { return false; } return true; } /** * @param string $key * * @return mixed */ public static function getManifestData($key) { if (!empty(static::$manifestData)) { return static::$manifestData[$key]; } static::$manifestData = json_decode( file_get_contents(public_path(Admin::$manifest)), true ); return static::$manifestData[$key]; } }