Dear Community,

 

We have added a new icon to the communication panel. We would like to disable click for users and also add a tool tip to display the hints to the user when they hover over the icon. Any help here will be great!

Thanks in advance!

Like 0

Like

5 comments

Hello Shivani,

 

There are three different ways to add a hint depending on your control type. Try which one will work for you:

 

"tip": {

"content": {

"bindTo": "Resources.Strings.CustomerBillingInfoTip"

}

},

-----------------------

"hint": {

"bindTo": "Resources.Strings.GlbUseInternetTip"

},

--------------------

"controlConfig": {

"tips": [

{

"tip": {

"content": {"bindTo": "Resources.Strings.GlbUseInternetTip"}

},

"settings": {

"displayEvent": this.Terrasoft.controls.TipEnums.displayEvent.CLICK

}

}

]

}

 

To disable "click" behavior you can override a "click" method, like so: 

"click": {"bindTo": "onExampleButtonClick"}

 

Best regards,

Bogdan S.

Thank you Bogdan! The tool tip works. However, to disable the click (prevent opening communication panel module), I returned empty function in onExampleButtonClick(). This is opening up a blank side panel. Is there a way we can disable clicking itself? If I dont give return empty function, there are errors in the console.

Shivani Lakshman,

 

If you don't want users to click it you can simply hide this action using the "visible" parameter in the diff of the module. Like on the example below:

{
				"operation": "insert",
				"index": 10,
				"parentName": "communicationPanelContent",
				"propertyName": "items",
				"name": "testCTIModule",
				"values": {
					"tag": "testCTIModule",
					"visible": {"bindTo": "testCTIModuleVisible"},
					"imageConfig": {"bindTo": "testCTIModuleImageConfig"},
					"caption": {"bindTo": "testCTIModuleCaption"},
					"generator": "CommunicationPanelHelper.generateMenuItem"
				}
			}

You can return false in the testCTIModuleVisible attribute and hide the action or create a function that will hide it for some users.

 

Or you can override the onMenuItemClick function and if the selectedItemTag variable is your custom CTI panel action then return false in this function.

 

Best regards,

Oscar 

Oscar Dylan,

Thanks Oscar. The purpose of this icon is to just notify the users of a particular event which happens when we get a notification through API. Since the communication panel is visible throughout the platform, irrespective of the section the user is currently at, we have added this icon as a notification. Therefore we need it to be visible when the said event occurs but prohibit users from clicking it. Is that possible?

Shivani Lakshman,

 

Then you need to perform the modification of onMenuItemClick function as I mentioned in the previous post. Please debug its logic and add your own CTI panel element to the function logic modification.

 

Best regards,

Oscar

Show all comments

Hi Team,

 

https://academy.creatio.com/docs/node/1433

I used the above article to get access to communication panel schema and made changes to 

 

diff: /**SCHEMA_DIFF*/[

                {

                    "operation": "insert",

                    "name": "communicationPanelAll",

                    "propertyName": "items",

                    "values": {

                        "id": "communicationPanelAll",

                        "selectors": {"wrapEl": "#communicationPanelAll"},

                        "itemType": Terrasoft.ViewItemType.CONTAINER,

                        "wrapClass": ["all"],

                        "items": [],

                        "tips": [],

                        "markerValue": {"bindTo": "CommunicationPanelMarkerValue"}

                    }

                },

 

used  "operation": "remove" instead of  "operation": "insert",

 

Was able to hide the communication panel but when tried to revert back changes unable to do so 

Some please suggest a way to revert back changes or hide this communication panel in an easy way so reverting changes is easy 

 

 

Thank You

 

Like 0

Like

8 comments

Dear Braj,

 

If removing the code does not restore the panel try to clear your profile data by going into the profile and choosing the "Restore default settings" option. 

 

Best regards,

Angela

Angela Reyes,

 Thank You for this info but as i tried it on my local instance and my client asked us to hide the communication panel so please suggest any work around to do and an easy way to restore it

 

Braj Raj singh Kushwaha,

It is now not clear what your task is. The panel must be hidden forever or on specific conditions?

Angela Reyes,

The panel should be hidden forever.

In case we need it again then we should be able to make it visible as it was before.

 

And by using the above article I was able to hide it but when I tried to make it visible it was still hidden

 

Braj Raj singh Kushwaha,

Can you send here the code you used to make it visible? 

Angela Reyes,

diff: /**SCHEMA_DIFF*/[

                {

                    "operation": "remove",

                    "name": "communicationPanelAll",

                    "propertyName": "items",

                    "values": {

                        "id": "communicationPanelAll",

                        "selectors": {"wrapEl": "#communicationPanelAll"},

                        "itemType": Terrasoft.ViewItemType.CONTAINER,

                        "wrapClass": ["all"],

                        "items": [],

                        "tips": [],

                        "markerValue": {"bindTo": "CommunicationPanelMarkerValue"}

                    }

                },

Above code to hide

 

This code to unhide it or make it visible

 

diff: /**SCHEMA_DIFF*/[

                {

                    "operation": "insert",

                    "name": "communicationPanelAll",

                    "propertyName": "items",

                    "values": {

                        "id": "communicationPanelAll",

                        "selectors": {"wrapEl": "#communicationPanelAll"},

                        "itemType": Terrasoft.ViewItemType.CONTAINER,

                        "wrapClass": ["all"],

                        "items": [],

                        "tips": [],

                        "markerValue": {"bindTo": "CommunicationPanelMarkerValue"}

                    }

                },

 

 

Just made changes to this part only

 

Braj Raj singh Kushwaha,

There is an easier way to hide the CTI panel. Please create a replacing view model for "Communication panel schema":

with the medhod like this one:

init: function() {
					return false;
					}

As a result once the changes are saved and the page is refreshed the communication panel won't be initialized:

To restore the panel please remove all your customizations related to CommunicationPanel and add them according to my instruction.

 

Best regards,

Oscar

Oscar Dylan,

Hi Oscar,

 

As I tried your approach it is working fine thank you very much 

But to restore the panel I removed all customization and refreshed the whole site, Restored the default setting from the user profile still panel was not restored.

 

Please let me know how to restore it.

 

Thank You

 

Show all comments

Hi Team,

 

I want to remove links that redirect to creatio academy and market place.

 

Have attached a screenshot please check for reference

 

 

Thank You

Like 0

Like

2 comments

Hello,

 

Unfortunately, at the moment there is no possibility to change that reference by using out-of-the-box tools. We have informed our R&D department about this case so they could consider enhancing the following functionality in the upcoming releases.

 

At the same time, you can check the ProcessDashboardSchema module (in the UIv2 package) and the BaseNotification module (in the NUI package). Bound methods are defined inside the UIv2 package in the ProcessDashboardSchema module.

 

Thank you for being interested in further improvement of the Creatio application!

 

Best regards,

Roman

Thank You So much

Show all comments