diff --git a/README.md b/README.md index e7c48fb..5fc9e3e 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,7 @@ # silverstripe-elemental-basics + +[![Silverstripe Version](https://img.shields.io/badge/Silverstripe-5.1-005ae1.svg?labelColor=white&logoColor=ffffff&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDEuMDkxIDU4LjU1NSIgZmlsbD0iIzAwNWFlMSIgeG1sbnM6dj0iaHR0cHM6Ly92ZWN0YS5pby9uYW5vIj48cGF0aCBkPSJNNTAuMDE1IDUuODU4bC0yMS4yODMgMTQuOWE2LjUgNi41IDAgMCAwIDcuNDQ4IDEwLjY1NGwyMS4yODMtMTQuOWM4LjgxMy02LjE3IDIwLjk2LTQuMDI4IDI3LjEzIDQuNzg2czQuMDI4IDIwLjk2LTQuNzg1IDI3LjEzbC02LjY5MSA0LjY3NmM1LjU0MiA5LjQxOCAxOC4wNzggNS40NTUgMjMuNzczLTQuNjU0QTMyLjQ3IDMyLjQ3IDAgMCAwIDUwLjAxNSA1Ljg2MnptMS4wNTggNDYuODI3bDIxLjI4NC0xNC45YTYuNSA2LjUgMCAxIDAtNy40NDktMTAuNjUzTDQzLjYyMyA0Mi4wMjhjLTguODEzIDYuMTctMjAuOTU5IDQuMDI5LTI3LjEyOS00Ljc4NHMtNC4wMjktMjAuOTU5IDQuNzg0LTI3LjEyOWw2LjY5MS00LjY3NkMyMi40My0zLjk3NiA5Ljg5NC0uMDEzIDQuMTk4IDEwLjA5NmEzMi40NyAzMi40NyAwIDAgMCA0Ni44NzUgNDIuNTkyeiIvPjwvc3ZnPg==)](https://packagist.org/packages/goldfinch/google-maps) + Some useful elemental blocks ## Usefull UNIX console utilities @@ -20,4 +23,4 @@ https://github.com/ogham/exa ### git diff tool with bat code hightlighting (git show) -https://github.com/dandavison/delta \ No newline at end of file +https://github.com/dandavison/delta diff --git a/composer.json b/composer.json index 22e989c..a46d004 100644 --- a/composer.json +++ b/composer.json @@ -13,15 +13,13 @@ }], "minimum-stability": "dev", "require": { - "silverstripe/cms": "^4", + "silverstripe/cms": "^5", "dnadesign/silverstripe-elemental": "*", "dnadesign/silverstripe-elemental-list": "*", - "betterbrief/silverstripe-googlemapfield": "*", "symbiote/silverstripe-gridfieldextensions": "*", "dynamic/silverstripe-elemental-image": "*", "gorriecoe/silverstripe-linkfield": "*", - "a2nt/silverstripe-mapboxfield": "dev-master", - "lekoala/silverstripe-filepond": "*" + "lekoala/silverstripe-filepond": "*" }, "autoload": { "psr-4": { diff --git a/src/Elements/AccordionElement.php b/src/Elements/AccordionElement.php index 95fdaba..6da4783 100755 --- a/src/Elements/AccordionElement.php +++ b/src/Elements/AccordionElement.php @@ -28,14 +28,14 @@ class AccordionElement extends ElementList private static $table_name = 'AccordionElement'; - private static $db = [ - 'OpenFirst' => 'Boolean(0)', - 'KeepOpenned' => 'Boolean(0)', - ]; + private static $db = [ + 'OpenFirst' => 'Boolean(0)', + 'KeepOpenned' => 'Boolean(0)', + ]; - public function getType() + public function getType(): string { - return self::$singular_name; + return _t(__CLASS__ . '.BlockType', self::$singular_name); } public function Accordion() @@ -43,15 +43,15 @@ class AccordionElement extends ElementList return $this->Elements()->renderWith(static::class.'_AccordionArea'); } - public function getCMSFields() - { - $fields = parent::getCMSFields(); + public function getCMSFields() + { + $fields = parent::getCMSFields(); - $fields->addFieldsToTab('Root.Main', [ - CheckboxField::create('OpenFirst', 'Open first accordion element on page load'), - CheckboxField::create('KeepOpenned', 'Keep elements open'), - ]); + $fields->addFieldsToTab('Root.Main', [ + CheckboxField::create('OpenFirst', 'Open first accordion element on page load'), + CheckboxField::create('KeepOpenned', 'Keep elements open'), + ]); - return $fields; - } + return $fields; + } } diff --git a/src/Elements/CustomSnippetElement.php b/src/Elements/CustomSnippetElement.php index 5ec85f2..856936e 100755 --- a/src/Elements/CustomSnippetElement.php +++ b/src/Elements/CustomSnippetElement.php @@ -28,9 +28,9 @@ class CustomSnippetElement extends ElementContent private static $table_name = 'CustomSnippetElement'; - public function getType() + public function getType(): string { - return self::$singular_name; + return _t(__CLASS__ . '.BlockType', self::$singular_name); } public function getCMSFields() diff --git a/src/Elements/InstagramElement.php b/src/Elements/InstagramElement.php index b45998b..e1bf98a 100755 --- a/src/Elements/InstagramElement.php +++ b/src/Elements/InstagramElement.php @@ -45,9 +45,9 @@ class InstagramElement extends BaseElement 'DisplayGallery' => true, ]; - public function getType() + public function getType(): string { - return self::$singular_name; + return _t(__CLASS__ . '.BlockType', self::$singular_name); } /** @@ -89,7 +89,7 @@ class InstagramElement extends BaseElement foreach ($attributes as $name => $value) { if ($value === true) { $value = $name; - } else if (is_scalar($value)) { + } elseif (is_scalar($value)) { $value = (string) $value; } else { $value = json_encode($value); diff --git a/src/Elements/MapElement.php b/src/Elements/MapElement.php deleted file mode 100755 index b3c9d2a..0000000 --- a/src/Elements/MapElement.php +++ /dev/null @@ -1,105 +0,0 @@ -remove('HTML'); - - $tab = $fields->findOrMakeTab('Root.MapPins'); - $tab->setTitle('Description'); - $tab->push(HTMLEditorField::create('HTML', 'Content')); - - $fields->addFieldsToTab('Root.Main', [ - NumericField::create('MapZoom', 'Initial Map Zoom (enter a number from 0 to 24)'), - GridField::create( - 'Locations', - 'Locations', - $this->Locations(), - $cfg = GridFieldConfig_RelationEditor::create(100) - ) - ]); - - $cfg->getComponentByType(GridFieldDataColumns::class)->setFieldFormatting([ - 'ShowAtMap' => static function ($v, $obj) { - return $v ? 'YES' : 'NO'; - } - ]); - $cfg->addComponent(new BulkManager()); - - return $fields; - } - - public static function MapAPIKey(): string - { - $type = self::config()->get('map_type'); - - switch ($type) { - case 'mapbox': - $key = MapboxField::getAccessToken(); - break; - case 'google-maps': - $cfg = Config::inst()->get(GoogleMapField::class, 'default_options'); - $key = $cfg['api_key']; - break; - default: - $key = ''; - break; - } - - return $key; - } -} diff --git a/src/Elements/SidebarElement.php b/src/Elements/SidebarElement.php index a216ef9..c780c66 100755 --- a/src/Elements/SidebarElement.php +++ b/src/Elements/SidebarElement.php @@ -29,6 +29,6 @@ class SidebarElement extends BaseElement public function getType(): string { - return self::$singular_name; + return _t(__CLASS__ . '.BlockType', self::$singular_name); } } diff --git a/src/Elements/TeamMembersElement.php b/src/Elements/TeamMembersElement.php index 3ba2f6b..f9f73b8 100755 --- a/src/Elements/TeamMembersElement.php +++ b/src/Elements/TeamMembersElement.php @@ -25,9 +25,9 @@ class TeamMembersElement extends BaseElement private static $description = 'Displays random Team Members'; - public function getType() + public function getType(): string { - return self::$singular_name; + return _t(__CLASS__ . '.BlockType', self::$singular_name); } public function Members() diff --git a/src/Extensions/BaseElementEx.php b/src/Extensions/BaseElementEx.php index e0977f1..ca5e80e 100755 --- a/src/Extensions/BaseElementEx.php +++ b/src/Extensions/BaseElementEx.php @@ -31,12 +31,15 @@ class BaseElementEx extends DataExtension parent::updateCMSFields($fields); if ($obj->ID) { - $fields->insertBefore(LiteralField::create( - 'AnchorName', - '