[Testbot] Plone 4.3 - Python 2.7 - Build # 2343 - Still failing! - 1 failure(s)
jenkins at plone.org
jenkins at plone.org
Fri Jun 13 13:43:24 UTC 2014
-------------------------------------------------------------------------------
Plone 4.3 - Python 2.7 - Build # 2343 - Still Failing!
-------------------------------------------------------------------------------
http://jenkins.plone.org/job/plone-4.3-python-2.7/2343/
-------------------------------------------------------------------------------
CHANGES
-------------------------------------------------------------------------------
Repository: Products.CMFPlone
Branch: refs/heads/4.3.x
Date: 2014-05-16T11:35:18+02:00
Author: Johannes Raggam (thet) <raggam-nl at adm.at>
Commit: https://github.com/plone/Products.CMFPlone/commit/6c6d11162940f6b9510364120c419bf8ea37a825
fix missing jQuery.browser in popupforms.js to work with jQuery 1.9
Files changed:
M Products/CMFPlone/skins/plone_ecmascript/popupforms.js
M docs/CHANGES.rst
diff --git a/Products/CMFPlone/skins/plone_ecmascript/popupforms.js b/Products/CMFPlone/skins/plone_ecmascript/popupforms.js
index 43a1af9..116c8a2 100644
--- a/Products/CMFPlone/skins/plone_ecmascript/popupforms.js
+++ b/Products/CMFPlone/skins/plone_ecmascript/popupforms.js
@@ -8,6 +8,21 @@
******/
+function msieversion() {
+ // Detect MSIE browser version
+ // http://support.microsoft.com/kb/167820
+ var ua = window.navigator.userAgent;
+ var msie = ua.indexOf("MSIE ");
+
+ if (msie > 0) {
+ // If Internet Explorer, return version number
+ return parseInt(ua.substring(msie + 5, ua.indexOf(".", msie)));
+ } else {
+ // If another browser, return 0
+ return 0;
+ }
+}
+
var common_content_filter = '#content>*:not(div.configlet),dl.portalMessage.error,dl.portalMessage.info';
jQuery.extend(jQuery.tools.overlay.conf,
@@ -50,7 +65,7 @@ jQuery.extend(jQuery.tools.overlay.conf,
jQuery(function($){
- if (jQuery.browser.msie && parseInt(jQuery.browser.version, 10) < 7) {
+ if (msieversion() > 0 && msieversion() < 7) {
// it's not realistic to think we can deal with all the bugs
// of IE 6 and lower. Fortunately, all this is just progressive
// enhancement.
diff --git a/docs/CHANGES.rst b/docs/CHANGES.rst
index 60142ff..940bd3c 100644
--- a/docs/CHANGES.rst
+++ b/docs/CHANGES.rst
@@ -8,6 +8,9 @@ Changelog
4.3.4 (unreleased)
------------------
+- Fix JavaScript to work with recent jQuery (>= 1.9) versions.
+ [thet]
+
- Improve event_view - do not show time when user specifies the same start and
end time for an event.
[spereverde]
Repository: Products.CMFPlone
Branch: refs/heads/4.3.x
Date: 2014-05-16T12:18:20+02:00
Author: Johannes Raggam (thet) <raggam-nl at adm.at>
Commit: https://github.com/plone/Products.CMFPlone/commit/cad7acd1c9874278b7537f8cebbb7154bd848f09
Declare minimum plone.app.jquery dependency (1.7.2) in setup.py.
Files changed:
M docs/CHANGES.rst
M setup.py
diff --git a/docs/CHANGES.rst b/docs/CHANGES.rst
index 940bd3c..500ab56 100644
--- a/docs/CHANGES.rst
+++ b/docs/CHANGES.rst
@@ -8,6 +8,9 @@ Changelog
4.3.4 (unreleased)
------------------
+- Declare minimum plone.app.jquery dependency (1.7.2) in setup.py.
+ [thet]
+
- Fix JavaScript to work with recent jQuery (>= 1.9) versions.
[thet]
diff --git a/setup.py b/setup.py
index fd2d079..e97f62a 100644
--- a/setup.py
+++ b/setup.py
@@ -90,7 +90,7 @@
'plone.app.folder',
'plone.app.form',
'plone.app.i18n',
- 'plone.app.jquery',
+ 'plone.app.jquery>=1.7.2',
'plone.app.jquerytools',
'plone.app.layout >=1.1.7dev-r23744',
'plone.app.linkintegrity >=1.0.3',
Repository: Products.CMFPlone
Branch: refs/heads/4.3.x
Date: 2014-05-16T12:22:34+02:00
Author: Johannes Raggam (thet) <raggam-nl at adm.at>
Commit: https://github.com/plone/Products.CMFPlone/commit/29a3be6cdf3b69a31d9733a63e1eb2d387232ee1
to attach an event handler, use "on" instead of the deprecated "live" (depends on jq 1.7)
Files changed:
M Products/CMFPlone/skins/plone_ecmascript/inline_validation.js
diff --git a/Products/CMFPlone/skins/plone_ecmascript/inline_validation.js b/Products/CMFPlone/skins/plone_ecmascript/inline_validation.js
index e1aaba8..0d7770a 100644
--- a/Products/CMFPlone/skins/plone_ecmascript/inline_validation.js
+++ b/Products/CMFPlone/skins/plone_ecmascript/inline_validation.js
@@ -19,7 +19,7 @@ jQuery(function ($) {
};
// Archetypes
- $('.field input.blurrable,.field select.blurrable,.field textarea.blurrable').live('blur', function () {
+ $(document).on('blur', '.field input.blurrable, .field select.blurrable, .field textarea.blurrable', function () {
var $input = $(this),
$field = $input.closest('.field'),
uid = $field.attr('data-uid'),
@@ -50,12 +50,15 @@ jQuery(function ($) {
dataType: 'json'
});
};
- $('.formlibInlineValidation input[type="text"]').live('blur', function () { formlib_validate_field(this); });
- $('.formlibInlineValidation input[type="password"]').live('blur', function () { formlib_validate_field(this); });
- $('.formlibInlineValidation input[type="checkbox"]').live('blur', function () { formlib_validate_field(this); });
- $('.formlibInlineValidation input[type="radio"]').live('blur', function () { formlib_validate_field(this); });
- $('.formlibInlineValidation select').live('blur', function () { formlib_validate_field(this); });
- $('.formlibInlineValidation textarea').live('blur', function () { formlib_validate_field(this); });
+ $(document).on(
+ 'blur',
+ '.formlibInlineValidation input[type="text"], ' +
+ '.formlibInlineValidation input[type="password"], ' +
+ '.formlibInlineValidation input[type="checkbox"], ' +
+ '.formlibInlineValidation input[type="radio"], ' +
+ '.formlibInlineValidation select, ' +
+ '.formlibInlineValidation textarea',
+ function () { formlib_validate_field(this); });
// z3c.form
var z3cform_validate_field = function (input) {
@@ -77,11 +80,14 @@ jQuery(function ($) {
});
}
};
- $('.z3cformInlineValidation input[type="text"]').live('blur', function () { z3cform_validate_field(this); });
- $('.z3cformInlineValidation input[type="password"]').live('blur', function () { z3cform_validate_field(this); });
- $('.z3cformInlineValidation input[type="checkbox"]').live('blur', function () { z3cform_validate_field(this); });
- $('.z3cformInlineValidation input[type="radio"]').live('blur', function () { z3cform_validate_field(this); });
- $('.z3cformInlineValidation select').live('blur', function () { z3cform_validate_field(this); });
- $('.z3cformInlineValidation textarea').live('blur', function () { z3cform_validate_field(this); });
+ $(document).on(
+ 'blur',
+ '.z3cformInlineValidation input[type="text"], ' +
+ '.z3cformInlineValidation input[type="password"], ' +
+ '.z3cformInlineValidation input[type="checkbox"], ' +
+ '.z3cformInlineValidation input[type="radio"], ' +
+ '.z3cformInlineValidation select, ' +
+ '.z3cformInlineValidation textarea',
+ function () { z3cform_validate_field(this); });
});
Repository: Products.CMFPlone
Branch: refs/heads/4.3.x
Date: 2014-05-16T13:14:51+02:00
Author: Johannes Raggam (thet) <raggam-nl at adm.at>
Commit: https://github.com/plone/Products.CMFPlone/commit/9a037a23e9affaff9a6fc2ea0166dbcfd55ea402
don't attach these event handler on document to prevent the event from bubbling up the whole DOM, which can lead to poor performance
Files changed:
M Products/CMFPlone/skins/plone_ecmascript/inline_validation.js
diff --git a/Products/CMFPlone/skins/plone_ecmascript/inline_validation.js b/Products/CMFPlone/skins/plone_ecmascript/inline_validation.js
index 0d7770a..c721c03 100644
--- a/Products/CMFPlone/skins/plone_ecmascript/inline_validation.js
+++ b/Products/CMFPlone/skins/plone_ecmascript/inline_validation.js
@@ -19,7 +19,9 @@ jQuery(function ($) {
};
// Archetypes
- $(document).on('blur', '.field input.blurrable, .field select.blurrable, .field textarea.blurrable', function () {
+ $('.field input.blurrable, ' +
+ '.field select.blurrable, ' +
+ '.field textarea.blurrable').on('blur', function () {
var $input = $(this),
$field = $input.closest('.field'),
uid = $field.attr('data-uid'),
@@ -50,14 +52,13 @@ jQuery(function ($) {
dataType: 'json'
});
};
- $(document).on(
+ $('.formlibInlineValidation input[type="text"], ' +
+ '.formlibInlineValidation input[type="password"], ' +
+ '.formlibInlineValidation input[type="checkbox"], ' +
+ '.formlibInlineValidation input[type="radio"], ' +
+ '.formlibInlineValidation select, ' +
+ '.formlibInlineValidation textarea').on(
'blur',
- '.formlibInlineValidation input[type="text"], ' +
- '.formlibInlineValidation input[type="password"], ' +
- '.formlibInlineValidation input[type="checkbox"], ' +
- '.formlibInlineValidation input[type="radio"], ' +
- '.formlibInlineValidation select, ' +
- '.formlibInlineValidation textarea',
function () { formlib_validate_field(this); });
// z3c.form
@@ -80,14 +81,13 @@ jQuery(function ($) {
});
}
};
- $(document).on(
+ $('.z3cformInlineValidation input[type="text"], ' +
+ '.z3cformInlineValidation input[type="password"], ' +
+ '.z3cformInlineValidation input[type="checkbox"], ' +
+ '.z3cformInlineValidation input[type="radio"], ' +
+ '.z3cformInlineValidation select, ' +
+ '.z3cformInlineValidation textarea').on(
'blur',
- '.z3cformInlineValidation input[type="text"], ' +
- '.z3cformInlineValidation input[type="password"], ' +
- '.z3cformInlineValidation input[type="checkbox"], ' +
- '.z3cformInlineValidation input[type="radio"], ' +
- '.z3cformInlineValidation select, ' +
- '.z3cformInlineValidation textarea',
function () { z3cform_validate_field(this); });
});
Repository: Products.CMFPlone
Branch: refs/heads/4.3.x
Date: 2014-05-20T14:29:33+02:00
Author: Johannes Raggam (thet) <raggam-nl at adm.at>
Commit: https://github.com/plone/Products.CMFPlone/commit/a121faa4bbe42cb22dca7a25f8f1def3be598cf0
We need the event handler to be attached to document, as forms may loaded via
ajax. So:
Revert "don't attach these event handler on document to prevent the event from bubbling up the whole DOM, which can lead to poor performance"
This reverts commit 9a037a23e9affaff9a6fc2ea0166dbcfd55ea402.
Files changed:
M Products/CMFPlone/skins/plone_ecmascript/inline_validation.js
diff --git a/Products/CMFPlone/skins/plone_ecmascript/inline_validation.js b/Products/CMFPlone/skins/plone_ecmascript/inline_validation.js
index c721c03..0d7770a 100644
--- a/Products/CMFPlone/skins/plone_ecmascript/inline_validation.js
+++ b/Products/CMFPlone/skins/plone_ecmascript/inline_validation.js
@@ -19,9 +19,7 @@ jQuery(function ($) {
};
// Archetypes
- $('.field input.blurrable, ' +
- '.field select.blurrable, ' +
- '.field textarea.blurrable').on('blur', function () {
+ $(document).on('blur', '.field input.blurrable, .field select.blurrable, .field textarea.blurrable', function () {
var $input = $(this),
$field = $input.closest('.field'),
uid = $field.attr('data-uid'),
@@ -52,13 +50,14 @@ jQuery(function ($) {
dataType: 'json'
});
};
- $('.formlibInlineValidation input[type="text"], ' +
- '.formlibInlineValidation input[type="password"], ' +
- '.formlibInlineValidation input[type="checkbox"], ' +
- '.formlibInlineValidation input[type="radio"], ' +
- '.formlibInlineValidation select, ' +
- '.formlibInlineValidation textarea').on(
+ $(document).on(
'blur',
+ '.formlibInlineValidation input[type="text"], ' +
+ '.formlibInlineValidation input[type="password"], ' +
+ '.formlibInlineValidation input[type="checkbox"], ' +
+ '.formlibInlineValidation input[type="radio"], ' +
+ '.formlibInlineValidation select, ' +
+ '.formlibInlineValidation textarea',
function () { formlib_validate_field(this); });
// z3c.form
@@ -81,13 +80,14 @@ jQuery(function ($) {
});
}
};
- $('.z3cformInlineValidation input[type="text"], ' +
- '.z3cformInlineValidation input[type="password"], ' +
- '.z3cformInlineValidation input[type="checkbox"], ' +
- '.z3cformInlineValidation input[type="radio"], ' +
- '.z3cformInlineValidation select, ' +
- '.z3cformInlineValidation textarea').on(
+ $(document).on(
'blur',
+ '.z3cformInlineValidation input[type="text"], ' +
+ '.z3cformInlineValidation input[type="password"], ' +
+ '.z3cformInlineValidation input[type="checkbox"], ' +
+ '.z3cformInlineValidation input[type="radio"], ' +
+ '.z3cformInlineValidation select, ' +
+ '.z3cformInlineValidation textarea',
function () { z3cform_validate_field(this); });
});
Repository: Products.CMFPlone
Branch: refs/heads/4.3.x
Date: 2014-05-20T14:33:54+02:00
Author: Johannes Raggam (thet) <raggam-nl at adm.at>
Commit: https://github.com/plone/Products.CMFPlone/commit/d30931b0bbc6df82b811395c0f8c24b8a3fb9024
format
Files changed:
M Products/CMFPlone/skins/plone_ecmascript/inline_validation.js
diff --git a/Products/CMFPlone/skins/plone_ecmascript/inline_validation.js b/Products/CMFPlone/skins/plone_ecmascript/inline_validation.js
index 0d7770a..b59f148 100644
--- a/Products/CMFPlone/skins/plone_ecmascript/inline_validation.js
+++ b/Products/CMFPlone/skins/plone_ecmascript/inline_validation.js
@@ -19,7 +19,12 @@ jQuery(function ($) {
};
// Archetypes
- $(document).on('blur', '.field input.blurrable, .field select.blurrable, .field textarea.blurrable', function () {
+ $(document).on(
+ 'blur',
+ '.field input.blurrable, ' +
+ '.field select.blurrable, ' +
+ '.field textarea.blurrable',
+ function () {
var $input = $(this),
$field = $input.closest('.field'),
uid = $field.attr('data-uid'),
Repository: Products.CMFPlone
Branch: refs/heads/4.3.x
Date: 2014-05-27T14:28:52+02:00
Author: Johannes Raggam (thet) <raggam-nl at adm.at>
Commit: https://github.com/plone/Products.CMFPlone/commit/58977b3536d9b78278df77c1ac583191bb9bd511
autoformat
Files changed:
M Products/CMFPlone/skins/plone_ecmascript/dragdropreorder.js
diff --git a/Products/CMFPlone/skins/plone_ecmascript/dragdropreorder.js b/Products/CMFPlone/skins/plone_ecmascript/dragdropreorder.js
index 76c37b6..955dd43 100644
--- a/Products/CMFPlone/skins/plone_ecmascript/dragdropreorder.js
+++ b/Products/CMFPlone/skins/plone_ecmascript/dragdropreorder.js
@@ -16,171 +16,185 @@ ploneDnDReorder.locked = false;
(function($) {
-ploneDnDReorder.doDown = function(e) {
- var dragging = ploneDnDReorder.dragging,
- body;
- // Waiting for a server operation to complete or following an error
- if (ploneDnDReorder.locked) {return;}
- // already dragging, probably catching up a lost drag.
- if (dragging) {
- if ($(this).attr('id') !== dragging.attr('id')) {
- ploneDnDReorder.locked = true;
- dragging.removeClass('dragging').addClass('error');
+ ploneDnDReorder.doDown = function(e) {
+ var dragging = ploneDnDReorder.dragging,
+ body;
+ // Waiting for a server operation to complete or following an error
+ if (ploneDnDReorder.locked) {
+ return;
}
- return;
- }
- dragging = $(this).parents('.draggable:first');
- if (!dragging.length) {return;}
- ploneDnDReorder.rows.mousemove(ploneDnDReorder.doDrag);
- body = $('body');
- body.mouseup(ploneDnDReorder.doUp);
- body.mouseleave(ploneDnDReorder.doCancel);
-
- ploneDnDReorder.dragging = dragging;
- dragging.data('ploneDnDReorder.startPosition', ploneDnDReorder.getPos(dragging));
- dragging.addClass("dragging");
- $(this).parents('tr').addClass('dragindicator');
- // Find the original subset ids. This must be in the current order.
- dragging.data('ploneDnDReorder.subset_ids', $.map(
- ploneDnDReorder.table.find('tr.draggable'),
- function(elem) {
- return $(elem).attr('id').substr('folder-contents-item-'.length);
- }));
-
- return false;
-};
-
-ploneDnDReorder.getPos = function(node) {
- var pos = node.parent().children('.draggable').index(node[0]);
- return pos === -1 ? null : pos;
-};
-
-ploneDnDReorder.doDrag = function(e) {
- var dragging = ploneDnDReorder.dragging,
- target = this;
-
- if (!dragging) {return;}
- if (!target) {return;}
-
- if ($(target).attr('id') !== dragging.attr('id')) {
- ploneDnDReorder.swapElements($(target), dragging);
- }
- return false;
-};
-
-ploneDnDReorder.swapElements = function(child1, child2) {
- var parent = child1.parent(),
- items = parent.children('[id]'),
- t;
-
- // Only adjacent elements may be swapped.
- if (Math.abs(ploneDnDReorder.getPos(child1) - ploneDnDReorder.getPos(child2)) !== 1) {
- return;
- }
-
- items.removeClass('even').removeClass('odd');
- if (child1[0].swapNode) {
- // IE proprietary method
- child1[0].swapNode(child2[0]);
- } else {
- // swap the two elements, using a textnode as a position marker
- t = parent[0].insertBefore(document.createTextNode(''),
- child1[0]);
- child1.insertBefore(child2);
- child2.insertBefore(t);
- $(t).remove();
- }
- // odd and even are 0-based, so we want them the other way around
- parent.children('[id]:odd').addClass('even');
- parent.children('[id]:even').addClass('odd');
-};
-
-ploneDnDReorder.doUp = function(e) {
- var dragging = ploneDnDReorder.dragging,
+ // already dragging, probably catching up a lost drag.
+ if (dragging) {
+ if ($(this).attr('id') !== dragging.attr('id')) {
+ ploneDnDReorder.locked = true;
+ dragging.removeClass('dragging').addClass('error');
+ }
+ return;
+ }
+ dragging = $(this).parents('.draggable:first');
+ if (!dragging.length) {
+ return;
+ }
+ ploneDnDReorder.rows.mousemove(ploneDnDReorder.doDrag);
body = $('body');
- if (!dragging) {return;}
+ body.mouseup(ploneDnDReorder.doUp);
+ body.mouseleave(ploneDnDReorder.doCancel);
+
+ ploneDnDReorder.dragging = dragging;
+ dragging.data('ploneDnDReorder.startPosition', ploneDnDReorder.getPos(dragging));
+ dragging.addClass("dragging");
+ $(this).parents('tr').addClass('dragindicator');
+ // Find the original subset ids. This must be in the current order.
+ dragging.data('ploneDnDReorder.subset_ids', $.map(
+ ploneDnDReorder.table.find('tr.draggable'),
+ function(elem) {
+ return $(elem).attr('id').substr('folder-contents-item-'.length);
+ }));
+
+ return false;
+ };
- ploneDnDReorder.updatePositionOnServer();
- dragging.removeData('ploneDnDReorder.startPosition');
- dragging.removeData('ploneDnDReorder.subset_ids');
- ploneDnDReorder.rows.unbind('mousemove', ploneDnDReorder.doDrag);
- body.unbind('mouseup', ploneDnDReorder.doUp);
- body.unbind('mouseleave', ploneDnDReorder.doCancel);
+ ploneDnDReorder.getPos = function(node) {
+ var pos = node.parent().children('.draggable').index(node[0]);
+ return pos === -1 ? null : pos;
+ };
- $(this).parents('tr').removeClass('dragindicator');
- return false;
-};
+ ploneDnDReorder.doDrag = function(e) {
+ var dragging = ploneDnDReorder.dragging,
+ target = this;
-ploneDnDReorder.doCancel = function(e) {
- var dragging = ploneDnDReorder.dragging,
- body = $('body');
- if (!dragging) {return;}
+ if (!dragging) {
+ return;
+ }
+ if (!target) {
+ return;
+ }
+
+ if ($(target).attr('id') !== dragging.attr('id')) {
+ ploneDnDReorder.swapElements($(target), dragging);
+ }
+ return false;
+ };
+
+ ploneDnDReorder.swapElements = function(child1, child2) {
+ var parent = child1.parent(),
+ items = parent.children('[id]'),
+ t;
+
+ // Only adjacent elements may be swapped.
+ if (Math.abs(ploneDnDReorder.getPos(child1) - ploneDnDReorder.getPos(child2)) !== 1) {
+ return;
+ }
+
+ items.removeClass('even').removeClass('odd');
+ if (child1[0].swapNode) {
+ // IE proprietary method
+ child1[0].swapNode(child2[0]);
+ } else {
+ // swap the two elements, using a textnode as a position marker
+ t = parent[0].insertBefore(document.createTextNode(''),
+ child1[0]);
+ child1.insertBefore(child2);
+ child2.insertBefore(t);
+ $(t).remove();
+ }
+ // odd and even are 0-based, so we want them the other way around
+ parent.children('[id]:odd').addClass('even');
+ parent.children('[id]:even').addClass('odd');
+ };
+
+ ploneDnDReorder.doUp = function(e) {
+ var dragging = ploneDnDReorder.dragging,
+ body = $('body');
+ if (!dragging) {
+ return;
+ }
+
+ ploneDnDReorder.updatePositionOnServer();
+ dragging.removeData('ploneDnDReorder.startPosition');
+ dragging.removeData('ploneDnDReorder.subset_ids');
+ ploneDnDReorder.rows.unbind('mousemove', ploneDnDReorder.doDrag);
+ body.unbind('mouseup', ploneDnDReorder.doUp);
+ body.unbind('mouseleave', ploneDnDReorder.doCancel);
+
+ $(this).parents('tr').removeClass('dragindicator');
+ return false;
+ };
+
+ ploneDnDReorder.doCancel = function(e) {
+ var dragging = ploneDnDReorder.dragging,
+ body = $('body');
+ if (!dragging) {
+ return;
+ }
+
+ dragging.removeClass("dragging");
+ // Need to remove the indicator as well, important in the
+ // case when the mouse up occurs outside the grid.
+ dragging.removeClass('dragindicator');
+
+ if (ploneDnDReorder.getPos(dragging) - dragging.data('ploneDnDReorder.startPosition')) {
+ // position has changed, error out
+ ploneDnDReorder.locked = true;
+ dragging.addClass("error");
+ }
+ ploneDnDReorder.rows.unbind('mousemove', ploneDnDReorder.doDrag);
+ body.unbind('mouseup', ploneDnDReorder.doCancel);
+ body.unbind('mouseleave', ploneDnDReorder.doCancel);
+ ploneDnDReorder.dragging = null;
- dragging.removeClass("dragging");
- // Need to remove the indicator as well, important in the
- // case when the mouse up occurs outside the grid.
- dragging.removeClass('dragindicator');
+ return false;
+ };
+
+ ploneDnDReorder.updatePositionOnServer = function() {
+ var dragging = ploneDnDReorder.dragging,
+ delta,
+ args,
+ encoded;
+
+ if (!dragging) {
+ return;
+ }
+
+ delta = ploneDnDReorder.getPos(dragging) - dragging.data('ploneDnDReorder.startPosition');
- if (ploneDnDReorder.getPos(dragging) - dragging.data('ploneDnDReorder.startPosition')) {
- // position has changed, error out
+ if (delta === 0) {
+ // nothing changed
+ // Do not just leave: need to cancel.
+ // ... or, up to big surprise at next click.
+ ploneDnDReorder.doCancel.call();
+ return;
+ }
+ // Strip off id prefix
+ args = {
+ item_id: dragging.attr('id').substr('folder-contents-item-'.length),
+ subset_ids: dragging.data('ploneDnDReorder.subset_ids')
+ };
+ args['delta:int'] = delta;
+ // Convert jQuery's name[]=1&name[]=2 to Zope's name:list=1&name:list=2
+ encoded = $.param(args).replace(/%5B%5D=/g, '%3Alist=');
+ $.ajax({
+ type: 'POST',
+ url: 'folder_moveitem',
+ data: encoded,
+ complete: ploneDnDReorder.complete
+ });
ploneDnDReorder.locked = true;
- dragging.addClass("error");
- }
- ploneDnDReorder.rows.unbind('mousemove', ploneDnDReorder.doDrag);
- body.unbind('mouseup', ploneDnDReorder.doCancel);
- body.unbind('mouseleave', ploneDnDReorder.doCancel);
- ploneDnDReorder.dragging = null;
-
- return false;
-};
-
-ploneDnDReorder.updatePositionOnServer = function() {
- var dragging = ploneDnDReorder.dragging,
- delta,
- args,
- encoded;
-
- if (!dragging) {return;}
-
- delta = ploneDnDReorder.getPos(dragging) - dragging.data('ploneDnDReorder.startPosition');
-
- if (delta === 0) {
- // nothing changed
- // Do not just leave: need to cancel.
- // ... or, up to big surprise at next click.
- ploneDnDReorder.doCancel.call();
- return;
- }
- // Strip off id prefix
- args = {
- item_id: dragging.attr('id').substr('folder-contents-item-'.length),
- subset_ids: dragging.data('ploneDnDReorder.subset_ids')
};
- args['delta:int'] = delta;
- // Convert jQuery's name[]=1&name[]=2 to Zope's name:list=1&name:list=2
- encoded = $.param(args).replace(/%5B%5D=/g, '%3Alist=');
- $.ajax({
- type: 'POST',
- url: 'folder_moveitem',
- data: encoded,
- complete: ploneDnDReorder.complete
- });
- ploneDnDReorder.locked = true;
-};
-
-ploneDnDReorder.complete = function(xhr, textStatus) {
- var dragging = ploneDnDReorder.dragging;
- dragging.removeClass("dragging");
- // Need to remove the indicator as well, important in the
- // case when the mouse up occurs outside the grid.
- dragging.removeClass('dragindicator');
- if (textStatus === "success" || textStatus === "notmodified") {
- ploneDnDReorder.locked = false;
- } else {
- dragging.addClass("error");
- }
- ploneDnDReorder.dragging = null;
-};
+
+ ploneDnDReorder.complete = function(xhr, textStatus) {
+ var dragging = ploneDnDReorder.dragging;
+ dragging.removeClass("dragging");
+ // Need to remove the indicator as well, important in the
+ // case when the mouse up occurs outside the grid.
+ dragging.removeClass('dragindicator');
+ if (textStatus === "success" || textStatus === "notmodified") {
+ ploneDnDReorder.locked = false;
+ } else {
+ dragging.addClass("error");
+ }
+ ploneDnDReorder.dragging = null;
+ };
}(jQuery));
@@ -191,15 +205,15 @@ function initializeDnDReorder(table_selector) {
if (!ploneDnDReorder.table.length)
return;
ploneDnDReorder.rows = $(table + " > tr," +
- table + " > tbody > tr");
- $(table + " > tr > td.draggable," +
- table + " > tbody > tr > td.draggable")
- .not('.notDraggable')
- .mousedown(ploneDnDReorder.doDown)
- .mouseup(ploneDnDReorder.doUp)
- .addClass("draggingHook")
- .css("cursor","ns-resize")
- .html('⣿');
+ table + " > tbody > tr");
+ $(table + " > tr > td.draggable," +
+ table + " > tbody > tr > td.draggable")
+ .not('.notDraggable')
+ .mousedown(ploneDnDReorder.doDown)
+ .mouseup(ploneDnDReorder.doUp)
+ .addClass("draggingHook")
+ .css("cursor", "ns-resize")
+ .html('⣿');
}
$(document).ready(function() {
Repository: Products.CMFPlone
Branch: refs/heads/4.3.x
Date: 2014-05-27T14:29:54+02:00
Author: Johannes Raggam (thet) <raggam-nl at adm.at>
Commit: https://github.com/plone/Products.CMFPlone/commit/63ca90d7680f0331e6fce56bb6bcdfe36610b2db
really minor jshint^in
Files changed:
M Products/CMFPlone/skins/plone_ecmascript/dragdropreorder.js
diff --git a/Products/CMFPlone/skins/plone_ecmascript/dragdropreorder.js b/Products/CMFPlone/skins/plone_ecmascript/dragdropreorder.js
index 955dd43..8cf29d2 100644
--- a/Products/CMFPlone/skins/plone_ecmascript/dragdropreorder.js
+++ b/Products/CMFPlone/skins/plone_ecmascript/dragdropreorder.js
@@ -14,9 +14,9 @@ ploneDnDReorder.table = null;
ploneDnDReorder.rows = null;
ploneDnDReorder.locked = false;
-(function($) {
+(function ($) {
- ploneDnDReorder.doDown = function(e) {
+ ploneDnDReorder.doDown = function (e) {
var dragging = ploneDnDReorder.dragging,
body;
// Waiting for a server operation to complete or following an error
@@ -47,19 +47,19 @@ ploneDnDReorder.locked = false;
// Find the original subset ids. This must be in the current order.
dragging.data('ploneDnDReorder.subset_ids', $.map(
ploneDnDReorder.table.find('tr.draggable'),
- function(elem) {
+ function (elem) {
return $(elem).attr('id').substr('folder-contents-item-'.length);
}));
return false;
};
- ploneDnDReorder.getPos = function(node) {
+ ploneDnDReorder.getPos = function (node) {
var pos = node.parent().children('.draggable').index(node[0]);
return pos === -1 ? null : pos;
};
- ploneDnDReorder.doDrag = function(e) {
+ ploneDnDReorder.doDrag = function (e) {
var dragging = ploneDnDReorder.dragging,
target = this;
@@ -76,7 +76,7 @@ ploneDnDReorder.locked = false;
return false;
};
- ploneDnDReorder.swapElements = function(child1, child2) {
+ ploneDnDReorder.swapElements = function (child1, child2) {
var parent = child1.parent(),
items = parent.children('[id]'),
t;
@@ -103,7 +103,7 @@ ploneDnDReorder.locked = false;
parent.children('[id]:even').addClass('odd');
};
- ploneDnDReorder.doUp = function(e) {
+ ploneDnDReorder.doUp = function (e) {
var dragging = ploneDnDReorder.dragging,
body = $('body');
if (!dragging) {
@@ -121,7 +121,7 @@ ploneDnDReorder.locked = false;
return false;
};
- ploneDnDReorder.doCancel = function(e) {
+ ploneDnDReorder.doCancel = function (e) {
var dragging = ploneDnDReorder.dragging,
body = $('body');
if (!dragging) {
@@ -146,7 +146,7 @@ ploneDnDReorder.locked = false;
return false;
};
- ploneDnDReorder.updatePositionOnServer = function() {
+ ploneDnDReorder.updatePositionOnServer = function () {
var dragging = ploneDnDReorder.dragging,
delta,
args,
@@ -182,7 +182,7 @@ ploneDnDReorder.locked = false;
ploneDnDReorder.locked = true;
};
- ploneDnDReorder.complete = function(xhr, textStatus) {
+ ploneDnDReorder.complete = function (xhr, textStatus) {
var dragging = ploneDnDReorder.dragging;
dragging.removeClass("dragging");
// Need to remove the indicator as well, important in the
@@ -216,6 +216,6 @@ function initializeDnDReorder(table_selector) {
.html('⣿');
}
-$(document).ready(function() {
+$(document).ready(function () {
initializeDnDReorder('#listing-table');
});
Repository: Products.CMFPlone
Branch: refs/heads/4.3.x
Date: 2014-05-27T14:54:00+02:00
Author: Johannes Raggam (thet) <raggam-nl at adm.at>
Commit: https://github.com/plone/Products.CMFPlone/commit/407a43bc4d50203545455daccd2755145f831df9
fix possible $ is undefined error, which i encountered here...
Files changed:
M Products/CMFPlone/skins/plone_ecmascript/dragdropreorder.js
diff --git a/Products/CMFPlone/skins/plone_ecmascript/dragdropreorder.js b/Products/CMFPlone/skins/plone_ecmascript/dragdropreorder.js
index 8cf29d2..706787e 100644
--- a/Products/CMFPlone/skins/plone_ecmascript/dragdropreorder.js
+++ b/Products/CMFPlone/skins/plone_ecmascript/dragdropreorder.js
@@ -201,12 +201,12 @@ ploneDnDReorder.locked = false;
function initializeDnDReorder(table_selector) {
var table = table_selector;
- ploneDnDReorder.table = $(table);
+ ploneDnDReorder.table = jQuery(table);
if (!ploneDnDReorder.table.length)
return;
- ploneDnDReorder.rows = $(table + " > tr," +
+ ploneDnDReorder.rows = jQuery(table + " > tr," +
table + " > tbody > tr");
- $(table + " > tr > td.draggable," +
+ jQuery(table + " > tr > td.draggable," +
table + " > tbody > tr > td.draggable")
.not('.notDraggable')
.mousedown(ploneDnDReorder.doDown)
Repository: Products.CMFPlone
Branch: refs/heads/4.3.x
Date: 2014-06-13T14:59:18+02:00
Author: Johannes Raggam (thet) <raggam-nl at adm.at>
Commit: https://github.com/plone/Products.CMFPlone/commit/794308745ef21ab09708164d8b12ed7dccc32d1e
merge with master
Files changed:
M Products/CMFPlone/skins/plone_ecmascript/livesearch.js
M Products/CMFPlone/skins/plone_scripts/livesearch_reply.py
M docs/CHANGES.rst
diff --git a/Products/CMFPlone/skins/plone_ecmascript/livesearch.js b/Products/CMFPlone/skins/plone_ecmascript/livesearch.js
index 779eb24..e8d5fd3 100644
--- a/Products/CMFPlone/skins/plone_ecmascript/livesearch.js
+++ b/Products/CMFPlone/skins/plone_ecmascript/livesearch.js
@@ -29,8 +29,10 @@ var livesearch = (function () {
var $lastsearch = null,
$request = null,
$cache = {},
- $querytarget = $form.attr('action').replace(/@@search$/g,"") + "livesearch_reply",
$result = $form.find('div.LSResult'),
+ $querytarget = $form.attr('action').replace(
+ $form.data('action') || '@@search',
+ $result.data('livesearch') || 'livesearch_reply'),
$shadow = $form.find('div.LSShadow'),
$path = $form.find('input[name="path"]');
diff --git a/Products/CMFPlone/skins/plone_scripts/livesearch_reply.py b/Products/CMFPlone/skins/plone_scripts/livesearch_reply.py
index 84385fa..03f0b56 100644
--- a/Products/CMFPlone/skins/plone_scripts/livesearch_reply.py
+++ b/Products/CMFPlone/skins/plone_scripts/livesearch_reply.py
@@ -69,9 +69,11 @@ def quote_bad_chars(s):
r = quote_bad_chars(r) + '*'
searchterms = url_quote_plus(r)
+REQUEST = context.REQUEST
params = {'SearchableText': r,
- 'portal_type': friendly_types,
'sort_limit': limit + 1}
+if 'portal_type' not in REQUEST:
+ params['portal_type'] = friendly_types
if path is None:
# useful for subsides
@@ -80,11 +82,10 @@ def quote_bad_chars(s):
params['path'] = path
# search limit+1 results to know if limit is exceeded
-results = catalog(**params)
+results = catalog(REQUEST, **params)
searchterm_query = '?searchterm=%s' % url_quote_plus(q)
-REQUEST = context.REQUEST
RESPONSE = REQUEST.RESPONSE
RESPONSE.setHeader('Content-Type', 'text/xml;charset=utf-8')
diff --git a/docs/CHANGES.rst b/docs/CHANGES.rst
index 500ab56..22d08fa 100644
--- a/docs/CHANGES.rst
+++ b/docs/CHANGES.rst
@@ -8,6 +8,10 @@ Changelog
4.3.4 (unreleased)
------------------
+- Abstract the search form and livesearch action URLs making it easier to
+ extend the search portlet with custom views or other actions.
+ [rpatterson]
+
- Declare minimum plone.app.jquery dependency (1.7.2) in setup.py.
[thet]
-------------------------------------------------------------------------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: CHANGES.log
Type: application/octet-stream
Size: 35393 bytes
Desc: not available
URL: <http://lists.plone.org/pipermail/plone-testbot/attachments/20140613/69dac94a/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: build.log
Type: application/octet-stream
Size: 88301 bytes
Desc: not available
URL: <http://lists.plone.org/pipermail/plone-testbot/attachments/20140613/69dac94a/attachment-0003.obj>
More information about the Testbot
mailing list