Commit Graph

38 Commits

Author SHA1 Message Date
Dan Stillman
a605fe1cff Don't try to access itemsView until loaded in citation dialogs 2016-04-25 00:33:57 -04:00
Dan Stillman
aa730bb3bd Merge branch '4.0'
Conflicts:
	chrome/content/zotero/fileInterface.js
	chrome/content/zotero/xpcom/translation/translate_item.js
	chrome/content/zotero/xpcom/utilities_internal.js
	chrome/content/zotero/zoteroPane.js
2015-05-23 18:26:32 -04:00
gracile-fr
7fb8f162c5 Add localized locator labels
Fixes #557
2015-03-12 15:30:05 +01:00
Dan Stillman
db0fa3c33e Async DB megacommit
Promise-based rewrite of most of the codebase, with asynchronous database and file access -- see https://github.com/zotero/zotero/issues/518 for details.

WARNING: This includes backwards-incompatible schema changes.

An incomplete list of other changes:

- Schema overhaul
  - Replace main tables with new versions with updated schema
  - Enable real foreign key support and remove previous triggers
  - Don't use NULLs for local libraryID, which broke the UNIQUE index
    preventing object key duplication. All code (Zotero and third-party)
    using NULL for the local library will need to be updated to use 0
    instead (already done for Zotero code)
  - Add 'compatibility' DB version that can be incremented manually to break DB
    compatibility with previous versions. 'userdata' upgrades will no longer
    automatically break compatibility.
  - Demote creators and tags from first-class objects to item properties
- New API syncing properties
  - 'synced'/'version' properties to data objects
  - 'etag' to groups
  - 'version' to libraries
- Create Zotero.DataObject that other objects inherit from
- Consolidate data object loading into Zotero.DataObjects
- Change object reloading so that only the loaded and changed parts of objects are reloaded, instead of reloading all data from the database (with some exceptions, including item primary data)
- Items and collections now have .parentItem and .parentKey properties, replacing item.getSource() and item.getSourceKey()
- New function Zotero.serial(fn), to wrap an async function such that all calls are run serially
- New function Zotero.Utilities.Internal.forEachChunkAsync(arr, chunkSize, func)
- Add tag selector loading message
- Various API and name changes, since everything was breaking anyway

Known broken things:

- Syncing (will be completely rewritten for API syncing)
- Translation architecture (needs promise-based rewrite)
- Duplicates view
- DB integrity check (from schema changes)
- Dragging (may be difficult to fix)

Lots of other big and little things are certainly broken, particularly with the UI, which can be affected by async code in all sorts of subtle ways.
2014-08-06 22:59:37 -04:00
Simon Kornblith
e2a68c747c Don't break when add citation box is closed directly instead of cancelled 2013-03-31 22:07:30 -04:00
Simon Kornblith
6b2bbf80e1 Fix things so that they (hopefully) don't break under latest Q 2013-02-18 16:06:31 -05:00
Simon Kornblith
d550ac92b4 Q-ize integration.js
Adds a new function, Zotero.promiseGenerator, that returns a promise that is fulfilled by the last thing yielded by a generator, or rejected with an error.
2012-07-16 21:50:14 -04:00
Simon Kornblith
00b341daf1 Remove processNextEvent() call 2011-09-20 19:36:55 +00:00
Simon Kornblith
9e5c9716e2 Fix preview and resolve issues with classic add citation dialog 2011-09-15 22:24:43 +00:00
Simon Kornblith
08c8c4dfbd Use asynchronous APIs for collecting fields. This currently has the side effect of breaking the editor. 2011-09-15 07:57:06 +00:00
Simon Kornblith
68c06c14a2 References #1887, Retrieving editor.value in Zotero_Citation_Dialog._updatePreview() fails
Perform an additional check, just in case the preview pane hasn't fully loaded before the dialog is accepted.
2011-08-25 22:55:55 +00:00
Simon Kornblith
4afc4a4d82 Closes #1887: Retrieving editor.value in Zotero_Citation_Dialog._updatePreview() fails 2011-08-25 22:50:51 +00:00
Simon Kornblith
2900dcc6db Don't allow unreasonable window positions 2011-08-04 01:24:41 +00:00
Simon Kornblith
e945b84b5f Backing out r9930, as it causes serious issues on Windows 2011-07-22 07:09:40 +00:00
Simon Kornblith
68cbef118f Rounded add citation dialog 2011-07-22 07:05:08 +00:00
Dan Stillman
51f8c11ea0 Switch client code license to Affero GPL version 3 2011-05-18 18:34:22 +00:00
Simon Kornblith
edf113f184 be less aggressive about resizing add citation dialog 2011-03-26 21:52:53 +00:00
Dan Stillman
be166665e7 Fix cross-library item reselection in Edit Citation 2011-03-09 23:00:09 +00:00
Simon Kornblith
d22ccf2219 Zotero.Utilities changes:
- Zotero.Utilities is now a singleton
- Zotero.Utilities.HTTP is now Zotero.HTTP
- Zotero.Utilities.md5 and Zotero.Utilities.Base64 are now located under Zotero.Utilities.Internal
- Zotero.Utilities.AutoComplete has been eliminated

This needs testing to make sure there is no associated breakage.
2010-10-25 00:58:47 +00:00
Simon Kornblith
64f810dd5a fix issues inserting new citations with locators with accented characters (citations will still need to be reinserted) 2010-08-16 08:46:07 +00:00
Simon Kornblith
84fcd7d4b8 oops: there is no wrappedJSObject for collectionsView 2010-08-01 19:57:42 +00:00
Simon Kornblith
b285f6a7d4 closes #1705, [PATCH] Item cited in document not reselected when cite reopened for editing 2010-08-01 19:56:45 +00:00
Simon Kornblith
8068c17f8f closes #1689, When editing a citation, the reference is not selected if it does not exist in the currently selected collection within the Zotero pane 2010-07-12 11:24:29 +00:00
Simon Kornblith
5649e26ec2 closes #1686, Set selected item titles with getDisplayTitle() (thanks to Frank) 2010-06-30 05:34:48 +00:00
Simon Kornblith
23f21bac56 fix formatting from previous patch 2010-06-29 06:43:39 +00:00
Simon Kornblith
78d46dc0f0 closes #1680, Allow repeat use of item in a citation (patch due entirely to Frank)
see notes at referenced ticket for information re: modifications in behavior
2010-06-29 06:34:20 +00:00
Simon Kornblith
4556ea3f10 fixes #1668, Items added in multiple mode not recognized unless visible (twice)
fix Accept button issue by using getAttribute() rather than id property, but also scroll to newly inserted citation, since it's probably the desirable behavior
2010-06-18 18:19:52 +00:00
Simon Kornblith
13a3524f0c closes #1665, Single cursor position in addCitation dialog (thanks Frank!) 2010-06-13 23:22:34 +00:00
Simon Kornblith
1da48cf8d2 - implement previewCitationCluster(), restoreProcessorState(), new "bibchange" flag in processCitationCluster() output, and new opt.sort_citations flag in word processor integration
- upgrade to citeproc-js 1.0.29

From Frank's 1.0.25 announcement:

 Provide new command, previewCitationCluster(), that returns
 string for hypothetical citation at specified position,
 without affecting processor state.

 Fix bug that would have cause appendCitationCluster() to
 run updateItems() unnecessarily.

 Provide for forced generation of citationID, for internal use
 in previewing.

From Frank's 1.0.26 announcement:

 Implement new command restoreProcessorState(), for use in,
 er, restoring the processor state, when position variables
 and citation sort keys are already known.

From Frank's 1.0.27 announcement:

 This fixes a couple of obvious problems in the code of the new
 restoreProcessorState() command.

From Frank's 1.0.28 announcement:

 This version introduces a significant change to the return
 value of processCitationCluster().  It is now an array with
 two elements, the first being a JS object that serves as a
 data segment, and the second the list of two-element arrays
 representing insertion indexes and strings for insertion
 (as previously documented).  An API change of this scale
 probably calls for some more visible sign in the version
 numbering, but the original statement on versioning says
 that the major and minor numbers will align with the CSL
 schema, so we stay at level 1.0.

 The data segment referred to above contains just one element
 currently, "bibchange", which is true if processing the
 citation results in any change affecting the bibliography.

 This release also introduces one change and one addition to
 style configuration flags.  The flag at citation.opt["citation-number-sort"]
 has been moved to opt.citation_number_sort, for clarity and
 consistency.  A new flag, opt.sort_citations, is true if
 citations are sorted by the style in any way.

From Frank's 1.0.29 announcement:

 Complete reimplementation of cite-level disambiguation.
 The new code is more compact and maintainable, and
 avoids thrashing behavior that afflicted the previous
 code when a large number of cites required both
 add-names and year-suffix disambiguation.

 Suppress year suffix when fresh ambig keys are generated.
 Inserts by a plugin affecting year suffixes should now be
 correctly handled.
2010-06-13 22:53:57 +00:00
Simon Kornblith
15977ba5b1 allow selecting first list item after clicking "Multiple Citations..." button (don't know why this didn't work, and don't know why this fixes it) 2010-06-06 01:25:34 +00:00
Simon Kornblith
5284da05af - return "Keep Citations Sorted" checkbox
- update to citeproc-js 1.0.22
From Frank's announcement:

- Bypass sorting of citations that have a value for "unsorted"
 in citation.properties.

This permits per-citation override of style-driven citation sorts, as
supported by Zotero and required for some common use cases.
2010-06-06 00:57:47 +00:00
Simon Kornblith
75374af5af - add Frank's citation re-ordering patch, with a few changes
- fix error when canceling citation add after editing
2010-06-06 00:01:11 +00:00
Simon Kornblith
35e097b664 unedited citations should not have a "custom" attribute 2010-06-05 17:58:20 +00:00
Simon Kornblith
bd0a4a3b96 Use citeproc-js as CSL parser. There is an issue with multiple citations in numbered styles that I will probably need Frank's help to track down, but otherwise, this seems to work. Many things are completely untested, including EndNote style support. Currently requires CSL 1.0 styles. In the near future, I hope to use the XSLT stylesheet to transform CSL 0.8 to CSL 1.0.
closes #1650: suppress author does not work for multiple sources
closes #1505: Edit Biblography Button Strips Year Disambiguation
closes #1503: Editing a bibliography resets all reference numbers to 1 (new)
closes #1262: Broken pluralization with et al. + other issues
closes #1238: Localize quotation marks
closes #1191: Harmonize 'plural/pluralize' label attribute with CSL schema
closes #1154: Only one works page numbers are added to the citation are when citing multiple works by the same author
closes #1097: Disambiguation issues
closes #1083: Defect in IEEE CSL with Multiple Citations
closes #993: more sophisticated subsequent-author-substitute
closes #833: text-transform doesn't work with name
2010-05-30 11:25:25 +00:00
Dan Stillman
4adc606c48 Add warning to citation/bibliography editor 2010-02-03 05:50:43 +00:00
Dan Stillman
94e279e034 ECL 1.0 -> GPLv3 2009-12-28 09:47:49 +00:00
Simon Kornblith
4beb908dfa fix spurious "_sortCheckbox is not defined" errors 2009-09-28 22:00:48 +00:00
Simon Kornblith
f5c988f918 - add resizer to integration windows
- don't automatically resize integration windows if a button is pressed
- move integration js/xul to integration subdirectory
2009-09-25 08:30:07 +00:00