Now all modules are in core modules folder
This commit is contained in:
parent
5ba1cdfa0b
commit
05b6a91b0c
1907 changed files with 0 additions and 0 deletions
220
modules/storm/js/ahah.js
Normal file
220
modules/storm/js/ahah.js
Normal file
|
@ -0,0 +1,220 @@
|
|||
|
||||
/**
|
||||
* Provides AJAX-like page updating via AHAH (Asynchronous HTML and HTTP).
|
||||
*
|
||||
* AHAH is a method of making a request via Javascript while viewing an HTML
|
||||
* page. The request returns a small chunk of HTML, which is then directly
|
||||
* injected into the page.
|
||||
*
|
||||
* Drupal uses this file to enhance form elements with #ahah[path] and
|
||||
* #ahah[wrapper] properties. If set, this file will automatically be included
|
||||
* to provide AHAH capabilities.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Attaches the ahah behavior to each ahah form element.
|
||||
*/
|
||||
Drupal.behaviors.ahah = function(context) {
|
||||
for (var base in Drupal.settings.ahah) {
|
||||
if (!$('#'+ base + '.ahah-processed').size()) {
|
||||
var element_settings = Drupal.settings.ahah[base];
|
||||
|
||||
$(element_settings.selector).each(function() {
|
||||
element_settings.element = this;
|
||||
var ahah = new Drupal.ahah(base, element_settings);
|
||||
});
|
||||
|
||||
$('#'+ base).addClass('ahah-processed');
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* AHAH object.
|
||||
*/
|
||||
Drupal.ahah = function(base, element_settings) {
|
||||
// Set the properties for this object.
|
||||
this.element = element_settings.element;
|
||||
this.selector = element_settings.selector;
|
||||
this.event = element_settings.event;
|
||||
this.keypress = element_settings.keypress;
|
||||
this.url = element_settings.url;
|
||||
this.wrapper = '#'+ element_settings.wrapper;
|
||||
this.effect = element_settings.effect;
|
||||
this.method = element_settings.method;
|
||||
this.progress = element_settings.progress;
|
||||
this.button = element_settings.button || { };
|
||||
|
||||
if (this.effect == 'none') {
|
||||
this.showEffect = 'show';
|
||||
this.hideEffect = 'hide';
|
||||
this.showSpeed = '';
|
||||
}
|
||||
else if (this.effect == 'fade') {
|
||||
this.showEffect = 'fadeIn';
|
||||
this.hideEffect = 'fadeOut';
|
||||
this.showSpeed = 'slow';
|
||||
}
|
||||
else {
|
||||
this.showEffect = this.effect + 'Toggle';
|
||||
this.hideEffect = this.effect + 'Toggle';
|
||||
this.showSpeed = 'slow';
|
||||
}
|
||||
|
||||
// Record the form action and target, needed for iFrame file uploads.
|
||||
var form = $(this.element).parents('form');
|
||||
this.form_action = form.attr('action');
|
||||
this.form_target = form.attr('target');
|
||||
this.form_encattr = form.attr('encattr');
|
||||
|
||||
// Set the options for the ajaxSubmit function.
|
||||
// The 'this' variable will not persist inside of the options object.
|
||||
var ahah = this;
|
||||
var options = {
|
||||
url: ahah.url,
|
||||
data: ahah.button,
|
||||
beforeSubmit: function(form_values, element_settings, options) {
|
||||
return ahah.beforeSubmit(form_values, element_settings, options);
|
||||
},
|
||||
success: function(response, status) {
|
||||
// Sanity check for browser support (object expected).
|
||||
// When using iFrame uploads, responses must be returned as a string.
|
||||
if (typeof(response) == 'string') {
|
||||
response = Drupal.parseJson(response);
|
||||
}
|
||||
return ahah.success(response, status);
|
||||
},
|
||||
complete: function(response, status) {
|
||||
if (status == 'error' || status == 'parsererror') {
|
||||
return ahah.error(response, ahah.url);
|
||||
}
|
||||
},
|
||||
dataType: 'json',
|
||||
type: 'POST'
|
||||
};
|
||||
|
||||
// Bind the ajaxSubmit function to the element event.
|
||||
$(element_settings.element).bind(element_settings.event, function() {
|
||||
$(element_settings.element).parents('form').ajaxSubmit(options);
|
||||
return false;
|
||||
});
|
||||
// If necessary, enable keyboard submission so that AHAH behaviors
|
||||
// can be triggered through keyboard input as well as e.g. a mousedown
|
||||
// action.
|
||||
if (element_settings.keypress) {
|
||||
$(element_settings.element).keypress(function(event) {
|
||||
// Detect enter key.
|
||||
if (event.keyCode == 13) {
|
||||
$(element_settings.element).trigger(element_settings.event);
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Handler for the form redirection submission.
|
||||
*/
|
||||
Drupal.ahah.prototype.beforeSubmit = function (form_values, element, options) {
|
||||
// Disable the element that received the change.
|
||||
$(this.element).addClass('progress-disabled').attr('disabled', true);
|
||||
|
||||
// Insert progressbar or throbber.
|
||||
if (this.progress.type == 'bar') {
|
||||
var progressBar = new Drupal.progressBar('ahah-progress-' + this.element.id, eval(this.progress.update_callback), this.progress.method, eval(this.progress.error_callback));
|
||||
if (this.progress.message) {
|
||||
progressBar.setProgress(-1, this.progress.message);
|
||||
}
|
||||
if (this.progress.url) {
|
||||
progressBar.startMonitoring(this.progress.url, this.progress.interval || 1500);
|
||||
}
|
||||
this.progress.element = $(progressBar.element).addClass('ahah-progress ahah-progress-bar');
|
||||
this.progress.object = progressBar;
|
||||
$(this.element).after(this.progress.element);
|
||||
}
|
||||
else if (this.progress.type == 'throbber') {
|
||||
this.progress.element = $('<div class="ahah-progress ahah-progress-throbber"><div class="throbber"> </div></div>');
|
||||
if (this.progress.message) {
|
||||
$('.throbber', this.progress.element).after('<div class="message">' + this.progress.message + '</div>');
|
||||
}
|
||||
$(this.element).after(this.progress.element);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Handler for the form redirection completion.
|
||||
*/
|
||||
Drupal.ahah.prototype.success = function (response, status) {
|
||||
var wrapper = $(this.wrapper);
|
||||
var form = $(this.element).parents('form');
|
||||
// Manually insert HTML into the jQuery object, using $() directly crashes
|
||||
// Safari with long string lengths. http://dev.jquery.com/ticket/1152
|
||||
var new_content = $('<div></div>').html(response.data);
|
||||
|
||||
// Restore the previous action and target to the form.
|
||||
form.attr('action', this.form_action);
|
||||
this.form_target ? form.attr('target', this.form_target) : form.removeAttr('target');
|
||||
this.form_encattr ? form.attr('target', this.form_encattr) : form.removeAttr('encattr');
|
||||
|
||||
// Remove the progress element.
|
||||
if (this.progress.element) {
|
||||
$(this.progress.element).remove();
|
||||
}
|
||||
if (this.progress.object) {
|
||||
this.progress.object.stopMonitoring();
|
||||
}
|
||||
$(this.element).removeClass('progress-disabled').attr('disabled', false);
|
||||
|
||||
// Add the new content to the page.
|
||||
Drupal.freezeHeight();
|
||||
if (this.method == 'replace') {
|
||||
wrapper.empty().append(new_content);
|
||||
}
|
||||
else {
|
||||
wrapper[this.method](new_content);
|
||||
}
|
||||
|
||||
// Immediately hide the new content if we're using any effects.
|
||||
if (this.showEffect != 'show') {
|
||||
new_content.hide();
|
||||
}
|
||||
|
||||
// Determine what effect use and what content will receive the effect, then
|
||||
// show the new content.
|
||||
if ($('.ahah-new-content', new_content).size() > 0) {
|
||||
$('.ahah-new-content', new_content).hide();
|
||||
new_content.show();
|
||||
$(".ahah-new-content", new_content)[this.showEffect](this.showSpeed);
|
||||
}
|
||||
else if (this.showEffect != 'show') {
|
||||
new_content[this.showEffect](this.showSpeed);
|
||||
}
|
||||
|
||||
// Attach all javascript behaviors to the new content, if it was successfully
|
||||
// added to the page, this if statement allows #ahah[wrapper] to be optional.
|
||||
if (new_content.parents('html').length > 0) {
|
||||
Drupal.attachBehaviors(new_content);
|
||||
}
|
||||
|
||||
Drupal.unfreezeHeight();
|
||||
};
|
||||
|
||||
/**
|
||||
* Handler for the form redirection error.
|
||||
*/
|
||||
Drupal.ahah.prototype.error = function (response, uri) {
|
||||
alert(Drupal.ahahError(response, uri));
|
||||
// Resore the previous action and target to the form.
|
||||
$(this.element).parent('form').attr( { action: this.form_action, target: this.form_target} );
|
||||
// Remove the progress element.
|
||||
if (this.progress.element) {
|
||||
$(this.progress.element).remove();
|
||||
}
|
||||
if (this.progress.object) {
|
||||
this.progress.object.stopMonitoring();
|
||||
}
|
||||
// Undo hide.
|
||||
$(this.wrapper).show();
|
||||
// Re-enable the element.
|
||||
$(this.element).removeClass('progess-disabled').attr('disabled', false);
|
||||
};
|
268
modules/storm/js/farbtastic.js
Normal file
268
modules/storm/js/farbtastic.js
Normal file
|
@ -0,0 +1,268 @@
|
|||
// Farbtastic 1.2
|
||||
|
||||
jQuery.fn.farbtastic = function (callback) {
|
||||
$.farbtastic(this, callback);
|
||||
return this;
|
||||
};
|
||||
|
||||
jQuery.farbtastic = function (container, callback) {
|
||||
var container = $(container).get(0);
|
||||
return container.farbtastic || (container.farbtastic = new jQuery._farbtastic(container, callback));
|
||||
};
|
||||
|
||||
jQuery._farbtastic = function (container, callback) {
|
||||
// Store farbtastic object
|
||||
var fb = this;
|
||||
|
||||
// Insert markup
|
||||
$(container).html('<div class="farbtastic"><div class="color"></div><div class="wheel"></div><div class="overlay"></div><div class="h-marker marker"></div><div class="sl-marker marker"></div></div>');
|
||||
var e = $('.farbtastic', container);
|
||||
fb.wheel = $('.wheel', container).get(0);
|
||||
// Dimensions
|
||||
fb.radius = 84;
|
||||
fb.square = 100;
|
||||
fb.width = 194;
|
||||
|
||||
// Fix background PNGs in IE6
|
||||
if (navigator.appVersion.match(/MSIE [0-6]\./)) {
|
||||
$('*', e).each(function () {
|
||||
if (this.currentStyle.backgroundImage != 'none') {
|
||||
var image = this.currentStyle.backgroundImage;
|
||||
image = this.currentStyle.backgroundImage.substring(5, image.length - 2);
|
||||
$(this).css({
|
||||
'backgroundImage': 'none',
|
||||
'filter': "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop, src='" + image + "')"
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Link to the given element(s) or callback.
|
||||
*/
|
||||
fb.linkTo = function (callback) {
|
||||
// Unbind previous nodes
|
||||
if (typeof fb.callback == 'object') {
|
||||
$(fb.callback).unbind('keyup', fb.updateValue);
|
||||
}
|
||||
|
||||
// Reset color
|
||||
fb.color = null;
|
||||
|
||||
// Bind callback or elements
|
||||
if (typeof callback == 'function') {
|
||||
fb.callback = callback;
|
||||
}
|
||||
else if (typeof callback == 'object' || typeof callback == 'string') {
|
||||
fb.callback = $(callback);
|
||||
fb.callback.bind('keyup', fb.updateValue);
|
||||
if (fb.callback.get(0).value) {
|
||||
fb.setColor(fb.callback.get(0).value);
|
||||
}
|
||||
}
|
||||
return this;
|
||||
};
|
||||
fb.updateValue = function (event) {
|
||||
if (this.value && this.value != fb.color) {
|
||||
fb.setColor(this.value);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Change color with HTML syntax #123456
|
||||
*/
|
||||
fb.setColor = function (color) {
|
||||
var unpack = fb.unpack(color);
|
||||
if (fb.color != color && unpack) {
|
||||
fb.color = color;
|
||||
fb.rgb = unpack;
|
||||
fb.hsl = fb.RGBToHSL(fb.rgb);
|
||||
fb.updateDisplay();
|
||||
}
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Change color with HSL triplet [0..1, 0..1, 0..1]
|
||||
*/
|
||||
fb.setHSL = function (hsl) {
|
||||
fb.hsl = hsl;
|
||||
fb.rgb = fb.HSLToRGB(hsl);
|
||||
fb.color = fb.pack(fb.rgb);
|
||||
fb.updateDisplay();
|
||||
return this;
|
||||
};
|
||||
|
||||
/////////////////////////////////////////////////////
|
||||
|
||||
/**
|
||||
* Retrieve the coordinates of the given event relative to the center
|
||||
* of the widget.
|
||||
*/
|
||||
fb.widgetCoords = function (event) {
|
||||
var offset = $(fb.wheel).offset();
|
||||
return { x: (event.pageX - offset.left) - fb.width / 2, y: (event.pageY - offset.top) - fb.width / 2 };
|
||||
};
|
||||
|
||||
/**
|
||||
* Mousedown handler
|
||||
*/
|
||||
fb.mousedown = function (event) {
|
||||
// Capture mouse
|
||||
if (!document.dragging) {
|
||||
$(document).bind('mousemove', fb.mousemove).bind('mouseup', fb.mouseup);
|
||||
document.dragging = true;
|
||||
}
|
||||
|
||||
// Check which area is being dragged
|
||||
var pos = fb.widgetCoords(event);
|
||||
fb.circleDrag = Math.max(Math.abs(pos.x), Math.abs(pos.y)) * 2 > fb.square;
|
||||
|
||||
// Process
|
||||
fb.mousemove(event);
|
||||
return false;
|
||||
};
|
||||
|
||||
/**
|
||||
* Mousemove handler
|
||||
*/
|
||||
fb.mousemove = function (event) {
|
||||
// Get coordinates relative to color picker center
|
||||
var pos = fb.widgetCoords(event);
|
||||
|
||||
// Set new HSL parameters
|
||||
if (fb.circleDrag) {
|
||||
var hue = Math.atan2(pos.x, -pos.y) / 6.28;
|
||||
if (hue < 0) hue += 1;
|
||||
fb.setHSL([hue, fb.hsl[1], fb.hsl[2]]);
|
||||
}
|
||||
else {
|
||||
var sat = Math.max(0, Math.min(1, -(pos.x / fb.square) + .5));
|
||||
var lum = Math.max(0, Math.min(1, -(pos.y / fb.square) + .5));
|
||||
fb.setHSL([fb.hsl[0], sat, lum]);
|
||||
}
|
||||
return false;
|
||||
};
|
||||
|
||||
/**
|
||||
* Mouseup handler
|
||||
*/
|
||||
fb.mouseup = function () {
|
||||
// Uncapture mouse
|
||||
$(document).unbind('mousemove', fb.mousemove);
|
||||
$(document).unbind('mouseup', fb.mouseup);
|
||||
document.dragging = false;
|
||||
};
|
||||
|
||||
/**
|
||||
* Update the markers and styles
|
||||
*/
|
||||
fb.updateDisplay = function () {
|
||||
// Markers
|
||||
var angle = fb.hsl[0] * 6.28;
|
||||
$('.h-marker', e).css({
|
||||
left: Math.round(Math.sin(angle) * fb.radius + fb.width / 2) + 'px',
|
||||
top: Math.round(-Math.cos(angle) * fb.radius + fb.width / 2) + 'px'
|
||||
});
|
||||
|
||||
$('.sl-marker', e).css({
|
||||
left: Math.round(fb.square * (.5 - fb.hsl[1]) + fb.width / 2) + 'px',
|
||||
top: Math.round(fb.square * (.5 - fb.hsl[2]) + fb.width / 2) + 'px'
|
||||
});
|
||||
|
||||
// Saturation/Luminance gradient
|
||||
$('.color', e).css('backgroundColor', fb.pack(fb.HSLToRGB([fb.hsl[0], 1, 0.5])));
|
||||
|
||||
// Linked elements or callback
|
||||
if (typeof fb.callback == 'object') {
|
||||
// Set background/foreground color
|
||||
$(fb.callback).css({
|
||||
backgroundColor: fb.color,
|
||||
color: fb.hsl[2] > 0.5 ? '#000' : '#fff'
|
||||
});
|
||||
|
||||
// Change linked value
|
||||
$(fb.callback).each(function() {
|
||||
if (this.value && this.value != fb.color) {
|
||||
this.value = fb.color;
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (typeof fb.callback == 'function') {
|
||||
fb.callback.call(fb, fb.color);
|
||||
}
|
||||
};
|
||||
|
||||
/* Various color utility functions */
|
||||
fb.pack = function (rgb) {
|
||||
var r = Math.round(rgb[0] * 255);
|
||||
var g = Math.round(rgb[1] * 255);
|
||||
var b = Math.round(rgb[2] * 255);
|
||||
return '#' + (r < 16 ? '0' : '') + r.toString(16) +
|
||||
(g < 16 ? '0' : '') + g.toString(16) +
|
||||
(b < 16 ? '0' : '') + b.toString(16);
|
||||
};
|
||||
|
||||
fb.unpack = function (color) {
|
||||
if (color.length == 7) {
|
||||
return [parseInt('0x' + color.substring(1, 3)) / 255,
|
||||
parseInt('0x' + color.substring(3, 5)) / 255,
|
||||
parseInt('0x' + color.substring(5, 7)) / 255];
|
||||
}
|
||||
else if (color.length == 4) {
|
||||
return [parseInt('0x' + color.substring(1, 2)) / 15,
|
||||
parseInt('0x' + color.substring(2, 3)) / 15,
|
||||
parseInt('0x' + color.substring(3, 4)) / 15];
|
||||
}
|
||||
};
|
||||
|
||||
fb.HSLToRGB = function (hsl) {
|
||||
var m1, m2, r, g, b;
|
||||
var h = hsl[0], s = hsl[1], l = hsl[2];
|
||||
m2 = (l <= 0.5) ? l * (s + 1) : l + s - l*s;
|
||||
m1 = l * 2 - m2;
|
||||
return [this.hueToRGB(m1, m2, h+0.33333),
|
||||
this.hueToRGB(m1, m2, h),
|
||||
this.hueToRGB(m1, m2, h-0.33333)];
|
||||
};
|
||||
|
||||
fb.hueToRGB = function (m1, m2, h) {
|
||||
h = (h < 0) ? h + 1 : ((h > 1) ? h - 1 : h);
|
||||
if (h * 6 < 1) return m1 + (m2 - m1) * h * 6;
|
||||
if (h * 2 < 1) return m2;
|
||||
if (h * 3 < 2) return m1 + (m2 - m1) * (0.66666 - h) * 6;
|
||||
return m1;
|
||||
};
|
||||
|
||||
fb.RGBToHSL = function (rgb) {
|
||||
var min, max, delta, h, s, l;
|
||||
var r = rgb[0], g = rgb[1], b = rgb[2];
|
||||
min = Math.min(r, Math.min(g, b));
|
||||
max = Math.max(r, Math.max(g, b));
|
||||
delta = max - min;
|
||||
l = (min + max) / 2;
|
||||
s = 0;
|
||||
if (l > 0 && l < 1) {
|
||||
s = delta / (l < 0.5 ? (2 * l) : (2 - 2 * l));
|
||||
}
|
||||
h = 0;
|
||||
if (delta > 0) {
|
||||
if (max == r && max != g) h += (g - b) / delta;
|
||||
if (max == g && max != b) h += (2 + (b - r) / delta);
|
||||
if (max == b && max != r) h += (4 + (r - g) / delta);
|
||||
h /= 6;
|
||||
}
|
||||
return [h, s, l];
|
||||
};
|
||||
|
||||
// Install mousedown handler (the others are set on the document on-demand)
|
||||
$('*', e).mousedown(fb.mousedown);
|
||||
|
||||
// Init color
|
||||
fb.setColor('#000000');
|
||||
|
||||
// Set linked elements/callback
|
||||
if (callback) {
|
||||
fb.linkTo(callback);
|
||||
}
|
||||
};
|
32
modules/storm/js/jquery-1.2.6.min.js
vendored
Normal file
32
modules/storm/js/jquery-1.2.6.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
19
modules/storm/js/jquery-1.3.2.min.js
vendored
Normal file
19
modules/storm/js/jquery-1.3.2.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
4
modules/storm/js/jquery-1.7.2.min.js
vendored
Normal file
4
modules/storm/js/jquery-1.7.2.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
5
modules/storm/js/jquery-1.9.1.min.js
vendored
Normal file
5
modules/storm/js/jquery-1.9.1.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
3
modules/storm/js/jquery-ie.js
vendored
Normal file
3
modules/storm/js/jquery-ie.js
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
if ($.browser.msie && $.browser.version <= 10) {
|
||||
$("html").addClass("ie");
|
||||
}
|
1
modules/storm/js/jquery-switch.js
vendored
Normal file
1
modules/storm/js/jquery-switch.js
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
var $jq = jQuery.noConflict();
|
28
modules/storm/js/jquery.form.2.43.js
Normal file
28
modules/storm/js/jquery.form.2.43.js
Normal file
|
@ -0,0 +1,28 @@
|
|||
/*!
|
||||
* jQuery Form Plugin
|
||||
* version: 2.43 (12-MAR-2010)
|
||||
* @requires jQuery v1.3.2 or later
|
||||
*
|
||||
* Examples and documentation at: http://malsup.com/jquery/form/
|
||||
* Dual licensed under the MIT and GPL licenses:
|
||||
* http://www.opensource.org/licenses/mit-license.php
|
||||
* http://www.gnu.org/licenses/gpl.html
|
||||
*/
|
||||
(function(b){function o(){if(b.fn.ajaxSubmit.debug){var a="[jquery.form] "+Array.prototype.join.call(arguments,"");if(window.console&&window.console.log)window.console.log(a);else window.opera&&window.opera.postError&&window.opera.postError(a)}}b.fn.ajaxSubmit=function(a){function d(){function r(){var p=h.attr("target"),n=h.attr("action");j.setAttribute("target",z);j.getAttribute("method")!="POST"&&j.setAttribute("method","POST");j.getAttribute("action")!=g.url&&j.setAttribute("action",g.url);g.skipEncodingOverride||
|
||||
h.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"});g.timeout&&setTimeout(function(){C=true;s()},g.timeout);var m=[];try{if(g.extraData)for(var u in g.extraData)m.push(b('<input type="hidden" name="'+u+'" value="'+g.extraData[u]+'" />').appendTo(j)[0]);t.appendTo("body");t.data("form-plugin-onload",s);j.submit()}finally{j.setAttribute("action",n);p?j.setAttribute("target",p):h.removeAttr("target");b(m).remove()}}function s(){if(!D){var p=true;try{if(C)throw"timeout";var n,m;m=v.contentWindow?
|
||||
v.contentWindow.document:v.contentDocument?v.contentDocument:v.document;var u=g.dataType=="xml"||m.XMLDocument||b.isXMLDoc(m);o("isXml="+u);if(!u&&(m.body==null||m.body.innerHTML=="")){if(--G){o("requeing onLoad callback, DOM not available");setTimeout(s,250);return}o("Could not access iframe DOM after 100 tries.");return}o("response detected");D=true;i.responseText=m.body?m.body.innerHTML:null;i.responseXML=m.XMLDocument?m.XMLDocument:m;i.getResponseHeader=function(H){return{"content-type":g.dataType}[H]};
|
||||
if(g.dataType=="json"||g.dataType=="script"){var E=m.getElementsByTagName("textarea")[0];if(E)i.responseText=E.value;else{var F=m.getElementsByTagName("pre")[0];if(F)i.responseText=F.innerHTML}}else if(g.dataType=="xml"&&!i.responseXML&&i.responseText!=null)i.responseXML=A(i.responseText);n=b.httpData(i,g.dataType)}catch(B){o("error caught:",B);p=false;i.error=B;b.handleError(g,i,"error",B)}if(p){g.success(n,"success");w&&b.event.trigger("ajaxSuccess",[i,g])}w&&b.event.trigger("ajaxComplete",[i,g]);
|
||||
w&&!--b.active&&b.event.trigger("ajaxStop");if(g.complete)g.complete(i,p?"success":"error");setTimeout(function(){t.removeData("form-plugin-onload");t.remove();i.responseXML=null},100)}}function A(p,n){if(window.ActiveXObject){n=new ActiveXObject("Microsoft.XMLDOM");n.async="false";n.loadXML(p)}else n=(new DOMParser).parseFromString(p,"text/xml");return n&&n.documentElement&&n.documentElement.tagName!="parsererror"?n:null}var j=h[0];if(b(":input[name=submit]",j).length)alert('Error: Form elements must not be named "submit".');
|
||||
else{var g=b.extend({},b.ajaxSettings,a),q=b.extend(true,{},b.extend(true,{},b.ajaxSettings),g),z="jqFormIO"+(new Date).getTime(),t=b('<iframe id="'+z+'" name="'+z+'" src="'+g.iframeSrc+'" onload="(jQuery(this).data(\'form-plugin-onload\'))()" />'),v=t[0];t.css({position:"absolute",top:"-1000px",left:"-1000px"});var i={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(){this.aborted=
|
||||
1;t.attr("src",g.iframeSrc)}},w=g.global;w&&!b.active++&&b.event.trigger("ajaxStart");w&&b.event.trigger("ajaxSend",[i,g]);if(q.beforeSend&&q.beforeSend(i,q)===false)q.global&&b.active--;else if(!i.aborted){var D=false,C=0;if(q=j.clk){var y=q.name;if(y&&!q.disabled){g.extraData=g.extraData||{};g.extraData[y]=q.value;if(q.type=="image"){g.extraData[y+".x"]=j.clk_x;g.extraData[y+".y"]=j.clk_y}}}g.forceSync?r():setTimeout(r,10);var G=100}}}if(!this.length){o("ajaxSubmit: skipping submit process - no element selected");
|
||||
return this}if(typeof a=="function")a={success:a};var e=b.trim(this.attr("action"));if(e)e=(e.match(/^([^#]+)/)||[])[1];e=e||window.location.href||"";a=b.extend({url:e,type:this.attr("method")||"GET",iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank"},a||{});e={};this.trigger("form-pre-serialize",[this,a,e]);if(e.veto){o("ajaxSubmit: submit vetoed via form-pre-serialize trigger");return this}if(a.beforeSerialize&&a.beforeSerialize(this,a)===false){o("ajaxSubmit: submit aborted via beforeSerialize callback");
|
||||
return this}var f=this.formToArray(a.semantic);if(a.data){a.extraData=a.data;for(var c in a.data)if(a.data[c]instanceof Array)for(var l in a.data[c])f.push({name:c,value:a.data[c][l]});else f.push({name:c,value:a.data[c]})}if(a.beforeSubmit&&a.beforeSubmit(f,this,a)===false){o("ajaxSubmit: submit aborted via beforeSubmit callback");return this}this.trigger("form-submit-validate",[f,this,a,e]);if(e.veto){o("ajaxSubmit: submit vetoed via form-submit-validate trigger");return this}c=b.param(f);if(a.type.toUpperCase()==
|
||||
"GET"){a.url+=(a.url.indexOf("?")>=0?"&":"?")+c;a.data=null}else a.data=c;var h=this,k=[];a.resetForm&&k.push(function(){h.resetForm()});a.clearForm&&k.push(function(){h.clearForm()});if(!a.dataType&&a.target){var x=a.success||function(){};k.push(function(r){var s=a.replaceTarget?"replaceWith":"html";b(a.target)[s](r).each(x,arguments)})}else a.success&&k.push(a.success);a.success=function(r,s,A){for(var j=0,g=k.length;j<g;j++)k[j].apply(a,[r,s,A||h,h])};c=b("input:file",this).fieldValue();l=false;
|
||||
for(e=0;e<c.length;e++)if(c[e])l=true;if(c.length&&a.iframe!==false||a.iframe||l||0)a.closeKeepAlive?b.get(a.closeKeepAlive,d):d();else b.ajax(a);this.trigger("form-submit-notify",[this,a]);return this};b.fn.ajaxForm=function(a){return this.ajaxFormUnbind().bind("submit.form-plugin",function(d){d.preventDefault();b(this).ajaxSubmit(a)}).bind("click.form-plugin",function(d){var e=d.target,f=b(e);if(!f.is(":submit,input:image")){e=f.closest(":submit");if(e.length==0)return;e=e[0]}var c=this;c.clk=e;
|
||||
if(e.type=="image")if(d.offsetX!=undefined){c.clk_x=d.offsetX;c.clk_y=d.offsetY}else if(typeof b.fn.offset=="function"){f=f.offset();c.clk_x=d.pageX-f.left;c.clk_y=d.pageY-f.top}else{c.clk_x=d.pageX-e.offsetLeft;c.clk_y=d.pageY-e.offsetTop}setTimeout(function(){c.clk=c.clk_x=c.clk_y=null},100)})};b.fn.ajaxFormUnbind=function(){return this.unbind("submit.form-plugin click.form-plugin")};b.fn.formToArray=function(a){var d=[];if(this.length==0)return d;var e=this[0],f=a?e.getElementsByTagName("*"):e.elements;
|
||||
if(!f)return d;for(var c=0,l=f.length;c<l;c++){var h=f[c],k=h.name;if(k)if(a&&e.clk&&h.type=="image"){if(!h.disabled&&e.clk==h){d.push({name:k,value:b(h).val()});d.push({name:k+".x",value:e.clk_x},{name:k+".y",value:e.clk_y})}}else if((h=b.fieldValue(h,true))&&h.constructor==Array)for(var x=0,r=h.length;x<r;x++)d.push({name:k,value:h[x]});else h!==null&&typeof h!="undefined"&&d.push({name:k,value:h})}if(!a&&e.clk){a=b(e.clk);f=a[0];if((k=f.name)&&!f.disabled&&f.type=="image"){d.push({name:k,value:a.val()});
|
||||
d.push({name:k+".x",value:e.clk_x},{name:k+".y",value:e.clk_y})}}return d};b.fn.formSerialize=function(a){return b.param(this.formToArray(a))};b.fn.fieldSerialize=function(a){var d=[];this.each(function(){var e=this.name;if(e){var f=b.fieldValue(this,a);if(f&&f.constructor==Array)for(var c=0,l=f.length;c<l;c++)d.push({name:e,value:f[c]});else f!==null&&typeof f!="undefined"&&d.push({name:this.name,value:f})}});return b.param(d)};b.fn.fieldValue=function(a){for(var d=[],e=0,f=this.length;e<f;e++){var c=
|
||||
b.fieldValue(this[e],a);c===null||typeof c=="undefined"||c.constructor==Array&&!c.length||(c.constructor==Array?b.merge(d,c):d.push(c))}return d};b.fieldValue=function(a,d){var e=a.name,f=a.type,c=a.tagName.toLowerCase();if(typeof d=="undefined")d=true;if(d&&(!e||a.disabled||f=="reset"||f=="button"||(f=="checkbox"||f=="radio")&&!a.checked||(f=="submit"||f=="image")&&a.form&&a.form.clk!=a||c=="select"&&a.selectedIndex==-1))return null;if(c=="select"){c=a.selectedIndex;if(c<0)return null;d=[];a=a.options;
|
||||
e=(f=f=="select-one")?c+1:a.length;for(c=f?c:0;c<e;c++){var l=a[c];if(l.selected){var h=l.value;h||(h=l.attributes&&l.attributes.value&&!l.attributes.value.specified?l.text:l.value);if(f)return h;d.push(h)}}return d}return a.value};b.fn.clearForm=function(){return this.each(function(){b("input,select,textarea",this).clearFields()})};b.fn.clearFields=b.fn.clearInputs=function(){return this.each(function(){var a=this.type,d=this.tagName.toLowerCase();if(a=="text"||a=="password"||d=="textarea")this.value=
|
||||
"";else if(a=="checkbox"||a=="radio")this.checked=false;else if(d=="select")this.selectedIndex=-1})};b.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=="function"||typeof this.reset=="object"&&!this.reset.nodeType)this.reset()})};b.fn.enable=function(a){if(a==undefined)a=true;return this.each(function(){this.disabled=!a})};b.fn.selected=function(a){if(a==undefined)a=true;return this.each(function(){var d=this.type;if(d=="checkbox"||d=="radio")this.checked=a;else if(this.tagName.toLowerCase()==
|
||||
"option"){d=b(this).parent("select");a&&d[0]&&d[0].type=="select-one"&&d.find("option").selected(false);this.selected=a}})}})(jQuery);
|
11
modules/storm/js/jquery.form.2.49.js
Normal file
11
modules/storm/js/jquery.form.2.49.js
Normal file
File diff suppressed because one or more lines are too long
12
modules/storm/js/jquery.form.2.64.js
Normal file
12
modules/storm/js/jquery.form.2.64.js
Normal file
File diff suppressed because one or more lines are too long
11
modules/storm/js/jquery.form.2.67.js
Normal file
11
modules/storm/js/jquery.form.2.67.js
Normal file
File diff suppressed because one or more lines are too long
11
modules/storm/js/jquery.form.2.94.js
Normal file
11
modules/storm/js/jquery.form.2.94.js
Normal file
File diff suppressed because one or more lines are too long
11
modules/storm/js/jquery.form.2.95.js
Normal file
11
modules/storm/js/jquery.form.2.95.js
Normal file
File diff suppressed because one or more lines are too long
12
modules/storm/js/jquery.form.3.14.js
Normal file
12
modules/storm/js/jquery.form.3.14.js
Normal file
File diff suppressed because one or more lines are too long
12
modules/storm/js/jquery.form.3.15.js
Normal file
12
modules/storm/js/jquery.form.3.15.js
Normal file
File diff suppressed because one or more lines are too long
1
modules/storm/js/jquery.form.3.19.js
Normal file
1
modules/storm/js/jquery.form.3.19.js
Normal file
File diff suppressed because one or more lines are too long
1
modules/storm/js/jquery.form.3.36.js
Normal file
1
modules/storm/js/jquery.form.3.36.js
Normal file
File diff suppressed because one or more lines are too long
11
modules/storm/js/jquery.form.3.51.js
Normal file
11
modules/storm/js/jquery.form.3.51.js
Normal file
File diff suppressed because one or more lines are too long
1082
modules/storm/js/tabledrag.js
Normal file
1082
modules/storm/js/tabledrag.js
Normal file
File diff suppressed because it is too large
Load diff
90
modules/storm/js/teaser.js
Normal file
90
modules/storm/js/teaser.js
Normal file
|
@ -0,0 +1,90 @@
|
|||
|
||||
/**
|
||||
* Auto-attach for teaser behavior.
|
||||
*
|
||||
* Note: depends on resizable textareas.
|
||||
*/
|
||||
Drupal.behaviors.teaser = function(context) {
|
||||
$('textarea.teaser:not(.teaser-processed)', context).each(function() {
|
||||
var teaser = $(this).addClass('teaser-processed');
|
||||
|
||||
// Move teaser textarea before body, and remove its form-item wrapper.
|
||||
var body = $('#'+ Drupal.settings.teaser[this.id]);
|
||||
var checkbox = $('#'+ Drupal.settings.teaserCheckbox[this.id]).parent();
|
||||
var checked = $(checkbox).children('input').attr('checked') ? true : false;
|
||||
var parent = teaser[0].parentNode;
|
||||
$(body).before(teaser);
|
||||
$(parent).remove();
|
||||
|
||||
function trim(text) {
|
||||
return text.replace(/^\s+/g, '').replace(/\s+$/g, '');
|
||||
}
|
||||
|
||||
// Join the teaser back to the body.
|
||||
function join_teaser() {
|
||||
if (teaser.val()) {
|
||||
body.val(trim(teaser.val()) +'\r\n\r\n'+ trim(body.val()));
|
||||
}
|
||||
// Empty, hide and disable teaser.
|
||||
teaser[0].value = '';
|
||||
$(teaser).attr('disabled', 'disabled');
|
||||
$(teaser).parent().slideUp('fast');
|
||||
// Change label.
|
||||
$(this).val(Drupal.t('Split summary at cursor'));
|
||||
// Hide separate teaser checkbox.
|
||||
$(checkbox).hide();
|
||||
// Force a hidden checkbox to be checked (to ensure that the body is
|
||||
// correctly processed on form submit when teaser/body are in joined
|
||||
// state), and remember the current checked status.
|
||||
checked = $(checkbox).children('input').attr('checked') ? true : false;
|
||||
$(checkbox).children('input').attr('checked', true);
|
||||
}
|
||||
|
||||
// Split the teaser from the body.
|
||||
function split_teaser() {
|
||||
body[0].focus();
|
||||
var selection = Drupal.getSelection(body[0]);
|
||||
var split = selection.start;
|
||||
var text = body.val();
|
||||
|
||||
// Note: using val() fails sometimes. jQuery bug?
|
||||
teaser[0].value = trim(text.slice(0, split));
|
||||
body[0].value = trim(text.slice(split));
|
||||
// Reveal and enable teaser
|
||||
$(teaser).attr('disabled', '');
|
||||
$(teaser).parent().slideDown('fast');
|
||||
// Change label
|
||||
$(this).val(Drupal.t('Join summary'));
|
||||
// Show separate teaser checkbox, restore checked value.
|
||||
$(checkbox).show().children('input').attr('checked', checked);
|
||||
}
|
||||
|
||||
// Add split/join button.
|
||||
var button = $('<div class="teaser-button-wrapper"><input type="button" class="teaser-button" /></div>');
|
||||
var include = $('#'+ this.id.substring(0, this.id.length - 2) +'include');
|
||||
$(include).parent().parent().before(button);
|
||||
|
||||
// Extract the teaser from the body, if set. Otherwise, stay in joined mode.
|
||||
var text = body.val().split('<!--break-->', 2);
|
||||
if (text.length == 2) {
|
||||
teaser[0].value = trim(text[0]);
|
||||
body[0].value = trim(text[1]);
|
||||
$(teaser).attr('disabled', '');
|
||||
$('input', button).val(Drupal.t('Join summary')).toggle(join_teaser, split_teaser);
|
||||
}
|
||||
else {
|
||||
$('input', button).val(Drupal.t('Split summary at cursor')).toggle(split_teaser, join_teaser);
|
||||
$(checkbox).hide().children('input').attr('checked', true);
|
||||
}
|
||||
|
||||
// Make sure that textarea.js has done its magic to ensure proper visibility state.
|
||||
if (Drupal.behaviors.textarea && teaser.is(('.form-textarea:not(.textarea-processed)'))) {
|
||||
Drupal.behaviors.textarea(teaser.parentNode);
|
||||
}
|
||||
// Set initial visibility
|
||||
if (teaser[0].disabled) {
|
||||
teaser.parent().hide();
|
||||
}
|
||||
|
||||
});
|
||||
};
|
Reference in a new issue