Browse Source

Removes references to performance.display(), out of scope!

Former-commit-id: d9276789447c1663dd27243827fa8ddf66b7be3d
Former-commit-id: cfeaff672eba887110aba26d016729e8a98fd95d
beta
Jack Lukic 11 years ago
parent
commit
557163e481
  1. 83
      build/minified/modules/accordion.js
  2. 2
      build/minified/modules/accordion.min.js
  3. 11
      build/minified/modules/behavior/api.js
  4. 2
      build/minified/modules/behavior/api.min.js
  5. 51
      build/minified/modules/behavior/form.js
  6. 2
      build/minified/modules/behavior/form.min.js
  7. 278
      build/minified/modules/behavior/state.js
  8. 2
      build/minified/modules/behavior/state.min.js
  9. 2
      build/minified/modules/carousel.js
  10. 38
      build/minified/modules/chat.js
  11. 2
      build/minified/modules/chat.min.js
  12. 5
      build/minified/modules/checkbox.js
  13. 2
      build/minified/modules/checkbox.min.js
  14. 51
      build/minified/modules/dimmer.js
  15. 2
      build/minified/modules/dimmer.min.css
  16. 2
      build/minified/modules/dimmer.min.js
  17. 40
      build/minified/modules/dropdown.js
  18. 2
      build/minified/modules/dropdown.min.js
  19. 3
      build/minified/modules/modal.js
  20. 2
      build/minified/modules/modal.min.js
  21. 30
      build/minified/modules/nag.js
  22. 2
      build/minified/modules/nag.min.js
  23. 5
      build/minified/modules/popup.js
  24. 2
      build/minified/modules/popup.min.js
  25. 42
      build/minified/modules/search.js
  26. 2
      build/minified/modules/search.min.js
  27. 220
      build/minified/modules/shape.js
  28. 2
      build/minified/modules/shape.min.js
  29. 402
      build/minified/modules/star.js
  30. 2
      build/minified/modules/star.min.js
  31. 21
      build/minified/modules/tab.js
  32. 2
      build/minified/modules/tab.min.js
  33. 19
      build/minified/modules/transition.js
  34. 2
      build/minified/modules/transition.min.js
  35. 41
      build/minified/modules/video.js
  36. 2
      build/minified/modules/video.min.js
  37. 83
      build/packaged/modules/accordion.js
  38. 11
      build/packaged/modules/behavior/api.js
  39. 51
      build/packaged/modules/behavior/form.js
  40. 278
      build/packaged/modules/behavior/state.js
  41. 2
      build/packaged/modules/carousel.js
  42. 38
      build/packaged/modules/chat.js
  43. 5
      build/packaged/modules/checkbox.js
  44. 51
      build/packaged/modules/dimmer.js
  45. 40
      build/packaged/modules/dropdown.js
  46. 3
      build/packaged/modules/modal.js
  47. 30
      build/packaged/modules/nag.js
  48. 5
      build/packaged/modules/popup.js
  49. 42
      build/packaged/modules/search.js
  50. 220
      build/packaged/modules/shape.js
  51. 402
      build/packaged/modules/star.js
  52. 21
      build/packaged/modules/tab.js
  53. 19
      build/packaged/modules/transition.js
  54. 41
      build/packaged/modules/video.js
  55. 2
      build/packaged/semantic.min.css.REMOVED.git-id
  56. 2
      build/packaged/semantic.min.js.REMOVED.git-id
  57. 83
      build/uncompressed/modules/accordion.js
  58. 11
      build/uncompressed/modules/behavior/api.js
  59. 51
      build/uncompressed/modules/behavior/form.js
  60. 278
      build/uncompressed/modules/behavior/state.js
  61. 2
      build/uncompressed/modules/carousel.js
  62. 38
      build/uncompressed/modules/chat.js
  63. 5
      build/uncompressed/modules/checkbox.js
  64. 27
      build/uncompressed/modules/dimmer.css
  65. 51
      build/uncompressed/modules/dimmer.js
  66. 40
      build/uncompressed/modules/dropdown.js
  67. 3
      build/uncompressed/modules/modal.js
  68. 30
      build/uncompressed/modules/nag.js
  69. 5
      build/uncompressed/modules/popup.js
  70. 42
      build/uncompressed/modules/search.js
  71. 220
      build/uncompressed/modules/shape.js
  72. 402
      build/uncompressed/modules/star.js
  73. 21
      build/uncompressed/modules/tab.js
  74. 19
      build/uncompressed/modules/transition.js
  75. 41
      build/uncompressed/modules/video.js
  76. 6
      node/package.json
  77. 83
      node/src/files/components/semantic/modules/accordion.js
  78. 11
      node/src/files/components/semantic/modules/behavior/api.js
  79. 51
      node/src/files/components/semantic/modules/behavior/form.js
  80. 278
      node/src/files/components/semantic/modules/behavior/state.js
  81. 2
      node/src/files/components/semantic/modules/carousel.js
  82. 38
      node/src/files/components/semantic/modules/chat.js
  83. 5
      node/src/files/components/semantic/modules/checkbox.js
  84. 27
      node/src/files/components/semantic/modules/dimmer.css
  85. 51
      node/src/files/components/semantic/modules/dimmer.js
  86. 40
      node/src/files/components/semantic/modules/dropdown.js
  87. 3
      node/src/files/components/semantic/modules/modal.js
  88. 30
      node/src/files/components/semantic/modules/nag.js
  89. 5
      node/src/files/components/semantic/modules/popup.js
  90. 42
      node/src/files/components/semantic/modules/search.js
  91. 220
      node/src/files/components/semantic/modules/shape.js
  92. 402
      node/src/files/components/semantic/modules/star.js
  93. 21
      node/src/files/components/semantic/modules/tab.js
  94. 19
      node/src/files/components/semantic/modules/transition.js
  95. 41
      node/src/files/components/semantic/modules/video.js
  96. 1
      src/modules/accordion.js
  97. 2
      src/modules/behavior/api.js
  98. 2
      src/modules/behavior/form.js
  99. 2
      src/modules/behavior/state.js
  100. 2
      src/modules/dropdown.js

83
build/minified/modules/accordion.js

@ -16,13 +16,18 @@ $.fn.accordion = function(parameters) {
? $.extend(true, {}, $.fn.accordion.settings, parameters)
: $.fn.accordion.settings,
eventNamespace = '.' + settings.namespace,
moduleNamespace = 'module-' + settings.namespace,
className = settings.className,
namespace = settings.namespace,
selector = settings.selector,
error = settings.errors,
eventNamespace = '.' + namespace,
moduleNamespace = 'module-' + namespace,
moduleSelector = $allModules.selector || '',
time = new Date().getTime(),
performance = [],
query = arguments[0],
methodInvoked = (typeof query == 'string'),
queryArguments = [].slice.call(arguments, 1),
@ -31,18 +36,13 @@ $.fn.accordion = function(parameters) {
$allModules
.each(function() {
var
$module = $(this),
$title = $module.find(settings.selector.title),
$icon = $module.find(settings.selector.icon),
$content = $module.find(settings.selector.content),
element = this,
instance = $module.data(moduleNamespace),
className = settings.className,
namespace = settings.namespace,
$module = $(this),
$title = $module.find(selector.title),
$icon = $module.find(selector.icon),
$content = $module.find(selector.content),
errors = settings.errors,
element = this,
instance = $module.data(moduleNamespace),
module
;
@ -54,6 +54,10 @@ $.fn.accordion = function(parameters) {
$title
.on('click' + eventNamespace, module.event.click)
;
module.instantiate();
},
instantiate: function() {
$module
.data(moduleNamespace, module)
;
@ -68,35 +72,41 @@ $.fn.accordion = function(parameters) {
},
event: {
click: function() {
module.verbose('Title clicked', this);
var
$activeTitle = $(this),
activeIndex = $title.index($activeTitle),
contentIsOpen = $activeTitle.hasClass(className.active)
$activeTitle = $(this),
index = $title.index($activeTitle)
;
module.verbose('Accordion title clicked', $activeTitle);
if(contentIsOpen) {
if(settings.collapsible) {
module.close(activeIndex);
}
else {
module.debug('Cannot close accordion content collapsing is disabled');
}
}
else {
module.open(activeIndex);
}
module.toggle(index);
},
resetStyle: function() {
module.verbose('Resetting styles on element', this);
$(this)
.removeAttr('style')
.children()
.removeAttr('style')
;
}
},
toggle: function(index) {
module.debug('Toggling content content at index', index);
var
$activeTitle = $title.eq(index),
contentIsOpen = $activeTitle.hasClass(className.active)
;
if(contentIsOpen) {
if(settings.collapsible) {
module.close(index);
}
else {
module.debug('Cannot close accordion content collapsing is disabled');
}
}
else {
module.open(index);
}
},
open: function(index) {
@ -238,7 +248,7 @@ $.fn.accordion = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -256,7 +266,8 @@ $.fn.accordion = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -298,7 +309,7 @@ $.fn.accordion = function(parameters) {
found = instance[value];
return true;
}
module.error(errors.method);
module.error(error.method);
return false;
});
}
@ -342,7 +353,7 @@ $.fn.accordion.settings = {
onClose : function(){},
onChange : function(){},
errors: {
error: {
method : 'The method you called is not defined'
},

2
build/minified/modules/accordion.min.js

@ -1 +1 @@
!function(a,b,c,d){a.fn.accordion=function(b){var c,e=a(this),f=a.isPlainObject(b)?a.extend(!0,{},a.fn.accordion.settings,b):a.fn.accordion.settings,g="."+f.namespace,h="module-"+f.namespace,i=e.selector||"",j=(new Date).getTime(),k=[],l=arguments[0],m="string"==typeof l,n=[].slice.call(arguments,1);return e.each(function(){var b,e=a(this),o=e.find(f.selector.title),p=(e.find(f.selector.icon),e.find(f.selector.content)),q=this,r=e.data(h),s=f.className,t=(f.namespace,f.errors);b={initialize:function(){b.debug("Initializing accordion with bound events",e),o.on("click"+g,b.event.click),e.data(h,b)},destroy:function(){b.debug("Destroying previous accordion for",e),e.off(g).removeData(h)},event:{click:function(){var c=a(this),d=o.index(c),e=c.hasClass(s.active);b.verbose("Accordion title clicked",c),e?f.collapsible?b.close(d):b.debug("Cannot close accordion content collapsing is disabled"):b.open(d)},resetStyle:function(){a(this).removeAttr("style").children().removeAttr("style")}},open:function(c){var d=o.eq(c),e=d.next(p),g=o.filter("."+s.active),h=g.next(o),i=g.size()>0;e.is(":animated")||(b.debug("Opening accordion content",d),f.exclusive&&i&&(g.removeClass(s.active),h.stop().children().animate({opacity:0},f.speed,b.event.resetStyle).end().slideUp(f.speed,f.easing,function(){h.removeClass(s.active).removeAttr("style").children().removeAttr("style")})),d.addClass(s.active),e.stop().children().removeAttr("style").end().slideDown(f.speed,f.easing,function(){e.addClass(s.active).removeAttr("style"),a.proxy(f.onOpen,e)(),a.proxy(f.onChange,e)()}))},close:function(c){var d=o.eq(c),e=d.next(p);b.debug("Closing accordion content",d),d.removeClass(s.active),e.removeClass(s.active).show().stop().children().animate({opacity:0},f.speed,b.event.resetStyle).end().slideUp(f.speed,f.easing,function(){e.removeAttr("style"),a.proxy(f.onClose,e)(),a.proxy(f.onChange,e)()})},setting:function(c,e){return b.debug("Changing setting",c,e),e===d?f[c]:(a.isPlainObject(c)?a.extend(!0,f,c):f[c]=e,void 0)},internal:function(c,e){return b.debug("Changing internal",c,e),e===d?b[c]:(a.isPlainObject(c)?a.extend(!0,b,c):b[c]=e,void 0)},debug:function(){f.debug&&(f.performance?b.performance.log(arguments):b.debug=Function.prototype.bind.call(console.info,console,f.moduleName+":"))},verbose:function(){f.verbose&&f.debug&&(f.performance?b.performance.log(arguments):b.verbose=Function.prototype.bind.call(console.info,console,f.moduleName+":"))},error:function(){b.error=Function.prototype.bind.call(console.log,console,f.moduleName+":")},performance:{log:function(a){var c,d,e;f.performance&&(c=(new Date).getTime(),e=j||c,d=c-e,j=c,k.push({Element:q,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":d})),clearTimeout(b.performance.timer),b.performance.timer=setTimeout(b.performance.display,100)},display:function(){var b=f.moduleName+":",c=0;j=!1,a.each(k,function(a,b){c+=b["Execution Time"]}),b+=" "+c+"ms",i&&(b+=" '"+i+"'"),(console.group!==d||console.table!==d)&&k.length>0&&(console.groupCollapsed(b),console.table?console.table(k):a.each(k,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),k=[]}},invoke:function(c,e,f){var g,h;return e=e||n,f=q||f,"string"==typeof c&&r!==d&&(c=c.split(/[\. ]/),g=c.length-1,a.each(c,function(c,e){return a.isPlainObject(r[e])&&c!=g?(r=r[e],!0):r[e]!==d?(h=r[e],!0):(b.error(t.method),!1)})),a.isFunction(h)?h.apply(f,e):h||!1}},m?(r===d&&b.initialize(),c=b.invoke(l)):(r!==d&&b.destroy(),b.initialize())}),c?c:this},a.fn.accordion.settings={moduleName:"Accordion",debug:!0,verbose:!0,performance:!0,exclusive:!0,collapsible:!0,onOpen:function(){},onClose:function(){},onChange:function(){},errors:{method:"The method you called is not defined"},className:{active:"active",hover:"hover"},selector:{title:".title",icon:".icon",content:".content"},speed:500,easing:"easeInOutQuint"}}(jQuery,window,document);
!function(a,b,c,d){a.fn.accordion=function(b){var c,e=a(this),f=a.isPlainObject(b)?a.extend(!0,{},a.fn.accordion.settings,b):a.fn.accordion.settings,g=f.className,h=f.namespace,i=f.selector,j=f.errors,k="."+h,l="module-"+h,m=e.selector||"",n=(new Date).getTime(),o=[],p=arguments[0],q="string"==typeof p,r=[].slice.call(arguments,1);return e.each(function(){var b,e=a(this),h=e.find(i.title),s=(e.find(i.icon),e.find(i.content)),t=this,u=e.data(l);b={initialize:function(){b.debug("Initializing accordion with bound events",e),h.on("click"+k,b.event.click),b.instantiate()},instantiate:function(){e.data(l,b)},destroy:function(){b.debug("Destroying previous accordion for",e),e.off(k).removeData(l)},event:{click:function(){b.verbose("Title clicked",this);var c=a(this),d=h.index(c);b.toggle(d)},resetStyle:function(){b.verbose("Resetting styles on element",this),a(this).removeAttr("style").children().removeAttr("style")}},toggle:function(a){b.debug("Toggling content content at index",a);var c=h.eq(a),d=c.hasClass(g.active);d?f.collapsible?b.close(a):b.debug("Cannot close accordion content collapsing is disabled"):b.open(a)},open:function(c){var d=h.eq(c),e=d.next(s),i=h.filter("."+g.active),j=i.next(h),k=i.size()>0;e.is(":animated")||(b.debug("Opening accordion content",d),f.exclusive&&k&&(i.removeClass(g.active),j.stop().children().animate({opacity:0},f.speed,b.event.resetStyle).end().slideUp(f.speed,f.easing,function(){j.removeClass(g.active).removeAttr("style").children().removeAttr("style")})),d.addClass(g.active),e.stop().children().removeAttr("style").end().slideDown(f.speed,f.easing,function(){e.addClass(g.active).removeAttr("style"),a.proxy(f.onOpen,e)(),a.proxy(f.onChange,e)()}))},close:function(c){var d=h.eq(c),e=d.next(s);b.debug("Closing accordion content",d),d.removeClass(g.active),e.removeClass(g.active).show().stop().children().animate({opacity:0},f.speed,b.event.resetStyle).end().slideUp(f.speed,f.easing,function(){e.removeAttr("style"),a.proxy(f.onClose,e)(),a.proxy(f.onChange,e)()})},setting:function(c,e){return b.debug("Changing setting",c,e),e===d?f[c]:(a.isPlainObject(c)?a.extend(!0,f,c):f[c]=e,void 0)},internal:function(c,e){return b.debug("Changing internal",c,e),e===d?b[c]:(a.isPlainObject(c)?a.extend(!0,b,c):b[c]=e,void 0)},debug:function(){f.debug&&(f.performance?b.performance.log(arguments):b.debug=Function.prototype.bind.call(console.info,console,f.moduleName+":"))},verbose:function(){f.verbose&&f.debug&&(f.performance?b.performance.log(arguments):b.verbose=Function.prototype.bind.call(console.info,console,f.moduleName+":"))},error:function(){b.error=Function.prototype.bind.call(console.log,console,f.moduleName+":")},performance:{log:function(a){var c,d,e;f.performance&&(c=(new Date).getTime(),e=n||c,d=c-e,n=c,o.push({Element:t,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":d})),clearTimeout(b.performance.timer),b.performance.timer=setTimeout(b.performance.display,100)},display:function(){var c=f.moduleName+":",e=0;n=!1,clearTimeout(b.performance.timer),a.each(o,function(a,b){e+=b["Execution Time"]}),c+=" "+e+"ms",m&&(c+=" '"+m+"'"),(console.group!==d||console.table!==d)&&o.length>0&&(console.groupCollapsed(c),console.table?console.table(o):a.each(o,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),o=[]}},invoke:function(c,e,f){var g,h;return e=e||r,f=t||f,"string"==typeof c&&u!==d&&(c=c.split(/[\. ]/),g=c.length-1,a.each(c,function(c,e){return a.isPlainObject(u[e])&&c!=g?(u=u[e],!0):u[e]!==d?(h=u[e],!0):(b.error(j.method),!1)})),a.isFunction(h)?h.apply(f,e):h||!1}},q?(u===d&&b.initialize(),c=b.invoke(p)):(u!==d&&b.destroy(),b.initialize())}),c?c:this},a.fn.accordion.settings={moduleName:"Accordion",debug:!0,verbose:!0,performance:!0,exclusive:!0,collapsible:!0,onOpen:function(){},onClose:function(){},onChange:function(){},error:{method:"The method you called is not defined"},className:{active:"active",hover:"hover"},selector:{title:".title",icon:".icon",content:".content"},speed:500,easing:"easeInOutQuint"}}(jQuery,window,document);

11
build/minified/modules/behavior/api.js

@ -61,8 +61,8 @@
element = this,
time = new Date().getTime(),
performance = [],
moduleSelector = $module.selector || '',
moduleNamespace = settings.namespace + '-module',
className = settings.className,
@ -438,7 +438,7 @@
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -456,7 +456,8 @@
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
clearTimeout(module.performance.timer);
time = false;
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -521,8 +522,8 @@
}
module.initialize();
}
return (invokedResponse !== undefined)
return (invokedResponse)
? invokedResponse
: this
;

2
build/minified/modules/behavior/api.min.js

File diff suppressed because one or more lines are too long

51
build/minified/modules/behavior/form.js

@ -18,12 +18,21 @@ $.fn.form = function(fields, parameters) {
settings = $.extend(true, {}, $.fn.form.settings, parameters),
validation = $.extend({}, $.fn.form.settings.defaults, fields),
namespace = settings.namespace,
metadata = settings.metadata,
selector = settings.selector,
className = settings.className,
error = settings.error,
eventNamespace = '.' + namespace,
moduleNamespace = 'module-' + namespace,
moduleSelector = $allModules.selector || '',
time = new Date().getTime(),
performance = [],
query = arguments[0],
methodInvoked = (typeof query == 'string'),
queryArguments = [].slice.call(arguments, 1),
@ -33,24 +42,16 @@ $.fn.form = function(fields, parameters) {
.each(function() {
var
$module = $(this),
$field = $(this).find(settings.selector.field),
$group = $(this).find(settings.selector.group),
$message = $(this).find(settings.selector.message),
$prompt = $(this).find(settings.selector.prompt),
$submit = $(this).find(settings.selector.submit),
$field = $(this).find(selector.field),
$group = $(this).find(selector.group),
$message = $(this).find(selector.message),
$prompt = $(this).find(selector.prompt),
$submit = $(this).find(selector.submit),
formErrors = [],
element = this,
instance = $module.data('module-' + settings.namespace),
eventNamespace = '.' + settings.namespace,
moduleNamespace = 'module-' + settings.namespace,
namespace = settings.namespace,
metadata = settings.metadata,
className = settings.className,
error = settings.error,
instance = $module.data(moduleNamespace),
module
;
@ -93,7 +94,7 @@ $.fn.form = function(fields, parameters) {
refresh: function() {
module.verbose('Refreshing selector cache');
$field = $module.find(settings.selector.field);
$field = $module.find(selector.field);
},
submit: function() {
@ -120,7 +121,7 @@ $.fn.form = function(fields, parameters) {
.blur()
;
}
if( key == keyCode.enter && $field.is(settings.selector.input) ) {
if( key == keyCode.enter && $field.is(selector.input) ) {
module.debug('Enter key pressed, submitting form');
$submit
.addClass(className.down)
@ -204,7 +205,7 @@ $.fn.form = function(fields, parameters) {
var
$field = module.get.field(field.identifier),
$fieldGroup = $field.closest($group),
$prompt = $fieldGroup.find(settings.selector.prompt),
$prompt = $fieldGroup.find(selector.prompt),
promptExists = ($prompt.size() !== 0)
;
module.verbose('Adding inline validation prompt');
@ -242,7 +243,7 @@ $.fn.form = function(fields, parameters) {
var
$field = module.get.field(field.identifier),
$fieldGroup = $field.closest($group),
$prompt = $fieldGroup.find(settings.selector.prompt)
$prompt = $fieldGroup.find(selector.prompt)
;
$fieldGroup
.removeClass(className.error)
@ -403,7 +404,7 @@ $.fn.form = function(fields, parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -421,7 +422,8 @@ $.fn.form = function(fields, parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -463,7 +465,7 @@ $.fn.form = function(fields, parameters) {
found = instance[value];
return true;
}
module.error(errors.method);
module.error(error.method);
return false;
});
}
@ -488,6 +490,7 @@ $.fn.form = function(fields, parameters) {
})
;
return (invokedResponse)
? invokedResponse
: this

2
build/minified/modules/behavior/form.min.js

File diff suppressed because one or more lines are too long

278
build/minified/modules/behavior/state.js

@ -2,7 +2,7 @@
Module
State
Change text based on state context
Hover/Pressed/Active/Inactive
Hover/down/Active/Inactive
Author: Jack Lukic
Last revision: May 2012
@ -52,16 +52,18 @@ $.fn.state = function(parameters) {
methodInvoked = (typeof query == 'string'),
queryArguments = [].slice.call(arguments, 1),
eventNamespace = '.' + settings.namespace,
moduleNamespace = settings.namespace + '-module',
// shortcuts
errors = settings.errors,
metadata = settings.metadata,
className = settings.className,
namespace = settings.namespace,
states = settings.states,
text = settings.text,
eventNamespace = '.' + namespace,
moduleNamespace = namespace + '-module',
invokedResponse
;
$allModules
@ -88,52 +90,51 @@ $.fn.state = function(parameters) {
if(settings.context && moduleSelector !== '') {
if( module.allows('hover') ) {
$(element, settings.context)
.on(moduleSelector, 'mouseenter' + eventNamespace, module.hover.enable)
.on(moduleSelector, 'mouseleave' + eventNamespace, module.hover.disable)
.on(moduleSelector, 'mouseenter' + eventNamespace, module.enable.hover)
.on(moduleSelector, 'mouseleave' + eventNamespace, module.disable.hover)
;
}
if( module.allows('pressed') ) {
if( module.allows('down') ) {
$(element, settings.context)
.on(moduleSelector, 'mousedown' + eventNamespace, module.pressed.enable)
.on(moduleSelector, 'mouseup' + eventNamespace, module.pressed.disable)
.on(moduleSelector, 'mousedown' + eventNamespace, module.enable.down)
.on(moduleSelector, 'mouseup' + eventNamespace, module.disable.down)
;
}
if( module.allows('focus') ) {
$(element, settings.context)
.on(moduleSelector, 'focus' + eventNamespace, module.focus.enable)
.on(moduleSelector, 'blur' + eventNamespace, module.focus.disable)
.on(moduleSelector, 'focus' + eventNamespace, module.enable.focus)
.on(moduleSelector, 'blur' + eventNamespace, module.disable.focus)
;
}
$(settings.context)
.on(moduleSelector, 'mouseenter' + eventNamespace, module.text.change)
.on(moduleSelector, 'mouseleave' + eventNamespace, module.text.reset)
.on(moduleSelector, 'click' + eventNamespace, module.toggle)
.on(moduleSelector, 'mouseenter' + eventNamespace, module.change.text)
.on(moduleSelector, 'mouseleave' + eventNamespace, module.reset.text)
.on(moduleSelector, 'click' + eventNamespace, module.toggle.state)
;
}
else {
if( module.allows('hover') ) {
$module
.on('mouseenter' + eventNamespace, module.hover.enable)
.on('mouseleave' + eventNamespace, module.hover.disable)
.on('mouseenter' + eventNamespace, module.enable.hover)
.on('mouseleave' + eventNamespace, module.disable.hover)
;
}
if( module.allows('pressed') ) {
if( module.allows('down') ) {
$module
.on('mousedown' + eventNamespace, module.pressed.enable)
.on('mouseup' + eventNamespace, module.pressed.disable)
.on('mousedown' + eventNamespace, module.enable.down)
.on('mouseup' + eventNamespace, module.disable.down)
;
}
if( module.allows('focus') ) {
$module
.on('focus' + eventNamespace, module.focus.enable)
.on('blur' + eventNamespace, module.focus.disable)
.on('focus' + eventNamespace, module.enable.focus)
.on('blur' + eventNamespace, module.disable.focus)
;
}
$module
.on('mouseenter' + eventNamespace, module.text.change)
.on('mouseleave' + eventNamespace, module.text.reset)
.on('click' + eventNamespace, module.toggle)
.on('mouseenter' + eventNamespace, module.change.text)
.on('mouseleave' + eventNamespace, module.reset.text)
.on('click' + eventNamespace, module.toggle.state)
;
}
module.instantiate();
@ -220,71 +221,69 @@ $.fn.state = function(parameters) {
return states[state] || false;
},
enable: function(state) {
if(module.allows(state)) {
$module.addClass( className[state] );
}
},
disable: function(state) {
if(module.allows(state)) {
$module.removeClass( className[state] );
}
},
textFor: function(state) {
return text[state] || false;
},
focus : {
enable: function() {
enable: {
state: function(state) {
if(module.allows(state)) {
$module.addClass( className[state] );
}
},
// convenience
focus: function() {
$module.addClass(className.focus);
},
disable: function() {
$module.removeClass(className.focus);
}
hover: function() {
$module.addClass(className.hover);
},
down: function() {
$module.addClass(className.down);
},
},
hover : {
enable: function() {
$module.addClass(className.hover);
disable: {
state: function(state) {
if(module.allows(state)) {
$module.removeClass( className[state] );
}
},
// convenience
focus: function() {
$module.removeClass(className.focus);
},
disable: function() {
hover: function() {
$module.removeClass(className.hover);
}
},
down: function() {
$module.removeClass(className.down);
},
},
pressed : {
enable: function() {
$module
.addClass(className.pressed)
.one('mouseleave', module.pressed.disable)
toggle: {
state: function() {
var
apiRequest = $module.data(metadata.promise)
;
},
disable: function() {
$module.removeClass(className.pressed);
if( module.allows('active') && module.is.enabled() ) {
module.refresh();
if(apiRequest !== undefined) {
module.listenTo(apiRequest);
}
else {
module.change.state();
}
}
}
},
// determines method for state activation
toggle: function() {
var
apiRequest = $module.data(metadata.promise)
;
if( module.allows('active') && module.is.enabled() ) {
module.refresh();
if(apiRequest !== undefined) {
module.listenTo(apiRequest);
}
else {
module.change();
}
}
textFor: function(state) {
return text[state] || false;
},
listenTo: function(apiRequest) {
module.debug('API request detected, waiting for state signal', apiRequest);
if(apiRequest) {
if(text.loading) {
module.text.update(text.loading);
module.update.text(text.loading);
}
$.when(apiRequest)
.then(function() {
@ -298,7 +297,7 @@ $.fn.state = function(parameters) {
settings.activateTest = function(){ return false; };
settings.deactivateTest = function(){ return false; };
}
module.change();
module.change.state();
})
;
}
@ -310,19 +309,48 @@ $.fn.state = function(parameters) {
},
// checks whether active/inactive state can be given
change: function() {
module.debug('Determining state change direction');
// inactive to active change
if( module.is.inactive() ) {
module.activate();
}
else {
module.deactivate();
}
if(settings.sync) {
module.sync();
change: {
state: function() {
module.debug('Determining state change direction');
// inactive to active change
if( module.is.inactive() ) {
module.activate();
}
else {
module.deactivate();
}
if(settings.sync) {
module.sync();
}
$.proxy(settings.onChange, element)();
},
text: function() {
if( module.is.textEnabled() ) {
if( module.is.active() ) {
if(text.hover) {
module.verbose('Changing text to hover text', text.hover);
module.update.text(text.hover);
}
else if(text.disable) {
module.verbose('Changing text to disable text', text.disable);
module.update.text(text.disable);
}
}
else {
if(text.hover) {
module.verbose('Changing text to hover text', text.disable);
module.update.text(text.hover);
}
else if(text.enable){
module.verbose('Changing text to enable text', text.enable);
module.update.text(text.enable);
}
}
}
}
$.proxy(settings.onChange, element)();
},
activate: function() {
@ -331,7 +359,7 @@ $.fn.state = function(parameters) {
$module
.addClass(className.active)
;
module.text.update(text.active);
module.update.text(text.active);
}
$.proxy(settings.onActivate, element)();
},
@ -342,7 +370,7 @@ $.fn.state = function(parameters) {
$module
.removeClass(className.active)
;
module.text.update(text.inactive);
module.update.text(text.inactive);
}
$.proxy(settings.onDeactivate, element)();
},
@ -362,56 +390,33 @@ $.fn.state = function(parameters) {
}
},
text: {
// finds text node to update
get: function() {
get: {
text: function() {
return (settings.selector.text)
? $module.find(settings.selector.text).text()
: $module.html()
;
},
}
},
flash: function(text, duration) {
flash: {
text: function(text, duration) {
var
previousText = module.text.get()
previousText = module.get.text()
;
module.debug('Flashing text message', text, duration);
text = text || settings.text.flash;
duration = duration || settings.flashDuration;
module.text.update(text);
module.update.text(text);
setTimeout(function(){
module.text.update(previousText);
module.update.text(previousText);
}, duration);
},
change: function() {
if( module.is.textEnabled() ) {
if( module.is.active() ) {
if(text.hover) {
module.verbose('Changing text to hover text', text.hover);
module.text.update(text.hover);
}
else if(text.disable) {
module.verbose('Changing text to disable text', text.disable);
module.text.update(text.disable);
}
}
else {
if(text.hover) {
module.verbose('Changing text to hover text', text.disable);
module.text.update(text.hover);
}
else if(text.enable){
module.verbose('Changing text to enable text', text.enable);
module.text.update(text.enable);
}
}
}
},
}
},
reset: {
// on mouseout sets text to previous value
reset : function() {
text: function() {
var
activeText = text.active || $module.data(metadata.storedText),
inactiveText = text.inactive || $module.data(metadata.storedText)
@ -419,18 +424,20 @@ $.fn.state = function(parameters) {
if( module.is.textEnabled() ) {
if( module.is.active() && activeText) {
module.verbose('Resetting active text', activeText);
module.text.update(activeText);
module.update.text(activeText);
}
else if(inactiveText) {
module.verbose('Resetting inactive text', activeText);
module.text.update(inactiveText);
module.update.text(inactiveText);
}
}
},
}
},
update: function(text) {
update: {
text: function(text) {
var
currentText = module.text.get()
currentText = module.get.text()
;
if(text && text !== currentText) {
module.debug('Updating text', text);
@ -453,6 +460,7 @@ $.fn.state = function(parameters) {
}
}
},
setting: function(name, value) {
module.debug('Changing setting', name, value);
if(value !== undefined) {
@ -513,7 +521,7 @@ $.fn.state = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -531,7 +539,8 @@ $.fn.state = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -598,6 +607,7 @@ $.fn.state = function(parameters) {
})
;
return (invokedResponse)
? invokedResponse
: this
@ -662,7 +672,7 @@ $.fn.state.settings = {
className: {
focus : 'focus',
hover : 'hover',
pressed : 'down',
down : 'down',
active : 'active',
loading : 'loading'
},
@ -676,14 +686,14 @@ $.fn.state.settings = {
input: {
hover : true,
focus : true,
pressed : true,
down : true,
loading : false,
active : false
},
button: {
hover : true,
focus : false,
pressed : true,
down : true,
active : false,
loading : true
}
@ -692,7 +702,7 @@ $.fn.state.settings = {
states : {
hover : true,
focus : true,
pressed : true,
down : true,
loading : false,
active : false
},

2
build/minified/modules/behavior/state.min.js

File diff suppressed because one or more lines are too long

2
build/minified/modules/carousel.js

@ -197,7 +197,7 @@ $.fn.carousel = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({

38
build/minified/modules/chat.js

@ -18,8 +18,10 @@
.each(function() {
var
$module = $(this),
$expandButton = $module.find(settings.selector.expandButton),
$userListButton = $module.find(settings.selector.userListButton),
$userList = $module.find(settings.selector.userList),
$room = $module.find(settings.selector.room),
$userCount = $module.find(settings.selector.userCount),
@ -37,6 +39,8 @@
html = '',
users = {},
channel,
loggedInUser,
message,
@ -50,7 +54,6 @@
module = {
channel: false,
width: {
log : $log.width(),
userList : $userList.outerWidth()
@ -75,33 +78,18 @@
pusher = new Pusher(key);
Pusher.channel_auth_endpoint = settings.endpoint.authentication;
module.channel = pusher.subscribe(channelName);
channel = pusher.subscribe(channelName);
module.channel.bind('pusher:subscription_succeeded', module.user.list.create);
module.channel.bind('pusher:subscription_error', module.error);
module.channel.bind('pusher:member_added', module.user.joined);
module.channel.bind('pusher:member_removed', module.user.left);
module.channel.bind('update_messages', module.message.receive);
channel.bind('pusher:subscription_succeeded', module.user.list.create);
channel.bind('pusher:subscription_error', module.error);
channel.bind('pusher:member_added', module.user.joined);
channel.bind('pusher:member_removed', module.user.left);
channel.bind('update_messages', module.message.receive);
$.each(settings.customEvents, function(label, value) {
module.channel.bind(label, value);
channel.bind(label, value);
});
// expandable with states
if( $.fn.hoverClass !== undefined && $.fn.downClass !== undefined ) {
$expandButton
.hoverClass()
.downClass()
;
$userListButton
.hoverClass()
.downClass()
;
$messageButton
.hoverClass()
.downClass()
;
}
// bind module events
$userListButton
.on('click.' + namespace, module.event.toggleUserList)
@ -153,7 +141,7 @@
if(settings.userCount) {
users = $module.data('users');
count = 0;
$.each(users, function(index) {
$.each(users, function() {
count++;
});
$userCount

2
build/minified/modules/chat.min.js

File diff suppressed because one or more lines are too long

5
build/minified/modules/checkbox.js

@ -193,7 +193,7 @@ $.fn.checkbox = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -211,7 +211,8 @@ $.fn.checkbox = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});

2
build/minified/modules/checkbox.min.js

@ -1 +1 @@
!function(a,b,c,d){a.fn.checkbox=function(b){var c,e=a(this),f=a.extend(!0,{},a.fn.checkbox.settings,b),g=e.selector||"",h=(new Date).getTime(),i=[],j=arguments[0],k="string"==typeof j,l=[].slice.call(arguments,1);return e.each(function(){var b,e=a(this),m=a(this).next(f.selector.label).first(),n=a(this).find(f.selector.input),o="."+f.namespace,p="module-"+f.namespace,q=e.selector||"",r=this,s=e.data(p),t=f.className,u=f.namespace,v=f.errors;b={initialize:function(){b.verbose("Initializing checkbox"),f.context&&""!==q?(b.verbose("Adding delegated events"),a(r,f.context).on(q,"click"+o,b.toggle).on(q+" + "+f.selector.label,"click"+o,b.toggle)):(e.on("click"+o,b.toggle).data(p,b),m.on("click"+o,b.toggle)),b.instantiate()},instantiate:function(){b.verbose("Storing instance of module",b),s=b,e.data(p,b)},destroy:function(){b.verbose("Destroying previous module"),e.off(u)},is:{radio:function(){return e.hasClass(t.radio)}},can:{disable:function(){return"boolean"==typeof f.required?f.required:!b.is.radio()}},enable:function(){b.debug("Enabling checkbox"),e.addClass(t.active),n.prop("checked",!0),a.proxy(f.onChange,n.get())(),a.proxy(f.onEnable,n.get())()},disable:function(){b.debug("Disabling checkbox"),e.removeClass(t.active),n.prop("checked",!1),a.proxy(f.onChange,n.get())(),a.proxy(f.onDisable,n.get())()},toggle:function(c){b.verbose("Determining new checkbox state",a(c.target)),n.prop("checked")!==d&&n.prop("checked")?b.can.disable()&&b.disable():b.enable()},setting:function(b,c){return c===d?f[b]:(a.isPlainObject(b)?a.extend(!0,f,b):f[b]=c,void 0)},internal:function(c,e){return e===d?b[c]:(a.isPlainObject(c)?a.extend(!0,b,c):b[c]=e,void 0)},debug:function(){f.debug&&(f.performance?b.performance.log(arguments):b.debug=Function.prototype.bind.call(console.info,console,f.moduleName+":"))},verbose:function(){f.verbose&&f.debug&&(f.performance?b.performance.log(arguments):b.verbose=Function.prototype.bind.call(console.info,console,f.moduleName+":"))},error:function(){b.error=Function.prototype.bind.call(console.warn,console,f.moduleName+":")},performance:{log:function(a){var c,d,e;f.performance&&(c=(new Date).getTime(),e=h||c,d=c-e,h=c,i.push({Element:r,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":d})),clearTimeout(b.performance.timer),b.performance.timer=setTimeout(b.performance.display,100)},display:function(){var b=f.moduleName+":",c=0;h=!1,a.each(i,function(a,b){c+=b["Execution Time"]}),b+=" "+c+"ms",g&&(b+=" '"+g+"'"),(console.group!==d||console.table!==d)&&i.length>0&&(console.groupCollapsed(b),console.table?console.table(i):a.each(i,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),i=[]}},invoke:function(c,e,f){var g,h;return e=e||l,f=r||f,"string"==typeof c&&s!==d&&(c=c.split(/[\. ]/),g=c.length-1,a.each(c,function(c,e){a.isPlainObject(s[e])&&c!=g?s=s[e]:s[e]!==d?h=s[e]:b.error(v.method)})),a.isFunction(h)?h.apply(f,e):h||!1}},k?(s===d&&b.initialize(),c=b.invoke(j)):(s!==d&&b.destroy(),b.initialize())}),c?c:this},a.fn.checkbox.settings={moduleName:"Checkbox",namespace:"checkbox",verbose:!0,debug:!0,performance:!0,context:!1,required:"auto",onChange:function(){},onEnable:function(){},onDisable:function(){},errors:{method:"The method you called is not defined."},selector:{input:"input",label:"label"},className:{active:"active",radio:"radio"}}}(jQuery,window,document);
!function(a,b,c,d){a.fn.checkbox=function(b){var c,e=a(this),f=a.extend(!0,{},a.fn.checkbox.settings,b),g=e.selector||"",h=(new Date).getTime(),i=[],j=arguments[0],k="string"==typeof j,l=[].slice.call(arguments,1);return e.each(function(){var b,e=a(this),m=a(this).next(f.selector.label).first(),n=a(this).find(f.selector.input),o="."+f.namespace,p="module-"+f.namespace,q=e.selector||"",r=this,s=e.data(p),t=f.className,u=f.namespace,v=f.errors;b={initialize:function(){b.verbose("Initializing checkbox"),f.context&&""!==q?(b.verbose("Adding delegated events"),a(r,f.context).on(q,"click"+o,b.toggle).on(q+" + "+f.selector.label,"click"+o,b.toggle)):(e.on("click"+o,b.toggle).data(p,b),m.on("click"+o,b.toggle)),b.instantiate()},instantiate:function(){b.verbose("Storing instance of module",b),s=b,e.data(p,b)},destroy:function(){b.verbose("Destroying previous module"),e.off(u)},is:{radio:function(){return e.hasClass(t.radio)}},can:{disable:function(){return"boolean"==typeof f.required?f.required:!b.is.radio()}},enable:function(){b.debug("Enabling checkbox"),e.addClass(t.active),n.prop("checked",!0),a.proxy(f.onChange,n.get())(),a.proxy(f.onEnable,n.get())()},disable:function(){b.debug("Disabling checkbox"),e.removeClass(t.active),n.prop("checked",!1),a.proxy(f.onChange,n.get())(),a.proxy(f.onDisable,n.get())()},toggle:function(c){b.verbose("Determining new checkbox state",a(c.target)),n.prop("checked")!==d&&n.prop("checked")?b.can.disable()&&b.disable():b.enable()},setting:function(b,c){return c===d?f[b]:(a.isPlainObject(b)?a.extend(!0,f,b):f[b]=c,void 0)},internal:function(c,e){return e===d?b[c]:(a.isPlainObject(c)?a.extend(!0,b,c):b[c]=e,void 0)},debug:function(){f.debug&&(f.performance?b.performance.log(arguments):b.debug=Function.prototype.bind.call(console.info,console,f.moduleName+":"))},verbose:function(){f.verbose&&f.debug&&(f.performance?b.performance.log(arguments):b.verbose=Function.prototype.bind.call(console.info,console,f.moduleName+":"))},error:function(){b.error=Function.prototype.bind.call(console.warn,console,f.moduleName+":")},performance:{log:function(a){var c,d,e;f.performance&&(c=(new Date).getTime(),e=h||c,d=c-e,h=c,i.push({Element:r,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":d})),clearTimeout(b.performance.timer),b.performance.timer=setTimeout(b.performance.display,100)},display:function(){var c=f.moduleName+":",e=0;h=!1,clearTimeout(b.performance.timer),a.each(i,function(a,b){e+=b["Execution Time"]}),c+=" "+e+"ms",g&&(c+=" '"+g+"'"),(console.group!==d||console.table!==d)&&i.length>0&&(console.groupCollapsed(c),console.table?console.table(i):a.each(i,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),i=[]}},invoke:function(c,e,f){var g,h;return e=e||l,f=r||f,"string"==typeof c&&s!==d&&(c=c.split(/[\. ]/),g=c.length-1,a.each(c,function(c,e){a.isPlainObject(s[e])&&c!=g?s=s[e]:s[e]!==d?h=s[e]:b.error(v.method)})),a.isFunction(h)?h.apply(f,e):h||!1}},k?(s===d&&b.initialize(),c=b.invoke(j)):(s!==d&&b.destroy(),b.initialize())}),c?c:this},a.fn.checkbox.settings={moduleName:"Checkbox",namespace:"checkbox",verbose:!0,debug:!0,performance:!0,context:!1,required:"auto",onChange:function(){},onEnable:function(){},onDisable:function(){},errors:{method:"The method you called is not defined."},selector:{input:"input",label:"label"},className:{active:"active",radio:"radio"}}}(jQuery,window,document);

51
build/minified/modules/dimmer.js

@ -17,8 +17,13 @@ $.fn.dimmer = function(parameters) {
? $.extend(true, {}, $.fn.dimmer.settings, parameters)
: $.fn.dimmer.settings,
eventNamespace = '.' + settings.namespace,
moduleNamespace = 'module-' + settings.namespace,
selector = settings.selector,
namespace = settings.namespace,
className = settings.className,
error = settings.error,
eventNamespace = '.' + namespace,
moduleNamespace = 'module-' + namespace,
moduleSelector = $allModules.selector || '',
time = new Date().getTime(),
@ -28,10 +33,6 @@ $.fn.dimmer = function(parameters) {
methodInvoked = (typeof query == 'string'),
queryArguments = [].slice.call(arguments, 1),
selector = settings.selector,
namespace = settings.namespace,
className = settings.className,
error = settings.error,
invokedResponse
;
@ -42,8 +43,6 @@ $.fn.dimmer = function(parameters) {
$module = $(this),
$dimmer = $module.children(selector.dimmer).first(),
animationEnd = 'animationend msAnimationEnd oAnimationEnd webkitAnimationEnd',
element = this,
instance = $dimmer.data(moduleNamespace),
module
@ -111,7 +110,6 @@ $.fn.dimmer = function(parameters) {
click: function(event) {
module.verbose('Determining if event occured on dimmer', event);
console.log(event.target, selector.content, $(event.target).is(selector.content));
if( $dimmer.find(event.target).size() === 0 || $(event.target).is(selector.content) ) {
module.hide();
}
@ -125,7 +123,7 @@ $.fn.dimmer = function(parameters) {
if(settings.animation.show == 'css') {
module.verbose('Showing dimmer animation with css');
$dimmer
.one(animationEnd, function() {
.one(module.get.animationEndEvent(), function() {
module.set.active();
$dimmer.removeClass(className.show);
})
@ -153,7 +151,7 @@ $.fn.dimmer = function(parameters) {
if(settings.animation.hide == 'css') {
module.verbose('Hiding dimmer with css');
$dimmer
.one(animationEnd, function(){
.one(module.get.animationEndEvent(), function(){
module.remove.active();
$dimmer.removeClass(className.hide);
})
@ -176,6 +174,28 @@ $.fn.dimmer = function(parameters) {
}
},
get: {
animationEndEvent: function() {
var
element = document.createElement('element'),
animations = {
'animation' : 'animationend',
'OAnimation' : 'oAnimationEnd',
'MozAnimation' : 'animationend',
'WebkitAnimation' : 'webkitAnimationEnd'
},
animation
;
for(animation in animations){
if( element.style[animation] !== undefined ){
return animations[animation];
}
}
}
},
has: {
dimmer: function() {
return ( $module.children(selector.dimmer).size() > 0 );
@ -329,7 +349,7 @@ $.fn.dimmer = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -347,7 +367,8 @@ $.fn.dimmer = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -430,8 +451,8 @@ $.fn.dimmer.settings = {
performance : true,
animation : {
show: 'fade',
hide: 'fade'
show: 'css',
hide: 'css'
},
on : false,

2
build/minified/modules/dimmer.min.css

@ -1 +1 @@
.ui.dimmable{position:relative}.ui.dimmer{position:absolute;top:0!important;left:0!important;text-align:center;vertical-align:middle;background-color:rgba(0,0,0,.85);opacity:0;line-height:1;-webkit-animation-fill-mode:forwards;-moz-animation-fill-mode:forwards;-o-animation-fill-mode:forwards;-ms-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-transition:background-color .5s linear;-moz-transition:background-color .5s linear;-o-transition:background-color .5s linear;-ms-transition:background-color .5s linear;transition:background-color .5s linear;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;z-index:1000}.ui.dimmable.dimmed>:not(.dimmer){}.ui.dimmer .content{width:100%;height:100%;display:table;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.ui.dimmer .content>*{display:table-cell;vertical-align:middle}.ui.segment>.ui.dimmer{-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.ui.horizontal.segment>.ui.dimmer,.ui.vertical.segment>.ui.dimmer{-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.ui.dimmable.dimmed>:not(.dimmer){-webkit-filter:blur(5px) grayscale(0.7);-moz-filter:blur(5px) grayscale(0.7)}body.dimmable.dimmed{overflow:hidden}.ui.dimmable.dimmed>.ui.dimmer,.ui.dimmer.active{width:100%;height:100%;opacity:1}.ui.disabled.dimmer{width:0!important;height:0!important}.ui.page.dimmer{position:fixed}body.ui.dimmable.dimmed>:not(.dimmer){-webkit-filter:blur(15px) grayscale(0.7);-moz-filter:blur(15px) grayscale(0.7)}.ui.dimmer .top.aligned.content>*{vertical-align:top}.ui.dimmer .bottom.aligned.content>*{vertical-align:bottom}.ui.inverted.dimmer{background-color:rgba(255,255,255,.85)}.ui.simple.dimmer{display:block;overflow:hidden;opacity:1;z-index:-100;background-color:rgba(0,0,0,0)}.ui.dimmable.dimmed>.ui.simple.dimmer{overflow:visible;opacity:1;width:100%;height:100%;background-color:rgba(0,0,0,.85);z-index:1}.ui.simple.inverted.dimmer{background-color:rgba(255,255,255,0)}.ui.dimmable.dimmed>.ui.simple.inverted.dimmer{background-color:rgba(255,255,255,.85)}.ui.dimmer.show{width:100%;height:100%;-webkit-animation:dimmer-show .5s;-moz-animation:dimmer-show .5s;animation:dimmer-show .5s}@-webkit-keyframes dimmer-show{0%{opacity:0}100%{opacity:1}}@-moz-keyframes dimmer-show{0%{opacity:0}100%{opacity:1}}@keyframes dimmer-show{0%{opacity:0}100%{opacity:1}}.ui.dimmer.hide{-webkit-animation:dimmer-hide .5s;-moz-animation:dimmer-hide .5s;animation:dimmer-hide .5s}@-webkit-keyframes dimmer-hide{0%{opacity:1}99%{width:100%;height:100%;opacity:0}100%{opacity:0;height:0;width:0}}@-moz-keyframes dimmer-hide{0%{opacity:1}99%{width:100%;height:100%;opacity:0}100%{opacity:0;height:0;width:0}}@keyframes dimmer-hide{0%{opacity:1}99%{width:100%;height:100%;opacity:0}100%{opacity:0;height:0;width:0}}
.ui.dimmable{position:relative}.ui.dimmer{position:absolute;top:0!important;left:0!important;text-align:center;vertical-align:middle;background-color:rgba(0,0,0,.85);opacity:0;line-height:1;-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;-o-animation-fill-mode:both;-ms-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.5s;-moz-animation-duration:.5s;-o-animation-duration:.5s;-ms-animation-duration:.5s;animation-duration:.5s;-webkit-transition:background-color .5s linear;-moz-transition:background-color .5s linear;-o-transition:background-color .5s linear;-ms-transition:background-color .5s linear;transition:background-color .5s linear;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;z-index:1000}.ui.dimmable.dimmed>:not(.dimmer){}.ui.dimmer .content{width:100%;height:100%;display:table;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.ui.dimmer .content>*{display:table-cell;vertical-align:middle}.ui.segment>.ui.dimmer{-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.ui.horizontal.segment>.ui.dimmer,.ui.vertical.segment>.ui.dimmer{-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.ui.dimmable.dimmed>:not(.dimmer){-webkit-filter:blur(5px) grayscale(0.7);-moz-filter:blur(5px) grayscale(0.7)}body.dimmable.dimmed{overflow:hidden}.ui.dimmable.dimmed>.ui.dimmer,.ui.dimmer.active{width:100%;height:100%;opacity:1}.ui.disabled.dimmer{width:0!important;height:0!important}.ui.page.dimmer{position:fixed}body.ui.dimmable.dimmed>:not(.dimmer){-webkit-filter:blur(15px) grayscale(0.7);-moz-filter:blur(15px) grayscale(0.7)}.ui.dimmer .top.aligned.content>*{vertical-align:top}.ui.dimmer .bottom.aligned.content>*{vertical-align:bottom}.ui.inverted.dimmer{background-color:rgba(255,255,255,.85)}.ui.simple.dimmer{display:block;overflow:hidden;opacity:1;z-index:-100;background-color:rgba(0,0,0,0)}.ui.dimmable.dimmed>.ui.simple.dimmer{overflow:visible;opacity:1;width:100%;height:100%;background-color:rgba(0,0,0,.85);z-index:1}.ui.simple.inverted.dimmer{background-color:rgba(255,255,255,0)}.ui.dimmable.dimmed>.ui.simple.inverted.dimmer{background-color:rgba(255,255,255,.85)}.ui.dimmer.show{width:100%;height:100%;-webkit-animation-name:dimmer-show;-moz-animation-name:dimmer-show;animation-name:dimmer-show}@-webkit-keyframes dimmer-show{0%{opacity:0}100%{opacity:1}}@-moz-keyframes dimmer-show{0%{opacity:0}100%{opacity:1}}@keyframes dimmer-show{0%{opacity:0}100%{opacity:1}}.ui.dimmer.hide{-webkit-animation-name:dimmer-hide;-moz-animation-name:dimmer-hide;animation-name:dimmer-hide}@-webkit-keyframes dimmer-hide{0%{opacity:1}99%{width:100%;height:100%;opacity:0}100%{opacity:0;height:0;width:0}}@-moz-keyframes dimmer-hide{0%{opacity:1}99%{width:100%;height:100%;opacity:0}100%{opacity:0;height:0;width:0}}@keyframes dimmer-hide{0%{opacity:1}99%{width:100%;height:100%;opacity:0}100%{opacity:0;height:0;width:0}}

2
build/minified/modules/dimmer.min.js

File diff suppressed because one or more lines are too long

40
build/minified/modules/dropdown.js

@ -17,14 +17,21 @@ $.fn.dropdown = function(parameters) {
settings = ( $.isPlainObject(parameters) )
? $.extend(true, {}, $.fn.dropdown.settings, parameters)
: $.fn.dropdown.settings,
eventNamespace = '.' + settings.namespace,
moduleNamespace = 'module-' + settings.namespace,
className = settings.className,
metadata = settings.metadata,
namespace = settings.namespace,
animation = settings.animation,
selector = settings.selector,
errors = settings.errors,
eventNamespace = '.' + namespace,
moduleNamespace = 'module-' + namespace,
moduleSelector = $allModules.selector || '',
time = new Date().getTime(),
performance = [],
query = arguments[0],
methodInvoked = (typeof query == 'string'),
queryArguments = [].slice.call(arguments, 1),
@ -35,22 +42,15 @@ $.fn.dropdown = function(parameters) {
.each(function() {
var
$module = $(this),
$menu = $(this).find(settings.selector.menu),
$item = $(this).find(settings.selector.item),
$text = $(this).find(settings.selector.text),
$input = $(this).find(settings.selector.input),
$menu = $(this).find(selector.menu),
$item = $(this).find(selector.item),
$text = $(this).find(selector.text),
$input = $(this).find(selector.input),
isTouchDevice = ('ontouchstart' in document.documentElement),
element = this,
instance = $module.data(moduleNamespace),
className = settings.className,
metadata = settings.metadata,
namespace = settings.namespace,
animation = settings.animation,
errors = settings.errors,
module
;
@ -404,7 +404,7 @@ $.fn.dropdown = function(parameters) {
module.verbose('Finding other dropdowns to hide');
$allModules
.not($module)
.has(settings.selector.menu + ':visible')
.has(selector.menu + ':visible')
.dropdown('hide')
;
},
@ -477,7 +477,7 @@ $.fn.dropdown = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -495,7 +495,8 @@ $.fn.dropdown = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -561,6 +562,7 @@ $.fn.dropdown = function(parameters) {
}
})
;
return (invokedResponse)
? invokedResponse
: this

2
build/minified/modules/dropdown.min.js

File diff suppressed because one or more lines are too long

3
build/minified/modules/modal.js

@ -322,7 +322,8 @@
})
;
// chain or return queried method
return (invokedResponse !== undefined)
return (invokedResponse)
? invokedResponse
: this
;

2
build/minified/modules/modal.min.js

@ -1 +1 @@
!function(a,b,c,d){a.dimScreen=function(b){var c="function"==typeof b?a.extend({},a.fn.modal.settings,{dim:b}):a.extend({},a.fn.modal.settings,b),d=a(c.context),e=d.children(c.selector.dimmer),f=e.size()>0,g=e.css("opacity");return f||(e=a("<div/>").attr("id","dimmer").html('<div class="content"></div>'),d.append(e)),g!=c.opacity&&(e.one("click",function(){c.unDim(),a.unDimScreen()}),0===c.duration?(e.css({visibility:"visible"}).find(".content").css({opacity:c.opacity,visibility:"visible"}),c.dim()):e.css({visibility:"visible"}).find(".content").css({opacity:0,visibility:"visible"}).fadeTo(c.duration,c.opacity,c.dim)),this},a.unDimScreen=function(b){var c="function"==typeof b?a.extend({},a.fn.modal.settings,{unDim:b}):a.extend({},a.fn.modal.settings,b),d=a(c.context),e=d.children(c.selector.dimmer),f=e.size()>0;return f&&(c.unDim(),0===c.duration?e.css({visibility:"hidden"}).remove():e.find(".content").fadeTo(c.duration,0,function(){e.remove()})),this},a.fn.modal=function(e){var f,g=a.extend(!0,{},a.fn.modal.settings,e),h=arguments[0],i=[].slice.call(arguments,1);return a(this).each(function(){var e,j=a(this),k=j.find(g.selector.closeButton),l=(a(g.context).find(g.selector.dimmer),a(g.context).children(g.selector.modal)),m=l.not(j),n=j.data("module-"+g.namespace),o="string"==typeof h,p=(g.className,g.namespace);e={initialize:function(){j.on("modalShow."+p,e.show).on("modalHide."+p,e.hide).data("module-"+p,e)},show:function(){var e,f,h,i,l=j.outerHeight(),n=a(b).height(),o=l>n,q=o?"absolute":"fixed";j.removeClass("absolute fixed").addClass(q),e=o?"0":"50%",f=o?n/8:-((l-g.closeSpacing)/2),h="absolute"==j.css("position")?f+a(b).prop("pageYOffset"):f,i=h+g.animationOffset,a.fn.popIn!==d?j.css({display:"block",opacity:0,top:e,marginTop:h+"px"}).popIn():j.css({display:"block",opacity:0,top:e,marginTop:i+"px"}).animate({opacity:1,marginTop:h+"px"},g.duration+300,g.easing),m.is(":visible")&&m.filter(":visible").hide(),a.dimScreen({context:g.context,duration:0,dim:function(){a(c).on("keyup."+p,function(a){var b=a.which,c=27;switch(b){case c:j.modal("hide"),a.preventDefault()}}),k.one("click",function(){j.modal("hide")}),g.dim()},unDim:function(){j.modal("hide"),k.unbind("click")}})},hide:function(){a(c).off("keyup."+p),a.unDimScreen({duration:0,unDim:function(){j.popOut(200),g.unDim()}})},setting:function(a,b){return b===d?g[a]:(g[a]=b,void 0)},debug:function(){var a=[],b=g.moduleName+": "+arguments[0],c=[].slice.call(arguments,1),d=console.info||console.log||function(){};g.debug&&(a.push(b),d.apply(console,a.concat(c)))},error:function(){var a=[],b=g.moduleName+": "+arguments[0],c=[].slice.call(arguments,1),d=console.warn||console.log||function(){};g.debug&&(a.push(b),a.concat(c),d.apply(console,a.concat(c)))},invoke:function(b,c,f){var h,i;return f=f||[].slice.call(arguments,2),"string"==typeof b&&n!==d&&(b=b.split(/[\. ]/),h=b.length-1,a.each(b,function(b,c){return a.isPlainObject(n[c])&&b!=h?(n=n[c],!0):n[c]!==d?(i=n[c],!0):(e.error(g.errors.method),!1)})),a.isFunction(i)?i.apply(c,f):i}},o?f=e.invoke(h,this,i):e.initialize()}),f!==d?f:this},a.fn.modal.settings={moduleName:"Modal",debug:!1,namespace:"modal",errors:{method:"The method you called is not defined"},dim:function(){},unDim:function(){},hide:function(){},show:function(){},context:"body",opacity:.8,closeSpacing:25,animationOffset:15,duration:400,easing:"easeOutExpo",selector:{dimmer:"#dimmer",modal:".modal",closeButton:".close"}}}(jQuery,window,document);
!function(a,b,c,d){a.dimScreen=function(b){var c="function"==typeof b?a.extend({},a.fn.modal.settings,{dim:b}):a.extend({},a.fn.modal.settings,b),d=a(c.context),e=d.children(c.selector.dimmer),f=e.size()>0,g=e.css("opacity");return f||(e=a("<div/>").attr("id","dimmer").html('<div class="content"></div>'),d.append(e)),g!=c.opacity&&(e.one("click",function(){c.unDim(),a.unDimScreen()}),0===c.duration?(e.css({visibility:"visible"}).find(".content").css({opacity:c.opacity,visibility:"visible"}),c.dim()):e.css({visibility:"visible"}).find(".content").css({opacity:0,visibility:"visible"}).fadeTo(c.duration,c.opacity,c.dim)),this},a.unDimScreen=function(b){var c="function"==typeof b?a.extend({},a.fn.modal.settings,{unDim:b}):a.extend({},a.fn.modal.settings,b),d=a(c.context),e=d.children(c.selector.dimmer),f=e.size()>0;return f&&(c.unDim(),0===c.duration?e.css({visibility:"hidden"}).remove():e.find(".content").fadeTo(c.duration,0,function(){e.remove()})),this},a.fn.modal=function(e){var f,g=a.extend(!0,{},a.fn.modal.settings,e),h=arguments[0],i=[].slice.call(arguments,1);return a(this).each(function(){var e,j=a(this),k=j.find(g.selector.closeButton),l=(a(g.context).find(g.selector.dimmer),a(g.context).children(g.selector.modal)),m=l.not(j),n=j.data("module-"+g.namespace),o="string"==typeof h,p=(g.className,g.namespace);e={initialize:function(){j.on("modalShow."+p,e.show).on("modalHide."+p,e.hide).data("module-"+p,e)},show:function(){var e,f,h,i,l=j.outerHeight(),n=a(b).height(),o=l>n,q=o?"absolute":"fixed";j.removeClass("absolute fixed").addClass(q),e=o?"0":"50%",f=o?n/8:-((l-g.closeSpacing)/2),h="absolute"==j.css("position")?f+a(b).prop("pageYOffset"):f,i=h+g.animationOffset,a.fn.popIn!==d?j.css({display:"block",opacity:0,top:e,marginTop:h+"px"}).popIn():j.css({display:"block",opacity:0,top:e,marginTop:i+"px"}).animate({opacity:1,marginTop:h+"px"},g.duration+300,g.easing),m.is(":visible")&&m.filter(":visible").hide(),a.dimScreen({context:g.context,duration:0,dim:function(){a(c).on("keyup."+p,function(a){var b=a.which,c=27;switch(b){case c:j.modal("hide"),a.preventDefault()}}),k.one("click",function(){j.modal("hide")}),g.dim()},unDim:function(){j.modal("hide"),k.unbind("click")}})},hide:function(){a(c).off("keyup."+p),a.unDimScreen({duration:0,unDim:function(){j.popOut(200),g.unDim()}})},setting:function(a,b){return b===d?g[a]:(g[a]=b,void 0)},debug:function(){var a=[],b=g.moduleName+": "+arguments[0],c=[].slice.call(arguments,1),d=console.info||console.log||function(){};g.debug&&(a.push(b),d.apply(console,a.concat(c)))},error:function(){var a=[],b=g.moduleName+": "+arguments[0],c=[].slice.call(arguments,1),d=console.warn||console.log||function(){};g.debug&&(a.push(b),a.concat(c),d.apply(console,a.concat(c)))},invoke:function(b,c,f){var h,i;return f=f||[].slice.call(arguments,2),"string"==typeof b&&n!==d&&(b=b.split(/[\. ]/),h=b.length-1,a.each(b,function(b,c){return a.isPlainObject(n[c])&&b!=h?(n=n[c],!0):n[c]!==d?(i=n[c],!0):(e.error(g.errors.method),!1)})),a.isFunction(i)?i.apply(c,f):i}},o?f=e.invoke(h,this,i):e.initialize()}),f?f:this},a.fn.modal.settings={moduleName:"Modal",debug:!1,namespace:"modal",errors:{method:"The method you called is not defined"},dim:function(){},unDim:function(){},hide:function(){},show:function(){},context:"body",opacity:.8,closeSpacing:25,animationOffset:15,duration:400,easing:"easeOutExpo",selector:{dimmer:"#dimmer",modal:".modal",closeButton:".close"}}}(jQuery,window,document);

30
build/minified/modules/nag.js

@ -13,8 +13,13 @@ $.fn.nag = function(parameters) {
$allModules = $(this),
settings = $.extend(true, {}, $.fn.nag.settings, parameters),
eventNamespace = '.' + settings.namespace,
moduleNamespace = settings.namespace + '-module',
className = settings.className,
selector = settings.selector,
error = settings.errors,
namespace = settings.namespace,
eventNamespace = '.' + namespace,
moduleNamespace = namespace + '-module',
moduleSelector = $allModules.selector || '',
time = new Date().getTime(),
@ -30,16 +35,13 @@ $.fn.nag = function(parameters) {
var
$module = $(this),
$close = $module.find(settings.selector.close),
$close = $module.find(selector.close),
$context = $(settings.context),
element = this,
instance = $module.data(moduleNamespace),
className = settings.className,
errors = settings.errors,
moduleOffset,
moduleHeight,
@ -258,7 +260,7 @@ $.fn.nag = function(parameters) {
$.cookie(key, value);
}
else {
module.error(errors.noStorage);
module.error(error.noStorage);
}
},
get: function(key) {
@ -271,7 +273,7 @@ $.fn.nag = function(parameters) {
return $.cookie(key);
}
else {
module.error(errors.noStorage);
module.error(error.noStorage);
}
}
@ -352,7 +354,7 @@ $.fn.nag = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -370,7 +372,8 @@ $.fn.nag = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -412,7 +415,7 @@ $.fn.nag = function(parameters) {
found = instance[value];
return true;
}
module.error(errors.method);
module.error(error.method);
return false;
});
}
@ -484,8 +487,9 @@ $.fn.nag.settings = {
// context for scroll event
context : window,
errors: {
noStorage : 'Neither $.cookie or store is defined. A storage solution is required for storing state'
error: {
noStorage : 'Neither $.cookie or store is defined. A storage solution is required for storing state',
method : 'The method you called is not defined.'
},
className : {

2
build/minified/modules/nag.min.js

File diff suppressed because one or more lines are too long

5
build/minified/modules/popup.js

@ -527,7 +527,7 @@ $.fn.popup = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -545,7 +545,8 @@ $.fn.popup = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});

2
build/minified/modules/popup.min.js

File diff suppressed because one or more lines are too long

42
build/minified/modules/search.js

@ -14,8 +14,14 @@ $.fn.search = function(source, parameters) {
$allModules = $(this),
settings = $.extend(true, {}, $.fn.search.settings, parameters),
eventNamespace = '.' + settings.namespace,
moduleNamespace = settings.namespace + '-module',
className = settings.className,
selector = settings.selector,
errors = settings.errors,
namespace = settings.namespace,
eventNamespace = '.' + namespace,
moduleNamespace = namespace + '-module',
moduleSelector = $allModules.selector || '',
time = new Date().getTime(),
@ -30,17 +36,15 @@ $.fn.search = function(source, parameters) {
.each(function() {
var
$module = $(this),
$prompt = $module.find(settings.selector.prompt),
$searchButton = $module.find(settings.selector.searchButton),
$results = $module.find(settings.selector.results),
$result = $module.find(settings.selector.result),
$category = $module.find(settings.selector.category),
$prompt = $module.find(selector.prompt),
$searchButton = $module.find(selector.searchButton),
$results = $module.find(selector.results),
$result = $module.find(selector.result),
$category = $module.find(selector.category),
element = this,
instance = $module.data(moduleNamespace),
className = settings.className,
errors = settings.errors,
module
;
module = {
@ -70,12 +74,13 @@ $.fn.search = function(source, parameters) {
.on('click' + eventNamespace, module.search.query)
;
$results
.on('click' + eventNamespace, settings.selector.result, module.results.select)
.on('click' + eventNamespace, selector.result, module.results.select)
;
module.instantiate();
},
instantiate: function() {
module.verbose('Storing instance of module', module);
instance = module;
$module
.data(moduleNamespace, module)
;
@ -104,8 +109,8 @@ $.fn.search = function(source, parameters) {
handleKeyboard: function(event) {
var
// force latest jq dom
$result = $module.find(settings.selector.result),
$category = $module.find(settings.selector.category),
$result = $module.find(selector.result),
$category = $module.find(selector.category),
keyCode = event.which,
keys = {
backspace : 8,
@ -121,6 +126,7 @@ $.fn.search = function(source, parameters) {
;
// search shortcuts
if(keyCode == keys.escape) {
module.verbose('Escape key pressed, blurring search field');
$prompt
.trigger('blur')
;
@ -128,6 +134,7 @@ $.fn.search = function(source, parameters) {
// result shortcuts
if($results.filter(':visible').size() > 0) {
if(keyCode == keys.enter) {
module.verbose('Enter key pressed, selecting active result');
if( $result.filter('.' + activeClass).exists() ) {
$.proxy(module.results.select, $result.filter('.' + activeClass) )();
event.preventDefault();
@ -135,6 +142,7 @@ $.fn.search = function(source, parameters) {
}
}
else if(keyCode == keys.upArrow) {
module.verbose('Up key pressed, changing active result');
newIndex = (currentIndex - 1 < 0)
? currentIndex
: currentIndex - 1
@ -152,6 +160,7 @@ $.fn.search = function(source, parameters) {
event.preventDefault();
}
else if(keyCode == keys.downArrow) {
module.verbose('Down key pressed, changing active result');
newIndex = (currentIndex + 1 >= resultSize)
? currentIndex
: currentIndex + 1
@ -172,6 +181,7 @@ $.fn.search = function(source, parameters) {
else {
// query shortcuts
if(keyCode == keys.enter) {
module.verbose('Enter key pressed, executing query');
module.search.query();
$searchButton
.addClass(className.down)
@ -452,7 +462,7 @@ $.fn.search = function(source, parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -470,7 +480,8 @@ $.fn.search = function(source, parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -537,6 +548,7 @@ $.fn.search = function(source, parameters) {
})
;
return (invokedResponse)
? invokedResponse
: this

2
build/minified/modules/search.min.js

File diff suppressed because one or more lines are too long

220
build/minified/modules/shape.js

@ -13,12 +13,18 @@ $.fn.shape = function(parameters) {
var
$allModules = $(this),
moduleSelector = $allModules.selector || '',
settings = $.extend(true, {}, $.fn.shape.settings, parameters),
// internal aliases
namespace = settings.namespace,
selector = settings.selector,
error = settings.error,
className = settings.className,
// define namespaces for modules
eventNamespace = '.' + settings.namespace,
moduleNamespace = 'module-' + settings.namespace,
moduleSelector = $allModules.selector || '',
eventNamespace = '.' + namespace,
moduleNamespace = 'module-' + namespace,
time = new Date().getTime(),
performance = [],
@ -34,8 +40,8 @@ $.fn.shape = function(parameters) {
var
// selector cache
$module = $(this),
$sides = $module.find(settings.selector.sides),
$side = $module.find(settings.selector.side),
$sides = $module.find(selector.sides),
$side = $module.find(selector.side),
// private variables
$activeSide,
@ -44,12 +50,6 @@ $.fn.shape = function(parameters) {
// standard module
element = this,
instance = $module.data(moduleNamespace),
// internal aliases
namespace = settings.namespace,
error = settings.error,
className = settings.className,
module
;
@ -58,6 +58,10 @@ $.fn.shape = function(parameters) {
initialize: function() {
module.verbose('Initializing module for', element);
module.set.defaultSide();
},
instantiate: function() {
module.verbose('Storing instance of module', module);
instance = module;
$module
.data(moduleNamespace, instance)
@ -75,8 +79,8 @@ $.fn.shape = function(parameters) {
refresh: function() {
module.verbose('Refreshing selector cache for', element);
$module = $(element);
$sides = $(this).find(settings.selector.shape);
$side = $(this).find(settings.selector.side);
$sides = $(this).find(selector.shape);
$side = $(this).find(selector.side);
},
repaint: function() {
@ -178,15 +182,85 @@ $.fn.shape = function(parameters) {
},
is: {
animating: function() {
return $module.hasClass(className.animating);
}
},
get: {
transform: {
up: function() {
var
translate = {
y: -(($activeSide.outerHeight() - $nextSide.outerHeight()) / 2),
z: -($activeSide.outerHeight() / 2)
}
;
return {
transform: 'translateY(' + translate.y + 'px) translateZ('+ translate.z + 'px) rotateX(-90deg)'
};
},
down: function() {
var
translate = {
y: -(($activeSide.outerHeight() - $nextSide.outerHeight()) / 2),
z: -($activeSide.outerHeight() / 2)
}
;
return {
transform: 'translateY(' + translate.y + 'px) translateZ('+ translate.z + 'px) rotateX(90deg)'
};
},
left: function() {
var
translate = {
x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2),
z : -($activeSide.outerWidth() / 2)
}
;
return {
transform: 'translateX(' + translate.x + 'px) translateZ(' + translate.z + 'px) rotateY(90deg)'
};
},
right: function() {
var
translate = {
x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2),
z : -($activeSide.outerWidth() / 2)
}
;
return {
transform: 'translateX(' + translate.x + 'px) translateZ(' + translate.z + 'px) rotateY(-90deg)'
};
},
over: function() {
var
translate = {
x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2)
}
;
return {
transform: 'translateX(' + translate.x + 'px) rotateY(180deg)'
};
},
back: function() {
var
translate = {
x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2)
}
;
return {
transform: 'translateX(' + translate.x + 'px) rotateY(-180deg)'
};
}
},
transitionEvent: function() {
var
element = document.createElement('element'),
@ -206,9 +280,9 @@ $.fn.shape = function(parameters) {
},
nextSide: function() {
return ( $activeSide.next(settings.selector.side).size() > 0 )
? $activeSide.next(settings.selector.side)
: $module.find(settings.selector.side).first()
return ( $activeSide.next(selector.side).size() > 0 )
? $activeSide.next(selector.side)
: $module.find(selector.side).first()
;
}
@ -218,9 +292,9 @@ $.fn.shape = function(parameters) {
defaultSide: function() {
$activeSide = $module.find('.' + settings.className.active);
$nextSide = ( $activeSide.next(settings.selector.side).size() > 0 )
? $activeSide.next(settings.selector.side)
: $module.find(settings.selector.side).first()
$nextSide = ( $activeSide.next(selector.side).size() > 0 )
? $activeSide.next(selector.side)
: $module.find(selector.side).first()
;
module.verbose('Active side set to', $activeSide);
module.verbose('Next side set to', $nextSide);
@ -269,10 +343,10 @@ $.fn.shape = function(parameters) {
module.debug('Flipping up', $nextSide);
if( !module.is.animating() ) {
module.stage.above();
module.animate( module.getTransform.up() );
module.animate( module.get.transform.up() );
}
else {
module.queue('flip.up');
module.queue('flip up');
}
},
@ -280,10 +354,10 @@ $.fn.shape = function(parameters) {
module.debug('Flipping down', $nextSide);
if( !module.is.animating() ) {
module.stage.below();
module.animate( module.getTransform.down() );
module.animate( module.get.transform.down() );
}
else {
module.queue('flip.down');
module.queue('flip down');
}
},
@ -291,10 +365,10 @@ $.fn.shape = function(parameters) {
module.debug('Flipping left', $nextSide);
if( !module.is.animating() ) {
module.stage.left();
module.animate(module.getTransform.left() );
module.animate(module.get.transform.left() );
}
else {
module.queue('flip.left');
module.queue('flip left');
}
},
@ -302,10 +376,10 @@ $.fn.shape = function(parameters) {
module.debug('Flipping right', $nextSide);
if( !module.is.animating() ) {
module.stage.right();
module.animate(module.getTransform.right() );
module.animate(module.get.transform.right() );
}
else {
module.queue('flip.right');
module.queue('flip right');
}
},
@ -313,10 +387,10 @@ $.fn.shape = function(parameters) {
module.debug('Flipping over', $nextSide);
if( !module.is.animating() ) {
module.stage.behind();
module.animate(module.getTransform.over() );
module.animate(module.get.transform.over() );
}
else {
module.queue('flip.over');
module.queue('flip over');
}
},
@ -324,89 +398,15 @@ $.fn.shape = function(parameters) {
module.debug('Flipping back', $nextSide);
if( !module.is.animating() ) {
module.stage.behind();
module.animate(module.getTransform.back() );
module.animate(module.get.transform.back() );
}
else {
module.queue('flip.back');
module.queue('flip back');
}
}
},
getTransform: {
up: function() {
var
translate = {
y: -(($activeSide.outerHeight() - $nextSide.outerHeight()) / 2),
z: -($activeSide.outerHeight() / 2)
}
;
return {
transform: 'translateY(' + translate.y + 'px) translateZ('+ translate.z + 'px) rotateX(-90deg)'
};
},
down: function() {
var
translate = {
y: -(($activeSide.outerHeight() - $nextSide.outerHeight()) / 2),
z: -($activeSide.outerHeight() / 2)
}
;
return {
transform: 'translateY(' + translate.y + 'px) translateZ('+ translate.z + 'px) rotateX(90deg)'
};
},
left: function() {
var
translate = {
x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2),
z : -($activeSide.outerWidth() / 2)
}
;
return {
transform: 'translateX(' + translate.x + 'px) translateZ(' + translate.z + 'px) rotateY(90deg)'
};
},
right: function() {
var
translate = {
x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2),
z : -($activeSide.outerWidth() / 2)
}
;
return {
transform: 'translateX(' + translate.x + 'px) translateZ(' + translate.z + 'px) rotateY(-90deg)'
};
},
over: function() {
var
translate = {
x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2)
}
;
return {
transform: 'translateX(' + translate.x + 'px) rotateY(180deg)'
};
},
back: function() {
var
translate = {
x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2)
}
;
return {
transform: 'translateX(' + translate.x + 'px) rotateY(-180deg)'
};
}
},
stage: {
above: function() {
@ -597,7 +597,7 @@ $.fn.shape = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -615,7 +615,8 @@ $.fn.shape = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -683,6 +684,7 @@ $.fn.shape = function(parameters) {
}
})
;
return (invokedResponse)
? invokedResponse
: this

2
build/minified/modules/shape.min.js

File diff suppressed because one or more lines are too long

402
build/minified/modules/star.js

@ -8,173 +8,299 @@
;(function ($, window, document, undefined) {
$.fn.starReview = function(parameters) {
var
settings = $.extend(true, {}, $.fn.starReview.settings, parameters),
// hoist arguments
moduleArguments = arguments || false
;
$(this)
.each(function() {
var
$module = $(this),
$star = $module.find(settings.selector.star),
className = settings.className,
namespace = settings.namespace,
instance = $module.data('module'),
module
;
module = {
$.fn.starReview = function(parameters) {
var
$allModules = $(this),
moduleSelector = $allModules.selector || '',
settings = $.extend(true, {}, $.fn.starReview.settings, parameters),
namespace = settings.namespace,
className = settings.className,
selector = settings.selector,
error = settings.error,
eventNamespace = '.' + namespace,
moduleNamespace = 'module-' + namespace,
time = new Date().getTime(),
performance = [],
query = arguments[0],
methodInvoked = (typeof query == 'string'),
queryArguments = [].slice.call(arguments, 1),
invokedResponse
;
$allModules
.each(function() {
var
$module = $(this),
$star = $module.find(selector.star),
element = this,
instance = $module.data(moduleNamespace),
module
;
settings: settings,
module = {
initialize: function() {
if(settings.rateable) {
// expandable with states
if($.fn.state !== undefined) {
$module
.state()
;
$star
.state()
;
}
initialize: function() {
if(settings.rateable) {
// expandable with states
if($.fn.state !== undefined) {
$module
.state()
;
$star
.bind('mouseenter.' + namespace, module.event.mouseenter)
.bind('mouseleave.' + namespace, module.event.mouseleave)
.bind('click.' + namespace, module.event.click)
.state()
;
}
$module
.addClass(className.initialize)
.data('module', module)
$star
.bind('mouseenter' + eventNamespace, module.event.mouseenter)
.bind('mouseleave' + eventNamespace, module.event.mouseleave)
.bind('click' + eventNamespace, module.event.click)
;
},
}
$module
.addClass(className.initialize)
;
module.instantiate();
},
instantiate: function() {
$module
.data(moduleNamespace, module)
;
},
setRating: function(rating) {
var
$activeStar = $star.eq(rating - 1)
;
$module
.removeClass(className.hover)
;
$star
.removeClass(className.hover)
;
$activeStar
.nextAll()
.removeClass(className.active)
;
$activeStar
.addClass(className.active)
.prevAll()
.addClass(className.active)
;
$.proxy(settings.onRate, $module)();
},
setRating: function(rating) {
event: {
mouseenter: function() {
var
$activeStar = $star.eq(rating - 1)
;
$module
.removeClass(className.hover)
;
$star
.removeClass(className.hover)
$activeStar = $(this)
;
$activeStar
.nextAll()
.removeClass(className.active)
.removeClass(className.hover)
;
$module
.addClass(className.hover)
;
$activeStar
.addClass(className.active)
.addClass(className.hover)
.prevAll()
.addClass(className.active)
;
$.proxy(settings.onRate, $module)();
},
event: {
mouseenter: function() {
var
$activeStar = $(this)
;
$activeStar
.nextAll()
.removeClass(className.hover)
;
$module
.addClass(className.hover)
;
$activeStar
.addClass(className.hover)
.prevAll()
.addClass(className.hover)
;
},
mouseleave: function() {
$star
.removeClass(className.hover)
;
},
click: function() {
var
$activeStar = $(this)
;
module.setRating( $star.index($activeStar) + 1);
}
;
},
// handle error logging
error: function(errorMessage) {
console.warn(settings.moduleName + ': ' + errorMessage);
mouseleave: function() {
$star
.removeClass(className.hover)
;
},
// allows for dot notation method calls
invoke: function(methodName, context, methodArguments) {
click: function() {
var
$activeStar = $(this)
;
module.setRating( $star.index($activeStar) + 1);
}
},
setting: function(name, value) {
if(value !== undefined) {
if( $.isPlainObject(name) ) {
$.extend(true, settings, name);
}
else {
settings[name] = value;
}
}
else {
return settings[name];
}
},
internal: function(name, value) {
if(value !== undefined) {
if( $.isPlainObject(name) ) {
$.extend(true, module, name);
}
else {
module[name] = value;
}
}
else {
return module[name];
}
},
debug: function() {
if(settings.debug) {
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.debug = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
}
}
},
verbose: function() {
if(settings.verbose && settings.debug) {
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
}
}
},
error: function() {
module.error = Function.prototype.bind.call(console.error, console, settings.moduleName + ':');
},
performance: {
log: function(message) {
var
method
currentTime,
executionTime,
previousTime
;
methodArguments = methodArguments || Array.prototype.slice.call( arguments, 2 );
if(typeof methodName == 'string' && instance !== undefined) {
methodName = methodName.split('.');
$.each(methodName, function(index, name) {
if( $.isPlainObject( instance[name] ) ) {
instance = instance[name];
return true;
}
else if( $.isFunction( instance[name] ) ) {
method = instance[name];
return true;
}
module.error(settings.errors.method);
return false;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
'Element' : element,
'Name' : message[0],
'Arguments' : [].slice.call(message, 1) || '',
'Execution Time' : executionTime
});
}
return ( $.isFunction( method ) )
? method.apply(context, methodArguments)
: false
clearTimeout(module.performance.timer);
module.performance.timer = setTimeout(module.performance.display, 100);
},
display: function() {
var
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
title += ' ' + totalTime + 'ms';
if(moduleSelector) {
title += ' \'' + moduleSelector + '\'';
}
if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
console.groupCollapsed(title);
if(console.table) {
console.table(performance);
}
else {
$.each(performance, function(index, data) {
console.log(data['Name'] + ': ' + data['Execution Time']+'ms');
});
}
console.groupEnd();
}
performance = [];
}
};
if(instance !== undefined && moduleArguments) {
// simpler than invoke realizing to invoke itself (and losing scope due prototype.call()
if(moduleArguments[0] == 'invoke') {
moduleArguments = Array.prototype.slice.call( moduleArguments, 1 );
},
invoke: function(query, passedArguments, context) {
var
searchInstance = instance,
maxDepth,
found
;
passedArguments = passedArguments || queryArguments;
context = element || context;
if(typeof query == 'string' && searchInstance !== undefined) {
query = query.split(/[\. ]/);
maxDepth = query.length - 1;
$.each(query, function(depth, value) {
if( $.isPlainObject( searchInstance[value] ) && (depth != maxDepth) ) {
searchInstance = searchInstance[value];
return true;
}
else if( searchInstance[value] !== undefined ) {
found = searchInstance[value];
return true;
}
module.error(error.method);
return false;
});
}
if ( $.isFunction( found ) ) {
return found.apply(context, passedArguments);
}
return module.invoke(moduleArguments[0], this, Array.prototype.slice.call( moduleArguments, 1 ) );
return found || false;
}
};
if(methodInvoked) {
if(instance === undefined) {
module.initialize();
}
invokedResponse = module.invoke(query);
}
else {
if(instance !== undefined) {
module.destroy();
}
// initializing
module.initialize();
})
;
}
})
;
return this;
};
return (invokedResponse)
? invokedResponse
: this
;
};
$.fn.starReview.settings = {
moduleName : 'Star',
namespace : 'star',
rateable : true,
onRate : function(){},
className : {
initialize : 'initialize',
loading : 'loading',
active : 'active',
hover : 'hover',
down : 'down'
},
$.fn.starReview.settings = {
moduleName : 'Star',
namespace : 'star',
rateable : true,
onRate : function(){},
error: {
method : 'The method you called is not defined'
},
className : {
initialize : 'initialize',
loading : 'loading',
active : 'active',
hover : 'hover',
down : 'down'
},
selector : {
star : 'i'
}
selector : {
star : 'i'
}
};
};
})( jQuery, window , document );

2
build/minified/modules/star.min.js

@ -1 +1 @@
!function(a,b,c,d){a.fn.starReview=function(b){var c=a.extend(!0,{},a.fn.starReview.settings,b),e=arguments||!1;return a(this).each(function(){var b,f=a(this),g=f.find(c.selector.star),h=c.className,i=c.namespace,j=f.data("module");return b={settings:c,initialize:function(){c.rateable&&(a.fn.state!==d&&(f.state(),g.state()),g.bind("mouseenter."+i,b.event.mouseenter).bind("mouseleave."+i,b.event.mouseleave).bind("click."+i,b.event.click)),f.addClass(h.initialize).data("module",b)},setRating:function(b){var d=g.eq(b-1);f.removeClass(h.hover),g.removeClass(h.hover),d.nextAll().removeClass(h.active),d.addClass(h.active).prevAll().addClass(h.active),a.proxy(c.onRate,f)()},event:{mouseenter:function(){var b=a(this);b.nextAll().removeClass(h.hover),f.addClass(h.hover),b.addClass(h.hover).prevAll().addClass(h.hover)},mouseleave:function(){g.removeClass(h.hover)},click:function(){var c=a(this);b.setRating(g.index(c)+1)}},error:function(a){console.warn(c.moduleName+": "+a)},invoke:function(e,f,g){var h;return g=g||Array.prototype.slice.call(arguments,2),"string"==typeof e&&j!==d&&(e=e.split("."),a.each(e,function(d,e){return a.isPlainObject(j[e])?(j=j[e],!0):a.isFunction(j[e])?(h=j[e],!0):(b.error(c.errors.method),!1)})),a.isFunction(h)?h.apply(f,g):!1}},j!==d&&e?("invoke"==e[0]&&(e=Array.prototype.slice.call(e,1)),b.invoke(e[0],this,Array.prototype.slice.call(e,1))):(b.initialize(),void 0)}),this},a.fn.starReview.settings={moduleName:"Star",namespace:"star",rateable:!0,onRate:function(){},className:{initialize:"initialize",loading:"loading",active:"active",hover:"hover",down:"down"},selector:{star:"i"}}}(jQuery,window,document);
!function(a,b,c,d){a.fn.starReview=function(b){var c,e=a(this),f=e.selector||"",g=a.extend(!0,{},a.fn.starReview.settings,b),h=g.namespace,i=g.className,j=g.selector,k=g.error,l="."+h,m="module-"+h,n=(new Date).getTime(),o=[],p=arguments[0],q="string"==typeof p,r=[].slice.call(arguments,1);return e.each(function(){var b,e=a(this),h=e.find(j.star),s=this,t=e.data(m);b={initialize:function(){g.rateable&&(a.fn.state!==d&&(e.state(),h.state()),h.bind("mouseenter"+l,b.event.mouseenter).bind("mouseleave"+l,b.event.mouseleave).bind("click"+l,b.event.click)),e.addClass(i.initialize),b.instantiate()},instantiate:function(){e.data(m,b)},setRating:function(b){var c=h.eq(b-1);e.removeClass(i.hover),h.removeClass(i.hover),c.nextAll().removeClass(i.active),c.addClass(i.active).prevAll().addClass(i.active),a.proxy(g.onRate,e)()},event:{mouseenter:function(){var b=a(this);b.nextAll().removeClass(i.hover),e.addClass(i.hover),b.addClass(i.hover).prevAll().addClass(i.hover)},mouseleave:function(){h.removeClass(i.hover)},click:function(){var c=a(this);b.setRating(h.index(c)+1)}},setting:function(b,c){return c===d?g[b]:(a.isPlainObject(b)?a.extend(!0,g,b):g[b]=c,void 0)},internal:function(c,e){return e===d?b[c]:(a.isPlainObject(c)?a.extend(!0,b,c):b[c]=e,void 0)},debug:function(){g.debug&&(g.performance?b.performance.log(arguments):b.debug=Function.prototype.bind.call(console.info,console,g.moduleName+":"))},verbose:function(){g.verbose&&g.debug&&(g.performance?b.performance.log(arguments):b.verbose=Function.prototype.bind.call(console.info,console,g.moduleName+":"))},error:function(){b.error=Function.prototype.bind.call(console.error,console,g.moduleName+":")},performance:{log:function(a){var c,d,e;g.performance&&(c=(new Date).getTime(),e=n||c,d=c-e,n=c,o.push({Element:s,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":d})),clearTimeout(b.performance.timer),b.performance.timer=setTimeout(b.performance.display,100)},display:function(){var c=g.moduleName+":",e=0;n=!1,clearTimeout(b.performance.timer),a.each(o,function(a,b){e+=b["Execution Time"]}),c+=" "+e+"ms",f&&(c+=" '"+f+"'"),(console.group!==d||console.table!==d)&&o.length>0&&(console.groupCollapsed(c),console.table?console.table(o):a.each(o,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),o=[]}},invoke:function(c,e,f){var g,h,i=t;return e=e||r,f=s||f,"string"==typeof c&&i!==d&&(c=c.split(/[\. ]/),g=c.length-1,a.each(c,function(c,e){return a.isPlainObject(i[e])&&c!=g?(i=i[e],!0):i[e]!==d?(h=i[e],!0):(b.error(k.method),!1)})),a.isFunction(h)?h.apply(f,e):h||!1}},q?(t===d&&b.initialize(),c=b.invoke(p)):(t!==d&&b.destroy(),b.initialize())}),c?c:this},a.fn.starReview.settings={moduleName:"Star",namespace:"star",rateable:!0,onRate:function(){},error:{method:"The method you called is not defined"},className:{initialize:"initialize",loading:"loading",active:"active",hover:"hover",down:"down"},selector:{star:"i"}}}(jQuery,window,document);

21
build/minified/modules/tab.js

@ -15,6 +15,8 @@
$module = $(this),
$tabs = $(settings.context).find(settings.selector.tabs),
moduleSelector = $module.selector || '',
cache = {},
firstLoad = true,
@ -27,14 +29,13 @@
element = this,
time = new Date().getTime(),
performance = [],
moduleSelector = $module.selector || '',
eventNamespace = '.' + settings.namespace,
moduleNamespace = settings.namespace + '-module',
className = settings.className,
metadata = settings.metadata,
errors = settings.errors,
eventNamespace = '.' + settings.namespace,
moduleNamespace = settings.namespace + '-module',
instance = $module.data(moduleNamespace),
@ -80,6 +81,11 @@
.on('click' + eventNamespace, module.event.click)
;
}
module.instantiate();
},
instantiate: function () {
module.verbose('Storing instance of module', module);
$module
.data(moduleNamespace, module)
;
@ -477,7 +483,7 @@
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -495,7 +501,8 @@
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -561,7 +568,7 @@
module.initialize();
}
return (invokedResponse !== undefined)
return (invokedResponse)
? invokedResponse
: this
;

2
build/minified/modules/tab.min.js

File diff suppressed because one or more lines are too long

19
build/minified/modules/transition.js

@ -12,20 +12,24 @@
$.fn.transition = function(parameters) {
var
$allModules = $(this),
moduleSelector = $allModules.selector || '',
settings = $.extend(true, {}, $.fn.transition.settings, parameters),
// define namespaces for modules
eventNamespace = '.' + settings.namespace,
moduleNamespace = 'module-' + settings.namespace,
moduleSelector = $allModules.selector || '',
time = new Date().getTime(),
performance = [],
query = arguments[0],
methodInvoked = (typeof query == 'string'),
queryArguments = [].slice.call(arguments, 1),
error = settings.error,
namespace = settings.namespace,
// define namespaces for modules
eventNamespace = '.' + namespace,
moduleNamespace = 'module-' + namespace,
invokedResponse
;
@ -218,7 +222,7 @@ $.fn.transition = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -236,7 +240,8 @@ $.fn.transition = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});

2
build/minified/modules/transition.min.js

@ -1 +1 @@
!function(a,b,c,d){a.fn.transition=function(b){var e,f=a(this),g=a.extend(!0,{},a.fn.transition.settings,b),h="."+g.namespace,i="module-"+g.namespace,j=f.selector||"",k=(new Date).getTime(),l=[],m=arguments[0],n="string"==typeof m,o=[].slice.call(arguments,1);return f.each(function(){var b,f=a(this),p=this,q=f.data(i),r=g.error;b={initialize:function(){q=b,f.data(i,q)},destroy:function(){b.verbose("Destroying previous module for",p),f.removeData(i).off(h)},repaint:function(a){b.verbose("Forcing repaint event"),a=p.offsetWidth},get:{settings:function(b,c,e,f){return a.isObject(b)===d?b:g="object"==typeof c?a.extend({},g,c):"function"==typeof e?a.extend({},g,{duration:c,complete:e}):"object"==typeof e?a.extend(!0,{},g,{duration:c},e):a.extend({},g,{duration:c,easing:e,complete:f})},transitionEvent:function(){var a,b=c.createElement("element"),e={transition:"transitionend",OTransition:"oTransitionEnd",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"};for(a in e)if(b.style[a]!==d)return e[a];return!1}},can:{transition:function(b){var c=a("<div />");return c.addClass(b),"0s"!==c.css("transitionDuration")}},is:{animating:function(){return b.animating}},animate:function(c){return b.verbose("Converting arguments into settings object",arguments),c=b.get.settings(arguments),b.animating=!0,b.can.transition()?(b.debug("Beginning animation"),a(this).one(b.get.transitionEvent(),function(){b.reset(c.transition)}),void 0):(b.error(r.noAnimation),!1)},reset:function(b){a(this).removeClass(b)},setting:function(b,c){return c===d?g[b]:(a.isPlainObject(b)?a.extend(!0,g,b):g[b]=c,void 0)},internal:function(c,e){return e===d?b[c]:(a.isPlainObject(c)?a.extend(!0,b,c):b[c]=e,void 0)},debug:function(){g.debug&&(g.performance?b.performance.log(arguments):b.debug=Function.prototype.bind.call(console.info,console,g.moduleName+":"))},verbose:function(){g.verbose&&g.debug&&(g.performance?b.performance.log(arguments):b.verbose=Function.prototype.bind.call(console.info,console,g.moduleName+":"))},error:function(){b.error=Function.prototype.bind.call(console.error,console,g.moduleName+":")},performance:{log:function(a){var c,d,e;g.performance&&(c=(new Date).getTime(),e=k||c,d=c-e,k=c,l.push({Element:p,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":d})),clearTimeout(b.performance.timer),b.performance.timer=setTimeout(b.performance.display,100)},display:function(){var b=g.moduleName+":",c=0;k=!1,a.each(l,function(a,b){c+=b["Execution Time"]}),b+=" "+c+"ms",j&&(b+=" '"+j+"'"),(console.group!==d||console.table!==d)&&l.length>0&&(console.groupCollapsed(b),console.table?console.table(l):a.each(l,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),l=[]}},invoke:function(c,e,f){var g,h,i=q;return e=e||o,f=p||f,"string"==typeof c&&i!==d&&(c=c.split(/[\. ]/),g=c.length-1,a.each(c,function(c,e){return a.isPlainObject(i[e])&&c!=g?(i=i[e],!0):i[e]!==d?(h=i[e],!0):(b.error(error.method),!1)})),a.isFunction(h)?(q.verbose("Executing invoked function",h),h.apply(f,e)):h||!1}},n?(q===d&&b.initialize(),e=b.invoke(m)):(q!==d&&b.destroy(),b.initialize())}),e?e:this},a.fn.transition.settings={moduleName:"Shape Module",debug:!1,verbose:!1,performance:!1,namespace:"transition",beforeChange:function(){},onChange:function(){},useCSS:!0,duration:1e3,easing:"easeInOutQuad",error:{noAnimation:"There is no css animation matching the one you specified.",method:"The method you called is not defined"},selector:{sides:".sides",side:".side"}}}(jQuery,window,document);
!function(a,b,c,d){a.fn.transition=function(b){var e,f=a(this),g=f.selector||"",h=a.extend(!0,{},a.fn.transition.settings,b),i=(new Date).getTime(),j=[],k=arguments[0],l="string"==typeof k,m=[].slice.call(arguments,1),n=h.error,o=h.namespace,p="."+o,q="module-"+o;return f.each(function(){var b,f=a(this),o=this,r=f.data(q),s=h.error;b={initialize:function(){r=b,f.data(q,r)},destroy:function(){b.verbose("Destroying previous module for",o),f.removeData(q).off(p)},repaint:function(a){b.verbose("Forcing repaint event"),a=o.offsetWidth},get:{settings:function(b,c,e,f){return a.isObject(b)===d?b:h="object"==typeof c?a.extend({},h,c):"function"==typeof e?a.extend({},h,{duration:c,complete:e}):"object"==typeof e?a.extend(!0,{},h,{duration:c},e):a.extend({},h,{duration:c,easing:e,complete:f})},transitionEvent:function(){var a,b=c.createElement("element"),e={transition:"transitionend",OTransition:"oTransitionEnd",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"};for(a in e)if(b.style[a]!==d)return e[a];return!1}},can:{transition:function(b){var c=a("<div />");return c.addClass(b),"0s"!==c.css("transitionDuration")}},is:{animating:function(){return b.animating}},animate:function(c){return b.verbose("Converting arguments into settings object",arguments),c=b.get.settings(arguments),b.animating=!0,b.can.transition()?(b.debug("Beginning animation"),a(this).one(b.get.transitionEvent(),function(){b.reset(c.transition)}),void 0):(b.error(s.noAnimation),!1)},reset:function(b){a(this).removeClass(b)},setting:function(b,c){return c===d?h[b]:(a.isPlainObject(b)?a.extend(!0,h,b):h[b]=c,void 0)},internal:function(c,e){return e===d?b[c]:(a.isPlainObject(c)?a.extend(!0,b,c):b[c]=e,void 0)},debug:function(){h.debug&&(h.performance?b.performance.log(arguments):b.debug=Function.prototype.bind.call(console.info,console,h.moduleName+":"))},verbose:function(){h.verbose&&h.debug&&(h.performance?b.performance.log(arguments):b.verbose=Function.prototype.bind.call(console.info,console,h.moduleName+":"))},error:function(){b.error=Function.prototype.bind.call(console.error,console,h.moduleName+":")},performance:{log:function(a){var c,d,e;h.performance&&(c=(new Date).getTime(),e=i||c,d=c-e,i=c,j.push({Element:o,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":d})),clearTimeout(b.performance.timer),b.performance.timer=setTimeout(b.performance.display,100)},display:function(){var c=h.moduleName+":",e=0;i=!1,clearTimeout(b.performance.timer),a.each(j,function(a,b){e+=b["Execution Time"]}),c+=" "+e+"ms",g&&(c+=" '"+g+"'"),(console.group!==d||console.table!==d)&&j.length>0&&(console.groupCollapsed(c),console.table?console.table(j):a.each(j,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),j=[]}},invoke:function(c,e,f){var g,h,i=r;return e=e||m,f=o||f,"string"==typeof c&&i!==d&&(c=c.split(/[\. ]/),g=c.length-1,a.each(c,function(c,e){return a.isPlainObject(i[e])&&c!=g?(i=i[e],!0):i[e]!==d?(h=i[e],!0):(b.error(n.method),!1)})),a.isFunction(h)?(r.verbose("Executing invoked function",h),h.apply(f,e)):h||!1}},l?(r===d&&b.initialize(),e=b.invoke(k)):(r!==d&&b.destroy(),b.initialize())}),e?e:this},a.fn.transition.settings={moduleName:"Shape Module",debug:!1,verbose:!1,performance:!1,namespace:"transition",beforeChange:function(){},onChange:function(){},useCSS:!0,duration:1e3,easing:"easeInOutQuad",error:{noAnimation:"There is no css animation matching the one you specified.",method:"The method you called is not defined"},selector:{sides:".sides",side:".side"}}}(jQuery,window,document);

41
build/minified/modules/video.js

@ -21,33 +21,33 @@ $.fn.video = function(parameters) {
: $.fn.video.settings,
moduleSelector = $allModules.selector || '',
time = new Date().getTime(),
performance = [],
query = arguments[0],
methodInvoked = (typeof query == 'string'),
queryArguments = [].slice.call(arguments, 1),
selector = settings.selector,
className = settings.className,
error = settings.error,
metadata = settings.metadata,
namespace = settings.namespace,
eventNamespace = '.' + namespace,
moduleNamespace = namespace + '-module',
invokedResponse
;
$(this)
$allModules
.each(function() {
var
$module = $(this),
$placeholder = $module.find(settings.selector.placeholder),
$playButton = $module.find(settings.selector.playButton),
$embed = $module.find(settings.selector.embed),
eventNamespace = '.' + settings.namespace,
moduleNamespace = settings.namespace + '-module',
selector = settings.selector,
className = settings.className,
error = settings.error,
metadata = settings.metadata,
namespace = settings.namespace,
$module = $(this),
$placeholder = $module.find(selector.placeholder),
$playButton = $module.find(selector.playButton),
$embed = $module.find(selector.embed),
element = this,
instance = $module.data(moduleNamespace),
@ -68,6 +68,7 @@ $.fn.video = function(parameters) {
},
instantiate: function() {
module.verbose('Storing instance of module', module);
instance = module;
$module
.data(moduleNamespace, module)
@ -282,7 +283,7 @@ $.fn.video = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -300,7 +301,8 @@ $.fn.video = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -366,7 +368,6 @@ $.fn.video = function(parameters) {
}
})
;
return (invokedResponse)
? invokedResponse
: this

2
build/minified/modules/video.min.js

@ -1 +1 @@
!function(a,b,c,d){a.fn.video=function(b){var c,e=a(this),f=a.isPlainObject(b)?a.extend(!0,{},a.fn.video.settings,b):a.fn.video.settings,g=e.selector||"",h=(new Date).getTime(),i=[],j=arguments[0],k="string"==typeof j,l=[].slice.call(arguments,1);return a(this).each(function(){var b,e=a(this),m=e.find(f.selector.placeholder),n=e.find(f.selector.playButton),o=e.find(f.selector.embed),p="."+f.namespace,q=f.namespace+"-module",r=(f.selector,f.className),s=f.error,t=f.metadata,u=(f.namespace,this),v=e.data(q);b={initialize:function(){b.debug("Initializing video"),m.on("click"+p,b.play),n.on("click"+p,b.play),b.instantiate()},instantiate:function(){v=b,e.data(q,b)},destroy:function(){b.verbose("Destroying previous instance of video"),e.removeData(q).off(p)},change:function(a,c,d){b.debug("Changing video to ",a,c,d),e.data(t.source,a).data(t.id,c).data(t.url,d),f.onChange()},reset:function(){b.debug("Clearing video embed and showing placeholder"),e.removeClass(r.active),o.html(" "),m.show(),f.onReset()},play:function(){b.debug("Playing video");var a=e.data(t.source)||!1,c=e.data(t.url)||!1,d=e.data(t.id)||!1;o.html(b.generate.html(a,d,c)),e.addClass(r.active),f.onPlay()},generate:{html:function(a,c,d){b.debug("Generating embed html");var g,h="auto"==f.width?e.width():f.width,i="auto"==f.height?e.height():f.height;return a&&c?"vimeo"==a?g='<iframe src="http://player.vimeo.com/video/'+c+"?="+b.generate.url(a)+'"'+' width="'+h+'" height="'+i+'"'+' frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>':"youtube"==a&&(g='<iframe src="http://www.youtube.com/embed/'+c+"?="+b.generate.url(a)+'"'+' width="'+h+'" height="'+i+'"'+' frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>'):d?g='<iframe src="'+d+'"'+' width="'+h+'" height="'+i+'"'+' frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>':b.error(s.noVideo),g},url:function(a){var b=f.api?1:0,c=f.autoplay?1:0,d=f.hd?1:0,e=f.showUI?1:0,g=f.showUI?0:1,h="";return"vimeo"==a&&(h="api="+b+"&amp;title="+e+"&amp;byline="+e+"&amp;portrait="+e+"&amp;autoplay="+c,f.color&&(h+="&amp;color="+f.color)),"ustream"==a?(h="autoplay="+c,f.color&&(h+="&amp;color="+f.color)):"youtube"==a&&(h="enablejsapi="+b+"&amp;autoplay="+c+"&amp;autohide="+g+"&amp;hq="+d+"&amp;modestbranding=1",f.color&&(h+="&amp;color="+f.color)),h}},setting:function(b,c){return c===d?f[b]:(a.isPlainObject(b)?a.extend(!0,f,b):f[b]=c,void 0)},internal:function(c,e){return e===d?b[c]:(a.isPlainObject(c)?a.extend(!0,b,c):b[c]=e,void 0)},debug:function(){f.debug&&(f.performance?b.performance.log(arguments):b.debug=Function.prototype.bind.call(console.info,console,f.moduleName+":"))},verbose:function(){f.verbose&&f.debug&&(f.performance?b.performance.log(arguments):b.verbose=Function.prototype.bind.call(console.info,console,f.moduleName+":"))},error:function(){b.error=Function.prototype.bind.call(console.warn,console,f.moduleName+":")},performance:{log:function(a){var c,d,e;f.performance&&(c=(new Date).getTime(),e=h||c,d=c-e,h=c,i.push({Element:u,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":d})),clearTimeout(b.performance.timer),b.performance.timer=setTimeout(b.performance.display,100)},display:function(){var b=f.moduleName+":",c=0;h=!1,a.each(i,function(a,b){c+=b["Execution Time"]}),b+=" "+c+"ms",g&&(b+=" '"+g+"'"),(console.group!==d||console.table!==d)&&i.length>0&&(console.groupCollapsed(b),console.table?console.table(i):a.each(i,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),i=[]}},invoke:function(c,e,f){var g,h;return e=e||l,f=u||f,"string"==typeof c&&v!==d&&(c=c.split(/[\. ]/),g=c.length-1,a.each(c,function(c,e){a.isPlainObject(v[e])&&c!=g?v=v[e]:v[e]!==d?h=v[e]:b.error(s.method)})),a.isFunction(h)?h.apply(f,e):h||!1}},k?(v===d&&b.initialize(),c=b.invoke(j)):(v!==d&&b.destroy(),b.initialize())}),c?c:this},a.fn.video.settings={moduleName:"Video",namespace:"video",debug:!0,verbose:!0,performance:!0,metadata:{source:"source",id:"id",url:"url"},onPlay:function(){},onReset:function(){},onChange:function(){},onPause:function(){},onStop:function(){},width:"auto",height:"auto",autoplay:!1,color:"#442359",hd:!0,showUI:!1,api:!0,error:{noVideo:"No video specified",method:"The method you called is not defined"},className:{active:"active"},selector:{embed:".embed",placeholder:".placeholder",playButton:".play"}}}(jQuery,window,document);
!function(a,b,c,d){a.fn.video=function(b){var c,e=a(this),f=a.isPlainObject(b)?a.extend(!0,{},a.fn.video.settings,b):a.fn.video.settings,g=e.selector||"",h=(new Date).getTime(),i=[],j=arguments[0],k="string"==typeof j,l=[].slice.call(arguments,1),m=f.selector,n=f.className,o=f.error,p=f.metadata,q=f.namespace,r="."+q,s=q+"-module";return e.each(function(){var b,e=a(this),q=e.find(m.placeholder),t=e.find(m.playButton),u=e.find(m.embed),v=this,w=e.data(s);b={initialize:function(){b.debug("Initializing video"),q.on("click"+r,b.play),t.on("click"+r,b.play),b.instantiate()},instantiate:function(){b.verbose("Storing instance of module",b),w=b,e.data(s,b)},destroy:function(){b.verbose("Destroying previous instance of video"),e.removeData(s).off(r)},change:function(a,c,d){b.debug("Changing video to ",a,c,d),e.data(p.source,a).data(p.id,c).data(p.url,d),f.onChange()},reset:function(){b.debug("Clearing video embed and showing placeholder"),e.removeClass(n.active),u.html(" "),q.show(),f.onReset()},play:function(){b.debug("Playing video");var a=e.data(p.source)||!1,c=e.data(p.url)||!1,d=e.data(p.id)||!1;u.html(b.generate.html(a,d,c)),e.addClass(n.active),f.onPlay()},generate:{html:function(a,c,d){b.debug("Generating embed html");var g,h="auto"==f.width?e.width():f.width,i="auto"==f.height?e.height():f.height;return a&&c?"vimeo"==a?g='<iframe src="http://player.vimeo.com/video/'+c+"?="+b.generate.url(a)+'"'+' width="'+h+'" height="'+i+'"'+' frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>':"youtube"==a&&(g='<iframe src="http://www.youtube.com/embed/'+c+"?="+b.generate.url(a)+'"'+' width="'+h+'" height="'+i+'"'+' frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>'):d?g='<iframe src="'+d+'"'+' width="'+h+'" height="'+i+'"'+' frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>':b.error(o.noVideo),g},url:function(a){var b=f.api?1:0,c=f.autoplay?1:0,d=f.hd?1:0,e=f.showUI?1:0,g=f.showUI?0:1,h="";return"vimeo"==a&&(h="api="+b+"&amp;title="+e+"&amp;byline="+e+"&amp;portrait="+e+"&amp;autoplay="+c,f.color&&(h+="&amp;color="+f.color)),"ustream"==a?(h="autoplay="+c,f.color&&(h+="&amp;color="+f.color)):"youtube"==a&&(h="enablejsapi="+b+"&amp;autoplay="+c+"&amp;autohide="+g+"&amp;hq="+d+"&amp;modestbranding=1",f.color&&(h+="&amp;color="+f.color)),h}},setting:function(b,c){return c===d?f[b]:(a.isPlainObject(b)?a.extend(!0,f,b):f[b]=c,void 0)},internal:function(c,e){return e===d?b[c]:(a.isPlainObject(c)?a.extend(!0,b,c):b[c]=e,void 0)},debug:function(){f.debug&&(f.performance?b.performance.log(arguments):b.debug=Function.prototype.bind.call(console.info,console,f.moduleName+":"))},verbose:function(){f.verbose&&f.debug&&(f.performance?b.performance.log(arguments):b.verbose=Function.prototype.bind.call(console.info,console,f.moduleName+":"))},error:function(){b.error=Function.prototype.bind.call(console.warn,console,f.moduleName+":")},performance:{log:function(a){var c,d,e;f.performance&&(c=(new Date).getTime(),e=h||c,d=c-e,h=c,i.push({Element:v,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":d})),clearTimeout(b.performance.timer),b.performance.timer=setTimeout(b.performance.display,100)},display:function(){var c=f.moduleName+":",e=0;h=!1,clearTimeout(b.performance.timer),a.each(i,function(a,b){e+=b["Execution Time"]}),c+=" "+e+"ms",g&&(c+=" '"+g+"'"),(console.group!==d||console.table!==d)&&i.length>0&&(console.groupCollapsed(c),console.table?console.table(i):a.each(i,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),i=[]}},invoke:function(c,e,f){var g,h;return e=e||l,f=v||f,"string"==typeof c&&w!==d&&(c=c.split(/[\. ]/),g=c.length-1,a.each(c,function(c,e){a.isPlainObject(w[e])&&c!=g?w=w[e]:w[e]!==d?h=w[e]:b.error(o.method)})),a.isFunction(h)?h.apply(f,e):h||!1}},k?(w===d&&b.initialize(),c=b.invoke(j)):(w!==d&&b.destroy(),b.initialize())}),c?c:this},a.fn.video.settings={moduleName:"Video",namespace:"video",debug:!0,verbose:!0,performance:!0,metadata:{source:"source",id:"id",url:"url"},onPlay:function(){},onReset:function(){},onChange:function(){},onPause:function(){},onStop:function(){},width:"auto",height:"auto",autoplay:!1,color:"#442359",hd:!0,showUI:!1,api:!0,error:{noVideo:"No video specified",method:"The method you called is not defined"},className:{active:"active"},selector:{embed:".embed",placeholder:".placeholder",playButton:".play"}}}(jQuery,window,document);

83
build/packaged/modules/accordion.js

@ -16,13 +16,18 @@ $.fn.accordion = function(parameters) {
? $.extend(true, {}, $.fn.accordion.settings, parameters)
: $.fn.accordion.settings,
eventNamespace = '.' + settings.namespace,
moduleNamespace = 'module-' + settings.namespace,
className = settings.className,
namespace = settings.namespace,
selector = settings.selector,
error = settings.errors,
eventNamespace = '.' + namespace,
moduleNamespace = 'module-' + namespace,
moduleSelector = $allModules.selector || '',
time = new Date().getTime(),
performance = [],
query = arguments[0],
methodInvoked = (typeof query == 'string'),
queryArguments = [].slice.call(arguments, 1),
@ -31,18 +36,13 @@ $.fn.accordion = function(parameters) {
$allModules
.each(function() {
var
$module = $(this),
$title = $module.find(settings.selector.title),
$icon = $module.find(settings.selector.icon),
$content = $module.find(settings.selector.content),
element = this,
instance = $module.data(moduleNamespace),
className = settings.className,
namespace = settings.namespace,
$module = $(this),
$title = $module.find(selector.title),
$icon = $module.find(selector.icon),
$content = $module.find(selector.content),
errors = settings.errors,
element = this,
instance = $module.data(moduleNamespace),
module
;
@ -54,6 +54,10 @@ $.fn.accordion = function(parameters) {
$title
.on('click' + eventNamespace, module.event.click)
;
module.instantiate();
},
instantiate: function() {
$module
.data(moduleNamespace, module)
;
@ -68,35 +72,41 @@ $.fn.accordion = function(parameters) {
},
event: {
click: function() {
module.verbose('Title clicked', this);
var
$activeTitle = $(this),
activeIndex = $title.index($activeTitle),
contentIsOpen = $activeTitle.hasClass(className.active)
$activeTitle = $(this),
index = $title.index($activeTitle)
;
module.verbose('Accordion title clicked', $activeTitle);
if(contentIsOpen) {
if(settings.collapsible) {
module.close(activeIndex);
}
else {
module.debug('Cannot close accordion content collapsing is disabled');
}
}
else {
module.open(activeIndex);
}
module.toggle(index);
},
resetStyle: function() {
module.verbose('Resetting styles on element', this);
$(this)
.removeAttr('style')
.children()
.removeAttr('style')
;
}
},
toggle: function(index) {
module.debug('Toggling content content at index', index);
var
$activeTitle = $title.eq(index),
contentIsOpen = $activeTitle.hasClass(className.active)
;
if(contentIsOpen) {
if(settings.collapsible) {
module.close(index);
}
else {
module.debug('Cannot close accordion content collapsing is disabled');
}
}
else {
module.open(index);
}
},
open: function(index) {
@ -238,7 +248,7 @@ $.fn.accordion = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -256,7 +266,8 @@ $.fn.accordion = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -298,7 +309,7 @@ $.fn.accordion = function(parameters) {
found = instance[value];
return true;
}
module.error(errors.method);
module.error(error.method);
return false;
});
}
@ -342,7 +353,7 @@ $.fn.accordion.settings = {
onClose : function(){},
onChange : function(){},
errors: {
error: {
method : 'The method you called is not defined'
},

11
build/packaged/modules/behavior/api.js

@ -61,8 +61,8 @@
element = this,
time = new Date().getTime(),
performance = [],
moduleSelector = $module.selector || '',
moduleNamespace = settings.namespace + '-module',
className = settings.className,
@ -438,7 +438,7 @@
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -456,7 +456,8 @@
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
clearTimeout(module.performance.timer);
time = false;
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -521,8 +522,8 @@
}
module.initialize();
}
return (invokedResponse !== undefined)
return (invokedResponse)
? invokedResponse
: this
;

51
build/packaged/modules/behavior/form.js

@ -18,12 +18,21 @@ $.fn.form = function(fields, parameters) {
settings = $.extend(true, {}, $.fn.form.settings, parameters),
validation = $.extend({}, $.fn.form.settings.defaults, fields),
namespace = settings.namespace,
metadata = settings.metadata,
selector = settings.selector,
className = settings.className,
error = settings.error,
eventNamespace = '.' + namespace,
moduleNamespace = 'module-' + namespace,
moduleSelector = $allModules.selector || '',
time = new Date().getTime(),
performance = [],
query = arguments[0],
methodInvoked = (typeof query == 'string'),
queryArguments = [].slice.call(arguments, 1),
@ -33,24 +42,16 @@ $.fn.form = function(fields, parameters) {
.each(function() {
var
$module = $(this),
$field = $(this).find(settings.selector.field),
$group = $(this).find(settings.selector.group),
$message = $(this).find(settings.selector.message),
$prompt = $(this).find(settings.selector.prompt),
$submit = $(this).find(settings.selector.submit),
$field = $(this).find(selector.field),
$group = $(this).find(selector.group),
$message = $(this).find(selector.message),
$prompt = $(this).find(selector.prompt),
$submit = $(this).find(selector.submit),
formErrors = [],
element = this,
instance = $module.data('module-' + settings.namespace),
eventNamespace = '.' + settings.namespace,
moduleNamespace = 'module-' + settings.namespace,
namespace = settings.namespace,
metadata = settings.metadata,
className = settings.className,
error = settings.error,
instance = $module.data(moduleNamespace),
module
;
@ -93,7 +94,7 @@ $.fn.form = function(fields, parameters) {
refresh: function() {
module.verbose('Refreshing selector cache');
$field = $module.find(settings.selector.field);
$field = $module.find(selector.field);
},
submit: function() {
@ -120,7 +121,7 @@ $.fn.form = function(fields, parameters) {
.blur()
;
}
if( key == keyCode.enter && $field.is(settings.selector.input) ) {
if( key == keyCode.enter && $field.is(selector.input) ) {
module.debug('Enter key pressed, submitting form');
$submit
.addClass(className.down)
@ -204,7 +205,7 @@ $.fn.form = function(fields, parameters) {
var
$field = module.get.field(field.identifier),
$fieldGroup = $field.closest($group),
$prompt = $fieldGroup.find(settings.selector.prompt),
$prompt = $fieldGroup.find(selector.prompt),
promptExists = ($prompt.size() !== 0)
;
module.verbose('Adding inline validation prompt');
@ -242,7 +243,7 @@ $.fn.form = function(fields, parameters) {
var
$field = module.get.field(field.identifier),
$fieldGroup = $field.closest($group),
$prompt = $fieldGroup.find(settings.selector.prompt)
$prompt = $fieldGroup.find(selector.prompt)
;
$fieldGroup
.removeClass(className.error)
@ -403,7 +404,7 @@ $.fn.form = function(fields, parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -421,7 +422,8 @@ $.fn.form = function(fields, parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -463,7 +465,7 @@ $.fn.form = function(fields, parameters) {
found = instance[value];
return true;
}
module.error(errors.method);
module.error(error.method);
return false;
});
}
@ -488,6 +490,7 @@ $.fn.form = function(fields, parameters) {
})
;
return (invokedResponse)
? invokedResponse
: this

278
build/packaged/modules/behavior/state.js

@ -2,7 +2,7 @@
Module
State
Change text based on state context
Hover/Pressed/Active/Inactive
Hover/down/Active/Inactive
Author: Jack Lukic
Last revision: May 2012
@ -52,16 +52,18 @@ $.fn.state = function(parameters) {
methodInvoked = (typeof query == 'string'),
queryArguments = [].slice.call(arguments, 1),
eventNamespace = '.' + settings.namespace,
moduleNamespace = settings.namespace + '-module',
// shortcuts
errors = settings.errors,
metadata = settings.metadata,
className = settings.className,
namespace = settings.namespace,
states = settings.states,
text = settings.text,
eventNamespace = '.' + namespace,
moduleNamespace = namespace + '-module',
invokedResponse
;
$allModules
@ -88,52 +90,51 @@ $.fn.state = function(parameters) {
if(settings.context && moduleSelector !== '') {
if( module.allows('hover') ) {
$(element, settings.context)
.on(moduleSelector, 'mouseenter' + eventNamespace, module.hover.enable)
.on(moduleSelector, 'mouseleave' + eventNamespace, module.hover.disable)
.on(moduleSelector, 'mouseenter' + eventNamespace, module.enable.hover)
.on(moduleSelector, 'mouseleave' + eventNamespace, module.disable.hover)
;
}
if( module.allows('pressed') ) {
if( module.allows('down') ) {
$(element, settings.context)
.on(moduleSelector, 'mousedown' + eventNamespace, module.pressed.enable)
.on(moduleSelector, 'mouseup' + eventNamespace, module.pressed.disable)
.on(moduleSelector, 'mousedown' + eventNamespace, module.enable.down)
.on(moduleSelector, 'mouseup' + eventNamespace, module.disable.down)
;
}
if( module.allows('focus') ) {
$(element, settings.context)
.on(moduleSelector, 'focus' + eventNamespace, module.focus.enable)
.on(moduleSelector, 'blur' + eventNamespace, module.focus.disable)
.on(moduleSelector, 'focus' + eventNamespace, module.enable.focus)
.on(moduleSelector, 'blur' + eventNamespace, module.disable.focus)
;
}
$(settings.context)
.on(moduleSelector, 'mouseenter' + eventNamespace, module.text.change)
.on(moduleSelector, 'mouseleave' + eventNamespace, module.text.reset)
.on(moduleSelector, 'click' + eventNamespace, module.toggle)
.on(moduleSelector, 'mouseenter' + eventNamespace, module.change.text)
.on(moduleSelector, 'mouseleave' + eventNamespace, module.reset.text)
.on(moduleSelector, 'click' + eventNamespace, module.toggle.state)
;
}
else {
if( module.allows('hover') ) {
$module
.on('mouseenter' + eventNamespace, module.hover.enable)
.on('mouseleave' + eventNamespace, module.hover.disable)
.on('mouseenter' + eventNamespace, module.enable.hover)
.on('mouseleave' + eventNamespace, module.disable.hover)
;
}
if( module.allows('pressed') ) {
if( module.allows('down') ) {
$module
.on('mousedown' + eventNamespace, module.pressed.enable)
.on('mouseup' + eventNamespace, module.pressed.disable)
.on('mousedown' + eventNamespace, module.enable.down)
.on('mouseup' + eventNamespace, module.disable.down)
;
}
if( module.allows('focus') ) {
$module
.on('focus' + eventNamespace, module.focus.enable)
.on('blur' + eventNamespace, module.focus.disable)
.on('focus' + eventNamespace, module.enable.focus)
.on('blur' + eventNamespace, module.disable.focus)
;
}
$module
.on('mouseenter' + eventNamespace, module.text.change)
.on('mouseleave' + eventNamespace, module.text.reset)
.on('click' + eventNamespace, module.toggle)
.on('mouseenter' + eventNamespace, module.change.text)
.on('mouseleave' + eventNamespace, module.reset.text)
.on('click' + eventNamespace, module.toggle.state)
;
}
module.instantiate();
@ -220,71 +221,69 @@ $.fn.state = function(parameters) {
return states[state] || false;
},
enable: function(state) {
if(module.allows(state)) {
$module.addClass( className[state] );
}
},
disable: function(state) {
if(module.allows(state)) {
$module.removeClass( className[state] );
}
},
textFor: function(state) {
return text[state] || false;
},
focus : {
enable: function() {
enable: {
state: function(state) {
if(module.allows(state)) {
$module.addClass( className[state] );
}
},
// convenience
focus: function() {
$module.addClass(className.focus);
},
disable: function() {
$module.removeClass(className.focus);
}
hover: function() {
$module.addClass(className.hover);
},
down: function() {
$module.addClass(className.down);
},
},
hover : {
enable: function() {
$module.addClass(className.hover);
disable: {
state: function(state) {
if(module.allows(state)) {
$module.removeClass( className[state] );
}
},
// convenience
focus: function() {
$module.removeClass(className.focus);
},
disable: function() {
hover: function() {
$module.removeClass(className.hover);
}
},
down: function() {
$module.removeClass(className.down);
},
},
pressed : {
enable: function() {
$module
.addClass(className.pressed)
.one('mouseleave', module.pressed.disable)
toggle: {
state: function() {
var
apiRequest = $module.data(metadata.promise)
;
},
disable: function() {
$module.removeClass(className.pressed);
if( module.allows('active') && module.is.enabled() ) {
module.refresh();
if(apiRequest !== undefined) {
module.listenTo(apiRequest);
}
else {
module.change.state();
}
}
}
},
// determines method for state activation
toggle: function() {
var
apiRequest = $module.data(metadata.promise)
;
if( module.allows('active') && module.is.enabled() ) {
module.refresh();
if(apiRequest !== undefined) {
module.listenTo(apiRequest);
}
else {
module.change();
}
}
textFor: function(state) {
return text[state] || false;
},
listenTo: function(apiRequest) {
module.debug('API request detected, waiting for state signal', apiRequest);
if(apiRequest) {
if(text.loading) {
module.text.update(text.loading);
module.update.text(text.loading);
}
$.when(apiRequest)
.then(function() {
@ -298,7 +297,7 @@ $.fn.state = function(parameters) {
settings.activateTest = function(){ return false; };
settings.deactivateTest = function(){ return false; };
}
module.change();
module.change.state();
})
;
}
@ -310,19 +309,48 @@ $.fn.state = function(parameters) {
},
// checks whether active/inactive state can be given
change: function() {
module.debug('Determining state change direction');
// inactive to active change
if( module.is.inactive() ) {
module.activate();
}
else {
module.deactivate();
}
if(settings.sync) {
module.sync();
change: {
state: function() {
module.debug('Determining state change direction');
// inactive to active change
if( module.is.inactive() ) {
module.activate();
}
else {
module.deactivate();
}
if(settings.sync) {
module.sync();
}
$.proxy(settings.onChange, element)();
},
text: function() {
if( module.is.textEnabled() ) {
if( module.is.active() ) {
if(text.hover) {
module.verbose('Changing text to hover text', text.hover);
module.update.text(text.hover);
}
else if(text.disable) {
module.verbose('Changing text to disable text', text.disable);
module.update.text(text.disable);
}
}
else {
if(text.hover) {
module.verbose('Changing text to hover text', text.disable);
module.update.text(text.hover);
}
else if(text.enable){
module.verbose('Changing text to enable text', text.enable);
module.update.text(text.enable);
}
}
}
}
$.proxy(settings.onChange, element)();
},
activate: function() {
@ -331,7 +359,7 @@ $.fn.state = function(parameters) {
$module
.addClass(className.active)
;
module.text.update(text.active);
module.update.text(text.active);
}
$.proxy(settings.onActivate, element)();
},
@ -342,7 +370,7 @@ $.fn.state = function(parameters) {
$module
.removeClass(className.active)
;
module.text.update(text.inactive);
module.update.text(text.inactive);
}
$.proxy(settings.onDeactivate, element)();
},
@ -362,56 +390,33 @@ $.fn.state = function(parameters) {
}
},
text: {
// finds text node to update
get: function() {
get: {
text: function() {
return (settings.selector.text)
? $module.find(settings.selector.text).text()
: $module.html()
;
},
}
},
flash: function(text, duration) {
flash: {
text: function(text, duration) {
var
previousText = module.text.get()
previousText = module.get.text()
;
module.debug('Flashing text message', text, duration);
text = text || settings.text.flash;
duration = duration || settings.flashDuration;
module.text.update(text);
module.update.text(text);
setTimeout(function(){
module.text.update(previousText);
module.update.text(previousText);
}, duration);
},
change: function() {
if( module.is.textEnabled() ) {
if( module.is.active() ) {
if(text.hover) {
module.verbose('Changing text to hover text', text.hover);
module.text.update(text.hover);
}
else if(text.disable) {
module.verbose('Changing text to disable text', text.disable);
module.text.update(text.disable);
}
}
else {
if(text.hover) {
module.verbose('Changing text to hover text', text.disable);
module.text.update(text.hover);
}
else if(text.enable){
module.verbose('Changing text to enable text', text.enable);
module.text.update(text.enable);
}
}
}
},
}
},
reset: {
// on mouseout sets text to previous value
reset : function() {
text: function() {
var
activeText = text.active || $module.data(metadata.storedText),
inactiveText = text.inactive || $module.data(metadata.storedText)
@ -419,18 +424,20 @@ $.fn.state = function(parameters) {
if( module.is.textEnabled() ) {
if( module.is.active() && activeText) {
module.verbose('Resetting active text', activeText);
module.text.update(activeText);
module.update.text(activeText);
}
else if(inactiveText) {
module.verbose('Resetting inactive text', activeText);
module.text.update(inactiveText);
module.update.text(inactiveText);
}
}
},
}
},
update: function(text) {
update: {
text: function(text) {
var
currentText = module.text.get()
currentText = module.get.text()
;
if(text && text !== currentText) {
module.debug('Updating text', text);
@ -453,6 +460,7 @@ $.fn.state = function(parameters) {
}
}
},
setting: function(name, value) {
module.debug('Changing setting', name, value);
if(value !== undefined) {
@ -513,7 +521,7 @@ $.fn.state = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -531,7 +539,8 @@ $.fn.state = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -598,6 +607,7 @@ $.fn.state = function(parameters) {
})
;
return (invokedResponse)
? invokedResponse
: this
@ -662,7 +672,7 @@ $.fn.state.settings = {
className: {
focus : 'focus',
hover : 'hover',
pressed : 'down',
down : 'down',
active : 'active',
loading : 'loading'
},
@ -676,14 +686,14 @@ $.fn.state.settings = {
input: {
hover : true,
focus : true,
pressed : true,
down : true,
loading : false,
active : false
},
button: {
hover : true,
focus : false,
pressed : true,
down : true,
active : false,
loading : true
}
@ -692,7 +702,7 @@ $.fn.state.settings = {
states : {
hover : true,
focus : true,
pressed : true,
down : true,
loading : false,
active : false
},

2
build/packaged/modules/carousel.js

@ -197,7 +197,7 @@ $.fn.carousel = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({

38
build/packaged/modules/chat.js

@ -18,8 +18,10 @@
.each(function() {
var
$module = $(this),
$expandButton = $module.find(settings.selector.expandButton),
$userListButton = $module.find(settings.selector.userListButton),
$userList = $module.find(settings.selector.userList),
$room = $module.find(settings.selector.room),
$userCount = $module.find(settings.selector.userCount),
@ -37,6 +39,8 @@
html = '',
users = {},
channel,
loggedInUser,
message,
@ -50,7 +54,6 @@
module = {
channel: false,
width: {
log : $log.width(),
userList : $userList.outerWidth()
@ -75,33 +78,18 @@
pusher = new Pusher(key);
Pusher.channel_auth_endpoint = settings.endpoint.authentication;
module.channel = pusher.subscribe(channelName);
channel = pusher.subscribe(channelName);
module.channel.bind('pusher:subscription_succeeded', module.user.list.create);
module.channel.bind('pusher:subscription_error', module.error);
module.channel.bind('pusher:member_added', module.user.joined);
module.channel.bind('pusher:member_removed', module.user.left);
module.channel.bind('update_messages', module.message.receive);
channel.bind('pusher:subscription_succeeded', module.user.list.create);
channel.bind('pusher:subscription_error', module.error);
channel.bind('pusher:member_added', module.user.joined);
channel.bind('pusher:member_removed', module.user.left);
channel.bind('update_messages', module.message.receive);
$.each(settings.customEvents, function(label, value) {
module.channel.bind(label, value);
channel.bind(label, value);
});
// expandable with states
if( $.fn.hoverClass !== undefined && $.fn.downClass !== undefined ) {
$expandButton
.hoverClass()
.downClass()
;
$userListButton
.hoverClass()
.downClass()
;
$messageButton
.hoverClass()
.downClass()
;
}
// bind module events
$userListButton
.on('click.' + namespace, module.event.toggleUserList)
@ -153,7 +141,7 @@
if(settings.userCount) {
users = $module.data('users');
count = 0;
$.each(users, function(index) {
$.each(users, function() {
count++;
});
$userCount

5
build/packaged/modules/checkbox.js

@ -193,7 +193,7 @@ $.fn.checkbox = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -211,7 +211,8 @@ $.fn.checkbox = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});

51
build/packaged/modules/dimmer.js

@ -17,8 +17,13 @@ $.fn.dimmer = function(parameters) {
? $.extend(true, {}, $.fn.dimmer.settings, parameters)
: $.fn.dimmer.settings,
eventNamespace = '.' + settings.namespace,
moduleNamespace = 'module-' + settings.namespace,
selector = settings.selector,
namespace = settings.namespace,
className = settings.className,
error = settings.error,
eventNamespace = '.' + namespace,
moduleNamespace = 'module-' + namespace,
moduleSelector = $allModules.selector || '',
time = new Date().getTime(),
@ -28,10 +33,6 @@ $.fn.dimmer = function(parameters) {
methodInvoked = (typeof query == 'string'),
queryArguments = [].slice.call(arguments, 1),
selector = settings.selector,
namespace = settings.namespace,
className = settings.className,
error = settings.error,
invokedResponse
;
@ -42,8 +43,6 @@ $.fn.dimmer = function(parameters) {
$module = $(this),
$dimmer = $module.children(selector.dimmer).first(),
animationEnd = 'animationend msAnimationEnd oAnimationEnd webkitAnimationEnd',
element = this,
instance = $dimmer.data(moduleNamespace),
module
@ -111,7 +110,6 @@ $.fn.dimmer = function(parameters) {
click: function(event) {
module.verbose('Determining if event occured on dimmer', event);
console.log(event.target, selector.content, $(event.target).is(selector.content));
if( $dimmer.find(event.target).size() === 0 || $(event.target).is(selector.content) ) {
module.hide();
}
@ -125,7 +123,7 @@ $.fn.dimmer = function(parameters) {
if(settings.animation.show == 'css') {
module.verbose('Showing dimmer animation with css');
$dimmer
.one(animationEnd, function() {
.one(module.get.animationEndEvent(), function() {
module.set.active();
$dimmer.removeClass(className.show);
})
@ -153,7 +151,7 @@ $.fn.dimmer = function(parameters) {
if(settings.animation.hide == 'css') {
module.verbose('Hiding dimmer with css');
$dimmer
.one(animationEnd, function(){
.one(module.get.animationEndEvent(), function(){
module.remove.active();
$dimmer.removeClass(className.hide);
})
@ -176,6 +174,28 @@ $.fn.dimmer = function(parameters) {
}
},
get: {
animationEndEvent: function() {
var
element = document.createElement('element'),
animations = {
'animation' : 'animationend',
'OAnimation' : 'oAnimationEnd',
'MozAnimation' : 'animationend',
'WebkitAnimation' : 'webkitAnimationEnd'
},
animation
;
for(animation in animations){
if( element.style[animation] !== undefined ){
return animations[animation];
}
}
}
},
has: {
dimmer: function() {
return ( $module.children(selector.dimmer).size() > 0 );
@ -329,7 +349,7 @@ $.fn.dimmer = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -347,7 +367,8 @@ $.fn.dimmer = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -430,8 +451,8 @@ $.fn.dimmer.settings = {
performance : true,
animation : {
show: 'fade',
hide: 'fade'
show: 'css',
hide: 'css'
},
on : false,

40
build/packaged/modules/dropdown.js

@ -17,14 +17,21 @@ $.fn.dropdown = function(parameters) {
settings = ( $.isPlainObject(parameters) )
? $.extend(true, {}, $.fn.dropdown.settings, parameters)
: $.fn.dropdown.settings,
eventNamespace = '.' + settings.namespace,
moduleNamespace = 'module-' + settings.namespace,
className = settings.className,
metadata = settings.metadata,
namespace = settings.namespace,
animation = settings.animation,
selector = settings.selector,
errors = settings.errors,
eventNamespace = '.' + namespace,
moduleNamespace = 'module-' + namespace,
moduleSelector = $allModules.selector || '',
time = new Date().getTime(),
performance = [],
query = arguments[0],
methodInvoked = (typeof query == 'string'),
queryArguments = [].slice.call(arguments, 1),
@ -35,22 +42,15 @@ $.fn.dropdown = function(parameters) {
.each(function() {
var
$module = $(this),
$menu = $(this).find(settings.selector.menu),
$item = $(this).find(settings.selector.item),
$text = $(this).find(settings.selector.text),
$input = $(this).find(settings.selector.input),
$menu = $(this).find(selector.menu),
$item = $(this).find(selector.item),
$text = $(this).find(selector.text),
$input = $(this).find(selector.input),
isTouchDevice = ('ontouchstart' in document.documentElement),
element = this,
instance = $module.data(moduleNamespace),
className = settings.className,
metadata = settings.metadata,
namespace = settings.namespace,
animation = settings.animation,
errors = settings.errors,
module
;
@ -404,7 +404,7 @@ $.fn.dropdown = function(parameters) {
module.verbose('Finding other dropdowns to hide');
$allModules
.not($module)
.has(settings.selector.menu + ':visible')
.has(selector.menu + ':visible')
.dropdown('hide')
;
},
@ -477,7 +477,7 @@ $.fn.dropdown = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -495,7 +495,8 @@ $.fn.dropdown = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -561,6 +562,7 @@ $.fn.dropdown = function(parameters) {
}
})
;
return (invokedResponse)
? invokedResponse
: this

3
build/packaged/modules/modal.js

@ -322,7 +322,8 @@
})
;
// chain or return queried method
return (invokedResponse !== undefined)
return (invokedResponse)
? invokedResponse
: this
;

30
build/packaged/modules/nag.js

@ -13,8 +13,13 @@ $.fn.nag = function(parameters) {
$allModules = $(this),
settings = $.extend(true, {}, $.fn.nag.settings, parameters),
eventNamespace = '.' + settings.namespace,
moduleNamespace = settings.namespace + '-module',
className = settings.className,
selector = settings.selector,
error = settings.errors,
namespace = settings.namespace,
eventNamespace = '.' + namespace,
moduleNamespace = namespace + '-module',
moduleSelector = $allModules.selector || '',
time = new Date().getTime(),
@ -30,16 +35,13 @@ $.fn.nag = function(parameters) {
var
$module = $(this),
$close = $module.find(settings.selector.close),
$close = $module.find(selector.close),
$context = $(settings.context),
element = this,
instance = $module.data(moduleNamespace),
className = settings.className,
errors = settings.errors,
moduleOffset,
moduleHeight,
@ -258,7 +260,7 @@ $.fn.nag = function(parameters) {
$.cookie(key, value);
}
else {
module.error(errors.noStorage);
module.error(error.noStorage);
}
},
get: function(key) {
@ -271,7 +273,7 @@ $.fn.nag = function(parameters) {
return $.cookie(key);
}
else {
module.error(errors.noStorage);
module.error(error.noStorage);
}
}
@ -352,7 +354,7 @@ $.fn.nag = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -370,7 +372,8 @@ $.fn.nag = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -412,7 +415,7 @@ $.fn.nag = function(parameters) {
found = instance[value];
return true;
}
module.error(errors.method);
module.error(error.method);
return false;
});
}
@ -484,8 +487,9 @@ $.fn.nag.settings = {
// context for scroll event
context : window,
errors: {
noStorage : 'Neither $.cookie or store is defined. A storage solution is required for storing state'
error: {
noStorage : 'Neither $.cookie or store is defined. A storage solution is required for storing state',
method : 'The method you called is not defined.'
},
className : {

5
build/packaged/modules/popup.js

@ -527,7 +527,7 @@ $.fn.popup = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -545,7 +545,8 @@ $.fn.popup = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});

42
build/packaged/modules/search.js

@ -14,8 +14,14 @@ $.fn.search = function(source, parameters) {
$allModules = $(this),
settings = $.extend(true, {}, $.fn.search.settings, parameters),
eventNamespace = '.' + settings.namespace,
moduleNamespace = settings.namespace + '-module',
className = settings.className,
selector = settings.selector,
errors = settings.errors,
namespace = settings.namespace,
eventNamespace = '.' + namespace,
moduleNamespace = namespace + '-module',
moduleSelector = $allModules.selector || '',
time = new Date().getTime(),
@ -30,17 +36,15 @@ $.fn.search = function(source, parameters) {
.each(function() {
var
$module = $(this),
$prompt = $module.find(settings.selector.prompt),
$searchButton = $module.find(settings.selector.searchButton),
$results = $module.find(settings.selector.results),
$result = $module.find(settings.selector.result),
$category = $module.find(settings.selector.category),
$prompt = $module.find(selector.prompt),
$searchButton = $module.find(selector.searchButton),
$results = $module.find(selector.results),
$result = $module.find(selector.result),
$category = $module.find(selector.category),
element = this,
instance = $module.data(moduleNamespace),
className = settings.className,
errors = settings.errors,
module
;
module = {
@ -70,12 +74,13 @@ $.fn.search = function(source, parameters) {
.on('click' + eventNamespace, module.search.query)
;
$results
.on('click' + eventNamespace, settings.selector.result, module.results.select)
.on('click' + eventNamespace, selector.result, module.results.select)
;
module.instantiate();
},
instantiate: function() {
module.verbose('Storing instance of module', module);
instance = module;
$module
.data(moduleNamespace, module)
;
@ -104,8 +109,8 @@ $.fn.search = function(source, parameters) {
handleKeyboard: function(event) {
var
// force latest jq dom
$result = $module.find(settings.selector.result),
$category = $module.find(settings.selector.category),
$result = $module.find(selector.result),
$category = $module.find(selector.category),
keyCode = event.which,
keys = {
backspace : 8,
@ -121,6 +126,7 @@ $.fn.search = function(source, parameters) {
;
// search shortcuts
if(keyCode == keys.escape) {
module.verbose('Escape key pressed, blurring search field');
$prompt
.trigger('blur')
;
@ -128,6 +134,7 @@ $.fn.search = function(source, parameters) {
// result shortcuts
if($results.filter(':visible').size() > 0) {
if(keyCode == keys.enter) {
module.verbose('Enter key pressed, selecting active result');
if( $result.filter('.' + activeClass).exists() ) {
$.proxy(module.results.select, $result.filter('.' + activeClass) )();
event.preventDefault();
@ -135,6 +142,7 @@ $.fn.search = function(source, parameters) {
}
}
else if(keyCode == keys.upArrow) {
module.verbose('Up key pressed, changing active result');
newIndex = (currentIndex - 1 < 0)
? currentIndex
: currentIndex - 1
@ -152,6 +160,7 @@ $.fn.search = function(source, parameters) {
event.preventDefault();
}
else if(keyCode == keys.downArrow) {
module.verbose('Down key pressed, changing active result');
newIndex = (currentIndex + 1 >= resultSize)
? currentIndex
: currentIndex + 1
@ -172,6 +181,7 @@ $.fn.search = function(source, parameters) {
else {
// query shortcuts
if(keyCode == keys.enter) {
module.verbose('Enter key pressed, executing query');
module.search.query();
$searchButton
.addClass(className.down)
@ -452,7 +462,7 @@ $.fn.search = function(source, parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -470,7 +480,8 @@ $.fn.search = function(source, parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -537,6 +548,7 @@ $.fn.search = function(source, parameters) {
})
;
return (invokedResponse)
? invokedResponse
: this

220
build/packaged/modules/shape.js

@ -13,12 +13,18 @@ $.fn.shape = function(parameters) {
var
$allModules = $(this),
moduleSelector = $allModules.selector || '',
settings = $.extend(true, {}, $.fn.shape.settings, parameters),
// internal aliases
namespace = settings.namespace,
selector = settings.selector,
error = settings.error,
className = settings.className,
// define namespaces for modules
eventNamespace = '.' + settings.namespace,
moduleNamespace = 'module-' + settings.namespace,
moduleSelector = $allModules.selector || '',
eventNamespace = '.' + namespace,
moduleNamespace = 'module-' + namespace,
time = new Date().getTime(),
performance = [],
@ -34,8 +40,8 @@ $.fn.shape = function(parameters) {
var
// selector cache
$module = $(this),
$sides = $module.find(settings.selector.sides),
$side = $module.find(settings.selector.side),
$sides = $module.find(selector.sides),
$side = $module.find(selector.side),
// private variables
$activeSide,
@ -44,12 +50,6 @@ $.fn.shape = function(parameters) {
// standard module
element = this,
instance = $module.data(moduleNamespace),
// internal aliases
namespace = settings.namespace,
error = settings.error,
className = settings.className,
module
;
@ -58,6 +58,10 @@ $.fn.shape = function(parameters) {
initialize: function() {
module.verbose('Initializing module for', element);
module.set.defaultSide();
},
instantiate: function() {
module.verbose('Storing instance of module', module);
instance = module;
$module
.data(moduleNamespace, instance)
@ -75,8 +79,8 @@ $.fn.shape = function(parameters) {
refresh: function() {
module.verbose('Refreshing selector cache for', element);
$module = $(element);
$sides = $(this).find(settings.selector.shape);
$side = $(this).find(settings.selector.side);
$sides = $(this).find(selector.shape);
$side = $(this).find(selector.side);
},
repaint: function() {
@ -178,15 +182,85 @@ $.fn.shape = function(parameters) {
},
is: {
animating: function() {
return $module.hasClass(className.animating);
}
},
get: {
transform: {
up: function() {
var
translate = {
y: -(($activeSide.outerHeight() - $nextSide.outerHeight()) / 2),
z: -($activeSide.outerHeight() / 2)
}
;
return {
transform: 'translateY(' + translate.y + 'px) translateZ('+ translate.z + 'px) rotateX(-90deg)'
};
},
down: function() {
var
translate = {
y: -(($activeSide.outerHeight() - $nextSide.outerHeight()) / 2),
z: -($activeSide.outerHeight() / 2)
}
;
return {
transform: 'translateY(' + translate.y + 'px) translateZ('+ translate.z + 'px) rotateX(90deg)'
};
},
left: function() {
var
translate = {
x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2),
z : -($activeSide.outerWidth() / 2)
}
;
return {
transform: 'translateX(' + translate.x + 'px) translateZ(' + translate.z + 'px) rotateY(90deg)'
};
},
right: function() {
var
translate = {
x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2),
z : -($activeSide.outerWidth() / 2)
}
;
return {
transform: 'translateX(' + translate.x + 'px) translateZ(' + translate.z + 'px) rotateY(-90deg)'
};
},
over: function() {
var
translate = {
x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2)
}
;
return {
transform: 'translateX(' + translate.x + 'px) rotateY(180deg)'
};
},
back: function() {
var
translate = {
x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2)
}
;
return {
transform: 'translateX(' + translate.x + 'px) rotateY(-180deg)'
};
}
},
transitionEvent: function() {
var
element = document.createElement('element'),
@ -206,9 +280,9 @@ $.fn.shape = function(parameters) {
},
nextSide: function() {
return ( $activeSide.next(settings.selector.side).size() > 0 )
? $activeSide.next(settings.selector.side)
: $module.find(settings.selector.side).first()
return ( $activeSide.next(selector.side).size() > 0 )
? $activeSide.next(selector.side)
: $module.find(selector.side).first()
;
}
@ -218,9 +292,9 @@ $.fn.shape = function(parameters) {
defaultSide: function() {
$activeSide = $module.find('.' + settings.className.active);
$nextSide = ( $activeSide.next(settings.selector.side).size() > 0 )
? $activeSide.next(settings.selector.side)
: $module.find(settings.selector.side).first()
$nextSide = ( $activeSide.next(selector.side).size() > 0 )
? $activeSide.next(selector.side)
: $module.find(selector.side).first()
;
module.verbose('Active side set to', $activeSide);
module.verbose('Next side set to', $nextSide);
@ -269,10 +343,10 @@ $.fn.shape = function(parameters) {
module.debug('Flipping up', $nextSide);
if( !module.is.animating() ) {
module.stage.above();
module.animate( module.getTransform.up() );
module.animate( module.get.transform.up() );
}
else {
module.queue('flip.up');
module.queue('flip up');
}
},
@ -280,10 +354,10 @@ $.fn.shape = function(parameters) {
module.debug('Flipping down', $nextSide);
if( !module.is.animating() ) {
module.stage.below();
module.animate( module.getTransform.down() );
module.animate( module.get.transform.down() );
}
else {
module.queue('flip.down');
module.queue('flip down');
}
},
@ -291,10 +365,10 @@ $.fn.shape = function(parameters) {
module.debug('Flipping left', $nextSide);
if( !module.is.animating() ) {
module.stage.left();
module.animate(module.getTransform.left() );
module.animate(module.get.transform.left() );
}
else {
module.queue('flip.left');
module.queue('flip left');
}
},
@ -302,10 +376,10 @@ $.fn.shape = function(parameters) {
module.debug('Flipping right', $nextSide);
if( !module.is.animating() ) {
module.stage.right();
module.animate(module.getTransform.right() );
module.animate(module.get.transform.right() );
}
else {
module.queue('flip.right');
module.queue('flip right');
}
},
@ -313,10 +387,10 @@ $.fn.shape = function(parameters) {
module.debug('Flipping over', $nextSide);
if( !module.is.animating() ) {
module.stage.behind();
module.animate(module.getTransform.over() );
module.animate(module.get.transform.over() );
}
else {
module.queue('flip.over');
module.queue('flip over');
}
},
@ -324,89 +398,15 @@ $.fn.shape = function(parameters) {
module.debug('Flipping back', $nextSide);
if( !module.is.animating() ) {
module.stage.behind();
module.animate(module.getTransform.back() );
module.animate(module.get.transform.back() );
}
else {
module.queue('flip.back');
module.queue('flip back');
}
}
},
getTransform: {
up: function() {
var
translate = {
y: -(($activeSide.outerHeight() - $nextSide.outerHeight()) / 2),
z: -($activeSide.outerHeight() / 2)
}
;
return {
transform: 'translateY(' + translate.y + 'px) translateZ('+ translate.z + 'px) rotateX(-90deg)'
};
},
down: function() {
var
translate = {
y: -(($activeSide.outerHeight() - $nextSide.outerHeight()) / 2),
z: -($activeSide.outerHeight() / 2)
}
;
return {
transform: 'translateY(' + translate.y + 'px) translateZ('+ translate.z + 'px) rotateX(90deg)'
};
},
left: function() {
var
translate = {
x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2),
z : -($activeSide.outerWidth() / 2)
}
;
return {
transform: 'translateX(' + translate.x + 'px) translateZ(' + translate.z + 'px) rotateY(90deg)'
};
},
right: function() {
var
translate = {
x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2),
z : -($activeSide.outerWidth() / 2)
}
;
return {
transform: 'translateX(' + translate.x + 'px) translateZ(' + translate.z + 'px) rotateY(-90deg)'
};
},
over: function() {
var
translate = {
x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2)
}
;
return {
transform: 'translateX(' + translate.x + 'px) rotateY(180deg)'
};
},
back: function() {
var
translate = {
x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2)
}
;
return {
transform: 'translateX(' + translate.x + 'px) rotateY(-180deg)'
};
}
},
stage: {
above: function() {
@ -597,7 +597,7 @@ $.fn.shape = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -615,7 +615,8 @@ $.fn.shape = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -683,6 +684,7 @@ $.fn.shape = function(parameters) {
}
})
;
return (invokedResponse)
? invokedResponse
: this

402
build/packaged/modules/star.js

@ -8,173 +8,299 @@
;(function ($, window, document, undefined) {
$.fn.starReview = function(parameters) {
var
settings = $.extend(true, {}, $.fn.starReview.settings, parameters),
// hoist arguments
moduleArguments = arguments || false
;
$(this)
.each(function() {
var
$module = $(this),
$star = $module.find(settings.selector.star),
className = settings.className,
namespace = settings.namespace,
instance = $module.data('module'),
module
;
module = {
$.fn.starReview = function(parameters) {
var
$allModules = $(this),
moduleSelector = $allModules.selector || '',
settings = $.extend(true, {}, $.fn.starReview.settings, parameters),
namespace = settings.namespace,
className = settings.className,
selector = settings.selector,
error = settings.error,
eventNamespace = '.' + namespace,
moduleNamespace = 'module-' + namespace,
time = new Date().getTime(),
performance = [],
query = arguments[0],
methodInvoked = (typeof query == 'string'),
queryArguments = [].slice.call(arguments, 1),
invokedResponse
;
$allModules
.each(function() {
var
$module = $(this),
$star = $module.find(selector.star),
element = this,
instance = $module.data(moduleNamespace),
module
;
settings: settings,
module = {
initialize: function() {
if(settings.rateable) {
// expandable with states
if($.fn.state !== undefined) {
$module
.state()
;
$star
.state()
;
}
initialize: function() {
if(settings.rateable) {
// expandable with states
if($.fn.state !== undefined) {
$module
.state()
;
$star
.bind('mouseenter.' + namespace, module.event.mouseenter)
.bind('mouseleave.' + namespace, module.event.mouseleave)
.bind('click.' + namespace, module.event.click)
.state()
;
}
$module
.addClass(className.initialize)
.data('module', module)
$star
.bind('mouseenter' + eventNamespace, module.event.mouseenter)
.bind('mouseleave' + eventNamespace, module.event.mouseleave)
.bind('click' + eventNamespace, module.event.click)
;
},
}
$module
.addClass(className.initialize)
;
module.instantiate();
},
instantiate: function() {
$module
.data(moduleNamespace, module)
;
},
setRating: function(rating) {
var
$activeStar = $star.eq(rating - 1)
;
$module
.removeClass(className.hover)
;
$star
.removeClass(className.hover)
;
$activeStar
.nextAll()
.removeClass(className.active)
;
$activeStar
.addClass(className.active)
.prevAll()
.addClass(className.active)
;
$.proxy(settings.onRate, $module)();
},
setRating: function(rating) {
event: {
mouseenter: function() {
var
$activeStar = $star.eq(rating - 1)
;
$module
.removeClass(className.hover)
;
$star
.removeClass(className.hover)
$activeStar = $(this)
;
$activeStar
.nextAll()
.removeClass(className.active)
.removeClass(className.hover)
;
$module
.addClass(className.hover)
;
$activeStar
.addClass(className.active)
.addClass(className.hover)
.prevAll()
.addClass(className.active)
;
$.proxy(settings.onRate, $module)();
},
event: {
mouseenter: function() {
var
$activeStar = $(this)
;
$activeStar
.nextAll()
.removeClass(className.hover)
;
$module
.addClass(className.hover)
;
$activeStar
.addClass(className.hover)
.prevAll()
.addClass(className.hover)
;
},
mouseleave: function() {
$star
.removeClass(className.hover)
;
},
click: function() {
var
$activeStar = $(this)
;
module.setRating( $star.index($activeStar) + 1);
}
;
},
// handle error logging
error: function(errorMessage) {
console.warn(settings.moduleName + ': ' + errorMessage);
mouseleave: function() {
$star
.removeClass(className.hover)
;
},
// allows for dot notation method calls
invoke: function(methodName, context, methodArguments) {
click: function() {
var
$activeStar = $(this)
;
module.setRating( $star.index($activeStar) + 1);
}
},
setting: function(name, value) {
if(value !== undefined) {
if( $.isPlainObject(name) ) {
$.extend(true, settings, name);
}
else {
settings[name] = value;
}
}
else {
return settings[name];
}
},
internal: function(name, value) {
if(value !== undefined) {
if( $.isPlainObject(name) ) {
$.extend(true, module, name);
}
else {
module[name] = value;
}
}
else {
return module[name];
}
},
debug: function() {
if(settings.debug) {
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.debug = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
}
}
},
verbose: function() {
if(settings.verbose && settings.debug) {
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
}
}
},
error: function() {
module.error = Function.prototype.bind.call(console.error, console, settings.moduleName + ':');
},
performance: {
log: function(message) {
var
method
currentTime,
executionTime,
previousTime
;
methodArguments = methodArguments || Array.prototype.slice.call( arguments, 2 );
if(typeof methodName == 'string' && instance !== undefined) {
methodName = methodName.split('.');
$.each(methodName, function(index, name) {
if( $.isPlainObject( instance[name] ) ) {
instance = instance[name];
return true;
}
else if( $.isFunction( instance[name] ) ) {
method = instance[name];
return true;
}
module.error(settings.errors.method);
return false;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
'Element' : element,
'Name' : message[0],
'Arguments' : [].slice.call(message, 1) || '',
'Execution Time' : executionTime
});
}
return ( $.isFunction( method ) )
? method.apply(context, methodArguments)
: false
clearTimeout(module.performance.timer);
module.performance.timer = setTimeout(module.performance.display, 100);
},
display: function() {
var
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
title += ' ' + totalTime + 'ms';
if(moduleSelector) {
title += ' \'' + moduleSelector + '\'';
}
if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
console.groupCollapsed(title);
if(console.table) {
console.table(performance);
}
else {
$.each(performance, function(index, data) {
console.log(data['Name'] + ': ' + data['Execution Time']+'ms');
});
}
console.groupEnd();
}
performance = [];
}
};
if(instance !== undefined && moduleArguments) {
// simpler than invoke realizing to invoke itself (and losing scope due prototype.call()
if(moduleArguments[0] == 'invoke') {
moduleArguments = Array.prototype.slice.call( moduleArguments, 1 );
},
invoke: function(query, passedArguments, context) {
var
searchInstance = instance,
maxDepth,
found
;
passedArguments = passedArguments || queryArguments;
context = element || context;
if(typeof query == 'string' && searchInstance !== undefined) {
query = query.split(/[\. ]/);
maxDepth = query.length - 1;
$.each(query, function(depth, value) {
if( $.isPlainObject( searchInstance[value] ) && (depth != maxDepth) ) {
searchInstance = searchInstance[value];
return true;
}
else if( searchInstance[value] !== undefined ) {
found = searchInstance[value];
return true;
}
module.error(error.method);
return false;
});
}
if ( $.isFunction( found ) ) {
return found.apply(context, passedArguments);
}
return module.invoke(moduleArguments[0], this, Array.prototype.slice.call( moduleArguments, 1 ) );
return found || false;
}
};
if(methodInvoked) {
if(instance === undefined) {
module.initialize();
}
invokedResponse = module.invoke(query);
}
else {
if(instance !== undefined) {
module.destroy();
}
// initializing
module.initialize();
})
;
}
})
;
return this;
};
return (invokedResponse)
? invokedResponse
: this
;
};
$.fn.starReview.settings = {
moduleName : 'Star',
namespace : 'star',
rateable : true,
onRate : function(){},
className : {
initialize : 'initialize',
loading : 'loading',
active : 'active',
hover : 'hover',
down : 'down'
},
$.fn.starReview.settings = {
moduleName : 'Star',
namespace : 'star',
rateable : true,
onRate : function(){},
error: {
method : 'The method you called is not defined'
},
className : {
initialize : 'initialize',
loading : 'loading',
active : 'active',
hover : 'hover',
down : 'down'
},
selector : {
star : 'i'
}
selector : {
star : 'i'
}
};
};
})( jQuery, window , document );

21
build/packaged/modules/tab.js

@ -15,6 +15,8 @@
$module = $(this),
$tabs = $(settings.context).find(settings.selector.tabs),
moduleSelector = $module.selector || '',
cache = {},
firstLoad = true,
@ -27,14 +29,13 @@
element = this,
time = new Date().getTime(),
performance = [],
moduleSelector = $module.selector || '',
eventNamespace = '.' + settings.namespace,
moduleNamespace = settings.namespace + '-module',
className = settings.className,
metadata = settings.metadata,
errors = settings.errors,
eventNamespace = '.' + settings.namespace,
moduleNamespace = settings.namespace + '-module',
instance = $module.data(moduleNamespace),
@ -80,6 +81,11 @@
.on('click' + eventNamespace, module.event.click)
;
}
module.instantiate();
},
instantiate: function () {
module.verbose('Storing instance of module', module);
$module
.data(moduleNamespace, module)
;
@ -477,7 +483,7 @@
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -495,7 +501,8 @@
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -561,7 +568,7 @@
module.initialize();
}
return (invokedResponse !== undefined)
return (invokedResponse)
? invokedResponse
: this
;

19
build/packaged/modules/transition.js

@ -12,20 +12,24 @@
$.fn.transition = function(parameters) {
var
$allModules = $(this),
moduleSelector = $allModules.selector || '',
settings = $.extend(true, {}, $.fn.transition.settings, parameters),
// define namespaces for modules
eventNamespace = '.' + settings.namespace,
moduleNamespace = 'module-' + settings.namespace,
moduleSelector = $allModules.selector || '',
time = new Date().getTime(),
performance = [],
query = arguments[0],
methodInvoked = (typeof query == 'string'),
queryArguments = [].slice.call(arguments, 1),
error = settings.error,
namespace = settings.namespace,
// define namespaces for modules
eventNamespace = '.' + namespace,
moduleNamespace = 'module-' + namespace,
invokedResponse
;
@ -218,7 +222,7 @@ $.fn.transition = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -236,7 +240,8 @@ $.fn.transition = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});

41
build/packaged/modules/video.js

@ -21,33 +21,33 @@ $.fn.video = function(parameters) {
: $.fn.video.settings,
moduleSelector = $allModules.selector || '',
time = new Date().getTime(),
performance = [],
query = arguments[0],
methodInvoked = (typeof query == 'string'),
queryArguments = [].slice.call(arguments, 1),
selector = settings.selector,
className = settings.className,
error = settings.error,
metadata = settings.metadata,
namespace = settings.namespace,
eventNamespace = '.' + namespace,
moduleNamespace = namespace + '-module',
invokedResponse
;
$(this)
$allModules
.each(function() {
var
$module = $(this),
$placeholder = $module.find(settings.selector.placeholder),
$playButton = $module.find(settings.selector.playButton),
$embed = $module.find(settings.selector.embed),
eventNamespace = '.' + settings.namespace,
moduleNamespace = settings.namespace + '-module',
selector = settings.selector,
className = settings.className,
error = settings.error,
metadata = settings.metadata,
namespace = settings.namespace,
$module = $(this),
$placeholder = $module.find(selector.placeholder),
$playButton = $module.find(selector.playButton),
$embed = $module.find(selector.embed),
element = this,
instance = $module.data(moduleNamespace),
@ -68,6 +68,7 @@ $.fn.video = function(parameters) {
},
instantiate: function() {
module.verbose('Storing instance of module', module);
instance = module;
$module
.data(moduleNamespace, module)
@ -282,7 +283,7 @@ $.fn.video = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -300,7 +301,8 @@ $.fn.video = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -366,7 +368,6 @@ $.fn.video = function(parameters) {
}
})
;
return (invokedResponse)
? invokedResponse
: this

2
build/packaged/semantic.min.css.REMOVED.git-id

@ -1 +1 @@
b2c9142bc6ebc5ff1c62103033a53e3b2b682d5e
bdd03d467d4511e561c6c122024fa54ac8739d27

2
build/packaged/semantic.min.js.REMOVED.git-id

@ -1 +1 @@
9b2adc4ea09fd0c31850e9b42e74daf20107c1b2
6d85bbebe45e9815d874eefa2ceb7947b66edf5d

83
build/uncompressed/modules/accordion.js

@ -16,13 +16,18 @@ $.fn.accordion = function(parameters) {
? $.extend(true, {}, $.fn.accordion.settings, parameters)
: $.fn.accordion.settings,
eventNamespace = '.' + settings.namespace,
moduleNamespace = 'module-' + settings.namespace,
className = settings.className,
namespace = settings.namespace,
selector = settings.selector,
error = settings.errors,
eventNamespace = '.' + namespace,
moduleNamespace = 'module-' + namespace,
moduleSelector = $allModules.selector || '',
time = new Date().getTime(),
performance = [],
query = arguments[0],
methodInvoked = (typeof query == 'string'),
queryArguments = [].slice.call(arguments, 1),
@ -31,18 +36,13 @@ $.fn.accordion = function(parameters) {
$allModules
.each(function() {
var
$module = $(this),
$title = $module.find(settings.selector.title),
$icon = $module.find(settings.selector.icon),
$content = $module.find(settings.selector.content),
element = this,
instance = $module.data(moduleNamespace),
className = settings.className,
namespace = settings.namespace,
$module = $(this),
$title = $module.find(selector.title),
$icon = $module.find(selector.icon),
$content = $module.find(selector.content),
errors = settings.errors,
element = this,
instance = $module.data(moduleNamespace),
module
;
@ -54,6 +54,10 @@ $.fn.accordion = function(parameters) {
$title
.on('click' + eventNamespace, module.event.click)
;
module.instantiate();
},
instantiate: function() {
$module
.data(moduleNamespace, module)
;
@ -68,35 +72,41 @@ $.fn.accordion = function(parameters) {
},
event: {
click: function() {
module.verbose('Title clicked', this);
var
$activeTitle = $(this),
activeIndex = $title.index($activeTitle),
contentIsOpen = $activeTitle.hasClass(className.active)
$activeTitle = $(this),
index = $title.index($activeTitle)
;
module.verbose('Accordion title clicked', $activeTitle);
if(contentIsOpen) {
if(settings.collapsible) {
module.close(activeIndex);
}
else {
module.debug('Cannot close accordion content collapsing is disabled');
}
}
else {
module.open(activeIndex);
}
module.toggle(index);
},
resetStyle: function() {
module.verbose('Resetting styles on element', this);
$(this)
.removeAttr('style')
.children()
.removeAttr('style')
;
}
},
toggle: function(index) {
module.debug('Toggling content content at index', index);
var
$activeTitle = $title.eq(index),
contentIsOpen = $activeTitle.hasClass(className.active)
;
if(contentIsOpen) {
if(settings.collapsible) {
module.close(index);
}
else {
module.debug('Cannot close accordion content collapsing is disabled');
}
}
else {
module.open(index);
}
},
open: function(index) {
@ -238,7 +248,7 @@ $.fn.accordion = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -256,7 +266,8 @@ $.fn.accordion = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -298,7 +309,7 @@ $.fn.accordion = function(parameters) {
found = instance[value];
return true;
}
module.error(errors.method);
module.error(error.method);
return false;
});
}
@ -342,7 +353,7 @@ $.fn.accordion.settings = {
onClose : function(){},
onChange : function(){},
errors: {
error: {
method : 'The method you called is not defined'
},

11
build/uncompressed/modules/behavior/api.js

@ -61,8 +61,8 @@
element = this,
time = new Date().getTime(),
performance = [],
moduleSelector = $module.selector || '',
moduleNamespace = settings.namespace + '-module',
className = settings.className,
@ -438,7 +438,7 @@
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -456,7 +456,8 @@
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
clearTimeout(module.performance.timer);
time = false;
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -521,8 +522,8 @@
}
module.initialize();
}
return (invokedResponse !== undefined)
return (invokedResponse)
? invokedResponse
: this
;

51
build/uncompressed/modules/behavior/form.js

@ -18,12 +18,21 @@ $.fn.form = function(fields, parameters) {
settings = $.extend(true, {}, $.fn.form.settings, parameters),
validation = $.extend({}, $.fn.form.settings.defaults, fields),
namespace = settings.namespace,
metadata = settings.metadata,
selector = settings.selector,
className = settings.className,
error = settings.error,
eventNamespace = '.' + namespace,
moduleNamespace = 'module-' + namespace,
moduleSelector = $allModules.selector || '',
time = new Date().getTime(),
performance = [],
query = arguments[0],
methodInvoked = (typeof query == 'string'),
queryArguments = [].slice.call(arguments, 1),
@ -33,24 +42,16 @@ $.fn.form = function(fields, parameters) {
.each(function() {
var
$module = $(this),
$field = $(this).find(settings.selector.field),
$group = $(this).find(settings.selector.group),
$message = $(this).find(settings.selector.message),
$prompt = $(this).find(settings.selector.prompt),
$submit = $(this).find(settings.selector.submit),
$field = $(this).find(selector.field),
$group = $(this).find(selector.group),
$message = $(this).find(selector.message),
$prompt = $(this).find(selector.prompt),
$submit = $(this).find(selector.submit),
formErrors = [],
element = this,
instance = $module.data('module-' + settings.namespace),
eventNamespace = '.' + settings.namespace,
moduleNamespace = 'module-' + settings.namespace,
namespace = settings.namespace,
metadata = settings.metadata,
className = settings.className,
error = settings.error,
instance = $module.data(moduleNamespace),
module
;
@ -93,7 +94,7 @@ $.fn.form = function(fields, parameters) {
refresh: function() {
module.verbose('Refreshing selector cache');
$field = $module.find(settings.selector.field);
$field = $module.find(selector.field);
},
submit: function() {
@ -120,7 +121,7 @@ $.fn.form = function(fields, parameters) {
.blur()
;
}
if( key == keyCode.enter && $field.is(settings.selector.input) ) {
if( key == keyCode.enter && $field.is(selector.input) ) {
module.debug('Enter key pressed, submitting form');
$submit
.addClass(className.down)
@ -204,7 +205,7 @@ $.fn.form = function(fields, parameters) {
var
$field = module.get.field(field.identifier),
$fieldGroup = $field.closest($group),
$prompt = $fieldGroup.find(settings.selector.prompt),
$prompt = $fieldGroup.find(selector.prompt),
promptExists = ($prompt.size() !== 0)
;
module.verbose('Adding inline validation prompt');
@ -242,7 +243,7 @@ $.fn.form = function(fields, parameters) {
var
$field = module.get.field(field.identifier),
$fieldGroup = $field.closest($group),
$prompt = $fieldGroup.find(settings.selector.prompt)
$prompt = $fieldGroup.find(selector.prompt)
;
$fieldGroup
.removeClass(className.error)
@ -403,7 +404,7 @@ $.fn.form = function(fields, parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -421,7 +422,8 @@ $.fn.form = function(fields, parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -463,7 +465,7 @@ $.fn.form = function(fields, parameters) {
found = instance[value];
return true;
}
module.error(errors.method);
module.error(error.method);
return false;
});
}
@ -488,6 +490,7 @@ $.fn.form = function(fields, parameters) {
})
;
return (invokedResponse)
? invokedResponse
: this

278
build/uncompressed/modules/behavior/state.js

@ -2,7 +2,7 @@
Module
State
Change text based on state context
Hover/Pressed/Active/Inactive
Hover/down/Active/Inactive
Author: Jack Lukic
Last revision: May 2012
@ -52,16 +52,18 @@ $.fn.state = function(parameters) {
methodInvoked = (typeof query == 'string'),
queryArguments = [].slice.call(arguments, 1),
eventNamespace = '.' + settings.namespace,
moduleNamespace = settings.namespace + '-module',
// shortcuts
errors = settings.errors,
metadata = settings.metadata,
className = settings.className,
namespace = settings.namespace,
states = settings.states,
text = settings.text,
eventNamespace = '.' + namespace,
moduleNamespace = namespace + '-module',
invokedResponse
;
$allModules
@ -88,52 +90,51 @@ $.fn.state = function(parameters) {
if(settings.context && moduleSelector !== '') {
if( module.allows('hover') ) {
$(element, settings.context)
.on(moduleSelector, 'mouseenter' + eventNamespace, module.hover.enable)
.on(moduleSelector, 'mouseleave' + eventNamespace, module.hover.disable)
.on(moduleSelector, 'mouseenter' + eventNamespace, module.enable.hover)
.on(moduleSelector, 'mouseleave' + eventNamespace, module.disable.hover)
;
}
if( module.allows('pressed') ) {
if( module.allows('down') ) {
$(element, settings.context)
.on(moduleSelector, 'mousedown' + eventNamespace, module.pressed.enable)
.on(moduleSelector, 'mouseup' + eventNamespace, module.pressed.disable)
.on(moduleSelector, 'mousedown' + eventNamespace, module.enable.down)
.on(moduleSelector, 'mouseup' + eventNamespace, module.disable.down)
;
}
if( module.allows('focus') ) {
$(element, settings.context)
.on(moduleSelector, 'focus' + eventNamespace, module.focus.enable)
.on(moduleSelector, 'blur' + eventNamespace, module.focus.disable)
.on(moduleSelector, 'focus' + eventNamespace, module.enable.focus)
.on(moduleSelector, 'blur' + eventNamespace, module.disable.focus)
;
}
$(settings.context)
.on(moduleSelector, 'mouseenter' + eventNamespace, module.text.change)
.on(moduleSelector, 'mouseleave' + eventNamespace, module.text.reset)
.on(moduleSelector, 'click' + eventNamespace, module.toggle)
.on(moduleSelector, 'mouseenter' + eventNamespace, module.change.text)
.on(moduleSelector, 'mouseleave' + eventNamespace, module.reset.text)
.on(moduleSelector, 'click' + eventNamespace, module.toggle.state)
;
}
else {
if( module.allows('hover') ) {
$module
.on('mouseenter' + eventNamespace, module.hover.enable)
.on('mouseleave' + eventNamespace, module.hover.disable)
.on('mouseenter' + eventNamespace, module.enable.hover)
.on('mouseleave' + eventNamespace, module.disable.hover)
;
}
if( module.allows('pressed') ) {
if( module.allows('down') ) {
$module
.on('mousedown' + eventNamespace, module.pressed.enable)
.on('mouseup' + eventNamespace, module.pressed.disable)
.on('mousedown' + eventNamespace, module.enable.down)
.on('mouseup' + eventNamespace, module.disable.down)
;
}
if( module.allows('focus') ) {
$module
.on('focus' + eventNamespace, module.focus.enable)
.on('blur' + eventNamespace, module.focus.disable)
.on('focus' + eventNamespace, module.enable.focus)
.on('blur' + eventNamespace, module.disable.focus)
;
}
$module
.on('mouseenter' + eventNamespace, module.text.change)
.on('mouseleave' + eventNamespace, module.text.reset)
.on('click' + eventNamespace, module.toggle)
.on('mouseenter' + eventNamespace, module.change.text)
.on('mouseleave' + eventNamespace, module.reset.text)
.on('click' + eventNamespace, module.toggle.state)
;
}
module.instantiate();
@ -220,71 +221,69 @@ $.fn.state = function(parameters) {
return states[state] || false;
},
enable: function(state) {
if(module.allows(state)) {
$module.addClass( className[state] );
}
},
disable: function(state) {
if(module.allows(state)) {
$module.removeClass( className[state] );
}
},
textFor: function(state) {
return text[state] || false;
},
focus : {
enable: function() {
enable: {
state: function(state) {
if(module.allows(state)) {
$module.addClass( className[state] );
}
},
// convenience
focus: function() {
$module.addClass(className.focus);
},
disable: function() {
$module.removeClass(className.focus);
}
hover: function() {
$module.addClass(className.hover);
},
down: function() {
$module.addClass(className.down);
},
},
hover : {
enable: function() {
$module.addClass(className.hover);
disable: {
state: function(state) {
if(module.allows(state)) {
$module.removeClass( className[state] );
}
},
// convenience
focus: function() {
$module.removeClass(className.focus);
},
disable: function() {
hover: function() {
$module.removeClass(className.hover);
}
},
down: function() {
$module.removeClass(className.down);
},
},
pressed : {
enable: function() {
$module
.addClass(className.pressed)
.one('mouseleave', module.pressed.disable)
toggle: {
state: function() {
var
apiRequest = $module.data(metadata.promise)
;
},
disable: function() {
$module.removeClass(className.pressed);
if( module.allows('active') && module.is.enabled() ) {
module.refresh();
if(apiRequest !== undefined) {
module.listenTo(apiRequest);
}
else {
module.change.state();
}
}
}
},
// determines method for state activation
toggle: function() {
var
apiRequest = $module.data(metadata.promise)
;
if( module.allows('active') && module.is.enabled() ) {
module.refresh();
if(apiRequest !== undefined) {
module.listenTo(apiRequest);
}
else {
module.change();
}
}
textFor: function(state) {
return text[state] || false;
},
listenTo: function(apiRequest) {
module.debug('API request detected, waiting for state signal', apiRequest);
if(apiRequest) {
if(text.loading) {
module.text.update(text.loading);
module.update.text(text.loading);
}
$.when(apiRequest)
.then(function() {
@ -298,7 +297,7 @@ $.fn.state = function(parameters) {
settings.activateTest = function(){ return false; };
settings.deactivateTest = function(){ return false; };
}
module.change();
module.change.state();
})
;
}
@ -310,19 +309,48 @@ $.fn.state = function(parameters) {
},
// checks whether active/inactive state can be given
change: function() {
module.debug('Determining state change direction');
// inactive to active change
if( module.is.inactive() ) {
module.activate();
}
else {
module.deactivate();
}
if(settings.sync) {
module.sync();
change: {
state: function() {
module.debug('Determining state change direction');
// inactive to active change
if( module.is.inactive() ) {
module.activate();
}
else {
module.deactivate();
}
if(settings.sync) {
module.sync();
}
$.proxy(settings.onChange, element)();
},
text: function() {
if( module.is.textEnabled() ) {
if( module.is.active() ) {
if(text.hover) {
module.verbose('Changing text to hover text', text.hover);
module.update.text(text.hover);
}
else if(text.disable) {
module.verbose('Changing text to disable text', text.disable);
module.update.text(text.disable);
}
}
else {
if(text.hover) {
module.verbose('Changing text to hover text', text.disable);
module.update.text(text.hover);
}
else if(text.enable){
module.verbose('Changing text to enable text', text.enable);
module.update.text(text.enable);
}
}
}
}
$.proxy(settings.onChange, element)();
},
activate: function() {
@ -331,7 +359,7 @@ $.fn.state = function(parameters) {
$module
.addClass(className.active)
;
module.text.update(text.active);
module.update.text(text.active);
}
$.proxy(settings.onActivate, element)();
},
@ -342,7 +370,7 @@ $.fn.state = function(parameters) {
$module
.removeClass(className.active)
;
module.text.update(text.inactive);
module.update.text(text.inactive);
}
$.proxy(settings.onDeactivate, element)();
},
@ -362,56 +390,33 @@ $.fn.state = function(parameters) {
}
},
text: {
// finds text node to update
get: function() {
get: {
text: function() {
return (settings.selector.text)
? $module.find(settings.selector.text).text()
: $module.html()
;
},
}
},
flash: function(text, duration) {
flash: {
text: function(text, duration) {
var
previousText = module.text.get()
previousText = module.get.text()
;
module.debug('Flashing text message', text, duration);
text = text || settings.text.flash;
duration = duration || settings.flashDuration;
module.text.update(text);
module.update.text(text);
setTimeout(function(){
module.text.update(previousText);
module.update.text(previousText);
}, duration);
},
change: function() {
if( module.is.textEnabled() ) {
if( module.is.active() ) {
if(text.hover) {
module.verbose('Changing text to hover text', text.hover);
module.text.update(text.hover);
}
else if(text.disable) {
module.verbose('Changing text to disable text', text.disable);
module.text.update(text.disable);
}
}
else {
if(text.hover) {
module.verbose('Changing text to hover text', text.disable);
module.text.update(text.hover);
}
else if(text.enable){
module.verbose('Changing text to enable text', text.enable);
module.text.update(text.enable);
}
}
}
},
}
},
reset: {
// on mouseout sets text to previous value
reset : function() {
text: function() {
var
activeText = text.active || $module.data(metadata.storedText),
inactiveText = text.inactive || $module.data(metadata.storedText)
@ -419,18 +424,20 @@ $.fn.state = function(parameters) {
if( module.is.textEnabled() ) {
if( module.is.active() && activeText) {
module.verbose('Resetting active text', activeText);
module.text.update(activeText);
module.update.text(activeText);
}
else if(inactiveText) {
module.verbose('Resetting inactive text', activeText);
module.text.update(inactiveText);
module.update.text(inactiveText);
}
}
},
}
},
update: function(text) {
update: {
text: function(text) {
var
currentText = module.text.get()
currentText = module.get.text()
;
if(text && text !== currentText) {
module.debug('Updating text', text);
@ -453,6 +460,7 @@ $.fn.state = function(parameters) {
}
}
},
setting: function(name, value) {
module.debug('Changing setting', name, value);
if(value !== undefined) {
@ -513,7 +521,7 @@ $.fn.state = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -531,7 +539,8 @@ $.fn.state = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -598,6 +607,7 @@ $.fn.state = function(parameters) {
})
;
return (invokedResponse)
? invokedResponse
: this
@ -662,7 +672,7 @@ $.fn.state.settings = {
className: {
focus : 'focus',
hover : 'hover',
pressed : 'down',
down : 'down',
active : 'active',
loading : 'loading'
},
@ -676,14 +686,14 @@ $.fn.state.settings = {
input: {
hover : true,
focus : true,
pressed : true,
down : true,
loading : false,
active : false
},
button: {
hover : true,
focus : false,
pressed : true,
down : true,
active : false,
loading : true
}
@ -692,7 +702,7 @@ $.fn.state.settings = {
states : {
hover : true,
focus : true,
pressed : true,
down : true,
loading : false,
active : false
},

2
build/uncompressed/modules/carousel.js

@ -197,7 +197,7 @@ $.fn.carousel = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({

38
build/uncompressed/modules/chat.js

@ -18,8 +18,10 @@
.each(function() {
var
$module = $(this),
$expandButton = $module.find(settings.selector.expandButton),
$userListButton = $module.find(settings.selector.userListButton),
$userList = $module.find(settings.selector.userList),
$room = $module.find(settings.selector.room),
$userCount = $module.find(settings.selector.userCount),
@ -37,6 +39,8 @@
html = '',
users = {},
channel,
loggedInUser,
message,
@ -50,7 +54,6 @@
module = {
channel: false,
width: {
log : $log.width(),
userList : $userList.outerWidth()
@ -75,33 +78,18 @@
pusher = new Pusher(key);
Pusher.channel_auth_endpoint = settings.endpoint.authentication;
module.channel = pusher.subscribe(channelName);
channel = pusher.subscribe(channelName);
module.channel.bind('pusher:subscription_succeeded', module.user.list.create);
module.channel.bind('pusher:subscription_error', module.error);
module.channel.bind('pusher:member_added', module.user.joined);
module.channel.bind('pusher:member_removed', module.user.left);
module.channel.bind('update_messages', module.message.receive);
channel.bind('pusher:subscription_succeeded', module.user.list.create);
channel.bind('pusher:subscription_error', module.error);
channel.bind('pusher:member_added', module.user.joined);
channel.bind('pusher:member_removed', module.user.left);
channel.bind('update_messages', module.message.receive);
$.each(settings.customEvents, function(label, value) {
module.channel.bind(label, value);
channel.bind(label, value);
});
// expandable with states
if( $.fn.hoverClass !== undefined && $.fn.downClass !== undefined ) {
$expandButton
.hoverClass()
.downClass()
;
$userListButton
.hoverClass()
.downClass()
;
$messageButton
.hoverClass()
.downClass()
;
}
// bind module events
$userListButton
.on('click.' + namespace, module.event.toggleUserList)
@ -153,7 +141,7 @@
if(settings.userCount) {
users = $module.data('users');
count = 0;
$.each(users, function(index) {
$.each(users, function() {
count++;
});
$userCount

5
build/uncompressed/modules/checkbox.js

@ -193,7 +193,7 @@ $.fn.checkbox = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -211,7 +211,8 @@ $.fn.checkbox = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});

27
build/uncompressed/modules/dimmer.css

@ -24,11 +24,16 @@
background-color: rgba(0, 0, 0, 0.85);
opacity: 0;
line-height: 1;
-webkit-animation-fill-mode: forwards;
-moz-animation-fill-mode: forwards;
-o-animation-fill-mode: forwards;
-ms-animation-fill-mode: forwards;
animation-fill-mode: forwards;
-webkit-animation-fill-mode: both;
-moz-animation-fill-mode: both;
-o-animation-fill-mode: both;
-ms-animation-fill-mode: both;
animation-fill-mode: both;
-webkit-animation-duration: 0.5s;
-moz-animation-duration: 0.5s;
-o-animation-duration: 0.5s;
-ms-animation-duration: 0.5s;
animation-duration: 0.5s;
-webkit-transition: background-color 0.5s linear;
-moz-transition: background-color 0.5s linear;
-o-transition: background-color 0.5s linear;
@ -168,9 +173,9 @@ body.ui.dimmable.dimmed > :not(.dimmer) {
.ui.dimmer.show {
width: 100%;
height: 100%;
-webkit-animation: dimmer-show 0.5s;
-moz-animation: dimmer-show 0.5s;
animation: dimmer-show 0.5s;
-webkit-animation-name: dimmer-show;
-moz-animation-name: dimmer-show;
animation-name: dimmer-show;
}
@-webkit-keyframes dimmer-show {
0% {
@ -197,9 +202,9 @@ body.ui.dimmable.dimmed > :not(.dimmer) {
}
}
.ui.dimmer.hide {
-webkit-animation: dimmer-hide 0.5s;
-moz-animation: dimmer-hide 0.5s;
animation: dimmer-hide 0.5s;
-webkit-animation-name: dimmer-hide;
-moz-animation-name: dimmer-hide;
animation-name: dimmer-hide;
}
@-webkit-keyframes dimmer-hide {
0% {

51
build/uncompressed/modules/dimmer.js

@ -17,8 +17,13 @@ $.fn.dimmer = function(parameters) {
? $.extend(true, {}, $.fn.dimmer.settings, parameters)
: $.fn.dimmer.settings,
eventNamespace = '.' + settings.namespace,
moduleNamespace = 'module-' + settings.namespace,
selector = settings.selector,
namespace = settings.namespace,
className = settings.className,
error = settings.error,
eventNamespace = '.' + namespace,
moduleNamespace = 'module-' + namespace,
moduleSelector = $allModules.selector || '',
time = new Date().getTime(),
@ -28,10 +33,6 @@ $.fn.dimmer = function(parameters) {
methodInvoked = (typeof query == 'string'),
queryArguments = [].slice.call(arguments, 1),
selector = settings.selector,
namespace = settings.namespace,
className = settings.className,
error = settings.error,
invokedResponse
;
@ -42,8 +43,6 @@ $.fn.dimmer = function(parameters) {
$module = $(this),
$dimmer = $module.children(selector.dimmer).first(),
animationEnd = 'animationend msAnimationEnd oAnimationEnd webkitAnimationEnd',
element = this,
instance = $dimmer.data(moduleNamespace),
module
@ -111,7 +110,6 @@ $.fn.dimmer = function(parameters) {
click: function(event) {
module.verbose('Determining if event occured on dimmer', event);
console.log(event.target, selector.content, $(event.target).is(selector.content));
if( $dimmer.find(event.target).size() === 0 || $(event.target).is(selector.content) ) {
module.hide();
}
@ -125,7 +123,7 @@ $.fn.dimmer = function(parameters) {
if(settings.animation.show == 'css') {
module.verbose('Showing dimmer animation with css');
$dimmer
.one(animationEnd, function() {
.one(module.get.animationEndEvent(), function() {
module.set.active();
$dimmer.removeClass(className.show);
})
@ -153,7 +151,7 @@ $.fn.dimmer = function(parameters) {
if(settings.animation.hide == 'css') {
module.verbose('Hiding dimmer with css');
$dimmer
.one(animationEnd, function(){
.one(module.get.animationEndEvent(), function(){
module.remove.active();
$dimmer.removeClass(className.hide);
})
@ -176,6 +174,28 @@ $.fn.dimmer = function(parameters) {
}
},
get: {
animationEndEvent: function() {
var
element = document.createElement('element'),
animations = {
'animation' : 'animationend',
'OAnimation' : 'oAnimationEnd',
'MozAnimation' : 'animationend',
'WebkitAnimation' : 'webkitAnimationEnd'
},
animation
;
for(animation in animations){
if( element.style[animation] !== undefined ){
return animations[animation];
}
}
}
},
has: {
dimmer: function() {
return ( $module.children(selector.dimmer).size() > 0 );
@ -329,7 +349,7 @@ $.fn.dimmer = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -347,7 +367,8 @@ $.fn.dimmer = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -430,8 +451,8 @@ $.fn.dimmer.settings = {
performance : true,
animation : {
show: 'fade',
hide: 'fade'
show: 'css',
hide: 'css'
},
on : false,

40
build/uncompressed/modules/dropdown.js

@ -17,14 +17,21 @@ $.fn.dropdown = function(parameters) {
settings = ( $.isPlainObject(parameters) )
? $.extend(true, {}, $.fn.dropdown.settings, parameters)
: $.fn.dropdown.settings,
eventNamespace = '.' + settings.namespace,
moduleNamespace = 'module-' + settings.namespace,
className = settings.className,
metadata = settings.metadata,
namespace = settings.namespace,
animation = settings.animation,
selector = settings.selector,
errors = settings.errors,
eventNamespace = '.' + namespace,
moduleNamespace = 'module-' + namespace,
moduleSelector = $allModules.selector || '',
time = new Date().getTime(),
performance = [],
query = arguments[0],
methodInvoked = (typeof query == 'string'),
queryArguments = [].slice.call(arguments, 1),
@ -35,22 +42,15 @@ $.fn.dropdown = function(parameters) {
.each(function() {
var
$module = $(this),
$menu = $(this).find(settings.selector.menu),
$item = $(this).find(settings.selector.item),
$text = $(this).find(settings.selector.text),
$input = $(this).find(settings.selector.input),
$menu = $(this).find(selector.menu),
$item = $(this).find(selector.item),
$text = $(this).find(selector.text),
$input = $(this).find(selector.input),
isTouchDevice = ('ontouchstart' in document.documentElement),
element = this,
instance = $module.data(moduleNamespace),
className = settings.className,
metadata = settings.metadata,
namespace = settings.namespace,
animation = settings.animation,
errors = settings.errors,
module
;
@ -404,7 +404,7 @@ $.fn.dropdown = function(parameters) {
module.verbose('Finding other dropdowns to hide');
$allModules
.not($module)
.has(settings.selector.menu + ':visible')
.has(selector.menu + ':visible')
.dropdown('hide')
;
},
@ -477,7 +477,7 @@ $.fn.dropdown = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -495,7 +495,8 @@ $.fn.dropdown = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -561,6 +562,7 @@ $.fn.dropdown = function(parameters) {
}
})
;
return (invokedResponse)
? invokedResponse
: this

3
build/uncompressed/modules/modal.js

@ -322,7 +322,8 @@
})
;
// chain or return queried method
return (invokedResponse !== undefined)
return (invokedResponse)
? invokedResponse
: this
;

30
build/uncompressed/modules/nag.js

@ -13,8 +13,13 @@ $.fn.nag = function(parameters) {
$allModules = $(this),
settings = $.extend(true, {}, $.fn.nag.settings, parameters),
eventNamespace = '.' + settings.namespace,
moduleNamespace = settings.namespace + '-module',
className = settings.className,
selector = settings.selector,
error = settings.errors,
namespace = settings.namespace,
eventNamespace = '.' + namespace,
moduleNamespace = namespace + '-module',
moduleSelector = $allModules.selector || '',
time = new Date().getTime(),
@ -30,16 +35,13 @@ $.fn.nag = function(parameters) {
var
$module = $(this),
$close = $module.find(settings.selector.close),
$close = $module.find(selector.close),
$context = $(settings.context),
element = this,
instance = $module.data(moduleNamespace),
className = settings.className,
errors = settings.errors,
moduleOffset,
moduleHeight,
@ -258,7 +260,7 @@ $.fn.nag = function(parameters) {
$.cookie(key, value);
}
else {
module.error(errors.noStorage);
module.error(error.noStorage);
}
},
get: function(key) {
@ -271,7 +273,7 @@ $.fn.nag = function(parameters) {
return $.cookie(key);
}
else {
module.error(errors.noStorage);
module.error(error.noStorage);
}
}
@ -352,7 +354,7 @@ $.fn.nag = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -370,7 +372,8 @@ $.fn.nag = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -412,7 +415,7 @@ $.fn.nag = function(parameters) {
found = instance[value];
return true;
}
module.error(errors.method);
module.error(error.method);
return false;
});
}
@ -484,8 +487,9 @@ $.fn.nag.settings = {
// context for scroll event
context : window,
errors: {
noStorage : 'Neither $.cookie or store is defined. A storage solution is required for storing state'
error: {
noStorage : 'Neither $.cookie or store is defined. A storage solution is required for storing state',
method : 'The method you called is not defined.'
},
className : {

5
build/uncompressed/modules/popup.js

@ -527,7 +527,7 @@ $.fn.popup = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -545,7 +545,8 @@ $.fn.popup = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});

42
build/uncompressed/modules/search.js

@ -14,8 +14,14 @@ $.fn.search = function(source, parameters) {
$allModules = $(this),
settings = $.extend(true, {}, $.fn.search.settings, parameters),
eventNamespace = '.' + settings.namespace,
moduleNamespace = settings.namespace + '-module',
className = settings.className,
selector = settings.selector,
errors = settings.errors,
namespace = settings.namespace,
eventNamespace = '.' + namespace,
moduleNamespace = namespace + '-module',
moduleSelector = $allModules.selector || '',
time = new Date().getTime(),
@ -30,17 +36,15 @@ $.fn.search = function(source, parameters) {
.each(function() {
var
$module = $(this),
$prompt = $module.find(settings.selector.prompt),
$searchButton = $module.find(settings.selector.searchButton),
$results = $module.find(settings.selector.results),
$result = $module.find(settings.selector.result),
$category = $module.find(settings.selector.category),
$prompt = $module.find(selector.prompt),
$searchButton = $module.find(selector.searchButton),
$results = $module.find(selector.results),
$result = $module.find(selector.result),
$category = $module.find(selector.category),
element = this,
instance = $module.data(moduleNamespace),
className = settings.className,
errors = settings.errors,
module
;
module = {
@ -70,12 +74,13 @@ $.fn.search = function(source, parameters) {
.on('click' + eventNamespace, module.search.query)
;
$results
.on('click' + eventNamespace, settings.selector.result, module.results.select)
.on('click' + eventNamespace, selector.result, module.results.select)
;
module.instantiate();
},
instantiate: function() {
module.verbose('Storing instance of module', module);
instance = module;
$module
.data(moduleNamespace, module)
;
@ -104,8 +109,8 @@ $.fn.search = function(source, parameters) {
handleKeyboard: function(event) {
var
// force latest jq dom
$result = $module.find(settings.selector.result),
$category = $module.find(settings.selector.category),
$result = $module.find(selector.result),
$category = $module.find(selector.category),
keyCode = event.which,
keys = {
backspace : 8,
@ -121,6 +126,7 @@ $.fn.search = function(source, parameters) {
;
// search shortcuts
if(keyCode == keys.escape) {
module.verbose('Escape key pressed, blurring search field');
$prompt
.trigger('blur')
;
@ -128,6 +134,7 @@ $.fn.search = function(source, parameters) {
// result shortcuts
if($results.filter(':visible').size() > 0) {
if(keyCode == keys.enter) {
module.verbose('Enter key pressed, selecting active result');
if( $result.filter('.' + activeClass).exists() ) {
$.proxy(module.results.select, $result.filter('.' + activeClass) )();
event.preventDefault();
@ -135,6 +142,7 @@ $.fn.search = function(source, parameters) {
}
}
else if(keyCode == keys.upArrow) {
module.verbose('Up key pressed, changing active result');
newIndex = (currentIndex - 1 < 0)
? currentIndex
: currentIndex - 1
@ -152,6 +160,7 @@ $.fn.search = function(source, parameters) {
event.preventDefault();
}
else if(keyCode == keys.downArrow) {
module.verbose('Down key pressed, changing active result');
newIndex = (currentIndex + 1 >= resultSize)
? currentIndex
: currentIndex + 1
@ -172,6 +181,7 @@ $.fn.search = function(source, parameters) {
else {
// query shortcuts
if(keyCode == keys.enter) {
module.verbose('Enter key pressed, executing query');
module.search.query();
$searchButton
.addClass(className.down)
@ -452,7 +462,7 @@ $.fn.search = function(source, parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -470,7 +480,8 @@ $.fn.search = function(source, parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -537,6 +548,7 @@ $.fn.search = function(source, parameters) {
})
;
return (invokedResponse)
? invokedResponse
: this

220
build/uncompressed/modules/shape.js

@ -13,12 +13,18 @@ $.fn.shape = function(parameters) {
var
$allModules = $(this),
moduleSelector = $allModules.selector || '',
settings = $.extend(true, {}, $.fn.shape.settings, parameters),
// internal aliases
namespace = settings.namespace,
selector = settings.selector,
error = settings.error,
className = settings.className,
// define namespaces for modules
eventNamespace = '.' + settings.namespace,
moduleNamespace = 'module-' + settings.namespace,
moduleSelector = $allModules.selector || '',
eventNamespace = '.' + namespace,
moduleNamespace = 'module-' + namespace,
time = new Date().getTime(),
performance = [],
@ -34,8 +40,8 @@ $.fn.shape = function(parameters) {
var
// selector cache
$module = $(this),
$sides = $module.find(settings.selector.sides),
$side = $module.find(settings.selector.side),
$sides = $module.find(selector.sides),
$side = $module.find(selector.side),
// private variables
$activeSide,
@ -44,12 +50,6 @@ $.fn.shape = function(parameters) {
// standard module
element = this,
instance = $module.data(moduleNamespace),
// internal aliases
namespace = settings.namespace,
error = settings.error,
className = settings.className,
module
;
@ -58,6 +58,10 @@ $.fn.shape = function(parameters) {
initialize: function() {
module.verbose('Initializing module for', element);
module.set.defaultSide();
},
instantiate: function() {
module.verbose('Storing instance of module', module);
instance = module;
$module
.data(moduleNamespace, instance)
@ -75,8 +79,8 @@ $.fn.shape = function(parameters) {
refresh: function() {
module.verbose('Refreshing selector cache for', element);
$module = $(element);
$sides = $(this).find(settings.selector.shape);
$side = $(this).find(settings.selector.side);
$sides = $(this).find(selector.shape);
$side = $(this).find(selector.side);
},
repaint: function() {
@ -178,15 +182,85 @@ $.fn.shape = function(parameters) {
},
is: {
animating: function() {
return $module.hasClass(className.animating);
}
},
get: {
transform: {
up: function() {
var
translate = {
y: -(($activeSide.outerHeight() - $nextSide.outerHeight()) / 2),
z: -($activeSide.outerHeight() / 2)
}
;
return {
transform: 'translateY(' + translate.y + 'px) translateZ('+ translate.z + 'px) rotateX(-90deg)'
};
},
down: function() {
var
translate = {
y: -(($activeSide.outerHeight() - $nextSide.outerHeight()) / 2),
z: -($activeSide.outerHeight() / 2)
}
;
return {
transform: 'translateY(' + translate.y + 'px) translateZ('+ translate.z + 'px) rotateX(90deg)'
};
},
left: function() {
var
translate = {
x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2),
z : -($activeSide.outerWidth() / 2)
}
;
return {
transform: 'translateX(' + translate.x + 'px) translateZ(' + translate.z + 'px) rotateY(90deg)'
};
},
right: function() {
var
translate = {
x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2),
z : -($activeSide.outerWidth() / 2)
}
;
return {
transform: 'translateX(' + translate.x + 'px) translateZ(' + translate.z + 'px) rotateY(-90deg)'
};
},
over: function() {
var
translate = {
x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2)
}
;
return {
transform: 'translateX(' + translate.x + 'px) rotateY(180deg)'
};
},
back: function() {
var
translate = {
x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2)
}
;
return {
transform: 'translateX(' + translate.x + 'px) rotateY(-180deg)'
};
}
},
transitionEvent: function() {
var
element = document.createElement('element'),
@ -206,9 +280,9 @@ $.fn.shape = function(parameters) {
},
nextSide: function() {
return ( $activeSide.next(settings.selector.side).size() > 0 )
? $activeSide.next(settings.selector.side)
: $module.find(settings.selector.side).first()
return ( $activeSide.next(selector.side).size() > 0 )
? $activeSide.next(selector.side)
: $module.find(selector.side).first()
;
}
@ -218,9 +292,9 @@ $.fn.shape = function(parameters) {
defaultSide: function() {
$activeSide = $module.find('.' + settings.className.active);
$nextSide = ( $activeSide.next(settings.selector.side).size() > 0 )
? $activeSide.next(settings.selector.side)
: $module.find(settings.selector.side).first()
$nextSide = ( $activeSide.next(selector.side).size() > 0 )
? $activeSide.next(selector.side)
: $module.find(selector.side).first()
;
module.verbose('Active side set to', $activeSide);
module.verbose('Next side set to', $nextSide);
@ -269,10 +343,10 @@ $.fn.shape = function(parameters) {
module.debug('Flipping up', $nextSide);
if( !module.is.animating() ) {
module.stage.above();
module.animate( module.getTransform.up() );
module.animate( module.get.transform.up() );
}
else {
module.queue('flip.up');
module.queue('flip up');
}
},
@ -280,10 +354,10 @@ $.fn.shape = function(parameters) {
module.debug('Flipping down', $nextSide);
if( !module.is.animating() ) {
module.stage.below();
module.animate( module.getTransform.down() );
module.animate( module.get.transform.down() );
}
else {
module.queue('flip.down');
module.queue('flip down');
}
},
@ -291,10 +365,10 @@ $.fn.shape = function(parameters) {
module.debug('Flipping left', $nextSide);
if( !module.is.animating() ) {
module.stage.left();
module.animate(module.getTransform.left() );
module.animate(module.get.transform.left() );
}
else {
module.queue('flip.left');
module.queue('flip left');
}
},
@ -302,10 +376,10 @@ $.fn.shape = function(parameters) {
module.debug('Flipping right', $nextSide);
if( !module.is.animating() ) {
module.stage.right();
module.animate(module.getTransform.right() );
module.animate(module.get.transform.right() );
}
else {
module.queue('flip.right');
module.queue('flip right');
}
},
@ -313,10 +387,10 @@ $.fn.shape = function(parameters) {
module.debug('Flipping over', $nextSide);
if( !module.is.animating() ) {
module.stage.behind();
module.animate(module.getTransform.over() );
module.animate(module.get.transform.over() );
}
else {
module.queue('flip.over');
module.queue('flip over');
}
},
@ -324,89 +398,15 @@ $.fn.shape = function(parameters) {
module.debug('Flipping back', $nextSide);
if( !module.is.animating() ) {
module.stage.behind();
module.animate(module.getTransform.back() );
module.animate(module.get.transform.back() );
}
else {
module.queue('flip.back');
module.queue('flip back');
}
}
},
getTransform: {
up: function() {
var
translate = {
y: -(($activeSide.outerHeight() - $nextSide.outerHeight()) / 2),
z: -($activeSide.outerHeight() / 2)
}
;
return {
transform: 'translateY(' + translate.y + 'px) translateZ('+ translate.z + 'px) rotateX(-90deg)'
};
},
down: function() {
var
translate = {
y: -(($activeSide.outerHeight() - $nextSide.outerHeight()) / 2),
z: -($activeSide.outerHeight() / 2)
}
;
return {
transform: 'translateY(' + translate.y + 'px) translateZ('+ translate.z + 'px) rotateX(90deg)'
};
},
left: function() {
var
translate = {
x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2),
z : -($activeSide.outerWidth() / 2)
}
;
return {
transform: 'translateX(' + translate.x + 'px) translateZ(' + translate.z + 'px) rotateY(90deg)'
};
},
right: function() {
var
translate = {
x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2),
z : -($activeSide.outerWidth() / 2)
}
;
return {
transform: 'translateX(' + translate.x + 'px) translateZ(' + translate.z + 'px) rotateY(-90deg)'
};
},
over: function() {
var
translate = {
x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2)
}
;
return {
transform: 'translateX(' + translate.x + 'px) rotateY(180deg)'
};
},
back: function() {
var
translate = {
x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2)
}
;
return {
transform: 'translateX(' + translate.x + 'px) rotateY(-180deg)'
};
}
},
stage: {
above: function() {
@ -597,7 +597,7 @@ $.fn.shape = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -615,7 +615,8 @@ $.fn.shape = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -683,6 +684,7 @@ $.fn.shape = function(parameters) {
}
})
;
return (invokedResponse)
? invokedResponse
: this

402
build/uncompressed/modules/star.js

@ -8,173 +8,299 @@
;(function ($, window, document, undefined) {
$.fn.starReview = function(parameters) {
var
settings = $.extend(true, {}, $.fn.starReview.settings, parameters),
// hoist arguments
moduleArguments = arguments || false
;
$(this)
.each(function() {
var
$module = $(this),
$star = $module.find(settings.selector.star),
className = settings.className,
namespace = settings.namespace,
instance = $module.data('module'),
module
;
module = {
$.fn.starReview = function(parameters) {
var
$allModules = $(this),
moduleSelector = $allModules.selector || '',
settings = $.extend(true, {}, $.fn.starReview.settings, parameters),
namespace = settings.namespace,
className = settings.className,
selector = settings.selector,
error = settings.error,
eventNamespace = '.' + namespace,
moduleNamespace = 'module-' + namespace,
time = new Date().getTime(),
performance = [],
query = arguments[0],
methodInvoked = (typeof query == 'string'),
queryArguments = [].slice.call(arguments, 1),
invokedResponse
;
$allModules
.each(function() {
var
$module = $(this),
$star = $module.find(selector.star),
element = this,
instance = $module.data(moduleNamespace),
module
;
settings: settings,
module = {
initialize: function() {
if(settings.rateable) {
// expandable with states
if($.fn.state !== undefined) {
$module
.state()
;
$star
.state()
;
}
initialize: function() {
if(settings.rateable) {
// expandable with states
if($.fn.state !== undefined) {
$module
.state()
;
$star
.bind('mouseenter.' + namespace, module.event.mouseenter)
.bind('mouseleave.' + namespace, module.event.mouseleave)
.bind('click.' + namespace, module.event.click)
.state()
;
}
$module
.addClass(className.initialize)
.data('module', module)
$star
.bind('mouseenter' + eventNamespace, module.event.mouseenter)
.bind('mouseleave' + eventNamespace, module.event.mouseleave)
.bind('click' + eventNamespace, module.event.click)
;
},
}
$module
.addClass(className.initialize)
;
module.instantiate();
},
instantiate: function() {
$module
.data(moduleNamespace, module)
;
},
setRating: function(rating) {
var
$activeStar = $star.eq(rating - 1)
;
$module
.removeClass(className.hover)
;
$star
.removeClass(className.hover)
;
$activeStar
.nextAll()
.removeClass(className.active)
;
$activeStar
.addClass(className.active)
.prevAll()
.addClass(className.active)
;
$.proxy(settings.onRate, $module)();
},
setRating: function(rating) {
event: {
mouseenter: function() {
var
$activeStar = $star.eq(rating - 1)
;
$module
.removeClass(className.hover)
;
$star
.removeClass(className.hover)
$activeStar = $(this)
;
$activeStar
.nextAll()
.removeClass(className.active)
.removeClass(className.hover)
;
$module
.addClass(className.hover)
;
$activeStar
.addClass(className.active)
.addClass(className.hover)
.prevAll()
.addClass(className.active)
;
$.proxy(settings.onRate, $module)();
},
event: {
mouseenter: function() {
var
$activeStar = $(this)
;
$activeStar
.nextAll()
.removeClass(className.hover)
;
$module
.addClass(className.hover)
;
$activeStar
.addClass(className.hover)
.prevAll()
.addClass(className.hover)
;
},
mouseleave: function() {
$star
.removeClass(className.hover)
;
},
click: function() {
var
$activeStar = $(this)
;
module.setRating( $star.index($activeStar) + 1);
}
;
},
// handle error logging
error: function(errorMessage) {
console.warn(settings.moduleName + ': ' + errorMessage);
mouseleave: function() {
$star
.removeClass(className.hover)
;
},
// allows for dot notation method calls
invoke: function(methodName, context, methodArguments) {
click: function() {
var
$activeStar = $(this)
;
module.setRating( $star.index($activeStar) + 1);
}
},
setting: function(name, value) {
if(value !== undefined) {
if( $.isPlainObject(name) ) {
$.extend(true, settings, name);
}
else {
settings[name] = value;
}
}
else {
return settings[name];
}
},
internal: function(name, value) {
if(value !== undefined) {
if( $.isPlainObject(name) ) {
$.extend(true, module, name);
}
else {
module[name] = value;
}
}
else {
return module[name];
}
},
debug: function() {
if(settings.debug) {
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.debug = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
}
}
},
verbose: function() {
if(settings.verbose && settings.debug) {
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
}
}
},
error: function() {
module.error = Function.prototype.bind.call(console.error, console, settings.moduleName + ':');
},
performance: {
log: function(message) {
var
method
currentTime,
executionTime,
previousTime
;
methodArguments = methodArguments || Array.prototype.slice.call( arguments, 2 );
if(typeof methodName == 'string' && instance !== undefined) {
methodName = methodName.split('.');
$.each(methodName, function(index, name) {
if( $.isPlainObject( instance[name] ) ) {
instance = instance[name];
return true;
}
else if( $.isFunction( instance[name] ) ) {
method = instance[name];
return true;
}
module.error(settings.errors.method);
return false;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
'Element' : element,
'Name' : message[0],
'Arguments' : [].slice.call(message, 1) || '',
'Execution Time' : executionTime
});
}
return ( $.isFunction( method ) )
? method.apply(context, methodArguments)
: false
clearTimeout(module.performance.timer);
module.performance.timer = setTimeout(module.performance.display, 100);
},
display: function() {
var
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
title += ' ' + totalTime + 'ms';
if(moduleSelector) {
title += ' \'' + moduleSelector + '\'';
}
if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
console.groupCollapsed(title);
if(console.table) {
console.table(performance);
}
else {
$.each(performance, function(index, data) {
console.log(data['Name'] + ': ' + data['Execution Time']+'ms');
});
}
console.groupEnd();
}
performance = [];
}
};
if(instance !== undefined && moduleArguments) {
// simpler than invoke realizing to invoke itself (and losing scope due prototype.call()
if(moduleArguments[0] == 'invoke') {
moduleArguments = Array.prototype.slice.call( moduleArguments, 1 );
},
invoke: function(query, passedArguments, context) {
var
searchInstance = instance,
maxDepth,
found
;
passedArguments = passedArguments || queryArguments;
context = element || context;
if(typeof query == 'string' && searchInstance !== undefined) {
query = query.split(/[\. ]/);
maxDepth = query.length - 1;
$.each(query, function(depth, value) {
if( $.isPlainObject( searchInstance[value] ) && (depth != maxDepth) ) {
searchInstance = searchInstance[value];
return true;
}
else if( searchInstance[value] !== undefined ) {
found = searchInstance[value];
return true;
}
module.error(error.method);
return false;
});
}
if ( $.isFunction( found ) ) {
return found.apply(context, passedArguments);
}
return module.invoke(moduleArguments[0], this, Array.prototype.slice.call( moduleArguments, 1 ) );
return found || false;
}
};
if(methodInvoked) {
if(instance === undefined) {
module.initialize();
}
invokedResponse = module.invoke(query);
}
else {
if(instance !== undefined) {
module.destroy();
}
// initializing
module.initialize();
})
;
}
})
;
return this;
};
return (invokedResponse)
? invokedResponse
: this
;
};
$.fn.starReview.settings = {
moduleName : 'Star',
namespace : 'star',
rateable : true,
onRate : function(){},
className : {
initialize : 'initialize',
loading : 'loading',
active : 'active',
hover : 'hover',
down : 'down'
},
$.fn.starReview.settings = {
moduleName : 'Star',
namespace : 'star',
rateable : true,
onRate : function(){},
error: {
method : 'The method you called is not defined'
},
className : {
initialize : 'initialize',
loading : 'loading',
active : 'active',
hover : 'hover',
down : 'down'
},
selector : {
star : 'i'
}
selector : {
star : 'i'
}
};
};
})( jQuery, window , document );

21
build/uncompressed/modules/tab.js

@ -15,6 +15,8 @@
$module = $(this),
$tabs = $(settings.context).find(settings.selector.tabs),
moduleSelector = $module.selector || '',
cache = {},
firstLoad = true,
@ -27,14 +29,13 @@
element = this,
time = new Date().getTime(),
performance = [],
moduleSelector = $module.selector || '',
eventNamespace = '.' + settings.namespace,
moduleNamespace = settings.namespace + '-module',
className = settings.className,
metadata = settings.metadata,
errors = settings.errors,
eventNamespace = '.' + settings.namespace,
moduleNamespace = settings.namespace + '-module',
instance = $module.data(moduleNamespace),
@ -80,6 +81,11 @@
.on('click' + eventNamespace, module.event.click)
;
}
module.instantiate();
},
instantiate: function () {
module.verbose('Storing instance of module', module);
$module
.data(moduleNamespace, module)
;
@ -477,7 +483,7 @@
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -495,7 +501,8 @@
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -561,7 +568,7 @@
module.initialize();
}
return (invokedResponse !== undefined)
return (invokedResponse)
? invokedResponse
: this
;

19
build/uncompressed/modules/transition.js

@ -12,20 +12,24 @@
$.fn.transition = function(parameters) {
var
$allModules = $(this),
moduleSelector = $allModules.selector || '',
settings = $.extend(true, {}, $.fn.transition.settings, parameters),
// define namespaces for modules
eventNamespace = '.' + settings.namespace,
moduleNamespace = 'module-' + settings.namespace,
moduleSelector = $allModules.selector || '',
time = new Date().getTime(),
performance = [],
query = arguments[0],
methodInvoked = (typeof query == 'string'),
queryArguments = [].slice.call(arguments, 1),
error = settings.error,
namespace = settings.namespace,
// define namespaces for modules
eventNamespace = '.' + namespace,
moduleNamespace = 'module-' + namespace,
invokedResponse
;
@ -218,7 +222,7 @@ $.fn.transition = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -236,7 +240,8 @@ $.fn.transition = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});

41
build/uncompressed/modules/video.js

@ -21,33 +21,33 @@ $.fn.video = function(parameters) {
: $.fn.video.settings,
moduleSelector = $allModules.selector || '',
time = new Date().getTime(),
performance = [],
query = arguments[0],
methodInvoked = (typeof query == 'string'),
queryArguments = [].slice.call(arguments, 1),
selector = settings.selector,
className = settings.className,
error = settings.error,
metadata = settings.metadata,
namespace = settings.namespace,
eventNamespace = '.' + namespace,
moduleNamespace = namespace + '-module',
invokedResponse
;
$(this)
$allModules
.each(function() {
var
$module = $(this),
$placeholder = $module.find(settings.selector.placeholder),
$playButton = $module.find(settings.selector.playButton),
$embed = $module.find(settings.selector.embed),
eventNamespace = '.' + settings.namespace,
moduleNamespace = settings.namespace + '-module',
selector = settings.selector,
className = settings.className,
error = settings.error,
metadata = settings.metadata,
namespace = settings.namespace,
$module = $(this),
$placeholder = $module.find(selector.placeholder),
$playButton = $module.find(selector.playButton),
$embed = $module.find(selector.embed),
element = this,
instance = $module.data(moduleNamespace),
@ -68,6 +68,7 @@ $.fn.video = function(parameters) {
},
instantiate: function() {
module.verbose('Storing instance of module', module);
instance = module;
$module
.data(moduleNamespace, module)
@ -282,7 +283,7 @@ $.fn.video = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -300,7 +301,8 @@ $.fn.video = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -366,7 +368,6 @@ $.fn.video = function(parameters) {
}
})
;
return (invokedResponse)
? invokedResponse
: this

6
node/package.json

@ -37,11 +37,11 @@
"npm": "1.1.x"
},
"dependencies": {
"docpad": "~6.46.5",
"docpad": "~6.47.0",
"docpad-plugin-coffeescript": "~2.2.2",
"docpad-plugin-eco": "~2.0.2",
"docpad-plugin-marked": "~2.1.1",
"docpad-plugin-partials": "~2.7.1",
"docpad-plugin-partials": "~2.7.2",
"docpad-plugin-stylus": "~2.4.0",
"docpad-plugin-text": "~2.2.4",
"grunt": "~0.4.0",
@ -52,7 +52,7 @@
"docpad-plugin-ghpages": "~2.3.0",
"docpad-plugin-paged": "~2.2.2",
"docpad-plugin-handlebars": "~2.2.2",
"docpad-plugin-livereload": "~2.4.0"
"docpad-plugin-livereload": "~2.5.0"
},
"devDependencies": {
"grunt-contrib-watch": "~0.4.4",

83
node/src/files/components/semantic/modules/accordion.js

@ -16,13 +16,18 @@ $.fn.accordion = function(parameters) {
? $.extend(true, {}, $.fn.accordion.settings, parameters)
: $.fn.accordion.settings,
eventNamespace = '.' + settings.namespace,
moduleNamespace = 'module-' + settings.namespace,
className = settings.className,
namespace = settings.namespace,
selector = settings.selector,
error = settings.errors,
eventNamespace = '.' + namespace,
moduleNamespace = 'module-' + namespace,
moduleSelector = $allModules.selector || '',
time = new Date().getTime(),
performance = [],
query = arguments[0],
methodInvoked = (typeof query == 'string'),
queryArguments = [].slice.call(arguments, 1),
@ -31,18 +36,13 @@ $.fn.accordion = function(parameters) {
$allModules
.each(function() {
var
$module = $(this),
$title = $module.find(settings.selector.title),
$icon = $module.find(settings.selector.icon),
$content = $module.find(settings.selector.content),
element = this,
instance = $module.data(moduleNamespace),
className = settings.className,
namespace = settings.namespace,
$module = $(this),
$title = $module.find(selector.title),
$icon = $module.find(selector.icon),
$content = $module.find(selector.content),
errors = settings.errors,
element = this,
instance = $module.data(moduleNamespace),
module
;
@ -54,6 +54,10 @@ $.fn.accordion = function(parameters) {
$title
.on('click' + eventNamespace, module.event.click)
;
module.instantiate();
},
instantiate: function() {
$module
.data(moduleNamespace, module)
;
@ -68,35 +72,41 @@ $.fn.accordion = function(parameters) {
},
event: {
click: function() {
module.verbose('Title clicked', this);
var
$activeTitle = $(this),
activeIndex = $title.index($activeTitle),
contentIsOpen = $activeTitle.hasClass(className.active)
$activeTitle = $(this),
index = $title.index($activeTitle)
;
module.verbose('Accordion title clicked', $activeTitle);
if(contentIsOpen) {
if(settings.collapsible) {
module.close(activeIndex);
}
else {
module.debug('Cannot close accordion content collapsing is disabled');
}
}
else {
module.open(activeIndex);
}
module.toggle(index);
},
resetStyle: function() {
module.verbose('Resetting styles on element', this);
$(this)
.removeAttr('style')
.children()
.removeAttr('style')
;
}
},
toggle: function(index) {
module.debug('Toggling content content at index', index);
var
$activeTitle = $title.eq(index),
contentIsOpen = $activeTitle.hasClass(className.active)
;
if(contentIsOpen) {
if(settings.collapsible) {
module.close(index);
}
else {
module.debug('Cannot close accordion content collapsing is disabled');
}
}
else {
module.open(index);
}
},
open: function(index) {
@ -238,7 +248,7 @@ $.fn.accordion = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -256,7 +266,8 @@ $.fn.accordion = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -298,7 +309,7 @@ $.fn.accordion = function(parameters) {
found = instance[value];
return true;
}
module.error(errors.method);
module.error(error.method);
return false;
});
}
@ -342,7 +353,7 @@ $.fn.accordion.settings = {
onClose : function(){},
onChange : function(){},
errors: {
error: {
method : 'The method you called is not defined'
},

11
node/src/files/components/semantic/modules/behavior/api.js

@ -61,8 +61,8 @@
element = this,
time = new Date().getTime(),
performance = [],
moduleSelector = $module.selector || '',
moduleNamespace = settings.namespace + '-module',
className = settings.className,
@ -438,7 +438,7 @@
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -456,7 +456,8 @@
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
clearTimeout(module.performance.timer);
time = false;
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -521,8 +522,8 @@
}
module.initialize();
}
return (invokedResponse !== undefined)
return (invokedResponse)
? invokedResponse
: this
;

51
node/src/files/components/semantic/modules/behavior/form.js

@ -18,12 +18,21 @@ $.fn.form = function(fields, parameters) {
settings = $.extend(true, {}, $.fn.form.settings, parameters),
validation = $.extend({}, $.fn.form.settings.defaults, fields),
namespace = settings.namespace,
metadata = settings.metadata,
selector = settings.selector,
className = settings.className,
error = settings.error,
eventNamespace = '.' + namespace,
moduleNamespace = 'module-' + namespace,
moduleSelector = $allModules.selector || '',
time = new Date().getTime(),
performance = [],
query = arguments[0],
methodInvoked = (typeof query == 'string'),
queryArguments = [].slice.call(arguments, 1),
@ -33,24 +42,16 @@ $.fn.form = function(fields, parameters) {
.each(function() {
var
$module = $(this),
$field = $(this).find(settings.selector.field),
$group = $(this).find(settings.selector.group),
$message = $(this).find(settings.selector.message),
$prompt = $(this).find(settings.selector.prompt),
$submit = $(this).find(settings.selector.submit),
$field = $(this).find(selector.field),
$group = $(this).find(selector.group),
$message = $(this).find(selector.message),
$prompt = $(this).find(selector.prompt),
$submit = $(this).find(selector.submit),
formErrors = [],
element = this,
instance = $module.data('module-' + settings.namespace),
eventNamespace = '.' + settings.namespace,
moduleNamespace = 'module-' + settings.namespace,
namespace = settings.namespace,
metadata = settings.metadata,
className = settings.className,
error = settings.error,
instance = $module.data(moduleNamespace),
module
;
@ -93,7 +94,7 @@ $.fn.form = function(fields, parameters) {
refresh: function() {
module.verbose('Refreshing selector cache');
$field = $module.find(settings.selector.field);
$field = $module.find(selector.field);
},
submit: function() {
@ -120,7 +121,7 @@ $.fn.form = function(fields, parameters) {
.blur()
;
}
if( key == keyCode.enter && $field.is(settings.selector.input) ) {
if( key == keyCode.enter && $field.is(selector.input) ) {
module.debug('Enter key pressed, submitting form');
$submit
.addClass(className.down)
@ -204,7 +205,7 @@ $.fn.form = function(fields, parameters) {
var
$field = module.get.field(field.identifier),
$fieldGroup = $field.closest($group),
$prompt = $fieldGroup.find(settings.selector.prompt),
$prompt = $fieldGroup.find(selector.prompt),
promptExists = ($prompt.size() !== 0)
;
module.verbose('Adding inline validation prompt');
@ -242,7 +243,7 @@ $.fn.form = function(fields, parameters) {
var
$field = module.get.field(field.identifier),
$fieldGroup = $field.closest($group),
$prompt = $fieldGroup.find(settings.selector.prompt)
$prompt = $fieldGroup.find(selector.prompt)
;
$fieldGroup
.removeClass(className.error)
@ -403,7 +404,7 @@ $.fn.form = function(fields, parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -421,7 +422,8 @@ $.fn.form = function(fields, parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -463,7 +465,7 @@ $.fn.form = function(fields, parameters) {
found = instance[value];
return true;
}
module.error(errors.method);
module.error(error.method);
return false;
});
}
@ -488,6 +490,7 @@ $.fn.form = function(fields, parameters) {
})
;
return (invokedResponse)
? invokedResponse
: this

278
node/src/files/components/semantic/modules/behavior/state.js

@ -2,7 +2,7 @@
Module
State
Change text based on state context
Hover/Pressed/Active/Inactive
Hover/down/Active/Inactive
Author: Jack Lukic
Last revision: May 2012
@ -52,16 +52,18 @@ $.fn.state = function(parameters) {
methodInvoked = (typeof query == 'string'),
queryArguments = [].slice.call(arguments, 1),
eventNamespace = '.' + settings.namespace,
moduleNamespace = settings.namespace + '-module',
// shortcuts
errors = settings.errors,
metadata = settings.metadata,
className = settings.className,
namespace = settings.namespace,
states = settings.states,
text = settings.text,
eventNamespace = '.' + namespace,
moduleNamespace = namespace + '-module',
invokedResponse
;
$allModules
@ -88,52 +90,51 @@ $.fn.state = function(parameters) {
if(settings.context && moduleSelector !== '') {
if( module.allows('hover') ) {
$(element, settings.context)
.on(moduleSelector, 'mouseenter' + eventNamespace, module.hover.enable)
.on(moduleSelector, 'mouseleave' + eventNamespace, module.hover.disable)
.on(moduleSelector, 'mouseenter' + eventNamespace, module.enable.hover)
.on(moduleSelector, 'mouseleave' + eventNamespace, module.disable.hover)
;
}
if( module.allows('pressed') ) {
if( module.allows('down') ) {
$(element, settings.context)
.on(moduleSelector, 'mousedown' + eventNamespace, module.pressed.enable)
.on(moduleSelector, 'mouseup' + eventNamespace, module.pressed.disable)
.on(moduleSelector, 'mousedown' + eventNamespace, module.enable.down)
.on(moduleSelector, 'mouseup' + eventNamespace, module.disable.down)
;
}
if( module.allows('focus') ) {
$(element, settings.context)
.on(moduleSelector, 'focus' + eventNamespace, module.focus.enable)
.on(moduleSelector, 'blur' + eventNamespace, module.focus.disable)
.on(moduleSelector, 'focus' + eventNamespace, module.enable.focus)
.on(moduleSelector, 'blur' + eventNamespace, module.disable.focus)
;
}
$(settings.context)
.on(moduleSelector, 'mouseenter' + eventNamespace, module.text.change)
.on(moduleSelector, 'mouseleave' + eventNamespace, module.text.reset)
.on(moduleSelector, 'click' + eventNamespace, module.toggle)
.on(moduleSelector, 'mouseenter' + eventNamespace, module.change.text)
.on(moduleSelector, 'mouseleave' + eventNamespace, module.reset.text)
.on(moduleSelector, 'click' + eventNamespace, module.toggle.state)
;
}
else {
if( module.allows('hover') ) {
$module
.on('mouseenter' + eventNamespace, module.hover.enable)
.on('mouseleave' + eventNamespace, module.hover.disable)
.on('mouseenter' + eventNamespace, module.enable.hover)
.on('mouseleave' + eventNamespace, module.disable.hover)
;
}
if( module.allows('pressed') ) {
if( module.allows('down') ) {
$module
.on('mousedown' + eventNamespace, module.pressed.enable)
.on('mouseup' + eventNamespace, module.pressed.disable)
.on('mousedown' + eventNamespace, module.enable.down)
.on('mouseup' + eventNamespace, module.disable.down)
;
}
if( module.allows('focus') ) {
$module
.on('focus' + eventNamespace, module.focus.enable)
.on('blur' + eventNamespace, module.focus.disable)
.on('focus' + eventNamespace, module.enable.focus)
.on('blur' + eventNamespace, module.disable.focus)
;
}
$module
.on('mouseenter' + eventNamespace, module.text.change)
.on('mouseleave' + eventNamespace, module.text.reset)
.on('click' + eventNamespace, module.toggle)
.on('mouseenter' + eventNamespace, module.change.text)
.on('mouseleave' + eventNamespace, module.reset.text)
.on('click' + eventNamespace, module.toggle.state)
;
}
module.instantiate();
@ -220,71 +221,69 @@ $.fn.state = function(parameters) {
return states[state] || false;
},
enable: function(state) {
if(module.allows(state)) {
$module.addClass( className[state] );
}
},
disable: function(state) {
if(module.allows(state)) {
$module.removeClass( className[state] );
}
},
textFor: function(state) {
return text[state] || false;
},
focus : {
enable: function() {
enable: {
state: function(state) {
if(module.allows(state)) {
$module.addClass( className[state] );
}
},
// convenience
focus: function() {
$module.addClass(className.focus);
},
disable: function() {
$module.removeClass(className.focus);
}
hover: function() {
$module.addClass(className.hover);
},
down: function() {
$module.addClass(className.down);
},
},
hover : {
enable: function() {
$module.addClass(className.hover);
disable: {
state: function(state) {
if(module.allows(state)) {
$module.removeClass( className[state] );
}
},
// convenience
focus: function() {
$module.removeClass(className.focus);
},
disable: function() {
hover: function() {
$module.removeClass(className.hover);
}
},
down: function() {
$module.removeClass(className.down);
},
},
pressed : {
enable: function() {
$module
.addClass(className.pressed)
.one('mouseleave', module.pressed.disable)
toggle: {
state: function() {
var
apiRequest = $module.data(metadata.promise)
;
},
disable: function() {
$module.removeClass(className.pressed);
if( module.allows('active') && module.is.enabled() ) {
module.refresh();
if(apiRequest !== undefined) {
module.listenTo(apiRequest);
}
else {
module.change.state();
}
}
}
},
// determines method for state activation
toggle: function() {
var
apiRequest = $module.data(metadata.promise)
;
if( module.allows('active') && module.is.enabled() ) {
module.refresh();
if(apiRequest !== undefined) {
module.listenTo(apiRequest);
}
else {
module.change();
}
}
textFor: function(state) {
return text[state] || false;
},
listenTo: function(apiRequest) {
module.debug('API request detected, waiting for state signal', apiRequest);
if(apiRequest) {
if(text.loading) {
module.text.update(text.loading);
module.update.text(text.loading);
}
$.when(apiRequest)
.then(function() {
@ -298,7 +297,7 @@ $.fn.state = function(parameters) {
settings.activateTest = function(){ return false; };
settings.deactivateTest = function(){ return false; };
}
module.change();
module.change.state();
})
;
}
@ -310,19 +309,48 @@ $.fn.state = function(parameters) {
},
// checks whether active/inactive state can be given
change: function() {
module.debug('Determining state change direction');
// inactive to active change
if( module.is.inactive() ) {
module.activate();
}
else {
module.deactivate();
}
if(settings.sync) {
module.sync();
change: {
state: function() {
module.debug('Determining state change direction');
// inactive to active change
if( module.is.inactive() ) {
module.activate();
}
else {
module.deactivate();
}
if(settings.sync) {
module.sync();
}
$.proxy(settings.onChange, element)();
},
text: function() {
if( module.is.textEnabled() ) {
if( module.is.active() ) {
if(text.hover) {
module.verbose('Changing text to hover text', text.hover);
module.update.text(text.hover);
}
else if(text.disable) {
module.verbose('Changing text to disable text', text.disable);
module.update.text(text.disable);
}
}
else {
if(text.hover) {
module.verbose('Changing text to hover text', text.disable);
module.update.text(text.hover);
}
else if(text.enable){
module.verbose('Changing text to enable text', text.enable);
module.update.text(text.enable);
}
}
}
}
$.proxy(settings.onChange, element)();
},
activate: function() {
@ -331,7 +359,7 @@ $.fn.state = function(parameters) {
$module
.addClass(className.active)
;
module.text.update(text.active);
module.update.text(text.active);
}
$.proxy(settings.onActivate, element)();
},
@ -342,7 +370,7 @@ $.fn.state = function(parameters) {
$module
.removeClass(className.active)
;
module.text.update(text.inactive);
module.update.text(text.inactive);
}
$.proxy(settings.onDeactivate, element)();
},
@ -362,56 +390,33 @@ $.fn.state = function(parameters) {
}
},
text: {
// finds text node to update
get: function() {
get: {
text: function() {
return (settings.selector.text)
? $module.find(settings.selector.text).text()
: $module.html()
;
},
}
},
flash: function(text, duration) {
flash: {
text: function(text, duration) {
var
previousText = module.text.get()
previousText = module.get.text()
;
module.debug('Flashing text message', text, duration);
text = text || settings.text.flash;
duration = duration || settings.flashDuration;
module.text.update(text);
module.update.text(text);
setTimeout(function(){
module.text.update(previousText);
module.update.text(previousText);
}, duration);
},
change: function() {
if( module.is.textEnabled() ) {
if( module.is.active() ) {
if(text.hover) {
module.verbose('Changing text to hover text', text.hover);
module.text.update(text.hover);
}
else if(text.disable) {
module.verbose('Changing text to disable text', text.disable);
module.text.update(text.disable);
}
}
else {
if(text.hover) {
module.verbose('Changing text to hover text', text.disable);
module.text.update(text.hover);
}
else if(text.enable){
module.verbose('Changing text to enable text', text.enable);
module.text.update(text.enable);
}
}
}
},
}
},
reset: {
// on mouseout sets text to previous value
reset : function() {
text: function() {
var
activeText = text.active || $module.data(metadata.storedText),
inactiveText = text.inactive || $module.data(metadata.storedText)
@ -419,18 +424,20 @@ $.fn.state = function(parameters) {
if( module.is.textEnabled() ) {
if( module.is.active() && activeText) {
module.verbose('Resetting active text', activeText);
module.text.update(activeText);
module.update.text(activeText);
}
else if(inactiveText) {
module.verbose('Resetting inactive text', activeText);
module.text.update(inactiveText);
module.update.text(inactiveText);
}
}
},
}
},
update: function(text) {
update: {
text: function(text) {
var
currentText = module.text.get()
currentText = module.get.text()
;
if(text && text !== currentText) {
module.debug('Updating text', text);
@ -453,6 +460,7 @@ $.fn.state = function(parameters) {
}
}
},
setting: function(name, value) {
module.debug('Changing setting', name, value);
if(value !== undefined) {
@ -513,7 +521,7 @@ $.fn.state = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -531,7 +539,8 @@ $.fn.state = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -598,6 +607,7 @@ $.fn.state = function(parameters) {
})
;
return (invokedResponse)
? invokedResponse
: this
@ -662,7 +672,7 @@ $.fn.state.settings = {
className: {
focus : 'focus',
hover : 'hover',
pressed : 'down',
down : 'down',
active : 'active',
loading : 'loading'
},
@ -676,14 +686,14 @@ $.fn.state.settings = {
input: {
hover : true,
focus : true,
pressed : true,
down : true,
loading : false,
active : false
},
button: {
hover : true,
focus : false,
pressed : true,
down : true,
active : false,
loading : true
}
@ -692,7 +702,7 @@ $.fn.state.settings = {
states : {
hover : true,
focus : true,
pressed : true,
down : true,
loading : false,
active : false
},

2
node/src/files/components/semantic/modules/carousel.js

@ -197,7 +197,7 @@ $.fn.carousel = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({

38
node/src/files/components/semantic/modules/chat.js

@ -18,8 +18,10 @@
.each(function() {
var
$module = $(this),
$expandButton = $module.find(settings.selector.expandButton),
$userListButton = $module.find(settings.selector.userListButton),
$userList = $module.find(settings.selector.userList),
$room = $module.find(settings.selector.room),
$userCount = $module.find(settings.selector.userCount),
@ -37,6 +39,8 @@
html = '',
users = {},
channel,
loggedInUser,
message,
@ -50,7 +54,6 @@
module = {
channel: false,
width: {
log : $log.width(),
userList : $userList.outerWidth()
@ -75,33 +78,18 @@
pusher = new Pusher(key);
Pusher.channel_auth_endpoint = settings.endpoint.authentication;
module.channel = pusher.subscribe(channelName);
channel = pusher.subscribe(channelName);
module.channel.bind('pusher:subscription_succeeded', module.user.list.create);
module.channel.bind('pusher:subscription_error', module.error);
module.channel.bind('pusher:member_added', module.user.joined);
module.channel.bind('pusher:member_removed', module.user.left);
module.channel.bind('update_messages', module.message.receive);
channel.bind('pusher:subscription_succeeded', module.user.list.create);
channel.bind('pusher:subscription_error', module.error);
channel.bind('pusher:member_added', module.user.joined);
channel.bind('pusher:member_removed', module.user.left);
channel.bind('update_messages', module.message.receive);
$.each(settings.customEvents, function(label, value) {
module.channel.bind(label, value);
channel.bind(label, value);
});
// expandable with states
if( $.fn.hoverClass !== undefined && $.fn.downClass !== undefined ) {
$expandButton
.hoverClass()
.downClass()
;
$userListButton
.hoverClass()
.downClass()
;
$messageButton
.hoverClass()
.downClass()
;
}
// bind module events
$userListButton
.on('click.' + namespace, module.event.toggleUserList)
@ -153,7 +141,7 @@
if(settings.userCount) {
users = $module.data('users');
count = 0;
$.each(users, function(index) {
$.each(users, function() {
count++;
});
$userCount

5
node/src/files/components/semantic/modules/checkbox.js

@ -193,7 +193,7 @@ $.fn.checkbox = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -211,7 +211,8 @@ $.fn.checkbox = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});

27
node/src/files/components/semantic/modules/dimmer.css

@ -24,11 +24,16 @@
background-color: rgba(0, 0, 0, 0.85);
opacity: 0;
line-height: 1;
-webkit-animation-fill-mode: forwards;
-moz-animation-fill-mode: forwards;
-o-animation-fill-mode: forwards;
-ms-animation-fill-mode: forwards;
animation-fill-mode: forwards;
-webkit-animation-fill-mode: both;
-moz-animation-fill-mode: both;
-o-animation-fill-mode: both;
-ms-animation-fill-mode: both;
animation-fill-mode: both;
-webkit-animation-duration: 0.5s;
-moz-animation-duration: 0.5s;
-o-animation-duration: 0.5s;
-ms-animation-duration: 0.5s;
animation-duration: 0.5s;
-webkit-transition: background-color 0.5s linear;
-moz-transition: background-color 0.5s linear;
-o-transition: background-color 0.5s linear;
@ -168,9 +173,9 @@ body.ui.dimmable.dimmed > :not(.dimmer) {
.ui.dimmer.show {
width: 100%;
height: 100%;
-webkit-animation: dimmer-show 0.5s;
-moz-animation: dimmer-show 0.5s;
animation: dimmer-show 0.5s;
-webkit-animation-name: dimmer-show;
-moz-animation-name: dimmer-show;
animation-name: dimmer-show;
}
@-webkit-keyframes dimmer-show {
0% {
@ -197,9 +202,9 @@ body.ui.dimmable.dimmed > :not(.dimmer) {
}
}
.ui.dimmer.hide {
-webkit-animation: dimmer-hide 0.5s;
-moz-animation: dimmer-hide 0.5s;
animation: dimmer-hide 0.5s;
-webkit-animation-name: dimmer-hide;
-moz-animation-name: dimmer-hide;
animation-name: dimmer-hide;
}
@-webkit-keyframes dimmer-hide {
0% {

51
node/src/files/components/semantic/modules/dimmer.js

@ -17,8 +17,13 @@ $.fn.dimmer = function(parameters) {
? $.extend(true, {}, $.fn.dimmer.settings, parameters)
: $.fn.dimmer.settings,
eventNamespace = '.' + settings.namespace,
moduleNamespace = 'module-' + settings.namespace,
selector = settings.selector,
namespace = settings.namespace,
className = settings.className,
error = settings.error,
eventNamespace = '.' + namespace,
moduleNamespace = 'module-' + namespace,
moduleSelector = $allModules.selector || '',
time = new Date().getTime(),
@ -28,10 +33,6 @@ $.fn.dimmer = function(parameters) {
methodInvoked = (typeof query == 'string'),
queryArguments = [].slice.call(arguments, 1),
selector = settings.selector,
namespace = settings.namespace,
className = settings.className,
error = settings.error,
invokedResponse
;
@ -42,8 +43,6 @@ $.fn.dimmer = function(parameters) {
$module = $(this),
$dimmer = $module.children(selector.dimmer).first(),
animationEnd = 'animationend msAnimationEnd oAnimationEnd webkitAnimationEnd',
element = this,
instance = $dimmer.data(moduleNamespace),
module
@ -111,7 +110,6 @@ $.fn.dimmer = function(parameters) {
click: function(event) {
module.verbose('Determining if event occured on dimmer', event);
console.log(event.target, selector.content, $(event.target).is(selector.content));
if( $dimmer.find(event.target).size() === 0 || $(event.target).is(selector.content) ) {
module.hide();
}
@ -125,7 +123,7 @@ $.fn.dimmer = function(parameters) {
if(settings.animation.show == 'css') {
module.verbose('Showing dimmer animation with css');
$dimmer
.one(animationEnd, function() {
.one(module.get.animationEndEvent(), function() {
module.set.active();
$dimmer.removeClass(className.show);
})
@ -153,7 +151,7 @@ $.fn.dimmer = function(parameters) {
if(settings.animation.hide == 'css') {
module.verbose('Hiding dimmer with css');
$dimmer
.one(animationEnd, function(){
.one(module.get.animationEndEvent(), function(){
module.remove.active();
$dimmer.removeClass(className.hide);
})
@ -176,6 +174,28 @@ $.fn.dimmer = function(parameters) {
}
},
get: {
animationEndEvent: function() {
var
element = document.createElement('element'),
animations = {
'animation' : 'animationend',
'OAnimation' : 'oAnimationEnd',
'MozAnimation' : 'animationend',
'WebkitAnimation' : 'webkitAnimationEnd'
},
animation
;
for(animation in animations){
if( element.style[animation] !== undefined ){
return animations[animation];
}
}
}
},
has: {
dimmer: function() {
return ( $module.children(selector.dimmer).size() > 0 );
@ -329,7 +349,7 @@ $.fn.dimmer = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -347,7 +367,8 @@ $.fn.dimmer = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -430,8 +451,8 @@ $.fn.dimmer.settings = {
performance : true,
animation : {
show: 'fade',
hide: 'fade'
show: 'css',
hide: 'css'
},
on : false,

40
node/src/files/components/semantic/modules/dropdown.js

@ -17,14 +17,21 @@ $.fn.dropdown = function(parameters) {
settings = ( $.isPlainObject(parameters) )
? $.extend(true, {}, $.fn.dropdown.settings, parameters)
: $.fn.dropdown.settings,
eventNamespace = '.' + settings.namespace,
moduleNamespace = 'module-' + settings.namespace,
className = settings.className,
metadata = settings.metadata,
namespace = settings.namespace,
animation = settings.animation,
selector = settings.selector,
errors = settings.errors,
eventNamespace = '.' + namespace,
moduleNamespace = 'module-' + namespace,
moduleSelector = $allModules.selector || '',
time = new Date().getTime(),
performance = [],
query = arguments[0],
methodInvoked = (typeof query == 'string'),
queryArguments = [].slice.call(arguments, 1),
@ -35,22 +42,15 @@ $.fn.dropdown = function(parameters) {
.each(function() {
var
$module = $(this),
$menu = $(this).find(settings.selector.menu),
$item = $(this).find(settings.selector.item),
$text = $(this).find(settings.selector.text),
$input = $(this).find(settings.selector.input),
$menu = $(this).find(selector.menu),
$item = $(this).find(selector.item),
$text = $(this).find(selector.text),
$input = $(this).find(selector.input),
isTouchDevice = ('ontouchstart' in document.documentElement),
element = this,
instance = $module.data(moduleNamespace),
className = settings.className,
metadata = settings.metadata,
namespace = settings.namespace,
animation = settings.animation,
errors = settings.errors,
module
;
@ -404,7 +404,7 @@ $.fn.dropdown = function(parameters) {
module.verbose('Finding other dropdowns to hide');
$allModules
.not($module)
.has(settings.selector.menu + ':visible')
.has(selector.menu + ':visible')
.dropdown('hide')
;
},
@ -477,7 +477,7 @@ $.fn.dropdown = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -495,7 +495,8 @@ $.fn.dropdown = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -561,6 +562,7 @@ $.fn.dropdown = function(parameters) {
}
})
;
return (invokedResponse)
? invokedResponse
: this

3
node/src/files/components/semantic/modules/modal.js

@ -322,7 +322,8 @@
})
;
// chain or return queried method
return (invokedResponse !== undefined)
return (invokedResponse)
? invokedResponse
: this
;

30
node/src/files/components/semantic/modules/nag.js

@ -13,8 +13,13 @@ $.fn.nag = function(parameters) {
$allModules = $(this),
settings = $.extend(true, {}, $.fn.nag.settings, parameters),
eventNamespace = '.' + settings.namespace,
moduleNamespace = settings.namespace + '-module',
className = settings.className,
selector = settings.selector,
error = settings.errors,
namespace = settings.namespace,
eventNamespace = '.' + namespace,
moduleNamespace = namespace + '-module',
moduleSelector = $allModules.selector || '',
time = new Date().getTime(),
@ -30,16 +35,13 @@ $.fn.nag = function(parameters) {
var
$module = $(this),
$close = $module.find(settings.selector.close),
$close = $module.find(selector.close),
$context = $(settings.context),
element = this,
instance = $module.data(moduleNamespace),
className = settings.className,
errors = settings.errors,
moduleOffset,
moduleHeight,
@ -258,7 +260,7 @@ $.fn.nag = function(parameters) {
$.cookie(key, value);
}
else {
module.error(errors.noStorage);
module.error(error.noStorage);
}
},
get: function(key) {
@ -271,7 +273,7 @@ $.fn.nag = function(parameters) {
return $.cookie(key);
}
else {
module.error(errors.noStorage);
module.error(error.noStorage);
}
}
@ -352,7 +354,7 @@ $.fn.nag = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -370,7 +372,8 @@ $.fn.nag = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -412,7 +415,7 @@ $.fn.nag = function(parameters) {
found = instance[value];
return true;
}
module.error(errors.method);
module.error(error.method);
return false;
});
}
@ -484,8 +487,9 @@ $.fn.nag.settings = {
// context for scroll event
context : window,
errors: {
noStorage : 'Neither $.cookie or store is defined. A storage solution is required for storing state'
error: {
noStorage : 'Neither $.cookie or store is defined. A storage solution is required for storing state',
method : 'The method you called is not defined.'
},
className : {

5
node/src/files/components/semantic/modules/popup.js

@ -527,7 +527,7 @@ $.fn.popup = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -545,7 +545,8 @@ $.fn.popup = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});

42
node/src/files/components/semantic/modules/search.js

@ -14,8 +14,14 @@ $.fn.search = function(source, parameters) {
$allModules = $(this),
settings = $.extend(true, {}, $.fn.search.settings, parameters),
eventNamespace = '.' + settings.namespace,
moduleNamespace = settings.namespace + '-module',
className = settings.className,
selector = settings.selector,
errors = settings.errors,
namespace = settings.namespace,
eventNamespace = '.' + namespace,
moduleNamespace = namespace + '-module',
moduleSelector = $allModules.selector || '',
time = new Date().getTime(),
@ -30,17 +36,15 @@ $.fn.search = function(source, parameters) {
.each(function() {
var
$module = $(this),
$prompt = $module.find(settings.selector.prompt),
$searchButton = $module.find(settings.selector.searchButton),
$results = $module.find(settings.selector.results),
$result = $module.find(settings.selector.result),
$category = $module.find(settings.selector.category),
$prompt = $module.find(selector.prompt),
$searchButton = $module.find(selector.searchButton),
$results = $module.find(selector.results),
$result = $module.find(selector.result),
$category = $module.find(selector.category),
element = this,
instance = $module.data(moduleNamespace),
className = settings.className,
errors = settings.errors,
module
;
module = {
@ -70,12 +74,13 @@ $.fn.search = function(source, parameters) {
.on('click' + eventNamespace, module.search.query)
;
$results
.on('click' + eventNamespace, settings.selector.result, module.results.select)
.on('click' + eventNamespace, selector.result, module.results.select)
;
module.instantiate();
},
instantiate: function() {
module.verbose('Storing instance of module', module);
instance = module;
$module
.data(moduleNamespace, module)
;
@ -104,8 +109,8 @@ $.fn.search = function(source, parameters) {
handleKeyboard: function(event) {
var
// force latest jq dom
$result = $module.find(settings.selector.result),
$category = $module.find(settings.selector.category),
$result = $module.find(selector.result),
$category = $module.find(selector.category),
keyCode = event.which,
keys = {
backspace : 8,
@ -121,6 +126,7 @@ $.fn.search = function(source, parameters) {
;
// search shortcuts
if(keyCode == keys.escape) {
module.verbose('Escape key pressed, blurring search field');
$prompt
.trigger('blur')
;
@ -128,6 +134,7 @@ $.fn.search = function(source, parameters) {
// result shortcuts
if($results.filter(':visible').size() > 0) {
if(keyCode == keys.enter) {
module.verbose('Enter key pressed, selecting active result');
if( $result.filter('.' + activeClass).exists() ) {
$.proxy(module.results.select, $result.filter('.' + activeClass) )();
event.preventDefault();
@ -135,6 +142,7 @@ $.fn.search = function(source, parameters) {
}
}
else if(keyCode == keys.upArrow) {
module.verbose('Up key pressed, changing active result');
newIndex = (currentIndex - 1 < 0)
? currentIndex
: currentIndex - 1
@ -152,6 +160,7 @@ $.fn.search = function(source, parameters) {
event.preventDefault();
}
else if(keyCode == keys.downArrow) {
module.verbose('Down key pressed, changing active result');
newIndex = (currentIndex + 1 >= resultSize)
? currentIndex
: currentIndex + 1
@ -172,6 +181,7 @@ $.fn.search = function(source, parameters) {
else {
// query shortcuts
if(keyCode == keys.enter) {
module.verbose('Enter key pressed, executing query');
module.search.query();
$searchButton
.addClass(className.down)
@ -452,7 +462,7 @@ $.fn.search = function(source, parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -470,7 +480,8 @@ $.fn.search = function(source, parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -537,6 +548,7 @@ $.fn.search = function(source, parameters) {
})
;
return (invokedResponse)
? invokedResponse
: this

220
node/src/files/components/semantic/modules/shape.js

@ -13,12 +13,18 @@ $.fn.shape = function(parameters) {
var
$allModules = $(this),
moduleSelector = $allModules.selector || '',
settings = $.extend(true, {}, $.fn.shape.settings, parameters),
// internal aliases
namespace = settings.namespace,
selector = settings.selector,
error = settings.error,
className = settings.className,
// define namespaces for modules
eventNamespace = '.' + settings.namespace,
moduleNamespace = 'module-' + settings.namespace,
moduleSelector = $allModules.selector || '',
eventNamespace = '.' + namespace,
moduleNamespace = 'module-' + namespace,
time = new Date().getTime(),
performance = [],
@ -34,8 +40,8 @@ $.fn.shape = function(parameters) {
var
// selector cache
$module = $(this),
$sides = $module.find(settings.selector.sides),
$side = $module.find(settings.selector.side),
$sides = $module.find(selector.sides),
$side = $module.find(selector.side),
// private variables
$activeSide,
@ -44,12 +50,6 @@ $.fn.shape = function(parameters) {
// standard module
element = this,
instance = $module.data(moduleNamespace),
// internal aliases
namespace = settings.namespace,
error = settings.error,
className = settings.className,
module
;
@ -58,6 +58,10 @@ $.fn.shape = function(parameters) {
initialize: function() {
module.verbose('Initializing module for', element);
module.set.defaultSide();
},
instantiate: function() {
module.verbose('Storing instance of module', module);
instance = module;
$module
.data(moduleNamespace, instance)
@ -75,8 +79,8 @@ $.fn.shape = function(parameters) {
refresh: function() {
module.verbose('Refreshing selector cache for', element);
$module = $(element);
$sides = $(this).find(settings.selector.shape);
$side = $(this).find(settings.selector.side);
$sides = $(this).find(selector.shape);
$side = $(this).find(selector.side);
},
repaint: function() {
@ -178,15 +182,85 @@ $.fn.shape = function(parameters) {
},
is: {
animating: function() {
return $module.hasClass(className.animating);
}
},
get: {
transform: {
up: function() {
var
translate = {
y: -(($activeSide.outerHeight() - $nextSide.outerHeight()) / 2),
z: -($activeSide.outerHeight() / 2)
}
;
return {
transform: 'translateY(' + translate.y + 'px) translateZ('+ translate.z + 'px) rotateX(-90deg)'
};
},
down: function() {
var
translate = {
y: -(($activeSide.outerHeight() - $nextSide.outerHeight()) / 2),
z: -($activeSide.outerHeight() / 2)
}
;
return {
transform: 'translateY(' + translate.y + 'px) translateZ('+ translate.z + 'px) rotateX(90deg)'
};
},
left: function() {
var
translate = {
x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2),
z : -($activeSide.outerWidth() / 2)
}
;
return {
transform: 'translateX(' + translate.x + 'px) translateZ(' + translate.z + 'px) rotateY(90deg)'
};
},
right: function() {
var
translate = {
x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2),
z : -($activeSide.outerWidth() / 2)
}
;
return {
transform: 'translateX(' + translate.x + 'px) translateZ(' + translate.z + 'px) rotateY(-90deg)'
};
},
over: function() {
var
translate = {
x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2)
}
;
return {
transform: 'translateX(' + translate.x + 'px) rotateY(180deg)'
};
},
back: function() {
var
translate = {
x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2)
}
;
return {
transform: 'translateX(' + translate.x + 'px) rotateY(-180deg)'
};
}
},
transitionEvent: function() {
var
element = document.createElement('element'),
@ -206,9 +280,9 @@ $.fn.shape = function(parameters) {
},
nextSide: function() {
return ( $activeSide.next(settings.selector.side).size() > 0 )
? $activeSide.next(settings.selector.side)
: $module.find(settings.selector.side).first()
return ( $activeSide.next(selector.side).size() > 0 )
? $activeSide.next(selector.side)
: $module.find(selector.side).first()
;
}
@ -218,9 +292,9 @@ $.fn.shape = function(parameters) {
defaultSide: function() {
$activeSide = $module.find('.' + settings.className.active);
$nextSide = ( $activeSide.next(settings.selector.side).size() > 0 )
? $activeSide.next(settings.selector.side)
: $module.find(settings.selector.side).first()
$nextSide = ( $activeSide.next(selector.side).size() > 0 )
? $activeSide.next(selector.side)
: $module.find(selector.side).first()
;
module.verbose('Active side set to', $activeSide);
module.verbose('Next side set to', $nextSide);
@ -269,10 +343,10 @@ $.fn.shape = function(parameters) {
module.debug('Flipping up', $nextSide);
if( !module.is.animating() ) {
module.stage.above();
module.animate( module.getTransform.up() );
module.animate( module.get.transform.up() );
}
else {
module.queue('flip.up');
module.queue('flip up');
}
},
@ -280,10 +354,10 @@ $.fn.shape = function(parameters) {
module.debug('Flipping down', $nextSide);
if( !module.is.animating() ) {
module.stage.below();
module.animate( module.getTransform.down() );
module.animate( module.get.transform.down() );
}
else {
module.queue('flip.down');
module.queue('flip down');
}
},
@ -291,10 +365,10 @@ $.fn.shape = function(parameters) {
module.debug('Flipping left', $nextSide);
if( !module.is.animating() ) {
module.stage.left();
module.animate(module.getTransform.left() );
module.animate(module.get.transform.left() );
}
else {
module.queue('flip.left');
module.queue('flip left');
}
},
@ -302,10 +376,10 @@ $.fn.shape = function(parameters) {
module.debug('Flipping right', $nextSide);
if( !module.is.animating() ) {
module.stage.right();
module.animate(module.getTransform.right() );
module.animate(module.get.transform.right() );
}
else {
module.queue('flip.right');
module.queue('flip right');
}
},
@ -313,10 +387,10 @@ $.fn.shape = function(parameters) {
module.debug('Flipping over', $nextSide);
if( !module.is.animating() ) {
module.stage.behind();
module.animate(module.getTransform.over() );
module.animate(module.get.transform.over() );
}
else {
module.queue('flip.over');
module.queue('flip over');
}
},
@ -324,89 +398,15 @@ $.fn.shape = function(parameters) {
module.debug('Flipping back', $nextSide);
if( !module.is.animating() ) {
module.stage.behind();
module.animate(module.getTransform.back() );
module.animate(module.get.transform.back() );
}
else {
module.queue('flip.back');
module.queue('flip back');
}
}
},
getTransform: {
up: function() {
var
translate = {
y: -(($activeSide.outerHeight() - $nextSide.outerHeight()) / 2),
z: -($activeSide.outerHeight() / 2)
}
;
return {
transform: 'translateY(' + translate.y + 'px) translateZ('+ translate.z + 'px) rotateX(-90deg)'
};
},
down: function() {
var
translate = {
y: -(($activeSide.outerHeight() - $nextSide.outerHeight()) / 2),
z: -($activeSide.outerHeight() / 2)
}
;
return {
transform: 'translateY(' + translate.y + 'px) translateZ('+ translate.z + 'px) rotateX(90deg)'
};
},
left: function() {
var
translate = {
x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2),
z : -($activeSide.outerWidth() / 2)
}
;
return {
transform: 'translateX(' + translate.x + 'px) translateZ(' + translate.z + 'px) rotateY(90deg)'
};
},
right: function() {
var
translate = {
x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2),
z : -($activeSide.outerWidth() / 2)
}
;
return {
transform: 'translateX(' + translate.x + 'px) translateZ(' + translate.z + 'px) rotateY(-90deg)'
};
},
over: function() {
var
translate = {
x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2)
}
;
return {
transform: 'translateX(' + translate.x + 'px) rotateY(180deg)'
};
},
back: function() {
var
translate = {
x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2)
}
;
return {
transform: 'translateX(' + translate.x + 'px) rotateY(-180deg)'
};
}
},
stage: {
above: function() {
@ -597,7 +597,7 @@ $.fn.shape = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -615,7 +615,8 @@ $.fn.shape = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -683,6 +684,7 @@ $.fn.shape = function(parameters) {
}
})
;
return (invokedResponse)
? invokedResponse
: this

402
node/src/files/components/semantic/modules/star.js

@ -8,173 +8,299 @@
;(function ($, window, document, undefined) {
$.fn.starReview = function(parameters) {
var
settings = $.extend(true, {}, $.fn.starReview.settings, parameters),
// hoist arguments
moduleArguments = arguments || false
;
$(this)
.each(function() {
var
$module = $(this),
$star = $module.find(settings.selector.star),
className = settings.className,
namespace = settings.namespace,
instance = $module.data('module'),
module
;
module = {
$.fn.starReview = function(parameters) {
var
$allModules = $(this),
moduleSelector = $allModules.selector || '',
settings = $.extend(true, {}, $.fn.starReview.settings, parameters),
namespace = settings.namespace,
className = settings.className,
selector = settings.selector,
error = settings.error,
eventNamespace = '.' + namespace,
moduleNamespace = 'module-' + namespace,
time = new Date().getTime(),
performance = [],
query = arguments[0],
methodInvoked = (typeof query == 'string'),
queryArguments = [].slice.call(arguments, 1),
invokedResponse
;
$allModules
.each(function() {
var
$module = $(this),
$star = $module.find(selector.star),
element = this,
instance = $module.data(moduleNamespace),
module
;
settings: settings,
module = {
initialize: function() {
if(settings.rateable) {
// expandable with states
if($.fn.state !== undefined) {
$module
.state()
;
$star
.state()
;
}
initialize: function() {
if(settings.rateable) {
// expandable with states
if($.fn.state !== undefined) {
$module
.state()
;
$star
.bind('mouseenter.' + namespace, module.event.mouseenter)
.bind('mouseleave.' + namespace, module.event.mouseleave)
.bind('click.' + namespace, module.event.click)
.state()
;
}
$module
.addClass(className.initialize)
.data('module', module)
$star
.bind('mouseenter' + eventNamespace, module.event.mouseenter)
.bind('mouseleave' + eventNamespace, module.event.mouseleave)
.bind('click' + eventNamespace, module.event.click)
;
},
}
$module
.addClass(className.initialize)
;
module.instantiate();
},
instantiate: function() {
$module
.data(moduleNamespace, module)
;
},
setRating: function(rating) {
var
$activeStar = $star.eq(rating - 1)
;
$module
.removeClass(className.hover)
;
$star
.removeClass(className.hover)
;
$activeStar
.nextAll()
.removeClass(className.active)
;
$activeStar
.addClass(className.active)
.prevAll()
.addClass(className.active)
;
$.proxy(settings.onRate, $module)();
},
setRating: function(rating) {
event: {
mouseenter: function() {
var
$activeStar = $star.eq(rating - 1)
;
$module
.removeClass(className.hover)
;
$star
.removeClass(className.hover)
$activeStar = $(this)
;
$activeStar
.nextAll()
.removeClass(className.active)
.removeClass(className.hover)
;
$module
.addClass(className.hover)
;
$activeStar
.addClass(className.active)
.addClass(className.hover)
.prevAll()
.addClass(className.active)
;
$.proxy(settings.onRate, $module)();
},
event: {
mouseenter: function() {
var
$activeStar = $(this)
;
$activeStar
.nextAll()
.removeClass(className.hover)
;
$module
.addClass(className.hover)
;
$activeStar
.addClass(className.hover)
.prevAll()
.addClass(className.hover)
;
},
mouseleave: function() {
$star
.removeClass(className.hover)
;
},
click: function() {
var
$activeStar = $(this)
;
module.setRating( $star.index($activeStar) + 1);
}
;
},
// handle error logging
error: function(errorMessage) {
console.warn(settings.moduleName + ': ' + errorMessage);
mouseleave: function() {
$star
.removeClass(className.hover)
;
},
// allows for dot notation method calls
invoke: function(methodName, context, methodArguments) {
click: function() {
var
$activeStar = $(this)
;
module.setRating( $star.index($activeStar) + 1);
}
},
setting: function(name, value) {
if(value !== undefined) {
if( $.isPlainObject(name) ) {
$.extend(true, settings, name);
}
else {
settings[name] = value;
}
}
else {
return settings[name];
}
},
internal: function(name, value) {
if(value !== undefined) {
if( $.isPlainObject(name) ) {
$.extend(true, module, name);
}
else {
module[name] = value;
}
}
else {
return module[name];
}
},
debug: function() {
if(settings.debug) {
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.debug = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
}
}
},
verbose: function() {
if(settings.verbose && settings.debug) {
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
}
}
},
error: function() {
module.error = Function.prototype.bind.call(console.error, console, settings.moduleName + ':');
},
performance: {
log: function(message) {
var
method
currentTime,
executionTime,
previousTime
;
methodArguments = methodArguments || Array.prototype.slice.call( arguments, 2 );
if(typeof methodName == 'string' && instance !== undefined) {
methodName = methodName.split('.');
$.each(methodName, function(index, name) {
if( $.isPlainObject( instance[name] ) ) {
instance = instance[name];
return true;
}
else if( $.isFunction( instance[name] ) ) {
method = instance[name];
return true;
}
module.error(settings.errors.method);
return false;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
'Element' : element,
'Name' : message[0],
'Arguments' : [].slice.call(message, 1) || '',
'Execution Time' : executionTime
});
}
return ( $.isFunction( method ) )
? method.apply(context, methodArguments)
: false
clearTimeout(module.performance.timer);
module.performance.timer = setTimeout(module.performance.display, 100);
},
display: function() {
var
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
title += ' ' + totalTime + 'ms';
if(moduleSelector) {
title += ' \'' + moduleSelector + '\'';
}
if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
console.groupCollapsed(title);
if(console.table) {
console.table(performance);
}
else {
$.each(performance, function(index, data) {
console.log(data['Name'] + ': ' + data['Execution Time']+'ms');
});
}
console.groupEnd();
}
performance = [];
}
};
if(instance !== undefined && moduleArguments) {
// simpler than invoke realizing to invoke itself (and losing scope due prototype.call()
if(moduleArguments[0] == 'invoke') {
moduleArguments = Array.prototype.slice.call( moduleArguments, 1 );
},
invoke: function(query, passedArguments, context) {
var
searchInstance = instance,
maxDepth,
found
;
passedArguments = passedArguments || queryArguments;
context = element || context;
if(typeof query == 'string' && searchInstance !== undefined) {
query = query.split(/[\. ]/);
maxDepth = query.length - 1;
$.each(query, function(depth, value) {
if( $.isPlainObject( searchInstance[value] ) && (depth != maxDepth) ) {
searchInstance = searchInstance[value];
return true;
}
else if( searchInstance[value] !== undefined ) {
found = searchInstance[value];
return true;
}
module.error(error.method);
return false;
});
}
if ( $.isFunction( found ) ) {
return found.apply(context, passedArguments);
}
return module.invoke(moduleArguments[0], this, Array.prototype.slice.call( moduleArguments, 1 ) );
return found || false;
}
};
if(methodInvoked) {
if(instance === undefined) {
module.initialize();
}
invokedResponse = module.invoke(query);
}
else {
if(instance !== undefined) {
module.destroy();
}
// initializing
module.initialize();
})
;
}
})
;
return this;
};
return (invokedResponse)
? invokedResponse
: this
;
};
$.fn.starReview.settings = {
moduleName : 'Star',
namespace : 'star',
rateable : true,
onRate : function(){},
className : {
initialize : 'initialize',
loading : 'loading',
active : 'active',
hover : 'hover',
down : 'down'
},
$.fn.starReview.settings = {
moduleName : 'Star',
namespace : 'star',
rateable : true,
onRate : function(){},
error: {
method : 'The method you called is not defined'
},
className : {
initialize : 'initialize',
loading : 'loading',
active : 'active',
hover : 'hover',
down : 'down'
},
selector : {
star : 'i'
}
selector : {
star : 'i'
}
};
};
})( jQuery, window , document );

21
node/src/files/components/semantic/modules/tab.js

@ -15,6 +15,8 @@
$module = $(this),
$tabs = $(settings.context).find(settings.selector.tabs),
moduleSelector = $module.selector || '',
cache = {},
firstLoad = true,
@ -27,14 +29,13 @@
element = this,
time = new Date().getTime(),
performance = [],
moduleSelector = $module.selector || '',
eventNamespace = '.' + settings.namespace,
moduleNamespace = settings.namespace + '-module',
className = settings.className,
metadata = settings.metadata,
errors = settings.errors,
eventNamespace = '.' + settings.namespace,
moduleNamespace = settings.namespace + '-module',
instance = $module.data(moduleNamespace),
@ -80,6 +81,11 @@
.on('click' + eventNamespace, module.event.click)
;
}
module.instantiate();
},
instantiate: function () {
module.verbose('Storing instance of module', module);
$module
.data(moduleNamespace, module)
;
@ -477,7 +483,7 @@
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -495,7 +501,8 @@
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -561,7 +568,7 @@
module.initialize();
}
return (invokedResponse !== undefined)
return (invokedResponse)
? invokedResponse
: this
;

19
node/src/files/components/semantic/modules/transition.js

@ -12,20 +12,24 @@
$.fn.transition = function(parameters) {
var
$allModules = $(this),
moduleSelector = $allModules.selector || '',
settings = $.extend(true, {}, $.fn.transition.settings, parameters),
// define namespaces for modules
eventNamespace = '.' + settings.namespace,
moduleNamespace = 'module-' + settings.namespace,
moduleSelector = $allModules.selector || '',
time = new Date().getTime(),
performance = [],
query = arguments[0],
methodInvoked = (typeof query == 'string'),
queryArguments = [].slice.call(arguments, 1),
error = settings.error,
namespace = settings.namespace,
// define namespaces for modules
eventNamespace = '.' + namespace,
moduleNamespace = 'module-' + namespace,
invokedResponse
;
@ -218,7 +222,7 @@ $.fn.transition = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -236,7 +240,8 @@ $.fn.transition = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});

41
node/src/files/components/semantic/modules/video.js

@ -21,33 +21,33 @@ $.fn.video = function(parameters) {
: $.fn.video.settings,
moduleSelector = $allModules.selector || '',
time = new Date().getTime(),
performance = [],
query = arguments[0],
methodInvoked = (typeof query == 'string'),
queryArguments = [].slice.call(arguments, 1),
selector = settings.selector,
className = settings.className,
error = settings.error,
metadata = settings.metadata,
namespace = settings.namespace,
eventNamespace = '.' + namespace,
moduleNamespace = namespace + '-module',
invokedResponse
;
$(this)
$allModules
.each(function() {
var
$module = $(this),
$placeholder = $module.find(settings.selector.placeholder),
$playButton = $module.find(settings.selector.playButton),
$embed = $module.find(settings.selector.embed),
eventNamespace = '.' + settings.namespace,
moduleNamespace = settings.namespace + '-module',
selector = settings.selector,
className = settings.className,
error = settings.error,
metadata = settings.metadata,
namespace = settings.namespace,
$module = $(this),
$placeholder = $module.find(selector.placeholder),
$playButton = $module.find(selector.playButton),
$embed = $module.find(selector.embed),
element = this,
instance = $module.data(moduleNamespace),
@ -68,6 +68,7 @@ $.fn.video = function(parameters) {
},
instantiate: function() {
module.verbose('Storing instance of module', module);
instance = module;
$module
.data(moduleNamespace, module)
@ -282,7 +283,7 @@ $.fn.video = function(parameters) {
;
if(settings.performance) {
currentTime = new Date().getTime();
previousTime = time || currentTime,
previousTime = time || currentTime;
executionTime = currentTime - previousTime;
time = currentTime;
performance.push({
@ -300,7 +301,8 @@ $.fn.video = function(parameters) {
title = settings.moduleName + ':',
totalTime = 0
;
time = false;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function(index, data) {
totalTime += data['Execution Time'];
});
@ -366,7 +368,6 @@ $.fn.video = function(parameters) {
}
})
;
return (invokedResponse)
? invokedResponse
: this

1
src/modules/accordion.js

@ -333,7 +333,6 @@ $.fn.accordion = function(parameters) {
}
})
;
module.performance.display();
return (invokedResponse)
? invokedResponse
: this

2
src/modules/behavior/api.js

@ -522,7 +522,7 @@
}
module.initialize();
}
module.performance.display();
return (invokedResponse)
? invokedResponse
: this

2
src/modules/behavior/form.js

@ -490,7 +490,7 @@ $.fn.form = function(fields, parameters) {
})
;
module.performance.display();
return (invokedResponse)
? invokedResponse
: this

2
src/modules/behavior/state.js

@ -607,7 +607,7 @@ $.fn.state = function(parameters) {
})
;
module.performance.display();
return (invokedResponse)
? invokedResponse
: this

2
src/modules/dropdown.js

@ -562,7 +562,7 @@ $.fn.dropdown = function(parameters) {
}
})
;
module.performance.display();
return (invokedResponse)
? invokedResponse
: this

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save