I have the write api plugin installed as well as the question and answer plugin. We are successfully creating topics and posts. Is it possible to create a topic as a question? I tried adding isQuestion (equals 1) to the POST body when creating the topic but it was ignored. Would the write-api have to be forked and updated to support the optional value of isQuestion? It seems clear in the question and answer plugin that it doesn't create/expose any write api of its own.
Importing jQuery plugin
-
Hi guys I would like to use DataTables as jQuery plugin to sort tables in some pages of my site (actually I would like to use those on a page "created" by one plugin I'm doing),
I tried to import it from using their CDN putting it:- before and after the table I want to sort,
- into the "custom header",
- using requirejs (but I don't really know how to use it)
but the function
$().dataTables
(or$().DataTables
) it's always undefined.What I'm doing wrong?
Thanks,
Giggi -
I solved it, the problem is somewhere in the mechanism of
require.js
:(function( factory ) { "use strict"; // if ( typeof define === 'function' && define.amd ) { // // AMD // define( ['jquery'], function ( $ ) { // return factory( $, window, document ); // } ); // } // else if ( typeof exports === 'object' ) { // CommonJS module.exports = function (root, $) { if ( ! root ) { // CommonJS environments without a window global must pass a // root. This will give an error otherwise root = window; } if ( ! $ ) { $ = typeof window !== 'undefined' ? // jQuery's factory checks for a global window require('jquery') : require('jquery')( root ); } return factory( $, root, root.document ); }; } else { // Browser factory( jQuery, window, document ); } }
In the definition of DataTables I had to comment the first part (using
define()
), because it gave me this error:Mismatched anonymous define() modules ...
Not it works
Can you explain me why this happens?
-
I solved it, the problem is somewhere in the mechanism of
require.js
:(function( factory ) { "use strict"; // if ( typeof define === 'function' && define.amd ) { // // AMD // define( ['jquery'], function ( $ ) { // return factory( $, window, document ); // } ); // } // else if ( typeof exports === 'object' ) { // CommonJS module.exports = function (root, $) { if ( ! root ) { // CommonJS environments without a window global must pass a // root. This will give an error otherwise root = window; } if ( ! $ ) { $ = typeof window !== 'undefined' ? // jQuery's factory checks for a global window require('jquery') : require('jquery')( root ); } return factory( $, root, root.document ); }; } else { // Browser factory( jQuery, window, document ); } }
In the definition of DataTables I had to comment the first part (using
define()
), because it gave me this error:Mismatched anonymous define() modules ...
Not it works
Can you explain me why this happens?
-
@Giggiux this happens because of how the intricacies of how require.js works. Because all NodeBB scripts are concatenated, require.js can't know what the name of module is unless it's provided (that's the "mismatched anonymous" part).
Unfortunately jQuery plugins don't really work with require.js in NodeBB due to some weird behavior.
-
Heh, I was trying this exact same thing almost two years ago on NodeBB: http://stackoverflow.com/questions/21624503/load-external-scripts-with-requirejs-without-access-to-config