Forum Discussion
_anomDiebolt_
7 years agoQrew Elite
I just noticed there was a small typo in the requirejs code (errant semicolon) I posted. Here is a version of that code that clears the typo and loads d3 and kendo-ui-core using requirejs and then logs the d3 and kendo objects along with all the requirejs loaded modules:
require.config({
paths: {
"d3": "https://cdnjs.cloudflare.com/ajax/libs/d3/4.9.1/d3",
"kendo": "https://cdnjs.cloudflare.com/ajax/libs/kendo-ui-core/2014.1.416/js/kendo.core.min"
}
});
require(['d3', 'kendo'], function(d3, kendo) {
console.dir(d3);
console.dir(kendo);
console.dir(requirejs.s.contexts._.config );
});
- SpencerHilvitz7 years agoQrew Trainee<img src='" & [SB_LOADER_IMAGE] & "' "&
"onload='JavaScript:"&
"console.log('triggered');" &
"require.config({" &
"paths: {" &
""kendo": "https://kendo.cdn.telerik.com/2017.3.913/js/kendo.all.min""; &
"}" &
"});" &
"require(['kendo'], function(kendo) {" &
"console.dir(kendo);" &
"console.dir(requirejs.s.contexts._config);" &
"});" &
"'/>" - SpencerHilvitz7 years agoQrew TraineeThank you so much for getting back to me so quickly! I had been trying to get this to work and I'm still having issues with the requirejs implementation. I have the following code and I am getting back undefined for the console.dir(). Sorry about all of the extra quotations, I am having to do the iol technique and use the rich text field syntax.
- _anomDiebolt_7 years agoQrew EliteDon't even attempt to place your operative JavaScript into the onload attribute. Doing so will only cause you endless problems with all the escaping needed.
Convince yourself the script I provided works by pasting it directly into the console. Do your development from the console. Once you get that working implement the IOL technique and place your working code into the module.js file. This is the fastest and more reliable way to develop script for QuickBase. - SpencerHilvitz7 years agoQrew TraineeEscaping is definitely a pain. I tried to put the code in the console and this is what I got:
- _anomDiebolt_7 years agoQrew EliteThis is what I get and it indicates d3 and kendo are properly configured through requirejs:
- SpencerHilvitz7 years agoQrew Traineerequire.config({ paths: { "d3": "https://cdnjs.cloudflare.com/ajax/lib...", "kendo": "http://kendo.cdn.telerik.com/2018.2.6..." } }); require(['d3', 'kendo'], function(d3, kendo) { console.dir(d3); console.dir(kendo); console.dir(requirejs.s.contexts._.config ); });
- SpencerHilvitz7 years agoQrew TraineeThat looks like it is working on yours. What possible reason could there be that I would be getting undefined for the kendo object? I have even tried changing the cdn url for kendo to "http://kendo.cdn.telerik.com/2018.2.620/js/kendo.all.min".
- _anomDiebolt_7 years agoQrew EliteI think it is working for you as well. The "Invalid require call" string you see in the console is just a literal string within the body of the function which is returned by the last statement:
� d(e,c,g){var i,j;f.enableBuildCallback&&(c&&J(c))&&(c.__requireJsBuild=!0);if("string"===typeof e){if(J(c))return w(B("requireargs",
"Invalid require call"),g);if(a&&t(P,e))return P(q[a.id]);if(h.... - _anomDiebolt_7 years agoQrew EliteI think you are just fooling yourself that d3 and kendo are not loading. Try this instead:
require.config({
paths: {
"d3": "https://cdnjs.cloudflare.com/ajax/libs/d3/4.9.1/d3";,
"kendo": "https://cdnjs.cloudflare.com/ajax/libs/kendo-ui-core/2014.1.416/js/kendo.core.min";
}
});
require(['d3', 'kendo'], function(d3, kendo) {
console.log(d3.version);
console.log(kendo.version);
});
output:
4.9.1
2014.1.416 - SpencerHilvitz7 years agoQrew TraineeYou're right, those are working. In the picture I uploaded, that second object for Kendo was coming back undefined but now it seems to be working. I must have just been doing something incorrectly. Thank you so so much for your help! I really appreciate you taking the time to help me!