1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-12-30 12:00:28 +00:00
Commit Graph

674 Commits

Author SHA1 Message Date
Jermolene
848a7f4e74 Optimise getStateQualifier()
Another fix for #1864, this time we’re caching state qualifiers as they
are expensive to compute.
2015-07-06 11:23:12 +01:00
Jermolene
3a7e29674b Fix problem with checkbox widget and missing tiddlers
The newly added invertTag code was crashing if the tiddler doesn’t
exist.
2015-07-02 17:33:51 +01:00
Jermolene
63f802efda Rename checkbox "invert" attribute to "invertTag"
And update docs
2015-06-26 10:18:15 +01:00
James Welford Anderson
379181ded5 add invert parameter to checkbox plugin
for when you want a tag to denote the lack of a check rather than the
presence of one.
2015-06-26 05:10:13 +09:00
Jermolene
b31803608b Refactor navigator widget configuration
@felixhayashi sorry I should have realised earlier that it’s worth
doing it this way so that we can have different settings for different
story rivers.
2015-06-19 16:44:20 +01:00
Jermolene
4a3a5bf1f0 Don't autosave when cancelling an edit
Fixes #1762
2015-06-13 18:08:09 +01:00
Jermolene
9b4b9d4d88 Update sendmessage widget to allow name/value parameters
Using `$name` and `$value` attributes allows more flexibility in how
parameter names are specified, allowing parameter names that are not
valid attribute names.
2015-05-18 22:15:23 +01:00
Jermolene
ecdcfe41ac Fix problem with #1723
Restoring operation of the “default” attribute
2015-05-14 00:07:53 +01:00
Jeremy Ruston
f0206283cf Merge pull request #1723 from cehmke/fix-buttonwidget-textreference-selected
Use of getTextRefence in ButtonWidget.isSelected
2015-05-12 11:20:47 +01:00
cehmke
4d3103ff25 Update selected value if children have been refreshed
If the children have been refreshed, it is necessary to check, whether
the value of the select box has been changed.
2015-05-10 19:32:38 +02:00
cehmke
b8addaa520 use of getTextRefence in isSelected
Instead of a particular implementation make use of the overall function
getTextReference to determine the current value.
Add a missing semicolon.
2015-05-10 13:26:00 +02:00
Jermolene
42a3e31b1b Tweaks to #1678 2015-05-07 19:44:08 +01:00
Jeremy Ruston
e93d32cdd7 Merge pull request #1678 from felixhayashi/feature/vars_widget
Introducing the vars widget
2015-05-07 19:36:25 +01:00
Jermolene
61b75be94c Add "navigateFromTitle" to action-sendmessage
Fixes #1665
2015-05-06 08:14:26 +01:00
Jermolene
a79e7a1c57 Tweaks for #1662
Coding style and ui copy
2015-05-04 20:29:00 +01:00
Jeremy Ruston
4656a7e8f6 Merge pull request #1662 from felixhayashi/feature/navigator_widget
upgrading the navigator widget
2015-05-04 20:21:38 +01:00
Jermolene
403a460002 Check for dom node not found 2015-05-03 16:56:37 +01:00
Felix Hayashi
9693f97b16 upgrading the navigator widget
Motivation / Agenda

* https://github.com/Jermolene/TiddlyWiki5/issues/1651
* https://github.com/Jermolene/TiddlyWiki5/issues/1650

Summary

* Changed the NavigatorWidget (primarily `addToStory()`)
* Applied lingo to settings
* Applied lingo to selectbox options
2015-05-03 13:24:16 +02:00
Felix Hayashi
740627795f This widget allows the user to set multiple variables in one go.
It thereby reduces code complexity that would arise when setting
many variables using "<$set>".

```
\define helloworld() Hello world!
<$vars greeting="Hi" me={{!!title}} sentence=<<helloworld>>>
  <<greeting>>! I am <<me>> and I say: <<sentence>>
</$vars>
```

How this Widget differs from the set widget:

 * Variables may be created by using the "key=value" notation
   that you already know from widgets like action-setfield.
 * You cannot specify a fallback ("emptyValue")
 * You cannot use a filter to produce a conditional variable assignement

Original discussion that led to the creation of this widget:
https://github.com/Jermolene/TiddlyWiki5/issues/1610
2015-04-27 17:07:13 +02:00
Jermolene
139496209f Add support for custom elements to the button widget 2015-04-21 19:29:54 +01:00
Jermolene
758ba5edc2 Allow widgets to choose not to propagate actions
Allow widgets to choose not to propagate actions. This is important for
widgets that themselves trigger actions.

Note that this change will cause problems with any existing
5.1.8-prerelease plugins that call `invokeActions()`.
2015-03-25 22:13:22 +00:00
Jermolene
4eb2e3d3b4 Fix undefined tabindex problem with link widget
The tabindex attribute was being set to the string “undefined” if the
attribute was not specified. The fix is to only set the tabindex
attribute if the attribute was specified.
2015-03-25 11:11:07 +00:00
Jermolene
bd6472c1d1 Add style attribute to reveal widget 2015-03-23 15:28:26 +00:00
Jermolene
657c266522 Coding style tweaks 2015-03-10 20:04:34 +00:00
Jermolene
e80a08f43b Fix problem with custom tag in reveal widget 2015-03-10 16:59:25 +00:00
Jermolene
1808b1597e Support custom HTML element tags for reveal widget 2015-03-10 12:44:47 +00:00
Jermolene
64e1a76987 Prevent edit-text widget from generating unsafe elements 2015-03-10 12:34:50 +00:00
Jermolene
05c3de3245 Extend list widget to invoke storyview for refreshes 2015-02-23 11:24:03 +01:00
Jermolene
950a86c7b7 Extend link widget with additional attributes
Add “tabindex”, “draggable” and “tag” attributes
2015-02-23 11:23:44 +01:00
Jermolene
0da1f3f554 Extend list widget to pass refreshes to the story view 2015-02-23 11:17:00 +01:00
Jermolene
60e6b584bf Extend link widget with new attributes
Add “draggable”, “tag” and “tabindex” attributes to link widget.
2015-02-23 11:16:44 +01:00
James Welford Anderson
ee6b6a0f0c add macros for custom statically exported paths/links/images
tv-get-export-path tells render tiddlers where to export files
tv-get-export-image-link tells images.js where to look for images
tv-get-export-link tells tells link.js where to look for links to other
exported tiddlers
2015-02-21 06:45:40 +09:00
Jermolene
ead6eb00d4 Revert "Merge pull request #1509 from welford/static_export_macro"
This reverts commit b2b8006b58, reversing
changes made to e7e16137b2.

@welford my apologies it turns out there are a couple of problems, I’ll
comment more on the pull request
2015-02-20 18:39:13 +00:00
Jeremy Ruston
b2b8006b58 Merge pull request #1509 from welford/static_export_macro
Static export macro for custom paths
2015-02-20 18:15:43 +00:00
Jermolene
9e9b9a3bf1 Avoid navigating to an empty title
Fixes #1515
2015-02-20 16:19:53 +00:00
James W. Anderson
d1809f352c explicitly pass through source params
from the image/link widget to the respective static export macros
2015-02-17 07:11:00 +09:00
Jermolene
68165af081 Revert #1330 ("implements list iterator variables")
As discussed on the ticket, there is a problem:

https://github.com/Jermolene/TiddlyWiki5/pull/1330#issuecomment-74339195
2015-02-13 22:42:36 +00:00
Jermolene
c9ab873ba3 Fixes problem with drag and drop in Safari
Fixes #1415

The problem was that encodeURI() doesn’t encode slashes, which are not
legal in a data URI, although only Safari was failing. We switch to
encodeURIComponent(), which does encode slashes
2015-02-11 10:07:10 +00:00
Jermolene
1924eda8a9 Improvements for #1483
* Rename the global to $tw.dragInProgress for clarity.
* Abort the dragenter so that we don’t get extraneous feedback during
the drag
2015-02-10 23:17:38 +00:00
Jeremy Ruston
1b87d9134b Merge pull request #1483 from tobibeer/592-no-drag-n-drop-to-same-location
prevents drag and drop import in same window
2015-02-10 23:04:45 +00:00
Tobias Beer
dc23963525 using $tw.dragging to prevent dnd in same window
Anything missing?
2015-02-10 23:34:37 +01:00
Tobias Beer
30f2c06c9e Revert "prevents drag and drop import in same window"
This reverts commit 09afa8297a.
2015-02-10 23:33:19 +01:00
Tobias Beer
09afa8297a prevents drag and drop import in same window
fixes #592

Introduces and preserves **_origin** field when using drag-and-drop —
bad idea? discard? different field name?

demo http://592.tiddlyspot.com
2015-02-09 23:49:04 +01:00
Jermolene
8dcd080cdd Style fix 2015-02-09 21:46:54 +00:00
Jeremy Ruston
9cf1f8f96b Merge pull request #1476 from tobibeer/fix-tm-delete-tiddler-doesnt-exist
Fix issue deleting non-existent tiddler
2015-02-09 21:46:08 +00:00
James Welford Anderson
0b68428bc5 add image export path macro 2015-02-10 05:59:56 +09:00
Tobias Beer
ca6ab6388a no error when tiddler doesn't exist
Currently **tm-delete-tiddler** throws a red error box:

```
<$button>
<$action-sendmessage $message="tm-delete-tiddler" $param="DoesntExist"/>
delete non-existing
</$button>
```

**Uncaught TypeError: Cannot read property 'fields' of undefined**
2015-02-09 12:28:42 +01:00
Roma Hicks
687d6350d4 Added class mechanism to checkbox widget. #1463 2015-02-06 01:02:01 -06:00
James Welford Anderson
4049affb31 initial pass at static export macros 2015-02-03 07:30:24 +09:00
Jeremy Ruston
4cd8466adb Merge pull request #1396 from ng110/master
Allow widget actions to propagate to children
2015-01-28 16:28:11 +00:00
ng110
a7a205a754 Update select.js 2015-01-28 16:00:34 +00:00
ng110
16fe9fd5ce Update select.js 2015-01-20 13:02:06 +00:00
ng110
f9c4f6898e Add capability for widgets to trigger all descendant action widgets, rather than just immediate children.
Preserves compatibility with existing invokeActions call in button widget by creating a separate 'invokeActionCall' function to carry out the recursion.  Triggering all descendants permits use of action widgets inside list widgets or macros.  Also makes it possible to add triggering capability to select widget.
2015-01-20 12:34:24 +00:00
Jermolene
0fdfbc482c Add nwsaveas and param attributes to browse widget
These are for TiddlyDesktop, and only work under node-webkit
2015-01-11 14:20:34 +00:00
Jermolene
280909bb68 Fix crash for macros that return undefined
Fixes #1348
2015-01-10 13:36:43 +00:00
Jermolene
b68276e219 Fix for serverside rendering 2015-01-06 18:19:55 +00:00
Jeremy Ruston
ea07b558a3 Merge pull request #1327 from aelocson/railroad-links
Links and transclusions in railroad diagrams
2015-01-06 13:58:27 +00:00
Jermolene
ec829180f4 Coding style clean up for #1330 2015-01-06 13:49:05 +00:00
Tobias Beer
0dd3ad5e38 updated false states — looks more conclusive 2015-01-06 14:40:48 +01:00
Tobias Beer
a1ca53fa9b implements list iterator variables, see #1328
provides <<iterator>>, <<iterator-even>> and <<iterator-last>>
2015-01-06 14:31:20 +01:00
Astrid Elocson
2f42c9fb8d Links and transclusions in railroad diagrams 2015-01-06 01:39:24 +00:00
ng110
7d6769f6fd Update select.js
test change
2015-01-04 12:22:00 +00:00
Jermolene
1adfe20508 Fix problem with repeatedly cancelling a draft
Fixes #1266
2014-12-22 08:40:11 +00:00
Jermolene
0e62d8f648 Fix problem with tm-add-field for existing fields
Fixes #1197
2014-12-05 10:20:25 +00:00
Jermolene
2689e2861b Revert to using fieldmangler for adding fields
In 5.1.5 we switched to using `<$action-setfield>` instead of
`<$fieldmangler>`. The problem was that in the process we lost the
validation of field names, making it possible to create fields with
illegal names

Fixes #1186
2014-12-04 09:39:14 +00:00
Jermolene
5154a25ab9 Add tooltip to browse widget
Fixes #1179
2014-12-02 19:16:38 +00:00
Jermolene
56a0809768 Fix problem with edit-bitmap widget static rendering
The ‘introduction’ edition contains an edit-bitmap widget that was
failing under Node.js because the fake dom doesn’t support canvas.
2014-11-27 23:03:27 +00:00
Jermolene
962cdf500a Fix link dragging to text editors
We were just adding double square brackets if the title contains
spaces. We should be adding them if the title is not a valid wikilink.
2014-11-26 11:13:05 +00:00
Jermolene
996eecc79a Coding style cleanup 2014-11-25 13:49:22 +00:00
Jeremy Ruston
6f0d581d72 Merge pull request #1141 from tobibeer/auto-focus-title-on-edit
#371 focus title field on edit
2014-11-25 13:43:08 +00:00
Tobias Beer
c0834583a0 #371 focus title field on edit
* enhanced edit-text widget with a "focus=true" attribute
* modified title template to make it focus and select by default
2014-11-25 12:39:08 +01:00
Skeeve
79e428757b allow empty state tiddlers and missing state attributes act as missing state tiddlers
As described here: https://groups.google.com/d/msg/tiddlywikidev/ODJhIw6-UjQ/3ZKrlA4B810J

I think it would be a good small enhancement as the reveal widget can now be used in previously impossible ways.
2014-11-24 07:38:58 +01:00
Jermolene
84bebb65b7 Fix advanced filter search clear button
Thanks @BramChen
2014-11-23 16:02:08 +00:00
Jermolene
b882a0dff1 Fixes to make nested popups work
Thus making the export button a lot more useful
2014-11-21 17:07:03 +00:00
Jermolene
931d47e50c Fix problem with cloning tiddlers
We were ignoring the tags on the template tiddler.

Fixes #1097
2014-11-18 14:13:34 +00:00
Jermolene
6c6fda498f Fix bug in action-setfield widget 2014-11-17 16:26:18 +00:00
Jermolene
a9eab1b8fc Improve import logging 2014-11-14 10:33:41 +00:00
Jermolene
bd211ea082 Extend set variable widget to work with filters 2014-11-13 21:39:38 +00:00
Jermolene
d1bbe7253c Remove flicker when resizing textareas
The `EditTextWidget.prototype.fixHeight()` function was defering its
work with `nextTick()`, which led to flickering on all browsers when
typing triggers a resize.
2014-11-13 11:19:21 +00:00
Jermolene
e69e2c1c91 Require confirmation before deleting non-empty new tiddlers 2014-11-11 11:54:46 +00:00
Jermolene
78735cde96 Refactor dropzone
I want to start figuring out #686
2014-11-11 11:44:00 +00:00
Jermolene
3035badf14 Fix problem with done button not saving unchanged tiddlers 2014-11-10 12:56:33 +00:00
Jermolene
145713e766 Don't confirm deleting drafts with no original 2014-11-10 08:49:20 +00:00
Jermolene
1dfa6f369b Smarter cancel edit behaviour
If we cancel editing a tiddler that doesn’t exist, then we no longer
show the resulting missing tiddler.
2014-11-09 21:47:48 +00:00
Jermolene
5ded01f2c6 Fix problem with blank values in action-setfield widget
One manifestation of this problem was that it wasn’t possible to use
the edit template to add a field without specifying a value
2014-11-09 17:15:40 +00:00
Jermolene
9bbd599f5c Refine refreshing of tiddler widget
We need to refresh if there is a change in the state that we copy to
variables.
2014-11-09 17:10:18 +00:00
Jermolene
d2ab7c5986 More action-deletetiddler fixes 2014-11-09 16:53:33 +00:00
Jermolene
8c67e11365 Fixes to action-deletetiddler widget 2014-11-09 16:45:14 +00:00
Jermolene
ec4beb7f0f Fix bug in navigator 2014-11-07 21:15:52 +00:00
Jermolene
c7971d3da3 Update new tiddler message handling to accept title and fields
Now you can create a new tiddler with both a template and additional
specified fields.
2014-11-07 14:53:37 +00:00
Jermolene
d93c19daaa Improve the format of widget message parameters
In 5.1.3 we introduced the idea that the `event.param` variable could
optionally be a hashmap, allowing multiple values to be passed with the
message.

This change moves the hashmap to a separate `event.paramObject`
variable, allowing us to pass both a hashmap and a param string.
2014-11-07 14:52:32 +00:00
Jermolene
f1a2d8c2b9 Fix typo in action-setfield widget 2014-11-06 19:35:50 +00:00
Jermolene
12aec57086 Merge action-setfield and action-setfields widgets
Less confusion, hopefully.
2014-11-06 19:27:14 +00:00
Jermolene
92f69d44bf Use action-deletefield widget in edit template fields editor
On the way to deprecating the field mangler widget
2014-11-06 18:32:11 +00:00
Jermolene
efeeab45f8 Simplify action-setfield widget 2014-11-06 18:23:59 +00:00
Jermolene
0a2a5184c4 Add action-deletetiddler widget 2014-11-06 18:23:48 +00:00
Jermolene
741f853986 Add action-setfield widget 2014-11-06 18:06:47 +00:00
Jermolene
a18af9b760 Rename the action-setfield widget to action-setfields
It makes more sense, and allows us to add a widget: `<$action-setfield
$tiddler=“title” $name=“fieldname” $value=“fieldvalue”/>`
2014-11-06 17:45:03 +00:00
Jermolene
335c470797 Include double square brackets when dragging titles
Dragging a tiddler link into a tiddler editor, or outside the browser
into another app, will now add double square brackets around the title
if it includes spaces. Suggested by @tgirod.

I’m not 100% sure about this change. It breaks one habit that I had
developed: typing `[[sometext|]]` and then dragging a title in between
the vertical bar and the first closing square bracket. What do others
think?
2014-11-03 23:00:11 +00:00
Jermolene
9022dfdf71 Add action-deletefield widget
We’re also going to need action-deletetiddler
2014-11-03 22:06:31 +00:00
Jermolene
cc33fee9fd Typo 2014-10-30 12:47:58 +00:00
Jermolene
d8248cfba7 Introduce action-setfield widget 2014-10-25 14:02:34 +01:00
Jermolene
4b808396f2 Missing semicolon 2014-10-25 10:25:55 +01:00
Jermolene
4a17212576 Enhance height control for edit-text widget
Added the option to disable automatic resizing, and the ability to
specify the minimum height.
2014-10-25 10:09:17 +01:00
Jermolene
1b620387dd Extend the view widget to work with subtiddlers 2014-10-22 14:12:49 +01:00
Jermolene
9a067b8dac Ensure JS macros return text 2014-10-22 10:33:56 +01:00
Jermolene
53d834c86b Use titles when dragging links to non-TiddlyWiki destinations
Handily, this means that you can drag tiddler links from the sidebar
into the text editor, making it easier to create links and
transclusions.
2014-10-21 19:51:18 +01:00
Jermolene
71bc78b176 Coding style cleanups 2014-10-20 16:53:42 +01:00
Jeremy Ruston
f6883e5365 Merge pull request #999 from Eucaly/browse-widget
adding a message attribute to the browse widget
2014-10-20 16:49:06 +01:00
Eucaly
0bbd5eb292 adding a message attribute to the browse widget
* extend browse widget with a message attribute. If blank then import as
original. Otherwise, dispatch the given message with selected files
2014-10-20 21:57:15 +08:00
Jermolene
12e26009ee Allow percentage width and height on image widget 2014-10-19 13:21:20 +01:00
Jermolene
644ced6d4e Preserve modified title when reusing drafts
Should fix the problem raised by @xcazin
2014-10-10 20:58:34 +01:00
Jermolene
f37a7101a7 Fix problem with new tiddler button 2014-10-10 10:17:42 +01:00
Jermolene
a8d83096d3 Fix behaviour of new tiddler message
Resolves some inconsistencies over the behaviour of the new tiddler
message under various circumstances.

“new journal here” when a journal for today already exists now brings
up the existing journal for editing, and adds the required tag.

I’d be very grateful for any testing of the behaviour here: try using
new tiddler, clone tiddler, new here, new journal here, and new journal
in various combinations (eg with the draft not existing, already
existing, open or closed etc), and let me know of any peculiarities.
2014-10-10 09:52:19 +01:00
Jermolene
1e02a9f0db Correct return value for makeDraftTiddler 2014-10-10 09:03:35 +01:00
Jermolene
3827f98a43 Improve new tiddler behaviour with existing tiddlers
Now repeatedly clicking “new journal” will reuse the existing journal
if one exists
2014-10-09 17:30:53 +01:00
Jermolene
0dcf54c3b5 Add support for action widgets
This is part of the groundwork for fixing #336
2014-10-08 17:45:26 +01:00
Jermolene
61af1f9379 Add error formatting for transclusion recursion errors 2014-09-24 11:50:38 +02:00
Jermolene
62edd1e8a3 Remove support for deprecated "title" attribute on button widget 2014-09-21 11:25:43 +01:00
Jermolene
b239b3d623 Remove curly braces from qualified identifiers
Fixes #860
2014-09-19 11:33:49 +01:00
Jermolene
775482a242 Fix problem with radio widget and missing tiddlers
Fixes #840
2014-09-14 10:55:34 +01:00
Jermolene
2571f534aa Fix problem with dragging partially selected link
Fixes #841
2014-09-14 10:50:53 +01:00
Jermolene
ccd916ca7c Add "multiple" attribute to browse widget
And default to non-multiple upload; that’s enough to enable the ability
to take photos/videos directly on iOS
2014-09-10 21:54:52 +01:00
Jermolene
b7f638aef3 Change button widget 'title' attribute to 'tooltip'
Fixes remainder of #824
2014-09-10 10:25:50 +01:00
Jermolene
7b1a9d84a1 Missed corrections of tm-auto-save-wiki message 2014-09-02 11:16:06 +01:00
Jermolene
b25351e834 Extend keyboard handling
To cope with the Mac’s “meta” key (ie command/⌘) preparatory to
trapping command-S
2014-09-02 10:41:48 +01:00
Jermolene
05dfa1e1e3 Coding style tweak 2014-08-30 23:05:04 +01:00
Jeremy Ruston
032520fbe1 Merge pull request #769 from buggyj/xlink2
added support for xlink: attribute prefix
2014-08-30 23:04:14 +01:00
Jermolene
3a67fdb768 Obeisance to JSHint for core modules
There are still some warnings about making functions in a loop, but
I’ll fix those as a separate pull request because the fixes are more
than typographic errors.
2014-08-30 20:44:26 +01:00
buggyj
710759daed added support for xlink: attribute prefix 2014-08-30 17:25:04 +02:00
Jermolene
2952afe7af Fix for autosave
Re-introduces the “tw-auto-save-wiki” message. The previous approach of
automatically triggering autosave whenever a tiddler changed meant that
changing configuration changes in control panel was triggering an
autosave. Using the explicit message gives us better control of the
situations in which we’ll autosave.

Now we solve the earlier problem of there being outstanding tiddler
change events at the time that we process the “tw-auto-save-wiki” by
deferring the autosave until the outstanding change event comes in.
2014-08-29 09:58:30 +01:00
Jermolene
89fd5379dd Change "tw-*" variables to "tv-*" 2014-08-28 22:28:02 +01:00
Jermolene
2f69ea362c Rename "tw-*" messages to "tm-*" 2014-08-28 21:43:44 +01:00
Jermolene
d945492b8b Fixed text widget crashing when text is missing
`<$text text=<<missingVariable>>/>` was crashing
2014-08-28 20:20:38 +01:00
Jermolene
a1ec52c5cb Rename more "tw-*" classes to "tc-*"
Part of #764
2014-08-28 19:08:31 +01:00
Jermolene
8b10994cfe Rename more "tw-*" classes to "tc-*"
Part of #764
2014-08-28 18:59:35 +01:00
Jermolene
1814d502a4 Convert more "tw-*" classes to "tc-*" 2014-08-28 18:47:21 +01:00
Jermolene
787481a804 Change more "tw-*" classes to "tc-*"
Part of #764
2014-08-28 18:21:08 +01:00
Jermolene
4a1c530da7 Rename "tw-tiddlylink-*" classes to "tc-tiddlylink-*"
Part of #764
2014-08-28 18:13:46 +01:00
Jermolene
ad40223d6b Revert incorrect refreshing of tiddler widget
Mistakenly, I had changed the tiddler widget to refresh itself when the
value of the target tiddler changed. This is not in fact necessary; it
only needs to refresh itself when the identity of the target tiddler
changes.

Fixes #744
2014-08-28 15:16:14 +01:00
Jermolene
13c4e028b1 Refactored autosave mechanism
Previously we were using a message `tw-auto-save-wiki` to trigger an
autosave. The message was generated by certain UI actions such as
saving a tiddler. The trouble was that the message was being processed
before the wiki change event for the accompanying change had had a
chance to percolate. The end result was that the dirty indicator was
staying lit when using autosave.

The new approach abandons the autosave message and instead triggers the
autosave in the wiki change event when a relevant change occurs.

One happy side effect of these changes is that the dirty indicator now
works as expected with the client server edition - ie, when typing in a
draft tiddler the dirty indicator will flash briefly, and then clear
when the sync mechanism has completed saving the draft.
2014-08-27 10:04:54 +01:00
Jermolene
fbf307c648 Add alt attribute to image widget 2014-08-20 10:00:34 +01:00
Jermolene
bea83bfe55 Fix problem with refreshing the edit widget 2014-08-16 15:01:04 +01:00
Jermolene
18592fe8f8 Fix problem with edit widget not refreshing
One symptom of this problem was that changing the type field of a
tiddler didn’t immediately switch to the bitmap editor
2014-08-15 10:06:52 +01:00
Jermolene
c8830d32f7 Fixed problem with building TW under Windows
Fixes #717

The issue was that under Windows we generate text nodes that contained
CRLF as a linebreak (rather than just LF as usual).

The subtle problem is that when these strings are placed in the DOM via
createTextNode(), the CR character is treated as a printable character,
not whitespace. When creating DOM notes with innerHTML or as part of a
static HTML document the HTML parser will strip out the CR characters.

The hacky solution is to manually remove CRs before building the text
node.
2014-08-15 09:40:22 +01:00
Jermolene
2ff2092615 More improvements to control panel plugin formatting 2014-08-08 17:19:48 +01:00
Jermolene
7953b95d13 Include subtiddler in transclusion recursion detection 2014-08-07 15:43:48 +01:00
Jermolene
c8bba8caea Switch to "tw-tagged-" prefix for CSS tags 2014-08-02 13:38:39 +01:00
Jermolene
c23f6af4b5 Add CSS classes for each tag 2014-08-01 17:48:26 +01:00
Jermolene
aea06f7df4 Fix checkbox setting text field to empty string 2014-07-30 11:52:45 +01:00
Jermolene
758762eee3 Autosave after an import 2014-07-29 10:03:43 +01:00
Jermolene
40b4259e86 Clarify widget constructor docs 2014-07-25 15:26:53 +01:00
Jermolene
eecb9126cd Fix checkbox widget to work with missing tiddlers 2014-07-24 15:43:37 +01:00
Jermolene
f793816dfa Add subtiddler support to the transclude widget
Useful to be able to reach into plugins. It will enable us to do things
like extract readmes from themes that are not active.
2014-07-17 18:41:20 +01:00
Jermolene
89989c737e Fix bug with import tiddler handling 2014-07-17 15:02:42 +01:00
Jermolene
c92a21ff14 Remove extraneous debugger statement 2014-07-14 21:51:56 +01:00
Jermolene
c0edca78c8 Beginning of one-shot UI for upgrade.html 2014-07-14 14:53:21 +01:00
Jermolene
5a23c883e2 More defensive checks
We’ve had a few bugs with the symptom of ‘text’ being undefined.
2014-07-14 14:52:00 +01:00
Jermolene
7998686cb3 Fix typo affecting transclusion recursion detection 2014-07-14 14:50:46 +01:00
Jermolene
1f6e16318a First pass at upgrade mechanism 2014-07-12 09:09:36 +01:00
Jermolene
f08f57c5d2 Extend checkbox widget to toggle fields 2014-07-12 09:09:13 +01:00
Jermolene
4743d0a863 Fix transclusion recursion detection
We were inadvertantly doing the recursion check before we were checking
if the transclusion target exists.
2014-07-12 09:08:52 +01:00
Jermolene
9de679b84b Fix tiddler widget to refresh properly
Previously wasn’t refreshing for changes to the tiddler that it refers
to
2014-07-12 09:08:20 +01:00
Jermolene
6f3e31abe5 Fixed problems with detecting changes to draft tiddlers 2014-06-23 23:28:22 +01:00
Jermolene
32a1da7673 Fixed problem with pasted items lacking a type 2014-06-22 11:58:00 +01:00
Jermolene
9987e6de22 Fix problem with overwriting existing tiddlers 2014-06-22 11:45:00 +01:00
Jermolene
06b0f9adb7 Added aria-label attribute to link widget
And document it for the button widget
2014-06-17 07:54:10 +01:00
Jermolene
eeedcb6d94 First pass at accessibility improvements for #650 2014-06-14 18:06:56 +01:00
Jermolene
f09d69d1b7 Remove debugging code 2014-06-13 14:44:43 +01:00
Jermolene
9ab0c84140 Support global macros via the importvariables widget
The new importvariables widget imports macro/variable definitions from
the specified tiddlers and makes them available to its children.

Allows us to split PageMacros up into separate tiddlers.

We still support loading macros from $:/core/ui/PageMacros to help
people upgrading.

Fixes #644 and #559
2014-06-12 18:01:33 +01:00
Jermolene
9547a1f01c First pass at external image support
A bunch of little changes that together enable external image support.
Try:

```
tiddlywiki editions/tw5.com --verbose --build externalimages
```

Then open `externalimages.html`, look for the images in the more/types
tab of the sidebar, open them and verify that they are set with an
external SRC attribute, not a data URI.
2014-06-12 08:36:30 +01:00
Jermolene
a03a15e7de Allow the text widget to refresh if needed 2014-06-10 19:32:55 +01:00
Jermolene
247eb04b11 Extraneous semi-colon 2014-05-31 19:18:01 +01:00
Jermolene
3182a2d599 Add first pass at select widget 2014-05-31 18:37:43 +01:00
Jermolene
a330cb543e Better defaults for radio widget
Now the “field” attribute defaults to “text”.
2014-05-31 18:35:41 +01:00
Jermolene
412cde6f53 Move "storyviews" filter operator to correct folder 2014-05-28 17:17:47 +01:00
Jermolene
9a26c4259a Fix problem with widget.getStateQualifier()
Fixed to take into account the recent change to read variables from the
parent widget: e60fc9f81f
2014-05-13 18:16:45 +01:00
Jermolene
75fee26b58 Fix problem with variables containing an empty string
See
https://github.com/Jermolene/TiddlyWiki5/commit/e60fc9f81f2c8f0d115543d8
d330a1d68f9b890a#commitcomment-6301921
2014-05-13 10:15:55 +01:00
Jermolene
e60fc9f81f Fixed problem with widgets variable access
Previously, widgets were reading variables from themselves or their
cascaded ancestors. That means that if a widget sets a variable and
then reads the same variable, it will get the same variable back. That
sounds reasonable, until you consider a widget that wants to modify a
variable - eg the tiddler macro. For example:

```
<$tiddler tiddler={{!!report}}>
<$transclude mode="block" />
</$tiddler>
```

Here we first evaluate the `{{!!report}}` reference, which involves
reading the currentTiddler variable, looking up the tiddler, and
retrieving it’s `report` field. The next the tiddler widget is
refreshed, it will use the newly set currentTiddler as the basis for
resolving the `{{!!reference}}` reference.

The fix is to get variables from ancestors, but continue to set them on
ourselves.
2014-05-08 11:51:02 +01:00
Jermolene
6ab68e0fca Remove erroneous global wiki references
$tw.wiki is used as a global reference in the outer initialisation
modules. It shouldn’t be used in widgets etc.
2014-05-07 14:49:14 +01:00
Jermolene
e548dd35af Restored drag and drop functionality within TEXTAREAs and INPUTs
As mentioned by @Skeeve in #592
2014-05-07 14:32:14 +01:00
Jermolene
ffb6c8ab81 Add hex colours to tag manager
Fixes #597
2014-05-05 18:42:25 +01:00
Jermolene
a5e9ef9b5f Adopt new URL scheme for permalinks
Instead of using `%00` as a separator we do the more conventional
`#!<target-title>:<story filter>`.
2014-05-03 11:32:55 +01:00
Jermolene
cb914ae853 Remove dead code typo 2014-05-02 18:07:47 +01:00
Jermolene
a4294b55f0 Add banner for binary tiddlers in edit mode
Makes it easier to add tags to a binary tiddler (eg a PDF).
2014-05-02 09:43:39 +01:00
Jermolene
0ac4c2b554 Allow digits in field names 2014-04-28 15:54:32 +01:00
Jermolene
84cd296c58 Minor tweaks to shadow warning infrastructure
1. Moved some methods out of boot.js because they are not needed until
after bootup
2. Added alternate message for editing an overridden shadow tiddler
3. Minor style tweaks
2014-04-28 15:16:31 +01:00
Jeremy Ruston
a90339d1e5 Merge pull request #586 from sukima/feature/issue-570-cancle-unchanged-drafts
Fix issue #570 Make it harder to accidentally modify a shadow tiddler
2014-04-28 13:22:44 +01:00
Devin Weaver
a505b6ffc0 Move isModified from Tiddler to Wiki
Replace this with a $tw.wiki.isModifiedTiddler(title) as part of the
wiki object. This allows it to be used outside of the current Wiki which
can change.
2014-04-27 17:15:42 -04:00
Devin Weaver
d0636f2124 Add a confirmation to edit a shadow tiddler
Should only display the confirmation if the shadow tiddler has not been
overridden in the first place. It checks this by looking for the
existence of a modified field for which the default system based shadow
do not have until a user changes them.

This addresses the second line item on issue #570

We will need new translations for the added string
`ConfirmEditShadowTiddler`
2014-04-27 17:15:42 -04:00
Devin Weaver
5226c7a2fa Prevent saving un-modified tiddlers
When saving a tiddler we check to see if the tiddler has changed
(isModified) if it hasn't then bounce the event to tw-cancel-tiddler
instead.

Addresses first line item in issue #570
2014-04-27 17:15:42 -04:00
Devin Weaver
8611867930 Remove dead code 💀 2014-04-27 17:15:41 -04:00
Jermolene
385c7e207c Refactor wiki.filterTiddlers()
Now we pass a widget instead of the current tiddler title. We can use
widget.getVariable(“currentTiddler”) to get the current tiddler.
2014-04-27 20:03:33 +01:00
Jermolene
ad4b03506a Added wikitext image support
We’ve added a parser to recognise the `[img[URL or tiddler title]]`
format, and an associated image widget.
2014-04-17 12:52:32 +01:00
Jermolene
e366aa3746 Use Date.now() instead of new Date()
Just for when what we actually want is a millisecond counter.

Interesting video about this:

https://www.youtube.com/watch?v=Vo72W1HWeFI
2014-04-14 09:02:52 +01:00
Jermolene
3afa26b9a3 Require confirmation before abandoning edits
Fixes #544
2014-04-12 14:15:49 +01:00
Jermolene
e5fe3f76ac Fix linkcatcher message sending
We need to send messages to the parent so that we don’t set up an
infinite loop by sending `tw-navigate` messages. Also we need to pass
along the target of the navigation.
2014-04-09 16:09:12 +01:00
Jermolene
f9a274df85 Require confirmation for all tiddler deletions
Previously we only asked for confirmation when deleting a draft tiddler
2014-04-09 11:32:08 +01:00
Jermolene
426281539a Merge branch 'saner-filters' 2014-04-08 14:14:11 +01:00
Jermolene
b51d851f93 Fix extraneous comma
Thanks to Danielo Rodríguez
2014-04-06 22:09:42 +01:00
Jermolene
4d91a7762e Optimise link widget
Handle the classes better, and stop using a default tooltip (parsing
the tooltip was a performance hog)
2014-04-05 17:37:58 +01:00
Jermolene
c3e24c1228 Trim spaces from new field and tag names
Fixes #517
2014-03-31 17:59:28 +01:00
Jermolene
bca1d55280 Add validation of legal characters for fieldnames 2014-03-26 13:38:43 +00:00
Jermolene
79d643775d Fix scrollable widget not to crash on the server 2014-03-25 14:37:33 +00:00
Jermolene
d3e178becc Add scrollable widget
A new widget to handle scrollable areas. We’ll use it both for the
story river and the sidebar.
2014-03-25 14:26:54 +00:00
Jermolene
20f6383528 Add storyviews list filter and use it in view switcher 2014-03-24 22:17:45 +00:00
Jermolene
178cfb1084 Make more core strings be translateable
Now we’re translating strings that occur in JavaScript modules.

Partially fixing #491
2014-03-20 20:55:59 +00:00
Jermolene
ba6edd42c1 Explicitly blacklist unsafe elements, starting with <script>
Are there are any other elements that might be considered unsafe?
2014-03-19 10:05:44 +00:00
Jermolene
06500e5f71 New error message text for recursive transclusion error 2014-03-17 11:54:41 +00:00
Jermolene
f649b5b037 Extend button widget to set text references
Previously the `set` attribute could only be used to identify a
tiddler, not a full text reference.
2014-03-15 17:02:13 +00:00
Jermolene
d0caf21b2d Exclude attributes starting "on" on HTML elements
Because:

* It doesn't work well with TW5's refresh mechanism, which relies on
being able to regenerate any portion of the DOM as required; this
frequently causes inline handlers to be re-executed at unexpected times
(see
http://tiddlywiki.com/static/TiddlyWiki%2520for%2520Developers.html)
* It mixes TW5 version-specific JavaScript with user content
* In multiuser environments there is a security risk to importing or
viewing tiddlers you didn't author if they can have JavaScript in them
2014-03-12 16:39:18 +00:00
Jermolene
db35bc36aa Disable storyviews when rendering to the fake dom 2014-03-10 18:41:11 +00:00
Jermolene
01e1133219 Fix bug where count widget wasn't being updated correctly 2014-03-10 18:15:00 +00:00
Jermolene
98872bbe7c Allow pasting/dropping of HTML content
Fixes #477
2014-03-09 20:39:03 +00:00
Jermolene
289bec0fd5 Parse the wiki link tooltip as wiki text 2014-03-08 16:06:57 +00:00
Jermolene
81af6bdd48 Fix typo in navigate handler for button widget 2014-03-08 10:22:09 +00:00
Jermolene
a5a2c718b1 Add support for a tooltip on the link widget 2014-03-06 12:38:47 +00:00
Jermolene
df6436a12c Allow middle mouse button to trigger navigation suppression when clicking a tiddler link
Equivalent to holding control/command while clicking.
2014-03-03 09:09:13 +00:00
Jermolene
4194f9f20f Retract change to new tiddler handling in navigator.js
Original commit: d5c31ed07f
2014-02-28 15:31:35 +00:00
Jermolene
99ccdf4584 Add confirmation when deleting tiddlers
Fixes #381
2014-02-23 17:37:32 +00:00
Jermolene
2ab0facf3a Extend button widget to allow navigating to a tiddler
Fixes #327
2014-02-22 16:13:16 +00:00
Jermolene
0961b0426b Use import report tiddler only if more than one tiddler is imported
If there’s only one, just display the tiddler itself.
2014-02-21 20:17:34 +00:00
Jermolene
31975e0042 Update importing so we don't open every imported tiddler
Instead we just display a report with links to each imported tiddler.
Should make importing much faster.
2014-02-21 18:21:10 +00:00
Jermolene
68bcbff753 Rough and ready control over bitmap editor line width and colour
Fixes #414
2014-02-21 14:06:04 +00:00
Skeeve
d5c31ed07f Update navigator.js
As described here: https://groups.google.com/d/msg/tiddlywikidev/AWvXz7RMIC4/gFF5crN2UJoJ

Providing a name for the new tiddler message only works if a skeleton tiddler already exists. If not, "New Tiddler" is taken. This change fixes that in that the provided name is taken even if there is no skeleton.
2014-02-21 10:37:20 +01:00
Jermolene
88ffb2ad12 Fix problem that was causing Chrome to display black in colour picker swatches
Hurrah!
2014-02-20 09:57:44 +00:00
Jermolene
5e9dae8fb4 Fix view widget so that it works with indexes 2014-02-17 11:28:48 +00:00
Jermolene
69c0b5e031 Fix problem with pasting items into the browser 2014-02-14 20:00:23 +00:00
Jermolene
9bb600299f Extend the navigator widget to maintain the "current-tiddler" field on the history list 2014-02-13 17:59:51 +00:00
Jermolene
800bc639f9 Fix problem with the reveal widget not refreshing properly when used with text references
The check for changed tiddlers was failing because `this.stateTitle`
contains the entire text reference, not just the tiddler title.
2014-02-13 17:59:10 +00:00
Jermolene
470beabf17 Enhance links so that control/command clicking suppresses navigation
Control- or Command-clicking on a link will now open the target tiddler
but suppress navigating to it. Kind of like opening in a background tab.
2014-02-12 22:00:12 +00:00
Jermolene
ca0c352278 Extend the transclude widget to fallback to displaying it's child nodes if the target isn't defined 2014-02-12 21:38:37 +00:00
Jermolene
ecad2bf7a8 Add better control over whether tiddlers are transcluded in block or inline mode 2014-02-12 17:59:28 +00:00
Jermolene
5c66bc6dbc Update the reveal widget to allow control over content retention
Thus bringing back the animation of the opening and closing of the info
panel.
2014-02-12 08:32:19 +00:00
Jermolene
ecba4f71ea Clean up the highlight plugin
Fixing various issues that were preventing language specifiers from
working.
2014-02-10 13:51:38 +00:00
Jermolene
828fc9dcd0 Autosave when deleting a tiddler 2014-02-07 10:14:10 +00:00
Jermolene
f0d512edf0 Remove extraneous autosave attribute from navigator widget
Inadvertently committed.
2014-02-07 10:12:45 +00:00
Jermolene
a01bbd4b9c Add automatic saving and warning on exit with unsaved changes
We re-use some of the existing syncer mechanism. It was already keeping
track of changes to tiddlers in the store when working with a tiddler
syncadaptor. Now it also tracks changes when there is no syncadaptor,
allowing us to provide a warning if there are unsaved changes.
2014-02-06 21:36:30 +00:00
Jermolene
1d685df928 Add support for autosave
Causes the wiki to be autosaved whenever clicking “done” after editing
a tiddler. Only works with savers that support autosave. We should
probably make autosave configurable
2014-02-04 21:21:01 +00:00
Jermolene
7eafd51a7d Use placeholder text for editing missing tiddlers
Fixes #387
2014-01-30 17:39:32 +00:00
Jermolene
e3a05625b2 Add experimental keyboard shortcut widget
It’s not cool that we have to use a separate keyboard widget for each
keyboard shortcut.

Fixes #386
2014-01-30 13:40:36 +00:00
Jermolene
69d342d46a Stop the reveal widget caching hidden content
Previously, when displayed content is hidden by the reveal widget there
was an optimisation such that the content was retained in the DOM but
hidden using CSS, so that it could be shown again quickly.

It turns out that a sideeffect of that optimisation is that clicking
through all the sidebar tabs leaves them all active, so that they all
need to be refreshed whenever a character is typed in an editor.

This commit suppresses the optimisation, so that hidden content is
removed from the DOM and the render tree.
2014-01-26 09:57:46 +00:00
Jermolene
70a7321edd Take editor configuration from configuration tiddlers
This should enable @buggyj to add an html editor by including a
configuration tiddler in the plugin.
2014-01-24 20:22:23 +00:00
Jermolene
f4b27b33de Fixed problem with multiple tiddlers created from dragging a single file 2014-01-24 14:09:06 +00:00
Jermolene
64304f9b7f Ensure that new tiddlers created from a skeleton don't inherit created/creator fields 2014-01-21 21:00:08 +00:00
Jermolene
1e54b1bcc9 Remove empty tag fields in the field mangler
This means that removing the last tag from a tiddler will remove the
tags field.
2014-01-20 11:53:26 +00:00
Jermolene
95cb99adb9 Enhance text widget to optionally use "text" attribute
This lets us use the text widget to render text in macros that we don’t
want to be wikified.
2014-01-19 21:45:55 +00:00
João Bolila
426f2978cf fixes of a newbie, me 2014-01-12 17:09:24 +00:00
João Bolila
82a48cf85c codeblock as a widget and plugin for highlight code blocks 2014-01-07 22:57:46 +00:00
Jermolene
b06e09a4d3 Fix typo in default date format string for view widget
Fixes #320
2014-01-03 18:34:27 +00:00