]> _ Git - fluidbook-toolbox.git/commitdiff
wip #5448 @1.5
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Mon, 12 Sep 2022 17:09:29 +0000 (19:09 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Mon, 12 Sep 2022 17:09:29 +0000 (19:09 +0200)
app/Http/Controllers/Admin/Operations/Tools/SVGSpriteDownload.php [new file with mode: 0644]
app/Models/ToolSVGSprite.php [new file with mode: 0644]
app/SubForms/ToolSVGSpriteIcon.php [new file with mode: 0644]
resources/views/fluidbook_publication/link_editor.blade.php
resources/views/tools/sidebar.blade.php

diff --git a/app/Http/Controllers/Admin/Operations/Tools/SVGSpriteDownload.php b/app/Http/Controllers/Admin/Operations/Tools/SVGSpriteDownload.php
new file mode 100644 (file)
index 0000000..42604ba
--- /dev/null
@@ -0,0 +1,8 @@
+<?php
+
+namespace App\Http\Controllers\Admin\Operations\Tools;
+
+trait SVGSpriteDownload
+{
+
+}
diff --git a/app/Models/ToolSVGSprite.php b/app/Models/ToolSVGSprite.php
new file mode 100644 (file)
index 0000000..db0198c
--- /dev/null
@@ -0,0 +1,34 @@
+<?php
+
+namespace App\Models;
+
+use App\Http\Controllers\Admin\Operations\Tools\SVGSpriteDownload;
+use App\Models\Base\ToolboxModel;
+use App\SubForms\ToolSVGSpriteIcon;
+use Cubist\Backpack\Magic\Fields\BunchOfFieldsMultiple;
+use Cubist\Backpack\Magic\Fields\Text;
+
+class ToolSVGSprite extends ToolboxModel
+{
+    protected static $_permissionBase = 'tools:svgsprite';
+
+    protected $table = 'tool_sprite';
+
+    protected $_options = ['name' => 'tool-sprite',
+        'singular' => 'sprite',
+        'plural' => 'sprite'];
+
+    protected $_operations = [SVGSpriteDownload::class];
+
+    public function setFields()
+    {
+        parent::setFields();
+
+        $this->addOwnerField();
+
+
+        $this->addField('name', Text::class, __('Nom'), ['column' => true]);
+        $this->addField('prefix', Text::class, __('Préfixe'), ['column' => true]);
+        $this->addField('icons', BunchOfFieldsMultiple::class, __('Icônes'), ['bunch' => ToolSVGSpriteIcon::class, 'edit_label' => __('Edit :icon :name', ['name' => '%iconname','icon'=>'<div class="icon">%svgcode</div>']), 'add_label' => __('Ajouter une icône')]);
+    }
+}
diff --git a/app/SubForms/ToolSVGSpriteIcon.php b/app/SubForms/ToolSVGSpriteIcon.php
new file mode 100644 (file)
index 0000000..9242cc4
--- /dev/null
@@ -0,0 +1,19 @@
+<?php
+
+namespace App\SubForms;
+
+use Cubist\Backpack\Magic\Fields\Code;
+use Cubist\Backpack\Magic\Fields\Text;
+use Cubist\Backpack\Magic\Fields\Textarea;
+use Cubist\Backpack\Magic\SubForm;
+
+class ToolSVGSpriteIcon extends SubForm
+{
+    public function init()
+    {
+        parent::init();
+
+        $this->addField('iconname', Text::class, __('Nom'));
+        $this->addField('svgcode', Code::class, __('SVG'), ['language' => 'xml', 'wrap' => true]);
+    }
+}
index d2f69a6f04fa02587b5345b0df7aa1e67ff808b5..9eea3b4fe848407207ac02952884c0288c75c3d3 100644 (file)
@@ -8,7 +8,9 @@
     <div draggable="false" id="linkeditor">
         <aside id="linkeditor-left"></aside>
         <div id="linkeditor-main">
-            <div draggable="false" id="linkeditor-toolbar"></div>
+            <div draggable="false" id="linkeditor-toolbar">
+                <a href="#" data-icon=""></a>
+            </div>
             <div id="linkeditor-editor">
                 <div draggable="false" id="linkeditor-rulers">
                     <div id="linkeditor-ruler-corner"></div>
index 3d3212cb57f6a68a44538955069623c67d88ad51..9aaf565790ca00fa65c5b780460d1d5e6e35534c 100644 (file)
@@ -29,4 +29,6 @@
     <li class='nav-item'><a class='nav-link' href='{{ backpack_url('tools/favicongen') }}'><i
                 class='nav-icon las la-icons'></i>
             <span>{{__('Générer des favicons')}}</span></a></li>
+    <li class='nav-item'><a class='nav-link' href='{{ backpack_url('tool-sprite') }}'><i class="las la-marker"></i>
+            <span>{{__('SVG Sprites')}}</span></a></li>
 </ul>