@comet/cms-admin 9.0.0-beta.3 → 9.0.0-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/blocks/PixelImageBlock.d.ts.map +1 -1
- package/lib/blocks/PixelImageBlock.fragment.d.ts +2 -0
- package/lib/blocks/PixelImageBlock.fragment.d.ts.map +1 -0
- package/lib/blocks/PixelImageBlock.fragment.generated.d.ts +20 -0
- package/lib/blocks/PixelImageBlock.fragment.generated.d.ts.map +1 -0
- package/lib/blocks/PixelImageBlock.fragment.generated.js +5 -0
- package/lib/blocks/PixelImageBlock.fragment.js +4 -0
- package/lib/blocks/PixelImageBlock.js +3 -2
- package/lib/blocks/__stories__/BlockInFinalForm.stories.js +53 -0
- package/lib/blocks/__stories__/RichTextBlock.stories.js +53 -0
- package/lib/blocks/createLinkBlock.d.ts.map +1 -1
- package/lib/blocks/createLinkBlock.js +50 -1
- package/lib/blocks/createRichTextBlock.d.ts.map +1 -1
- package/lib/blocks/createRichTextBlock.js +56 -20
- package/lib/blocks/createSeoBlock.d.ts.map +1 -1
- package/lib/blocks/createSeoBlock.js +6 -4
- package/lib/blocks/createTextLinkBlock.d.ts.map +1 -1
- package/lib/blocks/createTextLinkBlock.js +36 -1
- package/lib/blocks/factories/createBlocksBlock.d.ts.map +1 -1
- package/lib/blocks/factories/createBlocksBlock.js +70 -13
- package/lib/blocks/factories/createColumnsBlock.d.ts.map +1 -1
- package/lib/blocks/factories/createColumnsBlock.js +56 -6
- package/lib/blocks/factories/createListBlock.d.ts.map +1 -1
- package/lib/blocks/factories/createListBlock.js +56 -6
- package/lib/blocks/factories/createOneOfBlock.d.ts.map +1 -1
- package/lib/blocks/factories/createOneOfBlock.js +62 -5
- package/lib/blocks/factories/createOptionalBlock.d.ts.map +1 -1
- package/lib/blocks/factories/createOptionalBlock.js +38 -1
- package/lib/blocks/helpers/__stories__/createCompositeBlockSelectField.stories.js +106 -0
- package/lib/blocks/helpers/composeBlocks/composeBlocks.d.ts.map +1 -1
- package/lib/blocks/helpers/composeBlocks/composeBlocks.js +52 -16
- package/lib/blocks/helpers/composeBlocks/createCompositeBlockField.d.ts +2 -1
- package/lib/blocks/helpers/composeBlocks/createCompositeBlockField.d.ts.map +1 -1
- package/lib/blocks/helpers/composeBlocks/createCompositeBlockField.js +4 -2
- package/lib/blocks/helpers/composeBlocks/createSettingsBlock.d.ts +2 -1
- package/lib/blocks/helpers/composeBlocks/createSettingsBlock.d.ts.map +1 -1
- package/lib/blocks/helpers/composeBlocks/createSettingsBlock.js +5 -1
- package/lib/blocks/helpers/createBlockSkeleton.js +15 -1
- package/lib/blocks/helpers/createCompositeBlockTextField.d.ts +2 -1
- package/lib/blocks/helpers/createCompositeBlockTextField.d.ts.map +1 -1
- package/lib/blocks/helpers/createCompositeBlockTextField.js +20 -2
- package/lib/blocks/table/TableBlockGrid.d.ts.map +1 -1
- package/lib/blocks/table/TableBlockGrid.js +3 -1
- package/lib/blocks/table/utils/column.d.ts +16 -21
- package/lib/blocks/table/utils/column.d.ts.map +1 -1
- package/lib/blocks/table/utils/column.js +0 -11
- package/lib/blocks/table/utils/getClipboardValueForSchema.d.ts +1 -1
- package/lib/blocks/table/utils/getClipboardValueForSchema.d.ts.map +1 -1
- package/lib/blocks/table/utils/row.d.ts +3 -18
- package/lib/blocks/table/utils/row.d.ts.map +1 -1
- package/lib/blocks/table/utils/row.js +1 -1
- package/lib/blocks/table/utils/rteSchema.d.ts +1 -5
- package/lib/blocks/table/utils/rteSchema.d.ts.map +1 -1
- package/lib/blocks/tipTap/BlockStyleContext.d.ts +3 -0
- package/lib/blocks/tipTap/BlockStyleContext.d.ts.map +1 -0
- package/lib/blocks/tipTap/BlockStyleContext.js +2 -0
- package/lib/blocks/tipTap/InlineStyleContext.d.ts +3 -0
- package/lib/blocks/tipTap/InlineStyleContext.d.ts.map +1 -0
- package/lib/blocks/tipTap/InlineStyleContext.js +2 -0
- package/lib/blocks/tipTap/TipTapLinkDialog.d.ts +10 -0
- package/lib/blocks/tipTap/TipTapLinkDialog.d.ts.map +1 -0
- package/lib/blocks/tipTap/TipTapLinkDialog.js +105 -0
- package/lib/blocks/tipTap/TipTapToolbar.d.ts +13 -0
- package/lib/blocks/tipTap/TipTapToolbar.d.ts.map +1 -0
- package/lib/blocks/tipTap/TipTapToolbar.js +666 -0
- package/lib/blocks/tipTap/__stories__/TipTapRichTextBlock.stories.js +1841 -0
- package/lib/blocks/tipTap/createTipTapRichTextBlock.d.ts +61 -0
- package/lib/blocks/tipTap/createTipTapRichTextBlock.d.ts.map +1 -0
- package/lib/blocks/tipTap/createTipTapRichTextBlock.js +424 -0
- package/lib/blocks/tipTap/extensions/BlockStyleHeading.d.ts +2 -0
- package/lib/blocks/tipTap/extensions/BlockStyleHeading.d.ts.map +1 -0
- package/lib/blocks/tipTap/extensions/BlockStyleHeading.js +57 -0
- package/lib/blocks/tipTap/extensions/BlockStyleParagraph.d.ts +2 -0
- package/lib/blocks/tipTap/extensions/BlockStyleParagraph.d.ts.map +1 -0
- package/lib/blocks/tipTap/extensions/BlockStyleParagraph.js +56 -0
- package/lib/blocks/tipTap/extensions/CmsLink.d.ts +13 -0
- package/lib/blocks/tipTap/extensions/CmsLink.d.ts.map +1 -0
- package/lib/blocks/tipTap/extensions/CmsLink.js +42 -0
- package/lib/blocks/tipTap/extensions/InlineStyleMark.d.ts +13 -0
- package/lib/blocks/tipTap/extensions/InlineStyleMark.d.ts.map +1 -0
- package/lib/blocks/tipTap/extensions/InlineStyleMark.js +71 -0
- package/lib/blocks/tipTap/extensions/NonBreakingSpace.d.ts +10 -0
- package/lib/blocks/tipTap/extensions/NonBreakingSpace.d.ts.map +1 -0
- package/lib/blocks/tipTap/extensions/NonBreakingSpace.js +57 -0
- package/lib/blocks/tipTap/extensions/Placeholder.d.ts +10 -0
- package/lib/blocks/tipTap/extensions/Placeholder.d.ts.map +1 -0
- package/lib/blocks/tipTap/extensions/Placeholder.js +78 -0
- package/lib/blocks/tipTap/extensions/SoftHyphen.d.ts +10 -0
- package/lib/blocks/tipTap/extensions/SoftHyphen.d.ts.map +1 -0
- package/lib/blocks/tipTap/extensions/SoftHyphen.js +51 -0
- package/lib/blocks/tipTap/listLevelMaxHelpers.d.ts +6 -0
- package/lib/blocks/tipTap/listLevelMaxHelpers.d.ts.map +1 -0
- package/lib/blocks/tipTap/listLevelMaxHelpers.js +108 -0
- package/lib/blocks/types.d.ts +7 -0
- package/lib/blocks/types.d.ts.map +1 -1
- package/lib/builds/PublisherPage.js +2 -2
- package/lib/builds/StartBuildsDialog.d.ts.map +1 -1
- package/lib/builds/StartBuildsDialog.js +1 -1
- package/lib/common/__stories__/MasterMenuInMasterLayout.stories.js +87 -0
- package/lib/config/CometConfigContext.d.ts +8 -1
- package/lib/config/CometConfigContext.d.ts.map +1 -1
- package/lib/config/CometConfigContext.js +9 -5
- package/lib/contentScope/__stories__/ContentScopeProvider.stories.js +85 -0
- package/lib/contentScope/__stories__/ContentScopeSelect.stories.js +655 -0
- package/lib/contentScope/noContentScopeFallback/__stories__/NoContentScopeFallback.stories.js +7 -0
- package/lib/cronJobs/CronJobsGrid.js +1 -1
- package/lib/cronJobs/JobsGrid.js +1 -1
- package/lib/dam/DamTable.d.ts +5 -1
- package/lib/dam/DamTable.d.ts.map +1 -1
- package/lib/dam/DamTable.js +5 -1
- package/lib/dam/DataGrid/FolderDataGrid.d.ts +1 -1
- package/lib/dam/DataGrid/FolderDataGrid.d.ts.map +1 -1
- package/lib/dam/DataGrid/FolderDataGrid.js +58 -47
- package/lib/dam/DataGrid/selection/DamSelectionContext.d.ts +7 -4
- package/lib/dam/DataGrid/selection/DamSelectionContext.d.ts.map +1 -1
- package/lib/dam/DataGrid/selection/DamSelectionContext.js +11 -3
- package/lib/dam/FileForm/EditFile.d.ts.map +1 -1
- package/lib/dam/FileForm/EditFile.js +5 -2
- package/lib/dam/mediaAlternatives/MediaAlternativesGrid.d.ts.map +1 -1
- package/lib/dam/mediaAlternatives/MediaAlternativesGrid.js +1 -1
- package/lib/dashboard/widgets/LatestBuildsDashboardWidget.js +1 -1
- package/lib/dashboard/widgets/LatestContentUpdatesDashboardWidget.d.ts +1 -1
- package/lib/dashboard/widgets/LatestContentUpdatesDashboardWidget.d.ts.map +1 -1
- package/lib/dashboard/widgets/LatestContentUpdatesDashboardWidget.js +1 -1
- package/lib/dashboard/widgets/__stories__/DashboardWidgetRoot.stories.js +82 -0
- package/lib/dataGrid/DataGrid.d.ts +3 -0
- package/lib/dataGrid/DataGrid.d.ts.map +1 -0
- package/lib/dataGrid/DataGrid.js +19 -0
- package/lib/dependencies/DependenciesList.d.ts.map +1 -1
- package/lib/dependencies/DependenciesList.js +1 -1
- package/lib/dependencies/DependentsList.d.ts.map +1 -1
- package/lib/dependencies/DependentsList.js +1 -1
- package/lib/form/file/FileField.d.ts +15 -12
- package/lib/form/file/FileField.d.ts.map +1 -1
- package/lib/form/file/FileField.gql.d.ts +2 -0
- package/lib/form/file/FileField.gql.d.ts.map +1 -1
- package/lib/form/file/FileField.gql.generated.d.ts +40 -0
- package/lib/form/file/FileField.gql.generated.d.ts.map +1 -1
- package/lib/form/file/FileField.gql.generated.js +2 -1
- package/lib/form/file/FileField.gql.js +6 -3
- package/lib/form/file/FileField.js +170 -86
- package/lib/form/file/FileFieldMenu.d.ts +17 -0
- package/lib/form/file/FileFieldMenu.d.ts.map +1 -0
- package/lib/form/file/FileFieldMenu.js +91 -0
- package/lib/form/file/FileFieldRow.d.ts +12 -0
- package/lib/form/file/FileFieldRow.d.ts.map +1 -0
- package/lib/form/file/FileFieldRow.js +96 -0
- package/lib/form/file/__stories__/FileUploadField.stories.js +351 -0
- package/lib/form/file/chooseFile/BaseChooseDamFileDialog.d.ts +20 -0
- package/lib/form/file/chooseFile/BaseChooseDamFileDialog.d.ts.map +1 -0
- package/lib/form/file/chooseFile/BaseChooseDamFileDialog.js +106 -0
- package/lib/form/file/chooseFile/ChooseDamFileDialog.d.ts.map +1 -1
- package/lib/form/file/chooseFile/ChooseDamFileDialog.js +34 -89
- package/lib/form/file/chooseFile/ChooseDamFilesDialog.d.ts +9 -0
- package/lib/form/file/chooseFile/ChooseDamFilesDialog.d.ts.map +1 -0
- package/lib/form/file/chooseFile/ChooseDamFilesDialog.js +117 -0
- package/lib/graphql.generated.d.ts +19 -1
- package/lib/graphql.generated.d.ts.map +1 -1
- package/lib/index.d.ts +10 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +7 -0
- package/lib/pages/createEditPageNode.d.ts.map +1 -1
- package/lib/pages/createEditPageNode.js +1 -12
- package/lib/pages/createUsePage.d.ts +1 -0
- package/lib/pages/createUsePage.d.ts.map +1 -1
- package/lib/pages/createUsePage.js +135 -6
- package/lib/pages/pageTree/PageActions.d.ts.map +1 -1
- package/lib/pages/pageTree/PageActions.js +21 -3
- package/lib/pages/pageTree/findAvailableSlug.d.ts +11 -0
- package/lib/pages/pageTree/findAvailableSlug.d.ts.map +1 -0
- package/lib/pages/pageTree/findAvailableSlug.generated.d.ts +16 -0
- package/lib/pages/pageTree/findAvailableSlug.generated.d.ts.map +1 -0
- package/lib/pages/pageTree/findAvailableSlug.generated.js +5 -0
- package/lib/pages/pageTree/findAvailableSlug.js +62 -0
- package/lib/pages/pageTree/transformToSlug.d.ts +2 -0
- package/lib/pages/pageTree/transformToSlug.d.ts.map +1 -0
- package/lib/pages/pageTree/transformToSlug.js +12 -0
- package/lib/pages/pageTree/useCopyPastePages/sendPages.d.ts.map +1 -1
- package/lib/pages/pageTree/useCopyPastePages/sendPages.generated.d.ts +0 -10
- package/lib/pages/pageTree/useCopyPastePages/sendPages.generated.d.ts.map +1 -1
- package/lib/pages/pageTree/useCopyPastePages/sendPages.generated.js +0 -1
- package/lib/pages/pageTree/useCopyPastePages/sendPages.js +19 -40
- package/lib/pages/pageTree/useCopyPastePages.d.ts.map +1 -1
- package/lib/pages/pageTree/useCopyPastePages.js +1 -1
- package/lib/pages/pageTree/{useCopyPastePages/ProgressDialog.d.ts → useProgressDialog.d.ts} +1 -1
- package/lib/pages/pageTree/useProgressDialog.d.ts.map +1 -0
- package/lib/pages/pageTree/useTranslatePagesAction.d.ts +16 -0
- package/lib/pages/pageTree/useTranslatePagesAction.d.ts.map +1 -0
- package/lib/pages/pageTree/useTranslatePagesAction.generated.d.ts +20 -0
- package/lib/pages/pageTree/useTranslatePagesAction.generated.d.ts.map +1 -0
- package/lib/pages/pageTree/useTranslatePagesAction.generated.js +5 -0
- package/lib/pages/pageTree/useTranslatePagesAction.js +339 -0
- package/lib/pages/pagesPage/PagesPageActionToolbar.d.ts.map +1 -1
- package/lib/pages/pagesPage/PagesPageActionToolbar.js +29 -2
- package/lib/pages/pagesPage/PagesPageActionToolbar.sc.d.ts +2 -2
- package/lib/redirects/RedirectsGrid.d.ts +1 -1
- package/lib/redirects/RedirectsGrid.d.ts.map +1 -1
- package/lib/redirects/RedirectsGrid.gql.d.ts +1 -0
- package/lib/redirects/RedirectsGrid.gql.d.ts.map +1 -1
- package/lib/redirects/RedirectsGrid.gql.generated.d.ts +8 -0
- package/lib/redirects/RedirectsGrid.gql.generated.d.ts.map +1 -1
- package/lib/redirects/RedirectsGrid.gql.generated.js +2 -1
- package/lib/redirects/RedirectsGrid.gql.js +3 -2
- package/lib/redirects/RedirectsGrid.js +107 -15
- package/lib/translation/AzureAiTranslatorProvider.d.ts +1 -1
- package/lib/translation/AzureAiTranslatorProvider.d.ts.map +1 -1
- package/lib/translation/AzureAiTranslatorProvider.generated.d.ts +8 -0
- package/lib/translation/AzureAiTranslatorProvider.generated.d.ts.map +1 -1
- package/lib/translation/AzureAiTranslatorProvider.generated.js +2 -1
- package/lib/translation/AzureAiTranslatorProvider.js +31 -2
- package/lib/translation/TranslatableInterface.d.ts +4 -0
- package/lib/translation/TranslatableInterface.d.ts.map +1 -0
- package/lib/translation/TranslatableInterface.js +1 -0
- package/lib/translation/TranslateContentMenuItem.d.ts +7 -0
- package/lib/translation/TranslateContentMenuItem.d.ts.map +1 -0
- package/lib/translation/TranslateContentMenuItem.js +99 -0
- package/lib/translation/createDocumentTranslationMethods.d.ts +4 -0
- package/lib/translation/createDocumentTranslationMethods.d.ts.map +1 -0
- package/lib/translation/createDocumentTranslationMethods.js +62 -0
- package/lib/userPermissions/UserGrid.d.ts +1 -1
- package/lib/userPermissions/UserGrid.d.ts.map +1 -1
- package/lib/userPermissions/UserGrid.js +2 -2
- package/lib/userPermissions/user/permissions/ContentScopeGrid.d.ts.map +1 -1
- package/lib/userPermissions/user/permissions/ContentScopeGrid.js +1 -1
- package/lib/userPermissions/user/permissions/OverrideContentScopesDialog.js +1 -1
- package/lib/userPermissions/user/permissions/PermissionGrid.d.ts.map +1 -1
- package/lib/userPermissions/user/permissions/PermissionGrid.js +1 -1
- package/lib/userPermissions/user/permissions/selectScopesDialogContent/SelectScopesDialogContent.d.ts.map +1 -1
- package/lib/userPermissions/user/permissions/selectScopesDialogContent/SelectScopesDialogContent.js +1 -1
- package/lib/validation/validateJson.d.ts +2 -0
- package/lib/validation/validateJson.d.ts.map +1 -0
- package/lib/validation/validateJson.js +15 -0
- package/lib/warnings/LatestWarningsDashboardWidget.js +1 -1
- package/lib/warnings/WarningsGrid.d.ts.map +1 -1
- package/lib/warnings/WarningsGrid.js +1 -1
- package/package.json +36 -26
- package/lib/dashboard/__stories__/DateTime.stories.d.ts +0 -7
- package/lib/dashboard/__stories__/DateTime.stories.d.ts.map +0 -1
- package/lib/pages/pageTree/useCopyPastePages/ProgressDialog.d.ts.map +0 -1
- /package/lib/pages/pageTree/{useCopyPastePages/ProgressDialog.js → useProgressDialog.js} +0 -0
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
-
|
|
3
|
-
function
|
|
4
|
-
function
|
|
5
|
-
function
|
|
6
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
7
|
-
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
8
|
-
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
9
|
-
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
2
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
3
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
4
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
5
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
10
6
|
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
11
7
|
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
12
8
|
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
|
|
@@ -17,20 +13,39 @@ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r)
|
|
|
17
13
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
18
14
|
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
19
15
|
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
16
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
17
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
18
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
19
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
20
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
20
21
|
import { useApolloClient } from "@apollo/client";
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
22
|
+
import { Alert, useSnackbarApi } from "@comet/admin";
|
|
23
|
+
import { Assets, Delete, MoreVertical } from "@comet/admin-icons";
|
|
24
|
+
import { Box, Divider, Grid, IconButton, List, Snackbar, Typography } from "@mui/material";
|
|
25
|
+
import { useState } from "react";
|
|
24
26
|
import { FormattedMessage } from "react-intl";
|
|
25
27
|
import { BlockAdminComponentButton } from "../../blocks/common/BlockAdminComponentButton";
|
|
26
28
|
import { BlockAdminComponentPaper } from "../../blocks/common/BlockAdminComponentPaper";
|
|
27
|
-
import {
|
|
28
|
-
import {
|
|
29
|
+
import { DamScopeProvider } from "../../dam/config/DamScopeProvider";
|
|
30
|
+
import { useDamScope } from "../../dam/config/useDamScope";
|
|
29
31
|
import { ChooseDamFileDialog } from "./chooseFile/ChooseDamFileDialog";
|
|
32
|
+
import { ChooseDamFilesDialog } from "./chooseFile/ChooseDamFilesDialog";
|
|
30
33
|
import { DamPathLazy } from "./DamPathLazy";
|
|
31
|
-
import { damFileFieldFileQuery } from "./FileField.gql";
|
|
34
|
+
import { damFileFieldFileQuery, damFileFieldFilesByIdsQuery } from "./FileField.gql";
|
|
35
|
+
import { FileFieldMenu, useHasFileFieldMenu } from "./FileFieldMenu";
|
|
36
|
+
import { FileFieldRow } from "./FileFieldRow";
|
|
32
37
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
33
|
-
|
|
38
|
+
export function FileField(props) {
|
|
39
|
+
var _props$input;
|
|
40
|
+
// `react-final-form`'s `<Field>` strips `multiple` from the component's top-level props
|
|
41
|
+
// and puts it on `input.multiple`, so we have to check both locations.
|
|
42
|
+
var isMultiple = Boolean(props.multiple) || Boolean((_props$input = props.input) === null || _props$input === void 0 ? void 0 : _props$input.multiple);
|
|
43
|
+
if (isMultiple) {
|
|
44
|
+
return /*#__PURE__*/_jsx(MultiFileField, _objectSpread({}, props));
|
|
45
|
+
}
|
|
46
|
+
return /*#__PURE__*/_jsx(SingleFileField, _objectSpread({}, props));
|
|
47
|
+
}
|
|
48
|
+
var SingleFileField = function SingleFileField(_ref) {
|
|
34
49
|
var buttonText = _ref.buttonText,
|
|
35
50
|
input = _ref.input,
|
|
36
51
|
allowedMimetypes = _ref.allowedMimetypes,
|
|
@@ -40,21 +55,14 @@ var FileField = function FileField(_ref) {
|
|
|
40
55
|
_useState2 = _slicedToArray(_useState, 2),
|
|
41
56
|
chooseFileDialogOpen = _useState2[0],
|
|
42
57
|
setChooseFileDialogOpen = _useState2[1];
|
|
43
|
-
var client = useApolloClient();
|
|
44
58
|
var _useState3 = useState(null),
|
|
45
59
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
46
60
|
anchorEl = _useState4[0],
|
|
47
61
|
setAnchorEl = _useState4[1];
|
|
48
|
-
var contentScope = useContentScope();
|
|
49
62
|
var apolloClient = useApolloClient();
|
|
50
|
-
var
|
|
51
|
-
entityDependencyMap = _useDependenciesConfi.entityDependencyMap;
|
|
52
|
-
var handleMenuClose = function handleMenuClose() {
|
|
53
|
-
setAnchorEl(null);
|
|
54
|
-
};
|
|
63
|
+
var showMenu = useHasFileFieldMenu(menuActions);
|
|
55
64
|
var damFile = input.value;
|
|
56
65
|
if (damFile) {
|
|
57
|
-
var showMenu = Boolean(entityDependencyMap["DamFile"]) || menuActions !== undefined && menuActions.length > 0;
|
|
58
66
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
59
67
|
children: [/*#__PURE__*/_jsxs(BlockAdminComponentPaper, {
|
|
60
68
|
disablePadding: true,
|
|
@@ -102,58 +110,14 @@ var FileField = function FileField(_ref) {
|
|
|
102
110
|
defaultMessage: "Empty"
|
|
103
111
|
})
|
|
104
112
|
})]
|
|
105
|
-
}), showMenu && /*#__PURE__*/
|
|
113
|
+
}), showMenu && /*#__PURE__*/_jsx(FileFieldMenu, {
|
|
114
|
+
fileId: damFile.id,
|
|
106
115
|
anchorEl: anchorEl,
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
var path, url;
|
|
113
|
-
return _regenerator().w(function (_context) {
|
|
114
|
-
while (1) switch (_context.n) {
|
|
115
|
-
case 0:
|
|
116
|
-
_context.n = 1;
|
|
117
|
-
return entityDependencyMap["DamFile"].resolvePath({
|
|
118
|
-
apolloClient: apolloClient,
|
|
119
|
-
id: damFile.id
|
|
120
|
-
});
|
|
121
|
-
case 1:
|
|
122
|
-
path = _context.v;
|
|
123
|
-
url = contentScope.match.url + path;
|
|
124
|
-
window.open(url, "_blank");
|
|
125
|
-
case 2:
|
|
126
|
-
return _context.a(2);
|
|
127
|
-
}
|
|
128
|
-
}, _callee);
|
|
129
|
-
})),
|
|
130
|
-
children: [/*#__PURE__*/_jsx(ListItemIcon, {
|
|
131
|
-
children: /*#__PURE__*/_jsx(OpenNewTab, {})
|
|
132
|
-
}), /*#__PURE__*/_jsx(ListItemText, {
|
|
133
|
-
primary: /*#__PURE__*/_jsx(FormattedMessage, {
|
|
134
|
-
id: "comet.form.file.openInDam",
|
|
135
|
-
defaultMessage: "Open in DAM"
|
|
136
|
-
})
|
|
137
|
-
})]
|
|
138
|
-
}), menuActions && menuActions.map(function (item, index) {
|
|
139
|
-
if (!item) {
|
|
140
|
-
return null;
|
|
141
|
-
}
|
|
142
|
-
if (/*#__PURE__*/isValidElement(item)) {
|
|
143
|
-
return item;
|
|
144
|
-
}
|
|
145
|
-
var _ref3 = item,
|
|
146
|
-
label = _ref3.label,
|
|
147
|
-
icon = _ref3.icon,
|
|
148
|
-
rest = _objectWithoutProperties(_ref3, _excluded);
|
|
149
|
-
return /*#__PURE__*/_jsxs(MenuItem, _objectSpread(_objectSpread({}, rest), {}, {
|
|
150
|
-
children: [!!icon && /*#__PURE__*/_jsx(ListItemIcon, {
|
|
151
|
-
children: icon
|
|
152
|
-
}), /*#__PURE__*/_jsx(ListItemText, {
|
|
153
|
-
primary: label
|
|
154
|
-
})]
|
|
155
|
-
}), index);
|
|
156
|
-
})]
|
|
116
|
+
onClose: function onClose() {
|
|
117
|
+
return setAnchorEl(null);
|
|
118
|
+
},
|
|
119
|
+
menuActions: menuActions,
|
|
120
|
+
keepMounted: true
|
|
157
121
|
})]
|
|
158
122
|
});
|
|
159
123
|
}
|
|
@@ -175,33 +139,153 @@ var FileField = function FileField(_ref) {
|
|
|
175
139
|
return setChooseFileDialogOpen(false);
|
|
176
140
|
},
|
|
177
141
|
onChooseFile: (/*#__PURE__*/function () {
|
|
178
|
-
var
|
|
179
|
-
var _yield$
|
|
180
|
-
return _regenerator().w(function (
|
|
181
|
-
while (1) switch (
|
|
142
|
+
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(fileId) {
|
|
143
|
+
var _yield$apolloClient$q, data;
|
|
144
|
+
return _regenerator().w(function (_context) {
|
|
145
|
+
while (1) switch (_context.n) {
|
|
182
146
|
case 0:
|
|
183
147
|
setChooseFileDialogOpen(false);
|
|
184
|
-
|
|
185
|
-
return
|
|
148
|
+
_context.n = 1;
|
|
149
|
+
return apolloClient.query({
|
|
186
150
|
query: damFileFieldFileQuery,
|
|
187
151
|
variables: {
|
|
188
152
|
id: fileId
|
|
189
153
|
}
|
|
190
154
|
});
|
|
191
155
|
case 1:
|
|
192
|
-
_yield$
|
|
193
|
-
data = _yield$
|
|
156
|
+
_yield$apolloClient$q = _context.v;
|
|
157
|
+
data = _yield$apolloClient$q.data;
|
|
194
158
|
input.onChange(data.damFile);
|
|
195
159
|
case 2:
|
|
196
|
-
return
|
|
160
|
+
return _context.a(2);
|
|
197
161
|
}
|
|
198
|
-
},
|
|
162
|
+
}, _callee);
|
|
199
163
|
}));
|
|
200
164
|
return function (_x) {
|
|
201
|
-
return
|
|
165
|
+
return _ref2.apply(this, arguments);
|
|
202
166
|
};
|
|
203
167
|
}())
|
|
204
168
|
})]
|
|
205
169
|
});
|
|
206
170
|
};
|
|
207
|
-
|
|
171
|
+
var MultiFileField = function MultiFileField(props) {
|
|
172
|
+
return /*#__PURE__*/_jsx(DamScopeProvider, {
|
|
173
|
+
children: /*#__PURE__*/_jsx(MultiFileFieldInner, _objectSpread({}, props))
|
|
174
|
+
});
|
|
175
|
+
};
|
|
176
|
+
var MultiFileFieldInner = function MultiFileFieldInner(_ref3) {
|
|
177
|
+
var buttonText = _ref3.buttonText,
|
|
178
|
+
input = _ref3.input,
|
|
179
|
+
allowedMimetypes = _ref3.allowedMimetypes,
|
|
180
|
+
preview = _ref3.preview,
|
|
181
|
+
menuActions = _ref3.menuActions;
|
|
182
|
+
var _useState5 = useState(false),
|
|
183
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
184
|
+
dialogOpen = _useState6[0],
|
|
185
|
+
setDialogOpen = _useState6[1];
|
|
186
|
+
var apolloClient = useApolloClient();
|
|
187
|
+
var snackbarApi = useSnackbarApi();
|
|
188
|
+
var damScope = useDamScope();
|
|
189
|
+
|
|
190
|
+
// react-final-form may pass "" as the default when no initial value is set; fall back to [].
|
|
191
|
+
var files = Array.isArray(input.value) ? input.value : [];
|
|
192
|
+
var handleRemove = function handleRemove(id) {
|
|
193
|
+
input.onChange(files.filter(function (f) {
|
|
194
|
+
return f.id !== id;
|
|
195
|
+
}));
|
|
196
|
+
};
|
|
197
|
+
var handleConfirm = /*#__PURE__*/function () {
|
|
198
|
+
var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(fileIds) {
|
|
199
|
+
var _yield$apolloClient$q2, data, sortedFiles, _t;
|
|
200
|
+
return _regenerator().w(function (_context2) {
|
|
201
|
+
while (1) switch (_context2.p = _context2.n) {
|
|
202
|
+
case 0:
|
|
203
|
+
_context2.p = 0;
|
|
204
|
+
_context2.n = 1;
|
|
205
|
+
return apolloClient.query({
|
|
206
|
+
query: damFileFieldFilesByIdsQuery,
|
|
207
|
+
variables: {
|
|
208
|
+
ids: fileIds,
|
|
209
|
+
limit: fileIds.length,
|
|
210
|
+
scope: damScope
|
|
211
|
+
}
|
|
212
|
+
});
|
|
213
|
+
case 1:
|
|
214
|
+
_yield$apolloClient$q2 = _context2.v;
|
|
215
|
+
data = _yield$apolloClient$q2.data;
|
|
216
|
+
sortedFiles = _toConsumableArray(data.damFilesList.nodes).sort(function (a, b) {
|
|
217
|
+
return fileIds.indexOf(a.id) - fileIds.indexOf(b.id);
|
|
218
|
+
});
|
|
219
|
+
input.onChange(sortedFiles);
|
|
220
|
+
setDialogOpen(false);
|
|
221
|
+
_context2.n = 3;
|
|
222
|
+
break;
|
|
223
|
+
case 2:
|
|
224
|
+
_context2.p = 2;
|
|
225
|
+
_t = _context2.v;
|
|
226
|
+
snackbarApi.showSnackbar(/*#__PURE__*/_jsx(Snackbar, {
|
|
227
|
+
autoHideDuration: 5000,
|
|
228
|
+
children: /*#__PURE__*/_jsx(Alert, {
|
|
229
|
+
severity: "error",
|
|
230
|
+
children: /*#__PURE__*/_jsx(FormattedMessage, {
|
|
231
|
+
id: "comet.form.file.failedToLoadSelection",
|
|
232
|
+
defaultMessage: "Failed to load selected files. Please try again."
|
|
233
|
+
})
|
|
234
|
+
})
|
|
235
|
+
}));
|
|
236
|
+
case 3:
|
|
237
|
+
return _context2.a(2);
|
|
238
|
+
}
|
|
239
|
+
}, _callee2, null, [[0, 2]]);
|
|
240
|
+
}));
|
|
241
|
+
return function handleConfirm(_x2) {
|
|
242
|
+
return _ref4.apply(this, arguments);
|
|
243
|
+
};
|
|
244
|
+
}();
|
|
245
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
246
|
+
children: [files.length === 0 ? /*#__PURE__*/_jsx(BlockAdminComponentButton, {
|
|
247
|
+
onClick: function onClick() {
|
|
248
|
+
return setDialogOpen(true);
|
|
249
|
+
},
|
|
250
|
+
startIcon: /*#__PURE__*/_jsx(Assets, {}),
|
|
251
|
+
size: "large",
|
|
252
|
+
children: buttonText !== null && buttonText !== void 0 ? buttonText : /*#__PURE__*/_jsx(FormattedMessage, {
|
|
253
|
+
id: "comet.form.file.chooseFiles",
|
|
254
|
+
defaultMessage: "Choose files"
|
|
255
|
+
})
|
|
256
|
+
}) : /*#__PURE__*/_jsxs(BlockAdminComponentPaper, {
|
|
257
|
+
disablePadding: true,
|
|
258
|
+
children: [/*#__PURE__*/_jsx(List, {
|
|
259
|
+
disablePadding: true,
|
|
260
|
+
children: files.map(function (file) {
|
|
261
|
+
return /*#__PURE__*/_jsx(FileFieldRow, {
|
|
262
|
+
file: file,
|
|
263
|
+
onRemove: function onRemove() {
|
|
264
|
+
return handleRemove(file.id);
|
|
265
|
+
},
|
|
266
|
+
preview: preview,
|
|
267
|
+
menuActions: menuActions
|
|
268
|
+
}, file.id);
|
|
269
|
+
})
|
|
270
|
+
}), /*#__PURE__*/_jsx(Divider, {}), /*#__PURE__*/_jsx(BlockAdminComponentButton, {
|
|
271
|
+
startIcon: /*#__PURE__*/_jsx(Assets, {}),
|
|
272
|
+
onClick: function onClick() {
|
|
273
|
+
return setDialogOpen(true);
|
|
274
|
+
},
|
|
275
|
+
children: /*#__PURE__*/_jsx(FormattedMessage, {
|
|
276
|
+
id: "comet.form.file.changeSelectedFiles",
|
|
277
|
+
defaultMessage: "Change selected files"
|
|
278
|
+
})
|
|
279
|
+
})]
|
|
280
|
+
}), dialogOpen && /*#__PURE__*/_jsx(ChooseDamFilesDialog, {
|
|
281
|
+
allowedMimetypes: allowedMimetypes,
|
|
282
|
+
initialFileIds: files.map(function (f) {
|
|
283
|
+
return f.id;
|
|
284
|
+
}),
|
|
285
|
+
onClose: function onClose() {
|
|
286
|
+
return setDialogOpen(false);
|
|
287
|
+
},
|
|
288
|
+
onConfirm: handleConfirm
|
|
289
|
+
})]
|
|
290
|
+
});
|
|
291
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { MenuItem } from "@mui/material";
|
|
2
|
+
import { type ComponentProps, type ReactElement, type ReactNode } from "react";
|
|
3
|
+
export interface ActionItem extends ComponentProps<typeof MenuItem> {
|
|
4
|
+
label: ReactNode;
|
|
5
|
+
icon?: ReactNode;
|
|
6
|
+
}
|
|
7
|
+
interface FileFieldMenuProps {
|
|
8
|
+
fileId: string;
|
|
9
|
+
anchorEl: HTMLElement | null;
|
|
10
|
+
onClose: () => void;
|
|
11
|
+
menuActions?: Array<ActionItem | ReactElement | null | undefined>;
|
|
12
|
+
keepMounted?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare const FileFieldMenu: ({ fileId, anchorEl, onClose, menuActions, keepMounted }: FileFieldMenuProps) => import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export declare const useHasFileFieldMenu: (menuActions: FileFieldMenuProps["menuActions"]) => boolean;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=FileFieldMenu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileFieldMenu.d.ts","sourceRoot":"","sources":["../../../src/form/file/FileFieldMenu.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAoC,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,KAAK,cAAc,EAAkB,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAM/F,MAAM,WAAW,UAAW,SAAQ,cAAc,CAAC,OAAO,QAAQ,CAAC;IAC/D,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,SAAS,CAAC;CACpB;AAED,UAAU,kBAAkB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,WAAW,CAAC,EAAE,KAAK,CAAC,UAAU,GAAG,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IAClE,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,eAAO,MAAM,aAAa,GAAI,yDAAyD,kBAAkB,4CAuCxG,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,aAAa,kBAAkB,CAAC,aAAa,CAAC,KAAG,OAGpF,CAAC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
var _excluded = ["label", "icon"];
|
|
3
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
5
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
6
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
7
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
8
|
+
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
9
|
+
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
10
|
+
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
11
|
+
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
12
|
+
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
|
|
13
|
+
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
|
|
14
|
+
import { useApolloClient } from "@apollo/client";
|
|
15
|
+
import { OpenNewTab } from "@comet/admin-icons";
|
|
16
|
+
import { ListItemIcon, ListItemText, Menu, MenuItem } from "@mui/material";
|
|
17
|
+
import { isValidElement } from "react";
|
|
18
|
+
import { FormattedMessage } from "react-intl";
|
|
19
|
+
import { useContentScope } from "../../contentScope/Provider";
|
|
20
|
+
import { useDependenciesConfig } from "../../dependencies/dependenciesConfig";
|
|
21
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
22
|
+
export var FileFieldMenu = function FileFieldMenu(_ref) {
|
|
23
|
+
var fileId = _ref.fileId,
|
|
24
|
+
anchorEl = _ref.anchorEl,
|
|
25
|
+
onClose = _ref.onClose,
|
|
26
|
+
menuActions = _ref.menuActions,
|
|
27
|
+
keepMounted = _ref.keepMounted;
|
|
28
|
+
var contentScope = useContentScope();
|
|
29
|
+
var apolloClient = useApolloClient();
|
|
30
|
+
var _useDependenciesConfi = useDependenciesConfig(),
|
|
31
|
+
entityDependencyMap = _useDependenciesConfi.entityDependencyMap;
|
|
32
|
+
var damDependency = entityDependencyMap["DamFile"];
|
|
33
|
+
return /*#__PURE__*/_jsxs(Menu, {
|
|
34
|
+
anchorEl: anchorEl,
|
|
35
|
+
keepMounted: keepMounted,
|
|
36
|
+
open: Boolean(anchorEl),
|
|
37
|
+
onClose: onClose,
|
|
38
|
+
children: [damDependency && /*#__PURE__*/_jsxs(MenuItem, {
|
|
39
|
+
onClick: /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
40
|
+
var path;
|
|
41
|
+
return _regenerator().w(function (_context) {
|
|
42
|
+
while (1) switch (_context.n) {
|
|
43
|
+
case 0:
|
|
44
|
+
onClose();
|
|
45
|
+
_context.n = 1;
|
|
46
|
+
return damDependency.resolvePath({
|
|
47
|
+
apolloClient: apolloClient,
|
|
48
|
+
id: fileId
|
|
49
|
+
});
|
|
50
|
+
case 1:
|
|
51
|
+
path = _context.v;
|
|
52
|
+
window.open(contentScope.match.url + path, "_blank");
|
|
53
|
+
case 2:
|
|
54
|
+
return _context.a(2);
|
|
55
|
+
}
|
|
56
|
+
}, _callee);
|
|
57
|
+
})),
|
|
58
|
+
children: [/*#__PURE__*/_jsx(ListItemIcon, {
|
|
59
|
+
children: /*#__PURE__*/_jsx(OpenNewTab, {})
|
|
60
|
+
}), /*#__PURE__*/_jsx(ListItemText, {
|
|
61
|
+
primary: /*#__PURE__*/_jsx(FormattedMessage, {
|
|
62
|
+
id: "comet.form.file.openInDam",
|
|
63
|
+
defaultMessage: "Open in DAM"
|
|
64
|
+
})
|
|
65
|
+
})]
|
|
66
|
+
}), menuActions === null || menuActions === void 0 ? void 0 : menuActions.map(function (item, index) {
|
|
67
|
+
if (!item) {
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
if (/*#__PURE__*/isValidElement(item)) {
|
|
71
|
+
return item;
|
|
72
|
+
}
|
|
73
|
+
var _ref3 = item,
|
|
74
|
+
label = _ref3.label,
|
|
75
|
+
icon = _ref3.icon,
|
|
76
|
+
rest = _objectWithoutProperties(_ref3, _excluded);
|
|
77
|
+
return /*#__PURE__*/_jsxs(MenuItem, _objectSpread(_objectSpread({}, rest), {}, {
|
|
78
|
+
children: [!!icon && /*#__PURE__*/_jsx(ListItemIcon, {
|
|
79
|
+
children: icon
|
|
80
|
+
}), /*#__PURE__*/_jsx(ListItemText, {
|
|
81
|
+
primary: label
|
|
82
|
+
})]
|
|
83
|
+
}), index);
|
|
84
|
+
})]
|
|
85
|
+
});
|
|
86
|
+
};
|
|
87
|
+
export var useHasFileFieldMenu = function useHasFileFieldMenu(menuActions) {
|
|
88
|
+
var _useDependenciesConfi2 = useDependenciesConfig(),
|
|
89
|
+
entityDependencyMap = _useDependenciesConfi2.entityDependencyMap;
|
|
90
|
+
return Boolean(entityDependencyMap["DamFile"]) || menuActions !== undefined && menuActions.length > 0;
|
|
91
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type ReactElement, type ReactNode } from "react";
|
|
2
|
+
import type { GQLDamFileFieldFileFragment } from "./FileField.gql.generated";
|
|
3
|
+
import { type ActionItem } from "./FileFieldMenu";
|
|
4
|
+
interface FileFieldRowProps {
|
|
5
|
+
file: GQLDamFileFieldFileFragment;
|
|
6
|
+
onRemove: () => void;
|
|
7
|
+
preview?: (file: GQLDamFileFieldFileFragment) => ReactNode;
|
|
8
|
+
menuActions?: Array<ActionItem | ReactElement | null | undefined>;
|
|
9
|
+
}
|
|
10
|
+
export declare const FileFieldRow: ({ file, onRemove, preview, menuActions }: FileFieldRowProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=FileFieldRow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileFieldRow.d.ts","sourceRoot":"","sources":["../../../src/form/file/FileFieldRow.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA0B,KAAK,YAAY,EAAE,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AAK5F,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,KAAK,UAAU,EAAsC,MAAM,iBAAiB,CAAC;AAEtF,UAAU,iBAAiB;IACvB,IAAI,EAAE,2BAA2B,CAAC;IAClC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,2BAA2B,KAAK,SAAS,CAAC;IAC3D,WAAW,CAAC,EAAE,KAAK,CAAC,UAAU,GAAG,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;CACrE;AAED,eAAO,MAAM,YAAY,GAAI,0CAA0C,iBAAiB,4CA6CvF,CAAC"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
6
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
8
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
9
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
10
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
11
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
12
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
13
|
+
import { Delete, MoreVertical } from "@comet/admin-icons";
|
|
14
|
+
import { IconButton, ListItem, ListItemText, Stack } from "@mui/material";
|
|
15
|
+
import { useState } from "react";
|
|
16
|
+
import { useIntl } from "react-intl";
|
|
17
|
+
import { DamThumbnail } from "../../dam/DataGrid/thumbnail/DamThumbnail";
|
|
18
|
+
import { DamPathLazy } from "./DamPathLazy";
|
|
19
|
+
import { FileFieldMenu, useHasFileFieldMenu } from "./FileFieldMenu";
|
|
20
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
21
|
+
export var FileFieldRow = function FileFieldRow(_ref) {
|
|
22
|
+
var file = _ref.file,
|
|
23
|
+
onRemove = _ref.onRemove,
|
|
24
|
+
preview = _ref.preview,
|
|
25
|
+
menuActions = _ref.menuActions;
|
|
26
|
+
var _useState = useState(null),
|
|
27
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
28
|
+
menuAnchorEl = _useState2[0],
|
|
29
|
+
setMenuAnchorEl = _useState2[1];
|
|
30
|
+
var intl = useIntl();
|
|
31
|
+
var showMoreMenu = useHasFileFieldMenu(menuActions);
|
|
32
|
+
var handleMoreClick = function handleMoreClick(event) {
|
|
33
|
+
return setMenuAnchorEl(event.currentTarget);
|
|
34
|
+
};
|
|
35
|
+
return /*#__PURE__*/_jsxs(ListItem, {
|
|
36
|
+
divider: true,
|
|
37
|
+
secondaryAction: /*#__PURE__*/_jsxs(Stack, {
|
|
38
|
+
direction: "row",
|
|
39
|
+
children: [/*#__PURE__*/_jsx(IconButton, {
|
|
40
|
+
size: "small",
|
|
41
|
+
onClick: onRemove,
|
|
42
|
+
"aria-label": intl.formatMessage({
|
|
43
|
+
id: "comet.form.file.removeFile",
|
|
44
|
+
defaultMessage: "Remove"
|
|
45
|
+
}),
|
|
46
|
+
children: /*#__PURE__*/_jsx(Delete, {
|
|
47
|
+
color: "action"
|
|
48
|
+
})
|
|
49
|
+
}), showMoreMenu && /*#__PURE__*/_jsx(IconButton, {
|
|
50
|
+
size: "small",
|
|
51
|
+
onClick: handleMoreClick,
|
|
52
|
+
"aria-label": intl.formatMessage({
|
|
53
|
+
id: "comet.form.file.moreActions",
|
|
54
|
+
defaultMessage: "More actions"
|
|
55
|
+
}),
|
|
56
|
+
children: /*#__PURE__*/_jsx(MoreVertical, {
|
|
57
|
+
color: "action"
|
|
58
|
+
})
|
|
59
|
+
})]
|
|
60
|
+
}),
|
|
61
|
+
children: [/*#__PURE__*/_jsxs(Stack, {
|
|
62
|
+
direction: "row",
|
|
63
|
+
alignItems: "center",
|
|
64
|
+
spacing: 2,
|
|
65
|
+
flex: 1,
|
|
66
|
+
minWidth: 0,
|
|
67
|
+
children: [preview ? preview(file) : /*#__PURE__*/_jsx(DamThumbnail, {
|
|
68
|
+
asset: _objectSpread(_objectSpread({}, file), {}, {
|
|
69
|
+
__typename: "DamFile"
|
|
70
|
+
})
|
|
71
|
+
}), /*#__PURE__*/_jsx(ListItemText, {
|
|
72
|
+
primary: file.name,
|
|
73
|
+
secondary: /*#__PURE__*/_jsx(DamPathLazy, {
|
|
74
|
+
fileId: file.id
|
|
75
|
+
}),
|
|
76
|
+
primaryTypographyProps: {
|
|
77
|
+
variant: "subtitle1",
|
|
78
|
+
noWrap: true
|
|
79
|
+
},
|
|
80
|
+
secondaryTypographyProps: {
|
|
81
|
+
variant: "body2",
|
|
82
|
+
color: "textSecondary",
|
|
83
|
+
noWrap: true,
|
|
84
|
+
component: "span"
|
|
85
|
+
}
|
|
86
|
+
})]
|
|
87
|
+
}), showMoreMenu && /*#__PURE__*/_jsx(FileFieldMenu, {
|
|
88
|
+
fileId: file.id,
|
|
89
|
+
anchorEl: menuAnchorEl,
|
|
90
|
+
onClose: function onClose() {
|
|
91
|
+
return setMenuAnchorEl(null);
|
|
92
|
+
},
|
|
93
|
+
menuActions: menuActions
|
|
94
|
+
})]
|
|
95
|
+
});
|
|
96
|
+
};
|