[limb-svn] r5802 - in 3.x/trunk/limb/js: js_tests/cases shared/limb
svn at limb-project.com
svn at limb-project.com
Fri May 4 15:37:52 MSD 2007
Author: pachanga
Date: 2007-05-04 15:37:52 +0400 (Fri, 04 May 2007)
New Revision: 5802
URL: http://fisheye.limb-project.com/changelog/limb/?cs=5802
Added:
3.x/trunk/limb/js/shared/limb/auto_popup.js
3.x/trunk/limb/js/shared/limb/url.js
Removed:
3.x/trunk/limb/js/shared/limb/cookie.js
3.x/trunk/limb/js/shared/limb/form_errors.js
3.x/trunk/limb/js/shared/limb/http.js
Modified:
3.x/trunk/limb/js/js_tests/cases/classkit_test.html
3.x/trunk/limb/js/js_tests/cases/exception_test.html
3.x/trunk/limb/js/js_tests/cases/limb_test.html
3.x/trunk/limb/js/js_tests/cases/object_test.html
3.x/trunk/limb/js/shared/limb/browser.js
3.x/trunk/limb/js/shared/limb/form_elements.js
3.x/trunk/limb/js/shared/limb/forms.js
Log:
-- JS package cleanup:
* cookie.js removed
* form_errors.js removed
* form_elements.js refactored
* Limb.Form.submit splitted into Limb.Form.submit(submits form to hidden iframe) and Limb.Form.submitPopup(previous behaviour)
* http.js => url.js
* auto_popup.js added, it traverses all <a> tags and appends onclick handler which opens window in a popup if href contains 'popup=1'
Modified: 3.x/trunk/limb/js/js_tests/cases/classkit_test.html
===================================================================
--- 3.x/trunk/limb/js/js_tests/cases/classkit_test.html 2007-05-04 10:20:17 UTC (rev 5801)
+++ 3.x/trunk/limb/js/js_tests/cases/classkit_test.html 2007-05-04 11:37:52 UTC (rev 5802)
@@ -7,7 +7,7 @@
<script src="../lib/prototype.js" type="text/javascript"></script>
<script src="../lib/unittest.js" type="text/javascript"></script>
- <script src="../../shared/Limb.js" type="text/javascript"></script>
+ <script src="../../shared/limb.js" type="text/javascript"></script>
<link rel="stylesheet" href="../test.css" type="text/css" />
</head>
Modified: 3.x/trunk/limb/js/js_tests/cases/exception_test.html
===================================================================
--- 3.x/trunk/limb/js/js_tests/cases/exception_test.html 2007-05-04 10:20:17 UTC (rev 5801)
+++ 3.x/trunk/limb/js/js_tests/cases/exception_test.html 2007-05-04 11:37:52 UTC (rev 5802)
@@ -7,8 +7,8 @@
<script src="../lib/prototype.js" type="text/javascript"></script>
<script src="../lib/unittest.js" type="text/javascript"></script>
- <script src="../../shared/Limb.js" type="text/javascript"></script>
- <script src="../../shared/Limb/Browser.js" type="text/javascript"></script>
+ <script src="../../shared/limb.js" type="text/javascript"></script>
+ <script src="../../shared/limb/Browser.js" type="text/javascript"></script>
<link rel="stylesheet" href="../test.css" type="text/css" />
</head>
<body>
Modified: 3.x/trunk/limb/js/js_tests/cases/limb_test.html
===================================================================
--- 3.x/trunk/limb/js/js_tests/cases/limb_test.html 2007-05-04 10:20:17 UTC (rev 5801)
+++ 3.x/trunk/limb/js/js_tests/cases/limb_test.html 2007-05-04 11:37:52 UTC (rev 5802)
@@ -7,7 +7,7 @@
<script src="../lib/prototype.js" type="text/javascript"></script>
<script src="../lib/unittest.js" type="text/javascript"></script>
- <script src="../../shared/Limb.js" type="text/javascript"></script>
+ <script src="../../shared/limb.js" type="text/javascript"></script>
<link rel="stylesheet" href="../test.css" type="text/css" />
</head>
<body>
Modified: 3.x/trunk/limb/js/js_tests/cases/object_test.html
===================================================================
--- 3.x/trunk/limb/js/js_tests/cases/object_test.html 2007-05-04 10:20:17 UTC (rev 5801)
+++ 3.x/trunk/limb/js/js_tests/cases/object_test.html 2007-05-04 11:37:52 UTC (rev 5802)
@@ -7,8 +7,8 @@
<script src="../lib/prototype.js" type="text/javascript"></script>
<script src="../lib/unittest.js" type="text/javascript"></script>
- <script src="../../shared/Limb.js" type="text/javascript"></script>
- <script src="../../shared/Limb/Browser.js" type="text/javascript"></script>
+ <script src="../../shared/limb.js" type="text/javascript"></script>
+ <script src="../../shared/limb/Browser.js" type="text/javascript"></script>
<link rel="stylesheet" href="../test.css" type="text/css" />
</head>
<body>
Added: 3.x/trunk/limb/js/shared/limb/auto_popup.js
===================================================================
--- 3.x/trunk/limb/js/shared/limb/auto_popup.js (rev 0)
+++ 3.x/trunk/limb/js/shared/limb/auto_popup.js 2007-05-04 11:37:52 UTC (rev 5802)
@@ -0,0 +1,14 @@
+jQuery(window).ready(
+ function()
+ {
+ jQuery.find("a").each(
+ function(a)
+ {
+ if(a.href.indexOf('popup=1') > -1)
+ {
+ jQuery(a).bind("click", function(){Limb.Url.click(this.href);return false});
+ }
+ }
+ );
+ }
+);
\ No newline at end of file
Modified: 3.x/trunk/limb/js/shared/limb/browser.js
===================================================================
--- 3.x/trunk/limb/js/shared/limb/browser.js 2007-05-04 10:20:17 UTC (rev 5801)
+++ 3.x/trunk/limb/js/shared/limb/browser.js 2007-05-04 11:37:52 UTC (rev 5802)
@@ -23,7 +23,7 @@
{
var flashVersion = 0;
- if (!navigator.plugins)
+ if(!navigator.plugins)
return false;
if(Limb.Browser.is_win_ie)
@@ -54,7 +54,7 @@
if(navigator.userAgent.indexOf("WebTV") != -1) actualVersion = 4;
- if (flashVersion < requiredVersion)
+ if(flashVersion < requiredVersion)
return false;
return true;
Deleted: 3.x/trunk/limb/js/shared/limb/cookie.js
===================================================================
--- 3.x/trunk/limb/js/shared/limb/cookie.js 2007-05-04 10:20:17 UTC (rev 5801)
+++ 3.x/trunk/limb/js/shared/limb/cookie.js 2007-05-04 11:37:52 UTC (rev 5802)
@@ -1,147 +0,0 @@
-/**
- * Limb Web Application Framework
- *
- * @link http://limb-project.com
- *
- * @copyright Copyright © 2004-2007 BIT
- * @license LGPL http://www.gnu.org/copyleft/lesser.html
- * @version $Id$
- * @package js
- */
-
-Limb.namespace('Limb.cookie');
-
-Limb.cookie.set_multi_cookie = function (cookiename, id, val)
-{
- var cookie = "";
- cookie = Limb.cookie.get_cookie(cookiename);
-
- found = 0;
- newcookie = Array();
-
- if(cookie != null)
- {
- cookies = cookie.split("_DIV_");
- for(i=0;i<cookies.length;i++)
- {
- c = cookies[i];
- cc = c.split("_EQ_");
- if(cc[0]==id)
- {
- c = id+'_EQ_'+val;
- found=1;
- }
- newcookie[i]=c;
- }
- }
- if(!found)
- {
- if(newcookie.length==0)
- newcookie[0] = id+'_EQ_'+val;
- else
- newcookie[i] = id+'_EQ_'+val;
- }
-
- newcookie = newcookie.join("_DIV_");
- Limb.cookie.set_cookie(cookiename, newcookie)//,expires,COOKIE_PATH, COOKIE_DOMAIN);
-}
-
-Limb.cookie.get_multi_cookie = function (cookiename,id)
-{
- var cookie = "";
- cookie = Limb.cookie.get_cookie(cookiename);
- if(cookie==''||cookie==null)
- return;
-
- var found = 0;
-
- cookies = cookie.split("_DIV_");
-
- for(i=0;i<cookies.length;i++)
- {
- cc = cookies[i].split("_EQ_");
-
- if(cc[0] == id)
- {
- found = 1;
- break;
- }
- }
- if(!found) return;
- return cc[1];
-}
-
-Limb.cookie.get_cookie = function (name)
-{
- var a_cookie = document.cookie.split("; ");
- for (var i=0; i < a_cookie.length; i++)
- {
- var a_crumb = a_cookie[i].split("=");
- if (name == a_crumb[0])
- return unescape(a_crumb[1]);
- }
- return null;
-}
-
-Limb.cookie.set_cookie = function (name, value, path, expires)
-{
- path_str = (path) ? '; path=' + path : '; path=/';
- expires_str = (expires) ? '; expires=' + expires : '';
-
- cookie_str = name + '=' + value + path_str + expires_str;
-
- document.cookie = cookie_str;
-}
-
-Limb.cookie.remove_cookie = function (name, path)
-{
- Limb.cookie.set_cookie(name, 0, path, '1/1/1980');
-}
-
-Limb.cookie.add_cookie_element = function (cookie_name, element)
-{
- cookie_elements = Limb.cookie.get_cookie(cookie_name);
- if(cookie_elements == null || cookie_elements == 'undefined')
- cookie_elements_array = new Array();
- else
- cookie_elements_array = cookie_elements.split(',');
-
- present = false;
- for(i=0; i<cookie_elements_array.length; i++)
- {
- if(cookie_elements_array[i] == element)
- {
- present = true;
- break;
- }
- }
- if(!present)
- {
- cookie_elements_array.push(element);
- new_cookie_elements = cookie_elements_array.join(',');
- Limb.cookie.set_cookie(cookie_name, new_cookie_elements);
- }
-}
-
-Limb.cookie.remove_cookie_element = function (cookie_name, element)
-{
- cookie_elements = Limb.cookie.get_cookie(cookie_name);
- if (cookie_elements == null || cookie_elements == 'undefined')
- cookie_elements_array = new Array();
- else
- cookie_elements_array = cookie_elements.split(',');
- new_cookie_elements_array = new Array();
- present = 0;
- for(i=0; i<cookie_elements_array.length; i++)
- {
- if (cookie_elements_array[i] != element)
- new_cookie_elements_array.push(cookie_elements_array[i]);
- else
- present = 1;
- }
- if (present)
- {
- new_cookie_elements = new_cookie_elements_array.join(',');
- Limb.cookie.set_cookie(cookie_name, new_cookie_elements);
- }
-}
Modified: 3.x/trunk/limb/js/shared/limb/form_elements.js
===================================================================
--- 3.x/trunk/limb/js/shared/limb/form_elements.js 2007-05-04 10:20:17 UTC (rev 5801)
+++ 3.x/trunk/limb/js/shared/limb/form_elements.js 2007-05-04 11:37:52 UTC (rev 5802)
@@ -9,151 +9,151 @@
* @package js
*/
-Limb.namespace('Limb.DynamicList');
-
-Limb.DynamicList = function(button_id, answer_sample_id, container_id, init_arr, init_func)
+Limb.Class('Limb.DynamicList',
{
- this.create_button = document.getElementById(button_id)
- this.answer_sample = document.getElementById(answer_sample_id)
- this.container = document.getElementById(container_id)
- this.create_button.controller = this
- this.init_arr = init_arr
- this.init_func = init_func
- this.index = 0
- this.init()
-}
-
-Limb.DynamicList.is_modified = 0
-Limb.DynamicList.set_modified_flag = function()
-{
- Limb.DynamicList.is_modified = 1
-}
-Limb.DynamicList.prototype.init = function()
-{
- for(i=0; i<this.init_arr.length; i++)
+ __construct: function(button_id, answer_sample_id, container_id, init_arr, init_func)
{
- this.add_item();
- }
+ this.create_button = document.getElementById(button_id);
+ this.answer_sample = document.getElementById(answer_sample_id);
+ this.container = document.getElementById(container_id);
+ this.create_button.controller = this;
+ this.init_arr = init_arr;
+ this.init_func = init_func;
+ this.index = 0;
+ this.init();
+ },
- this.create_button.onclick = function()
+ init: function()
{
- this.controller.add_item()
- Limb.DynamicList.set_modified_flag()
- return false
- }
- this.answer_sample.style.display = 'none'
-}
+ for(i=0; i<this.init_arr.length; i++)
+ this.addItem();
-Limb.DynamicList.prototype.add_item = function(top_obj)
-{
- var div = document.createElement('div');
- if(top_obj)
+ this.create_button.onclick = function()
+ {
+ this.controller.addItem();
+ Limb.DynamicList.setModifiedFlag();
+ return false;
+ }
+ this.answer_sample.style.display = 'none';
+ },
+
+ addItem: function(top_obj)
{
- var next = top_obj.nextSibling
- if(next)
- div = this.container.insertBefore(div, next)
+ var div = document.createElement('div');
+ if(top_obj)
+ {
+ var next = top_obj.nextSibling;
+ if(next)
+ div = this.container.insertBefore(div, next);
+ else
+ this.container.appendChild(div);
+ }
else
- this.container.appendChild(div)
- }
- else
- {
- this.container.appendChild(div)
- }
- div.innerHTML = this.answer_sample.innerHTML
+ {
+ this.container.appendChild(div);
+ }
+ div.innerHTML = this.answer_sample.innerHTML;
- this.init_func(div, this.index, this.init_arr)
+ this.init_func(div, this.index, this.init_arr);
- this.init_behavior(div)
- this.index++
-}
-Limb.DynamicList.prototype.init_behavior = function(div)
-{
- div.name = 'Limb.DynamicList_row'
+ this.initBehavior(div);
+ this.index++;
+ },
- var del = Limb.DynamicList.get_obj_by_id(div, 'del');
- del.id = del.id + this.index;
- var add = Limb.DynamicList.get_obj_by_id(div, 'add')
- add.id = add.id + this.index;
- var up = Limb.DynamicList.get_obj_by_id(div, 'up')
- up.id = up.id + this.index;
- var down = Limb.DynamicList.get_obj_by_id(div, 'down')
- down.id = down.id + this.index;
+ initBehavior: function(div)
+ {
+ div.name = 'dynamic_list_row';
- del.controller =
- add.controller =
- up.controller =
- down.controller = this;
+ var del = Limb.DynamicList.get_obj_by_id(div, 'del');
+ del.id = del.id + this.index;
+ var add = Limb.DynamicList.get_obj_by_id(div, 'add')
+ add.id = add.id + this.index;
+ var up = Limb.DynamicList.get_obj_by_id(div, 'up')
+ up.id = up.id + this.index;
+ var down = Limb.DynamicList.get_obj_by_id(div, 'down')
+ down.id = down.id + this.index;
- up.div =
- down.div =
- add.div = div
+ del.controller = add.controller = up.controller = down.controller = this;
+ up.div = down.div = add.div = div;
- del.onclick = function()
- {
- var node = this
- while((node = node.parentNode) != null)
+ del.onclick = function()
{
-
- if(node)
- if(node.name == 'Limb.DynamicList_row')
+ var node = this;
+ while((node = node.parentNode) != null)
+ {
+ if(node && node.name == 'dynamic_list_row')
{
- node.parentNode.removeChild(node)
- Limb.DynamicList.set_modified_flag()
+ node.parentNode.removeChild(node);
+ Limb.DynamicList.setModifiedFlag();
}
+ }
}
- }
- add.onclick = function()
- {
- this.controller.add_item(this.div)
- Limb.DynamicList.set_modified_flag()
- }
- up.onclick = function()
- {
- if(!this.div.previousSibling) return
- var tmp = this.div.parentNode.removeChild(this.div.previousSibling)
- if(this.div.nextSibling)
- this.controller.container.insertBefore(tmp, this.div.nextSibling)
- else
- this.controller.container.appendChild(tmp)
+ add.onclick = function()
+ {
+ this.controller.addItem(this.div);
+ Limb.DynamicList.setModifiedFlag();
+ }
- Limb.DynamicList.set_modified_flag()
- }
- down.onclick = function()
- {
- if(!this.div.nextSibling) return
- var tmp = this.div.parentNode.removeChild(this.div.nextSibling)
+ up.onclick = function()
+ {
+ if(!this.div.previousSibling) return;
+ var tmp = this.div.parentNode.removeChild(this.div.previousSibling);
- this.controller.container.insertBefore(tmp, this.div)
+ if(this.div.nextSibling)
+ this.controller.container.insertBefore(tmp, this.div.nextSibling);
+ else
+ this.controller.container.appendChild(tmp);
- Limb.DynamicList.set_modified_flag()
- }
-}
-Limb.DynamicList.prototype.fix_select_values = function(original, clone)
-{
- var selects = original.getElementsByTagName('select')
- var clone_selects = clone.getElementsByTagName('select')
+ Limb.DynamicList.setModifiedFlag();
+ }
- for(var i = 0; (i < clone_selects.length); i++)
- clone_selects[i].selectedIndex = selects[i].selectedIndex;
-}
+ down.onclick = function()
+ {
+ if(!this.div.nextSibling) return;
+ var tmp = this.div.parentNode.removeChild(this.div.nextSibling);
-Limb.DynamicList.get_obj_by_id = function(node, id)
-{
- if(node.id == id)
- return node;
+ this.controller.container.insertBefore(tmp, this.div);
- if(!node.hasChildNodes())
- return null;
+ Limb.DynamicList.setModifiedFlag();
+ }
+ },
- result = null;
+ fixSelectValues: function(original, clone)
+ {
+ var selects = original.getElementsByTagName('select');
+ var clone_selects = clone.getElementsByTagName('select');
- for(var i = 0; (i < node.childNodes.length && !result); i++)
- result = Limb.DynamicList.get_obj_by_id(node.childNodes[i], id);
+ for(var i=0; (i < clone_selects.length); i++)
+ clone_selects[i].selectedIndex = selects[i].selectedIndex;
+ },
- return result;
-}
+ static:
+ {
+ is_modified: 0,
+ setModifiedFlag: function()
+ {
+ Limb.DynamicList.is_modified = 1;
+ },
+ get_obj_by_id: function(node, id)
+ {
+ if(node.id == id)
+ return node;
+
+ if(!node.hasChildNodes())
+ return null;
+
+ result = null;
+
+ for(var i = 0; (i < node.childNodes.length && !result); i++)
+ result = Limb.DynamicList.get_obj_by_id(node.childNodes[i], id);
+
+ return result;
+ }
+ }
+});
+
Limb.Class('Limb.DoubleSelect',
{
__construct: function(instanceName)
@@ -219,8 +219,6 @@
src.style.height = example.style.height;
else
src.style.height = '200px';
-
-
},
addSelector: function(parent)
Deleted: 3.x/trunk/limb/js/shared/limb/form_errors.js
===================================================================
--- 3.x/trunk/limb/js/shared/limb/form_errors.js 2007-05-04 10:20:17 UTC (rev 5801)
+++ 3.x/trunk/limb/js/shared/limb/form_errors.js 2007-05-04 11:37:52 UTC (rev 5802)
@@ -1,110 +0,0 @@
-/**
- * Limb Web Application Framework
- *
- * @link http://limb-project.com
- *
- * @copyright Copyright © 2004-2007 BIT
- * @license LGPL http://www.gnu.org/copyleft/lesser.html
- * @version $Id$
- * @package js
- */
-
-Limb.namespace('Limb.form_errors');
-
-Limb.form_errors.get_label_for_field = function (id)
-{
- if(document.getElementsByTagName('label').length > 0)
- {
- labels = document.getElementsByTagName('label');
- for(c=0; c<labels.length; c++)
- {
- if(labels[c].htmlFor == id)
- return labels[c].innerHTML;
- }
- }
- return null;
-}
-
-Limb.form_errors.default_form_field_error_printer = function (id, msg)
-{
- obj = document.getElementById(id);
- span = document.createElement('SPAN');
- br = document.createElement('BR');
- text = document.createTextNode(msg);
- span.appendChild(text);
- span.style.color = 'red';
-
- obj.parentNode.insertBefore(span, obj);
- obj.parentNode.insertBefore(br, obj);
- obj.style.borderColor = 'red';
- obj.style.borderStyle = 'solid';
- obj.style.borderWidth = '1px';
-}
-
-Limb.form_errors.default_form_field_error_label_printer = function (id, msg)
-{
- var span = null;
- var i = 0;
- do
- {
- span = document.getElementById("label_for_" + id + "_" + i);
- }
- while(span && span.firstChild);
-
- if(!span) return;
-
- label = Limb.form_errors.get_label_for_field(id);
-
- //dirty workaround for non-labelled fields
- if(!label) label = id;
-
- newa = document.createElement('a');
- newa.appendChild(document.createTextNode(label));
- newa.href = '#'+id;
- newa.isid = id;
- newa.onclick = function()
- {
- try
- {
- Limb.require('Limb.tabs');
- if(tab = Limb.tabs.find_element_tab(this.isid))
- tab.activate();
-
- if(e = document.getElementById(this.isid))
- e.focus();
- }
- catch(ex){}
-
- return false;
- }
-
- var content = span.firstChild
- span.insertBefore(newa, content);
- if(content)
- {
- span.insertBefore(document.createTextNode(' ('), content);
- span.appendChild(document.createTextNode(')'), content);
- }
-}
-
-Limb.form_errors.set_form_field_error = function (id, msg)
-{
- obj = document.getElementById(id);
- if(!obj) return;
-
- if(typeof(Limb.form_errors.form_field_error_printer) == "function")
- Limb.form_errors.form_field_error_printer(id, msg);
- else
- Limb.form_errors.default_form_field_error_printer(id, msg);
-
- if(typeof(Limb.form_errors.form_field_error_label_printer) == "function")
- Limb.form_errors.form_field_error_label_printer(id, msg);
- else
- Limb.form_errors.default_form_field_error_label_printer(id, msg);
-}
-
-Limb.form_errors.check_form_errors = function ()
-{
- //someday client validation will be here
- return true;
-}
\ No newline at end of file
Modified: 3.x/trunk/limb/js/shared/limb/forms.js
===================================================================
--- 3.x/trunk/limb/js/shared/limb/forms.js 2007-05-04 10:20:17 UTC (rev 5801)
+++ 3.x/trunk/limb/js/shared/limb/forms.js 2007-05-04 11:37:52 UTC (rev 5802)
@@ -46,21 +46,43 @@
Limb.Form.submit = function (form, form_action)
{
- var is_popup = form_action.indexOf('popup=1');
+ var iframe_id = form.id + '_worker_frame';
- if(is_popup > -1)
+ if(Limb.Browser.is_ie)
+ var iframe = document.createElement('<iframe id="' + iframe_id + '" name="' + iframe_id + '" />');
+ else
{
- var w = new Limb.Window(form_action, form.id + 'popup');
- form.target = w.getWindowObject().name;
+ var iframe = document.createElement('iframe');
+ iframe.id = iframe_id;
+ iframe.name = iframe_id;
}
+ iframe.src = '';
+ iframe.style.display = 'none';
+ jQuery(iframe).bind('load', function(){
+ window.location.reload();
+ });
+
+ form.appendChild(iframe);
+ form.target = iframe_id;
+
if(form_action)
form.action = form_action;
form.submit();
+}
- if(is_popup > -1)
- w.onOpen();
+Limb.Form.submitPopup = function (form, form_action)
+{
+ var w = new Limb.Window(form_action, form.id + 'popup');
+ form.target = w.getWindowObject().name;
+
+ if(form_action)
+ form.action = form_action;
+
+ form.submit();
+
+ w.onOpen();
}
Limb.Form.getFieldLabel = function (id)
Deleted: 3.x/trunk/limb/js/shared/limb/http.js
===================================================================
--- 3.x/trunk/limb/js/shared/limb/http.js 2007-05-04 10:20:17 UTC (rev 5801)
+++ 3.x/trunk/limb/js/shared/limb/http.js 2007-05-04 11:37:52 UTC (rev 5802)
@@ -1,101 +0,0 @@
-/**
- * Limb Web Application Framework
- *
- * @link http://limb-project.com
- *
- * @copyright Copyright © 2004-2007 BIT
- * @license LGPL http://www.gnu.org/copyleft/lesser.html
- * @version $Id$
- * @package js
- */
-
-Limb.namespace('Limb.Http');
-
-Limb.Http.getQueryItem = function (page_href, item_name)
-{
- arr = Limb.Http.getQueryItems(page_href);
-
- if(arr[item_name])
- return arr[item_name];
- else
- return null;
-}
-
-Limb.Http.buildQuery = function (items)
-{
- query = '';
- for(index in items)
- query = query + index + '=' + items[index] + '&';
-
- return query;
-}
-
-Limb.Http.getQueryItems = function (uri)
-{
- query_items = new Array();
-
- arr = uri.split('?');
- if(!arr[1])
- return query_items;
-
- query = arr[1];
-
- arr = query.split('&');
-
- for(index in arr)
- {
- if(typeof(arr[index]) == 'string')
- {
- key_value = arr[index].split('=');
- if(!key_value[1])
- continue;
-
- query_items[key_value[0]] = key_value[1];
- }
- }
-
- return query_items;
-}
-
-Limb.Http.addUrlQueryItem = function (uri, parameter, val)
-{
- uri_pieces = uri.split('?');
-
- items = Limb.Http.getQueryItems(uri);
- items[parameter] = val;
-
- return uri_pieces[0] + '?' + Limb.Http.buildQuery(items);
-}
-
-Limb.Http.addRandomToUrl = function (page_href)
-{
- if(page_href.indexOf('?') == -1)
- page_href = page_href + '?';
-
- page_href = page_href.replace(/&*rn=[^&]+/g, '');
-
- items = page_href.split('#');
-
- page_href = items[0] + '&rn=' + Math.floor(Math.random()*10000);
-
- if(items[1])
- page_href = page_href + '#' + items[1];
-
- return page_href;
-}
-
-Limb.Http.jump = function (href, w)
-{
- if(!w) w = window;
- w.location.href = href;
-}
-
-Limb.Http.click = function (href, window_name)
-{
- is_popup = href.indexOf('popup=1');
-
- if(is_popup > -1)
- new Limb.Window(href, window_name);
-
- return !(is_popup > -1);
-}
Copied: 3.x/trunk/limb/js/shared/limb/url.js (from rev 5801, 3.x/trunk/limb/js/shared/limb/http.js)
===================================================================
--- 3.x/trunk/limb/js/shared/limb/url.js (rev 0)
+++ 3.x/trunk/limb/js/shared/limb/url.js 2007-05-04 11:37:52 UTC (rev 5802)
@@ -0,0 +1,95 @@
+/**
+ * Limb Web Application Framework
+ *
+ * @link http://limb-project.com
+ *
+ * @copyright Copyright © 2004-2007 BIT
+ * @license LGPL http://www.gnu.org/copyleft/lesser.html
+ * @version $Id$
+ * @package js
+ */
+
+Limb.namespace('Limb.Url');
+
+Limb.Url.getQueryItem = function (page_href, item_name)
+{
+ arr = Limb.Url.getQueryItems(page_href);
+
+ if(arr[item_name])
+ return arr[item_name];
+ else
+ return null;
+}
+
+Limb.Url.buildQuery = function (items)
+{
+ query = '';
+ for(index in items)
+ query = query + index + '=' + items[index] + '&';
+
+ return query;
+}
+
+Limb.Url.getQueryItems = function (uri)
+{
+ query_items = new Array();
+
+ arr = uri.split('?');
+ if(!arr[1])
+ return query_items;
+
+ query = arr[1];
+
+ arr = query.split('&');
+
+ for(index in arr)
+ {
+ if(typeof(arr[index]) == 'string')
+ {
+ key_value = arr[index].split('=');
+ if(!key_value[1])
+ continue;
+
+ query_items[key_value[0]] = key_value[1];
+ }
+ }
+
+ return query_items;
+}
+
+Limb.Url.addUrlQueryItem = function (uri, parameter, val)
+{
+ uri_pieces = uri.split('?');
+
+ items = Limb.Url.getQueryItems(uri);
+ items[parameter] = val;
+
+ return uri_pieces[0] + '?' + Limb.Url.buildQuery(items);
+}
+
+Limb.Url.addRandomToUrl = function (page_href)
+{
+ if(page_href.indexOf('?') == -1)
+ page_href = page_href + '?';
+
+ page_href = page_href.replace(/&*rn=[^&]+/g, '');
+
+ items = page_href.split('#');
+
+ page_href = items[0] + '&rn=' + Math.floor(Math.random()*10000);
+
+ if(items[1])
+ page_href = page_href + '#' + items[1];
+
+ return page_href;
+}
+
+Limb.Url.click = function (href, window_name)
+{
+ is_popup = href.indexOf('popup=1');
+
+ if(is_popup > -1)
+ new Limb.Window(href, window_name);
+
+ return !(is_popup > -1);
+}
More information about the limb-svn
mailing list