Login / Register  search  syndication  about

          Kris Halsrud's Blog

Kris Halsrud on development and Integration with CRM and Development

Changing the default condition operator in the SalesLogix Group Lookup Control in the SalesLogix 7.5.4 Web Client

 

 

I blogged recently here about how you can change the default operator behavior for the Lookup Controls found on the smart parts in the SalesLogix Web client.  The SalesLogix group area also has a lookup control, that while it looks similar to the standard Lookup Control is actually a separate control with different code base.  However you can make a similar type of change to this control as well.

The Group Lookup behavior is largely controlled by client side libraries.  This client side code is contained in several files inside the VFS structure.  The location is under Portal Manager…Sage SalesLogix…Support Files…Sage-Controls…Sage-Controls-Group 

The file involved in this behavior is the sage-controls-group-lookupmanager.js file. If you look in that file you will see a function defined called getTemplateObj that looks like this:

Sage.GroupLookupManager.prototype.getTemplateObj = function() {
    var mgr = Sage.Services.getService("GroupLookupManager")
    mgr.setupTemplateObj =  (window.lookupSetupObject) ? window.lookupSetupObject : {
        fields: [{ fieldname: '', displayname: ''}],
        operators: [{ symbol: 'sw', display: 'Starting With' },
            { symbol: 'like', display: 'Contains' },
            { symbol: 'eq', display: 'Equal to' },
            { symbol: 'ne', display: 'Not Equal to' },
            { symbol: 'lteq', display: 'Equal or Less than' },
            { symbol: 'gteq', display: 'Equal or Greater than' },
            { symbol: 'lt', display: 'Less than' },
            { symbol: 'gt', display: 'Greater than'}],
        numericoperators: [{ symbol: "eq", "display": "Equal to" },
            { symbol: "ne", "display": "Not Equal to" },
            { symbol: "lteq", "display": "Equal or Less than" },
            { symbol: "gteq", "display": "Equal or Greater than" },
            { symbol: "lt", "display": "Less than" },
            { symbol: "gt", "display": "Greater than"}],
        index: 0,
        hideimgurl: 'images/icons/Find_Remove_16x16.gif',
        addimgurl: 'images/icons/Find_Add_16x16.gif',

        hideimgalttext: 'Remove Condition',
        addimgalttext: 'Add Condition',
        addrowlabel: 'Lookup by:',
        hiderowlabel: 'And:',
        srchBtnCaption: 'Search',
        errorOperatorRequiresValue: 'The operator requires a value'
    }

}

Similar to the other lookup control, the “default” operator for the lookup control is based on the order the operators get added to the list.  If we change the order to something like this, the default lookup will be contains instead of starting with:

Sage.GroupLookupManager.prototype.getTemplateObj = function() {
    var mgr = Sage.Services.getService("GroupLookupManager")
    mgr.setupTemplateObj =  (1!=1) ? window.lookupSetupObject : {
        fields: [{ fieldname: '', displayname: ''}],
        operators: [
            { symbol: 'like', display: 'Contains' },
            { symbol: 'sw', display: 'Starting With' },
            { symbol: 'eq', display: 'Equal to' },
            { symbol: 'ne', display: 'Not Equal to' },
            { symbol: 'lteq', display: 'Equal or Less than' },
            { symbol: 'gteq', display: 'Equal or Greater than' },
            { symbol: 'lt', display: 'Less than' },
            { symbol: 'gt', display: 'Greater than'}],
        numericoperators: [{ symbol: "eq", "display": "Equal to" },
            { symbol: "ne", "display": "Not Equal to" },
            { symbol: "lteq", "display": "Equal or Less than" },
            { symbol: "gteq", "display": "Equal or Greater than" },
            { symbol: "lt", "display": "Less than" },
            { symbol: "gt", "display": "Greater than"}],
        index: 0,
        hideimgurl: 'images/icons/Find_Remove_16x16.gif',
        addimgurl: 'images/icons/Find_Add_16x16.gif',

        hideimgalttext: 'Remove Condition',
        addimgalttext: 'Add Condition',
        addrowlabel: 'Lookup by:',
        hiderowlabel: 'And:',
        srchBtnCaption: 'Search',
        errorOperatorRequiresValue: 'The operator requires a value'
    }

}

One important thing to note is the change of the condition. T his is needed to force the page to always load from this library rather than the behavior built into the lookup control in the Sage web control assembly.

This code is also in the Sage-Controls.js file which is one level up.  This file is a minified consolidated file of all of the other library files.  This minified version is what is actually used by the deployed site so you will need to make the same changes to that file in order to see the changes take effect.

One other thing to note is that if you do not see the behavior change after making these modifications, you should clear out your browsers history cache as it is likely it has stored the old client side code and is using that.

 

 

What's This?
  
Bookmark and Share

About Kris Halsrud

   Kris Halsrud is a Senior Analyst / Developer for Customer FX Corporation.


Related Content
   Easily Showing and Hiding Tabs at Runtime in Infor CRM (Saleslogix)
Showing and hiding tabs in the Infor CRM (Saleslogix) client should be an easy thing. It should be someth
Posted on Dec 16, 2014 by Ryan Farley to Ryan Farley's Blog
 
   Problem setting SLXTextbox enabled property / Setting unexposed base control properties for a custom control
I recently had an issue with a Quickform where I was attempting to set the Enabled property of a TextBox
Posted on Dec 05, 2014 by Jason Buss to Jason Buss' Blog
 
   Checking Infor CRM (Saleslogix) Picklists for valid data
This week I received a question about a particular picklist. One of the picklist items, when chosen, wou
Posted on Dec 05, 2014 by Dale Richter to Infor CRM Questions & Answers
 
   Avoiding the Dirty Data Message When Programatically Redirecting to a Record in Infor CRM (Saleslogix)
In my last post I wrote about using the OnClientClick property of a control (or button) to run JavaScript
Posted on Dec 02, 2014 by Ryan Farley to Ryan Farley's Blog
 
   Infor CRM (formerly Saleslogix) Web- Dependency Lookup OnChange Event Not Working Correctly
In the Saleslogix 8.1 web client the dependency lookup still has a problem with the OnChange event. 
Posted on Nov 26, 2014 by Kris Halsrud to Kris Halsrud's Blog
 
Comments

No Comments

Leave a Comment

(required)  
(optional)
(required)  
Add
All contents Copyright © 2014 Customer FX Corporation
Customer FX Corporation
2324 University Avenue West, Suite 115
Saint Paul, Minnesota 55114
Tel: 800.728.5783

  Follow @CustomerFX on twitter
Follow the best news, tips, and articles
  Subscribe to Customer FX on youtube
Watch SalesLogix tutorial videos from Customer FX
Login / Register