Hi,

I would like to know how can i trigger 'someMethod' by adding, editing or removing something in my detail.

 

Like 0

Like

4 comments

Dear Pedro,

Please find the options to trigger your custom method:

adding:

you can override the addRecord method of BaseGridDetailV2 to launch your custom method along with parent realization.

editing:

You can create a new attribute on the page schema, which will trigger method "methodName" based on the changes in indicated columns:

"Probability": {
    // Determination of the column dependency.
    "dependencies": [
      {
        // Depends on the "Stage" column.
        "columns": [ "Stage" ],
        // The name of the handler method for the "Stage" column change.
        // setProbabilityByStage() method is defined  in methods property
        // of schema object.
        "methodName": "setProbabilityByStage"
      }
    ]
  }

delete:

you can override the basic deleteRecords method on the detail schema, so to run your custom method after, or before parent realization of the method.

Regards,

Anastasia

Anastasia Botezat,

 Hi,

I've tried to override "deleteRecords" method on my detail schema page, and didn't work, I think its because of package dependencies but I'm not sure.

Pedro Pinheiro,

The "deleteRecords" method does work on the detail schema. Please debug the code, so to narrow down the possible cause. Here is an instruction on the client side debug:

https://academy.bpmonline.com/documents/technic-sdk/7-13/client-code-debugging

Regards,

Anastasia

Anastasia Botezat, I manage to fix my problem using "onDelete" instead of the "deleteRecords" method.

Thanks for your response.

Show all comments

I have an requirement to change city lookup whenever zip code is changed so is there any event that will do my work?

Thanks

Like 0

Like

2 comments

If you have a ZIP code field or similar in City to filter it by, you can set up a business rule similar to this, with your field in place of Description:

If you require more complex logic, go to the edit page in the backend and add a dependency to the attributes section:

attributes: {
    "City": {
	dependencies: [
	    {
		columns: ["Zip"],
		methodName: "doSomething"
	    }
	]
    }
}

And include your logic in the doSomething method, which will be called every time Zip is changed.

Dear Agha,

Please check the example provided by Darian. For the simple business task it is recommended to use business rules. 

In case you need more complex logic, including if clause, or evaluation on Id, or any other logic, which cannot be implemented by business rules, please use attributes.

In order to add an attribute you need to go to Advanced settings --> create a new replacing module for your page --> add an attribute and save the schema --> clear browser cache. 

Please see articles on schema attributes:

https://academy.bpmonline.com/documents/technic-sdk/7-13/attributes-attributes-property

Regards,

Anastasia

Show all comments

I have  string text field, I want to pop up look up upon hitting [enter] or [tab] keys

Like 0

Like

1 comments

It will be hard to catch the [tab] click event. The problem is that the [tab] key is reserved for changing an active element in a browser.

The [Enter] key will be easy to catch. I would do the following:

define("ContactPageV2", [], function() {
	return {
		entitySchemaName: "Contact",
		attributes: {},
		modules: /**SCHEMA_MODULES*/{}/**SCHEMA_MODULES*/,
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		businessRules: /**SCHEMA_BUSINESS_RULES*/{}/**SCHEMA_BUSINESS_RULES*/,
		methods: {
			onEntityInitialized: function() {
				this.callParent(arguments);
			},
			onPhoneClick: function(e) {
				if (e && e.keyCode === 13) {
					console.log("show popup");
				}
			}
		},
		dataModels: /**SCHEMA_DATA_MODELS*/{}/**SCHEMA_DATA_MODELS*/,
		diff: /**SCHEMA_DIFF*/[
			{
				"operation": "merge",
				"name": "AccountPhone",
				"values": {
					"layout": {
						"colSpan": 24,
						"rowSpan": 1,
						"column": 0,
						"row": 4
					},
					"keyup": {
						"bindTo": "onPhoneClick"
					}
				}
			}
		]/**SCHEMA_DIFF*/
	};
});

 

Show all comments