BoldSignA modern eSignature application with affordable pricing. Sign up today for unlimited document usage!
I am using the following in several functions within my app, and it seems to be working fine:
diagram.model.selectedItems.children.length
However, when I use this in the OnClientSelectionChange event handler, I get strange results.
Watch the attached video, which shows (in the console log) the results I'm getting.
Here's the event handler:
function selectionChangeHandler(args) {
console.log('In selectionChangeHandler - # objects selected = ' + diagram.model.selectedItems.children.length);
var objectName = null;
if (args.element.name) {
objectName = args.element.name;
}
if (objectName && objectName.substring(0, 9) != 'connector' && objectName.substring(0, 6) != 'bezier' && objectName.substring(0, 5) != 'Horiz' && objectName.substring(0, 8) != 'Vertical') {
var handles = diagram.model.selectedItems.userHandles;
handles[0].visible = true;
diagram.updateUserHandles(args.element);
} else {
var handles = diagram.model.selectedItems.userHandles;
handles[0].visible = false;
diagram.updateUserHandles(args.element);
}
var node = args.element;
if (node) {
if (node.addInfo) {
if (node.addInfo.NodeType) {
if (node.addInfo.NodeType == 'Task') {
document.getElementById('<%= lblRoleCount.ClientID %>').innerHTML = 0;
document.getElementById('<%= lblInputCount.ClientID %>').innerHTML = 0;
document.getElementById('<%= lblOutputCount.ClientID %>').innerHTML = 0;
document.getElementById('<%= lblDataCount.ClientID %>').innerHTML = 0;
document.getElementById('<%= lblToolCount.ClientID %>').innerHTML = 0;
document.getElementById('<%= lblProcCount.ClientID %>').innerHTML = 0;
document.getElementById('<%= lblNoteCount.ClientID %>').innerHTML = 0;
if (node.addInfo.roleCount) {
document.getElementById('<%= lblRoleCount.ClientID %>').innerHTML = node.addInfo.roleCount;
}
if (node.addInfo.inputCount) {
document.getElementById('<%= lblInputCount.ClientID %>').innerHTML = node.addInfo.inputCount;
}
if (node.addInfo.outputCount) {
document.getElementById('<%= lblOutputCount.ClientID %>').innerHTML = node.addInfo.outputCount;
}
if (node.addInfo.dataCount) {
document.getElementById('<%= lblDataCount.ClientID %>').innerHTML = node.addInfo.dataCount;
}
if (node.addInfo.toolCount) {
document.getElementById('<%= lblToolCount.ClientID %>').innerHTML = node.addInfo.toolCount;
}
if (node.addInfo.procCount) {
document.getElementById('<%= lblProcCount.ClientID %>').innerHTML = node.addInfo.procCount;
}
if (node.addInfo.noteCount) {
document.getElementById('<%= lblNoteCount.ClientID %>').innerHTML = node.addInfo.noteCount;
}
var txtTaskName = $find('<%= txtTaskName.ClientID %>').set_value(node.labels[0].text);
}
}
}
}
}
I also have a change event on a textbox - you'll see evidence of that in the console log as well. Please ignore.
Any idea what I am doing wrong?
What technique should I be using to determine the # of objects selected?
Thanks
Jim
Hi Jim
Thanks for using Syncfusion products.
We are able to reproduce the issue and we have confirmed this as bug and logged a report on this. Also we have created a support incident under your account to track the status of this issue.
Please log on to our support website to check for further updates.
https://www.syncfusion.com/account/login?ReturnUrl=%2fsupport%2fdirecttrac%2fincidents
Please let me know if you have any questions.
Regards,
Shyam G