hqchart 1.1.14425 → 1.1.14439

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1842,19 +1842,21 @@ function JSReportChartContainer(uielement)
1842
1842
  }
1843
1843
  break;
1844
1844
  case 38: //up
1845
- var result=this.MoveSelectedRow(-1);
1845
+ var result=this.MoveSelectedRow(-1, {EnablePageCycle: this.PageUpDownCycle});
1846
1846
  if (result)
1847
1847
  {
1848
1848
  if (result.Redraw) this.Draw();
1849
1849
  if (result.Update) this.DelayUpdateStockData();
1850
+ this.MoveSelectedRowEvent(result.OldIndex, result.NewIndex);
1850
1851
  }
1851
1852
  break;
1852
1853
  case 40: //down
1853
- var result=this.MoveSelectedRow(1)
1854
+ var result=this.MoveSelectedRow(1, {EnablePageCycle: this.PageUpDownCycle})
1854
1855
  if (result)
1855
1856
  {
1856
1857
  if (result.Redraw) this.Draw();
1857
1858
  if (result.Update) this.DelayUpdateStockData();
1859
+ this.MoveSelectedRowEvent(result.OldIndex, result.NewIndex);
1858
1860
  }
1859
1861
  break;
1860
1862
  case 37: //left
@@ -3015,13 +3017,19 @@ function JSReportChartContainer(uielement)
3015
3017
  return false;
3016
3018
  }
3017
3019
 
3018
- this.MoveSelectedRow=function(step)
3020
+ // option={ EnablePageCycle: true/false(是否循环翻页) }
3021
+ this.MoveSelectedRow=function(step, option)
3019
3022
  {
3020
3023
  var chart=this.ChartPaint[0];
3021
3024
  if (!chart) return null;
3022
3025
  if (!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return null;
3026
+ var bPageCycle=false;
3027
+ if (option)
3028
+ {
3029
+ if (IFrameSplitOperator.IsBool(option.EnablePageCycle)) bPageCycle=option.EnablePageCycle;
3030
+ }
3023
3031
 
3024
- var result={ Redraw:false, Update:false }; //Redraw=重绘, Update=更新数据
3032
+ var result={ Redraw:false, Update:false, OldIndex:-1, NewIndex:-1 }; //Redraw=重绘, Update=更新数据
3025
3033
 
3026
3034
  if (chart.MultiSelectModel==1)
3027
3035
  {
@@ -3123,6 +3131,7 @@ function JSReportChartContainer(uielement)
3123
3131
  var pageStatus=chart.GetCurrentPageStatus();
3124
3132
  var pageSize=pageStatus.End-pageStatus.Start+1;
3125
3133
  var selected=pageStatus.SelectedRow;
3134
+ result.OldIndex=this.Data.YOffset+selected;
3126
3135
  if (step>0)
3127
3136
  {
3128
3137
  selected+=step;
@@ -3130,6 +3139,7 @@ function JSReportChartContainer(uielement)
3130
3139
  chart.SelectedRow=selected;
3131
3140
  chart.SelectedFixedRow=-1;
3132
3141
  result.Redraw=true;
3142
+ result.NewIndex=this.Data.YOffset+selected;
3133
3143
  return result;
3134
3144
  }
3135
3145
  else if (step<0)
@@ -3143,6 +3153,7 @@ function JSReportChartContainer(uielement)
3143
3153
 
3144
3154
  chart.SelectedRow=selected;
3145
3155
  chart.SelectedFixedRow=-1;
3156
+ result.NewIndex=this.Data.YOffset+selected;
3146
3157
  result.Redraw=true;
3147
3158
  return result;
3148
3159
  }
@@ -3152,18 +3163,23 @@ function JSReportChartContainer(uielement)
3152
3163
  var pageStatus=chart.GetCurrentPageStatus();
3153
3164
  var pageSize=pageStatus.PageSize;
3154
3165
  var selected=pageStatus.SelectedRow;
3166
+ result.OldIndex=pageStatus.SelectedRow;
3155
3167
  if (step>0)
3156
3168
  {
3157
3169
  if (selected<0 || selected<pageStatus.Start || selected>pageStatus.End)
3158
3170
  {
3159
3171
  chart.SelectedRow=pageStatus.Start;
3160
3172
  result.Redraw=true;
3173
+ result.NewIndex=pageStatus.Start;
3161
3174
  return result;
3162
3175
  }
3163
3176
 
3164
3177
  var offset=this.Data.YOffset;
3165
3178
  for(var i=0;i<step;++i)
3166
3179
  {
3180
+ if (selected+1>=this.Data.Data.length && !bPageCycle)
3181
+ break;
3182
+
3167
3183
  ++selected;
3168
3184
  if (selected>pageStatus.End) ++offset;
3169
3185
 
@@ -3179,7 +3195,7 @@ function JSReportChartContainer(uielement)
3179
3195
 
3180
3196
  chart.SelectedRow=selected;
3181
3197
  this.Data.YOffset=offset;
3182
-
3198
+ result.NewIndex=selected;
3183
3199
  return result;
3184
3200
  }
3185
3201
  else if (step<0)
@@ -3188,6 +3204,7 @@ function JSReportChartContainer(uielement)
3188
3204
  {
3189
3205
  chart.SelectedRow=pageStatus.End;
3190
3206
  result.Redraw=true;
3207
+ result.NewIndex=pageStatus.End;
3191
3208
  return result;
3192
3209
  }
3193
3210
 
@@ -3195,6 +3212,9 @@ function JSReportChartContainer(uielement)
3195
3212
  var offset=this.Data.YOffset;
3196
3213
  for(var i=0;i<step;++i)
3197
3214
  {
3215
+ if (selected<=0 && !bPageCycle) //不能循环翻页
3216
+ break;
3217
+
3198
3218
  --selected;
3199
3219
  if (selected<pageStatus.Start) --offset;
3200
3220
 
@@ -3211,6 +3231,7 @@ function JSReportChartContainer(uielement)
3211
3231
 
3212
3232
  chart.SelectedRow=selected;
3213
3233
  this.Data.YOffset=offset;
3234
+ result.NewIndex=selected;
3214
3235
 
3215
3236
  return result;
3216
3237
  }
@@ -3219,6 +3240,36 @@ function JSReportChartContainer(uielement)
3219
3240
  return null;
3220
3241
  }
3221
3242
 
3243
+ this.MoveSelectedRowEvent=function(oldIndex, newIndex)
3244
+ {
3245
+ var chart=this.ChartPaint[0];
3246
+ if (!chart) return null;
3247
+
3248
+ if (oldIndex==newIndex) return;
3249
+
3250
+ var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MOVE_SELECTED_REPORT_ROW);
3251
+ if (!event || !event.Callback) return;
3252
+
3253
+ if (!IFrameSplitOperator.IsNonEmptyArray(chart.Data.Data)) return;
3254
+ var arySymbol=chart.Data.Data;
3255
+
3256
+ var oldData=null, newData=null;
3257
+ if (oldIndex>=0 && oldIndex<arySymbol.length)
3258
+ {
3259
+ var symbol=arySymbol[oldIndex];
3260
+ oldData={ Symbol:symbol, Index:oldIndex };
3261
+ }
3262
+
3263
+ if (newIndex>=0 && newIndex<arySymbol.length)
3264
+ {
3265
+ var symbol=arySymbol[newIndex];
3266
+ newData={ Symbol:symbol, Index:newIndex };
3267
+ }
3268
+
3269
+ var endData={ Old:oldData, Now:newData };
3270
+ event.Callback(event, endData, this);
3271
+ }
3272
+
3222
3273
  //左右移动
3223
3274
  this.MoveXOffset=function(step)
3224
3275
  {
@@ -1505,6 +1505,8 @@ input[type="color"] {
1505
1505
  .jchart_pop_minute_dailog
1506
1506
  {
1507
1507
  position: absolute;
1508
+ left: 1px;
1509
+ top: 1px;
1508
1510
  height: 500px;
1509
1511
  width: 600px;
1510
1512
  z-index: 809;