Re: [Wonder-disc] ERJQuery

2013-05-10 Thread Johnny Miller
Cool.  Thanks Ken.

I tried out some stuff last night.

Basically I formatted the HTML for the AjaxUpdateContainer to be something like 
this:

div data-wonder-id=AUC data-wonder-options = {'someKey': 
'someValue'}.../div

Then I create an on load statement:

$(window).load(function() {

$('[data-wonder-id]').each(function(index, element) {

element = $(element);
var type = element.attr('data-wonder-id');
eval(type).initialize(element);

});

});

Then in the AjaxUpdateContainer javascript object I added a method called 
initialize:

initialize: function(element) {
var options = jQuery.parseJSON(element.attr('data-wonder-options'));
if(options.hasOwnProperty('minTimeout')) {
AUC.registerPeriodic(
element,
options.hasOwnProperty('canStop') ? options.canStop : null,
options.hasOwnProperty('stopped') ? options.stopped : null,
options
);
} else {
AUC.register(element.attr('id'), options);
}
},

In the event that the AUC is created as part of an Ajax Request I add a little 
javascript during appendToResponse:

scriptAUC.initialize($(#e_0_15_3_3_1));/script

So my thinking is that all the components that need to be initialized when the 
page gets loaded just need to implement initialize.  I guess I should create 
two options objects one for initialization options and one for ajax options?

Anyway for anyone is interested, I updated my example here: 
http://www.kahalawai.com/JQuery

best,

Johnny



On May 9, 2013, at 4:36 PM, Ken Anderson kenli...@anderhome.com wrote:

 I think this is awesome!  I'm definitely planning on using JQuery within the 
 next few months, and will happily contribute once I get to that point.
 
 Ken
 
 On May 9, 2013, at 6:19 PM, Johnny Miller jlmil...@kahalawai.com wrote:
 
 Hi Pascal,
 
 I started working on a JQuery framework and I'm up to one component!
 
 You can see it here: http://www.kahalawai.com/JQuery
 
 I'm pretty busy but I think I could make one component a day.  I was 
 wondering what people thought about a couple of questions I have:
 
 1. Should I use data attributes?  One thing I would like to do is not 
 pollute the HTML with JavaScript code.  Now with my first example (the 
 periodical updater) I'm not sure if that's possible i.e. When the page loads 
 I can find the ajax update containers but what about an ajax update 
 container that is returned from an ajax request?  But for a lot of the other 
 components like ajax update link I could just register a trigger using the 
 data attributes.
 
 2. Should I tie the framework to a look like JQueryUI or Bootstrap?  Some of 
 the components like date pickers and modal containers need a default 
 styling.  
 
 Do you think I should keep on keeping on or has somebody already developed a 
 framework they are about to release or is there a new better idea?
 
 Aloha,
 Mr. Johnny Miller
 Web Development Manager
 Kahalawai Media Company
 Lahaina, HI 96761
 tel: (808) 661-7962 | mobile: (808) 283-0791
 website | e-mail 
 
 On Apr 6, 2013, at 1:41 PM, Larry Mills-Gahl elem...@gmail.com wrote:
 
 There was some talk about directing some new development effort toward 
 jQuery in Wonder.
 I've been working on some bits in this framework and am coming to realize 
 that there are some organizational issues that could go a couple of 
 different directions and I was wondering if there are any forks out there 
 that are working on this that I might pull from and contribute to.
 
 Among the questions that might benefit from some planning are about 
 multiple frameworks and dependencies. Specifically, the ERJQueryMobile 
 framework has jQuery javascript resources and so does the ERJQuery 
 framework (and potentially ERJQueryUI if we decide to separate jQuery from 
 jQuery-UI … which is probably a good idea. Since mobile and UI both depend 
 on jQuery, would it make sense to load those from ERJQuery and update the 
 version handling so that one could load whatever version of jQuery you 
 need. 
 Essentially, making some loader classes in ERJQuery able to load the right 
 version from local resources or a CDN depending on the need. 
 
 Anyway… there are a few design decisions that will affect how the 
 framework(s) interact and I wanted to know who else out there had done work 
 on this that I might contribute to.
 
 Thanks.
 
 
 Larry Mills-Gahl
 elem...@gmail.com
 
 
 
 
 
 
 --
 Minimize network downtime and maximize team effectiveness.
 Reduce network management and security costs.Learn how to hire 
 the most talented Cisco Certified professionals. Visit the 
 Employer Resources Portal
 http://www.cisco.com/web/learning/employer_resources/index.html___
 Wonder-disc mailing list
 wonder-d...@lists.sourceforge.net
 

Re: [Wonder-disc] ERJQuery

2013-05-10 Thread David LeBer
Some suggestions:

Use something like:

$j = JQuery.noConflict(); 

So there is absolutely no problem with mixing JQ and other libs.

You can also replace $(window).load(function(){... etc with $j(function(){...

I'd suggest namespacing your stuff:

var WOjax = WOjax || {};
WOjax.AUC = {...

Don't use eval (it's eval), use: WOjax[type].initialize(element); instead.

Instead of appending inline js to initialize after an update, consider using 
the success handler on the jQuery ajax update. 

Ultimately you could do something like (sorry this is not complete, do not try 
to copy and paste it won't work, for example purposes only, yada yada yada):

WOjax.AUC.delegates = {}

$j.ajax({
url: url,
//type: type,
async: isAsync,
//data: data,
//beforeSend: function (jqXHR, settings){}, //TODO
success: function(responseData, textStatus, jqXH) {
if (isUpdate) {
$target.html(responseData);
} else {
$target.replaceWith(responseData);
}
if (WOjax.AUC.delegates [options.delegate] !== 
WOjax.AUC.delegates   Delegates[options.delegate].success !== undefined) {
WOjax.AUC.delegates [options.delegate].success($caller, 
$target, self.handleFinish);
} else {
self.handleFinish($caller, $target);
}
},
error: function(jqXHR, textStatus, errorThrown) {
options.errorThrown = errorThrown;
options.textStatus = textStatus;
if (WOjax.AUC.delegates[options.delegate] !== undefined  
WOjax.AUC.delegates[options.delegate].error !== undefined) {
WOjax.AUC.delegates[options.delegate].error($caller, 
$target, self.handleFinish);
} else {
self.handleFinish($caller, $target);
}
}
});
},
handleFinish: function(caller, target) {
var self = WOjax.AUC;
$caller = $j(caller),
$target = $j(target),
options = $caller.data('wo');

if (WOjax.AUC.delegates[options.delegate] !== undefined  
WOjax.AUC.delegates[options.delegate].finished !== undefined) {
WOjax.AUC.delegates[options.delegate].finished($caller, $target, 
self.handleCompletion);
} else {
self.handleCompletion($caller, $target);
}
},
handleCompletion: function(_item, _uc) {
console.log(WOjax update complete);
// handle container init here?
}

So when something updates, users can specify the name of a delegate in their 
options, and then create the delegate in WOjax.AUC.delegates that implements 
'success' or 'finished' or 'before'.

The delegate gets called with the caller, the target element and a call back to 
finish the process.

// Demo Delegate
WOjax.AUC.delegates.testDelegate = {
before: function (caller, container, callback) {
container.slideUp('slow', function () { callback(caller, container) });
},
success: function (caller, container, callback) {
container.slideDown('slow', function () {
container.effect(highlight, {}, 1000);
callback(caller, container);
});
},
finish: function (caller, container, callback) {
callback(caller, container);
}
};

Sorry if this is sloppy or makes little sense. Typed into email. It's been a 
while since I looked at it. It's great someone is looking at implementing this, 
I'm just hoping this feedback helps so the foundation is solid and primed for 
growth ;)

D

--
David LeBer
Codeferous Software

On 2013-05-10, at 4:47 PM, Johnny Miller jlmil...@kahalawai.com wrote:

 Cool.  Thanks Ken.
 
 I tried out some stuff last night.
 
 Basically I formatted the HTML for the AjaxUpdateContainer to be something 
 like this:
 
 div data-wonder-id=AUC data-wonder-options = {'someKey': 
 'someValue'}.../div
 
 Then I create an on load statement:
 
 $(window).load(function() {
 
 $('[data-wonder-id]').each(function(index, element) {
 
 element = $(element);
 var type = element.attr('data-wonder-id');
 eval(type).initialize(element);
 
 });
 
 });
 
 Then in the AjaxUpdateContainer javascript object I added a method called 
 initialize:
 
 initialize: function(element) {
 var options = jQuery.parseJSON(element.attr('data-wonder-options'));
 if(options.hasOwnProperty('minTimeout')) {
 AUC.registerPeriodic(
 element,
 options.hasOwnProperty('canStop') ? options.canStop : null,
 options.hasOwnProperty('stopped') ? options.stopped : null,
 options
 );
 } else {
 AUC.register(element.attr('id'), options);
 }
 },
 
 In the event that the AUC is created as part 

Re: [Wonder-disc] ERJQuery

2013-05-10 Thread Johnny Miller
Hi David,

Thanks a lot that is really good input.  I really like the idea of using 
delegation and definitely creating the no conflict variable and the self 
invoked function for the on load event is a must.

It would be cool to create a set of prefabricated delegates (like your example) 
- that has all the effects from the original ajax framework.

My guess is some delegates could be abstract enough to work on different 
objects and then we could have the delegate objects extend a master delegate.

Have a nice weekend,

Johnny

On May 10, 2013, at 12:18 PM, David LeBer dleber_wo...@codeferous.com wrote:

 Some suggestions:
 
 Use something like:
 
 $j = JQuery.noConflict(); 
 
 So there is absolutely no problem with mixing JQ and other libs.
 
 You can also replace $(window).load(function(){... etc with $j(function(){...
 
 I'd suggest namespacing your stuff:
 
 var WOjax = WOjax || {};
 WOjax.AUC = {...
 
 Don't use eval (it's eval), use: WOjax[type].initialize(element); instead.
 
 Instead of appending inline js to initialize after an update, consider using 
 the success handler on the jQuery ajax update. 
 
 Ultimately you could do something like (sorry this is not complete, do not 
 try to copy and paste it won't work, for example purposes only, yada yada 
 yada):
 
   WOjax.AUC.delegates = {}
 
$j.ajax({
url: url,
//type: type,
async: isAsync,
//data: data,
//beforeSend: function (jqXHR, settings){}, //TODO
success: function(responseData, textStatus, jqXH) {
if (isUpdate) {
$target.html(responseData);
} else {
$target.replaceWith(responseData);
}
if (WOjax.AUC.delegates [options.delegate] !== 
 WOjax.AUC.delegates   Delegates[options.delegate].success !== undefined) {
WOjax.AUC.delegates [options.delegate].success($caller, 
 $target, self.handleFinish);
} else {
self.handleFinish($caller, $target);
}
},
error: function(jqXHR, textStatus, errorThrown) {
options.errorThrown = errorThrown;
options.textStatus = textStatus;
if (WOjax.AUC.delegates[options.delegate] !== undefined  
 WOjax.AUC.delegates[options.delegate].error !== undefined) {
WOjax.AUC.delegates[options.delegate].error($caller, 
 $target, self.handleFinish);
} else {
self.handleFinish($caller, $target);
}
}
});
},
handleFinish: function(caller, target) {
var self = WOjax.AUC;
$caller = $j(caller),
$target = $j(target),
options = $caller.data('wo');
 
if (WOjax.AUC.delegates[options.delegate] !== undefined  
 WOjax.AUC.delegates[options.delegate].finished !== undefined) {
WOjax.AUC.delegates[options.delegate].finished($caller, $target, 
 self.handleCompletion);
} else {
self.handleCompletion($caller, $target);
}
},
handleCompletion: function(_item, _uc) {
console.log(WOjax update complete);
   // handle container init here?
}
 
 So when something updates, users can specify the name of a delegate in their 
 options, and then create the delegate in WOjax.AUC.delegates that implements 
 'success' or 'finished' or 'before'.
 
 The delegate gets called with the caller, the target element and a call back 
 to finish the process.
 
 // Demo Delegate
 WOjax.AUC.delegates.testDelegate = {
before: function (caller, container, callback) {
container.slideUp('slow', function () { callback(caller, container) });
},
   success: function (caller, container, callback) {
container.slideDown('slow', function () {
container.effect(highlight, {}, 1000);
callback(caller, container);
});
   },
   finish: function (caller, container, callback) {
   callback(caller, container);
   }
 };
 
 Sorry if this is sloppy or makes little sense. Typed into email. It's been a 
 while since I looked at it. It's great someone is looking at implementing 
 this, I'm just hoping this feedback helps so the foundation is solid and 
 primed for growth ;)
 
 D
 
 --
 David LeBer
 Codeferous Software
 
 On 2013-05-10, at 4:47 PM, Johnny Miller jlmil...@kahalawai.com wrote:
 
 Cool.  Thanks Ken.
 
 I tried out some stuff last night.
 
 Basically I formatted the HTML for the AjaxUpdateContainer to be something 
 like this:
 
 div data-wonder-id=AUC data-wonder-options = {'someKey': 
 'someValue'}.../div
 
 Then I create an on load statement:
 
 $(window).load(function() {
 
$('[data-wonder-id]').each(function(index, element) {
 
element = $(element);
var type = element.attr('data-wonder-id');
eval(type).initialize(element);
 
});
 
 

Re: [Wonder-disc] ERJQuery

2013-05-10 Thread Johnny Miller
Hi David,

Question about $caller - do you mean the xhr?

And the same for target do you mean the element that is being updated?

Thanks

On May 10, 2013, at 12:18 PM, David LeBer dleber_wo...@codeferous.com wrote:

 Some suggestions:
 
 Use something like:
 
 $j = JQuery.noConflict(); 
 
 So there is absolutely no problem with mixing JQ and other libs.
 
 You can also replace $(window).load(function(){... etc with $j(function(){...
 
 I'd suggest namespacing your stuff:
 
 var WOjax = WOjax || {};
 WOjax.AUC = {...
 
 Don't use eval (it's eval), use: WOjax[type].initialize(element); instead.
 
 Instead of appending inline js to initialize after an update, consider using 
 the success handler on the jQuery ajax update. 
 
 Ultimately you could do something like (sorry this is not complete, do not 
 try to copy and paste it won't work, for example purposes only, yada yada 
 yada):
 
   WOjax.AUC.delegates = {}
 
$j.ajax({
url: url,
//type: type,
async: isAsync,
//data: data,
//beforeSend: function (jqXHR, settings){}, //TODO
success: function(responseData, textStatus, jqXH) {
if (isUpdate) {
$target.html(responseData);
} else {
$target.replaceWith(responseData);
}
if (WOjax.AUC.delegates [options.delegate] !== 
 WOjax.AUC.delegates   Delegates[options.delegate].success !== undefined) {
WOjax.AUC.delegates [options.delegate].success($caller, 
 $target, self.handleFinish);
} else {
self.handleFinish($caller, $target);
}
},
error: function(jqXHR, textStatus, errorThrown) {
options.errorThrown = errorThrown;
options.textStatus = textStatus;
if (WOjax.AUC.delegates[options.delegate] !== undefined  
 WOjax.AUC.delegates[options.delegate].error !== undefined) {
WOjax.AUC.delegates[options.delegate].error($caller, 
 $target, self.handleFinish);
} else {
self.handleFinish($caller, $target);
}
}
});
},
handleFinish: function(caller, target) {
var self = WOjax.AUC;
$caller = $j(caller),
$target = $j(target),
options = $caller.data('wo');
 
if (WOjax.AUC.delegates[options.delegate] !== undefined  
 WOjax.AUC.delegates[options.delegate].finished !== undefined) {
WOjax.AUC.delegates[options.delegate].finished($caller, $target, 
 self.handleCompletion);
} else {
self.handleCompletion($caller, $target);
}
},
handleCompletion: function(_item, _uc) {
console.log(WOjax update complete);
   // handle container init here?
}
 
 So when something updates, users can specify the name of a delegate in their 
 options, and then create the delegate in WOjax.AUC.delegates that implements 
 'success' or 'finished' or 'before'.
 
 The delegate gets called with the caller, the target element and a call back 
 to finish the process.
 
 // Demo Delegate
 WOjax.AUC.delegates.testDelegate = {
before: function (caller, container, callback) {
container.slideUp('slow', function () { callback(caller, container) });
},
   success: function (caller, container, callback) {
container.slideDown('slow', function () {
container.effect(highlight, {}, 1000);
callback(caller, container);
});
   },
   finish: function (caller, container, callback) {
   callback(caller, container);
   }
 };
 
 Sorry if this is sloppy or makes little sense. Typed into email. It's been a 
 while since I looked at it. It's great someone is looking at implementing 
 this, I'm just hoping this feedback helps so the foundation is solid and 
 primed for growth ;)
 
 D
 
 --
 David LeBer
 Codeferous Software
 
 On 2013-05-10, at 4:47 PM, Johnny Miller jlmil...@kahalawai.com wrote:
 
 Cool.  Thanks Ken.
 
 I tried out some stuff last night.
 
 Basically I formatted the HTML for the AjaxUpdateContainer to be something 
 like this:
 
 div data-wonder-id=AUC data-wonder-options = {'someKey': 
 'someValue'}.../div
 
 Then I create an on load statement:
 
 $(window).load(function() {
 
$('[data-wonder-id]').each(function(index, element) {
 
element = $(element);
var type = element.attr('data-wonder-id');
eval(type).initialize(element);
 
});
 
 });
 
 Then in the AjaxUpdateContainer javascript object I added a method called 
 initialize:
 
initialize: function(element) {
var options = jQuery.parseJSON(element.attr('data-wonder-options'));
if(options.hasOwnProperty('minTimeout')) {
AUC.registerPeriodic(
element,
options.hasOwnProperty('canStop') ? options.canStop : null,

Re: [Wonder-disc] ERJQuery

2013-05-09 Thread Johnny Miller
Hi Pascal,

I started working on a JQuery framework and I'm up to one component!

You can see it here: http://www.kahalawai.com/JQuery

I'm pretty busy but I think I could make one component a day.  I was wondering 
what people thought about a couple of questions I have:

1. Should I use data attributes?  One thing I would like to do is not pollute 
the HTML with JavaScript code.  Now with my first example (the periodical 
updater) I'm not sure if that's possible i.e. When the page loads I can find 
the ajax update containers but what about an ajax update container that is 
returned from an ajax request?  But for a lot of the other components like ajax 
update link I could just register a trigger using the data attributes.

2. Should I tie the framework to a look like JQueryUI or Bootstrap?  Some of 
the components like date pickers and modal containers need a default styling.  

Do you think I should keep on keeping on or has somebody already developed a 
framework they are about to release or is there a new better idea?

Aloha,
Mr. Johnny Miller
Web Development Manager
Kahalawai Media Company
Lahaina, HI 96761
tel: (808) 661-7962 | mobile: (808) 283-0791
website | e-mail

On Apr 6, 2013, at 1:41 PM, Larry Mills-Gahl elem...@gmail.com wrote:

 There was some talk about directing some new development effort toward jQuery 
 in Wonder.
 I've been working on some bits in this framework and am coming to realize 
 that there are some organizational issues that could go a couple of different 
 directions and I was wondering if there are any forks out there that are 
 working on this that I might pull from and contribute to.
 
 Among the questions that might benefit from some planning are about multiple 
 frameworks and dependencies. Specifically, the ERJQueryMobile framework has 
 jQuery javascript resources and so does the ERJQuery framework (and 
 potentially ERJQueryUI if we decide to separate jQuery from jQuery-UI … which 
 is probably a good idea. Since mobile and UI both depend on jQuery, would it 
 make sense to load those from ERJQuery and update the version handling so 
 that one could load whatever version of jQuery you need. 
 Essentially, making some loader classes in ERJQuery able to load the right 
 version from local resources or a CDN depending on the need. 
 
 Anyway… there are a few design decisions that will affect how the 
 framework(s) interact and I wanted to know who else out there had done work 
 on this that I might contribute to.
 
 Thanks.
 
 
 Larry Mills-Gahl
 elem...@gmail.com
 
 
 
 
 
 
 --
 Minimize network downtime and maximize team effectiveness.
 Reduce network management and security costs.Learn how to hire 
 the most talented Cisco Certified professionals. Visit the 
 Employer Resources Portal
 http://www.cisco.com/web/learning/employer_resources/index.html___
 Wonder-disc mailing list
 wonder-d...@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wonder-disc

 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: [Wonder-disc] ERJQuery

2013-05-09 Thread David LeBer
Yes definitely use the data attributes.

Basically what I've been experimenting with is to have an init() method that is 
called on page load. It scans the dom looking for elements of AjaxJQ class, 
reads the component type from one data attribute and inits it with params from 
another data attribute.

If the init is called with no parameters it scans (inits) the entire dom. If 
it is called with an id it restricts it self to scanning that id. So when you 
are finished updating a specific area, you call init(theAreaID) to init any 
bits that have changed. This is built in to each component that modifies the 
dom.

There are libraries that will look for changes in the dom and allow you to 
respond accordingly, but they all have performance issues when the dom gets 
big. Handling it manually and targeting the areas that you know have changed is 
a little more fragile (i.e: you could forget to scan something after a change) 
but less likely to degrade as your dom gets more complicated, and easier to 
understand (i.e: less magic).

I've also begun playing with a standard set of delegate methods that are called 
at specific points (before update, after update, etc) so you can expand the 
behaviour as you need to.

This means that all of your js can live in the head, and all of the params are 
supplied in the data attributes, and you have no js cluttering your html.

D

--
David LeBer
Codeferous Software

On 2013-05-09, at 6:19 PM, Johnny Miller jlmil...@kahalawai.com wrote:

 Hi Pascal,
 
 I started working on a JQuery framework and I'm up to one component!
 
 You can see it here: http://www.kahalawai.com/JQuery
 
 I'm pretty busy but I think I could make one component a day.  I was 
 wondering what people thought about a couple of questions I have:
 
 1. Should I use data attributes?  One thing I would like to do is not pollute 
 the HTML with JavaScript code.  Now with my first example (the periodical 
 updater) I'm not sure if that's possible i.e. When the page loads I can find 
 the ajax update containers but what about an ajax update container that is 
 returned from an ajax request?  But for a lot of the other components like 
 ajax update link I could just register a trigger using the data attributes.
 
 2. Should I tie the framework to a look like JQueryUI or Bootstrap?  Some of 
 the components like date pickers and modal containers need a default styling. 
  
 
 Do you think I should keep on keeping on or has somebody already developed a 
 framework they are about to release or is there a new better idea?
 
 Aloha,
 Mr. Johnny Miller
 Web Development Manager
 Kahalawai Media Company
 Lahaina, HI 96761
 tel: (808) 661-7962 | mobile: (808) 283-0791
 website | e-mail  
 
 On Apr 6, 2013, at 1:41 PM, Larry Mills-Gahl elem...@gmail.com wrote:
 
 There was some talk about directing some new development effort toward 
 jQuery in Wonder.
 I've been working on some bits in this framework and am coming to realize 
 that there are some organizational issues that could go a couple of 
 different directions and I was wondering if there are any forks out there 
 that are working on this that I might pull from and contribute to.
 
 Among the questions that might benefit from some planning are about multiple 
 frameworks and dependencies. Specifically, the ERJQueryMobile framework has 
 jQuery javascript resources and so does the ERJQuery framework (and 
 potentially ERJQueryUI if we decide to separate jQuery from jQuery-UI … 
 which is probably a good idea. Since mobile and UI both depend on jQuery, 
 would it make sense to load those from ERJQuery and update the version 
 handling so that one could load whatever version of jQuery you need. 
 Essentially, making some loader classes in ERJQuery able to load the right 
 version from local resources or a CDN depending on the need. 
 
 Anyway… there are a few design decisions that will affect how the 
 framework(s) interact and I wanted to know who else out there had done work 
 on this that I might contribute to.
 
 Thanks.
 
 
 Larry Mills-Gahl
 elem...@gmail.com
 
 
 
 
 
 
 --
 Minimize network downtime and maximize team effectiveness.
 Reduce network management and security costs.Learn how to hire 
 the most talented Cisco Certified professionals. Visit the 
 Employer Resources Portal
 http://www.cisco.com/web/learning/employer_resources/index.html___
 Wonder-disc mailing list
 wonder-d...@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wonder-disc
 
 ___
 Do not post admin requests to the list. They will be ignored.
 Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
 Help/Unsubscribe/Update your Subscription:
 https://lists.apple.com/mailman/options/webobjects-dev/dleber_wodev%40codeferous.com
 
 This email sent to dleber_wo...@codeferous.com


 

Re: [Wonder-disc] ERJQuery

2013-05-09 Thread Johnny Miller
Hi David,

On May 9, 2013, at 1:45 PM, David LeBer dleber_wo...@codeferous.com wrote:

 Yes definitely use the data attributes.

OK.

 Basically what I've been experimenting with is to have an init() method that 
 is called on page load. It scans the dom looking for elements of AjaxJQ 
 class, reads the component type from one data attribute and inits it with 
 params from another data attribute.

That's a cool idea.  You have a factory method that initializes the object.  
Have you thought about using a selector like: [data*] then you could avoid 
adding the AjaxJQ css class.  Maybe create a namespace like [data-wjq*] in case 
there are other libraries loaded on the page.

 If the init is called with no parameters it scans (inits) the entire dom. 
 If it is called with an id it restricts it self to scanning that id. So when 
 you are finished updating a specific area, you call init(theAreaID) to init 
 any bits that have changed. This is built in to each component that modifies 
 the dom.

Got it.  I guess you could determine in the appendToResponse phase if it's an 
ajax request and if so include a message to register the object?  Otherwise if 
it's in the original response it gets initialized after the page loads?

 There are libraries that will look for changes in the dom and allow you to 
 respond accordingly, but they all have performance issues when the dom gets 
 big. Handling it manually and targeting the areas that you know have changed 
 is a little more fragile (i.e: you could forget to scan something after a 
 change) but less likely to degrade as your dom gets more complicated, and 
 easier to understand (i.e: less magic).

With MooTools they have behavior and delegators objects.  Delegator work like 
the 'on' function in jQuery.  I'll look closer into how the behaviors work.

 I've also begun playing with a standard set of delegate methods that are 
 called at specific points (before update, after update, etc) so you can 
 expand the behaviour as you need to.
 
 This means that all of your js can live in the head, and all of the params 
 are supplied in the data attributes, and you have no js cluttering your html.

Sounds great.  Thanks for the advice.

 D
 
 --
 David LeBer
 Codeferous Software
 
 On 2013-05-09, at 6:19 PM, Johnny Miller jlmil...@kahalawai.com wrote:
 
 Hi Pascal,
 
 I started working on a JQuery framework and I'm up to one component!
 
 You can see it here: http://www.kahalawai.com/JQuery
 
 I'm pretty busy but I think I could make one component a day.  I was 
 wondering what people thought about a couple of questions I have:
 
 1. Should I use data attributes?  One thing I would like to do is not 
 pollute the HTML with JavaScript code.  Now with my first example (the 
 periodical updater) I'm not sure if that's possible i.e. When the page loads 
 I can find the ajax update containers but what about an ajax update 
 container that is returned from an ajax request?  But for a lot of the other 
 components like ajax update link I could just register a trigger using the 
 data attributes.
 
 2. Should I tie the framework to a look like JQueryUI or Bootstrap?  Some of 
 the components like date pickers and modal containers need a default 
 styling.  
 
 Do you think I should keep on keeping on or has somebody already developed a 
 framework they are about to release or is there a new better idea?
 
 Aloha,
 Mr. Johnny Miller
 Web Development Manager
 Kahalawai Media Company
 Lahaina, HI 96761
 tel: (808) 661-7962 | mobile: (808) 283-0791
 website | e-mail 
 
 On Apr 6, 2013, at 1:41 PM, Larry Mills-Gahl elem...@gmail.com wrote:
 
 There was some talk about directing some new development effort toward 
 jQuery in Wonder.
 I've been working on some bits in this framework and am coming to realize 
 that there are some organizational issues that could go a couple of 
 different directions and I was wondering if there are any forks out there 
 that are working on this that I might pull from and contribute to.
 
 Among the questions that might benefit from some planning are about 
 multiple frameworks and dependencies. Specifically, the ERJQueryMobile 
 framework has jQuery javascript resources and so does the ERJQuery 
 framework (and potentially ERJQueryUI if we decide to separate jQuery from 
 jQuery-UI … which is probably a good idea. Since mobile and UI both depend 
 on jQuery, would it make sense to load those from ERJQuery and update the 
 version handling so that one could load whatever version of jQuery you 
 need. 
 Essentially, making some loader classes in ERJQuery able to load the right 
 version from local resources or a CDN depending on the need. 
 
 Anyway… there are a few design decisions that will affect how the 
 framework(s) interact and I wanted to know who else out there had done work 
 on this that I might contribute to.
 
 Thanks.
 
 
 Larry Mills-Gahl
 elem...@gmail.com
 
 
 
 
 
 
 

Re: [Wonder-disc] ERJQuery

2013-05-09 Thread Ken Anderson
I think this is awesome!  I'm definitely planning on using JQuery within the 
next few months, and will happily contribute once I get to that point.

Ken

On May 9, 2013, at 6:19 PM, Johnny Miller jlmil...@kahalawai.com wrote:

 Hi Pascal,
 
 I started working on a JQuery framework and I'm up to one component!
 
 You can see it here: http://www.kahalawai.com/JQuery
 
 I'm pretty busy but I think I could make one component a day.  I was 
 wondering what people thought about a couple of questions I have:
 
 1. Should I use data attributes?  One thing I would like to do is not pollute 
 the HTML with JavaScript code.  Now with my first example (the periodical 
 updater) I'm not sure if that's possible i.e. When the page loads I can find 
 the ajax update containers but what about an ajax update container that is 
 returned from an ajax request?  But for a lot of the other components like 
 ajax update link I could just register a trigger using the data attributes.
 
 2. Should I tie the framework to a look like JQueryUI or Bootstrap?  Some of 
 the components like date pickers and modal containers need a default styling. 
  
 
 Do you think I should keep on keeping on or has somebody already developed a 
 framework they are about to release or is there a new better idea?
 
 Aloha,
 Mr. Johnny Miller
 Web Development Manager
 Kahalawai Media Company
 Lahaina, HI 96761
 tel: (808) 661-7962 | mobile: (808) 283-0791
 website | e-mail  
 
 On Apr 6, 2013, at 1:41 PM, Larry Mills-Gahl elem...@gmail.com wrote:
 
 There was some talk about directing some new development effort toward 
 jQuery in Wonder.
 I've been working on some bits in this framework and am coming to realize 
 that there are some organizational issues that could go a couple of 
 different directions and I was wondering if there are any forks out there 
 that are working on this that I might pull from and contribute to.
 
 Among the questions that might benefit from some planning are about multiple 
 frameworks and dependencies. Specifically, the ERJQueryMobile framework has 
 jQuery javascript resources and so does the ERJQuery framework (and 
 potentially ERJQueryUI if we decide to separate jQuery from jQuery-UI … 
 which is probably a good idea. Since mobile and UI both depend on jQuery, 
 would it make sense to load those from ERJQuery and update the version 
 handling so that one could load whatever version of jQuery you need. 
 Essentially, making some loader classes in ERJQuery able to load the right 
 version from local resources or a CDN depending on the need. 
 
 Anyway… there are a few design decisions that will affect how the 
 framework(s) interact and I wanted to know who else out there had done work 
 on this that I might contribute to.
 
 Thanks.
 
 
 Larry Mills-Gahl
 elem...@gmail.com
 
 
 
 
 
 
 --
 Minimize network downtime and maximize team effectiveness.
 Reduce network management and security costs.Learn how to hire 
 the most talented Cisco Certified professionals. Visit the 
 Employer Resources Portal
 http://www.cisco.com/web/learning/employer_resources/index.html___
 Wonder-disc mailing list
 wonder-d...@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wonder-disc
 
 ___
 Do not post admin requests to the list. They will be ignored.
 Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
 Help/Unsubscribe/Update your Subscription:
 https://lists.apple.com/mailman/options/webobjects-dev/kenlists%40anderhome.com
 
 This email sent to kenli...@anderhome.com

 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com