@webiny/app-admin 5.27.0 → 5.29.0-beta.0
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/base/Admin.js +51 -29
- package/base/Admin.js.map +1 -1
- package/base/Base.js +52 -29
- package/base/Base.js.map +1 -1
- package/base/plugins/AddGraphQLQuerySelection.js +26 -11
- package/base/plugins/AddGraphQLQuerySelection.js.map +1 -1
- package/base/providers/ApolloProvider.d.ts +1 -1
- package/base/providers/ApolloProvider.js +25 -14
- package/base/providers/ApolloProvider.js.map +1 -1
- package/base/providers/TelemetryProvider.js +21 -8
- package/base/providers/TelemetryProvider.js.map +1 -1
- package/base/providers/UiStateProvider.js +18 -5
- package/base/providers/UiStateProvider.js.map +1 -1
- package/base/providers/ViewCompositionProvider.js +34 -15
- package/base/providers/ViewCompositionProvider.js.map +1 -1
- package/base/ui/Brand.js +18 -5
- package/base/ui/Brand.js.map +1 -1
- package/base/ui/CenteredView.js +21 -8
- package/base/ui/CenteredView.js.map +1 -1
- package/base/ui/Dashboard.js +18 -5
- package/base/ui/Dashboard.js.map +1 -1
- package/base/ui/Layout.js +21 -8
- package/base/ui/Layout.js.map +1 -1
- package/base/ui/LocaleSelector.js +18 -5
- package/base/ui/LocaleSelector.js.map +1 -1
- package/base/ui/LoginScreen.js +22 -7
- package/base/ui/LoginScreen.js.map +1 -1
- package/base/ui/Logo.js +25 -9
- package/base/ui/Logo.js.map +1 -1
- package/base/ui/Menu.js +46 -26
- package/base/ui/Menu.js.map +1 -1
- package/base/ui/Navigation.js +79 -42
- package/base/ui/Navigation.js.map +1 -1
- package/base/ui/NotFound.js +18 -5
- package/base/ui/NotFound.js.map +1 -1
- package/base/ui/Search.js +50 -22
- package/base/ui/Search.js.map +1 -1
- package/base/ui/Tags.js +23 -7
- package/base/ui/Tags.js.map +1 -1
- package/base/ui/UserMenu.js +74 -36
- package/base/ui/UserMenu.js.map +1 -1
- package/components/AdminLayout.js +18 -5
- package/components/AdminLayout.js.map +1 -1
- package/components/AppInstaller/AppInstaller.js +79 -49
- package/components/AppInstaller/AppInstaller.js.map +1 -1
- package/components/AppInstaller/Sidebar.js +50 -28
- package/components/AppInstaller/Sidebar.js.map +1 -1
- package/components/AppInstaller/index.js +20 -7
- package/components/AppInstaller/index.js.map +1 -1
- package/components/AppInstaller/styled.js +26 -9
- package/components/AppInstaller/styled.js.map +1 -1
- package/components/AppInstaller/useInstaller.js +67 -40
- package/components/AppInstaller/useInstaller.js.map +1 -1
- package/components/EmptyView.js +25 -11
- package/components/EmptyView.js.map +1 -1
- package/components/FileManager/BottomInfoBar/SupportedFileTypes.js +23 -9
- package/components/FileManager/BottomInfoBar/SupportedFileTypes.js.map +1 -1
- package/components/FileManager/BottomInfoBar/UploadStatus.js +21 -8
- package/components/FileManager/BottomInfoBar/UploadStatus.js.map +1 -1
- package/components/FileManager/BottomInfoBar.js +29 -11
- package/components/FileManager/BottomInfoBar.js.map +1 -1
- package/components/FileManager/DropFilesHere.js +27 -12
- package/components/FileManager/DropFilesHere.js.map +1 -1
- package/components/FileManager/File.js +42 -24
- package/components/FileManager/File.js.map +1 -1
- package/components/FileManager/FileDetails/Name.js +52 -30
- package/components/FileManager/FileDetails/Name.js.map +1 -1
- package/components/FileManager/FileDetails/Tags.js +112 -73
- package/components/FileManager/FileDetails/Tags.js.map +1 -1
- package/components/FileManager/FileDetails.js +157 -120
- package/components/FileManager/FileDetails.js.map +1 -1
- package/components/FileManager/FileManagerContext.js +39 -20
- package/components/FileManager/FileManagerContext.js.map +1 -1
- package/components/FileManager/FileManagerView.js +172 -130
- package/components/FileManager/FileManagerView.js.map +1 -1
- package/components/FileManager/LeftSidebar.js +49 -28
- package/components/FileManager/LeftSidebar.js.map +1 -1
- package/components/FileManager/NoPermissionView.js +35 -18
- package/components/FileManager/NoPermissionView.js.map +1 -1
- package/components/FileManager/NoResults.js +18 -6
- package/components/FileManager/NoResults.js.map +1 -1
- package/components/FileManager/getFileTypePlugin.js +23 -9
- package/components/FileManager/getFileTypePlugin.js.map +1 -1
- package/components/FileManager/getFileUploader.js +14 -4
- package/components/FileManager/getFileUploader.js.map +1 -1
- package/components/FileManager/graphql.js +24 -8
- package/components/FileManager/graphql.js.map +1 -1
- package/components/FileManager/outputFileSelectionError.js +16 -4
- package/components/FileManager/outputFileSelectionError.js.map +1 -1
- package/components/FileManager/types.js +5 -1
- package/components/FileManager/types.js.map +1 -1
- package/components/FileManager.js +60 -36
- package/components/FileManager.js.map +1 -1
- package/components/FloatingActionButton.js +18 -6
- package/components/FloatingActionButton.js.map +1 -1
- package/components/MultiImageUpload.js +24 -12
- package/components/MultiImageUpload.js.map +1 -1
- package/components/OverlayLayout/OverlayLayout.js +68 -43
- package/components/OverlayLayout/OverlayLayout.js.map +1 -1
- package/components/OverlayLayout/index.js +13 -1
- package/components/OverlayLayout/index.js.map +1 -1
- package/components/Permissions/Permissions.js +28 -11
- package/components/Permissions/Permissions.js.map +1 -1
- package/components/Permissions/StyledComponents.js +26 -9
- package/components/Permissions/StyledComponents.js.map +1 -1
- package/components/Permissions/index.js +30 -2
- package/components/Permissions/index.js.map +1 -1
- package/components/RichTextEditor/RichTextEditor.js +24 -9
- package/components/RichTextEditor/RichTextEditor.js.map +1 -1
- package/components/RichTextEditor/index.js +21 -2
- package/components/RichTextEditor/index.js.map +1 -1
- package/components/RichTextEditor/tools/header/index.js +34 -33
- package/components/RichTextEditor/tools/header/index.js.map +1 -1
- package/components/RichTextEditor/tools/image/index.js +34 -28
- package/components/RichTextEditor/tools/image/index.js.map +1 -1
- package/components/RichTextEditor/tools/image/svgs.js +9 -2
- package/components/RichTextEditor/tools/image/svgs.js.map +1 -1
- package/components/RichTextEditor/tools/image/tunes.js +28 -22
- package/components/RichTextEditor/tools/image/tunes.js.map +1 -1
- package/components/RichTextEditor/tools/image/types.js +5 -1
- package/components/RichTextEditor/tools/image/types.js.map +1 -1
- package/components/RichTextEditor/tools/image/ui.js +30 -23
- package/components/RichTextEditor/tools/image/ui.js.map +1 -1
- package/components/RichTextEditor/tools/paragraph/index.js +43 -41
- package/components/RichTextEditor/tools/paragraph/index.js.map +1 -1
- package/components/RichTextEditor/tools/textColor/index.js +27 -26
- package/components/RichTextEditor/tools/textColor/index.js.map +1 -1
- package/components/RichTextEditor/tools/utils.js +14 -5
- package/components/RichTextEditor/tools/utils.js.map +1 -1
- package/components/Routes.js +24 -9
- package/components/Routes.js.map +1 -1
- package/components/SearchUI.js +23 -9
- package/components/SearchUI.js.map +1 -1
- package/components/SimpleForm/SimpleForm.js +60 -29
- package/components/SimpleForm/SimpleForm.js.map +1 -1
- package/components/SimpleForm/index.js +31 -1
- package/components/SimpleForm/index.js.map +1 -1
- package/components/SimpleUI/InputField.js +35 -18
- package/components/SimpleUI/InputField.js.map +1 -1
- package/components/SingleImageUpload.js +41 -22
- package/components/SingleImageUpload.js.map +1 -1
- package/components/SplitView/SplitView.js +42 -19
- package/components/SplitView/SplitView.js.map +1 -1
- package/components/SplitView/index.js +25 -1
- package/components/SplitView/index.js.map +1 -1
- package/components/index.js +13 -1
- package/components/index.js.map +1 -1
- package/hooks/useConfirmationDialog.js +29 -16
- package/hooks/useConfirmationDialog.js.map +1 -1
- package/hooks/useDialog.js +16 -6
- package/hooks/useDialog.js.map +1 -1
- package/hooks/useSnackbar.js +20 -7
- package/hooks/useSnackbar.js.map +1 -1
- package/index.d.ts +1 -0
- package/index.js +295 -26
- package/index.js.map +1 -1
- package/package.json +21 -20
- package/plugins/FileManagerFileTypePlugin.js +33 -20
- package/plugins/FileManagerFileTypePlugin.js.map +1 -1
- package/plugins/MenuPlugin.js +33 -20
- package/plugins/MenuPlugin.js.map +1 -1
- package/plugins/PermissionRendererPlugin.js +33 -20
- package/plugins/PermissionRendererPlugin.js.map +1 -1
- package/plugins/fileManager/fileDefault.js +24 -8
- package/plugins/fileManager/fileDefault.js.map +1 -1
- package/plugins/fileManager/fileImage/DeleteAction.js +45 -24
- package/plugins/fileManager/fileImage/DeleteAction.js.map +1 -1
- package/plugins/fileManager/fileImage/EditAction.js +51 -28
- package/plugins/fileManager/fileImage/EditAction.js.map +1 -1
- package/plugins/fileManager/fileImage/index.js +29 -10
- package/plugins/fileManager/fileImage/index.js.map +1 -1
- package/plugins/fileManager/index.js +15 -3
- package/plugins/fileManager/index.js.map +1 -1
- package/plugins/globalSearch/SearchBar.js +82 -60
- package/plugins/globalSearch/SearchBar.js.map +1 -1
- package/plugins/globalSearch/SearchBarDropdown.js +46 -27
- package/plugins/globalSearch/SearchBarDropdown.js.map +1 -1
- package/plugins/globalSearch/index.js +9 -2
- package/plugins/globalSearch/index.js.map +1 -1
- package/plugins/globalSearch/styled.js +33 -13
- package/plugins/globalSearch/styled.js.map +1 -1
- package/plugins/index.js +20 -6
- package/plugins/index.js.map +1 -1
- package/plugins/uiLayoutRenderer/index.js +26 -13
- package/plugins/uiLayoutRenderer/index.js.map +1 -1
- package/types.js +5 -1
- package/types.js.map +1 -1
- package/ui/UIElement.js +19 -1
- package/ui/UIElement.js.map +1 -1
- package/ui/UILayout.js +19 -1
- package/ui/UILayout.js.map +1 -1
- package/ui/UIRenderer.js +13 -1
- package/ui/UIRenderer.js.map +1 -1
- package/ui/UIView.js +25 -1
- package/ui/UIView.js.map +1 -1
- package/ui/elements/AccordionElement.js +52 -32
- package/ui/elements/AccordionElement.js.map +1 -1
- package/ui/elements/ButtonElement.js +36 -19
- package/ui/elements/ButtonElement.js.map +1 -1
- package/ui/elements/ButtonGroupElement.js +38 -19
- package/ui/elements/ButtonGroupElement.js.map +1 -1
- package/ui/elements/GenericElement.js +18 -1
- package/ui/elements/GenericElement.js.map +1 -1
- package/ui/elements/LabelElement.js +26 -13
- package/ui/elements/LabelElement.js.map +1 -1
- package/ui/elements/NavigationMenuElement.js +48 -30
- package/ui/elements/NavigationMenuElement.js.map +1 -1
- package/ui/elements/PanelElement.js +27 -12
- package/ui/elements/PanelElement.js.map +1 -1
- package/ui/elements/PlaceholderElement.js +27 -13
- package/ui/elements/PlaceholderElement.js.map +1 -1
- package/ui/elements/SmallButtonElement.js +36 -19
- package/ui/elements/SmallButtonElement.js.map +1 -1
- package/ui/elements/TypographyElement.js +38 -20
- package/ui/elements/TypographyElement.js.map +1 -1
- package/ui/elements/ViewElement.js +18 -1
- package/ui/elements/ViewElement.js.map +1 -1
- package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js +33 -17
- package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js.map +1 -1
- package/ui/elements/form/DynamicFieldsetElement.js +41 -23
- package/ui/elements/form/DynamicFieldsetElement.js.map +1 -1
- package/ui/elements/form/FileManagerElement/EmptyStateElement.js +30 -14
- package/ui/elements/form/FileManagerElement/EmptyStateElement.js.map +1 -1
- package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js +51 -28
- package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js.map +1 -1
- package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js +45 -25
- package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js.map +1 -1
- package/ui/elements/form/FileManagerElement/styled.d.ts +3 -3
- package/ui/elements/form/FileManagerElement/styled.js +26 -12
- package/ui/elements/form/FileManagerElement/styled.js.map +1 -1
- package/ui/elements/form/FileManagerElement.js +39 -22
- package/ui/elements/form/FileManagerElement.js.map +1 -1
- package/ui/elements/form/FormElement.js +42 -21
- package/ui/elements/form/FormElement.js.map +1 -1
- package/ui/elements/form/FormFieldElement.js +38 -23
- package/ui/elements/form/FormFieldElement.js.map +1 -1
- package/ui/elements/form/HiddenElement.js +30 -15
- package/ui/elements/form/HiddenElement.js.map +1 -1
- package/ui/elements/form/InputElement.js +34 -18
- package/ui/elements/form/InputElement.js.map +1 -1
- package/ui/elements/form/PasswordElement.js +34 -18
- package/ui/elements/form/PasswordElement.js.map +1 -1
- package/ui/elements/form/SelectElement.js +35 -19
- package/ui/elements/form/SelectElement.js.map +1 -1
- package/ui/elements/form/TextareaElement.js +34 -18
- package/ui/elements/form/TextareaElement.js.map +1 -1
- package/ui/views/AdminView/ContentElement.js +40 -24
- package/ui/views/AdminView/ContentElement.js.map +1 -1
- package/ui/views/AdminView/HeaderElement.js +60 -39
- package/ui/views/AdminView/HeaderElement.js.map +1 -1
- package/ui/views/AdminView/HeaderSectionCenterElement.js +41 -21
- package/ui/views/AdminView/HeaderSectionCenterElement.js.map +1 -1
- package/ui/views/AdminView/HeaderSectionLeftElement.js +41 -21
- package/ui/views/AdminView/HeaderSectionLeftElement.js.map +1 -1
- package/ui/views/AdminView/HeaderSectionRightElement.js +41 -21
- package/ui/views/AdminView/HeaderSectionRightElement.js.map +1 -1
- package/ui/views/AdminView/components/Dialog.js +32 -15
- package/ui/views/AdminView/components/Dialog.js.map +1 -1
- package/ui/views/AdminView/components/Hamburger.js +25 -11
- package/ui/views/AdminView/components/Hamburger.js.map +1 -1
- package/ui/views/AdminView/components/Snackbar.js +26 -13
- package/ui/views/AdminView/components/Snackbar.js.map +1 -1
- package/ui/views/FormView/FormContainerElement.js +45 -25
- package/ui/views/FormView/FormContainerElement.js.map +1 -1
- package/ui/views/FormView/FormContentElement.js +27 -12
- package/ui/views/FormView/FormContentElement.js.map +1 -1
- package/ui/views/FormView/FormFooterElement.js +38 -19
- package/ui/views/FormView/FormFooterElement.js.map +1 -1
- package/ui/views/FormView/FormHeaderElement.js +52 -30
- package/ui/views/FormView/FormHeaderElement.js.map +1 -1
- package/ui/views/FormView.js +60 -34
- package/ui/views/FormView.js.map +1 -1
- package/ui/views/OverlayView/ContentElement.js +38 -19
- package/ui/views/OverlayView/ContentElement.js.map +1 -1
- package/ui/views/OverlayView/HeaderElement.js +56 -37
- package/ui/views/OverlayView/HeaderElement.js.map +1 -1
- package/ui/views/OverlayView/HeaderTitleElement.js +44 -25
- package/ui/views/OverlayView/HeaderTitleElement.js.map +1 -1
- package/ui/views/OverlayView/useOverlayView.js +32 -16
- package/ui/views/OverlayView/useOverlayView.js.map +1 -1
- package/ui/views/OverlayView.js +65 -42
- package/ui/views/OverlayView.js.map +1 -1
- package/ui/views/SplitView/SplitViewPanelElement.js +47 -28
- package/ui/views/SplitView/SplitViewPanelElement.js.map +1 -1
- package/ui/views/SplitView.js +57 -37
- package/ui/views/SplitView.js.map +1 -1
package/base/ui/UserMenu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["UserMenuContext","React","createContext","addMenuItem","menuItems","displayName","useUserMenu","useContext","UserMenuProvider","Component","children","props","useState","setItems","useCallback","item","items","index","findIndex","i","slice","context","UserMenu","makeComposable","UserMenuRenderer","UserMenuHandle","UserMenuHandleRenderer","UserMenuItem","menuItem","UserMenuItemRenderer","AddUserMenuItem","useEffect","UserMenuItemContext","element","undefined","icon","label","onClick","path","useUserMenuItem","UserMenuItems","map"],"sources":["UserMenu.tsx"],"sourcesContent":["import React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { makeComposable } from \"@webiny/app-admin-core\";\n\nexport interface UserMenuItemData {\n label?: string;\n icon?: JSX.Element;\n path?: string;\n onClick?: () => void;\n element?: JSX.Element;\n}\n\nexport interface UserMenuContext {\n menuItems: UserMenuItemData[];\n addMenuItem(item: UserMenuItemData): void;\n}\n\nconst UserMenuContext = React.createContext<UserMenuContext>({\n addMenuItem: () => {\n return void 0;\n },\n menuItems: []\n});\nUserMenuContext.displayName = \"UserMenuContext\";\n\nexport function useUserMenu() {\n return React.useContext(UserMenuContext);\n}\n\nexport const UserMenuProvider = (Component: React.FC): React.FC => {\n return function UserMenuProvider({ children, ...props }) {\n const [menuItems, setItems] = useState<UserMenuItemData[]>([]);\n\n const addMenuItem = useCallback<UserMenuContext[\"addMenuItem\"]>(\n item => {\n setItems(items => [...items, item]);\n\n return () => {\n setItems(items => {\n const index = items.findIndex(i => i === item);\n if (index < 0) {\n return items;\n }\n\n return [...items.slice(0, index), ...items.slice(index + 1)];\n });\n };\n },\n [setItems]\n );\n\n const context = {\n menuItems,\n addMenuItem\n };\n\n return (\n <UserMenuContext.Provider value={context}>\n <Component {...props}>{children}</Component>\n </UserMenuContext.Provider>\n );\n };\n};\n\nexport const UserMenu = makeComposable(\"UserMenu\", () => {\n return <UserMenuRenderer />;\n});\n\nexport const UserMenuRenderer = makeComposable(\"UserMenuRenderer\");\n\nexport const UserMenuHandle = makeComposable(\"UserMenuHandle\", () => {\n return <UserMenuHandleRenderer />;\n});\n\nexport const UserMenuHandleRenderer = makeComposable(\"UserMenuHandleRenderer\");\n\nexport interface UserMenuItemProps {\n menuItem: UserMenuItemData;\n}\n\nexport const UserMenuItem = makeComposable<UserMenuItemProps>(\"UserMenuItem\", ({ menuItem }) => {\n return (\n <UserMenuItemContext.Provider value={menuItem}>\n <UserMenuItemRenderer />\n </UserMenuItemContext.Provider>\n );\n});\n\nexport const UserMenuItemRenderer = makeComposable(\"UserMenuItemRenderer\");\n\nexport const AddUserMenuItem: React.FC<UserMenuItemProps[\"menuItem\"]> = props => {\n const { addMenuItem } = useUserMenu();\n\n useEffect(() => {\n return addMenuItem(props);\n }, []);\n\n return null;\n};\n\nexport type UserMenuItemContext = UserMenuItemData;\n\nconst UserMenuItemContext = React.createContext<UserMenuItemContext>({\n element: undefined,\n icon: undefined,\n label: undefined,\n onClick: () => {\n return void 0;\n },\n path: undefined\n});\nUserMenuItemContext.displayName = \"UserMenuItemContext\";\n\nexport function useUserMenuItem() {\n return React.useContext(UserMenuItemContext);\n}\n\nexport interface UserMenuItemsProps {\n menuItems: UserMenuItemData[];\n}\n\nexport const UserMenuItems = makeComposable<UserMenuItemsProps>(\n \"UserMenuItems\",\n ({ menuItems }) => {\n return (\n <Fragment>\n {menuItems.map((item, index) => (\n <UserMenuItem key={index} menuItem={item} />\n ))}\n </Fragment>\n );\n }\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;AAeA,IAAMA,eAAe,gBAAGC,cAAA,CAAMC,aAAN,CAAqC;EACzDC,WAAW,EAAE,uBAAM;IACf,OAAO,KAAK,CAAZ;EACH,CAHwD;EAIzDC,SAAS,EAAE;AAJ8C,CAArC,CAAxB;;AAMAJ,eAAe,CAACK,WAAhB,GAA8B,iBAA9B;;AAEO,SAASC,WAAT,GAAuB;EAC1B,OAAOL,cAAA,CAAMM,UAAN,CAAiBP,eAAjB,CAAP;AACH;;AAEM,IAAMQ,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,SAAD,EAAmC;EAC/D,OAAO,SAASD,gBAAT,OAAkD;IAAA,IAAtBE,QAAsB,QAAtBA,QAAsB;IAAA,IAATC,KAAS;;IACrD,gBAA8B,IAAAC,eAAA,EAA6B,EAA7B,CAA9B;IAAA;IAAA,IAAOR,SAAP;IAAA,IAAkBS,QAAlB;;IAEA,IAAMV,WAAW,GAAG,IAAAW,kBAAA,EAChB,UAAAC,IAAI,EAAI;MACJF,QAAQ,CAAC,UAAAG,KAAK;QAAA,kDAAQA,KAAR,IAAeD,IAAf;MAAA,CAAN,CAAR;MAEA,OAAO,YAAM;QACTF,QAAQ,CAAC,UAAAG,KAAK,EAAI;UACd,IAAMC,KAAK,GAAGD,KAAK,CAACE,SAAN,CAAgB,UAAAC,CAAC;YAAA,OAAIA,CAAC,KAAKJ,IAAV;UAAA,CAAjB,CAAd;;UACA,IAAIE,KAAK,GAAG,CAAZ,EAAe;YACX,OAAOD,KAAP;UACH;;UAED,kDAAWA,KAAK,CAACI,KAAN,CAAY,CAAZ,EAAeH,KAAf,CAAX,oCAAqCD,KAAK,CAACI,KAAN,CAAYH,KAAK,GAAG,CAApB,CAArC;QACH,CAPO,CAAR;MAQH,CATD;IAUH,CAde,EAehB,CAACJ,QAAD,CAfgB,CAApB;IAkBA,IAAMQ,OAAO,GAAG;MACZjB,SAAS,EAATA,SADY;MAEZD,WAAW,EAAXA;IAFY,CAAhB;IAKA,oBACI,6BAAC,eAAD,CAAiB,QAAjB;MAA0B,KAAK,EAAEkB;IAAjC,gBACI,6BAAC,SAAD,EAAeV,KAAf,EAAuBD,QAAvB,CADJ,CADJ;EAKH,CA/BD;AAgCH,CAjCM;;;AAmCA,IAAMY,QAAQ,GAAG,IAAAC,4BAAA,EAAe,UAAf,EAA2B,YAAM;EACrD,oBAAO,6BAAC,gBAAD,OAAP;AACH,CAFuB,CAAjB;;AAIA,IAAMC,gBAAgB,GAAG,IAAAD,4BAAA,EAAe,kBAAf,CAAzB;;AAEA,IAAME,cAAc,GAAG,IAAAF,4BAAA,EAAe,gBAAf,EAAiC,YAAM;EACjE,oBAAO,6BAAC,sBAAD,OAAP;AACH,CAF6B,CAAvB;;AAIA,IAAMG,sBAAsB,GAAG,IAAAH,4BAAA,EAAe,wBAAf,CAA/B;;AAMA,IAAMI,YAAY,GAAG,IAAAJ,4BAAA,EAAkC,cAAlC,EAAkD,iBAAkB;EAAA,IAAfK,QAAe,SAAfA,QAAe;EAC5F,oBACI,6BAAC,mBAAD,CAAqB,QAArB;IAA8B,KAAK,EAAEA;EAArC,gBACI,6BAAC,oBAAD,OADJ,CADJ;AAKH,CAN2B,CAArB;;AAQA,IAAMC,oBAAoB,GAAG,IAAAN,4BAAA,EAAe,sBAAf,CAA7B;;;AAEA,IAAMO,eAAwD,GAAG,SAA3DA,eAA2D,CAAAnB,KAAK,EAAI;EAC7E,mBAAwBL,WAAW,EAAnC;EAAA,IAAQH,WAAR,gBAAQA,WAAR;;EAEA,IAAA4B,gBAAA,EAAU,YAAM;IACZ,OAAO5B,WAAW,CAACQ,KAAD,CAAlB;EACH,CAFD,EAEG,EAFH;EAIA,OAAO,IAAP;AACH,CARM;;;;AAYP,IAAMqB,mBAAmB,gBAAG/B,cAAA,CAAMC,aAAN,CAAyC;EACjE+B,OAAO,EAAEC,SADwD;EAEjEC,IAAI,EAAED,SAF2D;EAGjEE,KAAK,EAAEF,SAH0D;EAIjEG,OAAO,EAAE,mBAAM;IACX,OAAO,KAAK,CAAZ;EACH,CANgE;EAOjEC,IAAI,EAAEJ;AAP2D,CAAzC,CAA5B;;AASAF,mBAAmB,CAAC3B,WAApB,GAAkC,qBAAlC;;AAEO,SAASkC,eAAT,GAA2B;EAC9B,OAAOtC,cAAA,CAAMM,UAAN,CAAiByB,mBAAjB,CAAP;AACH;;AAMM,IAAMQ,aAAa,GAAG,IAAAjB,4BAAA,EACzB,eADyB,EAEzB,iBAAmB;EAAA,IAAhBnB,SAAgB,SAAhBA,SAAgB;EACf,oBACI,6BAAC,eAAD,QACKA,SAAS,CAACqC,GAAV,CAAc,UAAC1B,IAAD,EAAOE,KAAP;IAAA,oBACX,6BAAC,YAAD;MAAc,GAAG,EAAEA,KAAnB;MAA0B,QAAQ,EAAEF;IAApC,EADW;EAAA,CAAd,CADL,CADJ;AAOH,CAVwB,CAAtB"}
|
|
@@ -1,9 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.AdminLayout = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _ = require("./..");
|
|
13
|
+
|
|
14
|
+
var AdminLayout = function AdminLayout(_ref) {
|
|
4
15
|
var title = _ref.title,
|
|
5
16
|
children = _ref.children;
|
|
6
|
-
return /*#__PURE__*/
|
|
17
|
+
return /*#__PURE__*/_react.default.createElement(_.Layout, {
|
|
7
18
|
title: title
|
|
8
19
|
}, children);
|
|
9
|
-
};
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
exports.AdminLayout = AdminLayout;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["AdminLayout","title","children"],"sources":["AdminLayout.tsx"],"sourcesContent":["import React from \"react\";\nimport { Layout } from \"~/index\";\n\ninterface AdminLayoutProps {\n title?: string;\n}\n\nexport const AdminLayout: React.FC<AdminLayoutProps> = ({ title, children }) => {\n return <Layout title={title}>{children}</Layout>;\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAMO,IAAMA,WAAuC,GAAG,SAA1CA,WAA0C,OAAyB;EAAA,IAAtBC,KAAsB,QAAtBA,KAAsB;EAAA,IAAfC,QAAe,QAAfA,QAAe;EAC5E,oBAAO,6BAAC,QAAD;IAAQ,KAAK,EAAED;EAAf,GAAuBC,QAAvB,CAAP;AACH,CAFM"}
|
|
@@ -1,23 +1,51 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
|
|
5
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.AppInstaller = void 0;
|
|
11
|
+
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
+
|
|
14
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
+
|
|
16
|
+
var _store = _interopRequireDefault(require("store"));
|
|
17
|
+
|
|
18
|
+
var _ = require("../..");
|
|
19
|
+
|
|
20
|
+
var _appSecurity = require("@webiny/app-security");
|
|
21
|
+
|
|
22
|
+
var _Progress = require("@webiny/ui/Progress");
|
|
23
|
+
|
|
24
|
+
var _Button = require("@webiny/ui/Button");
|
|
25
|
+
|
|
26
|
+
var _SplitView = require("../SplitView");
|
|
27
|
+
|
|
28
|
+
var _Grid = require("@webiny/ui/Grid");
|
|
29
|
+
|
|
30
|
+
var _Typography = require("@webiny/ui/Typography");
|
|
31
|
+
|
|
32
|
+
var _Elevation = require("@webiny/ui/Elevation");
|
|
33
|
+
|
|
34
|
+
var _useInstaller2 = require("./useInstaller");
|
|
35
|
+
|
|
36
|
+
var _Sidebar = _interopRequireDefault(require("./Sidebar"));
|
|
37
|
+
|
|
38
|
+
var _styled = require("./styled");
|
|
39
|
+
|
|
40
|
+
var _config = require("@webiny/app/config");
|
|
41
|
+
|
|
42
|
+
var AppInstaller = function AppInstaller(_ref) {
|
|
17
43
|
var children = _ref.children;
|
|
18
|
-
var tenantId =
|
|
44
|
+
var tenantId = _store.default.get("webiny_tenant") || "root";
|
|
19
45
|
var lsKey = "webiny_installation_".concat(tenantId);
|
|
20
|
-
|
|
46
|
+
|
|
47
|
+
var wbyVersion = _config.config.getKey("WEBINY_VERSION", process.env.REACT_APP_WEBINY_VERSION);
|
|
48
|
+
|
|
21
49
|
var isRootTenant = tenantId === "root";
|
|
22
50
|
/*
|
|
23
51
|
* This flag allows us to avoid rendering the <iframe> when the app is tested with Cypress
|
|
@@ -28,22 +56,22 @@ export var AppInstaller = function AppInstaller(_ref) {
|
|
|
28
56
|
var isCypressTest = window && window.Cypress;
|
|
29
57
|
|
|
30
58
|
var markInstallerAsCompleted = function markInstallerAsCompleted() {
|
|
31
|
-
|
|
59
|
+
_store.default.set(lsKey, wbyVersion);
|
|
32
60
|
};
|
|
33
61
|
|
|
34
62
|
var isInstallerCompleted = function isInstallerCompleted() {
|
|
35
|
-
return
|
|
63
|
+
return _store.default.get(lsKey) === wbyVersion;
|
|
36
64
|
};
|
|
37
65
|
|
|
38
|
-
var _useState = useState(false),
|
|
39
|
-
_useState2 =
|
|
66
|
+
var _useState = (0, _react.useState)(false),
|
|
67
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
40
68
|
finished = _useState2[0],
|
|
41
69
|
setFinished = _useState2[1];
|
|
42
70
|
|
|
43
|
-
var _useSecurity = useSecurity(),
|
|
71
|
+
var _useSecurity = (0, _appSecurity.useSecurity)(),
|
|
44
72
|
identity = _useSecurity.identity;
|
|
45
73
|
|
|
46
|
-
var _useInstaller = useInstaller({
|
|
74
|
+
var _useInstaller = (0, _useInstaller2.useInstaller)({
|
|
47
75
|
isInstalled: isInstallerCompleted()
|
|
48
76
|
}),
|
|
49
77
|
loading = _useInstaller.loading,
|
|
@@ -55,38 +83,38 @@ export var AppInstaller = function AppInstaller(_ref) {
|
|
|
55
83
|
onUser = _useInstaller.onUser,
|
|
56
84
|
skippingVersions = _useInstaller.skippingVersions;
|
|
57
85
|
|
|
58
|
-
useEffect(function () {
|
|
86
|
+
(0, _react.useEffect)(function () {
|
|
59
87
|
if (identity) {
|
|
60
88
|
onUser();
|
|
61
89
|
}
|
|
62
90
|
}, [identity]);
|
|
63
91
|
|
|
64
92
|
if (isInstallerCompleted()) {
|
|
65
|
-
return /*#__PURE__*/
|
|
93
|
+
return /*#__PURE__*/_react.default.createElement(_.LoginScreen, null, children);
|
|
66
94
|
}
|
|
67
95
|
|
|
68
96
|
var renderLayout = function renderLayout(content) {
|
|
69
97
|
var secure = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
70
|
-
return /*#__PURE__*/
|
|
71
|
-
className: installerSplitView
|
|
72
|
-
}, /*#__PURE__*/
|
|
98
|
+
return /*#__PURE__*/_react.default.createElement(_SplitView.SplitView, {
|
|
99
|
+
className: _styled.installerSplitView
|
|
100
|
+
}, /*#__PURE__*/_react.default.createElement(_SplitView.LeftPanel, {
|
|
73
101
|
span: 2
|
|
74
|
-
}, /*#__PURE__*/
|
|
102
|
+
}, /*#__PURE__*/_react.default.createElement(_Sidebar.default, {
|
|
75
103
|
allInstallers: installers,
|
|
76
104
|
installer: installer,
|
|
77
105
|
showLogin: showLogin
|
|
78
|
-
})), /*#__PURE__*/
|
|
106
|
+
})), /*#__PURE__*/_react.default.createElement(_SplitView.RightPanel, {
|
|
79
107
|
span: 10
|
|
80
|
-
}, !showLogin && !secure && content, (showLogin || secure) && /*#__PURE__*/
|
|
108
|
+
}, !showLogin && !secure && content, (showLogin || secure) && /*#__PURE__*/_react.default.createElement(_.LoginScreen, null, content)));
|
|
81
109
|
};
|
|
82
110
|
|
|
83
111
|
var renderBody = function renderBody(content) {
|
|
84
|
-
return /*#__PURE__*/
|
|
112
|
+
return /*#__PURE__*/_react.default.createElement(_styled.Wrapper, null, /*#__PURE__*/_react.default.createElement(_styled.InstallContent, null, /*#__PURE__*/_react.default.createElement(_styled.InnerContent, null, content)));
|
|
85
113
|
}; // Loading installers data
|
|
86
114
|
|
|
87
115
|
|
|
88
116
|
if (loading) {
|
|
89
|
-
return /*#__PURE__*/
|
|
117
|
+
return /*#__PURE__*/_react.default.createElement(_Progress.CircularProgress, {
|
|
90
118
|
label: "Checking apps..."
|
|
91
119
|
});
|
|
92
120
|
} // This means there are no installers to run or installation was finished
|
|
@@ -94,7 +122,7 @@ export var AppInstaller = function AppInstaller(_ref) {
|
|
|
94
122
|
|
|
95
123
|
if (!loading && (installers.length === 0 || finished)) {
|
|
96
124
|
markInstallerAsCompleted();
|
|
97
|
-
return /*#__PURE__*/
|
|
125
|
+
return /*#__PURE__*/_react.default.createElement(_.LoginScreen, null, children);
|
|
98
126
|
}
|
|
99
127
|
|
|
100
128
|
if (installer) {
|
|
@@ -104,38 +132,38 @@ export var AppInstaller = function AppInstaller(_ref) {
|
|
|
104
132
|
}
|
|
105
133
|
|
|
106
134
|
if (skippingVersions) {
|
|
107
|
-
return renderBody( /*#__PURE__*/
|
|
135
|
+
return renderBody( /*#__PURE__*/_react.default.createElement(_Elevation.Elevation, {
|
|
108
136
|
z: 1,
|
|
109
|
-
className: alertClass
|
|
110
|
-
}, /*#__PURE__*/
|
|
137
|
+
className: _styled.alertClass
|
|
138
|
+
}, /*#__PURE__*/_react.default.createElement(_Grid.Grid, null, /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
|
|
111
139
|
span: 12
|
|
112
|
-
}, /*#__PURE__*/
|
|
140
|
+
}, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
|
|
113
141
|
use: "headline4"
|
|
114
|
-
}, "Important!")), /*#__PURE__*/
|
|
142
|
+
}, "Important!")), /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
|
|
115
143
|
span: 12
|
|
116
|
-
}, /*#__PURE__*/
|
|
144
|
+
}, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
|
|
117
145
|
use: "body1",
|
|
118
146
|
tag: "div"
|
|
119
|
-
}, "We've detected that your current application is running Webiny", " ", /*#__PURE__*/
|
|
147
|
+
}, "We've detected that your current application is running Webiny", " ", /*#__PURE__*/_react.default.createElement("strong", null, "v", skippingVersions.latest), ". However, your API is running ", /*#__PURE__*/_react.default.createElement("strong", null, "v", skippingVersions.current), ". Unfortunately, we can't upgrade your system by skipping versions in between.", /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), "Here's a list of versions you skipped, that contain upgrades you need to install:", /*#__PURE__*/_react.default.createElement("ul", null, skippingVersions.availableUpgrades.filter(function (v) {
|
|
120
148
|
return v !== skippingVersions.latest;
|
|
121
149
|
}).map(function (v) {
|
|
122
|
-
return /*#__PURE__*/
|
|
150
|
+
return /*#__PURE__*/_react.default.createElement("li", {
|
|
123
151
|
key: v
|
|
124
152
|
}, "v", v);
|
|
125
|
-
})), "For instructions on how to upgrade Webiny, please consult our", " ", /*#__PURE__*/
|
|
153
|
+
})), "For instructions on how to upgrade Webiny, please consult our", " ", /*#__PURE__*/_react.default.createElement("a", {
|
|
126
154
|
href: "https://docs.webiny.com/docs/how-to-guides/upgrade-webiny",
|
|
127
155
|
target: "_blank",
|
|
128
156
|
rel: "noreferrer noopener"
|
|
129
|
-
}, "Upgrade Webiny"), " ", "guide. Note that some versions may have a dedicated article with upgrade instructions, so look out for those in the upgrade guide.", /*#__PURE__*/
|
|
157
|
+
}, "Upgrade Webiny"), " ", "guide. Note that some versions may have a dedicated article with upgrade instructions, so look out for those in the upgrade guide.", /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), "If you run into problems, find us on our", " ", /*#__PURE__*/_react.default.createElement("a", {
|
|
130
158
|
href: "https://www.webiny.com/slack",
|
|
131
159
|
target: "_blank",
|
|
132
160
|
rel: "noreferrer noopener"
|
|
133
161
|
}, "Slack community."))))));
|
|
134
162
|
}
|
|
135
163
|
|
|
136
|
-
return renderLayout(renderBody( /*#__PURE__*/
|
|
164
|
+
return renderLayout(renderBody( /*#__PURE__*/_react.default.createElement(_Elevation.Elevation, {
|
|
137
165
|
z: 1
|
|
138
|
-
}, /*#__PURE__*/
|
|
166
|
+
}, /*#__PURE__*/_react.default.createElement(_styled.SuccessDialog, null, /*#__PURE__*/_react.default.createElement("p", null, "You have successfully installed all new applications!"), !isCypressTest && isRootTenant && isFirstInstall ? /*#__PURE__*/_react.default.createElement("iframe", {
|
|
139
167
|
height: "0",
|
|
140
168
|
width: "0",
|
|
141
169
|
frameBorder: "0",
|
|
@@ -143,11 +171,13 @@ export var AppInstaller = function AppInstaller(_ref) {
|
|
|
143
171
|
opacity: "0"
|
|
144
172
|
},
|
|
145
173
|
src: "https://www.webiny.com/thank-you/new-install"
|
|
146
|
-
}) : null, /*#__PURE__*/
|
|
174
|
+
}) : null, /*#__PURE__*/_react.default.createElement(_Button.ButtonPrimary, {
|
|
147
175
|
"data-testid": "open-webiny-cms-admin-button",
|
|
148
176
|
onClick: function onClick() {
|
|
149
177
|
markInstallerAsCompleted();
|
|
150
178
|
setFinished(true);
|
|
151
179
|
}
|
|
152
180
|
}, isFirstInstall ? "Finish install" : "Finish upgrade")))), true);
|
|
153
|
-
};
|
|
181
|
+
};
|
|
182
|
+
|
|
183
|
+
exports.AppInstaller = AppInstaller;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["AppInstaller.tsx"],"names":["React","useEffect","useState","default","localStorage","LoginScreen","useSecurity","CircularProgress","ButtonPrimary","SplitView","LeftPanel","RightPanel","Grid","Cell","Typography","Elevation","useInstaller","Sidebar","Wrapper","alertClass","InnerContent","InstallContent","installerSplitView","SuccessDialog","config","appConfig","AppInstaller","children","tenantId","get","lsKey","wbyVersion","getKey","process","env","REACT_APP_WEBINY_VERSION","isRootTenant","isCypressTest","window","Cypress","markInstallerAsCompleted","set","isInstallerCompleted","finished","setFinished","identity","isInstalled","loading","installers","installer","isFirstInstall","showNextInstaller","showLogin","onUser","skippingVersions","renderLayout","content","secure","renderBody","length","render","onInstalled","latest","current","availableUpgrades","filter","v","map","opacity"],"mappings":"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","sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { default as localStorage } from \"store\";\nimport { LoginScreen } from \"~/index\";\nimport { useSecurity } from \"@webiny/app-security\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { ButtonPrimary } from \"@webiny/ui/Button\";\nimport { SplitView, LeftPanel, RightPanel } from \"../SplitView\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { Elevation } from \"@webiny/ui/Elevation\";\nimport { useInstaller } from \"./useInstaller\";\nimport Sidebar from \"./Sidebar\";\n\ndeclare global {\n interface Window {\n Cypress: any;\n }\n}\n\nimport {\n Wrapper,\n alertClass,\n InnerContent,\n InstallContent,\n installerSplitView,\n SuccessDialog\n} from \"./styled\";\nimport { config as appConfig } from \"@webiny/app/config\";\n\nexport const AppInstaller: React.FC = ({ children }) => {\n const tenantId = localStorage.get(\"webiny_tenant\") || \"root\";\n const lsKey = `webiny_installation_${tenantId}`;\n const wbyVersion = appConfig.getKey(\"WEBINY_VERSION\", process.env.REACT_APP_WEBINY_VERSION);\n const isRootTenant = tenantId === \"root\";\n /*\n * This flag allows us to avoid rendering the <iframe> when the app is tested with Cypress\n * (Cypress doesn't work with cross domains because of security-related implications).\n * @see https://docs.cypress.io/guides/guides/web-security#Insecure-Content\n */\n const isCypressTest = window && window.Cypress;\n\n const markInstallerAsCompleted = () => {\n localStorage.set(lsKey, wbyVersion);\n };\n\n const isInstallerCompleted = () => {\n return localStorage.get(lsKey) === wbyVersion;\n };\n\n const [finished, setFinished] = useState(false);\n const { identity } = useSecurity();\n const {\n loading,\n installers,\n installer,\n isFirstInstall,\n showNextInstaller,\n showLogin,\n onUser,\n skippingVersions\n } = useInstaller({ isInstalled: isInstallerCompleted() });\n\n useEffect(() => {\n if (identity) {\n onUser();\n }\n }, [identity]);\n\n if (isInstallerCompleted()) {\n return <LoginScreen>{children}</LoginScreen>;\n }\n\n const renderLayout = (content: React.ReactNode, secure = false): React.ReactElement => {\n return (\n <SplitView className={installerSplitView}>\n <LeftPanel span={2}>\n <Sidebar\n allInstallers={installers}\n installer={installer}\n showLogin={showLogin}\n />\n </LeftPanel>\n <RightPanel span={10}>\n {!showLogin && !secure && content}\n {(showLogin || secure) && <LoginScreen>{content}</LoginScreen>}\n </RightPanel>\n </SplitView>\n );\n };\n\n const renderBody = (content: React.ReactNode): React.ReactElement => {\n return (\n <Wrapper>\n <InstallContent>\n <InnerContent>{content}</InnerContent>\n </InstallContent>\n </Wrapper>\n );\n };\n\n // Loading installers data\n if (loading) {\n return <CircularProgress label={\"Checking apps...\"} />;\n }\n\n // This means there are no installers to run or installation was finished\n if (!loading && (installers.length === 0 || finished)) {\n markInstallerAsCompleted();\n return <LoginScreen>{children}</LoginScreen>;\n }\n\n if (installer) {\n return renderLayout(\n renderBody(installer.render({ onInstalled: showNextInstaller })),\n installer.secure\n );\n }\n\n if (skippingVersions) {\n return renderBody(\n <Elevation z={1} className={alertClass}>\n <Grid>\n <Cell span={12}>\n <Typography use={\"headline4\"}>Important!</Typography>\n </Cell>\n <Cell span={12}>\n <Typography use={\"body1\"} tag={\"div\"}>\n We've detected that your current application is running Webiny{\" \"}\n <strong>v{skippingVersions.latest}</strong>. However, your API is\n running <strong>v{skippingVersions.current}</strong>. Unfortunately, we\n can't upgrade your system by skipping versions in between.\n <br />\n <br />\n Here's a list of versions you skipped, that contain upgrades you\n need to install:\n <ul>\n {skippingVersions.availableUpgrades\n .filter(v => v !== skippingVersions.latest)\n .map(v => (\n <li key={v}>v{v}</li>\n ))}\n </ul>\n For instructions on how to upgrade Webiny, please consult our{\" \"}\n <a\n href={\"https://docs.webiny.com/docs/how-to-guides/upgrade-webiny\"}\n target={\"_blank\"}\n rel={\"noreferrer noopener\"}\n >\n Upgrade Webiny\n </a>{\" \"}\n guide. Note that some versions may have a dedicated article with upgrade\n instructions, so look out for those in the upgrade guide.\n <br />\n <br />\n If you run into problems, find us on our{\" \"}\n <a\n href={\"https://www.webiny.com/slack\"}\n target={\"_blank\"}\n rel={\"noreferrer noopener\"}\n >\n Slack community.\n </a>\n </Typography>\n </Cell>\n </Grid>\n </Elevation>\n );\n }\n\n return renderLayout(\n renderBody(\n <Elevation z={1}>\n <SuccessDialog>\n <p>You have successfully installed all new applications!</p>\n {!isCypressTest && isRootTenant && isFirstInstall ? (\n <iframe\n height=\"0\"\n width=\"0\"\n frameBorder=\"0\"\n style={{ opacity: \"0\" }}\n src=\"https://www.webiny.com/thank-you/new-install\"\n ></iframe>\n ) : null}\n <ButtonPrimary\n data-testid={\"open-webiny-cms-admin-button\"}\n onClick={() => {\n markInstallerAsCompleted();\n setFinished(true);\n }}\n >\n {isFirstInstall ? \"Finish install\" : \"Finish upgrade\"}\n </ButtonPrimary>\n </SuccessDialog>\n </Elevation>\n ),\n true\n );\n};\n"]}
|
|
1
|
+
{"version":3,"names":["AppInstaller","children","tenantId","localStorage","get","lsKey","wbyVersion","appConfig","getKey","process","env","REACT_APP_WEBINY_VERSION","isRootTenant","isCypressTest","window","Cypress","markInstallerAsCompleted","set","isInstallerCompleted","useState","finished","setFinished","useSecurity","identity","useInstaller","isInstalled","loading","installers","installer","isFirstInstall","showNextInstaller","showLogin","onUser","skippingVersions","useEffect","renderLayout","content","secure","installerSplitView","renderBody","length","render","onInstalled","alertClass","latest","current","availableUpgrades","filter","v","map","opacity"],"sources":["AppInstaller.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { default as localStorage } from \"store\";\nimport { LoginScreen } from \"~/index\";\nimport { useSecurity } from \"@webiny/app-security\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { ButtonPrimary } from \"@webiny/ui/Button\";\nimport { SplitView, LeftPanel, RightPanel } from \"../SplitView\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { Elevation } from \"@webiny/ui/Elevation\";\nimport { useInstaller } from \"./useInstaller\";\nimport Sidebar from \"./Sidebar\";\n\ndeclare global {\n interface Window {\n Cypress: any;\n }\n}\n\nimport {\n Wrapper,\n alertClass,\n InnerContent,\n InstallContent,\n installerSplitView,\n SuccessDialog\n} from \"./styled\";\nimport { config as appConfig } from \"@webiny/app/config\";\n\nexport const AppInstaller: React.FC = ({ children }) => {\n const tenantId = localStorage.get(\"webiny_tenant\") || \"root\";\n const lsKey = `webiny_installation_${tenantId}`;\n const wbyVersion = appConfig.getKey(\"WEBINY_VERSION\", process.env.REACT_APP_WEBINY_VERSION);\n const isRootTenant = tenantId === \"root\";\n /*\n * This flag allows us to avoid rendering the <iframe> when the app is tested with Cypress\n * (Cypress doesn't work with cross domains because of security-related implications).\n * @see https://docs.cypress.io/guides/guides/web-security#Insecure-Content\n */\n const isCypressTest = window && window.Cypress;\n\n const markInstallerAsCompleted = () => {\n localStorage.set(lsKey, wbyVersion);\n };\n\n const isInstallerCompleted = () => {\n return localStorage.get(lsKey) === wbyVersion;\n };\n\n const [finished, setFinished] = useState(false);\n const { identity } = useSecurity();\n const {\n loading,\n installers,\n installer,\n isFirstInstall,\n showNextInstaller,\n showLogin,\n onUser,\n skippingVersions\n } = useInstaller({ isInstalled: isInstallerCompleted() });\n\n useEffect(() => {\n if (identity) {\n onUser();\n }\n }, [identity]);\n\n if (isInstallerCompleted()) {\n return <LoginScreen>{children}</LoginScreen>;\n }\n\n const renderLayout = (content: React.ReactNode, secure = false): React.ReactElement => {\n return (\n <SplitView className={installerSplitView}>\n <LeftPanel span={2}>\n <Sidebar\n allInstallers={installers}\n installer={installer}\n showLogin={showLogin}\n />\n </LeftPanel>\n <RightPanel span={10}>\n {!showLogin && !secure && content}\n {(showLogin || secure) && <LoginScreen>{content}</LoginScreen>}\n </RightPanel>\n </SplitView>\n );\n };\n\n const renderBody = (content: React.ReactNode): React.ReactElement => {\n return (\n <Wrapper>\n <InstallContent>\n <InnerContent>{content}</InnerContent>\n </InstallContent>\n </Wrapper>\n );\n };\n\n // Loading installers data\n if (loading) {\n return <CircularProgress label={\"Checking apps...\"} />;\n }\n\n // This means there are no installers to run or installation was finished\n if (!loading && (installers.length === 0 || finished)) {\n markInstallerAsCompleted();\n return <LoginScreen>{children}</LoginScreen>;\n }\n\n if (installer) {\n return renderLayout(\n renderBody(installer.render({ onInstalled: showNextInstaller })),\n installer.secure\n );\n }\n\n if (skippingVersions) {\n return renderBody(\n <Elevation z={1} className={alertClass}>\n <Grid>\n <Cell span={12}>\n <Typography use={\"headline4\"}>Important!</Typography>\n </Cell>\n <Cell span={12}>\n <Typography use={\"body1\"} tag={\"div\"}>\n We've detected that your current application is running Webiny{\" \"}\n <strong>v{skippingVersions.latest}</strong>. However, your API is\n running <strong>v{skippingVersions.current}</strong>. Unfortunately, we\n can't upgrade your system by skipping versions in between.\n <br />\n <br />\n Here's a list of versions you skipped, that contain upgrades you\n need to install:\n <ul>\n {skippingVersions.availableUpgrades\n .filter(v => v !== skippingVersions.latest)\n .map(v => (\n <li key={v}>v{v}</li>\n ))}\n </ul>\n For instructions on how to upgrade Webiny, please consult our{\" \"}\n <a\n href={\"https://docs.webiny.com/docs/how-to-guides/upgrade-webiny\"}\n target={\"_blank\"}\n rel={\"noreferrer noopener\"}\n >\n Upgrade Webiny\n </a>{\" \"}\n guide. Note that some versions may have a dedicated article with upgrade\n instructions, so look out for those in the upgrade guide.\n <br />\n <br />\n If you run into problems, find us on our{\" \"}\n <a\n href={\"https://www.webiny.com/slack\"}\n target={\"_blank\"}\n rel={\"noreferrer noopener\"}\n >\n Slack community.\n </a>\n </Typography>\n </Cell>\n </Grid>\n </Elevation>\n );\n }\n\n return renderLayout(\n renderBody(\n <Elevation z={1}>\n <SuccessDialog>\n <p>You have successfully installed all new applications!</p>\n {!isCypressTest && isRootTenant && isFirstInstall ? (\n <iframe\n height=\"0\"\n width=\"0\"\n frameBorder=\"0\"\n style={{ opacity: \"0\" }}\n src=\"https://www.webiny.com/thank-you/new-install\"\n ></iframe>\n ) : null}\n <ButtonPrimary\n data-testid={\"open-webiny-cms-admin-button\"}\n onClick={() => {\n markInstallerAsCompleted();\n setFinished(true);\n }}\n >\n {isFirstInstall ? \"Finish install\" : \"Finish upgrade\"}\n </ButtonPrimary>\n </SuccessDialog>\n </Elevation>\n ),\n true\n );\n};\n"],"mappings":"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"}
|
|
@@ -1,15 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
5
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.default = void 0;
|
|
11
|
+
|
|
12
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
+
|
|
14
|
+
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
15
|
+
|
|
16
|
+
var _Typography = require("@webiny/ui/Typography");
|
|
17
|
+
|
|
18
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
19
|
+
|
|
20
|
+
var _webinyOrangeLogo = _interopRequireDefault(require("../../assets/images/webiny-orange-logo.svg"));
|
|
21
|
+
|
|
22
|
+
var _signInDivider = _interopRequireDefault(require("./assets/sign-in-divider.svg"));
|
|
23
|
+
|
|
24
|
+
var _config = require("@webiny/app/config");
|
|
25
|
+
|
|
26
|
+
var SidebarWrapper = /*#__PURE__*/(0, _styled.default)("div", {
|
|
9
27
|
target: "eu74ttw0",
|
|
10
28
|
label: "SidebarWrapper"
|
|
11
29
|
})({});
|
|
12
|
-
var Logo = /*#__PURE__*/
|
|
30
|
+
var Logo = /*#__PURE__*/(0, _styled.default)("div", {
|
|
13
31
|
target: "eu74ttw1",
|
|
14
32
|
label: "Logo"
|
|
15
33
|
})({
|
|
@@ -20,7 +38,7 @@ var Logo = /*#__PURE__*/styled("div", {
|
|
|
20
38
|
height: "auto"
|
|
21
39
|
}
|
|
22
40
|
});
|
|
23
|
-
var List = /*#__PURE__*/
|
|
41
|
+
var List = /*#__PURE__*/(0, _styled.default)("ul", {
|
|
24
42
|
target: "eu74ttw2",
|
|
25
43
|
label: "List"
|
|
26
44
|
})({
|
|
@@ -68,7 +86,7 @@ var List = /*#__PURE__*/styled("ul", {
|
|
|
68
86
|
}
|
|
69
87
|
}
|
|
70
88
|
});
|
|
71
|
-
var Note = /*#__PURE__*/
|
|
89
|
+
var Note = /*#__PURE__*/(0, _styled.default)("div", {
|
|
72
90
|
target: "eu74ttw3",
|
|
73
91
|
label: "Note"
|
|
74
92
|
})({
|
|
@@ -82,16 +100,17 @@ var Installations = function Installations(props) {
|
|
|
82
100
|
showLogin = props.showLogin;
|
|
83
101
|
|
|
84
102
|
var renderList = function renderList() {
|
|
85
|
-
var loginItem = /*#__PURE__*/
|
|
103
|
+
var loginItem = /*#__PURE__*/_react.default.createElement("li", {
|
|
86
104
|
key: "login",
|
|
87
105
|
className: "sign-in"
|
|
88
|
-
}, /*#__PURE__*/
|
|
89
|
-
src:
|
|
106
|
+
}, /*#__PURE__*/_react.default.createElement("img", {
|
|
107
|
+
src: _signInDivider.default,
|
|
90
108
|
alt: ""
|
|
91
|
-
}), /*#__PURE__*/
|
|
109
|
+
}), /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
|
|
92
110
|
use: "overline",
|
|
93
111
|
className: "note"
|
|
94
112
|
}, "TO CONTINUE THE INSTALLATION AFTER THIS POINT YOU\u2019LL NEED TO SIGN IN"));
|
|
113
|
+
|
|
95
114
|
var items = [];
|
|
96
115
|
|
|
97
116
|
for (var i = 0; i < allInstallers.length; i++) {
|
|
@@ -107,18 +126,18 @@ var Installations = function Installations(props) {
|
|
|
107
126
|
}
|
|
108
127
|
|
|
109
128
|
var active = installer && !showLogin && name === installer.name;
|
|
110
|
-
items.push( /*#__PURE__*/
|
|
129
|
+
items.push( /*#__PURE__*/_react.default.createElement("li", {
|
|
111
130
|
key: name,
|
|
112
|
-
className:
|
|
131
|
+
className: (0, _classnames.default)({
|
|
113
132
|
installed: installed
|
|
114
133
|
}, {
|
|
115
134
|
active: active
|
|
116
135
|
}, {
|
|
117
136
|
pending: !installed && !active
|
|
118
137
|
})
|
|
119
|
-
}, /*#__PURE__*/
|
|
138
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
120
139
|
className: "status"
|
|
121
|
-
}), /*#__PURE__*/
|
|
140
|
+
}), /*#__PURE__*/_react.default.createElement("span", {
|
|
122
141
|
className: "title"
|
|
123
142
|
}, _title)));
|
|
124
143
|
}
|
|
@@ -126,9 +145,9 @@ var Installations = function Installations(props) {
|
|
|
126
145
|
return items;
|
|
127
146
|
};
|
|
128
147
|
|
|
129
|
-
return /*#__PURE__*/
|
|
148
|
+
return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(Note, null, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
|
|
130
149
|
use: "body1"
|
|
131
|
-
}, title)), /*#__PURE__*/
|
|
150
|
+
}, title)), /*#__PURE__*/_react.default.createElement(List, null, renderList()));
|
|
132
151
|
};
|
|
133
152
|
|
|
134
153
|
var Sidebar = function Sidebar(_ref) {
|
|
@@ -141,16 +160,18 @@ var Sidebar = function Sidebar(_ref) {
|
|
|
141
160
|
var installations = allInstallers.filter(function (installer) {
|
|
142
161
|
return installer.type === "install";
|
|
143
162
|
});
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
163
|
+
|
|
164
|
+
var wbyVersion = _config.config.getKey("WEBINY_VERSION", process.env.REACT_APP_WEBINY_VERSION);
|
|
165
|
+
|
|
166
|
+
return /*#__PURE__*/_react.default.createElement(SidebarWrapper, null, /*#__PURE__*/_react.default.createElement(Logo, null, /*#__PURE__*/_react.default.createElement("img", {
|
|
167
|
+
src: _webinyOrangeLogo.default,
|
|
147
168
|
alt: "Webiny CMS"
|
|
148
|
-
})), upgrades.length > 0 ? /*#__PURE__*/
|
|
149
|
-
title: /*#__PURE__*/
|
|
169
|
+
})), upgrades.length > 0 ? /*#__PURE__*/_react.default.createElement(Installations, {
|
|
170
|
+
title: /*#__PURE__*/_react.default.createElement("span", null, "The following apps will be upgraded to ", /*#__PURE__*/_react.default.createElement("strong", null, wbyVersion), ":"),
|
|
150
171
|
allInstallers: upgrades,
|
|
151
172
|
installer: installer,
|
|
152
173
|
showLogin: showLogin
|
|
153
|
-
}) : null, installations.length > 0 && /*#__PURE__*/
|
|
174
|
+
}) : null, installations.length > 0 && /*#__PURE__*/_react.default.createElement(Installations, {
|
|
154
175
|
title: "The following apps will be installed and configured:",
|
|
155
176
|
allInstallers: installations,
|
|
156
177
|
installer: installer,
|
|
@@ -158,4 +179,5 @@ var Sidebar = function Sidebar(_ref) {
|
|
|
158
179
|
}));
|
|
159
180
|
};
|
|
160
181
|
|
|
161
|
-
|
|
182
|
+
var _default = Sidebar;
|
|
183
|
+
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Sidebar.tsx"],"names":["React","Fragment","styled","Typography","classSet","webinyLogo","signInDivider","config","appConfig","SidebarWrapper","Logo","padding","borderBottom","img","width","height","List","li","display","alignItems","borderRadius","marginRight","textAlign","lineHeight","fontSize","paddingTop","color","backgroundColor","fontWeight","Note","Installations","props","title","allInstallers","installer","showLogin","renderList","loginItem","items","i","length","name","secure","installed","prev","push","active","pending","Sidebar","upgrades","filter","type","installations","wbyVersion","getKey","process","env","REACT_APP_WEBINY_VERSION"],"mappings":"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","sourcesContent":["import React, { Fragment } from \"react\";\nimport styled from \"@emotion/styled\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport classSet from \"classnames\";\n\nimport webinyLogo from \"../../assets/images/webiny-orange-logo.svg\";\nimport signInDivider from \"./assets/sign-in-divider.svg\";\nimport { config as appConfig } from \"@webiny/app/config\";\nimport { Installer } from \"./useInstaller\";\n\nconst SidebarWrapper = styled(\"div\")({});\n\nconst Logo = styled(\"div\")({\n padding: 15,\n borderBottom: \"1px solid var(--mdc-theme-background)\",\n img: {\n width: \"100px\",\n height: \"auto\"\n }\n});\n\nconst List = styled(\"ul\")({\n li: {\n display: \"flex\",\n alignItems: \"center\",\n padding: \"15px 15px\",\n \".status\": {\n borderRadius: \"50%\",\n display: \"inline-block\",\n height: 20,\n width: 20,\n marginRight: 15\n },\n \"&.sign-in\": {\n display: \"block\",\n textAlign: \"center\",\n \".note\": {\n display: \"inline-block\",\n lineHeight: \"150%\",\n fontSize: 10,\n paddingTop: 10,\n color: \"var(--mdc-theme-text-icon-on-background)\"\n },\n img: {\n width: \"100%\"\n }\n },\n \"&.active\": {\n backgroundColor: \"var(--mdc-theme-background)\",\n fontWeight: 600,\n \".status\": {\n backgroundColor: \"var(--mdc-theme-primary)\"\n }\n },\n \"&.pending\": {\n \".status\": {\n backgroundColor: \"var(--mdc-theme-on-surface)\"\n }\n },\n \"&.installed\": {\n \".status\": {\n backgroundColor: \"var(--mdc-theme-secondary)\"\n }\n }\n }\n});\n\nconst Note = styled(\"div\")({\n padding: 15\n});\ninterface InstallationsProps {\n title: React.ReactNode;\n allInstallers: Installer[];\n installer: Installer;\n showLogin: boolean;\n}\nconst Installations: React.FC<InstallationsProps> = props => {\n const { title, allInstallers, installer, showLogin } = props;\n const renderList = () => {\n const loginItem = (\n <li key={\"login\"} className={\"sign-in\"}>\n <img src={signInDivider} alt={\"\"} />\n <Typography use={\"overline\"} className={\"note\"}>\n TO CONTINUE THE INSTALLATION AFTER THIS POINT YOU’LL NEED TO SIGN IN\n </Typography>\n </li>\n );\n\n const items = [];\n for (let i = 0; i < allInstallers.length; i++) {\n const { name, title, secure, installed } = allInstallers[i];\n const prev = i === 0 ? null : allInstallers[i - 1];\n if ((!prev || !prev.secure) && secure && showLogin) {\n items.push(loginItem);\n }\n\n const active = installer && !showLogin && name === installer.name;\n\n items.push(\n <li\n key={name}\n className={classSet(\n { installed: installed },\n { active: active },\n { pending: !installed && !active }\n )}\n >\n <span className={\"status\"} />\n <span className={\"title\"}>{title}</span>\n </li>\n );\n }\n return items;\n };\n\n return (\n <Fragment>\n <Note>\n <Typography use={\"body1\"}>{title}</Typography>\n </Note>\n <List>{renderList()}</List>\n </Fragment>\n );\n};\n\ninterface SidebarProps {\n allInstallers: Installer[];\n installer: Installer;\n showLogin: boolean;\n}\nconst Sidebar: React.FC<SidebarProps> = ({ allInstallers, installer, showLogin }) => {\n const upgrades = allInstallers.filter(installer => installer.type === \"upgrade\");\n const installations = allInstallers.filter(installer => installer.type === \"install\");\n\n const wbyVersion = appConfig.getKey(\"WEBINY_VERSION\", process.env.REACT_APP_WEBINY_VERSION);\n\n return (\n <SidebarWrapper>\n <Logo>\n <img src={webinyLogo} alt=\"Webiny CMS\" />\n </Logo>\n {upgrades.length > 0 ? (\n <Installations\n title={\n <span>\n The following apps will be upgraded to <strong>{wbyVersion}</strong>:\n </span>\n }\n allInstallers={upgrades}\n installer={installer}\n showLogin={showLogin}\n />\n ) : null}\n {installations.length > 0 && (\n <Installations\n title={\"The following apps will be installed and configured:\"}\n allInstallers={installations}\n installer={installer}\n showLogin={upgrades.length > 0 ? false : showLogin}\n />\n )}\n </SidebarWrapper>\n );\n};\nexport default Sidebar;\n"]}
|
|
1
|
+
{"version":3,"names":["SidebarWrapper","styled","Logo","padding","borderBottom","img","width","height","List","li","display","alignItems","borderRadius","marginRight","textAlign","lineHeight","fontSize","paddingTop","color","backgroundColor","fontWeight","Note","Installations","props","title","allInstallers","installer","showLogin","renderList","loginItem","signInDivider","items","i","length","name","secure","installed","prev","push","active","classSet","pending","Sidebar","upgrades","filter","type","installations","wbyVersion","appConfig","getKey","process","env","REACT_APP_WEBINY_VERSION","webinyLogo"],"sources":["Sidebar.tsx"],"sourcesContent":["import React, { Fragment } from \"react\";\nimport styled from \"@emotion/styled\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport classSet from \"classnames\";\n\nimport webinyLogo from \"../../assets/images/webiny-orange-logo.svg\";\nimport signInDivider from \"./assets/sign-in-divider.svg\";\nimport { config as appConfig } from \"@webiny/app/config\";\nimport { Installer } from \"./useInstaller\";\n\nconst SidebarWrapper = styled(\"div\")({});\n\nconst Logo = styled(\"div\")({\n padding: 15,\n borderBottom: \"1px solid var(--mdc-theme-background)\",\n img: {\n width: \"100px\",\n height: \"auto\"\n }\n});\n\nconst List = styled(\"ul\")({\n li: {\n display: \"flex\",\n alignItems: \"center\",\n padding: \"15px 15px\",\n \".status\": {\n borderRadius: \"50%\",\n display: \"inline-block\",\n height: 20,\n width: 20,\n marginRight: 15\n },\n \"&.sign-in\": {\n display: \"block\",\n textAlign: \"center\",\n \".note\": {\n display: \"inline-block\",\n lineHeight: \"150%\",\n fontSize: 10,\n paddingTop: 10,\n color: \"var(--mdc-theme-text-icon-on-background)\"\n },\n img: {\n width: \"100%\"\n }\n },\n \"&.active\": {\n backgroundColor: \"var(--mdc-theme-background)\",\n fontWeight: 600,\n \".status\": {\n backgroundColor: \"var(--mdc-theme-primary)\"\n }\n },\n \"&.pending\": {\n \".status\": {\n backgroundColor: \"var(--mdc-theme-on-surface)\"\n }\n },\n \"&.installed\": {\n \".status\": {\n backgroundColor: \"var(--mdc-theme-secondary)\"\n }\n }\n }\n});\n\nconst Note = styled(\"div\")({\n padding: 15\n});\ninterface InstallationsProps {\n title: React.ReactNode;\n allInstallers: Installer[];\n installer: Installer;\n showLogin: boolean;\n}\nconst Installations: React.FC<InstallationsProps> = props => {\n const { title, allInstallers, installer, showLogin } = props;\n const renderList = () => {\n const loginItem = (\n <li key={\"login\"} className={\"sign-in\"}>\n <img src={signInDivider} alt={\"\"} />\n <Typography use={\"overline\"} className={\"note\"}>\n TO CONTINUE THE INSTALLATION AFTER THIS POINT YOU’LL NEED TO SIGN IN\n </Typography>\n </li>\n );\n\n const items = [];\n for (let i = 0; i < allInstallers.length; i++) {\n const { name, title, secure, installed } = allInstallers[i];\n const prev = i === 0 ? null : allInstallers[i - 1];\n if ((!prev || !prev.secure) && secure && showLogin) {\n items.push(loginItem);\n }\n\n const active = installer && !showLogin && name === installer.name;\n\n items.push(\n <li\n key={name}\n className={classSet(\n { installed: installed },\n { active: active },\n { pending: !installed && !active }\n )}\n >\n <span className={\"status\"} />\n <span className={\"title\"}>{title}</span>\n </li>\n );\n }\n return items;\n };\n\n return (\n <Fragment>\n <Note>\n <Typography use={\"body1\"}>{title}</Typography>\n </Note>\n <List>{renderList()}</List>\n </Fragment>\n );\n};\n\ninterface SidebarProps {\n allInstallers: Installer[];\n installer: Installer;\n showLogin: boolean;\n}\nconst Sidebar: React.FC<SidebarProps> = ({ allInstallers, installer, showLogin }) => {\n const upgrades = allInstallers.filter(installer => installer.type === \"upgrade\");\n const installations = allInstallers.filter(installer => installer.type === \"install\");\n\n const wbyVersion = appConfig.getKey(\"WEBINY_VERSION\", process.env.REACT_APP_WEBINY_VERSION);\n\n return (\n <SidebarWrapper>\n <Logo>\n <img src={webinyLogo} alt=\"Webiny CMS\" />\n </Logo>\n {upgrades.length > 0 ? (\n <Installations\n title={\n <span>\n The following apps will be upgraded to <strong>{wbyVersion}</strong>:\n </span>\n }\n allInstallers={upgrades}\n installer={installer}\n showLogin={showLogin}\n />\n ) : null}\n {installations.length > 0 && (\n <Installations\n title={\"The following apps will be installed and configured:\"}\n allInstallers={installations}\n installer={installer}\n showLogin={upgrades.length > 0 ? false : showLogin}\n />\n )}\n </SidebarWrapper>\n );\n};\nexport default Sidebar;\n"],"mappings":"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"}
|
|
@@ -1,16 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.AppInstaller = void 0;
|
|
9
|
+
|
|
10
|
+
var _ = require("../..");
|
|
11
|
+
|
|
12
|
+
var _react = _interopRequireDefault(require("react"));
|
|
13
|
+
|
|
14
|
+
var _AppInstaller = require("./AppInstaller");
|
|
4
15
|
|
|
5
16
|
var AppInstallerHOC = function AppInstallerHOC(Component) {
|
|
6
17
|
return function AppInstallerProvider(_ref) {
|
|
7
18
|
var children = _ref.children;
|
|
8
|
-
return /*#__PURE__*/
|
|
19
|
+
return /*#__PURE__*/_react.default.createElement(_AppInstaller.AppInstaller, null, /*#__PURE__*/_react.default.createElement(Component, null, children));
|
|
9
20
|
};
|
|
10
21
|
};
|
|
11
22
|
|
|
12
|
-
|
|
13
|
-
return /*#__PURE__*/
|
|
23
|
+
var AppInstaller = function AppInstaller() {
|
|
24
|
+
return /*#__PURE__*/_react.default.createElement(_.Provider, {
|
|
14
25
|
hoc: AppInstallerHOC
|
|
15
26
|
});
|
|
16
|
-
};
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
exports.AppInstaller = AppInstaller;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["AppInstallerHOC","Component","AppInstallerProvider","children","AppInstaller"],"sources":["index.tsx"],"sourcesContent":["import { Provider } from \"~/index\";\nimport React from \"react\";\nimport { ComponentType } from \"react\";\nimport { AppInstaller as Installer } from \"./AppInstaller\";\n\nconst AppInstallerHOC = (Component: ComponentType<unknown>): React.FC => {\n return function AppInstallerProvider({ children }) {\n return (\n <Installer>\n <Component>{children}</Component>\n </Installer>\n );\n };\n};\n\nexport const AppInstaller = () => {\n return <Provider hoc={AppInstallerHOC} />;\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,SAAD,EAAiD;EACrE,OAAO,SAASC,oBAAT,OAA4C;IAAA,IAAZC,QAAY,QAAZA,QAAY;IAC/C,oBACI,6BAAC,0BAAD,qBACI,6BAAC,SAAD,QAAYA,QAAZ,CADJ,CADJ;EAKH,CAND;AAOH,CARD;;AAUO,IAAMC,YAAY,GAAG,SAAfA,YAAe,GAAM;EAC9B,oBAAO,6BAAC,UAAD;IAAU,GAAG,EAAEJ;EAAf,EAAP;AACH,CAFM"}
|