1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-07-03 18:53:28 +00:00
Commit Graph

1030 Commits

Author SHA1 Message Date
Jeremy Ruston
ff4d76f045 Fix up missing variable values
We were crashing if a variable was inadvertantly set to undefined
2013-11-04 10:00:34 +00:00
Jeremy Ruston
adf16eeaf3 Update macrocall widget to allow type of input and output to be specified
Means that you can invoke macros without parsing them as wikitext.
2013-11-04 10:00:02 +00:00
Jeremy Ruston
ed6fd475ab Add 'default' attribute to button widget
This allows us to do things like tab controls properly.
2013-11-04 09:59:26 +00:00
Jeremy Ruston
8ab7a1dd8f Only set the style of the button widget if the style attribute is specified 2013-11-04 09:58:56 +00:00
Jeremy Ruston
fd70aa8c45 Get rid of the qualifyTiddlerTitles hack
Now, finally, we can implement qualifyTiddlerTitles as a macro.
2013-11-02 15:42:24 +00:00
Jeremy Ruston
0b1f0a5fab Refactor the list widget to get rid of some hacks
As promised.
2013-11-02 10:12:55 +00:00
Jeremy Ruston
51394e50e8 Get rid of the event handling in the tiddler widget
Much neater if each widget does as little as possible.
2013-11-02 10:12:22 +00:00
Jeremy Ruston
31ae8910c6 Fix animation behaviour of reveal widget 2013-11-02 09:21:11 +00:00
Jeremy Ruston
6a6f6c7713 Restored animations for the reveal widget 2013-11-01 17:23:08 +00:00
Jeremy Ruston
0b0fb0a145 Fixed refresh logic of element widget 2013-11-01 17:22:51 +00:00
Jeremy Ruston
6b6b444269 Fixed refresh logic of checkbox widget 2013-11-01 17:22:40 +00:00
Jeremy Ruston
363e90fca8 Remove version widget in favour of widget macro 2013-11-01 13:22:06 +00:00
Jeremy Ruston
4118afe9e8 Make the widget tree for the page accessible to the JS console
Now you can browse the render tree of widgets by inspecting
`$tw.pageWidgetNode` in the JS console
2013-11-01 12:44:03 +00:00
Jeremy Ruston
4f4d45a972 Fix problem with default attribute of edit-text widget
Setting `default=""` wasn't working
2013-11-01 12:43:23 +00:00
Jeremy Ruston
e870e28cf3 Remove unused wikified format from viewwidget 2013-10-31 22:01:12 +00:00
Jeremy Ruston
01a0c9481e Remove unused class attribute from reveal widget 2013-10-31 21:59:53 +00:00
Jeremy Ruston
45f0f46fdf Fix macrocall widget to not pass $name as a parameter 2013-10-31 21:59:37 +00:00
Jeremy Ruston
1ca473fd2f Remove unused preserveCurrentTiddler attribute from list widget 2013-10-31 21:59:15 +00:00
Jeremy Ruston
1cc27b2598 Correct typo 2013-10-31 21:59:01 +00:00
Jeremy Ruston
0ec2cf20a9 Rename "focusSet" attribute of edit-text widget to "focusPopup" 2013-10-31 12:37:22 +00:00
Jeremy Ruston
4d4a84c5bf Remove unused class attribute from edit-bitmap widget 2013-10-31 12:36:38 +00:00
Jeremy Ruston
4646ba4e30 Remove unused class attribute from checkbox widget 2013-10-30 16:28:57 +00:00
Jeremy Ruston
f9c95dda46 Allow browsing for multiple files at once 2013-10-30 16:05:49 +00:00
Jeremy Ruston
8084837f48 Fix problem with default text handling in edit-text widget 2013-10-30 14:27:55 +00:00
Jeremy Ruston
9e3618bdcf Rename the 'title' attributes of various widgets to 'tiddler'
The change is to avoid confusion with the HTML 'title' attribute. The
name 'tiddler' better emphasises the purpose of the attribute, too.
2013-10-30 13:36:44 +00:00
Jeremy Ruston
05e73ee1da Cope with localStorage not being available
IE10 doesn't allow localStorage for HTML pages loaded from the file://
protocol.
Boo.
2013-10-29 22:21:25 +00:00
Jeremy Ruston
d42fb673f8 Fix checkbox widget to update modified and modifier fields 2013-10-29 21:20:59 +00:00
Jeremy Ruston
654f48b14d Fix problem with modal titles 2013-10-29 15:01:36 +00:00
Jeremy Ruston
731cbb8cd6 Switch from new_pageContainer back to pageContainer 2013-10-29 15:01:27 +00:00
Jeremy Ruston
b4da65d1c9 Update fakedom to no longer add a newline after opening tags
The newline was being rendered within `<code>` elements.
2013-10-29 14:52:12 +00:00
Jeremy Ruston
14d7d5ea59 Use the new wiki.makeWidget() method where we can 2013-10-29 14:51:35 +00:00
Jeremy Ruston
4eebe7388d Add a wiki.makeWidget() method
Encapsulates some logic that has been duplicated elsewhere.
2013-10-29 14:48:24 +00:00
Jeremy Ruston
371c8ab45a Fix changed attribute detection in tiddler widget 2013-10-29 09:04:18 +00:00
Jeremy Ruston
bf48e6f8a1 Rename tiddlerTitle variable to currentTiddler 2013-10-28 23:40:45 +00:00
Jeremy Ruston
b4b0eae4e5 Allow the foreignObject element in SVG to embed HTML via the body element
This change means that any `<body>` elements inside an SVG region of
the DOM tree will switch the namespace back to XHTML.
2013-10-28 15:05:19 +00:00
Jeremy Ruston
20f03de712 The big purge of the old widget mechanism
Getting rid of the old widget mechanism files finally gives us a payoff
for all the refactoring. Still a bit of tidying up to do, and we need
to re-introduce the animation mechanisms.
2013-10-27 22:55:36 +00:00
Jeremy Ruston
5610efff01 Update typedblock parser to use new widget mechanism 2013-10-27 22:53:22 +00:00
Jeremy Ruston
d84e398d7a Fix problem when widgets don't have a parse tree node 2013-10-27 22:53:06 +00:00
Jeremy Ruston
c7d56361ee Parse and render macro attributes, rather than using the raw text 2013-10-27 22:52:34 +00:00
Jeremy Ruston
d1108c7fcc Remove inaccurate comments 2013-10-27 22:52:04 +00:00
Jeremy Ruston
b1208a8d37 Fix problem with getTiddlerLinks()
It was crashing if it encountered a link widget that didn't have a `to`
attribute.
2013-10-27 13:54:39 +00:00
Jeremy Ruston
3ad3cfd526 Bring back the bitmap editor widget 2013-10-26 13:13:55 +01:00
Jeremy Ruston
f8f524d378 Make sure the dragger cover properly covers the dragger 2013-10-26 10:29:52 +01:00
Jeremy Ruston
76faba2d9f Get rid of the old tempwidget 2013-10-26 10:29:40 +01:00
Jeremy Ruston
98da59be7a Extend the link widget to make the links draggable 2013-10-26 08:36:43 +01:00
Jeremy Ruston
05fc9848bb Extend the dropzone widget to cope with dataTransfer objects (as well as files) 2013-10-26 08:36:31 +01:00
Jeremy Ruston
068befb24f Refactor link widget with tidier event handler 2013-10-25 23:22:46 +01:00
Jeremy Ruston
ad518c181d Add jsencoded view format 2013-10-25 23:00:43 +01:00
Jeremy Ruston
925e22c46f Fix up the server command to use the new widget mechanism 2013-10-25 22:30:15 +01:00
Jeremy Ruston
bdcead624a Add a changecount macro 2013-10-25 22:29:49 +01:00
Jeremy Ruston
b3ae45cbde Invoke macros with this set to the host widget 2013-10-25 22:29:28 +01:00
Jeremy Ruston
8fbc5759ad Refactor widget.getVariable() to have better behaved parameters 2013-10-25 22:16:15 +01:00
Jeremy Ruston
75231fec39 Add browse and dropzone widgets
We're splitting out the two aspects of the old import widget
2013-10-25 21:16:03 +01:00
Jeremy Ruston
c2efdfdbc4 Extend the navigator widget to handle import events 2013-10-25 21:15:32 +01:00
Jeremy Ruston
8c2fb7b8d0 Extend wiki object to have methods required for importing 2013-10-25 21:15:20 +01:00
Jeremy Ruston
62b72f6bd1 Move browser-startup module initialisation to the end of startup 2013-10-25 12:53:40 +01:00
Jeremy Ruston
11a07e71dc Move stripcomments from the classictools plugin into the core
It's a bit of a hack for the moment. The plan is to implement
stripcomments via the macro mechanism, at which point it can move back
into the plugin.
2013-10-25 12:32:57 +01:00
Jeremy Ruston
8a709a0b00 Give the edit-text widget some extensibility hooks
So that the upcoming CodeMirror plugin can do its stuff
2013-10-25 09:15:56 +01:00
Jeremy Ruston
3251aa191f Fix up saving encrypted wikis 2013-10-24 13:10:32 +01:00
Jeremy Ruston
56b2c25588 Whoops file in the wrong place 2013-10-24 12:00:32 +01:00
Jeremy Ruston
632970cd86 Get external links working again
We no longer use the `<$link>` widget for external links. Instead the
parser generates `<a>` elements. This makes things simpler, but does
mean that the `target=_blank` behaviour is baked into the parser.
Probably we should introduce a new `<$extlink>` widget that generates
an `<a>` element with a configurable `target` attribute
2013-10-24 11:54:54 +01:00
Jeremy Ruston
3350510516 Add new modules and moduletypes filter operators 2013-10-23 23:11:41 +01:00
Jeremy Ruston
3241c2b76a Added password widget 2013-10-23 20:24:45 +01:00
Jeremy Ruston
54bed81ab9 Missed off some of the refresh logic 2013-10-23 19:46:31 +01:00
Jeremy Ruston
4e713baeee Add checkbox widget and fix up task management example 2013-10-23 19:38:36 +01:00
Jeremy Ruston
67490cbb74 Whoops console.log.alypse 2013-10-23 17:50:51 +01:00
Jeremy Ruston
f2ac04943f Fixed tag autocomplete popup on focus 2013-10-23 17:41:12 +01:00
Jeremy Ruston
d5f09a4608 Prevented generation of illegal elements
Previously, text like <-> would try to generate an element with an
illegal name, causing a JS error
2013-10-23 12:36:34 +01:00
Jeremy Ruston
6f2dbd0978 Refactor name of "findNextSiblingDomNode()" method for consistency 2013-10-22 18:14:16 +01:00
Jeremy Ruston
7393a296dd Add a fieldmangler widget 2013-10-21 22:54:58 +01:00
Jeremy Ruston
06af26b1c8 Give the edit-text widget support for the placeholder attribute 2013-10-21 22:54:48 +01:00
Jeremy Ruston
e2b8249a1b Fix problem with findNextSibling() 2013-10-21 22:27:12 +01:00
Jeremy Ruston
409152afb8 Make the default list widget template include a div or span
Otherwise writing this makes a list on one line:

```
{{{ [tag[done]] }}}
```
2013-10-21 22:26:36 +01:00
Jeremy Ruston
c96cb6e956 Parse typed blocks with the new parser 2013-10-21 20:20:44 +01:00
Jeremy Ruston
a99f912bad Fix typo 2013-10-21 20:20:32 +01:00
Jeremy Ruston
2a571b4f5f Switch the notifier and modal mechanisms to use the new widget mechanism
Note the use of the `$tw.rootWidget` to collect together the root event
handlers
2013-10-21 20:14:01 +01:00
Jeremy Ruston
48dbacc88a Add support for widget event listeners to be specified as functions 2013-10-21 20:13:08 +01:00
Jeremy Ruston
ce1fb300f8 Use the new widget mechanism for stylesheet parsing and rendering 2013-10-21 18:38:20 +01:00
Jeremy Ruston
89310e71c8 Add a new version of rendertiddlers command
So that we can test static html generation
2013-10-21 18:33:00 +01:00
Jeremy Ruston
26ac940637 Fix typo 2013-10-21 18:32:29 +01:00
Jeremy Ruston
e33f588b73 Let the new rendering methods accept a parent widget 2013-10-21 18:32:19 +01:00
Jeremy Ruston
dc9c2522b9 Fix typo in macro variable substitution 2013-10-21 18:31:41 +01:00
Jeremy Ruston
167116d416 Fix output type for view format htmlwikified 2013-10-21 18:31:27 +01:00
Jeremy Ruston
3005604b83 Give link widget support for configuration variables
One can now use `\define tw-wikilinks() no` to disable wikilinks, and
`tw-wikilink-template` to configure the link template.
2013-10-21 18:31:04 +01:00
Jeremy Ruston
2b5fb9801f Add skype: protocol for external links
The matching of external links is hacky at the moment. The plan is to
make it more easily extensible (ie without writing code)
2013-10-20 10:47:02 +01:00
Jeremy Ruston
25612958d7 Fixed bugs in previous commit to extend search to titles and tags of binary tiddlers 2013-10-18 16:09:10 +01:00
Jeremy Ruston
3f151ba70e Add support for macro modules
Now JavaScript macros can be defined in "macro" modules
2013-10-17 16:57:07 +01:00
Jeremy Ruston
55d479c540 Extend macrocall widget to take parameters both from the parse tree node and the attributes
This allows us to invoke macros using the ordinary widget syntax, which
in turn allows us to use features like indirection on the parameters.
2013-10-17 16:55:23 +01:00
Jeremy Ruston
6b9b75142b Fix text reference regexp to allow for tiddler titles with embedded spaces 2013-10-17 16:40:13 +01:00
Jeremy Ruston
e11c620c27 Fix search filter so that titles and tags of binary tiddlers are searched 2013-10-17 16:34:50 +01:00
Jeremy Ruston
a3eaffa666 Add a linkcatcher widget 2013-10-16 16:30:06 +01:00
Jeremy Ruston
adb395d10f Fix edit-text widget to work with indexed values 2013-10-16 16:29:51 +01:00
Jeremy Ruston
7f6d770ca6 The reveal widget should generate a span when in inline mode
The only reason that the reveal widget generates an element is so that
we can use `display:none/block;` (as did the pre-refactored code) as a
quick way of hiding and showing the content. We don't do that yet, and
it may be best never to do it.
2013-10-16 16:29:35 +01:00
Jeremy Ruston
77248d08a8 Add the count widget 2013-10-15 21:07:13 +01:00
Jeremy Ruston
5b4ca67d6e Make the reveal widget hide the div element if it is not open 2013-10-15 21:06:52 +01:00
Jeremy Ruston
78bc89cbdb Add a edit text widget
Now rather than a separate module type for different editors, we
instead have a meta-widget "edit" that chooses the appropriate concrete
widget (currently just "edit-text", but soon to be joined by
"edit-bitmap" as well)
2013-10-15 14:32:27 +01:00
Jeremy Ruston
a696c716e3 Support the remaining events on the navigator widget 2013-10-15 14:30:36 +01:00
Jeremy Ruston
933afee996 Get rid of the old setstyle widget
And fix up the colouring of tiddler icons
2013-10-15 08:36:19 +01:00
Jeremy Ruston
20cd398e88 Fix popup positioning in the reveal widget 2013-10-14 23:32:01 +01:00
Jeremy Ruston
707024a118 Set the colour of the tag pills
We no longer need the old setstyle widget
2013-10-14 21:38:12 +01:00
Jeremy Ruston
e3dcb8cdc1 Fix view widget to display friendly text of tiddler values 2013-10-14 21:02:03 +01:00
Jeremy Ruston
468fe8b6f1 Add macrocall widget
Now the fields table works in the tiddler info popup
2013-10-14 17:48:26 +01:00
Jeremy Ruston
ebd28c8dc7 Get the tiddler info panel fields list working properly
Now we can display the fields list as a proper table.

We've had to temporarily hack the list widget again…
2013-10-14 17:35:52 +01:00
Jeremy Ruston
94c2eacdc9 Support selectedClass properly in the button widget 2013-10-14 16:56:13 +01:00
Jeremy Ruston
0c73c56b70 Fixes to button refreshing 2013-10-14 13:52:03 +01:00
Jeremy Ruston
1669c6eab5 Make recursion markers include the current tiddler
Otherwise the generated qualifying state title is not unique. In other
words, clicking the "i" button on a tiddler was opening the info panels
for all open tiddlers.
2013-10-14 13:06:07 +01:00
Jeremy Ruston
ea0b298b78 Deal with viewing date fields that don't exist 2013-10-14 12:59:39 +01:00
Jeremy Ruston
cc4940f41f Use the setvariable widget instead of macrodef
setvariable is more general
2013-10-13 23:40:11 +01:00
Jeremy Ruston
942e463b20 Fixes to get recent changes list to work 2013-10-13 22:59:14 +01:00
Jeremy Ruston
ce4a6ffa49 More useful class variables for tiddler status 2013-10-13 22:46:45 +01:00
Jeremy Ruston
9278c43a91 Add support for macro definitions 2013-10-13 22:39:05 +01:00
Jeremy Ruston
79dcc9a557 Refactor macro parameter substitution
Now macros can also include references to variables as `$(variable)$`
2013-10-13 22:38:46 +01:00
Jeremy Ruston
987890c085 Add button widget 2013-10-13 21:31:00 +01:00
Jeremy Ruston
b0503cf709 Fixes to make SVG and MathML elements work properly 2013-10-13 20:14:31 +01:00
Jeremy Ruston
ed35d91be6 Initial Commit
Carried over from the abortive pull request #169
2013-10-12 17:05:13 +01:00
Jeremy Ruston
d3d72eff1b Search over tags as well as the title and text fields 2013-10-11 08:46:09 +01:00
Jeremy Ruston
f2b598ef13 Correct example 2013-10-05 16:01:07 +01:00
natecain
c45f4d1c62 Small revision to previous commit, avoids double encoding.
We don't need to encodeURIComponent at all when using blob links.
The data never goes into the dom directly, just a guid reference.

This makes saving with blobs very fast!
2013-10-01 17:35:58 -04:00
natecain
aef8e63cf8 Use Blob api to generate data links in download saver
This should fix crashing on large wikis under chrome
  see chrome bug: https://code.google.com/p/chromium/issues/detail?id=103234
This should also speed up generating the download html by a couple of seconds
  it avoids repeatedly marshalling the base64 encoded href string across the sandbox boundary
  it avoids some time and memory consumed by "large" dom manipulation
  major remaining delay is in encodeURIComponent
    TODO: consider using iconv on the server
    TODO: consider async invocation of regular expressions to avoid client "lockup"

Conflicts:
	core/modules/savers/download.js
2013-10-01 17:35:47 -04:00
David Johnston
d321508437 Remove incorrect slice parameter.
Remove incorrect slice parameter, which made the ! (not) prefix fail to return any results.
2013-10-01 10:50:13 +01:00
David Johnston
f0b6790ae1 Previous in list filter. 2013-09-22 09:58:18 +01:00
David Johnston
b72afda7a2 Next in List filter 2013-09-22 09:57:23 +01:00
Jeremy Ruston
f51d0c55fe Fix eachday and sameday filter operators
There was some inconsistency of UTC vs. timezone handling
2013-09-21 10:08:16 +01:00
Jeremy Ruston
d0db2221d3 Fix problem with lowercase drive letters when saving with TiddlyFox under Windows 2013-09-19 13:50:28 +01:00
Jeremy Ruston
dec7870eeb Update HTML5 saver to use current filename where possible
Most browsers still ignore the specified filename, sadly.
2013-09-19 10:50:14 +01:00
Jeremy Ruston
3d5d5952b7 Fix broken regexps
Using .|\n was a very bad idea, as it doesn't match other newline
characters
2013-09-18 19:09:54 +01:00
Jeremy Ruston
b563d8e98a Ensure getTiddlerList() returns a copy of the tiddler list
Fixes #155
2013-09-18 12:12:29 +01:00
Jeremy Ruston
10a635927d Add confirmation when overwriting an existing tiddler
Now there's a JavaScript confirm when attempting to save a tiddler that
has been renamed to the name of an existing tiddler
2013-09-14 21:57:23 +01:00
Jeremy Ruston
4fb6836481 Add an untagged filter operator and sidebar tab 2013-09-14 16:28:46 +01:00
Jeremy Ruston
4a663d1661 Improve docs for $tw.utils.addEventListeners() 2013-09-14 13:47:51 +01:00
Jeremy Ruston
e39663ede3 Fix crash on processing anonymous macro parameters
Fixes #151
2013-09-10 22:08:09 +01:00
Jeremy Ruston
e034f28091 Bail out earlier when displaying a modal for a non-existent tiddler 2013-09-10 15:28:15 +01:00
Jeremy Ruston
2be9e82f84 Get rid of the modal popup for empty wikis
Ugly and clumsy.
2013-09-01 22:33:23 +01:00
Jeremy Ruston
83f85cad7d Add support for MathML namespace
It doesn't actually work, though, which is weird, since SVG works just
fine using the same mechanism
2013-08-31 11:15:50 +01:00
Jeremy Ruston
ee33cbbc2e Fix up some problems when the animation duration is zero
We want to be able to suppress animations by making the duration zero
2013-08-29 12:43:24 +01:00
Jeremy Ruston
1b094b1d5c Avoid attempts to save a tiddler with an empty title
Clicking "save" with a blank title will now be ignored
2013-08-28 19:46:21 +01:00
Jeremy Ruston
fbfe5a26c5 Move the animation duration into a tiddler so that we can easily let it be adjusted in the control panel 2013-08-28 15:15:56 +01:00
Jeremy Ruston
e8425131f4 Correct typo in 954a987d31 2013-08-28 14:44:59 +01:00
Jeremy Ruston
954a987d31 Extend the edit widget to be able to edit properties of data tiddlers 2013-08-28 11:23:14 +01:00
Jeremy Ruston
dfb49f811e Fixed problem with importing tiddlers with double quotes, gt, lt etc
Reported by @giffmex
2013-08-28 09:25:54 +01:00
Jeremy Ruston
06599bcfc6 Fix up closing tiddlers in the zoomin listview
One for @giffmex
2013-08-26 14:48:05 +01:00
Jeremy Ruston
779d8b3aad Update TW2 wikitext content type to text/x-tiddlywiki
And also stop assigning the default content type of
`text/vnd.tiddlywiki` to imported tiddlers.
2013-08-25 22:06:28 +01:00
Jeremy Ruston
d0dff80d6d Fix problem with insertBefore() on Win7/IE10
The problem is that insertBefore() on Win7/IE10 crashes if the second
parameter is undefined, rather than behaving as if the parameter is
missing, as all other browsers do. Aaargh.
2013-08-24 23:28:17 +01:00
Jeremy Ruston
df0a1a7c42 Fix problem with wiki.search() incorrectly searching missing tiddlers 2013-08-24 16:51:54 +01:00
Jeremy Ruston
be06257430 Split "transclude" widget into a separate "tiddler" and "transclude" widget
Belatedly realised that the design would be clearer without these two
separate concepts being conflated into a single widget.

As a result of this change, any other widget or template that generates
transclude widgets has needed adjustment.
2013-08-24 16:45:45 +01:00
Jeremy Ruston
3b563e19cf Removed obsolete comments 2013-08-23 18:38:44 +01:00
Jeremy Ruston
d6ec1ea1e5 Remove plugin field now that we've got the plugin-type field
I've been meaning to remove the `plugin` field for ages.
2013-08-23 18:37:54 +01:00
Jeremy Ruston
e1a38d88a7 Add a count widget 2013-08-21 23:09:54 +01:00
Jeremy Ruston
44f172c5ec Correct harmless but confusing typo 2013-08-21 23:09:40 +01:00
Jeremy Ruston
ca142dbdb5 Remove extraneous references to current field context variable
This should have been done as part of
6fc4e5db7c
2013-08-21 22:42:05 +01:00