From e27c1b53358b32136e58266d807dab5346f72a3b Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Thu, 23 Mar 2023 01:02:01 -0400 Subject: [PATCH] Add Dataset and Standard item types zotero/zotero-bits#22 zotero/zotero-bits#52 --- chrome/content/zotero/components/icons.jsx | 2 + .../content/zotero/xpcom/data/cachedTypes.js | 2 + chrome/locale/en-US/zotero/zotero.properties | 11 +- .../skin/default/zotero/treeitem-dataset.png | Bin 0 -> 500 bytes .../default/zotero/treeitem-dataset@2x.png | Bin 0 -> 797 bytes .../skin/default/zotero/treeitem-standard.png | Bin 0 -> 3141 bytes .../default/zotero/treeitem-standard@2x.png | Bin 0 -> 2691 bytes resource/schema/global | 2 +- test/tests/data/allTypesAndFields.js | 93 ++++++++- test/tests/data/itemJSON.js | 104 +++++++++- test/tests/data/translatorExport.js | 108 ++++++++++- test/tests/data/translatorExportLegacy.js | 180 +++++++++++++++++- 12 files changed, 480 insertions(+), 22 deletions(-) create mode 100644 chrome/skin/default/zotero/treeitem-dataset.png create mode 100644 chrome/skin/default/zotero/treeitem-dataset@2x.png create mode 100644 chrome/skin/default/zotero/treeitem-standard.png create mode 100644 chrome/skin/default/zotero/treeitem-standard@2x.png diff --git a/chrome/content/zotero/components/icons.jsx b/chrome/content/zotero/components/icons.jsx index f95490ac12..6f8c035d2c 100644 --- a/chrome/content/zotero/components/icons.jsx +++ b/chrome/content/zotero/components/icons.jsx @@ -124,6 +124,7 @@ i('TreeitemBookSection', 'chrome://zotero/skin/treeitem-bookSection.png'); i('TreeitemCase', 'chrome://zotero/skin/treeitem-case.png'); i('TreeitemComputerProgram', 'chrome://zotero/skin/treeitem-computerProgram.png'); i('TreeitemConferencePaper', 'chrome://zotero/skin/treeitem-conferencePaper.png'); +i('TreeitemDataset', 'chrome://zotero/skin/treeitem-dataset.png'); i('TreeitemDictionaryEntry', 'chrome://zotero/skin/treeitem-dictionaryEntry.png'); i('TreeitemEmail', 'chrome://zotero/skin/treeitem-email.png'); i('TreeitemEncyclopediaArticle', 'chrome://zotero/skin/treeitem-encyclopediaArticle.png'); @@ -147,6 +148,7 @@ i('TreeitemPreprint', 'chrome://zotero/skin/treeitem-preprint.png'); i('TreeitemPresentation', 'chrome://zotero/skin/treeitem-presentation.png'); i('TreeitemRadioBroadcast', 'chrome://zotero/skin/treeitem-radioBroadcast.png', false); i('TreeitemReport', 'chrome://zotero/skin/treeitem-report.png'); +i('TreeitemStandard', 'chrome://zotero/skin/treeitem-standard.png'); i('TreeitemStatute', 'chrome://zotero/skin/treeitem-statute.png'); i('TreeitemThesis', 'chrome://zotero/skin/treeitem-thesis.png'); i('TreeitemTvBroadcast', 'chrome://zotero/skin/treeitem-tvBroadcast.png', false); diff --git a/chrome/content/zotero/xpcom/data/cachedTypes.js b/chrome/content/zotero/xpcom/data/cachedTypes.js index 908ffa8153..50e3064eba 100644 --- a/chrome/content/zotero/xpcom/data/cachedTypes.js +++ b/chrome/content/zotero/xpcom/data/cachedTypes.js @@ -470,6 +470,7 @@ Zotero.ItemTypes = new function() { case 'case': case 'computerProgram': case 'conferencePaper': + case 'dataset': case 'dictionaryEntry': case 'email': case 'encyclopediaArticle': @@ -488,6 +489,7 @@ Zotero.ItemTypes = new function() { case 'preprint': case 'presentation': case 'report': + case 'standard': case 'statute': case 'thesis': case 'webpage': diff --git a/chrome/locale/en-US/zotero/zotero.properties b/chrome/locale/en-US/zotero/zotero.properties index 40bc7bc4ff..5c0c738204 100644 --- a/chrome/locale/en-US/zotero/zotero.properties +++ b/chrome/locale/en-US/zotero/zotero.properties @@ -500,8 +500,10 @@ itemTypes.document = Document itemTypes.encyclopediaArticle = Encyclopedia Article itemTypes.dictionaryEntry = Dictionary Entry itemTypes.preprint = Preprint +itemTypes.dataset = Dataset +itemTypes.standard = Standard -itemFields.itemType = Type +itemFields.itemType = Item Type itemFields.title = Title itemFields.dateAdded = Date Added itemFields.dateModified = Modified @@ -614,8 +616,15 @@ itemFields.genre = Genre itemFields.archive = Archive itemFields.attachmentPDF = PDF Attachment itemFields.repository = Repository +itemFields.repositoryLocation = Repo. Location itemFields.archiveID = Archive ID itemFields.citationKey = Citation Key +itemFields.identifier = Identifier +itemFields.type = Type +itemFields.format = Format +itemFields.status = Status +itemFields.organization = Organization +itemFields.authority = Authority itemFields.feed = Feed creatorTypes.author = Author diff --git a/chrome/skin/default/zotero/treeitem-dataset.png b/chrome/skin/default/zotero/treeitem-dataset.png new file mode 100644 index 0000000000000000000000000000000000000000..8bff5728b132f18bf83c2f24340624e263c53467 GIT binary patch literal 500 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 literal 0 HcmV?d00001 diff --git a/chrome/skin/default/zotero/treeitem-standard@2x.png b/chrome/skin/default/zotero/treeitem-standard@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..89f344855960efc6105160895b710538adbd336d GIT binary patch literal 2691 zcmZ`*30xEB65j+Om#7?yB4Q*$70qoGLK2mPBM&(Q;?#UQb9ppKtu&W zkwZicB0`J7p9+eg6ufFZi}1k47!}gh9g?G63HJb9jL$idMIT_0&BgK>rgrAC}1F2`|{|xbzb# z1Y!wSE(Nhvf-`|k1}G#7l}4h{C{!$ogeWVP1AtyJ>PtMu=n0?LV!baq;yfpdp@4;v z%rg`M022#jp@4!TvjITgUKAK25Aj|@<4Gk1E?*icASfg)t#$vH_kT0b9v)w<@;U|XOX1QEO zBN7u66A6h_f)tD*lAWEMi6jbjNW`zv;AAJ_`#+X~EBhu%E)ss@EM(`K zG(KR}qLxhV*V}SysX#=HFG4mfiOeao;Ok#UW`66Kw zn=2PEk#@(EsCWuB@N>J5({(U9Y^2gOe*q*F$0O~rE>)7o_)j#Qhzyd>V2w|$)(Vd;(-1;&}T5`jrlWr5R5eW>+$Y_=@FZvV-?l(t^t|1q0<* z+<83ZdY<@4|L+}4WA4rR*ZRjbH8V;^#`d(pMjznlX!lzDlfOBpXf4Wqjgy1Yf> zJg9N1_Sy96kbhgKm85=!>nw-f${P-UpkA%ybc-*f7x>^?c8LRhEnWrqrn`H1MA2<; zbL%*gZueW|O3MugU2L)>T{86c|~2hTrNSm?DsQhdh9s#*#3p-VaY4`@sdA2zvE-3!(?DqnQ^Es_iH z<~C^_c3hL4%EL#~FUuTSgalyGUi4khh6U-@(GdxoF}X&7UMp}l|7W8}ufD#%mJgX! zA)(-gLBIOcsn+W65~O5JSXjC_j9VI%_>eUvUT7w-2SZpo;9z% zb`v`$mrCghl+^|-u%MTr%%9kl$U` zX8Rx1HR%hNz2Mkh^oPucGgVUu_io7fH8pxbf(mIAo&mB}B`!_3)nEJKX%@Xa-TYC? zK9kiw;#P{w@?;Ux#@CeTfyJ!zpH*$=t zE1OFymJK~M=3ls@*?fHX&Ew3E-5#A8b!_Fr4sfO+J1nc5}GQ0BGylx`n18+w;ee0PTphA{of>+@ZEif(rWz3a(4t9R;n z(~!eCCE!90UhU?F$sA=h>6z(QY;P*+0H?O^j+4BxTBdQ?9bizXtiMtc9@o>EF-#ZP)W z!Z)U**_$>zyI9@^c49USU(=+ht*`$U-jK!`MjH;DCJhu@1$f~Cvk2-i%p)(C?B@6* zF~hdFqfJp|!5+_Q(I*$AWTuVfb)>~QpUb~v{4veNtI%tus`6w+@F~VD!?%r2M}4H*%ew8uBd(vjT5)mR z9eYvSf;uO&qS$+`nR&t2^OAcClV>98$bTu0n-9CnHR6Z=0ftHL AeE