SET_FILTERS: ({ id, columnName, filters }) =>
update(state, id, mapColumns(setFilters(columnName, filters))),
- SET_ITEMS: ({ id, items, itemsAvailable, page, rowsPerPage }) =>
- update(state, id, (explorer) => ({
- ...explorer,
- items,
- itemsAvailable,
- page: page || 0,
- rowsPerPage,
- })),
+ SET_ITEMS: ({ id, items, itemsAvailable, page, rowsPerPage }) => (
+ update(state, id, (explorer) => {
+ // Reject updates to pages other than current,
+ // DataExplorer middleware should retry
+ const updatedPage = page || 0;
+ if (explorer.page === updatedPage) {
+ return {
+ ...explorer,
+ items,
+ itemsAvailable,
+ page: updatedPage,
+ rowsPerPage,
+ }
+ } else {
+ return explorer;
+ }
+ })
+ ),
APPEND_ITEMS: ({ id, items, itemsAvailable, page, rowsPerPage }) =>
update(state, id, (explorer) => ({
//
// SPDX-License-Identifier: AGPL-3.0
-import { createStore, applyMiddleware, compose, Middleware, combineReducers, Store, Action, Dispatch } from 'redux';
+import { createStore, applyMiddleware, Middleware, combineReducers, Store, Action, Dispatch } from 'redux';
import { routerMiddleware, routerReducer } from "react-router-redux";
import thunkMiddleware from 'redux-thunk';
import { History } from "history";
Checkbox,
FormControlLabel,
Typography,
- Tooltip,
} from '@material-ui/core';
import {
StyleRulesCallback,
import DateFnsUtils from "@date-io/date-fns";
import moment from 'moment';
import { SharingPublicAccessForm } from './sharing-public-access-form';
-import { AddIcon } from 'components/icon/icon';
export interface SharingDialogDataProps {
open: boolean;
export default (props: SharingDialogComponentProps) => {
const { open, loading, saveEnabled, sharedResourceUuid,
- sharingURLsNr, privateAccess, sharingURLsDisabled, permissions,
+ sharingURLsNr, privateAccess, sharingURLsDisabled,
onClose, onSave, onCreateSharingToken, refreshPermissions } = props;
const showTabs = !sharingURLsDisabled && extractUuidObjectType(sharedResourceUuid) === ResourceObjectType.COLLECTION;
const [tabNr, setTabNr] = React.useState<number>(SharingDialogTab.PERMISSIONS);
// SPDX-License-Identifier: AGPL-3.0
import { reduxForm } from 'redux-form';
-import { connect } from 'react-redux';
-import { compose } from 'redux';
import SharingInvitationFormComponent from './sharing-invitation-form-component';
import { SHARING_INVITATION_FORM_NAME } from 'store/sharing-dialog/sharing-dialog-types';
import { PermissionLevel } from 'models/permission';
-import { WithStyles } from '@material-ui/core/styles';
interface InvitationFormData {
permissions: PermissionLevel;
// SPDX-License-Identifier: AGPL-3.0
import React from 'react';
-import { Grid, StyleRulesCallback, Divider, Typography } from '@material-ui/core';
+import { Grid, StyleRulesCallback, Typography } from '@material-ui/core';
import { Field, WrappedFieldProps } from 'redux-form';
import { WithStyles } from '@material-ui/core/styles';
import withStyles from '@material-ui/core/styles/withStyles';
linkType: hard
"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30000981, caniuse-lite@npm:^1.0.30001035, caniuse-lite@npm:^1.0.30001109, caniuse-lite@npm:^1.0.30001219":
- version: 1.0.30001414
- resolution: "caniuse-lite@npm:1.0.30001414"
- checksum: 97210cfd15ded093b20c33d35bef9711a88402c3345411dad420c991a41a3e38ad17fd66721e8334c86e9b2e4aa2c1851d3631f1441afb73b92d93b2b8ca890d
+ version: 1.0.30001486
+ resolution: "caniuse-lite@npm:1.0.30001486"
+ checksum: 5e8c2ba2679e4ad17dea6d2761a6449b814441bfeac81af6cc9d58af187df6af4b79b27befcbfc4a557e720b21c0399a7d1911c8705922e38938dcc0f40b5d4b
languageName: node
linkType: hard