|
From: <gem...@li...> - 2012-12-27 14:23:30
|
Revision: 1072
http://gemstracker.svn.sourceforge.net/gemstracker/?rev=1072&view=rev
Author: matijsdejong
Date: 2012-12-27 14:23:23 +0000 (Thu, 27 Dec 2012)
Log Message:
-----------
Updated to use latest 1.8.3 version of jQuery
User can switch to local files for jQuery
Modified Paths:
--------------
trunk/library/classes/Gems/Project/ProjectSettings.php
trunk/library/classes/GemsEscort.php
trunk/library/classes/MUtil/JQuery/Form/Element/DatePicker.php
trunk/library/classes/MUtil/JQuery/View/Helper/DatePicker.php
Modified: trunk/library/classes/Gems/Project/ProjectSettings.php
===================================================================
--- trunk/library/classes/Gems/Project/ProjectSettings.php 2012-12-27 14:21:39 UTC (rev 1071)
+++ trunk/library/classes/Gems/Project/ProjectSettings.php 2012-12-27 14:23:23 UTC (rev 1072)
@@ -341,6 +341,22 @@
}
/**
+ * Get the local jQuery directory (without base url)
+ *
+ * Instead of e.g. google Content Delivery Network.
+ *
+ * @return boolean
+ */
+ public function getJQueryLocal()
+ {
+ if (isset($this['jquery']['local'])) {
+ return $this['jquery']['local'];
+ } else {
+ return null;
+ }
+ }
+
+ /**
* Get the logLevel to use with the Gems_Log
*
* Default settings is for development and testing environment to use Zend_Log::DEBUG and
@@ -505,4 +521,16 @@
{
return isset($this['password']['initialPassword']);
}
+
+ /**
+ * Does this project use a local jQuery
+ *
+ * Instead of e.g. google Content Delivery Network.
+ *
+ * @return boolean
+ */
+ public function isJQueryLocal()
+ {
+ return isset($this['jquery']['local']);
+ }
}
\ No newline at end of file
Modified: trunk/library/classes/GemsEscort.php
===================================================================
--- trunk/library/classes/GemsEscort.php 2012-12-27 14:21:39 UTC (rev 1071)
+++ trunk/library/classes/GemsEscort.php 2012-12-27 14:23:23 UTC (rev 1072)
@@ -723,14 +723,7 @@
if (MUtil_JQuery::usesJQuery($this->view)) {
$jquery = $this->view->jQuery();
$jquery->uiEnable(); // enable user interface
- $jquery->setUiVersion('1.8.9');
- if (MUtil_Https::on()) {
- $jquery->setCdnSsl(true);
- }
-
- // $jquery->setLocalPath('jquery-1.3.2.min.js');
-
if (isset($this->project->jquerycss)) {
foreach ((array) $this->project->jquerycss as $css) {
$jquery->addStylesheet($this->basepath->getBasePath() . '/' . $css);
@@ -1579,6 +1572,27 @@
// Set the base path, the route is now fixed
$this->basepath->setBasePath($request->getBasePath());
+
+ // Set the jQuery version and other information needed
+ // by classes using jQuery
+ $jquery = MUtil_JQuery::jQuery();
+
+ $jqueryVersion = '1.8.3';
+ $jqueryUiVersion = '1.9.2';
+ $jquery->setVersion($jqueryVersion);
+ $jquery->setUiVersion($jqueryUiVersion);
+
+ if ($this->project->isJQueryLocal()) {
+ $jqueryDir = $request->getBasePath() . $this->project->getJQueryLocal();
+
+ $jquery->setLocalPath($jqueryDir . 'jquery-' . $jqueryVersion . '.js');
+ $jquery->setUiLocalPath($jqueryDir . 'jquery-ui-' . $jqueryUiVersion . '.js');
+
+ } else {
+ if (MUtil_Https::on()) {
+ $jquery->setCdnSsl(true);
+ }
+ }
}
Modified: trunk/library/classes/MUtil/JQuery/Form/Element/DatePicker.php
===================================================================
--- trunk/library/classes/MUtil/JQuery/Form/Element/DatePicker.php 2012-12-27 14:21:39 UTC (rev 1071)
+++ trunk/library/classes/MUtil/JQuery/Form/Element/DatePicker.php 2012-12-27 14:23:23 UTC (rev 1072)
@@ -189,19 +189,6 @@
public function setView(Zend_View_Interface $view = null)
{
- /*
- http://jquery-ui.googlecode.com/svn/tags/latest/ui/minified/i18n/jquery-ui-i18n.min.js"
-
- $(function() {
- $.datepicker.setDefaults($.datepicker.regional['']);
- $("#datepicker").datepicker($.datepicker.regional['fr']);
- $("#locale").change(function() {
- $('#datepicker').datepicker('option', $.datepicker.regional[$(this).val()]);
- });
- });
-
- */
-
$element = parent::setView($view);
if (null !== $view) {
@@ -210,20 +197,28 @@
}
}
-
if ($locale = Zend_Registry::get('Zend_Locale')) {
$language = $locale->getLanguage();
+ // We have a language, but only when not english
if ($language && $language != 'en') {
- //TODO : work out correct link / setup: now defaults to last language
- // $view->jquery()->addJavascriptFile(ZendX_JQuery::CDN_BASE_GOOGLE . ZendX_JQuery::CDN_SUBFOLDER_JQUERYUI . ZendX_JQuery::DEFAULT_UI_VERSION . '/i18n/jquery-ui-i18n.min.js');
+ $jquery = $view->JQuery();
- // $ljs = "$('#" . $this->getId() . "').datepicker('option', $.datepicker.regional['" . $language . "']);";
- // $view->JQuery()->addOnLoad($ljs);
+ if ($uiPath = $jquery->getUiLocalPath()) {
+ $baseUrl = dirname($uiPath);
- $http = MUtil_Https::on() ? ZendX_JQuery::CDN_BASE_GOOGLE_SSL : ZendX_JQuery::CDN_BASE_GOOGLE ;
- $version = ZendX_JQuery::DEFAULT_UI_VERSION;
- $version = '1.8.9'; //Overrule want vertaling nederlands wordt anders niet gevonden
- $view->JQuery()->addJavascriptFile($http . ZendX_JQuery::CDN_SUBFOLDER_JQUERYUI . $version . '/i18n/jquery.ui.datepicker-' . $language . '.js');
+ } else {
+ $baseUrl = MUtil_Https::on() ? ZendX_JQuery::CDN_BASE_GOOGLE_SSL : ZendX_JQuery::CDN_BASE_GOOGLE;
+ $baseUrl .= ZendX_JQuery::CDN_SUBFOLDER_JQUERYUI;
+ $baseUrl .= $jquery->getUiVersion();
+ }
+ // Option 1: download single language file
+ $jquery->addJavascriptFile($baseUrl . '/i18n/jquery.ui.datepicker-' . $language . '.js');
+
+ // Option 2: download all languages and select current
+ // $jquery->addJavascriptFile($baseUrl . '/i18n/jquery-ui-i18n.min.js');
+ // $jquery->addOnLoad("$.datepicker.setDefaults($.datepicker.regional['$language'])");
+
+ // TODO: Option 3: enable language setting for each individual date
}
}
Modified: trunk/library/classes/MUtil/JQuery/View/Helper/DatePicker.php
===================================================================
--- trunk/library/classes/MUtil/JQuery/View/Helper/DatePicker.php 2012-12-27 14:21:39 UTC (rev 1071)
+++ trunk/library/classes/MUtil/JQuery/View/Helper/DatePicker.php 2012-12-27 14:23:23 UTC (rev 1072)
@@ -53,7 +53,7 @@
$this->jquery->addOnLoad($js);
}
- if (isset($params['dateFormat']) && ($format = $params['dateFormat'])) {
+ if (isset($params['dateFormat']) && $params['dateFormat']) {
//*
$js = array();
$js[] = '{';
@@ -61,10 +61,7 @@
$js[] = '';
$js[] = " datePick.blur(function() {";
$js[] = " var dateused;";
- $js[] = " var dateformat = '" . $format . "';";
- // TODO: Why won't this work
- // $js[] = " var dateformat = datePick.datepicker('option', 'dateFormat');";
- // $js[] = " alert(dateformat);";
+ $js[] = " var dateformat = datePick.datepicker('option', 'dateFormat');";
$js[] = " dateused = datePick.attr('value');";
$js[] = " dateused = $.datepicker.parseDate(dateformat, dateused);";
$js[] = " datePick.attr('value', $.datepicker.formatDate(dateformat, dateused));";
@@ -72,7 +69,6 @@
$js[] = '}';
$this->jquery->addOnLoad(implode("\n", $js));
- //$this->view->inlineScript()->appendScript(implode("\n", $js)); // */
}
return $result;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|