Commit graph

8716 commits

Author SHA1 Message Date
Dan Stillman
c43823ad60 Maybe fix noteeditor test failures for real 2017-04-01 14:29:45 -04:00
Dan Stillman
7609ef35bc Allow setting note text with createDataObject('item') test function 2017-04-01 14:28:32 -04:00
Dan Stillman
4867fc7e03 Fix onInit() in styled textbox if already initialized 2017-04-01 14:27:37 -04:00
Dan Stillman
4edcf5839b Don't show context menu on right-click on tag selector background 2017-04-01 11:24:01 -04:00
Dan Stillman
6174641cfa Reload primary data after tag rename instead of updating .synced
Follow-up to bb489a45c3 to mirror what Tags.removeFromLibrary() does
2017-04-01 03:13:26 -04:00
Dan Stillman
bb489a45c3 Upload modified items after tag rename
The web library will probably still display the old tag in addition to
the new one, at least until browser restart. We'll have to deal with
that separately.

Closes #1205
2017-04-01 02:54:24 -04:00
Dan Stillman
9637770c16 Update locales from Transifex 2017-03-28 02:28:26 -04:00
Dan Stillman
9bdb907751 Update submodules 2017-03-28 02:28:14 -04:00
Dan Stillman
cac01100a6 Avoid XML Parsing Error in Firefox console for ping requests 2017-03-28 02:17:15 -04:00
Dan Stillman
09d4960e1f Increase timeout to hopefully prevent noteeditor tag test from failing 2017-03-27 20:46:25 -04:00
Dan Stillman
7b7b268727 Remove instance of legacy shorthand function syntax 2017-03-27 20:46:25 -04:00
Dan Stillman
3a8357cb95 Fix renaming and clearing of colored tags 2017-03-27 20:46:25 -04:00
Dan Stillman
fe186333be Drastically speed up tag selector refresh with many tags
When refreshing, if fewer than 100 tags to show, just create them from
scratch instead of updating the full set. Otherwise, remove the full set
from DOM and add it back in after updates to avoid reflows (from #1204).

There are various things that could be done to optimize this further
(avoiding unnecessary sorting during full refreshes, calculating a hash
of the full set and not updating it every time), but we should probably
just replace it with @tnajdek's React version first.

Closes #1204
2017-03-27 20:45:22 -04:00
Dan Stillman
8edd4b0523 Fix classic Add Citation dialog after 820755e15 2017-03-27 04:39:21 -04:00
Dan Stillman
bd287013fe Missing line from 499d4e3065 2017-03-27 02:12:58 -04:00
Dan Stillman
499d4e3065 Handle missing deleted.txt in unpacked source directory
Unpacked directories aren't actually supported anymore, but fix obvious
breakage if they were.
2017-03-27 02:08:16 -04:00
Dan Stillman
4477e42cf9 Remove fallback code for symlinked Standalone dev build
No longer possible
2017-03-27 02:07:14 -04:00
Dan Stillman
3a48439c1d Ignore clicks in tag selector not on tags 2017-03-26 18:11:23 -04:00
Dan Stillman
d357382dd1 Always invalidate items tree after sort 2017-03-26 05:20:10 -04:00
Adomas Venčkauskas
bc4afb6d85 Fixes report printing. Closes #1179.
Page Setup seems to have moved into the print dialog in Firefox a while
ago
2017-03-24 17:51:04 +02:00
Dan Stillman
edb53c31df Fix updating of tag selector after filtering the middle pane
Adds a 'refresh' event to libraryTreeView
2017-03-24 05:37:41 -04:00
Dan Stillman
820755e152 Rework libraryTreeView event handling
Changes `libraryTreeView::addEventListener('load')` and similar to
`libraryTreeView::onLoad.addListener(listener, once)`, etc. `once` is an
optional boolean that, when true, causes the listener to fire once and
then be removed. This is implicit for 'load'.

'load' maintains its special behavior of running immediately if the
treeview has already been loaded.

Also adds `waitForLoad()` and `waitForSelect()` functions that return
promises on event completion, since most uses of those events were just
resolving deferreds.
2017-03-24 05:23:56 -04:00
Dan Stillman
1a4b7121d3 Move waitForTagSelector() into support.js 2017-03-24 00:51:25 -04:00
Dan Stillman
f4eb8ed3bb Pass chunk size to data generator
TODO: Add text fields for controlling number of items and chunk size

(Chunk size should be small for testing UI interactions and performance
but large for generating lots of data.)
2017-03-21 05:06:37 -04:00
Dan Stillman
d9b5fd78c9 Fix error from empty strings in data generator 2017-03-21 04:58:38 -04:00
Adomas Venčkauskas
8bc5d37dd1 Update word plugin status after installation. Closes #1200 2017-03-20 19:23:37 +02:00
Adomas Venčkauskas
2d93b07220 Replace old-style object properties in word-processor-plugin-installer 2017-03-20 17:24:16 +02:00
Dan Stillman
eaf8d36963 Adds a -debugger command-line flag to start the devtools server
Follow-up to https://github.com/zotero/zotero-standalone-build/commit/22cfe2404

The devtools must be included in the build by passing the -t flag to
build.sh in zotero-standalone-build.

After starting Zotero with the flag, connect from a Firefox instance
with remote debugging enabled by choosing "Connect…" from the Web
Developer menu and connecting to port 6100.
2017-03-17 17:12:12 -04:00
Adomas Venčkauskas
dd921f340c Use data.detailedCookies in /connector/saveSnapshot 2017-03-16 17:06:01 +02:00
Dan Stillman
a3473896a5 Fix error showing some WebDAV verification errors 2017-03-13 16:02:34 -07:00
Dan Stillman
640aaa1557 Add loadPrefPane(paneName) support function
E.g., loadPrefPane('sync') to open the prefs and select the
'zotero-pane-sync' pane
2017-03-13 16:02:34 -07:00
Dan Stillman
b732a82d55 Script to generate random item data
For building up a big library and testing UI interaction during writes

To use, load chrome://zotero/content/tools/data_generator.html in
Firefox (for now).

Could be improved a bit to add other kinds of data (collections,
child items, relations)
2017-03-09 04:02:09 -05:00
Dan Stillman
f9ea0af4cf Clean up a few data layer lines 2017-03-09 04:02:09 -05:00
Dan Stillman
b1fc6ac67c Fix (some) crashes switching collections while items are being added
The items list is generated from the database (via search), but new
items may have been added to the database but not yet been registered,
causing unloaded-data errors during sorting. Avoid that by not showing
unregistered items when generating the items list.

Additional protections are necessary -- it's still possible to get
errors, and maybe a crash, if an item has been registered but not yet
fully loaded -- but this addresses the most common one.
2017-03-09 04:02:09 -05:00
Dan Stillman
1711ba4dd4 Create temporary table for search without transaction 2017-03-09 04:02:09 -05:00
Adomas Venčkauskas
580cc32f6f Remove Promise.prototype.finally calls from translate.js not in ES6
We could monkey-patch a finally function in connectors as described in
this gist https://gist.github.com/jish/e9bcd75e391a2b21206b , but it
appears to silence propogation of unhandled rejections
and it could later come back to bite us in the butt.
Native and proper support for finally is, however, planned in ES7.
2017-03-07 12:38:36 +02:00
Dan Stillman
e9fd7f2dd1 Update Collection::getChildItems() when erasing item
Fixes #1188
2017-03-07 01:54:49 -05:00
Dan Stillman
dd5ae0f49c Fix Quick Copy drag with export format 2017-03-06 23:52:24 -05:00
Dan Stillman
9e59500619 Fix file sync error on Windows for old filenames containing colons
OS.Path.basename() stops at colons on Windows, so calling it on the full
path produces unexpected results.
2017-03-06 22:04:56 -05:00
Dan Stillman
59fb9d0226 Fix cross-library collection drag on Linux, probably 2017-03-04 16:38:00 -05:00
Dan Stillman
c180bce0f0 Check linked collections in both directions 2017-03-04 16:05:56 -05:00
Dan Stillman
d0d7aec4b0 Set 'copy' cursor feedback on cross-library collection drag 2017-03-04 04:17:51 -05:00
Dan Stillman
704e8ffeea Fix dragging collections between libraries 2017-03-04 04:17:25 -05:00
Dan Stillman
1b81004a93 Remove errant HTML tag 2017-03-03 16:40:28 -05:00
Dan Stillman
9ea82bb6cd Fix potential error dragging attachment with missing file 2017-03-03 16:40:28 -05:00
Dan Stillman
fe9fc8bc5a Asyncify various functions to fix cross-library drag-and-drop error
When dragging an item to another library, we have to check if there's a
linked item in the target library, but items might not yet be laoded in
the other library, so item.getLinkedItem() can fail with "Item [n] not
yet loaded].

Fixing required asyncifying the follow functions:

- Zotero.Item::getLinkedItem()
- Zotero.Collection::getLinkedCollection()
- Zotero.URI.getURIItem()
- Zotero.URI.getURICollection()
- Various integration functions
2017-03-03 16:40:28 -05:00
Adomas Venčkauskas
182b9a937b Fix (still) broken debug reporting for connectors (regression ef0d9afe8) 2017-03-03 15:02:33 +02:00
Dan Stillman
7c25093ca2 Fix various error propagation issues during translation
As noted in 27cb099c82, import translators should be rewritten to return
a promise from doImport() and wait for promises from successive
item.complete() calls. They should then be marked as minVersion: "5.0"
to be handled properly by this new code.

(But this tries to account, albeit with somewhat worse behavior, for
translators that haven't been rewritten and sandboxes without Promise
(which is currently the case with child sandboxes in the client).)

(Oh, and I haven't tested this at all in the connectors.)
2017-03-03 04:51:01 -05:00
Dan Stillman
7ccf781add Firefox 52 compatibility 2017-03-02 15:30:54 -05:00
Dan Stillman
8812fd4401 Add debugging for display error reported in forums
https://forums.zotero.org/discussion/64662/5-0-beta-no-items-displayed-in-center-pane
2017-03-02 15:30:54 -05:00