From 12618e20279f7b6b2769709f3efed65907da186c Mon Sep 17 00:00:00 2001 From: Sam Minnee Date: Fri, 9 Mar 2012 16:50:05 +1300 Subject: [PATCH] API CHANGE: Added targetFragment argument to GridFieldAddExistingAutocompleter, so that its location can be changed. Updated CSS and HTML to allow for this. --- css/GridField.css | 2 ++ .../GridFieldAddExistingAutocompleter.php | 17 +++++++++++++---- scss/GridField.scss | 9 +++++++++ .../GridFieldAddExistingAutocompleter.ss | 2 +- 4 files changed, 25 insertions(+), 5 deletions(-) diff --git a/css/GridField.css b/css/GridField.css index 5fbbdd8b8..74d34fe2b 100644 --- a/css/GridField.css +++ b/css/GridField.css @@ -2,6 +2,8 @@ .cms .ss-gridfield > div { margin-bottom: 35px; } .cms .ss-gridfield[data-selectable] tr.ui-selected, .cms .ss-gridfield[data-selectable] tr.ui-selecting { background: #FFFAD6 !important; } .cms .ss-gridfield[data-selectable] td { cursor: pointer; } +.cms .ss-gridfield .add-existing-autocompleter { width: 500px; } +.cms .ss-gridfield .add-existing-autocompleter input.relation-search { width: 380px; } .cms table.ss-gridfield-table { display: table; box-shadow: none; padding: 0; border-collapse: separate; border-bottom: 0 none; width: 100%; } .cms table.ss-gridfield-table thead { color: #1d2224; background: transparent; } .cms table.ss-gridfield-table thead tr.filter-header .fieldgroup { max-width: 512px; } diff --git a/forms/gridfield/GridFieldAddExistingAutocompleter.php b/forms/gridfield/GridFieldAddExistingAutocompleter.php index 04f81e832..58e9b5611 100755 --- a/forms/gridfield/GridFieldAddExistingAutocompleter.php +++ b/forms/gridfield/GridFieldAddExistingAutocompleter.php @@ -15,7 +15,12 @@ class GridFieldAddExistingAutocompleter implements GridField_HTMLProvider, GridF * @var string $itemClass */ protected $itemClass = 'GridFieldAddExistingAutocompleter'; - + + /** + * The HTML fragment to write this component into + */ + protected $targetFragment; + /** * Which columns that should be used for doing a "StartsWith" search. * If multiple fields are provided, the filtering is performed non-exclusive. @@ -40,7 +45,8 @@ class GridFieldAddExistingAutocompleter implements GridField_HTMLProvider, GridF * * @param array $searchFields Which fields on the object in the list should be searched */ - public function __construct($searchFields = null) { + public function __construct($targetFragment = 'before', $searchFields = null) { + $this->targetFragment = $targetFragment; $this->searchFields = (array)$searchFields; } @@ -67,7 +73,7 @@ class GridFieldAddExistingAutocompleter implements GridField_HTMLProvider, GridF $findAction = new GridField_FormAction($gridField, 'gridfield_relationfind', _t('GridField.Find', "Find"), 'find', 'find'); $findAction->setAttribute('data-icon', 'relationfind'); - $addAction = new GridField_FormAction($gridField, 'gridfield_relationadd', _t('GridField.LinkExisting', "Link Exisiting"), 'addto', 'addto'); + $addAction = new GridField_FormAction($gridField, 'gridfield_relationadd', _t('GridField.LinkExisting', "Link Existing"), 'addto', 'addto'); $addAction->setAttribute('data-icon', 'chain--plus'); // If an object is not found, disable the action @@ -78,7 +84,10 @@ class GridFieldAddExistingAutocompleter implements GridField_HTMLProvider, GridF $forTemplate->Fields->push($searchField); $forTemplate->Fields->push($findAction); $forTemplate->Fields->push($addAction); - return array('before' => $forTemplate->renderWith($this->itemClass)); + + return array( + $this->targetFragment => $forTemplate->renderWith($this->itemClass) + ); } /** diff --git a/scss/GridField.scss b/scss/GridField.scss index cd5aa8b73..3df89a5e2 100644 --- a/scss/GridField.scss +++ b/scss/GridField.scss @@ -53,6 +53,15 @@ $gf_grid_x: 16px; } } } + + .ss-gridfield { + .add-existing-autocompleter { + input.relation-search { + width: 380px; + } + width: 500px; + } + } table.ss-gridfield-table { display: table; diff --git a/templates/Includes/GridFieldAddExistingAutocompleter.ss b/templates/Includes/GridFieldAddExistingAutocompleter.ss index f50e6385f..21fc9ad93 100644 --- a/templates/Includes/GridFieldAddExistingAutocompleter.ss +++ b/templates/Includes/GridFieldAddExistingAutocompleter.ss @@ -1,4 +1,4 @@ -
<% control Fields %> +
<% control Fields %> $Field <% end_control %>
\ No newline at end of file