Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

MINOR make widgetarea/editor more suitable for generic use (from r95086)

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/cms/trunk@95654 467b73ca-7a2a-4603-9d3b-597d59a354a9
  • Loading branch information...
commit e623c3d8833f3318920c9d1cb5f40a057352b9fe 1 parent 223dd0f
@halkyon halkyon authored
View
27 code/WidgetAreaEditor.php
@@ -5,7 +5,21 @@
* @subpackage content
*/
class WidgetAreaEditor extends FormField {
- function __construct($name) {
+ /**
+ * 3 variables to hold titles for the template
+ */
+ public $InUseTitle;
+ public $AvailableTitle;
+ public $ToAddTitle;
+
+ function __construct($name, $widgetClasses = array('Widget'), $maxWidgets = 0) {
+ $this->InUseTitle = _t('WidgetAreaEditor.ss', 'INUSE');
+ $this->AvailableTitle = _t('WidgetAreaEditor.ss', 'AVAILABLE');
+ $this->ToAddTitle = _t('WidgetAreaEditor.ss', 'TOADD');
+ $this->MaxWidgets = $maxWidgets;
+
+ $this->widgetClasses = $widgetClasses;
+
parent::__construct($name);
}
@@ -17,12 +31,15 @@ function FieldHolder() {
}
function AvailableWidgets() {
- $classes = ClassInfo::subclassesFor('Widget');
- array_shift($classes);
+
$widgets= new DataObjectSet();
- foreach($classes as $class) {
- $widgets->push(singleton($class));
+ foreach($this->widgetClasses as $widgetClass) {
+ $classes = ClassInfo::subclassesFor($widgetClass);
+ array_shift($classes);
+ foreach($classes as $class) {
+ $widgets->push(singleton($class));
+ }
}
return $widgets;
View
5 javascript/lang/en_US.js
@@ -32,6 +32,7 @@ if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
'AssetTableField.REALLYDELETE': 'Do you really want to delete the marked files?',
'AssetTableField.MOVING': 'Moving %s file(s)',
'SecurityAdmin.BATCHACTIONSDELETECONFIRM': "Do you really want to delete %s groups?",
- 'CMSMAIN.AddSearchCriteria': 'Add Criteria'
+ 'CMSMAIN.AddSearchCriteria': 'Add Criteria',
+ 'WidgetAreaEditor.TOOMANY': 'Sorry, you have reached the maximum number of widgets in this area'
});
-}
+}
View
8 templates/WidgetAreaEditor.ss
@@ -1,7 +1,7 @@
-<div class="WidgetAreaEditor" id="WidgetAreaEditor-$Name" name="$Name">
+<div class="WidgetAreaEditor" id="WidgetAreaEditor-$Name" name="$Name"<% if MaxWidgets %> maxwidgets="$MaxWidgets"<% end_if %>>
<input type="hidden" id="$Name" name="$IdxField" value="$Value" />
<div class="availableWidgetsHolder">
- <h2><% _t('AVAILABLE', 'Available Widgets') %></h2>
+ <h2>$AvailableTitle</h2>
<p>&nbsp;</p>
<div class="availableWidgets" id="availableWidgets-$Name">
<% if AvailableWidgets %>
@@ -16,8 +16,8 @@
</div>
</div>
<div class="usedWidgetsHolder">
- <h2><% _t('INUSE', 'Widgets currently used') %></h2>
- <p><% _t('TOADD', 'To add widgets, click on the purple header on the left') %></p>
+ <h2>$InUseTitle</h2>
+ <p>$ToAddTitle</p>
<div class="usedWidgets" id="usedWidgets-$Name">
<% if UsedWidgets %>
Please sign in to comment.
Something went wrong with that request. Please try again.