Showing results for 
Search instead for 
Do you mean 
Community Home Request Access Read Blogs Share Your Ideas Search Community View My Settings
Reply
Highlighted
Nickel Contributor
Posts: 46
Registered: ‎08-17-2009

Mobile 3.0.2 Customizations

I’ve got a couple of quick mobile questions that I hope someone can answer….

 

1. Apart from putting it at the top, is there a way to insert a new Toggle Section in the Contact detail layout?  I’d like to put something below More Details, but above Related Items.  I can alter the ootb file, but I’m trying to keep it in ApplicationModule.js

 

2. Same thing, but adding a field to the Contact List.

Highlighted
Bronze Super Contributor
Posts: 152
Registered: ‎02-01-2011

Re: Mobile 3.0.2 Customizations

Get the name of the page section from the stock view (e.g. "MoreDetailsSection"), then insert a new section:

 

// add fields to sdata request
lang.extend(Mobile.SalesLogix.Views.Opportunity.Detail, {
    querySelect: Mobile.SalesLogix.Views.Opportunity.Detail.prototype.querySelect.concat([ 'ActualClose' ])
});

this.registerCustomization('detail', 'opportunity_detail', {
    at: function(row) { return row.name == 'MoreDetailsSection'; },
    type: 'insert',
    where: 'after',
    value: {
        title: 'Additional Details',
        name: 'AdditionalDetailsSection',
        collapsed: true,
        children: [
            {
                name: 'ActualClose',
                label: 'close date',
                property: 'ActualClose',
                renderer: format.date.bindDelegate(this, 'M/D/YYYY'),
validator: Mobile.SalesLogix.Validator.exists } ] } });

(Note that validators must use the whole namespace - a problem I ran into with v3.)

 

For the listview, the following is from the argos-sample ApplicationModule.js. You must first update the list query to include your new field(s), then add them to the associated Simplate.

 

lang.extend(Mobile.SalesLogix.Views.Account.List, {
    // Add the account manager's email to the list view
    querySelect: Mobile.SalesLogix.Views.Account.List.prototype.querySelect.concat([
        'AccountManager/UserInfo/Email'
    ]),
    itemTemplate: new Simplate([
        '<h3>{%: $.AccountName %}</h3>',
        '<h4>{%: $.Industry %}</h4>',
        '<h4>',
            '{%: $$.joinFields(" | ", [$.Type, $.SubType]) %}',
        '</h4>',
        '<h4>{%: $.AccountManager && $.AccountManager.UserInfo ? $.AccountManager.UserInfo.UserName : "" %} | {%: $.Owner.OwnerDescription %}</h4>',
        '<h4>{%: $.WebAddress %}</h4>',
        '<h4>{%: $.AccountManager && $.AccountManager.UserInfo ? $.AccountManager.UserInfo.Email : "" %}</h4>',
        '{% if ($.MainPhone) { %}',
            '<h4>',
                '{%: $$.phoneAbbreviationText + Sage.Platform.Mobile.Format.phone($.MainPhone) %}',
            '</h4>',
        '{% } %}',
        '{% if ($.Fax) { %}',
            '<h4>',
                '{%: $$.faxAbbreviationText + Sage.Platform.Mobile.Format.phone($.Fax) %}',
            '</h4>',
        '{% } %}'
    ])
});

 

 

 

Andy Freeman
TrellisPoint, LLC