diff --git a/audit-resolve.json b/audit-resolve.json index c2432f34..2e723441 100644 --- a/audit-resolve.json +++ b/audit-resolve.json @@ -25292,271 +25292,271 @@ }, "1002378|jsoneditor": { "decision": "postpone", - "madeAt": 1634030382312 + "madeAt": 1635515501099 }, "1002401|@testing-library/react>@testing-library/dom>pretty-format>ansi-regex": { "decision": "postpone", - "madeAt": 1634030382938 + "madeAt": 1635515501586 }, "1002401|@testing-library/jest-dom>@types/testing-library__jest-dom>@types/jest>pretty-format>ansi-regex": { "decision": "postpone", - "madeAt": 1634030382938 + "madeAt": 1635515501586 }, "1002401|@testing-library/jest-dom>@types/testing-library__jest-dom>@types/jest>jest-diff>pretty-format>ansi-regex": { "decision": "postpone", - "madeAt": 1634030382938 + "madeAt": 1635515501586 }, "1002401|react-scripts>jest-circus>expect>jest-matcher-utils>jest-diff>pretty-format>ansi-regex": { "decision": "postpone", - "madeAt": 1634030382938 + "madeAt": 1635515501586 }, "1002401|react-scripts>jest-circus>jest-snapshot>expect>jest-matcher-utils>jest-diff>pretty-format>ansi-regex": { "decision": "postpone", - "madeAt": 1634030382938 + "madeAt": 1635515501586 }, "1002401|react-scripts>jest-circus>jest-runtime>@jest/globals>expect>jest-matcher-utils>jest-diff>pretty-format>ansi-regex": { "decision": "postpone", - "madeAt": 1634030382938 + "madeAt": 1635515501586 }, "1002401|react-scripts>jest-circus>jest-runner>jest-runtime>@jest/globals>expect>jest-matcher-utils>jest-diff>pretty-format>ansi-regex": { "decision": "postpone", - "madeAt": 1634030382938 + "madeAt": 1635515501586 }, "1002401|react-scripts>jest>@jest/core>jest-runner>jest-runtime>@jest/globals>expect>jest-matcher-utils>jest-diff>pretty-format>ansi-regex": { "decision": "postpone", - "madeAt": 1634030382938 + "madeAt": 1635515501586 }, "1002401|react-scripts>jest>jest-cli>@jest/core>jest-runner>jest-runtime>@jest/globals>expect>jest-matcher-utils>jest-diff>pretty-format>ansi-regex": { "decision": "postpone", - "madeAt": 1634030382938 + "madeAt": 1635515501586 }, "1002401|react-scripts>jest>@jest/core>jest-config>@jest/test-sequencer>jest-runner>jest-runtime>@jest/globals>expect>jest-matcher-utils>jest-diff>pretty-format>ansi-regex": { "decision": "postpone", - "madeAt": 1634030382938 + "madeAt": 1635515501586 }, "1002401|react-scripts>jest>jest-cli>@jest/core>jest-config>@jest/test-sequencer>jest-runner>jest-runtime>@jest/globals>expect>jest-matcher-utils>jest-diff>pretty-format>ansi-regex": { "decision": "postpone", - "madeAt": 1634030382938 + "madeAt": 1635515501586 }, "1002401|react-scripts>eslint>table>string-width>strip-ansi>ansi-regex": { "decision": "postpone", - "madeAt": 1634030383510 + "madeAt": 1635515502066 }, "1002422|redoc>prismjs": { "decision": "postpone", - "madeAt": 1634030384129 + "madeAt": 1635515502570 }, "1002423|enzyme>cheerio>css-select>nth-check": { "decision": "postpone", - "madeAt": 1634030384726 + "madeAt": 1635515503050 }, "1002466|react-scripts>babel-jest>@jest/transform>jest-haste-map>walker>makeerror>tmpl": { "decision": "postpone", - "madeAt": 1634030385322 + "madeAt": 1635515503570 }, "1002466|react-scripts>babel-jest>@jest/transform>jest-haste-map>sane>walker>makeerror>tmpl": { "decision": "postpone", - "madeAt": 1634030385322 + "madeAt": 1635515503570 }, "1002466|react-scripts>jest>@jest/core>@jest/transform>jest-haste-map>sane>walker>makeerror>tmpl": { "decision": "postpone", - "madeAt": 1634030385322 + "madeAt": 1635515503570 }, "1002466|react-scripts>jest>@jest/core>@jest/reporters>@jest/transform>jest-haste-map>sane>walker>makeerror>tmpl": { "decision": "postpone", - "madeAt": 1634030385322 + "madeAt": 1635515503570 }, "1002466|react-scripts>jest>@jest/core>jest-config>babel-jest>@jest/transform>jest-haste-map>sane>walker>makeerror>tmpl": { "decision": "postpone", - "madeAt": 1634030385322 + "madeAt": 1635515503570 }, "1002466|react-scripts>jest>jest-cli>@jest/core>jest-config>babel-jest>@jest/transform>jest-haste-map>sane>walker>makeerror>tmpl": { "decision": "postpone", - "madeAt": 1634030385322 + "madeAt": 1635515503570 }, "1002466|react-scripts>jest>jest-cli>@jest/core>jest-runner>jest-config>babel-jest>@jest/transform>jest-haste-map>sane>walker>makeerror>tmpl": { "decision": "postpone", - "madeAt": 1634030385322 + "madeAt": 1635515503570 }, "1002466|react-scripts>jest>jest-cli>@jest/core>jest-runner>jest-runtime>jest-config>babel-jest>@jest/transform>jest-haste-map>sane>walker>makeerror>tmpl": { "decision": "postpone", - "madeAt": 1634030385322 + "madeAt": 1635515503570 }, "1002477|axios": { "decision": "postpone", - "madeAt": 1634030385902 + "madeAt": 1635515504105 }, "1002501|react-scripts>terser-webpack-plugin>cacache>tar": { "decision": "postpone", - "madeAt": 1634030386458 + "madeAt": 1635515504634 }, "1002504|react-scripts>terser-webpack-plugin>cacache>tar": { "decision": "postpone", - "madeAt": 1634030386458 + "madeAt": 1635515504634 }, "1002507|react-scripts>terser-webpack-plugin>cacache>tar": { "decision": "postpone", - "madeAt": 1634030386458 + "madeAt": 1635515504634 }, "1002539|react-scripts>terser-webpack-plugin>cacache>tar": { "decision": "postpone", - "madeAt": 1634030386458 + "madeAt": 1635515504635 }, "1002543|react-scripts>terser-webpack-plugin>cacache>tar": { "decision": "postpone", - "madeAt": 1634030386458 + "madeAt": 1635515504635 }, "1002581|react-scripts>optimize-css-assets-webpack-plugin>cssnano>cssnano-preset-default>postcss-colormin>color>color-string": { "decision": "postpone", - "madeAt": 1634030387042 + "madeAt": 1635515505114 }, "1002593|react-scripts>postcss-safe-parser>postcss": { "decision": "postpone", - "madeAt": 1634030387624 + "madeAt": 1635515505641 }, "1002615|react-scripts>webpack-dev-server>ws": { "decision": "postpone", - "madeAt": 1634030388201 + "madeAt": 1635515506242 }, "1002807|react-scripts>webpack>terser-webpack-plugin>cacache>ssri": { "decision": "postpone", - "madeAt": 1634030388882 + "madeAt": 1635515507444 }, "1002834|npm-audit-resolver>djv": { "decision": "postpone", - "madeAt": 1634030389530 + "madeAt": 1635515508386 }, "1002834|npm-audit-resolver>audit-resolve-core>djv": { "decision": "postpone", - "madeAt": 1634030389530 + "madeAt": 1635515508386 }, "1002911|react-scripts>optimize-css-assets-webpack-plugin>cssnano>cssnano-preset-default>postcss-svgo>is-svg": { "decision": "postpone", - "madeAt": 1634030390274 + "madeAt": 1635515509099 }, "1002996|react-scripts>jest>@jest/core>@jest/reporters>node-notifier": { "decision": "postpone", - "madeAt": 1634030393549 + "madeAt": 1635515509634 }, "1002996|react-scripts>jest>jest-cli>@jest/core>@jest/reporters>node-notifier": { "decision": "postpone", - "madeAt": 1634030393549 + "madeAt": 1635515509634 }, "1002401|react-scripts>webpack-dev-server>yargs>cliui>string-width>strip-ansi>ansi-regex": { "decision": "postpone", - "madeAt": 1634030394367 + "madeAt": 1635515510097 }, "1002401|react-scripts>webpack-dev-server>yargs>cliui>wrap-ansi>string-width>strip-ansi>ansi-regex": { "decision": "postpone", - "madeAt": 1634030394367 + "madeAt": 1635515510097 }, "1002401|react-scripts>webpack-dev-server>yargs>cliui>strip-ansi>ansi-regex": { "decision": "postpone", - "madeAt": 1634030394367 + "madeAt": 1635515510097 }, "1002401|react-scripts>webpack-dev-server>yargs>cliui>wrap-ansi>strip-ansi>ansi-regex": { "decision": "postpone", - "madeAt": 1634030394367 + "madeAt": 1635515510097 }, "1002401|npm-audit-resolver>yargs-unparser>yargs>cliui>strip-ansi>ansi-regex": { "decision": "postpone", - "madeAt": 1634030394367 + "madeAt": 1635515510097 }, "1002401|npm-audit-resolver>yargs-unparser>yargs>cliui>wrap-ansi>strip-ansi>ansi-regex": { "decision": "postpone", - "madeAt": 1634030394367 + "madeAt": 1635515510097 }, "1002423|react-scripts>@svgr/webpack>@svgr/plugin-svgo>svgo>css-select>nth-check": { "decision": "postpone", - "madeAt": 1634030395370 + "madeAt": 1635515510618 }, "1002423|react-scripts>optimize-css-assets-webpack-plugin>cssnano>cssnano-preset-default>postcss-svgo>svgo>css-select>nth-check": { "decision": "postpone", - "madeAt": 1634030395370 + "madeAt": 1635515510618 }, "1002475|react-scripts>webpack>micromatch>snapdragon>base>cache-base>set-value": { "decision": "postpone", - "madeAt": 1634030395957 + "madeAt": 1635515511706 }, "1002475|react-scripts>webpack>micromatch>extglob>snapdragon>base>cache-base>set-value": { "decision": "postpone", - "madeAt": 1634030395957 + "madeAt": 1635515511706 }, "1002475|react-scripts>webpack>micromatch>extglob>expand-brackets>snapdragon>base>cache-base>set-value": { "decision": "postpone", - "madeAt": 1634030395957 + "madeAt": 1635515511706 }, "1002475|react-scripts>react-dev-utils>fork-ts-checker-webpack-plugin>micromatch>extglob>expand-brackets>snapdragon>base>cache-base>set-value": { "decision": "postpone", - "madeAt": 1634030395957 + "madeAt": 1635515511706 }, "1002475|react-scripts>babel-jest>@jest/transform>jest-haste-map>sane>micromatch>braces>snapdragon>base>cache-base>set-value": { "decision": "postpone", - "madeAt": 1634030395957 + "madeAt": 1635515511706 }, "1002475|react-scripts>babel-jest>@jest/transform>jest-haste-map>sane>anymatch>micromatch>braces>snapdragon>base>cache-base>set-value": { "decision": "postpone", - "madeAt": 1634030395957 + "madeAt": 1635515511706 }, "1002475|react-scripts>jest>@jest/core>@jest/transform>jest-haste-map>sane>anymatch>micromatch>braces>snapdragon>base>cache-base>set-value": { "decision": "postpone", - "madeAt": 1634030395957 + "madeAt": 1635515511706 }, "1002475|react-scripts>jest>@jest/core>@jest/reporters>@jest/transform>jest-haste-map>sane>anymatch>micromatch>braces>snapdragon>base>cache-base>set-value": { "decision": "postpone", - "madeAt": 1634030395957 + "madeAt": 1635515511706 }, "1002475|react-scripts>jest>@jest/core>jest-config>babel-jest>@jest/transform>jest-haste-map>sane>anymatch>micromatch>braces>snapdragon>base>cache-base>set-value": { "decision": "postpone", - "madeAt": 1634030395957 + "madeAt": 1635515511706 }, "1002475|react-scripts>jest>jest-cli>@jest/core>jest-config>babel-jest>@jest/transform>jest-haste-map>sane>anymatch>micromatch>braces>snapdragon>base>cache-base>set-value": { "decision": "postpone", - "madeAt": 1634030395957 + "madeAt": 1635515511706 }, "1002475|react-scripts>jest>jest-cli>@jest/core>jest-runner>jest-config>babel-jest>@jest/transform>jest-haste-map>sane>anymatch>micromatch>braces>snapdragon>base>cache-base>set-value": { "decision": "postpone", - "madeAt": 1634030395957 + "madeAt": 1635515511706 }, "1002475|react-scripts>jest>jest-cli>@jest/core>jest-runner>jest-runtime>jest-config>babel-jest>@jest/transform>jest-haste-map>sane>anymatch>micromatch>braces>snapdragon>base>cache-base>set-value": { "decision": "postpone", - "madeAt": 1634030395957 + "madeAt": 1635515511706 }, "1002475|react-scripts>jest>jest-cli>@jest/core>jest-runner>jest-runtime>jest-config>babel-jest>@jest/transform>jest-haste-map>sane>anymatch>micromatch>extglob>expand-brackets>snapdragon>base>cache-base>set-value": { "decision": "postpone", - "madeAt": 1634030395957 + "madeAt": 1635515511706 }, "1002475|react-scripts>jest>jest-cli>@jest/core>jest-runner>jest-runtime>jest-config>babel-jest>@jest/transform>jest-haste-map>sane>anymatch>micromatch>extglob>expand-brackets>snapdragon>base>cache-base>union-value>set-value": { "decision": "postpone", - "madeAt": 1634030395957 + "madeAt": 1635515511706 }, "1002487|react-scripts>react-dev-utils>immer": { "decision": "postpone", - "madeAt": 1634030397152 + "madeAt": 1635515512329 }, "1002492|react-scripts>react-dev-utils>immer": { "decision": "postpone", - "madeAt": 1634030397152 + "madeAt": 1635515512329 }, "1002522|react-scripts>@pmmmwh/react-refresh-webpack-plugin>ansi-html": { "decision": "postpone", - "madeAt": 1634030397744 + "madeAt": 1635515512857 }, "1002594|react-scripts>resolve-url-loader>postcss": { "decision": "postpone", - "madeAt": 1634030398241 + "madeAt": 1635515513380 }, "1002627|react-scripts>webpack>watchpack>watchpack-chokidar2>chokidar>glob-parent": { "decision": "postpone", - "madeAt": 1634030398872 + "madeAt": 1635515513987 }, "1002627|react-scripts>webpack-dev-server>chokidar>glob-parent": { "decision": "postpone", - "madeAt": 1634030398872 + "madeAt": 1635515513987 }, "1002655|react-scripts>react-dev-utils>browserslist": { "decision": "postpone", - "madeAt": 1634030399625 + "madeAt": 1635515514530 } }, "rules": {}, diff --git a/package-lock.json b/package-lock.json index e3eaa0c2..804b04f3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "ml-testing-toolkit-ui", - "version": "13.5.4", + "version": "13.5.5", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 892a9a0b..5b52543d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ml-testing-toolkit-ui", - "version": "13.5.4", + "version": "13.5.5", "description": "Mojaloop Testing Toolkit Web User Interface", "main": "index.js", "repository": { diff --git a/src/views/outbound/FileManager.jsx b/src/views/outbound/FileManager.jsx index 1bbc9480..c7488482 100644 --- a/src/views/outbound/FileManager.jsx +++ b/src/views/outbound/FileManager.jsx @@ -273,8 +273,8 @@ class FileManager extends React.Component { message.success({ content: 'Files imported', key: 'importFileProgress', duration: 2 }); } - handleSelectionChanged = async (selectedFiles, selectedLabels) => { - this.props.onChange(this.props.folderData, selectedFiles, selectedLabels) + handleSelectionChanged = async (selectedFiles) => { + this.props.onChange(this.props.folderData, selectedFiles) } handleOrderChange = async () => { @@ -566,8 +566,7 @@ class FileManager extends React.Component { { this.state.checkedKeys = this.props.selectedFiles if (this.state.treeDataArray !== this.props.folderData) { this.convertFolderData(this.props.folderData) - this.props.onSelect([],[]) + this.props.onSelect([]) this.setState({ treeDataArray: this.props.folderData, - labelsMapping: this.getDataLabelsMapping(this.props.folderData) }) } } @@ -113,12 +108,7 @@ class FolderBrowser extends React.Component { }; onCheck = checkedKeys => { - let selectedLabels - if (checkedKeys.length === 0) { - selectedLabels = [] - this.state.labelsManager.selectedFiles = [] - } - this.props.onSelect(checkedKeys, selectedLabels) + this.props.onSelect(checkedKeys) this.setState({ checkedKeys }) @@ -409,32 +399,14 @@ class FolderBrowser extends React.Component { return this.state.rightClickNodeTreeItem.pageX === "" ? '' : menu; }; - getDataLabelsMapping = (folderData = [], result = {}, parentLabels = []) => { - for (let i = 0; i < folderData.length; i++) { - const data = folderData[i]; - const currentParentLabels = [...parentLabels, ...(data.extraInfo.labels || [])] - for (let j = 0; j < currentParentLabels.length; j++) { - const label = currentParentLabels[j]; - if (!result[label]) { - result[label] = [] - } - result[label].push(data.key) - } - if (data.extraInfo.type === "folder") { - this.getDataLabelsMapping(data.children, result, currentParentLabels) - } - } - return result - } - handleSelectLabelsDialogOk = () => { this.state.rightClickNodeTreeItem.nodeRef.extraInfo.labels = this.state.selectLabelsDialogList this.convertFolderData(this.props.folderData) this.setState({ selectLabelsDialogEnabled: false, treeDataArray: this.props.folderData, - labelsMapping: this.getDataLabelsMapping(this.props.folderData) }) + this.props.onSelect() } handleSelectLabelsDialogCancel = () => { @@ -448,21 +420,26 @@ class FolderBrowser extends React.Component { return ( <> - - { - this.props.onSelect(props.selectedFiles, props.selectedLabels) - this.setState({ - checkedKeys: props.selectedFiles - }) - }} - /> - + { + this.props.folderData.length > 0 ? + + + 0} + selectedFiles={this.props.selectedFiles} + labelsManager={this.props.labelsManager} + onSelect = {props => { + this.props.labelsManager.selectedLabels = props.selectedLabels || [] + this.props.onSelect(props.selectedFiles) + this.setState({ + checkedKeys: props.selectedFiles + }) + }} + /> + + + : null + } { this.setState({selectLabelsDialogList: props.selectedLabels}) }} diff --git a/src/views/outbound/LabelsManager.jsx b/src/views/outbound/LabelsManager.jsx index 78d31400..4c8d880a 100644 --- a/src/views/outbound/LabelsManager.jsx +++ b/src/views/outbound/LabelsManager.jsx @@ -30,7 +30,7 @@ class LabelsManager extends React.Component { constructor () { super() this.state = { - labelsMapping: {} + labelsMapping: null } } @@ -43,11 +43,11 @@ class LabelsManager extends React.Component { } updateLabelsMapping = () => { - if ((this.state.labelsMapping !== this.props.labelsMapping)) { + if (this.props.selectedFiles && (JSON.stringify(this.state.labelsMapping || {}) !== JSON.stringify(this.props.labelsManager.mapping || {}))) { this.setState({ - labelsMapping: this.props.labelsMapping + labelsMapping: this.props.labelsManager.mapping }) - this.handleSelectionLabelsChanged({selectedLabels: this.props.selectedLabels}) + this.handleSelectionLabelsChanged({selectedLabels: this.props.labelsManager.selectedLabels}) } } @@ -57,30 +57,31 @@ class LabelsManager extends React.Component { const selectedFilesByLabel = [] for (let i = 0; i < props.selectedLabels.length; i++) { const label = props.selectedLabels[i] - if (this.props.labelsMapping[label]) { - selectedFilesByLabel.push(...this.props.labelsMapping[label]) + if (this.props.labelsManager.mapping[label]) { + selectedFilesByLabel.push(...this.props.labelsManager.mapping[label]) } } - props.selectedFiles = [] + const selectedFiles = [] if (selectedFilesByLabel.length > this.props.labelsManager.selectedFiles.length) { for (let i = 0; i < selectedFilesByLabel.length; i++) { if (!this.props.selectedFiles.includes(selectedFilesByLabel[i])) { - props.selectedFiles.push(selectedFilesByLabel[i]) + selectedFiles.push(selectedFilesByLabel[i]) } } - props.selectedFiles.push(...this.props.selectedFiles) + selectedFiles.push(...this.props.selectedFiles) } else { for (let i = 0; i < this.props.selectedFiles.length; i++) { const selectedFile = this.props.selectedFiles[i] if (selectedFilesByLabel.includes(selectedFile) || !this.props.labelsManager.selectedFiles.includes(selectedFile)) { - props.selectedFiles.push(selectedFile) + selectedFiles.push(selectedFile) } } } + props.selectedFiles = selectedFiles this.props.labelsManager.selectedFiles = selectedFilesByLabel } - this.props.onSelect(props) } + this.props.onSelect(props) } getLabelsOptions = (labels, selectedLabels) => { @@ -95,7 +96,7 @@ class LabelsManager extends React.Component { } getLabelByName = (labelName => { - return this.props.labels.filter(label => label.name === labelName) + return this.props.labelsManager.labels.filter(label => label.name === labelName) }) @@ -105,9 +106,9 @@ class LabelsManager extends React.Component {