invenio-app-rdm 14.0.0b4.dev4__py2.py3-none-any.whl → 14.0.0b4.dev5__py2.py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -17,6 +17,6 @@
17
17
  #
18
18
  # See PEP 0440 for details - https://www.python.org/dev/peps/pep-0440
19
19
 
20
- __version__ = "14.0.0b4.dev4"
20
+ __version__ = "14.0.0b4.dev5"
21
21
 
22
22
  __all__ = ("__version__",)
@@ -6,6 +6,7 @@
6
6
  # under the terms of the MIT License; see LICENSE file for more details.
7
7
 
8
8
  """Invenio administration view module for audit logs."""
9
+
9
10
  from flask import current_app
10
11
  from invenio_administration.views.base import AdminResourceListView
11
12
  from invenio_i18n import lazy_gettext as _
@@ -1,5 +1,5 @@
1
1
  // This file is part of InvenioRDM
2
- // Copyright (C) 2021 CERN.
2
+ // Copyright (C) 2021-2026 CERN.
3
3
  //
4
4
  // Invenio RDM Records is free software; you can redistribute it and/or modify it
5
5
  // under the terms of the MIT License; see LICENSE file for more details.
@@ -26,18 +26,18 @@ class SimpleCopyButton extends React.Component {
26
26
  };
27
27
 
28
28
  render() {
29
- const { hoverState, size } = this.props;
29
+ const { hoverState, className, uiProps } = this.props;
30
30
 
31
31
  return (
32
32
  <Button
33
- className="copy"
33
+ className={`copy ${className || ""}`}
34
34
  basic
35
- size={size}
36
35
  icon="copy"
37
36
  aria-label={i18next.t("Copy to clipboard")}
38
37
  onClick={this.handleClick} // Handle click to fetch from url if url passed, otherwise use text from props
39
38
  onMouseEnter={hoverState}
40
39
  onMouseLeave={hoverState}
40
+ {...uiProps}
41
41
  />
42
42
  );
43
43
  }
@@ -48,13 +48,15 @@ SimpleCopyButton.propTypes = {
48
48
  onCopy: PropTypes.func.isRequired,
49
49
  url: PropTypes.string,
50
50
  hoverState: PropTypes.func,
51
- size: PropTypes.string,
51
+ className: PropTypes.string,
52
+ uiProps: PropTypes.object,
52
53
  };
53
54
 
54
55
  SimpleCopyButton.defaultProps = {
55
56
  hoverState: null,
56
57
  url: null,
57
- size: "medium",
58
+ className: "",
59
+ uiProps: {},
58
60
  };
59
61
 
60
62
  export class CopyButton extends Component {
@@ -99,7 +101,7 @@ export class CopyButton extends Component {
99
101
  };
100
102
 
101
103
  render() {
102
- const { popUpPosition, text, url, size } = this.props;
104
+ const { popUpPosition, text, url, ...uiProps } = this.props;
103
105
  const { confirmationPopupMsg, confirmationPopupIsOpen, hoverPopupIsOpen } =
104
106
  this.state;
105
107
 
@@ -118,7 +120,7 @@ export class CopyButton extends Component {
118
120
  onCopy={this.onCopy}
119
121
  url={url}
120
122
  hoverState={this.hoverStateHandler}
121
- size={size}
123
+ uiProps={uiProps}
122
124
  />
123
125
  }
124
126
  />
@@ -131,12 +133,10 @@ CopyButton.propTypes = {
131
133
  popUpPosition: PropTypes.string,
132
134
  text: PropTypes.string,
133
135
  url: PropTypes.string,
134
- size: PropTypes.string,
135
136
  };
136
137
 
137
138
  CopyButton.defaultProps = {
138
139
  popUpPosition: "right center",
139
140
  text: "",
140
141
  url: "",
141
- size: "medium",
142
142
  };
@@ -12,6 +12,7 @@ import { Grid, Icon, Message, Placeholder, List, Divider } from "semantic-ui-rea
12
12
  import { i18next } from "@translations/invenio_app_rdm/i18next";
13
13
  import PropTypes from "prop-types";
14
14
  import { withCancel, http, ErrorMessage } from "react-invenio-forms";
15
+ import Overridable from "react-overridable";
15
16
 
16
17
  const deserializeRecord = (record) => ({
17
18
  id: record.id,
@@ -26,37 +27,44 @@ const deserializeRecord = (record) => ({
26
27
 
27
28
  const NUMBER_OF_VERSIONS = 5;
28
29
 
29
- const RecordVersionItem = ({ item, activeVersion }) => {
30
+ export const RecordVersionItem = ({ item, activeVersion }) => {
30
31
  const doi = _get(item.pids, "doi.identifier", "");
31
32
  return (
32
- <List.Item key={item.id} {...(activeVersion && { className: "version active" })}>
33
- <List.Content floated="left">
34
- {activeVersion ? (
35
- <span className="text-break">
36
- {i18next.t("Version {{- version}}", { version: item.version })}
37
- </span>
38
- ) : (
39
- <a href={`/records/${item.id}`} className="text-break">
40
- {i18next.t("Version {{- version}}", { version: item.version })}
41
- </a>
42
- )}
43
-
44
- {doi && (
45
- <a
46
- href={`https://doi.org/${doi}`}
47
- className={"doi" + (activeVersion ? " text-muted-darken" : " text-muted")}
48
- >
49
- {doi}
50
- </a>
51
- )}
52
- </List.Content>
53
-
54
- <List.Content floated="right">
55
- <small className={activeVersion ? "text-muted-darken" : "text-muted"}>
56
- {item.publication_date}
57
- </small>
58
- </List.Content>
59
- </List.Item>
33
+ <Overridable
34
+ id="InvenioAppRdm.RecordVersionsList.Item.container"
35
+ item={item}
36
+ activeVersion={activeVersion}
37
+ doi={doi}
38
+ >
39
+ <List.Item key={item.id} {...(activeVersion && { className: "version active" })}>
40
+ <List.Content floated="left">
41
+ {activeVersion ? (
42
+ <span className="text-break">
43
+ {i18next.t("Version {{- version}}", { version: item.version })}
44
+ </span>
45
+ ) : (
46
+ <a href={`/records/${item.id}`} className="text-break">
47
+ {i18next.t("Version {{- version}}", { version: item.version })}
48
+ </a>
49
+ )}
50
+
51
+ {doi && (
52
+ <a
53
+ href={`https://doi.org/${doi}`}
54
+ className={"doi" + (activeVersion ? " text-muted-darken" : " text-muted")}
55
+ >
56
+ {doi}
57
+ </a>
58
+ )}
59
+ </List.Content>
60
+
61
+ <List.Content floated="right">
62
+ <small className={activeVersion ? "text-muted-darken" : "text-muted"}>
63
+ {item.publication_date}
64
+ </small>
65
+ </List.Content>
66
+ </List.Item>
67
+ </Overridable>
60
68
  );
61
69
  };
62
70
 
@@ -52,10 +52,12 @@ function renderRecordManagement(element) {
52
52
  const recordVersionsAppDiv = document.getElementById("recordVersions");
53
53
  if (recordVersionsAppDiv) {
54
54
  ReactDOM.render(
55
- <RecordVersionsList
56
- record={JSON.parse(recordVersionsAppDiv.dataset.record)}
57
- isPreview={JSON.parse(recordVersionsAppDiv.dataset.preview)}
58
- />,
55
+ <OverridableContext.Provider value={overriddenComponents}>
56
+ <RecordVersionsList
57
+ record={JSON.parse(recordVersionsAppDiv.dataset.record)}
58
+ isPreview={JSON.parse(recordVersionsAppDiv.dataset.preview)}
59
+ />
60
+ </OverridableContext.Provider>,
59
61
  recordVersionsAppDiv
60
62
  );
61
63
  }
@@ -38,6 +38,7 @@ This script has been tested with following data:
38
38
  - drafts visible
39
39
  - records visible
40
40
  """
41
+
41
42
  import sys
42
43
 
43
44
  from click import secho
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: invenio-app-rdm
3
- Version: 14.0.0b4.dev4
3
+ Version: 14.0.0b4.dev5
4
4
  Summary: Invenio Research Data Management.
5
5
  Home-page: https://github.com/inveniosoftware/invenio-app-rdm
6
6
  Author: CERN
@@ -101,7 +101,12 @@ https://inveniordm.docs.cern.ch
101
101
  Changes
102
102
  =======
103
103
 
104
- Version v14.0.0b4.dev4 (released 2025-12-15)
104
+ Version v14.0.0b4.dev4 (released 2026-01-21)
105
+
106
+ - feat(CopyButton): Pass remaining props to customize UI & functionality
107
+ - refactor(RecordVersionsList): Make version items overridable
108
+
109
+ Version v14.0.0b4.dev4 (released 2026-01-15)
105
110
 
106
111
  - refactor(ui): support custom file display name resolver
107
112
  - fix: use UUID type for request identifiers
@@ -1,4 +1,4 @@
1
- invenio_app_rdm/__init__.py,sha256=N31r9EWzKsbSOJ_6E-Q72fY5I7zJU-hucJ7y4-8ympk,704
1
+ invenio_app_rdm/__init__.py,sha256=ekTsVfOct-ISZRXM4igCnTpOnzlxQBGQvoAIMnmtetI,704
2
2
  invenio_app_rdm/cli.py,sha256=G6QqNU2W6n6ICtTMnpeKFXIsdorncDmVXwwwsGH5F2k,2746
3
3
  invenio_app_rdm/config.py,sha256=OI25kBsLhnyYP3SMqLGyUt4iIpc0Xqho1dtRvLCA1L8,53937
4
4
  invenio_app_rdm/ext.py,sha256=K7syn5CU5If7yOclFeNOCZX_u5q6VB7NJEQVm41mlng,5286
@@ -6,7 +6,7 @@ invenio_app_rdm/tasks.py,sha256=FyrIQXVuPjms-dNEnLrVmmdwrX_IykJ87gcSNgOR6O0,1373
6
6
  invenio_app_rdm/views.py,sha256=SDr9NwZEWQcgT_3GFRYdDf6eUaK9DfnoafIkhUf9nSI,785
7
7
  invenio_app_rdm/administration/__init__.py,sha256=8r9LeoE9fNHZSVS5QsCfVhRU7MAiEOWJk9MA3Y--4F8,251
8
8
  invenio_app_rdm/administration/audit_logs/__init__.py,sha256=jsBXeKSY5YNn1juF9sFyHPYo_XYpwdP3Dye-de7cMK0,318
9
- invenio_app_rdm/administration/audit_logs/audit_logs.py,sha256=6tZvqPKt54Hc8gL3Lz5LLwwKHABU3fWWhU5t0DHhgPk,2166
9
+ invenio_app_rdm/administration/audit_logs/audit_logs.py,sha256=kbBOH1Jn8zLfntYjy-WAuDdT3A12k8b3fmkhxJNJ16M,2167
10
10
  invenio_app_rdm/administration/domains/__init__.py,sha256=Qob5kqjRPxpuSE5yDV2tesN6tmaKp5JcxCxGA8Mrcak,487
11
11
  invenio_app_rdm/administration/domains/domains.py,sha256=vafLa-mqkg_tQLjx328E64P_4mksB5kjBlsfunvdatg,5599
12
12
  invenio_app_rdm/administration/moderation/__init__.py,sha256=5Jr_Kicz0xsybdyRr48amQDkLlalVbRz9Pq0zGrTqMg,404
@@ -175,7 +175,7 @@ invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/communityRecordsSear
175
175
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/communityRecordsSearch/components.js,sha256=k26jDWt0BWIrhnuGF-t0iNmudXdniO8YPkquF8VK7gk,271
176
176
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/communityRecordsSearch/index.js,sha256=8Ev-tdRIWl2HhB7Y8YR30dXK-A4ePyShOsb9A9X-GhQ,2193
177
177
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/CompactStats.js,sha256=_QNFYvYQJQgAjAWidxxGTX5YxAGhIUvZnOMxAKBnYxA,1374
178
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/CopyButton.js,sha256=tIWybsEB9V4qCwX0Yra8PDFIj-bEYvUistR_dcZR7IU,3554
178
+ invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/CopyButton.js,sha256=Ie79IcUP6zd9YNksD5nMAQo4xg5riuKFqW66ojZSJso,3611
179
179
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/DisplayPartOfCommunities.js,sha256=bSmhuwSWk4CW80mqa4ZZbjfa-_NsiJ1IxQ9veDy6sAM,2751
180
180
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/DisplayVerifiedCommunity.js,sha256=m3rT8jJ3440ZX22zZog8bHatWltYXwvmw_tu6tJUM9k,1506
181
181
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/FileModificationUntil.js,sha256=3GtEW_IaP6TBKzMBBX1eYD-DuJbM31ps-dbjdgpLfc8,1254
@@ -198,9 +198,9 @@ invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ManageB
198
198
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordCitationField.js,sha256=XYfXsQejNeC1R0spndn0qDrqvz6w3bj5UlPEIgT4U24,4757
199
199
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordCommunitiesList.js,sha256=w9iPhdQWJDpc9eXUFfUMqFp1GOjLHriAuVzAgIysHTs,5217
200
200
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordManagement.js,sha256=cViV1fQ_1xvd_JUV3toffX-nuWgkKiy7WGtZcg5tV5Y,4297
201
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordVersionsList.js,sha256=ZJaD4fW2z00tcektXVz0eLXu6oGLLW-NUjV86neuDjM,7141
201
+ invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordVersionsList.js,sha256=2wdyGkDYleScMDfWhUT-DS2_cF1l-aONrRhkrw7qZRs,7416
202
202
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/access.js,sha256=FVcpKl22zMi1GssbLZAj1pO98c6Em_wg_yBIdfBJor0,938
203
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/index.js,sha256=qFNRHzkO0lHv8sQGZchXQgrNKl-IcGqPAV-j4-E7NxE,5348
203
+ invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/index.js,sha256=EPF96wIjBwDOzaC6Gsm_gBEb4ut5EiwMccvqZh_yPh0,5454
204
204
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/theme.js,sha256=E-k0eKbkGZ7aF4eVojQmgWymSIzOzPHdysPLe2Kfwek,3837
205
205
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ManageDefaultBrandingAction/ManageDefaultBrandingAction.js,sha256=ti3NaV7kZ0cVl82Aj3l4b7cLjDiKmI2qGsjWEOKxLU0,3529
206
206
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/PendingCommunitiesModal/PendingCommunitiesModal.js,sha256=G9OwLxKqX73w_7D1k7BHOzMeLmokowMfJQg5Km7J8RA,1797
@@ -477,7 +477,7 @@ invenio_app_rdm/upgrade_scripts/__init__.py,sha256=AlBBeGDr7RmylFE1ynJhFylaAlINQ
477
477
  invenio_app_rdm/upgrade_scripts/fix_migrated_records_from_1_0_to_2_0.py,sha256=SCUdvuQYGnjWLfm6Kd-f3swlOrxSNN3kO36OVEOkN7g,1760
478
478
  invenio_app_rdm/upgrade_scripts/fix_migrated_records_from_8_0_to_9_0.py,sha256=p6qTNjUMAJ-0tnrSwar7jtDX_sg6V9kFj7fzH-wrbkY,2769
479
479
  invenio_app_rdm/upgrade_scripts/migrate_10_0_to_11_0.py,sha256=TX6FCWXY4qM4z7IYzDO5qaMTheo3zAjFrmR1sXaEf4U,1333
480
- invenio_app_rdm/upgrade_scripts/migrate_11_0_to_12_0.py,sha256=Tp7jfT2JHrYCFzF2qIYqG7yr7k-GhX2zkw61CWJGA78,6941
480
+ invenio_app_rdm/upgrade_scripts/migrate_11_0_to_12_0.py,sha256=U3h09wf8Eb3TL3FdYDJeV2SauyaVwh3xO9pBhZQID-U,6942
481
481
  invenio_app_rdm/upgrade_scripts/migrate_12_0_to_13_0.py,sha256=pyO68jyGyKXVTcja8tpi2XgNx_FxXk7JhgDTV-wx3xM,8205
482
482
  invenio_app_rdm/upgrade_scripts/migrate_13_0_to_14_0.py,sha256=vSixZ-Md5esqabBNbWwN8mjEWSsMv0IroHA2gqy_GJ8,11247
483
483
  invenio_app_rdm/upgrade_scripts/migrate_1_0_records_to_2_0.py,sha256=mRDv_Ao5zMgA6X0aogMfvhspO1CIApKtDW_ziJp5fjI,3325
@@ -500,9 +500,9 @@ invenio_app_rdm/users_ui/views/__init__.py,sha256=SMdY2NJj9GICfr3Xuok7qdNYVtA2bJ
500
500
  invenio_app_rdm/users_ui/views/dashboard.py,sha256=iUn2PrODAwb8ugmMosJKAjPhUzjCiWiAWoXQr9RUFuc,1793
501
501
  invenio_app_rdm/users_ui/views/ui.py,sha256=W_eXM8dLVIrNHQB2UEh37C9BYoHauft6RyvcDNFHovA,1742
502
502
  invenio_app_rdm/utils/files.py,sha256=CruDyO2gDVadSlWEJD-WHpWHeOQ0juh-Ei9jz3D9yjc,3923
503
- invenio_app_rdm-14.0.0b4.dev4.dist-info/licenses/LICENSE,sha256=AZXFHRrZa5s4m9DV7zZr4bPGTMUvcEPCodeV_AmFI8k,1204
504
- invenio_app_rdm-14.0.0b4.dev4.dist-info/METADATA,sha256=Rd3Hh0hIIV-KoihUGfo2aCvu18jzHe59y4BiRLYAS3k,22351
505
- invenio_app_rdm-14.0.0b4.dev4.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109
506
- invenio_app_rdm-14.0.0b4.dev4.dist-info/entry_points.txt,sha256=MwtT1SN5saWOgTYhNb5y0YGA9VGAi0kXN0cykIfsb4U,2405
507
- invenio_app_rdm-14.0.0b4.dev4.dist-info/top_level.txt,sha256=quZejDUw2vLfKQboNIuVLJ9fxZifdnCT_s2PNf1dfmk,16
508
- invenio_app_rdm-14.0.0b4.dev4.dist-info/RECORD,,
503
+ invenio_app_rdm-14.0.0b4.dev5.dist-info/licenses/LICENSE,sha256=AZXFHRrZa5s4m9DV7zZr4bPGTMUvcEPCodeV_AmFI8k,1204
504
+ invenio_app_rdm-14.0.0b4.dev5.dist-info/METADATA,sha256=0pdeo8AG-6J46a_Oj6FpB2wY4z6GVbn0MydocNwGWlc,22534
505
+ invenio_app_rdm-14.0.0b4.dev5.dist-info/WHEEL,sha256=Q6xS052dXadQWXcEVKSI037R6NoyqhUlJ5BcYz2iMP4,110
506
+ invenio_app_rdm-14.0.0b4.dev5.dist-info/entry_points.txt,sha256=MwtT1SN5saWOgTYhNb5y0YGA9VGAi0kXN0cykIfsb4U,2405
507
+ invenio_app_rdm-14.0.0b4.dev5.dist-info/top_level.txt,sha256=quZejDUw2vLfKQboNIuVLJ9fxZifdnCT_s2PNf1dfmk,16
508
+ invenio_app_rdm-14.0.0b4.dev5.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.9.0)
2
+ Generator: setuptools (80.10.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py2-none-any
5
5
  Tag: py3-none-any