Author: ornicar2
Date: 2010-01-20 16:17:57 +0100 (Wed, 20 Jan 2010)
New Revision: 26946
Modified:
plugins/diemPlugin/trunk/dmCorePlugin/lib/view/dmHelper.php
plugins/diemPlugin/trunk/dmCorePlugin/lib/view/html/dmHtmlTag.php
plugins/diemPlugin/trunk/dmCorePlugin/lib/view/html/media/tag/dmMediaTag.php
plugins/diemPlugin/trunk/dmCorePlugin/web/js/dmCoreEditPlugins.js
Log:
[Diem]
- dmMediaTag can now require javascripts and stylesheets
Modified: plugins/diemPlugin/trunk/dmCorePlugin/lib/view/dmHelper.php
===================================================================
--- plugins/diemPlugin/trunk/dmCorePlugin/lib/view/dmHelper.php 2010-01-20
15:17:06 UTC (rev 26945)
+++ plugins/diemPlugin/trunk/dmCorePlugin/lib/view/dmHelper.php 2010-01-20
15:17:57 UTC (rev 26946)
@@ -238,7 +238,19 @@
throw new dmException('£media can not display '.$source.' : missing
service '.$serviceName);
}
- return $this->serviceContainer->getService($serviceName);
+ $media = $this->serviceContainer->getService($serviceName);
+
+ foreach($media->getStylesheets() as $stylesheet)
+ {
+ $this->context->getResponse()->addStylesheet($stylesheet);
+ }
+
+ foreach($media->getJavascripts() as $javascript)
+ {
+ $this->context->getResponse()->addJavascript($javascript);
+ }
+
+ return $media;
}
public function £table()
Modified: plugins/diemPlugin/trunk/dmCorePlugin/lib/view/html/dmHtmlTag.php
===================================================================
--- plugins/diemPlugin/trunk/dmCorePlugin/lib/view/html/dmHtmlTag.php
2010-01-20 15:17:06 UTC (rev 26945)
+++ plugins/diemPlugin/trunk/dmCorePlugin/lib/view/html/dmHtmlTag.php
2010-01-20 15:17:57 UTC (rev 26946)
@@ -167,10 +167,6 @@
{
if (null !== $value)
{
-// if(is_array($value))
-// {
-// dmDebug::kill($attributes, $key, $value);
-// }
$htmlAttributesString .= ' '.$key.'="'.htmlspecialchars($value,
ENT_COMPAT, 'UTF-8').'"';
}
}
@@ -193,6 +189,25 @@
(array) $attribute
);
}
+
+ protected function addJavascript($keys)
+ {
+ $this->javascripts = array_merge($this->javascripts, (array) $keys);
+ }
+ public function getJavascripts()
+ {
+ return $this->javascripts;
+ }
+ protected function addStylesheet($keys)
+ {
+ $this->stylesheets = array_merge($this->stylesheets, (array) $keys);
+ }
+
+ public function getStylesheets()
+ {
+ return $this->stylesheets;
+ }
+
}
\ No newline at end of file
Modified:
plugins/diemPlugin/trunk/dmCorePlugin/lib/view/html/media/tag/dmMediaTag.php
===================================================================
---
plugins/diemPlugin/trunk/dmCorePlugin/lib/view/html/media/tag/dmMediaTag.php
2010-01-20 15:17:06 UTC (rev 26945)
+++
plugins/diemPlugin/trunk/dmCorePlugin/lib/view/html/media/tag/dmMediaTag.php
2010-01-20 15:17:57 UTC (rev 26946)
@@ -4,7 +4,9 @@
{
protected
$resource,
- $context;
+ $context,
+ $stylesheets = array(),
+ $javascripts = array();
public function __construct(dmMediaResource $resource, dmContext $context,
array $options = array())
{
@@ -85,4 +87,24 @@
{
// override me
}
+
+ protected function addJavascript($keys)
+ {
+ $this->javascripts = array_merge($this->javascripts, (array) $keys);
+ }
+
+ public function getJavascripts()
+ {
+ return $this->javascripts;
+ }
+
+ protected function addStylesheet($keys)
+ {
+ $this->stylesheets = array_merge($this->stylesheets, (array) $keys);
+ }
+
+ public function getStylesheets()
+ {
+ return $this->stylesheets;
+ }
}
\ No newline at end of file
Modified: plugins/diemPlugin/trunk/dmCorePlugin/web/js/dmCoreEditPlugins.js
===================================================================
--- plugins/diemPlugin/trunk/dmCorePlugin/web/js/dmCoreEditPlugins.js
2010-01-20 15:17:06 UTC (rev 26945)
+++ plugins/diemPlugin/trunk/dmCorePlugin/web/js/dmCoreEditPlugins.js
2010-01-20 15:17:57 UTC (rev 26946)
@@ -1,11 +1,8 @@
(function($)
{
+ $.dm.loadedJavascripts = new Array();
+ $.dm.loadedStylesheets = new Array();
- $.extend({
- dmLoadedJavascripts: new Array(),
- dmLoadedStylesheets: new Array()
- });
-
$.fn.extend({
maxLength: function(max)
@@ -81,16 +78,16 @@
for (i in data.css)
{
- if (-1 == $.inArray(data.css[i], $.dmLoadedStylesheets))
+ if (-1 == $.inArray(data.css[i], $.dm.loadedStylesheets))
{
$('head').append('<link rel="stylesheet" href="' + data.css[i] +
'" />');
- $.dmLoadedStylesheets.push(data.css[i]);
+ $.dm.loadedStylesheets.push(data.css[i]);
}
}
for (var i in data.js)
{
- if (-1 == $.inArray(data.js[i], $.dmLoadedJavascripts))
+ if (-1 == $.inArray(data.js[i], $.dm.loadedJavascripts))
{
ajaxDefaultData = $.ajaxSettings.data;
$.ajaxSettings.data = null;
@@ -104,7 +101,7 @@
$.ajaxSettings.data = ajaxDefaultData;
- $.dmLoadedJavascripts.push(data.js[i]);
+ $.dm.loadedJavascripts.push(data.js[i]);
}
}
}
--
You received this message because you are subscribed to the Google Groups
"symfony SVN" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/symfony-svn?hl=en.