[#38: Enhance new repertory release available notification - partial] [Added FocusTrap to modals]
This commit is contained in:
35
src/utils.js
35
src/utils.js
@@ -6,8 +6,8 @@ const ipcRenderer = (!process.versions.hasOwnProperty('electron') && window && w
|
||||
window.require('electron').ipcRenderer :
|
||||
null;
|
||||
|
||||
export const createModalConditionally = (condition, jsx, critical) => {
|
||||
const modalProps = {critical: critical};
|
||||
export const createModalConditionally = (condition, jsx, critical, disableFocusTrap) => {
|
||||
const modalProps = {critical: critical, disableFocusTrap: disableFocusTrap};
|
||||
return condition ? (<Modal {...modalProps}>{jsx}</Modal>) : null;
|
||||
};
|
||||
|
||||
@@ -20,6 +20,37 @@ export const getIPCRenderer = () => {
|
||||
return ipcRenderer;
|
||||
};
|
||||
|
||||
export const getNewReleases = (existingReleases, newReleases) => {
|
||||
const ret = [];
|
||||
|
||||
existingReleases = Constants.RELEASE_TYPES.reduce((map, release) => {
|
||||
map[release] = [];
|
||||
return map;
|
||||
}, {});
|
||||
|
||||
if (existingReleases && newReleases) {
|
||||
Constants.RELEASE_TYPES.forEach(release => {
|
||||
newReleases[release]
|
||||
.filter(version => !existingReleases[release].includes(version) && (version !== 'unavailable'))
|
||||
.forEach(version => {
|
||||
ret.splice(0, 0, {
|
||||
Display: version,
|
||||
Release: Constants.RELEASE_TYPES.indexOf(release),
|
||||
Version: newReleases[release].indexOf(version),
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
ret.splice(0, 0, {
|
||||
Display: '1.1.1',
|
||||
Release: 0,
|
||||
Version: 2,
|
||||
});
|
||||
|
||||
return ret;
|
||||
};
|
||||
|
||||
export const getSelectedVersionFromState = state => {
|
||||
return (state.relver.Version === -1) ?
|
||||
'unavailable' :
|
||||
|
||||
Reference in New Issue
Block a user