Dashboards & Visualizations

Moment.js won't work in XML

matstap
Communicator

I have an XML dashboard which calls a custom JavaScript file, set_input_types.js". This file calls moment.js. When I put moment.js before the custom script, like this:

<form script="moment.js, set_input_types.js">

the rest of the functionality of set_input_types.js breaks. What are some things that could be going wrong?

I've also tried putting jquery.js before moment.js in the list of scripts.

0 Karma
1 Solution

kamlesh_vaghela
SplunkTrust
SplunkTrust

@matstap

Have you tried to require moment in set_input_types.js? Just remove moment.js from XML and put below code in set_input_types.js.

var moment = require('moment');

View solution in original post

kamlesh_vaghela
SplunkTrust
SplunkTrust

@matstap

Have you tried to require moment in set_input_types.js? Just remove moment.js from XML and put below code in set_input_types.js.

var moment = require('moment');

matstap
Communicator

@kamlesh_vaghela That worked, thanks! I did have to do one thing extra. I had to also add 'moment' to my require([]) array:

require([
    'underscore',
    'jquery',
    'splunkjs/mvc',          /* --- To access tokens --- */
    'splunkjs/mvc/simplexml/ready!',
    'moment'
    ], function(_, $, mvc) {

        var moment = require('moment');
0 Karma

kamlesh_vaghela
SplunkTrust
SplunkTrust

@matstap

Great. It's work for you. But you have to add moment to require array also. Is that any specific issue your were facing so you need to add it?

0 Karma
Get Updates on the Splunk Community!

Splunk Observability for AI

Don’t miss out on an exciting Tech Talk on Splunk Observability for AI! Discover how Splunk’s agentic AI ...

[Puzzles] Solve, Learn, Repeat: Dereferencing XML to Fixed-length events

This challenge was first posted on Slack #puzzles channelFor a previous puzzle, I needed a set of fixed-length ...

Stay Connected: Your Guide to December Tech Talks, Office Hours, and Webinars!

What are Community Office Hours? Community Office Hours is an interactive 60-minute Zoom series where ...