You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by an...@apache.org on 2007/11/12 08:57:30 UTC
svn commit: r594039 - in
/tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/skeleton: ./
core.js
Author: andyhot
Date: Sun Nov 11 23:57:29 2007
New Revision: 594039
URL: http://svn.apache.org/viewvc?rev=594039&view=rev
Log:
The skeleton tapestry javascript file that does nothing! But it does contain all (i hope) functions that tapestry-framework and tapestry-contrib use and is a good starting point for introducing several js frameworks. Application using this should not present any javascript errors - they'd just behave as if javascript was disabled.
Added:
tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/skeleton/
tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/skeleton/core.js
Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/skeleton/core.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/skeleton/core.js?rev=594039&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/skeleton/core.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/skeleton/core.js Sun Nov 11 23:57:29 2007
@@ -0,0 +1,161 @@
+/**
+ * This is a skeleton file. It contains the
+ * javascript objects and methods that tapestry requires.
+ *
+ * It should be used as a reference for building implementations
+ * specific to existing javascript frameworks.
+ */
+
+// the two required objects, dojo and tapestry
+var dojo={
+ // those methods should only be needed for the dojo implementations
+ // others will probably leave those empty
+ registerModulePath: function() {tapestry.log('dojo.registerModulePath', arguments);},
+ require: function() {tapestry.log('dojo.require', arguments);}
+};
+
+var tapestry={
+ // setup firebug logging - useful for finding unimplemented methods
+ log: function() {
+ if (console) console.log.apply(this, arguments);
+ },
+ /**
+ * Executes the passed function when the document has done loading
+ */
+ addOnLoad: function(fn) {
+ tapestry.log('t.addOnLoad');
+ },
+ /**
+ * Returns the dom node with the given id
+ */
+ byId: document.getElementById,
+
+ /**
+ * Makes sure that the given namespace (passed as a string) exists
+ * and is a valid javascript object.
+ */
+ provide: function() {tapestry.log('t.provide', arguments);},
+
+ /**
+ * Connects the event of the given target node to the given function of
+ * the global namespace "tapestry".
+ * Users of this method usually attach custom methods to the tapestry namespace
+ * before calling this.
+ *
+ * Parameters: target, event, funcName
+ */
+ connect: function() {tapestry.log('t.connect', arguments);},
+
+ /**
+ * Disconnects the event of the given target node from the given function of
+ * the global namespace "tapestry"
+ *
+ * Parameters: target, event, funcName
+ */
+ cleanConnect: function() {tapestry.log('t.cleanConnect', arguments);},
+
+ /**
+ * Perform an XHR.
+ * Implementation should set the mime-type to either "text/xml" or
+ * "text/json" and include the request headers described in the comments to the
+ * json parameter.
+ * Implementations are also responsible for handling the responses.
+ *
+ * Parameters:
+ * url - The url to bind the request to.
+ * content - A properties map of optional extra content to send.
+ * json - (Optional) Boolean parameter specifying whether or not to create a
+ * json request. If true, the request headers should include "json":true.
+ * If false or unspecified, they should contain "dojo-ajax-request":true
+ */
+ bind: function(url, content, json){tapestry.log('t.bind', arguments);},
+
+ /**
+ * Helper that builds the content from eventName and (triggered) id and then forwards
+ * execution to tapestry.bind
+ *
+ * @param url
+ * @param id
+ * @param json
+ * @param eventName
+ */
+ linkOnClick: function(url, id, json, eventName) {tapestry.log('t.linkOnClick', arguments);}
+};
+
+tapestry.form = {
+ /**
+ * Submits the specified form.
+ * Should check the value of form.submitmode to find out what type of
+ * submission (cancel, refresh or normal) to do and whether to run client validation.
+ *
+ * Parameters:
+ * form - The form or form id to submit.
+ * submitName - (Optional) Submit name to use when submitting. This is used
+ * to associate a form submission with a particular component.
+ * Implementations will typically just set form.submitname to this value.
+ * parms - (Optional) Extra set of parameters. Implementations can just look for
+ * the async key and if that's set to true, they should perform an async
+ * submission.
+ */
+ submit: function(formId, submitName, parms) {tapestry.log('t.f.submit', arguments);},
+
+ /** Same as submit, but forces cancel submission */
+ cancel: function(formId, submitName, parms) {tapestry.log('t.f.submit', arguments);},
+
+ /** Same as submit, but forces refresh submission */
+ refresh: function(formId, submitName, parms) {tapestry.log('t.f.submit', arguments);},
+
+ /**
+ * Registers a form and allows definition of its properties.
+ * Implementation should keep track of such properties and
+ * use them later on, when the form is submitted.
+ *
+ * Parameters:
+ * id - The form or form id to register.
+ * async - Boolean, if true form submission should be asynchronous.
+ * json - Boolean, if true form submission should be asyncrhronous json.
+ */
+ registerForm: function(formId, async, json) {tapestry.log('t.f.registerForm', arguments);},
+
+ /**
+ * Registers a form validation/translation profile.
+ * TODO: Describe profile structure.
+ *
+ * Parameters:
+ * formId - The form or form id to register profile with.
+ * profile - The object containing all of the validation/value constraints for the form.
+ */
+ registerProfile: function(formId, profile) {tapestry.log('t.f.registerProfile', arguments);},
+
+ /**
+ * Clears any previously registered validation profiles on the specified form.
+ *
+ * Parameters:
+ * formId - The form id to clear profiles for.
+ */
+ clearProfiles: function(formId) {tapestry.log('t.f.clearProfiles', arguments);},
+
+ /**
+ * Brings keyboard input focus to the specified field.
+ */
+ focusField: function(fieldId) {tapestry.log('t.f.focusField', arguments);},
+
+ // TODO: Describe validation methods
+ datetime: {
+ isValidDate: function(date) {tapestry.log('t.f.d.isValidDate', arguments);return true;}
+ },
+
+ validation: {
+ isReal: function() {tapestry.log('t.f.v.isReal', arguments);return true;},
+ greaterThanOrEqual: function() {tapestry.log('t.f.v.greaterThanOrEqual', arguments);return true;},
+ lessThanOrEqual: function() {tapestry.log('t.f.v.lessThanOrEqual', arguments);return true;},
+ isText: function() {tapestry.log('t.f.v.isText', arguments);return true;},
+ isEmailAddress: function() {tapestry.log('t.f.v.isEmailAddress', arguments);return true;},
+ isValidPattern: function() {tapestry.log('t.f.v.isValidPattern', arguments);return true;},
+ validateForm: function() {tapestry.log('t.f.v.validateForm', arguments);return true;}
+ }
+};
+
+tapestry.event = {
+ stopEvent: function() {tapestry.log('t.e.stopEvent', arguments);}
+};
Re: svn commit: r594039 - in /tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/skeleton: ./ core.js
Posted by Andreas Andreou <an...@gmail.com>.
indeed, thx... I'm finishing the java side now, allowing switching
different js implementation,
so i guess you'll be the first to try that as well :)
On Nov 12, 2007 11:19 AM, Davor Hrg <hr...@gmail.com> wrote:
> hi,
> I've noticed this..
>
> log: function() {
> if (console) console.log.apply(this, arguments);
> },
>
> this will cause error on IE and firefox if no firebug
> it's safer to call:
>
> log: function() {
> if (window.console) console.log.apply(this, arguments);
> },
>
>
>
> Davor Hrg
>
>
>
> On Nov 12, 2007 8:57 AM, <an...@apache.org> wrote:
>
> > Author: andyhot
> > Date: Sun Nov 11 23:57:29 2007
> > New Revision: 594039
> >
> > URL: http://svn.apache.org/viewvc?rev=594039&view=rev
> > Log:
> > The skeleton tapestry javascript file that does nothing! But it does
> > contain all (i hope) functions that tapestry-framework and tapestry-contrib
> > use and is a good starting point for introducing several js frameworks.
> > Application using this should not present any javascript errors - they'd
> > just behave as if javascript was disabled.
> >
> > Added:
> > tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/skeleton/
> >
> > tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/skeleton/core.js
> >
> > Added:
> > tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/skeleton/core.js
> > URL:
> > http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/skeleton/core.js?rev=594039&view=auto
> >
> > ==============================================================================
> > ---
> > tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/skeleton/core.js
> > (added)
> > +++
> > tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/skeleton/core.js
> > Sun Nov 11 23:57:29 2007
> > @@ -0,0 +1,161 @@
> > +/**
> > + * This is a skeleton file. It contains the
> > + * javascript objects and methods that tapestry requires.
> > + *
> > + * It should be used as a reference for building implementations
> > + * specific to existing javascript frameworks.
> > + */
> > +
> > +// the two required objects, dojo and tapestry
> > +var dojo={
> > + // those methods should only be needed for the dojo implementations
> > + // others will probably leave those empty
> > + registerModulePath: function() {tapestry.log('dojo.registerModulePath',
> > arguments);},
> > + require: function() {tapestry.log('dojo.require', arguments);}
> > +};
> > +
> > +var tapestry={
> > + // setup firebug logging - useful for finding unimplemented methods
> > + log: function() {
> > + if (console) console.log.apply(this, arguments);
> > + },
> > + /**
> > + * Executes the passed function when the document has done loading
> > + */
> > + addOnLoad: function(fn) {
> > + tapestry.log('t.addOnLoad');
> > + },
> > + /**
> > + * Returns the dom node with the given id
> > + */
> > + byId: document.getElementById,
> > +
> > + /**
> > + * Makes sure that the given namespace (passed as a string) exists
> > + * and is a valid javascript object.
> > + */
> > + provide: function() {tapestry.log('t.provide', arguments);},
> > +
> > + /**
> > + * Connects the event of the given target node to the given function
> > of
> > + * the global namespace "tapestry".
> > + * Users of this method usually attach custom methods to the tapestry
> > namespace
> > + * before calling this.
> > + *
> > + * Parameters: target, event, funcName
> > + */
> > + connect: function() {tapestry.log('t.connect', arguments);},
> > +
> > + /**
> > + * Disconnects the event of the given target node from the given
> > function of
> > + * the global namespace "tapestry"
> > + *
> > + * Parameters: target, event, funcName
> > + */
> > + cleanConnect: function() {tapestry.log('t.cleanConnect',
> > arguments);},
> > +
> > + /**
> > + * Perform an XHR.
> > + * Implementation should set the mime-type to either "text/xml" or
> > + * "text/json" and include the request headers described in the
> > comments to the
> > + * json parameter.
> > + * Implementations are also responsible for handling the responses.
> > + *
> > + * Parameters:
> > + * url - The url to bind the request to.
> > + * content - A properties map of optional extra content to
> > send.
> > + * json - (Optional) Boolean parameter specifying whether or
> > not to create a
> > + * json request. If true, the request headers
> > should include "json":true.
> > + * If false or unspecified, they should contain
> > "dojo-ajax-request":true
> > + */
> > + bind: function(url, content, json){tapestry.log('t.bind',
> > arguments);},
> > +
> > + /**
> > + * Helper that builds the content from eventName and (triggered) id
> > and then forwards
> > + * execution to tapestry.bind
> > + *
> > + * @param url
> > + * @param id
> > + * @param json
> > + * @param eventName
> > + */
> > + linkOnClick: function(url, id, json, eventName) {tapestry.log('
> > t.linkOnClick', arguments);}
> > +};
> > +
> > +tapestry.form = {
> > + /**
> > + * Submits the specified form.
> > + * Should check the value of form.submitmode to find out what type of
> > + * submission (cancel, refresh or normal) to do and whether to run
> > client validation.
> > + *
> > + * Parameters:
> > + * form - The form or form id to submit.
> > + * submitName - (Optional) Submit name to use when
> > submitting. This is used
> > + * to associate a form
> > submission with a particular component.
> > + * Implementations will typically just set
> > form.submitname to this value.
> > + * parms - (Optional) Extra set of
> > parameters. Implementations can just look for
> > + * the async key and if that's set to true, they
> > should perform an async
> > + * submission.
> > + */
> > + submit: function(formId, submitName, parms) {tapestry.log('t.f.submit',
> > arguments);},
> > +
> > + /** Same as submit, but forces cancel submission */
> > + cancel: function(formId, submitName, parms) {tapestry.log('t.f.submit',
> > arguments);},
> > +
> > + /** Same as submit, but forces refresh submission */
> > + refresh: function(formId, submitName, parms) {tapestry.log('
> > t.f.submit', arguments);},
> > +
> > + /**
> > + * Registers a form and allows definition of its properties.
> > + * Implementation should keep track of such properties and
> > + * use them later on, when the form is submitted.
> > + *
> > + * Parameters:
> > + * id - The form or form id to register.
> > + * async - Boolean, if true form submission should be
> > asynchronous.
> > + * json - Boolean, if true form submission should be
> > asyncrhronous json.
> > + */
> > + registerForm: function(formId, async, json) {tapestry.log('
> > t.f.registerForm', arguments);},
> > +
> > + /**
> > + * Registers a form validation/translation profile.
> > + * TODO: Describe profile structure.
> > + *
> > + * Parameters:
> > + * formId - The form or form id to register
> > profile with.
> > + * profile - The object containing all of the
> > validation/value constraints for the form.
> > + */
> > + registerProfile: function(formId, profile) {tapestry.log('
> > t.f.registerProfile', arguments);},
> > +
> > + /**
> > + * Clears any previously registered validation profiles on the
> > specified form.
> > + *
> > + * Parameters:
> > + * formId - The form id to clear profiles for.
> > + */
> > + clearProfiles: function(formId) {tapestry.log('t.f.clearProfiles',
> > arguments);},
> > +
> > + /**
> > + * Brings keyboard input focus to the specified field.
> > + */
> > + focusField: function(fieldId) {tapestry.log('t.f.focusField',
> > arguments);},
> > +
> > + // TODO: Describe validation methods
> > + datetime: {
> > + isValidDate: function(date) {tapestry.log('t.f.d.isValidDate',
> > arguments);return true;}
> > + },
> > +
> > + validation: {
> > + isReal: function() {tapestry.log('t.f.v.isReal',
> > arguments);return true;},
> > + greaterThanOrEqual: function() {tapestry.log('
> > t.f.v.greaterThanOrEqual', arguments);return true;},
> > + lessThanOrEqual: function() {tapestry.log('t.f.v.lessThanOrEqual',
> > arguments);return true;},
> > + isText: function() {tapestry.log('t.f.v.isText',
> > arguments);return true;},
> > + isEmailAddress: function() {tapestry.log('t.f.v.isEmailAddress',
> > arguments);return true;},
> > + isValidPattern: function() {tapestry.log('t.f.v.isValidPattern',
> > arguments);return true;},
> > + validateForm: function() {tapestry.log('t.f.v.validateForm',
> > arguments);return true;}
> > + }
> > +};
> > +
> > +tapestry.event = {
> > + stopEvent: function() {tapestry.log('t.e.stopEvent', arguments);}
> > +};
> >
> >
> >
>
--
Andreas Andreou - andyhot@apache.org - http://blog.andyhot.gr
Tapestry / Tacos developer
Open Source / JEE Consulting
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org
Re: svn commit: r594039 - in /tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/skeleton: ./ core.js
Posted by Davor Hrg <hr...@gmail.com>.
hi,
I've noticed this..
log: function() {
if (console) console.log.apply(this, arguments);
},
this will cause error on IE and firefox if no firebug
it's safer to call:
log: function() {
if (window.console) console.log.apply(this, arguments);
},
Davor Hrg
On Nov 12, 2007 8:57 AM, <an...@apache.org> wrote:
> Author: andyhot
> Date: Sun Nov 11 23:57:29 2007
> New Revision: 594039
>
> URL: http://svn.apache.org/viewvc?rev=594039&view=rev
> Log:
> The skeleton tapestry javascript file that does nothing! But it does
> contain all (i hope) functions that tapestry-framework and tapestry-contrib
> use and is a good starting point for introducing several js frameworks.
> Application using this should not present any javascript errors - they'd
> just behave as if javascript was disabled.
>
> Added:
> tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/skeleton/
>
> tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/skeleton/core.js
>
> Added:
> tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/skeleton/core.js
> URL:
> http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/skeleton/core.js?rev=594039&view=auto
>
> ==============================================================================
> ---
> tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/skeleton/core.js
> (added)
> +++
> tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/skeleton/core.js
> Sun Nov 11 23:57:29 2007
> @@ -0,0 +1,161 @@
> +/**
> + * This is a skeleton file. It contains the
> + * javascript objects and methods that tapestry requires.
> + *
> + * It should be used as a reference for building implementations
> + * specific to existing javascript frameworks.
> + */
> +
> +// the two required objects, dojo and tapestry
> +var dojo={
> + // those methods should only be needed for the dojo implementations
> + // others will probably leave those empty
> + registerModulePath: function() {tapestry.log('dojo.registerModulePath',
> arguments);},
> + require: function() {tapestry.log('dojo.require', arguments);}
> +};
> +
> +var tapestry={
> + // setup firebug logging - useful for finding unimplemented methods
> + log: function() {
> + if (console) console.log.apply(this, arguments);
> + },
> + /**
> + * Executes the passed function when the document has done loading
> + */
> + addOnLoad: function(fn) {
> + tapestry.log('t.addOnLoad');
> + },
> + /**
> + * Returns the dom node with the given id
> + */
> + byId: document.getElementById,
> +
> + /**
> + * Makes sure that the given namespace (passed as a string) exists
> + * and is a valid javascript object.
> + */
> + provide: function() {tapestry.log('t.provide', arguments);},
> +
> + /**
> + * Connects the event of the given target node to the given function
> of
> + * the global namespace "tapestry".
> + * Users of this method usually attach custom methods to the tapestry
> namespace
> + * before calling this.
> + *
> + * Parameters: target, event, funcName
> + */
> + connect: function() {tapestry.log('t.connect', arguments);},
> +
> + /**
> + * Disconnects the event of the given target node from the given
> function of
> + * the global namespace "tapestry"
> + *
> + * Parameters: target, event, funcName
> + */
> + cleanConnect: function() {tapestry.log('t.cleanConnect',
> arguments);},
> +
> + /**
> + * Perform an XHR.
> + * Implementation should set the mime-type to either "text/xml" or
> + * "text/json" and include the request headers described in the
> comments to the
> + * json parameter.
> + * Implementations are also responsible for handling the responses.
> + *
> + * Parameters:
> + * url - The url to bind the request to.
> + * content - A properties map of optional extra content to
> send.
> + * json - (Optional) Boolean parameter specifying whether or
> not to create a
> + * json request. If true, the request headers
> should include "json":true.
> + * If false or unspecified, they should contain
> "dojo-ajax-request":true
> + */
> + bind: function(url, content, json){tapestry.log('t.bind',
> arguments);},
> +
> + /**
> + * Helper that builds the content from eventName and (triggered) id
> and then forwards
> + * execution to tapestry.bind
> + *
> + * @param url
> + * @param id
> + * @param json
> + * @param eventName
> + */
> + linkOnClick: function(url, id, json, eventName) {tapestry.log('
> t.linkOnClick', arguments);}
> +};
> +
> +tapestry.form = {
> + /**
> + * Submits the specified form.
> + * Should check the value of form.submitmode to find out what type of
> + * submission (cancel, refresh or normal) to do and whether to run
> client validation.
> + *
> + * Parameters:
> + * form - The form or form id to submit.
> + * submitName - (Optional) Submit name to use when
> submitting. This is used
> + * to associate a form
> submission with a particular component.
> + * Implementations will typically just set
> form.submitname to this value.
> + * parms - (Optional) Extra set of
> parameters. Implementations can just look for
> + * the async key and if that's set to true, they
> should perform an async
> + * submission.
> + */
> + submit: function(formId, submitName, parms) {tapestry.log('t.f.submit',
> arguments);},
> +
> + /** Same as submit, but forces cancel submission */
> + cancel: function(formId, submitName, parms) {tapestry.log('t.f.submit',
> arguments);},
> +
> + /** Same as submit, but forces refresh submission */
> + refresh: function(formId, submitName, parms) {tapestry.log('
> t.f.submit', arguments);},
> +
> + /**
> + * Registers a form and allows definition of its properties.
> + * Implementation should keep track of such properties and
> + * use them later on, when the form is submitted.
> + *
> + * Parameters:
> + * id - The form or form id to register.
> + * async - Boolean, if true form submission should be
> asynchronous.
> + * json - Boolean, if true form submission should be
> asyncrhronous json.
> + */
> + registerForm: function(formId, async, json) {tapestry.log('
> t.f.registerForm', arguments);},
> +
> + /**
> + * Registers a form validation/translation profile.
> + * TODO: Describe profile structure.
> + *
> + * Parameters:
> + * formId - The form or form id to register
> profile with.
> + * profile - The object containing all of the
> validation/value constraints for the form.
> + */
> + registerProfile: function(formId, profile) {tapestry.log('
> t.f.registerProfile', arguments);},
> +
> + /**
> + * Clears any previously registered validation profiles on the
> specified form.
> + *
> + * Parameters:
> + * formId - The form id to clear profiles for.
> + */
> + clearProfiles: function(formId) {tapestry.log('t.f.clearProfiles',
> arguments);},
> +
> + /**
> + * Brings keyboard input focus to the specified field.
> + */
> + focusField: function(fieldId) {tapestry.log('t.f.focusField',
> arguments);},
> +
> + // TODO: Describe validation methods
> + datetime: {
> + isValidDate: function(date) {tapestry.log('t.f.d.isValidDate',
> arguments);return true;}
> + },
> +
> + validation: {
> + isReal: function() {tapestry.log('t.f.v.isReal',
> arguments);return true;},
> + greaterThanOrEqual: function() {tapestry.log('
> t.f.v.greaterThanOrEqual', arguments);return true;},
> + lessThanOrEqual: function() {tapestry.log('t.f.v.lessThanOrEqual',
> arguments);return true;},
> + isText: function() {tapestry.log('t.f.v.isText',
> arguments);return true;},
> + isEmailAddress: function() {tapestry.log('t.f.v.isEmailAddress',
> arguments);return true;},
> + isValidPattern: function() {tapestry.log('t.f.v.isValidPattern',
> arguments);return true;},
> + validateForm: function() {tapestry.log('t.f.v.validateForm',
> arguments);return true;}
> + }
> +};
> +
> +tapestry.event = {
> + stopEvent: function() {tapestry.log('t.e.stopEvent', arguments);}
> +};
>
>
>