From 144ae892fbfaa4148b646cd81312087760ddd52f Mon Sep 17 00:00:00 2001 From: Matt Brown Date: Wed, 20 Apr 2011 04:03:44 +0000 Subject: [PATCH] Updated Rico2 and Rico3 with fixes for IE9. Updated Rico2 version to 2.3. Updated Rico3 version to 3.0b2. Moved striping files in Rico3 to css directory. Still need to update min.rico.js in Rico2. git-svn-id: svn://svn.code.sf.net/p/openrico/code/trunk/rico3@72 53df2df2-7ab5-4331-af62-ea79255fa4e2 --- examples/ChangesSinceRico2.txt | 3 +- examples/asp/LoadRicoClient.asp | 2 +- examples/dotnet/LoadRicoClient.ascx | 2 +- examples/html/LoadRicoClient.js | 2 +- examples/php/LoadRicoClient.php | 2 +- plugins/dotnet/ricoResponse.ascx | 187 +++++++++++------- .../black-tie.css => striping_black-tie.css} | 0 .../blitzer.css => striping_blitzer.css} | 0 ...milk.css => striping_coffee-with-milk.css} | 0 .../cupertino.css => striping_cupertino.css} | 0 .../dark-hive.css => striping_dark-hive.css} | 0 .../dot-luv.css => striping_dot-luv.css} | 0 .../eggplant.css => striping_eggplant.css} | 0 ...cite-bike.css => striping_excite-bike.css} | 0 .../flick.css => striping_flick.css} | 0 .../grayedout.css => striping_grayedout.css} | 0 .../greenHdg.css => striping_greenHdg.css} | 0 ...hot-sneaks.css => striping_hot-sneaks.css} | 0 .../humanity.css => striping_humanity.css} | 0 .../le-frog.css => striping_le-frog.css} | 0 .../mint-choc.css => striping_mint-choc.css} | 0 .../overcast.css => striping_overcast.css} | 0 ...rinder.css => striping_pepper-grinder.css} | 0 .../redmond.css => striping_redmond.css} | 0 .../seaglass.css => striping_seaglass.css} | 0 ...smoothness.css => striping_smoothness.css} | 0 ...h-street.css => striping_south-street.css} | 0 .../start.css => striping_start.css} | 0 .../sunny.css => striping_sunny.css} | 0 ...-darkness.css => striping_ui-darkness.css} | 0 ...ightness.css => striping_ui-lightness.css} | 0 .../vader.css => striping_vader.css} | 0 .../warmfall.css => striping_warmfall.css} | 0 ricoClient/js/rico.js | 4 +- ricoClient/js/ricoLiveGrid.js | 2 +- ricoClient/js/ricoLiveGridAjax.js | 4 +- 36 files changed, 132 insertions(+), 76 deletions(-) rename ricoClient/css/{striping/black-tie.css => striping_black-tie.css} (100%) rename ricoClient/css/{striping/blitzer.css => striping_blitzer.css} (100%) rename ricoClient/css/{striping/coffee-with-milk.css => striping_coffee-with-milk.css} (100%) rename ricoClient/css/{striping/cupertino.css => striping_cupertino.css} (100%) rename ricoClient/css/{striping/dark-hive.css => striping_dark-hive.css} (100%) rename ricoClient/css/{striping/dot-luv.css => striping_dot-luv.css} (100%) rename ricoClient/css/{striping/eggplant.css => striping_eggplant.css} (100%) rename ricoClient/css/{striping/excite-bike.css => striping_excite-bike.css} (100%) rename ricoClient/css/{striping/flick.css => striping_flick.css} (100%) rename ricoClient/css/{striping/grayedout.css => striping_grayedout.css} (100%) rename ricoClient/css/{striping/greenHdg.css => striping_greenHdg.css} (100%) rename ricoClient/css/{striping/hot-sneaks.css => striping_hot-sneaks.css} (100%) rename ricoClient/css/{striping/humanity.css => striping_humanity.css} (100%) rename ricoClient/css/{striping/le-frog.css => striping_le-frog.css} (100%) rename ricoClient/css/{striping/mint-choc.css => striping_mint-choc.css} (100%) rename ricoClient/css/{striping/overcast.css => striping_overcast.css} (100%) rename ricoClient/css/{striping/pepper-grinder.css => striping_pepper-grinder.css} (100%) rename ricoClient/css/{striping/redmond.css => striping_redmond.css} (100%) rename ricoClient/css/{striping/seaglass.css => striping_seaglass.css} (100%) rename ricoClient/css/{striping/smoothness.css => striping_smoothness.css} (100%) rename ricoClient/css/{striping/south-street.css => striping_south-street.css} (100%) rename ricoClient/css/{striping/start.css => striping_start.css} (100%) rename ricoClient/css/{striping/sunny.css => striping_sunny.css} (100%) rename ricoClient/css/{striping/ui-darkness.css => striping_ui-darkness.css} (100%) rename ricoClient/css/{striping/ui-lightness.css => striping_ui-lightness.css} (100%) rename ricoClient/css/{striping/vader.css => striping_vader.css} (100%) rename ricoClient/css/{striping/warmfall.css => striping_warmfall.css} (100%) diff --git a/examples/ChangesSinceRico2.txt b/examples/ChangesSinceRico2.txt index 6942e00..5f9a015 100644 --- a/examples/ChangesSinceRico2.txt +++ b/examples/ChangesSinceRico2.txt @@ -3,7 +3,8 @@ included: 1) More themes of higher quality. This was achieved by making Rico compatible with jQuery Themeroller. Even better, the use of Themeroller themes does not require -the use of jQuery. +the use of jQuery. LiveGrid striping is defined for all of the Rico AND Themeroller +themes. 2) Break Rico's dependence on Prototype. Rico can still run with Prototype, but it can also run with jQuery, MooTools, dojo, ext (core), or Glow. diff --git a/examples/asp/LoadRicoClient.asp b/examples/asp/LoadRicoClient.asp index 8e405f5..54a9dde 100644 --- a/examples/asp/LoadRicoClient.asp +++ b/examples/asp/LoadRicoClient.asp @@ -106,7 +106,7 @@ sub LoadTheme(theme) case "r": requireRicoCSS themeFile end select - if grid_striping then Response.Write vbLf & "" + if grid_striping then Response.Write vbLf & "" end sub diff --git a/examples/dotnet/LoadRicoClient.ascx b/examples/dotnet/LoadRicoClient.ascx index f3bb9fd..a4d43c0 100644 --- a/examples/dotnet/LoadRicoClient.ascx +++ b/examples/dotnet/LoadRicoClient.ascx @@ -149,7 +149,7 @@ Protected sub LoadTheme(writer as HTMLTextWriter, theme as String) case "r": requireRicoCSS(writer, themeFile) end select - if grid_striping then writer.Write(vbLf & "") + if grid_striping then writer.Write(vbLf & "") end sub diff --git a/examples/html/LoadRicoClient.js b/examples/html/LoadRicoClient.js index c2d0306..2d01c93 100644 --- a/examples/html/LoadRicoClient.js +++ b/examples/html/LoadRicoClient.js @@ -64,7 +64,7 @@ Rico_CONFIG = { this.requireRicoCSS(theme); break; } - if (this.grid_striping) document.write(""); + if (this.grid_striping) document.write(""); }, requireRicoJS: function(filename) { diff --git a/examples/php/LoadRicoClient.php b/examples/php/LoadRicoClient.php index add8257..ae580b0 100644 --- a/examples/php/LoadRicoClient.php +++ b/examples/php/LoadRicoClient.php @@ -96,7 +96,7 @@ function LoadTheme($theme) { break; } if ($grid_striping) { - echo ""; + echo ""; } } diff --git a/plugins/dotnet/ricoResponse.ascx b/plugins/dotnet/ricoResponse.ascx index 615de3b..dc4e965 100644 --- a/plugins/dotnet/ricoResponse.ascx +++ b/plugins/dotnet/ricoResponse.ascx @@ -46,7 +46,9 @@ Protected Sub Page_Init(Sender As object, e As EventArgs) dim sHidden as string = trim(Request.QueryString("hidden")) if not IsNumeric(sRequestOffset) then sRequestOffset="0" + if sRequestOffset<>"" then sRequestOffset=Regex.Replace( sRequestOffset, "[^0-9-]", "" ) if sRequestOffset<>"" then offset=CLng(sRequestOffset) + if sRequestSize<>"" then sRequestSize=Regex.Replace( sRequestSize, "[^0-9-]", "" ) if sRequestSize<>"" then numrows=CLng(sRequestSize) if sDistinct<>"" then distinctCol=CLng(sDistinct) if sEdit<>"" then editCol=CLng(sEdit) @@ -84,13 +86,21 @@ Public Sub RunQuery(writer as HTMLTextWriter) SendHdg=true case "xl": Response.ContentType="application/vnd.ms-excel" - writer.WriteLine("") - closetags="" - RowsStart=vbLf & "" - RowsEnd=vbLf & "
" + Response.AddHeader("Content-Disposition", "attachment; filename=" & RequestId & ".xml") + writer.WriteLine("") + writer.WriteLine("") + writer.WriteLine("") + writer.WriteLine(" ") + writer.WriteLine(" ") + writer.WriteLine(" ") + writer.WriteLine(" ") + closetags="" + RowsStart=vbLf & "" + RowsEnd=vbLf & "" + gettotal=false sendDebugMsgs=false - SendHdg=true + AllRowsMax=65534 ' allow 1 row for heading case "json": Response.ContentType="application/json" writer.Write("{" & vbLf & """id"":""" & RequestId & """") @@ -185,7 +195,7 @@ end sub ' returns the total number of rows produced by the query (or -1 if unknown) Protected Function RenderQueryRows(writer as HTMLTextWriter) As Integer - dim rowcnt as integer, fldNum as integer, dbDate as DateTime, strFieldItem as String + dim rowcnt as integer, fldNum as integer, dbDate as DateTime, strFieldItem as String, fldType as String, fldAttr as String dim firstCol as Integer=0, limitQuery as Boolean=false, eof as Boolean=false, n as String dim rdr as object dim totcnt as Integer=0 @@ -204,7 +214,7 @@ Protected Function RenderQueryRows(writer as HTMLTextWriter) As Integer oParse.ParseSelect(sqlText) ApplyQStringParms() sqlText=oParse.UnparseSelect() - elseif numrows < 0 then + elseif numrows < 0 or offset=0 then ApplyQStringParms() sqlText=oParse.UnparseSelectSkip(HiddenCols) else @@ -251,81 +261,126 @@ Protected Function RenderQueryRows(writer as HTMLTextWriter) As Integer rowcnt=0 if numrows < 0 then numrows=AllRowsMax - if fmt="json" then - if SendHdg then - writer.Write(vbLf & "[") - for fldNum=firstCol to rdr.FieldCount -1 - if IsNothing(oParse) then - n=Nothing - else - n=oParse.Headings(fldNum-firstCol) - end if - if IsNothing(n) then n=rdr.GetName(fldNum) - writer.Write("""" & escapeJSON(n) & """") - next - writer.Write("]") - end if - while (rowcnt < numrows) and (not eof) - if rdr.Read() then - if rowcnt > 0 or SendHdg then writer.Write(",") + select case fmt + + case "json": + if SendHdg then writer.Write(vbLf & "[") - for fldNum = firstCol to rdr.FieldCount -1 - strFieldItem = "" - if not rdr.IsDBNull(fldNum) then - select case rdr.GetFieldType(fldNum).Name - case "DateTime": - dbDate=rdr.GetDateTime(fldNum) - strFieldItem = replace(dbDate.ToString("s"),"T"," ") ' convert to ISO-8601 format - case else: - strFieldItem = escapeJSON(rdr.GetValue(fldNum)) - end select + for fldNum=firstCol to rdr.FieldCount -1 + if IsNothing(oParse) then + n=Nothing + else + n=oParse.Headings(fldNum-firstCol) end if - if fldNum > firstCol then writer.Write(",") - writer.Write("""" & strFieldItem & """") + if IsNothing(n) then n=rdr.GetName(fldNum) + writer.Write("""" & escapeJSON(n) & """") next writer.Write("]") - rowcnt += 1 - else - eof=true end if - end while - else - if SendHdg then - writer.Write(vbLf & "") - for fldNum=firstCol to rdr.FieldCount -1 + while (rowcnt < numrows) and (not eof) + if rdr.Read() then + if rowcnt > 0 or SendHdg then writer.Write(",") + writer.Write(vbLf & "[") + for fldNum = firstCol to rdr.FieldCount -1 + strFieldItem = "" + if not rdr.IsDBNull(fldNum) then + select case rdr.GetFieldType(fldNum).Name + case "DateTime": + dbDate=rdr.GetDateTime(fldNum) + strFieldItem = replace(dbDate.ToString("s"),"T"," ") ' convert to ISO-8601 format + case else: + strFieldItem = escapeJSON(rdr.GetValue(fldNum)) + end select + end if + if fldNum > firstCol then writer.Write(",") + writer.Write("""" & strFieldItem & """") + next + writer.Write("]") + rowcnt += 1 + else + eof=true + end if + end while + + case "xl": + writer.Write(vbLf & "") + for fldNum=firstCol to rdr.FieldCount-1 if IsNothing(oParse) then n=Nothing else n=oParse.Headings(fldNum-firstCol) end if if IsNothing(n) then n=rdr.GetName(fldNum) - writer.Write("" & server.HTMLEncode(n) & "") + writer.Write("" & server.HTMLEncode(n) & "") next - writer.Write("") - end if - while (rowcnt < numrows) and (not eof) - if rdr.Read() then - rowcnt += 1 - writer.Write("") - for fldNum = firstCol to rdr.FieldCount -1 - strFieldItem = "" - if not rdr.IsDBNull(fldNum) then - select case rdr.GetFieldType(fldNum).Name - case "DateTime": - dbDate=rdr.GetDateTime(fldNum) - strFieldItem = replace(dbDate.ToString("s"),"T"," ") ' convert to ISO-8601 format - case else: - strFieldItem = server.HTMLEncode(rdr.GetValue(fldNum)) - end select + writer.Write("") + while (rowcnt < numrows) and (not eof) + if rdr.Read() then + rowcnt += 1 + writer.Write("") + for fldNum = firstCol to rdr.FieldCount -1 + strFieldItem = "" + fldAttr = "" + fldType = "String" + if not rdr.IsDBNull(fldNum) then + select case UCase(Left(rdr.GetFieldType(fldNum).Name, 3)) + case "DAT": + dbDate=rdr.GetDateTime(fldNum) + strFieldItem = dbDate.ToString("s") ' convert to ISO-8601 format + fldType = "DateTime" + fldAttr = " s:StyleID='sDate'" + case "INT", "DOU", "DEC": + strFieldItem = CStr(rdr.GetValue(fldNum)) + fldType = "Number" + case else: + strFieldItem = server.HTMLEncode(rdr.GetValue(fldNum)) + end select + end if + writer.Write("" & strFieldItem & "") + next + writer.Write("") + else + eof=true + end if + end while + + case else: + if SendHdg then + writer.Write(vbLf & "") + for fldNum=firstCol to rdr.FieldCount -1 + if IsNothing(oParse) then + n=Nothing + else + n=oParse.Headings(fldNum-firstCol) end if - writer.Write("" & strFieldItem & "") + if IsNothing(n) then n=rdr.GetName(fldNum) + writer.Write("" & server.HTMLEncode(n) & "") next writer.Write("") - else - eof=true end if - end while - end if + while (rowcnt < numrows) and (not eof) + if rdr.Read() then + rowcnt += 1 + writer.Write("") + for fldNum = firstCol to rdr.FieldCount -1 + strFieldItem = "" + if not rdr.IsDBNull(fldNum) then + select case rdr.GetFieldType(fldNum).Name + case "DateTime": + dbDate=rdr.GetDateTime(fldNum) + strFieldItem = replace(dbDate.ToString("s"),"T"," ") ' convert to ISO-8601 format + case else: + strFieldItem = server.HTMLEncode(rdr.GetValue(fldNum)) + end select + end if + writer.Write("" & strFieldItem & "") + next + writer.Write("") + else + eof=true + end if + end while + end select totcnt += rowcnt if not eof and gettotal then diff --git a/ricoClient/css/striping/black-tie.css b/ricoClient/css/striping_black-tie.css similarity index 100% rename from ricoClient/css/striping/black-tie.css rename to ricoClient/css/striping_black-tie.css diff --git a/ricoClient/css/striping/blitzer.css b/ricoClient/css/striping_blitzer.css similarity index 100% rename from ricoClient/css/striping/blitzer.css rename to ricoClient/css/striping_blitzer.css diff --git a/ricoClient/css/striping/coffee-with-milk.css b/ricoClient/css/striping_coffee-with-milk.css similarity index 100% rename from ricoClient/css/striping/coffee-with-milk.css rename to ricoClient/css/striping_coffee-with-milk.css diff --git a/ricoClient/css/striping/cupertino.css b/ricoClient/css/striping_cupertino.css similarity index 100% rename from ricoClient/css/striping/cupertino.css rename to ricoClient/css/striping_cupertino.css diff --git a/ricoClient/css/striping/dark-hive.css b/ricoClient/css/striping_dark-hive.css similarity index 100% rename from ricoClient/css/striping/dark-hive.css rename to ricoClient/css/striping_dark-hive.css diff --git a/ricoClient/css/striping/dot-luv.css b/ricoClient/css/striping_dot-luv.css similarity index 100% rename from ricoClient/css/striping/dot-luv.css rename to ricoClient/css/striping_dot-luv.css diff --git a/ricoClient/css/striping/eggplant.css b/ricoClient/css/striping_eggplant.css similarity index 100% rename from ricoClient/css/striping/eggplant.css rename to ricoClient/css/striping_eggplant.css diff --git a/ricoClient/css/striping/excite-bike.css b/ricoClient/css/striping_excite-bike.css similarity index 100% rename from ricoClient/css/striping/excite-bike.css rename to ricoClient/css/striping_excite-bike.css diff --git a/ricoClient/css/striping/flick.css b/ricoClient/css/striping_flick.css similarity index 100% rename from ricoClient/css/striping/flick.css rename to ricoClient/css/striping_flick.css diff --git a/ricoClient/css/striping/grayedout.css b/ricoClient/css/striping_grayedout.css similarity index 100% rename from ricoClient/css/striping/grayedout.css rename to ricoClient/css/striping_grayedout.css diff --git a/ricoClient/css/striping/greenHdg.css b/ricoClient/css/striping_greenHdg.css similarity index 100% rename from ricoClient/css/striping/greenHdg.css rename to ricoClient/css/striping_greenHdg.css diff --git a/ricoClient/css/striping/hot-sneaks.css b/ricoClient/css/striping_hot-sneaks.css similarity index 100% rename from ricoClient/css/striping/hot-sneaks.css rename to ricoClient/css/striping_hot-sneaks.css diff --git a/ricoClient/css/striping/humanity.css b/ricoClient/css/striping_humanity.css similarity index 100% rename from ricoClient/css/striping/humanity.css rename to ricoClient/css/striping_humanity.css diff --git a/ricoClient/css/striping/le-frog.css b/ricoClient/css/striping_le-frog.css similarity index 100% rename from ricoClient/css/striping/le-frog.css rename to ricoClient/css/striping_le-frog.css diff --git a/ricoClient/css/striping/mint-choc.css b/ricoClient/css/striping_mint-choc.css similarity index 100% rename from ricoClient/css/striping/mint-choc.css rename to ricoClient/css/striping_mint-choc.css diff --git a/ricoClient/css/striping/overcast.css b/ricoClient/css/striping_overcast.css similarity index 100% rename from ricoClient/css/striping/overcast.css rename to ricoClient/css/striping_overcast.css diff --git a/ricoClient/css/striping/pepper-grinder.css b/ricoClient/css/striping_pepper-grinder.css similarity index 100% rename from ricoClient/css/striping/pepper-grinder.css rename to ricoClient/css/striping_pepper-grinder.css diff --git a/ricoClient/css/striping/redmond.css b/ricoClient/css/striping_redmond.css similarity index 100% rename from ricoClient/css/striping/redmond.css rename to ricoClient/css/striping_redmond.css diff --git a/ricoClient/css/striping/seaglass.css b/ricoClient/css/striping_seaglass.css similarity index 100% rename from ricoClient/css/striping/seaglass.css rename to ricoClient/css/striping_seaglass.css diff --git a/ricoClient/css/striping/smoothness.css b/ricoClient/css/striping_smoothness.css similarity index 100% rename from ricoClient/css/striping/smoothness.css rename to ricoClient/css/striping_smoothness.css diff --git a/ricoClient/css/striping/south-street.css b/ricoClient/css/striping_south-street.css similarity index 100% rename from ricoClient/css/striping/south-street.css rename to ricoClient/css/striping_south-street.css diff --git a/ricoClient/css/striping/start.css b/ricoClient/css/striping_start.css similarity index 100% rename from ricoClient/css/striping/start.css rename to ricoClient/css/striping_start.css diff --git a/ricoClient/css/striping/sunny.css b/ricoClient/css/striping_sunny.css similarity index 100% rename from ricoClient/css/striping/sunny.css rename to ricoClient/css/striping_sunny.css diff --git a/ricoClient/css/striping/ui-darkness.css b/ricoClient/css/striping_ui-darkness.css similarity index 100% rename from ricoClient/css/striping/ui-darkness.css rename to ricoClient/css/striping_ui-darkness.css diff --git a/ricoClient/css/striping/ui-lightness.css b/ricoClient/css/striping_ui-lightness.css similarity index 100% rename from ricoClient/css/striping/ui-lightness.css rename to ricoClient/css/striping_ui-lightness.css diff --git a/ricoClient/css/striping/vader.css b/ricoClient/css/striping_vader.css similarity index 100% rename from ricoClient/css/striping/vader.css rename to ricoClient/css/striping_vader.css diff --git a/ricoClient/css/striping/warmfall.css b/ricoClient/css/striping_warmfall.css similarity index 100% rename from ricoClient/css/striping/warmfall.css rename to ricoClient/css/striping_warmfall.css diff --git a/ricoClient/js/rico.js b/ricoClient/js/rico.js index 96c21c5..67e7e7e 100644 --- a/ricoClient/js/rico.js +++ b/ricoClient/js/rico.js @@ -17,7 +17,7 @@ * @namespace Main Rico object */ var Rico = { - Version: '3.0b1', + Version: '3.0b2', loadRequested: 1, loadComplete: 2, theme: {}, @@ -492,7 +492,7 @@ positionCtlOverIcon: function(ctl,icon) { createFormField: function(parent,elemTag,elemType,id,name) { var field; if (typeof name!='string') name=id; - if (this.isIE) { + if (this.isIE && this.ieVersion < 8) { // IE cannot set NAME attribute on dynamically created elements var s=elemTag+' id="'+id+'"'; if (elemType) { diff --git a/ricoClient/js/ricoLiveGrid.js b/ricoClient/js/ricoLiveGrid.js index 5695253..15a08ad 100644 --- a/ricoClient/js/ricoLiveGrid.js +++ b/ricoClient/js/ricoLiveGrid.js @@ -495,7 +495,7 @@ Rico.LiveGrid.prototype = { highlightClass : Rico.theme.gridHighlightClass || 'ricoLG_selection', // export/print parameters - maxPrint : 1000, // max # of rows that can be printed/exported, 0=disable print/export feature + maxPrint : 5000, // max # of rows that can be printed/exported, 0=disable print/export feature // heading parameters headingSort : 'link', // link: make headings a link that will sort column, hover: make headings a hoverset, none: events on headings are disabled diff --git a/ricoClient/js/ricoLiveGridAjax.js b/ricoClient/js/ricoLiveGridAjax.js index 25f8f94..b778bd7 100644 --- a/ricoClient/js/ricoLiveGridAjax.js +++ b/ricoClient/js/ricoLiveGridAjax.js @@ -539,7 +539,7 @@ Rico.Buffer.AjaxSQLMethods = { }, printAllSQL: function(exportType) { - var parms=this.formQueryHashSQL(0,-1,exportType); + var parms=this.formQueryHashSQL(0,this.liveGrid.options.maxPrint,exportType); parms.hidden=this.liveGrid.listInvisible('index').join(','); var url=this.dataSource+'?'+Rico.toQueryString(parms); window.open(url,'',this.liveGrid.options.exportWindow); @@ -555,7 +555,7 @@ Rico.Buffer.AjaxSQLMethods = { // for datasource that is a javascript function _printAll: function(exportType) { this.liveGrid.exportStart(); - this.ajaxOptions.parameters = this.formQueryHashSQL(0,-1); + this.ajaxOptions.parameters = this.formQueryHashSQL(0,this.liveGrid.options.maxPrint); this.ajaxOptions.onComplete = Rico.bind(this,'_jsExport',exportType); this.dataSource(this.ajaxOptions); }, -- 2.20.1