Skip to content

Commit 1624b3c

Browse files
committed
fix: bump support
1 parent 320e4d9 commit 1624b3c

File tree

10 files changed

+60
-125
lines changed

10 files changed

+60
-125
lines changed

.github/workflows/ci.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
pull_request:
6+
workflow_dispatch:
7+
8+
jobs:
9+
ci:
10+
name: CI
11+
uses: silverstripe/gha-ci/.github/workflows/ci.yml@v1
12+
with:
13+
dynamic_matrix: false
14+
extra_jobs: |
15+
- php: '8.4'
16+
db: mysql80
17+
phpunit: true

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
public/
2+
vendor/
3+
composer.lock

.scrutinizer.yml

Lines changed: 0 additions & 69 deletions
This file was deleted.

README.md

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,17 @@ Uses a plugin for Chosen.js (which is used by SS), [Image-Select](https://github
77

88
## Requirements
99

10-
SilverStripe 4.0+
10+
SilverStripe 6
11+
12+
## Install
13+
14+
```sh
15+
composer require fullscreeninteractive/silverstripe-dropdownimagefield
16+
```
1117

1218
## Usage
1319

20+
1421
Example:
1522

1623
```php
@@ -24,4 +31,4 @@ DropdownImageField::create('LanguageID', 'Select language',
2431

2532
## Notes
2633

27-
This plugin uses a `setTimeout` function with additional parameters. A polyfill is loaded to support IE9 and lower.
34+
This plugin uses a `setTimeout` function with additional parameters.

_config.php

Whitespace-only changes.

_config/config.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
---
22
Name: dropdownimagefield
33
---
4-
54
SilverStripe\Admin\LeftAndMain:
65
extra_requirements_javascript:
7-
- 'fullscreeninteractive/silverstripe-dropdownimagefield:javascript/Polyfill.js'
86
- 'fullscreeninteractive/silverstripe-dropdownimagefield:javascript/ImageSelect.jquery.js'
97
extra_requirements_css:
108
- 'fullscreeninteractive/silverstripe-dropdownimagefield:css/ImageSelect.css'

composer.json

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,21 @@
88
"issues": "http://github.com/fullscreeninteractive/silverstripe-dropdownimagefield/issues"
99
},
1010
"require": {
11-
"silverstripe/framework": "^4 || ^5"
11+
"silverstripe/framework": "^6"
1212
},
1313
"extra": {
1414
"branch-alias": {
15-
"dev-main": "1.x-dev"
15+
"dev-main": "2.x-dev"
1616
},
1717
"expose": [
1818
"css",
1919
"javascript"
2020
]
21+
},
22+
"config": {
23+
"allow-plugins": {
24+
"composer/installers": true,
25+
"silverstripe/vendor-plugin": true
26+
}
2127
}
2228
}

javascript/Polyfill.js

Lines changed: 0 additions & 36 deletions
This file was deleted.

phpcs.xml.dist

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<ruleset name="SilverStripe">
3+
<description>CodeSniffer ruleset for SilverStripe coding conventions.</description>
4+
5+
<rule ref="PSR12" >
6+
<!-- Current exclusions -->
7+
<exclude name="PSR1.Methods.CamelCapsMethodName" />
8+
</rule>
9+
</ruleset>

src/DropdownImageField.php

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
namespace FullscreenInteractive\DropdownImageField;
44

55
use SilverStripe\Forms\DropdownField;
6-
use SilverStripe\View\Requirements;
7-
use SilverStripe\View\ArrayData;
8-
use SilverStripe\ORM\ArrayList;
96
use SilverStripe\ORM\SS_List;
107
use SilverStripe\Forms\FormField;
8+
use SilverStripe\Model\ArrayData;
9+
use SilverStripe\Model\List\ArrayList;
1110

12-
class DropdownImageField extends DropdownField {
11+
class DropdownImageField extends DropdownField
12+
{
1313

1414
protected $keyField = 'ID';
1515

@@ -19,7 +19,8 @@ class DropdownImageField extends DropdownField {
1919

2020
protected $sourceObject;
2121

22-
public function __construct($name, $title, $sourceObject, $keyField = 'ID', $labelField = 'Title', $imageField = 'Image', $value = '', $form = null) {
22+
public function __construct($name, $title, $sourceObject, $keyField = 'ID', $labelField = 'Title', $imageField = 'Image', $value = '', $form = null)
23+
{
2324

2425
$this->keyField = $keyField;
2526
$this->labelField = $labelField;
@@ -31,7 +32,7 @@ public function __construct($name, $title, $sourceObject, $keyField = 'ID', $lab
3132
$this->sourceObject = $sourceObject;
3233
}
3334

34-
public function setSourceObject(SS_List $source)
35+
public function setSourceObject($source)
3536
{
3637
$this->sourceObject = $source;
3738

@@ -45,15 +46,14 @@ public function setImageField($field)
4546
return $this;
4647
}
4748

48-
public function Field($properties = array()) {
49-
50-
$dirName = basename(dirname(dirname(__FILE__)));
49+
public function Field($properties = [])
50+
{
5151
$source = $this->sourceObject;
5252
$options = array();
5353

5454
if ($source) {
5555
if (is_object($source) && $this->hasEmptyDefault) {
56-
$options[] = new ArrayData([
56+
$options[] = ArrayData::create([
5757
'Value' => '',
5858
'Title' => $this->emptyString,
5959
'Image' => ''
@@ -95,7 +95,7 @@ public function Field($properties = array()) {
9595
$disabled = 'disabled';
9696
}
9797

98-
$options[] = new ArrayData([
98+
$options[] = ArrayData::create([
9999
'Title' => $title,
100100
'Value' => $value,
101101
'Image' => $image,
@@ -106,7 +106,7 @@ public function Field($properties = array()) {
106106
}
107107

108108
$properties = array_merge($properties, [
109-
'Options' => new ArrayList($options)
109+
'Options' => ArrayList::create($options)
110110
]);
111111

112112
return FormField::Field($properties);
@@ -118,13 +118,13 @@ public function Field($properties = array()) {
118118
*
119119
* @return array
120120
*/
121-
public function getSourceAsArray() {
121+
public function getSourceAsArray()
122+
{
122123
$source = $this->getSource();
123124
if (is_array($source)) {
124125
return $source;
125126
}
126127

127128
return $source->map($this->keyField, $this->labelField)->toArray();
128129
}
129-
130130
}

0 commit comments

Comments
 (0)