From 5c8628e7d40c494991d5fe921bc6476d50fb677a Mon Sep 17 00:00:00 2001 From: Tom Rix Date: Tue, 17 Nov 2009 00:16:29 +0000 Subject: [PATCH] MINOR added stubs to allow widgets to use treedropdown fields git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/cms/branches/2.4@91850 467b73ca-7a2a-4603-9d3b-597d59a354a9 --- code/WidgetAreaEditor.php | 8 ++++++-- javascript/WidgetAreaEditor.js | 13 +++++++++++++ templates/WidgetAreaEditor.ss | 2 +- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/code/WidgetAreaEditor.php b/code/WidgetAreaEditor.php index dd4a6d1a..c862df48 100644 --- a/code/WidgetAreaEditor.php +++ b/code/WidgetAreaEditor.php @@ -5,6 +5,10 @@ * @subpackage content */ class WidgetAreaEditor extends FormField { + function __construct($name) { + parent::__construct($name); + } + function FieldHolder() { Requirements::css(CMS_DIR . '/css/WidgetAreaEditor.css'); Requirements::javascript(CMS_DIR . '/javascript/WidgetAreaEditor.js'); @@ -26,7 +30,7 @@ class WidgetAreaEditor extends FormField { function UsedWidgets() { $relationName = $this->name; - $widgets = $this->form->getRecord()->getComponent($relationName)->Widgets(); + $widgets = $this->form->getRecord()->getComponent($relationName)->Items(); return $widgets; } @@ -48,7 +52,7 @@ class WidgetAreaEditor extends FormField { $record->$idName = $widgetarea->ID; - $widgets = $widgetarea->Widgets(); + $widgets = $widgetarea->Items(); // store the field IDs and delete the missing fields // alternatively, we could delete all the fields and re add them diff --git a/javascript/WidgetAreaEditor.js b/javascript/WidgetAreaEditor.js index 02e2deb1..213acdf3 100644 --- a/javascript/WidgetAreaEditor.js +++ b/javascript/WidgetAreaEditor.js @@ -160,6 +160,10 @@ WidgetAreaEditorClass.prototype = { $('usedWidgets-'+this.name).parentNode.parentNode.rewriteWidgetAreaAttributes(); UsedWidget.applyToChildren($('usedWidgets-'+this.name), 'div.Widget'); + // Repply some common form controls + WidgetTreeDropdownField.applyTo('div.usedWidgets .TreeDropdownField'); + + Sortable.create('usedWidgets-SideBar', { tag: 'div', handle: 'handle', @@ -231,6 +235,15 @@ UsedWidget.prototype = { } } +WidgetTreeDropdownField = Class.extend('TreeDropdownField'); +WidgetTreeDropdownField.prototype = { + getName: function() { + return 'Widget_TDF_Endpoint'; + } +} + +WidgetTreeDropdownField.applyTo('div.usedWidgets .TreeDropdownField'); + // Loop over all WidgetAreas and fire 'em up var wAs = $$('.WidgetAreaEditor'); for(var i = 0; i < wAs.length; i++) { diff --git a/templates/WidgetAreaEditor.ss b/templates/WidgetAreaEditor.ss index 187e33e4..6b1989f6 100644 --- a/templates/WidgetAreaEditor.ss +++ b/templates/WidgetAreaEditor.ss @@ -17,7 +17,7 @@

<% _t('INUSE', 'Widgets currently used') %>

-

<% _t('TOADD', 'To add widgets, drag them from the left area to here.') %>

+

<% _t('TOADD', 'To add widgets, click on the purple header on the left') %>

<% if UsedWidgets %>