1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-11-07 18:39:57 +00:00
Commit Graph

507 Commits

Author SHA1 Message Date
jeremy@jermolene.com
81002f9f30 Merge branch 'master' into parameterised-transclusions 2023-01-17 16:40:47 +00:00
jeremy@jermolene.com
02d28c100b Merge branch 'tiddlywiki-com' 2023-01-15 18:46:46 +00:00
jeremy@jermolene.com
4f96465141 Merge branch 'master' into parameterised-transclusions 2023-01-07 09:34:11 +00:00
jeremy@jermolene.com
42a408146d Empty or missing type on genesis widget should not render an element/widget
Fixes #7153
2022-12-30 21:42:07 +00:00
Wincent Balin
d217826375
Fix miscellaneous docs typos (#7143) 2022-12-21 10:07:14 +00:00
jeremy@jermolene.com
31f4c1f6af Merge branch 'master' into parameterised-transclusions 2022-12-05 17:21:33 +00:00
Mohammad Rahmani
45a7eb1c03
Add new focus attribute to $select widget (#7081)
* Add focus attribute to $select widget

This address https://github.com/Jermolene/TiddlyWiki5/issues/7070

* Update SelectWidget.tid

Update the documentation for $select widget to include the new attribute: focus
2022-12-03 08:22:21 +00:00
FlashSystems
3918e59cc1
Fixed PR to fix popup position if popup is triggered from within an offsetParent element (#7013)
* Fix popup location for tables

This commit introduces the `popupAbsCoords` option to the $button widget
and implements an absolut coordinate format.

Coordinates for popups are stored in the format `(x,y,w,h)`. These
coordinates are relative to the offset parent of the element that
defines the popup.

This commits adds a second format `@(x,y,w,h)`. Coordinates specified in
this format a relative to the pages root element.

The `popupAbsCoords` option of the $button widget enables the use of
this coordinates.

* Unify the declaration of the RegEx for parsing the popup-position

The regular expression was declared in three locations with the same
content. This commit supplies a new function `parseCoordinates` in
`popup.js`. This function returns the parsed coordinates and understands
the classic/absolute coordinates.

This function is used in `reveal.js` and `action-popup.js` to parse the
coordinates.

* Add documentation for coordinate systems

* Consolidate creating coordinate strings

The Popup object now contains a `buildCoordinates` method that can be
used to build coordinate strings. It takes an "enum" for the coordinate-
system to use. This makes everything easily extensible and prevents the
use of magic values.

* Add tests for `parseCoordinates` and `buildCoordinates`

* Add `tv-popup-abs-coords` to `collectDOMVariables`

This will make the absolute coordinates available for the
`DraggableWidget` and the `EventCatcherWidget`.

* Add documentation for the `tv-popup-abs-coords`

... to the `DraggableWidget` and the `EventCatcherWidget`.

* Fix crash when generating a static version of the TW

The Popup class is not initialized in `startup.js` if `$tw.browser` is
not true. After having consolidated the facilities for parsing
coordinate strings into `popup.js` this breaks because the static build
needs to parse coordinate stings even if no Popup module is initialized.
This commit solves this problem by making `readPopupState`,
`parseCoordinates` and `buildCoordinates` static methods of `popup.js`.
It also adds a comment to these functions to show that these can be called
safely even if the Popup-Class is not initialized.
2022-12-01 21:16:44 +00:00
jeremy@jermolene.com
478b585a8c Merge branch 'master' into parameterised-transclusions 2022-11-02 08:21:17 +00:00
jeremy@jermolene.com
62f26d6630 Improve genesis widget examples 2022-11-01 10:07:54 +00:00
jeremy@jermolene.com
e7caa0c739 Docs typo
Thanks @twMat
2022-10-30 21:17:55 +00:00
jeremy@jermolene.com
b9d27e9fd5 Revert "Fix popup position if popup is triggered from within an offsetParent element (#6887)"
This reverts commit 5b85786f73.
2022-10-22 13:22:15 +01:00
FlashSystems
5b85786f73
Fix popup position if popup is triggered from within an offsetParent element (#6887)
* Fix popup location for tables

This commit introduces the `popupAbsCoords` option to the $button widget
and implements an absolut coordinate format.

Coordinates for popups are stored in the format `(x,y,w,h)`. These
coordinates are relative to the offset parent of the element that
defines the popup.

This commits adds a second format `@(x,y,w,h)`. Coordinates specified in
this format a relative to the pages root element.

The `popupAbsCoords` option of the $button widget enables the use of
this coordinates.

* Unify the declaration of the RegEx for parsing the popup-position

The regular expression was declared in three locations with the same
content. This commit supplies a new function `parseCoordinates` in
`popup.js`. This function returns the parsed coordinates and understands
the classic/absolute coordinates.

This function is used in `reveal.js` and `action-popup.js` to parse the
coordinates.

* Add documentation for coordinate systems

* Consolidate creating coordinate strings

The Popup object now contains a `buildCoordinates` method that can be
used to build coordinate strings. It takes an "enum" for the coordinate-
system to use. This makes everything easily extensible and prevents the
use of magic values.

* Add tests for `parseCoordinates` and `buildCoordinates`

* Add `tv-popup-abs-coords` to `collectDOMVariables`

This will make the absolute coordinates available for the
`DraggableWidget` and the `EventCatcherWidget`.

* Add documentation for the `tv-popup-abs-coords`

... to the `DraggableWidget` and the `EventCatcherWidget`.
2022-10-22 13:13:39 +01:00
jeremy@jermolene.com
33de634606 Adjust modified times of docs tiddlers to make them easier to find 2022-10-19 09:15:38 +01:00
jeremy@jermolene.com
32710ef9e6 Merge branch 'master' into parameterised-transclusions 2022-10-18 17:23:57 +01:00
jeremy@jermolene.com
c19d6d6328 Merge branch 'tiddlywiki-com' 2022-10-17 12:22:06 +01:00
jeremy@jermolene.com
941c09fae2 ScrollableWidget example shouldn't iterate through all tiddlers 2022-10-17 12:21:34 +01:00
jeremy@jermolene.com
76bc3a7358 Docs typo
https://github.com/Jermolene/TiddlyWiki5/pull/6666#discussion_r990811220

Thanks @btheado
2022-10-09 17:48:24 +01:00
jeremy@jermolene.com
85a203bcf2 Revert modified date of docs that have only had minor tweaks 2022-10-09 17:43:38 +01:00
jeremy@jermolene.com
c25129584c Docs updates 2022-10-09 17:34:22 +01:00
jeremy@jermolene.com
1c73460ecc Fix doc file locations 2022-10-09 13:56:36 +01:00
jeremy@jermolene.com
ef93fc29bf More docs updates 2022-10-09 13:54:33 +01:00
jeremy@jermolene.com
12a87840fd Merge branch 'master' into parameterised-transclusions 2022-10-07 16:57:54 +01:00
jeremy@jermolene.com
dcbff82460 Docs updates 2022-10-07 16:56:21 +01:00
jeremy@jermolene.com
bf41e08c2f Revert change to setwidget docs 2022-10-06 10:30:40 +01:00
jeremy@jermolene.com
d6ff38095b Docs: Fix typo 2022-10-06 10:25:14 +01:00
jeremy@jermolene.com
93100a1c8f Remove support for conditional definitions
It was introduced for use cases associated with the global mechanism that was dropped in e3d13696c8
2022-10-03 14:39:45 +01:00
jeremy@jermolene.com
0a309f4865 Merge branch 'master' into parameterised-transclusions 2022-10-01 10:18:34 +01:00
Jeremy Ruston
db6abb9703
Improve recursion detection for transclusion and filters (#6970) 2022-10-01 10:13:40 +01:00
jeremy@jermolene.com
1df4c29d73 Relax the restriction on the let widget being unable to create variables starting with a dollar 2022-10-01 09:47:26 +01:00
jeremy@jermolene.com
d950835e2f Docs clarification 2022-09-24 15:05:54 +01:00
jeremy@jermolene.com
a482f01352 Merge branch 'master' into parameterised-transclusions 2022-09-24 14:08:44 +01:00
Jeremy Ruston
4e9267ea58
Introduce genesis widget (#6961)
* Initial Commit

* Fix version number

* Fix docs date
2022-09-24 14:07:42 +01:00
jeremy@jermolene.com
e3d13696c8 Remove implementation of $:/globals/
Performance with this implementation is inherently poor because of the need to perform a wiki lookup for each child widget created.
2022-09-24 12:56:06 +01:00
jeremy@jermolene.com
c3589357bf Huge Documentation Update
Not quite finished, but definitely on the home stretch
2022-09-21 10:41:03 +01:00
jeremy@jermolene.com
fe6186b1c1 Docs update 2022-09-16 16:07:58 +01:00
jeremy@jermolene.com
ef677c39c0 Docs tweaks 2022-09-11 10:57:35 +01:00
jeremy@jermolene.com
7aba21c1be Docs updates 2022-09-09 14:15:56 +01:00
jeremy@jermolene.com
32a6b6bb90 Docs updates 2022-09-09 12:05:08 +01:00
jeremy@jermolene.com
82b22523aa Rejig genesis widget to be easier to use 2022-09-09 10:37:39 +01:00
jeremy@jermolene.com
6207ec4812 Merge branch 'master' into parameterised-transclusions 2022-08-02 17:49:28 +01:00
jeremy@jermolene.com
608aa3378a Merge branch 'tiddlywiki-com' 2022-08-02 12:21:14 +01:00
jeremy@jermolene.com
75865385a6 Docs: Fix typos
Thanks @amreus

Fixes #6860

Fixes #6859
2022-07-31 15:23:58 +01:00
Saq Imtiaz
613b3df367
Image lazy loading (#6809)
* Extend image widget with lazy loading support

* docs: added from-version to docs update
2022-07-21 15:30:56 +01:00
jeremy@jermolene.com
0366d6d7ba Merge branch 'master' into parameterised-transclusions 2022-07-21 10:11:23 +01:00
jeremy@jermolene.com
39996c7a2f Merge branch 'tiddlywiki-com' 2022-07-21 10:11:14 +01:00
jeremy@jermolene.com
b1cf9f241e Merge branch 'master' into parameterised-transclusions 2022-07-21 10:10:49 +01:00
jeremy@jermolene.com
7d90083d14 Docs: Transclude widget 2022-07-18 19:44:53 +01:00
jeremy@jermolene.com
93717560dc Docs: Update advice about using counter attribute of list widget 2022-07-18 12:03:42 +01:00
Saq Imtiaz
19331cc6f9
Fix: brittle selector implementation for draggable widget (#6786)
* Fix: fixes #6595, brittle selector implementation for draggable widget

* Docs: updated for fix to selector implementation for draggable widget
2022-07-15 15:38:09 +01:00
jeremy@jermolene.com
189fe428b7 Merge branch 'master' into parameterised-transclusions 2022-07-04 21:15:42 +01:00
jeremy@jermolene.com
a59ec3ebf7 Merge branch 'tiddlywiki-com' 2022-07-04 21:15:23 +01:00
Mario Pietsch
10bc84ba6c
Add Note formatting to an important paragraph in ScrollableWidget (#6729) 2022-06-20 13:51:44 +01:00
jeremy@jermolene.com
688c3bc5f6 Docs: JSON operators and tweaks to genesis widget 2022-06-11 15:22:43 +01:00
jeremy@jermolene.com
b57a6da548 Mark docs as v5.3.0 2022-06-03 09:22:19 +01:00
jeremy@jermolene.com
170c4b1799 Merge branch 'master' into parameterised-transclusions 2022-05-23 11:28:12 +01:00
jeremy@jermolene.com
c808764254 Merge branch 'tiddlywiki-com' 2022-05-23 09:14:54 +01:00
jeremy@jermolene.com
a9b0c5d7ff Cherry-pick JSON docs improvements from #6522 2022-05-23 09:14:02 +01:00
jeremy@jermolene.com
9e3c233686 Add some warnings about the dangers of title lists 2022-05-23 08:56:10 +01:00
jeremy@jermolene.com
1a377a485b Merge branch 'tiddlywiki-com' 2022-05-14 15:55:42 +01:00
Mario Pietsch
084a5cb0f0
Fix headings in wikitext example code (#6692) 2022-05-14 13:31:36 +01:00
Simon Huber
b4deb7cc45
Add tv-widgetnode-width and tv-widgetnode-height (#6681)
* Add tv-widgetnode-width and tv-widgetnode-height to collectDOMVariables

* Add docs

* update docs

* Update modified field
2022-05-09 10:42:23 +01:00
jeremy@jermolene.com
f56e316c86 Fix genesis widget example 2022-05-05 11:34:06 +01:00
jeremy@jermolene.com
56c2242e4e Introduce genesis widget for dynamically creating widgets
See the "RedefineLet" test for a contrived example of usage
2022-05-03 12:55:10 +01:00
jeremy@jermolene.com
2ea0374b55 Allow the let widget to create variables starting with $ 2022-05-03 08:44:33 +01:00
Robin Munn
8dec674121
Allow checkboxes to be indeterminate (#6593)
* Documentation for indeterminate checkboxes

* Unit tests for indeterminate checkboxes

* Implement indeterminate checkboxes

* Simplify indeterminate checkbox example

* Slightly simplify refresh logic for indeterminate

That five-line if statement can be turned into a simple assignment.

* Use "yes" and "no" for checkbox indeterminate attr

This makes the "indeterminate" attribute of the checkbox widget work the
same way as other boolean attributes of other widgets.

* Fix bug with invertTag attribute

One place in the checkbox widget code was checking invertTag for
Javascript truthiness rather than the value "yes", which could have
produced incorrect results if anyone wrote invertTag="no". Fixed.
2022-04-18 20:50:03 +01:00
Simon Huber
383c8b5e49
Add docs for "enable" attribute of draggable widget (#6634) 2022-04-16 16:30:50 +01:00
Simon Huber
58dd47d128
Add "tv-selectednode-width" and "tv-selectednode-height" ... (#6582)
* Add "tv-selectednode-width" and "tv-selectednode-height" ...

... variables to dragstartactions

* Update dragndrop.js

* Update dragndrop.js

* Add docs

* Update dragndrop.js

* Update dragndrop.js

* Update DraggableWidget.tid

* Update modifier Variable.tid

* Update modifier Variable.tid

* Update eventcatcher.js

* Update dom.js

* Update dragndrop.js

* Update dragndrop.js

* Update DraggableWidget.tid

* add a space after //

* Update modifier Variable.tid
2022-04-15 13:46:09 +01:00
Robin Munn
e28af8d594
Checkbox widget: list and filter modes (#6561)
* Docs for CheckboxWidget list and filter modes

This documents the `listField` and `filter` attributes.

* Tests for checkbox widget list mode

* Implement checkbox list mode

* WIP on implementing filter attr for checkboxes

* Improve CheckboxWidget documentation

* Refactor checkbox tests: move function to top

The big findNodeOfType function belongs at the top of the describe
block, so that the checkbox tests are more compact and easy to read.

* Move checkbox widget tests to end of file

The checkbox widget tests are long and involved, so we'll move them to
the end of the file so they aren't a huge block of code you need to read
past to find the next test.

* Improve formatting of CheckboxWidget docs

The \define() calls that are short enough to fit on one line should be
put on one line, for readability. The ones that are quite long have been
kept on multiple lines, for readability.

* Added more passing tests for checkbox widget

* Add some failing tests for checkbox widget

The filter mode where neither checked nor unchecked is specified (in
which case an empty filter result means false and a non-empty result
means true) is not working yet.

* Make failing tests pass

* Uncomment (and improve) test for field mode

We're now ready to start working on making this test pass. (There was
also one small mistake in the test, which this commit corrects).

* All tests now passing

* No indeterminate checkboxes in simple modes

The simple checkbox modes (field and index) should not produce
indeterminate checkboxes. That should be reserved for the advanced modes
(list and filter).

* Minor improvement to unit tests

* Allow indeterminate checkboxes in list and filter modes

This change may require some tweaks to the unit tests to be able to test
it properly.

* Slightly easier to read tests

* Two more tests for list mode

* Greatly simplify unit test code

Turns out there's no need to jump through Object.getPrototypeOf hoops.

* Minor simplification of unit test

* Add tests for indeterminate in list & filter modes

With this, the set of tests is complete.

* More tests to specify list mode behavior

* Unfocus tests so all tests run

* Update docs to say "new in 5.2.3" insetad of 5.2.2

* Move checkbox widget tests into their own file

The test-widget.js file was getting too long with all the checkbox
tests added, so we'll move the checkbox tests into their own file.

* Add checkbox widget tests for index mode

This commit also adds tests for index list mode (with a listIndex
attribute that will parallel the listField attribute) but leaves them
commented out because they don't pass yet: the code that implements the
listIndex attribute hasn't been written yet).

* Add listIndex attribute to checkbox widget

* Remove code that lets checkboxes be indeterminate

This reverts commit 6afcb151be. We will
add this code back in a later PR.

* Remove indeterminate tests for checkbox widget

We're currently not allowing indeterminate checkboxes, so there's no
need for the tests that check for them.

* Document listIndex attribute of CheckboxWidget

* adds class tc-checkbox-checked when checked

* equivalent to #2182 (RadioWidget)
* also applies `tc-checkbox` to checkboxes by default, always

* Move macro definitions inside example text

Since the wikitext-example-without-html macro creates a new parsing
context, it's safe to have macro definitions inside it. That makes these
examples a lot easier to write, and to read.

* Remove all mention of indeterminate checkboxes

Also improve the documentation a little bit: mention what happens in
list mode if neither checked nor unchecked is specified.

* Move filter mode to bottom of checkbox docs

The `filter` attribute should be under both `listField` and `listIndex`
rather than being between them. The documentation for filter mode should
similarly be after the `listIndex` documentation.

* Improve docs for `class` attr of checkbox widget

This brings the wording of the `class` attribute more in line with how
it's worded in the RadioWidget docs.

* Fix bug with list tiddlers

If neither checked nor unchecked was specified, then the behavior should
be "empty = false, non-empty = true". But if *both* are specified yet
neither is found, then the checkbox should be unchecked (false). It had
been falling through to the "non-empty = true" behavior, which was wrong.

* Improve listIndex example of checkbox widgets

* Remove unused function from test-widget.js

Co-authored-by: Tobias Beer <beertobias@gmail.com>
2022-04-02 15:16:08 +01:00
Jeremy Ruston
1d8c538e45
Eventcatcher widget: add "matchSelector" attribute (#6523)
* Initial Commit

* Allow matchSelector to be used even if selector attribute isn't used
2022-03-14 09:56:23 +00:00
jeremy@jermolene.com
29599baa3b Merge branch 'tiddlywiki-com' 2022-03-01 16:49:36 +00:00
Saq Imtiaz
615d8da64f
Docs: mention MessageCatcher widget in LinkCatcher tiddler (#6485) 2022-02-26 18:59:45 +00:00
Saq Imtiaz
4054566493
Extend $draggable to support an optional drag handle (#6480)
* feat: extend  to support a selector attribute identifying the DOM element to be used as the drag handle

* fix: remove redundant variable declaration

* fix: remove extranneous variable declaration
2022-02-24 11:06:18 +00:00
jeremy@jermolene.com
1a4766c5a1 Merge branch 'tiddlywiki-com' 2022-02-05 16:39:35 +00:00
Marxsal
da7cf7a4f3
QualifyWidget documentation (#6422) 2022-01-25 17:59:59 +00:00
btheado
f0bd06b38d
Add doc related to WikiText parser modes (#6415)
* Added macros for displaying wikitext examples in a table

* Added documentation for WikiText parsing

* Changed recognize to British spelling

* Add links to the new wikitext parser tiddlers
2022-01-23 09:44:01 +00:00
twMat
5548186c93
Update size attribute in EditTextWidget.tid (#6403)
ref: https://github.com/Jermolene/TiddlyWiki5/issues/6165
2022-01-17 10:11:20 +00:00
twMat
def9b553a8
typo in EventCatcherWidget.tid (#6399) 2022-01-15 12:57:51 +00:00
jeremy@jermolene.com
0729d730f8 Merge branch 'tiddlywiki-com' 2022-01-03 20:22:05 +00:00
jeremy@jermolene.com
66ae1d6930 Image widget: Add classes for loading/loaded/error 2022-01-02 17:28:54 +00:00
jeremy@jermolene.com
8e3885277f Update messagecatcher widget example to use newer syntax 2021-12-22 15:31:35 +00:00
btheado
10ebd93df3
Add ViewWidget cross references and examples (#6355)
* Link ViewWidget formats to similar filter operators

* Merge the ViewWidget columns and use the tip macro instead

* Reference the format filter operator in ViewWidget

* More accurate language in the ViewWidget docs
2021-12-20 10:07:34 +00:00
jeremy@jermolene.com
dd801d1571 Merge branch 'tiddlywiki-com' 2021-12-01 09:08:46 +00:00
btheado
3798a3c7d0
Add NavigatorWidget example (#6285)
* Add NavigatorWidget example

* Moved NavigatorWidget example into the 'Creating SubStories' tiddler

* Fixed link: NavigationMechanism => HistoryMechanism
2021-11-27 07:58:29 +00:00
jeremy@jermolene.com
b6c8cdae64 Merge branch 'tiddlywiki-com' 2021-11-26 11:19:28 +00:00
jeremy@jermolene.com
b80d079d71 Move docs tiddlers out of the root folder
Some of which I'd accidentally left from 1348607c8f, but I thought it was worth clearing them all up
2021-11-26 11:18:03 +00:00
jeremy@jermolene.com
05606f72ad Merge branch 'tiddlywiki-com' 2021-11-24 10:07:17 +00:00
Marxsal
f7f32f00a3
Adding tag to ListopsData (#6248) 2021-11-19 07:54:43 +00:00
jeremy@jermolene.com
cce18d8e2e Merge branch 'tiddlywiki-com' 2021-11-17 09:33:55 +00:00
Marxsal
fbee714ffe
Add tags to route to widgets file path (#6223) 2021-11-16 22:06:04 +00:00
eiro10
6f8e842105
tw5.com : Fix typo in ActionListopsWidget.tid (#6215)
* tw5.com : Fix typo in ActionListopsWidget.tid

* tw5.com : update modified field of ActionListopsWidget.tid

When editing a tiddler outside TW itself, this doesn't change automatically the modified field.
2021-11-15 21:17:10 +00:00
Marxsal
97dd832d2e
More tag changes for file routing (#6199) 2021-11-14 09:12:19 +00:00
Marxsal
d7e7d87581
Add Filter tag to The Extended Listops Filters (#6201) 2021-11-14 08:47:53 +00:00
Marxsal
a33e94c4ee
Correct tag names. Add missing tags (#6193)
* Correct tag names. Add missing tags

* Update _muritest_ by Simon Huber.tid

Auto PR didn't include this.

* Update _TiddlyServer_ by Matt Lauber.tid

Fixing tag
2021-11-13 08:48:52 +00:00
Marxsal
dcb083abb0
Add example of actions attribute to SelectWidget documentation (#6181) 2021-11-08 16:59:17 +00:00
Marxsal
746a8ca17f
Restore some docs re EditTextWidget (#6170) 2021-11-04 20:39:53 +00:00
jeremy@jermolene.com
2475e1b501 Merge branch 'tiddlywiki-com' 2021-11-04 20:34:01 +00:00
btheado
7a50603d9d
Added MessageHandlerWidgets and TriggeringWidgets tags (#6161) 2021-11-01 12:56:52 +00:00
jeremy@jermolene.com
870c7897ad Fix docs typos 2021-10-30 15:28:54 +01:00
Cameron Fischer
2bfe522b72
Add $let widget (#6148)
* $let widget added and tested

* Documentation for $let, doc improvements for $vars

* let properly avoids refreshing when possible

* $let Changes as recommended by others

* Removed superfluous super method call

Also improved $let test
2021-10-30 11:42:22 +01:00