Error while evaluating javascript input: Error: dojo.require and dojo.provide are not supported in Mendix 7. Please, use AMD style for custom widgets.”

1
 we are getting an error on the UI, when the JS run to remove the blank option mentioned in “https://community.mendix.com/link/ideas/26” forum, its working in 6.9 but not in 7.3 we are getting “Error while evaluating javascript input: Error: dojo.require and dojo.provide are not supported in Mendix 7. Please, use AMD style for custom widgets.” for the blow java script in HTMLSnippet var selector; selector = dijit.registry.byNode(this.domNode.previousSibling); if (typeof selector === "undefined") { selector = dijit.registry.byNode(this.domNode.previousSibling.children[1]); } dojo.require("dojo.aspect"); dojo.aspect.after(selector, "_renderOptions", function(deferred){ this._editNode.removeChild(this._editNode.children[0]); return deferred; });  
asked
2 answers
2

use

 

define(["dojo/aspect"], function(aspect){
	var selector;
	selector = dijit.registry.byNode(this.domNode.previousSibling);
	if (typeof selector === "undefined") {
		   selector = dijit.registry.byNode(this.domNode.previousSibling.children[1]);
	}
	
	aspect.after(selector, "_renderOptions", function(deferred){
		   this._editNode.removeChild(this._editNode.children[0]);
		   return deferred;
	});
   
});

Check the 'this' context. maybe you need a local variable to pass it.

answered
0

Unfortunately, dojo.require has been deprecated in Mendix 7, have a look at the Release Notes. I think you can still try to use require (the global one).

answered