From: Vincent Vanwaelscappel Date: Mon, 13 Jun 2022 17:32:35 +0000 (+0200) Subject: wip #4210 @1 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=4e308f25a78d98cbc9f3dab4c9b9875cced89862;p=fluidbook-toolbox.git wip #4210 @1 --- diff --git a/app/Fields/FluidbookTheme.php b/app/Fields/FluidbookTheme.php index 8ac7318aa..6c08d8a83 100644 --- a/app/Fields/FluidbookTheme.php +++ b/app/Fields/FluidbookTheme.php @@ -4,24 +4,19 @@ namespace App\Fields; -use Cubist\Backpack\Magic\Fields\SelectFromArray; +use Cubist\Backpack\Magic\Fields\SelectFromModel; -class FluidbookTheme extends SelectFromArray +class FluidbookTheme extends SelectFromModel { protected $_adminType = 'fluidbook_theme_selector'; protected $_viewNamespace = 'fields'; - public function getOptions() + public function __construct($attributes) { - return self::getThemeSelectorOptions(); - } - - public static function getThemeSelectorOptions() - { - $res = []; - foreach (\App\Models\FluidbookTheme::orderBy('id', 'DESC')->get() as $theme) { - $res[$theme['id']] = $theme->name . ' (#' . $theme->id . ')'; - } - return $res; + $attributes['optionsmodel'] = \App\Models\FluidbookTheme::class; + $attributes['attribute'] = 'nameAndId'; + $attributes['optionsmodel_orderby'] = 'id'; + $attributes['optionsmodel_orderby_way'] = 'desc'; + parent::__construct($attributes); } } diff --git a/app/Http/Controllers/API/FluidbookThemeAPIController.php b/app/Http/Controllers/API/FluidbookThemeAPIController.php index d162af65f..2719b6916 100644 --- a/app/Http/Controllers/API/FluidbookThemeAPIController.php +++ b/app/Http/Controllers/API/FluidbookThemeAPIController.php @@ -138,8 +138,6 @@ class FluidbookThemeAPIController extends Controller $newtheme->owner = Auth::id(); $newtheme->push(); - copy(GenerateThemePreview::getPreviewPath($id), GenerateThemePreview::getPreviewPath($newtheme->id)); - return $newtheme->id; } diff --git a/app/Jobs/UpdateWS2ThemeTable.php b/app/Jobs/UpdateWS2ThemeTable.php index d0f8da06a..c923da6bb 100644 --- a/app/Jobs/UpdateWS2ThemeTable.php +++ b/app/Jobs/UpdateWS2ThemeTable.php @@ -12,7 +12,7 @@ use Spatie\MediaLibrary\MediaCollections\Models\Media; class UpdateWS2ThemeTable extends Base { - protected $id = 'all'; + protected $id = 'all'; protected $_fileFields = []; protected $_colorFields = []; @@ -70,7 +70,6 @@ class UpdateWS2ThemeTable extends Base $data[] = $this->_handleTheme($theme); $t->where('theme_id', '=', $this->id)->delete(); } -// dd($data); $t->insert($data); } diff --git a/app/Models/FluidbookTheme.php b/app/Models/FluidbookTheme.php index c22d5867d..5187e1b2c 100644 --- a/app/Models/FluidbookTheme.php +++ b/app/Models/FluidbookTheme.php @@ -665,7 +665,9 @@ class FluidbookTheme extends ToolboxModel { if (self::$updateWS2ViewOnChange) { if (null !== $id) { + start_measure('update_theme_table', 'Update ws2 theme'); dispatch(new UpdateWS2ThemeTable($id))->onConnection('sync'); + stop_measure('update_theme_table'); } dispatch(new UpdateWS2ThemeTable('all'))->onQueue('theme'); } @@ -785,4 +787,20 @@ class FluidbookTheme extends ToolboxModel } return ''; } + + public function getNameAndIdAttribute() + { + return $this->getAttribute('name') . ' (#' . $this->getAttribute('id') . ')'; + } + + public function replicate(array $except = null) + { + $currentId = $this->id; + + $res = parent::replicate($except); + $newId = $res->id; + copy(GenerateThemePreview::getPreviewPath($currentId), GenerateThemePreview::getPreviewPath($newId)); + + return $res; + } } diff --git a/resources/views/fields/fluidbook_theme_selector.blade.php b/resources/views/fields/fluidbook_theme_selector.blade.php index 916a76ecc..5767c9b80 100644 --- a/resources/views/fields/fluidbook_theme_selector.blade.php +++ b/resources/views/fields/fluidbook_theme_selector.blade.php @@ -113,7 +113,6 @@ width: 40%; vertical-align: top; padding: 0 0 0 20px; - white-space: normal; } .themeSelector .actions a { diff --git a/resources/views/vendor/backpack/crud/inc/form_save_buttons.blade.php b/resources/views/vendor/backpack/crud/inc/form_save_buttons.blade.php index 13bb34cce..51812594b 100644 --- a/resources/views/vendor/backpack/crud/inc/form_save_buttons.blade.php +++ b/resources/views/vendor/backpack/crud/inc/form_save_buttons.blade.php @@ -59,12 +59,13 @@ return false; }); - $(document).on('click', 'button[type="submit"].btn-success', function () { - $(window).on('unload', function () { + $(window).on('unload', function () { + try { window.parent.crud.table.ajax.reload(); - window.parent.jQuery.featherlight.current().close(); - return true; - }); + } catch (e) { + + } + window.parent.jQuery.featherlight.current().close(); return true; }); });