Jermolene
d8c3691bd1
Removed unneeded CSS classes
...
Part of #764
2014-08-28 17:17:50 +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
3529625a6c
Fix full screen button not supported
2014-08-03 12:35:53 +01:00
Jermolene
799a5b059a
Move fullscreen button into core from plugin
2014-08-01 16:52:12 +01:00
Jermolene
5f018c2092
More defensive dom utility hasClass()
...
It was failing on SVG elements such as `<path>`
2014-07-28 14:19:52 +01:00
Jermolene
e40a0c07b8
Fix support for upgrading encrypted wikis
...
Importing an encrypted wiki ordinarily doesn’t place the password in
the password vault on the basis that one ought to be able to import
from a file without automatically inheriting its password.
Now there’s a configuration option that can be used by the upgrade
plugin to cause the password vault to be updated with any password
entered by the user. The end result is that the user only needs to
enter their password once.
2014-07-16 10:06:24 +01:00
Jermolene
3351ae7e29
Fix issue with localStorage error on Firefox
...
Firefox raises an error if window.localStorage is accessed when cookies
are disabled:
https://bugzilla.mozilla.org/show_bug.cgi?id=771890
2014-07-06 10:11:21 +01:00
Jermolene
465f4ac469
Fix problem with refreshing modal dialogues
...
Previously any refreshing of the content of a modal would cause a
crash. The problem is the way that we steal the root widget for the
render trees used in the modal. The root widget is tied to the
container DOM node for the main content area, which isn’t actually a
parent of the modal DOM nodes, hence the confusion for the refresh
mechanism.
2014-07-04 21:07:35 +01:00
Jermolene
c9c1b0fbb4
Get rid of the tweakParseTreeNode() hack
...
It’s an embarrassing hangover from a refactoring of the parsing
mechanism last year.
2014-05-14 08:51:08 +01:00
Jermolene
7c8c5cf745
Fix problem with parsing main UI boot tiddlers
...
We were parsing the boot tiddlers, making them into a widget and then
refreshing the widget tree. The problem is that subsequent chances to
the boot tiddlers themselves wouldn’t be picked up as part of the
refresh.
Now we indirectly parse those UI boot tiddlers through a transclusion,
which does get refreshed in the desired way.
2014-05-06 10:14:22 +01:00
Jermolene
3cce12e13f
More refactoring of startup.js
2014-05-05 14:41:46 +01:00
Jermolene
749582ede0
Split module loading into a separate startup task
...
Still a work in progress.
2014-05-03 17:10:55 +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
Jermolene
f7e50e0950
Add --build
command
...
First pass at the build system described in #356 .
To test it, move to a new, empty directory and try `tiddlywiki
editions/tw5.com --verbose --build`
2014-04-25 22:41:59 +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
be5f6f6700
Allow spaces in property names in text references
2014-04-12 17:14:09 +01:00
Jermolene
272a4bbe61
Filtering optimisations
2014-04-05 17:31:36 +01:00
Jermolene
d402d3c5a6
Add performance measurement features
...
This is an experimental module to help us measure the performance of
the refresh cycle and the filter mechanism. Not intended to replace the
performance measurement features in browser developer tools, just to
make it easier to automate performance checks cross-browser.
The immediate purpose is to help in refactoring the filter mechanism.
The recent change to encapsulate the wiki store “tiddlers” object has
hurt the performance of filters, and it’s going to be helpful to have
decent measurements while refactoring that code.
I’m still not convinced that this stuff should be in the core, and may
well end up removing it after the present refactoring cycle.
2014-04-01 08:33:36 +01:00
Jermolene
dcce487934
Add support for platform dependent high resolution performance timers
...
For profiling filter performance
2014-03-31 18:42:30 +01:00
Jermolene
914a536d82
Correct relative date handling of t=1s
...
We were incorrectly displaying “1 seconds ago”
2014-03-31 12:41:54 +01:00
Jermolene
535837e017
Use client bounding rect rather than offset positions for computing scroll positions
2014-03-24 22:31:03 +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
db35bc36aa
Disable storyviews when rendering to the fake dom
2014-03-10 18:41:11 +00:00
Jermolene
3636744d4f
Add support for retrieving formatted text content from the fake dom
...
The idea is to convert HTML block elements into newlines, so that the
output is readable on a terminal.
2014-02-25 14:49:07 +00:00
Jermolene
f3930ad69c
Add init command to initialise a wiki folder
...
Fixes #362
2014-02-23 22:58:17 +00:00
Jermolene
260080164f
Update setTiddlerData() to preserve tiddler dictionaries
...
Previously, data tiddlers were always being saved in JSON format,
regardless of the original format.
2014-02-23 12:33:00 +00:00
Jermolene
cb5b95add2
Extend fakedom to support .value property
...
So that 88ffb2ad12
will work on the server
2014-02-21 15:43:25 +00:00
Jermolene
4836cf83e2
Enhance alerting to coalesce repeated alerts with the same text
2014-02-14 10:29:26 +00:00
Jermolene
70a120d4a6
Expand the logging mechanism to support alerts overlaid on the main screen
...
Now we get decent visual indication of sync errors, for instance. Still
work to do to coalesce alerts so that the screen doesn’t fill up with
them after an interval. And probably we should add a button to clear
all alerts.
2014-02-14 07:53:41 +00:00
Jermolene
ad4e7ccb17
Add experimental support for building plugins in the browser
...
It’s a bit rough and ready, but works.
2014-02-13 14:23:27 +00:00
Jermolene
441d9078fa
Coding style tweaks for #399
2014-02-10 17:34:10 +00:00
Jeremy Ruston
f0ab607ea1
Merge pull request #399 from shendaras/patch-1
...
getRelativeDate: support for negative deltas
2014-02-10 17:33:08 +00:00
Jermolene
b26a32b93a
Remove obsolete stylesheet helper
2014-02-08 09:29:11 +00:00
Daniel Barrett
d02ce5dbf3
oops, actually correct delta
...
Actually change delta to a positive number to get the logic the same.
2014-02-05 12:37:37 -06:00
Daniel Barrett
32f290dc13
getRelativeDate: support for negative deltas
...
Add support for format="relativedate" to be used when the date is in the future.
2014-02-05 11:44:01 -06:00
Jermolene
4882f70557
Clearer explanation of key descriptor syntax
2014-02-04 20:05:34 +00:00
Jeremy Ruston
7b054440ca
Merge pull request #374 from Skeeve/patch-1
...
Update utils.js
2014-01-30 08:24:00 -08: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
Skeeve
758d461823
Update utils.js
...
I think /\\/g is wrong as it will remove every \ from the string. I think, the usual way of keeping the following character is more appropriate.
2014-01-29 13:43:34 +01:00
Jermolene
3f9561dd95
Better logging
2014-01-26 18:53:31 +00:00
Jermolene
2fc6451bf7
Rejigged encrypted import so that the current password isn't changed
...
We still try the currently stored password. If that doesn’t work then
we prompt for a password, but we no longer store the password in the
store.
2014-01-20 13:35:55 +00:00
Jermolene
ed5cf8b044
Refactor importing of encrypted TiddlyWiki files so that it works on Node.js
2014-01-19 20:13:55 +00:00
Jermolene
2c790d982f
Switch to using $tw.fakeDocument
for the fakedom document object
...
So that we can free us `$tw.document` to be the actual DOM document
2014-01-15 14:57:35 +00:00
Jermolene
b64b7982af
Fix notification removal to not rely on transitionEnd events
2014-01-09 22:26:21 +00:00
Jermolene
e0f428b9b2
Fixed problem with Element.ELEMENT_NODE undefined on Safari
2014-01-04 15:15:12 +00:00
Jermolene
027421f5e6
More coding style consistency
2014-01-03 10:54:00 +00:00
Jermolene
1a74e2538c
Cleaning up further coding style inconsistencies that have crept in
2014-01-03 10:50:00 +00:00
Jermolene
8fc5c1d4a0
Further style tweaks to #321
2014-01-03 10:48:00 +00:00
Jermolene
307b5c7d6b
Merging #321 Table valign from @Skeeve
2014-01-03 10:39:55 +00:00
Jermolene
b132e1023d
Add error checking to $tw.utils.setStyle()
2014-01-02 19:00:46 +00:00
David Jade
7f5a8fc937
Better drag/drop for Firefox/Chrome and improved IE support
2013-12-20 19:57:05 -08:00
Jermolene
1c529ddcd4
Refactored stylesheet implementation
...
This way we reuse the refresh mechanism properly so that theme tweaks
can be applied interactively.
2013-12-20 15:31:16 +00:00
Jermolene
3bcaab513d
Fixed problem with insertBefore() method in fakedom
...
Was preventing refreshing of widget trees built against the fakedom.
2013-12-20 15:29:01 +00:00
Jermolene
638c8b2070
Fixes to fullscreen support
...
Prompted by this article:
http://generatedcontent.org/post/70347573294/is-your-fullscreen-api-code
-up-to-date-find-out-how-to
2013-12-18 21:39:59 +00:00
Jermolene
7d12d89a0a
Added primitive support for basic authentication
...
Note that the password will be passed over HTTP in plain text.
2013-11-28 14:03:08 +00:00
Jermolene
c0a6e94b21
Hash the state qualifier to make it shorter
...
We were having problems with TW5 generating filepaths that were longer
than Windows likes.
Fixes #240
2013-11-28 10:53:37 +00:00
Jermolene
06a66cf24e
Improve popup dismissal
...
Now we ignore clicks if they come from an element that has an ancestor
with the class `tw-popup`
2013-11-12 22:02:26 +00:00
Jermolene
145e3ece78
Fix $tw.utils.hasClass() to work even if the element doesn't have a className property
2013-11-12 22:01:31 +00:00
Jeremy Ruston
cc0011abd3
Get rid of the "new_" prefix we had on some methods
...
There's still the "old_" prefix to get rid of too.
2013-11-08 08:51:14 +00:00
Jeremy Ruston
b7cb1d3391
Change new_widget
to widget
...
I was avoiding doing this until after the merge.
2013-11-08 08:47:00 +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
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
654f48b14d
Fix problem with modal titles
2013-10-29 15:01:36 +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
f2ac04943f
Fixed tag autocomplete popup on focus
2013-10-23 17:41:12 +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
ce1fb300f8
Use the new widget mechanism for stylesheet parsing and rendering
2013-10-21 18:38:20 +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
20cd398e88
Fix popup positioning in the reveal widget
2013-10-14 23:32:01 +01:00
Jeremy Ruston
94c2eacdc9
Support selectedClass properly in the button widget
2013-10-14 16:56:13 +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
4a663d1661
Improve docs for $tw.utils.addEventListeners()
2013-09-14 13:47:51 +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
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
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
53ead15273
Refactor scroller so that the scrollIntoView() method is a bit more usable
...
Passing an event instead of a DOM node was silly.
2013-07-08 15:15:53 +01:00
Jeremy Ruston
594f4ba204
Update animations to use a timer instead the transitionEnd event
...
Thr trouble is that the transitionEnd event doesn't fire under some
circumstances (eg if the animated element is hidden). So, it's more
reliable to use a timer instead
2013-07-06 12:57:37 +01:00
Jeremy Ruston
c72a63849b
Add some more methods to the fake DOM
...
These methods are needed to get static saving working in the browser
again (click "Save Static" in the Demo tiddler)
2013-07-05 10:47:08 +01:00
Jeremy Ruston
0edfc855b4
Replace obsolete content type
2013-06-27 10:19:38 +01:00
Jeremy Ruston
d6654c4a0b
Fixed problem with not being able to manually scroll after navigating to a tiddler
2013-06-10 21:07:23 +01:00
Jeremy Ruston
3cda8758ae
Refactor scrolling animation to use requestAnimationFrame() instead of setInterval()
2013-06-10 14:11:58 +01:00
Jeremy Ruston
2c8352c442
Update the popup manager to allow popup state to be forced, rather than toggled
...
We'll be needing this shortly
2013-06-09 19:24:21 +01:00
Jeremy Ruston
854a9d6d1c
Toggle a style on the page container when a modal is displayed
2013-06-04 16:19:47 +01:00
Jeremy Ruston
a8b1da33de
Improvements to slide animation
2013-05-28 16:47:16 +01:00
Jeremy Ruston
227cadd326
Add a barebones animation framework
...
The idea is to allow us to package animations/transitions into plugins
2013-05-28 16:28:16 +01:00
Jeremy Ruston
d19affc9c3
Fix problem with non-shadow stylesheets not being recognised at startup
2013-05-25 16:40:34 +01:00
Jeremy Ruston
3806168038
Fixed problem with non-shadow style tiddlers not being recognised
2013-05-18 16:59:24 +01:00
Jeremy Ruston
d8abc0e9e3
Fix up more document references
2013-05-17 17:37:39 +01:00
Jeremy Ruston
6e1cd46bc7
Fix document references
2013-05-17 17:29:43 +01:00
Jeremy Ruston
551ebdc005
Major refactoring of rendering mechanism
...
We now use a fake DOM implementation on the server to let us share more
rendering code between the text output vs. DOM output paths.
2013-05-17 10:12:25 +01:00
Jeremy Ruston
8564602256
Refactor rendertree to simplify context handling
...
Get rid of the separate renderContext stack and instead have a parent
pointer on renderer nodes. This lets us walk back up the render tree to
resolve context references
2013-05-15 17:32:17 +01:00
Jeremy Ruston
8796f312cb
A different animation for hiding notifications
...
Only slightly different, but it seems to add visual interest
2013-05-08 13:27:04 +01:00
Jeremy Ruston
24db38c06b
Add simple notification mechanism
2013-05-07 18:08:44 +01:00
Jeremy Ruston
152fb798eb
Start responding to dynamic stylesheet changes
...
This mechanism will only be triggered by changes to the stylesheet
tiddlers themselves, and not to any dependencies that they might have.
It'll stay that way for a while.
The next thing is making the theme manager actually switch themes,
forcing the right wiki change events to make the stylesheet manager
update itself
2013-04-29 12:07:39 +01:00
Jeremy Ruston
069bb624e5
Fix popup removal
2013-03-19 16:44:32 +00:00
Jeremy Ruston
dbde2bf23b
Started refactoring TiddlyWeb syncer into generic syncer + TiddlyWeb adaptor
...
The refactored plugin is `tiddlyweb2` for the moment. The idea is to be
able to use the same syncer with a different adaptor for syncing
changes to the local file system.
2013-03-17 15:28:49 +00:00