]> _ Git - fluidbook-toolbox.git/commitdiff
wip #5401 @1.5
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 30 Jun 2023 16:31:33 +0000 (18:31 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 30 Jun 2023 16:31:33 +0000 (18:31 +0200)
app/Models/FluidbookPublication.php
app/Models/Traits/PublicationSettings.php
app/Models/Traits/PublicationTags.php [new file with mode: 0644]
public/packages/fluidbook/toolbox/css/style.less

index 557b989b8ba0f82aec6a69e390257378a44d69cc..7940f174ef14fb6ef1639349ba834cc75371539e 100644 (file)
@@ -34,6 +34,7 @@ use App\Jobs\FluidbookSocialImage;
 use App\Models\Base\ToolboxSettingsModel;
 use App\Models\Traits\CheckHash;
 use App\Models\Traits\PublicationSettings;
+use App\Models\Traits\PublicationTags;
 use App\Models\Traits\SCORMVersionTrait;
 use App\Slack\Slack;
 use App\SubForms\Link\Base;
@@ -108,6 +109,7 @@ class FluidbookPublication extends ToolboxSettingsModel
 
 
     use PublicationSettings;
+    use PublicationTags;
     use SCORMVersionTrait;
     use CheckHash;
 
@@ -132,6 +134,8 @@ class FluidbookPublication extends ToolboxSettingsModel
     {
         parent::setFields();
 
+        $this->_main();
+
         $this->addField('hash', Hidden::class);
         $this->addField('cid', Hidden::class);
 
@@ -207,6 +211,8 @@ class FluidbookPublication extends ToolboxSettingsModel
         $this->addField('page_numbers', Hidden::class, __('Numérotation'));
         $this->addField('composition', FluidbookComposition::class, __('Composition'), ['non_default_tracking' => false, 'when' => ['composition_fluidbook' => 0]]);
 
+        $this->_tags();
+
         $this->addField('section_theme', FormBigSection::class, __('Thème graphique'));
         $this->addField('theme', \App\Fields\FluidbookTheme::class, __('Thème'), ['non_default_tracking' => false, 'default' => 1161]);
 
index a3cccac2ca22d6480e4f5bab369c68436d68358b..ff27fde7642ca27911cd6da84c0421fac5fb34ed 100644 (file)
@@ -186,9 +186,7 @@ trait PublicationSettings
         ]);
     }
 
-    protected function _description()
-    {
-        $this->addSettingField('section_important', FormSection::class, $this->__('Description de la publication'));
+    protected function _main(){
         $this->addSettingField('title', LongText::class, $this->__('Titre de la publication'), [
             'v2' => '{"type":"text","default":"","editable":true,"label":"\\u00a7!\\u00a7Titre de la publication!\\u00a7!","embed":false}',
         ]);
@@ -196,7 +194,12 @@ trait PublicationSettings
             'v2' => '{"type":"combo","default":"stable","editable":true,"label":"\\u00a7!\\u00a7Version logicielle!\\u00a7!","grade":1,"datas":{"master : git (stable)":"stable","master : local (dev)":"dev","icon-bar : git":"icon-bar|git","icon-bar : local":"icon-bar|local"}}',
             'default' => 'stable',
         ]);
-        $this->addSettingField('mobileVersion', SelectFromArray::class, $this->__('Version mobile'), [
+    }
+
+    protected function _description()
+    {
+        $this->addSettingField('section_important', FormSection::class, $this->__('Description de la publication'));
+        $this->addSettingField('mobileVersion', SelectFromArray::class, $this->__('Format des pages'), [
             'v2' => '{"type":"combo","default":"html5-desktop","editable":true,"label":"\\u00a7!\\u00a7Version mobile!\\u00a7!","grade":3,"datas":{"\\u00a7!\\u00a7Rediriger vers le PDF!\\u00a7!":"pdf","\\u00a7!\\u00a7Version HTML5 recommand\\u00e9e (vecteurs sur desktop)!\\u00a7!":"html5-desktop","\\u00a7!\\u00a7Version HTML5 vecteurs!\\u00a7!":"html5","\\u00a7!\\u00a7Version HTML5 en images!\\u00a7!":"html5-images"}}',
             'options' => [
                 //'pdf' => $this->__('Rediriger vers le PDF'),
diff --git a/app/Models/Traits/PublicationTags.php b/app/Models/Traits/PublicationTags.php
new file mode 100644 (file)
index 0000000..f50b5c6
--- /dev/null
@@ -0,0 +1,83 @@
+<?php
+
+namespace App\Models\Traits;
+
+use Cubist\Backpack\Magic\Fields\Checkbox;
+use Cubist\Backpack\Magic\Fields\FormBigSection;
+use Cubist\Backpack\Magic\Fields\CheckboxMultiple;
+
+trait PublicationTags
+{
+    protected function _tags()
+    {
+        $this->addField('section_tags', FormBigSection::class, __('Tags'), ['can' => 'fluidbook-publication:admin',]);
+        $this->addField('tag_publication_type', CheckboxMultiple::class, __('Type de publication'), ['options' => $this->_publicationTypeOptions(), 'filter' => true, 'can' => 'fluidbook-publication:admin', 'non_default_tracking' => false,]);
+        $this->addField('tag_sector', CheckboxMultiple::class, __('Secteur d\'activité'), ['options' => $this->_sectorOptions(), 'filter' => true, 'can' => 'fluidbook-publication:admin', 'non_default_tracking' => false,]);
+        $this->addField('tag_feature', CheckboxMultiple::class, __('Enrichissements'), ['options' => $this->_featuresOptions(), 'filter' => true, 'can' => 'fluidbook-publication:admin', 'non_default_tracking' => false,]);
+        $this->addField('tag_visualization', CheckboxMultiple::class, __('Mode de visualisation'), ['options' => $this->_visualizationOptions(), "filter" => true, 'can' => 'fluidbook-publication:admin', 'non_default_tracking' => false,]);
+        $this->addField('tag_public', Checkbox::class, __('Public'), ['default' => false, 'non_default_tracking' => false, 'filter' => true, 'can' => 'fluidbook-publication:admin']);
+    }
+
+    protected function _publicationTypeOptions()
+    {
+        return [
+            'brochure' => __('Brochure'),
+            'catalog' => __('Catalogue'),
+            'identity' => __('Charte graphique'),
+            'presskit' => __('Dossier de presse'),
+            'elearning' => __('E-learning'),
+            'technical' => __('Guide, notice, document technique'),
+            'magazine' => __('Magazine, journal'),
+            'portfolio' => __('Portfolio'),
+            'annualreport' => __('Rapport annuel'),
+        ];
+    }
+
+    protected function _sectorOptions()
+    {
+        return [
+            'food' => __('Alimentation, restauration'),
+            'financial' => __('Banque, assurance, finance'),
+            'communication' => __('Communication, création'),
+            'culture' => __('Culture, musées'),
+            'energy' => __('Énergie'),
+            'home' => __('Équipement de la maison'),
+            'school' => __('Formation, école, université'),
+            'realestate' => __('Immobilier'),
+            'industry' => __('Industry'),
+            'toys' => __('Jeux, jouets, loisirs'),
+            'luxury' => __('Luxe'),
+            'healthcare' => __('Médical, pharmacie, recherche'),
+            'tourism' => __('Tourisme, hôtellerie'),
+            'transportation' => __('Transports'),
+        ];
+    }
+
+    protected function _featuresOptions()
+    {
+        return [
+            'secure' => __('Accès sécurisé'),
+            'accessibility' => __('Accéssibilité'),
+            'animation' => __('Animation'),
+            'voiceover' => __('Audiodescription'),
+            'slideshow' => __('Diaporamas'),
+            'ecommerce' => __('E-commerce'),
+            'productlink' => __('Liens produits'),
+            'article' => __('Mode article'),
+            'tabs' => __('Onglets'),
+            'scorm' => __('SCORM / LMS'),
+            'seo' => __('SEO'),
+            'zoomarea' => __('Zone de zoom'),
+        ];
+    }
+
+    protected function _visualizationOptions()
+    {
+        return [
+            'flip' => __('Flip'),
+            'slides' => __('Slides'),
+            'air' => __('Air'),
+            'mobilefirst' => __('Mobile First'),
+        ];
+    }
+}
index abdba961cb60db16cceaed11c1d44ac17e852d55..06c3e0cae48245089145614d78bfd4a773e6544f 100644 (file)
@@ -266,7 +266,7 @@ table.dataTable.table-striped > tbody > tr:nth-of-type(2n+1) {
     background-color: #fff;
 }
 
-table.dataTable th{
+table.dataTable th {
     background-color: #fafafa;
 }
 
@@ -476,9 +476,12 @@ table.dataTable thead > tr > th.sorting_asc::before, table.dataTable thead > tr
 }
 
 table.dataTable thead .sorting::before, table.dataTable thead .sorting::after, table.dataTable thead .sorting_asc::before, table.dataTable thead .sorting_asc::after, table.dataTable thead .sorting_desc::before, table.dataTable thead .sorting_desc::after, table.dataTabl
-
-.fluidbook-title-icon{
+.fluidbook-title-icon {
     font-size: 120%;
 }
 
+[data-name="tag_publication_type"], [data-name="tag_sector"], [data-name="tag_feature"], [data-name="tag_visualization"] {
+    flex: 0 0 25%;
+}
+
 @import 'context-menu';