From d06fe96aa202cebecd31425126b6fa2afdab54e1 Mon Sep 17 00:00:00 2001 From: Matt Brown Date: Sat, 16 Jul 2011 03:15:29 +0000 Subject: [PATCH] Fixes based on recent testing. Key changes: EntryType DT (datetime) has been replaced with EntryType TS (timestamp). Column attribute AltTable has been replaced with TblAlias. Removed Rico.TableColumn.HighlightCell since you can now use style tags to do the same thing. Still need to propogate .net changes to php plugin. git-svn-id: svn://svn.code.sf.net/p/openrico/code/trunk/rico3@94 53df2df2-7ab5-4331-af62-ea79255fa4e2 --- bin/Rico.dll | Bin 574976 -> 574464 bytes bin/Rico.xml | 637 ++++----- documentation/ChangesSinceRico2.txt | 5 + examples/asp/menu.asp | 3 +- examples/asp/widgets.asp | 241 +--- examples/dotnet/3grids.aspx | 6 +- examples/dotnet/gridFromTable.aspx | 2 +- examples/dotnet/menu.aspx | 3 +- examples/html/menu.html | 4 +- examples/php/LoadRicoClient.php | 1 - examples/php/menu.html | 4 +- examples/php/widgets.php | 1871 +-------------------------- minsrc/rico.js | 36 - minsrc/ricoCalendar.js | 20 +- minsrc/ricoGridCommon.js | 7 +- minsrc/ricoLiveGrid.js | 3 - minsrc/ricoLiveGridControls.js | 77 +- minsrc/ricoLiveGridForms.js | 30 +- minsrc/ricoLiveGridMenu.js | 3 - minsrc/ricoUI.js | 7 +- ricoClient/css/grayedout.css | 4 +- ricoClient/css/rico.css | 23 +- ricoClient/js/rico_min.js | 210 ++- 23 files changed, 500 insertions(+), 2697 deletions(-) diff --git a/bin/Rico.dll b/bin/Rico.dll index 63c9dcc0d2fdcf2de15bb856bd28d63c76ea3049..c1387fe2369906f6760bada90d2601dedf3efd83 100644 GIT binary patch delta 69879 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 P=x_B1MeR~&pmF~%nQ?o| delta 69705 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 - + - May contain the text of an error message that occurred outside this control prior to rendering - - - - - - - Database connection object. Required only if sqlText is used. + Returns the index of the table with TblAlias or -1 if not found - - - + + - Optional sql query to execute, must return 5 columns matching WriteTreeRow parameters - - - - - + Returns the cached ResourceManager instance used by this class. + + - Adds an entry that will be returned with the results. Often used to add the root node. - - id of parent, "" if this is the root - id that uniquely identifies this node in the tree - description displayed to the user - "L" or 0 = leaf, "C" or non-zero = container - 0=not selectable, 1=selectable - - + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + - Use this class on a page that responds to AJAX requests from a Rico Tree Control - This class automatically disables caching of the response and sets the response type to text/xml - - + A strongly-typed resource class, for looking up localized strings, etc. + Represents a column in the select statement - True if the select statement contains the DISTINCT keyword - List of columns in the select statement - List of "group by" items in the select statement - List of "order by" items in the select statement - From clause of the select statement, including any joins - Where clause of the select statement - Having clause of the select statement - List of column headings in the select list. Set after an any unparse* call. - Returns a cloned copy of this object - - Builds a SQL select statement string from its parsed components - - Rebuilds a SQL select statement that was parsed by ParseSelect, inserting the DISTINCT keyword - - Returns a SQL select statement that will return all of the values in a particular column. This version is meant MS Access, as it does not support ordering by column name - - Returns a SQL select statement that will return all of the values in a particular column. The returned statement is not compatible MS Access, use UnparseDistinctColumnAccess() instead. - - Returns the select list part of the statement as a string @@ -156,227 +119,136 @@ Rico * Put union queries in a view and then write your select statement against the view. - - Holds a SQL select statement. Methods to load/parse a select statement from a string and to reassemble it in various ways. Does not handle union queries. - - + - Initial width of the column in pixels. Default is to use SimpleGrid.defaultWidth. + controls size of client buffer and AJAX fetch size - + - Is the user allowed to sort the column? Default is true. + name of Javascript object containing LiveGrid Edit - - + - Is the user allowed to drag a column value? Default is false. + name of Javascript object containing LiveGrid buffer - - + - Is the user allowed to filter the column? Default is true. + name of Javascript object containing initial LiveGrid buffer options - - + - Javascript code to create a control object, which changes the way the column data is rendered. - The disadvantage of using this approach is that the altered rendering does not get reflected in exports. - A set of controls is defined in ricoLiveGridControls.js or the developer can create their own. + Provides a set of functions that mask differences across various SQL dialects. Available once dbDialect is set. - - + - If the AutoFilter option is enabled for the grid, then filterUI will control how each column is filtered. If filterUI is: + Number of visible rows in the grid. + Negative values have the following meanings: - null or omitted, then no filter is displayed for the column. - 't' - will generate a text box filter and the records being displayed are filtered as the user types. May be followed by a number to indicate the size of the text box (default size is 10). - 's' - will generate a select list filter with all possible column values contained in the list. Populated using a 'select distinct' query if the grid's source is a SQL query. - 'm' - will generate multi-select checklist filter, with a checkbox text to each item. + -1: size grid to client window + -2: size grid to whichever is smaller: the client window or the data + -3: size grid so that the page body does not have a scrollbar (default) + -4: size grid to its parent node in the DOM - - + - This setting allows the filterUI to filter a different column than where it is displayed. - This is particularly useful for dates, where you can show a year selection on an OrderDate date column for example, - but actually have it filter a hidden column OrderYear=year(OrderDate). - - - - - The text content of this column will be included in delete confirmation messages. - - - - - If column is a number, this value can be used to multiply the database value by a factor before displaying it in the grid. - Default is 1. Automatically set to 100 if DataType is percent. + Collection of ColumnGroup objects, which define the headings used above each group of columns. - + - If column is a number, this is the number of digits displayed to the right of the decimal point. Default is 0. - If DataType is dollar or euro, then decPlaces is automatically set to 2. + Defines the tables used by the LiveGrid. The first table is primary/main table. - + - If column is a number, display the value with a thousands separator? Default is true. + Returns the class name of the specified grid column + + - - - Specifies how negative numbers should be displayed. Possible values: - - L=leading minus (default) - T=trailing minus - P=parentheses - - - - - If column is a number, this string is prepended to the number before display. - Useful for currency symbols. - - - - If column is a number, this string is appended to the number before display. - Useful for percentages and temperature values. Automatically set to % if DataType is percent. - - - - Used to give the column heading a specific style. - In most cases this is not necessary, as the heading will be styled according to the theme. - - - - Database property - set automatically by LiveGrid.GetColumnInfoFromDb() - - - - Database property - set automatically by LiveGrid.GetColumnInfoFromDb() - - - - Database property - set automatically by LiveGrid.GetColumnInfoFromDb() - - - - Database property - set automatically by LiveGrid.GetColumnInfoFromDb() - - - - Database property - set automatically by LiveGrid.GetColumnInfoFromDb() - - - - For internal use - - - - Text displayed in the column heading. - - - - Initial width of the column in pixels. Default is to use LiveGrid.defaultWidth. - - + - Returns an Excel-type number format string based on decPlaces, thouSep, prefix. + Adds a new column to grid, returns column index - - - + + - Type of data stored in the column. + Takes a given string and makes it JSON valid (http://json.org/) - - - - + value which should be escaped + JSON valid string + + AUTHOR: Michael Rebec + All characters which needs to be escaped are beeing replaced by their + unicode representation according to the + RFC4627#2.5 - http://www.ietf.org/rfc/rfc4627.txt?number=4627 + + - Base class for a LiveGrid column + Methods and properties common to LiveGrid and LiveGridEdit The type of buffer deployed on the client - - AjaxSQL - data source is a SQL database query - AjaxLoadOnce - data is loaded once from a remote source, such as an XML file - Base - data is static, loaded from either an html table or javascript array + + AjaxSQLdata source is a SQL database query + AjaxLoadOncedata is loaded once from a remote source, such as an XML file + Basedata is static, loaded from either an html table or javascript array - - - name of Javascript object containing LiveGrid Edit - - + - name of Javascript object containing LiveGrid buffer + If grid is populated from an html table, then set HtmlSourceId to the id of the source table - + - name of Javascript object containing initial LiveGrid buffer options + True if this should be a distinct sql query (default is false) - + - Provides a set of functions that mask differences across various SQL dialects. Available once dbDialect is set. + Class to define a LiveGrid - - - Number of visible rows in the grid. - Negative values have the following meanings: - - -1: size grid to client window - -2: size grid to whichever is smaller: the client window or the data - -3: size grid so that the page body does not have a scrollbar (default) - -4: size grid to its parent node in the DOM - - - + - If grid is populated from an html table, then set HtmlSourceId to the id of the source table + May contain the text of an error message that occurred outside this control prior to rendering + - - - Collection of ColumnGroup objects, which define the headings used above each group of columns. - - - + - Defines the tables used by the LiveGrid. The first table is primary/main table. + Database connection object. Required only if sqlText is used. + - + - Returns the class name of the specified grid column + Optional sql query to execute, must return 5 columns matching WriteTreeRow parameters - + - - - Adds a new column to grid, returns column index - - - + - Class to define a LiveGrid + Adds an entry that will be returned with the results. Often used to add the root node. - + id of parent, "" if this is the root + id that uniquely identifies this node in the tree + description displayed to the user + "L" or 0 = leaf, "C" or non-zero = container + 0=not selectable, 1=selectable + + - Returns the index of the table with TblName or -1 if not found + Use this class on a page that responds to AJAX requests from a Rico Tree Control + This class automatically disables caching of the response and sets the response type to text/xml - - @@ -459,15 +331,125 @@ Rico This class defines properties and functions used in SimpleGrid, LiveGrid and LiveGridEdit classes. - - - True if the text should be displayed using a bold font - - + - True if the text should be displayed in italics + Background image for grid headings and window titles. + Should be left unset, as it is used only for the grayedout theme (in which case it is set automatically). - + + + The base Javascript library to load from http://ajax.googleapis.com/ajax/libs/, possible values include: + + prototype/1.6/prototype.js + prototype/1.7/prototype.js + jquery/1.3/jquery.min.js + jquery/1.4/jquery.min.js + jquery/1.5/jquery.min.js + jquery/1.6/jquery.min.js + mootools/1.2/mootools-yui-compressed.js + mootools/1.3/mootools-yui-compressed.js + dojo/1.5/dojo/dojo.xd.js + dojo/1.6/dojo/dojo.xd.js + ext-core/3.0/ext-core.js + ext-core/3.1/ext-core.js + + Default value is "proto_min", which loads prototype 1.7 from the server control. + + + + Enable Javascript console logging? Useful for debugging. Default is false. + + + + Enable HTML5 web form elements in browsers that support them. + Default is false because the quality of the HTML5 web form elements is uneven across browsers. + + + + Best left unset, in which case language will be set automatically based on request's HTTP_ACCEPT_LANGUAGE + However, if you want to present the same locale settings to all users, then you can set this value to force the desired locale. + + + + Load base Javascript library (prototype, jQuery, etc)? + Default is true. + Set to false if library is being loaded another way. In this case, a BaseLib value is still required to indicate + which library Rico should connect to. + + + + Apply row striping to LiveGrids? Default is true. Applies only when themes are used. + + + + Comma separated list of 2 letter locales that Rico supports. + Do not set unless you have developed your own locale file. + + + + URL to load jQuery themes from. + Default is http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/ + Override this value if you have a jQuery theme on your own server. + + + + Returns the 2 character string representing the Rico locale file that was actually used on the client. + If there is no match between the requested languages and the available locale files, then english is used. + Only available during the render phase. + + + + Load settings from QueryString? true for demo, false for anything else. Default is false. + + + + Load settings from web.config file? Default is false. + If true, then the appSettings section of web.config will be checked for the following keys (which affect the similarly named properties): + + rico_BaseLib + rico_Language + rico_jTheme + rico_rTheme + rico_Logging + rico_HTML5 + rico_LoadBaseLib + rico_Striping + + Boolean values in web.config should be the strings "true" or "1" for true, and "false" or "0" for false. + + + + Initialize all grids on the page + Initialize grids with fixed # of rows first, + then initialize grids with variable # of rows + + + + Set theme to one of the jQuery Themeroller themes. Default is no theme. + Valid values are: + black-tie, blitzer, cupertino, dark-hive, dot-luv, eggplant, excite-bike, flick, + hot-sneaks, humanity, le-frog, mint-choc, overcast, pepper-grinder, redmond, smoothness, + south-street, start, sunny, swanky-purse, trontastic, ui-darkness, ui-lightness, vader + + + + Set theme to one of the Rico themes. Default is no theme. + Valid values are: + coffee-with-milk, grayedout, greenHdg, seaglass, warmfall + + + + Loads the various Javascript, CSS, and image files required to make Rico function. + + + + True if the text should be displayed using a bold font + + + + True if the text should be displayed in italics + + True if the text should be underlined @@ -576,128 +558,173 @@ Rico Container for a collection of Style objects - + - Background image for grid headings and window titles. - Should be left unset, as it is used only for the grayedout theme (in which case it is set automatically). + Initial width of the column in pixels. Default is to use SimpleGrid.defaultWidth. - + - The base Javascript library to load from http://ajax.googleapis.com/ajax/libs/, possible values include: + Is the user allowed to sort the column? Default is true. + + + + + Is the user allowed to drag a column value? Default is false. + + + + + Is the user allowed to filter the column? Default is true. + + + + + Javascript code to create a control object, which changes the way the column data is rendered. + The disadvantage of using this approach is that the altered rendering does not get reflected in exports. + A set of controls is defined in ricoLiveGridControls.js or the developer can create their own. + + + + + If the AutoFilter option is enabled for the grid, then filterUI will control how each column is filtered. If filterUI is: - prototype/1.6/prototype.js - prototype/1.7/prototype.js - jquery/1.3/jquery.min.js - jquery/1.4/jquery.min.js - jquery/1.5/jquery.min.js - jquery/1.6/jquery.min.js - mootools/1.2/mootools-yui-compressed.js - mootools/1.3/mootools-yui-compressed.js - dojo/1.4/dojo/dojo.xd.js - dojo/1.5/dojo/dojo.xd.js - dojo/1.6/dojo/dojo.xd.js - ext-core/3.0/ext-core.js - ext-core/3.1/ext-core.js + null or omitted, then no filter is displayed for the column. + 't' - will generate a text box filter and the records being displayed are filtered as the user types. May be followed by a number to indicate the size of the text box (default size is 10). + 's' - will generate a select list filter with all possible column values contained in the list. Populated using a 'select distinct' query if the grid's source is a SQL query. + 'm' - will generate multi-select checklist filter, with a checkbox text to each item. - Default value is "proto_min", which loads prototype 1.7 from the server control. - + + - Enable Javascript console logging? Useful for debugging. Default is false. + This setting allows the filterUI to filter a different column than where it is displayed. + This is particularly useful for dates, where you can show a year selection on an OrderDate date column for example, + but actually have it filter a hidden column OrderYear=year(OrderDate). - + + - Best left unset, in which case language will be set automatically based on request's HTTP_ACCEPT_LANGUAGE - However, if you want to present the same locale settings to all users, then you can set this value to force the desired locale. + The text content of this column will be included in delete confirmation messages. - + + - Load base Javascript library (prototype, jQuery, etc)? - Default is true. - Set to false if library is being loaded another way. In this case, a BaseLib value is still required to indicate - which library Rico should connect to. + If column is a number, this value can be used to multiply the database value by a factor before displaying it in the grid. + Default is 1. Automatically set to 100 if DataType is percent. - + + - Apply row striping to LiveGrids? Default is true. Applies only when themes are used. + If column is a number, this is the number of digits displayed to the right of the decimal point. Default is 0. + If DataType is dollar or euro, then decPlaces is automatically set to 2. - + + - Comma separated list of 2 letter locales that Rico supports. - Do not set unless you have developed your own locale file. + If column is a number, display the value with a thousands separator? Default is true. - + + - URL to load jQuery themes from. - Default is http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/ - Override this value if you have a jQuery theme on your own server. + Specifies how negative numbers should be displayed. Possible values: + + L=leading minus (default) + T=trailing minus + P=parentheses + + + + + If column is a number, this string is prepended to the number before display. + Useful for currency symbols. - + - Returns the 2 character string representing the Rico locale file that was actually used on the client. - If there is no match between the requested languages and the available locale files, then english is used. - Only available during the render phase. + If column is a number, this string is appended to the number before display. + Useful for percentages and temperature values. Automatically set to % if DataType is percent. - + - Load settings from QueryString? true for demo, false for anything else. Default is false. + Used to give the column heading a specific style. + In most cases this is not necessary, as the heading will be styled according to the theme. - + - Load settings from web.config file? Default is false. - If true, then the appSettings section of web.config will be checked for the following keys (which affect the similarly named properties): - - rico_BaseLib - rico_Language - rico_jTheme - rico_rTheme - rico_Logging - rico_LoadBaseLib - rico_Striping - - Boolean values in web.config should be the strings "true" or "1" for true, and "false" or "0" for false. - - + Database property - set automatically by LiveGrid.GetColumnInfoFromDb() + + - Initialize all grids on the page - Initialize grids with fixed # of rows first, - then initialize grids with variable # of rows + Database property - set automatically by LiveGrid.GetColumnInfoFromDb() - + - Set theme to one of the jQuery Themeroller themes. Default is no theme. - Valid values are: - black-tie, blitzer, cupertino, dark-hive, dot-luv, eggplant, excite-bike, flick, - hot-sneaks, humanity, le-frog, mint-choc, overcast, pepper-grinder, redmond, smoothness, - south-street, start, sunny, swanky-purse, trontastic, ui-darkness, ui-lightness, vader + Database property - set automatically by LiveGrid.GetColumnInfoFromDb() - + + + Database property - set automatically by LiveGrid.GetColumnInfoFromDb() + + + + Database property - set automatically by LiveGrid.GetColumnInfoFromDb() + + + + For internal use + + + + Text displayed in the column heading. + + + + Initial width of the column in pixels. Default is to use LiveGrid.defaultWidth. + + + + Returns an Excel-type number format string based on decPlaces, thouSep, prefix. + + - + - Set theme to one of the Rico themes. Default is no theme. - Valid values are: - coffee-with-milk, grayedout, greenHdg, seaglass, warmfall + Type of data stored in the column. + - + - Loads the various Javascript, CSS, and image files required to make Rico function. + Base class for a LiveGrid column - - - Returns the cached ResourceManager instance used by this class. - - + - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - A strongly-typed resource class, for looking up localized strings, etc. - + + TrueItem is shown on the entry form (default) + FalseItem is not shown on the form + + + + + Code indicating the ui to be used for data entry + + TAText Area + RRadio button list + RLRadio buttons via lookup (field is a foreign key) + SSelect list + SLSelect list via lookup (field is a foreign key) + CLCustom widget via lookup (field is a foreign key) + NSelect list of distinct column values, use allowed to add new values + BText, non-blank + TText + IInteger + FFloating point number + tinyMCERich text via tinyMCE + DDate + TSTime stamp + HHidden + + Class to define a SimpleGrid diff --git a/documentation/ChangesSinceRico2.txt b/documentation/ChangesSinceRico2.txt index 8626f76..04e9a7d 100644 --- a/documentation/ChangesSinceRico2.txt +++ b/documentation/ChangesSinceRico2.txt @@ -108,3 +108,8 @@ Methods and properties defined in ricoLiveGridAjax.js: ------------------------------------------------------ Rico.Buffer.AjaxXML -> renamed to Rico.Buffer.AjaxLoadOnce (clearer name, since it can be used to load JSON or XML data) + + +Methods and properties defined in ricoLiveGridControls.js: +---------------------------------------------------------- +Rico.TableColumn.HighlightCell -> removed, use styles instead diff --git a/examples/asp/menu.asp b/examples/asp/menu.asp index 52ef3e8..fc2f5d9 100644 --- a/examples/asp/menu.asp +++ b/examples/asp/menu.asp @@ -3,7 +3,6 @@ Rico 3.0 - <% @@ -34,7 +33,7 @@ ul li {
-
+
  • Example:
  • Theme: diff --git a/examples/asp/widgets.asp b/examples/asp/widgets.asp index dfeb0f0..d7939e3 100644 --- a/examples/asp/widgets.asp +++ b/examples/asp/widgets.asp @@ -18,21 +18,20 @@ set RicoClient = Nothing var dialog; Rico.onLoad( function() { - var opts = { + var grid_options = { defaultWidth : 90, useUnformattedColWidth: false, menuEvent : 'click', frozenColumns : 1, visibleRows : 6, highlightElem: 'cursorRow', - columnSpecs : [{width:200},'specQty','specQty','specQty','specQty','specQty'] + columnSpecs : [{width:200},{type: 'number'},{type: 'number'},{type: 'number'},{type: 'number'},{type: 'number'}] }; - var ex1=new Rico.LiveGrid ('population', new Rico.Buffer.Base(document.getElementById('population').tBodies[0]), opts); - ex1.menu=new Rico.GridMenu(); + var grid=new Rico.LiveGrid ('population', new Rico.Buffer.AjaxLoadOnce('../data/population.xml'), grid_options); + grid.menu=new Rico.GridMenu(); new Rico.Accordion( 'accExample', {panelHeight:160}); new Rico.TabbedPanel( 'tabsExample', {panelHeight:160}); var cal=new Rico.CalendarControl("ricoCal",{position:'auto'}); - cal.atLoad(); cal.selectNow(); cal.openPopup(); var links=Rico.select('#themeGallery a'); @@ -88,238 +87,6 @@ The widgets are compatible with all base libraries and themes. Population (thousands) Country or area 1950 2009 2015 2025 2050 - - Afghanistan 8151 28150 34246 44970 73938 - Albania 1215 3155 3256 3395 3303 - Algeria 8753 34895 38088 42882 49610 - American Samoa 19 67 74 86 107 - Andorra 6 86 93 107 137 - Angola 4148 18498 21690 27441 42267 - Anguilla 5 15 17 18 20 - Antigua and Barbuda 46 88 93 101 112 - Argentina 17150 40276 42548 45883 50943 - Armenia 1354 3083 3139 3181 3018 - Aruba 38 107 109 112 106 - Australia 8219 21293 22607 24703 28724 - Austria 6936 8364 8467 8600 8515 - Azerbaijan 2896 8832 9426 10128 10579 - Bahamas 79 342 366 402 455 - Bahrain 116 791 882 1021 1277 - Bangladesh 43595 162221 175217 195012 222495 - Barbados 211 256 260 262 237 - Belarus 7745 9634 9355 8851 7275 - Belgium 8628 10647 10878 11191 11493 - Belize 69 307 344 404 506 - Benin 2050 8935 10647 13767 21982 - Bermuda 37 65 65 66 63 - Bhutan 168 697 770 865 1013 - Bolivia 2714 9863 10854 12368 14908 - Bosnia and Herzegovina 2661 3767 3727 3608 3008 - Botswana 413 1950 2106 2337 2758 - Brazil 53975 193734 202866 213802 218512 - British Virgin Islands 7 23 24 26 28 - Brunei Darussalam 48 400 443 513 658 - Bulgaria 7251 7545 7263 6752 5392 - Burkina Faso 4080 15757 19013 24837 40830 - Burundi 2456 8303 9413 11161 14846 - Cambodia 4346 14805 16357 18973 23795 - Cameroon 4466 19522 22169 26478 36736 - Canada 13737 33573 35493 38659 44414 - Cape Verde 146 506 548 616 703 - Cayman Islands 7 56 59 63 66 - Central African Republic 1327 4422 4927 5747 7603 - Chad 2429 11206 13120 16906 27776 - Channel Islands 102 150 151 152 144 - Chile 6082 16970 17926 19266 20657 - China 544951 1345751 1395998 1453140 1417045 - China, Hong Kong SAR 1974 7022 7398 7969 8623 - China, Macao SAR 190 538 568 603 593 - Colombia 12000 45660 49385 54920 62877 - Comoros 156 676 767 907 1226 - Congo 808 3683 4225 5094 6863 - Cook Islands 15 20 20 21 24 - Costa Rica 966 4579 4957 5521 6373 - Côte d'Ivoire 2505 21075 24210 29738 43373 - Croatia 3850 4416 4370 4254 3825 - Cuba 5920 11204 11213 11148 9725 - Cyprus 494 871 925 1014 1175 - Czech Republic 8925 10369 10510 10573 10294 - Dem. People's Rep. of Korea 9737 23906 24399 25128 24562 - Dem. Republic of the Congo 12184 66020 77419 98123 147512 - Denmark 4271 5470 5523 5590 5551 - Djibouti 62 864 953 1111 1469 - Dominica 51 67 67 68 66 - Dominican Republic 2427 10090 10867 11973 13441 - Ecuador 3387 13625 14596 16074 17989 - Egypt 21514 82999 91778 104970 129533 - El Salvador 2200 6163 6383 6895 7882 - Equatorial Guinea 226 676 781 971 1445 - Eritrea 1141 5073 6009 7404 10787 - Estonia 1101 1340 1337 1321 1233 - Ethiopia 18434 82825 96237 119822 173811 - Faeroe Islands 32 50 52 55 58 - Falkland Islands (Malvinas) 2 3 3 3 3 - Fiji 289 849 874 905 910 - Finland 4009 5326 5432 5533 5445 - France 41832 62343 63900 65769 67668 - French Guiana 25 226 261 323 462 - French Polynesia 61 269 289 318 354 - Gabon 469 1475 1639 1915 2471 - Gambia 258 1705 1985 2478 3763 - Georgia 3527 4260 4084 3888 3267 - Germany 68376 82167 81346 79258 70504 - Ghana 4981 23837 26925 32233 45213 - Gibraltar 20 31 31 32 30 - Greece 7566 11161 11261 11274 10939 - Greenland 23 57 57 56 50 - Grenada 77 104 107 109 97 - Guadeloupe 210 465 476 489 477 - Guam 60 178 191 211 242 - Guatemala 3146 14027 16227 19927 27480 - Guinea 2619 10069 11844 15158 23975 - Guinea-Bissau 518 1611 1848 2296 3555 - Guyana 423 762 754 732 558 - Haiti 3221 10033 10957 12476 15485 - Holy See 1 1 1 1 1 - Honduras 1487 7466 8386 9844 12402 - Hungary 9338 9993 9874 9647 8934 - Iceland 143 323 353 384 407 - India 371857 1198003 1294192 1431272 1613800 - Indonesia 77152 229965 244191 263287 288110 - Iran (Islamic Republic of) 16913 74196 79454 87134 96975 - Iraq 5719 30747 35884 44692 63995 - Ireland 2969 4515 4886 5370 6295 - Isle of Man 55 80 81 80 75 - Israel 1258 7170 7823 8769 10649 - Italy 46367 59870 60604 60018 57066 - Jamaica 1403 2719 2786 2866 2683 - Japan 82824 127156 125791 120793 101659 - Jordan 472 6316 6957 8088 10241 - Kazakhstan 6703 15637 16289 17025 17848 - Kenya 6077 39802 46433 57573 85410 - Kiribati 26 98 107 123 151 - Kuwait 152 2985 3378 3988 5240 - Kyrgyzstan 1740 5482 5877 6378 6882 - Lao People's Dem. Republic 1666 6320 7028 8273 10744 - Latvia 1949 2249 2197 2101 1854 - Lebanon 1443 4224 4426 4736 5033 - Lesotho 734 2067 2168 2306 2491 - Liberia 824 3955 4665 5858 8841 - Libyan Arab Jamahiriya 1029 6420 7158 8144 9819 - Liechtenstein 14 36 38 40 45 - Lithuania 2567 3287 3143 2985 2579 - Luxembourg 296 486 520 582 733 - Madagascar 4084 19625 22853 28595 42693 - Malawi 2881 15263 17998 23194 36575 - Malaysia 6110 27468 30041 33770 39664 - Maldives 82 309 338 384 455 - Mali 4268 13010 14993 18603 28260 - Malta 312 409 417 426 413 - Marshall Islands 13 62 70 79 92 - Martinique 222 405 411 418 393 - Mauritania 651 3291 3732 4443 6061 - Mauritius 493 1288 1337 1400 1426 - Mayotte 15 194 224 277 386 - Mexico 27741 109610 115528 123366 128964 - Micronesia (Fed. States of) 32 111 114 122 128 - Moldova (Republic of) 2341 3604 3462 3291 2734 - Monaco 20 33 33 35 38 - Mongolia 761 2671 2855 3134 3446 - Montenegro 399 624 627 633 618 - Montserrat 14 6 6 7 7 - Morocco 8953 31993 34330 37865 42583 - Mozambique 6442 22894 25957 31190 44148 - Myanmar 17158 50020 53087 57585 63373 - Namibia 485 2171 2412 2810 3588 - Nauru 3 10 11 11 11 - Nepal 8126 29331 32503 38031 49028 - Netherlands 10114 16592 16915 17348 17399 - Netherlands Antilles 112 198 207 210 192 - New Caledonia 65 250 271 304 362 - New Zealand 1908 4266 4492 4831 5349 - Nicaragua 1295 5743 6265 7058 8143 - Niger 2462 15290 19150 27388 58216 - Nigeria 36680 154729 175928 210057 289083 - Niue 5 1 1 1 1 - Northern Mariana Islands 7 87 96 111 151 - Norway 3265 4812 5036 5365 5947 - Occupied Palestinian Territory 1005 4277 5090 6553 10265 - Oman 456 2845 3198 3782 4878 - Pakistan 41177 180808 205504 246286 335195 - Palau 7 20 21 23 26 - Panama 860 3454 3773 4267 5092 - Papua New Guinea 1798 6732 7678 9265 12871 - Paraguay 1473 6349 7007 8026 9867 - Peru 7632 29165 31197 34528 39776 - Philippines 19996 91983 101734 117270 146156 - Pitcairn 0 0 0 0 0 - Poland 24824 38074 37788 36964 32013 - Portugal 8405 10707 10787 10706 10015 - Puerto Rico 2218 3982 4074 4176 4103 - Qatar 25 1409 1630 1848 2316 - Republic of Korea 19211 48333 49153 49484 44077 - Réunion 248 827 886 973 1096 - Romania 16311 21275 20787 19961 17279 - Russian Federation 102702 140874 137983 132345 116097 - Rwanda 2162 9998 11743 14676 22082 - Saint Helena 5 4 4 5 5 - Saint Kitts and Nevis 46 52 56 61 69 - Saint Lucia 83 172 182 198 217 - Saint Pierre and Miquelon 5 6 6 6 6 - St. Vincent and the Grenadines 67 109 110 111 119 - Samoa 82 179 181 188 192 - San Marino 13 31 32 33 33 - Sao Tome and Principe 60 163 180 216 296 - Saudi Arabia 3201 25721 28933 34176 43658 - Senegal 2416 12534 14526 17861 26102 - Serbia 6732 9850 9828 9720 9193 - Seychelles 36 84 86 91 97 - Sierra Leone 1944 5696 6557 8112 12446 - Singapore 1022 4737 5059 5362 5221 - Slovakia 3463 5406 5437 5413 4917 - Slovenia 1473 2020 2044 2050 1954 - Solomon Islands 90 523 599 725 1007 - Somalia 2264 9133 10731 13922 23522 - South Africa 13683 50110 51684 53766 56802 - Spain 28009 44904 47203 49265 51260 - Sri Lanka 8241 20238 21167 22033 21705 - Sudan 9190 42272 47730 56688 75884 - Suriname 215 520 547 586 619 - Swaziland 273 1185 1287 1455 1749 - Sweden 7014 9249 9498 9915 10571 - Switzerland 4693 7568 7736 8020 8514 - Syrian Arab Republic 3536 21906 24494 28592 36911 - Tajikistan 1532 6952 7761 9075 11111 - TFYR Macedonia 1230 2042 2045 2037 1857 - Thailand 20607 67764 69939 72628 73361 - Timor-Leste 433 1134 1385 1869 3217 - Togo 1329 6619 7607 9282 13196 - Tokelau 2 1 1 1 1 - Tonga 47 104 105 112 123 - Trinidad and Tobago 636 1339 1368 1388 1278 - Tunisia 3530 10272 10884 11797 12711 - Turkey 21484 74816 79966 87364 97389 - Turkmenistan 1211 5110 5509 6072 6796 - Turks and Caicos Islands 5 33 35 38 40 - Tuvalu 5 10 10 11 11 - Uganda 5158 32710 39710 53406 91271 - Ukraine 37298 45708 44165 41617 35026 - United Arab Emirates 70 4599 5193 6109 8253 - United Kingdom 50616 61565 63528 66601 72365 - United Republic of Tanzania 7650 43739 52109 67394 109450 - United States of America 157813 314659 332334 358735 403932 - United States Virgin Islands 27 110 108 103 75 - Uruguay 2239 3361 3430 3546 3637 - Uzbekistan 6314 27488 29456 32715 36439 - Vanuatu 48 240 276 338 482 - Venezuela (Bolivarian Republic of) 5094 28583 31292 35370 42042 - Viet Nam 27367 88069 93647 102054 111666 - Wallis and Futuna Islands 7 15 16 17 17 - Western Sahara 14 513 625 775 938 - Yemen 4316 23580 27819 35509 53689 - Zambia 2340 12935 14980 18890 28957 - Zimbabwe 2747 12523 14029 16780 22178 -

    Data source: Population Division of the diff --git a/examples/dotnet/3grids.aspx b/examples/dotnet/3grids.aspx index 2141daf..de7641f 100644 --- a/examples/dotnet/3grids.aspx +++ b/examples/dotnet/3grids.aspx @@ -173,9 +173,9 @@ Double-click on an order to see the line items for that order. - - - + + + diff --git a/examples/dotnet/gridFromTable.aspx b/examples/dotnet/gridFromTable.aspx index 620a1b4..8931c25 100644 --- a/examples/dotnet/gridFromTable.aspx +++ b/examples/dotnet/gridFromTable.aspx @@ -26,7 +26,7 @@ When the data source is a SQL database, then filtering and sorting are done by t Click on a cell to see the available actions.

- + diff --git a/examples/dotnet/menu.aspx b/examples/dotnet/menu.aspx index 72e4d8b..881a85d 100644 --- a/examples/dotnet/menu.aspx +++ b/examples/dotnet/menu.aspx @@ -34,7 +34,8 @@ ul li {
  • Theme:
  • Base Lib:
  • Locale: Automatic -
  •   Enable logging +
  •   Enable console logging +
  •   Enable HTML5 web form inputs diff --git a/examples/html/menu.html b/examples/html/menu.html index 6d7efc5..90bd1ea 100644 --- a/examples/html/menu.html +++ b/examples/html/menu.html @@ -3,10 +3,8 @@ Rico 3.0 - - @@ -31,7 +29,7 @@ ul li {
    -
    +
    • Example:
    • Theme: diff --git a/examples/php/LoadRicoClient.php b/examples/php/LoadRicoClient.php index f8b990b..76dc683 100644 --- a/examples/php/LoadRicoClient.php +++ b/examples/php/LoadRicoClient.php @@ -49,7 +49,6 @@ function LoadLib($baseLib, $baseLoadFlag) { echo "\n"; } } - requireRicoJS(""); requireRicoJS("2" . substr($baseLib,0,3)); requireRicoJS("_min"); requireRicoCSS("rico"); diff --git a/examples/php/menu.html b/examples/php/menu.html index 3d0da6c..bcce0c7 100644 --- a/examples/php/menu.html +++ b/examples/php/menu.html @@ -3,10 +3,8 @@ Rico 3.0 - - @@ -31,7 +29,7 @@ ul li {
    - +
    • Example:
    • Theme: diff --git a/examples/php/widgets.php b/examples/php/widgets.php index cc53522..0f3b086 100644 --- a/examples/php/widgets.php +++ b/examples/php/widgets.php @@ -12,21 +12,20 @@ require "LoadRicoClient.php"; var dialog; Rico.onLoad( function() { - var opts = { + var grid_options = { defaultWidth : 90, useUnformattedColWidth: false, menuEvent : 'click', frozenColumns : 1, visibleRows : 6, highlightElem: 'cursorRow', - columnSpecs : [{width:200},'specQty','specQty','specQty','specQty','specQty'] + columnSpecs : [{width:200},{type: 'number'},{type: 'number'},{type: 'number'},{type: 'number'},{type: 'number'}] }; - var ex1=new Rico.LiveGrid ('population', new Rico.Buffer.Base(document.getElementById('population').tBodies[0]), opts); - ex1.menu=new Rico.GridMenu(); + var grid=new Rico.LiveGrid ('population', new Rico.Buffer.AjaxLoadOnce('../data/population.xml'), grid_options); + grid.menu=new Rico.GridMenu(); new Rico.Accordion( 'accExample', {panelHeight:160}); new Rico.TabbedPanel( 'tabsExample', {panelHeight:160}); var cal=new Rico.CalendarControl("ricoCal",{position:'auto'}); - cal.atLoad(); cal.selectNow(); cal.openPopup(); var links=Rico.select('#themeGallery a'); @@ -45,10 +44,10 @@ function openWindow(btn) {