iguazio.dashboard-react-controls 3.1.0 → 3.1.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"useDetailsHeader.hook.mjs","sources":["../../src/lib/hooks/useDetailsHeader.hook.jsx"],"sourcesContent":["/*\nCopyright 2019 Iguazio Systems Ltd.\n\nLicensed under the Apache License, Version 2.0 (the \"License\") with\nan addition restriction as set forth herein. You may not use this\nfile except in compliance with the License. You may obtain a copy of\nthe License at http://www.apache.org/licenses/LICENSE-2.0.\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\nimplied. See the License for the specific language governing\npermissions and limitations under the License.\n\nIn addition, you may not use the software for any purposes that are\nillegal under applicable law, and the grant of the foregoing license\nunder the Apache 2.0 license is conditioned upon your compliance with\nsuch restriction.\n*/\n\nimport React, { useCallback, useRef } from 'react'\nimport PropTypes from 'prop-types'\nimport { useSelector } from 'react-redux'\nimport { Link, useLocation, useNavigate, useParams } from 'react-router-dom'\n\nimport ActionsMenu from '../components/ActionsMenu/ActionsMenu'\nimport Button from '../components/Button/Button'\nimport LoadButton from '../components/LoadButton/LoadButton'\nimport RoundedIcon from '../components/RoundedIcon/RoundedIcon'\nimport TextTooltipTemplate from '../components/TooltipTemplate/TextTooltipTemplate'\nimport Tooltip from '../components/Tooltip/Tooltip'\n\nimport { ACTION_BUTTON, ACTIONS_MENU } from '../types'\nimport { TERTIARY_BUTTON, VIEW_SEARCH_PARAMETER, FULL_VIEW_MODE } from '../constants'\nimport { getFilteredSearchParams } from '../utils/filter.util'\nimport { getViewMode } from '../utils/common.util'\n\nimport Close from '../images/close.svg?react'\nimport EnlargeIcon from '../images/ml-enlarge.svg?react'\nimport HistoryIcon from '../images/history.svg?react'\nimport MinimizeIcon from '../images/ml-minimize.svg?react'\nimport Refresh from '../images/refresh.svg?react'\n\nconst DetailsHeaderContainer = ({\n actionButton = null,\n actionsMenu,\n applyChanges,\n applyChangesRef,\n cancelChanges,\n commonDetailsStore,\n getCloseDetailsLink = null,\n getDefaultCloseDetailsLink,\n handleCancelClick,\n handleRefresh = null,\n headerRef,\n isDetailsPopUp = false,\n isDetailsScreen,\n location,\n navigate,\n pageData,\n params,\n renderCustomElements = null,\n renderStatus = null,\n renderTitle,\n selectedItem,\n showAllVersions = null,\n tab = '',\n viewMode = '',\n withActionMenu = true,\n withToggleViewBtn = false\n}) => {\n return (\n <div className=\"item-header\" ref={headerRef}>\n <div className=\"item-header__data\">\n <h3 className=\"item-header__title\">{renderTitle && renderTitle()}</h3>\n <div className=\"item-header__status\">{renderStatus && renderStatus()}</div>\n </div>\n <div className=\"item-header__custom-elements\">\n {renderCustomElements && renderCustomElements()}\n </div>\n <div className=\"item-header__buttons\">\n {commonDetailsStore.changes.counter > 0 && !isDetailsPopUp && (\n <>\n <Button\n variant={TERTIARY_BUTTON}\n label=\"Cancel\"\n onClick={cancelChanges}\n disabled={commonDetailsStore.changes.counter === 0 || commonDetailsStore.editMode}\n />\n <Tooltip\n template={\n <TextTooltipTemplate\n text={`${commonDetailsStore.changes.counter} ${\n commonDetailsStore.changes.counter === 1 ? 'change pending' : 'changes pending'\n }`}\n />\n }\n >\n <LoadButton\n ref={applyChangesRef}\n variant=\"primary\"\n label=\"Apply Changes\"\n className=\"btn_apply-changes\"\n onClick={applyChanges}\n disabled={commonDetailsStore.changes.counter === 0 || commonDetailsStore.editMode}\n />\n </Tooltip>\n </>\n )}\n {actionButton && !actionButton.hidden && (\n <Button\n disabled={actionButton.disabled}\n label={actionButton.label}\n onClick={actionButton.onClick}\n tooltip={actionButton.tooltip}\n variant={actionButton.variant}\n />\n )}\n {showAllVersions && (\n <RoundedIcon\n id=\"showAllVersions\"\n onClick={() => showAllVersions()}\n tooltipText=\"Show all versions\"\n >\n <HistoryIcon />\n </RoundedIcon>\n )}\n {isDetailsScreen && handleRefresh && (\n <RoundedIcon\n id=\"refresh\"\n onClick={() => handleRefresh(selectedItem)}\n tooltipText=\"Refresh\"\n >\n <Refresh />\n </RoundedIcon>\n )}\n {withActionMenu && <ActionsMenu dataItem={selectedItem} menu={actionsMenu} time={500} />}\n <div className=\"item-header__navigation-buttons\">\n {withToggleViewBtn && !isDetailsPopUp && (\n <>\n {viewMode !== FULL_VIEW_MODE && (\n <RoundedIcon\n onClick={() => {\n navigate(\n `${location.pathname}${window.location.search}${window.location.search ? '&' : '?'}${VIEW_SEARCH_PARAMETER}=full`\n )\n }}\n id=\"full-view\"\n tooltipText=\"Full view\"\n >\n <EnlargeIcon />\n </RoundedIcon>\n )}\n {viewMode === FULL_VIEW_MODE && (\n <RoundedIcon\n onClick={() => {\n navigate(\n `${location.pathname}${getFilteredSearchParams(window.location.search, [VIEW_SEARCH_PARAMETER])}`\n )\n }}\n id=\"table-view\"\n tooltipText=\"Table view\"\n >\n <MinimizeIcon />\n </RoundedIcon>\n )}\n </>\n )}\n {!pageData.details.hideBackBtn &&\n (isDetailsPopUp ? (\n <div\n className=\"details-close-btn\"\n data-testid=\"details-close-btn\"\n onClick={handleCancelClick}\n >\n <RoundedIcon tooltipText=\"Close\" id=\"details-close\">\n <Close />\n </RoundedIcon>\n </div>\n ) : (\n <Link\n className=\"details-close-btn\"\n data-testid=\"details-close-btn\"\n to={\n getCloseDetailsLink\n ? getCloseDetailsLink(selectedItem.name)\n : getDefaultCloseDetailsLink(params, pageData.page, tab)\n }\n onClick={handleCancelClick}\n >\n <RoundedIcon tooltipText=\"Close\" id=\"details-close\">\n <Close />\n </RoundedIcon>\n </Link>\n ))}\n </div>\n </div>\n </div>\n )\n}\n\nDetailsHeaderContainer.propTypes = {\n actionButton: ACTION_BUTTON,\n actionsMenu: ACTIONS_MENU.isRequired,\n applyChanges: PropTypes.func.isRequired,\n applyChangesRef: PropTypes.object.isRequired,\n cancelChanges: PropTypes.func.isRequired,\n commonDetailsStore: PropTypes.object.isRequired,\n getCloseDetailsLink: PropTypes.func,\n getDefaultCloseDetailsLink: PropTypes.func.isRequired,\n handleCancelClick: PropTypes.func.isRequired,\n handleRefresh: PropTypes.func,\n headerRef: PropTypes.object.isRequired,\n isDetailsPopUp: PropTypes.bool,\n isDetailsScreen: PropTypes.bool.isRequired,\n location: PropTypes.object.isRequired,\n navigate: PropTypes.func.isRequired,\n pageData: PropTypes.object.isRequired,\n params: PropTypes.object.isRequired,\n renderCustomElements: PropTypes.func,\n renderStatus: PropTypes.func,\n renderTitle: PropTypes.func.isRequired,\n selectedItem: PropTypes.object.isRequired,\n showAllVersions: PropTypes.func,\n tab: PropTypes.string,\n viewMode: PropTypes.string,\n withActionMenu: PropTypes.bool,\n withToggleViewBtn: PropTypes.bool\n}\n\nexport const useDetailsHeader = ({ handleCancel, handleShowWarning, isDetailsPopUp, pageData }) => {\n const commonDetailsStore = useSelector(store => store.commonDetailsStore)\n const params = useParams()\n const navigate = useNavigate()\n const viewMode = getViewMode(window.location.search)\n const { actionButton, withToggleViewBtn, showAllVersions } = pageData.details\n const headerRef = useRef()\n const location = useLocation()\n\n const handleBackClick = useCallback(() => {\n if (commonDetailsStore.changes.counter > 0) {\n handleShowWarning(true)\n } else if (handleCancel) {\n handleCancel()\n }\n }, [commonDetailsStore.changes.counter, handleCancel, handleShowWarning])\n\n const handleCancelClick = useCallback(() => {\n if (handleCancel && (commonDetailsStore.changes.counter === 0 || isDetailsPopUp)) {\n handleCancel()\n }\n }, [commonDetailsStore.changes.counter, handleCancel, isDetailsPopUp])\n\n return {\n DetailsHeaderContainer,\n actionButton,\n commonDetailsStore,\n handleBackClick,\n handleCancelClick,\n headerRef,\n location,\n navigate,\n params,\n showAllVersions,\n viewMode,\n withToggleViewBtn\n }\n}\n"],"names":["DetailsHeaderContainer","actionButton","actionsMenu","applyChanges","applyChangesRef","cancelChanges","commonDetailsStore","getCloseDetailsLink","getDefaultCloseDetailsLink","handleCancelClick","handleRefresh","headerRef","isDetailsPopUp","isDetailsScreen","location","navigate","pageData","params","renderCustomElements","renderStatus","renderTitle","selectedItem","showAllVersions","tab","viewMode","withActionMenu","withToggleViewBtn","jsxs","jsx","Fragment","Button","TERTIARY_BUTTON","Tooltip","TextTooltipTemplate","LoadButton","RoundedIcon","HistoryIcon","Refresh","ActionsMenu","FULL_VIEW_MODE","VIEW_SEARCH_PARAMETER","EnlargeIcon","getFilteredSearchParams","MinimizeIcon","Close","Link","ACTION_BUTTON","ACTIONS_MENU","PropTypes","useDetailsHeader","handleCancel","handleShowWarning","useSelector","store","useParams","useNavigate","getViewMode","useRef","useLocation","handleBackClick","useCallback"],"mappings":"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"}
1
+ {"version":3,"file":"useDetailsHeader.hook.mjs","sources":["../../src/lib/hooks/useDetailsHeader.hook.jsx"],"sourcesContent":["/*\nCopyright 2019 Iguazio Systems Ltd.\n\nLicensed under the Apache License, Version 2.0 (the \"License\") with\nan addition restriction as set forth herein. You may not use this\nfile except in compliance with the License. You may obtain a copy of\nthe License at http://www.apache.org/licenses/LICENSE-2.0.\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\nimplied. See the License for the specific language governing\npermissions and limitations under the License.\n\nIn addition, you may not use the software for any purposes that are\nillegal under applicable law, and the grant of the foregoing license\nunder the Apache 2.0 license is conditioned upon your compliance with\nsuch restriction.\n*/\n\nimport React, { useCallback, useRef } from 'react'\nimport PropTypes from 'prop-types'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { Link, useLocation, useNavigate, useParams } from 'react-router-dom'\n\nimport ActionsMenu from '../components/ActionsMenu/ActionsMenu'\nimport Button from '../components/Button/Button'\nimport LoadButton from '../components/LoadButton/LoadButton'\nimport RoundedIcon from '../components/RoundedIcon/RoundedIcon'\nimport TextTooltipTemplate from '../components/TooltipTemplate/TextTooltipTemplate'\nimport Tooltip from '../components/Tooltip/Tooltip'\n\nimport { ACTION_BUTTON, ACTIONS_MENU } from '../types'\nimport { TERTIARY_BUTTON, VIEW_SEARCH_PARAMETER, FULL_VIEW_MODE } from '../constants'\nimport { getFilteredSearchParams } from '../utils/filter.util'\nimport { getViewMode, performDetailsActionHelper } from '../utils/common.util'\n\nimport Close from '../images/close.svg?react'\nimport EnlargeIcon from '../images/ml-enlarge.svg?react'\nimport HistoryIcon from '../images/history.svg?react'\nimport MinimizeIcon from '../images/ml-minimize.svg?react'\nimport Refresh from '../images/refresh.svg?react'\n\nconst DetailsHeaderContainer = ({\n actionButton = null,\n actionsMenu,\n applyChanges,\n applyChangesRef,\n cancelChanges,\n commonDetailsStore,\n getCloseDetailsLink = null,\n getDefaultCloseDetailsLink,\n handleActionClick,\n handleCancelClick,\n handleRefresh = null,\n headerRef,\n isDetailsPopUp = false,\n isDetailsScreen,\n location,\n navigate,\n pageData,\n params,\n renderCustomElements = null,\n renderStatus = null,\n renderTitle,\n selectedItem,\n showAllVersions = null,\n tab = '',\n viewMode = '',\n withActionMenu = true,\n withToggleViewBtn = false\n}) => {\n return (\n <div className=\"item-header\" ref={headerRef}>\n <div className=\"item-header__data\">\n <h3 className=\"item-header__title\">{renderTitle && renderTitle()}</h3>\n <div className=\"item-header__status\">{renderStatus && renderStatus()}</div>\n </div>\n <div className=\"item-header__custom-elements\">\n {renderCustomElements && renderCustomElements()}\n </div>\n <div className=\"item-header__buttons\">\n {commonDetailsStore.changes.counter > 0 && !isDetailsPopUp && (\n <>\n <Button\n variant={TERTIARY_BUTTON}\n label=\"Cancel\"\n onClick={cancelChanges}\n disabled={commonDetailsStore.changes.counter === 0 || commonDetailsStore.editMode}\n />\n <Tooltip\n template={\n <TextTooltipTemplate\n text={`${commonDetailsStore.changes.counter} ${\n commonDetailsStore.changes.counter === 1 ? 'change pending' : 'changes pending'\n }`}\n />\n }\n >\n <LoadButton\n ref={applyChangesRef}\n variant=\"primary\"\n label=\"Apply Changes\"\n className=\"btn_apply-changes\"\n onClick={applyChanges}\n disabled={commonDetailsStore.changes.counter === 0 || commonDetailsStore.editMode}\n />\n </Tooltip>\n </>\n )}\n {actionButton && !actionButton.hidden && (\n <Button\n disabled={actionButton.disabled}\n label={actionButton.label}\n onClick={event => {\n handleActionClick(event, actionButton.onClick)\n }}\n tooltip={actionButton.tooltip}\n variant={actionButton.variant}\n />\n )}\n {showAllVersions && (\n <RoundedIcon\n id=\"showAllVersions\"\n onClick={() => showAllVersions()}\n tooltipText=\"Show all versions\"\n >\n <HistoryIcon />\n </RoundedIcon>\n )}\n {isDetailsScreen && handleRefresh && (\n <RoundedIcon\n id=\"refresh\"\n onClick={() => handleRefresh(selectedItem)}\n tooltipText=\"Refresh\"\n >\n <Refresh />\n </RoundedIcon>\n )}\n {withActionMenu && <ActionsMenu dataItem={selectedItem} menu={actionsMenu} time={500} />}\n <div className=\"item-header__navigation-buttons\">\n {withToggleViewBtn && !isDetailsPopUp && (\n <>\n {viewMode !== FULL_VIEW_MODE && (\n <RoundedIcon\n onClick={() => {\n navigate(\n `${location.pathname}${window.location.search}${window.location.search ? '&' : '?'}${VIEW_SEARCH_PARAMETER}=full`\n )\n }}\n id=\"full-view\"\n tooltipText=\"Full view\"\n >\n <EnlargeIcon />\n </RoundedIcon>\n )}\n {viewMode === FULL_VIEW_MODE && (\n <RoundedIcon\n onClick={() => {\n navigate(\n `${location.pathname}${getFilteredSearchParams(window.location.search, [VIEW_SEARCH_PARAMETER])}`\n )\n }}\n id=\"table-view\"\n tooltipText=\"Table view\"\n >\n <MinimizeIcon />\n </RoundedIcon>\n )}\n </>\n )}\n {!pageData.details.hideBackBtn &&\n (isDetailsPopUp ? (\n <div\n className=\"details-close-btn\"\n data-testid=\"details-close-btn\"\n onClick={handleCancelClick}\n >\n <RoundedIcon tooltipText=\"Close\" id=\"details-close\">\n <Close />\n </RoundedIcon>\n </div>\n ) : (\n <Link\n className=\"details-close-btn\"\n data-testid=\"details-close-btn\"\n to={\n getCloseDetailsLink\n ? getCloseDetailsLink(selectedItem.name)\n : getDefaultCloseDetailsLink(params, pageData.page, tab)\n }\n onClick={handleCancelClick}\n >\n <RoundedIcon tooltipText=\"Close\" id=\"details-close\">\n <Close />\n </RoundedIcon>\n </Link>\n ))}\n </div>\n </div>\n </div>\n )\n}\n\nDetailsHeaderContainer.propTypes = {\n actionButton: ACTION_BUTTON,\n actionsMenu: ACTIONS_MENU.isRequired,\n applyChanges: PropTypes.func.isRequired,\n applyChangesRef: PropTypes.object.isRequired,\n cancelChanges: PropTypes.func.isRequired,\n commonDetailsStore: PropTypes.object.isRequired,\n getCloseDetailsLink: PropTypes.func,\n getDefaultCloseDetailsLink: PropTypes.func.isRequired,\n handleActionClick: PropTypes.func.isRequired,\n handleCancelClick: PropTypes.func.isRequired,\n handleRefresh: PropTypes.func,\n headerRef: PropTypes.object.isRequired,\n isDetailsPopUp: PropTypes.bool,\n isDetailsScreen: PropTypes.bool.isRequired,\n location: PropTypes.object.isRequired,\n navigate: PropTypes.func.isRequired,\n pageData: PropTypes.object.isRequired,\n params: PropTypes.object.isRequired,\n renderCustomElements: PropTypes.func,\n renderStatus: PropTypes.func,\n renderTitle: PropTypes.func.isRequired,\n selectedItem: PropTypes.object.isRequired,\n showAllVersions: PropTypes.func,\n tab: PropTypes.string,\n viewMode: PropTypes.string,\n withActionMenu: PropTypes.bool,\n withToggleViewBtn: PropTypes.bool\n}\n\nexport const useDetailsHeader = ({ handleCancel, handleShowWarning, isDetailsPopUp, pageData }) => {\n const commonDetailsStore = useSelector(store => store.commonDetailsStore)\n const dispatch = useDispatch()\n const params = useParams()\n const navigate = useNavigate()\n const viewMode = getViewMode(window.location.search)\n const { actionButton, withToggleViewBtn, showAllVersions } = pageData.details\n const headerRef = useRef()\n const location = useLocation()\n\n const handleActionClick = async (event, handler) => {\n const actionCanBePerformed = await performDetailsActionHelper(\n commonDetailsStore.changes,\n dispatch\n )\n\n if (actionCanBePerformed) {\n handler(event)\n }\n }\n\n const handleBackClick = useCallback(() => {\n if (commonDetailsStore.changes.counter > 0) {\n handleShowWarning(true)\n } else if (handleCancel) {\n handleCancel()\n }\n }, [commonDetailsStore.changes.counter, handleCancel, handleShowWarning])\n\n const handleCancelClick = useCallback(() => {\n if (handleCancel && (commonDetailsStore.changes.counter === 0 || isDetailsPopUp)) {\n handleCancel()\n }\n }, [commonDetailsStore.changes.counter, handleCancel, isDetailsPopUp])\n\n return {\n DetailsHeaderContainer,\n actionButton,\n commonDetailsStore,\n handleActionClick,\n handleBackClick,\n handleCancelClick,\n headerRef,\n location,\n navigate,\n params,\n showAllVersions,\n viewMode,\n withToggleViewBtn\n }\n}\n"],"names":["DetailsHeaderContainer","actionButton","actionsMenu","applyChanges","applyChangesRef","cancelChanges","commonDetailsStore","getCloseDetailsLink","getDefaultCloseDetailsLink","handleActionClick","handleCancelClick","handleRefresh","headerRef","isDetailsPopUp","isDetailsScreen","location","navigate","pageData","params","renderCustomElements","renderStatus","renderTitle","selectedItem","showAllVersions","tab","viewMode","withActionMenu","withToggleViewBtn","jsxs","jsx","Fragment","Button","TERTIARY_BUTTON","Tooltip","TextTooltipTemplate","LoadButton","event","RoundedIcon","HistoryIcon","Refresh","ActionsMenu","FULL_VIEW_MODE","VIEW_SEARCH_PARAMETER","EnlargeIcon","getFilteredSearchParams","MinimizeIcon","Close","Link","ACTION_BUTTON","ACTIONS_MENU","PropTypes","useDetailsHeader","handleCancel","handleShowWarning","useSelector","store","dispatch","useDispatch","useParams","useNavigate","getViewMode","useRef","useLocation","handler","performDetailsActionHelper","handleBackClick","useCallback"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iguazio.dashboard-react-controls",
3
- "version": "3.1.0",
3
+ "version": "3.1.2",
4
4
  "description": "Collection of resources (such as CSS styles, fonts and images) and ReactJS 17.x components to share among different Iguazio React repos.",
5
5
  "module": "./dist/index.mjs",
6
6
  "main": "./dist/index.mjs",