SmartClient_v101p_2016-03-14_PowerEdition
We use a custom paging model with our grid since we have to integrate with some legacy components in our application. Basically, we execute a new fetchData request on the grid with some additional parameters and the server returns the correct page of data. This worked in with SmartClient 9.1. I have simplified this code in the test case for brevity. Basically, when the user selects the page, I call fetchData.
This functionality is now throwing an error in IE11 only. It works in Chrome with no exceptions.
REPRO Steps:
========
1. Load test case
2. Select page 1 from the drop down
3. Observe the console (attached image)

As mentioned, this works in Chrome and in SmartClient_v91p_2014-04-10_PowerEdition. I tested a few previous 10.1 versions and they still had the issue.
Looking at the debug JS, looks like something changed with focus on the dynamic form, but that's all I could ascertain.
We use a custom paging model with our grid since we have to integrate with some legacy components in our application. Basically, we execute a new fetchData request on the grid with some additional parameters and the server returns the correct page of data. This worked in with SmartClient 9.1. I have simplified this code in the test case for brevity. Basically, when the user selects the page, I call fetchData.
This functionality is now throwing an error in IE11 only. It works in Chrome with no exceptions.
REPRO Steps:
========
1. Load test case
2. Select page 1 from the drop down
3. Observe the console (attached image)
Code:
<!DOCTYPE html>
<html>
<head>
<title></title>
<style>
.diagInfo {
font-size: 14px;
font-weight: bold;
padding: 5px;
}
</style>
<script type="text/javascript" SRC="http://localhost:8080/isomorphic/system/modules/ISC_Core.js"></script>
<script type="text/javascript" SRC="http://localhost:8080/isomorphic/system/modules/ISC_Foundation.js"></script>
<script type="text/javascript" SRC="http://localhost:8080/isomorphic/system/modules/ISC_Containers.js"></script>
<script type="text/javascript" SRC="http://localhost:8080/isomorphic/system/modules/ISC_Grids.js"></script>
<script type="text/javascript" SRC="http://localhost:8080/isomorphic/system/modules/ISC_Forms.js"></script>
<script type="text/javascript" SRC="http://localhost:8080/isomorphic/system/modules/ISC_DataBinding.js"></script>
<script type="text/javascript" SRC="http://localhost:8080/isomorphic/system/modules/ISC_Drawing.js"></script>
<script type="text/javascript" SRC="http://localhost:8080/isomorphic/system/modules/ISC_PluginBridges.js"></script>
<script type="text/javascript" SRC="http://localhost:8080/isomorphic/system/modules/ISC_Charts.js"></script>
<script type="text/javascript" SRC="http://localhost:8080/isomorphic/skins/EnterpriseBlue/load_skin.js"></script>
<script type="text/javascript" >
var isomorphicDir="http://localhost:8080/isomorphic/";
// set this to the correct JIRA ticket
var JIRA_TICKET = "SNTQ-1219";
isc.DataSource.create({
ID: "countryDS",
dataURL: "SNQA-1219-1.json",
fields:[
{name:"continent", title:"Continent"},
{name:"countryCode", title:"Code"},
{name:"countryName", title:"Country"},
{name:"capital", title:"Capital"}
],
dataFormat: "json",
clientOnly: true
})
// once page loads set some diagnostic information, DO NOT CHANGE
isc.Page.setEvent("load", function() {
document.title = JIRA_TICKET + " (SmartClient version " + isc.versionNumber + ")";
var html = [];
html.push("Jira: " + JIRA_TICKET);
html.push("SmartClient: " + isc.versionNumber);
html.push("Browser: " + navigator.appCodeName + " " + navigator.appName + " " + navigator.appVersion);
diagLabel.setContents( html.join("<br>"));
});
</script>
<!--mstheme--><link rel="stylesheet" type="text/css" id="onetidThemeCSS" href="../../_themes/Lichen/Lich1011-65001.css"><meta name="Microsoft Theme" content="Lichen 1011, default">
</head>
<body>
<script>
// ===== DO NOT REMOVE =====
var diagLabel = isc.Label.create({
ID: "diagInfo",
width: "100%",
styleName: "diagInfo",
autoFit: true
});
// ===== DO NOT REMOVE =====
// basic grid
var grid = isc.ListGrid.create({
dataSource: countryDS,
dataFetchMode : "local", position: "relative",
width : "100%",
align : "center",
autoFitData : "vertical",
autoFitMaxHeight : 400,
alternateRecordStyles : true,
canAddFormulaFields : true,
canAddSummaryFields : true,
canGroupBy : true,
canReorderFields : true,
showGroupSummary : true,
groupByMaxRecords : 5,
useAdvancedFieldPicker: true,
advancedFieldPickerThreshold: 5,
autoDraw: false
});
// the main page layout - place all other components afetr diagLabel
var layout = isc.VLayout.create({
width:"100%",
membersMargin: 20,
members: [
// ===== DO NOT REMOVE diagLabel
diagLabel,
isc.DynamicForm
.create({
id: "form",
titleWidth : 40,
autoDraw : false,
fields : [ {
name : "pageNumber",
title : "Page",
type : "select",
valueMap: ["1", "2", "3"],
width : 80,
changed : function(form, item) {
fetchPage(item.getValue());
}
} ]
}),
// ===== place anty components here
grid
]
});
var fetchPage = function(page) {
grid.fetchData(null, function(dsResponse, data, dsRequest) {
isc.warn("Returned " + data.length + " records",
null, {
buttons : [ Dialog.OK ]
});
});
}
</script>
</body>
</html>
As mentioned, this works in Chrome and in SmartClient_v91p_2014-04-10_PowerEdition. I tested a few previous 10.1 versions and they still had the issue.
Looking at the debug JS, looks like something changed with focus on the dynamic form, but that's all I could ascertain.
Comment