{"version":3,"file":"static/js/main.3a88071a.js","mappings":"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","sources":["webpack://@app/sensenet/webpack/runtime/chunk loaded","webpack://@app/sensenet/webpack/runtime/load script","webpack://@app/sensenet/./src/application-paths.ts","webpack://@app/sensenet/./src/components/CopyPath.tsx","webpack://@app/sensenet/./src/components/Breadcrumbs.tsx","webpack://@app/sensenet/./src/components/ContentBreadcrumbs.tsx","webpack://@app/sensenet/./src/components/DropFileArea.tsx","webpack://@app/sensenet/./src/components/Icon.tsx","webpack://@app/sensenet/./src/components/NotificationComponent.tsx","webpack://@app/sensenet/./src/hooks/use-notification-service.ts","webpack://@app/sensenet/./src/components/PageTitle.tsx","webpack://@app/sensenet/./src/components/UserAvatar.tsx","webpack://@app/sensenet/../../packages/sn-icons-react/dist/esm/components/flaticon/Icon.js","webpack://@app/sensenet/../../packages/sn-icons-react/dist/esm/components/fontawesome/Icon.js","webpack://@app/sensenet/../../packages/sn-icons-react/dist/esm/components/materialui/Icon.js","webpack://@app/sensenet/../../packages/sn-icons-react/dist/esm/components/Icon.js","webpack://@app/sensenet/../../packages/sn-list-controls-react/dist/esm/CellTemplates/ActionsCell.js","webpack://@app/sensenet/../../packages/sn-list-controls-react/dist/esm/CellTemplates/DateCell.js","webpack://@app/sensenet/../../packages/sn-list-controls-react/dist/esm/CellTemplates/ReferenceCell.js","webpack://@app/sensenet/../../packages/sn-list-controls-react/dist/esm/CellTemplates/RowCheckBox.js","webpack://@app/sensenet/../../packages/sn-list-controls-react/dist/esm/CellTemplates/VirtualDefaultCell.js","webpack://@app/sensenet/../../packages/sn-list-controls-react/dist/esm/CellTemplates/VirtualDisplayNameCell.js","webpack://@app/sensenet/../../packages/sn-list-controls-react/dist/esm/virtualized-table.js","webpack://@app/sensenet/./src/components/SelectionControl.tsx","webpack://@app/sensenet/./src/components/content-list/context-menu-wrapper.tsx","webpack://@app/sensenet/./src/components/content-list/content-list.tsx","webpack://@app/sensenet/./src/components/content-list/actions-field.tsx","webpack://@app/sensenet/./src/components/content-list/boolean-field.tsx","webpack://@app/sensenet/./src/components/content-list/date-field.tsx","webpack://@app/sensenet/./src/components/content-list/description-field.tsx","webpack://@app/sensenet/./src/components/content-list/display-name-field.tsx","webpack://@app/sensenet/./src/components/content-list/email-field.tsx","webpack://@app/sensenet/./src/components/content-list/enabled-field.tsx","webpack://@app/sensenet/./src/components/content-list/icon-field.tsx","webpack://@app/sensenet/./src/components/content-list/locked-field.tsx","webpack://@app/sensenet/./src/components/content-list/phone-field.tsx","webpack://@app/sensenet/./src/components/content-list/reference-field.tsx","webpack://@app/sensenet/./src/components/content-list/roles-field.tsx","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/comment/comment-card.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/context/comment-states.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/hooks/use-comment-state.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/context/comments.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/enums.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/context/document-data.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/hooks/use-document-data.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/context/document-permissions.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/hooks/use-document-permissions.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/context/api-settings.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/hooks/use-document-viewer-api.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/context/localization-context.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/hooks/use-localization.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/assets/loader.gif","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/context/preview-image-data.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/context/viewer-settings.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/context/viewer-state.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/models/rotation-model.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/models/theming.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/document-viewer-error.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/document-viewer-layout.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/document-viewer-loading.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/document-viewer-regenerate-previews.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/document-viewer.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/hooks/use-preview-image.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/hooks/use-preview-images.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/hooks/use-viewer-settings.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/hooks/use-viewer-state.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/comment/comment.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/comment/create-comment.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/confirmation-dialog.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/comment/delete-comment-button.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/comment/pushpin-icon.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/document-widgets/toggle-base.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/document-widgets/add-annotation.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/document-widgets/add-highlight.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/document-widgets/add-redaction.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/document-widgets/document-title-pager.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/document-widgets/download-widget.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/document-widgets/print-widget.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/document-widgets/rotate-widget.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/document-widgets/rotate-active-pages.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/document-widgets/rotate-document.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/document-widgets/save-widget.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/document-widgets/share-widget.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/document-widgets/toggle-comments.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/document-widgets/toggle-redaction.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/document-widgets/toggle-shapes.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/document-widgets/toggle-thumbnails.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/document-widgets/toggle-watermark.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/document-widgets/zoom-in-out.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/shapes/annotation-wrapper.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/shapes/comment-marker.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/shapes/shape-annotation.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/shapes/shape-draft.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/shapes/shape-highlight.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/shapes/shape-redaction.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/shapes/shape-skeleton.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/services/apply-shape-rotations.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/services/image-utils.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/shapes/shapes.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/hooks/use-comments.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/layout-app-bar.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/page-list.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/page.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/thumbnail-page.js","webpack://@app/sensenet/../../packages/sn-document-viewer-react/dist/esm/components/thumbnails.js","webpack://@app/sensenet/./src/components/document-viewer.tsx","webpack://@app/sensenet/./src/components/tree/tree.tsx","webpack://@app/sensenet/./src/components/tree/tree-with-data.tsx","webpack://@app/sensenet/./src/components/wopi-page.tsx","webpack://@app/sensenet/./src/components/content/Explore.tsx","webpack://@app/sensenet/./src/components/content/index.tsx","webpack://@app/sensenet/./src/components/context-menu/context-menu-odata-options.ts","webpack://@app/sensenet/./src/components/context-menu/icons.tsx","webpack://@app/sensenet/./src/components/context-menu/content-context-menu.tsx","webpack://@app/sensenet/./src/components/context-menu/use-context-menu-actions.ts","webpack://@app/sensenet/./src/components/dialogs/add-delete-user-groups.tsx","webpack://@app/sensenet/./src/components/dialogs/approve.tsx","webpack://@app/sensenet/./src/components/dialogs/are-you-sure.tsx","webpack://@app/sensenet/./src/components/dialogs/check-in.tsx","webpack://@app/sensenet/./src/components/editor/json-editor.tsx","webpack://@app/sensenet/./src/components/dialogs/column-settings.tsx","webpack://@app/sensenet/./src/components/dialogs/content-picker.tsx","webpack://@app/sensenet/./src/components/dialogs/copy-move.tsx","webpack://@app/sensenet/./src/components/dialogs/custom-action-result.tsx","webpack://@app/sensenet/./src/components/dialogs/date-range-picker.tsx","webpack://@app/sensenet/./src/components/dialogs/delete.tsx","webpack://@app/sensenet/./src/components/dialogs/dialog-provider.tsx","webpack://@app/sensenet/./src/components/dialogs/dialog-title.ts","webpack://@app/sensenet/./src/components/dialogs/error-dialog.tsx","webpack://@app/sensenet/./src/services/MonacoModels/create-custom-action-model.ts","webpack://@app/sensenet/./src/components/dialogs/execute-action.tsx","webpack://@app/sensenet/./src/components/dialogs/dialogs.tsx","webpack://@app/sensenet/./src/components/dialogs/logout.tsx","webpack://@app/sensenet/./src/components/dialogs/permission-editor/forcePermissionActions.ts","webpack://@app/sensenet/./src/components/dialogs/permission-editor/permission-editor-members.tsx","webpack://@app/sensenet/./src/components/dialogs/permission-editor/permissionSelector.tsx","webpack://@app/sensenet/./src/components/dialogs/permission-editor/setFullAccess.tsx","webpack://@app/sensenet/./src/components/dialogs/permission-editor/setGroupPermission.tsx","webpack://@app/sensenet/./src/components/dialogs/permission-editor/setValueForPermission.tsx","webpack://@app/sensenet/./src/components/dialogs/permission-editor-dialog.tsx","webpack://@app/sensenet/./src/components/dialogs/reference-content-list.tsx","webpack://@app/sensenet/./src/components/dialogs/reference-content-list/reference-list.tsx","webpack://@app/sensenet/./src/components/dialogs/restore.tsx","webpack://@app/sensenet/./src/components/dialogs/save-query.tsx","webpack://@app/sensenet/./src/components/dialogs/upload/file-list.tsx","webpack://@app/sensenet/./src/components/dialogs/upload/helper.ts","webpack://@app/sensenet/./src/components/dialogs/upload/progress-bar.tsx","webpack://@app/sensenet/./src/components/dialogs/upload/upload-conflict-dialog.tsx","webpack://@app/sensenet/./src/components/dialogs/upload/upload-dialog.tsx","webpack://@app/sensenet/./src/components/edit/default-content-type.ts","webpack://@app/sensenet/./src/components/edit/edit-binary.tsx","webpack://@app/sensenet/./src/components/editor/content-type-preset.tsx","webpack://@app/sensenet/./src/components/editor/sn-monaco-editor.tsx","webpack://@app/sensenet/./src/components/editor/text-editor.tsx","webpack://@app/sensenet/./src/components/error-boundary.tsx","webpack://@app/sensenet/./src/components/full-screen-loader.tsx","webpack://@app/sensenet/./src/components/settings/api-key.ts","webpack://@app/sensenet/./src/components/field-controls/allowed-child-types.tsx","webpack://@app/sensenet/./src/components/field-controls/avatar/default-avatar-template.tsx","webpack://@app/sensenet/./src/components/field-controls/avatar/avatar.tsx","webpack://@app/sensenet/./src/components/field-controls/path.tsx","webpack://@app/sensenet/./src/components/field-controls/reference-grid.tsx","webpack://@app/sensenet/./src/components/field-controls/rich-text-editor.tsx","webpack://@app/sensenet/./src/components/field-controls/webhook-trigger.tsx","webpack://@app/sensenet/./src/components/field-controls/webhook-headers.tsx","webpack://@app/sensenet/./src/components/field-controls/webhook-payload.tsx","webpack://@app/sensenet/./src/components/field-controls/html-editor.tsx","webpack://@app/sensenet/./src/components/react-control-mapper.ts","webpack://@app/sensenet/./src/components/view-controls/common/styles.ts","webpack://@app/sensenet/./src/components/view-controls/common/view-title.tsx","webpack://@app/sensenet/./src/components/view-controls/browse-view.tsx","webpack://@app/sensenet/./src/components/view-controls/edit-view.tsx","webpack://@app/sensenet/./src/components/view-controls/image-view.tsx","webpack://@app/sensenet/./src/components/editor/new-file-text-editor.tsx","webpack://@app/sensenet/./src/components/edit/new-text-file.tsx","webpack://@app/sensenet/./src/components/view-controls/new-view.tsx","webpack://@app/sensenet/./src/components/view-controls/permission-view.tsx","webpack://@app/sensenet/./src/components/view-controls/version-view.tsx","webpack://@app/sensenet/./src/context/current-user-provider.tsx","webpack://@app/sensenet/./src/context/LocalizationContext.tsx","webpack://@app/sensenet/./src/context/PersonalSettingsContext.tsx","webpack://@app/sensenet/./src/components/login/auth-override-skeleton.tsx","webpack://@app/sensenet/./src/components/login/not-authenticated-override.tsx","webpack://@app/sensenet/./src/components/login/session-lost-override.tsx","webpack://@app/sensenet/./src/context/repository-provider.tsx","webpack://@app/sensenet/./src/context/ResponsiveContextProvider.tsx","webpack://@app/sensenet/./src/context/ThemeContext.tsx","webpack://@app/sensenet/./src/assets/fonts/LarsseitBold.woff","webpack://@app/sensenet/./src/context/ThemeProvider.tsx","webpack://@app/sensenet/./src/globalStyles.ts","webpack://@app/sensenet/./src/hooks/use-drawer-items.tsx","webpack://@app/sensenet/./src/hooks/use-event-service.ts","webpack://@app/sensenet/./src/hooks/use-grid-switcher.tsx","webpack://@app/sensenet/./src/hooks/use-localization.ts","webpack://@app/sensenet/./src/hooks/use-pagination.tsx","webpack://@app/sensenet/./src/hooks/use-personal-settings.ts","webpack://@app/sensenet/./src/hooks/use-previous-value.tsx","webpack://@app/sensenet/./src/hooks/use-selection-service.ts","webpack://@app/sensenet/./src/hooks/use-sn-route.ts","webpack://@app/sensenet/./src/hooks/use-string-replace.ts","webpack://@app/sensenet/./src/hooks/use-theme.ts","webpack://@app/sensenet/./src/hooks/use-getClients.ts","webpack://@app/sensenet/./src/hooks/use-date-utils.ts","webpack://@app/sensenet/./src/hooks/use-loadContent.ts","webpack://@app/sensenet/./src/hooks/use-query.ts","webpack://@app/sensenet/./src/hooks/use-tree-navigation.ts","webpack://@app/sensenet/./src/context/ShareProvider.tsx","webpack://@app/sensenet/./src/components/sn-injector.ts","webpack://@app/sensenet/./src/components/app-providers.tsx","webpack://@app/sensenet/./src/components/command-palette/CommandPaletteHitsContainer.tsx","webpack://@app/sensenet/./src/components/command-palette/CommandPaletteSuggestion.tsx","webpack://@app/sensenet/./src/components/command-palette/CommandPalette.tsx","webpack://@app/sensenet/./src/components/appbar/desktop-nav-menu.tsx","webpack://@app/sensenet/./src/components/appbar/desktop-app-bar.tsx","webpack://@app/sensenet/./src/components/AddButton.tsx","webpack://@app/sensenet/./src/components/search-button.tsx","webpack://@app/sensenet/./src/components/drawer/PermanentDrawerItem.tsx","webpack://@app/sensenet/./src/components/drawer/PermanentDrawer.tsx","webpack://@app/sensenet/./src/components/LogoutButton.tsx","webpack://@app/sensenet/./src/components/drawer/TemporaryDrawer.tsx","webpack://@app/sensenet/./src/components/layout/DesktopLayout.tsx","webpack://@app/sensenet/./src/components/content/InvalidPathErrorBoundary.tsx","webpack://@app/sensenet/./src/components/error-boundary-with-dialogs.tsx","webpack://@app/sensenet/./src/components/MainRouter.tsx","webpack://@app/sensenet/./src/index.tsx","webpack://@app/sensenet/./src/components/app.tsx","webpack://@app/sensenet/./src/localization/default.ts","webpack://@app/sensenet/./src/services/CommandProviders/CustomActionCommandProvider.ts","webpack://@app/sensenet/./src/services/EventLogger.ts","webpack://@app/sensenet/./src/services/EventService.ts","webpack://@app/sensenet/./src/services/LocalizationService.ts","webpack://@app/sensenet/./src/services/MonacoModels/PersonalSettingsModel.ts","webpack://@app/sensenet/./src/services/PersonalSettings.ts","webpack://@app/sensenet/./src/services/SelectionService.ts","webpack://@app/sensenet/./src/services/auth-config.ts","webpack://@app/sensenet/./src/services/content-context-service.ts","webpack://@app/sensenet/./src/services/CommandProviderManager.ts","webpack://@app/sensenet/./src/services/CommandProviders/HelpCommandProvider.ts","webpack://@app/sensenet/./src/services/CommandProviders/NavigationCommandProvider.ts","webpack://@app/sensenet/./src/services/CommandProviders/SearchCommandProvider.ts","webpack://@app/sensenet/./src/services/request-counter-service.ts","webpack://@app/sensenet/./src/services/UploadTracker.ts","webpack://@app/sensenet/./src/services/query-string-builder.ts","webpack://@app/sensenet/./src/services/search-query-builder.ts","webpack://@app/sensenet/./src/assets/sensenet-icon-32.png","webpack://@app/sensenet/./src/localization/ lazy ^\\.\\/.*$ namespace object","webpack://@app/sensenet/../../packages/sn-authentication-oidc-react/dist/esm/authentication-service.js","webpack://@app/sensenet/../../packages/sn-authentication-oidc-react/dist/esm/oidc-service.js","webpack://@app/sensenet/../../packages/sn-authentication-oidc-react/dist/esm/oidc-events.js","webpack://@app/sensenet/../../packages/sn-authentication-oidc-react/dist/esm/components/callback.js","webpack://@app/sensenet/../../packages/sn-authentication-oidc-react/dist/esm/route-utils.js","webpack://@app/sensenet/../../packages/sn-authentication-oidc-react/dist/esm/components/not-authenticated.js","webpack://@app/sensenet/../../packages/sn-authentication-oidc-react/dist/esm/components/not-authorized.js","webpack://@app/sensenet/../../packages/sn-authentication-oidc-react/dist/esm/components/silent-callback.js","webpack://@app/sensenet/../../packages/sn-authentication-oidc-react/dist/esm/components/oidc-routes.js","webpack://@app/sensenet/../../packages/sn-authentication-oidc-react/dist/esm/components/session-lost.js","webpack://@app/sensenet/../../packages/sn-authentication-oidc-react/dist/esm/components/authentication-provider.js","webpack://@app/sensenet/../../packages/sn-authentication-oidc-react/dist/esm/use-authentication.js","webpack://@app/sensenet/../../packages/sn-client-core/dist/esm/Repository/ConstantContent.js","webpack://@app/sensenet/../../packages/sn-client-core/dist/esm/Authentication/LoginState.js","webpack://@app/sensenet/../../packages/sn-client-core/dist/esm/Authentication/BypassAuthentication.js","webpack://@app/sensenet/../../packages/sn-client-core/dist/esm/Repository/ODataUrlBuilder.js","webpack://@app/sensenet/../../packages/sn-client-core/dist/esm/Schemas/SchemaStore.js","webpack://@app/sensenet/../../packages/sn-client-core/dist/esm/Repository/AllowedChildTypes.js","webpack://@app/sensenet/../../packages/sn-client-core/dist/esm/Repository/Preview.js","webpack://@app/sensenet/../../packages/sn-client-core/dist/esm/Repository/RepositoryConfiguration.js","webpack://@app/sensenet/../../packages/sn-client-core/dist/esm/Repository/Security.js","webpack://@app/sensenet/../../packages/sn-client-core/dist/esm/Repository/Upload.js","webpack://@app/sensenet/../../packages/sn-client-core/dist/esm/Repository/Versioning.js","webpack://@app/sensenet/../../packages/sn-client-core/dist/esm/Repository/Repository.js","webpack://@app/sensenet/../../packages/sn-client-core/dist/esm/Models/RequestOptions.js","webpack://@app/sensenet/../../packages/sn-client-utils/dist/esm/inject/injector.js","webpack://@app/sensenet/../../packages/sn-client-utils/dist/esm/inject/injectable.js","webpack://@app/sensenet/../../packages/sn-client-utils/dist/esm/logger/abstract-logger.js","webpack://@app/sensenet/../../packages/sn-client-utils/dist/esm/logger/colors.js","webpack://@app/sensenet/../../packages/sn-client-utils/dist/esm/logger/console-logger.js","webpack://@app/sensenet/../../packages/sn-client-utils/dist/esm/logger/log-entries.js","webpack://@app/sensenet/../../packages/sn-client-utils/dist/esm/logger/logger-collection.js","webpack://@app/sensenet/../../packages/sn-client-utils/dist/esm/value-observer.js","webpack://@app/sensenet/../../packages/sn-client-utils/dist/esm/observable-value.js","webpack://@app/sensenet/../../packages/sn-client-utils/dist/esm/logger/notification-service.js","webpack://@app/sensenet/../../packages/sn-client-utils/dist/esm/logger/notification-logger.js","webpack://@app/sensenet/../../packages/sn-client-utils/dist/esm/debounce.js","webpack://@app/sensenet/../../packages/sn-client-utils/dist/esm/deep-merge.js","webpack://@app/sensenet/../../packages/sn-client-utils/dist/esm/filter-async.js","webpack://@app/sensenet/../../packages/sn-client-utils/dist/esm/path-helper.js","webpack://@app/sensenet/../../packages/sn-client-utils/dist/esm/retrier-options.js","webpack://@app/sensenet/../../packages/sn-client-utils/dist/esm/sleep-async.js","webpack://@app/sensenet/../../packages/sn-client-utils/dist/esm/to-number.js","webpack://@app/sensenet/../../packages/sn-client-utils/dist/esm/trace.js","webpack://@app/sensenet/../../packages/sn-client-utils/dist/esm/tuple.js","webpack://@app/sensenet/../../packages/sn-client-utils/dist/esm/copy-to-clipboard.js","webpack://@app/sensenet/../../packages/sn-client-utils/dist/esm/utc-to-locale.js","webpack://@app/sensenet/../../packages/sn-control-mapper/dist/esm/ControlMapper.js","webpack://@app/sensenet/../../packages/sn-controls-react/dist/esm/helpers.js","webpack://@app/sensenet/../../packages/sn-controls-react/dist/esm/fieldcontrols/localization.js","webpack://@app/sensenet/../../packages/sn-controls-react/dist/esm/fieldcontrols/number.js","webpack://@app/sensenet/../../packages/sn-controls-react/dist/esm/fieldcontrols/checkbox-group.js","webpack://@app/sensenet/../../packages/sn-controls-react/dist/esm/fieldcontrols/date-picker.js","webpack://@app/sensenet/../../packages/sn-controls-react/dist/esm/fieldcontrols/dropdown-list.js","webpack://@app/sensenet/../../packages/sn-controls-react/dist/esm/fieldcontrols/radio-button-group.js","webpack://@app/sensenet/../../packages/sn-controls-react/dist/esm/fieldcontrols/short-text.js","webpack://@app/sensenet/../../packages/sn-controls-react/dist/esm/fieldcontrols/icon.js","webpack://@app/sensenet/../../packages/sn-controls-react/dist/esm/fieldcontrols/tags-input.js","webpack://@app/sensenet/../../packages/sn-controls-react/dist/esm/fieldcontrols/textarea.js","webpack://@app/sensenet/../../packages/sn-controls-react/dist/esm/fieldcontrols/rich-text-editor.js","webpack://@app/sensenet/../../packages/sn-controls-react/dist/esm/fieldcontrols/name.js","webpack://@app/sensenet/../../packages/sn-controls-react/dist/esm/fieldcontrols/password.js","webpack://@app/sensenet/../../packages/sn-controls-react/dist/esm/fieldcontrols/file-name.js","webpack://@app/sensenet/../../packages/sn-search-react/dist/esm/Components/Fields/ReferenceFieldContainer.js","webpack://@app/sensenet/../../packages/sn-search-react/dist/esm/Components/Fields/ReferenceFieldInput.js","webpack://@app/sensenet/../../packages/sn-search-react/dist/esm/Components/Fields/ReferenceFieldSuggestion.js","webpack://@app/sensenet/../../packages/sn-search-react/dist/esm/Components/Fields/ReferenceField.js","webpack://@app/sensenet/../../packages/sn-controls-react/dist/esm/fieldcontrols/auto-complete.js","webpack://@app/sensenet/../../packages/sn-controls-react/dist/esm/fieldcontrols/file-upload.js","webpack://@app/sensenet/../../packages/sn-controls-react/dist/esm/fieldcontrols/avatar/default-avatar-template.js","webpack://@app/sensenet/../../packages/sn-controls-react/dist/esm/fieldcontrols/avatar/avatar.js","webpack://@app/sensenet/../../packages/sn-controls-react/dist/esm/fieldcontrols/reference-grid/default-item-template.js","webpack://@app/sensenet/../../packages/sn-controls-react/dist/esm/fieldcontrols/reference-grid/reference-picker.js","webpack://@app/sensenet/../../packages/sn-controls-react/dist/esm/fieldcontrols/reference-grid/reference-grid.js","webpack://@app/sensenet/../../packages/sn-controls-react/dist/esm/fieldcontrols/checkbox.js","webpack://@app/sensenet/../../packages/sn-controls-react/dist/esm/fieldcontrols/switcher.js","webpack://@app/sensenet/../../packages/sn-controls-react/dist/esm/fieldcontrols/empty-field-control.js","webpack://@app/sensenet/../../packages/sn-controls-react/dist/esm/fieldcontrols/color-picker.js","webpack://@app/sensenet/../../packages/sn-controls-react/dist/esm/assets/icons.js","webpack://@app/sensenet/../../packages/sn-controls-react/dist/esm/fieldcontrols/allowed-child-types.js","webpack://@app/sensenet/../../packages/sn-controls-react/dist/esm/fieldcontrols/file-size.js","webpack://@app/sensenet/../../packages/sn-controls-react/dist/esm/fieldcontrols/page-count.js","webpack://@app/sensenet/../../packages/sn-controls-react/dist/esm/fieldcontrols/html-editor.js","webpack://@app/sensenet/../../packages/sn-controls-react/dist/esm/react-control-mapper.js","webpack://@app/sensenet/../../packages/sn-controls-react/dist/esm/viewcontrols/edit-view.js","webpack://@app/sensenet/../../packages/sn-controls-react/dist/esm/viewcontrols/new-view.js","webpack://@app/sensenet/../../packages/sn-controls-react/dist/esm/viewcontrols/browse-view.js","webpack://@app/sensenet/../../packages/sn-default-content-types/dist/esm/FieldSettings.js","webpack://@app/sensenet/../../packages/sn-default-content-types/dist/esm/DefaultSchemas.js","webpack://@app/sensenet/../../packages/sn-default-content-types/dist/esm/Enums.js","webpack://@app/sensenet/../../packages/sn-default-content-types/dist/esm/Security.js","webpack://@app/sensenet/../../packages/sn-default-content-types/dist/esm/type-guards.js","webpack://@app/sensenet/../../packages/sn-editor-react/dist/esm/context/localization-context.js","webpack://@app/sensenet/../../packages/sn-editor-react/dist/esm/extensions/image.js","webpack://@app/sensenet/../../packages/sn-editor-react/dist/esm/extension-list.js","webpack://@app/sensenet/../../packages/sn-editor-react/dist/esm/styles.js","webpack://@app/sensenet/../../packages/sn-editor-react/dist/esm/hooks/use-localization.js","webpack://@app/sensenet/../../packages/sn-editor-react/dist/esm/components/bubble-menu.js","webpack://@app/sensenet/../../packages/sn-editor-react/dist/esm/components/context-menu.js","webpack://@app/sensenet/../../packages/sn-editor-react/dist/esm/components/controls/image-control.js","webpack://@app/sensenet/../../packages/sn-editor-react/dist/esm/components/controls/link-control.js","webpack://@app/sensenet/../../packages/sn-editor-react/dist/esm/components/controls/table-control.js","webpack://@app/sensenet/../../packages/sn-editor-react/dist/esm/components/controls/typography-control.js","webpack://@app/sensenet/../../packages/sn-editor-react/dist/esm/components/menu-bar.js","webpack://@app/sensenet/../../packages/sn-editor-react/dist/esm/components/editor.js","webpack://@app/sensenet/../../packages/sn-editor-react/dist/esm/utils.js","webpack://@app/sensenet/../../packages/sn-hooks-react/dist/esm/hooks/use-repository.js","webpack://@app/sensenet/../../packages/sn-hooks-react/dist/esm/hooks/use-download.js","webpack://@app/sensenet/../../packages/sn-hooks-react/dist/esm/hooks/use-injector.js","webpack://@app/sensenet/../../packages/sn-hooks-react/dist/esm/context/logger.js","webpack://@app/sensenet/../../packages/sn-hooks-react/dist/esm/hooks/use-logger.js","webpack://@app/sensenet/../../packages/sn-repository-events/dist/esm/EventHub.js","webpack://@app/sensenet/../../packages/sn-hooks-react/dist/esm/hooks/use-repository-events.js","webpack://@app/sensenet/../../packages/sn-hooks-react/dist/esm/hooks/use-session.js","webpack://@app/sensenet/../../packages/sn-hooks-react/dist/esm/hooks/use-version-info.js","webpack://@app/sensenet/../../packages/sn-hooks-react/dist/esm/hooks/use-wopi.js","webpack://@app/sensenet/../../packages/sn-hooks-react/dist/esm/context/current-content.js","webpack://@app/sensenet/../../packages/sn-hooks-react/dist/esm/context/current-ancestors.js","webpack://@app/sensenet/../../packages/sn-hooks-react/dist/esm/context/load-settings.js","webpack://@app/sensenet/../../packages/sn-hooks-react/dist/esm/context/current-children.js","webpack://@app/sensenet/../../packages/sn-hooks-react/dist/esm/context/injector.js","webpack://@app/sensenet/../../packages/sn-hooks-react/dist/esm/context/repository.js","webpack://@app/sensenet/../../packages/sn-hooks-react/dist/esm/context/session.js","webpack://@app/sensenet/../../packages/sn-pickers-react/dist/esm/context/selection.js","webpack://@app/sensenet/../../packages/sn-pickers-react/dist/esm/components/save-button.js","webpack://@app/sensenet/../../packages/sn-pickers-react/dist/esm/hooks/use-selection.js","webpack://@app/sensenet/../../packages/sn-pickers-react/dist/esm/components/tree-picker/loaders.js","webpack://@app/sensenet/../../packages/sn-pickers-react/dist/esm/hooks/use-tree-picker.js","webpack://@app/sensenet/../../packages/sn-pickers-react/dist/esm/components/search-picker.js","webpack://@app/sensenet/../../packages/sn-pickers-react/dist/esm/components/selection-list.js","webpack://@app/sensenet/../../packages/sn-pickers-react/dist/esm/components/show-selected-button.js","webpack://@app/sensenet/../../packages/sn-pickers-react/dist/esm/components/tree-picker/tree-picker.js","webpack://@app/sensenet/../../packages/sn-pickers-react/dist/esm/components/tree-picker/copy-move-tree-picker.js","webpack://@app/sensenet/../../packages/sn-pickers-react/dist/esm/components/picker/picker-helper.hook.js","webpack://@app/sensenet/../../packages/sn-pickers-react/dist/esm/components/picker/picker-helper.js","webpack://@app/sensenet/../../packages/sn-pickers-react/dist/esm/components/picker/picker.js","webpack://@app/sensenet/../../packages/sn-query/dist/esm/Query.js","webpack://@app/sensenet/../../packages/sn-query/dist/esm/QueryExpression.js","webpack://@app/sensenet/../../packages/sn-query/dist/esm/QueryOperators.js","webpack://@app/sensenet/../../packages/sn-query/dist/esm/QuerySegment.js","webpack://@app/sensenet/webpack/bootstrap","webpack://@app/sensenet/webpack/runtime/amd options","webpack://@app/sensenet/webpack/runtime/compat get default export","webpack://@app/sensenet/webpack/runtime/define property getters","webpack://@app/sensenet/webpack/runtime/ensure chunk","webpack://@app/sensenet/webpack/runtime/get javascript chunk filename","webpack://@app/sensenet/webpack/runtime/get mini-css chunk filename","webpack://@app/sensenet/webpack/runtime/global","webpack://@app/sensenet/webpack/runtime/hasOwnProperty shorthand","webpack://@app/sensenet/webpack/runtime/make namespace object","webpack://@app/sensenet/webpack/runtime/node module decorator","webpack://@app/sensenet/webpack/runtime/publicPath","webpack://@app/sensenet/webpack/runtime/jsonp chunk loading","webpack://@app/sensenet/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"@app/sensenet:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t};\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","import { BrowseType } from './components/content'\r\n\r\nexport const PATHS = {\r\n loginCallback: { appPath: '/authentication/login-callback' },\r\n silentCallback: { appPath: '/authentication/silent-callback' },\r\n events: { appPath: '/events/:eventGuid?' },\r\n savedQueries: { appPath: '/saved-queries/:action?', snPath: '/Root/Content/Queries' },\r\n trash: { appPath: '/trash/:browseType/:action?', snPath: '/Root/Trash' },\r\n usersAndGroups: { appPath: '/users-and-groups/:browseType/:action?', snPath: '/Root/IMS' },\r\n dashboard: { appPath: '/dashboard' },\r\n contentTypes: { appPath: '/content-types/:browseType/:action?', snPath: '/Root/System/Schema/ContentTypes' },\r\n search: { appPath: '/search' },\r\n content: { appPath: '/content/:browseType/:action?', snPath: '/Root/Content' },\r\n contentTemplates: { appPath: '/content-templates/:browseType/:action?', snPath: '/Root/ContentTemplates' },\r\n custom: { appPath: '/custom/:browseType/:path/:action?' },\r\n configuration: { appPath: '/settings/configuration/:action?', snPath: '/Root/System/Settings' },\r\n localization: { appPath: '/settings/localization/:action?', snPath: '/Root/Localization' },\r\n webhooks: { appPath: '/settings/webhooks/:action?', snPath: '/Root/System/WebHooks' },\r\n settings: { appPath: '/settings/:submenu?' },\r\n apiKeys: { appPath: '/settings/apikeys' },\r\n} as const\r\n\r\ntype SettingsItemType = 'stats' | 'apikeys' | 'webhooks' | 'adminui'\r\n\r\ntype RoutesWithContentBrowser = keyof Pick<\r\n typeof PATHS,\r\n 'content' | 'usersAndGroups' | 'contentTypes' | 'trash' | 'contentTemplates'\r\n>\r\n\r\ntype RoutesWithActionParam = keyof Pick\r\n\r\ntype Options =\r\n | { path: (typeof PATHS)['events']['appPath']; params?: { eventGuid: string; [index: string]: string } }\r\n | {\r\n path: (typeof PATHS)[RoutesWithContentBrowser]['appPath']\r\n params: { browseType: (typeof BrowseType)[number]; action?: string; [index: string]: string | undefined }\r\n }\r\n | {\r\n path: (typeof PATHS)['custom']['appPath']\r\n params: {\r\n browseType: (typeof BrowseType)[number]\r\n path: string\r\n action?: string\r\n [index: string]: string | undefined\r\n }\r\n }\r\n | {\r\n path: (typeof PATHS)[RoutesWithActionParam]['appPath']\r\n params?: { action: string; [index: string]: string }\r\n }\r\n | {\r\n path: (typeof PATHS)['settings']['appPath']\r\n params?: { submenu: SettingsItemType; [index: string]: string | SettingsItemType }\r\n }\r\n\r\nexport const resolvePathParams = ({ path, params }: Options) => {\r\n let currentPath: string = path\r\n params &&\r\n Object.keys(params).forEach((key) => {\r\n const paramRegex = new RegExp(`:${key}\\\\??`)\r\n currentPath = params[key] ? currentPath.replace(paramRegex, params[key]!.toString()) : currentPath\r\n })\r\n\r\n currentPath = currentPath.replace(/:[^>:\"|?*./\\\\]+\\?/, '') // remove not used optional path params\r\n return currentPath\r\n}\r\n","import { Tooltip } from '@material-ui/core'\r\nimport Button from '@material-ui/core/Button'\r\nimport CheckCircleOutlineOutlinedIcon from '@material-ui/icons/CheckCircleOutlineOutlined'\r\nimport FileCopyOutlinedIcon from '@material-ui/icons/FileCopyOutlined'\r\nimport { copyToClipboard } from '@sensenet/client-utils'\r\nimport React, { useState } from 'react'\r\nimport { useLocalization } from '../hooks'\r\n\r\ntype Props = { copyText: string }\r\n\r\nconst CopyPath = ({ copyText }: Props) => {\r\n const [isCopied, setIsCopied] = useState(false)\r\n\r\n const localization = useLocalization()\r\n\r\n const copyTextToClipboard = async (text: string) => {\r\n if ('clipboard' in navigator) {\r\n return copyToClipboard(text)\r\n }\r\n\r\n return document.execCommand('copy', true, text)\r\n }\r\n\r\n const handleCopyClick = () => {\r\n copyTextToClipboard(copyText)\r\n .then(() => {\r\n setIsCopied(true)\r\n setTimeout(() => {\r\n setIsCopied(false)\r\n }, 1500)\r\n })\r\n .catch((err) => {\r\n console.log(err)\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nexport default CopyPath\r\n","import MUIBreadcrumbs from '@material-ui/core/Breadcrumbs'\r\nimport Button from '@material-ui/core/Button'\r\nimport Tooltip from '@material-ui/core/Tooltip'\r\nimport { GenericContent } from '@sensenet/default-content-types'\r\nimport React, { MouseEvent, useState } from 'react'\r\nimport { ContentContextMenu } from './context-menu/content-context-menu'\r\nimport CopyPath from './CopyPath'\r\nimport { DropFileArea } from './DropFileArea'\r\n\r\nexport interface BreadcrumbItem {\r\n url: string\r\n displayName: string\r\n title: string\r\n content: T\r\n}\r\n\r\nexport interface BreadcrumbProps {\r\n items: Array>\r\n onItemClick: (event: MouseEvent, item: BreadcrumbItem) => void\r\n}\r\n\r\nexport function Breadcrumbs(props: BreadcrumbProps) {\r\n const [contextMenuItem, setContextMenuItem] = useState(null)\r\n const [contextMenuAnchor, setContextMenuAnchor] = useState(null)\r\n const [isContextMenuOpened, setIsContextMenuOpened] = useState(false)\r\n\r\n return (\r\n <>\r\n \r\n {props.items.map((item) => (\r\n \r\n \r\n props.onItemClick(ev, item)}\r\n onContextMenu={(ev) => {\r\n setContextMenuItem(item.content)\r\n setContextMenuAnchor(ev.currentTarget)\r\n setIsContextMenuOpened(true)\r\n ev.preventDefault()\r\n }}>\r\n {item.displayName}\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n {contextMenuItem ? (\r\n setIsContextMenuOpened(false),\r\n onContextMenu: (ev) => ev.preventDefault(),\r\n },\r\n }}\r\n onClose={() => setIsContextMenuOpened(false)}\r\n />\r\n ) : null}\r\n \r\n )\r\n}\r\n","import { createStyles, IconButton, makeStyles, Theme, Tooltip } from '@material-ui/core'\r\nimport DeleteIcon from '@material-ui/icons/Delete'\r\nimport FileCopyIcon from '@material-ui/icons/FileCopy'\r\nimport FileCopyOutlinedIcon from '@material-ui/icons/FileCopyOutlined'\r\nimport { GenericContent } from '@sensenet/default-content-types'\r\nimport { CurrentAncestorsContext, CurrentContentContext, useRepository } from '@sensenet/hooks-react'\r\nimport React, { useContext, useEffect, useState } from 'react'\r\nimport { useHistory } from 'react-router-dom'\r\nimport { ResponsivePersonalSettings } from '../context'\r\nimport { useGlobalStyles } from '../globalStyles'\r\nimport { useLocalization, useSelectionService } from '../hooks'\r\nimport { getPrimaryActionUrl } from '../services'\r\nimport { BreadcrumbItem, Breadcrumbs } from './Breadcrumbs'\r\nimport { useDialog } from './dialogs'\r\n\r\nconst useStyles = makeStyles((theme: Theme) => {\r\n return createStyles({\r\n batchActionWrapper: {\r\n marginRight: '7.5%',\r\n ' & .MuiIconButton-root': {\r\n color: theme.palette.type === 'light' ? theme.palette.common.black : theme.palette.common.white,\r\n },\r\n marginLeft: 'auto',\r\n },\r\n })\r\n})\r\n\r\ntype ContentBreadcrumbsProps = {\r\n onItemClick?: (item: BreadcrumbItem) => void\r\n batchActions?: boolean\r\n}\r\n\r\nexport const ContentBreadcrumbs = (props: ContentBreadcrumbsProps) => {\r\n const ancestors = useContext(CurrentAncestorsContext) as T[]\r\n const parent = useContext(CurrentContentContext) as T\r\n const uiSettings = useContext(ResponsivePersonalSettings)\r\n const repository = useRepository()\r\n const history = useHistory()\r\n const { location } = history\r\n const localization = useLocalization()\r\n const globalClasses = useGlobalStyles()\r\n const classes = useStyles()\r\n const { openDialog } = useDialog()\r\n const selectionService = useSelectionService()\r\n const [selected, setSelected] = useState(selectionService.selection.getValue())\r\n\r\n useEffect(() => {\r\n const selectedComponentsObserve = selectionService.selection.subscribe((newSelectedComponents) =>\r\n setSelected(newSelectedComponents),\r\n )\r\n\r\n return function cleanup() {\r\n selectedComponentsObserve.dispose()\r\n }\r\n }, [selectionService.selection])\r\n\r\n return (\r\n <>\r\n \r\n items={[\r\n ...ancestors.map((content) => ({\r\n displayName: content.DisplayName || content.Name,\r\n title: content.Path,\r\n url: getPrimaryActionUrl({ content, repository, uiSettings, location }),\r\n content,\r\n })),\r\n {\r\n displayName: parent.DisplayName || parent.Name,\r\n title: parent.Path,\r\n url: getPrimaryActionUrl({ content: parent, repository, uiSettings, location }),\r\n content: parent,\r\n },\r\n ]}\r\n onItemClick={(_ev, item) => {\r\n selectionService.activeContent.setValue(item.content)\r\n props.onItemClick\r\n ? props.onItemClick(item)\r\n : history.push(getPrimaryActionUrl({ content: item.content, repository, uiSettings, location }))\r\n }}\r\n />\r\n {props.batchActions && selected.length > 0 ? (\r\n
\r\n \r\n {\r\n openDialog({\r\n name: 'delete',\r\n props: { content: selected },\r\n dialogProps: { disableBackdropClick: true, disableEscapeKeyDown: true },\r\n })\r\n }}>\r\n \r\n \r\n \r\n \r\n {\r\n openDialog({\r\n name: 'copy-move',\r\n props: {\r\n content: selected,\r\n currentParent: parent,\r\n operation: 'move',\r\n },\r\n dialogProps: {\r\n disableBackdropClick: true,\r\n disableEscapeKeyDown: true,\r\n classes: { paper: globalClasses.pickerDialog },\r\n },\r\n })\r\n }}>\r\n \r\n \r\n \r\n \r\n {\r\n openDialog({\r\n name: 'copy-move',\r\n props: {\r\n content: selected,\r\n currentParent: parent,\r\n operation: 'copy',\r\n },\r\n dialogProps: {\r\n disableBackdropClick: true,\r\n disableEscapeKeyDown: true,\r\n classes: { paper: globalClasses.pickerDialog },\r\n },\r\n })\r\n }}>\r\n \r\n \r\n \r\n
\r\n ) : null}\r\n \r\n )\r\n}\r\n","import { createStyles, makeStyles, Theme } from '@material-ui/core'\r\nimport CloudUploadTwoTone from '@material-ui/icons/CloudUploadTwoTone'\r\nimport { GenericContent } from '@sensenet/default-content-types'\r\nimport { clsx } from 'clsx'\r\nimport React, { CSSProperties, DragEvent, FunctionComponent, useState } from 'react'\r\nimport { useGlobalStyles } from '../globalStyles'\r\nimport { useDialog } from './dialogs'\r\nimport { getFilesFromDragEvent } from './dialogs/upload/helper'\r\n\r\nconst useStyles = makeStyles((theme: Theme) => {\r\n return createStyles({\r\n dropArea: {\r\n position: 'relative',\r\n filter: undefined,\r\n opacity: 1,\r\n transition:\r\n 'opacity 300ms cubic-bezier(0.445, 0.050, 0.550, 0.950), filter 300ms cubic-bezier(0.445, 0.050, 0.550, 0.950)',\r\n },\r\n dragOverDropArea: {\r\n filter: 'blur(1px)',\r\n opacity: 0.8,\r\n },\r\n uploadDialog: {\r\n position: 'absolute',\r\n width: '100%',\r\n height: '100%',\r\n backgroundColor: theme.palette.primary.main,\r\n opacity: 0,\r\n zIndex: -1,\r\n transition: 'opacity 300ms cubic-bezier(0.445, 0.050, 0.550, 0.950)',\r\n },\r\n dragOverUploadDialog: {\r\n opacity: 0.1,\r\n },\r\n })\r\n})\r\n\r\ntype Props = {\r\n parentContent?: GenericContent\r\n onDrop?: (event: DragEvent) => void\r\n style?: CSSProperties\r\n}\r\n\r\nexport const DropFileArea: FunctionComponent = (props) => {\r\n const [isDragOver, setDragOver] = useState(false)\r\n const { openDialog } = useDialog()\r\n const classes = useStyles()\r\n const globalClasses = useGlobalStyles()\r\n\r\n const onDrop = async (event: DragEvent) => {\r\n event.stopPropagation()\r\n event.preventDefault()\r\n setDragOver(false)\r\n // onDrop is used in the UploadDialog component\r\n if (!props.onDrop && props.parentContent) {\r\n const files = await getFilesFromDragEvent(event)\r\n openDialog({\r\n name: 'upload',\r\n props: { uploadPath: props.parentContent.Path, files },\r\n dialogProps: { open: true, fullScreen: true },\r\n })\r\n } else {\r\n props.onDrop?.(event)\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n ev.stopPropagation()\r\n ev.preventDefault()\r\n setDragOver(true)\r\n }}\r\n onDragLeave={(ev) => {\r\n ev.stopPropagation()\r\n ev.preventDefault()\r\n setDragOver(false)\r\n }}\r\n onDragOver={(ev) => {\r\n ev.stopPropagation()\r\n ev.preventDefault()\r\n setDragOver(true)\r\n }}\r\n onDrop={onDrop}>\r\n
\r\n \r\n
\r\n {props.children}\r\n \r\n \r\n )\r\n}\r\n","import {\r\n AddAlert,\r\n AllInboxOutlined,\r\n AssignmentOutlined,\r\n BallotOutlined,\r\n Block,\r\n BugReport,\r\n CalendarTodayOutlined,\r\n CodeOutlined,\r\n CommentOutlined,\r\n DeleteOutlined,\r\n DescriptionOutlined,\r\n DomainOutlined,\r\n Edit,\r\n ErrorOutlined,\r\n EventOutlined,\r\n FiberNew,\r\n Folder,\r\n FolderSpecial,\r\n FormatPaintOutlined,\r\n GridOnOutlined,\r\n GroupOutlined,\r\n HourglassEmpty,\r\n Info,\r\n InsertDriveFileOutlined,\r\n LanguageOutlined,\r\n LibraryBooksOutlined,\r\n LinkOutlined,\r\n ListAltOutlined,\r\n LocationCity,\r\n LockOpen,\r\n MoneyOff,\r\n PersonOutline,\r\n PhotoLibrary,\r\n PhotoOutlined,\r\n PictureAsPdfOutlined,\r\n PresentToAllOutlined,\r\n PublicOutlined,\r\n Receipt,\r\n SearchOutlined,\r\n Settings,\r\n TextFormat,\r\n TrendingDown,\r\n Update,\r\n VisibilityOff,\r\n Warning,\r\n WebAssetOutlined,\r\n Widgets,\r\n} from '@material-ui/icons'\r\nimport { Repository } from '@sensenet/client-core'\r\nimport { Injector, LogLevel, PathHelper } from '@sensenet/client-utils'\r\nimport { File, GenericContent, Image, User } from '@sensenet/default-content-types'\r\nimport { useInjector, useRepository } from '@sensenet/hooks-react'\r\nimport { InlineIcon } from '@iconify/react'\r\nimport circleciIcon from '@iconify-icons/logos/circleci'\r\nimport gatsbyIcon from '@iconify-icons/logos/gatsby'\r\nimport herokuIcon from '@iconify-icons/logos/heroku-icon'\r\nimport netlifyIcon from '@iconify-icons/logos/netlify'\r\nimport travisCi from '@iconify-icons/logos/travis-ci'\r\nimport vercelIcon from '@iconify-icons/logos/vercel-icon'\r\nimport React, { CSSProperties, FunctionComponent } from 'react'\r\nimport { EventLogEntry } from '../services/EventService'\r\nimport { UserAvatar } from './UserAvatar'\r\n\r\nexport interface IconOptions {\r\n style?: CSSProperties\r\n injector: Injector\r\n repo: Repository\r\n}\r\n\r\nexport interface IconResolver {\r\n get: (item: T, options: IconOptions) => JSX.Element | null\r\n}\r\n\r\nconst getIconByName = (name: string | undefined, options: IconOptions) => {\r\n switch (name) {\r\n case 'Folder':\r\n case 'SystemFolder':\r\n return \r\n case 'SmartFolder':\r\n return \r\n case 'File':\r\n return \r\n case 'TrashBin':\r\n case 'DeleteOutlined':\r\n return \r\n case 'PortalRoot':\r\n return \r\n case 'Search':\r\n return \r\n case 'Comment':\r\n return \r\n case 'ImageLibrary':\r\n return \r\n case 'Image':\r\n return \r\n case 'EventList':\r\n return \r\n case 'CalendarEvent':\r\n return \r\n case 'DocumentLibrary':\r\n case 'ContentList':\r\n return \r\n case 'excel':\r\n return \r\n case 'word':\r\n return \r\n case 'powerpoint':\r\n return \r\n case 'adobe':\r\n case 'acrobat':\r\n return \r\n case 'LinkList':\r\n case 'MemoList':\r\n case 'TaskList':\r\n case 'EventLog':\r\n return \r\n case 'Link':\r\n return \r\n case 'Memo':\r\n case 'Plan':\r\n return \r\n case 'Task':\r\n return \r\n case 'Domain':\r\n return \r\n case 'User':\r\n return \r\n case 'Group':\r\n case 'Profiles':\r\n return \r\n case 'OrganizationalUnit':\r\n return \r\n case 'Resources':\r\n return \r\n case 'Resource':\r\n return \r\n case 'ContentType':\r\n return \r\n case 'AddAlert':\r\n return \r\n case 'VisibilityOff':\r\n return \r\n case 'MoneyOff':\r\n return \r\n case 'Update':\r\n return \r\n case 'Receipt':\r\n return \r\n case 'HourglassEmpty':\r\n return \r\n case 'FiberNew':\r\n return \r\n case 'TrendingDown':\r\n return \r\n case 'Block':\r\n return \r\n case 'LockOpen':\r\n return \r\n case 'Box':\r\n case 'Workspace':\r\n return \r\n case 'Settings':\r\n return \r\n case 'Netlify':\r\n return \r\n case 'Gatsby':\r\n return \r\n case 'Travis':\r\n return \r\n case 'CircleCI':\r\n return \r\n case 'Vercel':\r\n return \r\n case 'Heroku':\r\n return \r\n case 'Edit':\r\n return \r\n case 'Details':\r\n return \r\n default:\r\n return null\r\n }\r\n}\r\n\r\n/* eslint-disable react/display-name */\r\n\r\nexport const defaultContentResolvers: Array> = [\r\n {\r\n get: (item, options) =>\r\n options.repo.schemas.isContentFromType(item, 'User') ? (\r\n \r\n ) : null,\r\n },\r\n {\r\n get: (item, options) =>\r\n options.repo.schemas.isContentFromType(item, 'File') &&\r\n item.Binary?.__mediaresource.content_type === 'application/x-javascript' ? (\r\n \r\n ) : null,\r\n },\r\n {\r\n get: (item, options) =>\r\n options.repo.schemas.isContentFromType(item, 'File') &&\r\n item.Binary?.__mediaresource.content_type === 'text/css' ? (\r\n \r\n ) : null,\r\n },\r\n {\r\n get: (item, options) =>\r\n options.repo.schemas.isContentFromType(item, 'File') && item.PageCount && item.PageCount > 0 ? (\r\n \r\n ) : null,\r\n },\r\n {\r\n get: (item, options) =>\r\n options.repo.schemas.isContentFromType(item, 'Image') && (!item.PageCount || item.PageCount <= 0) ? (\r\n \r\n ) : null,\r\n },\r\n {\r\n get: (item, options) => getIconByName(item.Icon, options),\r\n },\r\n]\r\n\r\nexport const defaultSchemaResolvers: Array> = [\r\n {\r\n get: (item, options) => {\r\n let currentSchema = options.repo.schemas.getSchemaByName(\r\n 'ContentTypeName' in item ? item.ContentTypeName : item.Type,\r\n )\r\n\r\n do {\r\n const icon = getIconByName(currentSchema.Icon ?? currentSchema.ContentTypeName, options)\r\n if (icon) {\r\n return icon\r\n }\r\n currentSchema = options.repo.schemas.getSchemaByName(currentSchema.ParentTypeName || '')\r\n } while (currentSchema.ContentTypeName && currentSchema.ContentTypeName !== 'GenericContent')\r\n\r\n return null\r\n },\r\n },\r\n]\r\n\r\nexport const defaultNotificationResolvers: Array>> = [\r\n {\r\n get: (item, options) => {\r\n switch (item.level) {\r\n case LogLevel.Fatal:\r\n case LogLevel.Error:\r\n return \r\n case LogLevel.Warning:\r\n return \r\n case LogLevel.Debug:\r\n return \r\n case LogLevel.Information:\r\n return \r\n default:\r\n return null\r\n }\r\n },\r\n },\r\n]\r\n\r\nexport const IconComponent: FunctionComponent<{\r\n resolvers?: Array>\r\n item: any\r\n defaultIcon?: JSX.Element\r\n style?: CSSProperties\r\n}> = (props) => {\r\n const injector = useInjector()\r\n const repo = useRepository()\r\n\r\n const options: IconOptions = { style: props.style, injector, repo }\r\n const resolvers = [\r\n ...(props.resolvers || []),\r\n ...defaultContentResolvers,\r\n ...defaultSchemaResolvers,\r\n ...defaultNotificationResolvers,\r\n ]\r\n const defaultIcon = props.defaultIcon || || null\r\n const assignedResolver = resolvers.find((r) => (r.get(props.item, options) ? true : false))\r\n if (assignedResolver) {\r\n return assignedResolver.get(props.item, options)!\r\n }\r\n return defaultIcon\r\n}\r\n\r\nexport { IconComponent as Icon }\r\n","import amber from '@material-ui/core/colors/amber'\r\nimport red from '@material-ui/core/colors/red'\r\nimport IconButton from '@material-ui/core/IconButton'\r\nimport Snackbar from '@material-ui/core/Snackbar'\r\nimport { Theme, useTheme } from '@material-ui/core/styles'\r\nimport Close from '@material-ui/icons/Close'\r\nimport { LeveledLogEntry, LogLevel } from '@sensenet/client-utils'\r\nimport React, { FunctionComponent, useContext, useEffect, useState } from 'react'\r\nimport { ResponsiveContext } from '../context'\r\nimport { useNotificationService } from '../hooks/use-notification-service'\r\nimport { Icon } from './Icon'\r\n\r\nexport const getItemBackgroundColor = (item: LeveledLogEntry, theme: Theme) => {\r\n switch (item.level) {\r\n case LogLevel.Error:\r\n case LogLevel.Fatal:\r\n return red[800]\r\n case LogLevel.Warning:\r\n return amber[200]\r\n default:\r\n return theme.palette.primary.main\r\n }\r\n}\r\n\r\nexport const getItemTextColor = (item: LeveledLogEntry) => {\r\n switch (item.level) {\r\n case LogLevel.Error:\r\n case LogLevel.Fatal:\r\n return 'white'\r\n case LogLevel.Warning:\r\n return 'black'\r\n default:\r\n return undefined\r\n }\r\n}\r\n\r\nexport const getAutoHideDuration = (item: LeveledLogEntry) => {\r\n switch (item.level) {\r\n case LogLevel.Error:\r\n return 5000\r\n case LogLevel.Fatal:\r\n return undefined\r\n case LogLevel.Warning:\r\n return 5000\r\n default:\r\n return 5000\r\n }\r\n}\r\n\r\nexport const NotificationComponent: FunctionComponent = () => {\r\n const notificationService = useNotificationService()\r\n const [values, setValues] = useState>>(notificationService.activeMessages.getValue())\r\n const [dismisses, setDismisses] = useState([])\r\n const device = useContext(ResponsiveContext)\r\n const theme = useTheme()\r\n\r\n useEffect(() => {\r\n const notificationServiceObserve = notificationService.activeMessages.subscribe((change) => {\r\n setValues(change)\r\n })\r\n return function cleanup() {\r\n notificationServiceObserve.dispose()\r\n }\r\n }, [notificationService.activeMessages])\r\n\r\n return (\r\n <>\r\n {values.map((value) => {\r\n const count = values.length\r\n return (\r\n \r\n \r\n \r\n {(count > 1 && value.data?.digestMessage && value.data.digestMessage.replace('{count}', count)) ||\r\n value.message}\r\n \r\n \r\n }\r\n onClose={(_ev, reason) => {\r\n if (reason === 'timeout') {\r\n setDismisses([...dismisses, value.data?.guid])\r\n notificationService.dismiss(value)\r\n }\r\n }}\r\n action={\r\n {\r\n setDismisses([...dismisses, value.data?.guid])\r\n notificationService.dismiss(value)\r\n }}\r\n aria-label=\"Close button\"\r\n data-test=\"snackbar-close\">\r\n \r\n \r\n }\r\n />\r\n )\r\n })}\r\n \r\n )\r\n}\r\n","import { NotificationService } from '@sensenet/client-utils'\r\nimport { useInjector } from '@sensenet/hooks-react'\r\nimport { useState } from 'react'\r\n\r\nexport const useNotificationService = () => {\r\n const injector = useInjector()\r\n const [notificationService] = useState(injector.getInstance(NotificationService))\r\n return notificationService\r\n}\r\n","import { createStyles, makeStyles, Theme } from '@material-ui/core'\r\nimport React from 'react'\r\n\r\ninterface IPageTitleProps {\r\n title: T\r\n}\r\n\r\nconst useStyles = makeStyles((theme: Theme) => {\r\n return createStyles({\r\n pageTitle: {\r\n color: theme.palette.type === 'light' ? theme.palette.common.black : theme.palette.common.white,\r\n fontFamily: '\"Larsseit\", Roboto',\r\n fontSize: '20px',\r\n },\r\n })\r\n})\r\n\r\nexport const PageTitle = (props: IPageTitleProps) => {\r\n const { title } = props\r\n const classes = useStyles()\r\n\r\n return
{title}
\r\n}\r\n","import Avatar, { AvatarProps } from '@material-ui/core/Avatar'\r\nimport { PathHelper } from '@sensenet/client-utils'\r\nimport { User } from '@sensenet/default-content-types'\r\nimport React, { CSSProperties, FC } from 'react'\r\n\r\nexport const UserAvatar: FC<{\r\n user: User\r\n avatarProps?: AvatarProps\r\n style?: CSSProperties\r\n repositoryUrl: string\r\n}> = (props) => {\r\n const avatarUrl = props.user.Avatar?.Url\r\n if (avatarUrl) {\r\n return (\r\n \r\n )\r\n }\r\n return (\r\n \r\n {(props.user.DisplayName && props.user.DisplayName[0]) || (props.user.Name && props.user.Name[0]) || 'U'}\r\n \r\n )\r\n}\r\n","import { Icon } from '@material-ui/core';\nimport React from 'react';\nimport '../../assets/css/flaticon.css';\n\n/**\r\n * Flaticon Icon component\r\n */\nexport const FlatIcon = props => {\n const {\n color,\n fontSize,\n classes,\n iconName,\n style,\n onClick\n } = props;\n return /*#__PURE__*/React.createElement(Icon, {\n color: color || 'primary',\n fontSize: fontSize || 'default',\n classes: classes,\n className: `flaticon-${iconName}`,\n style: style,\n onClick: onClick\n }, props.children);\n};\n//# sourceMappingURL=Icon.js.map","import { Icon } from '@material-ui/core';\nimport React from 'react';\nimport '../../assets/css/font-awesome.css';\n\n/**\r\n * FontAwesome Icon component\r\n */\nexport const FontAwesomeIcon = props => {\n const {\n color,\n fontSize,\n classes,\n iconName,\n style,\n onClick\n } = props;\n return /*#__PURE__*/React.createElement(Icon, {\n color: color || 'primary',\n fontSize: fontSize || 'default',\n classes: classes,\n className: `fa fa-${iconName}`,\n style: style,\n onClick: onClick\n }, props.children);\n};\n//# sourceMappingURL=Icon.js.map","import { Icon } from '@material-ui/core';\nimport React from 'react';\nimport '../../assets/css/material.css';\n\n/**\r\n * Material Icon component\r\n */\nexport const MaterialIcon = props => {\n const {\n color,\n fontSize,\n classes,\n iconName,\n style,\n onClick,\n className\n } = props;\n return /*#__PURE__*/React.createElement(Icon, {\n color: color || 'primary',\n fontSize: fontSize || 'default',\n classes: classes,\n style: style,\n onClick: onClick,\n className: className\n }, iconName, props.children);\n};\n//# sourceMappingURL=Icon.js.map","import React from 'react';\nimport { FlatIcon } from \"./flaticon/Icon.js\";\nimport { FontAwesomeIcon } from \"./fontawesome/Icon.js\";\nimport { MaterialIcon } from \"./materialui/Icon.js\";\n/**\r\n * Enum for icon types\r\n */\n\nexport let iconType;\n\n(function (iconType) {\n iconType[iconType[\"materialui\"] = 0] = \"materialui\";\n iconType[iconType[\"fontawesome\"] = 1] = \"fontawesome\";\n iconType[iconType[\"flaticon\"] = 2] = \"flaticon\";\n})(iconType || (iconType = {}));\n\n/**\r\n * Main Icon component\r\n */\nexport const Icon = props => {\n const {\n type,\n color,\n classes,\n iconName,\n style,\n onClick,\n className,\n fontSize\n } = props;\n\n switch (type) {\n case iconType.materialui:\n return /*#__PURE__*/React.createElement(MaterialIcon, {\n color: color,\n fontSize: fontSize,\n classes: classes,\n iconName: iconName,\n style: style,\n onClick: onClick,\n className: className\n }, props.children);\n\n case iconType.flaticon:\n return /*#__PURE__*/React.createElement(FlatIcon, {\n color: color,\n fontSize: fontSize,\n classes: classes,\n iconName: iconName,\n style: style,\n onClick: onClick\n }, props.children);\n\n case iconType.fontawesome:\n return /*#__PURE__*/React.createElement(FontAwesomeIcon, {\n color: color,\n fontSize: fontSize,\n classes: classes,\n iconName: iconName,\n style: style,\n onClick: onClick\n }, props.children);\n\n default:\n return /*#__PURE__*/React.createElement(MaterialIcon, {\n iconName: iconName,\n color: color || 'primary',\n fontSize: fontSize || 'default',\n classes: classes,\n className: className,\n onClick: onClick,\n style: style\n });\n }\n};\n//# sourceMappingURL=Icon.js.map","import { IconButton, TableCell } from '@material-ui/core';\nimport { Icon, iconType } from '@sensenet/icons-react';\nimport React, { Component } from 'react';\nexport const styles = {\n actionMenuButton: {\n padding: 0,\n width: 30,\n cursor: 'pointer'\n },\n icon: {\n verticalAlign: 'middle',\n opacity: 0\n },\n selectedIcon: {\n verticalAlign: 'middle'\n },\n hoveredIcon: {\n verticalAlign: 'middle'\n },\n virtual: {\n height: '57px',\n width: '100%',\n padding: 0,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center'\n }\n};\nexport class ActionsCell extends Component {\n constructor(props) {\n super(props);\n this.state = {\n anchorLeft: 0,\n anchorTop: 0\n };\n this.handleActionMenuClick = this.handleActionMenuClick.bind(this);\n }\n\n handleActionMenuClick(e) {\n this.props.openActionMenu(e);\n }\n\n render() {\n return /*#__PURE__*/React.createElement(TableCell, {\n component: this.props.virtual ? 'div' : 'td',\n style: this.props.virtual ? { ...styles.actionMenuButton,\n ...styles.virtual\n } : styles.actionMenuButton\n }, /*#__PURE__*/React.createElement(IconButton, {\n \"aria-label\": \"Menu\",\n \"aria-owns\": \"actionmenu\",\n onClick: event => this.handleActionMenuClick(event)\n }, /*#__PURE__*/React.createElement(Icon, {\n type: iconType.materialui,\n iconName: \"more_vert\"\n })));\n }\n\n}\n//# sourceMappingURL=ActionsCell.js.map","import { TableCell } from '@material-ui/core';\nimport formatDistanceToNow from 'date-fns/formatDistanceToNow';\nimport React from 'react';\nexport const DateCell = props => {\n return /*#__PURE__*/React.createElement(TableCell, {\n style: props.virtual ? {\n height: '57px',\n width: '100%',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n padding: 0\n } : {},\n component: props.virtual ? 'div' : 'td'\n }, props.date && formatDistanceToNow(new Date(props.date), {\n locale: props.locale,\n addSuffix: true\n }));\n};\n//# sourceMappingURL=DateCell.js.map","import { TableCell } from '@material-ui/core';\nimport React, { Component } from 'react';\nexport class ReferenceCell extends Component {\n render() {\n const {\n content,\n fieldName,\n virtual\n } = this.props;\n return /*#__PURE__*/React.createElement(TableCell, {\n style: virtual ? {\n height: '57px',\n width: '100%',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n padding: 0\n } : {},\n component: virtual ? 'div' : 'td'\n }, /*#__PURE__*/React.createElement(\"span\", null, content[fieldName]));\n }\n\n}\n//# sourceMappingURL=ReferenceCell.js.map","import _extends from \"@babel/runtime/helpers/extends\";\nimport { Checkbox, TableCell } from '@material-ui/core';\nimport React from 'react';\nexport const RowCheckbox = props => {\n return /*#__PURE__*/React.createElement(TableCell, {\n style: {\n height: '57px',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n padding: 0\n },\n component: \"div\",\n padding: \"checkbox\",\n key: \"select\"\n }, props.getSelectionControl ? props.getSelectionControl(props.isSelected, props.rowData, () => props.handleContentSelection(props.rowData)) : /*#__PURE__*/React.createElement(Checkbox, _extends({\n checked: props.isSelected ? true : false,\n onChange: () => props.handleContentSelection(props.rowData)\n }, props.checkboxProps)));\n};\n//# sourceMappingURL=RowCheckBox.js.map","import { TableCell, Tooltip } from '@material-ui/core';\nimport React from 'react';\nexport const VirtualDefaultCell = props => {\n var _props$cellData$toStr, _props$cellData, _props$cellData2;\n\n return /*#__PURE__*/React.createElement(TableCell, {\n style: {\n height: '57px',\n width: '100%',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'left',\n padding: 0,\n paddingRight: 20\n },\n component: \"div\"\n }, /*#__PURE__*/React.createElement(Tooltip, {\n title: (_props$cellData$toStr = (_props$cellData = props.cellData) === null || _props$cellData === void 0 ? void 0 : _props$cellData.toString()) !== null && _props$cellData$toStr !== void 0 ? _props$cellData$toStr : '',\n placement: \"top\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n }\n }, (_props$cellData2 = props.cellData) === null || _props$cellData2 === void 0 ? void 0 : _props$cellData2.toString())));\n};\n//# sourceMappingURL=VirtualDefaultCell.js.map","import { TableCell } from '@material-ui/core';\nimport { Icon, iconType } from '@sensenet/icons-react';\nimport React, { useState } from 'react';\nexport const VirtualDisplayNameCell = props => {\n const [icon] = useState(props.rowData.Icon && props.icons && props.icons[props.rowData.Icon.toLowerCase()]);\n const [type] = useState(props.rowData.Icon === 'word' || props.rowData.Icon === 'excel' || props.rowData.Icon === 'acrobat' || props.rowData.Icon === 'powerpoint' ? iconType.flaticon : iconType.materialui);\n return /*#__PURE__*/React.createElement(TableCell, {\n style: {\n height: '57px',\n width: '100%',\n display: 'flex',\n alignItems: 'center',\n padding: 0\n },\n component: \"div\",\n className: \"display-name\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n display: 'flex',\n alignItems: 'center'\n }\n }, icon ? /*#__PURE__*/React.createElement(Icon, {\n type: type,\n iconName: icon,\n style: {\n marginRight: '.5em'\n }\n }) : null, /*#__PURE__*/React.createElement(\"div\", null, props.rowData.DisplayName || props.rowData.Name)));\n};\n//# sourceMappingURL=VirtualDisplayNameCell.js.map","import _extends from \"@babel/runtime/helpers/extends\";\nimport { Button, Checkbox, createStyles, makeStyles, TableCell, TableSortLabel, Tooltip } from '@material-ui/core';\nimport { Build } from '@material-ui/icons';\nimport clsx from 'clsx';\nimport React, { useCallback, useMemo } from 'react';\nimport { AutoSizer, Column, Table } from 'react-virtualized';\nimport { ActionsCell, DateCell, ReferenceCell, RowCheckbox, VirtualDefaultCell, VirtualDisplayNameCell } from \"./index.js\";\nconst useStyles = makeStyles(theme => createStyles({\n root: {\n '& .ReactVirtualized__Table__headerRow': {\n backgroundColor: theme.palette.type === 'dark' ? 'hsl(0deg 0% 24%)' : 'hsl(0deg 0% 92%)',\n boxShadow: theme.palette.type === 'dark' ? '0px 3px 2px hsl(0deg 0% 0% / 30%)' : '1px 1px 3px 0px hsl(0deg 0% 0% / 28%)'\n },\n '& .ReactVirtualized__Table__row': {}\n },\n flexContainer: {\n display: 'flex',\n alignItems: 'center',\n boxSizing: 'border-box'\n },\n tableRow: {\n cursor: 'pointer'\n },\n tableRowHover: {\n '&:hover': {\n backgroundColor: theme.palette.type === 'dark' ? 'hsl(0deg 0% 51% / 10%)' : 'hsl(0deg 0% 0% / 3.5%)'\n }\n },\n tableCell: {\n flex: 1\n },\n noClick: {\n cursor: 'initial'\n },\n selected: {\n backgroundColor: theme.palette.type === 'dark' ? 'rgba(255, 255, 255, 0.08)' : 'rgba(0, 0, 0, 0.04)'\n },\n label: {\n display: 'flex',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n letterSpacing: '1px',\n color: theme.palette.type === 'dark' ? 'hsl(0deg 0% 60%)' : 'hsl(0deg 0% 40%)'\n }\n}));\n\nconst minColumnWith = field => {\n if (field !== 'Checkbox' && field !== 'ColumnSettings') {\n return;\n }\n\n return 48;\n};\n\nconst maxColumnWith = field => {\n if (field !== 'Checkbox' && field !== 'ColumnSettings') {\n return;\n }\n\n return 48;\n};\n\nconst EmptyCell = () => {\n return /*#__PURE__*/React.createElement(TableCell, {\n style: {\n height: '57px',\n opacity: '0',\n width: '50px',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n padding: 0,\n maxWidth: '48px'\n },\n component: \"div\",\n key: \"EmptyField\"\n });\n};\n\nexport const VirtualizedTable = props => {\n const classes = useStyles();\n\n const handleSelectAllClick = () => {\n props.onRequestSelectionChange && (props.selected && props.selected.length === props.items.length ? props.onRequestSelectionChange([]) : props.onRequestSelectionChange(props.items));\n };\n\n const handleContentSelection = content => {\n const tempSelected = props.selected !== undefined && props.selected.length > 0 ? props.selected : [];\n\n if (props.onRequestSelectionChange) {\n if (tempSelected.find(c => c.Id === content.Id)) {\n props.onRequestSelectionChange(tempSelected.filter(s => s.Id !== content.Id));\n } else {\n props.onRequestSelectionChange([...tempSelected, content]);\n }\n }\n };\n\n const getRowClassName = _ref => {\n let {\n index\n } = _ref;\n const {\n tableProps: {\n onRowClick\n }\n } = props;\n const isActive = index !== -1 && props.active && props.active.Id === props.items[index].Id ? true : false;\n return clsx(classes.tableRow, classes.flexContainer, {\n [classes.tableRowHover]: index !== -1 && onRowClick != null\n }, {\n [classes.selected]: isActive\n });\n };\n\n const checkBoxRenderer = (tableCellProps, isSelected) => {\n return /*#__PURE__*/React.createElement(RowCheckbox, {\n getSelectionControl: props.getSelectionControl,\n isSelected: isSelected,\n rowData: tableCellProps.rowData,\n checkboxProps: props.checkboxProps,\n handleContentSelection: handleContentSelection\n });\n };\n\n const defaultCellRenderer = _ref2 => {\n let {\n cellData,\n dataKey,\n rowData\n } = _ref2;\n\n switch (dataKey) {\n case 'DisplayName':\n return /*#__PURE__*/React.createElement(VirtualDisplayNameCell, {\n rowData: rowData,\n icons: props.icons\n });\n\n case 'Actions':\n if (rowData.Actions && rowData.Actions instanceof Array) {\n return /*#__PURE__*/React.createElement(ActionsCell, {\n actions: rowData.Actions,\n content: rowData,\n openActionMenu: ev => props.onRequestActionsMenu && props.onRequestActionsMenu(ev, rowData),\n virtual: true\n });\n }\n\n break;\n\n case 'ModificationDate':\n return /*#__PURE__*/React.createElement(DateCell, {\n date: cellData,\n virtual: true\n });\n\n default:\n break;\n }\n\n const field = rowData[dataKey];\n\n if (field && field.Id && field.Path && field.DisplayName) {\n return /*#__PURE__*/React.createElement(ReferenceCell, {\n content: field,\n fieldName: 'DisplayName',\n virtual: true\n });\n }\n\n return /*#__PURE__*/React.createElement(VirtualDefaultCell, {\n cellData: cellData\n });\n };\n\n const fieldSchemas = useMemo(() => props.schema.FieldSettings.reduce((v, field) => {\n ;\n v[field.Name] = props.schema.FieldSettings.find(s => s.Name === field.Name);\n return v;\n }, {}), [props.schema]);\n const getSchemaForField = useCallback(fieldName => fieldSchemas[fieldName], [fieldSchemas]);\n\n const headerRenderer = (columnSetting, columnCount, autoSizerWidth) => {\n var _columnSetting$field;\n\n const {\n tableProps: {\n headerHeight\n }\n } = props;\n\n if (columnSetting.field === 'ColumnSettings') {\n return /*#__PURE__*/React.createElement(TableCell, {\n key: \"ColumnSettings\",\n style: {\n width: '48px',\n height: '42px',\n maxWidth: '48px',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center'\n },\n component: \"div\"\n }, /*#__PURE__*/React.createElement(Tooltip, {\n title: \"Column Settings\",\n placement: \"bottom\"\n }, /*#__PURE__*/React.createElement(Button, {\n \"data-test\": \"column-settings\",\n onClick: props.handleColumnSettingsClick\n }, /*#__PURE__*/React.createElement(Build, null))));\n }\n\n if (columnSetting.field === 'Checkbox') {\n return /*#__PURE__*/React.createElement(TableCell, {\n padding: \"checkbox\",\n key: \"selectAll\",\n style: {\n width: '48px',\n height: '42px',\n paddingRight: 0,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center'\n },\n component: \"div\"\n }, /*#__PURE__*/React.createElement(Checkbox, _extends({\n className: \"select-all\",\n indeterminate: props.selected && props.selected.length > 0 && props.selected.length !== props.items.length ? true : false,\n checked: props.selected && props.selected.length === props.items.length ? true : false,\n onChange: handleSelectAllClick\n }, props.checkboxProps)));\n }\n\n const fieldSetting = getSchemaForField(columnSetting.field);\n const displayName = columnSetting.title || fieldSetting && fieldSetting.DisplayName || columnSetting.field;\n const description = fieldSetting && fieldSetting.Description || columnSetting.field;\n return /*#__PURE__*/React.createElement(TableCell, {\n \"data-test\": `table-header-${(_columnSetting$field = columnSetting.field) === null || _columnSetting$field === void 0 ? void 0 : _columnSetting$field.replace(/\\s+/g, '-').toLowerCase()}`,\n component: \"div\",\n variant: \"head\",\n style: {\n height: headerHeight || 42,\n width: props.displayRowCheckbox ? 'auto' : autoSizerWidth / columnCount,\n display: 'flex',\n padding: columnSetting.field === 'Actions' ? '0 0 0 0px' : 0,\n alignItems: 'center',\n justifyContent: columnSetting.field === 'Actions' ? 'center' : 'left'\n },\n className: columnSetting.field\n }, /*#__PURE__*/React.createElement(Tooltip, {\n title: description\n }, /*#__PURE__*/React.createElement(TableSortLabel, {\n className: classes.label,\n active: props.orderBy === columnSetting.field,\n direction: props.orderDirection,\n onClick: () => props.onRequestOrderChange && props.onRequestOrderChange(columnSetting.field, props.orderDirection === 'asc' ? 'desc' : 'asc')\n }, displayName)));\n };\n\n const {\n fieldsToDisplay,\n tableProps\n } = props;\n const currentFieldsToDisplay = [...fieldsToDisplay];\n /*An object which will contain the extend field*/\n\n const aditionalFields = {\n Checkbox: {\n field: 'Checkbox',\n title: 'Checkbox'\n },\n ColumnSettins: {\n field: 'ColumnSettings',\n title: 'ColumnSettings'\n }\n };\n /*An array which will contain the extend field*/\n\n if (props.displayRowCheckbox) {\n currentFieldsToDisplay.unshift(aditionalFields.Checkbox);\n }\n\n if (!currentFieldsToDisplay.find(f => f.field === 'Actions')) {\n currentFieldsToDisplay.push({\n field: 'Actions',\n title: 'Actions'\n });\n }\n\n if (!props.disableColumnSettings) {\n currentFieldsToDisplay.push(aditionalFields.ColumnSettins);\n }\n\n return /*#__PURE__*/React.createElement(AutoSizer, null, _ref3 => {\n let {\n height,\n width\n } = _ref3;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Table, _extends({\n className: classes.root,\n height: height,\n overscanRowCount: 10000,\n width: width,\n gridStyle: {\n direction: 'inherit',\n outline: 'none'\n }\n }, tableProps, {\n rowClassName: getRowClassName\n }), currentFieldsToDisplay.map(field => {\n const currentField = field.field;\n return /*#__PURE__*/React.createElement(Column, {\n flexGrow: props.displayRowCheckbox && field.field === 'Checkbox' ? 0 : 0,\n flexShrink: props.displayRowCheckbox && field.field === 'Checkbox' ? 5 : 1,\n key: currentField,\n columnData: {\n label: currentField\n },\n headerRenderer: () => headerRenderer(field, currentFieldsToDisplay.length, width),\n className: classes.flexContainer,\n cellRenderer: tableCellProps => {\n if (currentField === 'ColumnSettings') {\n EmptyCell();\n return;\n }\n\n if (props.displayRowCheckbox && currentField === 'Checkbox') {\n const isSelected = props.selected && props.selected.find(s => s.Id === tableCellProps.rowData.Id) ? true : false;\n return checkBoxRenderer(tableCellProps, isSelected);\n } else {\n if (tableCellProps.dataKey.includes('/')) {\n return props.referenceCellRenderer ? props.referenceCellRenderer(tableCellProps) : defaultCellRenderer(tableCellProps);\n } else {\n return props.cellRenderer ? props.cellRenderer({\n tableCellProps,\n fieldSettings: getSchemaForField(tableCellProps.dataKey)\n }) : defaultCellRenderer(tableCellProps);\n }\n }\n },\n dataKey: currentField,\n width: width,\n minWidth: minColumnWith(currentField),\n maxWidth: maxColumnWith(currentField)\n });\n })));\n });\n};\n//# sourceMappingURL=virtualized-table.js.map","import Checkbox from '@material-ui/core/Checkbox'\r\nimport { GenericContent } from '@sensenet/default-content-types'\r\nimport React, { FunctionComponent, useEffect, useState } from 'react'\r\nimport { useSelectionService } from '../hooks'\r\nimport { Icon } from './Icon'\r\n\r\ntype SelectionControlProps = {\r\n isSelected: boolean\r\n content: GenericContent\r\n onChangeCallback: () => void\r\n}\r\n\r\nexport const SelectionControl: FunctionComponent = ({\r\n isSelected,\r\n content,\r\n onChangeCallback,\r\n}) => {\r\n const selectionService = useSelectionService()\r\n const [selection, setSelection] = useState(selectionService.selection.getValue())\r\n\r\n useEffect(() => {\r\n const selectionComponentObserve = selectionService.selection.subscribe((newSelectedComponents) =>\r\n setSelection(newSelectedComponents),\r\n )\r\n\r\n return function cleanup() {\r\n selectionComponentObserve.dispose()\r\n }\r\n }, [selectionService.selection])\r\n\r\n return (\r\n \r\n 0 ? undefined : 'none' }}\r\n onChange={onChangeCallback}\r\n color=\"primary\"\r\n />\r\n 0 ? 'none' : undefined }} />\r\n \r\n )\r\n}\r\n","import { clsx } from 'clsx'\r\nimport React, { FC, MouseEvent } from 'react'\r\nimport { useGlobalStyles } from '../../globalStyles'\r\n\r\nexport const ContextMenuWrapper: FC<{ onContextMenu: (ev: MouseEvent) => void }> = (props) => {\r\n const globalClasses = useGlobalStyles()\r\n return (\r\n props.onContextMenu(ev)}>\r\n {props.children}\r\n \r\n )\r\n}\r\n","import { createStyles, makeStyles } from '@material-ui/core'\r\nimport { Repository } from '@sensenet/client-core'\r\nimport { PathHelper } from '@sensenet/client-utils'\r\nimport { GenericContent } from '@sensenet/default-content-types'\r\nimport {\r\n CurrentAncestorsContext,\r\n CurrentChildrenContext,\r\n CurrentContentContext,\r\n LoadSettingsContext,\r\n useLogger,\r\n useRepository,\r\n} from '@sensenet/hooks-react'\r\nimport { VirtualCellProps, VirtualDefaultCell, VirtualizedTable } from '@sensenet/list-controls-react'\r\nimport { ColumnSetting } from '@sensenet/list-controls-react/src/ContentList/content-list-base-props'\r\nimport { clsx } from 'clsx'\r\nimport React, {\r\n CSSProperties,\r\n DetailedHTMLProps,\r\n HTMLAttributes,\r\n KeyboardEvent,\r\n MouseEvent,\r\n useCallback,\r\n useContext,\r\n useEffect,\r\n useState,\r\n} from 'react'\r\nimport { TableCellProps } from 'react-virtualized'\r\nimport { ResponsiveContext, ResponsivePersonalSettings } from '../../context'\r\nimport { globals, useGlobalStyles } from '../../globalStyles'\r\nimport { useLocalization, useSelectionService } from '../../hooks'\r\nimport { ContentBreadcrumbs } from '../ContentBreadcrumbs'\r\nimport { ContentContextMenu } from '../context-menu/content-context-menu'\r\nimport { useDialog } from '../dialogs'\r\nimport { DropFileArea } from '../DropFileArea'\r\nimport { SelectionControl } from '../SelectionControl'\r\nimport { ContextMenuWrapper } from './context-menu-wrapper'\r\nimport {\r\n ActionsField,\r\n BooleanField,\r\n DateField,\r\n DescriptionField,\r\n DisplayNameComponent,\r\n EmailField,\r\n EnabledField,\r\n IconField,\r\n LockedField,\r\n PhoneField,\r\n ReferenceField,\r\n RolesField,\r\n} from '.'\r\n\r\nconst useStyles = makeStyles(() => {\r\n return createStyles({\r\n tableWrapper: {\r\n height: '100%',\r\n display: 'block',\r\n userSelect: 'none',\r\n outline: 'none',\r\n position: 'relative',\r\n },\r\n breadcrumbsWrapper: {\r\n height: globals.common.drawerItemHeight,\r\n boxSizing: 'border-box',\r\n borderBottom: '1px solid rgba(255, 255, 255, 0.11)',\r\n paddingLeft: '15px',\r\n },\r\n })\r\n})\r\nexport interface ContentListProps {\r\n enableBreadcrumbs?: boolean\r\n hideHeader?: boolean\r\n disableSelection?: boolean\r\n parentIdOrPath: number | string\r\n onParentChange: (newParent: T) => void\r\n onTabRequest?: () => void\r\n onActiveItemChange?: (item: T) => void\r\n onActivateItem: (item: T) => void\r\n style?: CSSProperties\r\n containerRef?: (r: HTMLDivElement | null) => void\r\n fieldsToDisplay?: Array>\r\n schema?: string\r\n onSelectionChange?: (sel: T[]) => void\r\n onFocus?: () => void\r\n containerProps?: DetailedHTMLProps, HTMLDivElement>\r\n disableColumnSettings?: boolean\r\n}\r\n\r\nexport const isReferenceField = (fieldName: string, repo: Repository, schema = 'GenericContent') => {\r\n const refWhiteList = ['AllowedChildTypes', 'AllRoles']\r\n const setting = repo.schemas.getSchemaByName(schema).FieldSettings.find((f) => f.Name === fieldName)\r\n return refWhiteList.some((field) => field === fieldName) || setting?.Type === 'ReferenceFieldSetting'\r\n}\r\n\r\nconst rowHeightConst = 67\r\nconst headerHeightConst = 58\r\n\r\n/**\r\n * Compare passed minutes with\r\n * @param value The base value.\r\n * @param timeDifference The minimum elapsed time time in minutes in Miliseconds.( Dafault 5 minutes )\r\n * @returns Returns true if the base value is greater than the compared value.\r\n */\r\n\r\n// a function which expect a Date and it will compare with the current time and if the passed interval is greater than the current time it will return true\r\nconst isExpired = (value: Date, timeDifference = 300000) => {\r\n const currentTime = new Date().getTime()\r\n const valueTime = value.getTime()\r\n return currentTime - valueTime > timeDifference\r\n}\r\n\r\ninterface ColumnSettingsContainerType {\r\n [key: string]: {\r\n columns: Array>\r\n lastValidation: Date\r\n }\r\n}\r\n\r\nconst ColumnSettingsContainer: ColumnSettingsContainerType = {}\r\n\r\nexport const ContentList = (props: ContentListProps) => {\r\n const selectionService = useSelectionService()\r\n const parentContent = useContext(CurrentContentContext)\r\n const children = useContext(CurrentChildrenContext) as T[]\r\n const ancestors = useContext(CurrentAncestorsContext) as T[]\r\n const device = useContext(ResponsiveContext)\r\n const personalSettings = useContext(ResponsivePersonalSettings)\r\n const loadSettings = useContext(LoadSettingsContext)\r\n const repo = useRepository()\r\n const classes = useStyles()\r\n const globalClasses = useGlobalStyles()\r\n const { openDialog, closeLastDialog } = useDialog()\r\n const logger = useLogger('ContentList')\r\n const localization = useLocalization()\r\n const [selected, setSelected] = useState([])\r\n const [activeContent, setActiveContent] = useState(children[0])\r\n const [isFocused, setIsFocused] = useState(true)\r\n const [isContextMenuOpened, setIsContextMenuOpened] = useState(false)\r\n const [schema, setSchema] = useState(repo.schemas.getSchemaByName(props.schema || 'GenericContent'))\r\n const [contextMenuAnchor, setContextMenuAnchor] = useState<{ top: number; left: number }>({\r\n top: 0,\r\n left: 0,\r\n })\r\n const loadChildrenSettingsOrderBy = loadSettings?.loadChildrenSettings.orderby\r\n const [currentOrder, setCurrentOrder] = useState(\r\n (loadChildrenSettingsOrderBy?.[0][0] as keyof T) || 'DisplayName',\r\n )\r\n\r\n const [currentDirection, setCurrentDirection] = useState<'asc' | 'desc'>(\r\n (loadChildrenSettingsOrderBy?.[0][1] as 'asc' | 'desc') || 'asc',\r\n )\r\n\r\n const [columnSettings, setColumnSettings] = useState>>(\r\n personalSettings.content.fields,\r\n )\r\n\r\n const fetchUrl = PathHelper.joinPaths(\r\n repo.configuration.repositoryUrl,\r\n repo.configuration.oDataToken,\r\n PathHelper.getContentUrl(props.parentIdOrPath),\r\n )\r\n\r\n /* Handle Column Settings */\r\n useEffect(() => {\r\n const ac = new AbortController()\r\n\r\n const getColumnSettings = async () => {\r\n const currentPathSettingCache = ColumnSettingsContainer[props.parentIdOrPath]\r\n if (\r\n !currentPathSettingCache ||\r\n !currentPathSettingCache?.columns?.length ||\r\n isExpired(new Date(currentPathSettingCache.lastValidation))\r\n ) {\r\n const endpoint = 'GetSettings'\r\n const queryParameters = { name: 'ColumnSettings' }\r\n const search = new URLSearchParams(queryParameters).toString()\r\n\r\n const requestUrl = `${fetchUrl}/${endpoint}?${search}`\r\n\r\n let data: { columns: Array> } | undefined\r\n\r\n try {\r\n const response = await repo.fetch(requestUrl, {\r\n method: 'GET',\r\n credentials: 'include',\r\n signal: ac.signal,\r\n })\r\n\r\n data = await response.json()\r\n // Continue processing data...\r\n } catch (error) {\r\n /*empty*/\r\n }\r\n\r\n if (!data?.columns) {\r\n return\r\n }\r\n\r\n ColumnSettingsContainer[props.parentIdOrPath] = { columns: data.columns, lastValidation: new Date() }\r\n }\r\n\r\n /* Add Actions if field Settings Does not contain it. */\r\n if (!ColumnSettingsContainer[props.parentIdOrPath]?.columns?.find((f) => f.field === 'Actions')) {\r\n ColumnSettingsContainer[props.parentIdOrPath].columns.push({ field: 'Actions', title: 'Actions' })\r\n }\r\n\r\n setColumnSettings(ColumnSettingsContainer[props.parentIdOrPath].columns)\r\n }\r\n\r\n if (!props.fieldsToDisplay) {\r\n getColumnSettings()\r\n\r\n return () => {\r\n ac.abort()\r\n }\r\n }\r\n\r\n setColumnSettings(props.fieldsToDisplay)\r\n }, [props.fieldsToDisplay, props.parentIdOrPath, repo, fetchUrl])\r\n\r\n useEffect(() => {\r\n setSelected([])\r\n }, [children])\r\n\r\n useEffect(() => {\r\n props.onActiveItemChange?.(activeContent)\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [activeContent])\r\n\r\n useEffect(() => {\r\n isFocused && props.onFocus && props.onFocus()\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [isFocused])\r\n\r\n useEffect(() => {\r\n props.onSelectionChange?.(selected)\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [selected])\r\n\r\n useEffect(() => {\r\n const fields = columnSettings || personalSettings.content.fields\r\n\r\n loadSettings.setLoadChildrenSettings({\r\n ...loadSettings.loadChildrenSettings,\r\n expand: [\r\n 'CheckedOutTo',\r\n ...fields.reduce>((referenceFields, fieldName) => {\r\n if (fieldName.field.includes('/')) {\r\n const splittedFieldName = fieldName.field.split('/')\r\n if (splittedFieldName.length === 2 && splittedFieldName[1] === '') {\r\n if (isReferenceField(splittedFieldName[0], repo, props.schema)) {\r\n referenceFields.push(splittedFieldName[0] as keyof GenericContent)\r\n }\r\n } else if (\r\n repo.schemas.getFieldTypeByName(splittedFieldName[splittedFieldName.length - 1]) ===\r\n 'ReferenceFieldSetting'\r\n ) {\r\n !referenceFields.includes(fieldName.field) && referenceFields.push(fieldName.field)\r\n } else {\r\n !referenceFields.includes(PathHelper.getParentPath(fieldName.field) as keyof GenericContent) &&\r\n referenceFields.push(PathHelper.getParentPath(fieldName.field) as keyof GenericContent)\r\n }\r\n } else if (repo.schemas.getFieldTypeByName(fieldName.field) === 'ReferenceFieldSetting') {\r\n referenceFields.push(fieldName.field)\r\n }\r\n return referenceFields\r\n }, []),\r\n ],\r\n orderby: [[currentOrder as any, currentDirection as any]],\r\n })\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [currentDirection, currentOrder, personalSettings.content.fields, props.fieldsToDisplay, repo, columnSettings])\r\n\r\n useEffect(() => {\r\n setSelected([])\r\n }, [parentContent.Id])\r\n\r\n useEffect(() => {\r\n selectionService.selection.setValue(selected)\r\n }, [selected, selectionService.selection])\r\n\r\n useEffect(() => {\r\n const schemaObservable = repo.schemas.subscribeToSchemas(() => {\r\n setSchema(repo.schemas.getSchemaByName(props.schema || 'GenericContent'))\r\n })\r\n return () => schemaObservable.dispose()\r\n }, [repo.schemas, props.schema])\r\n\r\n const onCloseFunc = () => setIsContextMenuOpened(false)\r\n const onOpenFunc = () => setIsContextMenuOpened(true)\r\n\r\n const handleActivateItem = useCallback(\r\n (item: T) => {\r\n if (item.IsFolder) {\r\n props.onParentChange(item)\r\n } else {\r\n props.onActivateItem(item)\r\n }\r\n },\r\n [props],\r\n )\r\n\r\n const handleItemClick = useCallback(\r\n (rowMouseEventHandlerParams) => {\r\n if (device !== 'desktop' && activeContent && activeContent.Id === rowMouseEventHandlerParams.rowData.Id) {\r\n handleActivateItem(rowMouseEventHandlerParams.rowData)\r\n return\r\n }\r\n if (rowMouseEventHandlerParams.event.ctrlKey) {\r\n if (selected.find((s) => s.Id === rowMouseEventHandlerParams.rowData.Id)) {\r\n setSelected(selected.filter((s) => s.Id !== rowMouseEventHandlerParams.rowData.Id))\r\n } else {\r\n setSelected([...selected, rowMouseEventHandlerParams.rowData])\r\n }\r\n } else if (rowMouseEventHandlerParams.event.shiftKey) {\r\n const activeIndex = (activeContent && children.findIndex((s) => s.Id === activeContent.Id)) || 0\r\n const clickedIndex = children.findIndex((s) => s.Id === rowMouseEventHandlerParams.rowData.Id)\r\n const newSelection = Array.from(\r\n new Set([\r\n ...selected,\r\n ...[...children].slice(Math.min(activeIndex, clickedIndex), Math.max(activeIndex, clickedIndex) + 1),\r\n ]),\r\n )\r\n setSelected(newSelection)\r\n } else if (\r\n !selected.length ||\r\n (selected.length === 1 && selected[0].Id !== rowMouseEventHandlerParams.rowData.Id)\r\n ) {\r\n setSelected([rowMouseEventHandlerParams.rowData])\r\n }\r\n },\r\n [activeContent, children, device, handleActivateItem, selected],\r\n )\r\n\r\n const handleKeyDown = useCallback(\r\n (ev: KeyboardEvent) => {\r\n if (!activeContent) {\r\n setActiveContent(children[0])\r\n }\r\n switch (ev.key) {\r\n case 'Home':\r\n setActiveContent(children[0])\r\n break\r\n case 'End':\r\n setActiveContent(children[children.length - 1])\r\n break\r\n case 'ArrowUp':\r\n setActiveContent(\r\n activeContent && children[Math.max(0, children.findIndex((c) => c.Id === activeContent.Id) - 1)],\r\n )\r\n break\r\n case 'ArrowDown':\r\n setActiveContent(\r\n activeContent &&\r\n children[Math.min(children.findIndex((c) => c.Id === activeContent.Id) + 1, children.length - 1)],\r\n )\r\n break\r\n case ' ': {\r\n ev.preventDefault()\r\n activeContent && selected.findIndex((s) => s.Id === activeContent.Id) !== -1\r\n ? setSelected([...selected.filter((s) => s.Id !== activeContent.Id)])\r\n : activeContent && setSelected([...selected, activeContent])\r\n break\r\n }\r\n case 'Insert': {\r\n activeContent && selected.findIndex((s) => s.Id === activeContent.Id) !== -1\r\n ? setSelected([...selected.filter((s) => s.Id !== activeContent.Id)])\r\n : activeContent && setSelected([...selected, activeContent])\r\n activeContent &&\r\n setActiveContent(\r\n children[Math.min(children.findIndex((c) => c.Id === activeContent.Id) + 1, children.length)],\r\n )\r\n break\r\n }\r\n case '*': {\r\n if (selected.length === children.length) {\r\n setSelected([])\r\n } else {\r\n setSelected(children)\r\n }\r\n break\r\n }\r\n case 'Enter': {\r\n activeContent && handleActivateItem(activeContent)\r\n break\r\n }\r\n case 'Backspace': {\r\n ancestors.length && props.onParentChange(ancestors[ancestors.length - 1])\r\n break\r\n }\r\n case 'Delete': {\r\n openDialog({ name: 'delete', props: { content: selected } })\r\n break\r\n }\r\n case 'Tab':\r\n ev.preventDefault()\r\n props.onTabRequest?.()\r\n break\r\n default:\r\n return true\r\n }\r\n },\r\n [activeContent, children, props, selected, handleActivateItem, ancestors, openDialog],\r\n )\r\n\r\n const onRequestOrderChangeFunc = (field: keyof GenericContent, dir: 'asc' | 'desc') => {\r\n setCurrentOrder(field)\r\n setCurrentDirection(dir)\r\n }\r\n\r\n const onItemDoubleClickFunc = (rowMouseEventHandlerParams: { rowData: T }) =>\r\n handleActivateItem(rowMouseEventHandlerParams.rowData)\r\n\r\n const getSelectionControl = (isSelected: any, content: any, onChangeCallback: any) => (\r\n \r\n )\r\n\r\n const openContext = (ev: MouseEvent, rowData: T) => {\r\n ev.preventDefault()\r\n ev.stopPropagation()\r\n setActiveContent(rowData)\r\n setContextMenuAnchor({ top: ev.clientY, left: ev.clientX })\r\n setIsContextMenuOpened(true)\r\n }\r\n\r\n const fieldComponentFunc = ({ tableCellProps: fieldOptions, fieldSettings }: VirtualCellProps) => {\r\n switch (fieldOptions.dataKey) {\r\n case 'Locked':\r\n return (\r\n openContext(ev, fieldOptions.rowData)}>\r\n \r\n \r\n )\r\n case 'Icon':\r\n return (\r\n openContext(ev, fieldOptions.rowData)}>\r\n \r\n \r\n )\r\n case 'Email' as any:\r\n return (\r\n openContext(ev, fieldOptions.rowData)}>\r\n \r\n \r\n )\r\n case 'Phone' as any:\r\n return (\r\n openContext(ev, fieldOptions.rowData)}>\r\n \r\n \r\n )\r\n case 'DisplayName':\r\n return (\r\n openContext(ev, fieldOptions.rowData)}>\r\n \r\n \r\n )\r\n case 'Description':\r\n return (\r\n openContext(ev, fieldOptions.rowData)}>\r\n \r\n \r\n )\r\n case 'Actions':\r\n return (\r\n openContext(ev, fieldOptions.rowData)}>\r\n openContext(ev, fieldOptions.rowData)}\r\n name={fieldOptions.rowData.Name as string}\r\n />\r\n \r\n )\r\n case 'Enabled':\r\n if (fieldOptions.rowData[fieldOptions.dataKey] !== undefined) {\r\n return (\r\n openContext(ev, fieldOptions.rowData)}>\r\n {\r\n try {\r\n await repo.patch({\r\n idOrPath: fieldOptions.rowData.Id,\r\n content: { [fieldOptions.dataKey]: value },\r\n })\r\n } catch (error) {\r\n logger.error({\r\n message: error.message || localization.contentList.errorContentModification,\r\n data: {\r\n relatedContent: fieldOptions.rowData,\r\n relatedRepository: repo.configuration.repositoryUrl,\r\n error,\r\n },\r\n })\r\n return false\r\n }\r\n\r\n return true\r\n }}\r\n />\r\n \r\n )\r\n }\r\n return null\r\n case 'AllRoles':\r\n if (Array.isArray(fieldOptions.rowData[fieldOptions.dataKey])) {\r\n return (\r\n openContext(ev, fieldOptions.rowData)}>\r\n \r\n \r\n )\r\n }\r\n return null\r\n default:\r\n break\r\n }\r\n if (fieldSettings && fieldSettings.FieldClassName === 'SenseNet.ContentRepository.Fields.DateTimeField') {\r\n return (\r\n openContext(ev, fieldOptions.rowData)}>\r\n \r\n \r\n )\r\n }\r\n\r\n if (\r\n typeof fieldOptions.rowData[fieldOptions.dataKey] === 'object' &&\r\n isReferenceField(fieldOptions.dataKey, repo, props.schema || fieldOptions.rowData.Type)\r\n ) {\r\n const expectedContent = fieldOptions.rowData[fieldOptions.dataKey] as GenericContent\r\n if (\r\n (expectedContent &&\r\n expectedContent.Id &&\r\n expectedContent.Type &&\r\n expectedContent.Name &&\r\n expectedContent.Path) ||\r\n Array.isArray(expectedContent)\r\n ) {\r\n return (\r\n openContext(ev, fieldOptions.rowData)}>\r\n \r\n \r\n )\r\n }\r\n return null\r\n }\r\n if (typeof fieldOptions.rowData[fieldOptions.dataKey] === 'boolean') {\r\n return (\r\n openContext(ev, fieldOptions.rowData)}>\r\n \r\n \r\n )\r\n }\r\n return (\r\n openContext(ev, fieldOptions.rowData)}>\r\n \r\n \r\n )\r\n }\r\n\r\n const fieldReferenceFunc = (fieldOptions: TableCellProps) => {\r\n const splittedDatakey = fieldOptions.dataKey.split('/')\r\n\r\n if (splittedDatakey[splittedDatakey.length - 1] === '') {\r\n splittedDatakey.pop()\r\n }\r\n const lastInReference = splittedDatakey[splittedDatakey.length - 1]\r\n const displayField = splittedDatakey.reduce((acc, curr, _index, arr) => {\r\n if (!acc[curr]) {\r\n arr.length = 0\r\n return null\r\n } else if (!isReferenceField(curr, repo, acc.Type)) {\r\n arr.length = 0\r\n return acc\r\n }\r\n return acc[curr]\r\n }, fieldOptions.rowData)\r\n\r\n const cellData = displayField\r\n ? isReferenceField(lastInReference, repo, displayField.Type)\r\n ? displayField.DisplayName\r\n : displayField[lastInReference]\r\n : displayField\r\n\r\n const createdFieldOptions = {\r\n columnIndex: fieldOptions.columnIndex,\r\n dataKey: lastInReference,\r\n isScrolling: fieldOptions.isScrolling,\r\n rowData: {\r\n [lastInReference]: cellData,\r\n Id: displayField?.Id,\r\n Name: displayField?.Name,\r\n Type: displayField?.Type,\r\n },\r\n cellData,\r\n rowIndex: fieldOptions.rowIndex,\r\n }\r\n\r\n return fieldComponentFunc({\r\n tableCellProps: createdFieldOptions,\r\n fieldSettings: repo.schemas\r\n .getSchemaByName(displayField ? displayField.Type : '')\r\n .FieldSettings.find((setting) => setting.Name === lastInReference)!,\r\n })\r\n }\r\n\r\n const setCostumColumnSettings = async (newSettings: { columns: Array> }) => {\r\n ColumnSettingsContainer[props.parentIdOrPath] = { columns: newSettings.columns, lastValidation: new Date() }\r\n\r\n const endpoint = 'WriteSettings'\r\n\r\n const requestUrl = `${fetchUrl}/${endpoint}`\r\n\r\n const data = {\r\n name: 'ColumnSettings',\r\n settingsData: newSettings,\r\n }\r\n\r\n try {\r\n await repo.fetch(requestUrl, {\r\n method: 'POST',\r\n credentials: 'include',\r\n body: JSON.stringify(data),\r\n })\r\n } catch (error) {\r\n console.error(error)\r\n }\r\n setColumnSettings(newSettings.columns)\r\n closeLastDialog()\r\n }\r\n\r\n const columnSettingsDialog = () => {\r\n openDialog({\r\n name: 'column-settings',\r\n props: {\r\n columnSettings: ColumnSettingsContainer[props.parentIdOrPath]?.columns,\r\n setColumnSettings: setCostumColumnSettings,\r\n },\r\n dialogProps: { maxWidth: 'sm', classes: { container: globalClasses.centeredRight } },\r\n })\r\n }\r\n\r\n const menuPropsObj = {\r\n disablePortal: true,\r\n anchorReference: 'anchorPosition' as const,\r\n anchorPosition: contextMenuAnchor,\r\n BackdropProps: {\r\n onClick: () => setIsContextMenuOpened(false),\r\n onContextMenu: (ev: { preventDefault: () => any }) => ev.preventDefault(),\r\n },\r\n }\r\n\r\n const displayNameInArray = ['DisplayName']\r\n\r\n return (\r\n
\r\n {props.enableBreadcrumbs ? (\r\n
\r\n onItemClick={(i) => props.onParentChange(i.content)} />\r\n
\r\n ) : null}\r\n \r\n {\r\n setIsFocused(true)\r\n }}\r\n onBlur={(ev) => {\r\n if (!ev.currentTarget.contains((ev as any).relatedTarget)) {\r\n // Skip blurring on child focus\r\n setIsFocused(false)\r\n }\r\n }}\r\n ref={props.containerRef}\r\n onKeyDown={handleKeyDown}>\r\n {\r\n const splittedField = field?.field?.split('/')\r\n if (splittedField.length === 2 && splittedField[1] === '') {\r\n return splittedField[0]\r\n } else {\r\n return field\r\n }\r\n }) ||\r\n personalSettings.content.fields ||\r\n displayNameInArray) as any\r\n }\r\n getSelectionControl={getSelectionControl}\r\n /* If the Order by Column Is The Display. The client will sort it. Due to some locale and indexing issues */\r\n items={\r\n currentOrder === 'DisplayName'\r\n ? children.sort((a, b) => {\r\n // If no display Name\r\n if (!a?.DisplayName || !b?.DisplayName) {\r\n return 0\r\n }\r\n\r\n if (currentDirection === 'asc') {\r\n return a?.DisplayName.localeCompare(b?.DisplayName)\r\n }\r\n return b?.DisplayName.localeCompare(a?.DisplayName)\r\n })\r\n : children\r\n }\r\n onRequestOrderChange={onRequestOrderChangeFunc}\r\n onRequestSelectionChange={setSelected}\r\n orderBy={currentOrder}\r\n orderDirection={currentDirection}\r\n schema={schema}\r\n selected={selected}\r\n tableProps={{\r\n rowCount: children.length,\r\n rowHeight: rowHeightConst,\r\n headerHeight: headerHeightConst,\r\n rowGetter: ({ index }) => children[index],\r\n onRowClick: (rowMouseEventHandlerParams) => {\r\n setActiveContent(rowMouseEventHandlerParams.rowData)\r\n handleItemClick(rowMouseEventHandlerParams)\r\n },\r\n rowStyle: {\r\n position: 'relative',\r\n top: 'unset',\r\n height: 'auto',\r\n overflow: 'initial',\r\n padding: '5px 0px',\r\n },\r\n onRowDoubleClick: onItemDoubleClickFunc,\r\n disableHeader: props.hideHeader,\r\n containerStyle: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n overflowY: 'auto',\r\n paddingBottom: '15px',\r\n minHeight: '100%',\r\n height: 'inherit',\r\n maxHeight: 'inherit',\r\n },\r\n }}\r\n />\r\n {activeContent ? (\r\n \r\n ) : null}\r\n
\r\n \r\n \r\n )\r\n}\r\n","import { IconButton, TableCell } from '@material-ui/core'\r\nimport MoreHoriz from '@material-ui/icons/MoreHoriz'\r\nimport { clsx } from 'clsx'\r\nimport React, { FC, MouseEvent } from 'react'\r\nimport { useGlobalStyles } from '../../globalStyles'\r\n\r\nexport const ActionsField: FC<{\r\n onOpen: (ev: MouseEvent) => void\r\n name: string\r\n}> = ({ onOpen, name }) => {\r\n const globalClasses = useGlobalStyles()\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n","import { TableCell } from '@material-ui/core'\r\nimport Check from '@material-ui/icons/Check'\r\nimport Close from '@material-ui/icons/Close'\r\nimport { clsx } from 'clsx'\r\nimport React, { FC } from 'react'\r\nimport { useGlobalStyles } from '../../globalStyles'\r\n\r\nexport const BooleanField: FC<{ value?: boolean }> = ({ value }) => {\r\n const globalClasses = useGlobalStyles()\r\n if (value === true) {\r\n return (\r\n \r\n \r\n \r\n )\r\n } else if (value === false) {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n return null\r\n}\r\n","import { TableCell, Tooltip } from '@material-ui/core'\r\nimport { clsx } from 'clsx'\r\nimport React, { FC } from 'react'\r\nimport { useGlobalStyles } from '../../globalStyles'\r\nimport { useDateUtils } from '../../hooks/use-date-utils'\r\n\r\nexport const DateField: FC<{ date: string | Date }> = ({ date }) => {\r\n const globalClasses = useGlobalStyles()\r\n const dateUtils = useDateUtils()\r\n\r\n return (\r\n \r\n \r\n
{dateUtils.formatDistanceFromNow(new Date(date))}
\r\n
\r\n
\r\n )\r\n}\r\n","import { createStyles, makeStyles, TableCell, Tooltip } from '@material-ui/core'\r\nimport { clsx } from 'clsx'\r\nimport React, { FC } from 'react'\r\nimport { useGlobalStyles } from '../../globalStyles'\r\n\r\nconst useStyles = makeStyles(() => {\r\n return createStyles({\r\n ellipsis: {\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n paddingRight: '20px',\r\n maxWidth: '300px',\r\n },\r\n })\r\n})\r\n\r\nexport const DescriptionField: FC<{ text: string }> = ({ text }) => {\r\n const globalClasses = useGlobalStyles()\r\n const classes = useStyles()\r\n\r\n return (\r\n \r\n /g, '') : ''} placement=\"top\">\r\n
{text ? text.replace(/<(.|\\n)*?>/g, '') : ''}
\r\n
\r\n \r\n )\r\n}\r\n","import { createStyles, makeStyles, TableCell, Tooltip } from '@material-ui/core'\r\nimport { GenericContent } from '@sensenet/default-content-types'\r\nimport { clsx } from 'clsx'\r\nimport React from 'react'\r\nimport { ResponsivePlatforms } from '../../context'\r\nimport { useGlobalStyles } from '../../globalStyles'\r\n\r\ntype DisplayNameProps = {\r\n content: GenericContent\r\n device: ResponsivePlatforms\r\n isActive: boolean\r\n}\r\n\r\nconst CHARACHTER_SPLIT = 10\r\n\r\nconst useStyles = makeStyles(() => {\r\n return createStyles({\r\n displayContainer: {\r\n position: 'relative',\r\n top: '1px',\r\n width: 'inherit',\r\n '& > span': {\r\n display: 'inline-block',\r\n whiteSpace: 'nowrap',\r\n verticalAlign: 'middle',\r\n },\r\n '& .first': {\r\n maxWidth: `calc(100% - ${CHARACHTER_SPLIT + 1}ch)`,\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n },\r\n },\r\n })\r\n})\r\n\r\nexport const DisplayNameComponent: React.FunctionComponent = ({ content }) => {\r\n const globalClasses = useGlobalStyles()\r\n\r\n const contentValue = content.DisplayName || content.Name\r\n\r\n const splitedValue = [contentValue.slice(0, CHARACHTER_SPLIT * -1), contentValue.slice(CHARACHTER_SPLIT * -1)]\r\n\r\n const classes = useStyles()\r\n\r\n return (\r\n \r\n \r\n \r\n {splitedValue[0]} \r\n {splitedValue[1]} \r\n \r\n \r\n \r\n )\r\n}\r\n","import { createStyles, makeStyles, TableCell, Tooltip } from '@material-ui/core'\r\nimport { clsx } from 'clsx'\r\nimport React from 'react'\r\nimport { useGlobalStyles } from '../../globalStyles'\r\n\r\nconst useStyles = makeStyles(() => {\r\n return createStyles({\r\n anchor: {\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n },\r\n cell: {\r\n paddingRight: '3px',\r\n },\r\n })\r\n})\r\n\r\nexport const EmailField: React.FC<{ mail: string }> = ({ mail }) => {\r\n const globalClasses = useGlobalStyles()\r\n const classes = useStyles()\r\n\r\n return (\r\n \r\n {mail ? (\r\n \r\n \r\n {mail}\r\n \r\n \r\n ) : null}\r\n \r\n )\r\n}\r\n","import { TableCell, Tooltip } from '@material-ui/core'\r\nimport { Switch } from '@sensenet/controls-react'\r\nimport { clsx } from 'clsx'\r\nimport React, { FunctionComponent, useEffect, useState } from 'react'\r\nimport { useGlobalStyles } from '../../globalStyles'\r\n\r\ninterface EnabledFieldProps {\r\n enabled: boolean\r\n description: string\r\n onChange?: (value: boolean) => Promise | void\r\n displayName: string\r\n}\r\n\r\nexport const EnabledField: FunctionComponent = ({ enabled, description, onChange, displayName }) => {\r\n const globalClasses = useGlobalStyles()\r\n const [checked, setChecked] = useState(enabled)\r\n\r\n useEffect(() => {\r\n setChecked(!!enabled)\r\n }, [enabled])\r\n\r\n return (\r\n \r\n \r\n {\r\n const newValue = !checked\r\n event.stopPropagation()\r\n const isValueChanged = await onChange?.(newValue)\r\n\r\n if (isValueChanged || isValueChanged === undefined) {\r\n setChecked(newValue)\r\n }\r\n }}\r\n />\r\n \r\n \r\n )\r\n}\r\n","import { TableCell } from '@material-ui/core'\r\nimport { GenericContent } from '@sensenet/default-content-types'\r\nimport { clsx } from 'clsx'\r\nimport React from 'react'\r\nimport { useGlobalStyles } from '../../globalStyles'\r\nimport { Icon } from '../Icon'\r\n\r\nexport const IconField: React.FC<{ content: GenericContent }> = (props) => {\r\n const globalClasses = useGlobalStyles()\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n","import { TableCell, Tooltip } from '@material-ui/core'\r\nimport AssignmentLateIcon from '@material-ui/icons/AssignmentLate'\r\nimport Lock from '@material-ui/icons/Lock'\r\nimport { GenericContent, User } from '@sensenet/default-content-types'\r\nimport { useRepository, useSession } from '@sensenet/hooks-react'\r\nimport { clsx } from 'clsx'\r\nimport React from 'react'\r\nimport { useGlobalStyles } from '../../globalStyles'\r\nimport { useLocalization } from '../../hooks'\r\n\r\ntype LockedFieldProps = {\r\n content: GenericContent\r\n}\r\n\r\nexport function LockedField({ content }: LockedFieldProps) {\r\n const session = useSession()\r\n const repository = useRepository()\r\n const localization = useLocalization().lockedCell\r\n const globalClasses = useGlobalStyles()\r\n\r\n const lockedByName = () => {\r\n const checkedOutTo = content?.CheckedOutTo\r\n if (!repository.schemas.isContentFromType(checkedOutTo, 'User')) {\r\n return 'Someone'\r\n }\r\n\r\n return checkedOutTo.Name === session.currentUser.Name ? 'Me' : checkedOutTo.FullName ?? 'Someone'\r\n }\r\n\r\n if (!content.Locked && !content.Approvable) {\r\n // We need to return an empty TableCell so the Table remains aligned.\r\n return \r\n }\r\n\r\n return (\r\n \r\n \r\n {content.Approvable ? : }\r\n \r\n \r\n )\r\n}\r\n","import { TableCell } from '@material-ui/core'\r\nimport { clsx } from 'clsx'\r\nimport React from 'react'\r\nimport { useGlobalStyles } from '../../globalStyles'\r\n\r\nexport const PhoneField: React.FC<{ phoneNo: string }> = ({ phoneNo }) => {\r\n const globalClasses = useGlobalStyles()\r\n return (\r\n \r\n {phoneNo}\r\n \r\n )\r\n}\r\n","import { Button, createStyles, Link, makeStyles, TableCell, Theme, Tooltip } from '@material-ui/core'\r\nimport { GenericContent } from '@sensenet/default-content-types'\r\nimport { useRepository } from '@sensenet/hooks-react'\r\nimport { clsx } from 'clsx'\r\nimport React, { FunctionComponent, useContext } from 'react'\r\nimport { useHistory } from 'react-router'\r\nimport { ResponsivePersonalSettings } from '../../context'\r\nimport { useGlobalStyles } from '../../globalStyles'\r\nimport { getUrlForContent } from '../../services'\r\nimport { useDialog } from '../dialogs'\r\nimport { Icon } from '../Icon'\r\n\r\nconst useStyles = makeStyles((theme: Theme) => {\r\n return createStyles({\r\n fieldCell: {\r\n '& > div:not(:last-child)': {\r\n marginRight: '1rem',\r\n },\r\n },\r\n button: {\r\n marginLeft: '1em',\r\n textTransform: 'lowercase',\r\n },\r\n link: {\r\n color: theme.palette.type === 'light' ? '#333333' : '#ffffff',\r\n },\r\n })\r\n})\r\n\r\ninterface ReferenceFieldProps {\r\n content: GenericContent | GenericContent[]\r\n fieldName: string\r\n parent: GenericContent\r\n}\r\n\r\nexport const ReferenceField: FunctionComponent = ({ content, fieldName, parent }) => {\r\n const globalClasses = useGlobalStyles()\r\n const classes = useStyles()\r\n const { openDialog } = useDialog()\r\n const repository = useRepository()\r\n const uiSettings = useContext(ResponsivePersonalSettings)\r\n const history = useHistory()\r\n\r\n return (\r\n \r\n {Array.isArray(content) ? (\r\n
\r\n {\r\n event.stopPropagation()\r\n const actions = await repository.getActions({ idOrPath: parent.Path })\r\n const canEdit = actions.d.results.some((action) => action.Name === 'Edit')\r\n\r\n openDialog({\r\n name: 'reference-content-list',\r\n props: { items: content, parent, fieldName, canEdit },\r\n dialogProps: { maxWidth: 'sm', classes: { container: globalClasses.centeredRight } },\r\n })\r\n }}>\r\n {content.length} {fieldName}\r\n \r\n
\r\n ) : (\r\n
\r\n {repository.schemas.isContentFromType(content, 'User') ? (\r\n \r\n ) : null}\r\n \r\n {content.Name === 'Somebody' ? (\r\n <>{content.DisplayName || content.Name}\r\n ) : (\r\n {\r\n history.push(\r\n getUrlForContent({\r\n content,\r\n uiSettings,\r\n location: history.location,\r\n action: 'edit',\r\n removePath: true,\r\n }),\r\n )\r\n }}>\r\n {content.DisplayName || content.Name}\r\n \r\n )}\r\n \r\n
\r\n )}\r\n \r\n )\r\n}\r\n","import { Button, createStyles, makeStyles, Menu, MenuItem, TableCell, Tooltip } from '@material-ui/core'\r\nimport SettingsIcon from '@material-ui/icons/Settings'\r\nimport SwapHorizIcon from '@material-ui/icons/SwapHoriz'\r\nimport { GenericContent, Group, User } from '@sensenet/default-content-types'\r\nimport { useRepository } from '@sensenet/hooks-react'\r\nimport { clsx } from 'clsx'\r\nimport React, { FunctionComponent, useState } from 'react'\r\nimport { useGlobalStyles } from '../../globalStyles'\r\nimport { useLocalization } from '../../hooks'\r\nimport { useDialog } from '../dialogs'\r\n\r\nconst useStyles = makeStyles(() => {\r\n return createStyles({\r\n label: {\r\n display: 'block',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n },\r\n })\r\n})\r\n\r\ninterface RolesFieldProps {\r\n user: GenericContent\r\n roles: GenericContent[]\r\n directRoles?: GenericContent[]\r\n}\r\n\r\nexport const RolesField: FunctionComponent = ({ user, roles, directRoles }) => {\r\n const classes = useStyles()\r\n const globalClasses = useGlobalStyles()\r\n const repository = useRepository()\r\n const localization = useLocalization()\r\n const { openDialog } = useDialog()\r\n const [anchorEl, setAnchorEl] = useState(null)\r\n\r\n const openGroupDialog = async (event: React.MouseEvent, group: Group) => {\r\n event.stopPropagation()\r\n\r\n const canEdit = await canUserEditContent(group)\r\n\r\n const content = await repository.load({\r\n idOrPath: group.Path,\r\n oDataOptions: {\r\n select: ['Members'],\r\n expand: ['Members'],\r\n },\r\n })\r\n\r\n openDialog({\r\n name: 'reference-content-list',\r\n props: { items: content.d.Members as User[], parent: group, fieldName: 'Members', canEdit },\r\n dialogProps: { maxWidth: 'sm', classes: { container: globalClasses.centeredRight } },\r\n })\r\n }\r\n\r\n const openAddToGroupDialog = async (event: React.MouseEvent) => {\r\n event.stopPropagation()\r\n\r\n const canEdit = await canUserEditContent(user)\r\n\r\n openDialog({\r\n name: 'add-delete-user-groups',\r\n props: { user, directGroups: directRoles ?? [], canEdit },\r\n dialogProps: { maxWidth: 'sm', classes: { container: globalClasses.centeredRight } },\r\n })\r\n }\r\n\r\n const isIndirect = (role: GenericContent) => {\r\n if (!directRoles) {\r\n return false\r\n }\r\n\r\n return !directRoles.some((directRole) => directRole.Id === role.Id)\r\n }\r\n\r\n const canUserEditContent = async (content: GenericContent): Promise => {\r\n const actions = await repository.getActions({ idOrPath: content.Path })\r\n return actions.d.results.some((action) => action.Name === 'Edit')\r\n }\r\n\r\n return (\r\n \r\n \r\n {\r\n event.stopPropagation()\r\n setAnchorEl(event.currentTarget)\r\n }}>\r\n {roles.length === 1 ? roles[0].DisplayName! : `${roles.length} roles`}\r\n \r\n \r\n setAnchorEl(null)}>\r\n {roles.map((role) => (\r\n {\r\n openGroupDialog(event, role)\r\n setAnchorEl(null)\r\n }}>\r\n {role.DisplayName}\r\n {isIndirect(role) && (\r\n
\r\n \r\n
\r\n )}\r\n \r\n ))}\r\n {\r\n openAddToGroupDialog(event)\r\n setAnchorEl(null)\r\n }}>\r\n {localization.addDeleteUserGroups.manageGroups}\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n )\r\n}\r\n","import { Card, createStyles, makeStyles } from '@material-ui/core';\nimport React from 'react';\nconst useStyles = makeStyles(() => createStyles({\n root: {\n overflow: 'visible',\n backgroundColor: _ref => {\n let {\n active\n } = _ref;\n return `${active ? 'rgb(0,0,0,0.1)' : 'rgb(0,0,0,0)'}`;\n },\n width: '100%',\n marginBottom: '10px'\n }\n}));\n/**\r\n * Return a styled comment card component\r\n * @param isSelected A flag for store if comment is selected or not\r\n * @param onClick Function triggered on click event\r\n * @returns styled comment card component\r\n */\n\nexport const CommentCard = props => {\n const classes = useStyles(props);\n return /*#__PURE__*/React.createElement(Card, {\n className: classes.root,\n raised: props.active,\n onClick: props.onClick\n }, props.children);\n};\n//# sourceMappingURL=comment-card.js.map","import React, { createContext, useState } from 'react';\nexport const defaultCommentState = {\n setDraft: () => undefined,\n activeCommentId: undefined,\n setActiveComment: () => undefined\n};\nexport const CommentStateContext = /*#__PURE__*/createContext(defaultCommentState);\nexport const CommentStateProvider = _ref => {\n let {\n children\n } = _ref;\n const [draft, setDraft] = useState();\n const [activeCommentId, setActiveComment] = useState();\n return /*#__PURE__*/React.createElement(CommentStateContext.Provider, {\n value: {\n draft,\n setDraft,\n activeCommentId,\n setActiveComment\n }\n }, children);\n};\n//# sourceMappingURL=comment-states.js.map","import { useContext } from 'react';\nimport { CommentStateContext } from \"../context/comment-states.js\";\nexport const useCommentState = () => useContext(CommentStateContext);\n//# sourceMappingURL=use-comment-state.js.map","import { Trace } from '@sensenet/client-utils';\nimport React, { createContext, useEffect, useState } from 'react';\nimport { useDocumentData, useDocumentViewerApi, useViewerState } from \"../hooks/index.js\";\nexport const defaultCommentsContext = {\n comments: [],\n addPreviewComment: async () => undefined,\n deletePreviewComment: async () => undefined,\n getPreviewComments: async () => undefined\n};\nexport const CommentsContext = /*#__PURE__*/createContext(defaultCommentsContext);\nexport const CommentsContextProvider = props => {\n const api = useDocumentViewerApi();\n const {\n documentData\n } = useDocumentData();\n const viewerState = useViewerState();\n const [comments, setComments] = useState([]);\n useEffect(() => {\n const abortController = new AbortController();\n\n (async () => {\n if (viewerState.showComments) {\n const result = await api.commentActions.getPreviewComments({\n document: documentData,\n page: viewerState.activePage,\n abortController\n });\n setComments(result);\n }\n })();\n\n return () => abortController.abort();\n }, [api.commentActions, documentData, viewerState.activePage, viewerState.showComments]);\n useEffect(() => {\n const disposables = [Trace.method({\n object: api.commentActions,\n isAsync: true,\n methodName: 'addPreviewComment',\n method: api.commentActions.addPreviewComment,\n onFinished: async _ref => {\n let {\n returned\n } = _ref;\n const a = await returned;\n setComments([...comments, a]);\n viewerState.updateState({\n isPlacingCommentMarker: false\n });\n }\n }), Trace.method({\n object: api.commentActions,\n method: api.commentActions.deletePreviewComment,\n methodName: 'deletePreviewComment',\n isAsync: true,\n onFinished: async _ref2 => {\n let {\n returned,\n methodArguments\n } = _ref2;\n const returnedValue = await returned;\n\n if (returnedValue.modified) {\n setComments(comments.filter(c => c.id !== methodArguments[0].commentId));\n }\n }\n })];\n return () => disposables.forEach(d => d.dispose());\n }, [api.commentActions, comments, viewerState]);\n return /*#__PURE__*/React.createElement(CommentsContext.Provider, {\n value: { ...api.commentActions,\n comments\n }\n }, props.children);\n};\n//# sourceMappingURL=comments.js.map","/**\r\n * Describe the state of the preview images\r\n */\nexport let PreviewState;\n\n(function (PreviewState) {\n PreviewState[PreviewState[\"Available\"] = 1] = \"Available\";\n PreviewState[PreviewState[\"Empty\"] = 0] = \"Empty\";\n PreviewState[PreviewState[\"Loading\"] = -1] = \"Loading\";\n PreviewState[PreviewState[\"ExtensionFailure\"] = -2] = \"ExtensionFailure\";\n PreviewState[PreviewState[\"UploadFailure\"] = -3] = \"UploadFailure\";\n PreviewState[PreviewState[\"Postponed\"] = -4] = \"Postponed\";\n PreviewState[PreviewState[\"NoPreviewProviderEnabled\"] = -5] = \"NoPreviewProviderEnabled\";\n PreviewState[PreviewState[\"ClientFailure\"] = -665] = \"ClientFailure\";\n})(PreviewState || (PreviewState = {}));\n//# sourceMappingURL=enums.js.map","import { deepMerge, sleepAsync } from '@sensenet/client-utils';\nimport { useRepository } from '@sensenet/hooks-react';\nimport React, { createContext, useCallback, useEffect, useState } from 'react';\nimport Semaphore from 'semaphore-async-await';\nimport { POLLING_INTERVAL } from \"../components/index.js\";\nimport { PreviewState } from \"../enums.js\";\nimport { useDocumentViewerApi, useViewerSettings } from \"../hooks/index.js\";\nconst defaultDocumentData = {\n documentName: '',\n documentType: '',\n fileSizekB: 0,\n hostName: '',\n idOrPath: 0,\n pageCount: PreviewState.Loading,\n shapes: {\n annotations: [],\n highlights: [],\n redactions: []\n },\n error: undefined\n};\nexport const defaultDocumentDataContextValue = {\n documentData: defaultDocumentData,\n updateDocumentData: () => undefined,\n isInProgress: false,\n triggerReload: () => {}\n};\nexport const DocumentDataContext = /*#__PURE__*/createContext(defaultDocumentDataContextValue);\nexport const DocumentDataProvider = _ref => {\n let {\n children\n } = _ref;\n const api = useDocumentViewerApi();\n const doc = useViewerSettings();\n const repo = useRepository();\n const [documentData, setDocumentData] = useState(defaultDocumentData);\n const [loadLock] = useState(new Semaphore(1));\n const [isInProgress, setIsInProgress] = useState(false);\n const [reloadToken, setReloadToken] = useState(0);\n\n const triggerReload = () => setReloadToken(prevValue => prevValue + 1);\n\n useEffect(() => {\n const ac = new AbortController();\n\n const getData = async () => {\n const result = await api.getDocumentData({\n hostName: repo.configuration.repositoryUrl,\n idOrPath: doc.documentIdOrPath,\n version: doc.version,\n abortController: ac\n });\n\n if (result.pageCount === PreviewState.Loading && ac.signal.aborted === false) {\n setDocumentData(result);\n await sleepAsync(POLLING_INTERVAL);\n getData();\n } else {\n setDocumentData(result);\n }\n };\n\n (async () => {\n try {\n setIsInProgress(true);\n await loadLock.acquire();\n await getData();\n } catch (error) {\n if (!ac.signal.aborted) {\n setDocumentData({ ...defaultDocumentData,\n pageCount: PreviewState.ClientFailure,\n error: error.toString()\n });\n throw error;\n }\n } finally {\n setIsInProgress(false);\n loadLock.release();\n }\n })();\n\n return () => ac.abort();\n }, [api, doc.documentIdOrPath, doc.version, loadLock, repo.configuration.repositoryUrl, reloadToken]);\n const updateDocumentData = useCallback((newDocData, force) => {\n const merged = deepMerge(documentData, newDocData);\n force ? setDocumentData(merged) : JSON.stringify(documentData) !== JSON.stringify(merged) && setDocumentData(merged);\n }, [documentData]);\n\n if (!documentData.idOrPath) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(DocumentDataContext.Provider, {\n value: {\n documentData,\n updateDocumentData,\n isInProgress,\n triggerReload\n }\n }, children);\n};\n//# sourceMappingURL=document-data.js.map","import { useContext } from 'react';\nimport { DocumentDataContext } from \"../context/document-data.js\";\nexport const useDocumentData = () => useContext(DocumentDataContext);\n//# sourceMappingURL=use-document-data.js.map","import React, { createContext, useEffect, useState } from 'react';\nimport { useDocumentData, useDocumentViewerApi } from \"../hooks/index.js\";\nexport const DocumentPermissionsContext = /*#__PURE__*/createContext({\n canEdit: false,\n canHideRedaction: false,\n canHideWatermark: false\n});\nexport const DocumentPermissionsContextProvider = _ref => {\n let {\n children\n } = _ref;\n const {\n documentData\n } = useDocumentData();\n const api = useDocumentViewerApi();\n const [canEdit, setcanEdit] = useState(false);\n const [canHideRedaction, setcanHideRedaction] = useState(false);\n const [canHideWatermark, setcanHideWatermark] = useState(false);\n const documentIdOrPath = documentData.idOrPath;\n useEffect(() => {\n const abortController = new AbortController();\n\n (async () => {\n try {\n const canEditPromise = api.canEditDocument({\n idOrPath: documentIdOrPath,\n abortController\n });\n const cancanHideRedactionPromise = api.canHideRedaction({\n idOrPath: documentIdOrPath,\n abortController\n });\n const canHideWatermarkPromise = api.canHideWatermark({\n idOrPath: documentIdOrPath,\n abortController\n });\n const [canEditValue, canHideRedactionValue, canHideWatermarkValue] = await Promise.all([canEditPromise, cancanHideRedactionPromise, canHideWatermarkPromise]);\n setcanEdit(canEditValue);\n setcanHideRedaction(canHideRedactionValue);\n setcanHideWatermark(canHideWatermarkValue);\n } catch (error) {\n if (!abortController.signal.aborted) {\n throw error;\n }\n }\n })();\n }, [api, documentIdOrPath]);\n return /*#__PURE__*/React.createElement(DocumentPermissionsContext.Provider, {\n value: {\n canEdit,\n canHideRedaction,\n canHideWatermark\n }\n }, children);\n};\n//# sourceMappingURL=document-permissions.js.map","import { useContext } from 'react';\nimport { DocumentPermissionsContext } from \"../context/document-permissions.js\";\nexport const useDocumentPermissions = () => useContext(DocumentPermissionsContext);\n//# sourceMappingURL=use-document-permissions.js.map","import { deepMerge, toNumber } from '@sensenet/client-utils';\nimport { useRepository } from '@sensenet/hooks-react';\nimport React, { createContext, useMemo } from 'react';\nimport { v1 } from 'uuid';\n\n/**\r\n * Adds a globally unique ID to the shape\r\n */\nconst addGuidToShape = shape => {\n shape.guid = v1();\n return shape;\n};\n/**\r\n * Concatenates avatar url with host\r\n * @param {DocumentData} documentData\r\n */\n\n\nfunction changeCreatedByUrlToCurrent(documentData) {\n return comment => {\n return { ...comment,\n createdBy: { ...comment.createdBy,\n avatarUrl: `${documentData.hostName}${comment.createdBy.avatarUrl}`\n }\n };\n };\n}\n\nexport const DocumentViewerApiSettingsContext = /*#__PURE__*/createContext({\n canEditDocument: async () => false,\n canHideRedaction: async () => false,\n canHideWatermark: async () => false,\n commentActions: {\n addPreviewComment: async _ref => {\n let {\n comment\n } = _ref;\n return { ...comment\n };\n },\n deletePreviewComment: async () => ({\n modified: false\n }),\n getPreviewComments: async () => []\n },\n getDocumentData: async () => ({\n documentName: 'example',\n documentType: '',\n fileSizekB: 3,\n hostName: '',\n idOrPath: 1,\n pageNum: 1,\n pageCount: 0,\n shapes: {\n annotations: [],\n highlights: [],\n redactions: []\n }\n }),\n getExistingPreviewImages: async () => [],\n isPreviewAvailable: async () => ({\n Height: 0,\n Width: 0,\n Index: 0\n }),\n regeneratePreviews: async () => ({\n PageCount: -1,\n PreviewCount: 0\n }),\n saveChanges: async () => undefined\n});\nexport const createDefaultApiSettings = repo => ({\n regeneratePreviews: async _ref2 => {\n let {\n document,\n abortController\n } = _ref2;\n return await repo.preview.regenerate({\n idOrPath: document.idOrPath,\n abortController\n });\n },\n saveChanges: async _ref3 => {\n let {\n document,\n abortController\n } = _ref3;\n const reqBody = {\n Shapes: JSON.stringify([{\n redactions: document.shapes.redactions\n }, {\n highlights: document.shapes.highlights\n }, {\n annotations: document.shapes.annotations\n }])\n };\n await repo.patch({\n idOrPath: document.idOrPath,\n content: reqBody,\n requestInit: {\n signal: abortController.signal\n }\n });\n },\n getDocumentData: async settings => {\n const documentData = (await repo.load({\n idOrPath: settings.idOrPath,\n oDataOptions: {\n select: 'all'\n }\n })).d;\n return {\n idOrPath: settings.idOrPath,\n hostName: repo.configuration.repositoryUrl,\n fileSizekB: documentData.Size,\n pageCount: toNumber(documentData.PageCount, -1),\n documentName: documentData.DisplayName || '',\n documentType: documentData.Type || 'File',\n shapes: documentData.Shapes && {\n redactions: JSON.parse(documentData.Shapes)[0].redactions.map(a => addGuidToShape(a)) || [],\n annotations: JSON.parse(documentData.Shapes)[2].annotations.map(a => addGuidToShape(a)) || [],\n highlights: JSON.parse(documentData.Shapes)[1].highlights.map(a => addGuidToShape(a)) || []\n } || {\n redactions: [],\n annotations: [],\n highlights: []\n }\n };\n },\n isPreviewAvailable: async _ref4 => {\n let {\n document,\n version,\n page,\n abortController\n } = _ref4;\n return await repo.preview.available({\n document,\n version,\n page,\n abortController\n });\n },\n canEditDocument: async _ref5 => {\n let {\n idOrPath,\n abortController\n } = _ref5;\n const response = await repo.security.hasPermission(idOrPath, ['Save'], undefined, {\n signal: abortController.signal,\n credentials: 'include'\n });\n return response;\n },\n canHideRedaction: async _ref6 => {\n let {\n idOrPath,\n abortController\n } = _ref6;\n return await repo.security.hasPermission(idOrPath, ['PreviewWithoutRedaction'], undefined, {\n signal: abortController.signal,\n credentials: 'include'\n });\n },\n canHideWatermark: async _ref7 => {\n let {\n idOrPath,\n abortController\n } = _ref7;\n return await repo.security.hasPermission(idOrPath, ['PreviewWithoutWatermark'], undefined, {\n signal: abortController.signal,\n credentials: 'include'\n });\n },\n getExistingPreviewImages: async _ref8 => {\n let {\n document,\n version,\n abortController\n } = _ref8;\n return await repo.preview.getExistingImages({\n document,\n version,\n abortController\n });\n },\n commentActions: {\n addPreviewComment: async _ref9 => {\n let {\n document,\n comment,\n abortController\n } = _ref9;\n const response = await repo.preview.addComment({\n idOrPath: document.idOrPath,\n comment,\n abortController\n });\n return [response].map(changeCreatedByUrlToCurrent(document))[0];\n },\n deletePreviewComment: async _ref10 => {\n let {\n document,\n commentId,\n abortController\n } = _ref10;\n return await repo.preview.deleteComment({\n idOrPath: document.idOrPath,\n commentId,\n abortController\n });\n },\n getPreviewComments: async _ref11 => {\n let {\n document,\n page,\n abortController\n } = _ref11;\n const response = await repo.preview.getComments({\n idOrPath: document.idOrPath,\n page,\n abortController\n });\n return response.map(changeCreatedByUrlToCurrent(document));\n }\n }\n});\nexport const DocumentViewerApiSettingsProvider = _ref12 => {\n let {\n children,\n options\n } = _ref12;\n const repo = useRepository();\n const settings = useMemo(() => deepMerge(createDefaultApiSettings(repo), options), [repo, options]);\n return /*#__PURE__*/React.createElement(DocumentViewerApiSettingsContext.Provider, {\n value: settings\n }, children);\n};\n//# sourceMappingURL=api-settings.js.map","import { useContext } from 'react';\nimport { DocumentViewerApiSettingsContext } from \"../context/api-settings.js\";\nexport const useDocumentViewerApi = () => useContext(DocumentViewerApiSettingsContext);\n//# sourceMappingURL=use-document-viewer-api.js.map","import { createContext } from 'react';\nimport { PreviewState } from \"../enums.js\";\nexport const defaultLocalization = {\n rotateDocumentLeft: 'Rotate document left',\n rotateDocumentRight: 'Rotate document right',\n rotatePageLeft: 'Rotate page left',\n rotatePageRight: 'Rotate page right',\n zoomIn: 'Zoom in',\n zoomOut: 'Zoom out',\n toggleRedaction: 'Toggle redaction',\n addRedaction: 'Add redaction',\n addAnnotation: 'Add annotation',\n addHighlight: 'Add highlight',\n toggleWatermark: 'Toggle watermark',\n toggleShapes: 'Toggle shapes',\n toggleThumbnails: 'Toggle thumbnails',\n toggleComments: 'Toggle comments',\n firstPage: 'First page',\n previousPage: 'Previous page',\n gotoPage: 'Goto page',\n nextPage: 'Next page',\n lastPage: 'Last page',\n saveChanges: 'Save changes',\n loadingDocument: 'Preview image generation is in progress',\n regeneratePreviews: 'The preview images are not generated yet. Do you want to generate them?',\n regenerateButton: 'Generate',\n errorLoadingDocument: [{\n state: PreviewState.Empty,\n message: 'No preview available, because the document is empty!',\n details: ''\n }, {\n code: 500,\n state: PreviewState.Empty,\n message: 'Ooops! Something went wrong...',\n details: 'An unexpected error seems to have occured. Why not try refreshing your page? If the page still not working try to check back later.'\n }, {\n code: 404,\n state: PreviewState.Empty,\n message: 'Ooops! Something went wrong...',\n details: `You don't have permission to see this document \\r\\n The document you are trying to open has been deleted \\r\\n The document has been moved to another place `\n }, {\n state: PreviewState.UploadFailure,\n message: 'Error during preview generation! No preview available.',\n details: ''\n }, {\n state: PreviewState.Postponed,\n message: 'The preview image generation has been postponed.',\n details: ''\n }, {\n state: PreviewState.ExtensionFailure,\n message: 'No preview available, because this type of file is not supported!',\n details: ''\n }, {\n state: PreviewState.NoPreviewProviderEnabled,\n message: 'There is no preview provider enabled',\n details: ''\n }],\n errorLoadingDetails: 'The following error occured during opening a document: ',\n unknownError: 'Unknown error',\n reloadPage: 'Reload page',\n search: 'Search',\n share: 'Share',\n download: 'Download',\n print: 'Print',\n showMore: '+ Show more',\n showLess: '+ Show less',\n avatarAlt: 'Picture of the commenter',\n delete: 'Delete',\n deleteCommentDialogTitle: 'Delete comment?',\n deleteCommentDialogBody: `1 comment is about to permanently deleted.
Warning: You can't undo this action.`,\n okButton: 'Ok',\n cancelButton: 'Cancel',\n addComment: '+ Add Comment',\n commentInputPlaceholder: 'Make a comment',\n submit: 'Submit',\n inputRequiredError: 'The comment text is a required field.',\n markerRequiredError: 'You must place the marker first.',\n markerTooltip: 'You can put a marker with this button',\n commentSideBarTitle: 'Comments'\n};\nexport const LocalizationContext = /*#__PURE__*/createContext(defaultLocalization);\n//# sourceMappingURL=localization-context.js.map","import { useContext } from 'react';\nimport { LocalizationContext } from \"../context/localization-context.js\";\nexport const useLocalization = () => useContext(LocalizationContext);\n//# sourceMappingURL=use-localization.js.map","export default __webpack_public_path__ + \"static/media/loader.c5e8a702.gif\";","import React, { createContext, useEffect, useState } from 'react';\nimport { PreviewState } from \"../enums.js\";\nimport { useDocumentData, useDocumentViewerApi, useViewerSettings, useViewerState } from \"../hooks/index.js\";\nexport const PreviewImageDataContext = /*#__PURE__*/createContext({\n imageData: [],\n setImageData: () => ({})\n});\nexport const PreviewImageDataContextProvider = props => {\n const viewerSettings = useViewerSettings();\n const api = useDocumentViewerApi();\n const {\n documentData\n } = useDocumentData();\n const viewerState = useViewerState();\n const [previewImages, setPreviewImages] = useState([]);\n useEffect(() => {\n const documentDataWithoutShapes = {\n hostName: documentData.hostName,\n idOrPath: documentData.idOrPath,\n documentName: documentData.documentName,\n documentType: documentData.documentType,\n fileSizekB: documentData.fileSizekB,\n pageCount: documentData.pageCount,\n error: documentData.error\n };\n\n if (documentData.pageCount <= PreviewState.Empty) {\n return;\n }\n\n const abortController = new AbortController();\n\n (async () => {\n try {\n setPreviewImages([]);\n const images = await api.getExistingPreviewImages({\n document: documentDataWithoutShapes,\n version: viewerSettings.version || '',\n showWatermark: viewerState.showWatermark,\n abortController\n });\n setPreviewImages(images);\n } catch (error) {\n if (!abortController.signal.aborted) {\n throw error;\n }\n }\n })();\n\n return () => abortController.abort();\n }, [api, documentData.documentName, documentData.documentType, documentData.error, documentData.fileSizekB, documentData.hostName, documentData.idOrPath, documentData.pageCount, viewerSettings.version, viewerState.showWatermark]);\n return /*#__PURE__*/React.createElement(PreviewImageDataContext.Provider, {\n value: {\n imageData: previewImages,\n setImageData: setPreviewImages\n }\n }, props.children);\n};\n//# sourceMappingURL=preview-image-data.js.map","import { createContext } from 'react';\nexport const defaultViewerProps = {\n documentIdOrPath: '',\n renderAppBar: () => null\n};\nexport const ViewerSettingsContext = /*#__PURE__*/createContext(defaultViewerProps);\n//# sourceMappingURL=viewer-settings.js.map","import { deepMerge, ObservableValue } from '@sensenet/client-utils';\nimport React, { createContext, useCallback, useEffect, useState } from 'react';\nexport const DEFAULT_ZOOM_LEVEL = 3;\nexport const defaultViewerState = {\n activePage: 1,\n showWatermark: false,\n showRedaction: true,\n showShapes: true,\n showThumbnails: false,\n zoomLevel: DEFAULT_ZOOM_LEVEL,\n rotation: undefined,\n showComments: false,\n hasChanges: false,\n isPlacingCommentMarker: false,\n activeShapePlacing: 'none',\n isCreateCommentActive: false,\n pageToGo: new ObservableValue({\n page: 1\n }),\n updateState: () => {},\n pagesRects: new Array(),\n boxPosition: {\n left: 0,\n top: 0,\n bottom: 0,\n right: 0\n },\n currentlyResizedElementId: undefined\n};\nexport const ViewerStateContext = /*#__PURE__*/createContext(defaultViewerState);\nexport const ViewerStateProvider = props => {\n const [state, setState] = useState(deepMerge({ ...defaultViewerState\n }, props.options));\n useEffect(() => {\n setState(deepMerge({ ...defaultViewerState\n }, props.options));\n }, [props.options]);\n const updateState = useCallback(callback => {\n if (callback instanceof Function) {\n setState(previous => deepMerge(previous, callback(previous)));\n } else {\n setState(previous => deepMerge(previous, callback));\n }\n }, []);\n return /*#__PURE__*/React.createElement(ViewerStateContext.Provider, {\n value: { ...state,\n updateState\n }\n }, props.children);\n};\n//# sourceMappingURL=viewer-state.js.map","/**\r\n * The amount of rotation in degrees\r\n */\nexport const ROTATION_AMOUNT = 90;\n/**\r\n * Visibility of the rotation related buttons\r\n */\n\nexport let ROTATION_MODE;\n/**\r\n * Defined the component's own properties\r\n */\n\n(function (ROTATION_MODE) {\n ROTATION_MODE[ROTATION_MODE[\"clockwise\"] = 0] = \"clockwise\";\n ROTATION_MODE[ROTATION_MODE[\"anticlockwise\"] = 1] = \"anticlockwise\";\n ROTATION_MODE[ROTATION_MODE[\"all\"] = 2] = \"all\";\n})(ROTATION_MODE || (ROTATION_MODE = {}));\n//# sourceMappingURL=rotation-model.js.map","import { createMuiTheme } from '@material-ui/core';\n/**\r\n * The default theme\r\n */\n\nexport const defaultTheme = createMuiTheme({\n palette: {\n primary: {\n main: '#3c91f1'\n },\n secondary: {\n main: '#ff9800'\n },\n background: {\n default: '#f5f5f5',\n paper: '#fff'\n }\n },\n overrides: {\n MuiTypography: {\n h4: {\n padding: '10px',\n paddingBottom: '16px'\n }\n },\n MuiCardContent: {\n root: {\n '&:last-child': {\n paddingBottom: '16px'\n }\n }\n },\n MuiFilledInput: {\n root: {\n backgroundColor: '#fff'\n },\n multiline: {\n padding: '27px 0px 10px 10px'\n }\n },\n MuiDrawer: {\n paper: {\n backgroundColor: 'transparent'\n },\n docked: {\n backgroundColor: '#eaeaeb'\n }\n },\n MuiToolbar: {\n root: {\n backgroundColor: '#fff',\n color: '#707070'\n }\n },\n MuiButton: {\n root: {\n textTransform: 'none'\n }\n }\n }\n});\n//# sourceMappingURL=theming.js.map","import { createStyles, makeStyles, Typography } from '@material-ui/core';\nimport React from 'react';\nimport { useDocumentData, useLocalization } from \"../hooks/index.js\";\nconst useStyles = makeStyles(() => {\n return createStyles({\n mainWrapper: {\n display: 'flex',\n justifyContent: 'space-around',\n alignContent: 'center',\n alignItems: 'center',\n height: '100%'\n },\n errorWrapper: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n flexDirection: 'column',\n maxWidth: 500,\n margin: '.5em 0 .6em 0'\n }\n });\n});\n/**\r\n * Component to display viewer related errors\r\n */\n\nexport const DocumentViewerError = () => {\n var _localization$errorLo;\n\n const classes = useStyles();\n const {\n documentData\n } = useDocumentData();\n const localization = useLocalization();\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classes.mainWrapper\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classes.errorWrapper\n }, /*#__PURE__*/React.createElement(\"svg\", {\n width: \"442px\",\n height: \"290px\",\n viewBox: \"0 0 442 240\",\n version: \"1.1\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Page-1\",\n stroke: \"none\",\n strokeWidth: \"1\",\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"No-provider\",\n transform: \"translate(-9.000000, 5.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Document\",\n transform: \"translate(9.000000, 0.000000)\"\n }, /*#__PURE__*/React.createElement(\"ellipse\", {\n id: \"Oval-2\",\n fill: \"#DFDFDF\",\n cx: \"221\",\n cy: \"230\",\n rx: \"221\",\n ry: \"27\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M129.868875,229.165007 L129.868875,6.81087018 C129.868875,3.49716168 132.555166,0.810870179 135.868875,0.810870179 L262.245476,0.810870179 C263.836775,0.810870179 265.362898,1.44301122 266.488117,2.56822949 L311.211391,47.2915035 C312.336609,48.4167218 312.96875,49.9428453 312.96875,51.5341442 L312.96875,229.724935 C312.96875,233.038644 310.282458,235.724935 306.96875,235.724935 C306.962205,235.724935 306.95566,235.724924 306.949115,235.724903 L135.84924,235.164975 C132.543214,235.154156 129.868875,232.47105 129.868875,229.165007 Z\",\n id: \"Path\",\n stroke: \"#A4A8AD\",\n strokeWidth: \"11\",\n fill: \"#EEEEEE\"\n }), /*#__PURE__*/React.createElement(\"ellipse\", {\n id: \"Oval\",\n fill: \"#A4A8AD\",\n cx: \"184\",\n cy: \"120.5\",\n rx: \"9\",\n ry: \"10.5\"\n }), /*#__PURE__*/React.createElement(\"ellipse\", {\n id: \"Oval-Copy\",\n fill: \"#A4A8AD\",\n cx: \"259\",\n cy: \"120.5\",\n rx: \"9\",\n ry: \"10.5\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M203.877833,155.306526 C215.78965,143.944752 227.408534,143.944752 238.734486,155.306526\",\n id: \"Path-2\",\n stroke: \"#A4A8AD\",\n strokeWidth: \"7\",\n strokeLinecap: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M262.50809,3.20349862 L262.50809,46.2114256 C262.50809,47.3159951 263.40352,48.2114256 264.50809,48.2114256 L308.124241,48.2114256\",\n id: \"Path-2\",\n stroke: \"#A4A8AD\",\n strokeWidth: \"11\"\n }))))), /*#__PURE__*/React.createElement(Typography, {\n variant: \"subtitle1\",\n color: \"textSecondary\",\n align: \"center\",\n style: {\n whiteSpace: 'pre-wrap'\n }\n }, localization.errorLoadingDetails), /*#__PURE__*/React.createElement(Typography, {\n variant: \"h5\",\n color: \"textSecondary\",\n align: \"center\",\n style: {\n fontWeight: 'bolder'\n }\n }, ((_localization$errorLo = localization.errorLoadingDocument.find(e => e.state === documentData.pageCount)) === null || _localization$errorLo === void 0 ? void 0 : _localization$errorLo.message) || localization.unknownError)));\n};\n//# sourceMappingURL=document-viewer-error.js.map","import { createStyles, Drawer, makeStyles, Typography } from '@material-ui/core';\nimport React, { useCallback, useEffect } from 'react';\nimport { CommentsContext } from \"../context/comments.js\";\nimport { useLocalization, useViewerSettings, useViewerState } from \"../hooks/index.js\";\nimport { Comment, CreateComment } from \"./comment/index.js\";\nimport { PageList, Thumbnails } from \"./index.js\";\nexport const THUMBNAIL_PADDING = 16;\nexport const THUMBNAIL_NAME = 'Thumbnail';\nexport const THUMBNAIL_CONTAINER_ID = 'sn-document-viewer-thumbnails';\nexport const PAGE_PADDING = 8;\nexport const PAGE_NAME = 'Page';\nexport const PAGE_CONTAINER_ID = 'sn-document-viewer-pages';\nconst useStyles = makeStyles(() => {\n return createStyles({\n mainWrapper: {\n width: '100%',\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1\n },\n layout: {\n display: 'flex',\n flexGrow: 1,\n width: '100%',\n overflow: 'hidden',\n zIndex: 0,\n position: 'relative'\n },\n commentContainer: {\n display: 'flex',\n flexFlow: 'column',\n padding: '15px',\n justifyContent: 'space-between',\n alignItems: 'center',\n overflow: 'auto'\n }\n });\n});\nexport const DocumentViewerLayout = () => {\n const classes = useStyles();\n const viewerState = useViewerState();\n const localization = useLocalization();\n const viewerSettings = useViewerSettings();\n const scrollToImage = useCallback(_ref => {\n let {\n containerId,\n index,\n itemName,\n padding,\n smoothScroll\n } = _ref;\n const container = document.getElementById(containerId);\n const item = document.querySelector(`.${itemName}`);\n\n if (container && container.scrollTo && item) {\n container.scrollTo({\n top: (item.clientHeight + padding * 4) * (index - 1),\n behavior: smoothScroll ? 'smooth' : 'auto'\n });\n }\n }, []);\n const scrollTo = useCallback(function (index) {\n let smoothScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n scrollToImage({\n containerId: PAGE_CONTAINER_ID,\n itemName: PAGE_NAME,\n padding: PAGE_PADDING,\n index,\n smoothScroll\n });\n scrollToImage({\n containerId: THUMBNAIL_CONTAINER_ID,\n itemName: THUMBNAIL_NAME,\n padding: THUMBNAIL_PADDING,\n index,\n smoothScroll\n });\n }, [scrollToImage]);\n useEffect(() => {\n const observer = viewerState.pageToGo.subscribe(_ref2 => {\n let {\n page\n } = _ref2;\n scrollTo(page);\n });\n return () => observer.dispose();\n }, [scrollTo, viewerState.pageToGo]);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classes.mainWrapper\n }, viewerSettings.renderAppBar(), /*#__PURE__*/React.createElement(\"div\", {\n className: classes.layout\n }, /*#__PURE__*/React.createElement(Drawer, {\n variant: 'persistent',\n open: viewerState.showThumbnails,\n anchor: \"left\",\n SlideProps: viewerSettings.drawerSlideProps,\n PaperProps: {\n style: {\n position: 'relative',\n width: viewerState.showThumbnails ? '200px' : 0,\n height: '100%',\n overflow: 'hidden'\n }\n }\n }, viewerState.showThumbnails && /*#__PURE__*/React.createElement(Thumbnails, {\n onPageClick: index => scrollTo(index)\n })), /*#__PURE__*/React.createElement(PageList, {\n onPageClick: index => scrollTo(index)\n }), /*#__PURE__*/React.createElement(Drawer, {\n variant: 'persistent',\n open: viewerState.showComments,\n anchor: \"right\",\n SlideProps: viewerSettings.drawerSlideProps,\n PaperProps: {\n style: {\n position: 'relative',\n width: viewerState.showComments ? '340px' : 0,\n height: '100%',\n overflow: 'hidden'\n }\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classes.commentContainer\n }, /*#__PURE__*/React.createElement(Typography, {\n variant: \"h4\"\n }, localization.commentSideBarTitle), /*#__PURE__*/React.createElement(CreateComment, null), /*#__PURE__*/React.createElement(CommentsContext.Consumer, null, commentsContext => commentsContext.comments.map(comment => /*#__PURE__*/React.createElement(Comment, {\n key: comment.id,\n comment: comment\n })))))));\n};\n//# sourceMappingURL=document-viewer-layout.js.map","import { createStyles, makeStyles, Typography } from '@material-ui/core';\nimport React from 'react';\nimport { useLocalization } from \"../hooks/index.js\";\nconst useStyles = makeStyles(() => {\n return createStyles({\n mainWrapper: {\n display: 'flex',\n justifyContent: 'space-around',\n alignContent: 'center',\n alignItems: 'center',\n height: '100%'\n },\n loaderWrapper: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n flexDirection: 'column',\n maxWidth: 500,\n margin: '.5em 0 .6em 0'\n },\n typography: {\n marginTop: '1rem',\n fontWeight: 'bolder'\n }\n });\n});\nexport const DocumentViewerLoading = props => {\n const classes = useStyles();\n const localization = useLocalization();\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classes.mainWrapper\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classes.loaderWrapper\n }, /*#__PURE__*/React.createElement(\"img\", {\n src: props.image,\n alt: \"Loader\"\n }), /*#__PURE__*/React.createElement(Typography, {\n variant: \"h5\",\n color: \"textSecondary\",\n align: \"center\",\n className: classes.typography\n }, localization.loadingDocument)));\n};\n//# sourceMappingURL=document-viewer-loading.js.map","import { Button, CircularProgress, createStyles, makeStyles, Typography } from '@material-ui/core';\nimport React, { useState } from 'react';\nimport { useDocumentData, useDocumentViewerApi, useLocalization } from \"../hooks/index.js\";\nconst useStyles = makeStyles(() => {\n return createStyles({\n mainWrapper: {\n display: 'flex',\n justifyContent: 'space-around',\n alignContent: 'center',\n alignItems: 'center',\n height: '100%'\n },\n regenerateWrapper: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n flexDirection: 'column',\n maxWidth: 500,\n margin: '.5em 0 .6em 0'\n }\n });\n});\nexport const DocumentViewerRegeneratePreviews = () => {\n const classes = useStyles();\n const [isRegenerating, setIsRegenerating] = useState(false);\n const localization = useLocalization();\n const api = useDocumentViewerApi();\n const {\n documentData,\n updateDocumentData,\n isInProgress,\n triggerReload\n } = useDocumentData();\n /**\r\n * renders the component\r\n */\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classes.mainWrapper\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classes.regenerateWrapper\n }, /*#__PURE__*/React.createElement(Typography, {\n variant: \"subtitle1\",\n color: \"textSecondary\",\n align: \"center\",\n gutterBottom: true\n }, localization.regeneratePreviews), /*#__PURE__*/React.createElement(Button, {\n variant: \"contained\",\n disabled: isRegenerating || isInProgress,\n onClick: async () => {\n setIsRegenerating(true);\n const result = await api.regeneratePreviews({\n document: documentData,\n abortController: new AbortController()\n });\n updateDocumentData({ ...documentData,\n pageCount: result.PageCount\n });\n setIsRegenerating(false);\n triggerReload();\n }\n }, isRegenerating && /*#__PURE__*/React.createElement(CircularProgress, {\n size: 24,\n style: {\n marginRight: '1em'\n }\n }), localization.regenerateButton)));\n};\n//# sourceMappingURL=document-viewer-regenerate-previews.js.map","import { MuiThemeProvider } from '@material-ui/core';\nimport { deepMerge } from '@sensenet/client-utils';\nimport React from 'react';\nimport loaderImage from '../assets/loader.gif';\nimport { CommentsContextProvider, CommentStateProvider, defaultLocalization, DocumentDataContext, DocumentDataProvider, DocumentPermissionsContextProvider, DocumentViewerApiSettingsProvider, LocalizationContext, PreviewImageDataContextProvider, ViewerSettingsContext, ViewerStateProvider } from \"../context/index.js\";\nimport { PreviewState } from \"../enums.js\";\nimport { defaultTheme } from \"../models/index.js\";\nimport { DocumentViewerError } from \"./document-viewer-error.js\";\nimport { DocumentViewerLayout } from \"./document-viewer-layout.js\";\nimport { DocumentViewerLoading } from \"./document-viewer-loading.js\";\nimport { DocumentViewerRegeneratePreviews } from \"./document-viewer-regenerate-previews.js\";\nexport const POLLING_INTERVAL = 5000;\n/**\r\n * Defined the component's own properties\r\n */\n\nexport const DocumentViewer = props => {\n return /*#__PURE__*/React.createElement(DocumentViewerApiSettingsProvider, {\n options: props.api\n }, /*#__PURE__*/React.createElement(LocalizationContext.Provider, {\n value: deepMerge(defaultLocalization, props.localization)\n }, /*#__PURE__*/React.createElement(ViewerSettingsContext.Provider, {\n value: props\n }, /*#__PURE__*/React.createElement(MuiThemeProvider, {\n theme: props.theme || defaultTheme\n }, /*#__PURE__*/React.createElement(DocumentDataProvider, null, /*#__PURE__*/React.createElement(DocumentPermissionsContextProvider, null, /*#__PURE__*/React.createElement(PreviewImageDataContextProvider, null, /*#__PURE__*/React.createElement(DocumentDataContext.Consumer, null, _ref => {\n let {\n documentData\n } = _ref;\n if (documentData.pageCount === PreviewState.Loading) return /*#__PURE__*/React.createElement(DocumentViewerLoading, {\n image: props.loaderImage || loaderImage\n });\n\n if (documentData.pageCount === PreviewState.Postponed) {\n return /*#__PURE__*/React.createElement(DocumentViewerRegeneratePreviews, null);\n } else if (documentData.pageCount < 0 || documentData.error) {\n return /*#__PURE__*/React.createElement(DocumentViewerError, null);\n }\n\n return /*#__PURE__*/React.createElement(ViewerStateProvider, {\n options: props.defaultState\n }, /*#__PURE__*/React.createElement(CommentStateProvider, null, /*#__PURE__*/React.createElement(CommentsContextProvider, null, /*#__PURE__*/React.createElement(DocumentViewerLayout, null))));\n }))))))));\n};\n//# sourceMappingURL=document-viewer.js.map","import { sleepAsync } from '@sensenet/client-utils';\nimport { useEffect, useMemo } from 'react';\nimport { POLLING_INTERVAL } from \"../components/document-viewer.js\";\nimport { useDocumentData, useDocumentViewerApi, usePreviewImages, useViewerSettings, useViewerState } from \"./index.js\";\nexport const usePreviewImage = pageNo => {\n const api = useDocumentViewerApi();\n const {\n documentData\n } = useDocumentData();\n const viewerSettings = useViewerSettings();\n const viewerState = useViewerState();\n const {\n imageData,\n setImageData\n } = usePreviewImages();\n const currentPageData = useMemo(() => imageData.find(i => i.Index === pageNo), [imageData, pageNo]);\n useEffect(() => {\n const abortController = new AbortController();\n\n const getPreviewImageData = async () => {\n try {\n const previewImageData = await api.isPreviewAvailable({\n abortController,\n document: documentData,\n page: pageNo,\n showWatermark: viewerState.showWatermark,\n version: viewerSettings.version\n });\n\n if (previewImageData !== null && previewImageData !== void 0 && previewImageData.PreviewAvailable) {\n if (previewImageData.PreviewImageUrl) {\n setImageData(previousValue => {\n const newImages = [...previousValue];\n const oldValueIndex = newImages.findIndex(image => image.Index === pageNo);\n\n if (oldValueIndex !== -1) {\n newImages[oldValueIndex] = { ...previewImageData,\n Index: pageNo\n };\n return newImages;\n } else {\n newImages.push({ ...previewImageData,\n Index: pageNo\n });\n return newImages;\n }\n });\n }\n } else {\n await sleepAsync(POLLING_INTERVAL);\n getPreviewImageData();\n }\n } catch (error) {\n if (!abortController.signal.aborted) {\n throw error;\n }\n }\n };\n\n if (currentPageData && !currentPageData.PreviewImageUrl) {\n getPreviewImageData();\n }\n\n return () => abortController.abort();\n }, [api, currentPageData, documentData, pageNo, setImageData, viewerSettings.version, viewerState.showWatermark]);\n return {\n context: setImageData,\n image: currentPageData\n };\n};\n//# sourceMappingURL=use-preview-image.js.map","import { useContext } from 'react';\nimport { PreviewImageDataContext } from \"../context/preview-image-data.js\";\nexport const usePreviewImages = () => {\n return useContext(PreviewImageDataContext);\n};\n//# sourceMappingURL=use-preview-images.js.map","import { useContext } from 'react';\nimport { ViewerSettingsContext } from \"../context/viewer-settings.js\";\nexport const useViewerSettings = () => useContext(ViewerSettingsContext);\n//# sourceMappingURL=use-viewer-settings.js.map","import { useContext } from 'react';\nimport { ViewerStateContext } from \"../context/viewer-state.js\";\nexport const useViewerState = () => useContext(ViewerStateContext);\n//# sourceMappingURL=use-viewer-state.js.map","import { Avatar, Button, CardActions, CardContent, CardHeader, Collapse, Typography } from '@material-ui/core';\nimport { useRepository } from '@sensenet/hooks-react';\nimport React, { useEffect, useState } from 'react';\nimport { useCommentState, useLocalization } from \"../../hooks/index.js\";\nimport { CommentCard, DeleteButton } from \"./index.js\";\n/**\r\n * Comment prop type\r\n */\n\nconst MAX_TEXT_LENGTH = 160;\n/**\r\n * Represents a single comment component.\r\n */\n\nexport const Comment = props => {\n const isLongText = props.comment.text && props.comment.text.length > MAX_TEXT_LENGTH;\n const [isOpen, setIsOpen] = useState(!isLongText);\n const localization = useLocalization();\n const commentState = useCommentState();\n const repo = useRepository();\n const [isSelected, setIsSelected] = useState(props.comment.id === commentState.activeCommentId);\n useEffect(() => {\n setIsSelected(props.comment.id === commentState.activeCommentId);\n }, [commentState.activeCommentId, props.comment.id]);\n return /*#__PURE__*/React.createElement(CommentCard, {\n active: isSelected,\n onClick: () => commentState.setActiveComment(props.comment.id)\n }, /*#__PURE__*/React.createElement(CardHeader, {\n avatar: repo.configuration.repositoryUrl === props.comment.createdBy.avatarUrl ? /*#__PURE__*/React.createElement(Avatar, null) : /*#__PURE__*/React.createElement(Avatar, {\n src: props.comment.createdBy.avatarUrl,\n alt: localization.avatarAlt\n }),\n title: props.comment.createdBy.displayName\n }), /*#__PURE__*/React.createElement(Collapse, {\n in: isOpen,\n timeout: \"auto\",\n collapsedHeight: isOpen ? '0px' : '78px'\n }, /*#__PURE__*/React.createElement(CardContent, null, /*#__PURE__*/React.createElement(Typography, {\n style: {\n wordBreak: 'break-word'\n }\n }, props.comment.text))), /*#__PURE__*/React.createElement(CardActions, null, isLongText ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Button, {\n size: \"small\",\n onClick: () => setIsOpen(!isOpen)\n }, isOpen ? localization.showLess : localization.showMore), isOpen ? /*#__PURE__*/React.createElement(DeleteButton, {\n comment: props.comment\n }) : null) : /*#__PURE__*/React.createElement(DeleteButton, {\n comment: props.comment\n })));\n};\n//# sourceMappingURL=comment.js.map","import { Button, createStyles, FormControl, FormHelperText, IconButton, InputAdornment, makeStyles, TextField, Tooltip } from '@material-ui/core';\nimport React, { useCallback, useState } from 'react';\nimport { useCommentState, useDocumentData, useDocumentViewerApi, useLocalization, useViewerState } from \"../../hooks/index.js\";\nimport { PushPinIcon } from \"./index.js\";\nconst useStyles = makeStyles(theme => {\n return createStyles({\n buttonContainer: {\n display: 'flex',\n flexDirection: 'row-reverse'\n },\n form: {\n width: '100%',\n display: 'flex'\n },\n activePin: {\n color: theme.palette.primary.light\n }\n });\n});\n/**\r\n * Represents a comment creator component\r\n */\n\nexport function CreateComment() {\n var _viewerState$rotation, _viewerState$rotation2;\n\n const classes = useStyles();\n const [errorMessage, setErrorMessage] = useState();\n const [createCommentValue, setCreateCommentValue] = useState('');\n const localization = useLocalization();\n const commentState = useCommentState();\n const viewerState = useViewerState();\n const api = useDocumentViewerApi();\n const {\n documentData\n } = useDocumentData();\n const pageRotation = ((_viewerState$rotation = viewerState.rotation) === null || _viewerState$rotation === void 0 ? void 0 : (_viewerState$rotation2 = _viewerState$rotation.find(rotation => rotation.pageNum === viewerState.activePage)) === null || _viewerState$rotation2 === void 0 ? void 0 : _viewerState$rotation2.degree) || 0;\n const createComment = useCallback(text => {\n if (!commentState.draft) {\n return;\n }\n\n try {\n api.commentActions.addPreviewComment({\n document: documentData,\n comment: { ...commentState.draft,\n text,\n page: commentState.draft.page\n },\n abortController: new AbortController()\n });\n } catch (error) {\n console.log(error);\n }\n }, [api.commentActions, commentState.draft, documentData]);\n const clearState = useCallback(() => {\n commentState.setDraft(undefined);\n viewerState.updateState({\n isPlacingCommentMarker: false,\n isCreateCommentActive: !viewerState.isCreateCommentActive\n });\n setCreateCommentValue('');\n setErrorMessage(undefined);\n }, [commentState, viewerState]);\n const validate = useCallback(() => {\n if (!createCommentValue) {\n return localization.inputRequiredError;\n }\n\n if (!commentState.draft) {\n return localization.markerRequiredError;\n }\n\n return undefined;\n }, [commentState.draft, createCommentValue, localization.inputRequiredError, localization.markerRequiredError]);\n const handleSubmit = useCallback(event => {\n event.preventDefault();\n const errorText = validate();\n\n if (errorText) {\n setErrorMessage(errorText);\n return;\n }\n\n createComment(createCommentValue);\n clearState();\n }, [clearState, createComment, createCommentValue, validate]);\n\n const handleOnChange = e => {\n setCreateCommentValue(e.target.value);\n setErrorMessage(undefined);\n };\n\n if (!viewerState.isCreateCommentActive) {\n return /*#__PURE__*/React.createElement(Button, {\n disabled: pageRotation !== 0,\n color: \"primary\",\n onClick: () => viewerState.updateState({\n isCreateCommentActive: !viewerState.isCreateCommentActive\n })\n }, localization.addComment);\n }\n\n return /*#__PURE__*/React.createElement(\"form\", {\n className: classes.form,\n onSubmit: handleSubmit\n }, /*#__PURE__*/React.createElement(FormControl, {\n fullWidth: true,\n error: !!errorMessage\n }, /*#__PURE__*/React.createElement(TextField, {\n id: \"comment-input\",\n multiline: true,\n label: localization.commentInputPlaceholder,\n margin: \"normal\",\n variant: \"filled\",\n value: createCommentValue,\n onChange: handleOnChange,\n InputProps: {\n endAdornment: /*#__PURE__*/React.createElement(InputAdornment, {\n position: \"end\"\n }, /*#__PURE__*/React.createElement(Tooltip, {\n placement: \"top\",\n title: localization.markerTooltip\n }, /*#__PURE__*/React.createElement(IconButton, {\n \"aria-label\": \"Toggle\",\n onClick: () => viewerState.updateState({\n activeShapePlacing: 'none',\n isPlacingCommentMarker: !viewerState.isPlacingCommentMarker\n })\n }, /*#__PURE__*/React.createElement(PushPinIcon, {\n isPlacingMarker: viewerState.isPlacingCommentMarker,\n viewBox: \"0 0 100 125\"\n }))))\n }\n }), errorMessage ? /*#__PURE__*/React.createElement(FormHelperText, {\n id: \"component-error-text\"\n }, errorMessage) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: classes.buttonContainer\n }, /*#__PURE__*/React.createElement(Button, {\n style: {\n alignSelf: 'flex-end'\n },\n fullWidth: false,\n color: \"primary\",\n variant: \"text\",\n type: \"submit\"\n }, localization.submit), /*#__PURE__*/React.createElement(Button, {\n onClick: clearState,\n style: {\n alignSelf: 'flex-end'\n },\n fullWidth: false,\n variant: \"text\"\n }, localization.cancelButton))));\n}\n//# sourceMappingURL=create-comment.js.map","import { Button, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle } from '@material-ui/core';\nimport React from 'react';\n/**\r\n * Interface for confirmation dialog component properties\r\n */\n\n/**\r\n * Represents a confirmation dialog\r\n */\nexport const ConfirmationDialog = props => {\n const handleCancel = () => props.onClose(true);\n\n const handleOk = () => props.onClose(false);\n\n return /*#__PURE__*/React.createElement(Dialog, {\n disableBackdropClick: true,\n disableEscapeKeyDown: true,\n maxWidth: \"md\",\n \"aria-labelledby\": \"confirmation-dialog-title\",\n \"aria-describedby\": \"confirmation-dialog-description\",\n open: props.isOpen\n }, /*#__PURE__*/React.createElement(DialogTitle, {\n id: \"confirmation-dialog-title\"\n }, props.dialogTitle), /*#__PURE__*/React.createElement(DialogContent, null, /*#__PURE__*/React.createElement(DialogContentText, {\n dangerouslySetInnerHTML: {\n __html: props.children\n },\n id: \"confirmation-dialog-description\"\n })), /*#__PURE__*/React.createElement(DialogActions, null, /*#__PURE__*/React.createElement(Button, {\n onClick: handleOk,\n variant: \"contained\",\n color: \"primary\"\n }, props.okButtonText || 'ok'), /*#__PURE__*/React.createElement(Button, {\n onClick: handleCancel\n }, props.cancelButtonText || 'cancel')));\n};\n//# sourceMappingURL=confirmation-dialog.js.map","import { Button } from '@material-ui/core';\nimport React, { useState } from 'react';\nimport { useDocumentData, useDocumentViewerApi, useLocalization } from \"../../hooks/index.js\";\nimport { ConfirmationDialog } from \"../confirmation-dialog.js\"; // type DeleteButtonProps = Pick\n\n/**\r\n * Represents a delete button with confirmation dialog\r\n */\nexport const DeleteButton = props => {\n const [isDialogOpen, setIsDialogOpen] = useState(false);\n const api = useDocumentViewerApi();\n const {\n documentData\n } = useDocumentData();\n const localization = useLocalization();\n\n const handleClick = () => {\n setIsDialogOpen(true);\n };\n\n const handleDialogClose = isCanceled => {\n if (!isCanceled) {\n api.commentActions.deletePreviewComment({\n document: documentData,\n commentId: props.comment.id,\n abortController: new AbortController()\n });\n }\n\n setIsDialogOpen(false);\n };\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Button, {\n color: \"primary\",\n size: \"small\",\n onClick: handleClick\n }, localization.delete), /*#__PURE__*/React.createElement(ConfirmationDialog, {\n dialogTitle: localization.deleteCommentDialogTitle,\n cancelButtonText: localization.cancelButton,\n okButtonText: localization.okButton,\n isOpen: isDialogOpen,\n onClose: handleDialogClose\n }, localization.deleteCommentDialogBody));\n};\n//# sourceMappingURL=delete-comment-button.js.map","import { createStyles, makeStyles, SvgIcon } from '@material-ui/core';\nimport React from 'react';\nconst useStyles = makeStyles(theme => createStyles({\n root: {\n color: _ref => {\n let {\n isPlacingMarker\n } = _ref;\n return `${isPlacingMarker ? theme.palette.primary.light : 'inherit'}`;\n },\n transform: _ref2 => {\n let {\n isPlacingMarker\n } = _ref2;\n return `${isPlacingMarker ? 'rotate(90deg)' : 'none'}`;\n }\n }\n}));\n/**\r\n * Return a styled pushpin icon\r\n * @param isPlacingMarker A flag to store if placing marker is in progress or not\r\n * @param viewBox Viewbox property\r\n * @returns styled pushpin icon\r\n */\n\nexport function PushPinIcon(_ref3) {\n let {\n isPlacingMarker,\n viewBox\n } = _ref3;\n const classes = useStyles({\n isPlacingMarker,\n viewBox\n });\n return /*#__PURE__*/React.createElement(SvgIcon, {\n className: classes.root,\n viewBox: viewBox\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M47.906 86.486L49.798 100h.404l1.892-13.514.901-22.244h-5.99zM77.333 59.566L75.3 50.711a3.154 3.154 0 0 0-.342-.955 1.399 1.399 0 0 0-.209-.317 2.023 2.023 0 0 0-.61-.535c-.132-.073-.261-.154-.392-.229a9.516 9.516 0 0 0-.899-.452 15.693 15.693 0 0 0-1.792-.63c-.235-.07-.471-.135-.709-.197a46.573 46.573 0 0 0-.758-.187c-.321-.075-.646-.134-.969-.198-.503-.106-1-.242-1.499-.365-.136-.034-.276-.07-.414-.107a8.767 8.767 0 0 1-.933-.306 6.262 6.262 0 0 1-1.659-.966 6.75 6.75 0 0 1-.709-.663 6.324 6.324 0 0 1-.609-.755 6.302 6.302 0 0 1-.49-.836 5.86 5.86 0 0 1-.351-.903 7.628 7.628 0 0 1-.222-.963 16.797 16.797 0 0 1-.129-1.001c-.009-.08-.024-.163-.024-.242v.354l-.007-.103-.007-.118c-.001-.05-.005-.099-.008-.149a12.968 12.968 0 0 0-.011-.191l-.014-.242-.017-.302c-.007-.119-.015-.239-.021-.359l-.023-.419c-.011-.158-.018-.314-.026-.474a45.466 45.466 0 0 1-.03-.521 34.99 34.99 0 0 1-.031-.565 102.69 102.69 0 0 1-.034-.599l-.036-.628-.035-.65-.039-.67-.039-.686c-.014-.233-.025-.466-.039-.698-.014-.238-.028-.475-.04-.713-.015-.24-.027-.481-.041-.722l-.041-.733-.042-.741-.044-.749a92.367 92.367 0 0 0-.042-.753c-.014-.251-.029-.502-.041-.753l-.043-.75c-.016-.247-.028-.495-.042-.741-.014-.244-.027-.487-.043-.729-.011-.239-.026-.477-.039-.713-.014-.23-.025-.461-.039-.692l-.036-.665c-.013-.212-.026-.424-.035-.636-.014-.2-.024-.401-.036-.602-.011-.188-.02-.378-.033-.566-.008-.176-.02-.355-.028-.531l-.028-.493c-.01-.152-.017-.305-.026-.456a20.348 20.348 0 0 1-.023-.427l-.023-.396a16.229 16.229 0 0 0-.05-.7 1.43 1.43 0 0 1 .078-.683c.035-.091.065-.197.114-.283.071-.184.15-.366.237-.545a6.15 6.15 0 0 1 .633-1.002c.237-.311.497-.607.777-.882a5.495 5.495 0 0 1 1.506-1.068c.279-.138.558-.266.856-.359.215-.067.433-.14.653-.192.094-.032.187-.061.28-.093.12-.039.24-.082.358-.125.124-.046.24-.105.36-.16.144-.065.287-.13.428-.203.208-.108.411-.239.593-.39.081-.068.159-.144.227-.227.383-.366.638-.903.746-1.521l2.034-8.856A2.042 2.042 0 0 0 68.194 0H31.806a2.038 2.038 0 0 0-2.033 2.032l2.034 8.856c.108.618.363 1.155.746 1.521.067.083.146.159.227.227.182.15.385.281.593.39.141.073.284.138.428.203.12.055.237.114.36.16.118.043.238.086.358.125l.281.093c.219.053.438.125.652.192.298.094.576.222.855.359a5.544 5.544 0 0 1 1.507 1.068c.279.274.539.571.776.882.241.314.457.647.633 1.002.087.179.166.361.237.545.05.086.079.192.114.283.089.226.101.444.078.683-.022.233-.037.466-.05.7-.009.133-.016.265-.023.396-.007.143-.015.284-.024.427-.01.151-.017.304-.026.456l-.027.493c-.01.177-.021.356-.029.531-.013.188-.022.378-.032.566-.013.2-.023.401-.036.602-.01.212-.022.424-.036.636-.011.222-.023.443-.036.665-.014.231-.025.462-.039.692-.013.236-.028.474-.039.713l-.043.729c-.014.246-.026.494-.042.741l-.043.75c-.012.251-.027.502-.041.753l-.042.753-.044.749-.042.741-.041.733c-.014.241-.026.481-.041.722-.012.238-.026.475-.039.713-.015.232-.026.465-.04.698l-.039.686-.039.67c-.011.218-.025.435-.035.65l-.036.628-.033.599-.032.565-.03.521-.025.474c-.009.14-.017.278-.023.419l-.021.359-.017.302-.014.242-.011.191c-.003.05-.007.099-.008.149l-.007.118c-.003.034-.004.068-.006.103v-.354c0 .079-.017.162-.025.242-.035.335-.074.669-.129 1.001a7.628 7.628 0 0 1-.222.963c-.093.31-.21.612-.352.903a6.521 6.521 0 0 1-1.099 1.591 6.432 6.432 0 0 1-1.498 1.209 6.498 6.498 0 0 1-.869.42c-.305.12-.618.221-.934.306-.138.037-.276.073-.414.107-.499.123-.996.259-1.499.365-.323.064-.647.123-.969.198-.254.06-.506.122-.758.187-.237.062-.474.127-.707.197a17.723 17.723 0 0 0-1.255.414c-.182.068-.361.139-.539.216-.159.07-.318.145-.477.224a7.812 7.812 0 0 0-.422.228c-.131.074-.26.155-.392.229a2.023 2.023 0 0 0-.61.535c-.089.104-.157.21-.209.317a3.18 3.18 0 0 0-.342.955l-2.033 8.855a2.04 2.04 0 0 0 2.032 2.034H75.301a2.035 2.035 0 0 0 2.032-2.032z\"\n }));\n}\n//# sourceMappingURL=pushpin-icon.js.map","import { createStyles, IconButton, makeStyles } from '@material-ui/core';\nimport React from 'react';\nconst useStyles = makeStyles(() => {\n return createStyles({\n iconButton: {\n display: 'inline-block'\n },\n iconActive: {},\n icon: {}\n });\n});\n\n/**\r\n * Represents a base toggle component\r\n */\nexport const ToggleBase = props => {\n const classes = useStyles(props);\n return /*#__PURE__*/React.createElement(IconButton, {\n disabled: props.disabled,\n className: classes.iconButton,\n color: props.active ? 'primary' : 'inherit',\n title: props.title,\n onClick: () => props.setValue(!props.active)\n }, props.children);\n};\n//# sourceMappingURL=toggle-base.js.map","import { createStyles, makeStyles } from '@material-ui/core';\nimport { ChatSharp } from '@material-ui/icons';\nimport clsx from 'clsx';\nimport React from 'react';\nimport { useDocumentPermissions, useLocalization, useViewerState } from \"../../hooks/index.js\";\nimport { ToggleBase } from \"./toggle-base.js\";\nconst useStyles = makeStyles(theme => {\n return createStyles({\n iconButton: {},\n icon: {},\n iconActive: {\n fill: theme.palette.primary.main\n }\n });\n});\n\n/**\r\n * Document widget component to draw Annotation\r\n */\nexport const AddAnnotationWidget = props => {\n var _viewerState$rotation, _viewerState$rotation2;\n\n const classes = useStyles(props);\n const localization = useLocalization();\n const viewerState = useViewerState();\n const permissions = useDocumentPermissions();\n const pageRotation = ((_viewerState$rotation = viewerState.rotation) === null || _viewerState$rotation === void 0 ? void 0 : (_viewerState$rotation2 = _viewerState$rotation.find(rotation => rotation.pageNum === viewerState.activePage)) === null || _viewerState$rotation2 === void 0 ? void 0 : _viewerState$rotation2.degree) || 0;\n return /*#__PURE__*/React.createElement(ToggleBase, {\n disabled: !permissions.canEdit || pageRotation !== 0,\n classes: classes,\n active: viewerState.activeShapePlacing === 'annotation',\n title: localization.addAnnotation,\n setValue: value => viewerState.updateState({\n activeShapePlacing: value ? 'annotation' : 'none',\n isPlacingCommentMarker: false\n })\n }, /*#__PURE__*/React.createElement(ChatSharp, {\n className: clsx(classes.icon, {\n [classes.iconActive]: viewerState.activeShapePlacing === 'annotation'\n })\n }));\n};\n//# sourceMappingURL=add-annotation.js.map","import { createStyles, makeStyles } from '@material-ui/core';\nimport { ChatBubbleOutlineSharp } from '@material-ui/icons';\nimport clsx from 'clsx';\nimport React from 'react';\nimport { useDocumentPermissions, useLocalization, useViewerState } from \"../../hooks/index.js\";\nimport { ToggleBase } from \"./toggle-base.js\";\nconst useStyles = makeStyles(theme => {\n return createStyles({\n iconButton: {},\n icon: {},\n iconActive: {\n fill: theme.palette.primary.main\n }\n });\n});\n\n/**\r\n * Document widget component to draw Highlight\r\n */\nexport const AddHighlightWidget = props => {\n var _viewerState$rotation, _viewerState$rotation2;\n\n const classes = useStyles(props);\n const localization = useLocalization();\n const viewerState = useViewerState();\n const permissions = useDocumentPermissions();\n const pageRotation = ((_viewerState$rotation = viewerState.rotation) === null || _viewerState$rotation === void 0 ? void 0 : (_viewerState$rotation2 = _viewerState$rotation.find(rotation => rotation.pageNum === viewerState.activePage)) === null || _viewerState$rotation2 === void 0 ? void 0 : _viewerState$rotation2.degree) || 0;\n return /*#__PURE__*/React.createElement(ToggleBase, {\n disabled: !permissions.canEdit || pageRotation !== 0,\n classes: classes,\n active: viewerState.activeShapePlacing === 'highlight',\n title: localization.addHighlight,\n setValue: value => viewerState.updateState({\n activeShapePlacing: value ? 'highlight' : 'none',\n isPlacingCommentMarker: false\n })\n }, /*#__PURE__*/React.createElement(ChatBubbleOutlineSharp, {\n className: clsx(classes.icon, {\n [classes.iconActive]: viewerState.activeShapePlacing === 'highlight'\n })\n }));\n};\n//# sourceMappingURL=add-highlight.js.map","import { createStyles, makeStyles } from '@material-ui/core';\nimport { ChatBubbleSharp } from '@material-ui/icons';\nimport clsx from 'clsx';\nimport React from 'react';\nimport { useDocumentPermissions, useLocalization, useViewerState } from \"../../hooks/index.js\";\nimport { ToggleBase } from \"./toggle-base.js\";\nconst useStyles = makeStyles(theme => {\n return createStyles({\n iconButton: {},\n icon: {},\n iconActive: {\n fill: theme.palette.primary.main\n }\n });\n});\n\n/**\r\n * Document widget component to draw Redaction\r\n */\nexport const AddRedactionWidget = props => {\n var _viewerState$rotation, _viewerState$rotation2;\n\n const classes = useStyles(props);\n const localization = useLocalization();\n const viewerState = useViewerState();\n const permissions = useDocumentPermissions();\n const pageRotation = ((_viewerState$rotation = viewerState.rotation) === null || _viewerState$rotation === void 0 ? void 0 : (_viewerState$rotation2 = _viewerState$rotation.find(rotation => rotation.pageNum === viewerState.activePage)) === null || _viewerState$rotation2 === void 0 ? void 0 : _viewerState$rotation2.degree) || 0;\n return /*#__PURE__*/React.createElement(ToggleBase, {\n disabled: !permissions.canEdit || pageRotation !== 0,\n classes: classes,\n active: viewerState.activeShapePlacing === 'redaction',\n title: localization.addRedaction,\n setValue: value => viewerState.updateState({\n activeShapePlacing: value ? 'redaction' : 'none',\n isPlacingCommentMarker: false\n })\n }, /*#__PURE__*/React.createElement(ChatBubbleSharp, {\n className: clsx(classes.icon, {\n [classes.iconActive]: viewerState.activeShapePlacing === 'redaction'\n })\n }));\n};\n//# sourceMappingURL=add-redaction.js.map","import { ClickAwayListener, createStyles, makeStyles, TextField, Typography } from '@material-ui/core';\nimport React, { useState } from 'react';\nimport { useDocumentData, useLocalization, useViewerState } from \"../../hooks/index.js\";\nconst useStyles = makeStyles(() => {\n return createStyles({\n typography: {\n cursor: 'pointer',\n display: 'flex',\n alignItems: 'center',\n overflow: 'hidden',\n margin: '0 2.5em'\n },\n nameWrapper: {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis'\n },\n textField: {\n flexShrink: 0\n },\n notFocusedText: {\n flexShrink: 0\n }\n });\n});\n\n/**\r\n * Document widget component for paging\r\n */\nexport const DocumentTitlePager = props => {\n const classes = useStyles(props);\n const {\n documentData\n } = useDocumentData();\n const viewerState = useViewerState();\n const localization = useLocalization();\n const [isFocused, setIsFocused] = useState(false);\n const [currentValue, setCurrentValue] = useState(viewerState.activePage);\n\n const gotoPage = page => {\n let pageInt = typeof page === 'string' ? parseInt(page, 10) : page;\n\n if (!isNaN(pageInt)) {\n pageInt = Math.max(pageInt, 1);\n pageInt = Math.min(pageInt, documentData.pageCount);\n viewerState.pageToGo.setValue({\n page: pageInt\n });\n }\n };\n\n return /*#__PURE__*/React.createElement(ClickAwayListener, {\n onClickAway: () => setIsFocused(false)\n }, /*#__PURE__*/React.createElement(Typography, {\n onClick: () => setIsFocused(true),\n variant: \"h6\",\n color: \"inherit\",\n title: documentData.documentName,\n className: classes.typography\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classes.nameWrapper\n }, documentData.documentName, \"\\xA0\"), isFocused ? /*#__PURE__*/React.createElement(\"form\", {\n onSubmit: ev => {\n gotoPage(currentValue);\n ev.preventDefault();\n }\n }, /*#__PURE__*/React.createElement(TextField, {\n className: classes.textField,\n title: localization.gotoPage,\n onChange: ev => setCurrentValue(ev.currentTarget.value),\n onBlur: () => gotoPage(currentValue),\n defaultValue: viewerState.activePage,\n type: \"number\",\n required: true,\n InputLabelProps: {\n shrink: true\n },\n inputProps: {\n min: 1,\n max: documentData.pageCount,\n style: {\n textAlign: 'center'\n }\n },\n margin: \"dense\"\n })) : /*#__PURE__*/React.createElement(\"div\", {\n className: classes.notFocusedText\n }, viewerState.activePage, \" / \", documentData.pageCount)));\n};\n//# sourceMappingURL=document-title-pager.js.map","import { createStyles, IconButton, makeStyles } from '@material-ui/core';\nimport { CloudDownload } from '@material-ui/icons';\nimport React from 'react';\nimport { useDocumentData, useLocalization } from \"../../hooks/index.js\";\nconst useStyles = makeStyles(() => {\n return createStyles({\n iconButton: {\n display: 'inline-block'\n },\n icon: {}\n });\n});\n\n/**\r\n * Component that allows download\r\n */\nexport const Download = props => {\n const classes = useStyles(props);\n const localization = useLocalization();\n const {\n documentData\n } = useDocumentData();\n return /*#__PURE__*/React.createElement(IconButton, {\n className: classes.iconButton,\n color: \"inherit\",\n title: localization.download,\n onClick: () => props.download(documentData),\n id: \"CloudDownload\"\n }, /*#__PURE__*/React.createElement(CloudDownload, {\n className: classes.icon\n }));\n};\n//# sourceMappingURL=download-widget.js.map","import { createStyles, IconButton, makeStyles } from '@material-ui/core';\nimport { Print as PrintIcon } from '@material-ui/icons';\nimport React from 'react';\nimport { useDocumentData, useLocalization } from \"../../hooks/index.js\";\nconst useStyles = makeStyles(() => {\n return createStyles({\n iconButton: {\n display: 'inline-block'\n },\n icon: {}\n });\n});\n\n/**\r\n * Component that allows print\r\n */\nexport const Print = props => {\n const classes = useStyles(props);\n const localization = useLocalization();\n const {\n documentData\n } = useDocumentData();\n return /*#__PURE__*/React.createElement(IconButton, {\n className: classes.iconButton,\n color: \"inherit\",\n title: localization.print,\n onClick: () => props.print(documentData),\n id: \"Print\"\n }, /*#__PURE__*/React.createElement(PrintIcon, {\n className: classes.icon\n }));\n};\n//# sourceMappingURL=print-widget.js.map","import React, { useCallback } from 'react';\nimport { ImageUtil, ROTATION_AMOUNT, ROTATION_MODE } from \"../../index.js\";\nimport { usePreviewImages, useViewerState } from \"../../hooks/index.js\";\nexport const RotateWidget = props => {\n const viewerState = useViewerState();\n const previewImages = usePreviewImages();\n\n const rotateFunc = (newRotation, direction, pageIndex) => {\n const existingObj = newRotation.find(rotation => rotation.pageNum === pageIndex);\n\n if (newRotation.length > 0 && existingObj) {\n const prevValue = existingObj.degree || 0;\n existingObj.degree = ImageUtil.normalizeDegrees((prevValue + (direction === 'left' ? -ROTATION_AMOUNT : ROTATION_AMOUNT) % 360) % 360);\n } else {\n newRotation.push({\n pageNum: pageIndex,\n degree: ImageUtil.normalizeDegrees((0 + (direction === 'left' ? -ROTATION_AMOUNT : ROTATION_AMOUNT) % 360) % 360)\n });\n }\n };\n\n const rotateDocument = useCallback(direction => {\n var _viewerState$rotation;\n\n const newRotation = (_viewerState$rotation = viewerState.rotation) !== null && _viewerState$rotation !== void 0 ? _viewerState$rotation : [];\n\n if (props.pages === 'all') {\n previewImages.imageData.forEach(page => {\n rotateFunc(newRotation, direction, page.Index);\n });\n } else {\n rotateFunc(newRotation, direction, viewerState.activePage);\n }\n\n viewerState.updateState({\n rotation: newRotation\n });\n }, [previewImages.imageData, props.pages, viewerState]);\n\n switch (props.mode) {\n case ROTATION_MODE.anticlockwise:\n case ROTATION_MODE.clockwise:\n return props.renderButton(props.mode, rotateDocument);\n\n default:\n return /*#__PURE__*/React.createElement(React.Fragment, null, props.renderButton(ROTATION_MODE.anticlockwise, rotateDocument), props.renderButton(ROTATION_MODE.clockwise, rotateDocument));\n }\n};\n//# sourceMappingURL=rotate-widget.js.map","import { createStyles, IconButton, makeStyles } from '@material-ui/core';\nimport { RotateLeft, RotateRight } from '@material-ui/icons';\nimport React from 'react';\nimport { useLocalization } from \"../../hooks/index.js\";\nimport { ROTATION_MODE } from \"../../models/rotation-model.js\";\nimport { RotateWidget } from \"./rotate-widget.js\";\nconst useStyles = makeStyles(() => {\n return createStyles({\n iconButton: {},\n icon: {}\n });\n});\nexport const RotateActivePagesWidget = props => {\n const localization = useLocalization();\n const classes = useStyles(props);\n\n const button = (direction, rotateDocument) => {\n const isLeft = direction === ROTATION_MODE.anticlockwise;\n return /*#__PURE__*/React.createElement(IconButton, {\n className: classes.iconButton,\n color: \"inherit\",\n title: isLeft ? localization.rotatePageLeft : localization.rotatePageRight,\n onClick: () => isLeft ? rotateDocument('left') : rotateDocument('right')\n }, isLeft ? /*#__PURE__*/React.createElement(RotateLeft, {\n className: classes.icon\n }) : /*#__PURE__*/React.createElement(RotateRight, {\n className: classes.icon\n }));\n };\n\n return /*#__PURE__*/React.createElement(RotateWidget, {\n renderButton: button,\n mode: props.mode,\n pages: \"active\"\n });\n};\n//# sourceMappingURL=rotate-active-pages.js.map","import { createStyles, IconButton, makeStyles } from '@material-ui/core';\nimport { RotateLeft, RotateRight } from '@material-ui/icons';\nimport React from 'react';\nimport { useLocalization } from \"../../hooks/index.js\";\nimport { ROTATION_MODE } from \"../../models/rotation-model.js\";\nimport { RotateWidget } from \"./rotate-widget.js\";\nconst useStyles = makeStyles(() => {\n return createStyles({\n iconButton: {\n display: 'inline-block'\n },\n icon: {\n border: '2px solid',\n borderRadius: '5px'\n }\n });\n});\n\n/**\r\n * Component that allows document rotation\r\n */\nexport const RotateDocumentWidget = props => {\n const localization = useLocalization();\n const classes = useStyles(props);\n\n const button = (direction, rotateDocument) => {\n const isLeft = direction === ROTATION_MODE.anticlockwise;\n return /*#__PURE__*/React.createElement(IconButton, {\n className: classes.iconButton,\n title: isLeft ? localization.rotateDocumentLeft : localization.rotateDocumentRight,\n onClick: isLeft ? () => rotateDocument('left') : () => rotateDocument('right'),\n id: isLeft ? 'RotateLeft' : 'RotateRight'\n }, isLeft ? /*#__PURE__*/React.createElement(RotateLeft, {\n className: classes.icon\n }) : /*#__PURE__*/React.createElement(RotateRight, {\n className: classes.icon\n }));\n };\n\n return /*#__PURE__*/React.createElement(RotateWidget, {\n renderButton: button,\n mode: props.mode,\n pages: \"all\"\n });\n};\n//# sourceMappingURL=rotate-document.js.map","import { createStyles, IconButton, makeStyles } from '@material-ui/core';\nimport { Save } from '@material-ui/icons';\nimport React, { useCallback } from 'react';\nimport { useDocumentData, useDocumentPermissions, useDocumentViewerApi, useLocalization, usePreviewImages, useViewerState } from \"../../hooks/index.js\";\nconst useStyles = makeStyles(() => {\n return createStyles({\n iconButton: {\n display: 'inline-block'\n },\n icon: {}\n });\n});\n\n/**\r\n * Document widget component for saving document state\r\n */\nexport const SaveWidget = props => {\n const classes = useStyles(props);\n const api = useDocumentViewerApi();\n const {\n documentData\n } = useDocumentData();\n const permissions = useDocumentPermissions();\n const pages = usePreviewImages();\n const viewerState = useViewerState();\n const localization = useLocalization();\n const save = useCallback(() => {\n permissions.canEdit && api.saveChanges({\n document: documentData,\n pages: pages.imageData,\n abortController: new AbortController()\n });\n viewerState.updateState({\n hasChanges: false\n });\n }, [api, documentData, pages.imageData, permissions.canEdit, viewerState]);\n return /*#__PURE__*/React.createElement(IconButton, {\n className: classes.iconButton,\n disabled: !viewerState.hasChanges || !permissions.canEdit,\n title: localization.saveChanges,\n onClick: save,\n id: \"Save\"\n }, /*#__PURE__*/React.createElement(Save, {\n className: classes.icon\n }));\n};\n//# sourceMappingURL=save-widget.js.map","import { createStyles, IconButton, makeStyles } from '@material-ui/core';\nimport { Share as ShareIcon } from '@material-ui/icons';\nimport React from 'react';\nimport { useDocumentData, useLocalization } from \"../../hooks/index.js\";\nconst useStyles = makeStyles(() => {\n return createStyles({\n iconButton: {\n display: 'inline-block'\n },\n icon: {}\n });\n});\n\n/**\r\n * Component that allows sharing\r\n */\nexport const Share = props => {\n const classes = useStyles(props);\n const localization = useLocalization();\n const {\n documentData\n } = useDocumentData();\n return /*#__PURE__*/React.createElement(IconButton, {\n className: classes.iconButton,\n color: \"inherit\",\n title: localization.share,\n onClick: () => props.share(documentData),\n id: \"Share\"\n }, /*#__PURE__*/React.createElement(ShareIcon, {\n className: classes.icon\n }));\n};\n//# sourceMappingURL=share-widget.js.map","import { createStyles, makeStyles } from '@material-ui/core';\nimport { Forum } from '@material-ui/icons';\nimport clsx from 'clsx';\nimport React from 'react';\nimport { useLocalization, useViewerState } from \"../../hooks/index.js\";\nimport { ToggleBase } from \"./toggle-base.js\";\nconst useStyles = makeStyles(theme => {\n return createStyles({\n iconButton: {},\n icon: {},\n iconActive: {\n fill: theme.palette.primary.main\n }\n });\n});\n\n/**\r\n * Represents a comment toggler component\r\n */\nexport const ToggleCommentsWidget = props => {\n const classes = useStyles(props);\n const localization = useLocalization();\n const viewerState = useViewerState();\n return /*#__PURE__*/React.createElement(ToggleBase, {\n classes: classes,\n active: viewerState.showComments,\n title: localization.toggleComments,\n setValue: v => viewerState.updateState({\n showComments: v\n })\n }, /*#__PURE__*/React.createElement(Forum, {\n className: clsx(classes.icon, {\n [classes.iconActive]: viewerState.showComments\n })\n }));\n};\n//# sourceMappingURL=toggle-comments.js.map","import { createStyles, makeStyles } from '@material-ui/core';\nimport { PictureInPicture } from '@material-ui/icons';\nimport clsx from 'clsx';\nimport React from 'react';\nimport { useDocumentPermissions, useLocalization, useViewerState } from \"../../hooks/index.js\";\nimport { ToggleBase } from \"./toggle-base.js\";\nconst useStyles = makeStyles(theme => {\n return createStyles({\n iconButton: {},\n icon: {},\n iconActive: {\n fill: theme.palette.primary.main\n }\n });\n});\n\n/**\r\n * Document widget component to toggleing redaction\r\n */\nexport const ToggleRedactionWidget = props => {\n const classes = useStyles(props);\n const localization = useLocalization();\n const viewerState = useViewerState();\n const permissions = useDocumentPermissions();\n return /*#__PURE__*/React.createElement(ToggleBase, {\n disabled: !permissions.canHideRedaction,\n classes: classes,\n active: viewerState.showRedaction,\n title: localization.toggleRedaction,\n setValue: value => viewerState.updateState({\n showRedaction: value\n })\n }, /*#__PURE__*/React.createElement(PictureInPicture, {\n className: clsx(classes.icon, {\n [classes.iconActive]: viewerState.showRedaction\n })\n }));\n};\n//# sourceMappingURL=toggle-redaction.js.map","import { createStyles, makeStyles } from '@material-ui/core';\nimport { Dashboard } from '@material-ui/icons';\nimport clsx from 'clsx';\nimport React from 'react';\nimport { useDocumentPermissions, useLocalization, useViewerState } from \"../../hooks/index.js\";\nimport { ToggleBase } from \"./toggle-base.js\";\nconst useStyles = makeStyles(theme => {\n return createStyles({\n iconButton: {},\n icon: {},\n iconActive: {\n fill: theme.palette.primary.main\n }\n });\n});\n\n/**\r\n * Document widget component that toggles the displaying of the shapes\r\n */\nexport const ToggleShapesWidget = props => {\n const classes = useStyles(props);\n const localization = useLocalization();\n const viewerState = useViewerState();\n const permissions = useDocumentPermissions();\n return /*#__PURE__*/React.createElement(ToggleBase, {\n disabled: !permissions.canEdit,\n classes: classes,\n active: viewerState.showShapes,\n title: localization.toggleShapes,\n setValue: v => viewerState.updateState({\n showShapes: v\n })\n }, /*#__PURE__*/React.createElement(Dashboard, {\n className: clsx(classes.icon, {\n [classes.iconActive]: viewerState.showShapes\n })\n }));\n};\n//# sourceMappingURL=toggle-shapes.js.map","import { createStyles, makeStyles } from '@material-ui/core';\nimport { VerticalSplit } from '@material-ui/icons';\nimport clsx from 'clsx';\nimport React from 'react';\nimport { useLocalization, useViewerState } from \"../../hooks/index.js\";\nimport { ToggleBase } from \"./toggle-base.js\";\nconst useStyles = makeStyles(theme => {\n return createStyles({\n iconButton: {},\n icon: {},\n iconActive: {\n fill: theme.palette.primary.main\n }\n });\n});\n\n/**\r\n * Document widget component that toggles the thumbnails\r\n */\nexport const ToggleThumbnailsWidget = props => {\n const classes = useStyles(props);\n const localization = useLocalization();\n const viewerState = useViewerState();\n return /*#__PURE__*/React.createElement(ToggleBase, {\n classes: classes,\n title: localization.toggleThumbnails,\n active: viewerState.showThumbnails,\n setValue: v => viewerState.updateState({\n showThumbnails: v\n })\n }, /*#__PURE__*/React.createElement(VerticalSplit, {\n className: clsx(classes.icon, {\n [classes.iconActive]: viewerState.showThumbnails\n })\n }));\n};\n//# sourceMappingURL=toggle-thumbnails.js.map","import { createStyles, makeStyles } from '@material-ui/core';\nimport { BrandingWatermark } from '@material-ui/icons';\nimport clsx from 'clsx';\nimport React from 'react';\nimport { useDocumentPermissions, useLocalization, useViewerState } from \"../../hooks/index.js\";\nimport { ToggleBase } from \"./toggle-base.js\";\nconst useStyles = makeStyles(theme => {\n return createStyles({\n iconButton: {},\n icon: {},\n iconActive: {\n fill: theme.palette.primary.main\n }\n });\n});\n\n/**\r\n * Document widget component that toggles the displaying of the watermark\r\n */\nexport const ToggleWatermarkWidget = props => {\n const classes = useStyles(props);\n const localization = useLocalization();\n const viewerState = useViewerState();\n const permissions = useDocumentPermissions();\n return /*#__PURE__*/React.createElement(ToggleBase, {\n disabled: !permissions.canHideWatermark,\n classes: classes,\n title: localization.toggleWatermark,\n active: viewerState.showWatermark,\n setValue: v => viewerState.updateState({\n showWatermark: v\n })\n }, /*#__PURE__*/React.createElement(BrandingWatermark, {\n className: clsx(classes.icon, {\n [classes.iconActive]: viewerState.showWatermark\n })\n }));\n};\n//# sourceMappingURL=toggle-watermark.js.map","import { createStyles, IconButton, makeStyles } from '@material-ui/core';\nimport { ZoomIn, ZoomOut } from '@material-ui/icons';\nimport React, { useCallback } from 'react';\nimport { useLocalization, useViewerState } from \"../../hooks/index.js\";\nconst useStyles = makeStyles(() => {\n return createStyles({\n iconButton: {},\n icon: {}\n });\n});\n\n/**\r\n * Document widget component for modifying the zoom mode / level\r\n */\nexport const ZoomInOutWidget = props => {\n const classes = useStyles(props);\n const localization = useLocalization();\n const viewerState = useViewerState();\n const zoomIn = useCallback(() => {\n viewerState.updateState({\n zoomLevel: viewerState.zoomLevel + 1\n });\n }, [viewerState]);\n const zoomOut = useCallback(() => {\n viewerState.updateState({\n zoomLevel: viewerState.zoomLevel - 1\n });\n }, [viewerState]);\n return /*#__PURE__*/React.createElement(\"div\", {\n style: {\n display: 'inline-block'\n }\n }, /*#__PURE__*/React.createElement(IconButton, {\n className: classes.iconButton,\n color: \"inherit\",\n onClick: zoomIn,\n title: localization.zoomIn,\n disabled: viewerState.zoomLevel >= 13\n }, /*#__PURE__*/React.createElement(ZoomIn, {\n className: classes.icon\n })), /*#__PURE__*/React.createElement(IconButton, {\n className: classes.iconButton,\n color: \"inherit\",\n onClick: zoomOut,\n title: localization.zoomOut,\n disabled: viewerState.zoomLevel <= -7\n }, /*#__PURE__*/React.createElement(ZoomOut, {\n className: classes.icon\n })));\n};\n//# sourceMappingURL=zoom-in-out.js.map","import { createStyles, makeStyles } from '@material-ui/core';\nimport React, { useEffect, useRef } from 'react';\nimport { useDocumentPermissions, useViewerState } from \"../../hooks/index.js\";\nconst useStyles = makeStyles(() => createStyles({\n root: {\n position: 'absolute',\n resize: _ref => {\n let {\n permissions,\n rotationDegree\n } = _ref;\n return `${permissions.canEdit && rotationDegree === 0 ? 'both' : 'none'}`;\n },\n overflow: 'hidden',\n backgroundColor: 'blanchedalmond',\n lineHeight: _ref2 => {\n let {\n shape,\n zoomRatio\n } = _ref2;\n return `${shape.lineHeight * zoomRatio}px`;\n },\n fontWeight: _ref3 => {\n let {\n shape\n } = _ref3;\n return shape.fontBold;\n },\n color: _ref4 => {\n let {\n shape\n } = _ref4;\n return shape.fontColor;\n },\n fontFamily: _ref5 => {\n let {\n shape\n } = _ref5;\n return shape.fontFamily;\n },\n fontSize: _ref6 => {\n let {\n shape,\n zoomRatio\n } = _ref6;\n return `${shape.fontSize * zoomRatio}px`;\n },\n fontStyle: _ref7 => {\n let {\n shape\n } = _ref7;\n return shape.fontItalic ? 'italic' : 'normal';\n },\n boxShadow: _ref8 => {\n let {\n zoomRatio\n } = _ref8;\n return `${5 * zoomRatio}px ${5 * zoomRatio}px ${15 * zoomRatio}px rgba(0,0,0,.3)`;\n },\n padding: _ref9 => {\n let {\n zoomRatio\n } = _ref9;\n return `${10 * zoomRatio}pt`;\n },\n boxSizing: 'border-box'\n }\n}));\n/**\r\n * Return a styled annotation wrapper component\r\n * @param permissions The permissions of the user\r\n * @param shape The arguments of the annotation\r\n * @param zoomRatio The ratio of the origina and virtual page\r\n * @param dimensions The dimensions of the annotation\r\n * @param onDragStart Function triggered on drag event\r\n * @param onResized Function triggered on resize event\r\n * @param onRightClick Function triggered on right click\r\n * @param renderChildren Function what returns the wrapped components\r\n * @returns styled annotation wrapper component\r\n */\n\nexport const AnnotationWrapper = props => {\n const permissions = useDocumentPermissions();\n const classes = useStyles({ ...props,\n permissions\n });\n const annotationElement = useRef(null);\n const viewerState = useViewerState();\n const {\n updateState\n } = viewerState;\n useEffect(() => {\n const handleGlobalMouseUp = () => {\n if (viewerState.currentlyResizedElementId === props.shape.guid) {\n var _annotationElement$cu;\n\n updateState({\n currentlyResizedElementId: undefined\n });\n const newSize = props.onResized((_annotationElement$cu = annotationElement.current) === null || _annotationElement$cu === void 0 ? void 0 : _annotationElement$cu.getClientRects()[0]);\n\n if (annotationElement.current && newSize) {\n annotationElement.current.style.width = `${newSize.w * props.zoomRatio}px`;\n annotationElement.current.style.height = `${newSize.h * props.zoomRatio}px`;\n }\n }\n };\n\n document.addEventListener('mouseup', handleGlobalMouseUp);\n return () => {\n document.removeEventListener('mouseup', handleGlobalMouseUp);\n };\n }, [props, updateState, viewerState.currentlyResizedElementId]);\n useEffect(() => {\n const mutationObserver = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (mutation.attributeName === 'style') {\n updateState({\n currentlyResizedElementId: props.shape.guid\n });\n }\n });\n });\n annotationElement.current && mutationObserver.observe(annotationElement.current, {\n attributes: true\n });\n return () => mutationObserver.disconnect();\n }, [props.shape.guid, updateState]);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classes.root,\n tabIndex: 0,\n draggable: permissions.canEdit,\n onDragStart: props.onDragStart,\n onContextMenu: props.onRightClick,\n style: {\n top: props.dimensions.top,\n left: props.dimensions.left,\n width: `${props.dimensions.width}px`,\n height: `${props.dimensions.height}px`\n },\n ref: annotationElement\n }, props.children);\n};\n//# sourceMappingURL=annotation-wrapper.js.map","import { createStyles, makeStyles } from '@material-ui/core';\nimport React from 'react';\nimport { useCommentState, useViewerState } from \"../../index.js\";\nexport const MARKER_SIZE = 10;\nconst useStyles = makeStyles(theme => createStyles({\n root: {\n position: 'absolute',\n top: _ref => {\n let {\n rotation,\n marker,\n zoomRatio\n } = _ref;\n\n switch (rotation) {\n case 90:\n return `${parseFloat(marker.x) * zoomRatio}px`;\n\n case 180:\n return 'unset';\n\n case 270:\n return 'unset';\n\n default:\n return `${parseFloat(marker.y) * zoomRatio}px`;\n }\n },\n right: _ref2 => {\n let {\n rotation,\n marker,\n zoomRatio\n } = _ref2;\n\n switch (rotation) {\n case 90:\n return `${parseFloat(marker.y) * zoomRatio}px`;\n\n case 180:\n return `${parseFloat(marker.x) * zoomRatio}px`;\n\n case 270:\n return 'unset';\n\n default:\n return 'unset';\n }\n },\n bottom: _ref3 => {\n let {\n rotation,\n marker,\n zoomRatio\n } = _ref3;\n\n switch (rotation) {\n case 90:\n return 'unset';\n\n case 180:\n return `${parseFloat(marker.y) * zoomRatio}px`;\n\n case 270:\n return `${parseFloat(marker.x) * zoomRatio}px`;\n\n default:\n return 'unset';\n }\n },\n left: _ref4 => {\n let {\n rotation,\n marker,\n zoomRatio\n } = _ref4;\n\n switch (rotation) {\n case 90:\n return 'unset';\n\n case 180:\n return 'unset';\n\n case 270:\n return `${parseFloat(marker.y) * zoomRatio}px`;\n\n default:\n return `${parseFloat(marker.x) * zoomRatio}px`;\n }\n },\n width: `${MARKER_SIZE}px`,\n height: `${MARKER_SIZE}px`,\n borderRadius: `${MARKER_SIZE}px`,\n backgroundColor: _ref5 => {\n let {\n isSelected\n } = _ref5;\n return isSelected ? theme.palette.primary.light : theme.palette.primary.dark;\n },\n cursor: 'pointer'\n }\n}));\n/**\r\n * Return a styled comment marker component\r\n * @param marker Attributes of the marker\r\n * @param zoomRatio Zoom ratio\r\n * @param isSelected Flag to store is marker is selected or not\r\n * @param rotation Page rotation degree\r\n * @returns styled comment marker component\r\n */\n\nexport function CommentMarker(_ref6) {\n let {\n marker,\n zoomRatio,\n isSelected,\n rotation\n } = _ref6;\n const classes = useStyles({\n marker,\n zoomRatio,\n isSelected,\n rotation\n });\n const viewerState = useViewerState();\n const commentState = useCommentState();\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classes.root,\n onClick: ev => {\n ev.stopPropagation();\n ev.nativeEvent.stopImmediatePropagation();\n !viewerState.isPlacingCommentMarker && commentState.setActiveComment(marker.id);\n }\n });\n}\n//# sourceMappingURL=comment-marker.js.map","import { Button, Checkbox, ClickAwayListener, createStyles, makeStyles, Paper, Popper, TextField } from '@material-ui/core';\nimport grey from '@material-ui/core/colors/grey.js';\nimport { Delete } from '@material-ui/icons';\nimport React, { useState } from 'react';\nimport { AnnotationWrapper, useDocumentPermissions } from \"../../index.js\";\nimport { useLocalization, useViewerState } from \"../../hooks/index.js\";\nconst useStyles = makeStyles(theme => {\n return createStyles({\n annotationInput: {\n width: '100%',\n height: '100%',\n overflow: 'auto',\n '&:focus': {\n outline: 'none'\n },\n writingMode: _ref => {\n let {\n rotationDegree\n } = _ref;\n return rotationDegree === 0 || rotationDegree === 180 ? 'unset' : 'vertical-rl';\n },\n transform: _ref2 => {\n let {\n rotationDegree\n } = _ref2;\n return rotationDegree === 180 || rotationDegree === 270 ? 'rotate(180deg)' : 'none';\n }\n },\n title: {\n fontSize: '12px',\n marginRight: '6px'\n },\n textBox: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n marginBottom: '6px'\n },\n textField: {\n width: '55px'\n },\n paper: {\n padding: '10px',\n marginLeft: '10px',\n border: `solid ${grey[600]} 2px`\n },\n button: {\n backgroundColor: theme.palette.error.light\n }\n });\n});\n/**\r\n * Defined the component's own properties\r\n */\n\nexport const ShapeAnnotation = props => {\n var _viewerState$rotation, _viewerState$rotation2;\n\n const viewerState = useViewerState();\n const rotationDegree = ((_viewerState$rotation = viewerState.rotation) === null || _viewerState$rotation === void 0 ? void 0 : (_viewerState$rotation2 = _viewerState$rotation.find(rotation => rotation.pageNum === props.shape.imageIndex)) === null || _viewerState$rotation2 === void 0 ? void 0 : _viewerState$rotation2.degree) || 0;\n const classes = useStyles({\n rotationDegree\n });\n const localization = useLocalization();\n const permissions = useDocumentPermissions();\n const [anchorEl, setAnchorEl] = useState(null);\n const open = Boolean(anchorEl);\n const id = open ? 'annotation-settings' : undefined;\n\n const getDimensions = () => {\n const dimensions = props.getShapeDimensions(props.shape);\n return {\n top: dimensions.top,\n left: dimensions.left,\n width: dimensions.width,\n height: dimensions.height\n };\n };\n\n const onRightClick = event => {\n event.preventDefault();\n setAnchorEl(anchorEl ? null : event.currentTarget);\n };\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(AnnotationWrapper, {\n shape: props.shape,\n zoomRatio: props.zoomRatio,\n dimensions: getDimensions(),\n onRightClick: onRightClick,\n onDragStart: props.onDragStart,\n onResized: props.onResized,\n rotationDegree: props.rotationDegree\n }, /*#__PURE__*/React.createElement(\"div\", {\n id: \"annotation-input\",\n className: classes.annotationInput,\n contentEditable: permissions.canEdit && rotationDegree === 0 ? 'plaintext-only' : false,\n suppressContentEditableWarning: true\n }, props.shape.text)), /*#__PURE__*/React.createElement(Popper, {\n id: id,\n open: open,\n anchorEl: anchorEl,\n placement: \"right-start\"\n }, /*#__PURE__*/React.createElement(ClickAwayListener, {\n onClickAway: () => setAnchorEl(null)\n }, /*#__PURE__*/React.createElement(Paper, {\n className: classes.paper\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classes.textBox\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classes.title\n }, \"Line height:\"), /*#__PURE__*/React.createElement(TextField, {\n className: classes.textField,\n defaultValue: props.shape.lineHeight,\n size: \"small\",\n placeholder: \"Line height\",\n type: \"number\",\n onChange: event => props.updateShapeData('annotations', props.shape.guid, { ...props.shape,\n lineHeight: parseInt(event.target.value, 10)\n })\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: classes.title\n }, \"px\")), /*#__PURE__*/React.createElement(\"div\", {\n className: classes.textBox\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classes.title\n }, \"Font size:\"), /*#__PURE__*/React.createElement(TextField, {\n className: classes.textField,\n defaultValue: props.shape.fontSize,\n size: \"small\",\n placeholder: \"Font size\",\n type: \"number\",\n onChange: event => props.updateShapeData('annotations', props.shape.guid, { ...props.shape,\n fontSize: parseInt(event.target.value, 10)\n })\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: classes.title\n }, \"px\")), /*#__PURE__*/React.createElement(\"div\", {\n className: classes.textBox\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classes.title\n }, \"Font bold:\"), /*#__PURE__*/React.createElement(TextField, {\n className: classes.textField,\n defaultValue: props.shape.fontBold,\n size: \"small\",\n placeholder: \"Font bold\",\n type: \"number\",\n onChange: event => props.updateShapeData('annotations', props.shape.guid, { ...props.shape,\n fontBold: parseInt(event.target.value, 10)\n })\n })), /*#__PURE__*/React.createElement(\"div\", {\n className: classes.textBox\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classes.title\n }, \"Font color:\"), /*#__PURE__*/React.createElement(TextField, {\n className: classes.textField,\n defaultValue: props.shape.fontColor,\n size: \"small\",\n placeholder: \"Font color\",\n type: \"color\",\n onChange: event => props.updateShapeData('annotations', props.shape.guid, { ...props.shape,\n fontColor: event.target.value\n })\n })), /*#__PURE__*/React.createElement(\"div\", {\n className: classes.textBox\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classes.title\n }, \"Font italic:\"), /*#__PURE__*/React.createElement(Checkbox, {\n checked: props.shape.fontItalic,\n onChange: event => props.updateShapeData('annotations', props.shape.guid, { ...props.shape,\n fontItalic: event.target.checked\n }),\n name: \"fontItalic\",\n color: \"primary\"\n })), /*#__PURE__*/React.createElement(\"div\", {\n className: classes.textBox,\n style: {\n justifyContent: 'center'\n }\n }, /*#__PURE__*/React.createElement(Button, {\n variant: \"contained\",\n className: classes.button,\n onMouseUp: () => props.removeShape('annotations', props.shape.guid),\n startIcon: /*#__PURE__*/React.createElement(Delete, {\n scale: props.zoomRatio\n })\n }, localization.delete))))));\n};\n//# sourceMappingURL=shape-annotation.js.map","import { createStyles, makeStyles } from '@material-ui/core';\nimport grey from '@material-ui/core/colors/grey.js';\nimport React from 'react';\nconst useStyles = makeStyles(() => createStyles({\n root: {\n top: _ref => {\n let {\n dimensions\n } = _ref;\n return dimensions.top;\n },\n left: _ref2 => {\n let {\n dimensions\n } = _ref2;\n return dimensions.left;\n },\n width: _ref3 => {\n let {\n dimensions\n } = _ref3;\n return dimensions.width;\n },\n height: _ref4 => {\n let {\n dimensions\n } = _ref4;\n return dimensions.height;\n },\n position: 'absolute',\n backgroundColor: grey[600],\n opacity: 0.2\n }\n}));\n/**\r\n * Return a styled shape\r\n * @param dimensions Shape dimensions\r\n * @returns styled shape\r\n */\n\nexport function ShapeDraft(_ref5) {\n let {\n dimensions\n } = _ref5;\n const classes = useStyles({\n dimensions\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classes.root,\n tabIndex: 0,\n key: `draft-${dimensions.height}-${dimensions.width}`\n });\n}\n//# sourceMappingURL=shape-draft.js.map","import { Button, ClickAwayListener, createStyles, makeStyles, Popper } from '@material-ui/core';\nimport yellow from '@material-ui/core/colors/yellow.js';\nimport { Delete } from '@material-ui/icons';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useLocalization } from \"../../index.js\";\nimport { useDocumentPermissions, useViewerState } from \"../../hooks/index.js\";\nconst useStyles = makeStyles(theme => createStyles({\n root: {\n position: 'absolute',\n resize: _ref => {\n let {\n permissions,\n rotationDegree\n } = _ref;\n return permissions.canEdit && rotationDegree === 0 ? 'both' : 'none';\n },\n overflow: 'auto',\n backgroundColor: yellow[600],\n opacity: 0.5\n },\n button: {\n backgroundColor: theme.palette.error.light\n }\n}));\n/**\r\n * Return a styled highlight component\r\n * @param shape Shape attributes\r\n * @param permissions Permissions of the current user\r\n * @param dimensions Shape dimensions\r\n * @param zoomRatio Zoom ratio\r\n * @param onDragStart Function triggered on drag event\r\n * @param onResized Function triggered on resized event\r\n * @param removeShape Function triggered on delete\r\n * @returns styled highlight component\r\n */\n\nexport const ShapeHighlight = props => {\n const permissions = useDocumentPermissions();\n const classes = useStyles({ ...props,\n permissions\n });\n const localization = useLocalization();\n const [anchorEl, setAnchorEl] = useState(null);\n const open = Boolean(anchorEl);\n const id = open ? 'highlight-delete' : undefined;\n const highlightElement = useRef(null);\n const viewerState = useViewerState();\n const {\n updateState\n } = viewerState;\n useEffect(() => {\n const handleGlobalMouseUp = () => {\n if (viewerState.currentlyResizedElementId === props.shape.guid) {\n var _highlightElement$cur;\n\n updateState({\n currentlyResizedElementId: undefined\n });\n const newSize = props.onResized((_highlightElement$cur = highlightElement.current) === null || _highlightElement$cur === void 0 ? void 0 : _highlightElement$cur.getClientRects()[0]);\n\n if (highlightElement.current && newSize) {\n highlightElement.current.style.width = `${newSize.w * props.zoomRatio}px`;\n highlightElement.current.style.height = `${newSize.h * props.zoomRatio}px`;\n }\n }\n };\n\n document.addEventListener('mouseup', handleGlobalMouseUp);\n return () => {\n document.removeEventListener('mouseup', handleGlobalMouseUp);\n };\n }, [props, updateState, viewerState.currentlyResizedElementId]);\n useEffect(() => {\n const mutationObserver = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (mutation.attributeName === 'style') {\n updateState({\n currentlyResizedElementId: props.shape.guid\n });\n }\n });\n });\n highlightElement.current && mutationObserver.observe(highlightElement.current, {\n attributes: true\n });\n return () => mutationObserver.disconnect();\n }, [props.shape.guid, updateState]);\n\n const onRightClick = event => {\n event.preventDefault();\n setAnchorEl(anchorEl ? null : event.currentTarget);\n };\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n className: classes.root,\n tabIndex: 0,\n draggable: permissions.canEdit,\n onDragStart: props.onDragStart,\n onContextMenu: onRightClick,\n ref: highlightElement,\n style: {\n top: props.dimensions.top,\n left: props.dimensions.left,\n width: `${props.dimensions.width}px`,\n height: `${props.dimensions.height}px`\n }\n }), /*#__PURE__*/React.createElement(Popper, {\n id: id,\n open: open,\n anchorEl: anchorEl,\n placement: \"right-start\"\n }, /*#__PURE__*/React.createElement(ClickAwayListener, {\n onClickAway: () => setAnchorEl(null)\n }, /*#__PURE__*/React.createElement(Button, {\n variant: \"contained\",\n className: classes.button,\n onMouseUp: () => props.removeShape('highlights', props.shape.guid),\n startIcon: /*#__PURE__*/React.createElement(Delete, {\n scale: props.zoomRatio\n })\n }, localization.delete))));\n};\n//# sourceMappingURL=shape-highlight.js.map","import { Button, ClickAwayListener, createStyles, makeStyles, Popper } from '@material-ui/core';\nimport { Delete } from '@material-ui/icons';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useLocalization, useViewerState } from \"../../hooks/index.js\";\nconst useStyles = makeStyles(theme => createStyles({\n root: {\n position: 'absolute',\n resize: _ref => {\n let {\n permissions,\n rotationDegree\n } = _ref;\n return permissions.canEdit && rotationDegree === 0 ? 'both' : 'none';\n },\n overflow: 'auto',\n backgroundColor: 'black'\n },\n button: {\n backgroundColor: theme.palette.error.light\n }\n}));\n/**\r\n * Return a styled redaction component\r\n * @param shape Shape attributes\r\n * @param permissions Permissions of the current user\r\n * @param dimensions Shape dimensions\r\n * @param zoomRatio Zoom ratio\r\n * @param onDragStart Function triggered on drag event\r\n * @param onResized Function triggered on resized event\r\n * @param removeShape Function triggered on delete\r\n * @returns styled redaction component\r\n */\n\nexport function ShapeRedaction(_ref2) {\n let {\n shape,\n permissions,\n dimensions,\n zoomRatio,\n onDragStart,\n onResized,\n removeShape,\n rotationDegree\n } = _ref2;\n const classes = useStyles({\n shape,\n permissions,\n dimensions,\n zoomRatio,\n onDragStart,\n onResized,\n removeShape,\n rotationDegree\n });\n const localization = useLocalization();\n const [anchorEl, setAnchorEl] = useState(null);\n const open = Boolean(anchorEl);\n const id = open ? 'redaction-delete' : undefined;\n const redactionElement = useRef(null);\n const viewerState = useViewerState();\n const {\n updateState\n } = viewerState;\n useEffect(() => {\n const handleGlobalMouseUp = () => {\n if (viewerState.currentlyResizedElementId === shape.guid) {\n var _redactionElement$cur;\n\n updateState({\n currentlyResizedElementId: undefined\n });\n const newSize = onResized((_redactionElement$cur = redactionElement.current) === null || _redactionElement$cur === void 0 ? void 0 : _redactionElement$cur.getClientRects()[0]);\n\n if (redactionElement.current && newSize) {\n redactionElement.current.style.width = `${newSize.w * zoomRatio}px`;\n redactionElement.current.style.height = `${newSize.h * zoomRatio}px`;\n }\n }\n };\n\n document.addEventListener('mouseup', handleGlobalMouseUp);\n return () => {\n document.removeEventListener('mouseup', handleGlobalMouseUp);\n };\n }, [onResized, shape.guid, updateState, viewerState.currentlyResizedElementId, zoomRatio]);\n useEffect(() => {\n const mutationObserver = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (mutation.attributeName === 'style') {\n updateState({\n currentlyResizedElementId: shape.guid\n });\n }\n });\n });\n redactionElement.current && mutationObserver.observe(redactionElement.current, {\n attributes: true\n });\n return () => mutationObserver.disconnect();\n }, [shape.guid, updateState]);\n\n const onRightClick = event => {\n event.preventDefault();\n setAnchorEl(anchorEl ? null : event.currentTarget);\n };\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n className: classes.root,\n tabIndex: 0,\n key: `r-${shape.h}-${shape.w}`,\n draggable: permissions.canEdit,\n onDragStart: onDragStart,\n onContextMenu: onRightClick,\n ref: redactionElement,\n style: {\n top: dimensions.top,\n left: dimensions.left,\n width: `${dimensions.width}px`,\n height: `${dimensions.height}px`\n }\n }), /*#__PURE__*/React.createElement(Popper, {\n id: id,\n open: open,\n anchorEl: anchorEl,\n placement: \"right-start\"\n }, /*#__PURE__*/React.createElement(ClickAwayListener, {\n onClickAway: () => setAnchorEl(null)\n }, /*#__PURE__*/React.createElement(Button, {\n variant: \"contained\",\n className: classes.button,\n onMouseUp: () => removeShape('redactions', shape.guid),\n startIcon: /*#__PURE__*/React.createElement(Delete, {\n scale: zoomRatio\n })\n }, localization.delete))));\n}\n//# sourceMappingURL=shape-redaction.js.map","import React, { useState } from 'react';\nimport { ShapeAnnotation, ShapeHighlight, ShapeRedaction, useDocumentPermissions } from \"../../index.js\";\nimport { useViewerState } from \"../../hooks/index.js\";\n/**\r\n * Defined the component's own properties\r\n */\n\nexport const ShapeSkeleton = props => {\n const permissions = useDocumentPermissions();\n const viewerState = useViewerState();\n const [focused, setFocused] = useState(false);\n /**\r\n * Method that returns the shape dimensions as CSS properties\r\n * @param shape the shape instance\r\n * @param offsetX optional X offset\r\n * @param offsetY optional Y offset\r\n */\n\n const getShapeDimensions = function (shape) {\n let offsetX = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n let offsetY = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n return {\n top: shape.y * props.zoomRatio + offsetY * props.zoomRatio,\n left: shape.x * props.zoomRatio + offsetX * props.zoomRatio,\n width: shape.w * props.zoomRatio,\n height: shape.h * props.zoomRatio\n };\n };\n /** event that will be triggered on resize */\n\n\n const onResized = clientRect => {\n if (clientRect && (viewerState.boxPosition.bottom || viewerState.boxPosition.left || viewerState.boxPosition.right || viewerState.boxPosition.top)) {\n const {\n shape,\n shapeType,\n zoomRatio\n } = props;\n const newSize = {\n w: clientRect.right < viewerState.pagesRects[props.visiblePagesIndex].pageRect.right && clientRect.right < viewerState.boxPosition.right ? clientRect.width / zoomRatio : (Math.min(viewerState.pagesRects[props.visiblePagesIndex].pageRect.right, viewerState.boxPosition.right) - clientRect.x) / zoomRatio,\n h: clientRect.bottom < viewerState.pagesRects[props.visiblePagesIndex].pageRect.bottom && clientRect.height < viewerState.boxPosition.bottom ? clientRect.height / zoomRatio : (Math.min(viewerState.pagesRects[props.visiblePagesIndex].pageRect.bottom, viewerState.boxPosition.bottom) - clientRect.y) / zoomRatio\n };\n props.updateShapeData(shapeType, shape.guid, { ...shape,\n w: newSize.w,\n h: newSize.h\n }, true);\n return newSize;\n }\n\n return undefined;\n };\n /** onDragStart event handler for the Shape instance */\n\n\n const onDragStart = ev => {\n ev.dataTransfer.setData('shape', JSON.stringify({\n type: props.shapeType,\n shape: props.shape,\n offset: {\n width: ev.clientX - ev.currentTarget.getBoundingClientRect().left,\n height: ev.clientY - ev.currentTarget.getBoundingClientRect().top\n }\n }));\n };\n /** onKeyPress event handler for deleting shapes */\n\n\n const handleKeyPress = ev => {\n switch (ev.key) {\n case 'Backspace':\n case 'Delete':\n permissions.canEdit && props.removeShape(props.shapeType, props.shape.guid);\n break;\n\n default:\n break;\n }\n };\n /** onFocus event handler that updates the 'focused' property */\n\n\n const onFocus = () => {\n setFocused(true);\n };\n /** onBlur event handler that updates the 'focused' property */\n\n\n const onBlur = ev => {\n setFocused(false);\n\n if (props.shapeType === 'annotations') {\n var _ev$currentTarget$inn;\n\n props.updateShapeData('annotations', props.shape.guid, { ...props.shape,\n text: (_ev$currentTarget$inn = ev.currentTarget.innerText) === null || _ev$currentTarget$inn === void 0 ? void 0 : _ev$currentTarget$inn.trim()\n });\n }\n };\n\n return /*#__PURE__*/React.createElement(\"div\", {\n onClickCapture: ev => ev.stopPropagation(),\n style: {\n filter: focused ? 'contrast(.9) brightness(1.1)' : ''\n },\n onFocus: onFocus,\n onKeyUp: ev => props.shapeType !== 'annotations' && handleKeyPress(ev),\n onBlur: ev => props.rotationDegree === 0 && onBlur(ev)\n }, props.shapeType === 'annotations' ? /*#__PURE__*/React.createElement(ShapeAnnotation, {\n shape: props.shape,\n zoomRatio: props.zoomRatio,\n onDragStart: ev => props.rotationDegree === 0 && onDragStart(ev),\n onResized: ev => {\n if (props.rotationDegree === 0) {\n return onResized(ev);\n } else {\n return undefined;\n }\n },\n getShapeDimensions: getShapeDimensions,\n updateShapeData: props.updateShapeData,\n removeShape: props.removeShape,\n rotationDegree: props.rotationDegree\n }) : props.shapeType === 'redactions' ? /*#__PURE__*/React.createElement(ShapeRedaction, {\n zoomRatio: props.zoomRatio,\n removeShape: props.removeShape,\n shape: props.shape,\n onDragStart: ev => props.rotationDegree === 0 && onDragStart(ev),\n onResized: ev => {\n if (props.rotationDegree === 0) {\n return onResized(ev);\n } else {\n return undefined;\n }\n },\n permissions: permissions,\n dimensions: getShapeDimensions(props.shape),\n rotationDegree: props.rotationDegree\n }) : /*#__PURE__*/React.createElement(ShapeHighlight, {\n zoomRatio: props.zoomRatio,\n removeShape: props.removeShape,\n shape: props.shape,\n onDragStart: ev => props.rotationDegree === 0 && onDragStart(ev),\n onResized: ev => {\n if (props.rotationDegree === 0) {\n return onResized(ev);\n } else {\n return undefined;\n }\n },\n dimensions: getShapeDimensions(props.shape),\n rotationDegree: props.rotationDegree\n }));\n};\n//# sourceMappingURL=shape-skeleton.js.map","/**\r\n * helper method to apply shape rotations\r\n * @param shapes the shape(s) to rotate\r\n * @param degree the rotation angle in degrees\r\n * @param pages the page info\r\n */\nexport const applyShapeRotations = (shapes, degree, page) => [...shapes.map(shape => {\n const origShape = shape;\n\n switch (degree) {\n case 90:\n return { ...origShape,\n x: page.Height - (origShape.y + origShape.h),\n y: origShape.x,\n h: origShape.w,\n w: origShape.h\n };\n\n case 180:\n return { ...origShape,\n x: page.Width - (origShape.x + origShape.w),\n y: page.Height - (origShape.y + origShape.h)\n };\n\n case 270:\n return { ...origShape,\n x: origShape.y,\n y: page.Width - (origShape.x + origShape.w),\n h: origShape.w,\n w: origShape.h\n };\n\n default:\n return { ...origShape\n };\n }\n})];\n//# sourceMappingURL=apply-shape-rotations.js.map","/** Dimensions model that defines a specified width and height */\n\n/**\r\n * Default scale value per step. Adjust this to increase / decrease fit relative zoom per clicks\r\n */\nexport const zoomLevelScale = 0.05;\n/**\r\n * Helper class for image manipulation\r\n */\n\nexport class ImageUtil {\n /**\r\n * Helper method that normalizes the given angle and returns a value between 0-349 in degrees\r\n * @param degrees the degrees\r\n * @returns the normalized value in degrees\r\n */\n static normalizeDegrees(degrees) {\n let normalizedDegrees = (degrees || 0) % 360;\n\n if (normalizedDegrees < 0) {\n normalizedDegrees += 360;\n }\n\n return normalizedDegrees;\n }\n /**\r\n * Helper method that calculates a resized image size\r\n * @param viewPort The viewport dimensions\r\n * @param image The image dimensions and the rotation amount\r\n * @param relativeZoomLevel The relative zoom level if provided\r\n * @returns The relative image size\r\n */\n\n\n static getImageSize(viewPort, image) {\n let zoomLevel = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n const boundingBox = this.getRotatedBoundingBoxSize(image, image.rotation);\n const [width, height] = [boundingBox.width, boundingBox.height];\n const zoomWidth = viewPort.width || width ? viewPort.width / width : 0;\n const zoomHeight = viewPort.height || height ? viewPort.height / height : 0;\n const zoom = Math.min(zoomWidth, zoomHeight);\n return {\n width: width * zoom + zoomLevel * width * zoom * zoomLevelScale,\n height: height * zoom + zoomLevel * height * zoom * zoomLevelScale\n };\n }\n /**\r\n * Helper method that calculates a bounding box for a rotated image\r\n * @param image The image dimensions\r\n * @param degrees The rotation in degrees\r\n * @returns the calculated dimensions and the zoom ratio\r\n */\n\n\n static getRotatedBoundingBoxSize(image, degrees) {\n if (ImageUtil.normalizeDegrees(degrees) === 0) {\n return { ...image,\n zoomRatio: 1\n };\n }\n\n degrees = this.normalizeDegrees(degrees);\n\n if (degrees <= 90 || degrees >= 180 && degrees <= 270) {\n const angle1 = degrees % 180 * Math.PI / 180;\n const dimensions = {\n width: Math.cos(angle1) * image.width + Math.sin(angle1) * image.height,\n height: Math.sin(angle1) * image.width + Math.cos(angle1) * image.height\n };\n return { ...dimensions,\n zoomRatio: image.width / dimensions.width\n };\n } else {\n const h = image.width;\n const w = image.height;\n const angle2 = (degrees % 180 - 90) * Math.PI / 180;\n const dimensions = {\n width: Math.cos(angle2) * w + Math.sin(angle2) * h,\n height: Math.sin(angle2) * w + Math.cos(angle2) * h\n };\n return { ...dimensions,\n zoomRatio: image.height / dimensions.width\n };\n }\n }\n\n}\n//# sourceMappingURL=image-utils.js.map","import { createStyles, makeStyles } from '@material-ui/core';\nimport { debounce } from '@sensenet/client-utils';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { useComments, useCommentState, useDocumentData, useDocumentPermissions, useViewerState } from \"../../hooks/index.js\";\nimport { applyShapeRotations, ImageUtil } from \"../../services/index.js\";\nimport { ShapeSkeleton } from \"../shapes/index.js\";\nimport { CommentMarker } from \"./comment-marker.js\";\nconst useStyles = makeStyles(() => {\n return createStyles({\n shapesContainer: {\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n zIndex: 1\n }\n });\n});\n/**\r\n * Defined the component's own properties\r\n */\n\n/**\r\n * Page widget component for displaying shapes on a page\r\n */\nexport const ShapesWidget = props => {\n var _viewerState$rotation, _viewerState$rotation2, _commentState$draft, _props$page;\n\n const classes = useStyles();\n const permissions = useDocumentPermissions();\n const viewerState = useViewerState();\n const {\n documentData,\n updateDocumentData\n } = useDocumentData();\n const comments = useComments();\n const commentState = useCommentState();\n const shapesContainerRef = useRef(null);\n const [resizeToken, setResizeToken] = useState(0);\n const zoomRatio = props.imageRotation === 90 || props.imageRotation === 270 ? props.zoomRatioLying : props.zoomRatioStanding;\n const rotationDegree = ((_viewerState$rotation = viewerState.rotation) === null || _viewerState$rotation === void 0 ? void 0 : (_viewerState$rotation2 = _viewerState$rotation.find(rotation => rotation.pageNum === props.page.Index)) === null || _viewerState$rotation2 === void 0 ? void 0 : _viewerState$rotation2.degree) || 0;\n const visibleShapes = {\n redactions: applyShapeRotations(documentData.shapes.redactions.filter(r => r.imageIndex === props.page.Index), rotationDegree, props.page),\n highlights: applyShapeRotations(documentData.shapes.highlights.filter(r => r.imageIndex === props.page.Index), rotationDegree, props.page),\n annotations: applyShapeRotations(documentData.shapes.annotations.filter(r => r.imageIndex === props.page.Index), rotationDegree, props.page)\n };\n const visibleComments = [...comments.comments.filter(comment => comment.page === props.page.Index), ...(props.page.Index !== undefined && ((_commentState$draft = commentState.draft) === null || _commentState$draft === void 0 ? void 0 : _commentState$draft.page) === ((_props$page = props.page) === null || _props$page === void 0 ? void 0 : _props$page.Index) ? [commentState.draft] : [])];\n const {\n updateState\n } = viewerState; // eslint-disable-next-line react-hooks/exhaustive-deps\n\n const requestResize = useCallback(debounce(() => {\n setResizeToken(Math.random());\n }, 300), []);\n const onScroll = useCallback(() => {\n requestResize();\n }, [requestResize]);\n useEffect(() => {\n const currentViewport = props.pageContainerRef;\n currentViewport === null || currentViewport === void 0 ? void 0 : currentViewport.addEventListener('scroll', onScroll);\n return () => currentViewport === null || currentViewport === void 0 ? void 0 : currentViewport.removeEventListener('scroll', onScroll);\n }, [onScroll, props.pageContainerRef]);\n useEffect(() => {\n if (shapesContainerRef.current && props.visiblePagesIndex !== undefined) {\n const updatePagesRectsFunc = previous => {\n const clonePagesRects = [...previous.pagesRects];\n\n if (clonePagesRects.length === 0) {\n clonePagesRects.push({\n visiblePage: props.visiblePagesIndex,\n pageRect: shapesContainerRef.current.getClientRects()[0]\n });\n } else {\n const findIndex = clonePagesRects.findIndex(item => item.visiblePage === props.visiblePagesIndex);\n\n if (findIndex !== -1) {\n clonePagesRects[findIndex].pageRect = shapesContainerRef.current.getClientRects()[0];\n } else {\n clonePagesRects.push({\n visiblePage: props.visiblePagesIndex,\n pageRect: shapesContainerRef.current.getClientRects()[0]\n });\n }\n }\n\n return {\n pagesRects: clonePagesRects\n };\n };\n\n updateState(updatePagesRectsFunc);\n\n if (props.pageContainerRef && props.pageContainerRef.getClientRects().length > 0) {\n updateState({\n boxPosition: {\n bottom: props.pageContainerRef.getClientRects()[0].bottom,\n left: props.pageContainerRef.getClientRects()[0].left,\n right: props.pageContainerRef.getClientRects()[0].right,\n top: props.pageContainerRef.getClientRects()[0].top\n }\n });\n }\n }\n }, [resizeToken, props.pageContainerRef, props.visiblePagesIndex, updateState]);\n const removeShape = useCallback((shapeType, guid) => {\n ;\n documentData.shapes[shapeType] = documentData.shapes[shapeType].filter(s => s.guid !== guid);\n updateDocumentData(documentData);\n viewerState.updateState({\n hasChanges: true\n });\n }, [documentData, updateDocumentData, viewerState]);\n const updateShapeData = useCallback((shapeType, guid, shapeChange, force) => {\n const newDocumentData = { ...documentData\n };\n newDocumentData.shapes[shapeType] = newDocumentData.shapes[shapeType].map(s => {\n if (s.guid === guid) {\n return { ...s,\n ...shapeChange\n };\n }\n\n return s;\n });\n updateDocumentData(newDocumentData, force);\n viewerState.updateState({\n hasChanges: true\n });\n }, [documentData, updateDocumentData, viewerState]);\n const onDrop = useCallback(ev => {\n if (permissions.canEdit && ev.dataTransfer.getData('shape') && (viewerState.boxPosition.bottom || viewerState.boxPosition.left || viewerState.boxPosition.right || viewerState.boxPosition.top)) {\n ev.preventDefault();\n const shapeData = JSON.parse(ev.dataTransfer.getData('shape'));\n const clientRect = ev.currentTarget.getClientRects()[0];\n\n const compareNumbers = (a, b) => a - b;\n\n const pageBoundings = {\n left: Math.max(viewerState.pagesRects[props.visiblePagesIndex].pageRect.left, viewerState.boxPosition.left),\n right: Math.min(viewerState.pagesRects[props.visiblePagesIndex].pageRect.right, viewerState.boxPosition.right) - shapeData.shape.w * zoomRatio,\n bottom: Math.min(viewerState.pagesRects[props.visiblePagesIndex].pageRect.bottom, viewerState.boxPosition.bottom) - shapeData.shape.h * zoomRatio,\n top: Math.max(viewerState.pagesRects[props.visiblePagesIndex].pageRect.top, viewerState.boxPosition.top)\n };\n const newX = [pageBoundings.left, pageBoundings.right, ev.pageX - shapeData.offset.width].sort(compareNumbers)[1] - clientRect.left;\n const newY = [pageBoundings.top, pageBoundings.bottom, ev.pageY - shapeData.offset.height].sort(compareNumbers)[1] - clientRect.top;\n updateShapeData(shapeData.type, shapeData.shape.guid, { ...shapeData.shape,\n imageIndex: props.page.Index,\n x: newX / zoomRatio,\n y: newY / zoomRatio\n }, true);\n }\n }, [permissions.canEdit, props.page.Index, props.visiblePagesIndex, updateShapeData, viewerState.boxPosition.bottom, viewerState.boxPosition.left, viewerState.boxPosition.right, viewerState.boxPosition.top, viewerState.pagesRects, zoomRatio]);\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: shapesContainerRef,\n className: classes.shapesContainer,\n onDrop: onDrop,\n onDragOver: ev => ev.preventDefault()\n }, viewerState.showComments && visibleComments.length > 0 && visibleComments.map(marker => {\n var _viewerState$rotation3, _viewerState$rotation4;\n\n return /*#__PURE__*/React.createElement(CommentMarker, {\n isSelected: marker.id === commentState.activeCommentId,\n zoomRatio: zoomRatio,\n marker: marker,\n key: marker.id,\n rotation: ImageUtil.normalizeDegrees(((_viewerState$rotation3 = viewerState.rotation) === null || _viewerState$rotation3 === void 0 ? void 0 : (_viewerState$rotation4 = _viewerState$rotation3.find(rotation => rotation.pageNum === props.page.Index)) === null || _viewerState$rotation4 === void 0 ? void 0 : _viewerState$rotation4.degree) || 0)\n });\n }), /*#__PURE__*/React.createElement(React.Fragment, null, permissions.canHideRedaction && viewerState.showRedaction && visibleShapes.redactions.map(redaction => {\n return /*#__PURE__*/React.createElement(ShapeSkeleton, {\n key: redaction.guid,\n shape: redaction,\n shapeType: \"redactions\",\n zoomRatio: zoomRatio,\n updateShapeData: updateShapeData,\n removeShape: removeShape,\n rotationDegree: rotationDegree,\n visiblePagesIndex: props.visiblePagesIndex\n });\n }), viewerState.showShapes && visibleShapes.annotations.map(annotation => {\n return /*#__PURE__*/React.createElement(ShapeSkeleton, {\n key: annotation.guid,\n shape: annotation,\n shapeType: \"annotations\",\n zoomRatio: zoomRatio,\n updateShapeData: updateShapeData,\n removeShape: removeShape,\n rotationDegree: rotationDegree,\n visiblePagesIndex: props.visiblePagesIndex\n });\n }), viewerState.showShapes && visibleShapes.highlights.map(highlight => {\n return /*#__PURE__*/React.createElement(ShapeSkeleton, {\n key: highlight.guid,\n shape: highlight,\n shapeType: \"highlights\",\n zoomRatio: zoomRatio,\n updateShapeData: updateShapeData,\n removeShape: removeShape,\n rotationDegree: rotationDegree,\n visiblePagesIndex: props.visiblePagesIndex\n });\n })));\n};\n//# sourceMappingURL=shapes.js.map","import { useContext } from 'react';\nimport { CommentsContext } from \"../context/comments.js\";\nexport const useComments = () => useContext(CommentsContext);\n//# sourceMappingURL=use-comments.js.map","import { AppBar, createStyles, makeStyles, Toolbar } from '@material-ui/core';\nimport React from 'react';\nconst useStyles = makeStyles(() => {\n return createStyles({\n appBar: {\n position: 'relative',\n zIndex: 1\n },\n toolBar: {\n display: 'flex',\n justifyContent: 'space-between',\n color: 'inherit',\n backgroundColor: 'inherit'\n }\n });\n});\n\n/**\r\n * Represents a Toolbar component in an AppBar\r\n */\nexport const LayoutAppBar = props => {\n const classes = useStyles(props);\n return /*#__PURE__*/React.createElement(AppBar, {\n position: \"sticky\",\n className: classes.appBar\n }, /*#__PURE__*/React.createElement(Toolbar, {\n className: classes.toolBar\n }, props.children));\n};\n//# sourceMappingURL=layout-app-bar.js.map","import { createStyles, Grid, makeStyles } from '@material-ui/core';\nimport { debounce } from '@sensenet/client-utils';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { usePreviewImages, useViewerState } from \"../hooks/index.js\";\nimport { ImageUtil } from \"../services/index.js\";\nimport { Page, PAGE_CONTAINER_ID, PAGE_PADDING } from \"./index.js\";\nconst useStyles = makeStyles(() => {\n return createStyles({\n grid: {\n flexGrow: 1,\n flexShrink: 1,\n overflow: 'auto'\n },\n pagesWrapper: {\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'center'\n }\n });\n});\n/**\r\n * Defines the own properties for the PageList component\r\n */\n\nexport const PageList = props => {\n const [paddingTop, setPaddingTop] = useState(0);\n const [paddingBottom, setPaddingBottom] = useState(0);\n const [visiblePages, setVisiblePages] = useState([]);\n const [scrollState, setScrollState] = useState(0);\n const viewportElement = useRef();\n const viewerState = useViewerState();\n const [resizeToken, setResizeToken] = useState(0);\n const [viewport, setViewport] = useState({\n width: 0,\n height: 0\n });\n const pages = usePreviewImages();\n const classes = useStyles(); // eslint-disable-next-line react-hooks/exhaustive-deps\n\n const requestResize = useCallback(debounce(() => {\n setResizeToken(Math.random());\n }, 300), []);\n const onScroll = useCallback(() => {\n requestResize();\n setScrollState(viewportElement.current && viewportElement.current.scrollTop || 0);\n }, [requestResize]);\n useEffect(() => {\n const currentViewport = viewportElement.current;\n\n if (currentViewport) {\n currentViewport.addEventListener('scroll', onScroll);\n }\n\n return () => currentViewport && currentViewport.removeEventListener('scroll', onScroll);\n }, [onScroll, viewportElement]);\n useEffect(() => {\n window.addEventListener('resize', requestResize);\n return () => window.removeEventListener('resize', requestResize);\n }, [requestResize]);\n useEffect(() => {\n if (viewportElement && viewportElement.current) {\n const newHeight = viewportElement.current.clientHeight - PAGE_PADDING * 2;\n const newWidth = viewportElement.current.clientWidth - PAGE_PADDING * 2;\n setViewport({\n height: newHeight >= 0 ? newHeight : 0,\n width: newWidth >= 0 ? newWidth : 0\n });\n }\n }, [resizeToken, viewportElement]);\n useEffect(() => {\n if (!pages.imageData.length) {\n return;\n }\n\n let defaultWidth;\n let defaultHeight;\n\n const _visiblePages = pages.imageData.map(p => {\n var _viewerState$rotation, _viewerState$rotation2;\n\n if (p && !defaultWidth || !defaultHeight) {\n ;\n [defaultWidth, defaultHeight] = [p.Width, p.Height];\n }\n\n if (!p.Width || !p.Height) {\n ;\n [p.Width, p.Height] = [defaultWidth, defaultHeight];\n }\n\n const relativeSize = ImageUtil.getImageSize({\n width: viewport.width,\n height: viewport.height\n }, {\n width: p.Width,\n height: p.Height,\n rotation: ((_viewerState$rotation = viewerState.rotation) === null || _viewerState$rotation === void 0 ? void 0 : (_viewerState$rotation2 = _viewerState$rotation.find(rotation => rotation.pageNum === p.Index)) === null || _viewerState$rotation2 === void 0 ? void 0 : _viewerState$rotation2.degree) || 0\n }, viewerState.zoomLevel);\n return { ...p,\n Width: relativeSize.width,\n Height: relativeSize.height\n };\n });\n\n let _paddingTop = 0;\n let _pagesToSkip = 0;\n\n while (_visiblePages[_pagesToSkip] && _paddingTop + _visiblePages[_pagesToSkip].Height < scrollState) {\n _paddingTop += _visiblePages[_pagesToSkip].Height + PAGE_PADDING * 2;\n _pagesToSkip++;\n }\n\n let _pagesToTake = 1;\n let _pagesHeight = 0;\n\n while (_visiblePages[_pagesToSkip + _pagesToTake] && _pagesHeight < viewport.height) {\n _pagesHeight += _visiblePages[_pagesToSkip + _pagesToTake].Height + PAGE_PADDING * 2;\n _pagesToTake++;\n }\n\n let _paddingBottom = 0;\n\n for (let i = _pagesToSkip + _pagesToTake - 1; i < _visiblePages.length - 1; i++) {\n _paddingBottom += _visiblePages[i].Height + PAGE_PADDING * 2;\n }\n\n setPaddingTop(_paddingTop);\n setPaddingBottom(_paddingBottom + _visiblePages[0].Height / 4);\n\n const newVisiblePages = _visiblePages.slice(_pagesToSkip, _pagesToSkip + _pagesToTake);\n\n setVisiblePages(newVisiblePages);\n\n if (newVisiblePages.length > 0) {\n let newActivePage;\n\n if (newVisiblePages.length === 1) {\n newActivePage = newVisiblePages[0].Index;\n } else {\n newActivePage = scrollState - _paddingTop >= 0 && scrollState - _paddingTop > newVisiblePages[0].Height / 2 ? newVisiblePages[1].Index : newVisiblePages[0].Index;\n }\n\n if (viewerState.activePage !== newActivePage) {\n viewerState.updateState({\n activePage: newActivePage\n });\n }\n }\n }, [pages.imageData, scrollState, viewerState, viewport.height, viewport.width]);\n return /*#__PURE__*/React.createElement(Grid, {\n item: true,\n className: classes.grid,\n id: PAGE_CONTAINER_ID,\n innerRef: viewportElement\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classes.pagesWrapper,\n style: {\n paddingTop: paddingTop || 0,\n paddingBottom: paddingBottom || 0\n }\n }, visiblePages.map((page, index) => /*#__PURE__*/React.createElement(Page, {\n key: page.Index,\n page: page,\n viewportWidth: viewport.width,\n viewportHeight: viewport.height,\n onClick: () => props.onPageClick(page.Index),\n visiblePagesIndex: index,\n pageContainerRef: viewportElement.current\n }))));\n};\n//# sourceMappingURL=page-list.js.map","import { CircularProgress, createStyles, makeStyles, Paper } from '@material-ui/core';\nimport clsx from 'clsx';\nimport React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { useCommentState, useDocumentData, usePreviewImage, useViewerState } from \"../hooks/index.js\";\nimport { ImageUtil } from \"../services/index.js\";\nimport { PAGE_NAME, PAGE_PADDING } from \"./document-viewer-layout.js\";\nimport { MARKER_SIZE, ShapeDraft, ShapesWidget } from \"./shapes/index.js\";\nexport const ANNOTATION_EXTRA_VALUES = {\n text: '',\n lineHeight: 40,\n fontBold: 400,\n fontColor: '#000000',\n fontFamily: 'arial',\n fontItalic: false,\n fontSize: 40\n};\nconst useStyles = makeStyles(() => {\n return createStyles({\n page: {\n padding: 0,\n overflow: 'hidden',\n width: _ref => {\n let {\n page\n } = _ref;\n return page.Width;\n },\n height: _ref2 => {\n let {\n page\n } = _ref2;\n return page.Height;\n },\n position: 'relative'\n },\n image: {\n display: 'flex',\n justifyContent: 'center'\n },\n isPlacingShape: {\n cursor: 'crosshair'\n },\n draftShapeContainer: {\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n zIndex: 1\n }\n });\n});\n/**\r\n * Defined the component's own properties\r\n */\n\nexport const Page = props => {\n var _page$image2, _page$image3, _viewerState$rotation, _viewerState$rotation2, _page$image4, _page$image5, _page$image8, _page$image9;\n\n const classes = useStyles(props);\n const viewerState = useViewerState();\n const page = usePreviewImage(props.page.Index);\n const commentState = useCommentState();\n const [mouseIsDown, setMouseIsDown] = useState(false);\n const [startX, setStartX] = useState(0);\n const [startY, setStartY] = useState(0);\n const [startOffsetX, setStartOffsetX] = useState(0);\n const [startOffsetY, setStartOffsetY] = useState(0);\n const [draftWidth, setdraftWidth] = useState(0);\n const [draftHeight, setdraftHeight] = useState(0);\n const [scrollX, setScrollX] = useState(0);\n const [scrollY, setScrollY] = useState(0);\n const [scrollOffsetX, setScrollOffsetX] = useState(0);\n const [scrollOffsetY, setScrollOffsetY] = useState(0);\n const {\n documentData,\n updateDocumentData\n } = useDocumentData();\n const imageRatio = useMemo(() => {\n var _page$image;\n\n return props.page.Height / (((_page$image = page.image) === null || _page$image === void 0 ? void 0 : _page$image.Height) || 1);\n }, [props.page.Height, (_page$image2 = page.image) === null || _page$image2 === void 0 ? void 0 : _page$image2.Height]);\n const isActive = page.image && viewerState.activePage === page.image.Index;\n const imgUrl = page.image && ((_page$image3 = page.image) === null || _page$image3 === void 0 ? void 0 : _page$image3.PreviewImageUrl) || '';\n const imageRotation = ImageUtil.normalizeDegrees(((_viewerState$rotation = viewerState.rotation) === null || _viewerState$rotation === void 0 ? void 0 : (_viewerState$rotation2 = _viewerState$rotation.find(rotation => rotation.pageNum === props.page.Index)) === null || _viewerState$rotation2 === void 0 ? void 0 : _viewerState$rotation2.degree) || 0);\n const imageRotationRads = imageRotation % 180 * Math.PI / 180;\n const boundingBox = ImageUtil.getRotatedBoundingBoxSize({\n width: ((_page$image4 = page.image) === null || _page$image4 === void 0 ? void 0 : _page$image4.Width) || 0,\n height: ((_page$image5 = page.image) === null || _page$image5 === void 0 ? void 0 : _page$image5.Height) || 0\n }, imageRotation);\n const diffHeight = Math.sin(imageRotationRads) * ((props.page.Height - props.page.Width) / 2);\n const imageTransform = `translateY(${diffHeight}px) rotate(${imageRotation}deg)`;\n const reCalculateDraftShape = useCallback(ev => {\n const compareNumbers = (a, b) => a - b;\n\n const pageBoundings = {\n left: Math.max(viewerState.pagesRects[props.visiblePagesIndex].pageRect.left, viewerState.boxPosition.left),\n right: Math.min(viewerState.pagesRects[props.visiblePagesIndex].pageRect.right, viewerState.boxPosition.right),\n bottom: Math.min(viewerState.pagesRects[props.visiblePagesIndex].pageRect.bottom, viewerState.boxPosition.bottom),\n top: Math.max(viewerState.pagesRects[props.visiblePagesIndex].pageRect.top, viewerState.boxPosition.top)\n };\n const endX = ([pageBoundings.left, pageBoundings.right, ev.pageX].sort(compareNumbers)[1] + scrollOffsetX) / imageRatio;\n const endY = ([pageBoundings.bottom, pageBoundings.top, ev.pageY].sort(compareNumbers)[1] + scrollOffsetY) / imageRatio;\n return {\n endX,\n endY\n };\n }, [imageRatio, props.visiblePagesIndex, scrollOffsetX, scrollOffsetY, viewerState.boxPosition.bottom, viewerState.boxPosition.left, viewerState.boxPosition.right, viewerState.boxPosition.top, viewerState.pagesRects]);\n useEffect(() => {\n var _props$pageContainerR;\n\n const handleGlobalScroll = ev => {\n if (ev.currentTarget) {\n if (viewerState.activeShapePlacing !== 'none' && mouseIsDown) {\n setScrollOffsetX(ev.currentTarget.scrollLeft - scrollX);\n setScrollOffsetY(ev.currentTarget.scrollTop - scrollY);\n } else {\n setScrollX(ev.currentTarget.scrollLeft || 0);\n setScrollY(ev.currentTarget.scrollTop || 0);\n setScrollOffsetX(0);\n setScrollOffsetY(0);\n }\n }\n };\n\n (_props$pageContainerR = props.pageContainerRef) === null || _props$pageContainerR === void 0 ? void 0 : _props$pageContainerR.addEventListener('scroll', handleGlobalScroll);\n return () => {\n var _props$pageContainerR2;\n\n (_props$pageContainerR2 = props.pageContainerRef) === null || _props$pageContainerR2 === void 0 ? void 0 : _props$pageContainerR2.removeEventListener('scroll', handleGlobalScroll);\n };\n }, [mouseIsDown, props.pageContainerRef, scrollX, scrollY, viewerState.activeShapePlacing]);\n useEffect(() => {\n const handleGlobalMouseMove = ev => {\n if (viewerState.activeShapePlacing !== 'none' && mouseIsDown && viewerState.pagesRects[props.visiblePagesIndex] && (viewerState.boxPosition.bottom || viewerState.boxPosition.left || viewerState.boxPosition.right || viewerState.boxPosition.top)) {\n const {\n endX,\n endY\n } = reCalculateDraftShape(ev);\n setdraftHeight(endY - startY);\n setdraftWidth(endX - startX);\n }\n };\n\n document.addEventListener('mousemove', handleGlobalMouseMove);\n return () => {\n document.removeEventListener('mousemove', handleGlobalMouseMove);\n };\n }, [mouseIsDown, props.visiblePagesIndex, reCalculateDraftShape, startX, startY, viewerState.activeShapePlacing, viewerState.boxPosition.bottom, viewerState.boxPosition.left, viewerState.boxPosition.right, viewerState.boxPosition.top, viewerState.pagesRects]);\n useEffect(() => {\n const handleGlobalMouseUp = ev => {\n if (mouseIsDown && (viewerState.boxPosition.bottom || viewerState.boxPosition.left || viewerState.boxPosition.right || viewerState.boxPosition.top)) {\n setMouseIsDown(false);\n setdraftHeight(0);\n setdraftWidth(0);\n const {\n endX,\n endY\n } = reCalculateDraftShape(ev);\n\n if (endY - startY > 0 && endX - startX > 0) {\n switch (viewerState.activeShapePlacing) {\n case 'annotation':\n documentData.shapes.annotations.push({\n h: endY - startY,\n w: endX - startX,\n x: startOffsetX,\n y: startOffsetY,\n imageIndex: props.page.Index,\n guid: `a-${startX}-${startY}`,\n ...ANNOTATION_EXTRA_VALUES\n });\n updateDocumentData(documentData);\n viewerState.updateState({\n hasChanges: true,\n activeShapePlacing: 'none',\n showShapes: true\n });\n break;\n\n case 'highlight':\n documentData.shapes.highlights.push({\n h: endY - startY,\n w: endX - startX,\n x: startOffsetX,\n y: startOffsetY,\n imageIndex: props.page.Index,\n guid: `h-${startX}-${startY}`\n });\n updateDocumentData(documentData);\n viewerState.updateState({\n hasChanges: true,\n activeShapePlacing: 'none',\n showShapes: true\n });\n break;\n\n case 'redaction':\n documentData.shapes.redactions.push({\n h: endY - startY,\n w: endX - startX,\n x: startOffsetX,\n y: startOffsetY,\n imageIndex: props.page.Index,\n guid: `r-${startX}-${startY}`\n });\n updateDocumentData(documentData);\n viewerState.updateState({\n hasChanges: true,\n activeShapePlacing: 'none',\n showRedaction: true\n });\n break;\n\n default:\n break;\n }\n }\n\n setStartX(0);\n setStartY(0);\n setScrollX(scrollOffsetX + scrollX);\n setScrollY(scrollOffsetY + scrollY);\n setScrollOffsetX(0);\n setScrollOffsetY(0);\n }\n };\n\n document.addEventListener('mouseup', handleGlobalMouseUp);\n return () => {\n document.removeEventListener('mouseup', handleGlobalMouseUp);\n };\n }, [documentData, mouseIsDown, props.page.Index, reCalculateDraftShape, scrollOffsetX, scrollOffsetY, scrollX, scrollY, startOffsetX, startOffsetY, startX, startY, updateDocumentData, viewerState]);\n const handleMarkerPlacement = useCallback(event => {\n var _page$image6, _page$image7;\n\n if (imageRotation !== 0) {\n viewerState.updateState({\n isPlacingCommentMarker: false\n });\n }\n\n const xCoord = event.nativeEvent.offsetX / imageRatio;\n const yCoord = event.nativeEvent.offsetY / (props.page.Width / (((_page$image6 = page.image) === null || _page$image6 === void 0 ? void 0 : _page$image6.Width) || 1));\n\n if (!viewerState.isPlacingCommentMarker || xCoord <= MARKER_SIZE || yCoord <= MARKER_SIZE) {\n return;\n }\n\n const newCommentMarker = {\n x: `${xCoord - MARKER_SIZE}`,\n y: `${yCoord - MARKER_SIZE}`,\n id: 'draft',\n page: ((_page$image7 = page.image) === null || _page$image7 === void 0 ? void 0 : _page$image7.Index) || viewerState.activePage\n };\n commentState.setDraft(newCommentMarker);\n }, [commentState, imageRatio, imageRotation, (_page$image8 = page.image) === null || _page$image8 === void 0 ? void 0 : _page$image8.Index, (_page$image9 = page.image) === null || _page$image9 === void 0 ? void 0 : _page$image9.Width, props.page.Width, viewerState]);\n\n const handleMouseDown = ev => {\n if (imageRotation !== 0) {\n viewerState.updateState({\n activeShapePlacing: 'none'\n });\n }\n\n setMouseIsDown(true);\n setStartX(ev.nativeEvent.pageX / imageRatio);\n setStartY(ev.nativeEvent.pageY / imageRatio);\n setStartOffsetX((ev.nativeEvent.pageX - viewerState.pagesRects[props.visiblePagesIndex].pageRect.left) / imageRatio);\n setStartOffsetY((ev.nativeEvent.pageY - viewerState.pagesRects[props.visiblePagesIndex].pageRect.top) / imageRatio);\n };\n\n return /*#__PURE__*/React.createElement(Paper, {\n elevation: isActive ? 8 : 2,\n className: PAGE_NAME,\n style: {\n margin: PAGE_PADDING\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: clsx(classes.page, {\n [classes.isPlacingShape]: viewerState.activeShapePlacing !== 'none'\n }),\n onClick: ev => {\n viewerState.isPlacingCommentMarker ? handleMarkerPlacement(ev) : props.onClick(ev);\n },\n onMouseDown: ev => {\n viewerState.activeShapePlacing !== 'none' && !mouseIsDown && handleMouseDown(ev);\n }\n }, page.image && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ShapesWidget, {\n imageRotation: imageRotation,\n zoomRatioStanding: props.page.Height / page.image.Height,\n zoomRatioLying: props.page.Width / page.image.Height,\n page: page.image,\n visiblePagesIndex: props.visiblePagesIndex,\n pageContainerRef: props.pageContainerRef\n }), mouseIsDown && /*#__PURE__*/React.createElement(\"div\", {\n className: classes.draftShapeContainer\n }, /*#__PURE__*/React.createElement(ShapeDraft, {\n dimensions: {\n top: startOffsetY * (props.page.Height / page.image.Height),\n left: startOffsetX * (props.page.Height / page.image.Height),\n height: draftHeight * (props.page.Height / page.image.Height),\n width: draftWidth * (props.page.Height / page.image.Height)\n }\n }))), /*#__PURE__*/React.createElement(\"span\", {\n className: classes.image\n }, imgUrl ? /*#__PURE__*/React.createElement(\"img\", {\n src: `${imgUrl}${viewerState.showWatermark ? '?watermark=true' : ''}`,\n alt: \"\",\n style: {\n transition: 'transform .1s ease-in-out',\n width: `${100 * boundingBox.zoomRatio}%`,\n height: `${100 * boundingBox.zoomRatio}%`,\n transform: imageTransform,\n userSelect: 'none'\n }\n }) : /*#__PURE__*/React.createElement(CircularProgress, {\n style: {\n marginTop: '50%'\n }\n }))));\n};\n//# sourceMappingURL=page.js.map","import { CircularProgress, createStyles, makeStyles, Paper } from '@material-ui/core';\nimport React from 'react';\nimport { THUMBNAIL_NAME, THUMBNAIL_PADDING } from \"../components/index.js\";\nimport { usePreviewImage, useViewerState } from \"../hooks/index.js\";\nconst useStyles = makeStyles(() => {\n return createStyles({\n thumbnailPage: {\n padding: 0,\n overflow: 'hidden',\n width: _ref => {\n let {\n page\n } = _ref;\n return page.Width - 2 * THUMBNAIL_PADDING;\n },\n height: _ref2 => {\n let {\n page\n } = _ref2;\n return page.Height - 2 * THUMBNAIL_PADDING;\n },\n position: 'relative'\n },\n image: {\n display: 'flex',\n justifyContent: 'center'\n }\n });\n});\n/**\r\n * Defined the component's own properties\r\n */\n\nexport const ThumbnailPage = props => {\n const classes = useStyles(props);\n const viewerState = useViewerState();\n const page = usePreviewImage(props.page.Index);\n const isActive = page.image && viewerState.activePage === page.image.Index;\n const imgUrl = page.image && page.image.ThumbnailImageUrl || '';\n return /*#__PURE__*/React.createElement(Paper, {\n elevation: isActive ? 8 : 2,\n className: THUMBNAIL_NAME,\n style: {\n margin: THUMBNAIL_PADDING\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classes.thumbnailPage,\n onClick: ev => {\n props.onClick(ev);\n }\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: classes.image\n }, imgUrl ? /*#__PURE__*/React.createElement(\"img\", {\n src: `${imgUrl}${viewerState.showWatermark ? '?watermark=true' : ''}`,\n alt: \"\",\n style: {\n transition: 'transform .1s ease-in-out'\n }\n }) : /*#__PURE__*/React.createElement(CircularProgress, {\n style: {\n marginTop: '50%'\n }\n }))));\n};\n//# sourceMappingURL=thumbnail-page.js.map","import { createStyles, Grid, makeStyles } from '@material-ui/core';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { DEFAULT_ZOOM_LEVEL } from \"../context/viewer-state.js\";\nimport { usePreviewImages, useViewerState } from \"../hooks/index.js\";\nimport { ImageUtil } from \"../services/index.js\";\nimport { THUMBNAIL_CONTAINER_ID, THUMBNAIL_PADDING, ThumbnailPage } from \"./index.js\";\nconst useStyles = makeStyles(() => {\n return createStyles({\n grid: {\n flexGrow: 1,\n flexShrink: 1,\n overflow: 'auto'\n },\n thumbnailsWrapper: {\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'center'\n }\n });\n});\n/**\r\n * Defines the own properties for the PageList component\r\n */\n\nexport const Thumbnails = props => {\n const classes = useStyles();\n const [marginTop, setMarginTop] = useState(0);\n const [marginBottom, setMarginBottom] = useState(0);\n const [visiblePages, setVisiblePages] = useState([]);\n const [scrollState, setScrollState] = useState(0);\n const viewportElement = useRef();\n const viewerState = useViewerState();\n const [resizeToken, setResizeToken] = useState(0);\n const [viewport, setViewport] = useState({\n width: 0,\n height: 0\n });\n const pages = usePreviewImages();\n const requestResize = useCallback(() => {\n setResizeToken(Math.random());\n }, []);\n const onScroll = useCallback(() => {\n requestResize();\n setScrollState(viewportElement.current && viewportElement.current.scrollTop || 0);\n }, [requestResize]);\n useEffect(() => {\n const currentViewport = viewportElement.current;\n\n if (currentViewport) {\n currentViewport.addEventListener('scroll', onScroll);\n }\n\n return () => currentViewport && currentViewport.removeEventListener('scroll', onScroll);\n }, [onScroll, viewportElement]);\n useEffect(() => {\n window.addEventListener('resize', requestResize);\n return () => window.removeEventListener('resize', requestResize);\n }, [requestResize]);\n useEffect(() => {\n if (viewportElement && viewportElement.current) {\n const newHeight = viewportElement.current.clientHeight - THUMBNAIL_PADDING * 2;\n const newWidth = viewportElement.current.clientWidth - THUMBNAIL_PADDING * 2;\n setViewport({\n height: newHeight >= 0 ? newHeight : 0,\n width: newWidth >= 0 ? newWidth : 0\n });\n }\n }, [resizeToken, viewportElement]);\n useEffect(() => {\n if (!pages.imageData.length) {\n return;\n }\n\n let defaultWidth;\n let defaultHeight;\n\n const _visiblePages = pages.imageData.map(p => {\n var _viewerState$rotation, _viewerState$rotation2;\n\n if (p && !defaultWidth || !defaultHeight) {\n ;\n [defaultWidth, defaultHeight] = [p.Width, p.Height];\n }\n\n if (!p.Width || !p.Height) {\n ;\n [p.Width, p.Height] = [defaultWidth, defaultHeight];\n }\n\n const relativeSize = ImageUtil.getImageSize({\n width: viewport.width,\n height: viewport.height\n }, {\n width: p.Width,\n height: p.Height,\n rotation: ((_viewerState$rotation = viewerState.rotation) === null || _viewerState$rotation === void 0 ? void 0 : (_viewerState$rotation2 = _viewerState$rotation.find(rotation => rotation.pageNum === p.Index)) === null || _viewerState$rotation2 === void 0 ? void 0 : _viewerState$rotation2.degree) || 0\n }, DEFAULT_ZOOM_LEVEL);\n return { ...p,\n Width: relativeSize.width,\n Height: relativeSize.height\n };\n });\n\n let _marginTop = 0;\n let _pagesToSkip = 0;\n\n while (_visiblePages[_pagesToSkip] && _marginTop + _visiblePages[_pagesToSkip].Height < scrollState) {\n _marginTop += _visiblePages[_pagesToSkip].Height + THUMBNAIL_PADDING * 2;\n _pagesToSkip++;\n }\n\n let _pagesToTake = 1;\n let _pagesHeight = 0;\n\n while (_visiblePages[_pagesToSkip + _pagesToTake] && _pagesHeight < viewport.height) {\n _pagesHeight += _visiblePages[_pagesToSkip + _pagesToTake].Height + THUMBNAIL_PADDING * 2;\n _pagesToTake++;\n }\n\n let _marginBottom = 0;\n\n for (let i = _pagesToSkip + _pagesToTake - 1; i < _visiblePages.length - 1; i++) {\n _marginBottom += _visiblePages[i].Height + THUMBNAIL_PADDING * 2;\n }\n\n setMarginTop(_marginTop);\n setMarginBottom(_marginBottom);\n\n const newVisiblePages = _visiblePages.slice(_pagesToSkip, _pagesToSkip + _pagesToTake);\n\n setVisiblePages(newVisiblePages);\n }, [pages.imageData, scrollState, viewerState, viewport.height, viewport.width]);\n return /*#__PURE__*/React.createElement(Grid, {\n item: true,\n className: classes.grid,\n id: THUMBNAIL_CONTAINER_ID,\n innerRef: viewportElement\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classes.thumbnailsWrapper,\n style: {\n paddingTop: marginTop || 0,\n paddingBottom: marginBottom || 0\n }\n }, visiblePages.map(page => /*#__PURE__*/React.createElement(ThumbnailPage, {\n key: page.Index,\n page: page,\n viewportWidth: viewport.width,\n viewportHeight: viewport.height,\n onClick: () => props.onPageClick(page.Index)\n }))));\n};\n//# sourceMappingURL=thumbnails.js.map","import { Button, createStyles, makeStyles, Theme } from '@material-ui/core'\r\nimport {\r\n AddAnnotationWidget,\r\n AddHighlightWidget,\r\n AddRedactionWidget,\r\n DocumentTitlePager,\r\n LayoutAppBar,\r\n RotateActivePagesWidget,\r\n RotateDocumentWidget,\r\n ROTATION_MODE,\r\n SaveWidget,\r\n DocumentViewer as SnDocumentViewer,\r\n ToggleCommentsWidget,\r\n ToggleRedactionWidget,\r\n ToggleShapesWidget,\r\n ToggleThumbnailsWidget,\r\n ZoomInOutWidget,\r\n} from '@sensenet/document-viewer-react'\r\nimport { CurrentContentProvider } from '@sensenet/hooks-react'\r\nimport React, { useCallback, useEffect } from 'react'\r\nimport { useHistory, useRouteMatch } from 'react-router-dom'\r\nimport { globals, useGlobalStyles } from '../globalStyles'\r\nimport { useLocalization, useSelectionService, useTheme } from '../hooks'\r\nimport { navigateToAction } from '../services'\r\n\r\nconst useStyles = makeStyles((theme: Theme) => {\r\n return createStyles({\r\n docViewerWrapper: {\r\n width: '100%',\r\n height: 'calc(100% - 80px)',\r\n overflow: 'hidden',\r\n '& .MuiIconButton-root': {\r\n color: theme.palette.type === 'light' ? theme.palette.common.black : theme.palette.common.white,\r\n },\r\n },\r\n closeButton: {\r\n placeSelf: 'flex-end',\r\n position: 'relative',\r\n alignSelf: 'center',\r\n },\r\n actionButtonWrapper: {\r\n height: '80px',\r\n left: 0,\r\n position: 'absolute',\r\n padding: '20px',\r\n bottom: 0,\r\n textAlign: 'right',\r\n right: '7%',\r\n },\r\n })\r\n})\r\n\r\nconst useAppBarStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n appBar: {\r\n backgroundColor: theme.palette.type === 'light' ? globals.light.drawerBackground : globals.dark.drawerBackground,\r\n color: theme.palette.type === 'light' ? theme.palette.common.black : theme.palette.common.white,\r\n },\r\n }),\r\n)\r\n\r\nconst useZoomInOutStyles = makeStyles(() =>\r\n createStyles({\r\n iconButton: {\r\n '&:disabled': {\r\n opacity: 0.26,\r\n },\r\n },\r\n }),\r\n)\r\n\r\nexport function DocumentViewer(props: { contentPath: string }) {\r\n const routeMatch = useRouteMatch<{ browseType: string; action: string }>()\r\n const history = useHistory()\r\n const selectionService = useSelectionService()\r\n const localization = useLocalization()\r\n const closeViewer = useCallback(() => navigateToAction({ history, routeMatch }), [history, routeMatch])\r\n const classes = useStyles()\r\n const globalClasses = useGlobalStyles()\r\n const layoutAppBarStyle = useAppBarStyles()\r\n const disabledStyle = useZoomInOutStyles()\r\n const theme = useTheme()\r\n\r\n useEffect(() => {\r\n const keyboardHandler = (event: KeyboardEvent) => {\r\n if (event.key !== 'Escape') {\r\n return\r\n }\r\n closeViewer()\r\n }\r\n\r\n document.addEventListener('keydown', keyboardHandler, false)\r\n return () => {\r\n document.removeEventListener('keydown', keyboardHandler, false)\r\n }\r\n }, [closeViewer, props])\r\n\r\n return (\r\n <>\r\n
\r\n selectionService.activeContent.setValue(c)}>\r\n (\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n )}\r\n />\r\n \r\n
\r\n
\r\n \r\n {localization.customActions.resultsDialog.closeButton}\r\n \r\n
\r\n \r\n )\r\n}\r\n","import {\r\n createStyles,\r\n ListItem,\r\n ListItemIcon,\r\n ListItemText,\r\n makeStyles,\r\n List as MuiList,\r\n Tooltip,\r\n} from '@material-ui/core'\r\nimport { GenericContent } from '@sensenet/default-content-types'\r\nimport React, { ReactNode, useCallback, useEffect, useRef, useState } from 'react'\r\nimport { AutoSizer, Index, List, ListRowProps } from 'react-virtualized'\r\nimport { ContentContextMenu } from '../context-menu/content-context-menu'\r\nimport { Icon } from '../Icon'\r\n\r\nexport type ItemType = GenericContent & {\r\n children?: ItemType[]\r\n expanded?: boolean\r\n hasNextPage?: boolean\r\n}\r\n\r\ntype TreeProps = {\r\n activeItemPath: string\r\n itemCount: number\r\n isLoading: boolean\r\n loadMore: (startIndex: number, path?: string) => Promise\r\n onItemClick: (item: GenericContent) => void\r\n treeData: ItemType\r\n}\r\n\r\nconst CHARACHTER_SPLIT = 10\r\nexport const getStringParts = (str: string, characterSplit = 10) => {\r\n return [str.slice(0, characterSplit * -1), str.slice(characterSplit * -1)]\r\n}\r\n\r\nconst useStyles = makeStyles(() => {\r\n return createStyles({\r\n listItem: {\r\n '& .text-container': {\r\n display: 'flex',\r\n flexWrap: 'no-wrap',\r\n maxWidth: 'calc(100% - 56px)',\r\n flex: 1,\r\n '& .second span': {\r\n width: `${CHARACHTER_SPLIT}ch`,\r\n textWrap: 'nowrap',\r\n },\r\n '& .first': {\r\n maxWidth: 'calc(100% - 56px - 5ch)',\r\n '& span': {\r\n overflow: 'hidden',\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n },\r\n },\r\n '& > *': {\r\n display: 'inline-block',\r\n flex: 'unset',\r\n },\r\n '& .MuiTypography-root': {\r\n display: 'inherit',\r\n },\r\n },\r\n },\r\n })\r\n})\r\n\r\nconst ROW_HEIGHT = 48\r\nconst LOAD_MORE_CLASS = 'loadMore'\r\n\r\nexport function Tree({ treeData, itemCount, onItemClick, loadMore, isLoading, activeItemPath }: TreeProps) {\r\n const listRef = useRef(null)\r\n const loader = useRef(loadMore)\r\n const [activeContent, setActiveContent] = useState()\r\n const [contextMenuAnchor, setContextMenuAnchor] = useState(null)\r\n const [elements, setElements] = useState()\r\n const [rowHeight, setRowHeight] = useState(ROW_HEIGHT)\r\n const classes = useStyles()\r\n\r\n const listItemRef = useCallback((node) => {\r\n if (node) {\r\n node.offsetHeight && setRowHeight(node.offsetHeight)\r\n listRef.current?.recomputeRowHeights()\r\n listRef.current?.forceUpdate()\r\n }\r\n }, [])\r\n\r\n const observer = useRef(\r\n new IntersectionObserver(\r\n (entries) => {\r\n if (entries.length && entries.some((entry) => entry.isIntersecting)) {\r\n const { path, startindex } = (entries[0].target as HTMLElement).dataset\r\n\r\n loader.current(parseInt(startindex ?? '0', 10), path)\r\n }\r\n },\r\n { threshold: 0 },\r\n ),\r\n )\r\n\r\n useEffect(() => {\r\n const currentObserver = observer.current\r\n elements?.forEach((element) => currentObserver.observe(element))\r\n\r\n return () => {\r\n elements?.forEach((element) => currentObserver.unobserve(element))\r\n }\r\n }, [elements])\r\n\r\n useEffect(() => {\r\n listRef.current?.recomputeRowHeights()\r\n listRef.current?.forceUpdate()\r\n }, [treeData])\r\n\r\n useEffect(() => {\r\n loader.current = loadMore\r\n }, [loadMore])\r\n\r\n const rowHeightFunc = ({ index }: Index) => {\r\n if (!treeData.children?.[index]) {\r\n return rowHeight\r\n }\r\n return getExpandedItemCount(treeData.children[index]) * rowHeight\r\n }\r\n\r\n const getExpandedItemCount = (item: ItemType) => {\r\n let totalCount = 1\r\n\r\n if (item.expanded && item.children?.length) {\r\n totalCount += item.children.map(getExpandedItemCount).reduce((total, count) => {\r\n return total + count\r\n }, 0)\r\n if (item.hasNextPage) {\r\n totalCount++\r\n }\r\n }\r\n\r\n return totalCount\r\n }\r\n\r\n function renderItem(item: ItemType, keyPrefix: string, paddingLeft: number) {\r\n const onClick = async (event: React.MouseEvent) => {\r\n event.stopPropagation()\r\n onItemClick(item)\r\n listRef.current?.recomputeRowHeights()\r\n listRef.current?.forceUpdate()\r\n }\r\n\r\n let children: ReactNode[] = []\r\n\r\n if (item.expanded && item.children) {\r\n children = item.children.map((child, index) => {\r\n return renderItem(child, `${keyPrefix}-${index}`, paddingLeft + 20)\r\n })\r\n }\r\n\r\n //Convert the name to two parts in order to display ... in the middle\r\n const [firstPart, SecondPart] = getStringParts(item.Name)\r\n\r\n const nodeItem = (\r\n \r\n {\r\n ev.preventDefault()\r\n setContextMenuAnchor(ev.currentTarget)\r\n setActiveContent(item)\r\n }}\r\n selected={activeItemPath === item.Path}\r\n key={keyPrefix}\r\n style={{ paddingLeft }}\r\n data-item-name={item.Name}\r\n button>\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n )\r\n\r\n if (item.hasNextPage && item.children && !isLoading) {\r\n const loadMoreEl = (\r\n \r\n )\r\n children.push(loadMoreEl)\r\n }\r\n children.unshift(nodeItem)\r\n\r\n return children\r\n }\r\n\r\n const rowRenderer = ({ key, style, index }: ListRowProps) => {\r\n if (!treeData.children?.[index]) {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n return (\r\n \r\n {renderItem(treeData.children?.[index], index.toString(), 10)}\r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n \r\n {({ height, width }) => (\r\n {\r\n const loadMoreElements = document.getElementsByClassName(LOAD_MORE_CLASS)\r\n if (!loadMoreElements.length && !elements) {\r\n return\r\n }\r\n setElements([...loadMoreElements])\r\n }}\r\n rowRenderer={rowRenderer}\r\n rowCount={itemCount}\r\n style={{ outline: 'none' }}\r\n />\r\n )}\r\n \r\n {activeContent ? (\r\n setContextMenuAnchor(null),\r\n onContextMenu: (ev) => ev.preventDefault(),\r\n },\r\n }}\r\n onClose={() => setContextMenuAnchor(null)}\r\n />\r\n ) : null}\r\n \r\n )\r\n}\r\n","import { Content, ODataParams, ODataResponse } from '@sensenet/client-core'\r\nimport { PathHelper } from '@sensenet/client-utils'\r\nimport { GenericContent } from '@sensenet/default-content-types'\r\nimport { useLogger, useRepository, useRepositoryEvents } from '@sensenet/hooks-react'\r\nimport React, { useCallback, useEffect, useState } from 'react'\r\nimport Semaphore from 'semaphore-async-await'\r\nimport { usePreviousValue, useSelectionService } from '../../hooks'\r\nimport { ItemType, Tree } from './tree'\r\n\r\ntype TreeWithDataProps = {\r\n onItemClick: (item: GenericContent) => void\r\n parentPath: string\r\n activeItemPath: string\r\n loadSettings?: ODataParams\r\n onTreeLoadingChange?: (isLoading: boolean) => void\r\n}\r\n\r\nlet lastRequest: { path: string; lastIndex: number } | undefined\r\n\r\nconst ITEM_THRESHOLD = 50\r\n\r\nconst walkTree = (node: ItemType, callBack: (node: ItemType) => void) => {\r\n if (node?.children?.length) {\r\n node.children.forEach((child) => {\r\n callBack(child)\r\n walkTree(child, callBack)\r\n })\r\n }\r\n}\r\nconst lock = new Semaphore(1)\r\n\r\nexport default function TreeWithData(props: TreeWithDataProps) {\r\n const repo = useRepository()\r\n const [itemCount, setItemCount] = useState(0)\r\n const [treeData, setTreeData] = useState()\r\n const [isLoading, setIsLoading] = useState(false)\r\n const selectionService = useSelectionService()\r\n const eventHub = useRepositoryEvents()\r\n const logger = useLogger('tree-with-data')\r\n\r\n const prevActiveItemPath = usePreviousValue(props.activeItemPath)\r\n const { onTreeLoadingChange } = props\r\n\r\n const loadCollection = useCallback(\r\n async (path: string, top: number, skip: number) => {\r\n const ac = new AbortController()\r\n onTreeLoadingChange?.(true)\r\n setIsLoading(true)\r\n try {\r\n const result = await repo.loadCollection({\r\n path,\r\n requestInit: {\r\n signal: ac.signal,\r\n },\r\n oDataOptions: {\r\n top,\r\n skip,\r\n filter: 'IsFolder eq true',\r\n orderby: [\r\n ['DisplayName', 'asc'],\r\n ['Name', 'asc'],\r\n ],\r\n },\r\n })\r\n return result\r\n } catch (error) {\r\n if (!ac.signal.aborted) {\r\n logger.warning({ message: `Couldn't load containers for ${path}`, data: error })\r\n }\r\n } finally {\r\n onTreeLoadingChange?.(false)\r\n setIsLoading(false)\r\n }\r\n },\r\n [logger, repo, onTreeLoadingChange],\r\n )\r\n\r\n useEffect(() => {\r\n if (prevActiveItemPath && prevActiveItemPath !== props.activeItemPath) {\r\n treeData &&\r\n walkTree(treeData, async (node: ItemType) => {\r\n if (node.Path === props.activeItemPath || PathHelper.isAncestorOf(node.Path, props.activeItemPath)) {\r\n if (!node.expanded && !node.children?.length && node.Type !== 'SmartFolder') {\r\n const children = await loadCollection(node.Path, ITEM_THRESHOLD, 0)\r\n if (children) {\r\n node.children = children.d.results\r\n node.hasNextPage = children.d.__count > node.children.length\r\n }\r\n }\r\n node.expanded = true\r\n setTreeData({ ...treeData })\r\n }\r\n })\r\n }\r\n }, [props.activeItemPath, loadCollection, treeData, prevActiveItemPath])\r\n\r\n const openTree = useCallback(\r\n async (forced = false) => {\r\n if (!forced && treeData && treeData.Path === props.parentPath) return\r\n\r\n const buildTree = (items: GenericContent[], id?: number): any => {\r\n if (!id) {\r\n return { ...items[0], children: buildTree(items, items[0].Id), hasNextPage: false, expanded: true }\r\n }\r\n\r\n return items\r\n .filter((item) => item.ParentId === id)\r\n .map((item) => ({\r\n ...item,\r\n children: buildTree(items, item.Id),\r\n hasNextPage: false,\r\n expanded: items.some((treeNode) => treeNode.ParentId === item.Id) || props.activeItemPath === item.Path,\r\n }))\r\n }\r\n\r\n try {\r\n const treeResponse = await repo.executeAction>({\r\n idOrPath: props.activeItemPath,\r\n name: 'OpenTree',\r\n method: 'GET',\r\n oDataOptions: props.loadSettings,\r\n body: {\r\n rootPath: props.parentPath,\r\n withSystem: true,\r\n },\r\n })\r\n const tree = buildTree(treeResponse.d.results)\r\n setItemCount(tree.children.length)\r\n setTreeData(tree)\r\n } catch (error) {\r\n setItemCount(0)\r\n setTreeData(undefined)\r\n }\r\n },\r\n [props.activeItemPath, props.parentPath, repo, treeData, props.loadSettings],\r\n )\r\n\r\n const loadMoreItems = useCallback(\r\n async (startIndex: number, path = props.parentPath) => {\r\n // Do not load duplicate request\r\n if (lastRequest?.lastIndex === startIndex && lastRequest.path === path) {\r\n return\r\n }\r\n lastRequest = { lastIndex: startIndex, path }\r\n const result = await loadCollection(path, ITEM_THRESHOLD, startIndex)\r\n\r\n if (!result) {\r\n logger.debug({ message: `loadCollection failed to load from ${props.parentPath}` })\r\n return\r\n }\r\n\r\n // load more items under root\r\n if (path === props.parentPath) {\r\n setTreeData((prevItem) => {\r\n if (prevItem && prevItem.children) {\r\n return {\r\n ...prevItem,\r\n children: [...prevItem.children, ...result.d.results],\r\n hasNextPage: result.d.__count > result.d.results.length,\r\n }\r\n }\r\n })\r\n } else {\r\n // load more items under tree node\r\n treeData &&\r\n walkTree(treeData, (node) => {\r\n if (node.Path === path && node.children) {\r\n node.children = [...node.children, ...result.d.results]\r\n node.hasNextPage = result.d.__count > node.children.length\r\n }\r\n })\r\n treeData && setTreeData({ ...treeData })\r\n }\r\n },\r\n [loadCollection, logger, props.parentPath, treeData],\r\n )\r\n\r\n const onDeleteContent = useCallback(\r\n async (content: Content, pathInObject = 'Path') => {\r\n await lock.acquire()\r\n treeData &&\r\n walkTree(treeData, (node) => {\r\n if (node.Id === content.Id && treeData?.children?.length) {\r\n treeData.children = treeData.children.filter((n) => n.Id !== content.Id)\r\n setItemCount((itemCountTemp) => (itemCountTemp > 0 ? itemCountTemp - 1 : 0))\r\n } else if (\r\n PathHelper.trimSlashes(node.Path) ===\r\n PathHelper.getParentPath(content[pathInObject as keyof Content] as string)\r\n ) {\r\n node.children = node.children?.filter((n) => n.Id !== content.Id)\r\n }\r\n })\r\n treeData && setTreeData({ ...treeData })\r\n lock.release()\r\n },\r\n [treeData],\r\n )\r\n\r\n useEffect(() => {\r\n const handleCreate = async (contents: Content[]) => {\r\n // we need to reset the lastRequest object so we can make the same request again to get updated data\r\n lastRequest = undefined\r\n if (\r\n treeData &&\r\n contents.some(\r\n (createdContent) =>\r\n (createdContent as GenericContent).ParentId === treeData?.Id ||\r\n PathHelper.getParentPath(createdContent.Path) === PathHelper.trimSlashes(treeData.Path),\r\n )\r\n ) {\r\n openTree(true)\r\n } else {\r\n treeData &&\r\n walkTree(treeData, async (node) => {\r\n if (\r\n contents.some(\r\n (createdContent) =>\r\n (createdContent as GenericContent).ParentId === node.Id ||\r\n PathHelper.getParentPath(createdContent.Path) === PathHelper.trimSlashes(node.Path),\r\n )\r\n ) {\r\n const result = await loadCollection(node.Path, ITEM_THRESHOLD, 0)\r\n if (!result) {\r\n logger.debug({ message: `loadCollection failed to load from ${node.Path}` })\r\n return\r\n }\r\n node.children = result.d.results\r\n node.hasNextPage = result.d.__count > node.children.length\r\n treeData && setTreeData({ ...treeData })\r\n }\r\n })\r\n }\r\n }\r\n\r\n const subscriptions = [\r\n eventHub.onContentCreated.subscribe((created) => handleCreate([created.content])),\r\n eventHub.onContentCopied.subscribe((copied) => handleCreate(copied.content)),\r\n eventHub.onContentMoved.subscribe((moved) => {\r\n handleCreate(moved.content)\r\n moved.content.forEach((movedContent) => {\r\n onDeleteContent(movedContent, 'OriginalPath')\r\n })\r\n }),\r\n eventHub.onContentModified.subscribe((mod) => handleCreate([mod.content])),\r\n eventHub.onCustomActionExecuted.subscribe(async (event) => {\r\n if (event.actionOptions.name === 'Restore') {\r\n await lock.acquire()\r\n treeData &&\r\n walkTree(treeData, (node) => {\r\n if (node.Path === event.actionOptions.idOrPath && treeData?.children?.length) {\r\n treeData.children = treeData.children.filter((n) => n.Path !== event.actionOptions.idOrPath)\r\n setItemCount((itemCountTemp) => (itemCountTemp > 0 ? itemCountTemp - 1 : 0))\r\n } else if (PathHelper.trimSlashes(node.Path) === PathHelper.getParentPath(event.actionOptions.idOrPath)) {\r\n node.children = node.children?.filter((n) => n.Path !== event.actionOptions.idOrPath)\r\n }\r\n })\r\n treeData && setTreeData({ ...treeData })\r\n lock.release()\r\n }\r\n }),\r\n eventHub.onContentDeleted.subscribe((del) => {\r\n del.contentData.forEach((deletedContent) => onDeleteContent(deletedContent))\r\n }),\r\n ]\r\n\r\n return () => subscriptions.forEach((s) => s.dispose())\r\n }, [\r\n treeData,\r\n eventHub.onContentDeleted,\r\n eventHub.onContentCreated,\r\n eventHub.onContentCopied,\r\n eventHub.onContentMoved,\r\n eventHub.onContentModified,\r\n eventHub.onCustomActionExecuted,\r\n openTree,\r\n loadCollection,\r\n logger,\r\n onDeleteContent,\r\n ])\r\n\r\n useEffect(() => {\r\n openTree()\r\n }, [openTree])\r\n\r\n const onItemClick = async (item: ItemType) => {\r\n if (!treeData) {\r\n return\r\n }\r\n\r\n walkTree(treeData, async (node: ItemType) => {\r\n if (node.Id === item.Id) {\r\n if (!node.expanded && !node.children?.length && node.Type !== 'SmartFolder') {\r\n const children = await loadCollection(node.Path, ITEM_THRESHOLD, 0)\r\n if (children) {\r\n node.children = children.d.results\r\n node.hasNextPage = children.d.__count > node.children.length\r\n }\r\n }\r\n node.expanded = !node.expanded\r\n selectionService.activeContent.setValue(item)\r\n props.onItemClick(item)\r\n setTreeData({ ...treeData })\r\n }\r\n })\r\n }\r\n\r\n if (!itemCount || !treeData) {\r\n return null\r\n }\r\n\r\n return (\r\n \r\n )\r\n}\r\n","import { Button, createStyles, makeStyles, Typography } from '@material-ui/core'\r\nimport { isExtendedError, ODataWopiResponse } from '@sensenet/client-core'\r\nimport { useLogger, useRepository } from '@sensenet/hooks-react'\r\nimport React, { useEffect, useRef, useState } from 'react'\r\nimport { useHistory, useRouteMatch } from 'react-router-dom'\r\nimport { useGlobalStyles } from '../globalStyles'\r\nimport { useLocalization, useQuery } from '../hooks'\r\nimport { navigateToAction } from '../services'\r\nimport { FullScreenLoader } from './full-screen-loader'\r\n\r\nconst useStyles = makeStyles(() => {\r\n return createStyles({\r\n closeButton: {\r\n placeSelf: 'flex-end',\r\n position: 'relative',\r\n alignSelf: 'center',\r\n },\r\n actionButtonWrapper: {\r\n height: '80px',\r\n left: 0,\r\n position: 'absolute',\r\n padding: '20px',\r\n bottom: 0,\r\n textAlign: 'right',\r\n right: '7%',\r\n },\r\n wopiWrapper: {\r\n width: '100%',\r\n height: 'calc(100% - 80px)',\r\n },\r\n })\r\n})\r\n\r\nexport default function WopiPage({ contentPath }: { contentPath?: string }) {\r\n const repo = useRepository()\r\n const routeMatch = useRouteMatch<{ browseType?: string; action?: string }>()\r\n const history = useHistory()\r\n const formElement = useRef(null)\r\n const [wopiData, setWopiData] = useState(null)\r\n const [error, setError] = useState('')\r\n const logger = useLogger('WopiPage')\r\n const localization = useLocalization().wopi\r\n const classes = useStyles()\r\n const globalClasses = useGlobalStyles()\r\n const formsLocalization = useLocalization().forms\r\n const contentFromQuery = useQuery().get('content')\r\n\r\n useEffect(() => {\r\n const ac = new AbortController()\r\n setError('')\r\n ;(async () => {\r\n if (!contentPath) {\r\n setError('Invalid url')\r\n return\r\n }\r\n try {\r\n const response = await repo.getWopiData({\r\n idOrPath: contentPath,\r\n action: routeMatch.params.action!.replace('wopi-', '') as 'edit' | 'view',\r\n requestInit: {\r\n signal: ac.signal,\r\n },\r\n })\r\n setWopiData(response)\r\n formElement.current && formElement.current.submit()\r\n } catch (e) {\r\n if (!ac.signal.aborted) {\r\n let errorMessage = localization.errorOpeningFileText\r\n if (isExtendedError(e)) {\r\n const extendedError = await repo.getErrorFromResponse(e.response)\r\n errorMessage = extendedError.message || extendedError.body.message || e.toString()\r\n }\r\n setError(errorMessage)\r\n logger.error({\r\n message: errorMessage,\r\n data: {\r\n error: e,\r\n details: { contentPath, action: routeMatch.params.action },\r\n isDismissed: true,\r\n },\r\n })\r\n }\r\n }\r\n })()\r\n return () => ac.abort()\r\n }, [localization.errorOpeningFileText, logger, routeMatch.params.action, repo, contentPath])\r\n\r\n if (error) {\r\n return (\r\n \r\n \r\n {localization.errorOpeningFileTitle}\r\n \r\n {error}\r\n <>\r\n {routeMatch.params.action !== 'wopi-view' ? (\r\n \r\n navigateToAction({\r\n history,\r\n routeMatch,\r\n action: 'wopi-view',\r\n queryParams: { content: contentFromQuery },\r\n })\r\n }>\r\n {localization.tryOpenRead}\r\n \r\n ) : null}\r\n\r\n \r\n \r\n \r\n )\r\n }\r\n if (!wopiData) return \r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n navigateToAction({ history, routeMatch })}>\r\n {formsLocalization.cancel}\r\n \r\n
\r\n \r\n )\r\n}\r\n","import { createStyles, makeStyles, Theme } from '@material-ui/core'\r\nimport { ODataFieldParameter, ODataParams } from '@sensenet/client-core'\r\nimport { PathHelper } from '@sensenet/client-utils'\r\nimport { GenericContent } from '@sensenet/default-content-types'\r\nimport {\r\n CurrentAncestorsProvider,\r\n CurrentChildrenProvider,\r\n CurrentContentProvider,\r\n LoadSettingsContextProvider,\r\n useRepository,\r\n} from '@sensenet/hooks-react'\r\nimport { ColumnSetting } from '@sensenet/list-controls-react/src/ContentList/content-list-base-props'\r\nimport { clsx } from 'clsx'\r\nimport React, { useCallback, useContext, useState } from 'react'\r\nimport { useHistory } from 'react-router'\r\nimport { ResponsivePersonalSettings } from '../../context'\r\nimport { globals, useGlobalStyles } from '../../globalStyles'\r\nimport { useQuery, useSelectionService, useSnRoute } from '../../hooks'\r\nimport { getPrimaryActionUrl, navigateToAction } from '../../services'\r\nimport { ContentList } from '../content-list/content-list'\r\nimport { ContentBreadcrumbs } from '../ContentBreadcrumbs'\r\nimport { DocumentViewer } from '../document-viewer'\r\nimport { EditBinary } from '../edit/edit-binary'\r\nimport { FullScreenLoader } from '../full-screen-loader'\r\nimport TreeWithData from '../tree/tree-with-data'\r\nimport { BrowseView, EditView, ImageView, NewView, PermissionView, VersionView } from '../view-controls'\r\nimport WopiPage from '../wopi-page'\r\n\r\nconst useStyles = makeStyles((theme: Theme) => {\r\n return createStyles({\r\n exploreWrapper: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n },\r\n breadcrumbsWrapper: {\r\n height: globals.common.drawerItemHeight,\r\n boxSizing: 'border-box',\r\n borderBottom: theme.palette.type === 'light' ? '1px solid #DBDBDB' : '1px solid rgba(255, 255, 255, 0.11)',\r\n justifyContent: 'start',\r\n },\r\n treeAndDatagridWrapper: {\r\n display: 'flex',\r\n width: '100%',\r\n height: `calc(100% - ${globals.common.drawerItemHeight}px)`,\r\n position: 'relative',\r\n },\r\n exploreContainer: {\r\n display: 'flex',\r\n flexFlow: 'column',\r\n width: '100%',\r\n position: 'relative',\r\n overflow: 'hidden',\r\n paddingTop: '8px',\r\n },\r\n })\r\n})\r\n\r\nexport type ExploreProps = {\r\n currentPath: string\r\n rootPath: string\r\n onNavigate: (content: GenericContent) => void\r\n fieldsToDisplay?: Array>\r\n schema?: string\r\n loadTreeSettings?: ODataParams\r\n loadChildrenSettings?: ODataParams\r\n renderBeforeGrid?: () => JSX.Element\r\n hasTree?: boolean\r\n alwaysRefreshChildren?: boolean\r\n showPageTitle?: boolean\r\n disableColumnSettings?: boolean\r\n}\r\n\r\nexport function Explore({\r\n currentPath,\r\n onNavigate,\r\n rootPath,\r\n fieldsToDisplay,\r\n schema,\r\n loadChildrenSettings,\r\n loadTreeSettings,\r\n renderBeforeGrid,\r\n hasTree = true,\r\n alwaysRefreshChildren,\r\n disableColumnSettings,\r\n}: ExploreProps) {\r\n const selectionService = useSelectionService()\r\n const classes = useStyles()\r\n const globalClasses = useGlobalStyles()\r\n const [isTreeLoading, setIsTreeLoading] = useState(false)\r\n const repository = useRepository()\r\n const history = useHistory()\r\n const uiSettings = useContext(ResponsivePersonalSettings)\r\n const activeContent = useQuery().get('content') ?? ''\r\n const needRoot = useQuery().get('needRoot') !== 'false'\r\n const contentTypeName = useQuery().get('content-type')\r\n const pathFromUrl = useQuery().get('path')\r\n const snRoute = useSnRoute()\r\n const activeAction = snRoute.match!.params.action\r\n\r\n const onActivateItemOverride = async (activeItem: GenericContent) => {\r\n const expandedItem = await repository.load({\r\n idOrPath: activeItem.Id,\r\n oDataOptions: {\r\n select: Array.isArray(repository.configuration.requiredSelect)\r\n ? ([...repository.configuration.requiredSelect, 'Actions/Name'] as ODataFieldParameter)\r\n : repository.configuration.requiredSelect,\r\n expand: ['Actions'] as ODataFieldParameter,\r\n },\r\n })\r\n const { location } = history\r\n history.push(getPrimaryActionUrl({ content: expandedItem.d, repository, uiSettings, location, snRoute }))\r\n }\r\n\r\n const onTreeLoadingChange = useCallback((isLoading) => setIsTreeLoading(isLoading), [])\r\n\r\n const renderContent = () => {\r\n switch (activeAction) {\r\n case 'browse':\r\n return \r\n case 'edit':\r\n return (\r\n {\r\n const contentNameBeforeEdit = PathHelper.getSegments(activeContent).pop()\r\n if (contentNameBeforeEdit && contentNameBeforeEdit !== savedContent.Name && pathFromUrl) {\r\n return navigateToAction({\r\n history,\r\n routeMatch: snRoute.match,\r\n queryParams: { path: pathFromUrl.replace(contentNameBeforeEdit, savedContent.Name) },\r\n })\r\n }\r\n\r\n navigateToAction({ history, routeMatch: snRoute.match })\r\n }}\r\n />\r\n )\r\n case 'new':\r\n if (contentTypeName) {\r\n return (\r\n navigateToAction({ history, routeMatch: snRoute.match })}\r\n />\r\n )\r\n }\r\n break\r\n case 'version':\r\n return \r\n case 'setpermissions':\r\n return \r\n case 'image':\r\n return \r\n case 'preview':\r\n return \r\n case 'edit-binary':\r\n return \r\n case 'wopi-edit':\r\n case 'wopi-view':\r\n return \r\n default:\r\n }\r\n\r\n if (isTreeLoading) {\r\n return \r\n }\r\n\r\n return (\r\n <>\r\n {renderBeforeGrid?.()}\r\n selectionService.activeContent.setValue(item)}\r\n parentIdOrPath={currentPath}\r\n />\r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n
\r\n {\r\n onNavigate(i.content)\r\n }}\r\n batchActions={true}\r\n />\r\n
\r\n
\r\n {hasTree && (\r\n {\r\n onNavigate(item)\r\n }}\r\n parentPath={PathHelper.isAncestorOf(rootPath, currentPath) ? rootPath : currentPath}\r\n activeItemPath={currentPath}\r\n onTreeLoadingChange={onTreeLoadingChange}\r\n loadSettings={loadTreeSettings}\r\n />\r\n )}\r\n
{renderContent()}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n","import { ConstantContent } from '@sensenet/client-core'\r\nimport { tuple } from '@sensenet/client-utils'\r\nimport React, { FunctionComponent, useContext } from 'react'\r\nimport { useRouteMatch } from 'react-router-dom'\r\nimport { ResponsivePersonalSettings } from '../../context'\r\nimport { useLocalization } from '../../hooks'\r\nimport { useTreeNavigation } from '../../hooks/use-tree-navigation'\r\nimport { PageTitle } from '../PageTitle'\r\nimport { Explore, ExploreProps } from './Explore'\r\n\r\nexport const BrowseType = tuple('explorer')\r\n\r\ntype ContentProps = Partial\r\n\r\nexport const Content: FunctionComponent = ({ rootPath, showPageTitle, ...props }) => {\r\n const routeMatch = useRouteMatch<{ browseType: string; action?: string }>()\r\n const settings = useContext(ResponsivePersonalSettings)\r\n const path = rootPath || settings.content.root || ConstantContent.PORTAL_ROOT.Path\r\n const { currentPath, onNavigate } = useTreeNavigation(path)\r\n const localization = useLocalization().pageTitles\r\n\r\n switch (routeMatch.params.browseType) {\r\n default:\r\n return (\r\n <>\r\n {showPageTitle ? : null}\r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default Content\r\n","import { ODataParams } from '@sensenet/client-core'\r\nimport { GenericContent } from '@sensenet/default-content-types'\r\n\r\nexport const contextMenuODataOptions: ODataParams = {\r\n select: ['Actions'],\r\n metadata: 'full',\r\n expand: ['Actions'],\r\n scenario: 'ContextMenu',\r\n}\r\n","import AddIcon from '@material-ui/icons/AddCircleOutline'\r\nimport AppsIcon from '@material-ui/icons/Apps'\r\nimport CheckCircle from '@material-ui/icons/CheckCircle'\r\nimport CloudDownload from '@material-ui/icons/CloudDownload'\r\nimport Delete from '@material-ui/icons/Delete'\r\nimport Edit from '@material-ui/icons/Edit'\r\nimport FileCopyIcon from '@material-ui/icons/FileCopy'\r\nimport FileCopyOutlinedIcon from '@material-ui/icons/FileCopyOutlined'\r\nimport HistoryIcon from '@material-ui/icons/History'\r\nimport InfoIcon from '@material-ui/icons/Info'\r\nimport Lock from '@material-ui/icons/Lock'\r\nimport LockOpen from '@material-ui/icons/LockOpen'\r\nimport MuiPublishIcon from '@material-ui/icons/Publish'\r\nimport ReportProblemIcon from '@material-ui/icons/ReportProblem'\r\nimport RestoreIcon from '@material-ui/icons/RestoreFromTrash'\r\nimport Search from '@material-ui/icons/Search'\r\nimport ShareIcon from '@material-ui/icons/Share'\r\nimport UndoIcon from '@material-ui/icons/Undo'\r\nimport React from 'react'\r\n\r\nexport const getIcon = (actionName: string) => {\r\n switch (actionName) {\r\n case 'approve':\r\n return \r\n case 'browse':\r\n return \r\n case 'checkin':\r\n return \r\n case 'checkout':\r\n return \r\n case 'copyto':\r\n return \r\n case 'delete':\r\n return \r\n case 'download':\r\n return \r\n case 'edit':\r\n return \r\n case 'forceundocheckout':\r\n return \r\n case 'moveto':\r\n return \r\n case 'preview':\r\n return \r\n case 'publish':\r\n return \r\n case 'setpermissions':\r\n return \r\n case 'undocheckout':\r\n return \r\n case 'versions':\r\n return \r\n case 'share':\r\n return \r\n case 'add':\r\n return \r\n case 'restore':\r\n return \r\n default:\r\n return \r\n }\r\n}\r\n","import Drawer from '@material-ui/core/Drawer'\r\nimport List from '@material-ui/core/List'\r\nimport ListItem from '@material-ui/core/ListItem'\r\nimport ListItemIcon from '@material-ui/core/ListItemIcon'\r\nimport ListItemText from '@material-ui/core/ListItemText'\r\nimport Menu, { MenuProps } from '@material-ui/core/Menu'\r\nimport MenuItem from '@material-ui/core/MenuItem'\r\nimport { ActionModel, GenericContent, isActionModel } from '@sensenet/default-content-types'\r\nimport { useLogger, useWopi } from '@sensenet/hooks-react'\r\nimport React, { useCallback, useContext, useEffect, useState } from 'react'\r\nimport { ResponsiveContext } from '../../context'\r\nimport { useLoadContent } from '../../hooks'\r\nimport { contextMenuODataOptions } from './context-menu-odata-options'\r\nimport { getIcon } from './icons'\r\nimport { useContextMenuActions } from './use-context-menu-actions'\r\n\r\nconst DISABLED_ACTIONS = ['Share', 'Preview']\r\n\r\ntype ContentContextMenuProps = {\r\n isOpened: boolean\r\n onOpen?: () => void\r\n onClose?: () => void\r\n menuProps?: Partial\r\n content: GenericContent\r\n}\r\n\r\nexport const ContentContextMenu: React.FunctionComponent = (props) => {\r\n const [actions, setActions] = useState()\r\n const logger = useLogger('context-menu')\r\n const { content } = useLoadContent({\r\n idOrPath: props.content.Id,\r\n oDataOptions: contextMenuODataOptions,\r\n isOpened: props.isOpened,\r\n })\r\n const { isWriteAvailable } = useWopi()\r\n\r\n const setActionsWopi = useCallback(\r\n (contentFromCallback: GenericContent) => {\r\n if (!isActionModel(contentFromCallback.Actions)) {\r\n logger.verbose({ message: 'There are no actions in content', data: contentFromCallback })\r\n return\r\n }\r\n const contentActions = contentFromCallback.Actions.filter((action) => !action.Forbidden).filter(\r\n (item, i, arr) => arr.findIndex((t) => t.Name === item.Name) === i,\r\n )\r\n\r\n if (contentActions.some((action) => action.Name === 'Browse') && contentFromCallback.IsFile) {\r\n contentActions.push({\r\n Name: 'Download',\r\n DisplayName: 'Download',\r\n } as ActionModel)\r\n }\r\n\r\n if (isWriteAvailable(contentFromCallback)) {\r\n // If write is available it means that we have two actions. We want to show only the open edit for the user.\r\n const actionsWithoutWopiRead = contentActions.filter((action) => action.Name !== 'WopiOpenView')\r\n setActions(actionsWithoutWopiRead)\r\n } else {\r\n setActions(contentActions)\r\n }\r\n },\r\n [isWriteAvailable, logger],\r\n )\r\n\r\n const { runAction } = useContextMenuActions(props.content, props.isOpened, setActionsWopi)\r\n const device = useContext(ResponsiveContext)\r\n\r\n useEffect(() => {\r\n if (content) {\r\n setActionsWopi(content)\r\n }\r\n }, [content, setActionsWopi])\r\n return !actions?.length ? null : (\r\n
ev.stopPropagation()} onKeyPress={(ev) => ev.stopPropagation()}>\r\n {device === 'mobile' ? (\r\n props.onClose?.()}\r\n disablePortal={true}\r\n open={props.isOpened}\r\n PaperProps={{ style: { paddingBottom: '2em' } }}>\r\n \r\n {actions?.map((action) => {\r\n return (\r\n {\r\n props.onClose?.()\r\n runAction(action.Name)\r\n }}>\r\n {getIcon(action.Name.toLowerCase())}\r\n \r\n \r\n )\r\n })}\r\n \r\n \r\n ) : (\r\n \r\n {actions?.map((action) => {\r\n return (\r\n {\r\n props.onClose?.()\r\n runAction(action.Name)\r\n }}>\r\n {getIcon(action.Name.toLowerCase())}\r\n
{action.DisplayName || action.Name}
\r\n \r\n )\r\n })}\r\n
\r\n )}\r\n
\r\n )\r\n}\r\n","import { PathHelper } from '@sensenet/client-utils'\r\nimport { GenericContent } from '@sensenet/default-content-types'\r\nimport { useDownload, useLogger, useRepository } from '@sensenet/hooks-react'\r\nimport { useContext } from 'react'\r\nimport { useHistory } from 'react-router-dom'\r\nimport { ResponsivePersonalSettings } from '../../context'\r\nimport { useGlobalStyles } from '../../globalStyles'\r\nimport { useLoadContent, useSnRoute } from '../../hooks'\r\nimport { getUrlForContent, navigateToAction } from '../../services'\r\nimport { useDialog } from '../dialogs'\r\nimport { contextMenuODataOptions } from './context-menu-odata-options'\r\n\r\nexport function useContextMenuActions(\r\n content: GenericContent,\r\n isOpened: boolean,\r\n setActions: (content: GenericContent) => void,\r\n) {\r\n const logger = useLogger('context-menu')\r\n const history = useHistory()\r\n const repository = useRepository()\r\n const download = useDownload(content)\r\n const globalClasses = useGlobalStyles()\r\n const currentParent = useLoadContent({ idOrPath: content.ParentId!, isOpened }).content\r\n const { openDialog } = useDialog()\r\n const uiSettings = useContext(ResponsivePersonalSettings)\r\n const snRoute = useSnRoute()\r\n\r\n const getContentName = () => content.DisplayName ?? content.Name\r\n\r\n const runAction = async (actionName: string) => {\r\n switch (actionName) {\r\n case 'Delete':\r\n openDialog({ name: 'delete', props: { content: [content] } })\r\n break\r\n case 'Edit':\r\n if (snRoute.path && PathHelper.isInSubTree(content.Path, snRoute.path)) {\r\n navigateToAction({\r\n history,\r\n routeMatch: snRoute.match!,\r\n action: 'edit',\r\n queryParams: { content: content.Path.replace(snRoute.path, '') },\r\n })\r\n } else {\r\n history.push(getUrlForContent({ content, uiSettings, location: history.location, action: 'edit' }))\r\n }\r\n break\r\n case 'Browse':\r\n if (snRoute.path && PathHelper.isInSubTree(content.Path, snRoute.path)) {\r\n navigateToAction({\r\n history,\r\n routeMatch: snRoute.match!,\r\n action: 'browse',\r\n queryParams: { content: content.Path.replace(snRoute.path, '') },\r\n })\r\n } else {\r\n history.push(getUrlForContent({ content, uiSettings, location: history.location, action: 'browse' }))\r\n }\r\n break\r\n case 'MoveTo':\r\n case 'CopyTo': {\r\n const operation = actionName === 'CopyTo' ? 'copy' : 'move'\r\n openDialog({\r\n name: 'copy-move',\r\n props: {\r\n content: [content],\r\n currentParent: currentParent!,\r\n operation,\r\n },\r\n dialogProps: { classes: { paper: globalClasses.pickerDialog } },\r\n })\r\n break\r\n }\r\n case 'Preview':\r\n if (snRoute.path && PathHelper.isInSubTree(content.Path, snRoute.path)) {\r\n navigateToAction({\r\n history,\r\n routeMatch: snRoute.match!,\r\n action: 'preview',\r\n queryParams: { content: content.Path.replace(snRoute.path, '') },\r\n })\r\n } else {\r\n history.push(getUrlForContent({ content, uiSettings, location: history.location, action: 'preview' }))\r\n }\r\n break\r\n case 'CheckOut': {\r\n try {\r\n const checkOutresult = await repository.versioning.checkOut(content.Id, contextMenuODataOptions)\r\n logger.information({\r\n message: `${getContentName()} checked out successfully.`,\r\n })\r\n setActions(checkOutresult.d)\r\n } catch (error) {\r\n logger.warning({\r\n message: `Couldn't check out ${getContentName()}`,\r\n data: { error },\r\n })\r\n }\r\n break\r\n }\r\n case 'CheckIn':\r\n openDialog({\r\n name: 'check-in',\r\n props: {\r\n content,\r\n oDataOptions: contextMenuODataOptions,\r\n onActionSuccess: (checkInResult) => setActions(checkInResult),\r\n },\r\n })\r\n break\r\n case 'Download':\r\n download.download()\r\n break\r\n case 'WopiOpenView':\r\n if (snRoute.path && PathHelper.isInSubTree(content.Path, snRoute.path)) {\r\n navigateToAction({\r\n history,\r\n routeMatch: snRoute.match!,\r\n action: 'wopi-view',\r\n queryParams: { content: content.Path.replace(snRoute.path, '') },\r\n })\r\n } else {\r\n history.push(getUrlForContent({ content, uiSettings, location: history.location, action: 'wopi-view' }))\r\n }\r\n\r\n break\r\n case 'WopiOpenEdit':\r\n if (snRoute.path && PathHelper.isInSubTree(content.Path, snRoute.path)) {\r\n navigateToAction({\r\n history,\r\n routeMatch: snRoute.match!,\r\n action: 'wopi-edit',\r\n queryParams: { content: content.Path.replace(snRoute.path, '') },\r\n })\r\n } else {\r\n history.push(getUrlForContent({ content, uiSettings, location: history.location, action: 'wopi-edit' }))\r\n }\r\n break\r\n case 'Versions':\r\n if (snRoute.path && PathHelper.isInSubTree(content.Path, snRoute.path)) {\r\n navigateToAction({\r\n history,\r\n routeMatch: snRoute.match!,\r\n action: 'version',\r\n queryParams: { content: content.Path.replace(snRoute.path, '') },\r\n })\r\n } else {\r\n history.push(getUrlForContent({ content, uiSettings, location: history.location, action: 'version' }))\r\n }\r\n\r\n break\r\n case 'Publish':\r\n try {\r\n const publishResult = await repository.versioning.publish(content.Id, contextMenuODataOptions)\r\n logger.information({ message: `${getContentName()} published successfully.` })\r\n setActions(publishResult.d)\r\n } catch (error) {\r\n logger.warning({ message: `Couldn't publish ${getContentName()}`, data: { error } })\r\n }\r\n break\r\n case 'UndoCheckOut':\r\n try {\r\n const undoCheckOutResult = await repository.versioning.undoCheckOut(content.Id, contextMenuODataOptions)\r\n logger.information({ message: `${getContentName()} reverted successfully.` })\r\n setActions(undoCheckOutResult.d)\r\n } catch (error) {\r\n logger.warning({ message: `Couldn't undo checkout for ${getContentName()}`, data: { error } })\r\n }\r\n break\r\n case 'Approve':\r\n openDialog({\r\n name: 'approve',\r\n props: {\r\n content,\r\n oDataOptions: contextMenuODataOptions,\r\n onActionSuccess: (approveResult) => setActions(approveResult),\r\n },\r\n })\r\n break\r\n case 'SetPermissions':\r\n if (snRoute.path && PathHelper.isInSubTree(content.Path, snRoute.path)) {\r\n navigateToAction({\r\n history,\r\n routeMatch: snRoute.match!,\r\n action: 'setpermissions',\r\n queryParams: { content: content.Path.replace(snRoute.path, '') },\r\n })\r\n } else {\r\n history.push(getUrlForContent({ content, uiSettings, location: history.location, action: 'setpermissions' }))\r\n }\r\n break\r\n case 'Restore':\r\n openDialog({\r\n name: 'restore',\r\n props: {\r\n content,\r\n },\r\n })\r\n break\r\n default:\r\n logger.warning({ message: `${actionName} is not implemented yet. Try to use it from command palette.` })\r\n }\r\n }\r\n\r\n return { runAction }\r\n}\r\n","import {\r\n Button,\r\n DialogContent,\r\n IconButton,\r\n List,\r\n ListItem,\r\n ListItemSecondaryAction,\r\n ListItemText,\r\n} from '@material-ui/core'\r\nimport { GroupOutlined } from '@material-ui/icons'\r\nimport AddIcon from '@material-ui/icons/Add'\r\nimport ClearIcon from '@material-ui/icons/Clear'\r\nimport CloseIcon from '@material-ui/icons/Close'\r\nimport { AutoComplete } from '@sensenet/controls-react'\r\nimport { GenericContent, Group, ReferenceFieldSetting, User } from '@sensenet/default-content-types'\r\nimport { useLogger, useRepository } from '@sensenet/hooks-react'\r\nimport React, { FunctionComponent, useState } from 'react'\r\nimport { useLocalization } from '../../hooks'\r\nimport { DialogTitle, useDialog, useStyles } from '.'\r\n\r\nexport interface AddDeleteUserGroupsProps {\r\n user: User\r\n directGroups: GenericContent[]\r\n canEdit: boolean\r\n}\r\n\r\nexport const AddDeleteUserGroups: FunctionComponent = ({ user, directGroups, canEdit }) => {\r\n const { closeLastDialog } = useDialog()\r\n const repository = useRepository()\r\n const classes = useStyles()\r\n const [selectedGroup, setSelectedGroup] = useState()\r\n const [groups, setGroups] = useState(directGroups)\r\n const logger = useLogger('AddDeleteUserGroups')\r\n const localization = useLocalization()\r\n\r\n const searchInGroups = (group: Group) => {\r\n setSelectedGroup(group && groups.every((e) => e.Id !== group.Id) ? group : null)\r\n }\r\n\r\n const handleOnSubmit = async (): Promise => {\r\n if (selectedGroup) {\r\n try {\r\n await repository.security.addMembers(selectedGroup.Path, [user.Id])\r\n\r\n setGroups([...groups, selectedGroup])\r\n setSelectedGroup(null)\r\n } catch (e) {\r\n logError(selectedGroup)\r\n }\r\n }\r\n }\r\n\r\n const handleOnDelete = async (group: GenericContent): Promise => {\r\n try {\r\n await repository.security.removeMembers(group.Path, [user.Id])\r\n\r\n setGroups(groups.filter((e) => e.Id !== group.Id))\r\n } catch (e) {\r\n logError(group)\r\n }\r\n }\r\n\r\n const logError = (relatedContent: GenericContent) => {\r\n logger.warning({\r\n message: localization.referenceContentListDialog.errorAlreadyInList,\r\n data: {\r\n relatedContent,\r\n relatedRepository: repository.configuration.repositoryUrl,\r\n },\r\n })\r\n }\r\n\r\n return (\r\n <>\r\n \r\n {localization.addDeleteUserGroups.groups}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n searchInGroups(group)}\r\n repository={repository}\r\n settings={\r\n {\r\n AllowedTypes: ['Group'],\r\n SelectionRoots: ['/Root/IMS'],\r\n DisplayName: localization.addDeleteUserGroups.groups,\r\n Description: localization.addDeleteUserGroups.search,\r\n } as ReferenceFieldSetting\r\n }\r\n />\r\n }\r\n disabled={!selectedGroup}\r\n style={{ marginLeft: '0.5rem' }}\r\n onClick={(_) => handleOnSubmit()}>\r\n {localization.drawer.add}\r\n \r\n
\r\n \r\n
\r\n {groups.length\r\n ? `${localization.addDeleteUserGroups.userGroups(user.DisplayName!)}:`\r\n : localization.addDeleteUserGroups.userNoMembership(user.DisplayName!)}\r\n
\r\n {groups.length ? (\r\n groups.map((group) => (\r\n \r\n \r\n \r\n {canEdit && (\r\n \r\n handleOnDelete(group)}>\r\n \r\n \r\n \r\n )}\r\n \r\n ))\r\n ) : (\r\n <>\r\n )}\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default AddDeleteUserGroups\r\n","import { Button, DialogActions, DialogContent, DialogContentText, Fade, TextField } from '@material-ui/core'\r\nimport { ODataParams } from '@sensenet/client-core'\r\nimport { GenericContent } from '@sensenet/default-content-types'\r\nimport { useLogger, useRepository } from '@sensenet/hooks-react'\r\nimport React, { useState } from 'react'\r\nimport { useGlobalStyles } from '../../globalStyles'\r\nimport { useLocalization } from '../../hooks'\r\nimport { useDialog } from './dialog-provider'\r\nimport { DialogTitle } from '.'\r\n\r\nexport type ApproveProps = {\r\n content: GenericContent\r\n onActionSuccess?: (content: GenericContent) => void\r\n oDataOptions?: ODataParams\r\n}\r\n\r\nexport function Approve(props: ApproveProps) {\r\n const { content, oDataOptions, onActionSuccess } = props\r\n const localization = useLocalization().approveDialog\r\n const repo = useRepository()\r\n const logger = useLogger('approve-reject')\r\n const { closeLastDialog } = useDialog()\r\n const [reason, setReason] = useState()\r\n const [aboutToReject, setAboutToReject] = useState(false)\r\n const globalClasses = useGlobalStyles()\r\n\r\n const name = content.DisplayName ?? content.Name\r\n const submitProps = { color: 'primary', variant: 'contained' } as const\r\n const cancelProps = { className: globalClasses.cancelButton } as const\r\n\r\n const reject = async () => {\r\n if (!aboutToReject) {\r\n setAboutToReject(true)\r\n return\r\n }\r\n\r\n try {\r\n const result = await repo.versioning.reject(content.Id, reason, oDataOptions)\r\n onActionSuccess?.(result.d)\r\n logger.information({ message: localization.rejectSuccess(name), data: result })\r\n } catch (error) {\r\n logger.warning({ message: localization.rejectError, data: { error } })\r\n } finally {\r\n closeLastDialog()\r\n }\r\n }\r\n\r\n const approve = async () => {\r\n try {\r\n const result = await repo.versioning.approve(content.Id, oDataOptions)\r\n onActionSuccess?.(result.d)\r\n logger.information({ message: localization.approveSuccess(name), data: result })\r\n } catch (error) {\r\n logger.warning({ message: localization.approveError, data: { error } })\r\n } finally {\r\n closeLastDialog()\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {localization.title}\r\n \r\n {localization.body(name)}\r\n \r\n setReason(event.target.value)}\r\n margin=\"normal\"\r\n fullWidth={true}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n
\r\n \r\n {localization.rejectButton}\r\n \r\n \r\n {localization.approveButton}\r\n \r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default Approve\r\n","import { Button, DialogActions, DialogContent } from '@material-ui/core'\r\nimport React from 'react'\r\nimport { useGlobalStyles } from '../../globalStyles'\r\nimport { useLocalization } from '../../hooks'\r\nimport { DialogTitle, useDialog } from '.'\r\n\r\nexport type AreYouSureProps = {\r\n bodyText?: string\r\n titleText?: string\r\n cancelText?: string\r\n submitText?: string\r\n callBack: () => void\r\n}\r\n\r\nexport function AreYouSure(props: AreYouSureProps) {\r\n const localization = useLocalization().areYouSureDialog\r\n const {\r\n callBack,\r\n bodyText = localization.body,\r\n submitText = localization.submitButton,\r\n cancelText = localization.cancelButton,\r\n titleText = localization.title,\r\n } = props\r\n const { closeLastDialog } = useDialog()\r\n const globalClasses = useGlobalStyles()\r\n\r\n return (\r\n <>\r\n {titleText}\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default AreYouSure\r\n","import { Button, DialogActions, DialogContent, TextField } from '@material-ui/core'\r\nimport { ODataParams } from '@sensenet/client-core'\r\nimport { GenericContent } from '@sensenet/default-content-types'\r\nimport { useLogger, useRepository } from '@sensenet/hooks-react'\r\nimport React, { useState } from 'react'\r\nimport { useLocalization } from '../../hooks'\r\nimport { DialogTitle, useDialog } from '.'\r\n\r\nexport type CheckInProps = {\r\n content: GenericContent\r\n onActionSuccess?: (content: GenericContent) => void\r\n oDataOptions?: ODataParams\r\n}\r\n\r\nexport function CheckIn({ content, onActionSuccess, oDataOptions }: CheckInProps) {\r\n const [comment, setComment] = useState()\r\n const localization = useLocalization().checkInDialog\r\n const logger = useLogger('CheckInDialog')\r\n const repo = useRepository()\r\n const { closeLastDialog } = useDialog()\r\n\r\n const onSubmit = async () => {\r\n try {\r\n const result = await repo.versioning.checkIn(content.Id, comment, oDataOptions)\r\n onActionSuccess?.(result.d)\r\n logger.information({ message: localization.successMessage })\r\n } catch (error) {\r\n logger.warning({ message: localization.errorMessage, data: { error } })\r\n } finally {\r\n closeLastDialog()\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {localization.checkinComment}\r\n \r\n setComment(event.target.value)}\r\n value={comment}\r\n fullWidth\r\n />\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default CheckIn\r\n","import { File as SnFile } from '@sensenet/default-content-types'\r\nimport { useLogger, useRepository } from '@sensenet/hooks-react'\r\nimport React, { useEffect, useState } from 'react'\r\nimport { useLocalization } from '../../hooks'\r\nimport { ContentBreadcrumbs } from '../ContentBreadcrumbs'\r\nimport { FullScreenLoader } from '../full-screen-loader'\r\nimport { SnMonacoEditor, SnMonacoEditorProps } from './sn-monaco-editor'\r\nimport { getMonacoModelUri } from './text-editor'\r\n\r\nexport type TextEditorProps = Pick & {\r\n content: SnFile\r\n loadContent?: (content: SnFile) => Promise\r\n saveContent: (value: any) => void | Promise\r\n showBreadCrumb: boolean\r\n}\r\n\r\nexport const JsonEditor: React.FunctionComponent = (props) => {\r\n const repo = useRepository()\r\n const [textValue, setTextValue] = useState('')\r\n const [savedTextValue, setSavedTextValue] = useState('')\r\n const localization = useLocalization()\r\n const [uri, setUri] = useState()\r\n const [hasChanges, setHasChanges] = useState(false)\r\n const logger = useLogger('JSONEditor')\r\n const [error, setError] = useState()\r\n\r\n const saveContent = () => {\r\n try {\r\n props.saveContent(JSON.parse(textValue))\r\n logger.information({\r\n message: localization.textEditor.saveSuccessNotification.replace(\r\n '{0}',\r\n props.content.DisplayName || props.content.Name,\r\n ),\r\n data: {\r\n relatedContent: props.content,\r\n relatedRepository: repo.configuration.repositoryUrl,\r\n compare: {\r\n old: savedTextValue,\r\n new: textValue,\r\n },\r\n },\r\n })\r\n } catch (err) {\r\n setHasChanges(true)\r\n logger.error({\r\n message:\r\n err.message ||\r\n localization.textEditor.saveFailedNotification.replace(\r\n '{0}',\r\n props.content.DisplayName || props.content.Name,\r\n ),\r\n data: {\r\n error: err,\r\n },\r\n })\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n setHasChanges(textValue.replace(/\\r\\n/g, '\\n') !== savedTextValue.replace(/\\r\\n/g, '\\n'))\r\n }, [textValue, savedTextValue])\r\n\r\n useEffect(() => {\r\n ;(async () => {\r\n setUri(await getMonacoModelUri(props.content, repo))\r\n })()\r\n }, [props.content, repo])\r\n\r\n useEffect(() => {\r\n ;(async () => {\r\n try {\r\n if (props.loadContent) {\r\n const value = await props.loadContent(props.content)\r\n setTextValue(value)\r\n setSavedTextValue(value)\r\n }\r\n } catch (err) {\r\n setError(err)\r\n }\r\n })()\r\n }, [props, repo])\r\n\r\n if (error) {\r\n logger.information({\r\n message: localization.textEditor.saveFailedNotification,\r\n data: error,\r\n })\r\n return null\r\n }\r\n\r\n if (!uri) {\r\n return \r\n }\r\n\r\n return (\r\n (props.showBreadCrumb ? : <>{props.content.Name})}\r\n />\r\n )\r\n}\r\n","import { DialogContent, IconButton } from '@material-ui/core'\r\nimport { Close } from '@material-ui/icons'\r\nimport { GenericContent } from '@sensenet/default-content-types'\r\nimport React from 'react'\r\nimport { useLocalization } from '../../hooks'\r\nimport { JsonEditor } from '../editor/json-editor'\r\nimport { DialogTitle } from './dialog-title'\r\nimport { useDialog, useStyles } from '.'\r\n\r\ninterface ColumunSettingsProps {\r\n columnSettings: Extract\r\n setColumnSettings: (columnSettings: Extract) => void | Promise\r\n}\r\n\r\nconst editorContent: any = {\r\n Type: 'ColumnSettings',\r\n Name: `ColumnSettings`,\r\n}\r\n\r\nexport const ColumnSettings = (props: ColumunSettingsProps) => {\r\n const { setColumnSettings, columnSettings } = props\r\n const dialogClasses = useStyles()\r\n const { closeLastDialog } = useDialog()\r\n const localization = useLocalization()\r\n\r\n return (\r\n <>\r\n \r\n {localization.columnSettingsDialog.title}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n const columnSettingsToDisplay = { columns: columnSettings }\r\n return JSON.stringify(columnSettingsToDisplay, undefined, 3)\r\n }}\r\n saveContent={setColumnSettings}\r\n handleCancel={closeLastDialog}\r\n showBreadCrumb={false}\r\n />\r\n \r\n \r\n )\r\n}\r\n\r\nexport default ColumnSettings\r\n","import DialogActions from '@material-ui/core/DialogActions'\r\nimport DialogContent from '@material-ui/core/DialogContent'\r\nimport LinearProgress from '@material-ui/core/LinearProgress'\r\nimport { ConstantContent } from '@sensenet/client-core'\r\nimport { GenericContent } from '@sensenet/default-content-types'\r\nimport { useRepository } from '@sensenet/hooks-react'\r\nimport { GenericContentWithIsParent, Picker } from '@sensenet/pickers-react'\r\nimport React, { useMemo } from 'react'\r\nimport { useGlobalStyles } from '../../globalStyles'\r\nimport { useLocalization } from '../../hooks'\r\nimport { Icon } from '../Icon'\r\nimport { DialogTitle, useDialog } from '.'\r\n\r\nexport interface ContentPickerDialogProps {\r\n defaultValue?: GenericContentWithIsParent\r\n currentPath: string\r\n selectionRoot?: string\r\n required?: boolean\r\n content?: GenericContent\r\n handleSubmit?: (content: GenericContentWithIsParent) => void\r\n}\r\n\r\nexport const ContentPickerDialog: React.FunctionComponent = (props) => {\r\n const repository = useRepository()\r\n const { closeLastDialog } = useDialog()\r\n\r\n const localization = useLocalization().contentPickerDialog\r\n const globalClasses = useGlobalStyles()\r\n\r\n const selectionRoots = useMemo(\r\n () => (props.selectionRoot ? [props.selectionRoot] : [ConstantContent.PORTAL_ROOT.Path]),\r\n [props.selectionRoot],\r\n )\r\n const itemsODataOptions = useMemo(() => ({ filter: '' }), [])\r\n\r\n const handleSubmit = async (selection: GenericContentWithIsParent[]) => {\r\n props.handleSubmit?.(selection[0])\r\n closeLastDialog()\r\n }\r\n\r\n return (\r\n <>\r\n \r\n
\r\n {props.content && }\r\n {localization.title}\r\n
\r\n
\r\n\r\n }\r\n renderLoading={() => }\r\n pickerContainer={DialogContent}\r\n actionsContainer={DialogActions}\r\n handleCancel={closeLastDialog}\r\n handleSubmit={handleSubmit}\r\n required={props.required ? 1 : 0}\r\n localization={{ cancelButton: localization.cancelButton, submitButton: localization.selectButton }}\r\n classes={{ cancelButton: globalClasses.cancelButton }}\r\n />\r\n \r\n )\r\n}\r\n\r\nexport default ContentPickerDialog\r\n","import { LinearProgress } from '@material-ui/core'\r\nimport DialogActions from '@material-ui/core/DialogActions'\r\nimport DialogContent from '@material-ui/core/DialogContent'\r\nimport { PathHelper } from '@sensenet/client-utils'\r\nimport { GenericContent } from '@sensenet/default-content-types'\r\nimport { useLogger, useRepository } from '@sensenet/hooks-react'\r\nimport { GenericContentWithIsParent, Picker, PickerModes } from '@sensenet/pickers-react'\r\nimport React, { useEffect, useMemo, useState } from 'react'\r\nimport { useHistory } from 'react-router-dom'\r\nimport { useGlobalStyles } from '../../globalStyles'\r\nimport { useLocalization, useQuery, useSnRoute } from '../../hooks'\r\nimport { navigateToAction } from '../../services'\r\nimport { Icon } from '../Icon'\r\nimport { DialogTitle, useDialog } from '.'\r\n\r\nexport interface CopyMoveDialogProps {\r\n currentParent: GenericContent\r\n content: GenericContent[]\r\n operation: 'copy' | 'move'\r\n}\r\n\r\nexport const CopyMoveDialog: React.FunctionComponent = (props) => {\r\n const snRoute = useSnRoute()\r\n const repo = useRepository()\r\n const { closeLastDialog } = useDialog()\r\n const history = useHistory()\r\n const currentPath = useQuery().get('path')\r\n const localizations = useLocalization().copyMoveContentDialog\r\n const logger = useLogger('CopyDialog')\r\n const globalClasses = useGlobalStyles()\r\n\r\n const [localization, setLocalization] = useState(localizations[props.operation])\r\n const [isExecInProgress, setIsExecInProgress] = useState(false)\r\n\r\n const selectionRoots = useMemo(() => [snRoute.path], [snRoute.path])\r\n const itemsODataOptions = useMemo(() => ({ filter: '' }), [])\r\n\r\n const blackList =\r\n props.operation === 'copy'\r\n ? [props.content[0].Path]\r\n : [props.content[0].Path, `/${PathHelper.getParentPath(props.content[0].Path)}`]\r\n\r\n useEffect(() => {\r\n setLocalization(localizations[props.operation])\r\n }, [localizations, props.operation])\r\n\r\n const [destination, setDestination] = useState(props.currentParent.DisplayName)\r\n\r\n if (!props.content.length) {\r\n return null\r\n }\r\n\r\n const handleSubmit = async (selection: GenericContentWithIsParent[]) => {\r\n try {\r\n const target = selection[0]\r\n\r\n setIsExecInProgress(true)\r\n\r\n const action = props.operation === 'copy' ? repo.copy : repo.move\r\n const result = await action({ idOrPath: props.content.map((c) => c.Id), targetPath: target.Path })\r\n\r\n if (result.d.errors.length === 1) {\r\n return logger.warning({\r\n message: `${localization.copyFailedNotification\r\n .replace('{0}', result.d.errors[0].content.Name)\r\n .replace('{1}', target.DisplayName || target.Name)}\\r\\n${result.d.errors[0].error.message.value}`,\r\n data: {\r\n details: result,\r\n ...(props.content.length === 1\r\n ? {\r\n relatedRepository: repo.configuration.repositoryUrl,\r\n relatedContent: props.content[0],\r\n }\r\n : {}),\r\n },\r\n })\r\n } else if (result.d.errors.length > 1) {\r\n return logger.warning({\r\n message: localization.copyMultipleFailedNotification\r\n .replace('{0}', result.d.errors.length.toString())\r\n .replace('{1}', target.DisplayName || target.Name),\r\n data: {\r\n details: result,\r\n },\r\n })\r\n }\r\n\r\n if (result.d.results.length === 1) {\r\n logger.information({\r\n message: localization.copySucceededNotification\r\n .replace('{0}', result.d.results[0].Name)\r\n .replace('{1}', target.Path),\r\n data: {\r\n error: result.d.errors[0],\r\n ...(props.content.length === 1\r\n ? {\r\n relatedRepository: repo.configuration.repositoryUrl,\r\n relatedContent: props.content[0],\r\n }\r\n : {}),\r\n },\r\n })\r\n } else if (result.d.results.length > 1) {\r\n logger.information({\r\n message: localization.copyMultipleSucceededNotification\r\n .replace('{0}', result.d.results.length.toString())\r\n .replace('{1}', target.DisplayName || target.Name),\r\n data: {\r\n error: result.d.errors,\r\n },\r\n })\r\n }\r\n\r\n if (\r\n props.content.some((currentContent) =>\r\n PathHelper.isInSubTree(`${snRoute.path}${currentPath || ''}`, currentContent.Path),\r\n )\r\n ) {\r\n navigateToAction({\r\n history,\r\n routeMatch: snRoute.match,\r\n queryParams: {\r\n path: `/${PathHelper.getParentPath(props.content[0].Path)}`.replace(snRoute.path, ''),\r\n },\r\n })\r\n }\r\n } catch (error) {\r\n /** */\r\n } finally {\r\n setIsExecInProgress(false)\r\n closeLastDialog()\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n \r\n
\r\n \r\n {isExecInProgress\r\n ? localization.inProgress\r\n : props.content.length === 1\r\n ? localization.title.replace('{0}', props.content[0].DisplayName || props.content[0].Name)\r\n : localization.titleMultiple.replace('{0}', props.content.length.toString())}\r\n {to {destination}}\r\n
\r\n
\r\n }\r\n renderLoading={() => }\r\n pickerContainer={DialogContent}\r\n actionsContainer={DialogActions}\r\n handleCancel={closeLastDialog}\r\n handleSubmit={handleSubmit}\r\n selectionBlacklist={blackList}\r\n isExecInProgress={isExecInProgress}\r\n required={1}\r\n classes={{ cancelButton: globalClasses.cancelButton }}\r\n setDestination={setDestination}\r\n currentParent={props.currentParent}\r\n treePickerMode={PickerModes.COPY_MOVE_TREE}\r\n />\r\n \r\n )\r\n}\r\n\r\nexport default CopyMoveDialog\r\n","import Button from '@material-ui/core/Button'\r\nimport DialogActions from '@material-ui/core/DialogActions'\r\nimport DialogContent from '@material-ui/core/DialogContent'\r\nimport DialogTitle from '@material-ui/core/DialogTitle'\r\nimport React, { lazy } from 'react'\r\nimport { useGlobalStyles } from '../../globalStyles'\r\nimport { useLocalization, useTheme } from '../../hooks'\r\nimport { useDialog } from './dialog-provider'\r\nconst MonacoEditor = lazy(() => import('react-monaco-editor'))\r\n\r\nexport type CustomActionResultDialogProps = {\r\n response: string\r\n}\r\n\r\nexport function CustomActionResultDialog({ response = '{}' }: CustomActionResultDialogProps) {\r\n const localization = useLocalization().customActions.resultsDialog\r\n const { closeLastDialog } = useDialog()\r\n const theme = useTheme()\r\n const globalClasses = useGlobalStyles()\r\n\r\n return (\r\n <>\r\n {localization.title}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default CustomActionResultDialog\r\n","import { Button, createStyles, DialogActions, DialogContent, makeStyles, Theme } from '@material-ui/core'\r\nimport isBefore from 'date-fns/isBefore'\r\nimport React, { useState } from 'react'\r\nimport { DayPicker, Matcher } from 'react-day-picker'\r\nimport { LocalizationObject } from '../../context'\r\nimport { useGlobalStyles } from '../../globalStyles'\r\nimport { useLocalization, usePersonalSettings } from '../../hooks'\r\nimport { useDialog } from '.'\r\n\r\nimport 'react-day-picker/dist/style.css'\r\n\r\nconst useStyles = makeStyles((theme: Theme) => {\r\n return createStyles({\r\n root: {\r\n '& .DayPicker-wrapper, & .DayPicker-NavButton': {\r\n outline: 0,\r\n },\r\n '& .DayPicker-Day': {\r\n borderRadius: '0 !important',\r\n },\r\n '& .DayPicker-Day--selected:not(.DayPicker-Day--disabled):not(.DayPicker-Day--outside)': {\r\n backgroundColor: theme.palette.primary.main,\r\n },\r\n },\r\n })\r\n})\r\n\r\nexport interface DateRangePickerProps {\r\n defaultValue?: {\r\n from: Date\r\n to: Date\r\n }\r\n handleSubmit: (range: { from?: Date; to?: Date }) => void\r\n}\r\n\r\nexport const DateRangePicker: React.FunctionComponent = (props) => {\r\n const { closeLastDialog } = useDialog()\r\n const globalClasses = useGlobalStyles()\r\n const classes = useStyles()\r\n const localization = useLocalization().dateRangePicker\r\n const personalSettings = usePersonalSettings()\r\n const langCode = LocalizationObject[personalSettings.language].locale\r\n\r\n const [from, setFrom] = useState(props.defaultValue?.from)\r\n const [to, setTo] = useState(props.defaultValue?.to)\r\n const [enteredTo, setEnteredTo] = useState(props.defaultValue?.to)\r\n\r\n const isSelectingFirstDay = (day: Date) => {\r\n const isBeforeFirstDay = from && isBefore(day, from)\r\n const isRangeSelected = from && to\r\n return !from || isBeforeFirstDay || isRangeSelected\r\n }\r\n\r\n const handleDayClick = (day: Date) => {\r\n if (from && to && day >= from && day <= to) {\r\n handleResetClick()\r\n return\r\n }\r\n if (isSelectingFirstDay(day)) {\r\n setFrom(day)\r\n setTo(undefined)\r\n setEnteredTo(undefined)\r\n } else {\r\n setTo(day)\r\n setEnteredTo(day)\r\n }\r\n }\r\n\r\n const handleDayMouseEnter = (day: Date) => {\r\n if (!isSelectingFirstDay(day)) {\r\n setEnteredTo(day)\r\n }\r\n }\r\n\r\n const handleResetClick = () => {\r\n setFrom(undefined)\r\n setTo(undefined)\r\n setEnteredTo(undefined)\r\n }\r\n\r\n const modifiers = { mods: { from, to: enteredTo } } || undefined\r\n const disabledDays: Matcher | undefined = from ? { before: from } : undefined\r\n const selectedDays: Matcher[] = from && enteredTo ? [from, { from, to: enteredTo }] : from ? [from] : []\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n {localization.resetButton}\r\n \r\n props.handleSubmit({ from, to })}>\r\n {localization.submitButton}\r\n \r\n closeLastDialog()}>\r\n {localization.cancelButton}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default DateRangePicker\r\n","import Button from '@material-ui/core/Button'\r\nimport Checkbox from '@material-ui/core/Checkbox'\r\nimport DialogActions from '@material-ui/core/DialogActions'\r\nimport DialogContent from '@material-ui/core/DialogContent'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport LinearProgress from '@material-ui/core/LinearProgress'\r\nimport List from '@material-ui/core/List'\r\nimport ListItem from '@material-ui/core/ListItem'\r\nimport ListItemIcon from '@material-ui/core/ListItemIcon'\r\nimport ListItemText from '@material-ui/core/ListItemText'\r\nimport Tooltip from '@material-ui/core/Tooltip'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport { PathHelper } from '@sensenet/client-utils'\r\nimport { GenericContent } from '@sensenet/default-content-types'\r\nimport { useLogger, useRepository } from '@sensenet/hooks-react'\r\nimport React, { useContext, useState } from 'react'\r\nimport { useHistory } from 'react-router-dom'\r\nimport { ResponsiveContext } from '../../context'\r\nimport { useGlobalStyles } from '../../globalStyles'\r\nimport { useLocalization, useQuery, useSelectionService, useSnRoute } from '../../hooks'\r\nimport { navigateToAction } from '../../services'\r\nimport { Icon } from '../Icon'\r\nimport { DialogTitle, useDialog } from '.'\r\n\r\nexport type DeleteContentDialogProps = {\r\n content: GenericContent[]\r\n}\r\n\r\nexport const DeleteContentDialog: React.FunctionComponent = (props) => {\r\n const device = useContext(ResponsiveContext)\r\n const { closeLastDialog } = useDialog()\r\n const [isDeleteInProgress, setIsDeleteInProgress] = useState(false)\r\n const [permanent, setPermanent] = useState(false)\r\n const repo = useRepository()\r\n const history = useHistory()\r\n const localization = useLocalization().deleteContentDialog\r\n const logger = useLogger('DeleteContentDialog')\r\n const isTrashBag = !!props.content.length && repo.schemas.isContentFromType(props.content[0], 'TrashBag')\r\n const globalClasses = useGlobalStyles()\r\n const selectionService = useSelectionService()\r\n const snRoute = useSnRoute()\r\n const currentPath = useQuery().get('path')\r\n const hasUserOrGroupContent = props.content.some(\r\n (content) => repo.schemas.isContentFromType(content, 'User') || repo.schemas.isContentFromType(content, 'Group'),\r\n )\r\n\r\n return (\r\n <>\r\n {isDeleteInProgress ? (\r\n {localization.deletingContent}\r\n ) : (\r\n {localization.dialogTitle}\r\n )}\r\n \r\n {localization.dialogContent}\r\n \r\n {props.content.map((c) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n {hasUserOrGroupContent && {localization.additionalTextForUsers}}\r\n {isDeleteInProgress ? : null}\r\n \r\n \r\n {!isTrashBag && !hasUserOrGroupContent ? (\r\n <>\r\n \r\n setPermanent(ev.target.checked)}\r\n />\r\n }\r\n />\r\n \r\n \r\n ) : null}\r\n
\r\n closeLastDialog()}>\r\n {localization.cancelButton}\r\n \r\n {\r\n try {\r\n setIsDeleteInProgress(true)\r\n const result = await repo.delete({\r\n idOrPath: props.content.map((c) => c.Path),\r\n permanent,\r\n })\r\n if (result.d.results.length) {\r\n logger.information({\r\n message:\r\n result.d.results.length > 1\r\n ? localization.deleteMultipleSuccessNotification.replace(\r\n '{0}',\r\n result.d.results.length.toString(),\r\n )\r\n : localization.deleteSuccessNotification.replace('{0}', result.d.results[0].Name),\r\n data: {\r\n relatedContent: props.content.length > 1 ? undefined : props.content[0],\r\n relatedRepository: repo.configuration.repositoryUrl,\r\n },\r\n })\r\n }\r\n if (result.d.errors.length) {\r\n logger.warning({\r\n message:\r\n result.d.errors.length > 1\r\n ? localization.deleteMultipleContentFailedNotification.replace(\r\n '{0}',\r\n result.d.errors.length.toString(),\r\n )\r\n : localization.deleteSingleContentFailedNotification\r\n .replace(\r\n '{0}',\r\n (props.content.find((c) => c.Id === result.d.errors[0].content.Id) as GenericContent)\r\n .DisplayName ||\r\n (props.content.find((c) => c.Id === result.d.errors[0].content.Id) as GenericContent)\r\n .Name ||\r\n result.d.errors[0].content.Name,\r\n )\r\n .replace('{1}', result.d.errors[0].error.message.value),\r\n data: {\r\n relatedContent: props.content.length > 1 ? undefined : props.content[0],\r\n relatedRepository: repo.configuration.repositoryUrl,\r\n error: result.d.errors.length > 1 ? result.d.errors : result.d.errors[0],\r\n },\r\n })\r\n } else {\r\n if (\r\n props.content.some((currentContent) =>\r\n PathHelper.isInSubTree(`${snRoute.path}${currentPath || ''}`, currentContent.Path),\r\n )\r\n ) {\r\n navigateToAction({\r\n history,\r\n routeMatch: snRoute.match,\r\n queryParams: {\r\n path: `/${PathHelper.getParentPath(props.content[0].Path)}`.replace(snRoute.path, ''),\r\n },\r\n })\r\n }\r\n }\r\n } catch (error) {\r\n logger.error({\r\n message: localization.deleteFailedNotification,\r\n data: {\r\n error,\r\n },\r\n })\r\n } finally {\r\n selectionService.selection.setValue([])\r\n setIsDeleteInProgress(false)\r\n closeLastDialog()\r\n }\r\n }}>\r\n {isTrashBag ? localization.deletePermanently : localization.deleteButton}\r\n \r\n
\r\n \r\n \r\n )\r\n}\r\n\r\nexport default DeleteContentDialog\r\n","import { DialogProps } from '@material-ui/core/Dialog'\r\nimport React, { createContext, useCallback, useContext, useReducer } from 'react'\r\nimport { ErrorBoundary, ErrorBoundaryState } from '../error-boundary'\r\nimport { MemberSelectProps } from './member-select-dialog'\r\nimport {\r\n AddDeleteUserGroupsProps,\r\n ApproveProps,\r\n AreYouSureProps,\r\n CheckInProps,\r\n ContentPickerDialogProps,\r\n CopyMoveDialogProps,\r\n CustomActionResultDialogProps,\r\n DateRangePickerProps,\r\n DeleteContentDialogProps,\r\n ExecuteActionDialogProps,\r\n PermissionEditorDialogProps,\r\n ReferenceContentListProps,\r\n RestoreProps,\r\n SaveQueryProps,\r\n UploadDialogProps,\r\n} from '.'\r\n\r\nexport type DialogWithProps = (\r\n | { name: 'delete'; props: DeleteContentDialogProps }\r\n | { name: 'error'; props: ErrorBoundaryState }\r\n | { name: 'copy-move'; props: CopyMoveDialogProps }\r\n | { name: 'check-in'; props: CheckInProps }\r\n | { name: 'are-you-sure'; props: AreYouSureProps }\r\n | { name: 'approve'; props: ApproveProps }\r\n | { name: 'restore'; props: RestoreProps }\r\n | { name: 'upload'; props: UploadDialogProps }\r\n | { name: 'execute-action'; props: ExecuteActionDialogProps }\r\n | { name: 'custom-action-result'; props: CustomActionResultDialogProps }\r\n | { name: 'logout' }\r\n | { name: 'save-query'; props: SaveQueryProps }\r\n | { name: 'reference-content-list'; props: ReferenceContentListProps }\r\n | { name: 'add-delete-user-groups'; props: AddDeleteUserGroupsProps }\r\n | { name: 'permission-editor'; props: PermissionEditorDialogProps }\r\n | { name: 'member-select'; props: MemberSelectProps }\r\n | { name: 'content-picker'; props: ContentPickerDialogProps }\r\n | { name: 'feedback' }\r\n | { name: 'change-password' }\r\n | { name: 'date-range-picker'; props: DateRangePickerProps }\r\n | { name: 'column-settings'; props: any }\r\n) & { dialogProps?: Partial }\r\n\r\ntype Action = { type: 'PUSH_DIALOG'; dialog: DialogWithProps } | { type: 'POP_DIALOG' } | { type: 'CLOSE_ALL_DIALOGS' }\r\n\r\nconst initialState: DialogWithProps[] = []\r\nconst DialogContext = createContext<{ dialogs: typeof initialState; dispatch: React.Dispatch } | undefined>(\r\n undefined,\r\n)\r\n\r\nfunction dialogReducer(state: typeof initialState, action: Action) {\r\n switch (action.type) {\r\n case 'PUSH_DIALOG': {\r\n // Get last dialog from a copy of dialogs\r\n const currentModal = [...state].slice(-1)[0]\r\n if (currentModal && currentModal.name === action.dialog.name) {\r\n return state\r\n }\r\n return [...state, action.dialog]\r\n }\r\n case 'POP_DIALOG': {\r\n const dialogsCopy = [...state]\r\n dialogsCopy.pop()\r\n return dialogsCopy\r\n }\r\n case 'CLOSE_ALL_DIALOGS':\r\n return initialState\r\n default: {\r\n return state\r\n }\r\n }\r\n}\r\n\r\nexport function DialogProvider({ children }: { children: React.ReactNode }) {\r\n const [dialogs, dispatch] = useReducer(dialogReducer, initialState)\r\n\r\n return (\r\n \r\n {children}\r\n \r\n )\r\n}\r\n\r\n/**\r\n * Custom hook that returns functions for dialog management\r\n */\r\nexport function useDialog() {\r\n const context = useContext(DialogContext)\r\n\r\n if (!context) {\r\n throw new Error('useDialog must be used within a DialogProvider')\r\n }\r\n const { dispatch, dialogs } = context\r\n\r\n const closeAllDialogs = useCallback(() => dispatch({ type: 'CLOSE_ALL_DIALOGS' }), [dispatch])\r\n const closeLastDialog = useCallback(() => dispatch({ type: 'POP_DIALOG' }), [dispatch])\r\n const openDialog = useCallback((dialog: DialogWithProps) => dispatch({ type: 'PUSH_DIALOG', dialog }), [dispatch])\r\n\r\n return {\r\n dialogs,\r\n closeAllDialogs,\r\n closeLastDialog,\r\n openDialog,\r\n }\r\n}\r\n","import { DialogTitle as MuiDialogTitle, Theme, withStyles } from '@material-ui/core'\r\nimport { globals } from '../../globalStyles'\r\n\r\nexport const DialogTitle = withStyles((theme: Theme) => ({\r\n root: {\r\n padding: `${theme.spacing(1)}px ${theme.spacing(3)}px`,\r\n backgroundColor: globals.common.headerBackground,\r\n textAlign: 'center',\r\n color: globals.common.headerText,\r\n marginBottom: theme.spacing(1),\r\n },\r\n}))(MuiDialogTitle)\r\n","import { Button, DialogActions, DialogContent, DialogContentText } from '@material-ui/core'\r\nimport { RefreshTwoTone } from '@material-ui/icons'\r\nimport React from 'react'\r\nimport { useGlobalStyles } from '../../globalStyles'\r\nimport { useLocalization } from '../../hooks'\r\nimport { ErrorBoundaryState } from '../error-boundary'\r\nimport { DialogTitle } from '.'\r\n\r\nexport function ErrorDialog(props: ErrorBoundaryState) {\r\n const localization = useLocalization().errorBoundary\r\n const globalClasses = useGlobalStyles()\r\n\r\n return (\r\n <>\r\n {localization.title}\r\n \r\n \r\n {localization.text}
\r\n {props.info && props.info.componentStack}
\r\n {props.error && props.error.message ? (\r\n <>\r\n Error message: \r\n {props.error && props.error.message}\r\n \r\n ) : null}\r\n
\r\n \r\n window.location.reload()}>\r\n \r\n {localization.reload}\r\n \r\n \r\n
\r\n \r\n )\r\n}\r\n\r\nexport default ErrorDialog\r\n","import { MetadataAction } from '@sensenet/client-core'\r\n\r\nconst getJsonType = (type: string) => {\r\n const lowerType = type.toLowerCase()\r\n if (lowerType.includes('[]')) {\r\n return 'array'\r\n }\r\n if (\r\n lowerType.includes('number') ||\r\n lowerType.includes('int') ||\r\n lowerType.includes('double') ||\r\n lowerType.includes('float')\r\n ) {\r\n return 'number'\r\n }\r\n if (lowerType.includes('bool')) {\r\n return 'boolean'\r\n }\r\n if (lowerType.includes('object')) {\r\n return 'object'\r\n }\r\n return 'string'\r\n}\r\n\r\nexport const createCustomActionModel = async (\r\n uri: import('react-monaco-editor').monaco.Uri,\r\n actionMetadata: MetadataAction,\r\n) => {\r\n const { monaco } = await import('react-monaco-editor')\r\n const uriString = uri.toString()\r\n\r\n const properties: any = {}\r\n actionMetadata.parameters.forEach((prop) => (properties[prop.name] = { type: getJsonType(prop.type) }))\r\n\r\n monaco.languages.json.jsonDefaults.setDiagnosticsOptions({\r\n validate: true,\r\n enableSchemaRequest: false,\r\n schemas: [\r\n {\r\n uri: uriString.toString(),\r\n fileMatch: [uriString],\r\n schema: {\r\n type: 'object',\r\n required: actionMetadata.parameters.filter((p) => p.required).map((p) => p.name),\r\n properties,\r\n },\r\n },\r\n ],\r\n })\r\n}\r\n","import Button from '@material-ui/core/Button'\r\nimport DialogActions from '@material-ui/core/DialogActions'\r\nimport DialogContent from '@material-ui/core/DialogContent'\r\nimport LinearProgress from '@material-ui/core/LinearProgress'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport { PathHelper } from '@sensenet/client-utils'\r\nimport { useInjector, useLogger, useRepository } from '@sensenet/hooks-react'\r\nimport React, { lazy, useEffect, useState } from 'react'\r\nimport { useGlobalStyles } from '../../globalStyles'\r\nimport { useLocalization, useTheme } from '../../hooks'\r\nimport {\r\n CustomActionCommandProvider,\r\n OnExecuteActionPayload,\r\n} from '../../services/CommandProviders/CustomActionCommandProvider'\r\nimport { createCustomActionModel } from '../../services/MonacoModels/create-custom-action-model'\r\nimport { getMonacoModelUri } from '../editor/text-editor'\r\nimport { DialogTitle, useDialog } from '.'\r\nconst MonacoEditor = lazy(() => import('react-monaco-editor'))\r\n\r\nconst EDITOR_INITIAL_VALUE = `{\r\n\r\n}`\r\n\r\nexport type ExecuteActionDialogProps = {\r\n actionValue: OnExecuteActionPayload\r\n}\r\n\r\nexport function ExecuteActionDialog({ actionValue }: ExecuteActionDialogProps) {\r\n const theme = useTheme()\r\n const { closeLastDialog } = useDialog()\r\n const localization = useLocalization().customActions.executeCustomActionDialog\r\n const customActionService = useInjector().getInstance(CustomActionCommandProvider)\r\n const logger = useLogger('ExecuteAction')\r\n const repo = useRepository()\r\n const globalClasses = useGlobalStyles()\r\n\r\n const [uri, setUri] = useState()\r\n const [postBody, setPostBody] = useState(EDITOR_INITIAL_VALUE)\r\n const [isExecuting, setIsExecuting] = useState(false)\r\n const [error, setError] = useState('')\r\n\r\n useEffect(() => {\r\n ;(async () => {\r\n setUri(await getMonacoModelUri(actionValue.content, repo, actionValue.action))\r\n })()\r\n }, [actionValue, repo])\r\n\r\n useEffect(() => {\r\n if (uri && actionValue && actionValue.metadata) {\r\n createCustomActionModel(uri, actionValue.metadata)\r\n }\r\n }, [uri, actionValue])\r\n\r\n const getActionResult = async () => {\r\n setIsExecuting(true)\r\n setError('')\r\n try {\r\n switch (actionValue.action.Name) {\r\n case 'Load':\r\n return await repo.load({ idOrPath: actionValue.content.Id, oDataOptions: { select: 'all' } })\r\n case 'LoadCollection':\r\n return await repo.loadCollection({ path: actionValue.content.Path })\r\n case 'Create': {\r\n const parsedBody = JSON.parse(postBody) as { contentType: string; content: object }\r\n return await repo.post({\r\n contentType: parsedBody.contentType,\r\n parentPath: actionValue.content.IsFolder\r\n ? actionValue.content.Path\r\n : PathHelper.getParentPath(actionValue.content.Path),\r\n content: parsedBody.content,\r\n })\r\n }\r\n case 'Remove': {\r\n const { permanent } = JSON.parse(postBody)\r\n return await repo.delete({\r\n idOrPath: actionValue.content.Id,\r\n permanent: permanent == null ? false : permanent,\r\n })\r\n }\r\n case 'Update':\r\n return await repo.patch({ idOrPath: actionValue.content.Id, content: JSON.parse(postBody).content })\r\n default:\r\n return await repo.executeAction({\r\n idOrPath: actionValue.content.Id,\r\n body: JSON.parse(postBody),\r\n method: actionValue.method,\r\n name: actionValue.action.Name,\r\n })\r\n }\r\n } catch (e) {\r\n setError(e.message)\r\n logger.error({\r\n message: `There was an error executing custom action '${\r\n actionValue.action.DisplayName || actionValue.action.Name\r\n }'`,\r\n data: {\r\n isDismissed: true,\r\n relatedRepository: repo.configuration.repositoryUrl,\r\n relatedContent: actionValue.content,\r\n error,\r\n details: { actionValue },\r\n },\r\n })\r\n } finally {\r\n setIsExecuting(false)\r\n }\r\n }\r\n\r\n const onClick = async () => {\r\n const result = await getActionResult()\r\n\r\n if (!result) {\r\n return\r\n }\r\n setPostBody(EDITOR_INITIAL_VALUE)\r\n\r\n customActionService.onActionExecuted.setValue({\r\n action: actionValue.action,\r\n content: actionValue.content,\r\n response: result,\r\n })\r\n\r\n logger.information({\r\n message: `Action executed: '${actionValue.action.DisplayName || actionValue.action.Name}'`,\r\n data: {\r\n relatedContent: actionValue.content,\r\n relatedRepository: repo.configuration.repositoryUrl,\r\n details: { actionValue, result },\r\n },\r\n })\r\n }\r\n\r\n return (\r\n <>\r\n \r\n {localization.title\r\n .replace('{0}', (actionValue && (actionValue.action.DisplayName || actionValue.action.Name)) || '')\r\n .replace('{1}', (actionValue && (actionValue.content.DisplayName || actionValue.content.Name)) || '')}\r\n \r\n \r\n {!uri ? (\r\n
\r\n \r\n
\r\n ) : isExecuting ? (\r\n
\r\n {localization.executingAction}\r\n \r\n
\r\n ) : (\r\n <>\r\n {actionValue?.metadata?.parameters?.length ? (\r\n setPostBody(v)}\r\n options={{\r\n automaticLayout: true,\r\n lineNumbers: 'off',\r\n }}\r\n editorDidMount={(editor, monaco) => {\r\n if (!uri) {\r\n return\r\n }\r\n const model = monaco.editor.getModel(uri)\r\n if (!model) {\r\n const m = monaco.editor.createModel(postBody, 'json', uri)\r\n editor.setModel(m)\r\n } else {\r\n editor.setModel(model)\r\n setPostBody(model.getValue())\r\n }\r\n }}\r\n />\r\n ) : (\r\n {localization.noParameters}\r\n )}\r\n \r\n )}\r\n
\r\n \r\n
\r\n {error ? {error} : null}\r\n
\r\n \r\n \r\n {localization.executeButton}\r\n \r\n
\r\n \r\n )\r\n}\r\n\r\nexport default ExecuteActionDialog\r\n","import { Dialog } from '@material-ui/core'\r\nimport React, { lazy, Suspense } from 'react'\r\nimport { useGlobalStyles } from '../../globalStyles'\r\nimport { DialogWithProps, useDialog } from '.'\r\n\r\nconst Approve = lazy(() => import('./approve'))\r\nconst AreYouSure = lazy(() => import('./are-you-sure'))\r\nconst CheckIn = lazy(() => import('./check-in'))\r\nconst CopyMove = lazy(() => import('./copy-move'))\r\nconst CustomActionResult = lazy(() => import('./custom-action-result'))\r\nconst Delete = lazy(() => import('./delete'))\r\nconst Error = lazy(() => import('./error-dialog'))\r\nconst ExecuteAction = lazy(() => import('./execute-action'))\r\nconst Logout = lazy(() => import('./logout'))\r\nconst SaveQuery = lazy(() => import('./save-query'))\r\nconst Upload = lazy(() => import('./upload/upload-dialog'))\r\nconst ReferenceContentList = lazy(() => import('./reference-content-list'))\r\nconst PermissionEditorDialog = lazy(() => import('./permission-editor-dialog'))\r\nconst MemberSelect = lazy(() => import('./member-select-dialog'))\r\nconst Restore = lazy(() => import('./restore'))\r\nconst ContentPicker = lazy(() => import('./content-picker'))\r\nconst Feedback = lazy(() => import('./feedback'))\r\nconst ChangePasswordDialog = lazy(() => import('./change-password'))\r\nconst DateRangePicker = lazy(() => import('./date-range-picker'))\r\nconst AddDeleteUserGroups = lazy(() => import('./add-delete-user-groups'))\r\nconst ColumnSettings = lazy(() => import('./column-settings'))\r\n\r\nfunction dialogRenderer(dialog: DialogWithProps) {\r\n switch (dialog.name) {\r\n case 'delete':\r\n return \r\n case 'error':\r\n return \r\n case 'copy-move':\r\n return \r\n case 'check-in':\r\n return \r\n case 'are-you-sure':\r\n return \r\n case 'approve':\r\n return \r\n case 'restore':\r\n return \r\n case 'upload':\r\n return \r\n case 'execute-action':\r\n return \r\n case 'custom-action-result':\r\n return \r\n case 'logout':\r\n return \r\n case 'save-query':\r\n return \r\n case 'reference-content-list':\r\n return \r\n case 'add-delete-user-groups':\r\n return \r\n case 'permission-editor':\r\n return \r\n case 'member-select':\r\n return \r\n case 'content-picker':\r\n return \r\n case 'feedback':\r\n return \r\n case 'change-password':\r\n return \r\n case 'date-range-picker':\r\n return \r\n case 'column-settings':\r\n return \r\n default:\r\n return null\r\n }\r\n}\r\n\r\nexport function Dialogs() {\r\n const { dialogs, closeLastDialog } = useDialog()\r\n const globalClasses = useGlobalStyles()\r\n\r\n return (\r\n \r\n {dialogs.map((dialog, index) => (\r\n {\r\n dialog.dialogProps?.onClose?.(event, reason)\r\n closeLastDialog()\r\n }}>\r\n {dialogRenderer(dialog)}\r\n \r\n ))}\r\n \r\n )\r\n}\r\n","import { Button, DialogActions, DialogContent, DialogContentText } from '@material-ui/core'\r\nimport { useOidcAuthentication } from '@sensenet/authentication-oidc-react'\r\nimport { useRepository } from '@sensenet/hooks-react'\r\nimport React from 'react'\r\nimport { authConfigKey, useCurrentUser } from '../../context'\r\nimport { useGlobalStyles } from '../../globalStyles'\r\nimport { useLocalization } from '../../hooks'\r\nimport { Icon } from '../Icon'\r\nimport { DialogTitle, useDialog } from '.'\r\n\r\nexport function LogoutDialog() {\r\n const { closeLastDialog } = useDialog()\r\n const currentUser = useCurrentUser()\r\n const { logout } = useOidcAuthentication()\r\n const repository = useRepository()\r\n const localization = useLocalization().logout\r\n const globalClasses = useGlobalStyles()\r\n\r\n return (\r\n <>\r\n \r\n
\r\n \r\n {localization.logoutDialogTitle}\r\n
\r\n
\r\n <>\r\n \r\n \r\n {localization.logoutConfirmText(\r\n repository.configuration.repositoryUrl,\r\n currentUser?.DisplayName ?? currentUser?.Name ?? 'Visitor',\r\n )}\r\n \r\n \r\n \r\n \r\n {localization.logoutCancel}\r\n \r\n {\r\n window.localStorage.removeItem(authConfigKey)\r\n logout()\r\n }}\r\n autoFocus={true}>\r\n {localization.logoutButtonTitle}\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default LogoutDialog\r\n","export const forcePermissionActions = [\r\n { Preview: ['See'] },\r\n { PreviewWithoutWatermark: ['Preview'] },\r\n { PreviewWithoutRedaction: ['Preview'] },\r\n { Open: ['PreviewWithoutWatermark', 'PreviewWithoutRedaction'] },\r\n { OpenMinor: ['Open'] },\r\n { Save: ['OpenMinor'] },\r\n { Publish: ['OpenMinor'] },\r\n { ForceCheckin: ['OpenMinor'] },\r\n { AddNew: ['OpenMinor'] },\r\n { Approve: ['OpenMinor'] },\r\n { Delete: ['OpenMinor'] },\r\n { RecallOldVersion: ['OpenMinor'] },\r\n { DeleteOldVersion: ['OpenMinor'] },\r\n { SetPermissions: ['SeePermissions'] },\r\n { ManageListsAndWorkspaces: ['Save', 'AddNew', 'DeleteOldVersion'] },\r\n { TakeOwnership: ['See'] },\r\n]\r\n","import { Button, createStyles, makeStyles } from '@material-ui/core'\r\nimport { GenericContent } from '@sensenet/default-content-types'\r\nimport React from 'react'\r\nimport { useLocalization } from '../../../hooks'\r\nimport { ReferenceList } from '../reference-content-list/reference-list'\r\n\r\nconst useStyles = makeStyles(() => {\r\n return createStyles({\r\n addNewButton: {\r\n border: 'none !important',\r\n textDecoration: 'underline',\r\n textTransform: 'none',\r\n },\r\n })\r\n})\r\n\r\nexport type PermissionEditorMembersProps = {\r\n items: GenericContent[]\r\n parent: GenericContent\r\n fieldName: string\r\n canEdit: boolean\r\n}\r\n\r\nexport function PermissionEditorMembers(props: PermissionEditorMembersProps) {\r\n const classes = useStyles()\r\n const localization = useLocalization()\r\n\r\n return (\r\n (\r\n \r\n {localization.permissionEditor.addNewMember}\r\n \r\n )}\r\n formStyle={{ justifyContent: 'space-between', padding: '10px 20px' }}\r\n listStyle={{ padding: '0 30px', minHeight: '310px' }}\r\n />\r\n )\r\n}\r\n","import { Radio, RadioGroup, RadioProps } from '@material-ui/core'\r\nimport { createStyles, makeStyles, Theme } from '@material-ui/core/styles'\r\nimport { Clear, Done, Remove } from '@material-ui/icons'\r\nimport { PermissionValues } from '@sensenet/default-content-types'\r\nimport React from 'react'\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {\r\n flexDirection: 'row',\r\n backgroundColor: '#989898',\r\n borderRadius: '25px',\r\n '& .MuiButtonBase-root': {\r\n padding: '5px',\r\n },\r\n '& .Mui-checked.allow': {\r\n backgroundColor: theme.palette.primary.main,\r\n },\r\n '& .Mui-checked.undefined': {\r\n backgroundColor: 'rgba(255, 255, 255, 0.51)',\r\n },\r\n '& .Mui-checked.deny': {\r\n backgroundColor: theme.palette.error.light,\r\n },\r\n '& .MuiSvgIcon-root': {\r\n fontSize: '1rem',\r\n },\r\n },\r\n }),\r\n)\r\n\r\nconst StyledRadio = (props: RadioProps) => {\r\n const classes = useStyles()\r\n\r\n return \r\n}\r\n\r\ninterface PermissionSelectorProps {\r\n permissionValue: keyof typeof PermissionValues\r\n setPermission: (selectedPermission: keyof typeof PermissionValues) => void\r\n disabled?: boolean\r\n}\r\n\r\nexport const PermissionSelector = (props: PermissionSelectorProps) => {\r\n const { permissionValue, setPermission, disabled } = props\r\n\r\n const classes = useStyles()\r\n\r\n const handleRadioClick = (event: React.ChangeEvent) => {\r\n const option = event.target.value as keyof typeof PermissionValues\r\n\r\n setPermission(option)\r\n }\r\n\r\n /*This looks like a hack, but it was necesarry. Basic behavior is undefined so when i click on it, even its not changing i want to set it.m \"*/\r\n const handletestClick = (event: React.MouseEvent) => {\r\n const target = event.target as HTMLInputElement\r\n\r\n const option = target.value as keyof typeof PermissionValues\r\n\r\n setPermission(option)\r\n }\r\n\r\n return (\r\n
\r\n \r\n } />\r\n }\r\n />\r\n } />\r\n \r\n
\r\n )\r\n}\r\n","import { PermissionRequestBody, PermissionValues } from '@sensenet/default-content-types'\r\nimport React from 'react'\r\nimport { PermissionGroupType } from '../permission-editor-dialog'\r\nimport { PermissionSelector } from './permissionSelector'\r\n\r\ninterface selectorProps {\r\n responseBody: PermissionRequestBody\r\n setResponseBody(value: React.SetStateAction): void\r\n setForcedPermissions(\r\n localResponseBody: PermissionRequestBody,\r\n permissionNameParam: string,\r\n permissionValue: keyof typeof PermissionValues,\r\n ): void\r\n fullAccessCheck: () => keyof typeof PermissionValues\r\n permissionSettingGroups: PermissionGroupType[] | undefined\r\n getPermissionsFromGroupName: (groupName: string) => string[]\r\n}\r\n\r\nexport const SetFullAccess = (props: selectorProps) => {\r\n const {\r\n responseBody,\r\n setForcedPermissions,\r\n setResponseBody,\r\n fullAccessCheck,\r\n getPermissionsFromGroupName,\r\n permissionSettingGroups,\r\n } = props\r\n\r\n const localResponseBody = { ...responseBody }\r\n\r\n const permissionStringValue = fullAccessCheck()\r\n\r\n const isDiabled = false\r\n\r\n // console.log(localResponseBody)\r\n\r\n const setPermission = (selectedPermission: keyof typeof PermissionValues) => {\r\n permissionSettingGroups?.forEach((groupsFromSettings: PermissionGroupType) => {\r\n Object.entries(groupsFromSettings).forEach(([groupName]) => {\r\n getPermissionsFromGroupName(groupName).forEach((selectedGroupPermission: keyof PermissionRequestBody) => {\r\n Object.assign(localResponseBody, {\r\n [selectedGroupPermission]: PermissionValues[selectedPermission],\r\n })\r\n setForcedPermissions(localResponseBody, selectedGroupPermission, selectedPermission)\r\n })\r\n })\r\n })\r\n\r\n setResponseBody(localResponseBody)\r\n }\r\n\r\n return (\r\n \r\n )\r\n}\r\n","import { PermissionRequestBody, PermissionValues } from '@sensenet/default-content-types'\r\nimport React from 'react'\r\nimport { PermissionSelector } from './permissionSelector'\r\n\r\ninterface selectorProps {\r\n groupName: string\r\n responseBody: PermissionRequestBody\r\n setResponseBody(value: React.SetStateAction): void\r\n setForcedPermissions(\r\n localResponseBody: PermissionRequestBody,\r\n permissionNameParam: string,\r\n permissionValue: keyof typeof PermissionValues,\r\n ): void\r\n getGroupPermission: (groupName: string) => keyof typeof PermissionValues\r\n getPermissionsFromGroupName: (groupName: string) => string[]\r\n isGroupDisabled: (selectedGroup: string) => boolean\r\n}\r\n\r\nexport const SetGroupPermission = (props: selectorProps) => {\r\n const {\r\n groupName,\r\n responseBody,\r\n getGroupPermission,\r\n getPermissionsFromGroupName,\r\n setForcedPermissions,\r\n setResponseBody,\r\n isGroupDisabled,\r\n } = props\r\n\r\n const localResponseBody = { ...responseBody }\r\n\r\n const permissionStringValue = getGroupPermission(groupName)\r\n\r\n const isDiabled = isGroupDisabled(groupName)\r\n\r\n const setPermission = (selectedPermission: keyof typeof PermissionValues) => {\r\n getPermissionsFromGroupName(groupName).forEach((selectedGroupPermission: keyof PermissionRequestBody) => {\r\n Object.assign(localResponseBody, {\r\n [selectedGroupPermission]: PermissionValues[selectedPermission],\r\n })\r\n setForcedPermissions(localResponseBody, selectedGroupPermission, selectedPermission)\r\n })\r\n\r\n setResponseBody(localResponseBody)\r\n }\r\n\r\n return (\r\n \r\n )\r\n}\r\n","import { permissionKeys, PermissionRequestBody, PermissionValues } from '@sensenet/default-content-types'\r\nimport React from 'react'\r\nimport { PermissionSelector } from './permissionSelector'\r\n\r\ninterface selectorProps {\r\n permisssionName: keyof PermissionRequestBody\r\n responseBody: PermissionRequestBody\r\n setForcedPermissions(\r\n localResponseBody: PermissionRequestBody,\r\n permissionNameParam: string,\r\n permissionValue: keyof typeof PermissionValues,\r\n ): void\r\n setResponseBody(value: React.SetStateAction): void\r\n}\r\n\r\nexport const SetValueForPermission = (props: selectorProps) => {\r\n const { permisssionName, responseBody, setForcedPermissions, setResponseBody } = props\r\n\r\n const localResponseBody = { ...responseBody }\r\n\r\n const selectedGroupValue = responseBody[permisssionName] as keyof typeof permissionKeys\r\n\r\n const permissionStringValue = permissionKeys[selectedGroupValue] as keyof typeof PermissionValues\r\n\r\n const setPermission = (selectedPermission: keyof typeof PermissionValues) => {\r\n Object.assign(localResponseBody, {\r\n [permisssionName]: PermissionValues[selectedPermission],\r\n })\r\n setForcedPermissions(localResponseBody, permisssionName, selectedPermission)\r\n setResponseBody(localResponseBody)\r\n }\r\n\r\n const isDiabled = typeof responseBody[permisssionName] === 'undefined'\r\n\r\n return (\r\n \r\n )\r\n}\r\n","import {\r\n Button,\r\n createStyles,\r\n DialogActions,\r\n DialogContent,\r\n Divider,\r\n List,\r\n ListItem,\r\n ListItemText,\r\n makeStyles,\r\n Theme,\r\n} from '@material-ui/core'\r\nimport { EntryType } from '@sensenet/client-core'\r\nimport { PathHelper } from '@sensenet/client-utils'\r\nimport { Switch } from '@sensenet/controls-react'\r\nimport {\r\n Group,\r\n permissionKeys,\r\n PermissionRequestBody,\r\n PermissionValues,\r\n Settings,\r\n User,\r\n} from '@sensenet/default-content-types'\r\nimport { useLogger, useRepository } from '@sensenet/hooks-react'\r\nimport { clsx } from 'clsx'\r\nimport React, { useEffect, useState } from 'react'\r\nimport { useGlobalStyles } from '../../globalStyles'\r\nimport { useLocalization } from '../../hooks'\r\nimport {\r\n forcePermissionActions,\r\n PermissionEditorMembers,\r\n SetFullAccess,\r\n SetGroupPermission,\r\n SetValueForPermission,\r\n} from './permission-editor'\r\nimport { DialogTitle, useDialog } from '.'\r\n\r\nconst useStyles = makeStyles((theme: Theme) => {\r\n return createStyles({\r\n contentWrapper: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n width: '100%',\r\n padding: 0,\r\n },\r\n column: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n flexBasis: '100%',\r\n },\r\n leftColumn: {\r\n flex: 1,\r\n padding: 0,\r\n borderRight: `1px solid ${theme.palette.divider}`,\r\n },\r\n rightColumn: {\r\n flex: 1.5,\r\n },\r\n dialogActions: {\r\n marginTop: 'auto',\r\n padding: '16px',\r\n },\r\n secondaryListItem: {\r\n paddingLeft: '35px',\r\n },\r\n secondaryTitle: {\r\n fontSize: '12px',\r\n },\r\n permissionContainer: {\r\n padding: '60px 20px',\r\n minHeight: '400px',\r\n },\r\n disabled: {\r\n color: theme.palette.grey[500],\r\n },\r\n selected: {\r\n backgroundColor: theme.palette.primary.main,\r\n },\r\n })\r\n})\r\n\r\nexport interface PermissionGroupType {\r\n /* Permission elements */\r\n groupObject: { [permissionName: string]: string[] }\r\n}\r\n\r\nexport interface PermissionSettingType {\r\n /* Groups of permissions */\r\n groups: PermissionGroupType[]\r\n}\r\n\r\nexport type PermissionEditorDialogProps = {\r\n path: string\r\n entry: EntryType\r\n submitCallback?: () => void\r\n cancelCallback?: () => void\r\n}\r\n\r\nconst PERMISSION_SETTING_PATH = '/Root/System/Settings/Permission.settings'\r\n\r\nexport function PermissionEditorDialog(props: PermissionEditorDialogProps) {\r\n const classes = useStyles()\r\n const globalClasses = useGlobalStyles()\r\n\r\n const repo = useRepository()\r\n const logger = useLogger('permissionEditorDialog')\r\n const localization = useLocalization()\r\n const { closeLastDialog } = useDialog()\r\n\r\n const [permissionSetting, setPermissionSetting] = useState()\r\n const [actualGroup, setActualGroup] = useState('Read')\r\n const [responseBody, setResponseBody] = useState({ identity: props.entry.identity.path })\r\n const [isLocalOnly, setIsLocalOnly] = useState(!props.entry.propagates)\r\n const [groupContent, setGroupContent] = useState()\r\n const [canEdit, setCanEdit] = useState(false)\r\n const [resetFlag, setResetFlag] = useState(false)\r\n\r\n useEffect(() => {\r\n async function getPermissionSettingJSON() {\r\n try {\r\n const result = await repo.load({\r\n idOrPath: PERMISSION_SETTING_PATH,\r\n })\r\n\r\n const binaryPath = result.d.Binary?.__mediaresource.media_src\r\n if (!binaryPath) {\r\n return\r\n }\r\n const textFile = await repo.fetch(PathHelper.joinPaths(repo.configuration.repositoryUrl, binaryPath))\r\n if (textFile.ok) {\r\n const setting = await textFile.json()\r\n setPermissionSetting(setting)\r\n }\r\n } catch (error) {\r\n logger.error({\r\n message: localization.permissionEditor.errorGetPermissionSetting,\r\n data: {\r\n error,\r\n },\r\n })\r\n }\r\n }\r\n getPermissionSettingJSON()\r\n }, [localization.permissionEditor.errorGetPermissionSetting, logger, repo])\r\n\r\n useEffect(() => {\r\n const localResponseBody = { identity: props.entry.identity.path }\r\n Object.entries(props.entry.permissions).forEach(([permissionFromAcl, permissionValueFromAcl]) => {\r\n if (permissionValueFromAcl !== null) {\r\n permissionValueFromAcl.from === null &&\r\n Object.assign(localResponseBody, {\r\n [permissionFromAcl]:\r\n permissionValueFromAcl.value === 'allow'\r\n ? PermissionValues.allow\r\n : permissionValueFromAcl.value === 'deny'\r\n ? PermissionValues.deny\r\n : PermissionValues.undefined,\r\n })\r\n } else {\r\n Object.assign(localResponseBody, { [permissionFromAcl]: PermissionValues.undefined })\r\n }\r\n })\r\n setResponseBody(localResponseBody)\r\n }, [props.entry.identity.path, props.entry.permissions, resetFlag])\r\n\r\n useEffect(() => {\r\n async function getMembersInfo() {\r\n try {\r\n const actions = await repo.getActions({ idOrPath: props.entry.identity.path })\r\n const content = await repo.load({\r\n idOrPath: props.entry.identity.path,\r\n oDataOptions: {\r\n select: ['Members'],\r\n expand: ['Members'],\r\n },\r\n })\r\n setGroupContent(content.d)\r\n const localCanEdit = actions.d.results.some((action) => action.Name === 'Edit')\r\n setCanEdit(localCanEdit)\r\n } catch (error) {\r\n logger.error({\r\n message: localization.permissionEditor.errorGetMembersInfo,\r\n data: {\r\n error,\r\n },\r\n })\r\n }\r\n }\r\n props.entry.identity.kind === 'group' && getMembersInfo()\r\n }, [localization.permissionEditor.errorGetMembersInfo, logger, props.entry, repo])\r\n\r\n const isPermissionDisabled = (permission: string) => {\r\n return (\r\n props.entry.permissions[permission] !== null &&\r\n props.entry.permissions[permission] !== undefined &&\r\n props.entry.permissions[permission]?.from !== null\r\n )\r\n }\r\n\r\n const getPermissionsFromGroupName = (selectedGroup: string): string[] => {\r\n return (\r\n permissionSetting?.groups.reduce(\r\n (permissionsFromSettings, groupsFromSettings: PermissionGroupType) =>\r\n Object.entries(groupsFromSettings).find(\r\n ([groupNameFromSettings]) => selectedGroup === groupNameFromSettings,\r\n )?.[1] || permissionsFromSettings,\r\n [],\r\n ) || []\r\n )\r\n }\r\n\r\n const isGroupDisabled = (selectedGroup: string) => {\r\n return !!getPermissionsFromGroupName(selectedGroup).every((selectedGroupPermission: string) =>\r\n isPermissionDisabled(selectedGroupPermission),\r\n )\r\n }\r\n\r\n const getGroupPermission = (selectedGroup: string) => {\r\n let groupPermission = 'undefined' as keyof typeof PermissionValues\r\n permissionKeys.every((permissionKey) => {\r\n const checkAllGroupPermission = getPermissionsFromGroupName(selectedGroup).every(\r\n (selectedGroupPermission: keyof PermissionRequestBody) => {\r\n return responseBody[selectedGroupPermission] === PermissionValues[permissionKey]\r\n },\r\n )\r\n\r\n if (!checkAllGroupPermission) {\r\n return true\r\n }\r\n\r\n groupPermission = permissionKey\r\n\r\n return false\r\n })\r\n\r\n return groupPermission\r\n }\r\n\r\n const fullAccessCheck = () => {\r\n const groupPermissions: string[] = []\r\n\r\n let groupPermission = 'undefined' as keyof typeof PermissionValues\r\n\r\n permissionSetting?.groups.forEach((groupsFromSettings: PermissionGroupType) => {\r\n Object.entries(groupsFromSettings).forEach(([groupName]) => {\r\n groupPermissions.push(getGroupPermission(groupName))\r\n })\r\n })\r\n\r\n permissionKeys.every((permissionKey) => {\r\n const checkAllGroupPermission = groupPermissions.every(\r\n (selectedGroupPermission: keyof typeof PermissionValues) => {\r\n return selectedGroupPermission === permissionKey\r\n },\r\n )\r\n\r\n if (!checkAllGroupPermission) {\r\n return true\r\n }\r\n\r\n groupPermission = permissionKey\r\n\r\n return false\r\n })\r\n\r\n return groupPermission\r\n }\r\n\r\n const isFullAccessDisabled = () => {\r\n return !!permissionSetting?.groups.every((groupsFromSettings: PermissionGroupType) =>\r\n Object.entries(groupsFromSettings).every(([groupName]) => isGroupDisabled(groupName)),\r\n )\r\n }\r\n\r\n /**\r\n * Enable permissions required for the permission specified in the parameter and saved to localResponseBody\r\n * @param localResponseBody The local copy of the actual permission request body.\r\n * @param permissionNameParam Permission, for which we examine the required permissions\r\n */\r\n\r\n const setForcedPermissionsToAllowed = (localResponseBody: PermissionRequestBody, permissionNameParam: string) => {\r\n forcePermissionActions.forEach((forcePermObject) => {\r\n Object.entries(forcePermObject).forEach(([permissionName, forcedPermissions]) => {\r\n if (permissionName === permissionNameParam && forcedPermissions && forcedPermissions.length > 0) {\r\n forcedPermissions.forEach((forcedPermission: keyof PermissionRequestBody) => {\r\n Object.assign(localResponseBody, { [forcedPermission]: PermissionValues.allow })\r\n setForcedPermissionsToAllowed(localResponseBody, forcedPermission)\r\n })\r\n }\r\n })\r\n })\r\n }\r\n\r\n /**\r\n * Disable permissions for which the permission specified in the parameter is a condition and saved to localResponseBody\r\n * @param localResponseBody The local copy of the actual permission request body.\r\n * @param permissionNameParam Permission, which we examine as a condition for other permissions.\r\n * @param permissionValue The value of the permission to be set Allow|Deny .\r\n */\r\n\r\n const setForcedPermissionsToUndefinedOrDeny = (\r\n localResponseBody: PermissionRequestBody,\r\n permissionNameParam: string,\r\n permissionValue: 'deny' | 'undefined',\r\n ) => {\r\n forcePermissionActions.forEach((forcePermObject) => {\r\n Object.entries(forcePermObject).forEach(([permissionName, forcedPermissions]) => {\r\n if (forcedPermissions.includes(permissionNameParam)) {\r\n Object.assign(localResponseBody, { [permissionName]: PermissionValues[permissionValue] })\r\n setForcedPermissionsToUndefinedOrDeny(localResponseBody, permissionName, permissionValue)\r\n }\r\n })\r\n })\r\n }\r\n\r\n const setForcedPermissions = (\r\n localResponseBody: PermissionRequestBody,\r\n permissionNameParam: string,\r\n permissionValue: keyof typeof PermissionValues,\r\n ) => {\r\n if (permissionValue === 'allow') {\r\n setForcedPermissionsToAllowed(localResponseBody, permissionNameParam)\r\n return\r\n }\r\n\r\n setForcedPermissionsToUndefinedOrDeny(localResponseBody, permissionNameParam, permissionValue)\r\n }\r\n\r\n return (\r\n <>\r\n \r\n
{props.entry.identity.displayName}
\r\n
{props.entry.identity.path}
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {permissionSetting?.groups.map((groupsFromSettings: PermissionGroupType) =>\r\n Object.entries(groupsFromSettings).map(([groupNameFromSettings]) => {\r\n return (\r\n setActualGroup(groupNameFromSettings)}>\r\n \r\n \r\n \r\n )\r\n }),\r\n )}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setIsLocalOnly(!isLocalOnly)\r\n }}\r\n />\r\n \r\n {props.entry.identity.kind === 'group' && (\r\n <>\r\n \r\n {\r\n setActualGroup('Members')\r\n }}>\r\n \r\n \r\n \r\n )}\r\n \r\n setResetFlag(!resetFlag)}>\r\n \r\n \r\n \r\n
\r\n
\r\n {actualGroup === 'Members' ? (\r\n groupContent && (\r\n \r\n )\r\n ) : (\r\n \r\n {getPermissionsFromGroupName(actualGroup).map((selectedGroupPermission: keyof PermissionRequestBody) => {\r\n return (\r\n \r\n \r\n \r\n \r\n )\r\n })}\r\n \r\n )}\r\n \r\n {\r\n closeLastDialog()\r\n props.cancelCallback?.()\r\n }}>\r\n {localization.forms.cancel}\r\n \r\n {\r\n try {\r\n const localResponseBody = isLocalOnly ? { ...responseBody, localOnly: true } : responseBody\r\n await repo.security.setPermissions(props.path, [localResponseBody])\r\n } catch (error) {\r\n logger.error({\r\n message: error.message,\r\n data: {\r\n error,\r\n },\r\n })\r\n return false\r\n } finally {\r\n props.submitCallback?.()\r\n closeLastDialog()\r\n }\r\n }}>\r\n {localization.forms.submit}\r\n \r\n \r\n
\r\n \r\n \r\n )\r\n}\r\n\r\nexport default PermissionEditorDialog\r\n","import { createStyles, DialogContent, IconButton, makeStyles, Theme } from '@material-ui/core'\r\nimport CloseIcon from '@material-ui/icons/Close'\r\nimport { GenericContent } from '@sensenet/default-content-types'\r\nimport React from 'react'\r\nimport { globals } from '../../globalStyles'\r\nimport { ReferenceList } from './reference-content-list/reference-list'\r\nimport { DialogTitle, useDialog } from '.'\r\n\r\nexport const useStyles = makeStyles((theme: Theme) => {\r\n return createStyles({\r\n closeButton: {\r\n position: 'absolute',\r\n right: theme.spacing(3),\r\n top: 0,\r\n color: globals.common.headerText,\r\n\r\n '&:hover': {\r\n backgroundColor: '#3c4359',\r\n },\r\n },\r\n })\r\n})\r\n\r\nexport type ReferenceContentListProps = {\r\n items: GenericContent[]\r\n parent: GenericContent\r\n fieldName: string\r\n canEdit: boolean\r\n}\r\n\r\nexport function ReferenceContentList(props: ReferenceContentListProps) {\r\n const { closeLastDialog } = useDialog()\r\n const classes = useStyles()\r\n\r\n return (\r\n <>\r\n \r\n {props.parent.DisplayName}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default ReferenceContentList\r\n","import {\r\n Avatar,\r\n Button,\r\n IconButton,\r\n List,\r\n ListItem,\r\n ListItemAvatar,\r\n ListItemSecondaryAction,\r\n ListItemText,\r\n} from '@material-ui/core'\r\nimport AddIcon from '@material-ui/icons/Add'\r\nimport ClearIcon from '@material-ui/icons/Clear'\r\nimport { reactControlMapper } from '@sensenet/controls-react'\r\nimport { GenericContent } from '@sensenet/default-content-types'\r\nimport { useLogger, useRepository } from '@sensenet/hooks-react'\r\nimport React, { createElement, ReactNode, useState } from 'react'\r\nimport { useGlobalStyles } from '../../../globalStyles'\r\nimport { useLocalization, usePagination } from '../../../hooks'\r\nimport { Icon } from '../../Icon'\r\n\r\ntype ReferenceListProps = {\r\n canEdit: boolean\r\n parent: GenericContent\r\n fieldName: string\r\n items: GenericContent[]\r\n renderButton?: (newRef: GenericContent | undefined) => ReactNode\r\n formStyle?: React.CSSProperties\r\n listStyle?: React.CSSProperties\r\n}\r\n\r\nexport const ReferenceList: React.FC = (props) => {\r\n const globalClasses = useGlobalStyles()\r\n const repository = useRepository()\r\n const controlMapper = reactControlMapper(repository)\r\n const logger = useLogger('ReferenceContentList')\r\n const localization = useLocalization()\r\n const schema = controlMapper.getFullSchemaForContentType(props.parent.Type, 'new')\r\n const field = schema.fieldMappings.find((fieldMap) => fieldMap.fieldSettings.Name === props.fieldName)\r\n const [references, setReferences] = useState(props.items)\r\n const [newReference, setNewReference] = useState()\r\n const [requestClearToken, setRequestClearToken] = useState()\r\n const pagination = usePagination({ items: references, color: 'primary' })\r\n\r\n const fieldControl = field\r\n ? createElement(controlMapper.getControlForContentField(props.parent.Type, props.fieldName, 'edit'), {\r\n repository,\r\n settings: field.fieldSettings,\r\n content: props.parent,\r\n actionName: 'edit',\r\n fieldOnChange: (_, value: GenericContent) => {\r\n setNewReference(value)\r\n },\r\n triggerClear: requestClearToken,\r\n })\r\n : null\r\n\r\n const handleAddReference = async (event: React.FormEvent) => {\r\n event.preventDefault()\r\n\r\n if (!references.find((reference) => reference.Id === newReference?.Id)) {\r\n const newReferences = [newReference!, ...references]\r\n await repository.patch({\r\n idOrPath: props.parent.Id,\r\n content: { [props.fieldName]: newReferences.map((ref) => ref.Id) },\r\n forceRefresh: true,\r\n })\r\n setReferences(newReferences)\r\n } else {\r\n logger.warning({\r\n message: localization.referenceContentListDialog.errorAlreadyInList,\r\n data: {\r\n relatedContent: newReference,\r\n relatedRepository: repository.configuration.repositoryUrl,\r\n },\r\n })\r\n }\r\n setNewReference(undefined)\r\n setRequestClearToken(new Date().getUTCMilliseconds())\r\n pagination.setCurrentPage(1)\r\n }\r\n\r\n return (\r\n <>\r\n {props.canEdit && fieldControl && (\r\n \r\n {fieldControl}\r\n {props.renderButton ? (\r\n props.renderButton(newReference)\r\n ) : (\r\n }\r\n style={{ marginLeft: '0.5rem' }}\r\n disabled={!newReference}\r\n type=\"submit\">\r\n Add\r\n \r\n )}\r\n \r\n )}\r\n \r\n {pagination.currentItems.length ? (\r\n <>\r\n \r\n {pagination.currentItems.map((item) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.canEdit && fieldControl && (\r\n \r\n {\r\n const remainedReferences = references.filter((content) => item.Id !== content.Id)\r\n try {\r\n await repository.patch({\r\n idOrPath: props.parent.Id,\r\n content: { [props.fieldName]: remainedReferences.map((content) => content.Id) },\r\n forceRefresh: true,\r\n })\r\n setReferences(remainedReferences)\r\n } catch (error) {\r\n logger.error({\r\n message: error.message,\r\n data: {\r\n error,\r\n },\r\n })\r\n }\r\n }}>\r\n \r\n \r\n \r\n )}\r\n \r\n ))}\r\n \r\n
{pagination.render()}
\r\n \r\n ) : (\r\n
No items
\r\n )}\r\n \r\n \r\n )\r\n}\r\n","import { Button, DialogActions, DialogContent, InputAdornment, TextField } from '@material-ui/core'\r\nimport RestoreIcon from '@material-ui/icons/RestoreFromTrash'\r\nimport { PathHelper } from '@sensenet/client-utils'\r\nimport { GenericContent, TrashBag } from '@sensenet/default-content-types'\r\nimport { useLogger, useRepository } from '@sensenet/hooks-react'\r\nimport React, { useContext, useState } from 'react'\r\nimport { useHistory } from 'react-router-dom'\r\nimport { ResponsivePersonalSettings } from '../../context'\r\nimport { useGlobalStyles } from '../../globalStyles'\r\nimport { useLocalization, useQuery, useSnRoute } from '../../hooks'\r\nimport { getPathForContentPath, navigateToAction } from '../../services'\r\nimport { DialogTitle, useDialog } from '.'\r\n\r\nexport type RestoreProps = {\r\n content: TrashBag\r\n}\r\n\r\nexport function Restore(props: RestoreProps) {\r\n const repo = useRepository()\r\n const localization = useLocalization().restore\r\n const { openDialog, closeLastDialog } = useDialog()\r\n const logger = useLogger('Restore')\r\n const [destination, setDestination] = useState(props.content.OriginalPath)\r\n const globalClasses = useGlobalStyles()\r\n const uiSettings = useContext(ResponsivePersonalSettings)\r\n const history = useHistory()\r\n const snRoute = useSnRoute()\r\n const currentPath = useQuery().get('path')\r\n\r\n const rootPath = getPathForContentPath({ path: props.content.OriginalPath!, uiSettings }).snPath\r\n\r\n const editableDestination = destination?.replace(rootPath, '')\r\n\r\n const onClick = async () => {\r\n try {\r\n await repo.executeAction({\r\n idOrPath: props.content.Path,\r\n name: 'Restore',\r\n method: 'POST',\r\n body: {\r\n destination,\r\n },\r\n })\r\n logger.information({\r\n message: `${props.content.DisplayName || props.content.Name}' is restored to ${destination}`,\r\n data: { relatedContent: props.content, relatedRepository: repo.configuration.repositoryUrl },\r\n })\r\n\r\n if (PathHelper.isInSubTree(`${snRoute.path}${currentPath}`, props.content.Path)) {\r\n navigateToAction({\r\n history,\r\n routeMatch: snRoute.match,\r\n queryParams: {\r\n path: `/${PathHelper.getParentPath(props.content.Path)}`.replace(snRoute.path, ''),\r\n },\r\n })\r\n }\r\n\r\n closeLastDialog()\r\n } catch (error) {\r\n logger.warning({ message: error.message })\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n {localization.title}\r\n \r\n \r\n \r\n
\r\n setDestination(`${rootPath}${ev.currentTarget.value}`)}\r\n InputProps={{\r\n startAdornment: {rootPath},\r\n }}\r\n />\r\n \r\n openDialog({\r\n name: 'content-picker',\r\n props: {\r\n content: props.content,\r\n currentPath: props.content.OriginalPath || '/Root',\r\n selectionRoot: rootPath,\r\n handleSubmit: (content: GenericContent) => setDestination(content.Path),\r\n required: true,\r\n },\r\n dialogProps: { disableBackdropClick: true, open: true, classes: { paper: globalClasses.pickerDialog } },\r\n })\r\n }\r\n style={{ marginLeft: '8px', padding: '6px 0' }}>\r\n ...\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {localization.title}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default Restore\r\n","import { Button, DialogActions, DialogContent, TextField } from '@material-ui/core'\r\nimport { ODataResponse } from '@sensenet/client-core'\r\nimport { GenericContent } from '@sensenet/default-content-types'\r\nimport { useLogger, useRepository } from '@sensenet/hooks-react'\r\nimport React, { useState } from 'react'\r\nimport { useGlobalStyles } from '../../globalStyles'\r\nimport { useLocalization } from '../../hooks'\r\nimport { createSearchQuery } from '../../services/search-query-builder'\r\nimport { SearchFilters } from '../search'\r\nimport { DialogTitle, useDialog } from '.'\r\n\r\nexport type SaveQueryProps = {\r\n saveName?: string\r\n filters: SearchFilters\r\n}\r\n\r\nexport function SaveQuery(props: SaveQueryProps) {\r\n const repo = useRepository()\r\n const localization = useLocalization().search\r\n const { closeLastDialog } = useDialog()\r\n const logger = useLogger('Search')\r\n const [saveName, setSaveName] = useState(props.saveName)\r\n const globalClasses = useGlobalStyles()\r\n\r\n const onClick = async () => {\r\n try {\r\n const result = await repo.executeAction>({\r\n idOrPath: '/Root/Content', //INFO(Zoli): This is hard coded for now. Wont work with repositories that do not have Root/Content.\r\n name: 'SaveQuery',\r\n method: 'POST',\r\n oDataOptions: {\r\n select: ['DisplayName', 'Query'],\r\n },\r\n body: {\r\n query: createSearchQuery(props.filters).toString(),\r\n displayName: saveName,\r\n queryType: 'Public',\r\n uiFilters: JSON.stringify(props.filters),\r\n },\r\n })\r\n logger.information({\r\n message: `Query '${result.d.DisplayName || result.d.Name}' saved`,\r\n data: { relatedContent: result.d, relatedRepository: repo.configuration.repositoryUrl, details: { result } },\r\n })\r\n } catch (error) {\r\n logger.warning({ message: error.message })\r\n } finally {\r\n closeLastDialog()\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {localization.saveQuery}\r\n \r\n setSaveName(ev.currentTarget.value)}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default SaveQuery\r\n","import {\r\n createStyles,\r\n IconButton,\r\n List,\r\n ListItem,\r\n ListItemSecondaryAction,\r\n ListItemText,\r\n makeStyles,\r\n Theme,\r\n Tooltip,\r\n} from '@material-ui/core'\r\nimport CloseIcon from '@material-ui/icons/Close'\r\nimport InfoIcon from '@material-ui/icons/Info'\r\nimport { clsx } from 'clsx'\r\nimport { filesize } from 'filesize'\r\nimport React from 'react'\r\nimport { v1 } from 'uuid'\r\nimport { useLocalization } from '../../../hooks'\r\nimport { FileWithFullPath } from './helper'\r\nimport { ProgressBar } from './progress-bar'\r\n\r\ntype Props = {\r\n files: FileWithFullPath[]\r\n removeItem: (file: File) => void\r\n isUploadInProgress: boolean\r\n skippedFiles?: FileWithFullPath[]\r\n}\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n listRoot: {\r\n padding: theme.spacing(2),\r\n height: '100%',\r\n },\r\n listItem: {\r\n width: 'unset',\r\n backgroundColor: theme.palette.type === 'dark' ? theme.palette.grey[600] : theme.palette.grey[300],\r\n marginBottom: theme.spacing(1),\r\n },\r\n listItemText: {\r\n flexBasis: theme.spacing(2),\r\n paddingLeft: theme.spacing(2),\r\n },\r\n square: {\r\n width: '2rem',\r\n height: '2rem',\r\n backgroundColor: theme.palette.type === 'dark' ? theme.palette.grey[400] : theme.palette.grey[600],\r\n margin: theme.spacing(1),\r\n },\r\n infoPadding: {\r\n paddingRight: theme.spacing(12.5),\r\n },\r\n }),\r\n)\r\n\r\nexport const FileList: React.FC = (props) => {\r\n const classes = useStyles()\r\n const localization = useLocalization()\r\n\r\n const isFileSkipped = (file: FileWithFullPath) => {\r\n return (props.skippedFiles ?? []).some((f) => f === file)\r\n }\r\n\r\n return (\r\n \r\n {[...props.files].map((file) => (\r\n \r\n
\r\n \r\n {file.progress ? (\r\n \r\n ) : isFileSkipped(file) ? (\r\n localization.uploadProgress.skipped\r\n ) : null}\r\n \r\n {file.progress && file.progress.error ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n {\r\n ev.stopPropagation()\r\n props.removeItem(file)\r\n }}>\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n )\r\n}\r\n","import {\r\n UploadProgressInfo,\r\n WebKitDirectoryEntry,\r\n WebKitDirectoryReader,\r\n WebKitEntry,\r\n WebKitFileEntry,\r\n} from '@sensenet/client-core'\r\n\r\n/**\r\n * Wrap readEntries in a promise to make working with readEntries easier\r\n * readEntries will return only some of the entries in a directory\r\n * e.g. Chrome returns at most 100 entries at a time\r\n */\r\nasync function readEntriesPromise(directoryReader: WebKitDirectoryReader): Promise {\r\n return await new Promise((resolve, reject) => {\r\n directoryReader.readEntries(resolve, reject)\r\n })\r\n}\r\n\r\n/**\r\n * Get all the entries (files or sub-directories) in a directory\r\n * by calling readEntries until it returns empty array\r\n */\r\nasync function readAllDirectoryEntries(directoryReader: WebKitDirectoryReader) {\r\n const entries = []\r\n let readEntries = await readEntriesPromise(directoryReader)\r\n while (readEntries && readEntries.length > 0) {\r\n entries.push(...readEntries)\r\n readEntries = await readEntriesPromise(directoryReader)\r\n }\r\n return entries\r\n}\r\n\r\n/**\r\n * Drop handler function to get all files\r\n */\r\nexport async function getAllFileEntries(dataTransferItemList: DataTransferItemList): Promise {\r\n const fileEntries = []\r\n // Use BFS to traverse entire directory/file structure\r\n const queue: WebKitEntry[] = []\r\n // Unfortunately dataTransferItemList is not iterable i.e. no forEach\r\n for (let i = 0; i < dataTransferItemList.length; i++) {\r\n queue.push(dataTransferItemList[i].webkitGetAsEntry() as WebKitEntry)\r\n }\r\n while (queue.length > 0) {\r\n const entry = queue.shift()\r\n if (entry && entry.isFile) {\r\n fileEntries.push(entry)\r\n } else if (entry && entry.isDirectory) {\r\n queue.push(...(await readAllDirectoryEntries((entry as WebKitDirectoryEntry).createReader())))\r\n }\r\n }\r\n return fileEntries as WebKitFileEntry[]\r\n}\r\n\r\nexport const getFilesFromDragEvent = async (event: React.DragEvent) => {\r\n const items = await getAllFileEntries(event.dataTransfer.items)\r\n const result: Array> = []\r\n items.forEach((item) => {\r\n result.push(\r\n new Promise((resolve) => {\r\n item.file((file) => {\r\n // No need to add fullPath to file if it wasn't in a folder\r\n if (`/${file.name}` !== item.fullPath) {\r\n ;(file as any).fullPath = item.fullPath\r\n }\r\n resolve(file as FileWithFullPath)\r\n })\r\n }),\r\n )\r\n })\r\n return await Promise.all(result)\r\n}\r\n\r\nexport type FileWithFullPath = File & { fullPath?: string; progress?: UploadProgressInfo }\r\n","import { createStyles, Theme } from '@material-ui/core'\r\nimport { darken, lighten, makeStyles } from '@material-ui/core/styles'\r\nimport { UploadProgressInfo } from '@sensenet/client-core'\r\nimport { clsx } from 'clsx'\r\nimport React from 'react'\r\n\r\nimport { useLocalization, useTheme } from '../../../hooks'\r\n\r\nconst useStyles = makeStyles((theme: Theme) => {\r\n const getColor = (color: string) => (theme.palette.type === 'light' ? lighten(color, 0.62) : darken(color, 0.5))\r\n\r\n const backgroundPrimary = getColor(theme.palette.primary.main)\r\n const backgroundError = getColor(theme.palette.error.main)\r\n\r\n return createStyles({\r\n root: {\r\n position: 'relative',\r\n overflow: 'hidden',\r\n height: 30,\r\n backgroundColor: backgroundPrimary,\r\n flexGrow: 3,\r\n display: 'flex',\r\n justifyContent: 'flex-end',\r\n alignItems: 'center',\r\n flexBasis: 100,\r\n },\r\n bar: {\r\n width: '100%',\r\n position: 'absolute',\r\n left: 0,\r\n bottom: 0,\r\n top: 0,\r\n transition: 'transform 0.2s linear',\r\n transformOrigin: 'left',\r\n backgroundColor: theme.palette.primary.main,\r\n },\r\n value: {\r\n color: theme.palette.common.white,\r\n zIndex: 1,\r\n marginRight: theme.spacing(2),\r\n },\r\n error: {\r\n backgroundColor: backgroundError,\r\n },\r\n })\r\n})\r\n\r\ntype Props = {\r\n progress: UploadProgressInfo\r\n}\r\n\r\nexport const ProgressBar = (props: Props) => {\r\n const classes = useStyles()\r\n const theme = useTheme()\r\n const localization = useLocalization().uploadProgress\r\n const inlineStyle: React.CSSProperties = { transform: '' }\r\n\r\n const getProgress = () => {\r\n if (props.progress.chunkCount == null || props.progress.uploadedChunks == null) {\r\n return 0\r\n }\r\n return Math.round((props.progress.uploadedChunks / props.progress.chunkCount) * 100)\r\n }\r\n\r\n const getProgressText = () => {\r\n if (props.progress.error) {\r\n return localization.uploadFailed\r\n }\r\n\r\n if (props.progress.completed) {\r\n return localization.uploadCompleted\r\n }\r\n\r\n return `${getProgress()}%`\r\n }\r\n\r\n let transform = getProgress() - 100\r\n if (theme.direction === 'rtl') {\r\n transform = -transform\r\n }\r\n inlineStyle.transform = `translateX(${transform}%)`\r\n\r\n return (\r\n \r\n
\r\n

{getProgressText()}

\r\n
\r\n )\r\n}\r\n","import {\r\n Avatar,\r\n Button,\r\n Checkbox,\r\n createStyles,\r\n Dialog,\r\n DialogActions,\r\n DialogContent,\r\n DialogContentText,\r\n FormControlLabel,\r\n makeStyles,\r\n Theme,\r\n} from '@material-ui/core'\r\nimport { FileCopy } from '@material-ui/icons'\r\nimport React, { FunctionComponent } from 'react'\r\nimport { useLocalization } from '../../../hooks'\r\n\r\nexport interface UploadConflictDialogProps {\r\n fileName: string\r\n onSelectAction: (type: ResolveConflictType) => any\r\n onApplyAllChange: (checked: boolean) => any\r\n}\r\n\r\nexport type ResolveConflictType = 'KEEP_BOTH' | 'REPLACE' | 'SKIP'\r\n\r\nconst useStyle = makeStyles((theme: Theme) => {\r\n return createStyles({\r\n mainColor: {\r\n color: theme.palette.primary.main,\r\n },\r\n })\r\n})\r\n\r\nconst UploadConflictDialog: FunctionComponent = ({\r\n fileName,\r\n onSelectAction,\r\n onApplyAllChange,\r\n}) => {\r\n const style = useStyle()\r\n const localization = useLocalization()\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n onApplyAllChange(checked)} />}\r\n label={localization.uploadProgress.applyToAll}\r\n />\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default UploadConflictDialog\r\n","import {\r\n Button,\r\n createStyles,\r\n DialogContent,\r\n DialogTitle,\r\n Grid,\r\n IconButton,\r\n makeStyles,\r\n Theme,\r\n Typography,\r\n} from '@material-ui/core'\r\nimport CloseIcon from '@material-ui/icons/Close'\r\nimport NoteAddSharpIcon from '@material-ui/icons/NoteAddSharp'\r\nimport { UploadProgressInfo, UploadResponse } from '@sensenet/client-core'\r\nimport { ObservableValue } from '@sensenet/client-utils'\r\nimport { useLogger, useRepository } from '@sensenet/hooks-react'\r\nimport React, { useEffect, useRef, useState } from 'react'\r\nimport { Prompt } from 'react-router'\r\nimport { useLocalization } from '../../../hooks'\r\nimport { DropFileArea } from '../../DropFileArea'\r\nimport { useDialog } from '../dialog-provider'\r\nimport { FileList } from './file-list'\r\nimport { FileWithFullPath, getFilesFromDragEvent } from './helper'\r\nimport UploadConflictDialog, { ResolveConflictType } from './upload-conflict-dialog'\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n closeButton: {\r\n position: 'absolute',\r\n right: theme.spacing(1),\r\n top: theme.spacing(1),\r\n color: theme.palette.grey[500],\r\n },\r\n icon: {\r\n fontSize: '4rem',\r\n },\r\n grid: {\r\n height: '65vh',\r\n border: 'dashed',\r\n borderColor: theme.palette.grey[500],\r\n marginBottom: theme.spacing(2),\r\n overflowY: 'auto',\r\n },\r\n body1: {\r\n fontSize: '2.5rem',\r\n },\r\n body2: {\r\n fontSize: '2rem',\r\n },\r\n }),\r\n)\r\nexport type UploadDialogProps = {\r\n files?: File[]\r\n uploadPath: string\r\n disableMultiUpload?: boolean\r\n customUploadFunction?: (files: FileWithFullPath[] | undefined, progressObservable: any) => any\r\n}\r\n\r\nexport interface UploadingState {\r\n remainingFiles?: FileWithFullPath[]\r\n skippedFiles?: FileWithFullPath[]\r\n applyActionToAllFile?: boolean\r\n resolveConflict?: ResolveConflictType\r\n currentFile?: FileWithFullPath\r\n showConflictDialog: boolean\r\n}\r\n\r\nexport function UploadDialog(props: UploadDialogProps) {\r\n const classes = useStyles()\r\n const logger = useLogger('upload')\r\n const { closeLastDialog } = useDialog()\r\n const repository = useRepository()\r\n const localization = useLocalization().uploadProgress\r\n const inputFile = useRef(null)\r\n const [files, setFiles] = useState(props.files)\r\n const [isUploadInProgress, setIsUploadInProgress] = useState(false)\r\n const [uploadingState, setUploadingState] = useState({\r\n applyActionToAllFile: false,\r\n showConflictDialog: false,\r\n })\r\n const progressObservable = useRef(new ObservableValue())\r\n const abortController = useRef(new AbortController())\r\n\r\n useEffect(() => {\r\n const disposable = progressObservable.current.subscribe((progressInfo) => {\r\n setFiles((ffiles) => {\r\n if (!ffiles) {\r\n return undefined\r\n }\r\n return ffiles.map((f) => {\r\n if (f === progressInfo.file) {\r\n const updated = Object.assign(f, { progress: progressInfo })\r\n return updated\r\n }\r\n return f\r\n })\r\n })\r\n })\r\n return () => {\r\n disposable.dispose()\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n const handleBeforeunload = (event: BeforeUnloadEvent) => {\r\n if (isUploadInProgress) {\r\n event.preventDefault()\r\n event.returnValue = localization.blockNavigation\r\n return event\r\n }\r\n abortController.current.abort()\r\n }\r\n\r\n window.addEventListener('beforeunload', handleBeforeunload)\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeunload)\r\n }\r\n }, [isUploadInProgress, localization])\r\n\r\n const isFileAdded = files && !!files.length\r\n\r\n const removeItem = (file: File) => {\r\n if (!files) {\r\n return\r\n }\r\n setFiles(files.filter((f) => f !== file))\r\n setUploadingState({\r\n ...uploadingState,\r\n remainingFiles: uploadingState.remainingFiles?.filter((f) => f !== file),\r\n })\r\n\r\n // it can access to select the same file again after removal. Check: https://github.com/sensenet/sn-client/issues/491\r\n if (inputFile.current) {\r\n inputFile.current.value = ''\r\n }\r\n }\r\n\r\n const addFiles = (fileList: FileWithFullPath[]) => {\r\n const concatFileList = files && files.length ? [...files, ...fileList] : fileList\r\n setFiles(concatFileList)\r\n }\r\n\r\n const isUploadCompleted = () => {\r\n return (\r\n files &&\r\n files.length &&\r\n files.every((file) => {\r\n return file.progress && (file.progress.completed || file.progress.error)\r\n })\r\n )\r\n }\r\n\r\n const onDrop = async (event: React.DragEvent) => {\r\n if (isUploadInProgress) {\r\n return\r\n }\r\n const result = await getFilesFromDragEvent(event)\r\n addFiles(result)\r\n }\r\n\r\n useEffect(() => {\r\n if (!uploadingState.showConflictDialog && uploadingState.currentFile) {\r\n if (!isResolveConflict('SKIP')) uploadFileAndShift()\r\n else onSkipFile(uploadingState.currentFile)\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [uploadingState.showConflictDialog])\r\n\r\n useEffect(() => {\r\n if (uploadingState.currentFile) {\r\n setIsUploadInProgress(true)\r\n\r\n repository\r\n .load({\r\n idOrPath: `${props.uploadPath}/${uploadingState.currentFile.name}`,\r\n oDataOptions: {\r\n select: ['Id'],\r\n },\r\n })\r\n .then(() => {\r\n if (uploadingState.applyActionToAllFile) {\r\n if (!isResolveConflict('SKIP')) uploadFileAndShift()\r\n else onSkipFile(uploadingState.currentFile!)\r\n } else {\r\n setIsUploadInProgress(false)\r\n setUploadingState({\r\n ...uploadingState,\r\n showConflictDialog: true,\r\n })\r\n }\r\n })\r\n .catch(() => {\r\n uploadFileAndShift()\r\n })\r\n } else {\r\n setIsUploadInProgress(false)\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [uploadingState.currentFile])\r\n\r\n const uploadFile = async (file: FileWithFullPath, overwrite = false): Promise => {\r\n try {\r\n return await repository.upload.file({\r\n parentPath: props.uploadPath,\r\n file,\r\n binaryPropertyName: 'Binary',\r\n overwrite,\r\n progressObservable: progressObservable.current,\r\n requestInit: { signal: abortController.current.signal },\r\n })\r\n } catch (error) {\r\n logger.error({ message: 'Upload failed', data: { error } })\r\n }\r\n }\r\n\r\n const isResolveConflict = (type: ResolveConflictType) => uploadingState.resolveConflict === type\r\n\r\n const onSkipFile = (skippedFile: FileWithFullPath) => {\r\n setUploadingState({\r\n ...uploadingState,\r\n currentFile: uploadingState.remainingFiles!.shift(),\r\n skippedFiles: [...(uploadingState.skippedFiles ?? []), skippedFile],\r\n })\r\n }\r\n\r\n const uploadFileAndShift = () => {\r\n uploadFile(uploadingState.currentFile!, isResolveConflict('REPLACE')).then(() => {\r\n setUploadingState({\r\n ...uploadingState,\r\n currentFile: uploadingState.remainingFiles!.shift(),\r\n })\r\n })\r\n }\r\n\r\n const upload = async () => {\r\n if (!files) return\r\n\r\n if (props.customUploadFunction) props.customUploadFunction(files, progressObservable)\r\n else {\r\n const remainingFiles = files.filter((f) => !f.progress?.error && !f.progress?.completed)\r\n setUploadingState({\r\n ...uploadingState,\r\n resolveConflict: undefined,\r\n applyActionToAllFile: false,\r\n remainingFiles,\r\n currentFile: remainingFiles.shift(),\r\n })\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {uploadingState.showConflictDialog && (\r\n {\r\n setUploadingState({\r\n ...uploadingState,\r\n resolveConflict,\r\n showConflictDialog: false,\r\n })\r\n }}\r\n onApplyAllChange={(applyActionToAllFile: boolean) => {\r\n setUploadingState({\r\n ...uploadingState,\r\n applyActionToAllFile,\r\n })\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {localization.title}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n if (isUploadInProgress || isUploadCompleted()) {\r\n return\r\n }\r\n inputFile.current && inputFile.current.click()\r\n }}\r\n container\r\n justify={isFileAdded ? 'flex-start' : 'center'}\r\n direction=\"column\"\r\n alignItems={isFileAdded ? 'stretch' : 'center'}\r\n className={classes.grid}>\r\n {isFileAdded ? (\r\n \r\n ) : (\r\n <>\r\n \r\n \r\n {localization.selectFilesToUpload}\r\n \r\n \r\n {localization.orDragAndDrop}\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n {isUploadCompleted() ? null : (\r\n upload()}>\r\n {localization.uploadButton}\r\n \r\n )}\r\n \r\n \r\n {\r\n ev.target.files && addFiles([...ev.target.files])\r\n }}\r\n style={{ display: 'none' }}\r\n disabled={props.disableMultiUpload && files && files.length > 0}\r\n ref={inputFile}\r\n type=\"file\"\r\n data-test=\"input-file\"\r\n multiple={!props.disableMultiUpload}\r\n />\r\n \r\n \r\n )\r\n}\r\n\r\nexport default UploadDialog\r\n","export const defaultContentType = `\r\n MyType\r\n \r\n Content\r\n true\r\n \r\n \r\n \r\n`\r\n\r\ntype defaultSetting = {\r\n name: string\r\n title: string\r\n value: string\r\n}\r\n\r\n//CHANGE To comments\r\nexport const defaultFieldSettings: defaultSetting[] = [\r\n {\r\n name: 'shorttextfield',\r\n title: 'Short TextField',\r\n value: ` \r\n ShortTextField\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n },\r\n {\r\n name: 'longtextfield',\r\n title: 'Long TextField',\r\n value: ` \r\n LongTextField\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n },\r\n {\r\n name: 'numberfield',\r\n title: 'NumberField',\r\n value: ` \r\n NumberField\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n },\r\n {\r\n name: 'integerfield',\r\n title: 'IntegerField',\r\n value: ` \r\n IntegerField\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n },\r\n {\r\n name: 'booleanfield',\r\n title: 'BooleanField',\r\n value: ` \r\n BooleanField\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n },\r\n {\r\n name: 'choicefield',\r\n title: 'ChoiceField',\r\n value: ` \r\n ChoiceField\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n },\r\n {\r\n name: 'datetimefield',\r\n title: 'DateTime Field',\r\n value: ` \r\n DateTimeField\r\n \r\n \r\n DateAndTime\r\n Second\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n },\r\n {\r\n name: 'referencefield',\r\n title: 'Reference Field',\r\n value: ` \r\n ReferenceField\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n },\r\n {\r\n name: 'binaryfield',\r\n title: 'Binary Field',\r\n value: ` \r\n BinaryField\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n },\r\n]\r\n","import { createStyles, makeStyles } from '@material-ui/core'\r\nimport { CurrentContentProvider } from '@sensenet/hooks-react'\r\nimport { clsx } from 'clsx'\r\nimport React, { useEffect } from 'react'\r\nimport { useHistory, useRouteMatch } from 'react-router-dom'\r\nimport { useGlobalStyles } from '../../globalStyles'\r\nimport { useLoadContent, useSelectionService } from '../../hooks'\r\nimport { navigateToAction } from '../../services'\r\nimport { TextEditor } from '../editor/text-editor'\r\nimport { FullScreenLoader } from '../full-screen-loader'\r\n\r\nconst useStyles = makeStyles(() => {\r\n return createStyles({\r\n editBinaryWrapper: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n overflow: 'hidden',\r\n },\r\n })\r\n})\r\n\r\ninterface EditBinaryProps {\r\n contentPath: string\r\n}\r\n\r\nexport function EditBinary({ contentPath }: EditBinaryProps) {\r\n const routeMatch = useRouteMatch<{ browseType: string; action: string }>()\r\n const selectionService = useSelectionService()\r\n const { content } = useLoadContent({ idOrPath: contentPath })\r\n const classes = useStyles()\r\n const globalClasses = useGlobalStyles()\r\n const history = useHistory()\r\n\r\n useEffect(() => {\r\n selectionService.activeContent.setValue(content)\r\n }, [content, selectionService.activeContent])\r\n\r\n return (\r\n
\r\n {content ? (\r\n \r\n {\r\n navigateToAction({ history, routeMatch })\r\n }}\r\n />\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n )\r\n}\r\n","import { Button } from '@material-ui/core'\r\nimport React, { SetStateAction } from 'react'\r\nimport { useLocalization } from '../../hooks'\r\nimport { defaultFieldSettings } from '../edit/default-content-type'\r\n\r\nexport interface IAppProps {\r\n setTextValue: (value: SetStateAction) => void\r\n}\r\n\r\nconst injectorString = ''\r\n\r\nexport const ContentTypePreset = (props: IAppProps) => {\r\n const localization = useLocalization()\r\n\r\n return (\r\n <>\r\n
{localization.textEditor.presets}
\r\n
\r\n {defaultFieldSettings.map((preset) => {\r\n const { value, title, name } = preset\r\n\r\n return (\r\n {\r\n props.setTextValue((prev) => prev.replace(injectorString, value + injectorString))\r\n }}\r\n variant=\"outlined\"\r\n color=\"primary\">\r\n {title}\r\n \r\n )\r\n })}\r\n
\r\n \r\n )\r\n}\r\n","import { Button, createStyles, makeStyles, useTheme } from '@material-ui/core'\r\nimport { clsx } from 'clsx'\r\nimport React, { lazy, useContext, useRef } from 'react'\r\nimport { Prompt, useHistory } from 'react-router'\r\nimport { PATHS } from '../../application-paths'\r\nimport { ResponsiveContext } from '../../context'\r\nimport { globals, useGlobalStyles } from '../../globalStyles'\r\nimport { useLocalization } from '../../hooks'\r\nimport { ContentTypePreset } from './content-type-preset'\r\nconst MonacoEditor = lazy(() => import('react-monaco-editor'))\r\n\r\nconst useStyles = makeStyles(() => {\r\n return createStyles({\r\n editorWrapper: {\r\n display: 'flex',\r\n overflow: 'hidden',\r\n position: 'relative',\r\n paddingTop: '8px',\r\n height: '100%',\r\n },\r\n presetsContainer: {\r\n width: '20%',\r\n '& .title': {\r\n fontSize: '1.2rem',\r\n marginBottom: '8px',\r\n height: '65px',\r\n display: 'flex',\r\n placeContent: 'center',\r\n flexWrap: 'wrap',\r\n },\r\n '& .presets': {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n rowGap: '8px',\r\n padding: '8px',\r\n },\r\n },\r\n actionButtonWrapper: {\r\n height: '80px',\r\n left: 0,\r\n position: 'absolute',\r\n padding: '20px',\r\n bottom: 0,\r\n textAlign: 'right',\r\n right: '7%',\r\n },\r\n form: {\r\n width: '100%',\r\n height: '100%',\r\n },\r\n header: {\r\n height: globals.common.drawerItemHeight,\r\n paddingLeft: '15px',\r\n justifyContent: 'space-between',\r\n },\r\n title: {\r\n flexGrow: 1,\r\n fontSize: '20px',\r\n },\r\n headerButtonWrapper: {\r\n display: 'flex',\r\n marginRight: '1em',\r\n },\r\n })\r\n})\r\n\r\nexport interface SnMonacoEditorProps {\r\n language: string\r\n textValue: string\r\n setTextValue: React.Dispatch>\r\n savedTextValue: string\r\n hasChanges: boolean\r\n uri: import('react-monaco-editor').monaco.Uri\r\n handleSubmit: Function\r\n renderTitle: () => JSX.Element\r\n additionalButtons?: JSX.Element\r\n handleCancel?: () => void\r\n preset?: string\r\n}\r\n\r\nexport const SnMonacoEditor: React.FunctionComponent = (props) => {\r\n const history = useHistory()\r\n const localization = useLocalization()\r\n const theme = useTheme()\r\n const platform = useContext(ResponsiveContext)\r\n const classes = useStyles()\r\n const globalClasses = useGlobalStyles()\r\n const formSubmitButton = useRef(null)\r\n\r\n const renderPresets = () => {\r\n if (props.preset?.includes(PATHS.contentTypes.snPath)) {\r\n return (\r\n
\r\n \r\n
\r\n )\r\n }\r\n\r\n return null\r\n }\r\n\r\n return (\r\n
\r\n {\r\n ev.preventDefault()\r\n props.handleSubmit()\r\n }}\r\n onKeyDown={async (ev) => {\r\n if (ev.key.toLowerCase() === 's' && ev.ctrlKey) {\r\n try {\r\n ev.preventDefault()\r\n formSubmitButton.current?.click()\r\n } catch {\r\n /** */\r\n }\r\n }\r\n }}>\r\n
\r\n
\r\n {props.renderTitle()}\r\n
\r\n
\r\n {props.additionalButtons ? props.additionalButtons : null}\r\n props.setTextValue(props.savedTextValue)}>\r\n {localization.textEditor.reset}\r\n \r\n
\r\n
\r\n \r\n props.setTextValue(v)}\r\n options={{\r\n readOnly: platform === 'mobile',\r\n automaticLayout: true,\r\n minimap: {\r\n enabled: platform === 'desktop' ? true : false,\r\n },\r\n }}\r\n editorDidMount={(editor, monaco) => {\r\n if (!monaco.editor.getModel(props.uri)) {\r\n const m = monaco.editor.createModel(props.textValue, props.language, props.uri)\r\n m.setEOL(0)\r\n editor.setModel(m)\r\n } else {\r\n editor.setModel(monaco.editor.getModel(props.uri))\r\n editor.setValue(props.textValue)\r\n }\r\n }}\r\n editorWillMount={(monaco) => {\r\n monaco.editor.defineTheme('admin-ui-dark', {\r\n base: 'vs-dark',\r\n inherit: true,\r\n rules: [],\r\n colors: {\r\n 'editor.background': '#121212',\r\n },\r\n })\r\n }}\r\n />\r\n
\r\n history.go(-1))}>\r\n {localization.forms.cancel}\r\n \r\n\r\n \r\n {localization.forms.submit}\r\n \r\n
\r\n \r\n {props.preset ? renderPresets() : null}\r\n
\r\n )\r\n}\r\n","import { Repository } from '@sensenet/client-core'\r\nimport { PathHelper } from '@sensenet/client-utils'\r\nimport { ActionModel, GenericContent, Settings, File as SnFile } from '@sensenet/default-content-types'\r\nimport { useLogger, useRepository } from '@sensenet/hooks-react'\r\nimport React, { useEffect, useState } from 'react'\r\nimport { useLocalization } from '../../hooks'\r\nimport { getMonacoLanguage } from '../../services/content-context-service'\r\nimport { ContentBreadcrumbs } from '../ContentBreadcrumbs'\r\nimport { FullScreenLoader } from '../full-screen-loader'\r\nimport { SnMonacoEditor, SnMonacoEditorProps } from './sn-monaco-editor'\r\n\r\nexport const getMonacoModelUri = async (content: GenericContent, repo: Repository, action?: ActionModel) => {\r\n const { monaco } = await import('react-monaco-editor')\r\n\r\n if (\r\n repo.schemas.isContentFromType(content, 'Settings') ||\r\n content.Type === 'PersonalSettings' ||\r\n content.Type === 'ColumnSettings'\r\n ) {\r\n return monaco.Uri.parse(`sensenet://${content.Type}/${content.Name}`)\r\n }\r\n if (repo.schemas.isContentFromType(content, 'File')) {\r\n if (content.Binary) {\r\n return monaco.Uri.parse(`sensenet://${content.Type}/${content.Binary.__mediaresource.content_type}`)\r\n }\r\n }\r\n\r\n if (action) {\r\n return monaco.Uri.parse(`sensenet://${content.Type}/${action.Url}`)\r\n }\r\n\r\n return monaco.Uri.parse(`sensenet://${content.Type}`)\r\n}\r\n\r\nexport type TextEditorProps = Pick & {\r\n content: SnFile\r\n loadContent?: (content: SnFile) => Promise\r\n saveContent?: (content: SnFile, value: string) => Promise\r\n showBreadCrumb: boolean\r\n setContent?: (value: any) => void\r\n}\r\n\r\nexport const TextEditor: React.FunctionComponent = (props) => {\r\n const repo = useRepository()\r\n const [textValue, setTextValue] = useState('')\r\n const [savedTextValue, setSavedTextValue] = useState('')\r\n const [language, setLanguage] = useState(getMonacoLanguage(props.content, repo))\r\n const localization = useLocalization()\r\n const [uri, setUri] = useState()\r\n const [hasChanges, setHasChanges] = useState(false)\r\n const logger = useLogger('TextEditor')\r\n const [error, setError] = useState()\r\n\r\n const saveContent = async () => {\r\n try {\r\n setHasChanges(false)\r\n if (props.saveContent) {\r\n await props.saveContent(props.content, textValue)\r\n } else {\r\n await repo.upload.textAsFile({\r\n text: textValue,\r\n parentPath: PathHelper.getParentPath(props.content.Path),\r\n fileName: props.content.Name,\r\n overwrite: true,\r\n contentTypeName: props.content.Type,\r\n binaryPropertyName: 'Binary',\r\n })\r\n }\r\n logger.information({\r\n message: localization.textEditor.saveSuccessNotification.replace(\r\n '{0}',\r\n props.content.DisplayName || props.content.Name,\r\n ),\r\n data: {\r\n relatedContent: props.content,\r\n relatedRepository: repo.configuration.repositoryUrl,\r\n compare: {\r\n old: savedTextValue,\r\n new: textValue,\r\n },\r\n },\r\n })\r\n await repo.reloadSchema()\r\n setSavedTextValue(textValue)\r\n } catch (err) {\r\n setHasChanges(true)\r\n logger.error({\r\n message:\r\n err.message ||\r\n localization.textEditor.saveFailedNotification.replace(\r\n '{0}',\r\n props.content.DisplayName || props.content.Name,\r\n ),\r\n data: {\r\n error: err,\r\n },\r\n })\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n setHasChanges(textValue.replace(/\\r\\n/g, '\\n') !== savedTextValue.replace(/\\r\\n/g, '\\n'))\r\n }, [textValue, savedTextValue])\r\n\r\n useEffect(() => {\r\n ;(async () => {\r\n setLanguage(getMonacoLanguage(props.content, repo))\r\n setUri(await getMonacoModelUri(props.content, repo))\r\n })()\r\n }, [props.content, repo])\r\n\r\n useEffect(() => {\r\n ;(async () => {\r\n try {\r\n if (props.loadContent) {\r\n const value = await props.loadContent(props.content)\r\n setTextValue(value)\r\n setSavedTextValue(value)\r\n } else {\r\n const binaryPath = props.content.Binary && props.content.Binary.__mediaresource.media_src\r\n if (!binaryPath) {\r\n return\r\n }\r\n const textFile = await repo.fetch(PathHelper.joinPaths(repo.configuration.repositoryUrl, binaryPath))\r\n if (textFile.ok) {\r\n const text = await textFile.text()\r\n setTextValue(text)\r\n setSavedTextValue(text)\r\n }\r\n }\r\n } catch (err) {\r\n setError(err)\r\n }\r\n })()\r\n }, [props, repo])\r\n\r\n if (error) {\r\n logger.information({\r\n message: localization.textEditor.saveFailedNotification,\r\n data: error,\r\n })\r\n return null\r\n }\r\n\r\n if (!uri) {\r\n return \r\n }\r\n\r\n return (\r\n (props.showBreadCrumb ? : <>{props.content.Name})}\r\n />\r\n )\r\n}\r\n","import { ExtendedError, isExtendedError, Repository } from '@sensenet/client-core'\r\nimport { Injector } from '@sensenet/client-utils'\r\nimport { InjectorContext } from '@sensenet/hooks-react'\r\nimport React, { Component, ComponentType, Context } from 'react'\r\n\r\nexport interface ErrorBoundaryState {\r\n error?: Error\r\n info?: {\r\n componentStack?: string\r\n }\r\n}\r\n\r\nexport interface ErrorBoundaryProps {\r\n FallbackComponent?: ComponentType\r\n}\r\n\r\nexport class ErrorBoundary extends Component {\r\n public static contextType: Context = InjectorContext\r\n public static getDerivedStateFromError(error?: Error) {\r\n return {\r\n error,\r\n info: { componentStack: error && error.stack },\r\n }\r\n }\r\n\r\n state = {\r\n error: undefined,\r\n info: undefined,\r\n }\r\n\r\n public async componentDidCatch(error?: Error) {\r\n let msg: ExtendedError | undefined\r\n if (error && isExtendedError(error)) {\r\n msg = await (this.context as Injector).getInstance(Repository).getErrorFromResponse(error.response)\r\n }\r\n\r\n const message = (msg && msg.message) || (error && error.message) || 'An unhandled error happened'\r\n ;(this.context as Injector).logger.fatal({\r\n scope: 'ErrorBoundary',\r\n message,\r\n data: {\r\n error: msg || error,\r\n details: {\r\n info: this.state.info,\r\n },\r\n },\r\n })\r\n }\r\n\r\n public render() {\r\n const { FallbackComponent, children } = this.props\r\n const { error, info } = this.state\r\n\r\n if (error) {\r\n if (FallbackComponent) return \r\n\r\n return null\r\n }\r\n\r\n return children\r\n }\r\n}\r\n","import CircularProgress from '@material-ui/core/CircularProgress'\r\nimport { clsx } from 'clsx'\r\nimport React from 'react'\r\nimport { useGlobalStyles } from '../globalStyles'\r\nimport { useLocalization } from '../hooks'\r\n\r\nexport const FullScreenLoader = ({ loaderText }: { loaderText?: string }) => {\r\n const { centered, full } = useGlobalStyles()\r\n const { loadingContent } = useLocalization().common\r\n\r\n return (\r\n
\r\n \r\n {loaderText ?? loadingContent}\r\n
\r\n )\r\n}\r\n","export interface Secret {\r\n id: string\r\n value: string\r\n creationDate: string\r\n validTill: string\r\n}\r\n\r\nexport type ClientType = 'ExternalClient' | 'InternalClient'\r\n\r\nexport type SpaType = 'InternalSpa' | 'ExternalSpa' | 'AdminUi'\r\n\r\nexport const spaTypes: SpaType[] = ['ExternalSpa', 'InternalSpa', 'AdminUi']\r\nexport const clientTypes: ClientType[] = ['ExternalClient', 'InternalClient']\r\n\r\nexport interface ApiKey {\r\n name: string\r\n repository: string\r\n clientId: string\r\n userName: string\r\n authority: string\r\n type: SpaType | ClientType\r\n secrets: Secret[]\r\n}\r\n","import { createStyles, makeStyles } from '@material-ui/core'\r\nimport { ReactClientFieldSetting, AllowedChildTypes as SnAllowedChildTypes } from '@sensenet/controls-react'\r\nimport React from 'react'\r\n\r\nconst ITEM_HEIGHT = 48\r\n\r\nconst useStyles = makeStyles(() =>\r\n createStyles({\r\n inputContainer: {\r\n padding: '4px 0',\r\n },\r\n input: {\r\n margin: 0,\r\n },\r\n button: {\r\n padding: '0 0 0 10px',\r\n },\r\n listContainer: {\r\n maxHeight: ITEM_HEIGHT * 5,\r\n },\r\n list: {\r\n padding: 0,\r\n marginTop: '9px',\r\n minHeight: '80px',\r\n maxHeight: '260px',\r\n overflowY: 'scroll',\r\n },\r\n listItem: {\r\n paddingLeft: 0,\r\n },\r\n }),\r\n)\r\n\r\nexport const AllowedChildTypes: React.FC = (props) => {\r\n const classes = useStyles()\r\n return \r\n}\r\n","import { createStyles, makeStyles, Theme } from '@material-ui/core'\r\nimport Avatar from '@material-ui/core/Avatar'\r\nimport ListItem from '@material-ui/core/ListItem'\r\nimport ListItemAvatar from '@material-ui/core/ListItemAvatar'\r\nimport { DefaultAvatarTemplateProps } from '@sensenet/controls-react'\r\nimport React from 'react'\r\n\r\nconst useStyles = makeStyles((theme: Theme) => {\r\n return createStyles({\r\n listItem: {\r\n listStyleType: 'none',\r\n flexFlow: 'column',\r\n '&:hover': {\r\n backgroundColor: 'transparent',\r\n },\r\n padding: 0,\r\n },\r\n avatar: {\r\n width: 80,\r\n height: 80,\r\n fontSize: '2.5rem',\r\n },\r\n change: {\r\n cursor: 'pointer',\r\n fontSize: '12px',\r\n marginTop: '11px',\r\n color: theme.palette.primary.main,\r\n },\r\n })\r\n})\r\n\r\nconst CHANGE_AVATAR = 'Change avatar'\r\nconst ADD_AVATAR = 'Add avatar'\r\n\r\n/**\r\n * Represents a default component for Avatar control.\r\n */\r\nexport const DefaultAvatarTemplate: React.FC = (props) => {\r\n const { actionName, readOnly, repositoryUrl, url } = props\r\n const classes = useStyles()\r\n\r\n return (\r\n \r\n \r\n {repositoryUrl && url ? (\r\n \r\n ) : (\r\n \r\n {props.content?.DisplayName?.[0] || props.content?.Name?.[0] || 'U'}\r\n \r\n )}\r\n \r\n {actionName && actionName !== 'browse' && !readOnly ? (\r\n
\r\n {url ? CHANGE_AVATAR : ADD_AVATAR}\r\n
\r\n ) : null}\r\n
\r\n )\r\n}\r\n","import { ReactClientFieldSetting, Avatar as SnAvatar } from '@sensenet/controls-react'\r\nimport { ReferenceFieldSetting, User } from '@sensenet/default-content-types'\r\nimport { useLogger, useRepository } from '@sensenet/hooks-react'\r\nimport React from 'react'\r\nimport { FileWithFullPath, useDialog } from '../../dialogs'\r\nimport { DefaultAvatarTemplate } from './default-avatar-template'\r\n\r\ninterface AddItemParams {\r\n setAvatar: React.Dispatch\r\n}\r\n\r\ninterface UploadAvatarParams extends AddItemParams {\r\n files: FileWithFullPath[] | undefined\r\n progressObservable: { current: any }\r\n}\r\n\r\nexport const Avatar: React.FunctionComponent> = (props) => {\r\n const repo = useRepository()\r\n const logger = useLogger('Avatar')\r\n const { openDialog } = useDialog()\r\n\r\n const add = ({ setAvatar }: AddItemParams) => {\r\n openDialog({\r\n name: 'upload',\r\n props: {\r\n uploadPath: props.content?.Path || '',\r\n disableMultiUpload: true,\r\n customUploadFunction: (files: FileWithFullPath[] | undefined, progressObservable: any) =>\r\n uploadAvatar({ files, progressObservable, setAvatar }),\r\n },\r\n dialogProps: { open: true, fullScreen: false },\r\n })\r\n }\r\n\r\n const uploadAvatar = async ({ files, progressObservable, setAvatar }: UploadAvatarParams) => {\r\n if (!files || !props.content) {\r\n return\r\n }\r\n\r\n try {\r\n const previousAvatarPath = props.content.Avatar?.Url\r\n //Upload the actual avatar file under the User content\r\n const response = await repo.upload.file({\r\n file: files[files.length - 1],\r\n parentPath: props.content.Path,\r\n fileName: files[files.length - 1].name,\r\n overwrite: true,\r\n binaryPropertyName: 'Binary',\r\n progressObservable: progressObservable.current,\r\n })\r\n //Replace the ImageRef field of the user with the new avatar\r\n await repo.patch({\r\n idOrPath: props.content.Id,\r\n content: {\r\n ImageRef: response.Id,\r\n },\r\n })\r\n\r\n setAvatar(response.Url)\r\n\r\n //Remove the previous avatar image from the User\r\n if (previousAvatarPath && !previousAvatarPath.startsWith('/binaryhandler')) {\r\n await repo.delete({\r\n idOrPath: previousAvatarPath,\r\n permanent: true,\r\n })\r\n }\r\n } catch (error) {\r\n logger.error({ message: 'Something went wrong', data: { error } })\r\n }\r\n }\r\n\r\n return \r\n}\r\n","/**\r\n * @module FieldControls\r\n */\r\nimport { createStyles, Input, InputAdornment, InputLabel, makeStyles } from '@material-ui/core'\r\nimport { changeTemplatedValue, ReactClientFieldSetting, renderIconDefault } from '@sensenet/controls-react'\r\nimport { ShortTextFieldSetting } from '@sensenet/default-content-types'\r\nimport React from 'react'\r\n\r\nconst useStyles = makeStyles(() => {\r\n return createStyles({\r\n input: {\r\n height: '36px',\r\n marginTop: '9px',\r\n '&::before': {\r\n border: 'none !important',\r\n },\r\n },\r\n })\r\n})\r\n\r\n/**\r\n * Field control that represents a ShortText field. Available values will be populated from the FieldSettings.\r\n */\r\nexport const Path: React.FC> = (props) => {\r\n const classes = useStyles()\r\n\r\n return (\r\n <>\r\n \r\n {props.settings.DisplayName}\r\n \r\n {renderIconDefault('link')}}\r\n />\r\n \r\n )\r\n}\r\n","import { ReactClientFieldSetting, ReferenceGrid as SnReferenceGrid } from '@sensenet/controls-react'\r\nimport { clsx } from 'clsx'\r\nimport React from 'react'\r\nimport { useGlobalStyles } from '../../globalStyles'\r\nimport { DialogTitle } from '../dialogs/dialog-title'\r\nimport { Icon } from '../Icon'\r\n\r\nexport const ReferenceGrid: React.FC = (props) => {\r\n const globalClasses = useGlobalStyles()\r\n return (\r\n }\r\n pickerClasses={{ cancelButton: globalClasses.cancelButton }}\r\n />\r\n )\r\n}\r\n","/**\r\n * @module FieldControls\r\n */\r\nimport { ReactClientFieldSetting, RichTextEditor as SnRichTextEditor } from '@sensenet/controls-react'\r\nimport React from 'react'\r\nimport { useLocalization } from '../../hooks'\r\n\r\n/**\r\n * Field control that represents a RichText field. Available values will be populated from the FieldSettings.\r\n */\r\nexport const RichTextEditor: React.FC = (props) => {\r\n const localization = useLocalization()\r\n\r\n return \r\n}\r\n","/**\r\n * @module FieldControls\r\n */\r\n\r\nimport {\r\n Button,\r\n Checkbox,\r\n ClickAwayListener,\r\n createStyles,\r\n Dialog,\r\n DialogTitle,\r\n FormControl,\r\n FormControlLabel,\r\n FormGroup,\r\n FormHelperText,\r\n IconButton,\r\n List,\r\n ListItem,\r\n ListItemIcon,\r\n ListItemText,\r\n makeStyles,\r\n Paper,\r\n Radio,\r\n RadioGroup,\r\n Table,\r\n TableBody,\r\n TableCell,\r\n TableContainer,\r\n TableHead,\r\n TableRow,\r\n TextField,\r\n Theme,\r\n Tooltip,\r\n Typography,\r\n} from '@material-ui/core'\r\nimport { red } from '@material-ui/core/colors'\r\nimport { Check, Close, Info } from '@material-ui/icons'\r\nimport { ReactClientFieldSetting, ReferencePicker, renderIconDefault, typeicons } from '@sensenet/controls-react'\r\nimport { GenericContent, LongTextFieldSetting } from '@sensenet/default-content-types'\r\nimport { useLogger, useRepository } from '@sensenet/hooks-react'\r\nimport React, { useEffect, useState } from 'react'\r\nimport { globals, widgetStyles } from '../../globalStyles'\r\nimport { useLocalization } from '../../hooks'\r\n\r\nconst ITEM_HEIGHT = 48\r\nconst DEFAULT_CONTAINER = '/Root'\r\n\r\nconst useWidgetStyles = makeStyles(widgetStyles)\r\n\r\nconst useStyles = makeStyles((theme: Theme) => {\r\n return createStyles({\r\n deleteIcon: {\r\n color: red[500],\r\n cursor: 'pointer',\r\n display: 'flex',\r\n alignSelf: 'center',\r\n },\r\n inputContainer: {\r\n alignItems: 'center',\r\n boxShadow: 'none',\r\n position: 'relative',\r\n },\r\n input: {\r\n flex: 1,\r\n },\r\n button: {\r\n padding: 10,\r\n },\r\n listContainer: {\r\n position: 'absolute',\r\n top: '40px',\r\n maxHeight: ITEM_HEIGHT * 2.5,\r\n overflow: 'auto',\r\n zIndex: 10,\r\n },\r\n ddIsOpened: {\r\n display: 'block',\r\n },\r\n ddIsClosed: {\r\n display: 'none',\r\n },\r\n containerSelector: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n marginBottom: '16px',\r\n justifyContent: 'space-between',\r\n },\r\n containerSelectorInput: {\r\n width: '75%',\r\n },\r\n fixColumn: {\r\n position: 'sticky',\r\n backgroundColor: theme.palette.type === 'light' ? globals.light.drawerBackground : '#1e1e1e',\r\n left: 0,\r\n zIndex: 1,\r\n },\r\n errorMessage: {\r\n color: theme.palette.error.light,\r\n padding: '20px 0',\r\n },\r\n webhookTriggerTableHeader: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n flexWrap: 'nowrap',\r\n },\r\n infoIcon: {\r\n marginLeft: '2px',\r\n },\r\n })\r\n})\r\n\r\n//Types\r\nexport interface WebhookTriggerType {\r\n Path?: string\r\n TriggersForAllEvents: boolean\r\n ContentTypes?: WebhookContentTypeItem[]\r\n}\r\n\r\nexport interface WebhookContentTypeItem {\r\n Name: string\r\n Events: WebhookEventType[]\r\n}\r\n\r\nexport type WebhookEventType =\r\n | 'All'\r\n | 'Create'\r\n | 'Modify'\r\n | 'Delete'\r\n | 'MoveToTrash'\r\n | 'RestoreFromTrash'\r\n | 'Checkout'\r\n | 'Draft'\r\n | 'Approve'\r\n | 'Pending'\r\n | 'Reject'\r\n\r\n/**\r\n * Field control that represents a Webhook filter field.\r\n */\r\nexport const WebhookTrigger: React.FC> = (props) => {\r\n const classes = useStyles()\r\n const widgetClasses = useWidgetStyles()\r\n\r\n const repo = useRepository()\r\n const logger = useLogger('webhook filter')\r\n const localization = useLocalization()\r\n\r\n const getInitialstate = () => {\r\n const initialState =\r\n props.actionName === 'new'\r\n ? (props.settings.DefaultValue &&\r\n (JSON.parse(props.settings.DefaultValue) as WebhookTriggerType | undefined)) || {\r\n Path: DEFAULT_CONTAINER,\r\n TriggersForAllEvents: true,\r\n ContentTypes: [{ Name: 'File', Events: ['All'] } as WebhookContentTypeItem],\r\n }\r\n : undefined\r\n props.fieldOnChange?.(props.settings.Name, JSON.stringify(initialState))\r\n return initialState\r\n }\r\n\r\n const [value, setValue] = useState(\r\n (props.fieldValue && (JSON.parse(props.fieldValue) as WebhookTriggerType)) || getInitialstate,\r\n )\r\n\r\n //Triggers\r\n const webhookEvents = [\r\n { name: 'Create', tooltip: localization.webhooksTrigger.createTooltip },\r\n { name: 'Modify', tooltip: localization.webhooksTrigger.modifyTooltip },\r\n { name: 'Delete', tooltip: localization.webhooksTrigger.deleteTooltip },\r\n { name: 'MoveToTrash', tooltip: localization.webhooksTrigger.moveToTrashTooltip },\r\n { name: 'RestoreFromTrash', tooltip: localization.webhooksTrigger.restoreFromTrashTooltip },\r\n {\r\n name: 'Checkout',\r\n tooltip: localization.webhooksTrigger.checkoutTooltip,\r\n },\r\n { name: 'Draft', tooltip: localization.webhooksTrigger.draftTooltip },\r\n {\r\n name: 'Approve',\r\n tooltip: localization.webhooksTrigger.approveTooltip,\r\n },\r\n {\r\n name: 'Pending',\r\n tooltip: localization.webhooksTrigger.pendingTooltip,\r\n },\r\n {\r\n name: 'Reject',\r\n tooltip: localization.webhooksTrigger.rejectTooltip,\r\n },\r\n ]\r\n\r\n const [contentForContainer, setContentForContainer] = useState()\r\n const [isPickerOpen, setIsPickerOpen] = useState(false)\r\n\r\n const [isContentTypeDropdownOpened, setContentTypeDropdownOpened] = useState(false)\r\n const [contentTypeInputValue, setContentTypeInputValue] = useState('')\r\n const [currentTypeSelected, setCurrentTypeSelected] = useState()\r\n const [typesSelected, setTypesSelected] = useState(value?.ContentTypes?.map((type) => type.Name) || [])\r\n const allTypes = repo.schemas.getTypesFromSchema()\r\n\r\n const filteredList = allTypes.filter(\r\n (type: string) => type.toLowerCase().includes(contentTypeInputValue.toLowerCase()) && !typesSelected.includes(type),\r\n )\r\n\r\n useEffect(() => {\r\n if (value?.Path) {\r\n ;(async () => {\r\n try {\r\n const response = await repo.load({\r\n idOrPath: value.Path!,\r\n })\r\n setContentForContainer(response.d)\r\n } catch (error) {\r\n logger.error({ message: localization.webhooksTrigger.errorMessageOnLoad, data: { error } })\r\n }\r\n })()\r\n }\r\n }, [localization.webhooksTrigger.errorMessageOnLoad, logger, repo, value?.Path])\r\n\r\n const handleTypeInputOnClick = () => {\r\n !value?.TriggersForAllEvents && setContentTypeDropdownOpened(true)\r\n }\r\n\r\n const handleTypeInputChange = (e: React.ChangeEvent) => {\r\n const term = e.target.value\r\n setContentTypeInputValue(term)\r\n if (term.length === 0) {\r\n setCurrentTypeSelected(undefined)\r\n }\r\n }\r\n\r\n const handleTypeAddClick = () => {\r\n const newSelection = currentTypeSelected ? [...typesSelected, currentTypeSelected] : typesSelected\r\n setTypesSelected(newSelection)\r\n currentTypeSelected && value?.ContentTypes?.push({ Name: currentTypeSelected, Events: [] })\r\n\r\n setCurrentTypeSelected(undefined)\r\n setContentTypeInputValue('')\r\n }\r\n\r\n const handleTypeSelect = (item: string) => {\r\n setCurrentTypeSelected(item)\r\n setContentTypeInputValue(item || '')\r\n setContentTypeDropdownOpened(false)\r\n }\r\n\r\n const handleTypeRemove = (item: string) => {\r\n if (value && !value?.TriggersForAllEvents) {\r\n const newSelected = typesSelected.filter((type) => item !== type)\r\n setTypesSelected(newSelected)\r\n\r\n setValue({ ...value, ContentTypes: value.ContentTypes?.filter((type) => item !== type.Name) })\r\n props.fieldOnChange?.(\r\n props.settings.Name,\r\n JSON.stringify({ ...value, ContentTypes: value.ContentTypes?.filter((type) => item !== type.Name) }),\r\n )\r\n }\r\n }\r\n\r\n const handleCheckboxChange = (\r\n event: React.ChangeEvent,\r\n contentType: string,\r\n webhookEvent: WebhookEventType,\r\n ) => {\r\n const copyOfContentTypes = value?.ContentTypes\r\n const actualRow = copyOfContentTypes?.find((type) => type.Name === contentType)\r\n\r\n if (event.target.checked) {\r\n !actualRow?.Events.includes(webhookEvent) && actualRow?.Events.push(webhookEvent)\r\n } else {\r\n const actualEventIndex = actualRow?.Events.indexOf(webhookEvent)\r\n if (actualEventIndex !== undefined && actualEventIndex > -1) {\r\n actualRow?.Events.splice(actualEventIndex, 1)\r\n }\r\n\r\n const allEventIndex = actualRow?.Events.indexOf('All')\r\n if (allEventIndex !== undefined && allEventIndex > -1) {\r\n const newEvents = webhookEvents.filter((item) => item.name !== webhookEvent)\r\n Object.assign(actualRow as WebhookContentTypeItem, { Events: newEvents })\r\n }\r\n }\r\n\r\n value\r\n ? setValue({ ...value, ContentTypes: copyOfContentTypes })\r\n : setValue({ Path: DEFAULT_CONTAINER, TriggersForAllEvents: true, ContentTypes: copyOfContentTypes })\r\n props.fieldOnChange?.(props.settings.Name, JSON.stringify(value))\r\n }\r\n\r\n const handleCheckboxAllChange = (event: React.ChangeEvent, contentType: string) => {\r\n const copyOfContentTypes = value?.ContentTypes\r\n const actualRow = copyOfContentTypes?.find((type) => type.Name === contentType)\r\n\r\n if (event.target.checked) {\r\n Object.assign(actualRow as WebhookContentTypeItem, { Events: ['All'] })\r\n } else {\r\n Object.assign(actualRow as WebhookContentTypeItem, { Events: [] })\r\n }\r\n\r\n value\r\n ? setValue({ ...value, ContentTypes: copyOfContentTypes })\r\n : setValue({ Path: DEFAULT_CONTAINER, TriggersForAllEvents: true, ContentTypes: copyOfContentTypes })\r\n props.fieldOnChange?.(props.settings.Name, JSON.stringify(value))\r\n }\r\n\r\n const handleDialogClose = () => {\r\n setIsPickerOpen(false)\r\n }\r\n\r\n const renderTypeListItem = (item: string, select: (item: string) => void) => (\r\n select(item)}>\r\n {renderIconDefault(typeicons.contenttype)}\r\n \r\n \r\n )\r\n\r\n switch (props.actionName) {\r\n case 'edit':\r\n case 'new':\r\n return (\r\n <>\r\n
\r\n \r\n {\r\n setIsPickerOpen(true)\r\n }}>\r\n {localization.webhooksTrigger.pickAContainer}\r\n \r\n
\r\n \r\n {localization.webhooksTrigger.pickAContainer}\r\n {\r\n value\r\n ? setValue({ ...value, Path: newSelection[0].Path })\r\n : setValue({ TriggersForAllEvents: true, Path: newSelection[0].Path, ContentTypes: [] })\r\n props.fieldOnChange?.(props.settings.Name, JSON.stringify({ ...value, Path: newSelection[0].Path }))\r\n handleDialogClose()\r\n }}\r\n handleCancel={handleDialogClose}\r\n fieldSettings={props.settings}\r\n />\r\n \r\n \r\n ) => {\r\n const targetValue = (event.target as HTMLInputElement).value === 'true'\r\n value\r\n ? setValue({\r\n ...value,\r\n TriggersForAllEvents: targetValue,\r\n })\r\n : setValue({\r\n Path: DEFAULT_CONTAINER,\r\n TriggersForAllEvents: targetValue,\r\n ContentTypes: [],\r\n })\r\n if (targetValue) {\r\n value?.ContentTypes?.forEach((type) => {\r\n Object.assign(type, { Events: ['All'] })\r\n })\r\n } else {\r\n value?.ContentTypes?.forEach((type) => {\r\n Object.assign(type, { Events: [] })\r\n })\r\n }\r\n props.fieldOnChange?.(\r\n props.settings.Name,\r\n JSON.stringify({ ...value, TriggersForAllEvents: targetValue }),\r\n )\r\n }}>\r\n }\r\n label={localization.webhooksTrigger.triggerForAll}\r\n />\r\n }\r\n label={localization.webhooksTrigger.selectSpecificEvents}\r\n />\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {localization.webhooksTrigger.all}\r\n {webhookEvents.map((event) => (\r\n \r\n \r\n
\r\n {event.name}\r\n \r\n
\r\n
\r\n
\r\n ))}\r\n \r\n
\r\n
\r\n \r\n {typesSelected.length > 0 ? (\r\n typesSelected.map((row) => {\r\n const actualEvent = value?.ContentTypes?.find((type) => type.Name === row)\r\n return (\r\n \r\n \r\n {row}\r\n \r\n \r\n handleCheckboxAllChange(event, row)}\r\n />\r\n \r\n {webhookEvents.map((eventItem) => (\r\n \r\n \r\n handleCheckboxChange(event, row, eventItem.name as WebhookEventType)\r\n }\r\n />\r\n \r\n ))}\r\n \r\n {\r\n handleTypeRemove(row)\r\n }}\r\n />\r\n \r\n \r\n )\r\n })\r\n ) : (\r\n \r\n \r\n
{localization.webhooksTrigger.noTypeSelected}
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {\r\n setContentTypeDropdownOpened(false)\r\n }}>\r\n
\r\n \r\n \r\n 0 ? false : true)\r\n }\r\n onClick={handleTypeAddClick}>\r\n {props.renderIcon ? props.renderIcon('add_circle') : renderIconDefault('add_circle')}\r\n \r\n \r\n \r\n \r\n {filteredList.length > 0 ? (\r\n filteredList.map((item: any) => renderTypeListItem(item, handleTypeSelect))\r\n ) : (\r\n {localization.webhooksTrigger.noHits}\r\n )}\r\n \r\n \r\n {!props.hideDescription && {props.settings.Description}}\r\n
\r\n \r\n \r\n )\r\n case 'browse':\r\n default:\r\n return (\r\n <>\r\n \r\n {props.settings.DisplayName}\r\n \r\n {value?.Path}\r\n {value?.TriggersForAllEvents ? (\r\n <>\r\n \r\n {localization.webhooksTrigger.triggerForAll}\r\n \r\n {value?.ContentTypes && value?.ContentTypes?.length > 0 ? (\r\n \r\n {localization.webhooksTrigger.onTypes}\r\n {value?.ContentTypes?.map((type) => (\r\n \r\n {`${type.Name} `}\r\n \r\n ))}\r\n \r\n ) : (\r\n localization.webhooksTrigger.noTypeSelected\r\n )}\r\n \r\n ) : (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {localization.webhooksTrigger.all}\r\n {webhookEvents.map((event) => (\r\n \r\n {event.name}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n {typesSelected.length > 0 ? (\r\n typesSelected.map((row) => {\r\n const actualEvent = value?.ContentTypes?.find((type) => type.Name === row)\r\n return (\r\n \r\n \r\n {row}\r\n \r\n \r\n {actualEvent?.Events.includes('All') ? : null}\r\n \r\n {webhookEvents.map((eventItem) => (\r\n \r\n {actualEvent?.Events.includes(eventItem.name as WebhookEventType) ||\r\n actualEvent?.Events.includes('All') ? (\r\n \r\n ) : null}\r\n \r\n ))}\r\n \r\n )\r\n })\r\n ) : (\r\n \r\n \r\n
{localization.webhooksTrigger.noTypeSelected}
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n \r\n )\r\n }\r\n}\r\n","/**\r\n * @module FieldControls\r\n */\r\n\r\nimport { createStyles, IconButton, InputLabel, makeStyles, TextField, Typography } from '@material-ui/core'\r\nimport { Delete } from '@material-ui/icons'\r\nimport { ReactClientFieldSetting, renderIconDefault } from '@sensenet/controls-react'\r\nimport { LongTextFieldSetting } from '@sensenet/default-content-types'\r\nimport React, { useState } from 'react'\r\nimport { useLocalization } from '../../hooks'\r\n\r\nconst useStyles = makeStyles(() => {\r\n return createStyles({\r\n input: {\r\n flexGrow: 1,\r\n },\r\n rowContainer: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n marginBottom: '20px',\r\n },\r\n })\r\n})\r\n\r\n/**\r\n * Field control that represents a Webhook header field.\r\n */\r\nexport const WebhookHeaders: React.FC> = (props) => {\r\n const classes = useStyles()\r\n const localization = useLocalization()\r\n\r\n const [value, setValue] = useState((props.fieldValue && JSON.parse(props.fieldValue)) || {})\r\n const [actualKey, setActualKey] = useState()\r\n const [actualValue, setActualValue] = useState()\r\n\r\n switch (props.actionName) {\r\n case 'edit':\r\n case 'new':\r\n return (\r\n <>\r\n {localization.webhooksHeader.headers}\r\n {Object.entries(value).map(([headerKey, headerValue], _index) => {\r\n return (\r\n
\r\n \r\n \r\n {\r\n const newValue = { ...value }\r\n delete newValue[headerKey]\r\n setValue(newValue)\r\n props.fieldOnChange?.(props.settings.Name, JSON.stringify(newValue))\r\n }}>\r\n \r\n \r\n
\r\n )\r\n })}\r\n\r\n
\r\n setActualKey(event.target.value)}\r\n />\r\n setActualValue(event.target.value)}\r\n />\r\n {\r\n if (actualKey) {\r\n const valueCopy = { ...value }\r\n Object.assign(valueCopy, { [actualKey]: actualValue })\r\n setValue(valueCopy)\r\n props.fieldOnChange?.(props.settings.Name, JSON.stringify(valueCopy))\r\n setActualKey('')\r\n setActualValue('')\r\n }\r\n }}>\r\n {props.renderIcon ? props.renderIcon('add_circle') : renderIconDefault('add_circle')}\r\n \r\n
\r\n \r\n )\r\n case 'browse':\r\n default:\r\n return (\r\n <>\r\n \r\n {localization.webhooksHeader.headers}\r\n \r\n {Object.entries(value).map(([headerKey, headerValue], _index) => {\r\n return (\r\n
\r\n {`${headerKey}: ${headerValue}`}\r\n
\r\n )\r\n })}\r\n \r\n )\r\n }\r\n}\r\n","import {\r\n createStyles,\r\n FormControlLabel,\r\n FormLabel,\r\n makeStyles,\r\n Paper,\r\n Radio,\r\n RadioGroup,\r\n TextareaAutosize,\r\n Theme,\r\n Typography,\r\n} from '@material-ui/core'\r\nimport { ReactClientFieldSetting } from '@sensenet/controls-react'\r\nimport { LongTextFieldSetting } from '@sensenet/default-content-types'\r\nimport { clsx } from 'clsx'\r\nimport React, { useState } from 'react'\r\nimport { widgetStyles } from '../../globalStyles'\r\nimport { useLocalization } from '../../hooks'\r\n\r\nconst useWidgetStyles = makeStyles(widgetStyles)\r\n\r\nconst useStyles = makeStyles((theme: Theme) => {\r\n return createStyles({\r\n textArea: {\r\n padding: '10px',\r\n '&:focus': {\r\n outlineColor: theme.palette.primary.main,\r\n },\r\n },\r\n example: {\r\n marginTop: '10px',\r\n },\r\n italic: {\r\n fontStyle: 'italic',\r\n },\r\n payload: {\r\n margin: 0,\r\n },\r\n })\r\n})\r\n\r\n/**\r\n * Field control that represents a Webhook payload field.\r\n */\r\nexport const WebhookPayload: React.FC> = (props) => {\r\n const localization = useLocalization()\r\n const classes = useStyles()\r\n const widgetClasses = useWidgetStyles()\r\n\r\n const initValue =\r\n (props.fieldValue === undefined || props.fieldValue === '') &&\r\n props.actionName === 'new' &&\r\n props.settings.DefaultValue\r\n ? JSON.stringify(JSON.parse(props.settings.DefaultValue), undefined, 4)\r\n : props.fieldValue\r\n const [value, setValue] = useState(initValue)\r\n const [useDefault, setUseDefault] = useState(value === undefined || value === '' || value === null)\r\n\r\n const exampleJSON =\r\n '{\"nodeId\":1388,\"versionId\":401,\"version\":\"V0.1.D\",\"previousVersion\":null,\"versionModificationDate\":\"2021-02-25T12:16:58.78Z\",\"modifiedBy\":1,\"path\":\"/Root/Content/DocLib/mydoc.docx\",\"name\":\"mydoc.docx\",\"displayName\":\"mydoc.docx\",\"eventName\":\"Create\",\"subscriptionId\":1386,\"sentTime\":\"2021-02-25T12:16:58.9472693Z\"}'\r\n\r\n switch (props.actionName) {\r\n case 'edit':\r\n case 'new':\r\n return (\r\n <>\r\n \r\n {localization.webhooksPayload.payload}\r\n \r\n {\r\n setUseDefault(event.target.value === 'true')\r\n if (event.target.value === 'true') {\r\n setValue('')\r\n props.fieldOnChange?.(props.settings.Name, '')\r\n } else {\r\n setValue(initValue)\r\n props.fieldOnChange?.(props.settings.Name, initValue)\r\n }\r\n }}>\r\n }\r\n label={localization.webhooksPayload.useDefault}\r\n />\r\n }\r\n label={localization.webhooksPayload.customize}\r\n />\r\n \r\n {\r\n setValue(ev.target.value)\r\n props.fieldOnChange?.(props.settings.Name, ev.target.value)\r\n }}\r\n />\r\n
{localization.webhooksPayload.exampleDescription}
\r\n
{localization.webhooksPayload.example}
\r\n
\r\n            {JSON.stringify(JSON.parse(exampleJSON), undefined, 4)}\r\n          
\r\n \r\n )\r\n case 'browse':\r\n default:\r\n return (\r\n <>\r\n \r\n {localization.webhooksPayload.payload}\r\n \r\n {useDefault ? (\r\n \r\n {localization.webhooksPayload.defaultPayload}\r\n \r\n ) : (\r\n \r\n
{value}
\r\n
\r\n )}\r\n \r\n )\r\n }\r\n}\r\n","/**\r\n * @module FieldControls\r\n */\r\n\r\nimport { useTheme } from '@material-ui/core'\r\nimport { ReactClientFieldSetting, HtmlEditor as SnHtmlEditor } from '@sensenet/controls-react'\r\nimport React from 'react'\r\n\r\n/**\r\n * Field control that represents a LongText field with Html highlights. Available values will be populated from the FieldSettings.\r\n */\r\nexport const HtmlEditor: React.FC = (props) => {\r\n const theme = useTheme()\r\n\r\n return \r\n}\r\n","import { Repository } from '@sensenet/client-core'\r\nimport { FieldControls as SnFieldControls, reactControlMapper as snReactControlMapper } from '@sensenet/controls-react'\r\nimport { LongTextFieldSetting, ReferenceFieldSetting, RichTextFieldSetting } from '@sensenet/default-content-types'\r\nimport * as FieldControls from './field-controls'\r\n\r\n/**\r\n * A static Control Mapper instance, used to create the mapping between sensenet ContentTypes and FieldSettings and React components.\r\n */\r\nexport const reactControlMapper = (repository: Repository) => {\r\n const controlMapper = snReactControlMapper(repository)\r\n\r\n controlMapper\r\n .setupFieldSettingDefault('ShortTextFieldSetting', (setting) => {\r\n switch (setting.ControlHint) {\r\n case 'sn:FileName':\r\n return SnFieldControls.FileName\r\n case 'sn:ColorPicker':\r\n return SnFieldControls.ColorPicker\r\n case 'sn:Path':\r\n return FieldControls.Path\r\n default:\r\n return SnFieldControls.ShortText\r\n }\r\n })\r\n .setupFieldSettingDefault('ReferenceFieldSetting', (setting) => {\r\n if (setting.AllowedTypes && setting.AllowedTypes.indexOf('User') !== -1 && setting.AllowMultiple) {\r\n return SnFieldControls.TagsInput\r\n } else {\r\n return FieldControls.ReferenceGrid\r\n }\r\n })\r\n .setupFieldSettingDefault('LongTextFieldSetting', (setting) => {\r\n switch (setting.ControlHint) {\r\n case 'sn:WebhookFilter':\r\n return FieldControls.WebhookTrigger\r\n case 'sn:WebhookHeaders':\r\n return FieldControls.WebhookHeaders\r\n case 'sn:WebhookPayload':\r\n return FieldControls.WebhookPayload\r\n case 'sn:HtmlEditor':\r\n return FieldControls.HtmlEditor\r\n default:\r\n }\r\n\r\n return SnFieldControls.Textarea\r\n })\r\n .setupFieldSettingDefault('RichTextFieldSetting', () => {\r\n return FieldControls.RichTextEditor\r\n })\r\n .setupFieldSettingDefault('NullFieldSetting', (setting) => {\r\n if (setting.Name === 'Avatar') {\r\n return FieldControls.Avatar\r\n } else if (\r\n ['SiteRelativeUrl', 'UploadBinary', 'ButtonList', 'ReferenceDropDown', 'PageTemplateSelector'].indexOf(\r\n setting.Name,\r\n ) > -1\r\n ) {\r\n return SnFieldControls.EmptyFieldControl\r\n } else if (setting.Name === 'AllowedChildTypes') {\r\n return FieldControls.AllowedChildTypes\r\n } else if (setting.Name === 'UrlList') {\r\n return SnFieldControls.Textarea\r\n } else if (setting.FieldClassName.indexOf('BooleanField') > -1) {\r\n switch (setting.ControlHint) {\r\n case 'sn:Checkbox':\r\n return SnFieldControls.Checkbox\r\n default:\r\n return SnFieldControls.Switcher\r\n }\r\n } else {\r\n return SnFieldControls.ShortText\r\n }\r\n })\r\n .setupFieldSettingDefault('BooleanFieldSetting', (setting) => {\r\n switch (setting.ControlHint) {\r\n case 'sn:Checkbox':\r\n return SnFieldControls.Checkbox\r\n default:\r\n return SnFieldControls.Switcher\r\n }\r\n })\r\n\r\n return controlMapper\r\n}\r\n","import { createStyles, makeStyles } from '@material-ui/core'\r\nimport { globals } from '../../../globalStyles'\r\n\r\nconst useStyles = makeStyles(() => {\r\n return createStyles({\r\n grid: {\r\n padding: '14px 14px 0 14px',\r\n overflowY: 'auto',\r\n width: '100%',\r\n maxHeight: `calc(100% - ${globals.common.formActionButtonsHeight}px - ${globals.common.formTitleHeight}px)`,\r\n },\r\n fieldWrapper: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n flexFlow: 'column',\r\n padding: '15px !important',\r\n height: 'fit-content',\r\n position: 'relative',\r\n },\r\n field: {\r\n width: '88%',\r\n position: 'relative',\r\n },\r\n fieldFullWidth: {\r\n width: '88%',\r\n position: 'relative',\r\n },\r\n actionButtonWrapper: {\r\n height: '80px',\r\n left: 0,\r\n position: 'absolute',\r\n padding: '20px',\r\n bottom: 0,\r\n right: '7%',\r\n },\r\n })\r\n})\r\n\r\nexport const useViewControlStyles = () => {\r\n return useStyles()\r\n}\r\n","import { createStyles, makeStyles } from '@material-ui/core'\r\nimport { GenericContent } from '@sensenet/default-content-types'\r\nimport { useRepository } from '@sensenet/hooks-react'\r\nimport { clsx } from 'clsx'\r\nimport React, { useCallback, useContext, useMemo } from 'react'\r\nimport { useHistory } from 'react-router'\r\nimport { ResponsivePersonalSettings } from '../../../context'\r\nimport { useGlobalStyles } from '../../../globalStyles'\r\nimport { useSnRoute } from '../../../hooks'\r\nimport { getPrimaryActionUrl, getUrlForContent } from '../../../services'\r\nimport { Icon } from '../../Icon'\r\n\r\ninterface ViewTitleProps {\r\n title?: string\r\n titleBold?: string\r\n content?: GenericContent\r\n actionName?: string\r\n}\r\n\r\nconst useStyles = makeStyles(() => {\r\n return createStyles({\r\n title: {\r\n height: '68px',\r\n fontSize: '20px',\r\n flexShrink: 0,\r\n flexDirection: 'column',\r\n flexWrap: 'nowrap',\r\n },\r\n textBolder: {\r\n fontWeight: 500,\r\n },\r\n actionBar: {\r\n display: 'flex',\r\n },\r\n typeinfo: {\r\n fontSize: '12px',\r\n color: 'grey',\r\n marginLeft: '5px',\r\n },\r\n\r\n viewTitle: {\r\n '& span': {\r\n display: 'inline-block',\r\n verticalAlign: 'middle',\r\n },\r\n },\r\n })\r\n})\r\n\r\nexport const ViewTitle: React.FunctionComponent = (props) => {\r\n const globalClasses = useGlobalStyles()\r\n const history = useHistory()\r\n const repository = useRepository()\r\n const classes = useStyles()\r\n const uiSettings = useContext(ResponsivePersonalSettings)\r\n const snRoute = useSnRoute()\r\n\r\n const contentDisplayName = useMemo(\r\n () => props.content && repository.schemas.getSchemaByName(props.content.Type).DisplayName,\r\n [props.content, repository.schemas],\r\n )\r\n\r\n const getContentTypeId = useCallback(\r\n async (contentType: string) => {\r\n const result = await repository.loadCollection({\r\n path: '/Root/System/Schema/ContentTypes',\r\n oDataOptions: {\r\n query: `+TypeIs:'ContentType' AND Name:${contentType} .AUTOFILTERS:OFF`,\r\n },\r\n })\r\n return result.d.results[0]\r\n },\r\n [repository],\r\n )\r\n\r\n return (\r\n
\r\n
\r\n {props.title} {props.titleBold}\r\n ({props.content!.Type})\r\n
\r\n
\r\n {props.actionName === 'browse' && (\r\n {\r\n history.push(\r\n getUrlForContent({\r\n content: props.content!,\r\n uiSettings,\r\n location: history.location,\r\n action: 'edit',\r\n snRoute,\r\n removePath: true,\r\n }),\r\n )\r\n }}\r\n className={globalClasses.centered}>\r\n \r\n \r\n )}\r\n {props.actionName === 'edit' && (\r\n {\r\n history.push(\r\n getUrlForContent({\r\n content: props.content!,\r\n uiSettings,\r\n location: history.location,\r\n action: 'browse',\r\n snRoute,\r\n removePath: true,\r\n }),\r\n )\r\n }}\r\n className={globalClasses.centered}>\r\n \r\n \r\n )}\r\n {props.content && (\r\n {\r\n const content = await getContentTypeId(props.content!.Type)\r\n const url = getPrimaryActionUrl({\r\n content,\r\n repository,\r\n location: history.location,\r\n uiSettings,\r\n snRoute,\r\n removePath: true,\r\n })\r\n window.open(url, '_blank')\r\n }}\r\n className={globalClasses.centered}>\r\n \r\n \r\n )}\r\n
\r\n
\r\n )\r\n}\r\n","/**\r\n * @module ViewControls\r\n */\r\nimport { BrowseView as SnBrowseView } from '@sensenet/controls-react'\r\nimport { GenericContent } from '@sensenet/default-content-types'\r\nimport { useRepository } from '@sensenet/hooks-react'\r\nimport React, { ReactElement, useEffect, useState } from 'react'\r\nimport { useHistory, useRouteMatch } from 'react-router-dom'\r\nimport { LocalizationObject } from '../../context'\r\nimport { useGlobalStyles } from '../../globalStyles'\r\nimport { useLocalization, usePersonalSettings, useSelectionService } from '../../hooks'\r\nimport { navigateToAction } from '../../services'\r\nimport { reactControlMapper } from '../react-control-mapper'\r\nimport { useViewControlStyles } from './common/styles'\r\nimport { ViewTitle } from './common/view-title'\r\n\r\nexport interface BrowseViewProps {\r\n renderIcon?: (name: string) => ReactElement\r\n handleCancel?: () => void\r\n contentPath: string\r\n}\r\n\r\nexport const BrowseView: React.FC = (props) => {\r\n const repository = useRepository()\r\n const selectionService = useSelectionService()\r\n const [content, setContent] = useState()\r\n const controlMapper = reactControlMapper(repository)\r\n const classes = useViewControlStyles()\r\n const globalClasses = useGlobalStyles()\r\n const localization = useLocalization()\r\n const history = useHistory()\r\n const routeMatch = useRouteMatch<{ browseType: string; action?: string }>()\r\n const personalSettings = usePersonalSettings()\r\n\r\n useEffect(() => {\r\n async function getExpandedContent() {\r\n const expanedContentResponse = await repository.load({\r\n idOrPath: props.contentPath,\r\n oDataOptions: {\r\n select: 'all',\r\n expand: ['Manager', 'FollowedWorkspaces', 'ModifiedBy'] as any,\r\n },\r\n })\r\n setContent(expanedContentResponse.d)\r\n selectionService.activeContent.setValue(expanedContentResponse.d)\r\n }\r\n getExpandedContent()\r\n }, [repository, props.contentPath, selectionService.activeContent])\r\n\r\n if (content === undefined) {\r\n return null\r\n }\r\n\r\n return (\r\n navigateToAction({ history, routeMatch })}\r\n controlMapper={controlMapper}\r\n localization={{ close: localization.forms.close }}\r\n locale={LocalizationObject[personalSettings.language].locale}\r\n classes={{\r\n ...classes,\r\n cancel: globalClasses.cancelButton,\r\n }}\r\n renderTitle={() => }\r\n />\r\n )\r\n}\r\n","/**\r\n * @module ViewControls\r\n */\r\nimport { isExtendedError } from '@sensenet/client-core'\r\nimport { ActionNameType, EditView as SnEditView } from '@sensenet/controls-react'\r\nimport { GenericContent } from '@sensenet/default-content-types'\r\nimport { useLogger, useRepository } from '@sensenet/hooks-react'\r\nimport React, { ReactElement, useEffect, useState } from 'react'\r\nimport { useHistory, useRouteMatch } from 'react-router-dom'\r\nimport { LocalizationObject } from '../../context'\r\nimport { useGlobalStyles } from '../../globalStyles'\r\nimport { useLocalization, usePersonalSettings, useSelectionService } from '../../hooks'\r\nimport { navigateToAction } from '../../services'\r\nimport { reactControlMapper } from '../react-control-mapper'\r\nimport { useViewControlStyles } from './common/styles'\r\nimport { ViewTitle } from './common/view-title'\r\n\r\nexport interface EditViewProps {\r\n renderIcon?: (name: string) => ReactElement\r\n handleCancel?: () => void\r\n submitCallback?: (savedContent: GenericContent) => void\r\n actionName?: ActionNameType\r\n isFullPage?: boolean\r\n contentPath: string\r\n}\r\n\r\nexport const EditView: React.FC = (props) => {\r\n const repository = useRepository()\r\n const selectionService = useSelectionService()\r\n const [content, setContent] = useState()\r\n const controlMapper = reactControlMapper(repository)\r\n const classes = useViewControlStyles()\r\n const globalClasses = useGlobalStyles()\r\n const localization = useLocalization()\r\n const logger = useLogger('EditView')\r\n const history = useHistory()\r\n const routeMatch = useRouteMatch<{ browseType: string; action?: string }>()\r\n const personalSettings = usePersonalSettings()\r\n\r\n useEffect(() => {\r\n async function getExpandedContent() {\r\n const expanedContentResponse = await repository.load({\r\n idOrPath: props.contentPath,\r\n oDataOptions: {\r\n select: 'all',\r\n expand: ['Manager', 'FollowedWorkspaces', 'ModifiedBy'] as any,\r\n richtexteditor: 'all',\r\n },\r\n })\r\n setContent(expanedContentResponse.d)\r\n selectionService.activeContent.setValue(expanedContentResponse.d)\r\n }\r\n getExpandedContent()\r\n }, [repository, props.contentPath, selectionService.activeContent])\r\n\r\n if (content === undefined) {\r\n return null\r\n }\r\n\r\n const handleSubmit = async (saveableFields: GenericContent) => {\r\n try {\r\n const response = await repository.patch({\r\n idOrPath: content.Id,\r\n content: saveableFields,\r\n })\r\n\r\n logger.information({\r\n message: localization.editPropertiesDialog.saveSuccessNotification.replace(\r\n '{0}',\r\n saveableFields.DisplayName || saveableFields.Name || content.DisplayName || content.Name,\r\n ),\r\n data: {\r\n relatedContent: content,\r\n relatedRepository: repository.configuration.repositoryUrl,\r\n details: {\r\n edited: response,\r\n },\r\n },\r\n })\r\n props.submitCallback?.(response.d)\r\n } catch (error) {\r\n logger.error({\r\n message:\r\n error.message ||\r\n localization.editPropertiesDialog.saveFailedNotification.replace(\r\n '{0}',\r\n saveableFields.DisplayName || saveableFields.Name || content.DisplayName || content.Name,\r\n ),\r\n data: {\r\n relatedContent: content,\r\n relatedRepository: repository.configuration.repositoryUrl,\r\n details: {\r\n error: isExtendedError(error) ? repository.getErrorFromResponse(error.response) : error,\r\n },\r\n },\r\n })\r\n }\r\n }\r\n\r\n return (\r\n navigateToAction({ history, routeMatch })}\r\n showTitle={true}\r\n uploadFolderpath=\"/Root/Content/demoavatars\"\r\n controlMapper={controlMapper}\r\n localization={{ submit: localization.forms.submit, cancel: localization.forms.cancel }}\r\n hideDescription\r\n locale={LocalizationObject[personalSettings.language].locale}\r\n classes={{\r\n ...classes,\r\n cancel: globalClasses.cancelButton,\r\n }}\r\n renderTitle={() => (\r\n \r\n )}\r\n />\r\n )\r\n}\r\n","/**\r\n * @module ViewControls\r\n */\r\nimport { Button, createStyles, makeStyles } from '@material-ui/core'\r\nimport { GenericContent } from '@sensenet/default-content-types'\r\nimport { useRepository } from '@sensenet/hooks-react'\r\nimport React, { ReactElement, useEffect, useState } from 'react'\r\nimport { useHistory, useRouteMatch } from 'react-router-dom'\r\nimport { useGlobalStyles } from '../../globalStyles'\r\nimport { useLocalization } from '../../hooks'\r\nimport { navigateToAction } from '../../services'\r\n\r\nconst useStyles = makeStyles(() => {\r\n return createStyles({\r\n imageViewContainer: {\r\n width: 'auto',\r\n overflow: 'auto',\r\n margin: '0 24px',\r\n },\r\n titleContainer: {\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n marginTop: '30px',\r\n marginBottom: '20px',\r\n alignItems: 'center',\r\n },\r\n title: {\r\n fontSize: '20px',\r\n paddingRight: '10px',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n },\r\n contentName: {\r\n fontWeight: 500,\r\n },\r\n imageContainer: {\r\n width: '90%',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n flexWrap: 'nowrap',\r\n alignItems: 'flex-start',\r\n },\r\n image: {\r\n maxWidth: '100%',\r\n },\r\n buttonWrapper: {\r\n padding: '20px 0',\r\n width: '90%',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n flexWrap: 'nowrap',\r\n alignItems: 'flex-end',\r\n },\r\n })\r\n})\r\n\r\nexport interface ImageViewProps {\r\n renderIcon?: (name: string) => ReactElement\r\n handleCancel?: () => void\r\n contentPath: string\r\n}\r\n\r\nexport const ImageView: React.FC = (props) => {\r\n const repository = useRepository()\r\n const formLocalization = useLocalization().forms\r\n const globalClasses = useGlobalStyles()\r\n const classes = useStyles()\r\n const { contentPath } = props\r\n const [currentContent, setCurrentContent] = useState()\r\n const history = useHistory()\r\n const routeMatch = useRouteMatch<{ browseType: string; action?: string }>()\r\n\r\n useEffect(() => {\r\n async function getCurrentContent() {\r\n const result = await repository.load({\r\n idOrPath: props.contentPath,\r\n })\r\n setCurrentContent(result.d)\r\n }\r\n getCurrentContent()\r\n }, [props.contentPath, repository])\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n {currentContent?.DisplayName}\r\n \r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n {\r\n navigateToAction({ history, routeMatch })\r\n props.handleCancel?.()\r\n }}>\r\n {formLocalization.close}\r\n \r\n
\r\n
\r\n )\r\n}\r\n","import { createStyles, Input, InputAdornment, makeStyles, Theme } from '@material-ui/core'\r\nimport { Help, Info } from '@material-ui/icons'\r\nimport { useLogger, useRepository } from '@sensenet/hooks-react'\r\nimport React, { Dispatch, SetStateAction, useEffect, useMemo, useState } from 'react'\r\nimport { PATHS } from '../../application-paths'\r\nimport { useLocalization } from '../../hooks'\r\nimport { getMonacoLanguage } from '../../services/content-context-service'\r\nimport { FullScreenLoader } from '../full-screen-loader'\r\nimport { SnMonacoEditor, SnMonacoEditorProps } from './sn-monaco-editor'\r\n\r\nexport type NewFileTextEditorProps = Pick & {\r\n contentType: string\r\n savePath: string\r\n getFileName?: () => string\r\n loadContent?: () => Promise\r\n getFileNameFromText?: (text: string) => string\r\n fileName: string\r\n setFileName?: Dispatch>\r\n fileNamePostfix?: string\r\n saveCallback?: Function\r\n}\r\n\r\nconst useStyles = makeStyles((theme: Theme) => {\r\n return createStyles({\r\n title: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n '& .hint-container': {\r\n display: 'flex',\r\n justifyContent: 'flex-end',\r\n fontSize: '0.8rem',\r\n opacity: 0.55,\r\n flex: 1,\r\n '& .hints': {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n rowGap: '4px',\r\n alignItems: 'flex-start',\r\n justifyContent: 'center',\r\n textAlign: 'center',\r\n '& > .hint': {\r\n display: 'flex',\r\n alignItems: 'flex-end',\r\n columnGap: '4px',\r\n },\r\n '& b': {\r\n letterSpacing: theme.palette.type === 'light' ? 'initial' : '0.8px',\r\n },\r\n '& a': {\r\n textDecoration: 'underline',\r\n },\r\n },\r\n },\r\n },\r\n })\r\n})\r\n\r\nexport const NewFileTextEditor: React.FunctionComponent = (props) => {\r\n const repo = useRepository()\r\n const [textValue, setTextValue] = useState('')\r\n const [savedTextValue, setSavedTextValue] = useState('')\r\n const [language, setLanguage] = useState(getMonacoLanguage({ Type: props.contentType } as any, repo))\r\n const localization = useLocalization()\r\n const [uri, setUri] = useState()\r\n const [hasChanges, setHasChanges] = useState(false)\r\n const logger = useLogger('TextEditor')\r\n const [error, setError] = useState()\r\n const classes = useStyles()\r\n const { loadContent } = props\r\n const contentDisplayName = useMemo(\r\n () => repo.schemas.getSchemaByName(props.contentType).DisplayName,\r\n [props.contentType, repo.schemas],\r\n )\r\n\r\n const saveContent = async () => {\r\n const fileName = props.getFileNameFromText?.(textValue) ?? props.fileName\r\n try {\r\n setHasChanges(false)\r\n await repo.upload.textAsFile({\r\n text: textValue,\r\n parentPath: props.savePath,\r\n fileName: `${fileName}${props.fileNamePostfix ?? ''}`,\r\n overwrite: false,\r\n contentTypeName: props.contentType,\r\n binaryPropertyName: 'Binary',\r\n })\r\n logger.information({\r\n message: localization.textEditor.saveSuccessNotification.replace('{0}', fileName),\r\n data: {\r\n relatedRepository: repo.configuration.repositoryUrl,\r\n details: {\r\n text: textValue,\r\n },\r\n },\r\n })\r\n await repo.reloadSchema()\r\n setSavedTextValue(textValue)\r\n props.saveCallback?.()\r\n } catch (err) {\r\n setHasChanges(true)\r\n logger.error({\r\n message: err.message || localization.textEditor.saveFailedNotification.replace('{0}', fileName),\r\n data: {\r\n error: err,\r\n },\r\n })\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n setHasChanges(textValue !== savedTextValue)\r\n }, [textValue, savedTextValue])\r\n\r\n useEffect(() => {\r\n ;(async () => {\r\n const { monaco } = await import('react-monaco-editor')\r\n setUri(monaco.Uri.parse(`sensenet://${props.contentType}`))\r\n })()\r\n }, [props.contentType])\r\n\r\n useEffect(() => {\r\n setLanguage(getMonacoLanguage({ Type: props.contentType } as any, repo))\r\n }, [props.contentType, repo])\r\n\r\n useEffect(() => {\r\n ;(async () => {\r\n try {\r\n if (loadContent) {\r\n const value = await loadContent()\r\n setTextValue(value)\r\n setSavedTextValue(value)\r\n }\r\n } catch (err) {\r\n setError(err)\r\n }\r\n })()\r\n }, [loadContent])\r\n\r\n if (error) {\r\n logger.information({\r\n message: localization.textEditor.saveFailedNotification,\r\n data: error,\r\n })\r\n return null\r\n }\r\n\r\n if (!uri) {\r\n return \r\n }\r\n const renderHint = () => {\r\n if (props.savePath === PATHS.contentTypes.snPath) {\r\n return (\r\n
\r\n
\r\n
\r\n {}\r\n
\r\n
\r\n
\r\n {}{' '}\r\n
\r\n
\r\n
\r\n
\r\n )\r\n }\r\n\r\n return null\r\n }\r\n\r\n return (\r\n \r\n props.setFileName ? (\r\n {\r\n props.setFileName!(ev.target.value)\r\n }}\r\n endAdornment={\r\n props.fileNamePostfix ? (\r\n {props.fileNamePostfix}\r\n ) : undefined\r\n }\r\n />\r\n ) : (\r\n
\r\n New {contentDisplayName} {renderHint()}\r\n
\r\n )\r\n }\r\n />\r\n )\r\n}\r\n","import React, { useState } from 'react'\r\nimport { match, useHistory } from 'react-router-dom'\r\nimport { navigateToAction } from '../../services'\r\nimport { NewFileTextEditor, NewFileTextEditorProps } from '../editor/new-file-text-editor'\r\n\r\nexport type NewTextFileProps = Pick & {\r\n contentTypeName: string\r\n routeMatch: match\r\n fileExtension?: string\r\n isFileNameEditable?: boolean\r\n}\r\n\r\nexport const NewTextFile: React.FunctionComponent = (props) => {\r\n const history = useHistory()\r\n const [fileName, setFileName] = useState('')\r\n\r\n return (\r\n <>\r\n {\r\n navigateToAction({ history, routeMatch: props.routeMatch })\r\n }}\r\n handleCancel={() => {\r\n navigateToAction({ history, routeMatch: props.routeMatch })\r\n }}\r\n fileName={fileName}\r\n setFileName={props.isFileNameEditable ? setFileName : undefined}\r\n fileNamePostfix={props.fileExtension}\r\n loadContent={props.loadContent}\r\n getFileNameFromText={props.getFileNameFromText}\r\n />\r\n \r\n )\r\n}\r\n","import { NewView as SnNewView } from '@sensenet/controls-react'\r\nimport { GenericContent } from '@sensenet/default-content-types'\r\nimport { useLogger, useRepository } from '@sensenet/hooks-react'\r\nimport React, { useCallback, useMemo } from 'react'\r\nimport { useHistory, useRouteMatch } from 'react-router-dom'\r\nimport { PATHS } from '../../application-paths'\r\nimport { LocalizationObject } from '../../context'\r\nimport { useGlobalStyles } from '../../globalStyles'\r\nimport { useLocalization, usePersonalSettings } from '../../hooks'\r\nimport { navigateToAction } from '../../services'\r\nimport { defaultContentType } from '../edit/default-content-type'\r\nimport { NewTextFile } from '../edit/new-text-file'\r\nimport { reactControlMapper } from '../react-control-mapper'\r\nimport { useViewControlStyles } from './common/styles'\r\nimport { ViewTitle } from './common/view-title'\r\n\r\nexport interface NewViewProps {\r\n contentTypeName: string\r\n currentContentPath: string\r\n submitCallback?: () => void // projekt szinten kapja a props-ban\r\n}\r\n\r\nexport const NewView: React.FC = (props) => {\r\n const repository = useRepository()\r\n const controlMapper = reactControlMapper(repository)\r\n const classes = useViewControlStyles()\r\n const localization = useLocalization()\r\n const globalClasses = useGlobalStyles()\r\n const logger = useLogger('NewView')\r\n const history = useHistory()\r\n const routeMatch = useRouteMatch<{ browseType: string; action?: string }>()\r\n const personalSettings = usePersonalSettings()\r\n const contentDisplayName = useMemo(\r\n () => repository.schemas.getSchemaByName(props.contentTypeName).DisplayName,\r\n [props.contentTypeName, repository.schemas],\r\n )\r\n\r\n const handleSubmit = async (content: GenericContent, contentTypeName?: string) => {\r\n try {\r\n const contentType = contentTypeName || props.contentTypeName\r\n const created = await repository.post({\r\n contentType,\r\n parentPath: props.currentContentPath,\r\n content,\r\n contentTemplate: contentType,\r\n })\r\n logger.information({\r\n message: localization.addButton.contentCreatedNotification.replace('{0}', created.d.Name || created.d.Path),\r\n data: {\r\n relatedContent: created,\r\n relatedRepository: repository.configuration.repositoryUrl,\r\n },\r\n })\r\n props.submitCallback?.()\r\n } catch (error) {\r\n logger.error({\r\n message: error.message || localization.addButton.errorPostingContentNotification,\r\n data: {\r\n error,\r\n },\r\n })\r\n }\r\n }\r\n\r\n const loadDefaultContentType = useCallback(async () => {\r\n return defaultContentType\r\n }, [])\r\n\r\n if (props.contentTypeName === 'ContentType') {\r\n return (\r\n text.match(//m)?.[1] || ''}\r\n />\r\n )\r\n } else if (props.contentTypeName === 'Resource') {\r\n return (\r\n \r\n )\r\n } else if (props.contentTypeName === 'Settings') {\r\n return (\r\n \r\n )\r\n }\r\n\r\n return (\r\n navigateToAction({ history, routeMatch })}\r\n showTitle={true}\r\n uploadFolderpath=\"/Root/Content/demoavatars\"\r\n controlMapper={controlMapper}\r\n localization={{ submit: localization.forms.submit, cancel: localization.forms.cancel }}\r\n locale={LocalizationObject[personalSettings.language].locale}\r\n hideDescription\r\n classes={{\r\n ...classes,\r\n cancel: globalClasses.cancelButton,\r\n }}\r\n renderTitle={() => (\r\n \r\n )}\r\n />\r\n )\r\n}\r\n","import {\r\n Avatar,\r\n Button,\r\n Collapse,\r\n createStyles,\r\n Link,\r\n List,\r\n ListItem,\r\n ListItemIcon,\r\n ListItemText,\r\n makeStyles,\r\n Theme,\r\n Tooltip,\r\n} from '@material-ui/core'\r\nimport DesktopMac from '@material-ui/icons/DesktopMac'\r\nimport ExpandLess from '@material-ui/icons/ExpandLess'\r\nimport ExpandMore from '@material-ui/icons/ExpandMore'\r\nimport GroupOutlined from '@material-ui/icons/GroupOutlined'\r\nimport { AclResponseModel, ConstantContent, EntryType } from '@sensenet/client-core'\r\nimport { PathHelper } from '@sensenet/client-utils'\r\nimport { GenericContent, PermissionValues } from '@sensenet/default-content-types'\r\nimport { useLogger, useRepository } from '@sensenet/hooks-react'\r\nimport { clsx } from 'clsx'\r\nimport React, { useContext, useEffect, useState } from 'react'\r\nimport { useHistory, useRouteMatch } from 'react-router'\r\nimport { ResponsivePersonalSettings } from '../../context'\r\nimport { useGlobalStyles } from '../../globalStyles'\r\nimport { useLocalization } from '../../hooks'\r\nimport { getUrlForContent, navigateToAction } from '../../services'\r\nimport { useDialog } from '../dialogs'\r\nimport { useViewControlStyles } from './common/styles'\r\n\r\nconst useStyles = makeStyles((theme: Theme) => {\r\n return createStyles({\r\n permissionEditorContainer: {\r\n padding: '0px 80px',\r\n overflowY: 'auto',\r\n },\r\n titleContainer: {\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n marginTop: '30px',\r\n alignItems: 'center',\r\n },\r\n title: {\r\n fontSize: '20px',\r\n paddingRight: '10px',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n },\r\n contentName: {\r\n fontWeight: 500,\r\n },\r\n listTitle: {\r\n marginLeft: '16px',\r\n },\r\n iconWrapper: {\r\n height: '40px',\r\n width: '40px',\r\n },\r\n collapseWrapper: {\r\n paddingLeft: '30px',\r\n },\r\n anchor: {\r\n fontSize: '14px',\r\n paddingLeft: '15px',\r\n },\r\n localOnlyIcon: {\r\n marginLeft: '20px',\r\n },\r\n assignButton: {\r\n marginLeft: '20px',\r\n },\r\n publicButton: {\r\n backgroundColor: '#12cdd4',\r\n color: theme.palette.common.white,\r\n '&:hover': {\r\n backgroundColor: '#00838f',\r\n },\r\n },\r\n buttonWrapper: {\r\n display: 'inline-flex',\r\n whiteSpace: 'nowrap',\r\n },\r\n })\r\n})\r\n\r\nexport interface PermissionViewProps {\r\n contentPath: string\r\n}\r\n\r\nexport const PermissionView: React.FC = (props) => {\r\n const classes = useStyles()\r\n const globalClasses = useGlobalStyles()\r\n const controlClasses = useViewControlStyles()\r\n const repo = useRepository()\r\n const localization = useLocalization()\r\n const history = useHistory()\r\n const logger = useLogger('PermissionEditor')\r\n const uiSettings = useContext(ResponsivePersonalSettings)\r\n const { openDialog } = useDialog()\r\n const routeMatch = useRouteMatch<{ browseType: string; action?: string }>()\r\n const [permissions, setPermissions] = useState()\r\n const [currentContent, setCurrentContent] = useState()\r\n const [openInheritedList, setOpenInheritedList] = useState(false)\r\n const [openSetOnThisList, setOpenSetOnThisList] = useState(true)\r\n const [refreshFlag, setRefreshFlag] = useState(false)\r\n const [selectedListItem, setSelectedListItem] = useState()\r\n const [isPrivate, setIsPrivate] = useState(false)\r\n\r\n const setOnThisArray = permissions?.entries.filter((entry) => entry.inherited === false)\r\n const inheritedArray = permissions?.entries.filter((entry) => entry.inherited === true)\r\n\r\n useEffect(() => {\r\n async function getCurrentContent() {\r\n const result = await repo.load({\r\n idOrPath: props.contentPath,\r\n })\r\n setCurrentContent(result.d)\r\n }\r\n getCurrentContent()\r\n }, [props.contentPath, repo])\r\n\r\n useEffect(() => {\r\n async function getAllPermissions() {\r\n try {\r\n const result = await repo.security.getAcl(props.contentPath)\r\n setPermissions(result)\r\n } catch (error) {\r\n logger.error({\r\n message: localization.permissionEditor.errorGetAcl,\r\n data: {\r\n error,\r\n },\r\n })\r\n }\r\n }\r\n getAllPermissions()\r\n }, [localization.permissionEditor.errorGetAcl, logger, props.contentPath, repo, refreshFlag])\r\n\r\n useEffect(() => {\r\n const visitorEntries = permissions?.entries.filter(\r\n (entry) => entry.identity.path === ConstantContent.VISITOR_USER.Path && entry.permissions.Open?.value === 'allow',\r\n )\r\n visitorEntries && visitorEntries.length > 0 ? setIsPrivate(false) : setIsPrivate(true)\r\n }, [permissions])\r\n\r\n const selectMemberFunction = (newEntry: EntryType) => {\r\n if (permissions) {\r\n permissions.entries.push(newEntry)\r\n }\r\n setSelectedListItem(`${newEntry.identity.id}${newEntry.propagates}`)\r\n openDialog({\r\n name: 'permission-editor',\r\n props: {\r\n entry: newEntry,\r\n path: currentContent!.Path,\r\n submitCallback: () => {\r\n setRefreshFlag(!refreshFlag)\r\n },\r\n cancelCallback: () => {\r\n permissions?.entries.pop()\r\n },\r\n },\r\n dialogProps: { maxWidth: 'sm', classes: { container: globalClasses.centeredRight } },\r\n })\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n
\r\n {localization.permissionEditor.setPermissons} \r\n \r\n {currentContent?.DisplayName}\r\n \r\n
\r\n
\r\n
\r\n \r\n {\r\n if (permissions) {\r\n try {\r\n if (isPrivate) {\r\n await repo.security.setPermissions(permissions.path, [\r\n { identity: ConstantContent.VISITOR_USER.Path, Open: PermissionValues.allow },\r\n ])\r\n } else {\r\n await repo.security.setPermissions(permissions.path, [\r\n { identity: ConstantContent.VISITOR_USER.Path, See: PermissionValues.undefined },\r\n ])\r\n }\r\n } catch (error) {\r\n logger.error({\r\n message: error.message,\r\n data: {\r\n error,\r\n },\r\n })\r\n return false\r\n } finally {\r\n setRefreshFlag(!refreshFlag)\r\n }\r\n }\r\n }}>\r\n {isPrivate ? localization.permissionEditor.makePublic : localization.permissionEditor.makePrivate}\r\n \r\n \r\n {\r\n setSelectedListItem(undefined)\r\n openDialog({\r\n name: 'member-select',\r\n props: {\r\n currentContentPath: currentContent?.Path,\r\n callbackAfterSelect: (newEntry) => {\r\n selectMemberFunction(newEntry)\r\n },\r\n },\r\n dialogProps: { maxWidth: 'sm', classes: { container: globalClasses.centeredRight } },\r\n })\r\n }}>\r\n {localization.permissionEditor.assign}\r\n \r\n
\r\n
\r\n \r\n setOpenInheritedList(!openInheritedList)}>\r\n {openInheritedList ? : }\r\n \r\n \r\n \r\n \r\n {inheritedArray?.map((inheritedEntry) => {\r\n return (\r\n \r\n {\r\n setSelectedListItem(`${inheritedEntry.identity.id}${inheritedEntry.propagates}`)\r\n openDialog({\r\n name: 'permission-editor',\r\n props: {\r\n entry: inheritedEntry,\r\n path: currentContent!.Path,\r\n submitCallback: () => {\r\n setRefreshFlag(!refreshFlag)\r\n },\r\n },\r\n dialogProps: { maxWidth: 'sm', classes: { container: globalClasses.centeredRight } },\r\n })\r\n }}>\r\n \r\n {inheritedEntry.identity.kind === 'group' ? (\r\n
\r\n \r\n
\r\n ) : inheritedEntry.identity.kind === 'user' && inheritedEntry.identity.avatar ? (\r\n \r\n ) : null}\r\n \r\n \r\n {inheritedEntry.identity.displayName}\r\n ) => {\r\n event.stopPropagation()\r\n const response = await repo.load({\r\n idOrPath: inheritedEntry.ancestor!,\r\n oDataOptions: { select: 'all' },\r\n })\r\n history.push(\r\n getUrlForContent({\r\n content: response.d,\r\n uiSettings,\r\n location: history.location,\r\n action: 'setpermissions',\r\n }),\r\n )\r\n }}\r\n className={classes.anchor}>\r\n ({inheritedEntry.ancestor})\r\n \r\n
\r\n }\r\n />\r\n \r\n \r\n )\r\n })}\r\n \r\n \r\n setOpenSetOnThisList(!openSetOnThisList)}>\r\n {openSetOnThisList ? : }\r\n \r\n \r\n \r\n {setOnThisArray?.length === 0 ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n {setOnThisArray?.map((setOnThisEntry) => {\r\n return (\r\n \r\n {\r\n setSelectedListItem(`${setOnThisEntry.identity.id}${setOnThisEntry.propagates}`)\r\n openDialog({\r\n name: 'permission-editor',\r\n props: {\r\n entry: setOnThisEntry,\r\n path: currentContent!.Path,\r\n submitCallback: () => {\r\n setRefreshFlag(!refreshFlag)\r\n },\r\n },\r\n dialogProps: { maxWidth: 'sm', classes: { container: globalClasses.centeredRight } },\r\n })\r\n }}>\r\n \r\n {setOnThisEntry.identity.kind === 'group' ? (\r\n
\r\n \r\n
\r\n ) : setOnThisEntry.identity.kind === 'user' && setOnThisEntry.identity.avatar ? (\r\n \r\n ) : null}\r\n
\r\n \r\n {setOnThisEntry.identity.displayName}\r\n {!setOnThisEntry.propagates && (\r\n \r\n \r\n \r\n )}\r\n
\r\n }\r\n />\r\n \r\n \r\n )\r\n })}\r\n \r\n )}\r\n \r\n \r\n
\r\n
\r\n {\r\n navigateToAction({ history, routeMatch })\r\n }}>\r\n {localization.permissionEditor.cancel}\r\n \r\n
\r\n \r\n )\r\n}\r\n","import { Button, Grid, IconButton, Table, TableBody, TableCell, TableHead, TableRow, Tooltip } from '@material-ui/core'\r\nimport HistoryIcon from '@material-ui/icons/History'\r\nimport { GenericContent, User } from '@sensenet/default-content-types'\r\nimport { useLogger, useRepository } from '@sensenet/hooks-react'\r\nimport React, { useEffect, useState } from 'react'\r\nimport { useHistory, useRouteMatch } from 'react-router-dom'\r\nimport { useGlobalStyles } from '../../globalStyles'\r\nimport { useLocalization, useSelectionService } from '../../hooks'\r\nimport { useDateUtils } from '../../hooks/use-date-utils'\r\nimport { navigateToAction } from '../../services'\r\nimport { useDialog } from '../dialogs'\r\nimport { useViewControlStyles } from './common/styles'\r\nimport { ViewTitle } from './common/view-title'\r\n\r\nexport interface VersionViewProps {\r\n contentPath?: string\r\n handleCancel?: () => void\r\n isFullPage?: boolean\r\n}\r\n\r\nexport const VersionView: React.FC = (props) => {\r\n const repo = useRepository()\r\n const localization = useLocalization().versionsDialog\r\n const formLocalization = useLocalization().forms\r\n const selectionService = useSelectionService()\r\n const [content, setContent] = useState()\r\n const { openDialog, closeAllDialogs } = useDialog()\r\n const logger = useLogger('VersionsDialog')\r\n const [versions, setVersions] = useState()\r\n const [reloadToken, setReloadToken] = useState(0)\r\n const classes = useViewControlStyles()\r\n const globalClasses = useGlobalStyles()\r\n const history = useHistory()\r\n const routeMatch = useRouteMatch<{ browseType: string; action?: string }>()\r\n const dateUtils = useDateUtils()\r\n\r\n useEffect(() => {\r\n async function getVersions() {\r\n try {\r\n const result = await repo.versioning.getVersions(props.contentPath!, {\r\n select: [\r\n 'Version',\r\n 'VersionModificationDate',\r\n 'CheckInComments',\r\n 'RejectReason',\r\n 'VersionModifiedBy/FullName' as any,\r\n ],\r\n expand: ['VersionModifiedBy'],\r\n metadata: 'no',\r\n })\r\n const orderedVersions = result.d.results.reverse()\r\n setVersions(orderedVersions)\r\n setContent(orderedVersions[0])\r\n selectionService.activeContent.setValue(orderedVersions[0])\r\n logger.verbose({ message: 'getVersions returned with', data: result })\r\n } catch (error) {\r\n logger.error({ message: localization.getVersionsError(props.contentPath!), data: error })\r\n }\r\n }\r\n props.contentPath && getVersions()\r\n }, [closeAllDialogs, props.contentPath, localization, logger, repo, selectionService.activeContent, reloadToken])\r\n\r\n const restoreVersion = (selectedVersion: GenericContent) => {\r\n const name = selectedVersion.DisplayName ?? selectedVersion.Name\r\n openDialog({\r\n name: 'are-you-sure',\r\n props: {\r\n submitText: localization.restoreSubmitText,\r\n bodyText: localization.restoreBodyText(name, selectedVersion.Version),\r\n callBack: async () => {\r\n try {\r\n await repo.versioning.restoreVersion(selectedVersion.Id, selectedVersion.Version)\r\n logger.information({ message: localization.restoreVersionSuccess(name, selectedVersion.Version) })\r\n setReloadToken((prevValue) => prevValue + 1)\r\n } catch (error) {\r\n logger.error({\r\n message: localization.restoreVersionError(name, selectedVersion.Version),\r\n data: { error },\r\n })\r\n } finally {\r\n closeAllDialogs()\r\n }\r\n },\r\n },\r\n })\r\n }\r\n\r\n if (content === undefined) {\r\n return null\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n {localization.versionTableHead}\r\n {localization.modifiedByTableHead}\r\n {localization.commentTableHead}\r\n {localization.rejectReasonTableHead}\r\n {localization.restoreTableHead}\r\n \r\n \r\n \r\n {versions?.map((version, index) => (\r\n \r\n {version.Version}\r\n \r\n {version.VersionModificationDate &&\r\n dateUtils.formatDistanceFromNow(new Date(version.VersionModificationDate))}\r\n {` (${(version.VersionModifiedBy as User).FullName})`}\r\n \r\n \r\n \r\n {version.CheckInComments ?? ''}\r\n \r\n \r\n \r\n \r\n {version.RejectReason ?? ''}\r\n \r\n \r\n \r\n {index !== 0 ? (\r\n restoreVersion(version)} title={localization.restoreButtonTitle}>\r\n \r\n \r\n ) : null}\r\n \r\n \r\n ))}\r\n \r\n
\r\n
\r\n
\r\n {\r\n navigateToAction({ history, routeMatch })\r\n props.handleCancel?.()\r\n }}>\r\n {formLocalization.cancel}\r\n \r\n
\r\n \r\n )\r\n}\r\n","import { useOidcAuthentication } from '@sensenet/authentication-oidc-react'\r\nimport { ConstantContent } from '@sensenet/client-core'\r\nimport { User } from '@sensenet/default-content-types'\r\nimport { useLogger, useRepository } from '@sensenet/hooks-react'\r\nimport React, { createContext, PropsWithChildren, useContext, useEffect, useState } from 'react'\r\n\r\nconst CurrentUserContext = createContext(undefined)\r\n\r\nexport function CurrentUserProvider({ children }: PropsWithChildren<{}>) {\r\n const repository = useRepository()\r\n const { oidcUser } = useOidcAuthentication()\r\n const logger = useLogger('current-user-provider')\r\n const [currentUser, setCurrentUser] = useState()\r\n\r\n useEffect(() => {\r\n const ac = new AbortController()\r\n async function getUser() {\r\n if (!oidcUser) {\r\n return\r\n }\r\n\r\n try {\r\n const result = await repository.load({\r\n idOrPath: oidcUser.profile.sub,\r\n oDataOptions: {\r\n select: 'all',\r\n expand: ['AllRoles'] as any,\r\n },\r\n requestInit: {\r\n signal: ac.signal,\r\n },\r\n })\r\n setCurrentUser(result.d)\r\n } catch (error) {\r\n if (!ac.signal.aborted) {\r\n logger.debug({ message: `Couldn't load current user`, data: error })\r\n setCurrentUser(ConstantContent.VISITOR_USER)\r\n }\r\n }\r\n }\r\n getUser()\r\n return () => ac.abort()\r\n }, [logger, oidcUser, repository])\r\n\r\n if (!currentUser) {\r\n return null\r\n }\r\n\r\n return {children}\r\n}\r\n\r\nexport function useCurrentUser() {\r\n const context = useContext(CurrentUserContext)\r\n\r\n if (!context) {\r\n throw new Error('useCurrentUser must be used within a CurrentUserProvider')\r\n }\r\n return context\r\n}\r\n","/* eslint-disable import/no-duplicates */\r\nimport { useInjector } from '@sensenet/hooks-react'\r\nimport enUS from 'date-fns/locale/en-US'\r\nimport hu from 'date-fns/locale/hu'\r\nimport React, { createContext, useEffect, useState } from 'react'\r\nimport { usePersonalSettings } from '../hooks'\r\nimport DefaultLocalization from '../localization/default'\r\nimport { LocalizationService } from '../services/LocalizationService'\r\n\r\nexport const LocalizationObject = {\r\n hungarian: { text: 'hu', locale: hu },\r\n default: { text: 'en', locale: enUS },\r\n}\r\n\r\n/**\r\n * Context that can be used for getting localization values\r\n */\r\nexport const LocalizationContext = createContext({\r\n service: new LocalizationService(),\r\n values: DefaultLocalization,\r\n})\r\n\r\n/**\r\n * Context provider for Localization values. Update the PersonalSettings.language to load a new language into the context.\r\n * @param props\r\n */\r\nexport const LocalizationProvider: React.FunctionComponent = (props) => {\r\n const injector = useInjector()\r\n const [localizationService] = useState(injector.getInstance(LocalizationService))\r\n const [currentValues, setCurrentValues] = useState(DefaultLocalization)\r\n const personalSettings = usePersonalSettings()\r\n\r\n useEffect(() => {\r\n const observable = localizationService.currentValues.subscribe((v) => {\r\n /**\r\n * This is a temporary solution until we refactor l18n\r\n * We don't want to set the state if the values are the same.\r\n */\r\n if (JSON.stringify(currentValues) === JSON.stringify(v)) {\r\n return\r\n }\r\n setCurrentValues(v)\r\n })\r\n return () => observable.dispose()\r\n }, [currentValues, localizationService.currentValues])\r\n\r\n useEffect(() => {\r\n const langCode = LocalizationObject[personalSettings.language].text\r\n localizationService.load(personalSettings.language)\r\n document.documentElement.lang = langCode\r\n }, [localizationService, personalSettings.language])\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n )\r\n}\r\n","import { useInjector } from '@sensenet/hooks-react'\r\nimport React, { createContext, useEffect, useState } from 'react'\r\nimport { defaultSettings, PersonalSettings } from '../services/PersonalSettings'\r\n\r\nexport const PersonalSettingsContext = createContext(defaultSettings)\r\n\r\nexport const PersonalSettingsContextProvider: React.FunctionComponent = (props) => {\r\n const di = useInjector()\r\n const settingsService = di.getInstance(PersonalSettings)\r\n const [settings, setSettings] = useState(settingsService.effectiveValue.getValue())\r\n useEffect(() => {\r\n settingsService.effectiveValue.subscribe((s) => {\r\n setSettings(s)\r\n })\r\n }, [settingsService.effectiveValue])\r\n return {props.children}\r\n}\r\n","import { AppBar, Button, Container, createStyles, makeStyles, Toolbar, Typography } from '@material-ui/core'\r\nimport React from 'react'\r\nimport { NavLink } from 'react-router-dom'\r\nimport logo from '../../assets/sensenet-icon-32.png'\r\nimport { globals, useGlobalStyles } from '../../globalStyles'\r\n\r\nconst useStyles = makeStyles(() =>\r\n createStyles({\r\n appBar: {\r\n height: globals.common.headerHeight,\r\n backgroundColor: globals.common.headerBackground,\r\n boxShadow: 'none',\r\n },\r\n toolBar: {\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n height: '100%',\r\n paddingRight: 0,\r\n paddingLeft: '32px',\r\n },\r\n contentWrapper: {\r\n minHeight: 'calc(100vh - 180px)',\r\n position: 'relative',\r\n },\r\n contentSlot: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n flexFlow: 'column',\r\n },\r\n title: {\r\n textAlign: 'center',\r\n marginTop: '20px',\r\n },\r\n footer: {\r\n height: '180px',\r\n backgroundColor: globals.common.headerBackground,\r\n boxShadow: 'none',\r\n },\r\n }),\r\n)\r\n\r\nexport const AuthOverrideSkeleton = (props: {\r\n primaryText: string\r\n secondaryText: string\r\n buttonText?: string\r\n buttonOnClick?: () => void\r\n}) => {\r\n const classes = useStyles()\r\n const globalClasses = useGlobalStyles()\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n
\r\n \r\n \"logo\"\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n {props.primaryText}\r\n \r\n \r\n {props.secondaryText}\r\n \r\n {props.buttonOnClick && (\r\n \r\n props.buttonOnClick?.()}>\r\n {props.buttonText}\r\n \r\n
\r\n )}\r\n \r\n
\r\n