Commit Graph

20 Commits

Author SHA1 Message Date
Samuel Walladge
18c7d72843 restructure code to pass lints 2020-05-05 09:25:23 +09:30
Samuel Walladge
9c4b458d2a Fix elem not selected if id contains special chars
If the id of a `.formulaequationinput input` element contains a special
character, then the selector for $preview was silently failing to match
the element, because no escaping was happening.

This fixes the issue by escaping the id before passing to the jQuery
selector function. CSS.escape is the ideal method, but this isn't
present in IE or Edge, so we use a fallback borrowed from the new
jQuery.escapeSelector method.
2020-05-04 09:27:12 +09:30
Eric Fischer
5bc6b31e29 eslint --fix 2017-12-08 14:38:41 -05:00
cahrens
156b43ec0f Allow passing through title to iFrame.
Also changes section to div.

TNL-6044
2016-12-05 12:53:57 -05:00
Brian Jacobel
163ff84699 Run eslint autofixer on /common 2016-08-08 15:59:18 -04:00
Brian Jacobel
a32fd27d60 Replace JSHint ignore directives with ESLint ones 2016-08-04 16:22:59 -04:00
muzaffaryousaf
9cbfea2edd Js test fixes for common, common-requirejs, xmodule. 2016-04-22 19:09:31 +05:00
Adam Palay
d3a467d366 Only add event listener if it hasn't been added yet 2016-03-23 00:00:27 +05:00
Adam Palay
c63dcf0dfe render mathjax in svg by default (TNL-4145)
mathjax preview should be inline by default
2016-02-24 12:51:30 -05:00
cahrens
deb4e35f92 Disable Fast Preview for version 2.5.
Except for the Discussion Tab.
TNL-3693, TNL-3365
2015-10-29 11:56:08 -04:00
Waqas Khalid
4834e51aca Mathjax should be used after complete loading
Student couldn't able to submit his answer in ie9
becuase mathjax was used before its complete loading
thats cuase the problem. Mathjax operations should be
handled synchronously inorder to avoid error.

BLD-1199
2014-09-05 17:19:48 +05:00
stv
bdf90bfcfb Remove superfluous JSInput test
The behavior previously tested here was to check that if a JSInput
element was marked as not processed, re-walking the DOM *should* have
reinitialized it. Unfortunately, this behavior is not supported by the
underlying JSChannel library. In fact, if JSChannel detects an existing
channel with the same origin and scope, it throws an uncaught exception,
leaving the DOM in a "broken" state.

JSInput will prevent duplicates from being added, as long as we don't
manually update the `data-processed` attribute. This behavior is already
being tested.
2014-06-13 11:04:24 -07:00
stv
60a9e99871 Fix JSInput tests
Select DOM elements with wildcard syntax

- DOM lookups were being done with non-existent literal selectors, so it
  was returning empty lists. As assertions were to be made while
  iterating over the list of elements, nothing was actually being
  verified.

- Common code has been centralized in the setup function. By declaring
  CSS selectors once, we minimize the odds of inadvertently using the
  wrong selector, as happened here.

- Had these tests actually been iterating over a non-empty list, this
  would have thrown undefined exceptions. jQuery.each calls its handler
  with an index and an item/object as the arguments. However, the object
  is a DOM-object, not a jQuery-object.  These tests break, as they had
  assumed the latter.
2014-06-13 11:04:24 -07:00
stv
e2cab19084 Ensure JSInput tests actually run
This test currently fails, meaning that the existing tests weren't
testing what they claimed.

Assertions are made for each element returned by the CSS selectors.
However, the selectors are assumed to be wildcard matches, but are
actually literal selectors. As there are no matched elements, this
causes the assertions to be (silently) checked zero times, without
failure.
2014-06-13 11:04:24 -07:00
jmclaus
5478525a42 Added JSInput template to Studio and a sop attribute to JSInput. Only if it's set to false, as in JSInput's template, will JSChannel be used to bypass it. In all other cases (attribute not present or set to something else), SOP is enforced. Compatibility with jsVGL is therefore maintained. Multiple JSInput are supported in a vertical. Also, save button now functions. [BLD-523, BLD-556, BLD-568] 2013-12-20 17:03:56 +01:00
Peter Baratta
48cb05c037 Reset 'correctness' visual indicator of a problem on new input
Affects:
Choicegroups, option inputs, textline, and formula equation inputs
2013-08-30 12:03:41 -04:00
Peter Baratta
e312344dfa Fix initial loading bug.
Change the `MathJax.Hub.Queue(initializeRequest)` to a simpler function call
(`initializeRequest.call(this)`). This was failing to give a proper context
to initializeRequest, and `this.value` was turning up as `undefined`.

Also add a fallback if we need to display some code before MathJax finishes
its original typesetting.

I was stubbing out `Queue` in my specs, so the tests had to be changed around
a little.
2013-08-13 13:33:51 -04:00
Peter Baratta
735e3b01a2 Create a new response type for Numerical/Formula
Named `FormulaEquationInput` (name up for debate)

- Based off ChemEqnIn
- Add FormulaEquationInput in inputtypes.py
- Add a call to a skeleton method for a preview

javascript:

- Queue up some MathJax
- Put some ordering on the AJAX requests: add a parameter when the request was started, when it returns check that it isn't outdated before displaying the preview
- Tests

Note: we moved the `jsinput` tests and DISABLED them, because they were causing the tests to fail.
2013-08-12 11:48:45 -04:00
Julian Arni
fd6abc88e2 Incorporate review comments 2013-07-08 14:32:02 -04:00
Julian Arni
386029bee3 Adding jasmine tests; code cleanup. 2013-07-01 10:18:38 -04:00