mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@5282 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
196 lines
5.8 KiB
JavaScript
196 lines
5.8 KiB
JavaScript
/*
|
|
Copyright (c) 2004-2006, The Dojo Foundation
|
|
All Rights Reserved.
|
|
|
|
Licensed under the Academic Free License version 2.1 or above OR the
|
|
modified BSD license. For more information on Dojo licensing, see:
|
|
|
|
http://dojotoolkit.org/community/licensing.shtml
|
|
*/
|
|
|
|
dojo.provide("dojo.widget.InternetTextbox");
|
|
|
|
dojo.require("dojo.widget.ValidationTextbox");
|
|
dojo.require("dojo.validate.web");
|
|
|
|
dojo.widget.defineWidget(
|
|
"dojo.widget.IpAddressTextbox",
|
|
dojo.widget.ValidationTextbox,
|
|
{
|
|
// summary: A Textbox which tests for a valid IP address
|
|
// description: Can specify formats for ipv4 or ipv6 as attributes in the markup.
|
|
|
|
// allowDottedDecimal: Boolean:
|
|
// true or false, default is true.
|
|
|
|
// allowDottedHex: Boolean:
|
|
// true or false, default is true.
|
|
|
|
// allowDottedOctal: Boolean:
|
|
// true or false, default is true.
|
|
|
|
// allowDecimal: Boolean:
|
|
// true or false, default is true.
|
|
|
|
// allowHex: Boolean:
|
|
// true or false, default is true.
|
|
|
|
// allowIPv6: Boolean:
|
|
// true or false, default is true.
|
|
|
|
// allowHybrid: Boolean:
|
|
// true or false, default is true.
|
|
|
|
mixInProperties: function(/*Object*/localProperties){
|
|
// summary: see dojo.widget.Widget
|
|
|
|
// First initialize properties in super-class.
|
|
dojo.widget.IpAddressTextbox.superclass.mixInProperties.apply(this, arguments);
|
|
|
|
// Get properties from markup attributes, and assign to flags object.
|
|
if(localProperties.allowdotteddecimal){
|
|
this.flags.allowDottedDecimal = (localProperties.allowdotteddecimal == "true");
|
|
}
|
|
if(localProperties.allowdottedhex){
|
|
this.flags.allowDottedHex = (localProperties.allowdottedhex == "true");
|
|
}
|
|
if(localProperties.allowdottedoctal){
|
|
this.flags.allowDottedOctal = (localProperties.allowdottedoctal == "true");
|
|
}
|
|
if(localProperties.allowdecimal){
|
|
this.flags.allowDecimal = (localProperties.allowdecimal == "true");
|
|
}
|
|
if(localProperties.allowhex){
|
|
this.flags.allowHex = (localProperties.allowhex == "true");
|
|
}
|
|
if(localProperties.allowipv6){
|
|
this.flags.allowIPv6 = (localProperties.allowipv6 == "true");
|
|
}
|
|
if(localProperties.allowhybrid){
|
|
this.flags.allowHybrid = (localProperties.allowhybrid == "true");
|
|
}
|
|
},
|
|
|
|
isValid: function(){
|
|
// summary: see dojo.widget.ValidationTextbox
|
|
return dojo.validate.isIpAddress(this.textbox.value, this.flags);
|
|
}
|
|
}
|
|
);
|
|
|
|
dojo.widget.defineWidget(
|
|
"dojo.widget.UrlTextbox",
|
|
dojo.widget.IpAddressTextbox,
|
|
{
|
|
// summary:
|
|
// A Textbox which tests for a valid URL
|
|
|
|
// scheme: Boolean:
|
|
// Can be true or false. If omitted the scheme is optional.
|
|
|
|
// allowIP: Boolean:
|
|
// Allow an IP address for hostname. Default is true.
|
|
|
|
// allowLocal: Boolean:
|
|
// Allow the host to be "localhost". Default is false.
|
|
|
|
// allowCC: Boolean:
|
|
// Allow 2 letter country code domains. Default is true.
|
|
|
|
// allowGeneric: Boolean:
|
|
// Allow generic domains. Can be true or false, default is true.
|
|
|
|
mixInProperties: function(/*Object*/localProperties){
|
|
// summary: see dojo.widget.Widget
|
|
|
|
// First initialize properties in super-class.
|
|
dojo.widget.UrlTextbox.superclass.mixInProperties.apply(this, arguments);
|
|
|
|
// Get properties from markup attributes, and assign to flags object.
|
|
if ( localProperties.scheme ) {
|
|
this.flags.scheme = ( localProperties.scheme == "true" );
|
|
}
|
|
if ( localProperties.allowip ) {
|
|
this.flags.allowIP = ( localProperties.allowip == "true" );
|
|
}
|
|
if ( localProperties.allowlocal ) {
|
|
this.flags.allowLocal = ( localProperties.allowlocal == "true" );
|
|
}
|
|
if ( localProperties.allowcc ) {
|
|
this.flags.allowCC = ( localProperties.allowcc == "true" );
|
|
}
|
|
if ( localProperties.allowgeneric ) {
|
|
this.flags.allowGeneric = ( localProperties.allowgeneric == "true" );
|
|
}
|
|
},
|
|
|
|
isValid: function(){
|
|
// summary: see dojo.widget.ValidationTextbox
|
|
return dojo.validate.isUrl(this.textbox.value, this.flags);
|
|
}
|
|
}
|
|
);
|
|
|
|
//FIXME: DOC: need more consistent explanation on whether attributes are inherited from the parent. Some make sense, some don't?
|
|
|
|
dojo.widget.defineWidget(
|
|
"dojo.widget.EmailTextbox",
|
|
dojo.widget.UrlTextbox,
|
|
{
|
|
// summary:
|
|
// A Textbox which tests for a valid email address
|
|
// description:
|
|
// Can use all markup attributes/properties of UrlTextbox except scheme.
|
|
|
|
// allowCruft: Boolean:
|
|
// Allow address like <mailto:foo@yahoo.com>. Default is false.
|
|
|
|
mixInProperties: function(/*Object*/localProperties){
|
|
// summary: see dojo.widget.Widget
|
|
|
|
// First initialize properties in super-class.
|
|
dojo.widget.EmailTextbox.superclass.mixInProperties.apply(this, arguments);
|
|
|
|
// Get properties from markup attributes, and assign to flags object.
|
|
if(localProperties.allowcruft){
|
|
this.flags.allowCruft = (localProperties.allowcruft == "true");
|
|
}
|
|
},
|
|
|
|
isValid: function(){
|
|
// summary: see dojo.widget.ValidationTextbox
|
|
return dojo.validate.isEmailAddress(this.textbox.value, this.flags);
|
|
}
|
|
}
|
|
);
|
|
|
|
//TODO: perhaps combine with EmailTextbox?
|
|
dojo.widget.defineWidget(
|
|
"dojo.widget.EmailListTextbox",
|
|
dojo.widget.EmailTextbox,
|
|
{
|
|
// summary: A Textbox which tests for a list of valid email addresses
|
|
//
|
|
// listSeparator: String
|
|
// The character used to separate email addresses.
|
|
// Default is ";", ",", "\n" or " "
|
|
|
|
mixInProperties: function(/*Object*/localProperties){
|
|
// summary: see dojo.widget.Widget
|
|
|
|
// First initialize properties in super-class.
|
|
dojo.widget.EmailListTextbox.superclass.mixInProperties.apply(this, arguments);
|
|
|
|
// Get properties from markup attributes, and assign to flags object.
|
|
if(localProperties.listseparator){
|
|
this.flags.listSeparator = localProperties.listseparator;
|
|
}
|
|
},
|
|
|
|
isValid: function(){
|
|
// summary: see dojo.widget.ValidationTextbox
|
|
return dojo.validate.isEmailAddressList(this.textbox.value, this.flags);
|
|
}
|
|
}
|
|
);
|