* fix: apply automatic eslint fixes
* lint: allow hashbang comment for tiddlywiki.js
* lint: first back of manual lint fixes for unused vars
* lint: added more fixes for unused vars
* lint: missed files
* lint: updated eslint config with selected rules from #9669
* Introduced preliminary idea for infinite recurse exception
* Better handling of infinite recursion
But it could be better still...
* the TransclusionError is a proper error
Moved the magic number to be on the error's class. Not sure if that's
a great idea.
* Fixed minor minor issue that came up in conflict
The minor fix to the jasmine regexp that escaped a '+' somehow
broke some random test.
* Removing patch fix for recursion errors
* Fixed issue where buttton and other widgets don't clean up
* Added release notes for #9548
* Update test-widget.js
If I don't fix those indentations, the entire TW codebase will explode or soemthing.
* Update test-widget.js
These lint problems are wasting my time.
* Fixed all core widgets to not leak when renderChildren fails
* Updated release notes to reflect what I'm actually fixing
* Update test-widget.js
Added warning not to use for-of loop for defining tests. The iterating variable needs to have its own method scope, or it risks being the same value for all tests.
* wip proposal still contains commented old code - tests are missing
* rename isTagNameSafe to makeTagNameSafe
* remove comments
* remove redundant space
* add htmlCustomPrimitives to the $tw.config object
* remove tag-sanitation from element.js
* WIP - add html-element sanitation to the new makeTagNameSafe function, so it can be used globally
* simplify sanitation logic and fix inline docs
* Move top comment into inline comments
* Add data attribute support to button widget
* Fix typo
* Refactor ready for making mechanism more generic
* Apply more generic implementation to multiplate widgets
* Refactor to use existing widget.assignAttributes() method
* Fix typo
* Clarify docs
* Update docs
* Update select widget to support style.* attributes
* Remove obsolete comment
* Fixes refresh issues for checkbox and links widgets for data attributes (#7846)
* fix: refresh issues with checkbox and links widgets
* fix: indenting
* Feat: add support for data attributes to Draggable and Droppable widgets (#7845)
* Docs clarification
* docs: add style and data attributes to Draggable and Droppable widget docs (#7850)
* Refactors Select widget to directly create DOM node (#7848)
* fix: refactored SelectWidget to directly create DOM nodes
* fix: refactored SelectWidget to directly create DOM nodes
* fix: improve refresh handling for select widget
* Fixes issues in the PR "Button widget data attributes" (#7852)
* fix: fixed ordered attributes handling and improved tests to catch event attributes
* fix: clean up code from testing
* fix: more tests and refactoring
* fix: use lowercase when checking for event attribute prefix
* fix: use lowercase when checking for event attribute prefix
* fix: changed comment wording
* fix: minor refactoring
* refactor: for brevity
---------
Co-authored-by: Saq Imtiaz <saq.imtiaz@gmail.com>
Even though we passed the `class` attribute, it did not take it into
account. For example try to render this:
<$droppable class="custom-css-class">
... content ...
</$droppable>
Before applying this patch:
<span class=" tc-droppable">
... content ...
</span>
After applying:
<span class="custom-css-class tc-droppable">
... content ...
</span>
These changes allow drag and drop to work with one issue: <a> links are
not draggable; draggable divs, spans, buttons etc. seem to work fine.
There’s some issue with IE11 that I don’t understand.
For testing, you can force links to become spans by changing line 64 of
$:/core/modules/widgets/link.js to:
var domNode = this.document.createElement("span");